watchbell 1.2.3 → 1.2.5

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 (721) hide show
  1. package/package.json +1 -1
  2. package/server/.next/BUILD_ID +1 -1
  3. package/server/.next/build-manifest.json +3 -3
  4. package/server/.next/prerender-manifest.json +3 -3
  5. package/server/.next/required-server-files.json +1 -1
  6. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +12 -12
  7. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +57 -56
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  10. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +11 -11
  11. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +57 -56
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  13. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  14. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +10 -10
  15. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +57 -56
  16. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  18. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +13 -13
  19. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +57 -56
  20. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  21. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  22. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +11 -11
  23. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +57 -56
  24. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  25. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  26. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +20 -20
  27. package/server/.next/server/app/(console)/(private)/ai/models/page.js +57 -56
  28. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  29. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  30. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +10 -10
  31. package/server/.next/server/app/(console)/(private)/ai/page.js +57 -56
  32. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  33. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  34. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +13 -13
  35. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +57 -56
  36. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  37. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  38. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +16 -16
  39. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +57 -56
  40. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  41. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  42. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +11 -11
  43. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +57 -56
  44. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  45. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  46. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +11 -11
  47. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +57 -56
  48. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  49. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  50. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +10 -10
  51. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +57 -56
  52. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  53. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  54. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +11 -11
  55. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +57 -56
  56. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  57. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  58. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +35 -25
  59. package/server/.next/server/app/(console)/alerts/page.js +57 -56
  60. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  61. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  62. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +27 -27
  63. package/server/.next/server/app/(console)/apps/[id]/page.js +57 -56
  64. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  65. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  66. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +13 -13
  67. package/server/.next/server/app/(console)/apps/page.js +57 -56
  68. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  69. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  70. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +13 -13
  71. package/server/.next/server/app/(console)/backups/page.js +57 -56
  72. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  73. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  74. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +10 -10
  75. package/server/.next/server/app/(console)/catalog/page.js +57 -56
  76. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  77. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  78. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +21 -21
  79. package/server/.next/server/app/(console)/connections/page.js +57 -56
  80. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  81. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  82. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +10 -10
  83. package/server/.next/server/app/(console)/d1/page.js +57 -56
  84. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  85. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  86. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +16 -16
  87. package/server/.next/server/app/(console)/deployments/page.js +57 -56
  88. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  89. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  90. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +17 -17
  91. package/server/.next/server/app/(console)/dns/page.js +57 -56
  92. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  93. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  94. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +12 -12
  95. package/server/.next/server/app/(console)/domains/page.js +57 -56
  96. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  97. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  98. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +10 -10
  99. package/server/.next/server/app/(console)/events/page.js +57 -56
  100. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  101. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  102. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +17 -17
  103. package/server/.next/server/app/(console)/firebase/page.js +57 -56
  104. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  105. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  106. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +11 -11
  107. package/server/.next/server/app/(console)/logs/page.js +57 -56
  108. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  109. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  110. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +11 -11
  111. package/server/.next/server/app/(console)/manage/sections/page.js +57 -56
  112. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  113. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  114. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +21 -21
  115. package/server/.next/server/app/(console)/neon/page.js +57 -56
  116. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  117. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  118. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +20 -20
  119. package/server/.next/server/app/(console)/overview/page.js +57 -56
  120. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  121. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  122. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +11 -11
  123. package/server/.next/server/app/(console)/repos/[id]/page.js +57 -56
  124. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  125. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  126. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +10 -10
  127. package/server/.next/server/app/(console)/repos/page.js +57 -56
  128. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  129. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  130. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +20 -20
  131. package/server/.next/server/app/(console)/settings/page.js +57 -56
  132. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  133. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  134. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +17 -17
  135. package/server/.next/server/app/(console)/sql/page.js +57 -56
  136. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  137. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  138. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +10 -10
  139. package/server/.next/server/app/(console)/status/page.js +57 -56
  140. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  141. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  142. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +31 -31
  143. package/server/.next/server/app/(console)/supabase/page.js +57 -56
  144. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  145. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  146. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +10 -10
  147. package/server/.next/server/app/(console)/topology/page.js +57 -56
  148. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  149. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  150. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +10 -10
  151. package/server/.next/server/app/(console)/turso/page.js +57 -56
  152. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  153. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  154. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +10 -10
  155. package/server/.next/server/app/(console)/upstash/page.js +57 -56
  156. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  157. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  158. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +24 -24
  159. package/server/.next/server/app/(console)/uptime/page.js +57 -56
  160. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  161. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  162. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +15 -15
  163. package/server/.next/server/app/(console)/welcome/page.js +57 -56
  164. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  165. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  166. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  167. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  168. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  169. package/server/.next/server/app/_global-error.html +1 -1
  170. package/server/.next/server/app/_global-error.rsc +3 -3
  171. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  172. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  173. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  174. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  175. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  176. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  177. package/server/.next/server/app/_not-found.html +1 -1
  178. package/server/.next/server/app/_not-found.rsc +4 -4
  179. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  180. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  181. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  182. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  183. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  184. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  185. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  186. package/server/.next/server/app/api/collect/route.js +38 -37
  187. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  188. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  189. package/server/.next/server/app/api/daily/route.js +38 -37
  190. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  191. package/server/.next/server/app/api/health/route.js.nft.json +1 -1
  192. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  193. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  194. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
  195. package/server/.next/server/app/api/telegram/webhook/route.js +63 -62
  196. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  197. package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
  198. package/server/.next/server/app/api/v1/advice/route.js +2 -2
  199. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  200. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  201. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  202. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  203. package/server/.next/server/app/api/v1/ai/questions/route.js +2 -2
  204. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  205. package/server/.next/server/app/api/v1/mcp/route.js +2 -2
  206. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  207. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  208. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  209. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +2 -2
  210. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  211. package/server/.next/server/app/api/v1/status/route.js +2 -2
  212. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  213. package/server/.next/server/app/api/watchdog/route.js +2 -2
  214. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  215. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  216. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  217. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  218. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  219. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  220. package/server/.next/server/app/icon.svg/route.js.nft.json +1 -1
  221. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  222. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  223. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  224. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  225. package/server/.next/server/app/mfa/page.js +33 -21
  226. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  227. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  228. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  229. package/server/.next/server/app/mfa/setup/page.js +33 -21
  230. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  231. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  232. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  233. package/server/.next/server/app/page.js.nft.json +1 -1
  234. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  235. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  236. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  237. package/server/.next/server/app/s/[slug]/page.js +8 -7
  238. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  239. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  240. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  241. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  242. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  243. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  244. package/server/.next/server/app/signin/page.js +35 -21
  245. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  246. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  247. package/server/.next/server/chunks/{[externals]__0y_x27mdj85p4._.js → [externals]__0ia-wyj5qrosx._.js} +1 -1
  248. package/server/.next/server/chunks/{[externals]__1fzfzd0ia0sk6._.js → [externals]__0igl_rsv6z3fr._.js} +1 -1
  249. package/server/.next/server/chunks/{[externals]__1qqyrxnupegg3._.js → [externals]__0mh8e6gkgfswq._.js} +1 -1
  250. package/server/.next/server/chunks/{[root-of-the-server]__0hblpf7wqke-j._.js → [root-of-the-server]__0-ftc1hhcjcl2._.js} +2 -2
  251. package/server/.next/server/chunks/{[root-of-the-server]__0l9ja3579qrju._.js → [root-of-the-server]__0-st5xltl53h9._.js} +2 -2
  252. package/server/.next/server/chunks/{[root-of-the-server]__0bmyll20mg_gf._.js → [root-of-the-server]__0070gc9ml0mf7._.js} +1 -1
  253. package/server/.next/server/chunks/{[root-of-the-server]__07bw6o0jc31yr._.js → [root-of-the-server]__0185dne3slx7e._.js} +2 -2
  254. package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +1 -1
  255. package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.js +1 -1
  256. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  257. package/server/.next/server/chunks/{[root-of-the-server]__0v-gc-c_e8pwl._.js → [root-of-the-server]__040ix5fqb_zb-._.js} +2 -2
  258. package/server/.next/server/chunks/[root-of-the-server]__04htuwoulmp21._.js +3 -0
  259. package/server/.next/server/chunks/{[root-of-the-server]__1zvoez8iapsem._.js → [root-of-the-server]__05jzua9637vlo._.js} +2 -2
  260. package/server/.next/server/chunks/[root-of-the-server]__05pabbazg42oy._.js +3 -0
  261. package/server/.next/server/chunks/[root-of-the-server]__05qcc-0e8z1u8._.js +1 -1
  262. package/server/.next/server/chunks/{[root-of-the-server]__1_or7dycvkseg._.js → [root-of-the-server]__06uaa_2zbg57p._.js} +1 -1
  263. package/server/.next/server/chunks/[root-of-the-server]__07eo--c90cju2._.js +1 -1
  264. package/server/.next/server/chunks/{[root-of-the-server]__1lj1f2w2-w8nw._.js → [root-of-the-server]__07g16s_wi2sai._.js} +2 -2
  265. package/server/.next/server/chunks/{[root-of-the-server]__1s4bwjevs4hd-._.js → [root-of-the-server]__08-puk3_gawjd._.js} +2 -2
  266. package/server/.next/server/chunks/{[root-of-the-server]__05zj7uswzr0f9._.js → [root-of-the-server]__08i6b8tzxads4._.js} +2 -2
  267. package/server/.next/server/chunks/[root-of-the-server]__09uh8gefrxmkg._.js +3 -0
  268. package/server/.next/server/chunks/{[root-of-the-server]__0gox66sv0bx47._.js → [root-of-the-server]__0_e2eoq7w3ff_._.js} +2 -2
  269. package/server/.next/server/chunks/{[root-of-the-server]__0zni_2pv2fdgb._.js → [root-of-the-server]__0cc32xnniktg9._.js} +2 -2
  270. package/server/.next/server/chunks/{[root-of-the-server]__213bsllf-9ztc._.js → [root-of-the-server]__0cz3da2wx3_wd._.js} +2 -2
  271. package/server/.next/server/chunks/[root-of-the-server]__0dfx2psnngcys._.js +3 -0
  272. package/server/.next/server/chunks/{[root-of-the-server]__0noc6l63d3l9w._.js → [root-of-the-server]__0dvuy3ibsyiik._.js} +2 -2
  273. package/server/.next/server/chunks/{[root-of-the-server]__02n6y6aa6qp1b._.js → [root-of-the-server]__0e2utnqdim70d._.js} +2 -2
  274. package/server/.next/server/chunks/{[root-of-the-server]__0hnljrh9qi9t-._.js → [root-of-the-server]__0exicuoq6gmph._.js} +2 -2
  275. package/server/.next/server/chunks/{[root-of-the-server]__0nqbue6i0l3qs._.js → [root-of-the-server]__0ezd1s2862iob._.js} +2 -2
  276. package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +1 -1
  277. package/server/.next/server/chunks/[root-of-the-server]__0gmn5s40au84-._.js +3 -0
  278. package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +1 -1
  279. package/server/.next/server/chunks/[root-of-the-server]__0i75m0es1m3hf._.js +3 -0
  280. package/server/.next/server/chunks/{[root-of-the-server]__0btybbrsr4abf._.js → [root-of-the-server]__0ikiyg3u02ofv._.js} +1 -1
  281. package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +1 -1
  282. package/server/.next/server/chunks/[root-of-the-server]__0kzpzdkpz_nt0._.js +1 -1
  283. package/server/.next/server/chunks/[root-of-the-server]__0lht1cr4aiudu._.js +3 -0
  284. package/server/.next/server/chunks/[root-of-the-server]__0mrbo2p5fy4ji._.js +3 -0
  285. package/server/.next/server/chunks/{[root-of-the-server]__16waq6rapvngp._.js → [root-of-the-server]__0ms1uw85c5wg2._.js} +2 -2
  286. package/server/.next/server/chunks/[root-of-the-server]__0o0z59_jylzvy._.js +3 -0
  287. package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.js +1 -1
  288. package/server/.next/server/chunks/{[root-of-the-server]__07mzeijv31avl._.js → [root-of-the-server]__0oqltt9cni6m0._.js} +2 -2
  289. package/server/.next/server/chunks/{[root-of-the-server]__1lerees-l5-6c._.js → [root-of-the-server]__0quiawzx_nww0._.js} +2 -2
  290. package/server/.next/server/chunks/{[root-of-the-server]__0wp6j3irilu76._.js → [root-of-the-server]__0r88w3qhrtzz_._.js} +1 -1
  291. package/server/.next/server/chunks/{[root-of-the-server]__0kp0yx909wtab._.js → [root-of-the-server]__0rb1-3538-pq9._.js} +1 -1
  292. package/server/.next/server/chunks/{[root-of-the-server]__1xl6_spngp6k3._.js → [root-of-the-server]__0ruici82tzf0w._.js} +2 -2
  293. package/server/.next/server/chunks/{[root-of-the-server]__0c-33noc8yn1-._.js → [root-of-the-server]__0sabwm3w1rm0q._.js} +1 -1
  294. package/server/.next/server/chunks/{[root-of-the-server]__0twr9duara46x._.js → [root-of-the-server]__0sq7jwlhv9n79._.js} +2 -2
  295. package/server/.next/server/chunks/{[root-of-the-server]__0nrg8zzqizk69._.js → [root-of-the-server]__0tykhzqhwdx_k._.js} +2 -2
  296. package/server/.next/server/chunks/[root-of-the-server]__0ux1hi2fgqxu7._.js +3 -0
  297. package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
  298. package/server/.next/server/chunks/{[root-of-the-server]__0yuyew8m9dc6-._.js → [root-of-the-server]__0w_og0zl6hqzj._.js} +1 -1
  299. package/server/.next/server/chunks/[root-of-the-server]__0wdxw44t9l9o_._.js +3 -0
  300. package/server/.next/server/chunks/[root-of-the-server]__0x47i6wm-cd1z._.js +3 -0
  301. package/server/.next/server/chunks/{[root-of-the-server]__0g1cifa7hd790._.js → [root-of-the-server]__0x6qqr79pq_j9._.js} +1 -1
  302. package/server/.next/server/chunks/{[root-of-the-server]__0hlyn_aj72sn5._.js → [root-of-the-server]__0xqgsjnebebv8._.js} +2 -2
  303. package/server/.next/server/chunks/{[root-of-the-server]__0r1men25anfgb._.js → [root-of-the-server]__0y99cuuxm0xs3._.js} +1 -1
  304. package/server/.next/server/chunks/[root-of-the-server]__0y_xyc1cyvtej._.js +3 -0
  305. package/server/.next/server/chunks/[root-of-the-server]__0zflnh-2nol66._.js +3 -0
  306. package/server/.next/server/chunks/{[root-of-the-server]__0l6_iao04u72h._.js → [root-of-the-server]__0znmcklxfccvk._.js} +2 -2
  307. package/server/.next/server/chunks/{[root-of-the-server]__0kt0hjvyklnk8._.js → [root-of-the-server]__0zu1odpvrptrt._.js} +2 -2
  308. package/server/.next/server/chunks/[root-of-the-server]__10dp33pb5e0ml._.js +3 -0
  309. package/server/.next/server/chunks/[root-of-the-server]__10negjjz5k5bz._.js +3 -0
  310. package/server/.next/server/chunks/[root-of-the-server]__12xl6ax-q8s93._.js +3 -0
  311. package/server/.next/server/chunks/{[root-of-the-server]__090in165mp6av._.js → [root-of-the-server]__14sac3h4sfhh7._.js} +1 -1
  312. package/server/.next/server/chunks/[root-of-the-server]__17xbg7cngebwp._.js +3 -0
  313. package/server/.next/server/chunks/{[root-of-the-server]__0hrtz5c_46jkw._.js → [root-of-the-server]__186-sa38csgot._.js} +1 -1
  314. package/server/.next/server/chunks/[root-of-the-server]__18lfi0w0e_h0k._.js +3 -0
  315. package/server/.next/server/chunks/[root-of-the-server]__195ax9c1nsi5b._.js +3 -0
  316. package/server/.next/server/chunks/[root-of-the-server]__19k0l-ubyp1j_._.js +3 -0
  317. package/server/.next/server/chunks/{[root-of-the-server]__0ku7nva3gxa9p._.js → [root-of-the-server]__1a7_3nq1jjab-._.js} +2 -2
  318. package/server/.next/server/chunks/{[root-of-the-server]__16lfk1wg0ejaa._.js → [root-of-the-server]__1bce11artflky._.js} +2 -2
  319. package/server/.next/server/chunks/[root-of-the-server]__1c1wqmzm65xo8._.js +3 -0
  320. package/server/.next/server/chunks/[root-of-the-server]__1c78cu7kb9vkl._.js +1 -1
  321. package/server/.next/server/chunks/[root-of-the-server]__1cc__h9taeylv._.js +3 -0
  322. package/server/.next/server/chunks/[root-of-the-server]__1d4wmw2wohveb._.js +3 -0
  323. package/server/.next/server/chunks/{[root-of-the-server]__1spds17tpnsgr._.js → [root-of-the-server]__1etg41llk7f09._.js} +2 -2
  324. package/server/.next/server/chunks/{[root-of-the-server]__1adw_bv2u89kc._.js → [root-of-the-server]__1g4iy2tasmn0f._.js} +1 -1
  325. package/server/.next/server/chunks/[root-of-the-server]__1gry2nrq5xhxl._.js +3 -0
  326. package/server/.next/server/chunks/{[root-of-the-server]__0d99wclm2suox._.js → [root-of-the-server]__1gt_-h9n48pwi._.js} +2 -2
  327. package/server/.next/server/chunks/{[root-of-the-server]__0s5b-tdq7rndj._.js → [root-of-the-server]__1hl9k6e1o7xh2._.js} +2 -2
  328. package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +1 -1
  329. package/server/.next/server/chunks/[root-of-the-server]__1kk_s-q90445m._.js +3 -0
  330. package/server/.next/server/chunks/{[root-of-the-server]__02ldm_7l9zld8._.js → [root-of-the-server]__1lfsf7un8kdbr._.js} +1 -1
  331. package/server/.next/server/chunks/[root-of-the-server]__1nusfevn1z4nm._.js +3 -0
  332. package/server/.next/server/chunks/{[root-of-the-server]__0x487cn6dsn12._.js → [root-of-the-server]__1ny8nr52qvr4i._.js} +2 -2
  333. package/server/.next/server/chunks/[root-of-the-server]__1oc55uo0ax787._.js +3 -0
  334. package/server/.next/server/chunks/[root-of-the-server]__1ol4c4uzqqqfw._.js +3 -0
  335. package/server/.next/server/chunks/[root-of-the-server]__1ozfk4_3lx1o7._.js +1 -1
  336. package/server/.next/server/chunks/[root-of-the-server]__1sm4p209f_yie._.js +3 -0
  337. package/server/.next/server/chunks/[root-of-the-server]__1uqxnb7qfqcms._.js +3 -0
  338. package/server/.next/server/chunks/{[root-of-the-server]__1wpdlr4uh1un4._.js → [root-of-the-server]__1vqs8o9bv1wbk._.js} +2 -2
  339. package/server/.next/server/chunks/[root-of-the-server]__1vxtt1favjdfr._.js +3 -0
  340. package/server/.next/server/chunks/[root-of-the-server]__1xwgj26z5f7ih._.js +3 -0
  341. package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +1 -1
  342. package/server/.next/server/chunks/{[root-of-the-server]__1ooxluowhatjt._.js → [root-of-the-server]__20ng0hgzxagf_._.js} +2 -2
  343. package/server/.next/server/chunks/{[root-of-the-server]__0032rbj2s87zo._.js → [root-of-the-server]__20r_62r36t28o._.js} +2 -2
  344. package/server/.next/server/chunks/[root-of-the-server]__20sv90-2ei08l._.js +3 -0
  345. package/server/.next/server/chunks/_01x32f51v50y7._.js +3 -0
  346. package/server/.next/server/chunks/{_1-pw7jw52sbti._.js → _06gv0srpbf_lk._.js} +1 -1
  347. package/server/.next/server/chunks/_0ffsv993spriq._.js +3 -0
  348. package/server/.next/server/chunks/_0hsj1tx2ynla-._.js +3 -0
  349. package/server/.next/server/chunks/{_1-pcsy2hkg0il._.js → _0ljdeybzgdyai._.js} +1 -1
  350. package/server/.next/server/chunks/_0ls7sornjrg95._.js +5 -0
  351. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  352. package/server/.next/server/chunks/{_0duxuj4kmjibl._.js → _0nt4ifc48vl34._.js} +24 -22
  353. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +3 -3
  354. package/server/.next/server/chunks/{_113ebzq_9i756._.js → _0rkn5gstaj2d0._.js} +24 -22
  355. package/server/.next/server/chunks/_0zj10_al6r59j._.js +1 -1
  356. package/server/.next/server/chunks/_12g2m3a5e94_5._.js +3 -0
  357. package/server/.next/server/chunks/_1476vtrt9101m._.js +1 -1
  358. package/server/.next/server/chunks/{_1ihndlef8r00f._.js → _1_4jb754aeifp._.js} +24 -22
  359. package/server/.next/server/chunks/{_0q9a3ettj_h2s._.js → _1_9n8x5ncta29._.js} +2 -2
  360. package/server/.next/server/chunks/{_16urxazbgm48y._.js → _1cq1vvbp6pglr._.js} +3 -3
  361. package/server/.next/server/chunks/_1e_rbkrukj0x9._.js +1 -1
  362. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +3 -3
  363. package/server/.next/server/chunks/{_0ry4553j-m5fp._.js → _1myv9csc_in08._.js} +3 -3
  364. package/server/.next/server/chunks/{_1g8r-7wcf8sy3._.js → _1n-fm2bdo9t2m._.js} +3 -3
  365. package/server/.next/server/chunks/{_1mwb214-ablfo._.js → _1qsryafbujfwn._.js} +24 -22
  366. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  367. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  368. package/server/.next/server/chunks/{src_00ixvrjrk_2h4._.js → src_0_l3dzp06o4x5._.js} +2 -2
  369. package/server/.next/server/chunks/{src_0tdn7mun5rvc6._.js → src_0m6xxpw2u-xv_._.js} +2 -2
  370. package/server/.next/server/chunks/{src_20ilndq84j3b3._.js → src_15fupbs9-n8q9._.js} +2 -2
  371. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  372. package/server/.next/server/chunks/src_1p24c-nz35cov._.js +3 -0
  373. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  374. package/server/.next/server/chunks/src_lib_001zhbfd1zeuk._.js +3 -0
  375. package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +3 -0
  376. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  377. package/server/.next/server/chunks/{src_lib_206j7lyff31-g._.js → src_lib_0k_aposzvy1c8._.js} +2 -2
  378. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +20 -18
  379. package/server/.next/server/chunks/{src_lib_1-u7dbsavbtb0._.js → src_lib_0vjapfdxkooq5._.js} +2 -2
  380. package/server/.next/server/chunks/{src_lib_0krdzz8eu9xh3._.js → src_lib_0yn0bj14ih0id._.js} +2 -2
  381. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +20 -18
  382. package/server/.next/server/chunks/{src_lib_0ayxuk4ftzf2f._.js → src_lib_1qbgm0zu8q1rr._.js} +2 -2
  383. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +20 -18
  384. package/server/.next/server/chunks/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +3 -0
  385. package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +15 -15
  386. package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +13 -13
  387. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +13 -13
  388. package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +13 -13
  389. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  390. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
  391. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
  392. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
  393. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
  394. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
  395. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
  396. package/server/.next/server/chunks/ssr/{[externals]__078uqm46tk5mo._.js → [externals]__0irbihjwcc9is._.js} +1 -1
  397. package/server/.next/server/chunks/ssr/{[externals]__1_ttbfsdm3x1-._.js → [externals]__0vlxry7jq5j1j._.js} +1 -1
  398. package/server/.next/server/chunks/ssr/{[externals]__1devsqn7ez77y._.js → [externals]__0yyslm1ka5px3._.js} +1 -1
  399. package/server/.next/server/chunks/ssr/{[externals]__00tbi838eotwu._.js → [externals]__1mol6ksxmtkv6._.js} +1 -1
  400. package/server/.next/server/chunks/ssr/[root-of-the-server]__0-i_tj8wp9oto._.js +3 -0
  401. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
  402. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0xpkzaqer75i-._.js → [root-of-the-server]__06b1pw15-_hv5._.js} +2 -2
  403. package/server/.next/server/chunks/ssr/[root-of-the-server]__077-acap7g4ck._.js +3 -0
  404. package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
  405. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ek1-s5z9ggq2._.js +3 -0
  406. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0jn0o2e32mwcp._.js → [root-of-the-server]__0hzlz_t5eect2._.js} +2 -2
  407. package/server/.next/server/chunks/ssr/[root-of-the-server]__0i07g85h2g72h._.js +3 -0
  408. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
  409. package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
  410. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
  411. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1adcmllk9wt5l._.js → [root-of-the-server]__0n-sc7pzu7fpz._.js} +1 -1
  412. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nxyo70ahj7tk._.js +3 -0
  413. package/server/.next/server/chunks/ssr/[root-of-the-server]__0oon1p2_04l7s._.js +3 -0
  414. package/server/.next/server/chunks/ssr/{[root-of-the-server]__133_j0bmsjnzt._.js → [root-of-the-server]__0q7rssq_3unbc._.js} +2 -2
  415. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
  416. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
  417. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0an0wsglj2bhh._.js → [root-of-the-server]__0sj92w6mg92ds._.js} +2 -2
  418. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1uojs0x42k86p._.js → [root-of-the-server]__0wi2grctadbk8._.js} +1 -1
  419. package/server/.next/server/chunks/ssr/{[root-of-the-server]__19l_r5vy3kxo1._.js → [root-of-the-server]__0xjg51t1__v-s._.js} +1 -1
  420. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0d2ry7-u1cv8c._.js → [root-of-the-server]__0z_1k5876-_wx._.js} +2 -2
  421. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1mumjk3h0om80._.js → [root-of-the-server]__1-d88ogkwql_b._.js} +2 -2
  422. package/server/.next/server/chunks/ssr/{[root-of-the-server]__191t_hhtr-k27._.js → [root-of-the-server]__110158s15r7mi._.js} +2 -2
  423. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0qwds8dkahd2_._.js → [root-of-the-server]__193nmh09rrpbx._.js} +1 -1
  424. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  425. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0x7w-5h8or6qr._.js → [root-of-the-server]__1_h_ya1h8efdj._.js} +2 -2
  426. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_z273zso5at1._.js +3 -0
  427. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0paolyy3xkow9._.js → [root-of-the-server]__1a0b_dbx4uans._.js} +2 -2
  428. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ctkj-25wt37o._.js +4 -0
  429. package/server/.next/server/chunks/ssr/[root-of-the-server]__1e0l6kek0ufui._.js +3 -0
  430. package/server/.next/server/chunks/ssr/[root-of-the-server]__1hek7tjixcjch._.js +3 -0
  431. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0i0_6dnnf0hov._.js → [root-of-the-server]__1ijizmc3ga_6o._.js} +2 -2
  432. package/server/.next/server/chunks/ssr/[root-of-the-server]__1kfivch_kfesn._.js +4 -0
  433. package/server/.next/server/chunks/ssr/[root-of-the-server]__1o63-3k1wez40._.js +3 -0
  434. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ogwz1buruc_x._.js +3 -0
  435. package/server/.next/server/chunks/ssr/[root-of-the-server]__1sw2q1p1t59y8._.js +1 -1
  436. package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
  437. package/server/.next/server/chunks/ssr/[root-of-the-server]__1zmuaump_n9c1._.js +3 -0
  438. package/server/.next/server/chunks/ssr/_0-wc6f6p0c8lv._.js +1 -1
  439. package/server/.next/server/chunks/ssr/_01x32f51v50y7._.js +3 -0
  440. package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
  441. package/server/.next/server/chunks/ssr/_08e6i1zuyz-ns._.js +3 -0
  442. package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
  443. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  444. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  445. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  446. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  447. package/server/.next/server/chunks/ssr/_0c7stbntpuyt_._.js +3 -0
  448. package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
  449. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  450. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
  451. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  452. package/server/.next/server/chunks/ssr/_0ffsv993spriq._.js +3 -0
  453. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
  454. package/server/.next/server/chunks/ssr/_0hsj1tx2ynla-._.js +3 -0
  455. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
  456. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
  457. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
  458. package/server/.next/server/chunks/ssr/{src_lib_0-nc33gvdtkg5._.js → _0ls7sornjrg95._.js} +2 -2
  459. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  460. package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
  461. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
  462. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
  463. package/server/.next/server/chunks/ssr/{_0fq8thje0tuch._.js → _0s8qoh8v5kqcm._.js} +2 -2
  464. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
  465. package/server/.next/server/chunks/ssr/_0uvkx5n0kf7r2._.js +3 -0
  466. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
  467. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +1 -1
  468. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  469. package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +2 -2
  470. package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +3 -0
  471. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  472. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  473. package/server/.next/server/chunks/ssr/{_0wb79bnj96x0g._.js → _10q5jocsvw-i8._.js} +2 -2
  474. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  475. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
  476. package/server/.next/server/chunks/ssr/_1476vtrt9101m._.js +1 -1
  477. package/server/.next/server/chunks/ssr/{_0mp5aext18ijx._.js → _166ljgwi6shw7._.js} +2 -2
  478. package/server/.next/server/chunks/ssr/{_1e47r3tlad52r._.js → _18z44n8yl5tzj._.js} +2 -2
  479. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  480. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  481. package/server/.next/server/chunks/ssr/{src_lib_1zgor_vrwl5kt._.js → _1b1t9p1xljuql._.js} +2 -2
  482. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
  483. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  484. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
  485. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
  486. package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
  487. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  488. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
  489. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  490. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  491. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
  492. package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
  493. package/server/.next/server/chunks/ssr/_1o94cw0ml7xu7._.js +3 -0
  494. package/server/.next/server/chunks/ssr/_1ok868mr1th-7._.js +3 -0
  495. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
  496. package/server/.next/server/chunks/ssr/{_0kxkg0dbp42ai._.js → _1qiv079hbwt43._.js} +2 -2
  497. package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +1 -1
  498. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
  499. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  500. package/server/.next/server/chunks/ssr/_218164gkxgum_._.js +1 -1
  501. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
  502. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
  503. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
  504. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_0y5m8cul6d7kk.js +1 -1
  505. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
  506. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
  507. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
  508. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
  509. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
  510. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
  511. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
  512. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +1 -1
  513. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
  514. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
  515. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  516. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  517. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
  518. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  519. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  520. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  521. package/server/.next/server/chunks/ssr/{src_1xjlp4oxlprxb._.js → src_0jxjbvkvg0bjg._.js} +2 -2
  522. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  523. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
  524. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  525. package/server/.next/server/chunks/ssr/{src_097wa6oc_utgr._.js → src_186l56gdeizg8._.js} +2 -2
  526. package/server/.next/server/chunks/ssr/{src_0i-1ohush6mui._.js → src_1p24c-nz35cov._.js} +2 -2
  527. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  528. package/server/.next/server/chunks/ssr/src_1xoua7wkmyfkn._.js +3 -0
  529. package/server/.next/server/chunks/ssr/src_1y827m5-ojdib._.js +6 -0
  530. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  531. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  532. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  533. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  534. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  535. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  536. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  537. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  538. package/server/.next/server/chunks/ssr/{src_app_(console)_1za4o0--zhso5._.js → src_app_(console)_0f-d8u7sm169e._.js} +2 -2
  539. package/server/.next/server/chunks/ssr/{src_app_(console)_0p2-zm5eewkqo._.js → src_app_(console)_1vpkg9rd7v3pk._.js} +2 -2
  540. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -1
  541. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_1t61z2wktki-v._.js +1 -1
  542. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  543. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  544. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  545. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  546. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  547. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  548. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  549. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  550. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  551. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  552. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  553. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  554. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  555. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  556. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  557. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  558. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  559. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  560. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  561. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  562. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  563. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  564. package/server/.next/server/chunks/ssr/{src_app_signin_11vigmz4xm91m._.js → src_app_signin_0ndz9-tbuaohn._.js} +2 -2
  565. package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +1 -1
  566. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  567. package/server/.next/server/chunks/ssr/src_lib_001zhbfd1zeuk._.js +3 -0
  568. package/server/.next/server/chunks/ssr/src_lib_04orn7u7ufxp1._.js +3 -0
  569. package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +3 -0
  570. package/server/.next/server/chunks/ssr/src_lib_0nbad7vu413-f._.js +23 -0
  571. package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +3 -0
  572. package/server/.next/server/chunks/ssr/src_lib_1l8ej-zoyyegd._.js +3 -0
  573. package/server/.next/server/chunks/ssr/src_lib_1nkahiclbn55q._.js +3 -0
  574. package/server/.next/server/chunks/ssr/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +3 -0
  575. package/server/.next/server/chunks/ssr/{src_lib_demo_07uq47fhms-3d._.js → src_lib_demo_0ftmf3wmtezvl._.js} +2 -2
  576. package/server/.next/server/chunks/ssr/src_lib_demo_1b1yd_ne2dpeh._.js +1 -1
  577. package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +14 -14
  578. package/server/.next/server/chunks/ssr/src_lib_view_14iq8onyfo7nd._.js +3 -0
  579. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  580. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  581. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  582. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  583. package/server/.next/server/middleware-build-manifest.js +3 -3
  584. package/server/.next/server/pages/404.html +1 -1
  585. package/server/.next/server/pages/500.html +1 -1
  586. package/server/.next/server/preview-props.json +3 -3
  587. package/server/.next/server/server-reference-manifest.js +1 -1
  588. package/server/.next/server/server-reference-manifest.json +152 -142
  589. package/server/.next/static/chunks/0-0tkevn8vwix.js +1 -0
  590. package/server/.next/static/chunks/{0p6hja9octhrd.js → 026a6w6rbx-fh.js} +1 -1
  591. package/server/.next/static/chunks/{3qjirj3rjf5mu.js → 05rysjdxtzhu1.js} +1 -1
  592. package/server/.next/static/chunks/{23b9tctw1mn5a.js → 0jbau1a66ts45.js} +11 -11
  593. package/server/.next/static/chunks/0lhj_nuhfszt5.js +1 -0
  594. package/server/.next/static/chunks/{1i8i1ieoh738i.js → 0m3kg-eiti9zu.js} +1 -1
  595. package/server/.next/static/chunks/{2rpa_j81h_45y.js → 0o-c28x8k05p4.js} +1 -1
  596. package/server/.next/static/chunks/{0qoql97izcn4l.js → 0o08yqz8_53p6.js} +1 -1
  597. package/server/.next/static/chunks/{0jf5lpzwq4vh1.js → 0p14kwfj_2w_l.js} +1 -1
  598. package/server/.next/static/chunks/0qd8lafp_2ta5.js +1 -0
  599. package/server/.next/static/chunks/{292uz-rsh422k.js → 0wz_jmdt88plr.js} +1 -1
  600. package/server/.next/static/chunks/14teejsfv-awi.js +1 -0
  601. package/server/.next/static/chunks/{3xxcpv79l5tnh.js → 15x1am33zx_7r.js} +1 -1
  602. package/server/.next/static/chunks/{2z21xxtcmsmhe.js → 16en34z8w8ezr.js} +1 -1
  603. package/server/.next/static/chunks/{0dmql-jz-o69o.js → 19bfo1_ejzqmp.js} +1 -1
  604. package/server/.next/static/chunks/{1s0s32oqy-54t.js → 1aiapinh40brx.js} +1 -1
  605. package/server/.next/static/chunks/{3cyesi3hi6l1g.js → 1b4nkf_ka3hwr.js} +2 -2
  606. package/server/.next/static/chunks/{1t9f2pdc3crnr.js → 1bsk5ub4zhehk.js} +1 -1
  607. package/server/.next/static/chunks/{04ospu_w--6p9.js → 1j7e6cd8t5jar.js} +1 -1
  608. package/server/.next/static/chunks/{38conxv_f-pgo.js → 1khar1yl-th2r.js} +1 -1
  609. package/server/.next/static/chunks/{0buwzrf7dpagn.js → 1kwbsrtnz8o1l.js} +1 -1
  610. package/server/.next/static/chunks/{3efi_dyz4y0lj.js → 1rgejqx65romt.js} +1 -1
  611. package/server/.next/static/chunks/{1wh-ps6a57yj1.js → 1ruv-a_ft592k.js} +1 -1
  612. package/server/.next/static/chunks/1tg1mstvws8rj.css +3 -0
  613. package/server/.next/static/chunks/{29xg947lkf4-x.js → 1y8hxiy48l5hq.js} +1 -1
  614. package/server/.next/static/chunks/20pwnun2aiajo.js +2 -0
  615. package/server/.next/static/chunks/{0x41o1ud_ksl1.js → 231dmdy7r03nd.js} +1 -1
  616. package/server/.next/static/chunks/{1_93oj1b-nrla.js → 234h8_ywb6t9s.js} +1 -1
  617. package/server/.next/static/chunks/{0a4b85ckxbprh.js → 24p8ti6ronsdf.js} +1 -1
  618. package/server/.next/static/chunks/{2szc6dvuj3gxy.js → 25ba60sl_edr3.js} +1 -1
  619. package/server/.next/static/chunks/{2pi0r5spn0slc.js → 25je6-38ula0p.js} +1 -1
  620. package/server/.next/static/chunks/{12bbufru1ui37.js → 2_vwhuzct036v.js} +1 -1
  621. package/server/.next/static/chunks/{0wkv5e-c430ea.js → 2baqn9ru2pmf4.js} +2 -2
  622. package/server/.next/static/chunks/{2l4upq4bwgvvu.js → 2ehpfaelmkee6.js} +1 -1
  623. package/server/.next/static/chunks/{1bt81ubbahkh6.js → 2uk9mjknuxmxx.js} +1 -1
  624. package/server/.next/static/chunks/{2ac9gyn8mzqp4.js → 2w3otuq4cx1pd.js} +1 -1
  625. package/server/.next/static/chunks/{08f1euchlacye.js → 317o5vyehd1xx.js} +1 -1
  626. package/server/.next/static/chunks/{2fze_cnwk8j76.js → 34jajbsx3uisy.js} +1 -1
  627. package/server/.next/static/chunks/{35to2q1uretcv.js → 35j75g5h_qytc.js} +1 -1
  628. package/server/.next/static/chunks/35ua22np4u9jr.js +1 -0
  629. package/server/.next/static/chunks/38rdy3k5li9gb.js +1 -0
  630. package/server/.next/static/chunks/{12zasgv1xisb5.js → 3m825h0uvc8b6.js} +1 -1
  631. package/server/.next/static/chunks/{1g_kip3m3h9q6.js → 3ngtjj5afybe9.js} +1 -1
  632. package/server/.next/static/chunks/{38-ay595f3xie.js → 3odrzjmblvoxt.js} +1 -1
  633. package/server/.next/static/chunks/{088c6cw88jmlb.js → 3u-qfdthw123i.js} +2 -2
  634. package/server/.next/static/chunks/{2u3iceaxpiiws.js → 3xhrztkjpas1b.js} +1 -1
  635. package/server/.next/static/chunks/{09e-vdlax9bp6.js → 4126vjheqklsp.js} +1 -1
  636. package/server/server.js +1 -1
  637. package/server/.next/server/chunks/[root-of-the-server]__03i6yscmtbhhg._.js +0 -3
  638. package/server/.next/server/chunks/[root-of-the-server]__04oipax0jupxr._.js +0 -3
  639. package/server/.next/server/chunks/[root-of-the-server]__09odxyho_9vk_._.js +0 -3
  640. package/server/.next/server/chunks/[root-of-the-server]__0ab040lxtt8_d._.js +0 -3
  641. package/server/.next/server/chunks/[root-of-the-server]__0f5bt0o1k41ft._.js +0 -3
  642. package/server/.next/server/chunks/[root-of-the-server]__0oy0hcm48kl-q._.js +0 -3
  643. package/server/.next/server/chunks/[root-of-the-server]__0v1t0gkrsn99q._.js +0 -3
  644. package/server/.next/server/chunks/[root-of-the-server]__1-9hjrgvj0fpb._.js +0 -3
  645. package/server/.next/server/chunks/[root-of-the-server]__10cqzo_4dhr4m._.js +0 -3
  646. package/server/.next/server/chunks/[root-of-the-server]__125fkw52kl2ty._.js +0 -3
  647. package/server/.next/server/chunks/[root-of-the-server]__13hrm9c61i7uk._.js +0 -3
  648. package/server/.next/server/chunks/[root-of-the-server]__14eyo4i2tm93k._.js +0 -3
  649. package/server/.next/server/chunks/[root-of-the-server]__19ylbgd65iej4._.js +0 -3
  650. package/server/.next/server/chunks/[root-of-the-server]__1_zjje9edw0bz._.js +0 -3
  651. package/server/.next/server/chunks/[root-of-the-server]__1c653f_8qzrpd._.js +0 -3
  652. package/server/.next/server/chunks/[root-of-the-server]__1dyith2r4bacm._.js +0 -3
  653. package/server/.next/server/chunks/[root-of-the-server]__1e1l75cf48ph2._.js +0 -3
  654. package/server/.next/server/chunks/[root-of-the-server]__1eu2_f44as742._.js +0 -3
  655. package/server/.next/server/chunks/[root-of-the-server]__1hv3hk5182t-o._.js +0 -3
  656. package/server/.next/server/chunks/[root-of-the-server]__1j6xniw630fg0._.js +0 -3
  657. package/server/.next/server/chunks/[root-of-the-server]__1kqq90-sj8-op._.js +0 -3
  658. package/server/.next/server/chunks/[root-of-the-server]__1lam0c5a3f224._.js +0 -3
  659. package/server/.next/server/chunks/[root-of-the-server]__1nu5isiy7d832._.js +0 -3
  660. package/server/.next/server/chunks/[root-of-the-server]__1onjxlntn-u8g._.js +0 -3
  661. package/server/.next/server/chunks/[root-of-the-server]__1pscg7y0et34j._.js +0 -3
  662. package/server/.next/server/chunks/[root-of-the-server]__1pvx0izh1m_0_._.js +0 -3
  663. package/server/.next/server/chunks/[root-of-the-server]__1uox9a0td-o0-._.js +0 -3
  664. package/server/.next/server/chunks/[root-of-the-server]__1vwz2r58cojht._.js +0 -3
  665. package/server/.next/server/chunks/[root-of-the-server]__1y2qf8ltxhk0o._.js +0 -3
  666. package/server/.next/server/chunks/[root-of-the-server]__1z_0gt-w6bx9v._.js +0 -3
  667. package/server/.next/server/chunks/[root-of-the-server]__1zrqz88a2lkx5._.js +0 -3
  668. package/server/.next/server/chunks/[root-of-the-server]__1zwi7po5_xe8-._.js +0 -3
  669. package/server/.next/server/chunks/_0pf2g5n_ko5dq._.js +0 -3
  670. package/server/.next/server/chunks/_0qyupoc7u5hr7._.js +0 -3
  671. package/server/.next/server/chunks/_1-ior_ot6mgxg._.js +0 -3
  672. package/server/.next/server/chunks/_15g-opioju_ju._.js +0 -3
  673. package/server/.next/server/chunks/src_0i-1ohush6mui._.js +0 -3
  674. package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +0 -3
  675. package/server/.next/server/chunks/src_lib_0-nc33gvdtkg5._.js +0 -5
  676. package/server/.next/server/chunks/src_lib_0-xd6p5793qdu._.js +0 -3
  677. package/server/.next/server/chunks/src_lib_0qbcg988i_-ee._.js +0 -3
  678. package/server/.next/server/chunks/ssr/[root-of-the-server]__04nc91kiy757l._.js +0 -3
  679. package/server/.next/server/chunks/ssr/[root-of-the-server]__04zgt2t-w6-75._.js +0 -3
  680. package/server/.next/server/chunks/ssr/[root-of-the-server]__0a3n6wzq8xui9._.js +0 -3
  681. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ban7lwqlko9y._.js +0 -3
  682. package/server/.next/server/chunks/ssr/[root-of-the-server]__0klc2dyzyjeba._.js +0 -3
  683. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nlfip3wc3l2z._.js +0 -4
  684. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ronqmm1xpldk._.js +0 -3
  685. package/server/.next/server/chunks/ssr/[root-of-the-server]__0vnfx03nb5vku._.js +0 -3
  686. package/server/.next/server/chunks/ssr/[root-of-the-server]__107gjehjdhw8p._.js +0 -3
  687. package/server/.next/server/chunks/ssr/[root-of-the-server]__13fabu66slkfb._.js +0 -3
  688. package/server/.next/server/chunks/ssr/[root-of-the-server]__1a7x--bos5pv8._.js +0 -3
  689. package/server/.next/server/chunks/ssr/[root-of-the-server]__1fj33_xkainxk._.js +0 -4
  690. package/server/.next/server/chunks/ssr/[root-of-the-server]__1p2oghl9lfgmk._.js +0 -3
  691. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pwd99rch8xyl._.js +0 -3
  692. package/server/.next/server/chunks/ssr/[root-of-the-server]__2195hg4329yfp._.js +0 -3
  693. package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +0 -3
  694. package/server/.next/server/chunks/ssr/_0ad3y3l77xkxe._.js +0 -3
  695. package/server/.next/server/chunks/ssr/_0qyupoc7u5hr7._.js +0 -3
  696. package/server/.next/server/chunks/ssr/_0ufjz7kfd4jbd._.js +0 -3
  697. package/server/.next/server/chunks/ssr/_1-ior_ot6mgxg._.js +0 -3
  698. package/server/.next/server/chunks/ssr/_1uae0vl2c6fz7._.js +0 -3
  699. package/server/.next/server/chunks/ssr/_1y8wer5tpgiqw._.js +0 -3
  700. package/server/.next/server/chunks/ssr/_217qa04yo70zg._.js +0 -3
  701. package/server/.next/server/chunks/ssr/src_05kvmrkq5nfyh._.js +0 -3
  702. package/server/.next/server/chunks/ssr/src_0ixeyy74fe5jy._.js +0 -3
  703. package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +0 -3
  704. package/server/.next/server/chunks/ssr/src_1fomo1_as1-ea._.js +0 -3
  705. package/server/.next/server/chunks/ssr/src_1sv5tf2pk5-pn._.js +0 -3
  706. package/server/.next/server/chunks/ssr/src_lib_0-xd6p5793qdu._.js +0 -3
  707. package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +0 -21
  708. package/server/.next/server/chunks/ssr/src_lib_0qbcg988i_-ee._.js +0 -3
  709. package/server/.next/server/chunks/ssr/src_lib_18e550s395xn5._.js +0 -3
  710. package/server/.next/server/chunks/ssr/src_lib_1_5ea0kxdn6zt._.js +0 -3
  711. package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +0 -6
  712. package/server/.next/static/chunks/06a83nde7riq-.js +0 -1
  713. package/server/.next/static/chunks/0qsk0bb1x81nc.js +0 -1
  714. package/server/.next/static/chunks/1ss-6-h8nloc9.js +0 -1
  715. package/server/.next/static/chunks/1t8fe3w70uapo.js +0 -1
  716. package/server/.next/static/chunks/2g9dossbqnlr7.js +0 -1
  717. package/server/.next/static/chunks/315s21b2dd7lg.js +0 -1
  718. package/server/.next/static/chunks/3ybb15n1q3f-o.css +0 -3
  719. /package/server/.next/static/{rBXBlxKpaOHcc5KZDIhAL → 00kxZsHPpI3WSDxVn1e4b}/_buildManifest.js +0 -0
  720. /package/server/.next/static/{rBXBlxKpaOHcc5KZDIhAL → 00kxZsHPpI3WSDxVn1e4b}/_clientMiddlewareManifest.js +0 -0
  721. /package/server/.next/static/{rBXBlxKpaOHcc5KZDIhAL → 00kxZsHPpI3WSDxVn1e4b}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
1
  (()=>{"use strict";module.exports=[909592,e=>{var t=e.i(794588);e.s(["z",0,t])},79322,e=>{var t=e.i(794588);e.s(["z",0,t])},710075,e=>{var t=e.i(794588);e.s(["z",0,t])},932378,e=>{var t=e.i(794588);e.s(["z",0,t])},295017,e=>{var t=e.i(511302),n=e.i(553184),a=e.i(741630),r=e.i(370705),s=e.i(217702),o=e.i(141757),l=e.i(10566),i=e.i(45115),u=e.i(530298);let d=u.ops.table("supabase_metrics_keys",{resourceId:(0,i.q)("resource_id").primaryKey().references(()=>u.resources.id,{onDelete:"cascade"}),keyCiphertext:(0,o.f)("key_ciphertext").notNull(),keyIv:(0,o.f)("key_iv").notNull(),keyVersion:(0,n.f)("key_version").notNull().default(1),addedBy:(0,i.q)("added_by"),latest:(0,a.y)("latest").$type(),lastTryAt:(0,l._)("last_try_at",{withTimezone:!0}),lastOkAt:(0,l._)("last_ok_at",{withTimezone:!0}),lastError:(0,o.f)("last_error"),createdAt:(0,l._)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,l._)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),c=u.ops.table("supabase_metrics",{resourceId:(0,i.q)("resource_id").notNull().references(()=>u.resources.id,{onDelete:"cascade"}),hour:(0,l._)("hour",{withTimezone:!0}).notNull(),samples:(0,n.f)("samples").notNull().default(0),cpuSamples:(0,n.f)("cpu_samples").notNull().default(0),cpuAvg:(0,s.f)("cpu_avg"),cpuMax:(0,s.f)("cpu_max"),memAvg:(0,s.f)("mem_avg"),memMax:(0,s.f)("mem_max"),diskPct:(0,s.f)("disk_pct"),connUsed:(0,n.f)("conn_used"),connMax:(0,n.f)("conn_max")},e=>[(0,r._)({columns:[e.resourceId,e.hour]}),(0,t.y)("supabase_metrics_hour_idx").on(e.hour)]);e.s(["l",0,c,"A",0,d])},200123,e=>{e.s(["f",0,function(e){if(Array.isArray(e))return e;let t=e?.rows;return Array.isArray(t)?t:[]}])},516506,e=>{let t=e=>(e??0).toLocaleString("en-US"),n={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:e=>`${t(e)} failed checks in a row`},CollectorStale:{key:"CollectorStale",severity:"critical",threshold:5,bounds:[3,60],source:"own",needs:null,sampled:!1,condition:e=>`No collector run for ${t(e)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:e=>`Slowest 5% of checks over ${t(e)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A production deploy fails"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase pauses the project"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:e=>`TLS certificate expires in < ${t(e)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:e=>`Domain expires in < ${t(e)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Database size > ${t(e)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:e=>`> ${t(e)} of 100 CU-hours this month`},FirestoreQuotaHigh:{key:"FirestoreQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"test",needs:"databases",sampled:!1,condition:e=>`Daily reads > ${t(e)}% of 50k`},AutoPauseRisk:{key:"AutoPauseRisk",severity:"info",threshold:4,bounds:[1,6],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase project without API traffic for ${t(e)}+ days`},DnsProxiedToVercel:{key:"DnsProxiedToVercel",severity:"info",threshold:null,bounds:null,source:"api",needs:"dns",sampled:!1,condition:()=>"Cloudflare record proxied in front of Vercel"},ComputeHigh:{key:"ComputeHigh",severity:"warning",threshold:80,bounds:[50,95],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase CPU > ${t(e)}% for 15 min, RAM > ${t(Math.min(99,(e??80)+10))}%, disk > ${t(e)}% or connections > ${t(e)}% of max`},DbQuotaHigh:{key:"DbQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Turso, Upstash or D1 usage > ${t(e)}% of a free-plan quota`},CredentialExpiring:{key:"CredentialExpiring",severity:"warning",threshold:14,bounds:[1,60],source:"api",needs:null,sampled:!1,condition:e=>`Account credential expires in < ${t(e)} days`},VulnerableDependency:{key:"VulnerableDependency",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A dependency has a critical or high advisory, or a moderate one on a direct dependency (OSV.dev)"},FrameworkVulnerable:{key:"FrameworkVulnerable",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The app's Next.js version has a known advisory (OSV.dev)"},MonitorDomainMoved:{key:"MonitorDomainMoved",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The monitor's domain is no longer one of the app's domains"}};Object.keys(n),e.s(["_",0,n,"h",0,e=>"string"==typeof e&&e in n])},27479,e=>{let t=e=>e?e.getTime():null;function n(e,t){return!e||"object"!=typeof e||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(e=>"string"==typeof e[1]&&new Date(e[1]).getTime()>t.getTime()))}e.s(["Q",0,function(e,t,n,a=new Set){let r=new Set(n.map(e=>`${e.resourceId}/${e.id}`));return e.flatMap(e=>{let n=t.get(e.externalId);return!n||a.has(n)||r.has(`${e.id}/${n}`)?[]:[{appId:e.id,deploymentId:n}]})},"E",0,function(e,n){return!e||e.state!==n.state||e.target!==n.target||e.branch!==n.branch||e.commitSha!==n.commitSha||e.commitMessage!==n.commitMessage||e.source!==n.source||e.url!==n.url||t(e.buildingAt)!==t(n.buildingAt)||t(e.readyAt)!==t(n.readyAt)},"Y",0,function(e,t,a){let r=new Date(a.getTime()+216e5).toISOString();return{...n(e,a),...Object.fromEntries(t.map(e=>[e,r]))}},"K",0,function(e){try{return new URL(e).pathname}catch{return"/"}},"a",0,function(e,t){let n=[...new Map(e.map(e=>[e.id,e])).values()].sort((e,t)=>t.createdAt.getTime()-e.createdAt.getTime()),a=t??n[0]?.id??null,r=n.findIndex(e=>e.id===a);return{currentId:a,previousId:r>=0?n[r+1]?.id??null:null}},"S",0,(e,t)=>new Set(Object.keys(n(e,t)))])},816173,e=>{let t=(e,t)=>t??(e?`HTTP ${e}`:"No answer");e.s(["I",0,3,"V",0,function(e){return e.monitors.includes("err")?"err":e.building?"build":e.monitors.includes("warn")||e.dbPaused?"warn":e.monitors.length?"ok":"unknown"},"L",0,function(e,t,n,a){if(e===t.state)return null;let r={resourceId:n,type:"deployment",at:a,detail:`${t.branch??"unknown branch"} \xb7 ${t.sha?t.sha.slice(0,7):"no commit"}`},s=e=>null!==e&&a.getTime()-e.getTime()<=6e5;return"building"===t.state?void 0===e&&s(t.createdAt)?{...r,kind:"build",message:"Deployment started"}:null:void 0!==e||s(t.readyAt??t.createdAt)?"ready"===t.state?{...r,kind:"ok",message:"Deployment ready"}:"error"===t.state?{...r,kind:"fail",message:"Deployment failed"}:{...r,kind:"off",message:"Deployment canceled"}:null},"F",0,function(e){let{prev:n,next:a}=e,r=!0===e.heartbeat;if(n===a||"unknown"===n&&!(r&&"err"===a))return null;let s={resourceId:e.resourceId,type:"monitor",at:e.at};return"err"===a?{...s,kind:"err",message:"Monitor down",detail:r?t(null,e.error):`${t(e.code,e.error)} on 3 checks in a row`}:"warn"===a?{...s,kind:"warn",message:"Monitor degraded",detail:t(e.code,e.error)}:"ok"===a?{...s,kind:"ok",message:"Monitor recovered",detail:r?`${e.path} pinged again`:`${e.path} answers again`}:null},"G",0,function(e,t){if(t.ok)return{state:"ok",failStreak:0};let n=e+1;return{state:n>=3?"err":"warn",failStreak:n}}])},887103,e=>{let t=/^([A-Za-z_:][A-Za-z0-9_:]*)(\{.*\})?\s+(\S+)(?:\s+-?\d+)?\s*$/,n=e=>e.length?e.reduce((e,t)=>e+t.value,0):null,a=["pg_settings_max_connections","pg_max_connections"],r=new Set(["rootfs","tmpfs","overlay","squashfs","devtmpfs"]),s=e=>Math.round(10*e)/10,o=e=>Math.min(100,Math.max(0,e)),l=(e,t)=>null!==e&&null!==t&&t>0?s(o(e/t*100)):null,i=(e,t,n)=>null===n?e:null===e||0===t?n:s((e*t+n)/(t+1)),u=(e,t)=>null===t?e:null===e?t:Math.max(e,t);e.s(["x",0,3,"B",0,function(e,t,n){if(!e||n.getTime()-new Date(e.at).getTime()>12e5)return null;let a=[],r=e.recent.filter(e=>n.getTime()-new Date(e.at).getTime()<=96e4),s=r.length?new Date(r[r.length-1].at).getTime()-new Date(r[0].at).getTime():0;r.length>=3&&s>=54e4&&r.every(e=>e.cpu>t.cpu)&&a.push(`CPU ${Math.round(Math.min(...r.map(e=>e.cpu)))}%+ for 15 min (limit ${t.cpu}%)`),null!==e.memPct&&e.memPct>t.ram&&a.push(`RAM ${Math.round(e.memPct)}% (limit ${t.ram}%)`),null!==e.diskPct&&e.diskPct>t.disk&&a.push(`disk ${Math.round(e.diskPct)}% (limit ${t.disk}%)`);let o=l(e.connUsed,e.connMax);return null!==o&&o>t.conn&&a.push(`connections ${e.connUsed} of ${e.connMax} (limit ${t.conn}%)`),a},"V",0,e=>{let t=e??80;return{cpu:t,ram:Math.min(99,t+10),disk:t,conn:t}},"c",0,function(e,t){let s=t&&e.some(e=>e.labels.supabase_identifier===t)?e.filter(e=>void 0===e.labels.supabase_identifier||e.labels.supabase_identifier===t):e,o=e=>s.filter(t=>t.name===e&&Number.isFinite(t.value)),l=o("node_cpu_seconds_total"),i=n(l),u=n(l.filter(e=>"idle"===e.labels.mode)),d=e=>o(e)[0]?.value??null,c=e=>{let t=o(e).filter(e=>!r.has(e.labels.fstype??""));return(t.find(e=>"/data"===e.labels.mountpoint)??t.find(e=>"/"===e.labels.mountpoint)??null)?.value??null};return{cpu:null!==i&&null!==u?{busy:i-u,total:i}:null,memTotal:d("node_memory_MemTotal_bytes"),memAvailable:d("node_memory_MemAvailable_bytes"),diskSize:c("node_filesystem_size_bytes"),diskAvail:c("node_filesystem_avail_bytes"),backends:n(o("pg_stat_database_num_backends")),maxConnections:a.map(d).find(e=>null!==e)??null}},"b",0,e=>new Date(36e5*Math.floor(e.getTime()/36e5)),"n",0,function(e,t){let n=e??{samples:0,cpuSamples:0,cpuAvg:null,cpuMax:null,memAvg:null,memMax:null,diskPct:null,connUsed:null,connMax:null},a=null===n.memAvg?0:n.samples;return{samples:n.samples+1,cpuSamples:n.cpuSamples+ +(null!==t.cpuPct),cpuAvg:i(n.cpuAvg,n.cpuSamples,t.cpuPct),cpuMax:u(n.cpuMax,t.cpuPct),memAvg:i(n.memAvg,a,t.memPct),memMax:u(n.memMax,t.memPct),diskPct:t.diskPct??n.diskPct,connUsed:u(n.connUsed,t.connUsed),connMax:t.connMax??n.connMax}},"E",0,function(e,t,n){var a;let r=n.toISOString(),i=(a=e?.prev,{cpuPct:function(e,t){if(!e||!t)return null;let n=new Date(t.at).getTime()-new Date(e.at).getTime();if(!(n>0)||n>18e5)return null;let a=t.total-e.total,r=t.busy-e.busy;return a<=0||r<0?null:s(o(r/a*100))}(a,t.cpu?{at:r,...t.cpu}:null),memPct:null!==t.memTotal&&null!==t.memAvailable?l(t.memTotal-t.memAvailable,t.memTotal):null,diskPct:null!==t.diskSize&&null!==t.diskAvail?l(t.diskSize-t.diskAvail,t.diskSize):null,connUsed:null===t.backends?null:Math.round(t.backends),connMax:null===t.maxConnections?null:Math.round(t.maxConnections)}),u=(e?.recent??[]).filter(e=>n.getTime()-new Date(e.at).getTime()<=24e5);return null!==i.cpuPct&&u.push({at:r,cpu:i.cpuPct}),{...i,at:r,prev:t.cpu?{at:r,...t.cpu}:null,recent:u.slice(-8)}},"a",0,function(e){let n=[];for(let r of e.split("\n")){var a;let e=r.trim();if(!e||e.startsWith("#"))continue;let s=t.exec(e);if(!s)continue;let o=s[2]?function(e){let t={},n=1,a=e.length-1;for(;n<a;){for(;n<a&&(","===e[n]||" "===e[n]);)n++;if(n>=a)break;let r=e.indexOf("=",n);if(r<0)return null;let s=e.slice(n,r).trim();if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(s)||'"'!==e[r+1])return null;let o=r+2,l="";for(;o<a;o++){let t=e[o];if("\\"===t){let t=e[o+1];l+="n"===t?"\n":t,o++}else if('"'===t)break;else l+=t}if('"'!==e[o])return null;t[s]=l,n=o+1}return t}(s[2]):{};if(!o)continue;let l="NaN"===(a=s[3])?0/0:"+Inf"===a||"Inf"===a?1/0:"-Inf"===a?-1/0:Number(a);Number.isNaN(l)&&"NaN"!==s[3]||n.push({name:s[1],labels:o,value:l})}return n},"T",0,function(e,t){let n=e.getTime();return(null===t||!(n-t<27e4))&&(Math.floor(n/6e4)%5==0||null!==t&&n-t>=6e5)}])},516464,e=>{let t={cuHours:100,storageBytes:0x40000000,transferBytes:0x140000000,branches:10,scaleToZeroMin:5};function n(e){return e.disabled?{state:"err",label:"Suspended"}:"init"===e.state||e.pendingState&&e.pendingState!==e.state?{state:"build",label:"Starting"}:"active"===e.state?{state:"ok",label:"Active"}:"idle"===e.state?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}e.s(["a",0,t,"p",0,function(e){if((e.computeSeconds??0)>=3600*t.cuHours)return{state:"err",label:"CU-hours used up"};if(!e.endpoints.length)return{state:"unknown",label:"No compute"};let a=e.endpoints.map(n);return a.some(e=>"err"===e.state)?{state:"err",label:"Compute suspended"}:a.some(e=>"ok"===e.state)?{state:"ok",label:"Active"}:a.some(e=>"build"===e.state)?{state:"build",label:"Starting"}:a.every(e=>"idle"===e.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}])},788264,e=>{var t=e.i(492973),n=e.i(260417),a=e.i(75064),r=e.i(246517),s=e.i(909592);let o=t.z.string().nullable().optional(),l=n.z.number().nullable().optional(),i=t.z.string().nullable().optional(),u=a.z.object({status:t.z.string().optional(),region:i,pgVersion:i,orgSlug:i,freeOrg:r.z.boolean().nullable().optional(),pausedBeforeSeen:r.z.boolean().optional(),lastGoodState:t.z.string().optional(),lastTrafficAt:o,trafficAt:o,trafficError:i,health:s.z.array(a.z.object({name:t.z.string(),status:t.z.string()})).nullable().optional(),healthAt:o,healthError:i,sizeBytes:l,sizeAt:o,sizeError:i}),d=a.z.object({id:t.z.string(),branchId:t.z.string(),state:t.z.string(),pendingState:t.z.string().nullable(),disabled:r.z.boolean(),minCu:n.z.number(),maxCu:n.z.number(),lastActive:t.z.string().nullable()}),c=a.z.object({id:t.z.string(),name:t.z.string(),isDefault:r.z.boolean(),logicalSize:n.z.number().nullable()}),m=a.z.object({region:i,pgVersion:n.z.number().nullable().optional(),orgId:i,computeSeconds:l,transferBytes:l,periodStart:o,periodEnd:o,activeSeconds:l,endpoints:s.z.array(d).optional(),branches:s.z.array(c).optional(),lastGoodState:t.z.string().optional()}),p=a.z.object({displayName:i,latencyMs:l,pingError:i,pingReason:i,pingKind:i,reads:l,writes:l,deletes:l,opsAt:o,opsError:i,authUsers:l,authAt:o,authError:i,lastGoodState:t.z.string().optional()}),f=a.z.object({org:i,group:i,primaryRegion:i,plan:i,blockReads:r.z.boolean().optional(),blockWrites:r.z.boolean().optional(),rowsRead:l,rowsWritten:l,storageBytes:l,orgRowsRead:l,orgRowsWritten:l,orgStorageBytes:l,orgDatabases:l,usageAt:o,usageError:i,lastGoodState:t.z.string().optional()}),g=a.z.object({region:i,status:i,type:i,dailyCommands:l,monthlyRequests:l,storageBytes:l,monthlyBandwidthBytes:l,statsAt:o,statsError:i,lastGoodState:t.z.string().optional()}),h=a.z.object({accountId:i,createdAt:o,sizeBytes:l,numTables:l,readReplication:i,detailsAt:o,detailsError:i,rowsRead:l,rowsWritten:l,readQueries:l,writeQueries:l,accountRowsRead:l,accountRowsWritten:l,accountSizeBytes:l,accountDatabases:l,usageDay:i,usageAt:o,usageError:i,lastGoodState:t.z.string().optional()});e.s(["x",0,h,"w",0,p,"s",0,m,"k",0,function(e,t){if(!t||"object"!=typeof t)return{};let n={};for(let[a,r]of Object.entries(e.shape)){let e=t[a];if(void 0===e)continue;let s=r.safeParse(e);s.success&&(n[a]=s.data)}return n},"B",0,u,"N",0,f,"e",0,g])},88316,e=>{let t={ACTIVE_HEALTHY:["ok","Active healthy"],ACTIVE_UNHEALTHY:["warn","Active unhealthy"],INACTIVE:["paused","Paused"],RESTORING:["build","Restoring"],COMING_UP:["build","Starting"],PAUSING:["build","Pausing"],GOING_DOWN:["build","Pausing"],RESTARTING:["build","Restarting"],UPGRADING:["build","Upgrading"],RESIZING:["build","Resizing"],RESTORE_FAILED:["err","Restore failed"],PAUSE_FAILED:["err","Pause failed"],INIT_FAILED:["err","Setup failed"],REMOVED:["off","Removed"]},n=e=>"INACTIVE"!==e&&"REMOVED"!==e;e.s(["R",0,524288e3,"e",0,7,"_",0,function(e){let t=e.filter(e=>!1!==e.freeOrg&&n(e.status));return{used:t.length,total:2,left:Math.max(0,2-t.length),planUnknown:e.some(e=>null===e.freeOrg)}},"H",0,function(e){return e.filter(e=>e.total>0).reduce((e,t)=>!e||t.at>e?t.at:e,null)},"z",0,function(e){return!("ACTIVE_HEALTHY"!==e.status||!e.lastTrafficAt||e.now.getTime()-e.lastTrafficAt.getTime()>864e5)&&(!e.sizeAt||e.now.getTime()-e.sizeAt.getTime()>=828e5)},"P",0,function(e){let[n,a]=t[e]??["unknown","Unknown"];return{state:n,label:a}},"Z",0,n])},164617,e=>{var t=e.i(728335);e.s(["G",0,20,"H",0,function(e){return null!==e.lastStatus&&e.lastError&&!/^HTTP \d{3}( · DEPLOYMENT_NOT_FOUND)?$/.test(e.lastError)?e.lastError:null},"X",0,function(e){return e.ok?`Answered ${e.statusCode} in ${e.latencyMs} ms.`:`Failed: ${e.error??"no answer"}.`},"i",0,function(e){return!e.paused&&!e.ownerPaused},"T",0,function(e,n){let a=`Checked ${(0,t.ago)(e.lastCheckedAt,n)}`;return e.lastError?`${a}: failed (${e.lastError}).`:e.lastStatus!==e.expectedStatus?`${a}: failed (${null===e.lastStatus?"no answer":`HTTP ${e.lastStatus}`}).`:null===e.lastLatencyMs?`${a}: ${e.lastStatus}.`:`${a}: ${e.lastStatus} in ${e.lastLatencyMs} ms.`},"S",0,function(e){if(e<=0)return null;let t=1===e;return`${e} app${t?"":"s"} ${t?"is":"are"} over the 20-monitor limit, so ${t?"its monitor stays":"their monitors stay"} paused. Pause or delete one, then resume ${t?"it":"them"} on Uptime.`},"V",0,function(e,t){return e.url!==t.url||e.expectedStatus!==t.expectedStatus||e.bodyContains!==t.bodyContains||e.jsonPath!==t.jsonPath||e.jsonEquals!==t.jsonEquals},"Y",0,function(e){return e.filter(e=>e.paused&&!e.ownerPaused).map(e=>e.id)}])},292178,e=>{function t(e){if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if("string"!=typeof e||!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function n(e,t){return e?Math.floor((e.getTime()-t.getTime())/864e5):null}let a=e=>e.toLowerCase().replace(/\.$/,""),r=e=>a(e).endsWith(".vercel.app"),s=["76.76.21.21"],o=/(^|\.)vercel-dns(-\d+)?\.com$/;function l(e,t=[]){return"CNAME"===e.type?o.test(a(e.content)):"A"===e.type&&[...s,...t].includes(e.content.trim())}let i=e=>e.includes("err")?"err":e.includes("warn")?"warn":"ok",u=e=>`${e} day${1===e?"":"s"}`;function d(e,t,a,r){let s=n(t,r);return null===s?null:s<0?{state:"err",reason:`${e} expired ${u(-s)} ago`}:s<a?{state:"warn",reason:`${e} expires in ${u(s)}`}:null}e.s(["H",0,10,"g",0,n,"k",0,function(e,n){let a=[];if(e.vercel?.misconfigured&&a.push({state:"warn",reason:"Vercel says the DNS is misconfigured"}),r(e.host))return{state:i(a.map(e=>e.state)),reasons:a.map(e=>e.reason)};if(!e.tls&&!e.vercel&&!e.records.length)return{state:"unknown",reasons:[]};if(e.tls?.error)a.push({state:"warn",reason:`TLS check failed: ${e.tls.error}`});else if(e.tls){let r=d("Certificate",t(e.tls.notAfter),14,n);r?a.push(r):!1===e.tls.authorized&&a.push({state:"err",reason:"Certificate isn't trusted"})}(function(e,t=[]){return e.filter(e=>e.proxied&&l(e,t))})(e.records,e.vercel?.recommendedIps??[]).length&&a.push({state:"warn",reason:"Proxied by Cloudflare in front of Vercel"});let s=d("Domain",t(e.zoneRdap?.expiresAt),30,n);return s&&a.push(s),{state:i(a.map(e=>e.state)),reasons:a.map(e=>e.reason)}},"Y",0,function(e,n){let a=t(e);return!a||n.getTime()-a.getTime()>=72e6},"e",0,r,"Z",0,t,"n",0,function(e){let{prev:t,next:n}=e;if(null===t||"unknown"===t||t===n||"unknown"===n)return null;let a={resourceId:e.resourceId,type:"system",at:e.at};return"ok"===n?{...a,reason:"NetworkRecovered",kind:"ok",message:`${e.name} is fine again`,detail:null}:{...a,reason:"NetworkAttention",kind:n,message:`${e.name} needs attention`,detail:e.reasons.join(" · ")||null}},"l",0,l,"Q",0,function(e,t){let n=a(e);return t.filter(e=>a(e.name)===n)},"J",0,function(e,t){let n=a(e);return t.map(a).filter(e=>n===e||n.endsWith(`.${e}`)).sort((e,t)=>t.length-e.length)[0]??null},"G",0,function(e,n){if(!e.status)return{state:"unknown",reasons:[]};let a=[];"moved"===e.status?a.push({state:"err",reason:"The zone moved away from Cloudflare"}):"active"!==e.status&&a.push({state:"warn",reason:`Zone is ${e.status}`}),e.paused&&a.push({state:"warn",reason:"Cloudflare is paused for this zone"});let r=d("Domain",t(e.rdap?.expiresAt),30,n);return r&&a.push(r),{state:i(a.map(e=>e.state)),reasons:a.map(e=>e.reason)}}])},412948,e=>{var t=e.i(728335);function n(e,t){let n=Math.max(0,t.getTime()-e.getTime());return n<6e4?"now":n<36e5?`${Math.floor(n/6e4)} min ago`:n<864e5?`${Math.floor(n/36e5)} h ago`:`${Math.floor(n/864e5)} d ago`}e.s(["m",0,function(e,t){for(let e of t)try{let t=new URL(e);if("https:"!==t.protocol&&"http:"!==t.protocol||!t.host)continue;return t.host}catch{}return`${e}.vercel.app`},"F",0,function(e){try{let t=new URL(e);return`${t.host}${t.pathname}`}catch{return e}},"$",0,function(e,a){if(!e)return"—";if("building"===e.state)return`building ${function(e){let t=Math.max(0,Math.round(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?`${n}m ${String(t%60).padStart(2,"0")}s`:`${Math.floor(n/60)}h ${String(n%60).padStart(2,"0")}m`}(a.getTime()-(e.buildingAt??e.createdAt).getTime())}`;let r=e.readyAt??e.createdAt;return"error"===e.state?`failed ${(0,t.sameDay)(r,a)?(0,t.clock)(r):n(r,a)}`:"canceled"===e.state?`canceled ${n(r,a)}`:n(r,a)},"C",0,e=>null===e?"—":`${(Math.floor(100*e+1e-6)/100).toFixed(2)}%`,"_",0,e=>e?e.slice(0,7):"—"])}]})();
2
2
 
3
- //# sourceMappingURL=_1-pw7jw52sbti._.js.map
3
+ //# sourceMappingURL=_06gv0srpbf_lk._.js.map
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[732084,e=>{var t=e.i(954757);e.s(["z",0,t])},109068,e=>{var t=e.i(686921);e.s(["A",0,function(e){return null===e?"Can't read the stored credential. The encryption key changed. Replace the credential.":null},"E",0,function(e){return e.ok?{status:"ok",lastError:null}:"auth"===e.kind?{status:"error",lastError:e.error}:null},"z",0,function(e,a,r){let s=t.m[e];if(!s.multiAccount&&r.count>=1)return{ok:!1,error:`${s.name} supports one account. Replace its credential instead.`};let n=a.trim();return n?n.length>40?{ok:!1,error:"Keep the name under 40 characters."}:r.labels.includes(n)?{ok:!1,error:`${s.name} already has an account called ${n}.`}:{ok:!0,label:n}:{ok:!1,error:"Enter a name for this account."}}])},30184,288666,449734,15827,944808,112735,354448,584897,45468,743303,418864,e=>{var t=e.i(93321),a=e.i(530385),r=e.i(548734),s=e.i(837137),n=e.i(351674),o=e.i(109068),i=e.i(358179),u=e.i(601219),l=e.i(669943),d=e.i(492665),c=e.i(188546),p=e.i(182622),m=e.i(233711),f=e.i(714779),h=e.i(44925),g=e.i(572134),k=e.i(558418),w=e.i(26972),y=e.i(689963),b=e.i(427221),z=e.i(827857),_=e.i(811365),I=e.i(732084),v=e.i(149310);let A=w.z.object({error:w.z.object({status:b.z.string().optional(),message:b.z.string().optional(),details:y.z.array(I.z.looseObject({reason:b.z.string().optional()})).optional()})}),j=w.z.object({message:b.z.string()}),$=w.z.object({missing_permissions:y.z.array(b.z.string()).min(1)}),S=w.z.object({error:v.z.enum(["invalid_grant","invalid_client","unauthorized_client"])});async function T(e,t,a,r={}){let s,n,o=r.timeoutMs??5e3,i={Accept:"application/json"};a.token?i.Authorization=`Bearer ${a.token}`:a.basic&&(i.Authorization=`Basic ${Buffer.from(`${a.basic.user}:${a.basic.pass}`).toString("base64")}`),a.form?s=a.form:void 0!==a.body&&(i["Content-Type"]="application/json",s=JSON.stringify(a.body));try{n=await (r.fetch??fetch)(t,{method:a.method??"GET",headers:i,body:s,signal:AbortSignal.timeout(o),cache:"no-store"})}catch(t){return{ok:!1,kind:"transient",error:t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.name)?`${e} didn't answer within ${Math.round(o/1e3)} seconds.`:`Couldn't reach ${e}.`}}let u=await n.json().catch(()=>null);if(n.ok)return{ok:!0,data:u};let l=A.safeParse(u),d=l.success?l.data.error.details?.find(e=>e.reason)?.reason??l.data.error.status:void 0,c=l.success?void 0:j.safeParse(u),p=l.success?l.data.error.message?.slice(0,300):c?.success?c.data.message.slice(0,600):void 0,m={status:n.status,...d?{reason:d}:{},...p?{message:p}:{}};if(403===n.status){let t=$.safeParse(u);if(t.success){let e=t.data.missing_permissions;return{ok:!1,kind:"scope",...m,missing:e,error:`Missing permission${e.length>1?"s":""}: ${e.join(", ")}.`}}if(l.success)return{ok:!1,kind:"scope",...m,error:`${e} refused this request (${d??"PERMISSION_DENIED"}).`}}if(401===n.status||403===n.status||400===n.status&&S.safeParse(u).success)return{ok:!1,kind:"auth",...m,error:`${e} rejected this credential (${n.status}).`};if(404===n.status)return{ok:!1,kind:"missing",...m,error:`${e} doesn't know this resource (404).`};if(429===n.status){let t=Number(n.headers.get("Retry-After"));return{ok:!1,kind:"transient",...m,retryAfterS:Number.isFinite(t)&&t>0?t:60,error:"RESOURCE_EXHAUSTED"===d?`${e} says a quota is used up.`:`${e} says there were too many requests.`}}return{ok:!1,kind:"transient",...m,error:`${e} returned an error (${n.status}).`}}let x=(e,t)=>({ok:!1,kind:"format",error:`${e} answered ${t} in a format the console doesn't recognise.`});async function P(e,t={}){let a=await T("Firebase","https://firebase.googleapis.com/v1beta1/projects?pageSize=100",{token:e},t);if(!a.ok)return a;let r=w.z.object({results:y.z.array(w.z.object({projectId:b.z.string(),displayName:b.z.string().optional(),state:b.z.string().optional()})).optional()}).safeParse(a.data);return r.success?{ok:!0,data:(r.data.results??[]).filter(e=>"DELETED"!==e.state).map(e=>({projectId:e.projectId,displayName:e.displayName??e.projectId}))}:x("Firebase","the project list")}async function C(e,t,a={}){return N(e,await P(t,a))}function N(e,t){if(!t.ok&&"scope"!==t.kind)return t;let a=t.ok?t.data:[];return{ok:!0,data:a.some(t=>t.projectId===e.project_id)?a:[{projectId:e.project_id,displayName:e.project_id},...a]}}async function D(e,t,a={}){let r=performance.now(),s=await T("Firestore",`https://firestore.googleapis.com/v1/projects/${encodeURIComponent(t)}/databases/(default)/documents/ops/ping`,{token:e},a),n=Math.round(performance.now()-r);if(s.ok)return{ok:!0,data:{reachable:!0,noDatabase:!1,latencyMs:n}};if("missing"===s.kind){let e=/database .*does not exist/i.test(s.message??"");return{ok:!0,data:{reachable:!e,noDatabase:e,latencyMs:n}}}return s}async function R(e,t,a={}){let r=await T("Firebase Auth",`https://identitytoolkit.googleapis.com/v1/projects/${encodeURIComponent(t)}/accounts:query`,{method:"POST",token:e,body:{returnUserInfo:!1}},a);if(!r.ok)return r;let s=w.z.object({recordsCount:z.z.union([b.z.string(),_.z.number()]).optional()}).safeParse(r.data),n=s.success?Number(s.data.recordsCount??0):0/0;return Number.isFinite(n)?{ok:!0,data:n}:x("Firebase Auth","the user count")}e.s(["R",0,T,"t",0,x],288666);let E=w.z.object({timeSeries:y.z.array(w.z.object({points:y.z.array(w.z.object({value:w.z.object({int64Value:z.z.union([b.z.string(),_.z.number()]).optional()})})).optional()})).optional()});async function M(e,t,a,r,s,n){let o=new URLSearchParams({filter:`metric.type="firestore.googleapis.com/document/${a}_ops_count"`,"interval.startTime":r.toISOString(),"interval.endTime":s.toISOString(),"aggregation.alignmentPeriod":`${Math.max(60,Math.ceil((s.getTime()-r.getTime())/1e3))}s`,"aggregation.perSeriesAligner":"ALIGN_SUM","aggregation.crossSeriesReducer":"REDUCE_SUM"}),i=await T("Cloud Monitoring",`https://monitoring.googleapis.com/v3/projects/${encodeURIComponent(t)}/timeSeries?${o}`,{token:e},n);if(!i.ok)return i;let u=E.safeParse(i.data);return u.success?{ok:!0,data:(u.data.timeSeries??[]).flatMap(e=>e.points??[]).reduce((e,t)=>e+Number(t.value.int64Value??0),0)}:x("Cloud Monitoring","the Firestore usage")}async function U(e,t,a,r,s={}){let[n,o,i]=await Promise.all(["read","write","delete"].map(n=>M(e,t,n,a,r,s)));for(let e of[n,o,i])if(!e.ok)return e;return{ok:!0,data:{reads:n.data,writes:o.data,deletes:i.data}}}e.s(["q",0,R,"z",0,C,"W",0,U,"G",0,D,"E",0,P,"b",0,N],449734);var O=e.i(666680),q=e.i(899370),B=e.i(61675);let F=w.z.object({type:q.z.literal("service_account"),project_id:b.z.string().min(1),client_email:B.z.email(),private_key:b.z.string().includes("PRIVATE KEY"),private_key_id:b.z.string().optional()});function J(e){try{let t=F.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}let L="https://oauth2.googleapis.com/token",V=["https://www.googleapis.com/auth/datastore","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/monitoring.read","https://www.googleapis.com/auth/firebase.readonly"],G=e=>Buffer.from(e).toString("base64url");async function H(e,t={}){let a;try{var r;let s,n,o;r=Math.floor((t.now??new Date).getTime()/1e3),s=G(JSON.stringify({alg:"RS256",typ:"JWT",...e.private_key_id?{kid:e.private_key_id}:{}})),n=G(JSON.stringify({iss:e.client_email,scope:V.join(" "),aud:L,iat:r,exp:r+3600})),o=(0,O.createSign)("RSA-SHA256").update(`${s}.${n}`).sign(e.private_key),a=`${s}.${n}.${G(o)}`}catch{return{ok:!1,kind:"auth",error:"The private key in this service account can't be used. Paste the whole JSON file again."}}let s=new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:a}),n=await T("Google",L,{method:"POST",form:s},t);if(!n.ok)return"auth"===n.kind?{...n,error:"Google rejected this service account (its key was deleted or disabled). Create a new key."}:n;let o=w.z.object({access_token:b.z.string().min(1)}).safeParse(n.data);return o.success?{ok:!0,data:o.data.access_token}:x("Google","the access token")}e.s(["X",0,H,"p",0,J,"m",0,F],15827);var Z=e.i(83931);let W="https://console.neon.tech/api/v2",Y="Neon";async function K(e,t={}){let a=await T(Y,`${W}/users/me/organizations`,{token:e},t);if(!a.ok)return a;let r=w.z.object({organizations:y.z.array(w.z.object({id:b.z.string(),name:b.z.string()}))}).safeParse(a.data);return r.success?{ok:!0,data:r.data.organizations}:x(Y,"the organization list")}let Q=w.z.object({id:b.z.string(),name:b.z.string(),region_id:b.z.string(),pg_version:_.z.number().nullish(),created_at:b.z.string(),org_id:b.z.string().nullish()});async function X(e,t,a={}){let r,s=[];for(let n=0;n<5;n++){let n=new URLSearchParams({limit:String(100)});t&&n.set("org_id",t),r&&n.set("cursor",r);let o=await T(Y,`${W}/projects?${n}`,{token:e},a);if(!o.ok)return o;let i=w.z.object({projects:y.z.array(Q),pagination:w.z.object({cursor:b.z.string().nullish()}).nullish()}).safeParse(o.data);if(!i.success)return x(Y,"the project list");for(let e of i.data.projects)s.push({id:e.id,name:e.name,region:e.region_id,pgVersion:e.pg_version??null,orgId:e.org_id??t,createdAt:e.created_at});if(r=i.data.pagination?.cursor??void 0,i.data.projects.length<100||!r)break}return{ok:!0,data:s}}async function ee(e,t={}){let a=await K(e,t);if(!a.ok&&"missing"!==a.kind&&"scope"!==a.kind)return a;let r=a.ok&&a.data.length?a.data.map(e=>e.id):[null],s=[];for(let a of r){let r=await X(e,a,t);if(!r.ok)return r;s.push(...r.data)}return{ok:!0,data:s}}let et=w.z.object({project:w.z.object({region_id:b.z.string(),pg_version:_.z.number().nullish(),compute_time_seconds:_.z.number().nullish(),data_transfer_bytes:_.z.number().nullish(),active_time_seconds:_.z.number().nullish(),consumption_period_start:b.z.string().nullish(),consumption_period_end:b.z.string().nullish(),compute_last_active_at:b.z.string().nullish()})});async function ea(e,t,a={}){let r=await T(Y,`${W}/projects/${encodeURIComponent(t)}`,{token:e},a);if(!r.ok)return r;let s=et.safeParse(r.data);if(!s.success)return x(Y,"the project");let n=s.data.project;return{ok:!0,data:{computeSeconds:n.compute_time_seconds??0,transferBytes:n.data_transfer_bytes??0,activeSeconds:n.active_time_seconds??null,periodStart:n.consumption_period_start??null,periodEnd:n.consumption_period_end??null,region:n.region_id,pgVersion:n.pg_version??null,lastActive:n.compute_last_active_at??null}}}let er=w.z.object({id:b.z.string(),branch_id:b.z.string(),current_state:b.z.string(),pending_state:b.z.string().nullish(),disabled:Z.z.boolean().nullish(),autoscaling_limit_min_cu:_.z.number(),autoscaling_limit_max_cu:_.z.number(),last_active:b.z.string().nullish()}),es=e=>({id:e.id,branchId:e.branch_id,state:e.current_state,pendingState:e.pending_state??null,disabled:e.disabled??!1,minCu:e.autoscaling_limit_min_cu,maxCu:e.autoscaling_limit_max_cu,lastActive:e.last_active??null});async function en(e,t,a={}){let r=await T(Y,`${W}/projects/${encodeURIComponent(t)}/endpoints`,{token:e},a);if(!r.ok)return r;let s=w.z.object({endpoints:y.z.array(er)}).safeParse(r.data);return s.success?{ok:!0,data:s.data.endpoints.map(es)}:x(Y,"the compute list")}async function eo(e,t,a,r={}){let s=await T(Y,`${W}/projects/${encodeURIComponent(t)}/endpoints/${encodeURIComponent(a)}`,{token:e},r);if(!s.ok)return s;let n=w.z.object({endpoint:er}).safeParse(s.data);return n.success?{ok:!0,data:es(n.data.endpoint)}:x(Y,"the compute")}async function ei(e,t,a,r={}){let s=await T(Y,`${W}/projects/${encodeURIComponent(t)}/endpoints/${encodeURIComponent(a)}/start`,{method:"POST",token:e},r);return s.ok?{ok:!0,data:null}:423===s.status?{ok:!1,kind:"busy",status:423,error:"Neon is busy with another operation. Try again in a minute."}:403===s.status?{ok:!1,kind:"scope",status:403,error:`${Y} refused this request (403).`}:s}let eu=w.z.object({id:b.z.string(),name:b.z.string(),default:Z.z.boolean().nullish(),primary:Z.z.boolean().nullish(),logical_size:_.z.number().nullish()});async function el(e,t,a={}){let r=await T(Y,`${W}/projects/${encodeURIComponent(t)}/branches`,{token:e},a);if(!r.ok)return r;let s=w.z.object({branches:y.z.array(eu)}).safeParse(r.data);return s.success?{ok:!0,data:s.data.branches.map(e=>({id:e.id,name:e.name,isDefault:e.default??e.primary??!1,logicalSize:e.logical_size??null}))}:x(Y,"the branch list")}e.s(["m",0,ee,"c",0,eo,"Z",0,ea,"e",0,el,"k",0,en,"d",0,ei],944808);var ed=e.i(191179);let ec="https://api.supabase.com",ep="Supabase",em=["auth","rest","realtime","storage","db"],ef=w.z.object({ref:b.z.string(),name:b.z.string(),region:b.z.string(),created_at:b.z.string(),status:b.z.string(),organization_slug:b.z.string().optional(),organization_id:b.z.string().optional(),database:w.z.object({version:b.z.string().optional()}).nullish()}),eh=e=>({ref:e.ref,name:e.name,orgSlug:e.organization_slug??e.organization_id??"",region:e.region,createdAt:e.created_at,status:e.status,pgVersion:e.database?.version??null});async function eg(e,t={}){let a=await T(ep,`${ec}/v1/projects`,{token:e},t);if(!a.ok)return a;let r=y.z.array(ef).safeParse(a.data);return r.success?{ok:!0,data:r.data.map(eh)}:x(ep,"the project list")}async function ek(e,t,a={}){let r=await T(ep,`${ec}/v1/projects/${encodeURIComponent(t)}`,{token:e},a);if(!r.ok)return r;let s=ef.safeParse(r.data);return s.success?{ok:!0,data:eh(s.data)}:x(ep,"the project")}async function ew(e,t,a,r){let s=await T(ep,`${ec}/v1/projects/${encodeURIComponent(e)}/${t}`,{method:"POST",token:a},r);return s.ok?{ok:!0,data:null}:403===s.status&&"scope"!==s.kind?{...s,kind:"scope",error:"Missing permission: project_admin_write."}:s}async function ey(e,t,a={}){let r=await T(ep,`${ec}/v1/projects/${encodeURIComponent(t)}/database/query/read-only`,{method:"POST",token:e,body:{query:"select 1"}},a);return r.ok?{ok:!0,data:null}:r}async function eb(e,t,a={}){let r=await T(ep,`${ec}/v1/organizations/${encodeURIComponent(t)}`,{token:e},a);if(!r.ok)return r;let s=w.z.object({plan:b.z.string().optional()}).safeParse(r.data);return s.success?{ok:!0,data:s.data.plan??null}:x(ep,"the organization")}async function ez(e,t,a={}){let r=new URLSearchParams(em.map(e=>["services",e])),s=await T(ep,`${ec}/v1/projects/${encodeURIComponent(t)}/health?${r}`,{token:e},a);if(!s.ok)return s;let n=y.z.array(w.z.object({name:b.z.string(),status:b.z.string(),error:b.z.string().optional()})).safeParse(s.data);return n.success?{ok:!0,data:n.data.map(e=>({name:e.name,status:e.status,error:e.error??null}))}:x(ep,"service health")}let e_=w.z.object({result:y.z.array(w.z.object({timestamp:b.z.string(),total_auth_requests:_.z.number(),total_realtime_requests:_.z.number(),total_rest_requests:_.z.number(),total_storage_requests:_.z.number()})).optional(),error:ed.z.unknown().optional()});async function eI(e,t,a={}){let r=await T(ep,`${ec}/v1/projects/${encodeURIComponent(t)}/analytics/endpoints/usage.api-counts?interval=7day`,{token:e},a);if(!r.ok)return r;let s=e_.safeParse(r.data);return s.success?s.data.error?{ok:!1,kind:"transient",error:"Supabase couldn't read the API request counts this time."}:{ok:!0,data:(s.data.result??[]).map(e=>({at:new Date(e.timestamp),total:e.total_auth_requests+e.total_realtime_requests+e.total_rest_requests+e.total_storage_requests}))}:x(ep,"the API request counts")}async function ev(e,t,a={}){let r={used:["projects_read"],missing:[],notes:[]},s=t.find(e=>e.status.startsWith("ACTIVE_")),n=(s??t[0])?.orgSlug,o=[];s?(o.push(["project_admin_read",ez(e,s.ref,a)]),o.push(["analytics_usage_read",eI(e,s.ref,a)])):r.notes.push("Health and API traffic are checked once a project is active"),n&&o.push(["organization_admin_read",eb(e,n,a)]);let i=await Promise.all(o.map(([,e])=>e));return o.forEach(([e],t)=>{let a=i[t];a.ok?r.used.push(e):"scope"===a.kind||"auth"===a.kind?r.missing.push(...a.missing??[e]):r.notes.push(`${e} couldn't be checked just now (${a.error})`)}),r.notes.push("Database read is checked at the first daily size read"),r}e.s(["W",0,{project_admin_read:"Service health stays empty",analytics_usage_read:"Last API traffic and Auto-pause risk stay empty",organization_admin_read:"Free slots assume every organization is on the free plan",database_read:"Database size stays empty"},"Z",0,eI,"e",0,ek,"i",0,ey,"X",0,eg,"K",0,eb,"c",0,(e,t,a={})=>ew(t,"pause",e,a),"G",0,(e,t,a={})=>ew(t,"restore",e,a),"F",0,ez,"T",0,ev],112735);let eA="https://api.turso.tech/v1",ej="Turso",e$=w.z.object({slug:b.z.string(),name:b.z.string().default(""),plan_id:b.z.string().nullish(),blocked_reads:Z.z.boolean().nullish(),blocked_writes:Z.z.boolean().nullish()});async function eS(e,t={}){let a=await T(ej,`${eA}/organizations`,{token:e},t);if(!a.ok)return a;let r=y.z.array(e$).safeParse(a.data);return r.success?{ok:!0,data:r.data.map(e=>({slug:e.slug,name:e.name||e.slug,plan:e.plan_id??null,blockedReads:e.blocked_reads??!1,blockedWrites:e.blocked_writes??!1}))}:x(ej,"the organization list")}let eT=w.z.object({Name:b.z.string(),DbId:b.z.string(),group:b.z.string().nullish(),primaryRegion:b.z.string().nullish(),block_reads:Z.z.boolean().nullish(),block_writes:Z.z.boolean().nullish()});async function ex(e,t,a={}){let r=await T(ej,`${eA}/organizations/${encodeURIComponent(t)}/databases`,{token:e},a);if(!r.ok)return r;let s=w.z.object({databases:y.z.array(eT)}).safeParse(r.data);return s.success?{ok:!0,data:s.data.databases.map(e=>({id:e.DbId,name:e.Name,org:t,group:e.group??null,primaryRegion:e.primaryRegion??null,blockReads:e.block_reads??!1,blockWrites:e.block_writes??!1}))}:x(ej,"the database list")}async function eP(e,t={}){let a=await eS(e,t);if(!a.ok)return a;let r=[];for(let s of a.data.slice(0,10)){let a=await ex(e,s.slug,t);if(!a.ok)return a;r.push(...a.data)}return{ok:!0,data:r}}let eC=w.z.object({rows_read:_.z.number().default(0),rows_written:_.z.number().default(0),storage_bytes:_.z.number().default(0)}),eN=w.z.object({organization:w.z.object({usage:eC.extend({databases:_.z.number().nullish()})}),databases:y.z.array(w.z.object({uuid:b.z.string(),total:eC.nullish()})).nullish()}),eD=e=>({rowsRead:e.rows_read,rowsWritten:e.rows_written,storageBytes:e.storage_bytes});async function eR(e,t,a={}){let r=await T(ej,`${eA}/organizations/${encodeURIComponent(t)}/usage`,{token:e},a);return r.ok?function(e){let t=eN.safeParse(e);if(!t.success)return x(ej,"the usage");let a=new Map;for(let e of t.data.databases??[])e.total&&a.set(e.uuid,eD(e.total));return{ok:!0,data:{org:{...eD(t.data.organization.usage),databases:t.data.organization.usage.databases??null},byDb:a}}}(r.data):r}e.s(["t",0,eP,"X",0,ex,"u",0,eS,"d",0,eR],354448);let eE="https://api.upstash.com/v2",eM="Upstash";function eU(e){let t=e.trim(),a=t.search(/[:\s]/);if(a<=0)return null;let r=t.slice(0,a).trim(),s=t.slice(a+1).trim();return!/^[^@\s:]+@[^@\s:]+\.[^@\s:]+$/.test(r)||s.length<20||/\s/.test(s)?null:{email:r,apiKey:s}}let eO=e=>({basic:{user:e.email,pass:e.apiKey}}),eq=w.z.object({database_id:b.z.string(),database_name:b.z.string(),region:b.z.string().nullish(),primary_region:b.z.string().nullish(),state:b.z.string().nullish(),type:b.z.string().nullish()});async function eB(e,t={}){let a=await T(eM,`${eE}/redis/databases`,eO(e),t);if(!a.ok)return a;let r=y.z.array(eq).safeParse(a.data??[]);return r.success?{ok:!0,data:r.data.map(e=>({id:e.database_id,name:e.database_name,region:"global"===e.region&&e.primary_region?`global \xb7 ${e.primary_region}`:e.region??e.primary_region??null,state:e.state??null,type:e.type??null}))}:x(eM,"the database list")}let eF=_.z.number().nullish(),eJ=w.z.object({daily_net_commands:eF,total_monthly_requests:eF,current_storage:eF,total_monthly_bandwidth:eF});async function eL(e,t,a={}){var r;let s,n=await T(eM,`${eE}/redis/stats/${encodeURIComponent(t)}`,eO(e),a);return n.ok?(r=n.data,(s=eJ.safeParse(r)).success?{ok:!0,data:{dailyCommands:s.data.daily_net_commands??null,monthlyRequests:s.data.total_monthly_requests??null,storageBytes:s.data.current_storage??null,monthlyBandwidthBytes:s.data.total_monthly_bandwidth??null}}:x(eM,"the database stats")):n}e.s(["M",0,eB,"L",0,eU,"Z",0,eL],584897);var eV=e.i(436357),eG=e.i(751263),eH=e.i(895176),eZ=e.i(201516),eW=e.i(672319);function eY(e,t,a){let r=new Map(e.map(e=>[e.externalId,e])),s=new Set(t.map(e=>e.externalId)),n=new Set(a.keepTeamIds??[]);return{update:t.filter(e=>r.has(e.externalId)).map(e=>({id:r.get(e.externalId).id,name:e.name,meta:e.meta})),insert:t.filter(e=>!r.has(e.externalId)).map(e=>({...e,monitored:a.watchNew})),gone:e.filter(e=>!s.has(e.externalId)&&!(null!==e.teamId&&n.has(e.teamId))).map(e=>e.id)}}function eK(e,t){return!e.monitored&&t.getTime()-e.firstSeenAt.getTime()<864e5}let eQ={vercel:"app",supabase:"supabase_project",neon:"neon_project",firebase:"firestore",cloudflare:"zone",turso:"turso_database",upstash:"upstash_redis"};Object.keys(eQ);let eX=e=>Object.hasOwn(eQ,e)?eQ[e]:null,e0=e=>"string"==typeof e&&e?e:null;function e1(e,t){return"app"===e?`Vercel project${e0(t.teamName)?` \xb7 ${t.teamName}`:""}`:"zone"===e?`Cloudflare zone \xb7 ${e0(t.status)??"unknown"}`:"supabase_project"===e?["Supabase project",e0(t.status)?(0,eW.P)(String(t.status)).label:null,e0(t.region)].filter(Boolean).join(" · "):"neon_project"===e?["Neon project",e0(t.region)].filter(Boolean).join(" · "):"turso_database"===e?["Turso database",e0(t.group)?`group ${t.group}`:null,e0(t.region)].filter(Boolean).join(" · "):"upstash_redis"===e?["Upstash Redis",e0(t.region)].filter(Boolean).join(" · "):"Firebase project"}let e4=e=>"app"===e?"app":"zone"===e?"dom":"firestore"===e?"fs":"db";async function e3(e){let[a]=await (0,r.f)().select().from(s.accounts).where((0,t.u)(s.accounts.id,e)).limit(1);if(!a)return null;let n=(0,i.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,d.f)().OPS_ENCRYPTION_KEY);return{account:a,token:n,problem:(0,o.A)(n)}}async function e6(e,a){let n=new Date;return(await (0,r.f)().select().from(s.resources).where((0,t.b)((0,t.u)(s.resources.accountId,e),(0,t.u)(s.resources.kind,a),(0,t.M)(s.resources.goneAt))).orderBy(s.resources.name).limit(500)).map(e=>({id:e.id,name:e.name,sub:e1(e.kind,e.meta),monitored:e.monitored,fresh:eK(e,n),badge:e4(e.kind)}))}async function e2(e,a){let n=await (0,r.f)().select().from(s.resources).where((0,t.b)((0,t.u)(s.resources.accountId,e),(0,t.u)(s.resources.kind,"app"))),o=n.filter(e=>e.monitored&&!e.goneAt),i=n.filter(e=>!e.monitored||e.goneAt);if(i.length&&await (0,r.f)().update(s.monitors).set({paused:!0,updatedAt:new Date}).where((0,t.y)(s.monitors.resourceId,i.map(e=>e.id))),!o.length)return 0;let u=await (0,r.f)().select({id:s.monitors.id,resourceId:s.monitors.resourceId,paused:s.monitors.paused,ownerPaused:s.monitors.ownerPaused,kind:s.monitors.kind}).from(s.monitors).where((0,t.y)(s.monitors.resourceId,o.map(e=>e.id))),l=(0,eZ.Z)(u.filter(e=>"heartbeat"===e.kind));l.length&&await (0,r.f)().update(s.monitors).set({paused:!1,updatedAt:new Date}).where((0,t.y)(s.monitors.id,l));let d=u.filter(e=>"heartbeat"!==e.kind),c=(0,eZ.Z)(d),p=new Set(u.map(e=>e.resourceId)),m=[];for(let e of o.filter(e=>!p.has(e.id))){let t=String(e.meta.teamId??""),r="string"==typeof e.meta.primaryDomain&&e.meta.primaryDomain?e.meta.primaryDomain:null,s=r?{ok:!0,data:r}:a?await (0,g.q)(a,t,e.externalId,e.name):null;m.push({appId:e.id,url:`https://${s?.ok?s.data:`${e.name}.vercel.app`}/`})}return c.length||m.length?(0,eH.e)(async e=>{let a=Math.max(0,eZ.G-await (0,eH.Q)(e)),r=new Set,n=c.slice(0,a),o=c.slice(n.length);a-=n.length;let i=new Date;if(n.length&&await e.update(s.monitors).set({paused:!1,updatedAt:i}).where((0,t.y)(s.monitors.id,n)),o.length)for(let a of(await e.update(s.monitors).set({paused:!1,ownerPaused:!0,updatedAt:i}).where((0,t.y)(s.monitors.id,o)),d.filter(e=>o.includes(e.id))))r.add(a.resourceId);for(let t of m){let n=a>0;n?a-=1:r.add(t.appId),await e.insert(s.monitors).values({resourceId:t.appId,url:t.url,ownerPaused:!n}).onConflictDoNothing()}return r.size}):0}async function e8(e,a,o,i){let u=Array.isArray(o.productionAliases)?o.productionAliases.filter(e=>"string"==typeof e):[],l=(0,eV.Q)(i,a,u,o);await (0,r.f)().update(s.resources).set({meta:n.B`${s.resources.meta} || ${JSON.stringify(l)}::jsonb`}).where((0,t.u)(s.resources.id,e))}async function e5(e,a){for(let n of(await (0,r.f)().select({id:s.resources.id,name:s.resources.name,externalId:s.resources.externalId,meta:s.resources.meta,monitored:s.resources.monitored,goneAt:s.resources.goneAt}).from(s.resources).where((0,t.b)((0,t.u)(s.resources.accountId,e),(0,t.u)(s.resources.kind,"app")))).filter(e=>e.monitored&&!e.goneAt)){let e=await (0,g.M)(a,String(n.meta.teamId??""),n.externalId);if(e.ok)await e8(n.id,n.name,n.meta,e.data);else if("auth"===e.kind||429===e.status)return}}async function e9(e,a,n,o){let i=eY((await (0,r.f)().select({id:s.resources.id,externalId:s.resources.externalId,monitored:s.resources.monitored}).from(s.resources).where((0,t.b)((0,t.u)(s.resources.accountId,e),(0,t.u)(s.resources.kind,"zone")))).map(e=>({...e,teamId:null})),n.map(e=>({externalId:e.id,name:e.name,meta:{status:e.status,accountId:e.accountId,accountName:e.accountName}})),{watchNew:a});await (0,r.f)().transaction(async a=>{for(let e of i.update)await a.update(s.resources).set({name:e.name,meta:e.meta,lastSeenAt:o,goneAt:null,updatedAt:o}).where((0,t.u)(s.resources.id,e.id));i.insert.length&&await a.insert(s.resources).values(i.insert.map(t=>({accountId:e,kind:"zone",externalId:t.externalId,name:t.name,meta:t.meta,monitored:t.monitored}))).onConflictDoNothing({target:[s.resources.accountId,s.resources.kind,s.resources.externalId]}),i.gone.length&&await a.update(s.resources).set({goneAt:o,updatedAt:o}).where((0,t.b)((0,t.y)(s.resources.id,i.gone),(0,t.M)(s.resources.goneAt)))})}async function e7(e,a,n){let i=await (0,h.F)(a);if(!i.ok){let a=(0,o.E)({ok:!1,kind:"scope"===i.kind?"auth":i.kind,error:i.error});return a&&await (0,r.f)().update(s.accounts).set({...a,updatedAt:new Date}).where((0,t.u)(s.accounts.id,e)),{ok:!1,error:i.error}}let u=new Date;await e9(e,n,i.data,u);let l=await (0,h.d)(a);return await (0,r.f)().update(s.accounts).set({lastSyncAt:u,status:"ok",lastError:null,updatedAt:u,...l.ok?{expiresAt:l.data.expiresAt}:{}}).where((0,t.u)(s.accounts.id,e)),{ok:!0}}async function te(e,t){let a=e=>({ok:!1,kind:"auth"===e.kind||"scope"===e.kind?"auth":"format"===e.kind?"format":"transient",error:e.error});if("vercel"===e){let e=await (0,g.G)(t);return e.ok?{ok:!0,found:e.data.apps,skippedTeams:e.data.skippedTeams,skippedTeamIds:e.data.skippedTeamIds}:{ok:!1,kind:e.kind,error:e.error}}if("supabase"===e){let e=await eg(t);return e.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:e.data.filter(e=>"REMOVED"!==e.status).map(e=>({externalId:e.ref,name:e.name,meta:{orgSlug:e.orgSlug,region:e.region,pgVersion:e.pgVersion,createdAt:e.createdAt,status:e.status}}))}:a(e)}if("neon"===e){let e=await ee(t);return e.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:e.data.map(e=>({externalId:e.id,name:e.name,meta:{orgId:e.orgId,region:e.region,pgVersion:e.pgVersion,createdAt:e.createdAt}}))}:a(e)}if("turso"===e){let e=await eP(t);return e.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:e.data.map(e=>({externalId:e.id,name:e.name,meta:{org:e.org,group:e.group,region:e.primaryRegion}}))}:a(e)}if("upstash"===e){let e=eU(t);if(!e)return{ok:!1,kind:"format",error:"The stored Upstash credential can't be read. Replace it."};let r=await eB(e);return r.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:r.data.map(e=>({externalId:e.id,name:e.name,meta:{region:e.region,type:e.type}}))}:a(r)}let r=J(t);if(!r)return{ok:!1,kind:"format",error:"The stored service account can't be read. Replace the credential."};let s=await H(r);if(!s.ok)return a(s);let n=await C(r,s.data);return n.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:n.data.map(e=>({externalId:e.projectId,name:e.displayName,meta:{projectId:e.projectId}}))}:a(n)}async function tt(e){let a=await e3(e);if(!a)return{ok:!1,error:"That account no longer exists."};let{account:n,token:i,problem:u}=a,l=eX(n.provider);if(!l)return{ok:!1,error:"Sync for this provider arrives in a later stage."};if(u||!i)return{ok:!1,error:u??"The credential can't be read."};if("cloudflare"===n.provider){let t=await e7(e,i,n.watchNew);return t.ok?{ok:!0,rows:await e6(e,l),skippedTeams:[],overLimit:null}:t}let d=await te(n.provider,i);if(!d.ok){let a=(0,o.E)({ok:!1,kind:d.kind,error:d.error});return a&&await (0,r.f)().update(s.accounts).set({...a,updatedAt:new Date}).where((0,t.u)(s.accounts.id,e)),{ok:!1,error:d.error}}let c=(await (0,r.f)().select({id:s.resources.id,externalId:s.resources.externalId,monitored:s.resources.monitored,meta:s.resources.meta}).from(s.resources).where((0,t.b)((0,t.u)(s.resources.accountId,e),(0,t.u)(s.resources.kind,l)))).map(e=>({id:e.id,externalId:e.externalId,monitored:e.monitored,teamId:"string"==typeof e.meta.teamId?e.meta.teamId:null,meta:e.meta})),p=new Map(c.map(e=>[e.id,e.meta])),m=eY(c,d.found,{watchNew:n.watchNew,keepTeamIds:d.skippedTeamIds}),f="vercel"===n.provider?await (0,g.o)(i):null,h=new Date;await (0,r.f)().transaction(async a=>{for(let e of m.update){var r;await a.update(s.resources).set({name:e.name,meta:{...e.meta,...(r=p.get(e.id))&&"string"==typeof r.primaryDomain?{domains:r.domains,primaryDomain:r.primaryDomain,pastDomains:r.pastDomains??[]}:{},...(0,eG.K)(p.get(e.id))},lastSeenAt:h,goneAt:null,updatedAt:h}).where((0,t.u)(s.resources.id,e.id))}m.insert.length&&await a.insert(s.resources).values(m.insert.map(t=>({accountId:e,kind:l,externalId:t.externalId,name:t.name,meta:t.meta,monitored:t.monitored}))).onConflictDoNothing({target:[s.resources.accountId,s.resources.kind,s.resources.externalId]}),m.gone.length&&await a.update(s.resources).set({goneAt:h,updatedAt:h}).where((0,t.b)((0,t.y)(s.resources.id,m.gone),(0,t.M)(s.resources.goneAt))),await a.update(s.accounts).set({lastSyncAt:h,status:"ok",lastError:null,updatedAt:h,...f?.ok?{expiresAt:f.data}:{}}).where((0,t.u)(s.accounts.id,e))}),"vercel"===n.provider&&await e5(e,i);let k="vercel"===n.provider?await e2(e,i):0;return{ok:!0,rows:await e6(e,l),skippedTeams:d.skippedTeams,overLimit:(0,eZ.S)(k)}}async function ta(e,a,n){let o=await e3(e);if(!o)return{ok:!1,error:"That account no longer exists."};let i=eX(o.account.provider);if(!i)return{ok:!1,error:"Sync for this provider arrives in a later stage."};let u=(0,t.b)((0,t.u)(s.resources.accountId,e),(0,t.u)(s.resources.kind,i),(0,t.M)(s.resources.goneAt));await (0,r.f)().transaction(async r=>{let o=new Date;a.length?(await r.update(s.resources).set({monitored:!0,updatedAt:o}).where((0,t.b)(u,(0,t.y)(s.resources.id,a))),await r.update(s.resources).set({monitored:!1,updatedAt:o}).where((0,t.b)(u,(0,t.$)(s.resources.id,a)))):await r.update(s.resources).set({monitored:!1,updatedAt:o}).where(u),await r.update(s.accounts).set({watchNew:n,updatedAt:o}).where((0,t.u)(s.accounts.id,e))});let l="vercel"===o.account.provider?await e2(e,o.token):0,d=await e6(e,i);return{ok:!0,on:d.filter(e=>e.monitored).length,total:d.length,overLimit:(0,eZ.S)(l)}}e.s(["f",0,eQ,"d",0,e4,"T",0,eK,"D",0,function(e,t,a){let r=e.filter(e=>!e.goneAt&&(!a||e.kind===a));return{on:r.filter(e=>e.monitored).length,total:r.length,fresh:r.filter(e=>eK(e,t)).length}},"J",0,eY,"K",0,eX,"S",0,e1],45468),e.s(["F",0,e8,"v",0,ta,"k",0,tt,"s",0,e9],743303);var tr=e.i(33135);let ts=n.B`excluded.meta`;async function tn(e){let a=(0,d.f)().OPS_ENCRYPTION_KEY;return(await (0,r.f)().select().from(s.accounts).where((0,t.b)((0,t.u)(s.accounts.provider,e),(0,t.u)(s.accounts.status,"ok")))).map(e=>{let t=(0,i.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},a);return{acc:e,token:(0,o.A)(t)?null:t}})}async function to(e,a,n){for(let{acc:i,token:u}of(await tn("cloudflare"))){if(!u){n.push(`cloudflare/${i.label}: credential can't be read`);continue}let d=await (0,h.F)(u);if(!d.ok){let a=(0,o.E)({ok:!1,kind:"scope"===d.kind?"auth":d.kind,error:d.error});if(a&&await (0,r.f)().update(s.accounts).set({...a,updatedAt:e}).where((0,t.u)(s.accounts.id,i.id)),n.push(`cloudflare/${i.label}: ${d.error}`),429===d.status)return;continue}for(let o of(await e9(i.id,i.watchNew,d.data,e),await (0,r.f)().select().from(s.resources).where((0,t.b)((0,t.u)(s.resources.accountId,i.id),(0,t.u)(s.resources.kind,"zone"),(0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt))))){if(a-Date.now()<6e3)return void n.push("cloudflare: skipped remaining zones, time budget used");let t=d.data.find(e=>e.id===o.externalId),[r,s,i]=await Promise.all([(0,h.p)(u,o.externalId),(0,h.v)(u,o.externalId),(0,h.w)(u,o.externalId)]),c=[r,s,i].flatMap(e=>e.ok?[]:[e]),p={zone:{status:t?.status??null,paused:t?.paused??!1,nameServers:t?.nameServers??[],accountId:t?.accountId??null,checkedAt:e.toISOString()},ssl:s.ok?{mode:s.data,error:null}:{mode:null,error:s.error},cfErrors:c.map(e=>e.error)};for(let t of(r.ok?Object.assign(p,{records:r.data.records,recordsTruncated:r.data.truncated}):"scope"===r.kind&&Object.assign(p,{records:[],recordsTruncated:!1}),i.ok?p.certs=i.data:"scope"===i.kind&&(p.certs=[]),await (0,l.r)(o.id,p,e),c))"scope"!==t.kind&&n.push(`cloudflare/${o.name}: ${t.error}`);if(c.some(e=>429===e.status))return}}}async function ti(e,a,n){for(let{acc:o,token:i}of(await tn("vercel"))){if(!i)continue;let u=await (0,r.f)().select().from(s.resources).where((0,t.b)((0,t.u)(s.resources.accountId,o.id),(0,t.u)(s.resources.kind,"app"))),d=u.filter(e=>e.monitored&&!e.goneAt),c=u.filter(e=>!e.monitored||e.goneAt).map(e=>e.id);for(let u of(c.length&&await (0,r.f)().update(s.resources).set({monitored:!1,updatedAt:e}).where((0,t.b)((0,t.u)(s.resources.kind,"domain"),(0,t.y)(s.resources.parentId,c))),d)){if(Date.now()>a)return void n.push("domains: skipped remaining apps, time budget used");let d=String(u.meta.teamId??""),c=await (0,g.M)(i,d,u.externalId);if(!c.ok){if(n.push(`domains/${u.name}: ${c.error}`),429===c.status)return;if("auth"===c.kind)break;continue}await e8(u.id,u.name,u.meta,c.data);let p=c.data.filter(e=>!e.gitBranch),f=p.length?await (0,r.f)().insert(s.resources).values(p.map(t=>({accountId:o.id,kind:"domain",externalId:t.name,name:t.name,parentId:u.id,monitored:!0,meta:{redirect:t.redirect,verified:t.verified,projectId:u.externalId},lastSeenAt:e}))).onConflictDoUpdate({target:[s.resources.accountId,s.resources.kind,s.resources.externalId],set:{parentId:u.id,monitored:!0,goneAt:null,lastSeenAt:e,updatedAt:e,meta:ts}}).returning({id:s.resources.id,name:s.resources.name}):[];for(let o of(await (0,r.f)().update(s.resources).set({goneAt:e,updatedAt:e}).where((0,t.b)((0,t.u)(s.resources.kind,"domain"),(0,t.u)(s.resources.parentId,u.id),(0,t.M)(s.resources.goneAt),p.length?(0,t.$)(s.resources.externalId,p.map(e=>e.name)):void 0)),f.filter(e=>!(0,m.f)(e.name)))){if(Date.now()>a)return;let t=await (0,g.Q)(i,d,o.name);t.ok?await (0,l.r)(o.id,{vercel:{...t.data,checkedAt:e.toISOString()}},e):"transient"===t.kind&&n.push(`domains/${o.name}: ${t.error}`)}}}}async function tu(){return(0,r.f)().select({r:s.resources,s:s.snapshots}).from(s.resources).leftJoin(s.snapshots,(0,t.u)(s.snapshots.resourceId,s.resources.id)).where((0,t.b)((0,t.u)(s.resources.kind,"domain"),(0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt)))}async function tl(){return(0,r.f)().select({r:s.resources,s:s.snapshots}).from(s.resources).leftJoin(s.snapshots,(0,t.u)(s.snapshots.resourceId,s.resources.id)).where((0,t.b)((0,t.u)(s.resources.kind,"zone"),(0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt)))}let td=(e,t)=>((0,m.Z)(e)?.getTime()??0)-((0,m.Z)(t)?.getTime()??0);async function tc(e,a,n){let[o]=await (0,r.f)().select({data:s.snapshots.data}).from(s.snapshots).where((0,t.u)(s.snapshots.resourceId,e)).limit(1),i=await (0,f.f)(a,{timeoutMs:5e3});await (0,l.r)(e,{tls:(0,c.o)(i,(0,c.q)(o?.data).tls,n)},n)}async function tp(e,t,a){let r=(await tu()).filter(({r:t,s:a})=>!(0,m.f)(t.name)&&(0,m.Y)((0,c.q)(a?.data).tls?.checkedAt,e)).sort((e,t)=>td((0,c.q)(e.s?.data).tls?.checkedAt,(0,c.q)(t.s?.data).tls?.checkedAt)).slice(0,m.H);await (0,tr.P)(r,4,async({r})=>{if(!(t-Date.now()<6e3))try{await tc(r.id,r.name,e)}catch{a.push(`tls/${r.name}: couldn't save the result`)}})}async function tm(e,a,n,o){let[i]=await (0,r.f)().select({data:s.snapshots.data}).from(s.snapshots).where((0,t.u)(s.snapshots.resourceId,e)).limit(1),u=(0,c.q)(i?.data).rdap,d=o;if(!d){let e=await (0,p.Y)();if(!e.ok)return e.error;d=e.services}let m=(0,p.T)(d,a),f=m?await (0,p.u)(a,m):{ok:!1,error:"The registry has no RDAP server"};return await (0,l.r)(e,{rdap:(0,c.n)(f,u,n)},n),f.ok?null:f.error}async function tf(e,t,a){let r=(await tl()).filter(({r:t,s:a})=>t.monitored&&(0,m.Y)((0,c.q)(a?.data).rdap?.checkedAt,e)).sort((e,t)=>td((0,c.q)(e.s?.data).rdap?.checkedAt,(0,c.q)(t.s?.data).rdap?.checkedAt)).slice(0,m.H);if(!r.length)return;let s=await (0,p.Y)();if(!s.ok)return void a.push(`rdap: ${s.error}`);for(let{r:n}of r){if(t-Date.now()<6e3)return;let r=await tm(n.id,n.name,e,s.services);r&&"The registry has no RDAP server"!==r&&a.push(`rdap/${n.name}: ${r}`)}}async function th(e,t,a){let n=t-Date.now();if(n<1e3)throw Error("skipped, time budget used");let o=await (0,k.z)({timeoutMs:Math.min(8e3,n)});if(!o.ok)return void a.push(`eol: ${o.error}`);let i={cycles:o.cycles,checkedAt:e.toISOString()};await (0,r.f)().insert(s.settings).values({key:k.T,value:i}).onConflictDoUpdate({target:s.settings.key,set:{value:i,updatedAt:e}})}async function tg(e){let t=await tl(),a=[];for(let{r,s}of t.filter(e=>e.s)){let t=(0,c.q)(s.data),n=(0,m.G)({status:t.zone?.status??null,paused:t.zone?.paused??!1,rdap:t.rdap},e);(n.state!==s.state||JSON.stringify(n.reasons)!==JSON.stringify(t.reasons))&&(await (0,l.r)(r.id,{reasons:n.reasons},e),n.state!==s.state&&await (0,l.a)(r.id,n.state,e),a.push((0,m.n)({resourceId:r.id,name:r.name,prev:s.state,next:n.state,reasons:n.reasons,at:e})))}let r=t.filter(e=>e.r.monitored).map(e=>e.r.name);for(let{r:s,s:n}of(await tu())){let o=(0,c.q)(n?.data),i=(0,m.J)(s.name,r),u=i?(0,c.q)(t.find(e=>e.r.name===i)?.s?.data):null,d=(0,m.k)({host:s.name,tls:o.tls,vercel:o.vercel,records:u?(0,m.Q)(s.name,u.records):[],zoneRdap:u?.rdap??null},e),p=n?.state??null;(d.state!==p||JSON.stringify(d.reasons)!==JSON.stringify(o.reasons))&&(await (0,l.r)(s.id,{reasons:d.reasons},e),d.state!==p&&await (0,l.a)(s.id,d.state,e),a.push((0,m.n)({resourceId:s.id,name:s.name,prev:p,next:d.state,reasons:d.reasons,at:e})))}await (0,u.f)(a)}async function tk(){return(0,r.f)().select({r:s.resources,s:s.snapshots,label:s.accounts.label}).from(s.resources).innerJoin(s.accounts,(0,t.u)(s.accounts.id,s.resources.accountId)).leftJoin(s.snapshots,(0,t.u)(s.snapshots.resourceId,s.resources.id)).where((0,t.b)((0,t.u)(s.resources.kind,"zone"),(0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt))).orderBy((0,a.M)(s.resources.name)).limit(200)}async function tw(){let e=await (0,r.f)().select({r:s.resources,s:s.snapshots}).from(s.resources).leftJoin(s.snapshots,(0,t.u)(s.snapshots.resourceId,s.resources.id)).where((0,t.b)((0,t.u)(s.resources.kind,"domain"),(0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt))).orderBy((0,a.M)(s.resources.name)).limit(200);if(!e.length)return[];let n=[...new Set(e.map(e=>e.r.parentId).filter(e=>!!e))],o=n.length?await (0,r.f)().select({id:s.resources.id,name:s.resources.name,monitored:s.resources.monitored,goneAt:s.resources.goneAt}).from(s.resources).where((0,t.y)(s.resources.id,n)):[],i=new Set(o.filter(e=>e.monitored&&!e.goneAt).map(e=>e.id)),u=await tk(),l=u.map(e=>e.r.name);return e.filter(({r:e})=>!e.parentId||i.has(e.parentId)).map(({r:e,s:t})=>{let a=(0,c.q)(t?.data),r=(0,m.J)(e.name,l),s=u.find(e=>e.r.name===r),n=(0,c.q)(s?.s?.data);return{id:e.id,name:e.name,appId:e.parentId,appName:o.find(t=>t.id===e.parentId)?.name??null,zoneId:s?.r.id??null,zoneName:r,isVercel:(0,m.f)(e.name),state:t?.state??"unknown",reasons:a.reasons,tls:a.tls,vercel:a.vercel,records:s?(0,m.Q)(e.name,n.records):[],rdap:s?n.rdap:null,cfAccountId:s?n.zone?.accountId??null:null}})}async function ty(){return(await tk()).map(e=>({id:e.r.id,name:e.r.name}))}async function tb(e){let t=await tk(),a=(e?t.find(t=>t.r.id===e):null)??t[0];if(!a)return null;let r=(0,c.q)(a.s?.data);return{id:a.r.id,name:a.r.name,accountId:a.r.accountId,accountLabel:a.label,state:a.s?.state??"unknown",reasons:r.reasons,facts:r}}async function tz(){let[e]=await (0,r.f)().select({value:s.settings.value}).from(s.settings).where((0,t.u)(s.settings.key,k.T)).limit(1),a=e?.value,n=a?(0,k.b)({result:{releases:a.cycles?.map(e=>({name:e.name,isEol:e.isEol,eolFrom:e.eolFrom,latest:e.latest?{name:e.latest}:null}))}}):null;return n&&"string"==typeof a?.checkedAt?{cycles:n,checkedAt:a.checkedAt}:null}async function t_(e){let[a]=await (0,r.f)().select().from(s.resources).where((0,t.b)((0,t.u)(s.resources.id,e),(0,t.u)(s.resources.kind,"domain"),(0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt))).limit(1);if(!a)return{ok:!1,error:"That domain is no longer watched."};if((0,m.f)(a.name))return{ok:!1,error:"vercel.app domains are Vercel's own. There is nothing to check."};let n=new Date;await tc(a.id,a.name,n);let o=await tk(),i=(0,m.J)(a.name,o.map(e=>e.r.name)),u=o.find(e=>e.r.name===i),l=u?await tm(u.r.id,u.r.name,n):null;return await tg(n),{ok:!0,message:l?`Checked ${a.name}. Domain expiry: ${l}.`:`Checked ${a.name}.`,audit:{message:`Re-check: ${a.name}`,resourceId:a.id}}}e.s(["p",0,["cloudflare","domains","tls","rdap","eol"],"r",0,tm,"x",0,tg,"h",0,to,"H",0,ti,"i",0,th,"W",0,tf,"V",0,tp,"j",0,tc],418864),e.s(["j",0,tb,"p",0,tw,"c",0,ty,"P",0,tz,"_",0,t_],30184)},669943,182622,714779,44925,558418,e=>{var t=e.i(93321),a=e.i(351674),r=e.i(548734),s=e.i(837137);async function n(e,t,n){await (0,r.f)().insert(s.snapshots).values({resourceId:e,data:t,collectedAt:n,stateSince:n}).onConflictDoUpdate({target:s.snapshots.resourceId,set:{data:a.B`${s.snapshots.data} || ${JSON.stringify(t)}::jsonb`,collectedAt:n}})}async function o(e,a,n){await (0,r.f)().update(s.snapshots).set({state:a,stateSince:n}).where((0,t.u)(s.snapshots.resourceId,e))}e.s(["r",0,n,"a",0,o],669943);var i=e.i(26972),u=e.i(899370),l=e.i(689963),d=e.i(427221),c=e.i(191179),p=e.i(954757),p=p,m=e.i(761095),f=e.i(33135),h=e.i(261283);let g=e=>e.toLowerCase().replace(/\.$/,"");function k(e){try{let t=new URL(e);return null===(0,h._)(t)&&!(0,m.isIP)(t.hostname.replace(/^[|]$/g,""))}catch{return!1}}let w=i.z.object({objectClassName:u.z.literal("domain"),events:l.z.array(i.z.object({eventAction:d.z.string(),eventDate:d.z.string()})).default([]),entities:l.z.array(i.z.object({roles:l.z.array(d.z.string()).default([]),vcardArray:c.z.unknown().optional()})).default([])});async function y(e,t,a){let r=await (0,f.K)(e,{fetch:a.fetch,lookup:a.lookup,timeoutMs:a.timeoutMs??8e3,maxBytes:524288,headers:{Accept:t},userAgent:"OpsConsole-Network/1.0 (+https://watchbell.west-solutions.web.id)"});if(!r.ok)return{ok:!1,error:"Blocked address"===r.error?"The registry's RDAP address isn't a public https address":"Couldn't reach the registry's RDAP server"};if(r.truncated)return{ok:!1,error:"The answer was too large"};if(200!==r.status)return{ok:!0,status:r.status,body:null};try{return{ok:!0,status:r.status,body:JSON.parse(r.body)}}catch{return{ok:!1,error:"The registry answered in a format the console doesn't recognise"}}}let b=i.z.object({services:l.z.array(p.tuple([l.z.array(d.z.string()),l.z.array(d.z.string())]))});async function z(e={}){let t=await y("https://data.iana.org/rdap/dns.json","application/json",e);if(!t.ok)return{ok:!1,error:"Couldn't read IANA's RDAP list"};if(200!==t.status)return{ok:!1,error:`IANA's RDAP list returned an error (${t.status})`};let a=b.safeParse(t.body);return a.success?{ok:!0,services:a.data.services}:{ok:!1,error:"IANA's RDAP list is in a format the console doesn't recognise"}}async function _(e,t,a={}){let r=`${t.endsWith("/")?t:`${t}/`}domain/${encodeURIComponent(g(e))}`,s=await y(r,"application/rdap+json, application/json",a);if(!s.ok)return s;if(404===s.status)return{ok:!1,error:"The registry doesn't know this domain"};if(200!==s.status)return{ok:!1,error:`The registry's RDAP server returned an error (${s.status})`};let n=function(e){let t=w.safeParse(e);if(!t.success)return null;let a=t.data.events.find(e=>"expiration"===e.eventAction),r=a?new Date(a.eventDate):null,s=t.data.entities.find(e=>e.roles.includes("registrar"));return{expiresAt:r&&!Number.isNaN(r.getTime())?r.toISOString():null,registrar:s?function(e){if(!Array.isArray(e)||!Array.isArray(e[1]))return null;let t=e[1].find(e=>Array.isArray(e)&&"fn"===e[0]);return"string"==typeof t?.[3]&&t[3]?t[3]:null}(s.vcardArray):null}}(s.body);return n?{ok:!0,...n}:{ok:!1,error:"The registry answered in a format the console doesn't recognise"}}e.s(["Y",0,z,"u",0,_,"T",0,function(e,t){let a=g(t).split(".");for(let t=0;t<a.length;t++){let r=a.slice(t).join("."),s=e.find(([e])=>e.map(g).includes(r));if(s)return s[1].find(k)??null}return null}],182622);var I=e.i(300794),v=e.i(685560);let A={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11};async function j(e,t={}){let a,r=t.timeoutMs??5e3,s=e.toLowerCase().replace(/\.$/,"");if((0,m.isIP)(s)||(0,h.N)(s))return{ok:!1,error:"Blocked address"};try{a=await (t.lookup??(async e=>(await (0,I.lookup)(e,{all:!0,verbatim:!0})).map(e=>e.address)))(s)}catch{return{ok:!1,error:"The name doesn't resolve"}}if(!a.length)return{ok:!1,error:"The name doesn't resolve"};if(a.some(h.W))return{ok:!1,error:"Blocked address"};let n=t.connect??v.connect,o=a.find(e=>4===(0,m.isIP)(e))??a[0];return new Promise(e=>{let t,a=!1,i=(t,r)=>{a||(a=!0,clearTimeout(u),r?.destroy(),e(t))},u=setTimeout(()=>i({ok:!1,error:`No answer within ${Math.round(r/1e3)} s`},t),r);try{t=n({host:o,port:443,servername:s,rejectUnauthorized:!1,timeout:r,ALPNProtocols:["http/1.1"]})}catch{return i({ok:!1,error:"Couldn't connect"})}let l=t;l.on("secureConnect",()=>{let e,t,a=l.getPeerCertificate(),r=function(e){if("string"!=typeof e)return null;let t=/^([A-Z][a-z]{2})\s+(\d{1,2})\s+(\d{2}):(\d{2}):(\d{2})\s+(\d{4})\s+GMT$/.exec(e.trim());return t&&void 0!==A[t[1]]?new Date(Date.UTC(Number(t[6]),A[t[1]],Number(t[2]),Number(t[3]),Number(t[4]),Number(t[5]))):null}(a.valid_to);if(!r)return i({ok:!1,error:"The certificate has no readable expiry date"},l);let s=l.authorized?null:String(l.authorizationError??"untrusted");i({ok:!0,notAfter:r,issuer:(e=a.issuer,"string"==typeof(t=e?.O??e?.CN)&&t?t:null),authorized:l.authorized,authError:s},l)}),l.on("timeout",()=>i({ok:!1,error:`No answer within ${Math.round(r/1e3)} s`},l)),l.on("error",()=>i({ok:!1,error:"Couldn't connect"},l))})}e.s(["f",0,j],714779);var $=e.i(83931),S=e.i(811365);let T="https://api.cloudflare.com/client/v4",x=i.z.object({success:$.z.boolean(),result:c.z.unknown(),result_info:i.z.object({page:S.z.number().optional(),total_pages:S.z.number().optional()}).nullish()});async function P(e,t,a,r){let s;try{s=await (a.fetch??fetch)(`${T}${e}`,{method:"GET",headers:{Authorization:`Bearer ${t}`,Accept:"application/json"},signal:AbortSignal.timeout(a.timeoutMs??5e3),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?"Cloudflare didn't answer within 5 seconds.":"Couldn't reach Cloudflare."}}if(403===s.status&&r)return await s.body?.cancel().catch(()=>void 0),{ok:!1,kind:"scope",status:403,error:`The token can't read this. Add "${r}" to the Cloudflare token.`};if(401===s.status||403===s.status)return await s.body?.cancel().catch(()=>void 0),{ok:!1,kind:"auth",status:s.status,error:`Cloudflare rejected this credential (${s.status}).`};if(429===s.status){let e=Number(s.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60,error:"Cloudflare says there were too many requests."}}if(!s.ok)return{ok:!1,kind:"transient",status:s.status,error:`Cloudflare returned an error (${s.status}).`};let n=x.safeParse(await s.json().catch(()=>null));return n.success&&n.data.success?{ok:!0,data:{result:n.data.result,totalPages:n.data.result_info?.total_pages??null}}:C("its answer")}let C=e=>({ok:!1,kind:"format",error:`Cloudflare answered ${e} in a format the console doesn't recognise.`}),N=e=>encodeURIComponent(e),D=i.z.object({id:d.z.string(),name:d.z.string(),status:d.z.string(),paused:$.z.boolean().default(!1),name_servers:l.z.array(d.z.string()).default([]),account:i.z.object({id:d.z.string(),name:d.z.string().nullish()}).nullish()});async function R(e,t={}){let a=[];for(let r=1;r<=10;r++){let s=await P(`/zones?per_page=50&page=${r}`,e,t,null);if(!s.ok)return s;let n=l.z.array(D).safeParse(s.data.result);if(!n.success)return C("the zone list");for(let e of n.data)a.push({id:e.id,name:e.name,status:e.status,paused:e.paused,nameServers:e.name_servers,accountId:e.account?.id??null,accountName:e.account?.name??null});if(!s.data.totalPages||r>=s.data.totalPages)break}return{ok:!0,data:a}}let E=i.z.object({id:d.z.string(),type:d.z.string(),name:d.z.string(),content:d.z.string().default(""),proxied:$.z.boolean().default(!1),ttl:S.z.number().default(1),comment:d.z.string().nullish()});async function M(e,t,a={}){let r=[];for(let s=1;s<=4;s++){let n=await P(`/zones/${N(t)}/dns_records?per_page=500&page=${s}`,e,a,"DNS Read");if(!n.ok)return n;let o=l.z.array(E).safeParse(n.data.result);if(!o.success)return C("the DNS records");if(r.push(...o.data.map(e=>({id:e.id,type:e.type,name:e.name,content:e.content,proxied:e.proxied,ttl:e.ttl,comment:e.comment??null}))),!n.data.totalPages||s>=n.data.totalPages)return{ok:!0,data:{records:r,truncated:!1}}}return{ok:!0,data:{records:r,truncated:!0}}}let U=i.z.object({errors:l.z.array(i.z.object({code:S.z.number().int()})).min(1)});async function O(e,t,a,r,s){let n;try{n=await (s.fetch??fetch)(`${T}${t}`,{method:e,headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...r?{"Content-Type":"application/json"}:{}},...r?{body:JSON.stringify(r)}:{},signal:AbortSignal.timeout(s.timeoutMs??5e3),cache:"no-store"})}catch(t){if(!(t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.name)))return{ok:!1,kind:"transient",error:"Couldn't reach Cloudflare."};return{ok:!1,kind:"transient",error:"PATCH"===e?"Cloudflare didn't answer within 5 seconds; the change may still have happened. Reload in a minute.":"Cloudflare didn't answer within 5 seconds."}}let o=()=>n.body?.cancel().catch(()=>void 0);if(401===n.status)return await o(),{ok:!1,kind:"auth",status:401,error:"Cloudflare rejected this credential (401)."};if(403===n.status){await o();let t="PATCH"===e?"Zone → DNS → Edit":"DNS Read";return{ok:!1,kind:"scope",status:403,error:`The token can't ${"PATCH"===e?"edit":"read"} this record. Add "${t}" to the Cloudflare token.`}}if(404===n.status)return await o(),{ok:!1,kind:"missing",status:404,error:"Cloudflare can't find this record any more."};if(429===n.status)return await o(),{ok:!1,kind:"transient",status:429,retryAfterS:q(n),error:"Cloudflare says there were too many requests."};let i=await n.json().catch(()=>null);if(!n.ok){let e=U.safeParse(i);return{ok:!1,kind:"transient",status:n.status,error:`Cloudflare refused this change (${n.status}${e.success?`, code ${e.data.errors[0].code}`:""}).`}}let u=x.safeParse(i);if(!u.success||!u.data.success)return C("the DNS record");let l=E.safeParse(u.data.result);if(!l.success)return C("the DNS record");let d=l.data;return{ok:!0,data:{id:d.id,type:d.type,name:d.name,content:d.content,proxied:d.proxied,ttl:d.ttl,comment:d.comment??null}}}let q=e=>{let t=Number(e.headers.get("Retry-After"));return Number.isFinite(t)&&t>0?t:60};async function B(e,t,a,r={}){return O("GET",`/zones/${N(t)}/dns_records/${N(a)}`,e,void 0,r)}async function F(e,t,a,r,s={}){return O("PATCH",`/zones/${N(t)}/dns_records/${N(a)}`,e,r,s)}async function J(e,t,a={}){let r=await P(`/zones/${N(t)}/settings/ssl`,e,a,"Zone Settings Read");if(!r.ok)return r;let s=i.z.object({value:d.z.string()}).safeParse(r.data.result);return s.success?{ok:!0,data:s.data.value}:C("the SSL/TLS mode")}let L=i.z.object({type:d.z.string(),status:d.z.string(),hosts:l.z.array(d.z.string()).default([]),certificates:l.z.array(i.z.object({expires_on:d.z.string().nullish()})).default([])});async function V(e,t,a={}){let r=await P(`/zones/${N(t)}/ssl/certificate_packs?status=all&per_page=50`,e,a,"SSL and Certificates Read");if(!r.ok)return r;let s=l.z.array(L).safeParse(r.data.result);return s.success?{ok:!0,data:s.data.map(e=>{let t=e.certificates.map(e=>e.expires_on).filter(e=>!!e).sort();return{type:e.type,status:e.status,hosts:e.hosts,expiresOn:t[0]??null}})}:C("the edge certificates")}async function G(e,t={}){let a=await P("/user/tokens/verify",e,t,null);if(!a.ok)return a;let r=i.z.object({status:d.z.string(),expires_on:d.z.string().nullish()}).safeParse(a.data.result);if(!r.success)return C("the token details");let s=r.data.expires_on?new Date(r.data.expires_on):null;return{ok:!0,data:{status:r.data.status,expiresAt:s&&!Number.isNaN(s.getTime())?s:null}}}e.s(["w",0,V,"B",0,B,"p",0,M,"F",0,R,"v",0,J,"d",0,G,"q",0,F],44925);var H=e.i(469762);let Z=i.z.object({result:i.z.object({releases:l.z.array(i.z.object({name:d.z.string(),isEol:$.z.boolean(),eolFrom:d.z.string().nullish(),latest:i.z.object({name:d.z.string()}).nullish()})).min(1)})});function W(e){let t=Z.safeParse(e);return t.success?t.data.result.releases.map(e=>({name:e.name,isEol:e.isEol,eolFrom:e.eolFrom??null,latest:e.latest?.name??null})):null}async function Y(e={}){let t;try{t=await (e.fetch??fetch)("https://endoflife.date/api/v1/products/nextjs/",{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3),cache:"no-store"})}catch{return{ok:!1,error:"Couldn't reach endoflife.date"}}if(!t.ok)return{ok:!1,error:`endoflife.date returned an error (${t.status})`};let a=W(await t.json().catch(()=>null));return a?{ok:!0,cycles:a}:{ok:!1,error:"endoflife.date answered in a format the console doesn't recognise"}}e.s(["T",0,"eol.nextjs","e",0,function(e,t,a){if(!e)return{state:"unknown",text:"Unknown until the version is read",note:null};if(!t)return{state:"unknown",text:"Unknown · endoflife.date hasn't been read yet",note:null};let r=e.split(".")[0],s=t.cycles.find(e=>e.name===r);if(!s)return{state:"unknown",text:`Unknown \xb7 endoflife.date has no cycle ${r}`,note:null};let n=t.cycles.find(e=>!e.isEol)?.latest??null,o=n?`latest is ${n}`:null,i=s.eolFrom?new Date(`${s.eolFrom}T00:00:00Z`):null;if(s.isEol||i&&i.getTime()<=a.getTime())return{state:"err",text:`Next.js ${r} reached end of life${i?` on ${(0,H.H)(i)}`:""}`,note:o};if(i){let e=Math.ceil((i.getTime()-a.getTime())/864e5);return{state:e<=60?"warn":"ok",text:`Next.js ${r} reaches end of life on ${(0,H.H)(i)} (in ${e} day${1===e?"":"s"})`,note:o}}return{state:"ok",text:`Next.js ${r} is supported`,note:s.latest&&s.latest!==e?`${s.latest} is the latest ${r}.x`:null}},"z",0,Y,"b",0,W],558418)},960186,e=>{let t={supabase_project:"supabase",neon_project:"neon",firestore:"firebase",turso_database:"turso",upstash_redis:"upstash",d1_database:"d1"};function a(e){return e.toLowerCase().replace(/^webs?[-_]/,"").replace(/[-_](vercel|web|app|site|fe|frontend)$/,"").replace(/[^a-z0-9]/g,"")}e.s(["H",0,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"],"$",0,{supabase:"Supabase",neon:"Neon",firebase:"Firebase",turso:"Turso",upstash:"Upstash",d1:"Cloudflare D1"},"N",0,e=>`/${t[e]}`,"Z",0,e=>t[e],"U",0,function(e,t){let r=a(e);if(!r)return null;let s=t.filter(e=>a(e.name)===r);if(s.length)return 1===s.length?s[0].id:null;let n=t.filter(e=>{let t=a(e.name);return t.length>=4&&r.length>=4&&(r.includes(t)||t.includes(r))});return 1===n.length?n[0].id:null}])}]})();
2
+
3
+ //# sourceMappingURL=_0ffsv993spriq._.js.map
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[258261,t=>{var e=t.i(494415),r=t.i(163227),n=t.i(351674);t.s(["H",0,function(t){return n.B`count(${t||n.B.raw("*")})`.mapWith(Number)},"y",0,function(t){return n.B`max(${t})`.mapWith((0,r.f)(t,e.f)?t:String)}])},646324,t=>{let e=t=>t?t.getTime():null;function r(t,e){return!t||"object"!=typeof t||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(t=>"string"==typeof t[1]&&new Date(t[1]).getTime()>e.getTime()))}t.s(["Q",0,function(t,e,r,n=new Set){let i=new Set(r.map(t=>`${t.resourceId}/${t.id}`));return t.flatMap(t=>{let r=e.get(t.externalId);return!r||n.has(r)||i.has(`${t.id}/${r}`)?[]:[{appId:t.id,deploymentId:r}]})},"E",0,function(t,r){return!t||t.state!==r.state||t.target!==r.target||t.branch!==r.branch||t.commitSha!==r.commitSha||t.commitMessage!==r.commitMessage||t.source!==r.source||t.url!==r.url||e(t.buildingAt)!==e(r.buildingAt)||e(t.readyAt)!==e(r.readyAt)},"Y",0,function(t,e,n){let i=new Date(n.getTime()+216e5).toISOString();return{...r(t,n),...Object.fromEntries(e.map(t=>[t,i]))}},"K",0,function(t){try{return new URL(t).pathname}catch{return"/"}},"a",0,function(t,e){let r=[...new Map(t.map(t=>[t.id,t])).values()].sort((t,e)=>e.createdAt.getTime()-t.createdAt.getTime()),n=e??r[0]?.id??null,i=r.findIndex(t=>t.id===n);return{currentId:n,previousId:i>=0?r[i+1]?.id??null:null}},"S",0,(t,e)=>new Set(Object.keys(r(t,e)))])},683439,t=>{let e=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;t.s(["f",0,t=>"string"==typeof t&&e.test(t)])},469762,t=>{var e=t.i(245710);function r(t,e){let r=Math.max(0,e.getTime()-t.getTime());return r<6e4?"now":r<36e5?`${Math.floor(r/6e4)} min ago`:r<864e5?`${Math.floor(r/36e5)} h ago`:`${Math.floor(r/864e5)} d ago`}function n(t){let e=Math.max(0,Math.round(t/1e3));if(e<60)return`${e}s`;let r=Math.floor(e/60);return r<60?`${r}m ${String(e%60).padStart(2,"0")}s`:`${Math.floor(r/60)}h ${String(r%60).padStart(2,"0")}m`}t.s(["m",0,function(t,e){for(let t of e)try{let e=new URL(t);if("https:"!==e.protocol&&"http:"!==e.protocol||!e.host)continue;return e.host}catch{}return`${t}.vercel.app`},"W",0,function(t){return t?t.split(/\r?\n|\r/).map(t=>t.trim()).find(t=>""!==t)??"":""},"h",0,function(t,n){let i=n.getTime()-t.getTime();return i<36e5?r(t,n):(0,e.m)(t,n)?(0,e.U)(t):`${Math.max(1,Math.floor(i/864e5))} d ago`},"A",0,function(t,e){return"building"===t.state?`${n(e.getTime()-(t.buildingAt??t.createdAt).getTime())} elapsed`:t.readyAt&&t.buildingAt?n(t.readyAt.getTime()-t.buildingAt.getTime()):"—"},"v",0,function(t,r){return(0,e.m)(t,r)?(0,e.U)(t):`${(0,e.L)(t)} ${(0,e.U)(t)}`},"o",0,function(t,e){let r=Math.max(0,e.getTime()-t.getTime()),n=(t,e)=>`${t} ${e}${1===t?"":"s"}`;return r<36e5?n(Math.max(1,Math.floor(r/6e4)),"minute"):r<864e5?n(Math.floor(r/36e5),"hour"):n(Math.floor(r/864e5),"day")},"F",0,function(t){try{let e=new URL(t);return`${e.host}${e.pathname}`}catch{return t}},"$",0,function(t,i){if(!t)return"—";if("building"===t.state)return`building ${n(i.getTime()-(t.buildingAt??t.createdAt).getTime())}`;let a=t.readyAt??t.createdAt;return"error"===t.state?`failed ${(0,e.m)(a,i)?(0,e.U)(a):r(a,i)}`:"canceled"===t.state?`canceled ${r(a,i)}`:r(a,i)},"H",0,function(t){let{day:r,month:n,year:i}=(0,e.e)(t);return`${r} ${n} ${i}`},"p",0,t=>null===t?"—":`${Math.round(t)} ms`,"C",0,t=>null===t?"—":`${(Math.floor(100*t+1e-6)/100).toFixed(2)}%`,"J",0,r,"_",0,t=>t?t.slice(0,7):"—"])},910697,t=>{t.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=_0hsj1tx2ynla-._.js.map
@@ -1,3 +1,3 @@
1
1
  (()=>{"use strict";module.exports=[200592,e=>{var t=e.i(562810);e.s(["z",0,t])},390775,e=>{e.s(["A",0,function(e){return null===e?"Can't read the stored credential. The encryption key changed. Replace the credential.":null},"E",0,function(e){return e.ok?{status:"ok",lastError:null}:"auth"===e.kind?{status:"error",lastError:e.error}:null}])},442473,515743,266479,e=>{var t=e.i(300794);let r=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\[\d{1,6}\])*$/,a=new Set(["__proto__","prototype","constructor"]),n=e=>e.length>40?`${e.slice(0,39)}…`:e;function s(e,t,s){let o;if("contains"===e.kind)return t.includes(e.text)?null:s?"Keyword not found in the first 256 KB":"Keyword not found";try{o=JSON.parse(t)}catch{return s?"Response is larger than 256 KB":"Response isn't JSON"}let i=function(e){if(!r.test(e))return null;let t=[];for(let r of e.matchAll(/([A-Za-z_$][\w$]*)|\[(\d+)\]/g))t.push(void 0!==r[1]?r[1]:Number(r[2]));return t.some(e=>"string"==typeof e&&a.has(e))?null:t}(e.path);if(!i)return`JSON ${e.path} is missing`;let l=function(e,t){let r=e;for(let e of t)if("number"==typeof e){if(!Array.isArray(r)||e>=r.length)return{found:!1};r=r[e]}else{if(!r||"object"!=typeof r||Array.isArray(r)||!Object.hasOwn(r,e))return{found:!1};r=r[e]}return{found:!0,value:r}}(o,i);return l.found?("string"==typeof l.value?l.value:JSON.stringify(l.value))===e.equals?null:`JSON ${e.path} is ${n(JSON.stringify(l.value)??"undefined")}, expected "${n(e.equals)}"`:`JSON ${e.path} is missing`}e.s(["Q",0,262144,"$",0,s,"C",0,function(e){return e.bodyContains?{kind:"contains",text:e.bodyContains}:e.jsonPath&&null!==e.jsonEquals?{kind:"json",path:e.jsonPath,equals:e.jsonEquals}:null}],515743);let o=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;function i(e){let t=o.exec(e);if(!t)return null;let r=t.slice(1).map(Number);return r.every(e=>e<=255)?r:null}function l([e,t,r]){return 0===e||10===e||127===e||e>=224||100===e&&t>=64&&t<=127||169===e&&254===t||172===e&&t>=16&&t<=31||192===e&&0===t&&0===r||192===e&&168===t||198===e&&(18===t||19===t)}function u(e){let t=e.split("%")[0].toLowerCase();if(!t.includes(":"))return null;if(-1!==t.lastIndexOf(".")){let e=t.lastIndexOf(":"),r=i(t.slice(e+1));if(!r)return null;t=`${t.slice(0,e+1)}${(r[0]<<8|r[1]).toString(16)}:${(r[2]<<8|r[3]).toString(16)}`}let r=t.split("::");if(r.length>2)return null;let a=e=>""===e?[]:e.split(":"),n=a(r[0]),s=2===r.length?a(r[1]):[],o=8-n.length-s.length;if(1===r.length?0!==o:o<1)return null;let l=[...n,...Array(2===r.length?o:0).fill("0"),...s];return 8===l.length&&l.every(e=>/^[0-9a-f]{1,4}$/.test(e))?l.map(e=>parseInt(e,16)):null}function c(e){if(e.slice(0,6).every(e=>0===e)||e.slice(0,5).every(e=>0===e)&&65535===e[5]||e.slice(0,4).every(e=>0===e)&&65535===e[4]&&0===e[5]||100===e[0]&&65435===e[1]&&e.slice(2,6).every(e=>0===e)||100===e[0]&&65435===e[1]&&1===e[2])return!0;if(8194===e[0]){let t,r;return l([(t=e[1])>>8,255&t,(r=e[2])>>8,255&r])}return(65024&e[0])==64512||(65472&e[0])==65152||(65472&e[0])==65216||(65280&e[0])==65280}function d(e){let t=i(e);if(t)return l(t);let r=u(e);return!r||c(r)}function m(e){let t=e.trim().toLowerCase();if(t.startsWith("[")&&t.endsWith("]")){let e=u(t.slice(1,-1));return!e||c(e)}if(t.endsWith(".")&&(t=t.slice(0,-1)),!t)return!0;let r=i(t);if(r)return l(r);let a=t.slice(t.lastIndexOf(".")+1);return!(!/^(\d+|0x[0-9a-f]*)$/.test(a)&&t.includes("."))||"localhost"===t||/\.(localhost|local|internal)$/.test(t)||t.endsWith(".home.arpa")}function p(e){return"https:"!==e.protocol||e.username||e.password?"scheme":""!==e.port&&"443"!==e.port||m(e.hostname)?"blocked":null}e.s(["N",0,m,"W",0,d,"_",0,p],266479);let f=new Set([301,302,303,307,308]),h={ok:!1,statusCode:null,latencyMs:null,error:"Blocked address"};async function g(e){return(await (0,t.lookup)(e,{all:!0,verbatim:!0})).map(e=>e.address)}let k=e=>e.startsWith("[")||/^\d+\.\d+\.\d+\.\d+$/.test(e),y=e=>e.toLowerCase().replace(/^www\./,"");async function b(e,t,r,a){let n,s=t.lookup??g;try{n=new URL(e)}catch{return{refused:"blocked"}}let o=n;for(let e=0;;e++){var i,l;if(p(n))return{refused:"blocked"};if(t.sameOrigin&&(i=n,l="www"===t.sameOrigin,i.origin!==o.origin&&(!l||i.protocol!==o.protocol||i.port!==o.port||y(i.hostname)!==y(o.hostname))))return{refused:"origin"};if(!k(n.hostname)){let e=await Promise.race([s(n.hostname),a]);if(!e.length)throw Error("no address");if(e.some(d))return{refused:"blocked"}}r.throwIfAborted();let u=await (t.fetch??fetch)(n.toString(),{method:"GET",redirect:"manual",cache:"no-store",headers:{...t.headers,"User-Agent":t.userAgent??"OpsConsole-Uptime/1.0 (+https://watchbell.west-solutions.web.id)"},signal:r}),c=f.has(u.status)?u.headers.get("location"):null;if(null===c)return{res:u,url:n};if(await u.body?.cancel().catch(()=>void 0),e>=20)return{refused:"redirects"};try{n=new URL(c,n)}catch{return{refused:"blocked"}}}}function w(e){let t=new Promise((t,r)=>{e.aborted?r(e.reason):e.addEventListener("abort",()=>r(e.reason),{once:!0})});return t.catch(()=>void 0),t}function z(e,t){if(e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name))return`No answer within ${$(t)}`;let r=e instanceof TypeError&&e.cause instanceof Error?e.cause.message:"";return/redirect/i.test(r)?"Too many redirects":"Couldn't connect"}let $=e=>e<1e3?`${e} ms`:`${Math.round(e/1e3)} s`,A="Redirected to another site",j={blocked:"Blocked address",redirects:"Too many redirects",origin:A},I="DEPLOYMENT_NOT_FOUND";async function _(e,t={}){let r=t.timeoutMs??5e3,a=t.clock??(()=>performance.now()),n=a(),o=AbortSignal.timeout(r);try{let i,l=await b(e,t,o,w(o));if("refused"in l)return"blocked"===l.refused?h:{ok:!1,statusCode:null,latencyMs:null,error:j[l.refused]};let u=Math.round(a()-n),c=l.res.status===(t.expectedStatus??200);if(!c||!t.body){let e;return await l.res.body?.cancel().catch(()=>void 0),{ok:c,statusCode:l.res.status,latencyMs:u,error:c?null:`HTTP ${l.res.status}${(e=l.res,/^vercel$/i.test(e.headers.get("server")?.trim()??"")&&e.headers.get("x-vercel-error")?.trim()===I)?` \xb7 ${I}`:""}`}}try{i=await S(l.res,262144,w(o))}catch(e){return{ok:!1,statusCode:l.res.status,latencyMs:u,error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?`Body not read within ${$(r)}`:"Body couldn't be read"}}let d=s(t.body,new TextDecoder().decode(i.bytes),i.truncated);return{ok:null===d,statusCode:l.res.status,latencyMs:u,error:d}}catch(e){return{ok:!1,statusCode:null,latencyMs:null,error:z(e,r)}}}async function v(e,t={}){let r=t.timeoutMs??1e4,a=t.maxBytes??3145728,n=t.signal?AbortSignal.any([AbortSignal.timeout(r),t.signal]):AbortSignal.timeout(r),s=w(n);try{let r=await b(e,t,n,s);if("refused"in r)return{ok:!1,error:j[r.refused]};let{bytes:o,truncated:i}=await S(r.res,a,s),l=new TextDecoder().decode(o);return{ok:!0,status:r.res.status,url:r.url.toString(),body:l,truncated:i}}catch(e){return{ok:!1,error:z(e,r)}}}async function S(e,t,r){let a=e.body?.getReader(),n=[],s=0,o=!1;if(a)try{for(;;){let{done:e,value:i}=await Promise.race([a.read(),r]);if(e)break;let l=t-s;if(i.byteLength>l){n.push(i.subarray(0,l)),o=!0;break}if(n.push(i),(s+=i.byteLength)===t){o=!(await Promise.race([a.read(),r])).done;break}}}finally{a.cancel().catch(()=>void 0)}return{bytes:Buffer.concat(n),truncated:o}}async function C(e,t,r){let a=Array(e.length),n=0;async function s(){for(;n<e.length;){let t=n++;a[t]=await r(e[t])}}return await Promise.all(Array.from({length:Math.min(Math.max(1,t),e.length)},s)),a}e.s(["l",0,A,"X",0,w,"b",0,_,"P",0,C,"z",0,S,"K",0,v],442473)},679270,336030,309055,607910,880420,e=>{var t=e.i(875225),r=e.i(518899),a=e.i(924924),n=e.i(618916),s=e.i(390775),o=e.i(921991),i=e.i(656083),l=e.i(767512),u=e.i(547499),c=e.i(647006),d=e.i(762643),m=e.i(328203),p=e.i(569650),f=e.i(903101),h=e.i(177706),g=e.i(99263),k=e.i(795194),y=e.i(780148),b=e.i(443917),w=e.i(342833),z=e.i(691734),$=e.i(43790),A=e.i(764766),j=e.i(502240),I=e.i(349129),_=e.i(515743),v=e.i(61926),S=e.i(442473),C=e.i(425498),x=e.i(905685);let R=(e,r)=>null===r?(0,t.M)(e):(0,t.u)(e,r);async function P(e,r,s){let o=(0,x.G)(e.failStreak,r);return(await (0,a.f)().update(n.monitors).set({state:o.state,failStreak:o.failStreak,lastCheckedAt:s,lastStatus:r.statusCode,lastLatencyMs:r.latencyMs,lastError:r.error,...o.state!==e.state?{stateSince:s}:{},updatedAt:s}).where((0,t.b)((0,t.u)(n.monitors.id,e.id),null===e.lastCheckedAt?(0,t.M)(n.monitors.lastCheckedAt):(0,t.u)(n.monitors.lastCheckedAt,e.lastCheckedAt),(0,t.u)(n.monitors.state,e.state),(0,t.u)(n.monitors.failStreak,e.failStreak),(0,t.u)(n.monitors.url,e.url),(0,t.u)(n.monitors.expectedStatus,e.expectedStatus),R(n.monitors.bodyContains,e.bodyContains),R(n.monitors.jsonPath,e.jsonPath),R(n.monitors.jsonEquals,e.jsonEquals))).returning({id:n.monitors.id})).length>0}e.s(["T",0,R,"j",0,P],336030);var T=e.i(422067);e.i(984125);var N=e.i(275426),D=e.i(77193),M=e.i(959408),E=e.i(195191),O=e.i(46574),L=e.i(146394);e.i(988294);var U=e.i(739886),q=e.i(890948);function B(e){let t="heartbeat"===e.kind;return{id:e.id,appId:e.resourceId,url:e.url,path:t?e.name??"heartbeat":(0,v.K)(e.url),state:e.state,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,failStreak:e.failStreak,paused:e.paused,ownerPaused:e.ownerPaused,lastCheckedAt:e.lastCheckedAt,expectedStatus:e.expectedStatus,timeoutMs:e.timeoutMs,intervalS:e.intervalS,bodyContains:e.bodyContains,jsonPath:e.jsonPath,jsonEquals:e.jsonEquals,lastError:e.lastError,kind:t?"heartbeat":"http",name:e.name??null,periodS:e.periodS??null,graceS:e.graceS??null,lastPingAt:e.lastPingAt??null,stateSince:e.stateSince??null}}async function W(e){let r=await (0,a.f)().select({m:n.monitors,appName:n.resources.name,goneAt:n.resources.goneAt,appMeta:n.resources.meta}).from(n.monitors).innerJoin(n.resources,(0,t.u)(n.resources.id,n.monitors.resourceId)).where((0,t.b)((0,t.u)(n.resources.kind,"app"),(0,t.u)(n.resources.monitored,!0))).orderBy(n.resources.name,(0,I.A)(n.monitors.kind),n.monitors.url).limit(L.O.monitors),s=await (0,q._)(r.map(e=>e.m.id),e),o=await J(r.map(e=>({id:e.m.id,kind:e.m.kind,url:e.m.url,appId:e.m.resourceId,appName:e.appName,appMeta:e.appMeta,lastError:e.m.lastError})));return r.map(({m:t,appName:r,goneAt:a})=>({...B(t),appName:r,appGone:null!==a,days:s.get(t.id),uptime30:(0,O.Y)((0,O.w)(s.get(t.id),e,O.I)),move:o.get(t.id)??null}))}async function J(e){if(!e.some(e=>null!==(0,A.Y)(e.appMeta)))return new Map;let r=await (0,a.f)().select({id:n.resources.id,name:n.resources.name,meta:n.resources.meta}).from(n.resources).where((0,t.b)((0,t.u)(n.resources.kind,"app"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt))).limit(500);return(0,A.P)(e,r)}let F={ok:!1,error:"That monitor no longer exists."},V={ok:!1,error:"This app already has a monitor for that address."},G={ok:!1,error:"That app isn't watched. Tick it in Connections → Sync first."},Y="This app no longer exists at Vercel.",Z={ok:!1,error:Y},K={ok:!1,error:"Someone else changed this monitor just now. Reopen it and try again."},H={ok:!1,error:"That monitor is a heartbeat. Edit it from its own menu."},X={ok:!1,error:"The console doesn't check a heartbeat. It waits for your job's ping."};async function Q(e){return(0,a.f)().transaction(async t=>(await t.execute(r.B`select pg_advisory_xact_lock(hashtext('ops.monitors'))`),e(t)))}async function ee(e=(0,a.f)()){let[s]=await e.select({n:r.B`count(*)::int`}).from(n.monitors).innerJoin(n.resources,(0,t.u)(n.resources.id,n.monitors.resourceId)).where((0,t.b)((0,t.u)(n.monitors.kind,"http"),(0,t.u)(n.monitors.paused,!1),(0,t.u)(n.monitors.ownerPaused,!1),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt)));return s?.n??0}async function et(e){let[r]=await (0,a.f)().select({m:n.monitors,watched:n.resources.monitored,goneAt:n.resources.goneAt}).from(n.monitors).innerJoin(n.resources,(0,t.u)(n.resources.id,n.monitors.resourceId)).where((0,t.u)(n.monitors.id,e)).limit(1);return r??null}async function er(e,r){let s,o=await et(e);if(!o)return F;if("heartbeat"===o.m.kind)return H;if(o.goneAt)return Z;if(!o.watched)return G;let[i]=await (0,a.f)().select({id:n.monitors.id}).from(n.monitors).where((0,t.b)((0,t.u)(n.monitors.resourceId,o.m.resourceId),(0,t.u)(n.monitors.url,r.url),(0,t.c)(n.monitors.id,e))).limit(1);if(i)return V;let l=new Date,u={url:o.m.url,expectedStatus:o.m.expectedStatus,timeoutMs:o.m.timeoutMs,bodyContains:o.m.bodyContains,jsonPath:o.m.jsonPath,jsonEquals:o.m.jsonEquals},c=(0,M.V)(u,r)?{state:"unknown",failStreak:0,stateSince:l,lastCheckedAt:null,lastStatus:null,lastLatencyMs:null,lastError:null}:{};try{s=await (0,a.f)().update(n.monitors).set({url:r.url,expectedStatus:r.expectedStatus,timeoutMs:r.timeoutMs,bodyContains:r.bodyContains,jsonPath:r.jsonPath,jsonEquals:r.jsonEquals,...c,updatedAt:l}).where((0,t.b)((0,t.u)(n.monitors.id,e),(0,t.u)(n.monitors.url,o.m.url),(0,t.u)(n.monitors.expectedStatus,o.m.expectedStatus),R(n.monitors.bodyContains,o.m.bodyContains),R(n.monitors.jsonPath,o.m.jsonPath),R(n.monitors.jsonEquals,o.m.jsonEquals))).returning({id:n.monitors.id})}catch(t){let e;if("23505"===("string"==typeof(e=t?.code??t?.cause?.code)?e:void 0))return V;throw t}if(!s.length)return await et(e)?K:F;let d=u.url!==r.url;return{ok:!0,message:o.m.ownerPaused?`Saved ${(0,E.F)(r.url)}. It's checked again once you resume it.`:`Checking ${(0,E.F)(r.url)} from the next run.`,audit:{message:`Monitor edited: ${(0,E.F)(r.url)}`,...d?{detail:`was ${(0,E.F)(u.url)}`}:{},resourceId:o.m.resourceId}}}function ea(e,t){return!e.lastCheckedAt||t.getTime()-e.lastCheckedAt.getTime()>=T.O?null:{ok:!0,message:(0,M.T)({...e,lastCheckedAt:e.lastCheckedAt},t),passed:e.lastStatus===e.expectedStatus&&!e.lastError}}async function en(e){let t=await et(e);if(!t)return F;if("heartbeat"===t.m.kind)return X;let r=t.goneAt?Y:t.watched?(0,M.i)(t.m)?null:"Paused monitors aren't checked. Resume it first.":"Its app isn't watched. Tick it in Connections → Sync first.";if(r)return{ok:!1,error:r};let s=ea(t.m,new Date);if(s)return s;let o=await (0,U.f)(),l=(0,D.W)()?(0,C.M)(t.m.expectedStatus):await (0,S.b)(t.m.url,{expectedStatus:t.m.expectedStatus,timeoutMs:t.m.timeoutMs,body:(0,_.C)(t.m)}),u=new Date;if(!await P(t.m,l,u)){let t=await et(e);return t?ea(t.m,new Date)??{ok:!1,error:"The monitor changed while it was being checked. Try again."}:F}let c=null!==(0,N.x)(o,{monitorId:e,appId:t.m.resourceId},u);await (0,a.f)().insert(n.checks).values({monitorId:e,at:u,ok:l.ok,statusCode:l.statusCode,latencyMs:l.latencyMs,error:l.error,inMaintenance:c});let d=(0,x.G)(t.m.failStreak,l),m=(0,x.F)({resourceId:t.m.resourceId,path:(0,v.K)(t.m.url),prev:t.m.state,next:d.state,code:l.statusCode,error:l.error,at:u});return await (0,i.f)([m]),{ok:!0,message:(0,M.X)(l),passed:l.ok,audit:{message:`Check now: ${(0,E.F)(t.m.url)}`,resourceId:t.m.resourceId}}}e.s(["Q",0,ee,"X",0,en,"d",0,W,"J",0,J,"M",0,B,"q",0,er,"e",0,Q],309055);var es=e.i(843448);function eo(e,t,r){let a=new Map(e.map(e=>[e.externalId,e])),n=new Set(t.map(e=>e.externalId)),s=new Set(r.keepTeamIds??[]);return{update:t.filter(e=>a.has(e.externalId)).map(e=>({id:a.get(e.externalId).id,name:e.name,meta:e.meta})),insert:t.filter(e=>!a.has(e.externalId)).map(e=>({...e,monitored:r.watchNew})),gone:e.filter(e=>!n.has(e.externalId)&&!(null!==e.teamId&&s.has(e.teamId))).map(e=>e.id)}}function ei(e,t){return!e.monitored&&t.getTime()-e.firstSeenAt.getTime()<864e5}let el={vercel:"app",supabase:"supabase_project",neon:"neon_project",firebase:"firestore",cloudflare:"zone",turso:"turso_database",upstash:"upstash_redis"},eu=Object.keys(el),ec=e=>Object.hasOwn(el,e)?el[e]:null,ed=e=>"string"==typeof e&&e?e:null;function em(e,t){return"app"===e?`Vercel project${ed(t.teamName)?` \xb7 ${t.teamName}`:""}`:"zone"===e?`Cloudflare zone \xb7 ${ed(t.status)??"unknown"}`:"supabase_project"===e?["Supabase project",ed(t.status)?(0,es.P)(String(t.status)).label:null,ed(t.region)].filter(Boolean).join(" · "):"neon_project"===e?["Neon project",ed(t.region)].filter(Boolean).join(" · "):"turso_database"===e?["Turso database",ed(t.group)?`group ${t.group}`:null,ed(t.region)].filter(Boolean).join(" · "):"upstash_redis"===e?["Upstash Redis",ed(t.region)].filter(Boolean).join(" · "):"Firebase project"}let ep=e=>"app"===e?"app":"zone"===e?"dom":"firestore"===e?"fs":"db";async function ef(e){let[r]=await (0,a.f)().select().from(n.accounts).where((0,t.u)(n.accounts.id,e)).limit(1);if(!r)return null;let i=(0,o.V)({ciphertext:r.credentialCiphertext,iv:r.credentialIv},(0,u.f)().OPS_ENCRYPTION_KEY);return{account:r,token:i,problem:(0,s.A)(i)}}async function eh(e,r){let s=new Date;return(await (0,a.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,r),(0,t.M)(n.resources.goneAt))).orderBy(n.resources.name).limit(500)).map(e=>({id:e.id,name:e.name,sub:em(e.kind,e.meta),monitored:e.monitored,fresh:ei(e,s),badge:ep(e.kind)}))}async function eg(e,r){let s=await (0,a.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,"app"))),o=s.filter(e=>e.monitored&&!e.goneAt),i=s.filter(e=>!e.monitored||e.goneAt);if(i.length&&await (0,a.f)().update(n.monitors).set({paused:!0,updatedAt:new Date}).where((0,t.y)(n.monitors.resourceId,i.map(e=>e.id))),!o.length)return 0;let l=await (0,a.f)().select({id:n.monitors.id,resourceId:n.monitors.resourceId,paused:n.monitors.paused,ownerPaused:n.monitors.ownerPaused,kind:n.monitors.kind}).from(n.monitors).where((0,t.y)(n.monitors.resourceId,o.map(e=>e.id))),u=(0,M.Y)(l.filter(e=>"heartbeat"===e.kind));u.length&&await (0,a.f)().update(n.monitors).set({paused:!1,updatedAt:new Date}).where((0,t.y)(n.monitors.id,u));let c=l.filter(e=>"heartbeat"!==e.kind),d=(0,M.Y)(c),m=new Set(l.map(e=>e.resourceId)),p=[];for(let e of o.filter(e=>!m.has(e.id))){let t=String(e.meta.teamId??""),a="string"==typeof e.meta.primaryDomain&&e.meta.primaryDomain?e.meta.primaryDomain:null,n=a?{ok:!0,data:a}:r?await (0,h.q)(r,t,e.externalId,e.name):null;p.push({appId:e.id,url:`https://${n?.ok?n.data:`${e.name}.vercel.app`}/`})}return d.length||p.length?Q(async e=>{let r=Math.max(0,M.G-await ee(e)),a=new Set,s=d.slice(0,r),o=d.slice(s.length);r-=s.length;let i=new Date;if(s.length&&await e.update(n.monitors).set({paused:!1,updatedAt:i}).where((0,t.y)(n.monitors.id,s)),o.length)for(let r of(await e.update(n.monitors).set({paused:!1,ownerPaused:!0,updatedAt:i}).where((0,t.y)(n.monitors.id,o)),c.filter(e=>o.includes(e.id))))a.add(r.resourceId);for(let t of p){let s=r>0;s?r-=1:a.add(t.appId),await e.insert(n.monitors).values({resourceId:t.appId,url:t.url,ownerPaused:!s}).onConflictDoNothing()}return a.size}):0}async function ek(e,s,o,i){let l=Array.isArray(o.productionAliases)?o.productionAliases.filter(e=>"string"==typeof e):[],u=(0,A.Q)(i,s,l,o);await (0,a.f)().update(n.resources).set({meta:r.B`${n.resources.meta} || ${JSON.stringify(u)}::jsonb`}).where((0,t.u)(n.resources.id,e))}async function ey(e,r){for(let s of(await (0,a.f)().select({id:n.resources.id,name:n.resources.name,externalId:n.resources.externalId,meta:n.resources.meta,monitored:n.resources.monitored,goneAt:n.resources.goneAt}).from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,"app")))).filter(e=>e.monitored&&!e.goneAt)){let e=await (0,h.M)(r,String(s.meta.teamId??""),s.externalId);if(e.ok)await ek(s.id,s.name,s.meta,e.data);else if("auth"===e.kind||429===e.status)return}}async function eb(e,r,s,o){let i=eo((await (0,a.f)().select({id:n.resources.id,externalId:n.resources.externalId,monitored:n.resources.monitored}).from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,"zone")))).map(e=>({...e,teamId:null})),s.map(e=>({externalId:e.id,name:e.name,meta:{status:e.status,accountId:e.accountId,accountName:e.accountName}})),{watchNew:r});await (0,a.f)().transaction(async r=>{for(let e of i.update)await r.update(n.resources).set({name:e.name,meta:e.meta,lastSeenAt:o,goneAt:null,updatedAt:o}).where((0,t.u)(n.resources.id,e.id));i.insert.length&&await r.insert(n.resources).values(i.insert.map(t=>({accountId:e,kind:"zone",externalId:t.externalId,name:t.name,meta:t.meta,monitored:t.monitored}))).onConflictDoNothing({target:[n.resources.accountId,n.resources.kind,n.resources.externalId]}),i.gone.length&&await r.update(n.resources).set({goneAt:o,updatedAt:o}).where((0,t.b)((0,t.y)(n.resources.id,i.gone),(0,t.M)(n.resources.goneAt)))})}async function ew(e,r,o){let i=await (0,f.F)(r);if(!i.ok){let r=(0,s.E)({ok:!1,kind:"scope"===i.kind?"auth":i.kind,error:i.error});return r&&await (0,a.f)().update(n.accounts).set({...r,updatedAt:new Date}).where((0,t.u)(n.accounts.id,e)),{ok:!1,error:i.error}}let l=new Date;await eb(e,o,i.data,l);let u=await (0,f.d)(r);return await (0,a.f)().update(n.accounts).set({lastSyncAt:l,status:"ok",lastError:null,updatedAt:l,...u.ok?{expiresAt:u.data.expiresAt}:{}}).where((0,t.u)(n.accounts.id,e)),{ok:!0}}async function ez(e,t){let r=e=>({ok:!1,kind:"auth"===e.kind||"scope"===e.kind?"auth":"format"===e.kind?"format":"transient",error:e.error});if("vercel"===e){let e=await (0,h.G)(t);return e.ok?{ok:!0,found:e.data.apps,skippedTeams:e.data.skippedTeams,skippedTeamIds:e.data.skippedTeamIds}:{ok:!1,kind:e.kind,error:e.error}}if("supabase"===e){let e=await (0,w.W)(t);return e.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:e.data.filter(e=>"REMOVED"!==e.status).map(e=>({externalId:e.ref,name:e.name,meta:{orgSlug:e.orgSlug,region:e.region,pgVersion:e.pgVersion,createdAt:e.createdAt,status:e.status}}))}:r(e)}if("neon"===e){let e=await (0,b.m)(t);return e.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:e.data.map(e=>({externalId:e.id,name:e.name,meta:{orgId:e.orgId,region:e.region,pgVersion:e.pgVersion,createdAt:e.createdAt}}))}:r(e)}if("turso"===e){let e=await (0,z.t)(t);return e.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:e.data.map(e=>({externalId:e.id,name:e.name,meta:{org:e.org,group:e.group,region:e.primaryRegion}}))}:r(e)}if("upstash"===e){let e=(0,$.L)(t);if(!e)return{ok:!1,kind:"format",error:"The stored Upstash credential can't be read. Replace it."};let a=await (0,$.M)(e);return a.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:a.data.map(e=>({externalId:e.id,name:e.name,meta:{region:e.region,type:e.type}}))}:r(a)}let a=(0,y.p)(t);if(!a)return{ok:!1,kind:"format",error:"The stored service account can't be read. Replace the credential."};let n=await (0,y.X)(a);if(!n.ok)return r(n);let s=await (0,k.z)(a,n.data);return s.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:s.data.map(e=>({externalId:e.projectId,name:e.displayName,meta:{projectId:e.projectId}}))}:r(s)}async function e$(e){let r=await ef(e);if(!r)return{ok:!1,error:"That account no longer exists."};let{account:o,token:i,problem:l}=r,u=ec(o.provider);if(!u)return{ok:!1,error:"Sync for this provider arrives in a later stage."};if(l||!i)return{ok:!1,error:l??"The credential can't be read."};if("cloudflare"===o.provider){let t=await ew(e,i,o.watchNew);return t.ok?{ok:!0,rows:await eh(e,u),skippedTeams:[],overLimit:null}:t}let c=await ez(o.provider,i);if(!c.ok){let r=(0,s.E)({ok:!1,kind:c.kind,error:c.error});return r&&await (0,a.f)().update(n.accounts).set({...r,updatedAt:new Date}).where((0,t.u)(n.accounts.id,e)),{ok:!1,error:c.error}}let d=(await (0,a.f)().select({id:n.resources.id,externalId:n.resources.externalId,monitored:n.resources.monitored,meta:n.resources.meta}).from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,u)))).map(e=>({id:e.id,externalId:e.externalId,monitored:e.monitored,teamId:"string"==typeof e.meta.teamId?e.meta.teamId:null,meta:e.meta})),m=new Map(d.map(e=>[e.id,e.meta])),p=eo(d,c.found,{watchNew:o.watchNew,keepTeamIds:c.skippedTeamIds}),f="vercel"===o.provider?await (0,h.o)(i):null,g=new Date;await (0,a.f)().transaction(async r=>{for(let e of p.update){var a;await r.update(n.resources).set({name:e.name,meta:{...e.meta,...(a=m.get(e.id))&&"string"==typeof a.primaryDomain?{domains:a.domains,primaryDomain:a.primaryDomain,pastDomains:a.pastDomains??[]}:{},...(0,j.K)(m.get(e.id))},lastSeenAt:g,goneAt:null,updatedAt:g}).where((0,t.u)(n.resources.id,e.id))}p.insert.length&&await r.insert(n.resources).values(p.insert.map(t=>({accountId:e,kind:u,externalId:t.externalId,name:t.name,meta:t.meta,monitored:t.monitored}))).onConflictDoNothing({target:[n.resources.accountId,n.resources.kind,n.resources.externalId]}),p.gone.length&&await r.update(n.resources).set({goneAt:g,updatedAt:g}).where((0,t.b)((0,t.y)(n.resources.id,p.gone),(0,t.M)(n.resources.goneAt))),await r.update(n.accounts).set({lastSyncAt:g,status:"ok",lastError:null,updatedAt:g,...f?.ok?{expiresAt:f.data}:{}}).where((0,t.u)(n.accounts.id,e))}),"vercel"===o.provider&&await ey(e,i);let k="vercel"===o.provider?await eg(e,i):0;return{ok:!0,rows:await eh(e,u),skippedTeams:c.skippedTeams,overLimit:(0,M.S)(k)}}e.s(["I",0,eu,"d",0,ep,"T",0,ei,"J",0,eo,"K",0,ec,"S",0,em],607910),e.s(["F",0,ek,"k",0,e$,"s",0,eb],880420);let eA=r.B`excluded.meta`;async function ej(e){let r=(0,u.f)().OPS_ENCRYPTION_KEY;return(await (0,a.f)().select().from(n.accounts).where((0,t.b)((0,t.u)(n.accounts.provider,e),(0,t.u)(n.accounts.status,"ok")))).map(e=>{let t=(0,o.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},r);return{acc:e,token:(0,s.A)(t)?null:t}})}async function eI(e,r,o){for(let{acc:i,token:u}of(await ej("cloudflare"))){if(!u){o.push(`cloudflare/${i.label}: credential can't be read`);continue}let c=await (0,f.F)(u);if(!c.ok){let r=(0,s.E)({ok:!1,kind:"scope"===c.kind?"auth":c.kind,error:c.error});if(r&&await (0,a.f)().update(n.accounts).set({...r,updatedAt:e}).where((0,t.u)(n.accounts.id,i.id)),o.push(`cloudflare/${i.label}: ${c.error}`),429===c.status)return;continue}for(let s of(await eb(i.id,i.watchNew,c.data,e),await (0,a.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,i.id),(0,t.u)(n.resources.kind,"zone"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt))))){if(r-Date.now()<6e3)return void o.push("cloudflare: skipped remaining zones, time budget used");let t=c.data.find(e=>e.id===s.externalId),[a,n,i]=await Promise.all([(0,f.p)(u,s.externalId),(0,f.v)(u,s.externalId),(0,f.w)(u,s.externalId)]),d=[a,n,i].flatMap(e=>e.ok?[]:[e]),m={zone:{status:t?.status??null,paused:t?.paused??!1,nameServers:t?.nameServers??[],accountId:t?.accountId??null,checkedAt:e.toISOString()},ssl:n.ok?{mode:n.data,error:null}:{mode:null,error:n.error},cfErrors:d.map(e=>e.error)};for(let t of(a.ok?Object.assign(m,{records:a.data.records,recordsTruncated:a.data.truncated}):"scope"===a.kind&&Object.assign(m,{records:[],recordsTruncated:!1}),i.ok?m.certs=i.data:"scope"===i.kind&&(m.certs=[]),await (0,l.r)(s.id,m,e),d))"scope"!==t.kind&&o.push(`cloudflare/${s.name}: ${t.error}`);if(d.some(e=>429===e.status))return}}}async function e_(e,r,s){for(let{acc:o,token:i}of(await ej("vercel"))){if(!i)continue;let u=await (0,a.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,o.id),(0,t.u)(n.resources.kind,"app"))),c=u.filter(e=>e.monitored&&!e.goneAt),d=u.filter(e=>!e.monitored||e.goneAt).map(e=>e.id);for(let u of(d.length&&await (0,a.f)().update(n.resources).set({monitored:!1,updatedAt:e}).where((0,t.b)((0,t.u)(n.resources.kind,"domain"),(0,t.y)(n.resources.parentId,d))),c)){if(Date.now()>r)return void s.push("domains: skipped remaining apps, time budget used");let c=String(u.meta.teamId??""),d=await (0,h.M)(i,c,u.externalId);if(!d.ok){if(s.push(`domains/${u.name}: ${d.error}`),429===d.status)return;if("auth"===d.kind)break;continue}await ek(u.id,u.name,u.meta,d.data);let p=d.data.filter(e=>!e.gitBranch),f=p.length?await (0,a.f)().insert(n.resources).values(p.map(t=>({accountId:o.id,kind:"domain",externalId:t.name,name:t.name,parentId:u.id,monitored:!0,meta:{redirect:t.redirect,verified:t.verified,projectId:u.externalId},lastSeenAt:e}))).onConflictDoUpdate({target:[n.resources.accountId,n.resources.kind,n.resources.externalId],set:{parentId:u.id,monitored:!0,goneAt:null,lastSeenAt:e,updatedAt:e,meta:eA}}).returning({id:n.resources.id,name:n.resources.name}):[];for(let o of(await (0,a.f)().update(n.resources).set({goneAt:e,updatedAt:e}).where((0,t.b)((0,t.u)(n.resources.kind,"domain"),(0,t.u)(n.resources.parentId,u.id),(0,t.M)(n.resources.goneAt),p.length?(0,t.$)(n.resources.externalId,p.map(e=>e.name)):void 0)),f.filter(e=>!(0,m.e)(e.name)))){if(Date.now()>r)return;let t=await (0,h.Q)(i,c,o.name);t.ok?await (0,l.r)(o.id,{vercel:{...t.data,checkedAt:e.toISOString()}},e):"transient"===t.kind&&s.push(`domains/${o.name}: ${t.error}`)}}}}async function ev(){return(0,a.f)().select({r:n.resources,s:n.snapshots}).from(n.resources).leftJoin(n.snapshots,(0,t.u)(n.snapshots.resourceId,n.resources.id)).where((0,t.b)((0,t.u)(n.resources.kind,"domain"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt)))}async function eS(){return(0,a.f)().select({r:n.resources,s:n.snapshots}).from(n.resources).leftJoin(n.snapshots,(0,t.u)(n.snapshots.resourceId,n.resources.id)).where((0,t.b)((0,t.u)(n.resources.kind,"zone"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt)))}let eC=(e,t)=>((0,m.Z)(e)?.getTime()??0)-((0,m.Z)(t)?.getTime()??0);async function ex(e,r,s){let[o]=await (0,a.f)().select({data:n.snapshots.data}).from(n.snapshots).where((0,t.u)(n.snapshots.resourceId,e)).limit(1),i=await (0,p.f)(r,{timeoutMs:5e3});await (0,l.r)(e,{tls:(0,c.o)(i,(0,c.q)(o?.data).tls,s)},s)}async function eR(e,t,r){let a=(await ev()).filter(({r:t,s:r})=>!(0,m.e)(t.name)&&(0,m.Y)((0,c.q)(r?.data).tls?.checkedAt,e)).sort((e,t)=>eC((0,c.q)(e.s?.data).tls?.checkedAt,(0,c.q)(t.s?.data).tls?.checkedAt)).slice(0,m.H);await (0,S.P)(a,4,async({r:a})=>{if(!(t-Date.now()<6e3))try{await ex(a.id,a.name,e)}catch{r.push(`tls/${a.name}: couldn't save the result`)}})}async function eP(e,r,s,o){let[i]=await (0,a.f)().select({data:n.snapshots.data}).from(n.snapshots).where((0,t.u)(n.snapshots.resourceId,e)).limit(1),u=(0,c.q)(i?.data).rdap,m=o;if(!m){let e=await (0,d.Y)();if(!e.ok)return e.error;m=e.services}let p=(0,d.T)(m,r),f=p?await (0,d.u)(r,p):{ok:!1,error:"The registry has no RDAP server"};return await (0,l.r)(e,{rdap:(0,c.n)(f,u,s)},s),f.ok?null:f.error}async function eT(e,t,r){let a=(await eS()).filter(({r:t,s:r})=>t.monitored&&(0,m.Y)((0,c.q)(r?.data).rdap?.checkedAt,e)).sort((e,t)=>eC((0,c.q)(e.s?.data).rdap?.checkedAt,(0,c.q)(t.s?.data).rdap?.checkedAt)).slice(0,m.H);if(!a.length)return;let n=await (0,d.Y)();if(!n.ok)return void r.push(`rdap: ${n.error}`);for(let{r:s}of a){if(t-Date.now()<6e3)return;let a=await eP(s.id,s.name,e,n.services);a&&"The registry has no RDAP server"!==a&&r.push(`rdap/${s.name}: ${a}`)}}async function eN(e,t,r){let s=t-Date.now();if(s<1e3)throw Error("skipped, time budget used");let o=await (0,g.z)({timeoutMs:Math.min(8e3,s)});if(!o.ok)return void r.push(`eol: ${o.error}`);let i={cycles:o.cycles,checkedAt:e.toISOString()};await (0,a.f)().insert(n.settings).values({key:g.T,value:i}).onConflictDoUpdate({target:n.settings.key,set:{value:i,updatedAt:e}})}async function eD(e){let t=await eS(),r=[];for(let{r:a,s:n}of t.filter(e=>e.s)){let t=(0,c.q)(n.data),s=(0,m.G)({status:t.zone?.status??null,paused:t.zone?.paused??!1,rdap:t.rdap},e);(s.state!==n.state||JSON.stringify(s.reasons)!==JSON.stringify(t.reasons))&&(await (0,l.r)(a.id,{reasons:s.reasons},e),s.state!==n.state&&await (0,l.a)(a.id,s.state,e),r.push((0,m.n)({resourceId:a.id,name:a.name,prev:n.state,next:s.state,reasons:s.reasons,at:e})))}let a=t.filter(e=>e.r.monitored).map(e=>e.r.name);for(let{r:n,s}of(await ev())){let o=(0,c.q)(s?.data),i=(0,m.J)(n.name,a),u=i?(0,c.q)(t.find(e=>e.r.name===i)?.s?.data):null,d=(0,m.k)({host:n.name,tls:o.tls,vercel:o.vercel,records:u?(0,m.Q)(n.name,u.records):[],zoneRdap:u?.rdap??null},e),p=s?.state??null;(d.state!==p||JSON.stringify(d.reasons)!==JSON.stringify(o.reasons))&&(await (0,l.r)(n.id,{reasons:d.reasons},e),d.state!==p&&await (0,l.a)(n.id,d.state,e),r.push((0,m.n)({resourceId:n.id,name:n.name,prev:p,next:d.state,reasons:d.reasons,at:e})))}await (0,i.f)(r)}e.s(["p",0,["cloudflare","domains","tls","rdap","eol"],"r",0,eP,"x",0,eD,"h",0,eI,"H",0,e_,"i",0,eN,"W",0,eT,"V",0,eR,"j",0,ex],679270)},209576,298397,e=>{var t=e.i(349129),r=e.i(875225),a=e.i(518899),n=e.i(924924),s=e.i(618916);let o=new Set(["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","db","fs"]);function i(e){let t=e+1,r="";for(;t>0;)r=String.fromCharCode(97+(t-1)%26)+r,t=Math.floor((t-1)/26);return r}let l=e=>(e instanceof Date?e:new Date(e)).getTime(),u=(e,t)=>l(e.firstSeenAt)-l(t.firstSeenAt)||(e.id<t.id?-1:+(e.id>t.id));function c(e,t){return[...e].sort(u).map((e,r)=>({id:e.id,name:e.name,alias:`${t}-${i(r)}`}))}function d(e,t=[]){let r=e.filter(e=>"app"===e.kind),a=c(r,"app"),n=[...t].sort((e,t)=>l(e.createdAt)-l(t.createdAt)||(e.id<t.id?-1:+(e.id>t.id))).map((e,t)=>({id:e.id,name:e.label,alias:`account-${t+1}`}));return{db:c(e.filter(e=>{let t;return null!=(t=e.kind)&&o.has(t)}),"db"),app:a,account:n,host:function(e,t){let r=[],a=new Set,n=(e,t,n)=>{let s=t.toLowerCase();a.has(s)||(a.add(s),r.push({id:e,name:s,alias:n}))},s=new Map(t.map(e=>[e.id,e])),o=e.filter(e=>"domain"===e.kind).sort(u),l=new Map;for(let e of o){let t=e.parentId?s.get(e.parentId):void 0;if(!t)continue;let r=(l.get(t.id)??0)+1;l.set(t.id,r),n(e.id,e.name,`${t.alias}${r>1?`-${r}`:""}.example`)}for(let e of t)n(`${e.id}:vercel`,`${e.name}.vercel.app`,`${e.alias}${l.has(e.id)?"-vercel":""}.example`);return e.filter(e=>"zone"===e.kind||"domain"===e.kind&&!(e.parentId&&s.has(e.parentId))).sort(u).filter(e=>!a.has(e.name.toLowerCase())).forEach((e,t)=>n(e.id,e.name,`site-${i(t)}.example`)),r}(e,a),team:function(e){let t=[];for(let r of[...e].sort(u)){let e=r.team?.trim();e&&!t.some(t=>t.name===e)&&t.push({id:`team:${e}`,name:e,alias:`team-${t.length+1}`})}return t}(r)}}function m(e,t){return e.db.find(e=>e.id===t)?.alias??"db-?"}let p=/[\p{L}\p{N}._%+-]+@[\p{L}\p{N}-]+(?:\.[\p{L}\p{N}-]+)*\.[\p{L}]{2,}/gu;function f(e){return e.replace(p,"[email hidden]")}let h=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),g="[\\p{L}\\p{N}_-]",k=new WeakMap;function y(e,t,r){let a;if(!e)return e;let n=r?t.db.find(e=>e.id===r):void 0,s=n&&n.name.trim().length>=2?e.replace((a=n.name,RegExp(`(?<!${g})${h(a)}(?!${g})`,"giu")),n.alias):e,o=function(e){if(k.has(e))return k.get(e);let t=new Set(e.app.map(e=>e.name.toLowerCase())),r=[...new Set(e.db.map(e=>e.name).filter(e=>e.trim().length>=2&&!t.has(e.toLowerCase())))].sort((e,t)=>t.length-e.length),a=new Map;for(let t of e.db)a.has(t.name.toLowerCase())||a.set(t.name.toLowerCase(),t.alias);let n=r.length?{re:RegExp(`(?<!${g})(?:${r.map(h).join("|")})(?!${g})`,"giu"),alias:a}:null;return k.set(e,n),n}(t);return o&&(s=s.replace(o.re,e=>o.alias.get(e.toLowerCase())??e)),f(s)}let b=(e,t)=>!!t&&e.db.some(e=>e.id===t),w=String.raw`[\p{L}\p{N}_.-]`,z=String.raw`(?![\p{L}\p{N}_-]|\.[\p{L}\p{N}])`;new WeakMap;let $=new WeakMap;async function A(){let[e,o]=await Promise.all([(0,n.f)().select({id:s.resources.id,kind:s.resources.kind,name:s.resources.name,firstSeenAt:s.resources.firstSeenAt,parentId:s.resources.parentId,team:a.B`${s.resources.meta}->>'teamSlug'`}).from(s.resources).where((0,r.y)(s.resources.kind,["app","supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"])).orderBy((0,t.M)(s.resources.firstSeenAt),(0,t.M)(s.resources.id)).limit(2e3),(0,n.f)().select({id:s.accounts.id,label:s.accounts.label,createdAt:s.accounts.createdAt}).from(s.accounts).orderBy((0,t.M)(s.accounts.createdAt),(0,t.M)(s.accounts.id)).limit(200)]);return d(e,o)}e.s(["a",0,{db:[],app:[]},"r",0,(e,t)=>e.app.find(e=>e.name===t)?.alias??"app-?","n",0,d,"X",0,m,"o",0,function(e,t){return{...e,title:b(t,e.resourceId)?m(t,e.resourceId):y(e.title,t,e.resourceId),message:y(e.message,t,e.resourceId),causedBy:y(e.causedBy,t)}},"G",0,f,"p",0,function(e,t){return{...e,resource:b(t,e.resourceId)?m(t,e.resourceId):y(e.resource,t),message:y(e.message,t,e.resourceId),detail:y(e.detail,t,e.resourceId)}},"J",0,y,"d",0,function(e,t){let r=/^db-unlinked:(.+)$/.exec(e.key)?.[1];return{...e,subject:r?m(t,r):y(e.subject,t),title:y(e.title,t,r),why:y(e.why,t,r),fix:y(e.fix,t,r)}},"q",0,function(e,t){if(!e)return e;let r=function(e){let t=$.get(e);if(t)return t;let r=new Map((e.host??[]).map(e=>[e.alias.toLowerCase(),e.name])),a=new Map;for(let t of[...e.app,...e.db])t.name.trim()&&!a.has(t.alias.toLowerCase())&&a.set(t.alias.toLowerCase(),t.name);let n=e=>[...e].sort((e,t)=>t.length-e.length).map(h).join("|"),s={host:r.size?RegExp(String.raw`(?<![\p{L}\p{N}_-])(?:${n(r.keys())})${z}`,"giu"):null,hostName:r,names:a.size?RegExp(`(?<!${w})(?:${n(a.keys())})${z}`,"giu"):null,realName:a};return $.set(e,s),s}(t),a=e;return r.host&&(a=a.replace(r.host,e=>r.hostName.get(e.toLowerCase())??e)),r.names&&(a=a.replace(r.names,e=>r.realName.get(e.toLowerCase())??e)),f(a)}],298397),e.s(["f",0,A],209576)},767512,e=>{var t=e.i(875225),r=e.i(518899),a=e.i(924924),n=e.i(618916);async function s(e,t,s){await (0,a.f)().insert(n.snapshots).values({resourceId:e,data:t,collectedAt:s,stateSince:s}).onConflictDoUpdate({target:n.snapshots.resourceId,set:{data:r.B`${n.snapshots.data} || ${JSON.stringify(t)}::jsonb`,collectedAt:s}})}async function o(e,r,s){await (0,a.f)().update(n.snapshots).set({state:r,stateSince:s}).where((0,t.u)(n.snapshots.resourceId,e))}e.s(["r",0,s,"a",0,o])},502240,455037,e=>{var t=e.i(971724),r=e.i(206033),a=e.i(105954),n=e.i(180473),s=e.i(455744);let o=e=>/^[A-Za-z0-9_.-]{1,100}\/[A-Za-z0-9_.-]{1,100}$/.test(e)&&!e.includes(".."),i=e=>e.split("/").map(encodeURIComponent).join("/");async function l(e,t,r,a="application/vnd.github+json"){let n,s=r.timeoutMs??5e3;try{n=await (r.fetch??fetch)(`https://api.github.com${e}`,{headers:{Authorization:`Bearer ${t}`,Accept:a,"X-GitHub-Api-Version":"2022-11-28","User-Agent":"Watchbell"},signal:AbortSignal.timeout(s),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?`GitHub didn't answer within ${Math.round(s/1e3)} seconds.`:"Couldn't reach GitHub."}}let o=await n.text().catch(()=>"");if(n.ok){let e=null;if(a.endsWith("+json")&&!a.includes(".raw"))try{e=JSON.parse(o)}catch{e=null}return{ok:!0,data:e,text:o,headers:n.headers}}let i=n.status;if(401===i)return{ok:!1,kind:"auth",status:i,error:"GitHub rejected this token (401). It may have expired or been revoked."};if((403===i||429===i)&&("0"===n.headers.get("x-ratelimit-remaining")||429===i)){let e=Number(n.headers.get("x-ratelimit-reset"));return{ok:!1,kind:"transient",status:i,retryAfterS:Number.isFinite(e)&&e>0?Math.max(1,e-Math.floor(Date.now()/1e3)):60,error:"GitHub's rate limit is used up for now. The next run tries again."}}return 403===i?{ok:!1,kind:"scope",status:i,error:"This token can't read that (403). It needs Metadata, Contents and Actions read on the repository."}:404===i?{ok:!1,kind:"missing",status:i,error:"GitHub doesn't show this to the token (404)."}:{ok:!1,kind:"transient",status:i,error:`GitHub returned an error (${i}).`}}let u=t.z.object({id:r.z.number(),name:a.z.string(),full_name:a.z.string(),owner:t.z.object({login:a.z.string()}),default_branch:a.z.string().nullish(),private:n.z.boolean(),archived:n.z.boolean().optional(),html_url:a.z.string().nullish(),pushed_at:a.z.string().nullish()}),c=e=>({ok:!1,kind:"format",error:`GitHub answered ${e} in a format the console doesn't recognise.`});async function d(e,r={}){let n=await l("/user",e,r);return n.ok?t.z.object({login:a.z.string()}).safeParse(n.data).success?{ok:!0,data:{expiresAt:function(e){let t=e.get("github-authentication-token-expiration")?.trim();if(!t)return null;let r=/^(\d{4}-\d{2}-\d{2})[ T](\d{2}:\d{2}:\d{2})\s*(UTC|Z|[+-]\d{2}:?\d{2})?$/.exec(t);if(!r)return null;let a=r[3]&&"UTC"!==r[3]&&"Z"!==r[3]?r[3].includes(":")?r[3]:`${r[3].slice(0,3)}:${r[3].slice(3)}`:"Z",n=new Date(`${r[1]}T${r[2]}${a}`);return Number.isNaN(n.getTime())?null:n}(n.headers)}}:c("the token check"):n}async function m(e,t={}){let r=[];for(let a=1;a<=3;a++){let n=await l(`/user/repos?per_page=100&page=${a}&sort=pushed&affiliation=owner,collaborator,organization_member`,e,t);if(!n.ok)return n;let i=s.z.array(u).safeParse(n.data);if(!i.success)return c("the repository list");for(let e of i.data){if(!o(e.full_name))continue;let t=e.pushed_at?new Date(e.pushed_at):null;r.push({id:String(e.id),owner:e.owner.login,name:e.name,fullName:e.full_name,defaultBranch:e.default_branch??null,private:e.private,archived:e.archived??!1,htmlUrl:e.html_url??null,pushedAt:t&&!Number.isNaN(t.getTime())?t:null})}if(i.data.length<100)return{ok:!0,data:{repos:r,truncated:!1}}}return{ok:!0,data:{repos:r,truncated:!0}}}async function p(e,t,r={}){if(!o(t))return{ok:!0,data:null};let a=await l(`/repos/${i(t)}/contents/package.json`,e,r,"application/vnd.github.raw+json");if(!a.ok)return"missing"===a.kind?{ok:!0,data:null}:a;if(a.text.length>262144)return{ok:!0,data:null};try{let e=JSON.parse(a.text).name;return{ok:!0,data:"string"==typeof e&&e.trim()&&e.length<=214?e.trim():null}}catch{return{ok:!0,data:null}}}let f=t.z.object({total_count:r.z.number(),workflow_runs:s.z.array(t.z.object({status:a.z.string().nullish(),conclusion:a.z.string().nullish(),name:a.z.string().nullish(),display_title:a.z.string().nullish(),head_branch:a.z.string().nullish(),head_sha:a.z.string().nullish(),html_url:a.z.string().nullish(),run_number:r.z.number().nullish(),updated_at:a.z.string().nullish(),created_at:a.z.string().nullish()}))});async function h(e,t,r,a={}){if(!o(t))return{ok:!1,kind:"format",error:"That isn't a repository name."};let n=new URLSearchParams({per_page:"1",exclude_pull_requests:"true",...r?{branch:r}:{}}),s=await l(`/repos/${i(t)}/actions/runs?${n}`,e,a);if(!s.ok)return s;let u=f.safeParse(s.data);if(!u.success)return c("the Actions runs");let d=u.data.workflow_runs[0];return d?{ok:!0,data:{status:d.status??"unknown",conclusion:d.conclusion??null,name:d.name??d.display_title??null,branch:d.head_branch??null,sha:d.head_sha??null,url:d.html_url?.startsWith("https://github.com/")?d.html_url:null,at:d.updated_at??d.created_at??null,runNumber:d.run_number??null}}:{ok:!0,data:{none:!0}}}let g=e=>/^[A-Za-z0-9._\/-]{1,200}$/.test(e)&&!e.includes("..")&&!e.startsWith("/")&&!e.endsWith("/");async function k(e,t,r,a,n,s={}){if(!o(t)||!g(a)||!r||r.split("/").includes("..")||r.startsWith("/"))return{ok:!1,kind:"format",error:"That isn't a file in a repository."};let u=r.split("/").map(encodeURIComponent).join("/"),c=await l(`/repos/${i(t)}/contents/${u}?ref=${encodeURIComponent(a)}`,e,s,"application/vnd.github.raw+json");return c.ok?Buffer.byteLength(c.text,"utf8")>n||c.text.includes("\0")||(c.text.match(/�/g)?.length??0)>8?{ok:!0,data:null}:{ok:!0,data:c.text}:c}async function y(e,r,n,u={}){if(!o(r)||!/^[0-9a-f]{40}$/.test(n))return{ok:!1,kind:"format",error:"That isn't a repository or commit."};let d=await l(`/repos/${i(r)}/actions/runs?head_sha=${n}&per_page=50`,e,u);if(!d.ok)return d;let m=t.z.object({workflow_runs:s.z.array(t.z.object({status:a.z.string().nullish(),conclusion:a.z.string().nullish()}))}).safeParse(d.data);return m.success?{ok:!0,data:m.data.workflow_runs.map(e=>({status:e.status??"queued",conclusion:e.conclusion??null}))}:c("the Actions runs")}function b(e,t){return"string"==typeof e&&e!==t&&g(e)?e:null}t.z.object({sha:a.z.string().optional(),truncated:n.z.boolean().optional(),tree:s.z.array(t.z.object({path:a.z.string(),type:a.z.string(),size:r.z.number().optional()}))}),e.s(["$",0,262144,"V",0,k,"j",0,l,"k",0,d,"M",0,o,"c",0,g,"W",0,h,"o",0,m,"q",0,p,"f",0,i,"L",0,y],455037);let w=/^[0-9a-f]{7,40}$/i;function z(e){if(!e||"object"!=typeof e||Array.isArray(e))return null;let t="string"==typeof e.ref&&g(e.ref)?e.ref:null;if("string"==typeof e.ref&&!t)return null;let r="string"==typeof e.sha&&w.test(e.sha)?e.sha:null,a="string"==typeof e.at&&Number.isFinite(Date.parse(e.at))?e.at:null,n="string"==typeof e.id&&/^[A-Za-z0-9_-]{1,80}$/.test(e.id)?e.id:null,s={...r?{sha:r}:{},...a?{at:a}:{},...n?{id:n}:{}};return"git"===e.kind&&t?{kind:"git",ref:t,...s}:"cli"===e.kind?{kind:"cli",...t?{ref:t}:{},...s}:null}function $(e){let t=z(e?.productionSource);return t?.kind==="git"?t.ref:e?.productionBranch}e.s(["u",0,6e5,"a",0,function(e,t){let r=z(e?.productionSource),a=[];for(let n of[r?.kind==="git"?r.ref:null,e?.productionBranch,t])if(!("string"!=typeof n||!g(n)||a.includes(n))&&(a.push(n),n===t))break;return a},"q",0,function(e,t){let r=z(e?.productionSource);return r?.kind==="git"?r.ref:b(e?.productionBranch,t)??t??("string"==typeof e?.productionBranch&&g(e.productionBranch)?e.productionBranch:null)},"K",0,function(e){let t=z(e?.productionSource);return t?{productionSource:t}:{}},"i",0,b,"B",0,function(e,t,r){let a=z(e);if(!a)return null;let n=t??"a stale branch";return!a.at||r.getTime()-Date.parse(a.at)>18e5?`Watchbell can't confirm what production is built from (no reading in the last 30 minutes). Merging this PR could deploy ${n} to production and replace what is live.`:"cli"===a.kind?`Production was deployed from the CLI${t?`, not built from ${t}`:""}. Merging this PR would deploy ${n} to production and replace what is live.`:t&&a.ref!==t?`Production was built from ${a.ref}, not ${t}. Merging this PR would deploy ${t} to production and replace what is live.`:null},"s",0,function(e){let t=e.branch&&g(e.branch)?e.branch:null,r=e.sha&&w.test(e.sha)?e.sha:null;return"cli"===e.source||!0===e.gitDirty||"cli"===e.branchFrom&&"git"!==e.source?{kind:"cli",...t?{ref:t}:{},...t&&r?{sha:r}:{}}:t?{kind:"git",ref:t,...r?{sha:r}:{}}:null},"O",0,z,"v",0,(e,t)=>(e?.kind??null)===(t?.kind??null)&&(e?.ref??null)===(t?.ref??null)&&(e?.sha??null)===(t?.sha??null)&&(e?.id??null)===(t?.id??null),"V",0,$,"w",0,function(e){let t=$(e),r=e?.productionBranch;return"string"==typeof r&&r!==t&&g(r)?r:null},"y",0,function(e,t,r=null){if(!e||"br"===r)return null;let a=/^br:([^:]+):/.exec(e);return a?g(a[1])?a[1]:null:t}],502240)},764766,e=>{var t=e.i(177706);let r=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e&&e.length>0).map(e=>e.toLowerCase()):[];function a(e){let t="string"==typeof e?.primaryDomain&&e.primaryDomain?e.primaryDomain.toLowerCase():null;return t?{primaryDomain:t,domains:r(e?.domains),pastDomains:r(e?.pastDomains)}:null}function n(e){try{let t=new URL(e);return"https:"===t.protocol||"http:"===t.protocol?t.hostname.toLowerCase():null}catch{return null}}let s=e=>/ · DEPLOYMENT_NOT_FOUND$/.test(e.lastError??"");function o(e,t,r=[],i={}){let l=n(e),u=a(t.meta);return!(!l||!u||function(e,t,r=[]){let n=a(t.meta);if(!n)return!0;let s=e.toLowerCase();if(s===n.primaryDomain||n.domains.includes(s))return!0;let o=t.name.toLowerCase();return!!(!(s.endsWith(".vercel.app")&&r.some(e=>{let t=e.name.toLowerCase();return t!==o&&t.startsWith(`${o}-`)&&(s===`${t}.vercel.app`||s.startsWith(`${t}-`))}))&&(s===`${o}.vercel.app`||s.endsWith(".vercel.app")&&s.startsWith(`${o}-`)))||r.some(e=>{let t=a(e.meta);return null!==t&&(t.primaryDomain===s||t.domains.includes(s))})}(l,t,r))&&(u.pastDomains.includes(l)||s(i))?{from:l,to:u.primaryDomain}:null}e.s(["Q",0,function(e,a,n=[],s){let o=[...new Set(e.map(e=>e.name.toLowerCase()))],i=new Set(o),l=[...new Set([...r(s?.pastDomains),...r(s?.domains)])].filter(e=>!i.has(e)).slice(-20);return{domains:o,primaryDomain:(0,t.n)(e,a,n).toLowerCase(),pastDomains:l}},"u",0,o,"P",0,function(e,t){let r=new Map;for(let a of e){if("heartbeat"===a.kind)continue;let e=o(a.url,{name:a.appName,meta:a.appMeta},t.filter(e=>e.id!==a.appId),{lastError:a.lastError});e&&r.set(a.id,e)}return r},"w",0,function(e,t){let r=new URL(e);if(r.protocol="https:",r.hostname=t,r.port="",r.hostname!==t.toLowerCase())throw Error("The new domain isn't a valid host name.");return r.toString()},"R",0,function(e,t){let r=new Map;for(let i of e){if("heartbeat"===i.kind||!s({lastError:i.lastError}))continue;let e=a(i.appMeta),l=n(i.url);if(!e||!l)continue;let u=r.get(i.appId)??e.pastDomains;!u.includes(l)&&o(i.url,{name:i.appName,meta:i.appMeta},t.filter(e=>e.id!==i.appId),{lastError:i.lastError})&&r.set(i.appId,[...u,l].slice(-20))}return r},"Y",0,a])},647006,e=>{var t=e.i(971724),r=e.i(105954),a=e.i(180473),n=e.i(455744),s=e.i(206033);let o=t.z.object({notAfter:r.z.string().nullable(),issuer:r.z.string().nullable(),authorized:a.z.boolean().nullable(),error:r.z.string().nullable(),checkedAt:r.z.string()}),i=t.z.object({misconfigured:a.z.boolean(),configuredBy:r.z.string().nullable(),recommendedIps:n.z.array(r.z.string()).default([]),checkedAt:r.z.string()}),l=t.z.object({expiresAt:r.z.string().nullable(),registrar:r.z.string().nullable(),error:r.z.string().nullable(),checkedAt:r.z.string()}),u=t.z.object({id:r.z.string(),type:r.z.string(),name:r.z.string(),content:r.z.string(),proxied:a.z.boolean(),ttl:s.z.number(),comment:r.z.string().nullable()}),c=t.z.object({status:r.z.string().nullable(),paused:a.z.boolean(),nameServers:n.z.array(r.z.string()),accountId:r.z.string().nullable(),checkedAt:r.z.string().nullable()}),d=t.z.object({mode:r.z.string().nullable(),error:r.z.string().nullable()}),m=t.z.object({type:r.z.string(),status:r.z.string(),hosts:n.z.array(r.z.string()),expiresOn:r.z.string().nullable()}),p=(e,t)=>{let r=e.safeParse(t);return r.success?r.data:null},f=(e,t)=>Array.isArray(t)?t.flatMap(t=>{let r=e.safeParse(t);return r.success?[r.data]:[]}):[],h=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e):[];e.s(["q",0,function(e){let t=e??{};return{tls:p(o,t.tls),vercel:p(i,t.vercel),rdap:p(l,t.rdap),records:f(u,t.records),recordsTruncated:!0===t.recordsTruncated,zone:p(c,t.zone),ssl:p(d,t.ssl),certs:f(m,t.certs),cfErrors:h(t.cfErrors),reasons:h(t.reasons)}},"n",0,function(e,t,r){let a=r.toISOString();return e.ok?{expiresAt:e.expiresAt,registrar:e.registrar,error:null,checkedAt:a}:{expiresAt:t?.expiresAt??null,registrar:t?.registrar??null,error:e.error,checkedAt:a}},"o",0,function(e,t,r){let a=r.toISOString();return e.ok?{notAfter:e.notAfter.toISOString(),issuer:e.issuer,authorized:e.authorized,error:null,checkedAt:a}:{notAfter:t?.notAfter??null,issuer:t?.issuer??null,authorized:null,error:e.error,checkedAt:a}}])},762643,569650,903101,e=>{var t=e.i(971724),r=e.i(600205),a=e.i(455744),n=e.i(105954),s=e.i(469755),o=e.i(200592),i=e.i(761095),l=e.i(442473),u=e.i(266479);let c=e=>e.toLowerCase().replace(/\.$/,"");function d(e){try{let t=new URL(e);return null===(0,u._)(t)&&!(0,i.isIP)(t.hostname.replace(/^[|]$/g,""))}catch{return!1}}let m=t.z.object({objectClassName:r.z.literal("domain"),events:a.z.array(t.z.object({eventAction:n.z.string(),eventDate:n.z.string()})).default([]),entities:a.z.array(t.z.object({roles:a.z.array(n.z.string()).default([]),vcardArray:s.z.unknown().optional()})).default([])});async function p(e,t,r){let a=await (0,l.K)(e,{fetch:r.fetch,lookup:r.lookup,timeoutMs:r.timeoutMs??8e3,maxBytes:524288,headers:{Accept:t},userAgent:"OpsConsole-Network/1.0 (+https://watchbell.west-solutions.web.id)"});if(!a.ok)return{ok:!1,error:"Blocked address"===a.error?"The registry's RDAP address isn't a public https address":"Couldn't reach the registry's RDAP server"};if(a.truncated)return{ok:!1,error:"The answer was too large"};if(200!==a.status)return{ok:!0,status:a.status,body:null};try{return{ok:!0,status:a.status,body:JSON.parse(a.body)}}catch{return{ok:!1,error:"The registry answered in a format the console doesn't recognise"}}}let f=t.z.object({services:a.z.array(o.z.tuple([a.z.array(n.z.string()),a.z.array(n.z.string())]))});async function h(e={}){let t=await p("https://data.iana.org/rdap/dns.json","application/json",e);if(!t.ok)return{ok:!1,error:"Couldn't read IANA's RDAP list"};if(200!==t.status)return{ok:!1,error:`IANA's RDAP list returned an error (${t.status})`};let r=f.safeParse(t.body);return r.success?{ok:!0,services:r.data.services}:{ok:!1,error:"IANA's RDAP list is in a format the console doesn't recognise"}}async function g(e,t,r={}){let a=`${t.endsWith("/")?t:`${t}/`}domain/${encodeURIComponent(c(e))}`,n=await p(a,"application/rdap+json, application/json",r);if(!n.ok)return n;if(404===n.status)return{ok:!1,error:"The registry doesn't know this domain"};if(200!==n.status)return{ok:!1,error:`The registry's RDAP server returned an error (${n.status})`};let s=function(e){let t=m.safeParse(e);if(!t.success)return null;let r=t.data.events.find(e=>"expiration"===e.eventAction),a=r?new Date(r.eventDate):null,n=t.data.entities.find(e=>e.roles.includes("registrar"));return{expiresAt:a&&!Number.isNaN(a.getTime())?a.toISOString():null,registrar:n?function(e){if(!Array.isArray(e)||!Array.isArray(e[1]))return null;let t=e[1].find(e=>Array.isArray(e)&&"fn"===e[0]);return"string"==typeof t?.[3]&&t[3]?t[3]:null}(n.vcardArray):null}}(n.body);return s?{ok:!0,...s}:{ok:!1,error:"The registry answered in a format the console doesn't recognise"}}e.s(["Y",0,h,"u",0,g,"T",0,function(e,t){let r=c(t).split(".");for(let t=0;t<r.length;t++){let a=r.slice(t).join("."),n=e.find(([e])=>e.map(c).includes(a));if(n)return n[1].find(d)??null}return null}],762643);var k=e.i(300794),y=e.i(685560);let b={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11};async function w(e,t={}){let r,a=t.timeoutMs??5e3,n=e.toLowerCase().replace(/\.$/,"");if((0,i.isIP)(n)||(0,u.N)(n))return{ok:!1,error:"Blocked address"};try{r=await (t.lookup??(async e=>(await (0,k.lookup)(e,{all:!0,verbatim:!0})).map(e=>e.address)))(n)}catch{return{ok:!1,error:"The name doesn't resolve"}}if(!r.length)return{ok:!1,error:"The name doesn't resolve"};if(r.some(u.W))return{ok:!1,error:"Blocked address"};let s=t.connect??y.connect,o=r.find(e=>4===(0,i.isIP)(e))??r[0];return new Promise(e=>{let t,r=!1,i=(t,a)=>{r||(r=!0,clearTimeout(l),a?.destroy(),e(t))},l=setTimeout(()=>i({ok:!1,error:`No answer within ${Math.round(a/1e3)} s`},t),a);try{t=s({host:o,port:443,servername:n,rejectUnauthorized:!1,timeout:a,ALPNProtocols:["http/1.1"]})}catch{return i({ok:!1,error:"Couldn't connect"})}let u=t;u.on("secureConnect",()=>{let e,t,r=u.getPeerCertificate(),a=function(e){if("string"!=typeof e)return null;let t=/^([A-Z][a-z]{2})\s+(\d{1,2})\s+(\d{2}):(\d{2}):(\d{2})\s+(\d{4})\s+GMT$/.exec(e.trim());return t&&void 0!==b[t[1]]?new Date(Date.UTC(Number(t[6]),b[t[1]],Number(t[2]),Number(t[3]),Number(t[4]),Number(t[5]))):null}(r.valid_to);if(!a)return i({ok:!1,error:"The certificate has no readable expiry date"},u);let n=u.authorized?null:String(u.authorizationError??"untrusted");i({ok:!0,notAfter:a,issuer:(e=r.issuer,"string"==typeof(t=e?.O??e?.CN)&&t?t:null),authorized:u.authorized,authError:n},u)}),u.on("timeout",()=>i({ok:!1,error:`No answer within ${Math.round(a/1e3)} s`},u)),u.on("error",()=>i({ok:!1,error:"Couldn't connect"},u))})}e.s(["f",0,w],569650);var z=e.i(180473),$=e.i(206033);let A=t.z.object({success:z.z.boolean(),result:s.z.unknown(),result_info:t.z.object({page:$.z.number().optional(),total_pages:$.z.number().optional()}).nullish()});async function j(e,t,r,a){let n;try{n=await (r.fetch??fetch)(`https://api.cloudflare.com/client/v4${e}`,{method:"GET",headers:{Authorization:`Bearer ${t}`,Accept:"application/json"},signal:AbortSignal.timeout(r.timeoutMs??5e3),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?"Cloudflare didn't answer within 5 seconds.":"Couldn't reach Cloudflare."}}if(403===n.status&&a)return await n.body?.cancel().catch(()=>void 0),{ok:!1,kind:"scope",status:403,error:`The token can't read this. Add "${a}" to the Cloudflare token.`};if(401===n.status||403===n.status)return await n.body?.cancel().catch(()=>void 0),{ok:!1,kind:"auth",status:n.status,error:`Cloudflare rejected this credential (${n.status}).`};if(429===n.status){let e=Number(n.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60,error:"Cloudflare says there were too many requests."}}if(!n.ok)return{ok:!1,kind:"transient",status:n.status,error:`Cloudflare returned an error (${n.status}).`};let s=A.safeParse(await n.json().catch(()=>null));return s.success&&s.data.success?{ok:!0,data:{result:s.data.result,totalPages:s.data.result_info?.total_pages??null}}:I("its answer")}let I=e=>({ok:!1,kind:"format",error:`Cloudflare answered ${e} in a format the console doesn't recognise.`}),_=e=>encodeURIComponent(e),v=t.z.object({id:n.z.string(),name:n.z.string(),status:n.z.string(),paused:z.z.boolean().default(!1),name_servers:a.z.array(n.z.string()).default([]),account:t.z.object({id:n.z.string(),name:n.z.string().nullish()}).nullish()});async function S(e,t={}){let r=[];for(let n=1;n<=10;n++){let s=await j(`/zones?per_page=50&page=${n}`,e,t,null);if(!s.ok)return s;let o=a.z.array(v).safeParse(s.data.result);if(!o.success)return I("the zone list");for(let e of o.data)r.push({id:e.id,name:e.name,status:e.status,paused:e.paused,nameServers:e.name_servers,accountId:e.account?.id??null,accountName:e.account?.name??null});if(!s.data.totalPages||n>=s.data.totalPages)break}return{ok:!0,data:r}}let C=t.z.object({id:n.z.string(),type:n.z.string(),name:n.z.string(),content:n.z.string().default(""),proxied:z.z.boolean().default(!1),ttl:$.z.number().default(1),comment:n.z.string().nullish()});async function x(e,t,r={}){let n=[];for(let s=1;s<=4;s++){let o=await j(`/zones/${_(t)}/dns_records?per_page=500&page=${s}`,e,r,"DNS Read");if(!o.ok)return o;let i=a.z.array(C).safeParse(o.data.result);if(!i.success)return I("the DNS records");if(n.push(...i.data.map(e=>({id:e.id,type:e.type,name:e.name,content:e.content,proxied:e.proxied,ttl:e.ttl,comment:e.comment??null}))),!o.data.totalPages||s>=o.data.totalPages)return{ok:!0,data:{records:n,truncated:!1}}}return{ok:!0,data:{records:n,truncated:!0}}}async function R(e,r,a={}){let s=await j(`/zones/${_(r)}/settings/ssl`,e,a,"Zone Settings Read");if(!s.ok)return s;let o=t.z.object({value:n.z.string()}).safeParse(s.data.result);return o.success?{ok:!0,data:o.data.value}:I("the SSL/TLS mode")}t.z.object({errors:a.z.array(t.z.object({code:$.z.number().int()})).min(1)});let P=t.z.object({type:n.z.string(),status:n.z.string(),hosts:a.z.array(n.z.string()).default([]),certificates:a.z.array(t.z.object({expires_on:n.z.string().nullish()})).default([])});async function T(e,t,r={}){let n=await j(`/zones/${_(t)}/ssl/certificate_packs?status=all&per_page=50`,e,r,"SSL and Certificates Read");if(!n.ok)return n;let s=a.z.array(P).safeParse(n.data.result);return s.success?{ok:!0,data:s.data.map(e=>{let t=e.certificates.map(e=>e.expires_on).filter(e=>!!e).sort();return{type:e.type,status:e.status,hosts:e.hosts,expiresOn:t[0]??null}})}:I("the edge certificates")}async function N(e,r={}){let a=await j("/user/tokens/verify",e,r,null);if(!a.ok)return a;let s=t.z.object({status:n.z.string(),expires_on:n.z.string().nullish()}).safeParse(a.data.result);if(!s.success)return I("the token details");let o=s.data.expires_on?new Date(s.data.expires_on):null;return{ok:!0,data:{status:s.data.status,expiresAt:o&&!Number.isNaN(o.getTime())?o:null}}}e.s(["w",0,T,"p",0,x,"F",0,S,"v",0,R,"d",0,N],903101)},795194,780148,443917,e=>{var t=e.i(971724),r=e.i(455744),a=e.i(105954),n=e.i(140561),s=e.i(206033),o=e.i(969978);async function i(e,n={}){let s=await (0,o.R)("Firebase","https://firebase.googleapis.com/v1beta1/projects?pageSize=100",{token:e},n);if(!s.ok)return s;let l=t.z.object({results:r.z.array(t.z.object({projectId:a.z.string(),displayName:a.z.string().optional(),state:a.z.string().optional()})).optional()}).safeParse(s.data);return l.success?{ok:!0,data:(l.data.results??[]).filter(e=>"DELETED"!==e.state).map(e=>({projectId:e.projectId,displayName:e.displayName??e.projectId}))}:(0,o.t)("Firebase","the project list")}async function l(e,t,r={}){var a=e,n=await i(t,r);if(!n.ok&&"scope"!==n.kind)return n;let s=n.ok?n.data:[];return{ok:!0,data:s.some(e=>e.projectId===a.project_id)?s:[{projectId:a.project_id,displayName:a.project_id},...s]}}async function u(e,t,r={}){let a=performance.now(),n=await (0,o.R)("Firestore",`https://firestore.googleapis.com/v1/projects/${encodeURIComponent(t)}/databases/(default)/documents/ops/ping`,{token:e},r),s=Math.round(performance.now()-a);if(n.ok)return{ok:!0,data:{reachable:!0,noDatabase:!1,latencyMs:s}};if("missing"===n.kind){let e=/database .*does not exist/i.test(n.message??"");return{ok:!0,data:{reachable:!e,noDatabase:e,latencyMs:s}}}return n}async function c(e,r,i={}){let l=await (0,o.R)("Firebase Auth",`https://identitytoolkit.googleapis.com/v1/projects/${encodeURIComponent(r)}/accounts:query`,{method:"POST",token:e,body:{returnUserInfo:!1}},i);if(!l.ok)return l;let u=t.z.object({recordsCount:n.z.union([a.z.string(),s.z.number()]).optional()}).safeParse(l.data),d=u.success?Number(u.data.recordsCount??0):0/0;return Number.isFinite(d)?{ok:!0,data:d}:(0,o.t)("Firebase Auth","the user count")}let d=t.z.object({timeSeries:r.z.array(t.z.object({points:r.z.array(t.z.object({value:t.z.object({int64Value:n.z.union([a.z.string(),s.z.number()]).optional()})})).optional()})).optional()});async function m(e,t,r,a,n,s){let i=new URLSearchParams({filter:`metric.type="firestore.googleapis.com/document/${r}_ops_count"`,"interval.startTime":a.toISOString(),"interval.endTime":n.toISOString(),"aggregation.alignmentPeriod":`${Math.max(60,Math.ceil((n.getTime()-a.getTime())/1e3))}s`,"aggregation.perSeriesAligner":"ALIGN_SUM","aggregation.crossSeriesReducer":"REDUCE_SUM"}),l=await (0,o.R)("Cloud Monitoring",`https://monitoring.googleapis.com/v3/projects/${encodeURIComponent(t)}/timeSeries?${i}`,{token:e},s);if(!l.ok)return l;let u=d.safeParse(l.data);return u.success?{ok:!0,data:(u.data.timeSeries??[]).flatMap(e=>e.points??[]).reduce((e,t)=>e+Number(t.value.int64Value??0),0)}:(0,o.t)("Cloud Monitoring","the Firestore usage")}async function p(e,t,r,a,n={}){let[s,o,i]=await Promise.all(["read","write","delete"].map(s=>m(e,t,s,r,a,n)));for(let e of[s,o,i])if(!e.ok)return e;return{ok:!0,data:{reads:s.data,writes:o.data,deletes:i.data}}}e.s(["q",0,c,"z",0,l,"W",0,p,"G",0,u],795194);var f=e.i(666680),h=e.i(600205),g=e.i(669456);let k=t.z.object({type:h.z.literal("service_account"),project_id:a.z.string().min(1),client_email:g.z.email(),private_key:a.z.string().includes("PRIVATE KEY"),private_key_id:a.z.string().optional()}),y="https://oauth2.googleapis.com/token",b=["https://www.googleapis.com/auth/datastore","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/monitoring.read","https://www.googleapis.com/auth/firebase.readonly"],w=e=>Buffer.from(e).toString("base64url");async function z(e,r={}){let n;try{var s;let t,a,o;s=Math.floor((r.now??new Date).getTime()/1e3),t=w(JSON.stringify({alg:"RS256",typ:"JWT",...e.private_key_id?{kid:e.private_key_id}:{}})),a=w(JSON.stringify({iss:e.client_email,scope:b.join(" "),aud:y,iat:s,exp:s+3600})),o=(0,f.createSign)("RSA-SHA256").update(`${t}.${a}`).sign(e.private_key),n=`${t}.${a}.${w(o)}`}catch{return{ok:!1,kind:"auth",error:"The private key in this service account can't be used. Paste the whole JSON file again."}}let i=new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:n}),l=await (0,o.R)("Google",y,{method:"POST",form:i},r);if(!l.ok)return"auth"===l.kind?{...l,error:"Google rejected this service account (its key was deleted or disabled). Create a new key."}:l;let u=t.z.object({access_token:a.z.string().min(1)}).safeParse(l.data);return u.success?{ok:!0,data:u.data.access_token}:(0,o.t)("Google","the access token")}e.s(["X",0,z,"p",0,function(e){try{let t=k.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}],780148);var $=e.i(180473);let A="https://console.neon.tech/api/v2",j="Neon";async function I(e,n={}){let s=await (0,o.R)(j,`${A}/users/me/organizations`,{token:e},n);if(!s.ok)return s;let i=t.z.object({organizations:r.z.array(t.z.object({id:a.z.string(),name:a.z.string()}))}).safeParse(s.data);return i.success?{ok:!0,data:i.data.organizations}:(0,o.t)(j,"the organization list")}let _=t.z.object({id:a.z.string(),name:a.z.string(),region_id:a.z.string(),pg_version:s.z.number().nullish(),created_at:a.z.string(),org_id:a.z.string().nullish()});async function v(e,n,s={}){let i,l=[];for(let u=0;u<5;u++){let u=new URLSearchParams({limit:String(100)});n&&u.set("org_id",n),i&&u.set("cursor",i);let c=await (0,o.R)(j,`${A}/projects?${u}`,{token:e},s);if(!c.ok)return c;let d=t.z.object({projects:r.z.array(_),pagination:t.z.object({cursor:a.z.string().nullish()}).nullish()}).safeParse(c.data);if(!d.success)return(0,o.t)(j,"the project list");for(let e of d.data.projects)l.push({id:e.id,name:e.name,region:e.region_id,pgVersion:e.pg_version??null,orgId:e.org_id??n,createdAt:e.created_at});if(i=d.data.pagination?.cursor??void 0,d.data.projects.length<100||!i)break}return{ok:!0,data:l}}async function S(e,t={}){let r=await I(e,t);if(!r.ok&&"missing"!==r.kind&&"scope"!==r.kind)return r;let a=r.ok&&r.data.length?r.data.map(e=>e.id):[null],n=[];for(let r of a){let a=await v(e,r,t);if(!a.ok)return a;n.push(...a.data)}return{ok:!0,data:n}}let C=t.z.object({project:t.z.object({region_id:a.z.string(),pg_version:s.z.number().nullish(),compute_time_seconds:s.z.number().nullish(),data_transfer_bytes:s.z.number().nullish(),active_time_seconds:s.z.number().nullish(),consumption_period_start:a.z.string().nullish(),consumption_period_end:a.z.string().nullish(),compute_last_active_at:a.z.string().nullish()})});async function x(e,t,r={}){let a=await (0,o.R)(j,`${A}/projects/${encodeURIComponent(t)}`,{token:e},r);if(!a.ok)return a;let n=C.safeParse(a.data);if(!n.success)return(0,o.t)(j,"the project");let s=n.data.project;return{ok:!0,data:{computeSeconds:s.compute_time_seconds??0,transferBytes:s.data_transfer_bytes??0,activeSeconds:s.active_time_seconds??null,periodStart:s.consumption_period_start??null,periodEnd:s.consumption_period_end??null,region:s.region_id,pgVersion:s.pg_version??null,lastActive:s.compute_last_active_at??null}}}let R=t.z.object({id:a.z.string(),branch_id:a.z.string(),current_state:a.z.string(),pending_state:a.z.string().nullish(),disabled:$.z.boolean().nullish(),autoscaling_limit_min_cu:s.z.number(),autoscaling_limit_max_cu:s.z.number(),last_active:a.z.string().nullish()}),P=e=>({id:e.id,branchId:e.branch_id,state:e.current_state,pendingState:e.pending_state??null,disabled:e.disabled??!1,minCu:e.autoscaling_limit_min_cu,maxCu:e.autoscaling_limit_max_cu,lastActive:e.last_active??null});async function T(e,a,n={}){let s=await (0,o.R)(j,`${A}/projects/${encodeURIComponent(a)}/endpoints`,{token:e},n);if(!s.ok)return s;let i=t.z.object({endpoints:r.z.array(R)}).safeParse(s.data);return i.success?{ok:!0,data:i.data.endpoints.map(P)}:(0,o.t)(j,"the compute list")}async function N(e,r,a,n={}){let s=await (0,o.R)(j,`${A}/projects/${encodeURIComponent(r)}/endpoints/${encodeURIComponent(a)}`,{token:e},n);if(!s.ok)return s;let i=t.z.object({endpoint:R}).safeParse(s.data);return i.success?{ok:!0,data:P(i.data.endpoint)}:(0,o.t)(j,"the compute")}async function D(e,t,r,a={}){let n=await (0,o.R)(j,`${A}/projects/${encodeURIComponent(t)}/endpoints/${encodeURIComponent(r)}/start`,{method:"POST",token:e},a);return n.ok?{ok:!0,data:null}:423===n.status?{ok:!1,kind:"busy",status:423,error:"Neon is busy with another operation. Try again in a minute."}:403===n.status?{ok:!1,kind:"scope",status:403,error:`${j} refused this request (403).`}:n}let M=t.z.object({id:a.z.string(),name:a.z.string(),default:$.z.boolean().nullish(),primary:$.z.boolean().nullish(),logical_size:s.z.number().nullish()});async function E(e,a,n={}){let s=await (0,o.R)(j,`${A}/projects/${encodeURIComponent(a)}/branches`,{token:e},n);if(!s.ok)return s;let i=t.z.object({branches:r.z.array(M)}).safeParse(s.data);return i.success?{ok:!0,data:i.data.branches.map(e=>({id:e.id,name:e.name,isDefault:e.default??e.primary??!1,logicalSize:e.logical_size??null}))}:(0,o.t)(j,"the branch list")}e.s(["m",0,S,"c",0,N,"Z",0,x,"e",0,E,"k",0,T,"d",0,D],443917)},969978,e=>{var t=e.i(971724),r=e.i(105954),a=e.i(455744),n=e.i(898305),s=e.i(604147);let o=t.z.object({error:t.z.object({status:r.z.string().optional(),message:r.z.string().optional(),details:a.z.array(n.z.looseObject({reason:r.z.string().optional()})).optional()})}),i=t.z.object({message:r.z.string()}),l=t.z.object({missing_permissions:a.z.array(r.z.string()).min(1)}),u=t.z.object({error:s.z.enum(["invalid_grant","invalid_client","unauthorized_client"])});async function c(e,t,r,a={}){let n,s,d=a.timeoutMs??5e3,m={Accept:"application/json"};r.token?m.Authorization=`Bearer ${r.token}`:r.basic&&(m.Authorization=`Basic ${Buffer.from(`${r.basic.user}:${r.basic.pass}`).toString("base64")}`),r.form?n=r.form:void 0!==r.body&&(m["Content-Type"]="application/json",n=JSON.stringify(r.body));try{s=await (a.fetch??fetch)(t,{method:r.method??"GET",headers:m,body:n,signal:AbortSignal.timeout(d),cache:"no-store"})}catch(t){return{ok:!1,kind:"transient",error:t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.name)?`${e} didn't answer within ${Math.round(d/1e3)} seconds.`:`Couldn't reach ${e}.`}}let p=await s.json().catch(()=>null);if(s.ok)return{ok:!0,data:p};let f=o.safeParse(p),h=f.success?f.data.error.details?.find(e=>e.reason)?.reason??f.data.error.status:void 0,g=f.success?void 0:i.safeParse(p),k=f.success?f.data.error.message?.slice(0,300):g?.success?g.data.message.slice(0,600):void 0,y={status:s.status,...h?{reason:h}:{},...k?{message:k}:{}};if(403===s.status){let t=l.safeParse(p);if(t.success){let e=t.data.missing_permissions;return{ok:!1,kind:"scope",...y,missing:e,error:`Missing permission${e.length>1?"s":""}: ${e.join(", ")}.`}}if(f.success)return{ok:!1,kind:"scope",...y,error:`${e} refused this request (${h??"PERMISSION_DENIED"}).`}}if(401===s.status||403===s.status||400===s.status&&u.safeParse(p).success)return{ok:!1,kind:"auth",...y,error:`${e} rejected this credential (${s.status}).`};if(404===s.status)return{ok:!1,kind:"missing",...y,error:`${e} doesn't know this resource (404).`};if(429===s.status){let t=Number(s.headers.get("Retry-After"));return{ok:!1,kind:"transient",...y,retryAfterS:Number.isFinite(t)&&t>0?t:60,error:"RESOURCE_EXHAUSTED"===h?`${e} says a quota is used up.`:`${e} says there were too many requests.`}}return{ok:!1,kind:"transient",...y,error:`${e} returned an error (${s.status}).`}}e.s(["R",0,c,"t",0,(e,t)=>({ok:!1,kind:"format",error:`${e} answered ${t} in a format the console doesn't recognise.`})])},342833,e=>{var t=e.i(971724),r=e.i(105954),a=e.i(455744),n=e.i(206033),s=e.i(469755),o=e.i(140561),i=e.i(969978);let l="https://api.supabase.com",u="Supabase",c=["auth","rest","realtime","storage","db"],d=t.z.object({ref:r.z.string(),name:r.z.string(),region:r.z.string(),created_at:r.z.string(),status:r.z.string(),organization_slug:r.z.string().optional(),organization_id:r.z.string().optional(),database:t.z.object({version:r.z.string().optional()}).nullish()}),m=e=>({ref:e.ref,name:e.name,orgSlug:e.organization_slug??e.organization_id??"",region:e.region,createdAt:e.created_at,status:e.status,pgVersion:e.database?.version??null});async function p(e,t={}){let r=await (0,i.R)(u,`${l}/v1/projects`,{token:e},t);if(!r.ok)return r;let n=a.z.array(d).safeParse(r.data);return n.success?{ok:!0,data:n.data.map(m)}:(0,i.t)(u,"the project list")}async function f(e,t,r={}){let a=await (0,i.R)(u,`${l}/v1/projects/${encodeURIComponent(t)}`,{token:e},r);if(!a.ok)return a;let n=d.safeParse(a.data);return n.success?{ok:!0,data:m(n.data)}:(0,i.t)(u,"the project")}async function h(e,t,r,a){let n=await (0,i.R)(u,`${l}/v1/projects/${encodeURIComponent(e)}/${t}`,{method:"POST",token:r},a);return n.ok?{ok:!0,data:null}:403===n.status&&"scope"!==n.kind?{...n,kind:"scope",error:"Missing permission: project_admin_write."}:n}async function g(e,t,r={}){let a=await (0,i.R)(u,`${l}/v1/projects/${encodeURIComponent(t)}/database/query/read-only`,{method:"POST",token:e,body:{query:"select 1"}},r);return a.ok?{ok:!0,data:null}:a}async function k(e,a,n={}){let s=await (0,i.R)(u,`${l}/v1/organizations/${encodeURIComponent(a)}`,{token:e},n);if(!s.ok)return s;let o=t.z.object({plan:r.z.string().optional()}).safeParse(s.data);return o.success?{ok:!0,data:o.data.plan??null}:(0,i.t)(u,"the organization")}async function y(e,n,s={}){let o=new URLSearchParams(c.map(e=>["services",e])),d=await (0,i.R)(u,`${l}/v1/projects/${encodeURIComponent(n)}/health?${o}`,{token:e},s);if(!d.ok)return d;let m=a.z.array(t.z.object({name:r.z.string(),status:r.z.string(),error:r.z.string().optional()})).safeParse(d.data);return m.success?{ok:!0,data:m.data.map(e=>({name:e.name,status:e.status,error:e.error??null}))}:(0,i.t)(u,"service health")}let b=t.z.object({result:a.z.array(t.z.object({timestamp:r.z.string(),total_auth_requests:n.z.number(),total_realtime_requests:n.z.number(),total_rest_requests:n.z.number(),total_storage_requests:n.z.number()})).optional(),error:s.z.unknown().optional()});async function w(e,t,r={}){let a=await (0,i.R)(u,`${l}/v1/projects/${encodeURIComponent(t)}/analytics/endpoints/usage.api-counts?interval=7day`,{token:e},r);if(!a.ok)return a;let n=b.safeParse(a.data);return n.success?n.data.error?{ok:!1,kind:"transient",error:"Supabase couldn't read the API request counts this time."}:{ok:!0,data:(n.data.result??[]).map(e=>({at:new Date(e.timestamp),total:e.total_auth_requests+e.total_realtime_requests+e.total_rest_requests+e.total_storage_requests}))}:(0,i.t)(u,"the API request counts")}async function z(e,s,c={}){let d=await (0,i.R)(u,`${l}/v1/projects/${encodeURIComponent(s)}/database/query/read-only`,{method:"POST",token:e,body:{query:"select pg_database_size(current_database())::bigint as bytes"}},c);if(!d.ok)return d;let m=a.z.array(t.z.object({bytes:o.z.union([n.z.number(),r.z.string()])})).min(1).safeParse(d.data),p=m.success?Number(m.data[0].bytes):0/0;return Number.isFinite(p)?{ok:!0,data:p}:(0,i.t)(u,"the database size")}e.s(["Z",0,w,"r",0,z,"e",0,f,"i",0,g,"W",0,p,"K",0,k,"c",0,(e,t,r={})=>h(t,"pause",e,r),"G",0,(e,t,r={})=>h(t,"restore",e,r),"F",0,y])},691734,43790,e=>{var t=e.i(971724),r=e.i(105954),a=e.i(180473),n=e.i(455744),s=e.i(206033),o=e.i(969978);let i="https://api.turso.tech/v1",l="Turso",u=t.z.object({slug:r.z.string(),name:r.z.string().default(""),plan_id:r.z.string().nullish(),blocked_reads:a.z.boolean().nullish(),blocked_writes:a.z.boolean().nullish()});async function c(e,t={}){let r=await (0,o.R)(l,`${i}/organizations`,{token:e},t);if(!r.ok)return r;let a=n.z.array(u).safeParse(r.data);return a.success?{ok:!0,data:a.data.map(e=>({slug:e.slug,name:e.name||e.slug,plan:e.plan_id??null,blockedReads:e.blocked_reads??!1,blockedWrites:e.blocked_writes??!1}))}:(0,o.t)(l,"the organization list")}let d=t.z.object({Name:r.z.string(),DbId:r.z.string(),group:r.z.string().nullish(),primaryRegion:r.z.string().nullish(),block_reads:a.z.boolean().nullish(),block_writes:a.z.boolean().nullish()});async function m(e,r,a={}){let s=await (0,o.R)(l,`${i}/organizations/${encodeURIComponent(r)}/databases`,{token:e},a);if(!s.ok)return s;let u=t.z.object({databases:n.z.array(d)}).safeParse(s.data);return u.success?{ok:!0,data:u.data.databases.map(e=>({id:e.DbId,name:e.Name,org:r,group:e.group??null,primaryRegion:e.primaryRegion??null,blockReads:e.block_reads??!1,blockWrites:e.block_writes??!1}))}:(0,o.t)(l,"the database list")}async function p(e,t={}){let r=await c(e,t);if(!r.ok)return r;let a=[];for(let n of r.data.slice(0,10)){let r=await m(e,n.slug,t);if(!r.ok)return r;a.push(...r.data)}return{ok:!0,data:a}}let f=t.z.object({rows_read:s.z.number().default(0),rows_written:s.z.number().default(0),storage_bytes:s.z.number().default(0)}),h=t.z.object({organization:t.z.object({usage:f.extend({databases:s.z.number().nullish()})}),databases:n.z.array(t.z.object({uuid:r.z.string(),total:f.nullish()})).nullish()}),g=e=>({rowsRead:e.rows_read,rowsWritten:e.rows_written,storageBytes:e.storage_bytes});async function k(e,t,r={}){let a=await (0,o.R)(l,`${i}/organizations/${encodeURIComponent(t)}/usage`,{token:e},r);return a.ok?function(e){let t=h.safeParse(e);if(!t.success)return(0,o.t)(l,"the usage");let r=new Map;for(let e of t.data.databases??[])e.total&&r.set(e.uuid,g(e.total));return{ok:!0,data:{org:{...g(t.data.organization.usage),databases:t.data.organization.usage.databases??null},byDb:r}}}(a.data):a}e.s(["t",0,p,"X",0,m,"u",0,c,"d",0,k],691734);let y="https://api.upstash.com/v2",b="Upstash",w=e=>({basic:{user:e.email,pass:e.apiKey}}),z=t.z.object({database_id:r.z.string(),database_name:r.z.string(),region:r.z.string().nullish(),primary_region:r.z.string().nullish(),state:r.z.string().nullish(),type:r.z.string().nullish()});async function $(e,t={}){let r=await (0,o.R)(b,`${y}/redis/databases`,w(e),t);if(!r.ok)return r;let a=n.z.array(z).safeParse(r.data??[]);return a.success?{ok:!0,data:a.data.map(e=>({id:e.database_id,name:e.database_name,region:"global"===e.region&&e.primary_region?`global \xb7 ${e.primary_region}`:e.region??e.primary_region??null,state:e.state??null,type:e.type??null}))}:(0,o.t)(b,"the database list")}let A=s.z.number().nullish(),j=t.z.object({daily_net_commands:A,total_monthly_requests:A,current_storage:A,total_monthly_bandwidth:A});async function I(e,t,r={}){var a;let n,s=await (0,o.R)(b,`${y}/redis/stats/${encodeURIComponent(t)}`,w(e),r);return s.ok?(a=s.data,(n=j.safeParse(a)).success?{ok:!0,data:{dailyCommands:n.data.daily_net_commands??null,monthlyRequests:n.data.total_monthly_requests??null,storageBytes:n.data.current_storage??null,monthlyBandwidthBytes:n.data.total_monthly_bandwidth??null}}:(0,o.t)(b,"the database stats")):s}e.s(["M",0,$,"L",0,function(e){let t=e.trim(),r=t.search(/[:\s]/);if(r<=0)return null;let a=t.slice(0,r).trim(),n=t.slice(r+1).trim();return!/^[^@\s:]+@[^@\s:]+\.[^@\s:]+$/.test(a)||n.length<20||/\s/.test(n)?null:{email:a,apiKey:n}},"Z",0,I],43790)},177706,581321,e=>{var t=e.i(971724),r=e.i(105954),a=e.i(455744),n=e.i(206033),s=e.i(226247),o=e.i(469755),i=e.i(180473);let l=/^[A-Za-z0-9._-]{1,100}$/,u=e=>e.trim().replace(/^\.\//,"").split("/").filter(e=>""!==e&&"."!==e);function c(e){if("string"!=typeof e)return null;let t=u(e);if(!t.length||t.length>4||t.some(e=>".."===e||!l.test(e)))return null;let r=t.join("/");return r.length<=150?r:null}function d(e){if("string"!=typeof e||!u(e).length||null!==c(e))return null;let t=e.replace(/[\u0000-\u001f\u007f-\u009f]/g,"").trim();return t?t.length>80?`${t.slice(0,79)}…`:t:null}function m(e){let t=e.trim().replace(/^\.\//,"").replace(/\/+$/,"").split("**").map(e=>e.split("*").map(e=>e.replace(/[.+?^${}()|[\]\\]/g,"\\$&")).join("[^/]*")).join(".*");return RegExp(`^${t}$`)}e.s(["Q",0,c,"x",0,e=>e?`${e} (the Vercel project's Root Directory)`:"the repository root","H",0,(e,t)=>e?`${e}/${t}`:t,"p",0,function(e,t,r){if("npm"===e)try{let e=JSON.parse(t);return!!e.packages&&"object"==typeof e.packages&&Object.hasOwn(e.packages,r)}catch{return!1}if("pnpm"===e){let e=t.search(/^importers:\s*$/m);if(e<0)return!1;let a=t.slice(e).split(/\n(?=\S)/)[0],n=r.replace(/[.+?^${}()|[\]\\]/g,"\\$&");return RegExp(`^ {2}['"]?${n}['"]?:\\s*$`,"m").test(a)}return!1},"l",0,d,"F",0,function(e,t){let r;if(!e)return!1;try{r=JSON.parse(e)}catch{return!1}let a=r&&"object"==typeof r&&!Array.isArray(r)?r.workspaces:void 0,n=(Array.isArray(a)?a:a&&"object"==typeof a&&Array.isArray(a.packages)?a.packages:[]).filter(e=>"string"==typeof e&&""!==e.trim()),s=n.filter(e=>e.trim().startsWith("!")).map(e=>e.trim().slice(1));return n.some(e=>!e.trim().startsWith("!")&&m(e).test(t))&&!s.some(e=>m(e).test(t))}],581321);let p="https://api.vercel.com";async function f(e,t,r){let a;try{a=await (r.fetch??fetch)(`${p}${e}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"},signal:AbortSignal.timeout(r.timeoutMs??5e3),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?"Vercel didn't answer within 5 seconds.":"Couldn't reach Vercel."}}if(401===a.status||403===a.status)return{ok:!1,kind:"auth",status:a.status,error:`Vercel rejected this credential (${a.status}).`};if(429===a.status){let e=Number(a.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60,error:"Vercel says there were too many requests."}}return a.ok?{ok:!0,data:await a.json().catch(()=>null)}:{ok:!1,kind:"transient",status:a.status,error:`Vercel returned an error (${a.status}).`}}async function h(e,a,n,s,o){let i;try{i=await (o.fetch??fetch)(`${p}${a}`,{method:e,headers:{Authorization:`Bearer ${n}`,Accept:"application/json",...void 0===s?{}:{"Content-Type":"application/json"}},...void 0===s?{}:{body:JSON.stringify(s)},signal:AbortSignal.timeout(o.timeoutMs??5e3),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?"Vercel didn't answer within 5 seconds; the action may still have happened. Check the deployments in a minute.":"Couldn't reach Vercel."}}if(401===i.status)return{ok:!1,kind:"auth",status:401,error:"Vercel rejected this credential (401)."};if(403===i.status)return{ok:!1,kind:"scope",status:403,error:"Vercel refused this token for that project (403)."};if(429===i.status){let e;return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(e=Number(i.headers.get("Retry-After")))&&e>0?e:60,error:"Vercel says there were too many requests."}}let l=await i.json().catch(()=>null);if(!i.ok){let e=t.z.object({error:t.z.object({code:r.z.string().regex(/^[A-Za-z0-9_-]{1,60}$/)})}).safeParse(l);return{ok:!1,kind:"transient",status:i.status,error:`Vercel refused this (${i.status}${e.success?`, ${e.data.error.code}`:""}).`}}return{ok:!0,data:l}}let g=e=>`teamId=${encodeURIComponent(e)}`,k=encodeURIComponent,y=e=>({ok:!1,kind:"format",error:`Vercel answered ${e} in a format the console doesn't recognise.`});function b(e,t,r=[]){let a=e.filter(e=>!1!==e.verified&&!e.redirect&&!e.gitBranch&&!e.customEnvironmentId),n=new Set(r.map(e=>e.toLowerCase())),s=a.map((t,r)=>{let a;return{name:t.name,key:[...(a=t.name,[+!e.some(e=>e.redirect?.toLowerCase()===a.toLowerCase()),+!!a.endsWith(".vercel.app"),+!n.has(a.toLowerCase()),a.length]),r]}}).sort((e,t)=>{for(let r=0;r<e.key.length;r++)if(e.key[r]!==t.key[r])return e.key[r]-t.key[r];return 0});return s[0]?.name??`${t}.vercel.app`}let w=t.z.object({teams:a.z.array(t.z.object({id:r.z.string(),slug:r.z.string(),name:r.z.string().nullish()}))});async function z(e,t={}){let r=await f("/v2/teams?limit=100",e,t);if(!r.ok)return r;let a=w.safeParse(r.data);return a.success?{ok:!0,data:a.data.teams.map(e=>({id:e.id,slug:e.slug,name:e.name??e.slug}))}:y("the team list")}async function $(e,r={}){let a=await f("/v5/user/tokens/current",e,r);if(!a.ok)return a;let s=t.z.object({token:t.z.object({expiresAt:n.z.number().nullish()})}).safeParse(a.data);return s.success?{ok:!0,data:s.data.token.expiresAt?new Date(s.data.token.expiresAt):null}:y("the token details")}let A=t.z.object({id:r.z.string(),readyState:r.z.string().nullish(),createdAt:n.z.number().nullish().catch(null),alias:a.z.array(r.z.string()).nullish().catch(null)}).nullish(),j=t.z.object({type:r.z.string(),jobStatus:r.z.string(),toDeploymentId:r.z.string(),requestedAt:n.z.number()}).nullish().catch(null);function I(e,t){let r=e?.readyState==="READY"?e.id:null;return t&&"succeeded"===t.jobStatus&&("rollback"===t.type||"promote"===t.type&&"number"==typeof e?.createdAt&&e.createdAt<=t.requestedAt)?t.toDeploymentId:r}let _=t.z.object({id:r.z.string(),name:r.z.string(),framework:r.z.string().nullish(),createdAt:n.z.number(),link:t.z.object({productionBranch:r.z.string().nullish(),type:r.z.string().nullish(),org:r.z.string().nullish(),repo:r.z.string().nullish()}).nullish(),resourceConfig:t.z.object({functionDefaultRegions:a.z.array(r.z.string()).nullish()}).nullish(),targets:t.z.object({production:A}).nullish(),lastAliasRequest:j,rootDirectory:r.z.string().nullish().catch(null)}),v=t.z.object({projects:a.z.array(_),pagination:t.z.object({next:n.z.number().nullish()}).nullish()});async function S(e,t,r={}){let a,n=[];for(let s=0;s<10;s++){let s=await f(`/v10/projects?teamId=${encodeURIComponent(t.id)}&limit=100${a?`&until=${a}`:""}`,e,r);if(!s.ok)return s;let o=v.safeParse(s.data);if(!o.success)return y("the project list");for(let e of o.data.projects)n.push({id:e.id,name:e.name,team:t,framework:e.framework??null,createdAt:new Date(e.createdAt),productionBranch:e.link?.productionBranch??null,currentDeploymentId:I(e.targets?.production,e.lastAliasRequest),repo:e.link?.type&&e.link.org&&e.link.repo?{type:e.link.type,org:e.link.org,repo:e.link.repo}:null,functionRegions:e.resourceConfig?.functionDefaultRegions??[],rootDirectory:c(e.rootDirectory),rootDirectoryUnsupported:d(e.rootDirectory),productionAliases:e.targets?.production?.alias??[]});if(!(a=o.data.pagination?.next))break}return{ok:!0,data:n}}let C=t.z.object({uid:r.z.string(),projectId:r.z.string(),state:r.z.string().nullish(),readyState:r.z.string().nullish(),target:r.z.string().nullish(),source:r.z.string().nullish(),url:r.z.string().nullish(),createdAt:n.z.number().nullish(),created:n.z.number().nullish(),buildingAt:n.z.number().nullish(),ready:n.z.number().nullish(),meta:s.z.record(r.z.string(),o.z.unknown()).nullish(),gitSource:t.z.object({ref:r.z.string().nullish(),sha:r.z.string().nullish()}).nullish().catch(null)}),x=e=>"string"==typeof e&&e.length?e:null,R=e=>e?new Date(e):null;function P(e,t){var r,a;let n,s,o=e.readyState??e.state??"BUILDING",i=e.meta??{};return{id:t,projectId:e.projectId,state:"READY"===o?"ready":"ERROR"===o?"error":"CANCELED"===o?"canceled":"building",rawState:o,target:"production"===e.target?"production":"preview",branch:x(i.githubCommitRef)??x(i.gitCommitRef)??x(i.gitlabCommitRef)??x(i.bitbucketCommitRef)??x(e.gitSource?.ref),sha:x(i.githubCommitSha)??x(i.gitCommitSha)??x(i.gitlabCommitSha)??x(i.bitbucketCommitSha)??x(e.gitSource?.sha),message:x(i.githubCommitMessage)??x(i.gitCommitMessage)??x(i.gitlabCommitMessage)??x(i.bitbucketCommitMessage),source:e.source??null,url:e.url??null,createdAt:new Date(e.createdAt??e.created??0),buildingAt:R(e.buildingAt),readyAt:R(e.ready),...(r=i,a=e.gitSource?.ref,n=x(r.githubCommitRef)?"github":x(r.gitlabCommitRef)?"gitlab":x(r.bitbucketCommitRef)?"bitbucket":x(a)?"gitSource":x(r.gitCommitRef)?"cli":null,s="1"===r.gitDirty||1===r.gitDirty||!0===r.gitDirty,{...n?{branchFrom:n}:{},...s?{gitDirty:!0}:{}})}}async function T(e,r,n,s={}){let o=await f(`/v7/deployments?teamId=${encodeURIComponent(r.id)}&limit=${n.limit??100}${n.since?`&since=${n.since}`:""}`,e,s);if(!o.ok)return o;let i=t.z.object({deployments:a.z.array(C)}).safeParse(o.data);return i.success?{ok:!0,data:i.data.deployments.map(e=>P(e,e.uid))}:y("the deployment list")}let N=C.omit({uid:!0,projectId:!0}).extend({id:r.z.string(),projectId:r.z.string().nullish()});async function D(e,t,r,a={}){let n=await f(`/v13/deployments/${encodeURIComponent(r)}?teamId=${encodeURIComponent(t.id)}`,e,a);if(!n.ok)return n;let s=N.safeParse(n.data);return s.success?{ok:!0,data:P({...s.data,uid:s.data.id,projectId:s.data.projectId??""},s.data.id)}:y("the deployment")}let M=t.z.object({name:r.z.string(),targets:t.z.object({production:A}).nullish(),lastAliasRequest:j});async function E(e,t,r,a={}){let n=await f(`/v9/projects/${k(r)}?${g(t)}`,e,a);if(!n.ok)return n;let s=M.safeParse(n.data);return s.success?{ok:!0,data:{name:s.data.name,currentId:I(s.data.targets?.production,s.data.lastAliasRequest)}}:y("the project")}let O=t.z.object({deployments:a.z.array(C.extend({projectId:r.z.string().nullish()}))});async function L(e,t,r,a,n,s){let o=`projectId=${k(r)}&target=production&state=${a}&limit=${n}&${g(t)}`,i=await f(`/v6/deployments?${o}`,e,s);if(!i.ok)return i;let l=O.safeParse(i.data);return l.success?{ok:!0,data:l.data.deployments.map(e=>P({...e,projectId:e.projectId??r},e.uid))}:y("the deployment list")}async function U(e,t,r,a={}){return L(e,t,r,"READY",5,a)}async function q(e,t,r,a={}){let n=await L(e,t,r,"BUILDING,QUEUED,INITIALIZING",1,a);return n.ok?{ok:!0,data:n.data[0]??null}:n}async function B(e,a,n,s={}){let o=await h("POST",`/v13/deployments?${g(a)}`,e,{name:n.name,project:n.projectId,deploymentId:n.deploymentId,target:"production"},s);if(!o.ok)return o;let i=t.z.object({id:r.z.string()}).safeParse(o.data);return{ok:!0,data:{id:i.success?i.data.id:""}}}async function W(e,t,r,a,n={}){let s=await h("POST",`/v1/projects/${k(r)}/rollback/${k(a)}?${g(t)}`,e,void 0,n);return s.ok?{ok:!0,data:null}:s}let J=t.z.object({domains:a.z.array(t.z.object({name:r.z.string(),redirect:r.z.string().nullish(),verified:i.z.boolean().optional(),gitBranch:r.z.string().nullish(),customEnvironmentId:r.z.string().nullish().catch(null)})),pagination:t.z.object({next:n.z.number().nullish()}).nullish()});async function F(e,t,r,a={}){let n,s=[];for(let o=0;o<10;o++){let o=await f(`/v9/projects/${encodeURIComponent(r)}/domains?teamId=${encodeURIComponent(t)}&limit=100${n?`&until=${n}`:""}`,e,a);if(!o.ok)return o;let i=J.safeParse(o.data);if(!i.success)return y("the domain list");for(let e of i.data.domains)s.push({name:e.name,redirect:e.redirect??null,verified:!1!==e.verified,gitBranch:e.gitBranch??null,customEnvironmentId:e.customEnvironmentId??null});if(!(n=i.data.pagination?.next))return{ok:!0,data:s}}return{ok:!1,kind:"transient",error:"The project has more than 1000 domains; Watchbell kept the domains it had."}}async function V(e,t,r,a,n={},s=[]){let o=await F(e,t,r,n);return o.ok?{ok:!0,data:b(o.data,a,s)}:o}let G=t.z.object({misconfigured:i.z.boolean(),configuredBy:r.z.string().nullish(),recommendedIPv4:a.z.array(t.z.object({value:a.z.array(r.z.string())})).default([])});async function Y(e,t,r,a={}){let n=await f(`/v6/domains/${encodeURIComponent(r)}/config?teamId=${encodeURIComponent(t)}`,e,a);if(!n.ok)return n;let s=G.safeParse(n.data);return s.success?{ok:!0,data:{misconfigured:s.data.misconfigured,configuredBy:s.data.configuredBy??null,recommendedIps:s.data.recommendedIPv4.flatMap(e=>e.value)}}:y("the domain configuration")}async function Z(e,t={}){let r=await z(e,t);if(!r.ok)return r;let a=[],n=[],s=[];for(let o of r.data){let r=await S(e,o,t);if(!r.ok){if(403===r.status){n.push(o.name),s.push(o.id);continue}return r}for(let e of r.data)a.push({externalId:e.id,name:e.name,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:e.framework,productionBranch:e.productionBranch,createdAt:e.createdAt.toISOString(),repo:e.repo?`${e.repo.org}/${e.repo.repo}`:null,repoType:e.repo?.type??null,functionRegions:e.functionRegions,rootDirectory:e.rootDirectory,...e.rootDirectoryUnsupported?{rootDirectoryUnsupported:e.rootDirectoryUnsupported}:{},...e.productionAliases.length?{productionAliases:e.productionAliases}:{}}})}return n.length===r.data.length?{ok:!1,kind:"auth",error:"This token can't read any of your Vercel teams. Create a token with access to them."}:{ok:!0,data:{apps:a,skippedTeams:n,skippedTeamIds:s}}}async function K(e,r,n,s,o={}){if(!/^[0-9a-f]{40}$/.test(s))return y("the commit");let i=new URLSearchParams({teamId:r,projectId:n,sha:s,limit:"10"}),l=await f(`/v6/deployments?${i}`,e,o);if(!l.ok)return l;let u=t.z.object({deployments:a.z.array(C)}).safeParse(l.data);return u.success?{ok:!0,data:u.data.deployments.map(e=>P(e,e.uid)).filter(e=>e.projectId===n&&(null===e.sha||e.sha===s)).sort((e,t)=>t.createdAt.getTime()-e.createdAt.getTime())}:y("the deployment list")}async function H(e,t,r,a={}){let n=await f(`/v9/projects/${k(r)}?${g(t)}`,e,a);if(!n.ok)return n;let s=M.safeParse(n.data);if(!s.success)return y("the project");let o=s.data.targets?.production??null,i=s.data.lastAliasRequest??null;return{ok:!0,data:{currentId:I(o,i),latest:o?{id:o.id,readyState:o.readyState??null,createdAt:o.createdAt??null}:null,promote:i&&"promote"===i.type&&"succeeded"===i.jobStatus?{toDeploymentId:i.toDeploymentId,requestedAt:i.requestedAt}:null}}}e.s(["n",0,b,"c",0,E,"C",0,K,"G",0,Z,"Q",0,Y,"S",0,D,"K",0,T,"M",0,F,"W",0,S,"X",0,z,"r",0,U,"q",0,V,"k",0,H,"L",0,B,"E",0,W,"N",0,q,"o",0,$],177706)},99263,e=>{var t=e.i(971724),r=e.i(455744),a=e.i(105954),n=e.i(180473);let s=t.z.object({result:t.z.object({releases:r.z.array(t.z.object({name:a.z.string(),isEol:n.z.boolean(),eolFrom:a.z.string().nullish(),latest:t.z.object({name:a.z.string()}).nullish()})).min(1)})});function o(e){let t=s.safeParse(e);return t.success?t.data.result.releases.map(e=>({name:e.name,isEol:e.isEol,eolFrom:e.eolFrom??null,latest:e.latest?.name??null})):null}async function i(e={}){let t;try{t=await (e.fetch??fetch)("https://endoflife.date/api/v1/products/nextjs/",{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3),cache:"no-store"})}catch{return{ok:!1,error:"Couldn't reach endoflife.date"}}if(!t.ok)return{ok:!1,error:`endoflife.date returned an error (${t.status})`};let r=o(await t.json().catch(()=>null));return r?{ok:!0,cycles:r}:{ok:!1,error:"endoflife.date answered in a format the console doesn't recognise"}}e.s(["T",0,"eol.nextjs","z",0,i,"b",0,o])}]})();
2
2
 
3
- //# sourceMappingURL=_1-pcsy2hkg0il._.js.map
3
+ //# sourceMappingURL=_0ljdeybzgdyai._.js.map
@@ -0,0 +1,5 @@
1
+ (()=>{"use strict";module.exports=[689963,e=>{var t=e.i(954757);e.s(["z",0,t])},83931,e=>{var t=e.i(954757);e.s(["z",0,t])},811365,e=>{var t=e.i(954757);e.s(["z",0,t])},601219,496843,e=>{var t=e.i(351674),i=e.i(548734),n=e.i(837137),r=e.i(245710);let o={monitor:{"Monitor down":"MonitorDown","Monitor degraded":"MonitorDegraded","Monitor recovered":"MonitorRecovered"},deployment:{"Deployment started":"DeployStarted","Deployment ready":"DeployReady","Deployment failed":"DeployFailed","Deployment canceled":"DeployCanceled"},system:{"Collector stopped":"CollectorStopped","Daily jobs finished":"DailyFinished","Daily jobs finished with problems":"DailyProblems"}};function a(e){return e.reason?e.reason:"action"===e.type?"Action":o[e.type]?.[e.message]??null}function s(e){return null!==e&&"Action"!==e}let c=/^(.+?) (?:reports an incident|incident resolved)$/;async function d(e,r=(0,i.f)()){for(let i of e){if(!i)continue;let e=i.at??new Date,o=a(i);if(s(o)){let a=new Date(e.getTime()-36e5);if((await r.update(n.events).set({count:t.B`${n.events.count} + 1`,lastAt:t.B`greatest(coalesce(${n.events.lastAt}, ${n.events.at}), ${e.toISOString()}::timestamptz)`,detail:i.detail,kind:i.kind}).where(t.B`${n.events.id} = (select id from ops.events where reason = ${o} and resource_id is not distinct from ${i.resourceId}::uuid
2
+ and message = ${i.message}
3
+ and coalesce(last_at, at) >= ${a.toISOString()}::timestamptz order by coalesce(last_at, at) desc limit 1)`).returning({id:n.events.id})).length)continue}await r.insert(n.events).values({at:e,resourceId:i.resourceId,type:i.type,kind:i.kind,message:i.message,detail:i.detail,actorUserId:i.actorUserId??null,reason:o,count:1})}}e.s(["t",0,36e5,"L",0,function(e){if(e.resource)return e.resource;if("ProviderIncident"===e.reason||"ProviderRecovered"===e.reason){let t=c.exec(e.message);if(t)return t[1]}return"system"===e.type?"collector":"console"},"y",0,a,"W",0,function(e,t,i){return e<=1||!t?null:`\xd7${e} \xb7 last ${(0,r.$)(t,i)}`},"w",0,s],496843),e.s(["f",0,d],601219)},323878,e=>{var t=e.i(93321),i=e.i(351674),n=e.i(548734),r=e.i(837137),o=e.i(312573);async function a(e,o){let[a]=await (0,n.f)().insert(r.rateLimits).values({key:e,windowStart:o,count:1}).onConflictDoUpdate({target:[r.rateLimits.key,r.rateLimits.windowStart],set:{count:i.B`${r.rateLimits.count} + 1`}}).returning({count:r.rateLimits.count});if(1===a.count)try{await (0,n.f)().delete(r.rateLimits).where((0,t.S)(r.rateLimits.windowStart,new Date(Date.now()-864e5)))}catch{console.warn("rate limit sweep failed")}return a.count}async function s(e,t){let i=new Date,n=0;return{...await (0,o.A)(e,t,{now:i,hit:async(e,t)=>n=await a(e,t)}),windowStart:(0,o.M)(i,e.windowSeconds),count:n}}async function c(e,a,s){await (0,n.f)().update(r.rateLimits).set({count:i.B`${r.rateLimits.count} - 1`}).where((0,t.b)((0,t.u)(r.rateLimits.key,(0,o.P)(e,a)),(0,t.u)(r.rateLimits.windowStart,s),(0,t.H)(r.rateLimits.count,0)))}async function d(e,i){let a=new Date,[s]=await (0,n.f)().select({count:r.rateLimits.count}).from(r.rateLimits).where((0,t.b)((0,t.u)(r.rateLimits.key,(0,o.P)(e,i)),(0,t.u)(r.rateLimits.windowStart,(0,o.M)(a,e.windowSeconds))));return(0,o.J)(e,s?.count??0,a)}e.s(["j",0,s,"C",0,function(e,t){return(0,o.A)(e,t,{hit:a})},"H",0,d,"K",0,c])}]})();
4
+
5
+ //# sourceMappingURL=_0ls7sornjrg95._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[17159,s=>{s.v(e=>Promise.all(["server/chunks/node_modules_drizzle-orm_03s0wizqibnb5._.js","server/chunks/node_modules_drizzle-orm_0pxdj1u-i8py9._.js","server/chunks/node_modules_drizzle-orm_index_1g74fz-5xe-1v.js"].map(e=>s.l(e))).then(()=>e(263608)))},131909,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__0yhki59n8zyjb._.js","server/chunks/node_modules_drizzle-orm_pg-core_db_0yjenkrjkvb-b.js","server/chunks/_0ofzzim090ezo._.js","server/chunks/_004c7-39glldb._.js","server/chunks/_18p-vw2zmdx9f._.js","server/chunks/node_modules_drizzle-orm_1tmqw7vk5a4ik._.js","server/chunks/src_db_client_ts_10ccz2djmlpbs._.js"].map(e=>s.l(e))).then(()=>e(406212)))},850102,s=>{s.v(e=>Promise.all(["server/chunks/node_modules_drizzle-orm_15o96osca_ezd._.js","server/chunks/_1h73gul79s8pi._.js"].map(e=>s.l(e))).then(()=>e(530298)))},468454,s=>{s.v(e=>Promise.all(["server/chunks/src_063xvouojxyoa._.js","server/chunks/src_lib_rate-limit_ts_1ahtm4quu2rri._.js","server/chunks/src_lib_time_ts_1a27wp71yhgti._.js","server/chunks/src_lib_view_databases_ts_0fdc7jkjvyrxi._.js","server/chunks/_0ofzzim090ezo._.js","server/chunks/src_lib_data_telegram-bot-db_ts_1t81y-y57-0s-._.js","server/chunks/_03qlijpos6a21._.js","server/chunks/src_lib_0-fln6xaazo-9._.js","server/chunks/src_db_client_ts_10ccz2djmlpbs._.js","server/chunks/src_lib_local-auth_sessions-db_ts_1spok9ccfxeam._.js","server/chunks/_1i8u10u8nrzy2._.js","server/chunks/_004c7-39glldb._.js","server/chunks/_0nmfe_o9yhlh2._.js","server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js","server/chunks/node_modules_drizzle-orm_1oeq7sl_gbxs5._.js","server/chunks/node_modules_drizzle-orm_pg-core_db_0yjenkrjkvb-b.js","server/chunks/_1ihndlef8r00f._.js","server/chunks/_0zj10_al6r59j._.js","server/chunks/_18p-vw2zmdx9f._.js","server/chunks/node_modules_next_dist_0r-y8k8152g-_._.js","server/chunks/src_lib_notify_telegram-bot_ts_18y40dkchmcqd._.js","server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js","server/chunks/[root-of-the-server]__1etpd6q60ypcc._.js"].map(e=>s.l(e))).then(()=>e(380167)))},596820,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__1426to_m4prqh._.js","server/chunks/_0ofzzim090ezo._.js","server/chunks/src_lib_local-auth_sessions-db_ts_1spok9ccfxeam._.js","server/chunks/node_modules_drizzle-orm_pg-core_db_0yjenkrjkvb-b.js","server/chunks/_004c7-39glldb._.js","server/chunks/src_db_client_ts_10ccz2djmlpbs._.js","server/chunks/_18p-vw2zmdx9f._.js","server/chunks/node_modules_drizzle-orm_0p2-_xghnn-0j._.js"].map(e=>s.l(e))).then(()=>e(447514)))}];
1
+ module.exports=[17159,s=>{s.v(e=>Promise.all(["server/chunks/node_modules_drizzle-orm_03s0wizqibnb5._.js","server/chunks/node_modules_drizzle-orm_0pxdj1u-i8py9._.js","server/chunks/node_modules_drizzle-orm_index_1g74fz-5xe-1v.js"].map(e=>s.l(e))).then(()=>e(263608)))},131909,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__0yhki59n8zyjb._.js","server/chunks/node_modules_drizzle-orm_pg-core_db_0yjenkrjkvb-b.js","server/chunks/_0ofzzim090ezo._.js","server/chunks/_004c7-39glldb._.js","server/chunks/_18p-vw2zmdx9f._.js","server/chunks/node_modules_drizzle-orm_1tmqw7vk5a4ik._.js","server/chunks/src_db_client_ts_10ccz2djmlpbs._.js"].map(e=>s.l(e))).then(()=>e(406212)))},850102,s=>{s.v(e=>Promise.all(["server/chunks/node_modules_drizzle-orm_15o96osca_ezd._.js","server/chunks/_1h73gul79s8pi._.js"].map(e=>s.l(e))).then(()=>e(530298)))},468454,s=>{s.v(e=>Promise.all(["server/chunks/src_063xvouojxyoa._.js","server/chunks/src_lib_rate-limit_ts_1ahtm4quu2rri._.js","server/chunks/src_lib_time_ts_1a27wp71yhgti._.js","server/chunks/src_lib_view_databases_ts_0fdc7jkjvyrxi._.js","server/chunks/_0ofzzim090ezo._.js","server/chunks/src_lib_data_telegram-bot-db_ts_1t81y-y57-0s-._.js","server/chunks/_03qlijpos6a21._.js","server/chunks/src_lib_0-fln6xaazo-9._.js","server/chunks/src_db_client_ts_10ccz2djmlpbs._.js","server/chunks/src_lib_local-auth_sessions-db_ts_1spok9ccfxeam._.js","server/chunks/_1i8u10u8nrzy2._.js","server/chunks/_004c7-39glldb._.js","server/chunks/_0nmfe_o9yhlh2._.js","server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js","server/chunks/node_modules_drizzle-orm_1oeq7sl_gbxs5._.js","server/chunks/node_modules_drizzle-orm_pg-core_db_0yjenkrjkvb-b.js","server/chunks/_0rkn5gstaj2d0._.js","server/chunks/_0zj10_al6r59j._.js","server/chunks/_18p-vw2zmdx9f._.js","server/chunks/node_modules_next_dist_0r-y8k8152g-_._.js","server/chunks/src_lib_notify_telegram-bot_ts_18y40dkchmcqd._.js","server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js","server/chunks/[root-of-the-server]__1etpd6q60ypcc._.js"].map(e=>s.l(e))).then(()=>e(380167)))},596820,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__1426to_m4prqh._.js","server/chunks/_0ofzzim090ezo._.js","server/chunks/src_lib_local-auth_sessions-db_ts_1spok9ccfxeam._.js","server/chunks/node_modules_drizzle-orm_pg-core_db_0yjenkrjkvb-b.js","server/chunks/_004c7-39glldb._.js","server/chunks/src_db_client_ts_10ccz2djmlpbs._.js","server/chunks/_18p-vw2zmdx9f._.js","server/chunks/node_modules_drizzle-orm_0p2-_xghnn-0j._.js"].map(e=>s.l(e))).then(()=>e(447514)))}];
2
2
 
3
3
  //# sourceMappingURL=_0n-wbmmvp4omq._.js.map