watchbell 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1081) hide show
  1. package/README.md +34 -11
  2. package/bin/watchbell.mjs +735 -45
  3. package/package.json +1 -1
  4. package/scripts/node-runtime.mjs +166 -0
  5. package/scripts/selfhost-log.mjs +116 -0
  6. package/server/.next/BUILD_ID +1 -1
  7. package/server/.next/build-manifest.json +105 -105
  8. package/server/.next/prerender-manifest.json +4 -4
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page/build-manifest.json +3 -3
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +32 -22
  11. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +76 -74
  12. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  13. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  14. package/server/.next/server/app/(console)/(private)/ai/ask/page/build-manifest.json +3 -3
  15. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +30 -20
  16. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +75 -73
  17. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  18. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  19. package/server/.next/server/app/(console)/(private)/ai/connect/page/build-manifest.json +3 -3
  20. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +28 -18
  21. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +75 -73
  22. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  23. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/keys/page/build-manifest.json +3 -3
  25. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +34 -24
  26. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +75 -73
  27. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  28. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  29. package/server/.next/server/app/(console)/(private)/ai/logs/page/build-manifest.json +3 -3
  30. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +30 -20
  31. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +75 -73
  32. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  33. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  34. package/server/.next/server/app/(console)/(private)/ai/models/page/build-manifest.json +3 -3
  35. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +48 -38
  36. package/server/.next/server/app/(console)/(private)/ai/models/page.js +75 -73
  37. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  38. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  39. package/server/.next/server/app/(console)/(private)/ai/page/build-manifest.json +3 -3
  40. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +28 -18
  41. package/server/.next/server/app/(console)/(private)/ai/page.js +75 -73
  42. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  43. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  44. package/server/.next/server/app/(console)/(private)/ai/playground/page/build-manifest.json +3 -3
  45. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +34 -24
  46. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +75 -73
  47. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  48. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  49. package/server/.next/server/app/(console)/(private)/ai/providers/page/build-manifest.json +3 -3
  50. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +40 -30
  51. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +76 -74
  52. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  53. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  54. package/server/.next/server/app/(console)/(private)/ai/quota/page/build-manifest.json +3 -3
  55. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +30 -20
  56. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +77 -75
  57. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  58. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  59. package/server/.next/server/app/(console)/(private)/ai/usage/page/build-manifest.json +3 -3
  60. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +30 -20
  61. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +79 -76
  62. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  63. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  64. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/build-manifest.json +3 -3
  65. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +28 -18
  66. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +75 -73
  67. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  68. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  69. package/server/.next/server/app/(console)/(private)/auto-actions/page/build-manifest.json +3 -3
  70. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +30 -20
  71. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +75 -73
  72. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  73. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  74. package/server/.next/server/app/(console)/alerts/page/build-manifest.json +3 -3
  75. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +74 -44
  76. package/server/.next/server/app/(console)/alerts/page.js +78 -75
  77. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  78. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  79. package/server/.next/server/app/(console)/apps/[id]/page/build-manifest.json +3 -3
  80. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +62 -52
  81. package/server/.next/server/app/(console)/apps/[id]/page.js +81 -79
  82. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  83. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  84. package/server/.next/server/app/(console)/apps/page/build-manifest.json +3 -3
  85. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +34 -24
  86. package/server/.next/server/app/(console)/apps/page.js +77 -75
  87. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  88. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  89. package/server/.next/server/app/(console)/backups/page/build-manifest.json +3 -3
  90. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +34 -24
  91. package/server/.next/server/app/(console)/backups/page.js +78 -76
  92. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  93. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  94. package/server/.next/server/app/(console)/catalog/page/build-manifest.json +3 -3
  95. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +28 -18
  96. package/server/.next/server/app/(console)/catalog/page.js +76 -74
  97. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  98. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  99. package/server/.next/server/app/(console)/connections/page/build-manifest.json +3 -3
  100. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +50 -40
  101. package/server/.next/server/app/(console)/connections/page.js +79 -77
  102. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  103. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  104. package/server/.next/server/app/(console)/d1/page/build-manifest.json +3 -3
  105. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +28 -18
  106. package/server/.next/server/app/(console)/d1/page.js +77 -75
  107. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  108. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  109. package/server/.next/server/app/(console)/deployments/page/build-manifest.json +3 -3
  110. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +40 -30
  111. package/server/.next/server/app/(console)/deployments/page.js +77 -75
  112. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  113. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  114. package/server/.next/server/app/(console)/dns/page/build-manifest.json +3 -3
  115. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +42 -32
  116. package/server/.next/server/app/(console)/dns/page.js +80 -78
  117. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  118. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  119. package/server/.next/server/app/(console)/domains/page/build-manifest.json +3 -3
  120. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +32 -22
  121. package/server/.next/server/app/(console)/domains/page.js +79 -77
  122. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  123. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  124. package/server/.next/server/app/(console)/events/page/build-manifest.json +3 -3
  125. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +28 -18
  126. package/server/.next/server/app/(console)/events/page.js +76 -74
  127. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  128. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  129. package/server/.next/server/app/(console)/firebase/page/build-manifest.json +3 -3
  130. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +42 -32
  131. package/server/.next/server/app/(console)/firebase/page.js +78 -76
  132. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  133. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  134. package/server/.next/server/app/(console)/logs/page/build-manifest.json +3 -3
  135. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +30 -20
  136. package/server/.next/server/app/(console)/logs/page.js +75 -73
  137. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  138. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  139. package/server/.next/server/app/(console)/manage/sections/page/build-manifest.json +3 -3
  140. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +30 -20
  141. package/server/.next/server/app/(console)/manage/sections/page.js +75 -73
  142. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  143. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  144. package/server/.next/server/app/(console)/neon/page/build-manifest.json +3 -3
  145. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +50 -40
  146. package/server/.next/server/app/(console)/neon/page.js +80 -78
  147. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  148. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  149. package/server/.next/server/app/(console)/overview/page/build-manifest.json +3 -3
  150. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +46 -36
  151. package/server/.next/server/app/(console)/overview/page.js +84 -82
  152. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  153. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  154. package/server/.next/server/app/(console)/repos/[id]/page/build-manifest.json +3 -3
  155. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +30 -20
  156. package/server/.next/server/app/(console)/repos/[id]/page.js +78 -76
  157. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  158. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  159. package/server/.next/server/app/(console)/repos/page/build-manifest.json +3 -3
  160. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +28 -18
  161. package/server/.next/server/app/(console)/repos/page.js +75 -73
  162. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  163. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  164. package/server/.next/server/app/(console)/settings/page/build-manifest.json +3 -3
  165. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +48 -38
  166. package/server/.next/server/app/(console)/settings/page.js +76 -74
  167. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  168. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  169. package/server/.next/server/app/(console)/sql/page/build-manifest.json +3 -3
  170. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +42 -32
  171. package/server/.next/server/app/(console)/sql/page.js +75 -73
  172. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  173. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  174. package/server/.next/server/app/(console)/status/page/build-manifest.json +3 -3
  175. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +28 -18
  176. package/server/.next/server/app/(console)/status/page.js +78 -75
  177. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  178. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  179. package/server/.next/server/app/(console)/supabase/page/build-manifest.json +3 -3
  180. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +68 -58
  181. package/server/.next/server/app/(console)/supabase/page.js +85 -84
  182. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  183. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  184. package/server/.next/server/app/(console)/topology/page/build-manifest.json +3 -3
  185. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +28 -18
  186. package/server/.next/server/app/(console)/topology/page.js +77 -75
  187. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  188. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  189. package/server/.next/server/app/(console)/turso/page/build-manifest.json +3 -3
  190. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +28 -18
  191. package/server/.next/server/app/(console)/turso/page.js +76 -74
  192. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  193. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  194. package/server/.next/server/app/(console)/upstash/page/build-manifest.json +3 -3
  195. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +28 -18
  196. package/server/.next/server/app/(console)/upstash/page.js +76 -74
  197. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  198. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  199. package/server/.next/server/app/(console)/uptime/page/build-manifest.json +3 -3
  200. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +56 -46
  201. package/server/.next/server/app/(console)/uptime/page.js +78 -76
  202. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  203. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  204. package/server/.next/server/app/(console)/welcome/page/build-manifest.json +3 -3
  205. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +38 -28
  206. package/server/.next/server/app/(console)/welcome/page.js +75 -73
  207. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  208. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  209. package/server/.next/server/app/_global-error/page/build-manifest.json +3 -3
  210. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  211. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  212. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  213. package/server/.next/server/app/_global-error.html +1 -1
  214. package/server/.next/server/app/_global-error.rsc +4 -4
  215. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +3 -3
  216. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +4 -4
  217. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  218. package/server/.next/server/app/_not-found/page/build-manifest.json +3 -3
  219. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  220. package/server/.next/server/app/_not-found/page.js +14 -11
  221. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  222. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  223. package/server/.next/server/app/_not-found.html +1 -1
  224. package/server/.next/server/app/_not-found.rsc +29 -24
  225. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +29 -24
  226. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +27 -24
  227. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  228. package/server/.next/server/app/account/password/page/build-manifest.json +3 -3
  229. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  230. package/server/.next/server/app/account/password/page.js +17 -18
  231. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  232. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  233. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  234. package/server/.next/server/app/api/collect/route.js +24 -24
  235. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  236. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  237. package/server/.next/server/app/api/daily/route.js +24 -24
  238. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  239. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  240. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  241. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
  242. package/server/.next/server/app/api/telegram/webhook/route.js +23 -23
  243. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  244. package/server/.next/server/app/api/v1/advice/route.js +3 -3
  245. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  246. package/server/.next/server/app/api/v1/ai/chat/completions/route.js +1 -1
  247. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  248. package/server/.next/server/app/api/v1/ai/models/route.js +1 -1
  249. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  250. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  251. package/server/.next/server/app/api/v1/ai/questions/route.js +3 -3
  252. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  253. package/server/.next/server/app/api/v1/mcp/route.js +2 -2
  254. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  255. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  256. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  257. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +3 -3
  258. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  259. package/server/.next/server/app/api/v1/status/route.js +3 -3
  260. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  261. package/server/.next/server/app/api/watchdog/route.js +13 -13
  262. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  263. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  264. package/server/.next/server/app/auth/google/callback/route.js +2 -2
  265. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  266. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  267. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  268. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  269. package/server/.next/server/app/invite/page/build-manifest.json +3 -3
  270. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  271. package/server/.next/server/app/invite/page.js +22 -22
  272. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  273. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  274. package/server/.next/server/app/mfa/page/build-manifest.json +3 -3
  275. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  276. package/server/.next/server/app/mfa/page.js +31 -32
  277. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  278. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  279. package/server/.next/server/app/mfa/setup/page/build-manifest.json +3 -3
  280. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  281. package/server/.next/server/app/mfa/setup/page.js +31 -32
  282. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  283. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  284. package/server/.next/server/app/page/build-manifest.json +3 -3
  285. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  286. package/server/.next/server/app/page.js +14 -11
  287. package/server/.next/server/app/page.js.nft.json +1 -1
  288. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  289. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  290. package/server/.next/server/app/s/[slug]/page/build-manifest.json +3 -3
  291. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  292. package/server/.next/server/app/s/[slug]/page.js +21 -20
  293. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  294. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  295. package/server/.next/server/app/setup/page/build-manifest.json +3 -3
  296. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  297. package/server/.next/server/app/setup/page.js +20 -18
  298. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  299. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  300. package/server/.next/server/app/signin/page/build-manifest.json +3 -3
  301. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  302. package/server/.next/server/app/signin/page.js +28 -28
  303. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  304. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  305. package/server/.next/server/chunks/{[externals]__0dolpidprtypa._.js → [externals]__0y_x27mdj85p4._.js} +1 -1
  306. package/server/.next/server/chunks/{[externals]__0pfohce9kbhcc._.js → [externals]__1fzfzd0ia0sk6._.js} +1 -1
  307. package/server/.next/server/chunks/{[externals]__1ou2ofma806s1._.js → [externals]__1qqyrxnupegg3._.js} +1 -1
  308. package/server/.next/server/chunks/{[root-of-the-server]__0wbhuhlkn_ueu._.js → [root-of-the-server]__0-ytbad9hn7uc._.js} +2 -2
  309. package/server/.next/server/chunks/{[root-of-the-server]__1cbg6fvn16har._.js → [root-of-the-server]__0032rbj2s87zo._.js} +2 -2
  310. package/server/.next/server/chunks/{[root-of-the-server]__1-bvfylgbkjso._.js → [root-of-the-server]__02n6y6aa6qp1b._.js} +2 -2
  311. package/server/.next/server/chunks/{[root-of-the-server]__163-eo1vkbzx1._.js → [root-of-the-server]__03i6yscmtbhhg._.js} +2 -2
  312. package/server/.next/server/chunks/{[root-of-the-server]__1x9u88f9545aa._.js → [root-of-the-server]__05qcc-0e8z1u8._.js} +2 -2
  313. package/server/.next/server/chunks/{[root-of-the-server]__1p1k8nq50cwfy._.js → [root-of-the-server]__07bw6o0jc31yr._.js} +2 -2
  314. package/server/.next/server/chunks/{[root-of-the-server]__14pgqdfdkuopi._.js → [root-of-the-server]__07eo--c90cju2._.js} +2 -2
  315. package/server/.next/server/chunks/{[root-of-the-server]__0iysztx_xio84._.js → [root-of-the-server]__07mzeijv31avl._.js} +2 -2
  316. package/server/.next/server/chunks/{[root-of-the-server]__05ht00n_eiksb._.js → [root-of-the-server]__090in165mp6av._.js} +1 -1
  317. package/server/.next/server/chunks/{[root-of-the-server]__02s57amypj_ye._.js → [root-of-the-server]__09odxyho_9vk_._.js} +2 -2
  318. package/server/.next/server/chunks/{[root-of-the-server]__0403hy52a1qcu._.js → [root-of-the-server]__0bmyll20mg_gf._.js} +1 -1
  319. package/server/.next/server/chunks/{[root-of-the-server]__08k886n7y6f_3._.js → [root-of-the-server]__0btybbrsr4abf._.js} +1 -1
  320. package/server/.next/server/chunks/{[root-of-the-server]__0hvejly8-nlkq._.js → [root-of-the-server]__0c-33noc8yn1-._.js} +1 -1
  321. package/server/.next/server/chunks/{[root-of-the-server]__1xrt934xl5wbd._.js → [root-of-the-server]__0d99wclm2suox._.js} +2 -2
  322. package/server/.next/server/chunks/{[root-of-the-server]__0b136ghrklbbn._.js → [root-of-the-server]__0dsy-9ts8s-pn._.js} +1 -1
  323. package/server/.next/server/chunks/{[root-of-the-server]__01estsu5k8l4t._.js → [root-of-the-server]__0g1cifa7hd790._.js} +1 -1
  324. package/server/.next/server/chunks/{[root-of-the-server]__0pwn8go30dm_3._.js → [root-of-the-server]__0gox66sv0bx47._.js} +2 -2
  325. package/server/.next/server/chunks/{[root-of-the-server]__0w8qhgmo5c23i._.js → [root-of-the-server]__0hblpf7wqke-j._.js} +2 -2
  326. package/server/.next/server/chunks/{[root-of-the-server]__0kgmy-sltdtb_._.js → [root-of-the-server]__0hlyn_aj72sn5._.js} +2 -2
  327. package/server/.next/server/chunks/{[root-of-the-server]__0cskq__p3tja8._.js → [root-of-the-server]__0hnljrh9qi9t-._.js} +2 -2
  328. package/server/.next/server/chunks/{[root-of-the-server]__0xgl1cg3z00iz._.js → [root-of-the-server]__0hrtz5c_46jkw._.js} +1 -1
  329. package/server/.next/server/chunks/[root-of-the-server]__0iicsi0n7tfa5._.js +3 -0
  330. package/server/.next/server/chunks/{[root-of-the-server]__0dc0pz57q73va._.js → [root-of-the-server]__0kp0yx909wtab._.js} +1 -1
  331. package/server/.next/server/chunks/{[root-of-the-server]__04ruh9diphqtp._.js → [root-of-the-server]__0ku7nva3gxa9p._.js} +2 -2
  332. package/server/.next/server/chunks/{[root-of-the-server]__1w-yk3b07wcf1._.js → [root-of-the-server]__0l6_iao04u72h._.js} +2 -2
  333. package/server/.next/server/chunks/{[root-of-the-server]__1yzaj148hs9a1._.js → [root-of-the-server]__0l9ja3579qrju._.js} +2 -2
  334. package/server/.next/server/chunks/{[root-of-the-server]__0_64c807n6q9e._.js → [root-of-the-server]__0noc6l63d3l9w._.js} +2 -2
  335. package/server/.next/server/chunks/[root-of-the-server]__0nqbue6i0l3qs._.js +3 -0
  336. package/server/.next/server/chunks/{[root-of-the-server]__04zuzs7oruu3o._.js → [root-of-the-server]__0nrg8zzqizk69._.js} +2 -2
  337. package/server/.next/server/chunks/{[root-of-the-server]__1lbmzw1j9jufm._.js → [root-of-the-server]__0oy0hcm48kl-q._.js} +2 -2
  338. package/server/.next/server/chunks/{[root-of-the-server]__0l5v9itfv9nhr._.js → [root-of-the-server]__0r1men25anfgb._.js} +1 -1
  339. package/server/.next/server/chunks/{[root-of-the-server]__05jzukkrp2pvu._.js → [root-of-the-server]__0s5b-tdq7rndj._.js} +2 -2
  340. package/server/.next/server/chunks/{[root-of-the-server]__1ry92m8xlcebk._.js → [root-of-the-server]__0v-gc-c_e8pwl._.js} +2 -2
  341. package/server/.next/server/chunks/[root-of-the-server]__0wp6j3irilu76._.js +3 -0
  342. package/server/.next/server/chunks/{[root-of-the-server]__0t9o5ca5bzg0p._.js → [root-of-the-server]__0x487cn6dsn12._.js} +2 -2
  343. package/server/.next/server/chunks/{[root-of-the-server]__11qvos_7nf8z8._.js → [root-of-the-server]__0yuyew8m9dc6-._.js} +1 -1
  344. package/server/.next/server/chunks/{[root-of-the-server]__1w9hei9xe1odr._.js → [root-of-the-server]__0zni_2pv2fdgb._.js} +2 -2
  345. package/server/.next/server/chunks/{[root-of-the-server]__10mob-6xfy8b0._.js → [root-of-the-server]__125fkw52kl2ty._.js} +2 -2
  346. package/server/.next/server/chunks/[root-of-the-server]__13hrm9c61i7uk._.js +3 -0
  347. package/server/.next/server/chunks/{[root-of-the-server]__0m9648az7bkus._.js → [root-of-the-server]__16lfk1wg0ejaa._.js} +2 -2
  348. package/server/.next/server/chunks/{[root-of-the-server]__1vmls0bkau925._.js → [root-of-the-server]__16waq6rapvngp._.js} +2 -2
  349. package/server/.next/server/chunks/[root-of-the-server]__18eg-mk5loj_8._.js +3 -0
  350. package/server/.next/server/chunks/[root-of-the-server]__19ylbgd65iej4._.js +3 -0
  351. package/server/.next/server/chunks/{[root-of-the-server]__1vutb2z9gw8el._.js → [root-of-the-server]__1adw_bv2u89kc._.js} +1 -1
  352. package/server/.next/server/chunks/[root-of-the-server]__1c653f_8qzrpd._.js +3 -0
  353. package/server/.next/server/chunks/{[root-of-the-server]__00wz8qo4hgq2i._.js → [root-of-the-server]__1c78cu7kb9vkl._.js} +2 -2
  354. package/server/.next/server/chunks/[root-of-the-server]__1d5y0cc5mg_07._.js +3 -0
  355. package/server/.next/server/chunks/[root-of-the-server]__1e1l75cf48ph2._.js +3 -0
  356. package/server/.next/server/chunks/[root-of-the-server]__1eu2_f44as742._.js +3 -0
  357. package/server/.next/server/chunks/[root-of-the-server]__1hv3hk5182t-o._.js +3 -0
  358. package/server/.next/server/chunks/[root-of-the-server]__1j6xniw630fg0._.js +3 -0
  359. package/server/.next/server/chunks/{[root-of-the-server]__1cwr95yi8preu._.js → [root-of-the-server]__1jsf0jf_ljpsm._.js} +2 -2
  360. package/server/.next/server/chunks/{[root-of-the-server]__1fj8d0drhw1yx._.js → [root-of-the-server]__1lerees-l5-6c._.js} +2 -2
  361. package/server/.next/server/chunks/{[root-of-the-server]__1sb8d4e5b5pdl._.js → [root-of-the-server]__1lj1f2w2-w8nw._.js} +2 -2
  362. package/server/.next/server/chunks/[root-of-the-server]__1nu5isiy7d832._.js +3 -0
  363. package/server/.next/server/chunks/{[root-of-the-server]__0sfnhgc5reef1._.js → [root-of-the-server]__1ooxluowhatjt._.js} +2 -2
  364. package/server/.next/server/chunks/[root-of-the-server]__1pvx0izh1m_0_._.js +3 -0
  365. package/server/.next/server/chunks/{[root-of-the-server]__0i3bs_98vlttu._.js → [root-of-the-server]__1rpgddeg42i-q._.js} +2 -2
  366. package/server/.next/server/chunks/{[root-of-the-server]__1r9j5o80kocvz._.js → [root-of-the-server]__1s4bwjevs4hd-._.js} +2 -2
  367. package/server/.next/server/chunks/[root-of-the-server]__1uox9a0td-o0-._.js +3 -0
  368. package/server/.next/server/chunks/[root-of-the-server]__1vvg0ur3_7o0p._.js +3 -0
  369. package/server/.next/server/chunks/[root-of-the-server]__1vwz2r58cojht._.js +3 -0
  370. package/server/.next/server/chunks/{[root-of-the-server]__1zcp6yrat15t5._.js → [root-of-the-server]__1wpdlr4uh1un4._.js} +2 -2
  371. package/server/.next/server/chunks/[root-of-the-server]__1x7en4waq21dd._.js +3 -0
  372. package/server/.next/server/chunks/[root-of-the-server]__1x813cg-b9rls._.js +3 -0
  373. package/server/.next/server/chunks/{[root-of-the-server]__1147qf6sf3ru4._.js → [root-of-the-server]__1xl6_spngp6k3._.js} +2 -2
  374. package/server/.next/server/chunks/{[root-of-the-server]__1lfidps4tcfkg._.js → [root-of-the-server]__1y2qf8ltxhk0o._.js} +2 -2
  375. package/server/.next/server/chunks/[root-of-the-server]__1z_0gt-w6bx9v._.js +3 -0
  376. package/server/.next/server/chunks/{[root-of-the-server]__1w_wtn9h9eu93._.js → [root-of-the-server]__1zvoez8iapsem._.js} +2 -2
  377. package/server/.next/server/chunks/[root-of-the-server]__209g3_0l-y67u._.js +3 -0
  378. package/server/.next/server/chunks/[root-of-the-server]__20pu-tixzpeev._.js +3 -0
  379. package/server/.next/server/chunks/_0-fp57b-utmuw._.js +1 -1
  380. package/server/.next/server/chunks/_004c7-39glldb._.js +4 -4
  381. package/server/.next/server/chunks/_004j-wbs3yn84._.js +1 -1
  382. package/server/.next/server/chunks/_03qlijpos6a21._.js +1 -1
  383. package/server/.next/server/chunks/_06lf75x-xhl7v._.js +1 -1
  384. package/server/.next/server/chunks/_09l75j3ey14tc._.js +1 -1
  385. package/server/.next/server/chunks/_0brb2454uen18._.js +1 -1
  386. package/server/.next/server/chunks/_0dkhprw6wsizx._.js +1 -1
  387. package/server/.next/server/chunks/_0duxuj4kmjibl._.js +46 -0
  388. package/server/.next/server/chunks/_0gz8ldqeokdtn._.js +1 -1
  389. package/server/.next/server/chunks/_0kmhvts35imzs._.js +4 -4
  390. package/server/.next/server/chunks/_0l_hz-8cj94r7._.js +3 -0
  391. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  392. package/server/.next/server/chunks/_0ofzzim090ezo._.js +1 -1
  393. package/server/.next/server/chunks/_0q3ygdztfvqq6._.js +3 -0
  394. package/server/.next/server/chunks/{_1msi9fy888xna._.js → _0q9a3ettj_h2s._.js} +2 -2
  395. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +7 -7
  396. package/server/.next/server/chunks/_0qyupoc7u5hr7._.js +3 -0
  397. package/server/.next/server/chunks/_0rwuppwyvemfj._.js +4 -4
  398. package/server/.next/server/chunks/{_1z8__gxixw-z-._.js → _0ry4553j-m5fp._.js} +3 -3
  399. package/server/.next/server/chunks/_0s2odl9xacsg0._.js +1 -1
  400. package/server/.next/server/chunks/_0sy878k2ywjbq._.js +1 -1
  401. package/server/.next/server/chunks/_0tz4o-qufnu3l._.js +4 -4
  402. package/server/.next/server/chunks/_0voowig3y32v1._.js +4 -4
  403. package/server/.next/server/chunks/_0wtlf0x_depae._.js +3 -0
  404. package/server/.next/server/chunks/_0xf7mtsrkgc9e._.js +2 -2
  405. package/server/.next/server/chunks/_0zj10_al6r59j._.js +26 -26
  406. package/server/.next/server/chunks/_1-pcsy2hkg0il._.js +3 -0
  407. package/server/.next/server/chunks/_1-pw7jw52sbti._.js +1 -1
  408. package/server/.next/server/chunks/_10vh_l3hht4_3._.js +4 -4
  409. package/server/.next/server/chunks/_113ebzq_9i756._.js +46 -0
  410. package/server/.next/server/chunks/{_219klbycazlx_._.js → _16urxazbgm48y._.js} +3 -3
  411. package/server/.next/server/chunks/_17aiz6zt-yv52._.js +2 -2
  412. package/server/.next/server/chunks/_18p-vw2zmdx9f._.js +1 -1
  413. package/server/.next/server/chunks/_1_son1yzo5xvl._.js +1 -1
  414. package/server/.next/server/chunks/_1_xsrlijknnh3._.js +1 -1
  415. package/server/.next/server/chunks/_1a5vma58w9ytn._.js +4 -4
  416. package/server/.next/server/chunks/_1e_rbkrukj0x9._.js +26 -26
  417. package/server/.next/server/chunks/{_060yqv0qyo-lp._.js → _1g8r-7wcf8sy3._.js} +3 -3
  418. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +7 -7
  419. package/server/.next/server/chunks/_1h73gul79s8pi._.js +1 -1
  420. package/server/.next/server/chunks/_1ihndlef8r00f._.js +46 -0
  421. package/server/.next/server/chunks/_1mwb214-ablfo._.js +46 -0
  422. package/server/.next/server/chunks/_1ngkjn56qmi2x._.js +3 -0
  423. package/server/.next/server/chunks/_1v7q0xdxbqawm._.js +4 -4
  424. package/server/.next/server/chunks/_1xs2ya_n7kb04._.js +4 -4
  425. package/server/.next/server/chunks/node_modules_drizzle-orm_entity_1-0q2stnw2ab8.js +1 -1
  426. package/server/.next/server/chunks/node_modules_zod_v4_classic_external_01k1rek7hgd0j.js +4 -4
  427. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  428. package/server/.next/server/chunks/{src_0lcm1yhnzhn2d._.js → src_00ixvrjrk_2h4._.js} +2 -2
  429. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  430. package/server/.next/server/chunks/src_088gmyaew7ds0._.js +1 -1
  431. package/server/.next/server/chunks/{src_0v67kw2p2wd_c._.js → src_0tdn7mun5rvc6._.js} +2 -2
  432. package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +1 -1
  433. package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +1 -1
  434. package/server/.next/server/chunks/{src_0390zcofy42lg._.js → src_10vyvp9vy_69h._.js} +2 -2
  435. package/server/.next/server/chunks/{src_1v3tf1ye2jzyk._.js → src_13n1vi7uew4iu._.js} +2 -2
  436. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  437. package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +1 -1
  438. package/server/.next/server/chunks/{src_07vqa8fdgu9ah._.js → src_1il7wg_qjxny7._.js} +2 -2
  439. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +7 -4
  440. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  441. package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +1 -1
  442. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +7 -4
  443. package/server/.next/server/chunks/src_20ilndq84j3b3._.js +3 -0
  444. package/server/.next/server/chunks/src_lib_0ayxuk4ftzf2f._.js +6 -0
  445. package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
  446. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  447. package/server/.next/server/chunks/src_lib_0krdzz8eu9xh3._.js +6 -0
  448. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +15 -9
  449. package/server/.next/server/chunks/src_lib_1-u7dbsavbtb0._.js +6 -0
  450. package/server/.next/server/chunks/src_lib_103kimc1xvc_0._.js +9 -0
  451. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +15 -9
  452. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +15 -9
  453. package/server/.next/server/chunks/src_lib_1sdusf16f07x-._.js +9 -0
  454. package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
  455. package/server/.next/server/chunks/src_lib_1xwavi_m_li7p._.js +1 -1
  456. package/server/.next/server/chunks/src_lib_206j7lyff31-g._.js +6 -0
  457. package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  458. package/server/.next/server/chunks/src_lib_auth_ts_11yt3pae6wy-o._.js +1 -1
  459. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +5 -5
  460. package/server/.next/server/chunks/src_lib_data_advisor-db_ts_0rl1ug3iana24._.js +1 -1
  461. package/server/.next/server/chunks/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +1 -1
  462. package/server/.next/server/chunks/src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js +1 -1
  463. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +6 -6
  464. package/server/.next/server/chunks/src_lib_domain-move_ts_04stiet1-xpe2._.js +1 -1
  465. package/server/.next/server/chunks/src_lib_local-auth_setup_ts_10d8-k_e6pvft._.js +2 -2
  466. package/server/.next/server/chunks/src_lib_notify_telegram-bot_ts_18y40dkchmcqd._.js +1 -1
  467. package/server/.next/server/chunks/src_lib_view_databases_ts_1ovdbo8spjhf9._.js +1 -1
  468. package/server/.next/server/chunks/src_lib_view_display-name_ts_0xoimm6j7bwnf._.js +1 -1
  469. package/server/.next/server/chunks/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  470. package/server/.next/server/chunks/src_private_1_nggk_wre7qf._.js +2 -2
  471. package/server/.next/server/chunks/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  472. package/server/.next/server/chunks/src_private_ai_gateway_ts_1qtr4nyb8kgnd._.js +2 -2
  473. package/server/.next/server/chunks/src_private_assist_provider-answer_ts_10qv42t-5046y._.js +1 -1
  474. package/server/.next/server/chunks/src_private_assist_questions-db_ts_1l-wvmlexd7tr._.js +1 -1
  475. package/server/.next/server/chunks/src_private_assist_questions-db_ts_1pc4g504t-qmu._.js +1 -1
  476. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  477. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +3 -0
  478. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +3 -0
  479. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +4 -0
  480. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +3 -0
  481. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +3 -0
  482. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +3 -0
  483. package/server/.next/server/chunks/ssr/{[externals]__0jv_q8g96gubg._.js → [externals]__00tbi838eotwu._.js} +1 -1
  484. package/server/.next/server/chunks/ssr/{[externals]__1hqh7fi0-rtlc._.js → [externals]__01kgu896o9-9t._.js} +1 -1
  485. package/server/.next/server/chunks/ssr/{[externals]__1neu6qld_ilyx._.js → [externals]__078uqm46tk5mo._.js} +1 -1
  486. package/server/.next/server/chunks/ssr/{[externals]__0yzs5m5hot2o2._.js → [externals]__0i0hmh-a743jn._.js} +1 -1
  487. package/server/.next/server/chunks/ssr/{[externals]__0et8619os7o06._.js → [externals]__0qc7l-41h018j._.js} +1 -1
  488. package/server/.next/server/chunks/ssr/[externals]__194b54tqm6qaq._.js +3 -0
  489. package/server/.next/server/chunks/ssr/[externals]__1_ttbfsdm3x1-._.js +3 -0
  490. package/server/.next/server/chunks/ssr/{[externals]__0x50_fipcza3k._.js → [externals]__1devsqn7ez77y._.js} +1 -1
  491. package/server/.next/server/chunks/ssr/[externals]__1prfp5pzeoflz._.js +3 -0
  492. package/server/.next/server/chunks/ssr/[externals]__1zxtjc2qr2epg._.js +3 -0
  493. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0oayb8dm0iu8k._.js → [root-of-the-server]__004q78ed0nf0_._.js} +2 -2
  494. package/server/.next/server/chunks/ssr/[root-of-the-server]__01zthkv8nrlct._.js +3 -0
  495. package/server/.next/server/chunks/ssr/{[root-of-the-server]__050d99bknjdvq._.js → [root-of-the-server]__04_prmhm_cts4._.js} +2 -2
  496. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0-jx3t8dg8n5t._.js → [root-of-the-server]__04nc91kiy757l._.js} +2 -2
  497. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1xwqrik2sugmi._.js → [root-of-the-server]__09blzlbsxqvy9._.js} +2 -2
  498. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0-o5i-5pqjk5v._.js → [root-of-the-server]__0_6on4a5w76va._.js} +1 -1
  499. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1tco2ec6ha1k6._.js → [root-of-the-server]__0a3n6wzq8xui9._.js} +2 -2
  500. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ptdec0sozaqm._.js → [root-of-the-server]__0an0wsglj2bhh._.js} +2 -2
  501. package/server/.next/server/chunks/ssr/{[root-of-the-server]__18xb7pbdmiyiz._.js → [root-of-the-server]__0ban7lwqlko9y._.js} +2 -2
  502. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0khp_gsot3jh_._.js → [root-of-the-server]__0c_q6tvcmsmt9._.js} +2 -2
  503. package/server/.next/server/chunks/ssr/{[root-of-the-server]__00wwav5k7xmy0._.js → [root-of-the-server]__0ct4apye0sfmc._.js} +2 -2
  504. package/server/.next/server/chunks/ssr/{[root-of-the-server]__15keslh0ov5mv._.js → [root-of-the-server]__0d2ry7-u1cv8c._.js} +2 -2
  505. package/server/.next/server/chunks/ssr/[root-of-the-server]__0e8ya6wyy2plv._.js +3 -0
  506. package/server/.next/server/chunks/ssr/[root-of-the-server]__0h0txd7z3sxq7._.js +3 -0
  507. package/server/.next/server/chunks/ssr/{[root-of-the-server]__08w3ad-xux1g4._.js → [root-of-the-server]__0h1vffivfh242._.js} +1 -1
  508. package/server/.next/server/chunks/ssr/{[root-of-the-server]__05hw89gap74cw._.js → [root-of-the-server]__0i0_6dnnf0hov._.js} +2 -2
  509. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0khvq0xdah931._.js → [root-of-the-server]__0jgapr1cnvhi6._.js} +2 -2
  510. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0_1130gx52k-9._.js → [root-of-the-server]__0jn0o2e32mwcp._.js} +2 -2
  511. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ojywxj06986-._.js → [root-of-the-server]__0k29b_kblv6sv._.js} +1 -1
  512. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ejxk0jlgi4eb._.js → [root-of-the-server]__0keo0-hwsnkw9._.js} +2 -2
  513. package/server/.next/server/chunks/ssr/[root-of-the-server]__0klc2dyzyjeba._.js +3 -0
  514. package/server/.next/server/chunks/ssr/{[root-of-the-server]__16jkttbe1yoai._.js → [root-of-the-server]__0l50vsk8enxzj._.js} +2 -2
  515. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nlfip3wc3l2z._.js +2 -2
  516. package/server/.next/server/chunks/ssr/{[root-of-the-server]__11ham42w_feik._.js → [root-of-the-server]__0o0cpvobd-u0n._.js} +1 -1
  517. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0kr_tvfgqtb-o._.js → [root-of-the-server]__0paolyy3xkow9._.js} +2 -2
  518. package/server/.next/server/chunks/ssr/[root-of-the-server]__0qnly-gjvfntd._.js +3 -0
  519. package/server/.next/server/chunks/ssr/[root-of-the-server]__0qqcz9ynsgmgl._.js +3 -0
  520. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1k_hi9mbd4_by._.js → [root-of-the-server]__0qwds8dkahd2_._.js} +1 -1
  521. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0bn_thc_vtf_i._.js → [root-of-the-server]__0rdf04ziqasfz._.js} +2 -2
  522. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0_677ii9bahoy._.js → [root-of-the-server]__0ronqmm1xpldk._.js} +2 -2
  523. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +3 -0
  524. package/server/.next/server/chunks/ssr/[root-of-the-server]__0uxychcp_pldy._.js +3 -0
  525. package/server/.next/server/chunks/ssr/[root-of-the-server]__0vnfx03nb5vku._.js +3 -0
  526. package/server/.next/server/chunks/ssr/[root-of-the-server]__0x7w-5h8or6qr._.js +3 -0
  527. package/server/.next/server/chunks/ssr/{[root-of-the-server]__15wwi1pda8ims._.js → [root-of-the-server]__0xpkzaqer75i-._.js} +2 -2
  528. package/server/.next/server/chunks/ssr/[root-of-the-server]__0y6psx1_d7fkt._.js +3 -0
  529. package/server/.next/server/chunks/ssr/{[root-of-the-server]__04klr3-4qi7-t._.js → [root-of-the-server]__107gjehjdhw8p._.js} +2 -2
  530. package/server/.next/server/chunks/ssr/[root-of-the-server]__10kuehp7saz8h._.js +3 -0
  531. package/server/.next/server/chunks/ssr/[root-of-the-server]__113zn8es2wp67._.js +3 -0
  532. package/server/.next/server/chunks/ssr/{[root-of-the-server]__04tkts7c9ylma._.js → [root-of-the-server]__13fabu66slkfb._.js} +2 -2
  533. package/server/.next/server/chunks/ssr/[root-of-the-server]__14ept-_l8j32m._.js +1 -1
  534. package/server/.next/server/chunks/ssr/[root-of-the-server]__15s9onrf73-k8._.js +3 -0
  535. package/server/.next/server/chunks/ssr/{[root-of-the-server]__10rhqv5xq9jaj._.js → [root-of-the-server]__191t_hhtr-k27._.js} +2 -2
  536. package/server/.next/server/chunks/ssr/[root-of-the-server]__19l_r5vy3kxo1._.js +3 -0
  537. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1096-q3_trmm9._.js → [root-of-the-server]__1_b_k8wgqyxy7._.js} +2 -2
  538. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  539. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0exp042uqhyqs._.js → [root-of-the-server]__1a7x--bos5pv8._.js} +2 -2
  540. package/server/.next/server/chunks/ssr/[root-of-the-server]__1adcmllk9wt5l._.js +3 -0
  541. package/server/.next/server/chunks/ssr/[root-of-the-server]__1d5tbv79yjhqm._.js +3 -0
  542. package/server/.next/server/chunks/ssr/[root-of-the-server]__1fj33_xkainxk._.js +2 -2
  543. package/server/.next/server/chunks/ssr/[root-of-the-server]__1itgt83qo1e77._.js +3 -0
  544. package/server/.next/server/chunks/ssr/{[root-of-the-server]__12ymdwm8dphvu._.js → [root-of-the-server]__1mumjk3h0om80._.js} +2 -2
  545. package/server/.next/server/chunks/ssr/[root-of-the-server]__1nat8lbog5imr._.js +1 -1
  546. package/server/.next/server/chunks/ssr/[root-of-the-server]__1p2oghl9lfgmk._.js +3 -0
  547. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1tcu4-eowz9vt._.js → [root-of-the-server]__1pwd99rch8xyl._.js} +2 -2
  548. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0llh-w4ta1qbp._.js → [root-of-the-server]__1sw2q1p1t59y8._.js} +2 -2
  549. package/server/.next/server/chunks/ssr/{[root-of-the-server]__06uaa_2zbg57p._.js → [root-of-the-server]__1tj-iwvrxfd1a._.js} +2 -2
  550. package/server/.next/server/chunks/ssr/{[root-of-the-server]__12-a3tcnfdcyq._.js → [root-of-the-server]__1u_13nhw3kuz3._.js} +2 -2
  551. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0tjab3yn0asf7._.js → [root-of-the-server]__1uojs0x42k86p._.js} +1 -1
  552. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1kieqcc6kdywx._.js → [root-of-the-server]__1yx8ayym979jd._.js} +2 -2
  553. package/server/.next/server/chunks/ssr/[root-of-the-server]__1zmavjo5fhryp._.js +3 -0
  554. package/server/.next/server/chunks/ssr/[root-of-the-server]__20of6xa16fwqa._.js +1 -1
  555. package/server/.next/server/chunks/ssr/_0-wc6f6p0c8lv._.js +3 -0
  556. package/server/.next/server/chunks/ssr/{_04ltmruop4rt3._.js → _02eudwc8ieb2r._.js} +3 -3
  557. package/server/.next/server/chunks/ssr/_034fv8o7kws2k._.js +3 -0
  558. package/server/.next/server/chunks/ssr/_03od6e8ibcxtf._.js +3 -0
  559. package/server/.next/server/chunks/ssr/_042ow6smd_1gj._.js +3 -0
  560. package/server/.next/server/chunks/ssr/{_090fib2x989oc._.js → _08xqk3eibu5aw._.js} +2 -2
  561. package/server/.next/server/chunks/ssr/{_01irlde8uxva8._.js → _0_8v3-nq-b4ug._.js} +2 -2
  562. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  563. package/server/.next/server/chunks/ssr/_0_rtyc4t9xcdo._.js +1 -1
  564. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  565. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  566. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  567. package/server/.next/server/chunks/ssr/{_1ag8axv14phju._.js → _0cbbks0ms7i_u._.js} +3 -3
  568. package/server/.next/server/chunks/ssr/_0cukja7zcxh7e._.js +1 -1
  569. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  570. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +4 -0
  571. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  572. package/server/.next/server/chunks/ssr/{_14n2368190qms._.js → _0fq8thje0tuch._.js} +2 -2
  573. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +4 -0
  574. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +4 -0
  575. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +4 -0
  576. package/server/.next/server/chunks/ssr/{_0tqc0bsnybvva._.js → _0ipnb60-_660b._.js} +2 -2
  577. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +3 -0
  578. package/server/.next/server/chunks/ssr/{_022u_nnwo1yb4._.js → _0kxkg0dbp42ai._.js} +2 -2
  579. package/server/.next/server/chunks/ssr/_0lmcrl8r9dg49._.js +1 -1
  580. package/server/.next/server/chunks/ssr/_0mp5aext18ijx._.js +3 -0
  581. package/server/.next/server/chunks/ssr/_0ns_087lx5abm._.js +1 -1
  582. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  583. package/server/.next/server/chunks/ssr/{_18lgd6o04ugow._.js → _0oub-njkja8gu._.js} +3 -3
  584. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +4 -0
  585. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
  586. package/server/.next/server/chunks/ssr/_0qo8tc43kjsf_._.js +1 -1
  587. package/server/.next/server/chunks/ssr/_0qyupoc7u5hr7._.js +3 -0
  588. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +4 -0
  589. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +4 -0
  590. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +1 -1
  591. package/server/.next/server/chunks/ssr/_0wb79bnj96x0g._.js +3 -0
  592. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  593. package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +4 -0
  594. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  595. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +5 -5
  596. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  597. package/server/.next/server/chunks/ssr/_11llsmv578p2i._.js +3 -0
  598. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +4 -0
  599. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  600. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  601. package/server/.next/server/chunks/ssr/_1_xsrlijknnh3._.js +1 -1
  602. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +4 -0
  603. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  604. package/server/.next/server/chunks/ssr/_1de6e6l7599fp._.js +1 -1
  605. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +4 -0
  606. package/server/.next/server/chunks/ssr/_1dqf3jmb24s37._.js +1 -1
  607. package/server/.next/server/chunks/ssr/_1e47r3tlad52r._.js +3 -0
  608. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +4 -0
  609. package/server/.next/server/chunks/ssr/{_1w_rq6clcs0ft._.js → _1fuywfexex2s8._.js} +3 -3
  610. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  611. package/server/.next/server/chunks/ssr/_1gl78598hz_ku._.js +1 -1
  612. package/server/.next/server/chunks/ssr/_1h93joqd_-1og._.js +1 -1
  613. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +4 -0
  614. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  615. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  616. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +4 -0
  617. package/server/.next/server/chunks/ssr/{_0hmxyfx7su4uk._.js → _1m4km_w39x5e9._.js} +2 -2
  618. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +4 -0
  619. package/server/.next/server/chunks/ssr/_1qdox4yn1u4pc._.js +1 -1
  620. package/server/.next/server/chunks/ssr/_1qdqc9j_skd1q._.js +1 -1
  621. package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +1 -1
  622. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +4 -0
  623. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  624. package/server/.next/server/chunks/ssr/_20wy2moxkzhf0._.js +3 -0
  625. package/server/.next/server/chunks/ssr/{_026w_ig6vy9bt._.js → _218164gkxgum_._.js} +2 -2
  626. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +3 -0
  627. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +3 -0
  628. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +3 -0
  629. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_0y5m8cul6d7kk.js +3 -0
  630. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +3 -0
  631. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +3 -0
  632. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +3 -0
  633. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +3 -0
  634. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +3 -0
  635. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +3 -0
  636. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +3 -0
  637. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +3 -0
  638. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +3 -0
  639. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +3 -0
  640. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  641. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  642. package/server/.next/server/chunks/ssr/node_modules_0bqq4kab3lt4c._.js +3 -0
  643. package/server/.next/server/chunks/ssr/{node_modules_05z64qbskywkh._.js → node_modules_1-uce_v-roeci._.js} +1 -1
  644. package/server/.next/server/chunks/ssr/node_modules_@base-ui_react_dialog_index_parts_mjs_0wvx70_xziwkw._.js +3 -0
  645. package/server/.next/server/chunks/ssr/node_modules_next_dist_client_components_0p8s4lhdi0ir6._.js +3 -0
  646. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-kkewzcx4540.js +3 -0
  647. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00t5_cu_8xco2.js +3 -0
  648. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_028rm32yw9745.js +3 -0
  649. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_02tytjla8gfpw.js +3 -0
  650. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_05tff2l0grv3d.js +3 -0
  651. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08qavwdx-gipt.js +3 -0
  652. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09jdr97vksmwk.js +3 -0
  653. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0c3z69fbbz6-a.js +3 -0
  654. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d4hxwzkts-8z.js +3 -0
  655. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dq-zslzf2s94.js +3 -0
  656. package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_1q_82vyl-q7u6.js → node_modules_next_dist_esm_build_templates_app-page_0e-rjmezj0qkk.js} +2 -2
  657. package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_0ivgh76j_tu2x.js → node_modules_next_dist_esm_build_templates_app-page_0e50mslm8ys4t.js} +2 -2
  658. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0esqulnipbhj7.js +3 -0
  659. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0icasmc2qvtfa.js +3 -0
  660. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0idohkgskbja5.js +3 -0
  661. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ii2a6tud83pj.js +3 -0
  662. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ivr2dcq7hh5t.js +3 -0
  663. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mcwghl-di24f.js +3 -0
  664. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0n05qgf2t9o6n.js +3 -0
  665. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ntej2bo95ns3.js +3 -0
  666. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0o1l93c0tj-p8.js +3 -0
  667. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ollx_iq739y6.js +3 -0
  668. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0v16m5nv0x43b.js +3 -0
  669. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0wa_9ywaoqxrf.js +3 -0
  670. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0y94b-zvw0vrq.js +3 -0
  671. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ydzswpddtx9q.js +3 -0
  672. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0zwpkpyuh6z99.js +3 -0
  673. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14t5-0abqp0sm.js +3 -0
  674. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18h3ke4tl-fzl.js +3 -0
  675. package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_14-4y3i6c1vxc.js → node_modules_next_dist_esm_build_templates_app-page_19kqs-fc2i0zv.js} +2 -2
  676. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_s_25znkg8mz.js +3 -0
  677. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_ysa6fs0tt59.js +3 -0
  678. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1b4hixza89i52.js +3 -0
  679. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1brrqdx4msjzf.js +3 -0
  680. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1e74o7dar2z12.js +3 -0
  681. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1eqpqmdz9jgs0.js +3 -0
  682. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1f3932777ye1o.js +3 -0
  683. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kx1n5-wqjvko.js +3 -0
  684. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1l6umnmh89nvy.js +3 -0
  685. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mdyuengydtxm.js +3 -0
  686. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qmm1wm-dfm_v.js +3 -0
  687. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1t-fn8blx1hp8.js +3 -0
  688. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1tf9xiz17b3cq.js +3 -0
  689. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1tffdbiasnszd.js +3 -0
  690. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uisz6sszlhwp.js +3 -0
  691. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1umag21mbk-rs.js +3 -0
  692. package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_0i3p3qfjihm3f.js → node_modules_next_dist_esm_build_templates_app-page_1vakvu0qtsn07.js} +2 -2
  693. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1wmviw4zw6t_r.js +3 -0
  694. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1xq449tjypb4s.js +3 -0
  695. package/server/.next/server/chunks/ssr/node_modules_zod_v4_classic_external_01k1rek7hgd0j.js +4 -4
  696. package/server/.next/server/chunks/ssr/src_02ynbzyh8nn02._.js +3 -0
  697. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +3 -0
  698. package/server/.next/server/chunks/ssr/{src_0oagnv9_4qww7._.js → src_05kvmrkq5nfyh._.js} +2 -2
  699. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  700. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  701. package/server/.next/server/chunks/ssr/{src_0905fjqu0qv57._.js → src_097wa6oc_utgr._.js} +2 -2
  702. package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +6 -3
  703. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  704. package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +3 -0
  705. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  706. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
  707. package/server/.next/server/chunks/ssr/src_0xh3xicmff6ws._.js +1 -1
  708. package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +1 -1
  709. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  710. package/server/.next/server/chunks/ssr/{src_071xsnvnzlvj8._.js → src_1751lvujjc-tz._.js} +2 -2
  711. package/server/.next/server/chunks/ssr/src_1f1x6508qetmp._.js +3 -0
  712. package/server/.next/server/chunks/ssr/{src_1nse4o3frj33x._.js → src_1fomo1_as1-ea._.js} +2 -2
  713. package/server/.next/server/chunks/ssr/src_1koc8y1nfdlw3._.js +1 -1
  714. package/server/.next/server/chunks/ssr/src_1pd5lqhm1x4yf._.js +1 -1
  715. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  716. package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +1 -1
  717. package/server/.next/server/chunks/ssr/src_1sv5tf2pk5-pn._.js +3 -0
  718. package/server/.next/server/chunks/ssr/{src_0widudneyf0oq._.js → src_1wnx8vxv7nd04._.js} +2 -2
  719. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  720. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  721. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  722. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  723. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +2 -2
  724. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  725. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  726. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  727. package/server/.next/server/chunks/ssr/src_app_(console)_0p2-zm5eewkqo._.js +3 -0
  728. package/server/.next/server/chunks/ssr/src_app_(console)_1za4o0--zhso5._.js +3 -0
  729. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +1 -1
  730. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_1t61z2wktki-v._.js +1 -1
  731. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1jme7fm7ej_lr._.js +3 -0
  732. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  733. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  734. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  735. package/server/.next/server/chunks/ssr/src_app_(console)_connections_02upf_c41dauw._.js +1 -1
  736. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  737. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  738. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  739. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  740. package/server/.next/server/chunks/ssr/src_app_(console)_d1_page_tsx_167hwnq_9uh81._.js +1 -1
  741. package/server/.next/server/chunks/ssr/src_app_(console)_dns_0d1uyir4fe7pc._.js +1 -1
  742. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  743. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  744. package/server/.next/server/chunks/ssr/src_app_(console)_domains_1ut499n11u8_r._.js +1 -1
  745. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  746. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  747. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_17htk-vea5fna._.js +1 -1
  748. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  749. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  750. package/server/.next/server/chunks/ssr/src_app_(console)_overview_page_tsx_0se3f3ln9q-42._.js +1 -1
  751. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  752. package/server/.next/server/chunks/ssr/src_app_(console)_repos_[id]_page_tsx_1nkxthc4ethrj._.js +1 -1
  753. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  754. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  755. package/server/.next/server/chunks/ssr/src_app_(console)_status_page_tsx_1zvj799nv4kah._.js +1 -1
  756. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  757. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_1ofufib3-zzt-._.js +1 -1
  758. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  759. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  760. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  761. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  762. package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
  763. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  764. package/server/.next/server/chunks/ssr/{src_app_signin_06v-xlrxfp079._.js → src_app_signin_11vigmz4xm91m._.js} +2 -2
  765. package/server/.next/server/chunks/ssr/src_components_0-x11r8_844pu._.js +1 -1
  766. package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +1 -1
  767. package/server/.next/server/chunks/ssr/src_components_0_xymno8nakru._.js +3 -0
  768. package/server/.next/server/chunks/ssr/src_components_0ozvphxxwb7d-._.js +3 -0
  769. package/server/.next/server/chunks/ssr/src_components_0tmtbf2etsx03._.js +1 -1
  770. package/server/.next/server/chunks/ssr/src_components_charts_tsx_0u0c5sxi3-7ug._.js +1 -1
  771. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  772. package/server/.next/server/chunks/ssr/src_components_live_tsx_1p2s3b807w0jt._.js +1 -1
  773. package/server/.next/server/chunks/ssr/src_components_ui_dialog_tsx_1tn-i_6d3rhzt._.js +1 -1
  774. package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +7 -1
  775. package/server/.next/server/chunks/ssr/src_lib_0f_4mvf4-xxst._.js +1 -1
  776. package/server/.next/server/chunks/ssr/src_lib_1xwavi_m_li7p._.js +1 -1
  777. package/server/.next/server/chunks/ssr/src_lib_1zgor_vrwl5kt._.js +5 -0
  778. package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  779. package/server/.next/server/chunks/ssr/src_lib_auth_ts_11yt3pae6wy-o._.js +1 -1
  780. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
  781. package/server/.next/server/chunks/ssr/src_lib_collector_self-update_ts_18m5vmptpjhtg._.js +3 -0
  782. package/server/.next/server/chunks/ssr/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +1 -1
  783. package/server/.next/server/chunks/ssr/src_lib_data_github-db_ts_02xuh84m-__8z._.js +1 -1
  784. package/server/.next/server/chunks/ssr/src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js +1 -1
  785. package/server/.next/server/chunks/ssr/{src_lib_demo_15okweo0amos4._.js → src_lib_demo_07uq47fhms-3d._.js} +2 -2
  786. package/server/.next/server/chunks/ssr/src_lib_domain-move_ts_04stiet1-xpe2._.js +1 -1
  787. package/server/.next/server/chunks/ssr/src_lib_local-auth_setup_ts_05zj7z33ne4f5._.js +1 -1
  788. package/server/.next/server/chunks/ssr/src_lib_security_node-runtime_ts_1jei00s21d6v0._.js +3 -0
  789. package/server/.next/server/chunks/ssr/src_lib_view_databases_ts_1ovdbo8spjhf9._.js +1 -1
  790. package/server/.next/server/chunks/ssr/src_lib_view_display-name_ts_0xoimm6j7bwnf._.js +1 -1
  791. package/server/.next/server/chunks/ssr/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  792. package/server/.next/server/chunks/ssr/src_lib_view_network_ts_0toa7t-gw9cup._.js +1 -1
  793. package/server/.next/server/chunks/ssr/src_private_04omlb_sgy-_r._.js +1 -1
  794. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  795. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  796. package/server/.next/server/chunks/ssr/src_private_actions_telegram-approvals_ts_14gvz6qi_j4aa._.js +1 -1
  797. package/server/.next/server/chunks/ssr/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  798. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  799. package/server/.next/server/chunks/ssr/src_private_assist_advisor-notes_ts_0qkpm5c3la7fo._.js +6 -6
  800. package/server/.next/server/chunks/ssr/src_private_assist_questions-db_ts_1l-wvmlexd7tr._.js +1 -1
  801. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  802. package/server/.next/server/middleware-build-manifest.js +105 -105
  803. package/server/.next/server/pages/404.html +1 -1
  804. package/server/.next/server/pages/500.html +1 -1
  805. package/server/.next/server/preview-props.json +3 -3
  806. package/server/.next/server/server-reference-manifest.js +1 -1
  807. package/server/.next/server/server-reference-manifest.json +860 -674
  808. package/server/.next/static/chunks/04ospu_w--6p9.js +1 -0
  809. package/server/.next/static/chunks/06a83nde7riq-.js +1 -0
  810. package/server/.next/static/chunks/088c6cw88jmlb.js +7 -0
  811. package/server/.next/static/chunks/08f1euchlacye.js +1 -0
  812. package/server/.next/static/chunks/09e-vdlax9bp6.js +1 -0
  813. package/server/.next/static/chunks/{0rgn3-cks0udn.js → 0a-rekt06v0sv.js} +1 -1
  814. package/server/.next/static/chunks/{3zaeh5nbkqpyj.js → 0a4b85ckxbprh.js} +1 -1
  815. package/server/.next/static/chunks/0buwzrf7dpagn.js +1 -0
  816. package/server/.next/static/chunks/0dmql-jz-o69o.js +1 -0
  817. package/server/.next/static/chunks/0iyozrryj1w49.js +1 -0
  818. package/server/.next/static/chunks/{0r2z8zg4n43pd.js → 0jf5lpzwq4vh1.js} +1 -1
  819. package/server/.next/static/chunks/0p6hja9octhrd.js +1 -0
  820. package/server/.next/static/chunks/{2wd8yh_ni0lqj.js → 0qoql97izcn4l.js} +1 -1
  821. package/server/.next/static/chunks/0qsk0bb1x81nc.js +1 -0
  822. package/server/.next/static/chunks/{22ierqxhqtwn6.js → 0wkv5e-c430ea.js} +2 -2
  823. package/server/.next/static/chunks/0x41o1ud_ksl1.js +1 -0
  824. package/server/.next/static/chunks/0x_wb_w6fgkyt.js +1 -0
  825. package/server/.next/static/chunks/{0foc_dy1j2x52.js → 12bbufru1ui37.js} +1 -1
  826. package/server/.next/static/chunks/{25r6-t40ok5s9.js → 12zasgv1xisb5.js} +1 -1
  827. package/server/.next/static/chunks/{2yjh4ytp-sedv.js → 149lk0boxihnl.js} +1 -1
  828. package/server/.next/static/chunks/17lwu-2id6c_-.js +1 -0
  829. package/server/.next/static/chunks/{16lnw4itnfhw-.js → 1_93oj1b-nrla.js} +1 -1
  830. package/server/.next/static/chunks/1bt81ubbahkh6.js +1 -0
  831. package/server/.next/static/chunks/1c0s-ejiwfy2u.js +1 -0
  832. package/server/.next/static/chunks/1g_kip3m3h9q6.js +1 -0
  833. package/server/.next/static/chunks/1i8i1ieoh738i.js +1 -0
  834. package/server/.next/static/chunks/1s0s32oqy-54t.js +1 -0
  835. package/server/.next/static/chunks/1ss-6-h8nloc9.js +1 -0
  836. package/server/.next/static/chunks/1t8fe3w70uapo.js +1 -0
  837. package/server/.next/static/chunks/1t9f2pdc3crnr.js +1 -0
  838. package/server/.next/static/chunks/1urtw14pwufsv.js +1 -0
  839. package/server/.next/static/chunks/1wh-ps6a57yj1.js +1 -0
  840. package/server/.next/static/chunks/20ujg0hz_need.js +1 -0
  841. package/server/.next/static/chunks/23b9tctw1mn5a.js +76 -0
  842. package/server/.next/static/chunks/292uz-rsh422k.js +1 -0
  843. package/server/.next/static/chunks/{11gctw6uutyd7.js → 29xg947lkf4-x.js} +1 -1
  844. package/server/.next/static/chunks/2ac9gyn8mzqp4.js +1 -0
  845. package/server/.next/static/chunks/2fze_cnwk8j76.js +1 -0
  846. package/server/.next/static/chunks/2g9dossbqnlr7.js +1 -0
  847. package/server/.next/static/chunks/{2aerfowxsf234.js → 2l4upq4bwgvvu.js} +1 -1
  848. package/server/.next/static/chunks/{177dd6kiifsoi.js → 2pi0r5spn0slc.js} +1 -1
  849. package/server/.next/static/chunks/2rpa_j81h_45y.js +1 -0
  850. package/server/.next/static/chunks/2szc6dvuj3gxy.js +1 -0
  851. package/server/.next/static/chunks/2u3iceaxpiiws.js +1 -0
  852. package/server/.next/static/chunks/2z21xxtcmsmhe.js +1 -0
  853. package/server/.next/static/chunks/{1rt5heq1xn_az.js → 315s21b2dd7lg.js} +1 -1
  854. package/server/.next/static/chunks/35to2q1uretcv.js +1 -0
  855. package/server/.next/static/chunks/{2q88116332v43.js → 37zqf9hef7g0k.js} +1 -1
  856. package/server/.next/static/chunks/38-ay595f3xie.js +1 -0
  857. package/server/.next/static/chunks/38ao1jq4zw-nd.js +1 -0
  858. package/server/.next/static/chunks/38conxv_f-pgo.js +1 -0
  859. package/server/.next/static/chunks/3cyesi3hi6l1g.js +5 -0
  860. package/server/.next/static/chunks/{04lzxilmq17f_.js → 3efi_dyz4y0lj.js} +1 -1
  861. package/server/.next/static/chunks/3qjirj3rjf5mu.js +1 -0
  862. package/server/.next/static/chunks/3vpy-ra0rib9m.js +1 -0
  863. package/server/.next/static/chunks/{22h4lj0gp_6n5.js → 3xxcpv79l5tnh.js} +1 -1
  864. package/server/.next/static/chunks/3ybb15n1q3f-o.css +3 -0
  865. package/server/drizzle-selfhost/0007_webhook_channel.sql +5 -0
  866. package/server/drizzle-selfhost/meta/_journal.json +7 -0
  867. package/tools/reset-login.mjs +1 -1
  868. package/server/.next/server/chunks/[root-of-the-server]__0ych1y0j6e38k._.js +0 -3
  869. package/server/.next/server/chunks/[root-of-the-server]__0zhzy29i2vylk._.js +0 -3
  870. package/server/.next/server/chunks/[root-of-the-server]__0zwe7i-isx08p._.js +0 -3
  871. package/server/.next/server/chunks/[root-of-the-server]__10ee5dhzx78ne._.js +0 -3
  872. package/server/.next/server/chunks/[root-of-the-server]__10q3dc485yp4l._.js +0 -3
  873. package/server/.next/server/chunks/[root-of-the-server]__10u93zgn0-c5a._.js +0 -3
  874. package/server/.next/server/chunks/[root-of-the-server]__115yxhfn37r-k._.js +0 -3
  875. package/server/.next/server/chunks/[root-of-the-server]__14mz6mbk2m_e0._.js +0 -3
  876. package/server/.next/server/chunks/[root-of-the-server]__15y82djobfhof._.js +0 -3
  877. package/server/.next/server/chunks/[root-of-the-server]__165qlmqwvxmzr._.js +0 -3
  878. package/server/.next/server/chunks/[root-of-the-server]__1acps2oi9s0i7._.js +0 -3
  879. package/server/.next/server/chunks/[root-of-the-server]__1erq9v_t5jwp5._.js +0 -3
  880. package/server/.next/server/chunks/[root-of-the-server]__1ip0gr1i080kn._.js +0 -3
  881. package/server/.next/server/chunks/[root-of-the-server]__1mrpvwofqktnv._.js +0 -3
  882. package/server/.next/server/chunks/[root-of-the-server]__1ppnnpydkrs93._.js +0 -3
  883. package/server/.next/server/chunks/[root-of-the-server]__1qdo_hgivrawk._.js +0 -3
  884. package/server/.next/server/chunks/[root-of-the-server]__1qp_dvfy4vvsm._.js +0 -3
  885. package/server/.next/server/chunks/[root-of-the-server]__1rk6wb8qem46d._.js +0 -3
  886. package/server/.next/server/chunks/[root-of-the-server]__1s20vd1etiird._.js +0 -3
  887. package/server/.next/server/chunks/[root-of-the-server]__1s9_nmhp7chvj._.js +0 -3
  888. package/server/.next/server/chunks/[root-of-the-server]__1yc_xjjam78sg._.js +0 -3
  889. package/server/.next/server/chunks/[root-of-the-server]__2067x8gf07f-i._.js +0 -3
  890. package/server/.next/server/chunks/_0beox3lp9z58-._.js +0 -3
  891. package/server/.next/server/chunks/_0gobsd0_oxj5v._.js +0 -3
  892. package/server/.next/server/chunks/_0vwctvzwde-sz._.js +0 -37
  893. package/server/.next/server/chunks/_0yzmfi6iwa_sk._.js +0 -3
  894. package/server/.next/server/chunks/_1c3ksp22eq0rw._.js +0 -37
  895. package/server/.next/server/chunks/_1cjfskikk32wj._.js +0 -37
  896. package/server/.next/server/chunks/_1d9mf39gz0bv4._.js +0 -3
  897. package/server/.next/server/chunks/_1dlvqnaceqr-_._.js +0 -3
  898. package/server/.next/server/chunks/_1jveb9aojczvg._.js +0 -3
  899. package/server/.next/server/chunks/_1qw43v448l9e7._.js +0 -37
  900. package/server/.next/server/chunks/src_0yve3gn52i_mn._.js +0 -3
  901. package/server/.next/server/chunks/src_lib_0cbh80jxsdx3n._.js +0 -6
  902. package/server/.next/server/chunks/src_lib_0s_txig7jm3ty._.js +0 -9
  903. package/server/.next/server/chunks/src_lib_15wd7ab4u5nrn._.js +0 -9
  904. package/server/.next/server/chunks/src_lib_15y0kwcot_7u0._.js +0 -6
  905. package/server/.next/server/chunks/src_lib_16y1secb8t9fj._.js +0 -6
  906. package/server/.next/server/chunks/src_lib_1iwyh213u9xts._.js +0 -6
  907. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_1q6nc5chwn5k4.js +0 -3
  908. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +0 -3
  909. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +0 -4
  910. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +0 -3
  911. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +0 -3
  912. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +0 -3
  913. package/server/.next/server/chunks/ssr/[externals]__1mmmc4yhx5fm6._.js +0 -3
  914. package/server/.next/server/chunks/ssr/[externals]__1nv-uycpa6_lh._.js +0 -3
  915. package/server/.next/server/chunks/ssr/[externals]__1p5zuqwmfkoo1._.js +0 -3
  916. package/server/.next/server/chunks/ssr/[externals]__1thdbok76xtof._.js +0 -3
  917. package/server/.next/server/chunks/ssr/[root-of-the-server]__01mgajn73iwc7._.js +0 -5
  918. package/server/.next/server/chunks/ssr/[root-of-the-server]__05q-laapy00sk._.js +0 -3
  919. package/server/.next/server/chunks/ssr/[root-of-the-server]__0dd9rci1isdjf._.js +0 -3
  920. package/server/.next/server/chunks/ssr/[root-of-the-server]__0lehuiyzxp78t._.js +0 -3
  921. package/server/.next/server/chunks/ssr/[root-of-the-server]__0p7d9dfmuhnvv._.js +0 -3
  922. package/server/.next/server/chunks/ssr/[root-of-the-server]__0tp9vtckbkk9o._.js +0 -3
  923. package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +0 -3
  924. package/server/.next/server/chunks/ssr/[root-of-the-server]__10y2ig7dg3f-k._.js +0 -3
  925. package/server/.next/server/chunks/ssr/[root-of-the-server]__194546bqpq02e._.js +0 -3
  926. package/server/.next/server/chunks/ssr/[root-of-the-server]__1bvp2ia3h9qbs._.js +0 -3
  927. package/server/.next/server/chunks/ssr/[root-of-the-server]__1dyjzbqwy6o12._.js +0 -3
  928. package/server/.next/server/chunks/ssr/[root-of-the-server]__1l695djsioelp._.js +0 -3
  929. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pfk0fqey3ipf._.js +0 -3
  930. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pgpryg9lkmoz._.js +0 -3
  931. package/server/.next/server/chunks/ssr/[root-of-the-server]__1t4thrxlv4zre._.js +0 -3
  932. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tuftf7fags7x._.js +0 -5
  933. package/server/.next/server/chunks/ssr/[root-of-the-server]__1vyste6xyyu37._.js +0 -3
  934. package/server/.next/server/chunks/ssr/[root-of-the-server]__1yf4_oyl-3xp7._.js +0 -3
  935. package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +0 -4
  936. package/server/.next/server/chunks/ssr/_06kn13xh_13da._.js +0 -3
  937. package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +0 -4
  938. package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +0 -4
  939. package/server/.next/server/chunks/ssr/_0i2a_ziqzhyq-._.js +0 -3
  940. package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +0 -4
  941. package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +0 -4
  942. package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +0 -4
  943. package/server/.next/server/chunks/ssr/_0qcvpnwa1u3vr._.js +0 -3
  944. package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +0 -3
  945. package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +0 -4
  946. package/server/.next/server/chunks/ssr/_0ymtfa6vo-yz5._.js +0 -3
  947. package/server/.next/server/chunks/ssr/_0yn1xeumiigj0._.js +0 -3
  948. package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +0 -4
  949. package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +0 -4
  950. package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +0 -4
  951. package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +0 -4
  952. package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +0 -4
  953. package/server/.next/server/chunks/ssr/_1dlvqnaceqr-_._.js +0 -3
  954. package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +0 -4
  955. package/server/.next/server/chunks/ssr/_1e5zfwgdf0mm5._.js +0 -3
  956. package/server/.next/server/chunks/ssr/_1h5tfqxzqd2tz._.js +0 -3
  957. package/server/.next/server/chunks/ssr/_1i77n2n-wb98v._.js +0 -4
  958. package/server/.next/server/chunks/ssr/_1k8rjvzlscs56._.js +0 -3
  959. package/server/.next/server/chunks/ssr/_1l-vlfiltmzu3._.js +0 -3
  960. package/server/.next/server/chunks/ssr/_1wssvwkmxcdn5._.js +0 -3
  961. package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +0 -4
  962. package/server/.next/server/chunks/ssr/_20gx4od4pnj8d._.js +0 -3
  963. package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +0 -4
  964. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +0 -3
  965. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +0 -3
  966. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +0 -3
  967. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +0 -3
  968. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1zw_mdh2ep6vs.js +0 -3
  969. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_06a1fnrawxlh1.js +0 -3
  970. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +0 -3
  971. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +0 -3
  972. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_217-u-dmlzx6a.js +0 -3
  973. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +0 -3
  974. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_0ven9q46d3d7s.js +0 -3
  975. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +0 -3
  976. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +0 -3
  977. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +0 -3
  978. package/server/.next/server/chunks/ssr/node_modules_1_u5afwqp6brs._.js +0 -3
  979. package/server/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js +0 -3
  980. package/server/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js +0 -3
  981. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-kg_ige9ehqj.js +0 -3
  982. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00k37tbaia8dh.js +0 -3
  983. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00z_p6szkga15.js +0 -3
  984. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_01-utr59mtfg1.js +0 -3
  985. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_055hw7kwif935.js +0 -3
  986. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06fg_efdkc3kx.js +0 -3
  987. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08f3d08smwt6_.js +0 -3
  988. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08lcfro9qovjn.js +0 -3
  989. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0c8wd69fns_0d.js +0 -3
  990. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0cha-3kg99u4h.js +0 -3
  991. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d_0he72lzkh9.js +0 -3
  992. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0f6chw8z5cuyg.js +0 -3
  993. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j9-_xhs21abp.js +0 -3
  994. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0kwpdjujljna-.js +0 -3
  995. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rer2akuum5r-.js +0 -3
  996. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0umt_achusjjb.js +0 -3
  997. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0un7wq602mt3n.js +0 -3
  998. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vrdl9n7guitd.js +0 -3
  999. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vse2cboy4cms.js +0 -3
  1000. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0x7ey4_8b48_o.js +0 -3
  1001. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0z8l8t55t65t_.js +0 -3
  1002. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0zap6p0vuv-fp.js +0 -3
  1003. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-m49cfu6a7gl.js +0 -3
  1004. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-w3hswsbrppl.js +0 -3
  1005. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1167zbjp4ys_a.js +0 -3
  1006. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_129serqqq3xyq.js +0 -3
  1007. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12en3pdvxu0dy.js +0 -3
  1008. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1596hk9t3r1a5.js +0 -3
  1009. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17us24ry0om-z.js +0 -3
  1010. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_8xi22-aoxu1.js +0 -3
  1011. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_l32aoya75_m.js +0 -3
  1012. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ar0v26274uhj.js +0 -3
  1013. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dkgfjoaf_1g3.js +0 -3
  1014. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1eg14m09zdg__.js +0 -3
  1015. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1h_y671y1la_8.js +0 -3
  1016. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mkokmyyp47hd.js +0 -3
  1017. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1msjiuu45famw.js +0 -3
  1018. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mw7isdchouml.js +0 -3
  1019. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1n4cotiug2a_r.js +0 -3
  1020. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1njl24pr6dwrt.js +0 -3
  1021. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o1_3bydb-3j5.js +0 -3
  1022. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1pjor42_s9imf.js +0 -3
  1023. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qta4yeufzpz7.js +0 -3
  1024. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qxbl6k6dji0s.js +0 -3
  1025. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_21a3kf8buivxw.js +0 -3
  1026. package/server/.next/server/chunks/ssr/src_0f_ip1ke7i9r7._.js +0 -3
  1027. package/server/.next/server/chunks/ssr/src_0ley8c3htc2q9._.js +0 -3
  1028. package/server/.next/server/chunks/ssr/src_0p0fk07bj9gpq._.js +0 -3
  1029. package/server/.next/server/chunks/ssr/src_0ubtruqmercw2._.js +0 -3
  1030. package/server/.next/server/chunks/ssr/src_0vi30frvjgri2._.js +0 -3
  1031. package/server/.next/server/chunks/ssr/src_12sdm7skn8fr1._.js +0 -3
  1032. package/server/.next/server/chunks/ssr/src_16lx0qdi44evh._.js +0 -3
  1033. package/server/.next/server/chunks/ssr/src_17yq6_bqlwgvy._.js +0 -3
  1034. package/server/.next/server/chunks/ssr/src_1n-6pz04odixj._.js +0 -3
  1035. package/server/.next/server/chunks/ssr/src_app_(console)_05mlxmavgli8_._.js +0 -3
  1036. package/server/.next/server/chunks/ssr/src_app_(console)_0u1ec16rmzze6._.js +0 -3
  1037. package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.js +0 -3
  1038. package/server/.next/server/chunks/ssr/src_components_1yp2m9j9dnsv-._.js +0 -3
  1039. package/server/.next/server/chunks/ssr/src_components_ui_dropdown-menu_tsx_1xyz_k6bpdu_5._.js +0 -3
  1040. package/server/.next/static/chunks/01mhc6kz81iwf.js +0 -1
  1041. package/server/.next/static/chunks/02byu0sw5d0g9.js +0 -1
  1042. package/server/.next/static/chunks/02e07gc948zdh.js +0 -1
  1043. package/server/.next/static/chunks/04yl9t4cn6zwm.js +0 -1
  1044. package/server/.next/static/chunks/08oksl0raetg5.js +0 -1
  1045. package/server/.next/static/chunks/0d556cjlmwiq4.js +0 -1
  1046. package/server/.next/static/chunks/0jm8a63677590.js +0 -1
  1047. package/server/.next/static/chunks/0lcmy-_tdtrqk.js +0 -1
  1048. package/server/.next/static/chunks/0ld0vtd027il_.js +0 -1
  1049. package/server/.next/static/chunks/0qciunoy58a03.js +0 -7
  1050. package/server/.next/static/chunks/0r-2mywc7qkb_.js +0 -1
  1051. package/server/.next/static/chunks/0xwz6ps1581qa.js +0 -1
  1052. package/server/.next/static/chunks/1-zyqj42cr9hy.css +0 -3
  1053. package/server/.next/static/chunks/12l7tr29-a97t.js +0 -1
  1054. package/server/.next/static/chunks/160mk2sltxl3e.js +0 -1
  1055. package/server/.next/static/chunks/1bn-7bluoi2vi.js +0 -1
  1056. package/server/.next/static/chunks/1d0mukiro5klq.js +0 -1
  1057. package/server/.next/static/chunks/1jc8ghvf721gg.js +0 -76
  1058. package/server/.next/static/chunks/1nfofl7nhy6fx.js +0 -1
  1059. package/server/.next/static/chunks/1x8bgprfjtt59.js +0 -1
  1060. package/server/.next/static/chunks/1yctclvh0qaxz.js +0 -1
  1061. package/server/.next/static/chunks/1zyyqxguxs96l.js +0 -1
  1062. package/server/.next/static/chunks/23scyaimkowfl.js +0 -1
  1063. package/server/.next/static/chunks/2lfa16b0tlnvj.js +0 -1
  1064. package/server/.next/static/chunks/2onhuya5-n3-e.js +0 -1
  1065. package/server/.next/static/chunks/2pn16qmann41d.js +0 -1
  1066. package/server/.next/static/chunks/2szlo15y09085.js +0 -1
  1067. package/server/.next/static/chunks/2v_f39dz8sa3-.js +0 -1
  1068. package/server/.next/static/chunks/2xhx4rma6gx5o.js +0 -1
  1069. package/server/.next/static/chunks/37f1rjolzxbiv.js +0 -1
  1070. package/server/.next/static/chunks/38c9rnljzl6iw.js +0 -1
  1071. package/server/.next/static/chunks/3_erdlvi2tz19.js +0 -1
  1072. package/server/.next/static/chunks/3qbk8r6jm8udo.js +0 -5
  1073. package/server/.next/static/chunks/3sg_npfod25zq.js +0 -1
  1074. package/server/.next/static/chunks/3tl9dgour-h9l.js +0 -1
  1075. package/server/.next/static/chunks/3vbz762vgy3dx.js +0 -1
  1076. package/server/.next/static/chunks/3wi43ltm1e5iy.js +0 -1
  1077. package/server/.next/static/chunks/3yljsdgzvrkdf.js +0 -1
  1078. package/server/.next/static/chunks/42z3imsp11da1.js +0 -1
  1079. /package/server/.next/static/{ZGhdfWFNBWLdWW4UhJrAO → rBXBlxKpaOHcc5KZDIhAL}/_buildManifest.js +0 -0
  1080. /package/server/.next/static/{ZGhdfWFNBWLdWW4UhJrAO → rBXBlxKpaOHcc5KZDIhAL}/_clientMiddlewareManifest.js +0 -0
  1081. /package/server/.next/static/{ZGhdfWFNBWLdWW4UhJrAO → rBXBlxKpaOHcc5KZDIhAL}/_ssgManifest.js +0 -0
@@ -1,20 +1,20 @@
1
- module.exports=[218550,e=>{"use strict";let t;var a=e.i(126803),n=e.i(789922),r=e.i(239145),i=e.i(842102),s=e.i(725561),o=e.i(641726);let l="The demo is busy right now. Try again in a minute.",d="Too many new demo sessions from your network. Try again in a few minutes.",u=new Map([...new Map([["watchbell-demo-busy",l],["watchbell-demo-too-many",d]])].map(([e,t])=>[t,e]));function c(e){return Object.assign(Error(e),{digest:u.get(e)})}var p=e.i(382108);function m(e){if(Array.isArray(e))return e;let t=e?.rows;return Array.isArray(t)?t:[]}let g=e=>(e??0).toLocaleString("en-US"),h={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:e=>`${g(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 ${g(e)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:e=>`p95 > ${g(e)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"Production deployment state = ERROR"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase status = INACTIVE"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:e=>`TLS certificate expires in < ${g(e)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:e=>`Domain expires in < ${g(e)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Database size > ${g(e)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:e=>`> ${g(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 > ${g(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 ${g(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 > ${g(e)}% for 15 min, RAM > ${g(Math.min(99,(e??80)+10))}%, disk > ${g(e)}% or connections > ${g(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 > ${g(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 < ${g(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"}};function f(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 y(e,t){return e?Math.floor((e.getTime()-t.getTime())/864e5):null}Object.keys(h);let w=e=>e.toLowerCase().replace(/\.$/,""),A=["76.76.21.21"],b=/(^|\.)vercel-dns(-\d+)?\.com$/,k=e=>e.includes("err")?"err":e.includes("warn")?"warn":"ok",v=e=>`${e} day${1===e?"":"s"}`;function I(e,t,a,n){let r=y(t,n);return null===r?null:r<0?{state:"err",reason:`${e} expired ${v(-r)} ago`}:r<a?{state:"warn",reason:`${e} expires in ${v(r)}`}:null}function S(e){try{let t=new URL(e);return`${t.host}${t.pathname}`}catch{return e}}let _=(e,t)=>new Date(e.getTime()-t),x=e=>`{${e.map(e=>null===e?"NULL":"boolean"==typeof e?e?"t":"f":String(e)).join(",")}}`;var T=e.i(666680);let $=(...e)=>(0,T.createHash)("sha256").update(e.join("\0")).digest();function D(e,...t){let a,n=(a=$(e,...t).readUInt32LE(0)>>>0,()=>{let e=a=a+0x6d2b79f5>>>0;return e=Math.imul(e^e>>>15,1|e),(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000});return{next:n,int:(e,t)=>e+Math.floor(n()*(t-e+1)),pick:e=>e[Math.floor(n()*e.length)],chance:e=>n()<e,shuffle:e=>{let t=[...e];for(let e=t.length-1;e>0;e--){let a=Math.floor(n()*(e+1));[t[e],t[a]]=[t[a],t[e]]}return t}}}function M(e,...t){let a=$(e,"id",...t);a[6]=15&a[6]|64,a[8]=63&a[8]|128;let n=a.subarray(0,16).toString("hex");return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}function z(e,t,...a){let n="";for(let r=0;n.length<e;r++)for(let e of $(t,"token",r,...a))n+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[e%62];return n.slice(0,e)}function C(e,t,...a){let n="";for(let r=0;n.length<e;r++)n+=$(t,"hex",r,...a).toString("hex");return n.slice(0,e)}let E=(e,t)=>`${e} ${t}${1===e?"":"s"}`;async function O(e,t,a,n,r){let i,o,l,d,u,c,g,{db:f,seed:w,now:A}=e,b=D(w,"alerts"),k=(...e)=>M(w,"alert",...e),v=e=>t.apps.find(t=>t.id===e)?.name??"app",I=m(await f.execute(p.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),x=I.find(e=>"error"===e.state&&"production"===e.target),T={appId:x.resource_id,appName:v(x.resource_id),sha:x.commit_sha.slice(0,7),createdAt:new Date(x.created_at_provider),currentExternalId:I.find(e=>e.resource_id===x.resource_id&&e.is_current)?.external_id??null},$=(e,t,a)=>{let n=a.resolvedAt??null;return{ruleKey:e,subject:t,severity:h[e].severity,resourceId:null,accountId:null,okStreak:2*!!n,lastSeenAt:n??_(A,1e3*b.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==h[e].severity,lastNotifiedAt:n??new Date(a.startedAt.getTime()+6e4),pending:null,pendingSince:null,...a}},z=r.certSoon,O=y(z.notAfter,A)??0,R=r.zoneSoon,j=y(R.expiresAt,A)??0,N=[$("DeploymentFailed",T.appId,{id:k("firing","deploy"),resourceId:T.appId,title:T.appName,message:`Production deployment ${T.sha} failed.`,startedAt:new Date(T.createdAt.getTime()+1e3*b.int(60,150))}),$("CertExpiringSoon",z.id,{id:k("firing","cert"),resourceId:z.id,title:z.name,message:`The TLS certificate of ${z.name} expires in ${E(O,"day")}.`,startedAt:new Date(z.notAfter.getTime()-12096e5+6e4*b.int(5,55))}),$("DomainExpiringSoon",R.id,{id:k("firing","zone"),resourceId:R.id,title:R.name,message:`${R.name} expires in ${E(j,"day")}.`,startedAt:new Date(R.expiresAt.getTime()-2592e6+6e4*b.int(5,55))})],P=a.outage,B=a.monitors.find(e=>e.id===P.monitorId),U=t.apps.find(e=>e.id!==T.appId)??t.apps[0],L=e=>n.dbs.find(t=>t.kind===e),H=(e,t)=>_(A,864e5*e+36e5*t+6e4*b.int(0,50)),F=(e,t)=>new Date(e.getTime()+6e4*t),V=(e,t)=>{let n=a.monitors.find(e=>e.id===t.monitorId);return $("HighLatency",n.id,{id:k("resolved",e),resourceId:n.appId,title:`${v(n.appId)} ${n.path}`,message:`p95 ${t.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:t.firedAt,resolvedAt:t.resolvedAt})},W={start:H(4,b.int(1,9)),sha:C(7,w,"old-failed",U.name)},G=L("upstash_redis"),K=L("firestore"),q=L("supabase_project"),Q=n.cloudflare.label,Y={outage:$("MonitorDown",B.id,{id:k("resolved","outage"),resourceId:B.appId,title:`${v(B.appId)} ${B.path}`,message:`${S(B.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(P.startedAt.getTime()+6e5),resolvedAt:P.recoveredAt}),latencyA:V("latency-a",a.slow[0]),latencyB:V("latency-b",a.slow[1]),oldDeploy:$("DeploymentFailed",U.id,{id:k("resolved","old-deploy"),resourceId:U.id,title:U.name,message:`Production deployment ${W.sha} failed.`,startedAt:W.start,resolvedAt:F(W.start,b.int(35,70))}),collector:(i=H(6,b.int(1,10)),$("CollectorStale","collector",{id:k("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:i,resolvedAt:F(i,b.int(4,9))})),autoPause:(o=H(6,b.int(12,20)),$("AutoPauseRisk",q.id,{id:k("resolved","auto-pause"),resourceId:q.id,title:q.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:o,resolvedAt:F(o,60*b.int(20,30))})),quota:(l=H(6,b.int(1,8)),$("DbQuotaHigh",G.id,{id:k("resolved","db-quota"),resourceId:G.id,title:G.name,message:`${G.name}: Commands at ${b.int(81,88)}% of the free plan.`,startedAt:l,resolvedAt:F(l,60*b.int(3,6))})),firestore:(d=H(3,b.int(1,6)),$("FirestoreQuotaHigh",K.id,{id:k("resolved","firestore"),resourceId:K.id,title:K.name,message:`${K.name} read ${b.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${b.int(81,92)}%).`,startedAt:d,resolvedAt:F(d,60*b.int(2,5))})),proxied:(u=H(5,b.int(12,20)),$("DnsProxiedToVercel",(c=r.vercelRecord).id,{id:k("resolved","proxied"),resourceId:c.zoneId,title:c.name,message:`${c.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:u,resolvedAt:F(u,24*b.int(2,4)*60)})),credential:(g=H(6,b.int(14,22)),$("CredentialExpiring",n.cloudflare.accountId,{id:k("resolved","credential"),accountId:n.cloudflare.accountId,title:`cloudflare \xb7 ${Q}`,message:`The cloudflare credential ${Q} expires in 9 days.`,startedAt:g,resolvedAt:F(g,24*b.int(1,2)*60+b.int(10,300))}))};return await f.insert(s.alerts).values([...N,...Object.values(Y)]),{firing:{deploy:N[0].id,cert:N[1].id,zone:N[2].id},resolved:{outage:Y.outage.id,oldDeploy:{id:Y.oldDeploy.id,appId:U.id,appName:U.name,previousExternalId:I.find(e=>e.resource_id===U.id&&e.is_previous_production)?.external_id??null,startedAt:Y.oldDeploy.startedAt,resolvedAt:Y.oldDeploy.resolvedAt},credential:{title:Y.credential.title,resolvedAt:Y.credential.resolvedAt}},failedDeploy:T}}let R=e=>`${e}.example`,j=["acme-shop","orbit-blog","nimbus-docs","pixel-forge","harbor-api","lumen-portal","quartz-admin","tidal-landing","ember-status","cobalt-store","willow-wiki","atlas-dash","sprout-crm","comet-links","fable-notes","maple-events"],N=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],P=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],B=["sin1","iad1","fra1","hnd1","sfo1"],U=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],L=["Fix cart total rounding","Add dark mode toggle","Update dependencies","Speed up the product grid","Fix login redirect loop","Add sitemap","Tidy the footer links","Cache the pricing page","Add newsletter signup","Fix image sizes on mobile","Bump Next.js","Add search to the docs","Handle empty states","Retry failed webhooks","Move env checks to startup","Shorten the onboarding copy","Add health endpoint","Fix timezone in the event list","Split the dashboard bundle","Add RSS feed"],H={supabase_project:["shop-prod","portal-main","crm-core","store-db"],neon_project:["analytics","reporting","billing-ledger","metrics-pg"],firestore:["notes-app","mobile-sync","feedback-inbox","event-chat"],turso_database:["edge-cache","geo-lookup","docs-search","flags"],upstash_redis:["sessions","rate-limits","queue-cache","page-cache"],d1_database:["events-log","link-clicks","form-entries","audit-trail"]},F=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],V=[{level:"error",method:"POST",path:"/api/checkout",status:500,message:"TypeError: Cannot read properties of undefined (reading 'price')"},{level:"warning",method:"GET",path:"/products",status:200,message:"Slow query: products list took 1840 ms"},{level:"error",method:"GET",path:"/api/search",status:504,message:"Task timed out after 10.02 seconds"},{level:"warning",method:"GET",path:"/",status:200,message:"Image optimization fell back to the original file (unsupported format)"},{level:"error",method:"POST",path:"/api/webhooks/payments",status:401,message:"Webhook signature didn't match"},{level:"fatal",method:"GET",path:"/api/report",status:500,message:"Error: connect ECONNREFUSED (database connection pool exhausted)"},{level:"warning",method:"GET",path:"/blog/[slug]",status:404,message:'Post not found for slug "spring-sale-2025"'},{level:"error",method:"PUT",path:"/api/profile",status:422,message:"ZodError: email must be a valid email"}];async function W(e){let{db:t,seed:a,now:n}=e,r=D(a,"apps"),i=r.pick(N),o={id:`team_${z(24,a,"team")}`,name:i.name,slug:i.slug},l=M(a,"account","vercel"),d=_(n,864e5*r.int(120,300)),u=_(n,6e4*r.int(3,50));await t.insert(s.accounts).values({id:l,provider:"vercel",label:o.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:u,lastSyncAt:u,createdAt:d,updatedAt:u});let c=r.shuffle(j).slice(0,r.int(5,8)).sort().map((e,t)=>({id:M(a,"app",e),index:t,name:e,externalId:`prj_${z(28,a,"project",e)}`,host:R(e),createdAt:_(n,864e5*r.int(95,400)-36e5*r.int(0,23))}));return await t.insert(s.resources).values(c.map(e=>({id:e.id,accountId:l,kind:"app",externalId:e.externalId,name:e.name,monitored:!0,firstSeenAt:e.createdAt,lastSeenAt:u,createdAt:e.createdAt,updatedAt:u,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:r.pick(P),productionBranch:"main",createdAt:e.createdAt.toISOString(),repo:`example-org/${e.name}`,repoType:"github",functionRegions:[r.pick(B)]}}))),await t.insert(s.deployments).values(function(e,t){let{seed:a,now:n}=e,r=D(a,"deployments"),i=r.pick(t).id,s=r.pick(t).id,o=[];for(let e of t){let t=(t,i,s,l,d)=>{let u=_(n,s),c=new Date(u.getTime()+1e3*r.int(3,12)),p="ready"===l?new Date(c.getTime()+1e3*r.int(25,160)):null,m="production"===i?"main":r.pick(U);o.push({id:M(a,"deployment",e.name,t),resourceId:e.id,externalId:`dpl_${z(24,a,"deployment",e.name,t)}`,state:l,target:i,branch:m,commitSha:C(40,a,"commit",e.name,t),commitMessage:d??r.pick(L),source:"git",url:R(`${e.name}-git-${m.replace(/[^a-z0-9]+/g,"-")}-${z(9,a,"deployment-url",e.name,t).toLowerCase()}`),buildingAt:c,readyAt:p,createdAtProvider:u,isCurrent:!1,isPreviousProduction:!1,createdAt:u,updatedAt:p??c})},l=e.id===i,d=r.int(2,5);for(let e=0;e<d;e++){let a=0===e?Math.max(18e6*!!l,36e5*r.int(1,96)-6e4*r.int(0,40)):864e5*r.int(4+4*e,6+6*e)+36e5*r.int(0,23);t(e,"production",a,"ready")}let u=r.int(0,3);for(let e=0;e<u;e++)t(10+e,"preview",36e5*r.int(2,240)+6e4*r.int(0,59),"ready");l&&t(20,"production",6e4*r.int(30,240),"error","Refactor the checkout form"),e.id===s&&t(21,"preview",6e4*r.int(1,6),"building")}for(let e of t){let{currentId:t,previousId:a}=function(e){let t=[...new Map(e.map(e=>[e.id,e])).values()].sort((e,t)=>t.createdAt.getTime()-e.createdAt.getTime()),a=t[0]?.id??null,n=t.findIndex(e=>e.id===a);return{currentId:a,previousId:n>=0?t[n+1]?.id??null:null}}(o.filter(t=>t.resourceId===e.id&&"production"===t.target&&"ready"===t.state).map(e=>({id:e.externalId,createdAt:e.createdAtProvider})));for(let n of o)n.resourceId===e.id&&(n.isCurrent=n.externalId===t,n.isPreviousProduction=n.externalId===a)}return o}(e,c)),{accountId:l,team:o,apps:c}}async function G(e,t,a){let{db:n,seed:r,now:i}=e,o=D(r,"snapshots"),l=_(i,1e3*o.int(5,40));await n.insert(s.snapshots).values(t.apps.map(e=>{var t,n;let r,s,d,u,c,p=a.filter(t=>t.appId===e.id),m=(t={monitors:p.map(e=>e.state),building:!1,dbPaused:!1}).monitors.includes("err")?"err":t.building?"build":t.monitors.includes("warn")||t.dbPaused?"warn":t.monitors.length?"ok":"unknown",g=p.find(e=>"err"===e.state)??p.find(e=>"warn"===e.state),h=g?.stateSince??new Date(Math.max(...p.map(e=>e.stateSince.getTime())));return{resourceId:e.id,state:m,stateSince:h,collectedAt:l,data:{code:g?.lastStatus??null,latencyMs:p[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(s=36e5*Math.floor((r=_(i,6e4*(n=o).int(2,25))).getTime()/36e5),d=n.int(20,400),{enabled:!0,total24h:c=(u=Array.from({length:24},(e,t)=>{let a=s-(23-t)*36e5,r=.15+.85*Math.max(0,Math.sin(((new Date(a).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(a).toISOString(),Math.round(d*r*(.7+.6*n.next()))]})).reduce((e,[,t])=>e+t,0),visitors24h:Math.round(c*(.3+.2*n.next())),hourly:u,readAt:r.toISOString()})}}}))}var K=e.i(457642),q=e.i(405631),Q=e.i(502564),Y=e.i(975642),Z=e.i(34653),X=e.i(63177),J=e.i(487280),ee=e.i(557367);let et=s.ops.table("supabase_metrics_keys",{resourceId:(0,ee.q)("resource_id").primaryKey().references(()=>s.resources.id,{onDelete:"cascade"}),keyCiphertext:(0,X.f)("key_ciphertext").notNull(),keyIv:(0,X.f)("key_iv").notNull(),keyVersion:(0,q.f)("key_version").notNull().default(1),addedBy:(0,ee.q)("added_by"),latest:(0,Q.y)("latest").$type(),lastTryAt:(0,J._)("last_try_at",{withTimezone:!0}),lastOkAt:(0,J._)("last_ok_at",{withTimezone:!0}),lastError:(0,X.f)("last_error"),createdAt:(0,J._)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,J._)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),ea=s.ops.table("supabase_metrics",{resourceId:(0,ee.q)("resource_id").notNull().references(()=>s.resources.id,{onDelete:"cascade"}),hour:(0,J._)("hour",{withTimezone:!0}).notNull(),samples:(0,q.f)("samples").notNull().default(0),cpuSamples:(0,q.f)("cpu_samples").notNull().default(0),cpuAvg:(0,Z.f)("cpu_avg"),cpuMax:(0,Z.f)("cpu_max"),memAvg:(0,Z.f)("mem_avg"),memMax:(0,Z.f)("mem_max"),diskPct:(0,Z.f)("disk_pct"),connUsed:(0,q.f)("conn_used"),connMax:(0,q.f)("conn_max")},e=>[(0,Y._)({columns:[e.resourceId,e.hour]}),(0,K.y)("supabase_metrics_hour_idx").on(e.hour)]);function en(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"}}var er=e.i(769301),ei=e.i(319281),ei=ei,es=e.i(996794),eo=ei,el=ei,ed=ei;let eu=es.z.string().nullable().optional(),ec=eo.number().nullable().optional(),ep=es.z.string().nullable().optional();er.z.object({status:es.z.string().optional(),region:ep,pgVersion:ep,orgSlug:ep,freeOrg:el.boolean().nullable().optional(),pausedBeforeSeen:el.boolean().optional(),lastGoodState:es.z.string().optional(),lastTrafficAt:eu,trafficAt:eu,trafficError:ep,health:ed.array(er.z.object({name:es.z.string(),status:es.z.string()})).nullable().optional(),healthAt:eu,healthError:ep,sizeBytes:ec,sizeAt:eu,sizeError:ep});let em=er.z.object({id:es.z.string(),branchId:es.z.string(),state:es.z.string(),pendingState:es.z.string().nullable(),disabled:el.boolean(),minCu:eo.number(),maxCu:eo.number(),lastActive:es.z.string().nullable()}),eg=er.z.object({id:es.z.string(),name:es.z.string(),isDefault:el.boolean(),logicalSize:eo.number().nullable()});er.z.object({region:ep,pgVersion:eo.number().nullable().optional(),orgId:ep,computeSeconds:ec,transferBytes:ec,periodStart:eu,periodEnd:eu,activeSeconds:ec,endpoints:ed.array(em).optional(),branches:ed.array(eg).optional(),lastGoodState:es.z.string().optional()}),er.z.object({displayName:ep,latencyMs:ec,pingError:ep,pingReason:ep,pingKind:ep,reads:ec,writes:ec,deletes:ec,opsAt:eu,opsError:ep,authUsers:ec,authAt:eu,authError:ep,lastGoodState:es.z.string().optional()}),er.z.object({org:ep,group:ep,primaryRegion:ep,plan:ep,blockReads:el.boolean().optional(),blockWrites:el.boolean().optional(),rowsRead:ec,rowsWritten:ec,storageBytes:ec,orgRowsRead:ec,orgRowsWritten:ec,orgStorageBytes:ec,orgDatabases:ec,usageAt:eu,usageError:ep,lastGoodState:es.z.string().optional()}),er.z.object({region:ep,status:ep,type:ep,dailyCommands:ec,monthlyRequests:ec,storageBytes:ec,monthlyBandwidthBytes:ec,statsAt:eu,statsError:ep,lastGoodState:es.z.string().optional()}),er.z.object({accountId:ep,createdAt:eu,sizeBytes:ec,numTables:ec,readReplication:ep,detailsAt:eu,detailsError:ep,rowsRead:ec,rowsWritten:ec,readQueries:ec,writeQueries:ec,accountRowsRead:ec,accountRowsWritten:ec,accountSizeBytes:ec,accountDatabases:ec,usageDay:ep,usageAt:eu,usageError:ep,lastGoodState:es.z.string().optional()});var el=ei,eh=ei,eo=ei,ed=ei;er.z.object({success:el.boolean(),result:eh.unknown(),result_info:er.z.object({total_pages:eo.number().optional()}).nullish()}),er.z.object({uuid:es.z.string(),name:es.z.string(),created_at:es.z.string().nullish(),jurisdiction:es.z.string().nullish()}),er.z.object({file_size:eo.number().nullish(),num_tables:eo.number().nullish(),read_replication:er.z.object({mode:es.z.string()}).nullish()}),er.z.object({data:er.z.object({viewer:er.z.object({accounts:ed.array(er.z.object({d1AnalyticsAdaptiveGroups:ed.array(er.z.object({sum:er.z.object({rowsRead:eo.number().default(0),rowsWritten:eo.number().default(0),readQueries:eo.number().default(0),writeQueries:eo.number().default(0)}),dimensions:er.z.object({databaseId:es.z.string()})})).default([])}))}).nullish()}).nullish(),errors:ed.array(er.z.object({message:es.z.string().default("")})).nullish()}),e.i(188597),er.z.object({d1:ei.enum(["ok","missing","error"]),analytics:ei.enum(["ok","missing","error"]).nullable(),at:es.z.string(),note:es.z.string().nullable()});let ef="demo",ey={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function ew(e,t){let{db:a,seed:n,now:r}=e,i=D(n,"databases"),o=t.team,l=_(r,6e4*i.int(4,40));await a.insert(s.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(e=>{let t=_(r,864e5*i.int(60,280));return{id:M(n,"account",e),provider:e,label:"firebase"===e?`${o.slug}-firebase`:o.name,credentialCiphertext:ef,credentialIv:ef,credentialKind:ey[e],status:"ok",lastTestAt:l,lastSyncAt:l,createdAt:t,updatedAt:l}}));let d=C(32,n,"cloudflare-account"),u=[{kind:"supabase_project",provider:"supabase",externalId:z(20,n,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${i.pick(["silent","quiet","misty","bold","calm"])}-${i.pick(["river","meadow","forest","harbor","dune"])}-${C(8,n,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${o.slug.split("-")[0]}-notes-${C(5,n,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:M(n,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:M(n,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:M(n,"d1-db")}].map(({kind:e,provider:t,externalId:a})=>{let s=i.pick(H[e]),l=_(r,864e5*i.int(40,300)),u="supabase_project"===e?{orgSlug:o.slug,region:"ap-southeast-1",pgVersion:"17.4.1.054",createdAt:l.toISOString(),status:"ACTIVE_HEALTHY"}:"neon_project"===e?{orgId:`org-${C(8,n,"neon-org")}`,region:"aws-ap-southeast-1",pgVersion:17,createdAt:l.toISOString()}:"firestore"===e?{projectId:a}:"turso_database"===e?{org:o.slug,group:"default",region:"sin"}:"upstash_redis"===e?{region:"ap-southeast-1",type:"free"}:{accountId:d,createdAt:l.toISOString()};return{id:M(n,"db",e),kind:e,name:s,externalId:a,accountId:M(n,"account",t),meta:u,createdAt:l}});await a.insert(s.resources).values(u.map(e=>({id:e.id,accountId:e.accountId,kind:e.kind,externalId:e.externalId,name:e.name,monitored:!0,meta:e.meta,firstSeenAt:e.createdAt,lastSeenAt:l,createdAt:e.createdAt,updatedAt:l})));let c=e=>u.find(t=>t.kind===e),p=e=>_(r,6e4*e+1e3*i.int(0,50)),m=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1)),g=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth()+1,1)),h=(r.getTime()-m.getTime())/(g.getTime()-m.getTime()),f=[{id:`ep-${z(12,n,"neon-ep").toLowerCase()}`,branchId:`br-${z(12,n,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:_(r,6e4*i.int(20,300)).toISOString()}],y=Math.round((8+50*h+i.int(0,10))*3600),w=function(e){if((e.computeSeconds??0)>=36e4)return{state:"err",label:"CU-hours used up"};if(!e.endpoints.length)return{state:"unknown",label:"No compute"};let t=e.endpoints.map(en);return t.some(e=>"err"===e.state)?{state:"err",label:"Compute suspended"}:t.some(e=>"ok"===e.state)?{state:"ok",label:"Active"}:t.some(e=>"build"===e.state)?{state:"build",label:"Starting"}:t.every(e=>"idle"===e.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}({endpoints:f,computeSeconds:y}),A=[{id:c("supabase_project").id,state:"ok",since:_(r,864e5*i.int(20,90)),at:p(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:o.slug,freeOrg:!0,lastTrafficAt:_(r,6e4*i.int(3,50)).toISOString(),trafficAt:_(r,6e4*i.int(1,4)).toISOString(),health:[{name:"db",status:"ACTIVE_HEALTHY"},{name:"auth",status:"ACTIVE_HEALTHY"},{name:"rest",status:"ACTIVE_HEALTHY"},{name:"storage",status:"ACTIVE_HEALTHY"}],healthAt:_(r,6e4*i.int(1,4)).toISOString(),sizeBytes:1048576*i.int(38,140)+i.int(0,1048576),sizeAt:_(r,36e5*i.int(4,20)).toISOString(),lastGoodState:"ok"}},{id:c("neon_project").id,state:"ok"===w.state?"ok":"idle",since:_(r,6e4*i.int(20,300)),at:p(i.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:c("neon_project").meta.orgId,computeSeconds:y,transferBytes:Math.round((.2+1.6*h)*0x40000000),periodStart:m.toISOString(),periodEnd:g.toISOString(),activeSeconds:Math.round(y/1.4),endpoints:f,branches:[{id:f[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*i.int(120,380)},{id:`br-${z(12,n,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*i.int(60,160)}],lastGoodState:"ok"===w.state?"ok":"idle"}},{id:c("firestore").id,state:"ok",since:_(r,864e5*i.int(10,60)),at:p(1),data:{displayName:c("firestore").name,latencyMs:i.int(70,190),reads:i.int(4e3,22e3),writes:i.int(800,6e3),deletes:i.int(20,400),opsAt:_(r,6e4*i.int(10,50)).toISOString(),authUsers:i.int(80,2400),authAt:_(r,36e5*i.int(2,20)).toISOString(),lastGoodState:"ok"}},{id:c("turso_database").id,state:"ok",since:_(r,864e5*i.int(10,60)),at:p(i.int(5,50)),data:{org:o.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*h)*1e6),rowsWritten:Math.round((.2+2.2*h)*1e6),storageBytes:1048576*i.int(40,600),orgRowsRead:Math.round((25+160*h)*1e6),orgRowsWritten:Math.round((.3+2.6*h)*1e6),orgStorageBytes:1048576*i.int(700,1400),orgDatabases:3,usageAt:_(r,6e4*i.int(5,50)).toISOString(),lastGoodState:"ok"}},{id:c("upstash_redis").id,state:"ok",since:_(r,864e5*i.int(10,60)),at:p(i.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:i.int(2e3,9e3),monthlyRequests:Math.round((20+180*h)*1e3)+i.int(0,999),storageBytes:1048576*i.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*h)*0x40000000),statsAt:_(r,6e4*i.int(5,50)).toISOString(),lastGoodState:"ok"}},{id:c("d1_database").id,state:"ok",since:_(r,864e5*i.int(10,60)),at:p(i.int(5,50)),data:{accountId:d,createdAt:c("d1_database").createdAt.toISOString(),sizeBytes:1048576*i.int(4,120),numTables:i.int(4,12),readReplication:"disabled",detailsAt:_(r,6e4*i.int(5,50)).toISOString(),rowsRead:i.int(4e4,9e5),rowsWritten:i.int(1e3,3e4),readQueries:i.int(4e3,6e4),writeQueries:i.int(300,6e3),accountRowsRead:i.int(9e5,18e5),accountRowsWritten:i.int(3e4,55e3),accountSizeBytes:1048576*i.int(200,900),accountDatabases:2,usageDay:r.toISOString().slice(0,10),usageAt:_(r,6e4*i.int(5,50)).toISOString(),lastGoodState:"ok"}}];await a.insert(s.snapshots).values(A.map(e=>({resourceId:e.id,state:e.state,stateSince:e.since,collectedAt:e.at,data:e.data}))),await a.insert(s.settings).values({key:"d1.access",value:{[M(n,"account","cloudflare")]:{d1:"ok",analytics:"ok",at:_(r,6e4*i.int(5,50)).toISOString(),note:null}},createdAt:_(r,2592e6),updatedAt:r});let b=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],k=t.apps.slice(0,Math.max(4,t.apps.length-1));return await a.insert(s.links).values(k.map((e,t)=>({id:M(n,"link",e.name),fromResourceId:e.id,toResourceId:c(b[t]).id,kind:"uses_db",source:"manual",createdAt:_(r,864e5*i.int(20,90)),updatedAt:_(r,864e5*i.int(1,19))}))),await eA(e,c("supabase_project").id),await a.insert(s.keepActive).values({resourceId:c("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:_(r,36e5*i.int(2,20)),updatedAt:_(r,10368e5)}),{dbs:u.map(({id:e,kind:t,name:a,externalId:n,accountId:r})=>({id:e,kind:t,name:a,externalId:n,accountId:r})),cloudflare:{accountId:M(n,"account","cloudflare"),cfAccountId:d,label:o.name}}}async function eA(e,t){let{db:a,seed:n,now:r}=e,i=D(n,"compute"),s=_(r,6e4*i.int(1,4)),o=Array.from({length:24},(e,a)=>{let n=new Date(new Date(36e5*Math.floor(r.getTime()/36e5)).getTime()-36e5*a),s=Math.round((6+18*i.next())*10)/10,o=Math.round((34+14*i.next())*10)/10;return{resourceId:t,hour:n,samples:0===a?Math.max(1,Math.floor((r.getTime()-n.getTime())/3e5)):12,cpuSamples:0===a?1:11,cpuAvg:s,cpuMax:Math.round(10*Math.min(70,s*(1.4+i.next())))/10,memAvg:o,memMax:Math.round(10*Math.min(85,o+6*i.next()))/10,diskPct:9.8,connUsed:i.int(8,22),connMax:60}}),l={cpuPct:o[0].cpuAvg,memPct:o[0].memAvg,diskPct:9.8,connUsed:o[0].connUsed,connMax:60,at:s.toISOString(),prev:null,recent:Array.from({length:6},(e,t)=>({at:_(s,(5-t)*3e5).toISOString(),cpu:Math.round((6+18*i.next())*10)/10}))};await a.insert(et).values({resourceId:t,keyCiphertext:ef,keyIv:ef,latest:l,lastTryAt:s,lastOkAt:s,createdAt:_(r,18144e5),updatedAt:s}),await a.insert(ea).values(o.filter(e=>e.hour.getTime()<=r.getTime()))}let eb="Asia/Jakarta",ek=null,ev=null,eI=/^(?:UTC|GMT|[A-Za-z]+(?:\/[A-Za-z0-9_+\-]+)+)$/i,eS={"Asia/Calcutta":"Asia/Kolkata","Asia/Katmandu":"Asia/Kathmandu","Asia/Saigon":"Asia/Ho_Chi_Minh","Asia/Rangoon":"Asia/Yangon"};function e_(e){return M(e,"member","user")}function ex(e){return M(e,"member","row")}async function eT(e){let{now:t,seed:a}=e,n=new Date(t.getTime()-35424e6);await e.db.insert(s.members).values({id:ex(a),userId:e_(a),email:e.email,role:"owner",lastSeenAt:t,createdAt:n,updatedAt:n})}async function e$(e,a,n,r,i,l){let d,{db:u,seed:c,now:g}=e,h=D(c,"events"),f=[],y=(e,t)=>f.push({id:M(c,"event",e),count:1,...t});for(let e of m(await u.execute(p.B`select external_id, resource_id, state, branch, commit_sha, building_at, ready_at, created_at_provider from ops.deployments
2
- where created_at_provider > ${new Date(g.getTime()-6048e5).toISOString()}::timestamptz`))){let t=`${e.branch??"unknown branch"} \xb7 ${e.commit_sha?e.commit_sha.slice(0,7):"no commit"}`,a=new Date(e.created_at_provider),n=e.building_at?new Date(e.building_at):a;y(`${e.external_id}:start`,{at:n,resourceId:e.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:t,reason:"DeployStarted"}),"ready"===e.state&&e.ready_at&&y(`${e.external_id}:ready`,{at:new Date(e.ready_at),resourceId:e.resource_id,type:"deployment",kind:"ok",message:"Deployment ready",detail:t,reason:"DeployReady"}),"error"===e.state&&y(`${e.external_id}:failed`,{at:new Date(n.getTime()+1e3*h.int(40,110)),resourceId:e.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:t,reason:"DeployFailed"})}let w=n.outage,A=n.monitors.find(e=>e.id===w.monitorId),b=(e,t,a,n,r,i,s)=>y(e,{at:t,resourceId:a,type:"monitor",kind:n,message:r,detail:i,reason:s});b("outage:warn",w.startedAt,w.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),b("outage:err",new Date(w.startedAt.getTime()+6e5),w.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),b("outage:ok",w.recoveredAt,w.appId,"ok","Monitor recovered",`${A.path} answers again`,"MonitorRecovered"),n.degraded&&b("degraded:warn",n.degraded.since,n.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let k=i.certSoon,v=i.zoneSoon,I=new Date(k.notAfter.getTime()-12096e5+6e4*h.int(5,50)),x=new Date(v.expiresAt.getTime()-2592e6+6e4*h.int(5,50));y("net:cert",{at:I,resourceId:k.id,type:"system",kind:"warn",message:`${k.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),y("net:zone",{at:x,resourceId:v.id,type:"system",kind:"warn",message:`${v.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let T=new Date(g);T.setUTCHours(20,0,0,0),T.getTime()>g.getTime()-3e5&&T.setTime(T.getTime()-864e5);for(let e=0;e<7;e++){let t=new Date(T.getTime()-864e5*e+1e3*h.int(20,90));y(`daily:${e}`,{at:t,resourceId:null,type:"system",kind:"ok",message:"Daily jobs finished",detail:"Rollups, retention, certificates and domain expiry",reason:"DailyFinished"})}let $=e_(c),z=(e,t,a,n,r=null)=>y(`action:${e}`,{at:_(g,864e5*t+36e5*h.int(1,10)+6e4*h.int(0,59)),resourceId:n,type:"action",kind:"ok",message:a,detail:r,actorUserId:$,reason:"Action"}),C=n.monitors.find(e=>"/api/health"===e.path)??n.monitors[0],E=a.apps[0],O=r.dbs.find(e=>"supabase_project"===e.kind);z("monitor-added",6,`Monitor added: ${S(C.url)}`,C.appId),z("db-link",5,`Database link: ${E.name} → ${O.name}`,E.id),z("keep-active",5,`Keep active on: ${O.name}`,O.id),z("rule",4,"Alert rule edited: HighLatency",null,"threshold 1,500 ms"),z("maintenance",3,"Maintenance window added",null,`Sundays 02:00 ${(d=ek??=function(){ev=null;let e=void 0!==t?{name:"WATCHBELL_TIMEZONE",value:t}:(0,o.N)("u"<typeof process?{}:process.env,"TIMEZONE"),a=e?.value.trim()??"";if(""===a)return eb;let n=function(e){if(!eI.test(e))return null;try{let t=new Intl.DateTimeFormat("en-US",{timeZone:e}).resolvedOptions().timeZone,a=eS[t]??t;if(a.toLowerCase()===e.toLowerCase())return a;return t.toLowerCase()===e.toLowerCase()?t:e}catch{return null}}(a);if(n)return n;ev=`${e.name}=${a}`;let r=globalThis;return r.__watchbellZoneWarned||(r.__watchbellZoneWarned=!0,console.warn(`Watchbell: ${ev} is not a time zone (use an IANA name such as Europe/Berlin). Using ${eb} (WIB).`)),eb}())===eb?"WIB":d}, 30 min`),z("check-now",1,`Check now: ${S(A.url)}`,A.appId);let R=l.resolved.credential;y("action:credential",{at:new Date(R.resolvedAt.getTime()-6e4*h.int(2,9)),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${R.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:$,reason:"Action"}),y("action:auto-recheck",{at:new Date(w.startedAt.getTime()+66e4+3e3),resourceId:A.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${S(A.url)}`,detail:null,actorUserId:null,reason:"Action"}),await u.insert(s.events).values(f.sort((e,t)=>e.at.getTime()-t.at.getTime()))}let eD="76.76.21.21";async function eM(e,t,a){let{db:n,seed:r,now:i}=e,o=D(r,"network"),l=e=>_(i,6e4*o.int(10,60*e)).toISOString(),d=a.cloudflare,u=o.shuffle(F).slice(0,2).map((e,t)=>({id:M(r,"zone",e),name:R(e),expiresAt:new Date(1===t?i.getTime()+864e5*o.int(12,24)+36e5*o.int(1,20):i.getTime()+864e5*o.int(200,600))})),c=e=>e.split("-").slice(1).join("-")||e,p=t.apps,m=[{name:u[0].name,app:p[0]},...[0,1,2].map(e=>({name:`${c(p[e].name)}.${u[0].name}`,app:p[e]})),...[3,4].map(e=>({name:`${c(p[e%p.length].name)}.${u[1].name}`,app:p[e%p.length]}))],g=o.int(1,3),h=m.map((e,t)=>({id:M(r,"domain",e.name),name:e.name,appId:e.app.id,notAfter:new Date(t===g?i.getTime()+864e5*o.int(4,9)+36e5*o.int(1,20):i.getTime()+864e5*o.int(30,85))})),y=(e,t,a,n,i,s=null)=>({id:C(32,r,"dns",e,t,a),type:t,name:a,content:n,proxied:i,ttl:i?1:300,comment:s}),v=u.map(e=>{let t=[...h.filter(t=>t.name===e.name||t.name.endsWith(`.${e.name}`)).map(t=>y(e.name,"A",t.name,eD,!1,"Vercel")),y(e.name,"MX",e.name,R("mx1.mail"),!1),y(e.name,"TXT",e.name,`v=spf1 include:_spf.${R("mail")} ~all`,!1),y(e.name,"A",`legacy.${e.name}`,`192.0.2.${o.int(10,200)}`,!0,"Old server, kept for redirects")],a={expiresAt:e.expiresAt.toISOString(),registrar:"Example Registrar, Inc.",error:null,checkedAt:l(20)},n={status:"active",paused:!1,nameServers:[R("ada.ns"),R("bob.ns")],accountId:d.cfAccountId,checkedAt:l(1)},r=function(e,t){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 n=I("Domain",f(e.rdap?.expiresAt),30,t);return n&&a.push(n),{state:k(a.map(e=>e.state)),reasons:a.map(e=>e.reason)}}({status:n.status,paused:n.paused,rdap:a},i),s={zone:n,ssl:{mode:"strict",error:null},records:t,recordsTruncated:!1,cfErrors:[],certs:[{type:"universal",status:"active",hosts:[e.name,`*.${e.name}`],expiresOn:new Date(i.getTime()+864e5*o.int(40,80)).toISOString()}],rdap:a,reasons:r.reasons};return{z:e,records:t,rdap:a,state:r.state,data:s}}),S=_(i,864e5*o.int(150,380)),x=_(i,6e4*o.int(5,50));await n.insert(s.resources).values(u.map(e=>({id:e.id,accountId:d.accountId,kind:"zone",externalId:C(32,r,"zone-id",e.name),name:e.name,monitored:!0,meta:{status:"active",accountId:d.cfAccountId,accountName:d.label},firstSeenAt:S,lastSeenAt:x,createdAt:S,updatedAt:x}))),await n.insert(s.resources).values(h.map(e=>{let a=p.find(t=>t.id===e.appId);return{id:e.id,accountId:t.accountId,kind:"domain",externalId:e.name,name:e.name,parentId:e.appId,monitored:!0,meta:{redirect:null,verified:!0,projectId:a.externalId},firstSeenAt:S,lastSeenAt:x,createdAt:S,updatedAt:x}}));let T=["Let's Encrypt","Google Trust Services"];await n.insert(s.snapshots).values([...v.map(e=>({resourceId:e.z.id,state:e.state,stateSince:"ok"===e.state?S:new Date(e.z.expiresAt.getTime()-2592e6),data:e.data,collectedAt:x})),...h.map(e=>{var t,a;let n,r=v.find(t=>e.name===t.z.name||e.name.endsWith(`.${t.z.name}`)),s={notAfter:e.notAfter.toISOString(),issuer:o.pick(T),authorized:!0,error:null,checkedAt:l(19)},d={misconfigured:!1,configuredBy:"A",recommendedIps:[eD],checkedAt:l(6)},u=function(e,t){let a=[];if(e.vercel?.misconfigured&&a.push({state:"warn",reason:"Vercel says the DNS is misconfigured"}),w(e.host).endsWith(".vercel.app"))return{state:k(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 n=I("Certificate",f(e.tls.notAfter),14,t);n?a.push(n):!1===e.tls.authorized&&a.push({state:"err",reason:"Certificate isn't trusted"})}(function(e,t=[]){return e.filter(e=>e.proxied&&function(e,t=[]){return"CNAME"===e.type?b.test(w(e.content)):"A"===e.type&&[...A,...t].includes(e.content.trim())}(e,t))})(e.records,e.vercel?.recommendedIps??[]).length&&a.push({state:"warn",reason:"Proxied by Cloudflare in front of Vercel"});let n=I("Domain",f(e.zoneRdap?.expiresAt),30,t);return n&&a.push(n),{state:k(a.map(e=>e.state)),reasons:a.map(e=>e.reason)}}({host:e.name,tls:s,vercel:d,records:(t=e.name,a=r.records,n=w(t),a.filter(e=>w(e.name)===n)),zoneRdap:r.rdap},i),c="ok"===u.state?S:new Date(Math.min(e.notAfter.getTime()-12096e5,r.z.expiresAt.getTime()-2592e6));return{resourceId:e.id,state:u.state,stateSince:c,data:{tls:s,vercel:d,reasons:u.reasons},collectedAt:x}})]);let $=v[0].records.find(e=>"A"===e.type&&e.name===u[0].name&&e.content===eD);return{zones:u,domains:h,certSoon:h[g],zoneSoon:u[1],vercelRecord:{id:$.id,name:$.name,zoneId:u[0].id}}}let ez=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function eC(e,t){let{db:a,seed:n,now:r}=e,i=D(n,"logs"),o=m(await a.execute(p.B`select resource_id, external_id from ops.deployments where is_current`)),l=i.shuffle(t.apps).slice(0,3).flatMap((e,t)=>Array.from({length:i.int(4,8)},(a,s)=>{let l=i.pick(V);return{id:M(n,"log",e.name,s),resourceId:e.id,deploymentId:o.find(t=>t.resource_id===e.id)?.external_id??`dpl_${z(24,n,"log-dpl",t)}`,rowId:`${z(10,n,"log-row",e.name,s).toLowerCase()}-${s}`,at:_(r,6e4*i.int(3,2760)+1e3*i.int(0,59)),level:l.level,message:l.message,requestMethod:l.method,requestPath:l.path,statusCode:l.status,source:"serverless"}}));await a.insert(s.storedLogs).values(l)}async function eE(e){let{db:t,seed:a,now:n}=e,r=D(a,"provider-status"),i=_(n,6e4*r.int(1,4));await t.insert(s.providerStatus).values(ez.map(e=>"cloudflare"===e?{provider:e,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:i,lastOkAt:i,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:_(n,36e5*r.int(1,3)).toISOString(),url:null}]}:{provider:e,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:i,lastOkAt:i,error:null}))}async function eO(e){let{db:t,seed:a,now:n}=e,r=D(a,"ai-usage"),i=M(a,"ai-agent","console"),s=r.int(70,140),o=[],l=[],d=[],u=[],c=[],m=[];for(let e=0;e<s;e++){o.push(n.getTime()-6e4*r.int(2,10080));let e=r.chance(.04);c.push(e?429:200),l.push(e?0:r.int(600,4200)),d.push(e?0:r.int(80,700)),u.push(e?r.int(80,300):r.int(700,4800)),m.push(r.int(1,2))}let g=e=>e.reduce((e,t)=>e+t,0),h=new Date(Math.max(...o));await t.execute(p.B`
1
+ module.exports=[218550,e=>{"use strict";let t;var a=e.i(126803),n=e.i(789922),r=e.i(239145),i=e.i(842102),s=e.i(725561),o=e.i(641726);let l="The demo is busy right now. Try again in a minute.",d="Too many new demo sessions from your network. Try again in a few minutes.",u=new Map([...new Map([["watchbell-demo-busy",l],["watchbell-demo-too-many",d]])].map(([e,t])=>[t,e]));function c(e){return Object.assign(Error(e),{digest:u.get(e)})}var p=e.i(382108);function m(e){if(Array.isArray(e))return e;let t=e?.rows;return Array.isArray(t)?t:[]}let g=e=>(e??0).toLocaleString("en-US"),h={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:e=>`${g(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 ${g(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 ${g(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 < ${g(e)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:e=>`Domain expires in < ${g(e)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Database size > ${g(e)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:e=>`> ${g(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 > ${g(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 ${g(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 > ${g(e)}% for 15 min, RAM > ${g(Math.min(99,(e??80)+10))}%, disk > ${g(e)}% or connections > ${g(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 > ${g(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 < ${g(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"}};function f(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 y(e,t){return e?Math.floor((e.getTime()-t.getTime())/864e5):null}Object.keys(h);let w=e=>e.toLowerCase().replace(/\.$/,""),A=["76.76.21.21"],b=/(^|\.)vercel-dns(-\d+)?\.com$/,k=e=>e.includes("err")?"err":e.includes("warn")?"warn":"ok",v=e=>`${e} day${1===e?"":"s"}`;function I(e,t,a,n){let r=y(t,n);return null===r?null:r<0?{state:"err",reason:`${e} expired ${v(-r)} ago`}:r<a?{state:"warn",reason:`${e} expires in ${v(r)}`}:null}function S(e){try{let t=new URL(e);return`${t.host}${t.pathname}`}catch{return e}}let _=(e,t)=>new Date(e.getTime()-t),x=e=>`{${e.map(e=>null===e?"NULL":"boolean"==typeof e?e?"t":"f":String(e)).join(",")}}`;var $=e.i(666680);let T=(...e)=>(0,$.createHash)("sha256").update(e.join("\0")).digest();function D(e,...t){let a,n=(a=T(e,...t).readUInt32LE(0)>>>0,()=>{let e=a=a+0x6d2b79f5>>>0;return e=Math.imul(e^e>>>15,1|e),(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000});return{next:n,int:(e,t)=>e+Math.floor(n()*(t-e+1)),pick:e=>e[Math.floor(n()*e.length)],chance:e=>n()<e,shuffle:e=>{let t=[...e];for(let e=t.length-1;e>0;e--){let a=Math.floor(n()*(e+1));[t[e],t[a]]=[t[a],t[e]]}return t}}}function M(e,...t){let a=T(e,"id",...t);a[6]=15&a[6]|64,a[8]=63&a[8]|128;let n=a.subarray(0,16).toString("hex");return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}function z(e,t,...a){let n="";for(let r=0;n.length<e;r++)for(let e of T(t,"token",r,...a))n+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[e%62];return n.slice(0,e)}function C(e,t,...a){let n="";for(let r=0;n.length<e;r++)n+=T(t,"hex",r,...a).toString("hex");return n.slice(0,e)}let E=(e,t)=>`${e} ${t}${1===e?"":"s"}`;async function O(e,t,a,n,r){let i,o,l,d,u,c,g,{db:f,seed:w,now:A}=e,b=D(w,"alerts"),k=(...e)=>M(w,"alert",...e),v=e=>t.apps.find(t=>t.id===e)?.name??"app",I=m(await f.execute(p.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),x=I.find(e=>"error"===e.state&&"production"===e.target),$={appId:x.resource_id,appName:v(x.resource_id),sha:x.commit_sha.slice(0,7),createdAt:new Date(x.created_at_provider),currentExternalId:I.find(e=>e.resource_id===x.resource_id&&e.is_current)?.external_id??null},T=(e,t,a)=>{let n=a.resolvedAt??null;return{ruleKey:e,subject:t,severity:h[e].severity,resourceId:null,accountId:null,okStreak:2*!!n,lastSeenAt:n??_(A,1e3*b.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==h[e].severity,lastNotifiedAt:n??new Date(a.startedAt.getTime()+6e4),pending:null,pendingSince:null,...a}},z=r.certSoon,O=y(z.notAfter,A)??0,j=r.zoneSoon,N=y(j.expiresAt,A)??0,R=[T("DeploymentFailed",$.appId,{id:k("firing","deploy"),resourceId:$.appId,title:$.appName,message:`Production deployment ${$.sha} failed.`,startedAt:new Date($.createdAt.getTime()+1e3*b.int(60,150))}),T("CertExpiringSoon",z.id,{id:k("firing","cert"),resourceId:z.id,title:z.name,message:`The TLS certificate of ${z.name} expires in ${E(O,"day")}.`,startedAt:new Date(z.notAfter.getTime()-12096e5+6e4*b.int(5,55))}),T("DomainExpiringSoon",j.id,{id:k("firing","zone"),resourceId:j.id,title:j.name,message:`${j.name} expires in ${E(N,"day")}.`,startedAt:new Date(j.expiresAt.getTime()-2592e6+6e4*b.int(5,55))})],P=a.outage,B=a.monitors.find(e=>e.id===P.monitorId),U=t.apps.find(e=>e.id!==$.appId)??t.apps[0],L=e=>n.dbs.find(t=>t.kind===e),H=(e,t)=>_(A,864e5*e+36e5*t+6e4*b.int(0,50)),F=(e,t)=>new Date(e.getTime()+6e4*t),V=(e,t)=>{let n=a.monitors.find(e=>e.id===t.monitorId);return T("HighLatency",n.id,{id:k("resolved",e),resourceId:n.appId,title:`${v(n.appId)} ${n.path}`,message:`p95 ${t.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:t.firedAt,resolvedAt:t.resolvedAt})},W={start:H(4,b.int(1,9)),sha:C(7,w,"old-failed",U.name)},G=L("upstash_redis"),K=L("firestore"),q=L("supabase_project"),Q=n.cloudflare.label,Y={outage:T("MonitorDown",B.id,{id:k("resolved","outage"),resourceId:B.appId,title:`${v(B.appId)} ${B.path}`,message:`${S(B.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(P.startedAt.getTime()+6e5),resolvedAt:P.recoveredAt}),latencyA:V("latency-a",a.slow[0]),latencyB:V("latency-b",a.slow[1]),oldDeploy:T("DeploymentFailed",U.id,{id:k("resolved","old-deploy"),resourceId:U.id,title:U.name,message:`Production deployment ${W.sha} failed.`,startedAt:W.start,resolvedAt:F(W.start,b.int(35,70))}),collector:(i=H(6,b.int(1,10)),T("CollectorStale","collector",{id:k("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:i,resolvedAt:F(i,b.int(4,9))})),autoPause:(o=H(6,b.int(12,20)),T("AutoPauseRisk",q.id,{id:k("resolved","auto-pause"),resourceId:q.id,title:q.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:o,resolvedAt:F(o,60*b.int(20,30))})),quota:(l=H(6,b.int(1,8)),T("DbQuotaHigh",G.id,{id:k("resolved","db-quota"),resourceId:G.id,title:G.name,message:`${G.name}: Commands at ${b.int(81,88)}% of the free plan.`,startedAt:l,resolvedAt:F(l,60*b.int(3,6))})),firestore:(d=H(3,b.int(1,6)),T("FirestoreQuotaHigh",K.id,{id:k("resolved","firestore"),resourceId:K.id,title:K.name,message:`${K.name} read ${b.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${b.int(81,92)}%).`,startedAt:d,resolvedAt:F(d,60*b.int(2,5))})),proxied:(u=H(5,b.int(12,20)),T("DnsProxiedToVercel",(c=r.vercelRecord).id,{id:k("resolved","proxied"),resourceId:c.zoneId,title:c.name,message:`${c.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:u,resolvedAt:F(u,24*b.int(2,4)*60)})),credential:(g=H(6,b.int(14,22)),T("CredentialExpiring",n.cloudflare.accountId,{id:k("resolved","credential"),accountId:n.cloudflare.accountId,title:`cloudflare \xb7 ${Q}`,message:`The cloudflare credential ${Q} expires in 9 days.`,startedAt:g,resolvedAt:F(g,24*b.int(1,2)*60+b.int(10,300))}))};return await f.insert(s.alerts).values([...R,...Object.values(Y)]),{firing:{deploy:R[0].id,cert:R[1].id,zone:R[2].id},resolved:{outage:Y.outage.id,oldDeploy:{id:Y.oldDeploy.id,appId:U.id,appName:U.name,previousExternalId:I.find(e=>e.resource_id===U.id&&e.is_previous_production)?.external_id??null,startedAt:Y.oldDeploy.startedAt,resolvedAt:Y.oldDeploy.resolvedAt},credential:{title:Y.credential.title,resolvedAt:Y.credential.resolvedAt}},failedDeploy:$}}let j=e=>`${e}.example`,N=["acme-shop","orbit-blog","nimbus-docs","pixel-forge","harbor-api","lumen-portal","quartz-admin","tidal-landing","ember-status","cobalt-store","willow-wiki","atlas-dash","sprout-crm","comet-links","fable-notes","maple-events"],R=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],P=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],B=["sin1","iad1","fra1","hnd1","sfo1"],U=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],L=["Fix cart total rounding","Add dark mode toggle","Update dependencies","Speed up the product grid","Fix login redirect loop","Add sitemap","Tidy the footer links","Cache the pricing page","Add newsletter signup","Fix image sizes on mobile","Bump Next.js","Add search to the docs","Handle empty states","Retry failed webhooks","Move env checks to startup","Shorten the onboarding copy","Add health endpoint","Fix timezone in the event list","Split the dashboard bundle","Add RSS feed"],H={supabase_project:["shop-prod","portal-main","crm-core","store-db"],neon_project:["analytics","reporting","billing-ledger","metrics-pg"],firestore:["notes-app","mobile-sync","feedback-inbox","event-chat"],turso_database:["edge-cache","geo-lookup","docs-search","flags"],upstash_redis:["sessions","rate-limits","queue-cache","page-cache"],d1_database:["events-log","link-clicks","form-entries","audit-trail"]},F=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],V=[{level:"error",method:"POST",path:"/api/checkout",status:500,message:"TypeError: Cannot read properties of undefined (reading 'price')"},{level:"warning",method:"GET",path:"/products",status:200,message:"Slow query: products list took 1840 ms"},{level:"error",method:"GET",path:"/api/search",status:504,message:"Task timed out after 10.02 seconds"},{level:"warning",method:"GET",path:"/",status:200,message:"Image optimization fell back to the original file (unsupported format)"},{level:"error",method:"POST",path:"/api/webhooks/payments",status:401,message:"Webhook signature didn't match"},{level:"fatal",method:"GET",path:"/api/report",status:500,message:"Error: connect ECONNREFUSED (database connection pool exhausted)"},{level:"warning",method:"GET",path:"/blog/[slug]",status:404,message:'Post not found for slug "spring-sale-2025"'},{level:"error",method:"PUT",path:"/api/profile",status:422,message:"ZodError: email must be a valid email"}];async function W(e){let{db:t,seed:a,now:n}=e,r=D(a,"apps"),i=r.pick(R),o={id:`team_${z(24,a,"team")}`,name:i.name,slug:i.slug},l=M(a,"account","vercel"),d=_(n,864e5*r.int(120,300)),u=_(n,6e4*r.int(3,50));await t.insert(s.accounts).values({id:l,provider:"vercel",label:o.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:u,lastSyncAt:u,createdAt:d,updatedAt:u});let c=r.shuffle(N).slice(0,r.int(5,8)).sort().map((e,t)=>({id:M(a,"app",e),index:t,name:e,externalId:`prj_${z(28,a,"project",e)}`,host:j(e),createdAt:_(n,864e5*r.int(95,400)-36e5*r.int(0,23))}));return await t.insert(s.resources).values(c.map(e=>({id:e.id,accountId:l,kind:"app",externalId:e.externalId,name:e.name,monitored:!0,firstSeenAt:e.createdAt,lastSeenAt:u,createdAt:e.createdAt,updatedAt:u,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:r.pick(P),productionBranch:"main",createdAt:e.createdAt.toISOString(),repo:`example-org/${e.name}`,repoType:"github",functionRegions:[r.pick(B)]}}))),await t.insert(s.deployments).values(function(e,t){let{seed:a,now:n}=e,r=D(a,"deployments"),i=r.pick(t).id,s=r.pick(t).id,o=[];for(let e of t){let t=(t,i,s,l,d)=>{let u=_(n,s),c=new Date(u.getTime()+1e3*r.int(3,12)),p="ready"===l?new Date(c.getTime()+1e3*r.int(25,160)):null,m="production"===i?"main":r.pick(U);o.push({id:M(a,"deployment",e.name,t),resourceId:e.id,externalId:`dpl_${z(24,a,"deployment",e.name,t)}`,state:l,target:i,branch:m,commitSha:C(40,a,"commit",e.name,t),commitMessage:d??r.pick(L),source:"git",url:j(`${e.name}-git-${m.replace(/[^a-z0-9]+/g,"-")}-${z(9,a,"deployment-url",e.name,t).toLowerCase()}`),buildingAt:c,readyAt:p,createdAtProvider:u,isCurrent:!1,isPreviousProduction:!1,createdAt:u,updatedAt:p??c})},l=e.id===i,d=r.int(2,5);for(let e=0;e<d;e++){let a=0===e?Math.max(18e6*!!l,36e5*r.int(1,96)-6e4*r.int(0,40)):864e5*r.int(4+4*e,6+6*e)+36e5*r.int(0,23);t(e,"production",a,"ready")}let u=r.int(0,3);for(let e=0;e<u;e++)t(10+e,"preview",36e5*r.int(2,240)+6e4*r.int(0,59),"ready");l&&t(20,"production",6e4*r.int(30,240),"error","Refactor the checkout form"),e.id===s&&t(21,"preview",6e4*r.int(1,6),"building")}for(let e of t){let{currentId:t,previousId:a}=function(e){let t=[...new Map(e.map(e=>[e.id,e])).values()].sort((e,t)=>t.createdAt.getTime()-e.createdAt.getTime()),a=t[0]?.id??null,n=t.findIndex(e=>e.id===a);return{currentId:a,previousId:n>=0?t[n+1]?.id??null:null}}(o.filter(t=>t.resourceId===e.id&&"production"===t.target&&"ready"===t.state).map(e=>({id:e.externalId,createdAt:e.createdAtProvider})));for(let n of o)n.resourceId===e.id&&(n.isCurrent=n.externalId===t,n.isPreviousProduction=n.externalId===a)}return o}(e,c)),{accountId:l,team:o,apps:c}}async function G(e,t,a){let{db:n,seed:r,now:i}=e,o=D(r,"snapshots"),l=_(i,1e3*o.int(5,40));await n.insert(s.snapshots).values(t.apps.map(e=>{var t,n;let r,s,d,u,c,p=a.filter(t=>t.appId===e.id),m=(t={monitors:p.map(e=>e.state),building:!1,dbPaused:!1}).monitors.includes("err")?"err":t.building?"build":t.monitors.includes("warn")||t.dbPaused?"warn":t.monitors.length?"ok":"unknown",g=p.find(e=>"err"===e.state)??p.find(e=>"warn"===e.state),h=g?.stateSince??new Date(Math.max(...p.map(e=>e.stateSince.getTime())));return{resourceId:e.id,state:m,stateSince:h,collectedAt:l,data:{code:g?.lastStatus??null,latencyMs:p[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(s=36e5*Math.floor((r=_(i,6e4*(n=o).int(2,25))).getTime()/36e5),d=n.int(20,400),{enabled:!0,total24h:c=(u=Array.from({length:24},(e,t)=>{let a=s-(23-t)*36e5,r=.15+.85*Math.max(0,Math.sin(((new Date(a).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(a).toISOString(),Math.round(d*r*(.7+.6*n.next()))]})).reduce((e,[,t])=>e+t,0),visitors24h:Math.round(c*(.3+.2*n.next())),hourly:u,readAt:r.toISOString()})}}}))}var K=e.i(457642),q=e.i(405631),Q=e.i(502564),Y=e.i(975642),Z=e.i(34653),X=e.i(63177),J=e.i(487280),ee=e.i(557367);let et=s.ops.table("supabase_metrics_keys",{resourceId:(0,ee.q)("resource_id").primaryKey().references(()=>s.resources.id,{onDelete:"cascade"}),keyCiphertext:(0,X.f)("key_ciphertext").notNull(),keyIv:(0,X.f)("key_iv").notNull(),keyVersion:(0,q.f)("key_version").notNull().default(1),addedBy:(0,ee.q)("added_by"),latest:(0,Q.y)("latest").$type(),lastTryAt:(0,J._)("last_try_at",{withTimezone:!0}),lastOkAt:(0,J._)("last_ok_at",{withTimezone:!0}),lastError:(0,X.f)("last_error"),createdAt:(0,J._)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,J._)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),ea=s.ops.table("supabase_metrics",{resourceId:(0,ee.q)("resource_id").notNull().references(()=>s.resources.id,{onDelete:"cascade"}),hour:(0,J._)("hour",{withTimezone:!0}).notNull(),samples:(0,q.f)("samples").notNull().default(0),cpuSamples:(0,q.f)("cpu_samples").notNull().default(0),cpuAvg:(0,Z.f)("cpu_avg"),cpuMax:(0,Z.f)("cpu_max"),memAvg:(0,Z.f)("mem_avg"),memMax:(0,Z.f)("mem_max"),diskPct:(0,Z.f)("disk_pct"),connUsed:(0,q.f)("conn_used"),connMax:(0,q.f)("conn_max")},e=>[(0,Y._)({columns:[e.resourceId,e.hour]}),(0,K.y)("supabase_metrics_hour_idx").on(e.hour)]);function en(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"}}var er=e.i(769301),ei=e.i(319281),ei=ei,es=e.i(996794),eo=ei,el=ei,ed=ei;let eu=es.z.string().nullable().optional(),ec=eo.number().nullable().optional(),ep=es.z.string().nullable().optional();er.z.object({status:es.z.string().optional(),region:ep,pgVersion:ep,orgSlug:ep,freeOrg:el.boolean().nullable().optional(),pausedBeforeSeen:el.boolean().optional(),lastGoodState:es.z.string().optional(),lastTrafficAt:eu,trafficAt:eu,trafficError:ep,health:ed.array(er.z.object({name:es.z.string(),status:es.z.string()})).nullable().optional(),healthAt:eu,healthError:ep,sizeBytes:ec,sizeAt:eu,sizeError:ep});let em=er.z.object({id:es.z.string(),branchId:es.z.string(),state:es.z.string(),pendingState:es.z.string().nullable(),disabled:el.boolean(),minCu:eo.number(),maxCu:eo.number(),lastActive:es.z.string().nullable()}),eg=er.z.object({id:es.z.string(),name:es.z.string(),isDefault:el.boolean(),logicalSize:eo.number().nullable()});er.z.object({region:ep,pgVersion:eo.number().nullable().optional(),orgId:ep,computeSeconds:ec,transferBytes:ec,periodStart:eu,periodEnd:eu,activeSeconds:ec,endpoints:ed.array(em).optional(),branches:ed.array(eg).optional(),lastGoodState:es.z.string().optional()}),er.z.object({displayName:ep,latencyMs:ec,pingError:ep,pingReason:ep,pingKind:ep,reads:ec,writes:ec,deletes:ec,opsAt:eu,opsError:ep,authUsers:ec,authAt:eu,authError:ep,lastGoodState:es.z.string().optional()}),er.z.object({org:ep,group:ep,primaryRegion:ep,plan:ep,blockReads:el.boolean().optional(),blockWrites:el.boolean().optional(),rowsRead:ec,rowsWritten:ec,storageBytes:ec,orgRowsRead:ec,orgRowsWritten:ec,orgStorageBytes:ec,orgDatabases:ec,usageAt:eu,usageError:ep,lastGoodState:es.z.string().optional()}),er.z.object({region:ep,status:ep,type:ep,dailyCommands:ec,monthlyRequests:ec,storageBytes:ec,monthlyBandwidthBytes:ec,statsAt:eu,statsError:ep,lastGoodState:es.z.string().optional()}),er.z.object({accountId:ep,createdAt:eu,sizeBytes:ec,numTables:ec,readReplication:ep,detailsAt:eu,detailsError:ep,rowsRead:ec,rowsWritten:ec,readQueries:ec,writeQueries:ec,accountRowsRead:ec,accountRowsWritten:ec,accountSizeBytes:ec,accountDatabases:ec,usageDay:ep,usageAt:eu,usageError:ep,lastGoodState:es.z.string().optional()});var el=ei,eh=ei,eo=ei,ed=ei;er.z.object({success:el.boolean(),result:eh.unknown(),result_info:er.z.object({total_pages:eo.number().optional()}).nullish()}),er.z.object({uuid:es.z.string(),name:es.z.string(),created_at:es.z.string().nullish(),jurisdiction:es.z.string().nullish()}),er.z.object({file_size:eo.number().nullish(),num_tables:eo.number().nullish(),read_replication:er.z.object({mode:es.z.string()}).nullish()}),er.z.object({data:er.z.object({viewer:er.z.object({accounts:ed.array(er.z.object({d1AnalyticsAdaptiveGroups:ed.array(er.z.object({sum:er.z.object({rowsRead:eo.number().default(0),rowsWritten:eo.number().default(0),readQueries:eo.number().default(0),writeQueries:eo.number().default(0)}),dimensions:er.z.object({databaseId:es.z.string()})})).default([])}))}).nullish()}).nullish(),errors:ed.array(er.z.object({message:es.z.string().default("")})).nullish()}),e.i(188597),er.z.object({d1:ei.enum(["ok","missing","error"]),analytics:ei.enum(["ok","missing","error"]).nullable(),at:es.z.string(),note:es.z.string().nullable()});let ef="demo",ey={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function ew(e,t){let{db:a,seed:n,now:r}=e,i=D(n,"databases"),o=t.team,l=_(r,6e4*i.int(4,40));await a.insert(s.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(e=>{let t=_(r,864e5*i.int(60,280));return{id:M(n,"account",e),provider:e,label:"firebase"===e?`${o.slug}-firebase`:o.name,credentialCiphertext:ef,credentialIv:ef,credentialKind:ey[e],status:"ok",lastTestAt:l,lastSyncAt:l,createdAt:t,updatedAt:l}}));let d=C(32,n,"cloudflare-account"),u=[{kind:"supabase_project",provider:"supabase",externalId:z(20,n,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${i.pick(["silent","quiet","misty","bold","calm"])}-${i.pick(["river","meadow","forest","harbor","dune"])}-${C(8,n,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${o.slug.split("-")[0]}-notes-${C(5,n,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:M(n,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:M(n,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:M(n,"d1-db")}].map(({kind:e,provider:t,externalId:a})=>{let s=i.pick(H[e]),l=_(r,864e5*i.int(40,300)),u="supabase_project"===e?{orgSlug:o.slug,region:"ap-southeast-1",pgVersion:"17.4.1.054",createdAt:l.toISOString(),status:"ACTIVE_HEALTHY"}:"neon_project"===e?{orgId:`org-${C(8,n,"neon-org")}`,region:"aws-ap-southeast-1",pgVersion:17,createdAt:l.toISOString()}:"firestore"===e?{projectId:a}:"turso_database"===e?{org:o.slug,group:"default",region:"sin"}:"upstash_redis"===e?{region:"ap-southeast-1",type:"free"}:{accountId:d,createdAt:l.toISOString()};return{id:M(n,"db",e),kind:e,name:s,externalId:a,accountId:M(n,"account",t),meta:u,createdAt:l}});await a.insert(s.resources).values(u.map(e=>({id:e.id,accountId:e.accountId,kind:e.kind,externalId:e.externalId,name:e.name,monitored:!0,meta:e.meta,firstSeenAt:e.createdAt,lastSeenAt:l,createdAt:e.createdAt,updatedAt:l})));let c=e=>u.find(t=>t.kind===e),p=e=>_(r,6e4*e+1e3*i.int(0,50)),m=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1)),g=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth()+1,1)),h=(r.getTime()-m.getTime())/(g.getTime()-m.getTime()),f=[{id:`ep-${z(12,n,"neon-ep").toLowerCase()}`,branchId:`br-${z(12,n,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:_(r,6e4*i.int(20,300)).toISOString()}],y=Math.round((8+50*h+i.int(0,10))*3600),w=function(e){if((e.computeSeconds??0)>=36e4)return{state:"err",label:"CU-hours used up"};if(!e.endpoints.length)return{state:"unknown",label:"No compute"};let t=e.endpoints.map(en);return t.some(e=>"err"===e.state)?{state:"err",label:"Compute suspended"}:t.some(e=>"ok"===e.state)?{state:"ok",label:"Active"}:t.some(e=>"build"===e.state)?{state:"build",label:"Starting"}:t.every(e=>"idle"===e.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}({endpoints:f,computeSeconds:y}),A=[{id:c("supabase_project").id,state:"ok",since:_(r,864e5*i.int(20,90)),at:p(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:o.slug,freeOrg:!0,lastTrafficAt:_(r,6e4*i.int(3,50)).toISOString(),trafficAt:_(r,6e4*i.int(1,4)).toISOString(),health:[{name:"db",status:"ACTIVE_HEALTHY"},{name:"auth",status:"ACTIVE_HEALTHY"},{name:"rest",status:"ACTIVE_HEALTHY"},{name:"storage",status:"ACTIVE_HEALTHY"}],healthAt:_(r,6e4*i.int(1,4)).toISOString(),sizeBytes:1048576*i.int(38,140)+i.int(0,1048576),sizeAt:_(r,36e5*i.int(4,20)).toISOString(),lastGoodState:"ok"}},{id:c("neon_project").id,state:"ok"===w.state?"ok":"idle",since:_(r,6e4*i.int(20,300)),at:p(i.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:c("neon_project").meta.orgId,computeSeconds:y,transferBytes:Math.round((.2+1.6*h)*0x40000000),periodStart:m.toISOString(),periodEnd:g.toISOString(),activeSeconds:Math.round(y/1.4),endpoints:f,branches:[{id:f[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*i.int(120,380)},{id:`br-${z(12,n,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*i.int(60,160)}],lastGoodState:"ok"===w.state?"ok":"idle"}},{id:c("firestore").id,state:"ok",since:_(r,864e5*i.int(10,60)),at:p(1),data:{displayName:c("firestore").name,latencyMs:i.int(70,190),reads:i.int(4e3,22e3),writes:i.int(800,6e3),deletes:i.int(20,400),opsAt:_(r,6e4*i.int(10,50)).toISOString(),authUsers:i.int(80,2400),authAt:_(r,36e5*i.int(2,20)).toISOString(),lastGoodState:"ok"}},{id:c("turso_database").id,state:"ok",since:_(r,864e5*i.int(10,60)),at:p(i.int(5,50)),data:{org:o.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*h)*1e6),rowsWritten:Math.round((.2+2.2*h)*1e6),storageBytes:1048576*i.int(40,600),orgRowsRead:Math.round((25+160*h)*1e6),orgRowsWritten:Math.round((.3+2.6*h)*1e6),orgStorageBytes:1048576*i.int(700,1400),orgDatabases:3,usageAt:_(r,6e4*i.int(5,50)).toISOString(),lastGoodState:"ok"}},{id:c("upstash_redis").id,state:"ok",since:_(r,864e5*i.int(10,60)),at:p(i.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:i.int(2e3,9e3),monthlyRequests:Math.round((20+180*h)*1e3)+i.int(0,999),storageBytes:1048576*i.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*h)*0x40000000),statsAt:_(r,6e4*i.int(5,50)).toISOString(),lastGoodState:"ok"}},{id:c("d1_database").id,state:"ok",since:_(r,864e5*i.int(10,60)),at:p(i.int(5,50)),data:{accountId:d,createdAt:c("d1_database").createdAt.toISOString(),sizeBytes:1048576*i.int(4,120),numTables:i.int(4,12),readReplication:"disabled",detailsAt:_(r,6e4*i.int(5,50)).toISOString(),rowsRead:i.int(4e4,9e5),rowsWritten:i.int(1e3,3e4),readQueries:i.int(4e3,6e4),writeQueries:i.int(300,6e3),accountRowsRead:i.int(9e5,18e5),accountRowsWritten:i.int(3e4,55e3),accountSizeBytes:1048576*i.int(200,900),accountDatabases:2,usageDay:r.toISOString().slice(0,10),usageAt:_(r,6e4*i.int(5,50)).toISOString(),lastGoodState:"ok"}}];await a.insert(s.snapshots).values(A.map(e=>({resourceId:e.id,state:e.state,stateSince:e.since,collectedAt:e.at,data:e.data}))),await a.insert(s.settings).values({key:"d1.access",value:{[M(n,"account","cloudflare")]:{d1:"ok",analytics:"ok",at:_(r,6e4*i.int(5,50)).toISOString(),note:null}},createdAt:_(r,2592e6),updatedAt:r});let b=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],k=t.apps.slice(0,Math.max(4,t.apps.length-1));return await a.insert(s.links).values(k.map((e,t)=>({id:M(n,"link",e.name),fromResourceId:e.id,toResourceId:c(b[t]).id,kind:"uses_db",source:"manual",createdAt:_(r,864e5*i.int(20,90)),updatedAt:_(r,864e5*i.int(1,19))}))),await eA(e,c("supabase_project").id),await a.insert(s.keepActive).values({resourceId:c("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:_(r,36e5*i.int(2,20)),updatedAt:_(r,10368e5)}),{dbs:u.map(({id:e,kind:t,name:a,externalId:n,accountId:r})=>({id:e,kind:t,name:a,externalId:n,accountId:r})),cloudflare:{accountId:M(n,"account","cloudflare"),cfAccountId:d,label:o.name}}}async function eA(e,t){let{db:a,seed:n,now:r}=e,i=D(n,"compute"),s=_(r,6e4*i.int(1,4)),o=Array.from({length:24},(e,a)=>{let n=new Date(new Date(36e5*Math.floor(r.getTime()/36e5)).getTime()-36e5*a),s=Math.round((6+18*i.next())*10)/10,o=Math.round((34+14*i.next())*10)/10;return{resourceId:t,hour:n,samples:0===a?Math.max(1,Math.floor((r.getTime()-n.getTime())/3e5)):12,cpuSamples:0===a?1:11,cpuAvg:s,cpuMax:Math.round(10*Math.min(70,s*(1.4+i.next())))/10,memAvg:o,memMax:Math.round(10*Math.min(85,o+6*i.next()))/10,diskPct:9.8,connUsed:i.int(8,22),connMax:60}}),l={cpuPct:o[0].cpuAvg,memPct:o[0].memAvg,diskPct:9.8,connUsed:o[0].connUsed,connMax:60,at:s.toISOString(),prev:null,recent:Array.from({length:6},(e,t)=>({at:_(s,(5-t)*3e5).toISOString(),cpu:Math.round((6+18*i.next())*10)/10}))};await a.insert(et).values({resourceId:t,keyCiphertext:ef,keyIv:ef,latest:l,lastTryAt:s,lastOkAt:s,createdAt:_(r,18144e5),updatedAt:s}),await a.insert(ea).values(o.filter(e=>e.hour.getTime()<=r.getTime()))}let eb="Asia/Jakarta",ek=null,ev=null,eI=/^(?:UTC|GMT|[A-Za-z]+(?:\/[A-Za-z0-9_+\-]+)+)$/i,eS={"Asia/Calcutta":"Asia/Kolkata","Asia/Katmandu":"Asia/Kathmandu","Asia/Saigon":"Asia/Ho_Chi_Minh","Asia/Rangoon":"Asia/Yangon"};function e_(e){return M(e,"member","user")}function ex(e){return M(e,"member","row")}async function e$(e){let{now:t,seed:a}=e,n=new Date(t.getTime()-35424e6);await e.db.insert(s.members).values({id:ex(a),userId:e_(a),email:e.email,role:"owner",lastSeenAt:t,createdAt:n,updatedAt:n})}async function eT(e,a,n,r,i,l){let d,{db:u,seed:c,now:g}=e,h=D(c,"events"),f=[],y=(e,t)=>f.push({id:M(c,"event",e),count:1,...t});for(let e of m(await u.execute(p.B`select external_id, resource_id, state, branch, commit_sha, building_at, ready_at, created_at_provider from ops.deployments
2
+ where created_at_provider > ${new Date(g.getTime()-6048e5).toISOString()}::timestamptz`))){let t=`${e.branch??"unknown branch"} \xb7 ${e.commit_sha?e.commit_sha.slice(0,7):"no commit"}`,a=new Date(e.created_at_provider),n=e.building_at?new Date(e.building_at):a;y(`${e.external_id}:start`,{at:n,resourceId:e.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:t,reason:"DeployStarted"}),"ready"===e.state&&e.ready_at&&y(`${e.external_id}:ready`,{at:new Date(e.ready_at),resourceId:e.resource_id,type:"deployment",kind:"ok",message:"Deployment ready",detail:t,reason:"DeployReady"}),"error"===e.state&&y(`${e.external_id}:failed`,{at:new Date(n.getTime()+1e3*h.int(40,110)),resourceId:e.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:t,reason:"DeployFailed"})}let w=n.outage,A=n.monitors.find(e=>e.id===w.monitorId),b=(e,t,a,n,r,i,s)=>y(e,{at:t,resourceId:a,type:"monitor",kind:n,message:r,detail:i,reason:s});b("outage:warn",w.startedAt,w.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),b("outage:err",new Date(w.startedAt.getTime()+6e5),w.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),b("outage:ok",w.recoveredAt,w.appId,"ok","Monitor recovered",`${A.path} answers again`,"MonitorRecovered"),n.degraded&&b("degraded:warn",n.degraded.since,n.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let k=i.certSoon,v=i.zoneSoon,I=new Date(k.notAfter.getTime()-12096e5+6e4*h.int(5,50)),x=new Date(v.expiresAt.getTime()-2592e6+6e4*h.int(5,50));y("net:cert",{at:I,resourceId:k.id,type:"system",kind:"warn",message:`${k.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),y("net:zone",{at:x,resourceId:v.id,type:"system",kind:"warn",message:`${v.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let $=new Date(g);$.setUTCHours(20,0,0,0),$.getTime()>g.getTime()-3e5&&$.setTime($.getTime()-864e5);for(let e=0;e<7;e++){let t=new Date($.getTime()-864e5*e+1e3*h.int(20,90));y(`daily:${e}`,{at:t,resourceId:null,type:"system",kind:"ok",message:"Daily jobs finished",detail:"Rollups, retention, certificates and domain expiry",reason:"DailyFinished"})}let T=e_(c),z=(e,t,a,n,r=null)=>y(`action:${e}`,{at:_(g,864e5*t+36e5*h.int(1,10)+6e4*h.int(0,59)),resourceId:n,type:"action",kind:"ok",message:a,detail:r,actorUserId:T,reason:"Action"}),C=n.monitors.find(e=>"/api/health"===e.path)??n.monitors[0],E=a.apps[0],O=r.dbs.find(e=>"supabase_project"===e.kind);z("monitor-added",6,`Monitor added: ${S(C.url)}`,C.appId),z("db-link",5,`Database link: ${E.name} → ${O.name}`,E.id),z("keep-active",5,`Keep active on: ${O.name}`,O.id),z("rule",4,"Alert rule edited: HighLatency",null,"threshold 1,500 ms"),z("maintenance",3,"Maintenance window added",null,`Sundays 02:00 ${(d=ek??=function(){ev=null;let e=void 0!==t?{name:"WATCHBELL_TIMEZONE",value:t}:(0,o.N)("u"<typeof process?{}:process.env,"TIMEZONE"),a=e?.value.trim()??"";if(""===a)return eb;let n=function(e){if(!eI.test(e))return null;try{let t=new Intl.DateTimeFormat("en-US",{timeZone:e}).resolvedOptions().timeZone,a=eS[t]??t;if(a.toLowerCase()===e.toLowerCase())return a;return t.toLowerCase()===e.toLowerCase()?t:e}catch{return null}}(a);if(n)return n;ev=`${e.name}=${a}`;let r=globalThis;return r.__watchbellZoneWarned||(r.__watchbellZoneWarned=!0,console.warn(`Watchbell: ${ev} is not a time zone (use an IANA name such as Europe/Berlin). Using ${eb} (WIB).`)),eb}())===eb?"WIB":d}, 30 min`),z("check-now",1,`Check now: ${S(A.url)}`,A.appId);let j=l.resolved.credential;y("action:credential",{at:new Date(j.resolvedAt.getTime()-6e4*h.int(2,9)),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${j.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:T,reason:"Action"}),y("action:auto-recheck",{at:new Date(w.startedAt.getTime()+66e4+3e3),resourceId:A.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${S(A.url)}`,detail:null,actorUserId:null,reason:"Action"}),await u.insert(s.events).values(f.sort((e,t)=>e.at.getTime()-t.at.getTime()))}let eD="76.76.21.21";async function eM(e,t,a){let{db:n,seed:r,now:i}=e,o=D(r,"network"),l=e=>_(i,6e4*o.int(10,60*e)).toISOString(),d=a.cloudflare,u=o.shuffle(F).slice(0,2).map((e,t)=>({id:M(r,"zone",e),name:j(e),expiresAt:new Date(1===t?i.getTime()+864e5*o.int(12,24)+36e5*o.int(1,20):i.getTime()+864e5*o.int(200,600))})),c=e=>e.split("-").slice(1).join("-")||e,p=t.apps,m=[{name:u[0].name,app:p[0]},...[0,1,2].map(e=>({name:`${c(p[e].name)}.${u[0].name}`,app:p[e]})),...[3,4].map(e=>({name:`${c(p[e%p.length].name)}.${u[1].name}`,app:p[e%p.length]}))],g=o.int(1,3),h=m.map((e,t)=>({id:M(r,"domain",e.name),name:e.name,appId:e.app.id,notAfter:new Date(t===g?i.getTime()+864e5*o.int(4,9)+36e5*o.int(1,20):i.getTime()+864e5*o.int(30,85))})),y=(e,t,a,n,i,s=null)=>({id:C(32,r,"dns",e,t,a),type:t,name:a,content:n,proxied:i,ttl:i?1:300,comment:s}),v=u.map(e=>{let t=[...h.filter(t=>t.name===e.name||t.name.endsWith(`.${e.name}`)).map(t=>y(e.name,"A",t.name,eD,!1,"Vercel")),y(e.name,"MX",e.name,j("mx1.mail"),!1),y(e.name,"TXT",e.name,`v=spf1 include:_spf.${j("mail")} ~all`,!1),y(e.name,"A",`legacy.${e.name}`,`192.0.2.${o.int(10,200)}`,!0,"Old server, kept for redirects")],a={expiresAt:e.expiresAt.toISOString(),registrar:"Example Registrar, Inc.",error:null,checkedAt:l(20)},n={status:"active",paused:!1,nameServers:[j("ada.ns"),j("bob.ns")],accountId:d.cfAccountId,checkedAt:l(1)},r=function(e,t){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 n=I("Domain",f(e.rdap?.expiresAt),30,t);return n&&a.push(n),{state:k(a.map(e=>e.state)),reasons:a.map(e=>e.reason)}}({status:n.status,paused:n.paused,rdap:a},i),s={zone:n,ssl:{mode:"strict",error:null},records:t,recordsTruncated:!1,cfErrors:[],certs:[{type:"universal",status:"active",hosts:[e.name,`*.${e.name}`],expiresOn:new Date(i.getTime()+864e5*o.int(40,80)).toISOString()}],rdap:a,reasons:r.reasons};return{z:e,records:t,rdap:a,state:r.state,data:s}}),S=_(i,864e5*o.int(150,380)),x=_(i,6e4*o.int(5,50));await n.insert(s.resources).values(u.map(e=>({id:e.id,accountId:d.accountId,kind:"zone",externalId:C(32,r,"zone-id",e.name),name:e.name,monitored:!0,meta:{status:"active",accountId:d.cfAccountId,accountName:d.label},firstSeenAt:S,lastSeenAt:x,createdAt:S,updatedAt:x}))),await n.insert(s.resources).values(h.map(e=>{let a=p.find(t=>t.id===e.appId);return{id:e.id,accountId:t.accountId,kind:"domain",externalId:e.name,name:e.name,parentId:e.appId,monitored:!0,meta:{redirect:null,verified:!0,projectId:a.externalId},firstSeenAt:S,lastSeenAt:x,createdAt:S,updatedAt:x}}));let $=["Let's Encrypt","Google Trust Services"];await n.insert(s.snapshots).values([...v.map(e=>({resourceId:e.z.id,state:e.state,stateSince:"ok"===e.state?S:new Date(e.z.expiresAt.getTime()-2592e6),data:e.data,collectedAt:x})),...h.map(e=>{var t,a;let n,r=v.find(t=>e.name===t.z.name||e.name.endsWith(`.${t.z.name}`)),s={notAfter:e.notAfter.toISOString(),issuer:o.pick($),authorized:!0,error:null,checkedAt:l(19)},d={misconfigured:!1,configuredBy:"A",recommendedIps:[eD],checkedAt:l(6)},u=function(e,t){let a=[];if(e.vercel?.misconfigured&&a.push({state:"warn",reason:"Vercel says the DNS is misconfigured"}),w(e.host).endsWith(".vercel.app"))return{state:k(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 n=I("Certificate",f(e.tls.notAfter),14,t);n?a.push(n):!1===e.tls.authorized&&a.push({state:"err",reason:"Certificate isn't trusted"})}(function(e,t=[]){return e.filter(e=>e.proxied&&function(e,t=[]){return"CNAME"===e.type?b.test(w(e.content)):"A"===e.type&&[...A,...t].includes(e.content.trim())}(e,t))})(e.records,e.vercel?.recommendedIps??[]).length&&a.push({state:"warn",reason:"Proxied by Cloudflare in front of Vercel"});let n=I("Domain",f(e.zoneRdap?.expiresAt),30,t);return n&&a.push(n),{state:k(a.map(e=>e.state)),reasons:a.map(e=>e.reason)}}({host:e.name,tls:s,vercel:d,records:(t=e.name,a=r.records,n=w(t),a.filter(e=>w(e.name)===n)),zoneRdap:r.rdap},i),c="ok"===u.state?S:new Date(Math.min(e.notAfter.getTime()-12096e5,r.z.expiresAt.getTime()-2592e6));return{resourceId:e.id,state:u.state,stateSince:c,data:{tls:s,vercel:d,reasons:u.reasons},collectedAt:x}})]);let T=v[0].records.find(e=>"A"===e.type&&e.name===u[0].name&&e.content===eD);return{zones:u,domains:h,certSoon:h[g],zoneSoon:u[1],vercelRecord:{id:T.id,name:T.name,zoneId:u[0].id}}}let ez=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function eC(e,t){let{db:a,seed:n,now:r}=e,i=D(n,"logs"),o=m(await a.execute(p.B`select resource_id, external_id from ops.deployments where is_current`)),l=i.shuffle(t.apps).slice(0,3).flatMap((e,t)=>Array.from({length:i.int(4,8)},(a,s)=>{let l=i.pick(V);return{id:M(n,"log",e.name,s),resourceId:e.id,deploymentId:o.find(t=>t.resource_id===e.id)?.external_id??`dpl_${z(24,n,"log-dpl",t)}`,rowId:`${z(10,n,"log-row",e.name,s).toLowerCase()}-${s}`,at:_(r,6e4*i.int(3,2760)+1e3*i.int(0,59)),level:l.level,message:l.message,requestMethod:l.method,requestPath:l.path,statusCode:l.status,source:"serverless"}}));await a.insert(s.storedLogs).values(l)}async function eE(e){let{db:t,seed:a,now:n}=e,r=D(a,"provider-status"),i=_(n,6e4*r.int(1,4));await t.insert(s.providerStatus).values(ez.map(e=>"cloudflare"===e?{provider:e,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:i,lastOkAt:i,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:_(n,36e5*r.int(1,3)).toISOString(),url:null}]}:{provider:e,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:i,lastOkAt:i,error:null}))}async function eO(e){let{db:t,seed:a,now:n}=e,r=D(a,"ai-usage"),i=M(a,"ai-agent","console"),s=r.int(70,140),o=[],l=[],d=[],u=[],c=[],m=[];for(let e=0;e<s;e++){o.push(n.getTime()-6e4*r.int(2,10080));let e=r.chance(.04);c.push(e?429:200),l.push(e?0:r.int(600,4200)),d.push(e?0:r.int(80,700)),u.push(e?r.int(80,300):r.int(700,4800)),m.push(r.int(1,2))}let g=e=>e.reduce((e,t)=>e+t,0),h=new Date(Math.max(...o));await t.execute(p.B`
3
3
  insert into ops.ai_agents (id, key_id, client_name, client_version, via, user_agent, first_seen_at, last_seen_at, requests, tokens_in, tokens_out, recent)
4
4
  values (${i}::uuid, null, 'Watchbell console', '', 'console', 'Watchbell console (ask-ai)', ${_(n,2592e6).toISOString()}::timestamptz,
5
- ${h.toISOString()}::timestamptz, ${s}, ${g(l)}, ${g(d)}, ${eR(["gemini/gemini-2.5-flash","workers-ai/gemma-3-12b-it"])}::text[])`),await t.execute(p.B`
5
+ ${h.toISOString()}::timestamptz, ${s}, ${g(l)}, ${g(d)}, ${ej(["gemini/gemini-2.5-flash","workers-ai/gemma-3-12b-it"])}::text[])`),await t.execute(p.B`
6
6
  insert into ops.ai_usage (at, key_id, agent_id, provider_id, model, kind, tool, tokens_in, tokens_out, latency_ms, status, error_class, stream)
7
7
  select to_timestamp(t.at / 1000.0), null, ${i}::uuid, null, (array['gemini/gemini-2.5-flash', 'workers-ai/gemma-3-12b-it'])[t.m], 'console', null,
8
8
  case when t.s = 429 then null else t.ti end, case when t.s = 429 then null else t.tout end, t.l, t.s,
9
9
  case when t.s = 429 then 'rate_limited · upstream_429' else null end, false
10
10
  from unnest(${x(o)}::bigint[], ${x(m)}::int[], ${x(l)}::int[], ${x(d)}::int[], ${x(u)}::int[],
11
11
  ${x(c)}::int[]) as t(at, m, ti, tout, l, s)
12
- order by t.at`)}let eR=e=>`{${e.join(",")}}`;async function ej(e,t,a,n){let{db:r,seed:i,now:s}=e,o=D(i,"proposals"),l=a.certSoon,d=t.failedDeploy,u=n.monitors.find(e=>e.id===n.outage.monitorId),c=new Date(n.outage.startedAt.getTime()+66e4),m=t.resolved.oldDeploy,g=new Date(m.startedAt.getTime()+6e4*o.int(2,6)),h=new Date(g.getTime()+6e4*o.int(3,15)),f=_(s,6e4*o.int(20,55)),y=_(s,6e4*o.int(8,19));for(let e of[{id:M(i,"proposal","pending-safe"),alertId:t.firing.cert,ruleKey:"CertExpiringSoon",room:"network",action:"domain_recheck",risk:"safe",title:`Re-check the certificate of ${l.name}`,reason:"The TLS certificate expires within 14 days; a fresh read shows whether it was already renewed.",resourceKind:"domain",resourceId:l.id,resourceName:l.name,targetRef:l.id,proposedBy:"Network",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:f,decidedAt:null,expiresAt:new Date(f.getTime()+72e5),claimedAt:null,finishedAt:null},{id:M(i,"proposal","pending-risky"),alertId:t.firing.deploy,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_redeploy",risk:"risky",title:`Redeploy production ${d.appName}`,reason:`Production deployment ${d.sha} failed; the previous build is still live.`,resourceKind:"app",resourceId:d.appId,resourceName:d.appName,targetRef:d.currentExternalId,proposedBy:"Workloads",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:y,decidedAt:null,expiresAt:new Date(y.getTime()+72e5),claimedAt:null,finishedAt:null},{id:M(i,"proposal","done-auto"),alertId:t.resolved.outage,ruleKey:"MonitorDown",room:"workloads",action:"recheck",risk:"safe",title:`Check ${S(u.url)} again now`,reason:"It returned HTTP 503 on 3 consecutive checks.",resourceKind:"app",resourceId:u.appId,resourceName:S(u.url),targetRef:u.id,proposedBy:"Workloads",status:"done",auto:!0,result:"Failed: HTTP 503.",decidedBy:null,createdAt:c,decidedAt:c,expiresAt:new Date(c.getTime()+72e5),claimedAt:new Date(c.getTime()+2e3),finishedAt:new Date(c.getTime()+2e3+o.int(300,1500))},{id:M(i,"proposal","rejected"),alertId:m.id,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_rollback",risk:"risky",title:`Roll back ${m.appName} to the previous deployment`,reason:"The newest production build failed.",resourceKind:"app",resourceId:m.appId,resourceName:m.appName,targetRef:m.previousExternalId,proposedBy:"Workloads",status:"rejected",auto:!1,result:null,decidedBy:ex(i),createdAt:g,decidedAt:h,expiresAt:new Date(g.getTime()+72e5),claimedAt:null,finishedAt:null}]){let t=e=>e?e.toISOString():null;await r.execute(p.B`
12
+ order by t.at`)}let ej=e=>`{${e.join(",")}}`;async function eN(e,t,a,n){let{db:r,seed:i,now:s}=e,o=D(i,"proposals"),l=a.certSoon,d=t.failedDeploy,u=n.monitors.find(e=>e.id===n.outage.monitorId),c=new Date(n.outage.startedAt.getTime()+66e4),m=t.resolved.oldDeploy,g=new Date(m.startedAt.getTime()+6e4*o.int(2,6)),h=new Date(g.getTime()+6e4*o.int(3,15)),f=_(s,6e4*o.int(20,55)),y=_(s,6e4*o.int(8,19));for(let e of[{id:M(i,"proposal","pending-safe"),alertId:t.firing.cert,ruleKey:"CertExpiringSoon",room:"network",action:"domain_recheck",risk:"safe",title:`Re-check the certificate of ${l.name}`,reason:"The TLS certificate expires within 14 days; a fresh read shows whether it was already renewed.",resourceKind:"domain",resourceId:l.id,resourceName:l.name,targetRef:l.id,proposedBy:"Network",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:f,decidedAt:null,expiresAt:new Date(f.getTime()+72e5),claimedAt:null,finishedAt:null},{id:M(i,"proposal","pending-risky"),alertId:t.firing.deploy,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_redeploy",risk:"risky",title:`Redeploy production ${d.appName}`,reason:`Production deployment ${d.sha} failed; the previous build is still live.`,resourceKind:"app",resourceId:d.appId,resourceName:d.appName,targetRef:d.currentExternalId,proposedBy:"Workloads",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:y,decidedAt:null,expiresAt:new Date(y.getTime()+72e5),claimedAt:null,finishedAt:null},{id:M(i,"proposal","done-auto"),alertId:t.resolved.outage,ruleKey:"MonitorDown",room:"workloads",action:"recheck",risk:"safe",title:`Check ${S(u.url)} again now`,reason:"It returned HTTP 503 on 3 consecutive checks.",resourceKind:"app",resourceId:u.appId,resourceName:S(u.url),targetRef:u.id,proposedBy:"Workloads",status:"done",auto:!0,result:"Failed: HTTP 503.",decidedBy:null,createdAt:c,decidedAt:c,expiresAt:new Date(c.getTime()+72e5),claimedAt:new Date(c.getTime()+2e3),finishedAt:new Date(c.getTime()+2e3+o.int(300,1500))},{id:M(i,"proposal","rejected"),alertId:m.id,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_rollback",risk:"risky",title:`Roll back ${m.appName} to the previous deployment`,reason:"The newest production build failed.",resourceKind:"app",resourceId:m.appId,resourceName:m.appName,targetRef:m.previousExternalId,proposedBy:"Workloads",status:"rejected",auto:!1,result:null,decidedBy:ex(i),createdAt:g,decidedAt:h,expiresAt:new Date(g.getTime()+72e5),claimedAt:null,finishedAt:null}]){let t=e=>e?e.toISOString():null;await r.execute(p.B`
13
13
  insert into ops.action_proposals (id, alert_id, rule_key, room, action, risk, title, reason, resource_kind, resource_id, resource_name, target_ref,
14
14
  proposed_by, status, auto, result, decided_by, created_at, decided_at, expires_at, claimed_at, finished_at)
15
15
  values (${e.id}::uuid, ${e.alertId}::uuid, ${e.ruleKey}, ${e.room}, ${e.action}, ${e.risk}, ${e.title}, ${e.reason}, ${e.resourceKind},
16
16
  ${e.resourceId}::uuid, ${e.resourceName}, ${e.targetRef}, ${e.proposedBy}, ${e.status}, ${e.auto}, ${e.result}, ${e.decidedBy}::uuid,
17
- ${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}function eN(e,t){return e.length?e[Math.min(e.length-1,Math.max(0,Math.ceil(t*e.length)-1))]:null}function eP(e){let t=e.filter(e=>!e.inMaintenance),a=t.map(e=>e.latencyMs).filter(e=>null!==e).sort((e,t)=>e-t);return{checks:t.length,failures:t.filter(e=>!e.ok).length,p50Ms:eN(a,.5),p95Ms:eN(a,.95),maxMs:a.length?a[a.length-1]:null,status5xx:t.filter(e=>null!==e.statusCode&&e.statusCode>=500).length,maintenance:e.length-t.length}}let eB=2016,eU=25920,eL="No answer within 5 s";async function eH(e,t){var a;let n,{db:r,seed:i,now:o}=e,l=D(i,"monitors"),d=[];for(let e of t.apps)for(let[t,a]of(l.chance(.6)?["/","/api/health"]:["/"]).entries())d.push({id:M(i,"monitor",e.name,a),appId:e.id,index:d.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*l.int(1,3)*864e5+6e4*l.int(2,50))});let u=3e5*Math.floor((o.getTime()-1e4)/3e5),c=(e,t)=>u-3e5*t+2e3+300*e.index,p=d.map(e=>(function(e,t){let a=D(e,"checks",t.id),n={ok:new Uint8Array(eU),status:new Int16Array(eU),latency:new Int32Array(eU)},r=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<eU;e++){let t=Math.round(r*(.75+.5*a.next())*(a.chance(.02)?1.8+2*a.next():1));if(e>=3&&a.chance(3e-4)){let t=a.int(0,3);eF(n,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else eF(n,e,{ok:!0,status:200,latency:t})}return n})(i,e)),m=D(i,"outage"),g=d.filter(e=>"/"===e.path),h=m.pick(g),f=m.int(96,240),y=m.int(4,7),w=p[h.index];for(let e=f-3;e<f+y+3;e++)eF(w,e,{ok:!0,status:200,latency:w.latency[e]>0?w.latency[e]:180});for(let e=f;e<f+y;e++)eF(w,e,{ok:!1,status:e===f+y-1?502:503,latency:m.int(30,140)});let A={monitorId:h.id,appId:h.appId,startedAt:new Date(c(h,f+y-1)),endedAt:new Date(c(h,f)),recoveredAt:new Date(c(h,f-1)),failedChecks:y},b=d.filter(e=>e.appId!==h.appId),k=b.length?m.pick(b):null;k&&eF(p[k.index],0,{ok:!1,status:0,latency:-1});let v=D(i,"slow-windows"),I=d.filter(e=>e.id!==h.id),S=(e,t,a,n)=>{let r=p[e.index],i=288*t+v.int(12,144),s=v.int(a,n),o=[];for(let e=i;e>i-s;e--){let t=v.int(1600,2900);eF(r,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let l=i-s;return(!r.ok[l]||r.latency[l]>=1500)&&eF(r,l,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(c(e,i-1)),resolvedAt:new Date(c(e,l)),p95:eP(o).p95Ms}},_=I[0]??h,x=I[I.length-1]??h,T=[S(_,2,4,8),S(x,5,3,6)],$=d.map(e=>(function(e,t,a){let n="unknown",r=0,i=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=function(e,t){if(t.ok)return{state:"ok",failStreak:0};let a=e+1;return{state:a>=3?"err":"warn",failStreak:a}}(r,{ok:1===t.ok[e],statusCode:eV(t,e),latencyMs:eW(t,e),error:eG(t,e)});s.state!==n&&(i=a(e)),n=s.state,r=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:n,stateSince:i,failStreak:r,lastCheckedAt:a(0),lastStatus:eV(t,0),lastLatencyMs:eW(t,0),createdAt:e.createdAt}})(e,p[e.index],t=>new Date(c(e,t))));await r.insert(s.monitors).values($.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:300,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:eG(p[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let z=((n=new Date(a=o)).setUTCHours(20,0,0,0),n.getTime()>a.getTime()-3e5&&n.setTime(n.getTime()-864e5),n.getTime());for(let t of d)await eK(e,t,p[t.index],new Date(c(t,0))),await eq(e,t,p[t.index],e=>c(t,e),z);return await eQ(e,d.length),{monitors:$,outage:A,degraded:k?{monitorId:k.id,appId:k.appId,since:new Date(c(k,0))}:null,slow:T}}function eF(e,t,a){t<0||t>=e.ok.length||(e.ok[t]=+!!a.ok,e.status[t]=a.status,e.latency[t]=a.latency)}let eV=(e,t)=>0===e.status[t]?null:e.status[t],eW=(e,t)=>e.latency[t]<0?null:e.latency[t],eG=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:eL;async function eK(e,t,a,n){let r=Array.from({length:eB},(e,t)=>t);await e.db.execute(p.B`
17
+ ${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}function eR(e,t){return e.length?e[Math.min(e.length-1,Math.max(0,Math.ceil(t*e.length)-1))]:null}function eP(e){let t=e.filter(e=>!e.inMaintenance),a=t.map(e=>e.latencyMs).filter(e=>null!==e).sort((e,t)=>e-t);return{checks:t.length,failures:t.filter(e=>!e.ok).length,p50Ms:eR(a,.5),p95Ms:eR(a,.95),maxMs:a.length?a[a.length-1]:null,status5xx:t.filter(e=>null!==e.statusCode&&e.statusCode>=500).length,maintenance:e.length-t.length}}let eB=2016,eU=25920,eL="No answer within 5 s";async function eH(e,t){var a;let n,{db:r,seed:i,now:o}=e,l=D(i,"monitors"),d=[];for(let e of t.apps)for(let[t,a]of(l.chance(.6)?["/","/api/health"]:["/"]).entries())d.push({id:M(i,"monitor",e.name,a),appId:e.id,index:d.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*l.int(1,3)*864e5+6e4*l.int(2,50))});let u=3e5*Math.floor((o.getTime()-1e4)/3e5),c=(e,t)=>u-3e5*t+2e3+300*e.index,p=d.map(e=>(function(e,t){let a=D(e,"checks",t.id),n={ok:new Uint8Array(eU),status:new Int16Array(eU),latency:new Int32Array(eU)},r=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<eU;e++){let t=Math.round(r*(.75+.5*a.next())*(a.chance(.02)?1.8+2*a.next():1));if(e>=3&&a.chance(3e-4)){let t=a.int(0,3);eF(n,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else eF(n,e,{ok:!0,status:200,latency:t})}return n})(i,e)),m=D(i,"outage"),g=d.filter(e=>"/"===e.path),h=m.pick(g),f=m.int(96,240),y=m.int(4,7),w=p[h.index];for(let e=f-3;e<f+y+3;e++)eF(w,e,{ok:!0,status:200,latency:w.latency[e]>0?w.latency[e]:180});for(let e=f;e<f+y;e++)eF(w,e,{ok:!1,status:e===f+y-1?502:503,latency:m.int(30,140)});let A={monitorId:h.id,appId:h.appId,startedAt:new Date(c(h,f+y-1)),endedAt:new Date(c(h,f)),recoveredAt:new Date(c(h,f-1)),failedChecks:y},b=d.filter(e=>e.appId!==h.appId),k=b.length?m.pick(b):null;k&&eF(p[k.index],0,{ok:!1,status:0,latency:-1});let v=D(i,"slow-windows"),I=d.filter(e=>e.id!==h.id),S=(e,t,a,n)=>{let r=p[e.index],i=288*t+v.int(12,144),s=v.int(a,n),o=[];for(let e=i;e>i-s;e--){let t=v.int(1600,2900);eF(r,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let l=i-s;return(!r.ok[l]||r.latency[l]>=1500)&&eF(r,l,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(c(e,i-1)),resolvedAt:new Date(c(e,l)),p95:eP(o).p95Ms}},_=I[0]??h,x=I[I.length-1]??h,$=[S(_,2,4,8),S(x,5,3,6)],T=d.map(e=>(function(e,t,a){let n="unknown",r=0,i=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=function(e,t){if(t.ok)return{state:"ok",failStreak:0};let a=e+1;return{state:a>=3?"err":"warn",failStreak:a}}(r,{ok:1===t.ok[e],statusCode:eV(t,e),latencyMs:eW(t,e),error:eG(t,e)});s.state!==n&&(i=a(e)),n=s.state,r=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:n,stateSince:i,failStreak:r,lastCheckedAt:a(0),lastStatus:eV(t,0),lastLatencyMs:eW(t,0),createdAt:e.createdAt}})(e,p[e.index],t=>new Date(c(e,t))));await r.insert(s.monitors).values(T.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:300,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:eG(p[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let z=((n=new Date(a=o)).setUTCHours(20,0,0,0),n.getTime()>a.getTime()-3e5&&n.setTime(n.getTime()-864e5),n.getTime());for(let t of d)await eK(e,t,p[t.index],new Date(c(t,0))),await eq(e,t,p[t.index],e=>c(t,e),z);return await eQ(e,d.length),{monitors:T,outage:A,degraded:k?{monitorId:k.id,appId:k.appId,since:new Date(c(k,0))}:null,slow:$}}function eF(e,t,a){t<0||t>=e.ok.length||(e.ok[t]=+!!a.ok,e.status[t]=a.status,e.latency[t]=a.latency)}let eV=(e,t)=>0===e.status[t]?null:e.status[t],eW=(e,t)=>e.latency[t]<0?null:e.latency[t],eG=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:eL;async function eK(e,t,a,n){let r=Array.from({length:eB},(e,t)=>t);await e.db.execute(p.B`
18
18
  insert into ops.checks (id, monitor_id, at, ok, status_code, latency_ms, error, in_maintenance)
19
19
  select md5(${`${e.seed}:${t.id}:`} || t.k)::uuid, ${t.id}::uuid, ${n.toISOString()}::timestamptz - t.k * interval '5 minutes',
20
20
  t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${eL} else 'HTTP ' || t.s end, false
@@ -23,6 +23,6 @@ module.exports=[218550,e=>{"use strict";let t;var a=e.i(126803),n=e.i(789922),r=
23
23
  insert into ops.rollups_hourly (monitor_id, hour, checks, failures, p50_ms, p95_ms, max_ms, status_5xx, maintenance)
24
24
  select ${t.id}::uuid, to_timestamp(t.h), t.c, t.f, t.p50, t.p95, t.mx, t.s5, 0
25
25
  from unnest(${x(s)}::bigint[], ${x(o)}::int[], ${x(l)}::int[], ${x(d)}::int[],
26
- ${x(u)}::int[], ${x(c)}::int[], ${x(m)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function eQ(e,t){let{seed:a,now:n}=e,r=D(a,"collector-runs"),i=6e4*Math.floor((n.getTime()-1e4)/6e4);await e.db.insert(s.collectorRuns).values(Array.from({length:60},(e,n)=>{let s=i-6e4*n,o=s%3e5==0,l=(o?2e3+300*t:600)+r.int(200,1400);return{id:M(a,"collector-run",n),startedAt:new Date(s+1e3),finishedAt:new Date(s+1e3+l),trigger:"manual",tasks:o?["heartbeats","checks","vercel","alerts"]:["heartbeats","vercel","alerts"],ok:!0,durationMs:l,checks:o?t:0}}))}async function eY(e,t,a,n){await e.transaction(async e=>{let r={db:e,seed:t,now:a,email:n};await eT(r);let i=await W(r),s=await eH(r,i);await G(r,i,s.monitors);let o=await ew(r,i),l=await eM(r,i,o),d=await O(r,i,s,o,l);await ej(r,d,l,s),await e$(r,i,s,o,l,d),await eC(r,i),await eE(r),await eO(r)})}var eZ=e.i(915631),eX=e.i(917519);let eJ=0,e0=()=>Date.now()+eJ;function e1(e=process.env){let t=Number(((0,o.d)(e,"DEMO_POOL_MAX")??"").trim());return Number.isInteger(t)&&t>=1?t:3}let e5=globalThis.__watchpostDemoPool??={entries:new Map,live:new Set,waiters:new Set,creating:0,creationQueue:[]};function e6(){let e=[...e5.waiters];for(let t of(e5.waiters.clear(),e))t()}function e2(e){!e.evicted||e.leases>0||e.closing||(e.closing=e.pglite.then(e=>e.close()).catch(()=>void 0).finally(()=>{e5.live.delete(e),e6()}))}function e4(e){e5.entries.get(e.seed)===e&&e5.entries.delete(e.seed),e.evicted=!0,0===e5.entries.size&&e5.sweeper&&(clearInterval(e5.sweeper),e5.sweeper=void 0),e2(e),e6()}let e3=e=>e.created&&0===e.leases&&!e.evicted,e8=(e,t)=>e3(e)&&t-e.lastUsed>=6e4;function e9(e=e0()){for(let t of[...e5.entries.values()])e3(t)&&e-t.lastUsed>12e5&&e4(t)}async function e7(e){let t=e0()+5e3;for(;;){if(e.evicted)throw Error("The demo database was closed. Reload the page.");if(e5.live.size<e1())return void e5.live.add(e);let a=e0(),n=[...e5.entries.values()].find(e=>e8(e,a));if(n){e4(n),await n.closing;continue}let r=t-a;if(r<=0)throw c(l);await function(e){return new Promise(t=>{let a=setTimeout(n,e);function n(){clearTimeout(a),e5.waiters.delete(n),t()}e5.waiters.add(n)})}(Math.min(r,function(e){let t=1/0;for(let a of e5.entries.values())e3(a)&&(t=Math.min(t,a.lastUsed+6e4-e));return Math.max(0,t)}(a)+1))}}async function te(){e5.creating<2?e5.creating++:await new Promise(e=>e5.creationQueue.push(e))}async function tt(e,t){if(!eX.k.take(await (0,eZ.R)(),e.seed))throw c(d);await e7(e);try{let o=t??await (0,eZ._)();await te();try{let t=await a.f.create();try{let a=(0,n.f)({client:t,schema:s});await (0,r.f)(a,{migrationsFolder:(0,i.selfhostMigrationsFolder)()}),await eY(a,e.seed,new Date,o)}catch(e){throw await t.close().catch(()=>void 0),e}return e.created=!0,t}finally{let e;(e=e5.creationQueue.shift())?e():e5.creating--}}catch(t){throw e5.live.delete(e),t}finally{e6()}}function ta(e,t){if(!e)throw Error("Demo seed missing");e9();let a=e5.entries.get(e);if(a)e5.entries.delete(e);else{let n={seed:e,created:!1,lastUsed:0,leases:0,evicted:!1};n.pglite=tt(n,t),n.pglite.catch(()=>{e5.entries.get(e)===n&&e5.entries.delete(e)}),a=n}return a.lastUsed=e0(),e5.entries.set(e,a),e5.sweeper||(e5.sweeper=setInterval(()=>e9(),6e4),e5.sweeper.unref?.()),a}async function tn(e,t,a){let n=ta(e,a);n.leases++;try{return await t(await n.pglite)}finally{n.leases--,n.lastUsed=e0(),e2(n),e6()}}async function tr(){for(let e of[...e5.entries.values()])e4(e);await Promise.all([...e5.live].map(e=>e.closing))}e.s(["BUSY_WAIT_MS",0,5e3,"DEFAULT_POOL_MAX",0,3,"DEMO_BUSY",0,l,"DEMO_TOO_MANY",0,d,"IDLE_MS",0,12e5,"MAX_CREATING",0,2,"RECENT_MS",0,6e4,"closeDemoPool",0,tr,"demoDbFor",0,function(e,t){return ta(e,t).pglite},"demoPoolMax",0,e1,"setDemoPoolClockOffsetForTests",0,function(e){if(!process.env.VITEST)throw Error("setDemoPoolClockOffsetForTests is for tests only");eJ=e,e6()},"sweepIdleDemoDbs",0,e9,"withDemoDb",0,tn],218550)}];
26
+ ${x(u)}::int[], ${x(c)}::int[], ${x(m)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function eQ(e,t){let{seed:a,now:n}=e,r=D(a,"collector-runs"),i=6e4*Math.floor((n.getTime()-1e4)/6e4);await e.db.insert(s.collectorRuns).values(Array.from({length:60},(e,n)=>{let s=i-6e4*n,o=s%3e5==0,l=(o?2e3+300*t:600)+r.int(200,1400);return{id:M(a,"collector-run",n),startedAt:new Date(s+1e3),finishedAt:new Date(s+1e3+l),trigger:"manual",tasks:o?["heartbeats","checks","vercel","alerts"]:["heartbeats","vercel","alerts"],ok:!0,durationMs:l,checks:o?t:0}}))}async function eY(e,t,a,n){await e.transaction(async e=>{let r={db:e,seed:t,now:a,email:n};await e$(r);let i=await W(r),s=await eH(r,i);await G(r,i,s.monitors);let o=await ew(r,i),l=await eM(r,i,o),d=await O(r,i,s,o,l);await eN(r,d,l,s),await eT(r,i,s,o,l,d),await eC(r,i),await eE(r),await eO(r)})}var eZ=e.i(915631),eX=e.i(917519);let eJ=0,e0=()=>Date.now()+eJ;function e1(e=process.env){let t=Number(((0,o.d)(e,"DEMO_POOL_MAX")??"").trim());return Number.isInteger(t)&&t>=1?t:3}let e5=globalThis.__watchpostDemoPool??={entries:new Map,live:new Set,waiters:new Set,creating:0,creationQueue:[]};function e6(){let e=[...e5.waiters];for(let t of(e5.waiters.clear(),e))t()}function e2(e){!e.evicted||e.leases>0||e.closing||(e.closing=e.pglite.then(e=>e.close()).catch(()=>void 0).finally(()=>{e5.live.delete(e),e6()}))}function e4(e){e5.entries.get(e.seed)===e&&e5.entries.delete(e.seed),e.evicted=!0,0===e5.entries.size&&e5.sweeper&&(clearInterval(e5.sweeper),e5.sweeper=void 0),e2(e),e6()}let e3=e=>e.created&&0===e.leases&&!e.evicted,e8=(e,t)=>e3(e)&&t-e.lastUsed>=6e4;function e9(e=e0()){for(let t of[...e5.entries.values()])e3(t)&&e-t.lastUsed>12e5&&e4(t)}async function e7(e){let t=e0()+5e3;for(;;){if(e.evicted)throw Error("The demo database was closed. Reload the page.");if(e5.live.size<e1())return void e5.live.add(e);let a=e0(),n=[...e5.entries.values()].find(e=>e8(e,a));if(n){e4(n),await n.closing;continue}let r=t-a;if(r<=0)throw c(l);await function(e){return new Promise(t=>{let a=setTimeout(n,e);function n(){clearTimeout(a),e5.waiters.delete(n),t()}e5.waiters.add(n)})}(Math.min(r,function(e){let t=1/0;for(let a of e5.entries.values())e3(a)&&(t=Math.min(t,a.lastUsed+6e4-e));return Math.max(0,t)}(a)+1))}}async function te(){e5.creating<2?e5.creating++:await new Promise(e=>e5.creationQueue.push(e))}async function tt(e,t){if(!eX.k.take(await (0,eZ.R)(),e.seed))throw c(d);await e7(e);try{let o=t??await (0,eZ._)();await te();try{let t=await a.f.create();try{let a=(0,n.f)({client:t,schema:s});await (0,r.f)(a,{migrationsFolder:(0,i.selfhostMigrationsFolder)()}),await eY(a,e.seed,new Date,o)}catch(e){throw await t.close().catch(()=>void 0),e}return e.created=!0,t}finally{let e;(e=e5.creationQueue.shift())?e():e5.creating--}}catch(t){throw e5.live.delete(e),t}finally{e6()}}function ta(e,t){if(!e)throw Error("Demo seed missing");e9();let a=e5.entries.get(e);if(a)e5.entries.delete(e);else{let n={seed:e,created:!1,lastUsed:0,leases:0,evicted:!1};n.pglite=tt(n,t),n.pglite.catch(()=>{e5.entries.get(e)===n&&e5.entries.delete(e)}),a=n}return a.lastUsed=e0(),e5.entries.set(e,a),e5.sweeper||(e5.sweeper=setInterval(()=>e9(),6e4),e5.sweeper.unref?.()),a}async function tn(e,t,a){let n=ta(e,a);n.leases++;try{return await t(await n.pglite)}finally{n.leases--,n.lastUsed=e0(),e2(n),e6()}}async function tr(){for(let e of[...e5.entries.values()])e4(e);await Promise.all([...e5.live].map(e=>e.closing))}e.s(["BUSY_WAIT_MS",0,5e3,"DEFAULT_POOL_MAX",0,3,"DEMO_BUSY",0,l,"DEMO_TOO_MANY",0,d,"IDLE_MS",0,12e5,"MAX_CREATING",0,2,"RECENT_MS",0,6e4,"closeDemoPool",0,tr,"demoDbFor",0,function(e,t){return ta(e,t).pglite},"demoPoolMax",0,e1,"setDemoPoolClockOffsetForTests",0,function(e){if(!process.env.VITEST)throw Error("setDemoPoolClockOffsetForTests is for tests only");eJ=e,e6()},"sweepIdleDemoDbs",0,e9,"withDemoDb",0,tn],218550)}];
27
27
 
28
28
  //# sourceMappingURL=src_lib_demo_pool_ts_17xz9bk-d5uic._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[436357,521050,572134,t=>{"use strict";var e=t.i(26972),r=t.i(427221),n=t.i(689963),a=t.i(811365),o=t.i(913822),i=t.i(191179),s=t.i(83931);let l=/^[A-Za-z0-9._-]{1,100}$/,u=t=>t.trim().replace(/^\.\//,"").split("/").filter(t=>""!==t&&"."!==t);function c(t){if("string"!=typeof t)return null;let e=u(t);if(!e.length||e.length>4||e.some(t=>".."===t||!l.test(t)))return null;let r=e.join("/");return r.length<=150?r:null}function d(t){if("string"!=typeof t||!u(t).length||null!==c(t))return null;let e=t.replace(/[\u0000-\u001f\u007f-\u009f]/g,"").trim();return e?e.length>80?`${e.slice(0,79)}…`:e:null}function p(t){let e=t.trim().replace(/^\.\//,"").replace(/\/+$/,"").split("**").map(t=>t.split("*").map(t=>t.replace(/[.+?^${}()|[\]\\]/g,"\\$&")).join("[^/]*")).join(".*");return RegExp(`^${e}$`)}t.s(["Q",0,c,"x",0,t=>t?`${t} (the Vercel project's Root Directory)`:"the repository root","H",0,(t,e)=>t?`${t}/${e}`:e,"p",0,function(t,e,r){if("npm"===t)try{let t=JSON.parse(e);return!!t.packages&&"object"==typeof t.packages&&Object.hasOwn(t.packages,r)}catch{return!1}if("pnpm"===t){let t=e.search(/^importers:\s*$/m);if(t<0)return!1;let n=e.slice(t).split(/\n(?=\S)/)[0],a=r.replace(/[.+?^${}()|[\]\\]/g,"\\$&");return RegExp(`^ {2}['"]?${a}['"]?:\\s*$`,"m").test(n)}return!1},"l",0,d,"F",0,function(t,e){let r;if(!t)return!1;try{r=JSON.parse(t)}catch{return!1}let n=r&&"object"==typeof r&&!Array.isArray(r)?r.workspaces:void 0,a=(Array.isArray(n)?n:n&&"object"==typeof n&&Array.isArray(n.packages)?n.packages:[]).filter(t=>"string"==typeof t&&""!==t.trim()),o=a.filter(t=>t.trim().startsWith("!")).map(t=>t.trim().slice(1));return a.some(t=>!t.trim().startsWith("!")&&p(t).test(e))&&!o.some(t=>p(t).test(e))}],521050);let m="https://api.vercel.com";async function f(t,e,r){let n;try{n=await (r.fetch??fetch)(`${m}${t}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},signal:AbortSignal.timeout(r.timeoutMs??5e3),cache:"no-store"})}catch(t){return{ok:!1,kind:"transient",error:t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.name)?"Vercel didn't answer within 5 seconds.":"Couldn't reach Vercel."}}if(401===n.status||403===n.status)return{ok:!1,kind:"auth",status:n.status,error:`Vercel rejected this credential (${n.status}).`};if(429===n.status){let t=Number(n.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(t)&&t>0?t:60,error:"Vercel says there were too many requests."}}return n.ok?{ok:!0,data:await n.json().catch(()=>null)}:{ok:!1,kind:"transient",status:n.status,error:`Vercel returned an error (${n.status}).`}}async function h(t,n,a,o,i){let s;try{s=await (i.fetch??fetch)(`${m}${n}`,{method:t,headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...void 0===o?{}:{"Content-Type":"application/json"}},...void 0===o?{}:{body:JSON.stringify(o)},signal:AbortSignal.timeout(i.timeoutMs??5e3),cache:"no-store"})}catch(t){return{ok:!1,kind:"transient",error:t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.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===s.status)return{ok:!1,kind:"auth",status:401,error:"Vercel rejected this credential (401)."};if(403===s.status)return{ok:!1,kind:"scope",status:403,error:"Vercel refused this token for that project (403)."};if(429===s.status){let t;return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(t=Number(s.headers.get("Retry-After")))&&t>0?t:60,error:"Vercel says there were too many requests."}}let l=await s.json().catch(()=>null);if(!s.ok){let t=e.z.object({error:e.z.object({code:r.z.string().regex(/^[A-Za-z0-9_-]{1,60}$/)})}).safeParse(l);return{ok:!1,kind:"transient",status:s.status,error:`Vercel refused this (${s.status}${t.success?`, ${t.data.error.code}`:""}).`}}return{ok:!0,data:l}}let g=t=>`teamId=${encodeURIComponent(t)}`,y=encodeURIComponent,k=t=>({ok:!1,kind:"format",error:`Vercel answered ${t} in a format the console doesn't recognise.`});function z(t,e,r=[]){let n=t.filter(t=>!1!==t.verified&&!t.redirect&&!t.gitBranch&&!t.customEnvironmentId),a=new Set(r.map(t=>t.toLowerCase())),o=n.map((e,r)=>{let n;return{name:e.name,key:[...(n=e.name,[+!t.some(t=>t.redirect?.toLowerCase()===n.toLowerCase()),+!!n.endsWith(".vercel.app"),+!a.has(n.toLowerCase()),n.length]),r]}}).sort((t,e)=>{for(let r=0;r<t.key.length;r++)if(t.key[r]!==e.key[r])return t.key[r]-e.key[r];return 0});return o[0]?.name??`${e}.vercel.app`}let $=e.z.object({teams:n.z.array(e.z.object({id:r.z.string(),slug:r.z.string(),name:r.z.string().nullish()}))});async function j(t,e={}){let r=await f("/v2/teams?limit=100",t,e);if(!r.ok)return r;let n=$.safeParse(r.data);return n.success?{ok:!0,data:n.data.teams.map(t=>({id:t.id,slug:t.slug,name:t.name??t.slug}))}:k("the team list")}async function w(t,r={}){let n=await f("/v5/user/tokens/current",t,r);if(!n.ok)return n;let o=e.z.object({token:e.z.object({expiresAt:a.z.number().nullish()})}).safeParse(n.data);return o.success?{ok:!0,data:o.data.token.expiresAt?new Date(o.data.token.expiresAt):null}:k("the token details")}let b=e.z.object({id:r.z.string(),readyState:r.z.string().nullish(),createdAt:a.z.number().nullish().catch(null),alias:n.z.array(r.z.string()).nullish().catch(null)}).nullish(),I=e.z.object({type:r.z.string(),jobStatus:r.z.string(),toDeploymentId:r.z.string(),requestedAt:a.z.number()}).nullish().catch(null);function A(t,e){let r=t?.readyState==="READY"?t.id:null;return e&&"succeeded"===e.jobStatus&&("rollback"===e.type||"promote"===e.type&&"number"==typeof t?.createdAt&&t.createdAt<=e.requestedAt)?e.toDeploymentId:r}let D=e.z.object({id:r.z.string(),name:r.z.string(),framework:r.z.string().nullish(),createdAt:a.z.number(),link:e.z.object({productionBranch:r.z.string().nullish(),type:r.z.string().nullish(),org:r.z.string().nullish(),repo:r.z.string().nullish()}).nullish(),resourceConfig:e.z.object({functionDefaultRegions:n.z.array(r.z.string()).nullish()}).nullish(),targets:e.z.object({production:b}).nullish(),lastAliasRequest:I,rootDirectory:r.z.string().nullish().catch(null)}),v=e.z.object({projects:n.z.array(D),pagination:e.z.object({next:a.z.number().nullish()}).nullish()});async function C(t,e,r={}){let n,a=[];for(let o=0;o<10;o++){let o=await f(`/v10/projects?teamId=${encodeURIComponent(e.id)}&limit=100${n?`&until=${n}`:""}`,t,r);if(!o.ok)return o;let i=v.safeParse(o.data);if(!i.success)return k("the project list");for(let t of i.data.projects)a.push({id:t.id,name:t.name,team:e,framework:t.framework??null,createdAt:new Date(t.createdAt),productionBranch:t.link?.productionBranch??null,currentDeploymentId:A(t.targets?.production,t.lastAliasRequest),repo:t.link?.type&&t.link.org&&t.link.repo?{type:t.link.type,org:t.link.org,repo:t.link.repo}:null,functionRegions:t.resourceConfig?.functionDefaultRegions??[],rootDirectory:c(t.rootDirectory),rootDirectoryUnsupported:d(t.rootDirectory),productionAliases:t.targets?.production?.alias??[]});if(!(n=i.data.pagination?.next))break}return{ok:!0,data:a}}let R=e.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:a.z.number().nullish(),created:a.z.number().nullish(),buildingAt:a.z.number().nullish(),ready:a.z.number().nullish(),meta:o.z.record(r.z.string(),i.z.unknown()).nullish()}),E=t=>"string"==typeof t&&t.length?t:null,S=t=>t?new Date(t):null;function P(t,e){let r=t.readyState??t.state??"BUILDING",n=t.meta??{};return{id:e,projectId:t.projectId,state:"READY"===r?"ready":"ERROR"===r?"error":"CANCELED"===r?"canceled":"building",rawState:r,target:"production"===t.target?"production":"preview",branch:E(n.githubCommitRef)??E(n.gitCommitRef),sha:E(n.githubCommitSha)??E(n.gitCommitSha),message:E(n.githubCommitMessage)??E(n.gitCommitMessage),source:t.source??null,url:t.url??null,createdAt:new Date(t.createdAt??t.created??0),buildingAt:S(t.buildingAt),readyAt:S(t.ready)}}async function L(t,r,a,o={}){let i=await f(`/v7/deployments?teamId=${encodeURIComponent(r.id)}&limit=${a.limit??100}${a.since?`&since=${a.since}`:""}`,t,o);if(!i.ok)return i;let s=e.z.object({deployments:n.z.array(R)}).safeParse(i.data);return s.success?{ok:!0,data:s.data.deployments.map(t=>P(t,t.uid))}:k("the deployment list")}let U=R.omit({uid:!0,projectId:!0}).extend({id:r.z.string(),projectId:r.z.string().nullish()});async function N(t,e,r,n={}){let a=await f(`/v13/deployments/${encodeURIComponent(r)}?teamId=${encodeURIComponent(e.id)}`,t,n);if(!a.ok)return a;let o=U.safeParse(a.data);return o.success?{ok:!0,data:P({...o.data,uid:o.data.id,projectId:o.data.projectId??""},o.data.id)}:k("the deployment")}let T=e.z.object({name:r.z.string(),targets:e.z.object({production:b}).nullish(),lastAliasRequest:I});async function x(t,e,r,n={}){let a=await f(`/v9/projects/${y(r)}?${g(e)}`,t,n);if(!a.ok)return a;let o=T.safeParse(a.data);return o.success?{ok:!0,data:{name:o.data.name,currentId:A(o.data.targets?.production,o.data.lastAliasRequest)}}:k("the project")}let B=e.z.object({deployments:n.z.array(R.extend({projectId:r.z.string().nullish()}))});async function O(t,e,r,n,a,o){let i=`projectId=${y(r)}&target=production&state=${n}&limit=${a}&${g(e)}`,s=await f(`/v6/deployments?${i}`,t,o);if(!s.ok)return s;let l=B.safeParse(s.data);return l.success?{ok:!0,data:l.data.deployments.map(t=>P({...t,projectId:t.projectId??r},t.uid))}:k("the deployment list")}async function M(t,e,r,n={}){return O(t,e,r,"READY",5,n)}async function V(t,e,r,n={}){let a=await O(t,e,r,"BUILDING,QUEUED,INITIALIZING",1,n);return a.ok?{ok:!0,data:a.data[0]??null}:a}async function W(t,n,a,o={}){let i=await h("POST",`/v13/deployments?${g(n)}`,t,{name:a.name,project:a.projectId,deploymentId:a.deploymentId,target:"production"},o);if(!i.ok)return i;let s=e.z.object({id:r.z.string()}).safeParse(i.data);return{ok:!0,data:{id:s.success?s.data.id:""}}}async function q(t,e,r,n,a={}){let o=await h("POST",`/v1/projects/${y(r)}/rollback/${y(n)}?${g(e)}`,t,void 0,a);return o.ok?{ok:!0,data:null}:o}async function Y(t,e,r,n,a={}){let o=await h("POST",`/v10/projects/${y(r)}/promote/${y(n)}?${g(e)}`,t,{},a);return o.ok?{ok:!0,data:null}:o}async function F(t,n,a,o={}){let i=await h("POST",`/v13/deployments?${g(n)}`,t,{name:a.name,project:a.projectId,deploymentId:a.deploymentId,target:"production",meta:{action:"promote"}},o);if(!i.ok)return i;let s=e.z.object({id:r.z.string()}).safeParse(i.data);return{ok:!0,data:{id:s.success?s.data.id:""}}}async function G(t,e,r,n={}){let a=await h("PATCH",`/v12/deployments/${y(r)}/cancel?${g(e)}`,t,void 0,n);return a.ok?{ok:!0,data:null}:a}let Q=e.z.object({domains:n.z.array(e.z.object({name:r.z.string(),redirect:r.z.string().nullish(),verified:s.z.boolean().optional(),gitBranch:r.z.string().nullish(),customEnvironmentId:r.z.string().nullish().catch(null)})),pagination:e.z.object({next:a.z.number().nullish()}).nullish()});async function _(t,e,r,n={}){let a,o=[];for(let i=0;i<10;i++){let i=await f(`/v9/projects/${encodeURIComponent(r)}/domains?teamId=${encodeURIComponent(e)}&limit=100${a?`&until=${a}`:""}`,t,n);if(!i.ok)return i;let s=Q.safeParse(i.data);if(!s.success)return k("the domain list");for(let t of s.data.domains)o.push({name:t.name,redirect:t.redirect??null,verified:!1!==t.verified,gitBranch:t.gitBranch??null,customEnvironmentId:t.customEnvironmentId??null});if(!(a=s.data.pagination?.next))return{ok:!0,data:o}}return{ok:!1,kind:"transient",error:"The project has more than 1000 domains; Watchbell kept the domains it had."}}async function J(t,e,r,n,a={},o=[]){let i=await _(t,e,r,a);return i.ok?{ok:!0,data:z(i.data,n,o)}:i}let Z=e.z.object({misconfigured:s.z.boolean(),configuredBy:r.z.string().nullish(),recommendedIPv4:n.z.array(e.z.object({value:n.z.array(r.z.string())})).default([])});async function H(t,e,r,n={}){let a=await f(`/v6/domains/${encodeURIComponent(r)}/config?teamId=${encodeURIComponent(e)}`,t,n);if(!a.ok)return a;let o=Z.safeParse(a.data);return o.success?{ok:!0,data:{misconfigured:o.data.misconfigured,configuredBy:o.data.configuredBy??null,recommendedIps:o.data.recommendedIPv4.flatMap(t=>t.value)}}:k("the domain configuration")}async function K(t,e={}){let r=await j(t,e);if(!r.ok)return r;let n=[],a=[],o=[];for(let i of r.data){let r=await C(t,i,e);if(!r.ok){if(403===r.status){a.push(i.name),o.push(i.id);continue}return r}for(let t of r.data)n.push({externalId:t.id,name:t.name,meta:{teamId:i.id,teamSlug:i.slug,teamName:i.name,framework:t.framework,productionBranch:t.productionBranch,createdAt:t.createdAt.toISOString(),repo:t.repo?`${t.repo.org}/${t.repo.repo}`:null,repoType:t.repo?.type??null,functionRegions:t.functionRegions,rootDirectory:t.rootDirectory,...t.rootDirectoryUnsupported?{rootDirectoryUnsupported:t.rootDirectoryUnsupported}:{},...t.productionAliases.length?{productionAliases:t.productionAliases}:{}}})}return a.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:n,skippedTeams:a,skippedTeamIds:o}}}async function X(t,r,a,o,i={}){if(!/^[0-9a-f]{40}$/.test(o))return k("the commit");let s=new URLSearchParams({teamId:r,projectId:a,sha:o,limit:"10"}),l=await f(`/v6/deployments?${s}`,t,i);if(!l.ok)return l;let u=e.z.object({deployments:n.z.array(R)}).safeParse(l.data);return u.success?{ok:!0,data:u.data.deployments.map(t=>P(t,t.uid)).filter(t=>t.projectId===a&&(null===t.sha||t.sha===o)).sort((t,e)=>e.createdAt.getTime()-t.createdAt.getTime())}:k("the deployment list")}t.s(["T",0,G,"n",0,z,"c",0,x,"C",0,X,"G",0,K,"Q",0,H,"S",0,N,"K",0,L,"M",0,_,"W",0,C,"X",0,j,"r",0,M,"q",0,J,"u",0,Y,"l",0,F,"L",0,W,"E",0,q,"N",0,V,"o",0,w],572134);let tt=t=>Array.isArray(t)?t.filter(t=>"string"==typeof t&&t.length>0).map(t=>t.toLowerCase()):[];function te(t){let e="string"==typeof t?.primaryDomain&&t.primaryDomain?t.primaryDomain.toLowerCase():null;return e?{primaryDomain:e,domains:tt(t?.domains),pastDomains:tt(t?.pastDomains)}:null}function tr(t){try{let e=new URL(t);return"https:"===e.protocol||"http:"===e.protocol?e.hostname.toLowerCase():null}catch{return null}}let tn=t=>/ · DEPLOYMENT_NOT_FOUND$/.test(t.lastError??"");function ta(t,e,r=[],n={}){let a=tr(t),o=te(e.meta);return!(!a||!o||function(t,e,r=[]){let n=te(e.meta);if(!n)return!0;let a=t.toLowerCase();if(a===n.primaryDomain||n.domains.includes(a))return!0;let o=e.name.toLowerCase();return!!(!(a.endsWith(".vercel.app")&&r.some(t=>{let e=t.name.toLowerCase();return e!==o&&e.startsWith(`${o}-`)&&(a===`${e}.vercel.app`||a.startsWith(`${e}-`))}))&&(a===`${o}.vercel.app`||a.endsWith(".vercel.app")&&a.startsWith(`${o}-`)))||r.some(t=>{let e=te(t.meta);return null!==e&&(e.primaryDomain===a||e.domains.includes(a))})}(a,e,r))&&(o.pastDomains.includes(a)||tn(n))?{from:a,to:o.primaryDomain}:null}t.s(["Q",0,function(t,e,r=[],n){let a=[...new Set(t.map(t=>t.name.toLowerCase()))],o=new Set(a),i=[...new Set([...tt(n?.pastDomains),...tt(n?.domains)])].filter(t=>!o.has(t)).slice(-20);return{domains:a,primaryDomain:z(t,e,r).toLowerCase(),pastDomains:i}},"u",0,ta,"P",0,function(t,e){let r=new Map;for(let n of t){if("heartbeat"===n.kind)continue;let t=ta(n.url,{name:n.appName,meta:n.appMeta},e.filter(t=>t.id!==n.appId),{lastError:n.lastError});t&&r.set(n.id,t)}return r},"w",0,function(t,e){let r=new URL(t);if(r.protocol="https:",r.hostname=e,r.port="",r.hostname!==e.toLowerCase())throw Error("The new domain isn't a valid host name.");return r.toString()},"R",0,function(t,e){let r=new Map;for(let n of t){if("heartbeat"===n.kind||!tn({lastError:n.lastError}))continue;let t=te(n.appMeta),a=tr(n.url);if(!t||!a)continue;let o=r.get(n.appId)??t.pastDomains;!o.includes(a)&&ta(n.url,{name:n.appName,meta:n.appMeta},e.filter(t=>t.id!==n.appId),{lastError:n.lastError})&&r.set(n.appId,[...o,a].slice(-20))}return r},"Y",0,te],436357)}];
1
+ module.exports=[436357,521050,572134,t=>{"use strict";var e=t.i(26972),r=t.i(427221),n=t.i(689963),a=t.i(811365),o=t.i(913822),i=t.i(191179),s=t.i(83931);let l=/^[A-Za-z0-9._-]{1,100}$/,u=t=>t.trim().replace(/^\.\//,"").split("/").filter(t=>""!==t&&"."!==t);function c(t){if("string"!=typeof t)return null;let e=u(t);if(!e.length||e.length>4||e.some(t=>".."===t||!l.test(t)))return null;let r=e.join("/");return r.length<=150?r:null}function d(t){if("string"!=typeof t||!u(t).length||null!==c(t))return null;let e=t.replace(/[\u0000-\u001f\u007f-\u009f]/g,"").trim();return e?e.length>80?`${e.slice(0,79)}…`:e:null}function m(t){let e=t.trim().replace(/^\.\//,"").replace(/\/+$/,"").split("**").map(t=>t.split("*").map(t=>t.replace(/[.+?^${}()|[\]\\]/g,"\\$&")).join("[^/]*")).join(".*");return RegExp(`^${e}$`)}t.s(["Q",0,c,"x",0,t=>t?`${t} (the Vercel project's Root Directory)`:"the repository root","H",0,(t,e)=>t?`${t}/${e}`:e,"p",0,function(t,e,r){if("npm"===t)try{let t=JSON.parse(e);return!!t.packages&&"object"==typeof t.packages&&Object.hasOwn(t.packages,r)}catch{return!1}if("pnpm"===t){let t=e.search(/^importers:\s*$/m);if(t<0)return!1;let n=e.slice(t).split(/\n(?=\S)/)[0],a=r.replace(/[.+?^${}()|[\]\\]/g,"\\$&");return RegExp(`^ {2}['"]?${a}['"]?:\\s*$`,"m").test(n)}return!1},"l",0,d,"F",0,function(t,e){let r;if(!t)return!1;try{r=JSON.parse(t)}catch{return!1}let n=r&&"object"==typeof r&&!Array.isArray(r)?r.workspaces:void 0,a=(Array.isArray(n)?n:n&&"object"==typeof n&&Array.isArray(n.packages)?n.packages:[]).filter(t=>"string"==typeof t&&""!==t.trim()),o=a.filter(t=>t.trim().startsWith("!")).map(t=>t.trim().slice(1));return a.some(t=>!t.trim().startsWith("!")&&m(t).test(e))&&!o.some(t=>m(t).test(e))}],521050);let p="https://api.vercel.com";async function f(t,e,r){let n;try{n=await (r.fetch??fetch)(`${p}${t}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},signal:AbortSignal.timeout(r.timeoutMs??5e3),cache:"no-store"})}catch(t){return{ok:!1,kind:"transient",error:t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.name)?"Vercel didn't answer within 5 seconds.":"Couldn't reach Vercel."}}if(401===n.status||403===n.status)return{ok:!1,kind:"auth",status:n.status,error:`Vercel rejected this credential (${n.status}).`};if(429===n.status){let t=Number(n.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(t)&&t>0?t:60,error:"Vercel says there were too many requests."}}return n.ok?{ok:!0,data:await n.json().catch(()=>null)}:{ok:!1,kind:"transient",status:n.status,error:`Vercel returned an error (${n.status}).`}}async function h(t,n,a,o,i){let s;try{s=await (i.fetch??fetch)(`${p}${n}`,{method:t,headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...void 0===o?{}:{"Content-Type":"application/json"}},...void 0===o?{}:{body:JSON.stringify(o)},signal:AbortSignal.timeout(i.timeoutMs??5e3),cache:"no-store"})}catch(t){return{ok:!1,kind:"transient",error:t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.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===s.status)return{ok:!1,kind:"auth",status:401,error:"Vercel rejected this credential (401)."};if(403===s.status)return{ok:!1,kind:"scope",status:403,error:"Vercel refused this token for that project (403)."};if(429===s.status){let t;return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(t=Number(s.headers.get("Retry-After")))&&t>0?t:60,error:"Vercel says there were too many requests."}}let l=await s.json().catch(()=>null);if(!s.ok){let t=e.z.object({error:e.z.object({code:r.z.string().regex(/^[A-Za-z0-9_-]{1,60}$/)})}).safeParse(l);return{ok:!1,kind:"transient",status:s.status,error:`Vercel refused this (${s.status}${t.success?`, ${t.data.error.code}`:""}).`}}return{ok:!0,data:l}}let g=t=>`teamId=${encodeURIComponent(t)}`,y=encodeURIComponent,k=t=>({ok:!1,kind:"format",error:`Vercel answered ${t} in a format the console doesn't recognise.`});function z(t,e,r=[]){let n=t.filter(t=>!1!==t.verified&&!t.redirect&&!t.gitBranch&&!t.customEnvironmentId),a=new Set(r.map(t=>t.toLowerCase())),o=n.map((e,r)=>{let n;return{name:e.name,key:[...(n=e.name,[+!t.some(t=>t.redirect?.toLowerCase()===n.toLowerCase()),+!!n.endsWith(".vercel.app"),+!a.has(n.toLowerCase()),n.length]),r]}}).sort((t,e)=>{for(let r=0;r<t.key.length;r++)if(t.key[r]!==e.key[r])return t.key[r]-e.key[r];return 0});return o[0]?.name??`${e}.vercel.app`}let b=e.z.object({teams:n.z.array(e.z.object({id:r.z.string(),slug:r.z.string(),name:r.z.string().nullish()}))});async function j(t,e={}){let r=await f("/v2/teams?limit=100",t,e);if(!r.ok)return r;let n=b.safeParse(r.data);return n.success?{ok:!0,data:n.data.teams.map(t=>({id:t.id,slug:t.slug,name:t.name??t.slug}))}:k("the team list")}async function $(t,r={}){let n=await f("/v5/user/tokens/current",t,r);if(!n.ok)return n;let o=e.z.object({token:e.z.object({expiresAt:a.z.number().nullish()})}).safeParse(n.data);return o.success?{ok:!0,data:o.data.token.expiresAt?new Date(o.data.token.expiresAt):null}:k("the token details")}let w=e.z.object({id:r.z.string(),readyState:r.z.string().nullish(),createdAt:a.z.number().nullish().catch(null),alias:n.z.array(r.z.string()).nullish().catch(null)}).nullish(),I=e.z.object({type:r.z.string(),jobStatus:r.z.string(),toDeploymentId:r.z.string(),requestedAt:a.z.number()}).nullish().catch(null);function A(t,e){let r=t?.readyState==="READY"?t.id:null;return e&&"succeeded"===e.jobStatus&&("rollback"===e.type||"promote"===e.type&&"number"==typeof t?.createdAt&&t.createdAt<=e.requestedAt)?e.toDeploymentId:r}let D=e.z.object({id:r.z.string(),name:r.z.string(),framework:r.z.string().nullish(),createdAt:a.z.number(),link:e.z.object({productionBranch:r.z.string().nullish(),type:r.z.string().nullish(),org:r.z.string().nullish(),repo:r.z.string().nullish()}).nullish(),resourceConfig:e.z.object({functionDefaultRegions:n.z.array(r.z.string()).nullish()}).nullish(),targets:e.z.object({production:w}).nullish(),lastAliasRequest:I,rootDirectory:r.z.string().nullish().catch(null)}),C=e.z.object({projects:n.z.array(D),pagination:e.z.object({next:a.z.number().nullish()}).nullish()});async function v(t,e,r={}){let n,a=[];for(let o=0;o<10;o++){let o=await f(`/v10/projects?teamId=${encodeURIComponent(e.id)}&limit=100${n?`&until=${n}`:""}`,t,r);if(!o.ok)return o;let i=C.safeParse(o.data);if(!i.success)return k("the project list");for(let t of i.data.projects)a.push({id:t.id,name:t.name,team:e,framework:t.framework??null,createdAt:new Date(t.createdAt),productionBranch:t.link?.productionBranch??null,currentDeploymentId:A(t.targets?.production,t.lastAliasRequest),repo:t.link?.type&&t.link.org&&t.link.repo?{type:t.link.type,org:t.link.org,repo:t.link.repo}:null,functionRegions:t.resourceConfig?.functionDefaultRegions??[],rootDirectory:c(t.rootDirectory),rootDirectoryUnsupported:d(t.rootDirectory),productionAliases:t.targets?.production?.alias??[]});if(!(n=i.data.pagination?.next))break}return{ok:!0,data:a}}let R=e.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:a.z.number().nullish(),created:a.z.number().nullish(),buildingAt:a.z.number().nullish(),ready:a.z.number().nullish(),meta:o.z.record(r.z.string(),i.z.unknown()).nullish(),gitSource:e.z.object({ref:r.z.string().nullish(),sha:r.z.string().nullish()}).nullish().catch(null)}),S=t=>"string"==typeof t&&t.length?t:null,E=t=>t?new Date(t):null;function P(t,e){var r,n;let a,o,i=t.readyState??t.state??"BUILDING",s=t.meta??{};return{id:e,projectId:t.projectId,state:"READY"===i?"ready":"ERROR"===i?"error":"CANCELED"===i?"canceled":"building",rawState:i,target:"production"===t.target?"production":"preview",branch:S(s.githubCommitRef)??S(s.gitCommitRef)??S(s.gitlabCommitRef)??S(s.bitbucketCommitRef)??S(t.gitSource?.ref),sha:S(s.githubCommitSha)??S(s.gitCommitSha)??S(s.gitlabCommitSha)??S(s.bitbucketCommitSha)??S(t.gitSource?.sha),message:S(s.githubCommitMessage)??S(s.gitCommitMessage)??S(s.gitlabCommitMessage)??S(s.bitbucketCommitMessage),source:t.source??null,url:t.url??null,createdAt:new Date(t.createdAt??t.created??0),buildingAt:E(t.buildingAt),readyAt:E(t.ready),...(r=s,n=t.gitSource?.ref,a=S(r.githubCommitRef)?"github":S(r.gitlabCommitRef)?"gitlab":S(r.bitbucketCommitRef)?"bitbucket":S(n)?"gitSource":S(r.gitCommitRef)?"cli":null,o="1"===r.gitDirty||1===r.gitDirty||!0===r.gitDirty,{...a?{branchFrom:a}:{},...o?{gitDirty:!0}:{}})}}async function L(t,r,a,o={}){let i=await f(`/v7/deployments?teamId=${encodeURIComponent(r.id)}&limit=${a.limit??100}${a.since?`&since=${a.since}`:""}`,t,o);if(!i.ok)return i;let s=e.z.object({deployments:n.z.array(R)}).safeParse(i.data);return s.success?{ok:!0,data:s.data.deployments.map(t=>P(t,t.uid))}:k("the deployment list")}let U=R.omit({uid:!0,projectId:!0}).extend({id:r.z.string(),projectId:r.z.string().nullish()});async function N(t,e,r,n={}){let a=await f(`/v13/deployments/${encodeURIComponent(r)}?teamId=${encodeURIComponent(e.id)}`,t,n);if(!a.ok)return a;let o=U.safeParse(a.data);return o.success?{ok:!0,data:P({...o.data,uid:o.data.id,projectId:o.data.projectId??""},o.data.id)}:k("the deployment")}let T=e.z.object({name:r.z.string(),targets:e.z.object({production:w}).nullish(),lastAliasRequest:I});async function x(t,e,r,n={}){let a=await f(`/v9/projects/${y(r)}?${g(e)}`,t,n);if(!a.ok)return a;let o=T.safeParse(a.data);return o.success?{ok:!0,data:{name:o.data.name,currentId:A(o.data.targets?.production,o.data.lastAliasRequest)}}:k("the project")}let B=e.z.object({deployments:n.z.array(R.extend({projectId:r.z.string().nullish()}))});async function M(t,e,r,n,a,o){let i=`projectId=${y(r)}&target=production&state=${n}&limit=${a}&${g(e)}`,s=await f(`/v6/deployments?${i}`,t,o);if(!s.ok)return s;let l=B.safeParse(s.data);return l.success?{ok:!0,data:l.data.deployments.map(t=>P({...t,projectId:t.projectId??r},t.uid))}:k("the deployment list")}async function O(t,e,r,n={}){return M(t,e,r,"READY",5,n)}async function V(t,e,r,n={}){let a=await M(t,e,r,"BUILDING,QUEUED,INITIALIZING",1,n);return a.ok?{ok:!0,data:a.data[0]??null}:a}async function q(t,n,a,o={}){let i=await h("POST",`/v13/deployments?${g(n)}`,t,{name:a.name,project:a.projectId,deploymentId:a.deploymentId,target:"production"},o);if(!i.ok)return i;let s=e.z.object({id:r.z.string()}).safeParse(i.data);return{ok:!0,data:{id:s.success?s.data.id:""}}}async function W(t,e,r,n,a={}){let o=await h("POST",`/v1/projects/${y(r)}/rollback/${y(n)}?${g(e)}`,t,void 0,a);return o.ok?{ok:!0,data:null}:o}async function F(t,e,r,n,a={}){let o=await h("POST",`/v10/projects/${y(r)}/promote/${y(n)}?${g(e)}`,t,{},a);return o.ok?{ok:!0,data:null}:o}async function Y(t,n,a,o={}){let i=await h("POST",`/v13/deployments?${g(n)}`,t,{name:a.name,project:a.projectId,deploymentId:a.deploymentId,target:"production",meta:{action:"promote"}},o);if(!i.ok)return i;let s=e.z.object({id:r.z.string()}).safeParse(i.data);return{ok:!0,data:{id:s.success?s.data.id:""}}}async function G(t,e,r,n={}){let a=await h("PATCH",`/v12/deployments/${y(r)}/cancel?${g(e)}`,t,void 0,n);return a.ok?{ok:!0,data:null}:a}let Q=e.z.object({domains:n.z.array(e.z.object({name:r.z.string(),redirect:r.z.string().nullish(),verified:s.z.boolean().optional(),gitBranch:r.z.string().nullish(),customEnvironmentId:r.z.string().nullish().catch(null)})),pagination:e.z.object({next:a.z.number().nullish()}).nullish()});async function _(t,e,r,n={}){let a,o=[];for(let i=0;i<10;i++){let i=await f(`/v9/projects/${encodeURIComponent(r)}/domains?teamId=${encodeURIComponent(e)}&limit=100${a?`&until=${a}`:""}`,t,n);if(!i.ok)return i;let s=Q.safeParse(i.data);if(!s.success)return k("the domain list");for(let t of s.data.domains)o.push({name:t.name,redirect:t.redirect??null,verified:!1!==t.verified,gitBranch:t.gitBranch??null,customEnvironmentId:t.customEnvironmentId??null});if(!(a=s.data.pagination?.next))return{ok:!0,data:o}}return{ok:!1,kind:"transient",error:"The project has more than 1000 domains; Watchbell kept the domains it had."}}async function J(t,e,r,n,a={},o=[]){let i=await _(t,e,r,a);return i.ok?{ok:!0,data:z(i.data,n,o)}:i}let Z=e.z.object({misconfigured:s.z.boolean(),configuredBy:r.z.string().nullish(),recommendedIPv4:n.z.array(e.z.object({value:n.z.array(r.z.string())})).default([])});async function H(t,e,r,n={}){let a=await f(`/v6/domains/${encodeURIComponent(r)}/config?teamId=${encodeURIComponent(e)}`,t,n);if(!a.ok)return a;let o=Z.safeParse(a.data);return o.success?{ok:!0,data:{misconfigured:o.data.misconfigured,configuredBy:o.data.configuredBy??null,recommendedIps:o.data.recommendedIPv4.flatMap(t=>t.value)}}:k("the domain configuration")}async function K(t,e={}){let r=await j(t,e);if(!r.ok)return r;let n=[],a=[],o=[];for(let i of r.data){let r=await v(t,i,e);if(!r.ok){if(403===r.status){a.push(i.name),o.push(i.id);continue}return r}for(let t of r.data)n.push({externalId:t.id,name:t.name,meta:{teamId:i.id,teamSlug:i.slug,teamName:i.name,framework:t.framework,productionBranch:t.productionBranch,createdAt:t.createdAt.toISOString(),repo:t.repo?`${t.repo.org}/${t.repo.repo}`:null,repoType:t.repo?.type??null,functionRegions:t.functionRegions,rootDirectory:t.rootDirectory,...t.rootDirectoryUnsupported?{rootDirectoryUnsupported:t.rootDirectoryUnsupported}:{},...t.productionAliases.length?{productionAliases:t.productionAliases}:{}}})}return a.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:n,skippedTeams:a,skippedTeamIds:o}}}async function X(t,r,a,o,i={}){if(!/^[0-9a-f]{40}$/.test(o))return k("the commit");let s=new URLSearchParams({teamId:r,projectId:a,sha:o,limit:"10"}),l=await f(`/v6/deployments?${s}`,t,i);if(!l.ok)return l;let u=e.z.object({deployments:n.z.array(R)}).safeParse(l.data);return u.success?{ok:!0,data:u.data.deployments.map(t=>P(t,t.uid)).filter(t=>t.projectId===a&&(null===t.sha||t.sha===o)).sort((t,e)=>e.createdAt.getTime()-t.createdAt.getTime())}:k("the deployment list")}async function tt(t,e,r,n={}){let a=await f(`/v9/projects/${y(r)}?${g(e)}`,t,n);if(!a.ok)return a;let o=T.safeParse(a.data);if(!o.success)return k("the project");let i=o.data.targets?.production??null,s=o.data.lastAliasRequest??null;return{ok:!0,data:{currentId:A(i,s),latest:i?{id:i.id,readyState:i.readyState??null,createdAt:i.createdAt??null}:null,promote:s&&"promote"===s.type&&"succeeded"===s.jobStatus?{toDeploymentId:s.toDeploymentId,requestedAt:s.requestedAt}:null}}}t.s(["T",0,G,"n",0,z,"c",0,x,"C",0,X,"G",0,K,"Q",0,H,"S",0,N,"K",0,L,"M",0,_,"W",0,v,"X",0,j,"r",0,O,"q",0,J,"k",0,tt,"u",0,F,"l",0,Y,"L",0,q,"E",0,W,"N",0,V,"o",0,$],572134);let te=t=>Array.isArray(t)?t.filter(t=>"string"==typeof t&&t.length>0).map(t=>t.toLowerCase()):[];function tr(t){let e="string"==typeof t?.primaryDomain&&t.primaryDomain?t.primaryDomain.toLowerCase():null;return e?{primaryDomain:e,domains:te(t?.domains),pastDomains:te(t?.pastDomains)}:null}function tn(t){try{let e=new URL(t);return"https:"===e.protocol||"http:"===e.protocol?e.hostname.toLowerCase():null}catch{return null}}let ta=t=>/ · DEPLOYMENT_NOT_FOUND$/.test(t.lastError??"");function to(t,e,r=[],n={}){let a=tn(t),o=tr(e.meta);return!(!a||!o||function(t,e,r=[]){let n=tr(e.meta);if(!n)return!0;let a=t.toLowerCase();if(a===n.primaryDomain||n.domains.includes(a))return!0;let o=e.name.toLowerCase();return!!(!(a.endsWith(".vercel.app")&&r.some(t=>{let e=t.name.toLowerCase();return e!==o&&e.startsWith(`${o}-`)&&(a===`${e}.vercel.app`||a.startsWith(`${e}-`))}))&&(a===`${o}.vercel.app`||a.endsWith(".vercel.app")&&a.startsWith(`${o}-`)))||r.some(t=>{let e=tr(t.meta);return null!==e&&(e.primaryDomain===a||e.domains.includes(a))})}(a,e,r))&&(o.pastDomains.includes(a)||ta(n))?{from:a,to:o.primaryDomain}:null}t.s(["Q",0,function(t,e,r=[],n){let a=[...new Set(t.map(t=>t.name.toLowerCase()))],o=new Set(a),i=[...new Set([...te(n?.pastDomains),...te(n?.domains)])].filter(t=>!o.has(t)).slice(-20);return{domains:a,primaryDomain:z(t,e,r).toLowerCase(),pastDomains:i}},"u",0,to,"P",0,function(t,e){let r=new Map;for(let n of t){if("heartbeat"===n.kind)continue;let t=to(n.url,{name:n.appName,meta:n.appMeta},e.filter(t=>t.id!==n.appId),{lastError:n.lastError});t&&r.set(n.id,t)}return r},"w",0,function(t,e){let r=new URL(t);if(r.protocol="https:",r.hostname=e,r.port="",r.hostname!==e.toLowerCase())throw Error("The new domain isn't a valid host name.");return r.toString()},"R",0,function(t,e){let r=new Map;for(let n of t){if("heartbeat"===n.kind||!ta({lastError:n.lastError}))continue;let t=tr(n.appMeta),a=tn(n.url);if(!t||!a)continue;let o=r.get(n.appId)??t.pastDomains;!o.includes(a)&&to(n.url,{name:n.appName,meta:n.appMeta},e.filter(t=>t.id!==n.appId),{lastError:n.lastError})&&r.set(n.appId,[...o,a].slice(-20))}return r},"Y",0,tr],436357)}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_domain-move_ts_04stiet1-xpe2._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[993237,e=>{"use strict";var t=e.i(666680),r=e.i(902157),s=e.i(750227),a=e.i(336763),i=e.i(533102),n=e.i(291815),l=e.i(109709),o=e.i(406212),u=e.i(530298),c=e.i(659916);async function d(e){let r,s=(0,t.randomBytes)(16),a=await (r={N:32768,r:8,p:1,maxmem:0x4000000},new Promise((a,i)=>{(0,t.scrypt)(e.normalize("NFKC"),s,32,r,(e,t)=>e?i(e):a(t))}));return`scrypt$32768$8$1$${s.toString("base64")}$${a.toString("base64")}`}Buffer.alloc(16,1);let m="ABCDEFGHJKMNPQRSTUVWXYZ23456789";function f(e,r){let s=e.trim().toUpperCase().replace(/[-\s]/g,"");return(0,t.createHmac)("sha256",r).update(s).digest("hex")}let p="selfhost.setupCode";function h(e=process.env){return(0,s.resolve)((0,l.d)(e,"DATA_DIR")||"./data","setup-code")}function w(e){try{(0,r.rmSync)(e,{force:!0})}catch{console.warn(`Watchbell couldn't remove ${e}; delete it by hand.`)}}async function g(e=(0,o.db)()){let[t]=await e.select({id:u.members.id}).from(u.members).where((0,a.eq)(u.members.role,"owner")).limit(1);return void 0!==t}async function y(e){let[t]=await e.select({value:u.settings.value}).from(u.settings).where((0,a.eq)(u.settings.key,p)).limit(1),r=t?.value;return"string"==typeof r?.hash&&"string"==typeof r.expiresAt?{hash:r.hash,expiresAt:r.expiresAt}:null}let v=[c.t.setupIp,c.t.setupAll];async function $(){await (0,o.db)().delete(u.rateLimits).where((0,a.or)(...v.map(e=>(0,a.like)(u.rateLimits.key,`${e.name}:%`))))}let b=e=>`${e.slice(0,5)}-${e.slice(5)}`;async function S(e){let i=e.now??new Date,n=e.codeFile??h();if(await g())return await (0,o.db)().delete(u.settings).where((0,a.eq)(u.settings.key,p)),w(n),!1;let{code:l,hash:c}=function(e){let r="";for(let e=0;e<10;e++)r+=m[(0,t.randomInt)(m.length)];return{code:r,hash:f(r,e)}}(e.key);await $();let d={hash:c,expiresAt:new Date(i.getTime()+864e5).toISOString()};await (0,o.db)().insert(u.settings).values({key:p,value:d}).onConflictDoUpdate({target:u.settings.key,set:{value:d,updatedAt:i}});let y=`${e.siteUrl.replace(/\/+$/,"")}/setup`;(e.log??console.log)(`Watchbell setup code: ${b(l)} (open ${y}; valid 24 h)`);var v=b(l);try{(0,r.mkdirSync)((0,s.dirname)(n),{recursive:!0}),(0,r.rmSync)(n,{force:!0}),(0,r.writeFileSync)(n,`${v}
2
- `,{mode:384,flag:"wx"})}catch{console.warn(`Watchbell couldn't write the setup code to ${n}; use the code in this log.`)}return!0}let x={status:"error",message:"That setup code is wrong. Copy it from the server log.",field:"code"},T={status:"error",message:"That setup code has expired. Restart Watchbell to print a new one.",field:"code"};function k(e,r,s){var a;let i,n;return e&&(a=e.hash,i=Buffer.from(a,"hex"),n=Buffer.from(r,"hex"),i.length===n.length&&i.length>0&&(0,t.timingSafeEqual)(i,n))?Date.parse(e.expiresAt)>s.getTime()?null:T:x}async function A(e,t){let r=await C(e,t);return"error"!==r.status&&w(t.codeFile??h()),r}async function C(e,t){let r=t.now??new Date,s={...e,email:e.email.trim().toLowerCase()},l=function(e){var t;if(!e.code.trim())return{status:"error",message:"Enter the setup code from the server log.",field:"code"};if(e.email.length>320||!n.z.email().safeParse(e.email).success)return{status:"error",message:"Enter a valid email address.",field:"email"};let r=(t=e.password).length<12?"Use at least 12 characters.":t.length>200?"Use at most 200 characters.":null;return r?{status:"error",message:r,field:"password"}:e.password!==e.confirm?{status:"error",message:"The passwords don't match.",field:"confirm"}:null}(s);if(l)return l;if(await g())return{status:"done"};let m=[[c.t.setupAll,"all"],...t.ip?[[c.t.setupIp,t.ip]]:[]];for(let[e,r]of m){let s=await t.peek(e,r);if(!s.allowed)return{status:"error",message:`Too many wrong codes. Try again in ${(0,c.H)(s.retryAfter)}, or restart Watchbell.`}}let h=f(s.code,t.key),w=k(await y((0,o.db)()),h,r);if(w){for(let[e,r]of m)await t.limit(e,r);return w}let v=await d(s.password);return(0,o.db)().transaction(async e=>{if(await e.execute(i.sql`select pg_advisory_xact_lock(${7412001})`),await g(e))return{status:"done"};let t=k(await y(e),h,r);if(t)return t;let[n]=await e.insert(u.localUsers).values({email:s.email,passwordHash:v}).returning({id:u.localUsers.id});return await e.insert(u.members).values({userId:n.id,email:s.email,role:"owner",lastSeenAt:r}),await e.delete(u.settings).where((0,a.and)((0,a.eq)(u.settings.key,p),i.sql`${u.settings.value}->>'hash' = ${h}`)),{status:"ok",userId:n.id}})}e.s(["SETUP_CODE_SETTING",0,p,"SETUP_CODE_TTL_MS",0,864e5,"completeSetup",0,A,"ensureSetupCode",0,S,"formatSetupCode",0,b,"ownerExists",0,g,"setupCodeFile",0,h],993237)}];
1
+ module.exports=[993237,e=>{"use strict";var t=e.i(666680),r=e.i(902157),s=e.i(750227),a=e.i(336763),i=e.i(533102),l=e.i(291815),n=e.i(109709),o=e.i(406212),u=e.i(530298),c=e.i(659916);async function d(e){let r,s=(0,t.randomBytes)(16),a=await (r={N:32768,r:8,p:1,maxmem:0x4000000},new Promise((a,i)=>{(0,t.scrypt)(e.normalize("NFKC"),s,32,r,(e,t)=>e?i(e):a(t))}));return`scrypt$32768$8$1$${s.toString("base64")}$${a.toString("base64")}`}Buffer.alloc(16,1);let m="ABCDEFGHJKMNPQRSTUVWXYZ23456789";function f(e,r){let s=e.trim().toUpperCase().replace(/[-\s]/g,"");return(0,t.createHmac)("sha256",r).update(s).digest("hex")}let h="selfhost.setupCode";function p(e=process.env){return(0,s.resolve)((0,n.d)(e,"DATA_DIR")||"./data","setup-code")}function w(e){try{(0,r.rmSync)(e,{force:!0})}catch{console.warn(`Watchbell couldn't remove ${e}; delete it by hand.`)}}async function g(e=(0,o.db)()){let[t]=await e.select({id:u.members.id}).from(u.members).where((0,a.eq)(u.members.role,"owner")).limit(1);return void 0!==t}async function y(e){let[t]=await e.select({value:u.settings.value}).from(u.settings).where((0,a.eq)(u.settings.key,h)).limit(1),r=t?.value;return"string"==typeof r?.hash&&"string"==typeof r.expiresAt?{hash:r.hash,expiresAt:r.expiresAt}:null}let $=[c.t.setupIp,c.t.setupAll];async function b(){await (0,o.db)().delete(u.rateLimits).where((0,a.or)(...$.map(e=>(0,a.like)(u.rateLimits.key,`${e.name}:%`))))}let v=e=>`${e.slice(0,5)}-${e.slice(5)}`;async function S(e){let i=e.now??new Date,l=e.codeFile??p();if(await g())return await (0,o.db)().delete(u.settings).where((0,a.eq)(u.settings.key,h)),w(l),!1;let{code:n,hash:c}=function(e){let r="";for(let e=0;e<10;e++)r+=m[(0,t.randomInt)(m.length)];return{code:r,hash:f(r,e)}}(e.key);await b();let d={hash:c,expiresAt:new Date(i.getTime()+864e5).toISOString()};await (0,o.db)().insert(u.settings).values({key:h,value:d}).onConflictDoUpdate({target:u.settings.key,set:{value:d,updatedAt:i}});let y=`${e.siteUrl.replace(/\/+$/,"")}/setup`;(e.log??console.log)(`Watchbell setup code: ${v(n)} (open ${y}; valid 24 h)`);var $=v(n);try{(0,r.mkdirSync)((0,s.dirname)(l),{recursive:!0}),(0,r.rmSync)(l,{force:!0}),(0,r.writeFileSync)(l,`${$}
2
+ `,{mode:384,flag:"wx"})}catch{console.warn(`Watchbell couldn't write the setup code to ${l}; use the code in this log.`)}return!0}let x={status:"error",message:"That setup code is wrong. Copy it from where you started Watchbell, or from its log.",field:"code"},T={status:"error",message:"That setup code has expired. Restart Watchbell to print a new one.",field:"code"};function k(e,r,s){var a;let i,l;return e&&(a=e.hash,i=Buffer.from(a,"hex"),l=Buffer.from(r,"hex"),i.length===l.length&&i.length>0&&(0,t.timingSafeEqual)(i,l))?Date.parse(e.expiresAt)>s.getTime()?null:T:x}async function A(e,t){let r=await C(e,t);return"error"!==r.status&&w(t.codeFile??p()),r}async function C(e,t){let r=t.now??new Date,s={...e,email:e.email.trim().toLowerCase()},n=function(e){var t;if(!e.code.trim())return{status:"error",message:"Enter the setup code that watchbell start printed (it is in the log too).",field:"code"};if(e.email.length>320||!l.z.email().safeParse(e.email).success)return{status:"error",message:"Enter a valid email address.",field:"email"};let r=(t=e.password).length<12?"Use at least 12 characters.":t.length>200?"Use at most 200 characters.":null;return r?{status:"error",message:r,field:"password"}:e.password!==e.confirm?{status:"error",message:"The passwords don't match.",field:"confirm"}:null}(s);if(n)return n;if(await g())return{status:"done"};let m=[[c.t.setupAll,"all"],...t.ip?[[c.t.setupIp,t.ip]]:[]];for(let[e,r]of m){let s=await t.peek(e,r);if(!s.allowed)return{status:"error",message:`Too many wrong codes. Try again in ${(0,c.H)(s.retryAfter)}, or restart Watchbell.`}}let p=f(s.code,t.key),w=k(await y((0,o.db)()),p,r);if(w){for(let[e,r]of m)await t.limit(e,r);return w}let $=await d(s.password);return(0,o.db)().transaction(async e=>{if(await e.execute(i.sql`select pg_advisory_xact_lock(${7412001})`),await g(e))return{status:"done"};let t=k(await y(e),p,r);if(t)return t;let[l]=await e.insert(u.localUsers).values({email:s.email,passwordHash:$}).returning({id:u.localUsers.id});return await e.insert(u.members).values({userId:l.id,email:s.email,role:"owner",lastSeenAt:r}),await e.delete(u.settings).where((0,a.and)((0,a.eq)(u.settings.key,h),i.sql`${u.settings.value}->>'hash' = ${p}`)),{status:"ok",userId:l.id}})}e.s(["SETUP_CODE_SETTING",0,h,"SETUP_CODE_TTL_MS",0,864e5,"completeSetup",0,A,"ensureSetupCode",0,S,"formatSetupCode",0,v,"ownerExists",0,g,"setupCodeFile",0,p],993237)}];
3
3
 
4
4
  //# sourceMappingURL=src_lib_local-auth_setup_ts_10d8-k_e6pvft._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[501424,601225,e=>{"use strict";var t=e.i(666680),r=e.i(547963),o=e.i(978071),n=e.i(260417),a=e.i(492973),i=e.i(75064),s=e.i(246517),l=e.i(105464),c=e.i(90879);async function d(e,t,r,o,n=5e3){let a;if((0,c.isDemo)())return{ok:!1,code:null,description:l.Y,retryAfter:null};try{a=await o(`https://api.telegram.org/bot${e}/${t}`,{...r,signal:AbortSignal.timeout(n),cache:"no-store"})}catch{return{ok:!1,code:null,description:"Telegram didn't answer.",retryAfter:null}}let i=await a.json().catch(()=>null);return i?.ok?{ok:!0,result:i.result}:{ok:!1,code:i?.error_code??a.status,description:String(i?.description??`HTTP ${a.status}`).slice(0,200),retryAfter:i?.parameters?.retry_after??null}}async function u(e,t,r,o={}){let n=await d(e,"sendMessage",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chat_id:t,text:r,parse_mode:"HTML",link_preview_options:{is_disabled:!0},...o.replyMarkup?{reply_markup:o.replyMarkup}:{}})},o.fetch??fetch);return n.ok?{ok:!0}:429===n.code?{ok:!1,kind:"transient",retryAfterS:n.retryAfter??30,error:`Telegram asked us to wait ${n.retryAfter??30} s.`}:null===n.code||n.code>=500?{ok:!1,kind:"transient",error:null===n.code?n.description:`Telegram returned an error (${n.code}).`}:{ok:!1,kind:"config",error:`Telegram: ${n.description}`}}e.s(["I",0,u,"z",0,d],601225);let p=["message","callback_query"],m={inline_keyboard:[]},_=0,f="ABCDEFGHJKMNPQRSTUVWXYZ23456789",g=o.z.union([n.z.number().int(),a.z.string().regex(/^-?\d{1,20}$/)]).transform(e=>String(e)),k=i.z.object({id:g,type:a.z.string().max(32).optional(),title:a.z.string().max(256).optional(),first_name:a.z.string().max(256).optional(),username:a.z.string().max(64).optional()}),h=i.z.object({id:g,is_bot:s.z.boolean().optional()}),y=i.z.object({message_id:n.z.number().int(),chat:k,from:h.optional(),text:a.z.string().max(4096).optional()}),b=i.z.object({update_id:n.z.number().int(),message:y.optional(),callback_query:i.z.object({id:a.z.string().min(1).max(128),from:h,message:y.optional(),data:a.z.string().max(64).optional()}).optional()}),T=e=>({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});function w(e){return 401===e.code||404===e.code?`Telegram rejected TELEGRAM_BOT_TOKEN. Check the value ${r.n.checkWhere}.`:null===e.code?"Couldn't reach Telegram. Try again.":`Telegram: ${e.description}`}async function z(e,t,r,o={}){let n=await d(e,"setWebhook",T({url:t,secret_token:r,allowed_updates:p,drop_pending_updates:!0,max_connections:5}),o.fetch??fetch);return n.ok?{ok:!0}:{ok:!1,error:w(n)}}async function x(e,t={}){let r=await d(e,"deleteWebhook",T({drop_pending_updates:!1}),t.fetch??fetch);return r.ok?{ok:!0}:{ok:!1,error:w(r)}}async function $(e,t,r={}){let o=r.timeoutS??25,n=`getUpdates?offset=${Math.trunc(t)}&timeout=${o}&allowed_updates=${encodeURIComponent(JSON.stringify(p))}`,a=await d(e,n,{method:"GET"},r.fetch??fetch,(o+10)*1e3);return a.ok?{ok:!0,updates:Array.isArray(a.result)?a.result:[]}:409===a.code?{ok:!1,error:w(a),conflict:!0}:{ok:!1,error:w(a)}}async function A(e,t={}){let r=await d(e,"getWebhookInfo",{method:"GET"},t.fetch??fetch);if(!r.ok)return{ok:!1,error:w(r)};let o=r.result??{};return{ok:!0,info:{url:"string"==typeof o.url?o.url:"",pending:"number"==typeof o.pending_update_count?o.pending_update_count:0,lastError:"string"==typeof o.last_error_message?o.last_error_message.slice(0,200):null,lastErrorAt:"number"==typeof o.last_error_date?new Date(1e3*o.last_error_date):null}}}e.s(["ALLOWED_UPDATES",0,p,"LINK_CODE_LENGTH",0,8,"NO_BUTTONS",0,m,"POLL_TIMEOUT_S",0,25,"WEBHOOK_PATH",0,"/api/telegram/webhook","botClient",0,function(e,t={}){let r=t.fetch??fetch,o=async(t,o)=>{let n=await d(e,t,T(o),r);n.ok||/not modified/i.test(n.description)||console.warn(`telegram ${t} failed (${n.code??"network"})`)};return{answer:(e,t)=>o("answerCallbackQuery",{callback_query_id:e,text:t.slice(0,200)}),editText:(e,t,r,n)=>o("editMessageText",{chat_id:e,message_id:t,text:r,parse_mode:"HTML",link_preview_options:{is_disabled:!0},reply_markup:n??m}),editKeyboard:(e,t,r)=>o("editMessageReplyMarkup",{chat_id:e,message_id:t,reply_markup:r}),send:(e,t)=>o("sendMessage",{chat_id:e,text:t,parse_mode:"HTML",link_preview_options:{is_disabled:!0}})}},"chatLabel",0,e=>`${(e.title??e.first_name??e.username??"Chat").slice(0,50)} (${e.type??"chat"})`,"deleteWebhook",0,x,"getUpdates",0,$,"getWebhookInfo",0,A,"hashLinkCode",0,e=>(0,t.createHash)("sha256").update(`watchpost:telegram-link:${e.trim().toUpperCase()}`,"utf8").digest("hex"),"newLinkCode",0,function(){return[...(0,t.randomBytes)(8)].map(e=>f[e%f.length]).join("")},"newWebhookSecret",0,()=>(0,t.randomBytes)(32).toString("base64url"),"noteRejected",0,()=>{_++},"parseLinkCommand",0,function(e){let t=/^\/link(?:@[A-Za-z0-9_]{3,64})?\s+([A-Za-z0-9]{4,16})\s*$/.exec(e??"");return t?t[1].toUpperCase():null},"parseUpdate",0,function(e){let t=b.safeParse(e);return t.success?t.data:null},"rejectedWebhookCalls",0,()=>_,"secretMatches",0,function(e,r){if("string"!=typeof e||"string"!=typeof r||!e||!r)return!1;let o=(0,t.createHash)("sha256").update(e,"utf8").digest(),n=(0,t.createHash)("sha256").update(r,"utf8").digest();return(0,t.timingSafeEqual)(o,n)},"setWebhook",0,z],501424)}];
1
+ module.exports=[501424,601225,e=>{"use strict";var t=e.i(666680),r=e.i(547963),o=e.i(978071),n=e.i(260417),a=e.i(492973),i=e.i(75064),s=e.i(246517),l=e.i(105464),d=e.i(90879);async function c(e,t,r,o,n=5e3){let a;if((0,d.isDemo)())return{ok:!1,code:null,description:l.Y,retryAfter:null};try{a=await o(`https://api.telegram.org/bot${e}/${t}`,{...r,signal:AbortSignal.timeout(n),cache:"no-store"})}catch{return{ok:!1,code:null,description:"Telegram didn't answer.",retryAfter:null}}let i=await a.json().catch(()=>null);return i?.ok?{ok:!0,result:i.result}:{ok:!1,code:i?.error_code??a.status,description:String(i?.description??`HTTP ${a.status}`).slice(0,200),retryAfter:i?.parameters?.retry_after??null}}async function u(e,t,r,o={}){let n="number"==typeof o.replyTo&&Number.isSafeInteger(o.replyTo)&&o.replyTo>0?{reply_parameters:{message_id:o.replyTo,allow_sending_without_reply:!0}}:{},a=await c(e,"sendMessage",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chat_id:t,text:r,parse_mode:"HTML",link_preview_options:{is_disabled:!0},...o.replyMarkup?{reply_markup:o.replyMarkup}:{},...n})},o.fetch??fetch);if(a.ok){let e=a.result?.message_id;return"number"==typeof e&&Number.isSafeInteger(e)&&e>0?{ok:!0,messageId:e}:{ok:!0}}return 429===a.code?{ok:!1,kind:"transient",retryAfterS:a.retryAfter??30,error:`Telegram asked us to wait ${a.retryAfter??30} s.`}:null===a.code||a.code>=500?{ok:!1,kind:"transient",error:null===a.code?a.description:`Telegram returned an error (${a.code}).`}:{ok:!1,kind:"config",error:`Telegram: ${a.description}`}}e.s(["I",0,u,"z",0,c],601225);let p=["message","callback_query"],m={inline_keyboard:[]},_=0,f="ABCDEFGHJKMNPQRSTUVWXYZ23456789",g=o.z.union([n.z.number().int(),a.z.string().regex(/^-?\d{1,20}$/)]).transform(e=>String(e)),k=i.z.object({id:g,type:a.z.string().max(32).optional(),title:a.z.string().max(256).optional(),first_name:a.z.string().max(256).optional(),username:a.z.string().max(64).optional()}),h=i.z.object({id:g,is_bot:s.z.boolean().optional()}),y=i.z.object({message_id:n.z.number().int(),chat:k,from:h.optional(),text:a.z.string().max(4096).optional()}),b=i.z.object({update_id:n.z.number().int(),message:y.optional(),callback_query:i.z.object({id:a.z.string().min(1).max(128),from:h,message:y.optional(),data:a.z.string().max(64).optional()}).optional()}),T=e=>({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});function w(e){return 401===e.code||404===e.code?`Telegram rejected TELEGRAM_BOT_TOKEN. Check the value ${r.n.checkWhere}.`:null===e.code?"Couldn't reach Telegram. Try again.":`Telegram: ${e.description}`}async function z(e,t,r,o={}){let n=await c(e,"setWebhook",T({url:t,secret_token:r,allowed_updates:p,drop_pending_updates:!0,max_connections:5}),o.fetch??fetch);return n.ok?{ok:!0}:{ok:!1,error:w(n)}}async function x(e,t={}){let r=await c(e,"deleteWebhook",T({drop_pending_updates:!1}),t.fetch??fetch);return r.ok?{ok:!0}:{ok:!1,error:w(r)}}async function S(e,t,r={}){let o=r.timeoutS??25,n=`getUpdates?offset=${Math.trunc(t)}&timeout=${o}&allowed_updates=${encodeURIComponent(JSON.stringify(p))}`,a=await c(e,n,{method:"GET"},r.fetch??fetch,(o+10)*1e3);return a.ok?{ok:!0,updates:Array.isArray(a.result)?a.result:[]}:409===a.code?{ok:!1,error:w(a),conflict:!0}:{ok:!1,error:w(a)}}async function $(e,t={}){let r=await c(e,"getWebhookInfo",{method:"GET"},t.fetch??fetch);if(!r.ok)return{ok:!1,error:w(r)};let o=r.result??{};return{ok:!0,info:{url:"string"==typeof o.url?o.url:"",pending:"number"==typeof o.pending_update_count?o.pending_update_count:0,lastError:"string"==typeof o.last_error_message?o.last_error_message.slice(0,200):null,lastErrorAt:"number"==typeof o.last_error_date?new Date(1e3*o.last_error_date):null}}}e.s(["ALLOWED_UPDATES",0,p,"LINK_CODE_LENGTH",0,8,"NO_BUTTONS",0,m,"POLL_TIMEOUT_S",0,25,"WEBHOOK_PATH",0,"/api/telegram/webhook","botClient",0,function(e,t={}){let r=t.fetch??fetch,o=async(t,o)=>{let n=await c(e,t,T(o),r);n.ok||/not modified/i.test(n.description)||console.warn(`telegram ${t} failed (${n.code??"network"})`)};return{answer:(e,t)=>o("answerCallbackQuery",{callback_query_id:e,text:t.slice(0,200)}),editText:(e,t,r,n)=>o("editMessageText",{chat_id:e,message_id:t,text:r,parse_mode:"HTML",link_preview_options:{is_disabled:!0},reply_markup:n??m}),editKeyboard:(e,t,r)=>o("editMessageReplyMarkup",{chat_id:e,message_id:t,reply_markup:r}),send:(e,t)=>o("sendMessage",{chat_id:e,text:t,parse_mode:"HTML",link_preview_options:{is_disabled:!0}})}},"chatLabel",0,e=>`${(e.title??e.first_name??e.username??"Chat").slice(0,50)} (${e.type??"chat"})`,"deleteWebhook",0,x,"getUpdates",0,S,"getWebhookInfo",0,$,"hashLinkCode",0,e=>(0,t.createHash)("sha256").update(`watchpost:telegram-link:${e.trim().toUpperCase()}`,"utf8").digest("hex"),"newLinkCode",0,function(){return[...(0,t.randomBytes)(8)].map(e=>f[e%f.length]).join("")},"newWebhookSecret",0,()=>(0,t.randomBytes)(32).toString("base64url"),"noteRejected",0,()=>{_++},"parseLinkCommand",0,function(e){let t=/^\/link(?:@[A-Za-z0-9_]{3,64})?\s+([A-Za-z0-9]{4,16})\s*$/.exec(e??"");return t?t[1].toUpperCase():null},"parseUpdate",0,function(e){let t=b.safeParse(e);return t.success?t.data:null},"rejectedWebhookCalls",0,()=>_,"secretMatches",0,function(e,r){if("string"!=typeof e||"string"!=typeof r||!e||!r)return!1;let o=(0,t.createHash)("sha256").update(e,"utf8").digest(),n=(0,t.createHash)("sha256").update(r,"utf8").digest();return(0,t.timingSafeEqual)(o,n)},"setWebhook",0,z],501424)}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_notify_telegram-bot_ts_18y40dkchmcqd._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[715208,e=>{"use strict";var t=e.i(893893),n=e.i(656298),a=e.i(688275),s=e.i(672319),r=e.i(245710),l=e.i(556987),u=e.i(469762),o=e.i(505237);let i=e=>Math.round(100*e)/100,c=e=>e?new Date(e):null,d=(e,t)=>`${e} ${t}${1===e?"":"s"}`;function f(e){return null==e?"—":e>=0x40000000?`${(e/0x40000000).toFixed(1)} GB`:`${Math.round(e/1048576)} MB`}function p(e,t,n){return"unknown"!==e?{state:e,label:t}:{state:"unknown",label:n&&n in o.X?`Unknown \xb7 last seen ${o.X[n]}`:"Unknown"}}function h(e,n,s=l.a){return e.map(e=>{let o=(0,t.k)(t.s,e.data),c=o.endpoints??[],d=[...o.branches??[]].sort((e,t)=>Number(t.isDefault)-Number(e.isDefault)),h=d.reduce((e,t)=>e+(t.logicalSize??0),0),m=null!=o.computeSeconds?(0,a.g)(o.computeSeconds):null,g="unknown"===e.state;return{id:e.id,name:e.name,alias:(0,l.X)(s,e.id),account:e.account,region:o.region??null,pg:o.pgVersion??null,usedBy:e.usedBy,stale:g,collectedAt:e.collectedAt,status:p(e.state,(0,a.p)({endpoints:c,computeSeconds:o.computeSeconds??null}).label,o.lastGoodState),cu:null===m?null:{value:m,pct:i(m/a.a.cuHours*100)},storage:{text:f(h),pct:i(h/a.a.storageBytes*100)},transfer:null!=o.transferBytes?{text:f(o.transferBytes),pct:i(o.transferBytes/a.a.transferBytes*100)}:null,resets:o.periodEnd?(0,r.L)(new Date(o.periodEnd)):null,activeHours:null!=o.activeSeconds?Math.round(o.activeSeconds/360)/10:null,branches:d.map(e=>{let t=c.find(t=>t.branchId===e.id),s=t?(0,a.T)(t):{state:"off",label:"No compute"};return{id:e.id,name:e.name,isDefault:e.isDefault,endpoint:t?.id??null,status:g?p("unknown","",s.state):s,autoscaling:t?(0,a.c)(t.minCu,t.maxCu):"—",size:f(e.logicalSize),lastActive:t?.lastActive?(0,u.J)(new Date(t.lastActive),n):"—"}})}})}function m(e,t){if(!e.length||!e.every(e=>"unknown"===e.state))return null;let n=e.map(e=>e.collectedAt).filter(e=>null!==e).sort((e,t)=>t.getTime()-e.getTime())[0];return`API not responding${n?` \xb7 data from ${(0,u.J)(n,t)}`:""}`}e.s(["R",0,f,"r",0,function(e,t,n=l.a){return e.filter(e=>e.paused&&!e.stale).map(e=>{let a=e.usedBy.map(e=>e.name),s=a.length?`${a.join(", ")} ${a.length>1?"get":"gets"} errors until it's restored. `:"",r=t.find(t=>t.account===e.account),u=(0,l.G)(e.account),o=r?r.activeIds.map(e=>(0,l.X)(n,e)):[],i=r?r.left>0?`Account ${u} has a free slot to restore it.`:`Account ${u} already uses both free slots${o.length?` (${o.join(", ")})`:""}. Pause one of them first, or move ${e.alias} to an account with a free slot.`:"";return{key:`db-${e.id}`,tone:"warning",title:`Supabase project ${e.alias} is paused`,body:(0,l.G)(`${s}${i}`.trim()),action:{label:"Open Supabase",href:"/supabase"}}})},"V",0,function(e,t){if(!e.length)return{state:"unknown",sub:"No projects watched yet"};let n=m(e,t);if(n)return{state:"unknown",sub:n};let a=e.filter(e=>"ok"!==e.state).length;return{state:(0,o.S)(e.map(e=>e.state)),sub:a?`${a} of ${e.length} unreachable`:`${d(e.length,"project")} reachable`}},"U",0,function(e,a=l.a){return e.map(e=>{var s;let r=(0,t.k)(t.w,e.data),u=(e,t)=>null==e?null:{n:e,pct:i(e/t*100)};return{id:e.id,name:e.name,alias:(0,l.X)(a,e.id),projectId:e.externalId,account:e.account,stale:"unknown"===e.state,health:p(e.state,(s=e.state,"ok"===s?`Reachable \xb7 ${r.latencyMs??"—"} ms`:"off"===s?"No Firestore database":(0,n.z)({kind:r.pingKind,reason:r.pingReason}).label),r.lastGoodState),ops:r.opsError&&null==r.reads?{note:r.opsError}:{reads:u(r.reads,n.T.reads),writes:u(r.writes,n.T.writes),deletes:u(r.deletes,n.T.deletes)},users:r.authUsers??null,usersNote:r.authError??null,usedBy:e.usedBy}})},"D",0,h,"_",0,function(e,t,n=l.a){if(!e.length)return{state:"unknown",sub:"No projects watched yet"};let s=m(e,t);if(s)return{state:"unknown",sub:s};let r=h(e,t,n);if(1===r.length){let t=r[0];return{state:e[0].state,sub:`${t.alias} ${t.status.label.toLowerCase()}${t.cu?` \xb7 ${Math.round(t.cu.value)} of ${a.a.cuHours} CU-h`:""}`}}return{state:(0,o.S)(e.map(e=>e.state)),sub:`${d(e.length,"project")} \xb7 ${e.filter(e=>"ok"===e.state).length} active`}},"d",0,function(e){return[...new Set(e.map(e=>e.account))].sort().map(t=>{let n=e.filter(e=>e.account===t),a=n.filter(e=>!1!==e.freeOrg&&(0,s.Z)(e.status));return{account:t,...(0,s._)(n),active:a.map(e=>e.name),activeIds:a.map(e=>e.id)}})},"i",0,function(e){let t=e.filter(e=>null!==e.sizeBytes);return{text:f(t.reduce((e,t)=>e+(t.sizeBytes??0),0)),count:t.length}},"x",0,function(e,t){if(!e.length)return{state:"unknown",sub:"No projects watched yet"};let n=m(e,t);if(n)return{state:"unknown",sub:n};let a=e.filter(e=>"paused"===e.state).length,s=e.filter(e=>"warn"===e.state||"err"===e.state).length,r=[d(new Set(e.map(e=>e.account)).size,"account"),a?`${a} paused`:null,s?`${s} unhealthy`:null];return{state:(0,o.S)(e.map(e=>e.state)),sub:r.filter(Boolean).join(" · ")}},"Y",0,function(e,n,a=l.a){return e.map(e=>{let o=(0,t.k)(t.B,e.data),d=o.status??"",h=o.pgVersion?`Postgres ${o.pgVersion.split(".").slice(0,2).join(".")}`:null,m="paused"===e.state||"unknown"===e.state&&"paused"===o.lastGoodState;return{id:e.id,name:e.name,alias:(0,l.X)(a,e.id),ref:e.externalId,account:e.account,sub:[o.region,h].filter(Boolean).join(" · "),status:p(e.state,(0,s.P)(d).label,o.lastGoodState),since:e.stateSince&&"unknown"!==e.state?(0,r.$)(e.stateSince,n):null,size:null!=o.sizeBytes?{text:f(o.sizeBytes),pct:i(o.sizeBytes/s.R*100),asOf:o.sizeAt?(0,r.$)(new Date(o.sizeAt),n):"—"}:null,sizeNote:o.sizeError??(null!=o.sizeBytes?null:"ACTIVE_HEALTHY"===d?"Read once a day while the project is in use":"Read only while the project is active"),traffic:o.trafficAt&&!o.trafficError?o.lastTrafficAt?(0,u.J)(new Date(o.lastTrafficAt),n):"None in 7 days":"—",trafficNote:o.trafficError??null,risk:(0,s.g)({status:m?"INACTIVE":d,lastTrafficAt:c(o.lastTrafficAt),trafficCheckedAt:c(o.trafficAt),pausedSince:m?e.stateSince:null,pausedBeforeSeen:o.pausedBeforeSeen??!1,now:n}),usedBy:e.usedBy,stale:"unknown"===e.state,paused:m,sizeBytes:o.sizeBytes??null}})}])}];
1
+ module.exports=[715208,e=>{"use strict";var t=e.i(893893),n=e.i(656298),a=e.i(688275),s=e.i(672319),l=e.i(245710),r=e.i(556987),u=e.i(469762),o=e.i(505237);let i=e=>Math.round(100*e)/100,c=e=>e?new Date(e):null,d=(e,t)=>`${e} ${t}${1===e?"":"s"}`;function f(e){return null==e?"—":e>=0x40000000?`${(e/0x40000000).toFixed(1)} GB`:`${Math.round(e/1048576)} MB`}function p(e,t,n){return"unknown"!==e?{state:e,label:t}:{state:"unknown",label:n&&n in o.X?`Unknown \xb7 last seen ${o.X[n]}`:"Unknown"}}function h(e,n,s=r.a){return e.map(e=>{let o=(0,t.k)(t.s,e.data),c=o.endpoints??[],d=[...o.branches??[]].sort((e,t)=>Number(t.isDefault)-Number(e.isDefault)),h=d.reduce((e,t)=>e+(t.logicalSize??0),0),m=null!=o.computeSeconds?(0,a.g)(o.computeSeconds):null,g="unknown"===e.state;return{id:e.id,name:e.name,alias:(0,r.X)(s,e.id),account:e.account,region:o.region??null,pg:o.pgVersion??null,usedBy:e.usedBy,stale:g,collectedAt:e.collectedAt,status:p(e.state,(0,a.p)({endpoints:c,computeSeconds:o.computeSeconds??null}).label,o.lastGoodState),cu:null===m?null:{value:m,pct:i(m/a.a.cuHours*100)},storage:{text:f(h),pct:i(h/a.a.storageBytes*100)},transfer:null!=o.transferBytes?{text:f(o.transferBytes),pct:i(o.transferBytes/a.a.transferBytes*100)}:null,resets:o.periodEnd?(0,l.L)(new Date(o.periodEnd)):null,activeHours:null!=o.activeSeconds?Math.round(o.activeSeconds/360)/10:null,branches:d.map(e=>{let t=c.find(t=>t.branchId===e.id),s=t?(0,a.T)(t):{state:"off",label:"No compute"};return{id:e.id,name:e.name,isDefault:e.isDefault,endpoint:t?.id??null,status:g?p("unknown","",s.state):s,autoscaling:t?(0,a.c)(t.minCu,t.maxCu):"—",size:f(e.logicalSize),lastActive:t?.lastActive?(0,u.J)(new Date(t.lastActive),n):"—"}})}})}function m(e,t){if(!e.length||!e.every(e=>"unknown"===e.state))return null;let n=e.map(e=>e.collectedAt).filter(e=>null!==e).sort((e,t)=>t.getTime()-e.getTime())[0];return`API not responding${n?` \xb7 data from ${(0,u.J)(n,t)}`:""}`}e.s(["R",0,f,"r",0,function(e,t,n=r.a){return e.filter(e=>e.paused&&!e.stale).map(e=>{let a=e.usedBy.map(e=>e.name),s=a.length?`${a.join(", ")} ${a.length>1?"get":"gets"} errors until it's restored. `:"",l=t.find(t=>t.account===e.account),u=(0,r.G)(e.account),o=l?l.activeIds.map(e=>(0,r.X)(n,e)):[],i=l?l.left>0?`Account ${u} has a free slot to restore it.`:`Account ${u} already uses both free slots${o.length?` (${o.join(", ")})`:""}. Pause one of them first, or move ${e.alias} to an account with a free slot.`:"";return{key:`db-${e.id}`,tone:"warning",title:`Supabase project ${e.alias} is paused`,body:(0,r.G)(`${s}${i}`.trim()),action:{label:"Open Supabase",href:"/supabase"}}})},"V",0,function(e,t){if(!e.length)return{state:"unknown",sub:"No projects watched yet",empty:!0};let n=m(e,t);if(n)return{state:"unknown",sub:n};let a=e.filter(e=>"ok"!==e.state).length;return{state:(0,o.S)(e.map(e=>e.state)),sub:a?`${a} of ${e.length} unreachable`:`${d(e.length,"project")} reachable`}},"U",0,function(e,a=r.a){return e.map(e=>{var s;let l=(0,t.k)(t.w,e.data),u=(e,t)=>null==e?null:{n:e,pct:i(e/t*100)};return{id:e.id,name:e.name,alias:(0,r.X)(a,e.id),projectId:e.externalId,account:e.account,stale:"unknown"===e.state,health:p(e.state,(s=e.state,"ok"===s?`Reachable \xb7 ${l.latencyMs??"—"} ms`:"off"===s?"No Firestore database":(0,n.z)({kind:l.pingKind,reason:l.pingReason}).label),l.lastGoodState),ops:l.opsError&&null==l.reads?{note:l.opsError}:{reads:u(l.reads,n.T.reads),writes:u(l.writes,n.T.writes),deletes:u(l.deletes,n.T.deletes)},users:l.authUsers??null,usersNote:l.authError??null,usedBy:e.usedBy}})},"D",0,h,"_",0,function(e,t,n=r.a){if(!e.length)return{state:"unknown",sub:"No projects watched yet",empty:!0};let s=m(e,t);if(s)return{state:"unknown",sub:s};let l=h(e,t,n);if(1===l.length){let t=l[0],n="Idle"===t.status.label?"is asleep":t.status.label.toLowerCase();return{state:e[0].state,sub:`${t.alias} ${n}${t.cu?` \xb7 ${Math.round(t.cu.value)} of ${a.a.cuHours} compute hours used this month`:""}`}}return{state:(0,o.S)(e.map(e=>e.state)),sub:`${d(e.length,"project")} \xb7 ${e.filter(e=>"ok"===e.state).length} active`}},"d",0,function(e){return[...new Set(e.map(e=>e.account))].sort().map(t=>{let n=e.filter(e=>e.account===t),a=n.filter(e=>!1!==e.freeOrg&&(0,s.Z)(e.status));return{account:t,...(0,s._)(n),active:a.map(e=>e.name),activeIds:a.map(e=>e.id)}})},"i",0,function(e){let t=e.filter(e=>null!==e.sizeBytes);return{text:f(t.reduce((e,t)=>e+(t.sizeBytes??0),0)),count:t.length}},"x",0,function(e,t){if(!e.length)return{state:"unknown",sub:"No projects watched yet",empty:!0};let n=m(e,t);if(n)return{state:"unknown",sub:n};let a=e.filter(e=>"paused"===e.state).length,s=e.filter(e=>"warn"===e.state||"err"===e.state).length,l=[d(new Set(e.map(e=>e.account)).size,"account"),a?`${a} paused`:null,s?`${s} unhealthy`:null];return{state:(0,o.S)(e.map(e=>e.state)),sub:l.filter(Boolean).join(" · ")}},"Y",0,function(e,n,a=r.a){return e.map(e=>{let o=(0,t.k)(t.B,e.data),d=o.status??"",h=o.pgVersion?`Postgres ${o.pgVersion.split(".").slice(0,2).join(".")}`:null,m="paused"===e.state||"unknown"===e.state&&"paused"===o.lastGoodState;return{id:e.id,name:e.name,alias:(0,r.X)(a,e.id),ref:e.externalId,account:e.account,sub:[o.region,h].filter(Boolean).join(" · "),status:p(e.state,(0,s.P)(d).label,o.lastGoodState),since:e.stateSince&&"unknown"!==e.state?(0,l.$)(e.stateSince,n):null,size:null!=o.sizeBytes?{text:f(o.sizeBytes),pct:i(o.sizeBytes/s.R*100),asOf:o.sizeAt?(0,l.$)(new Date(o.sizeAt),n):"—"}:null,sizeNote:o.sizeError??(null!=o.sizeBytes?null:"ACTIVE_HEALTHY"===d?"Read once a day while the project is in use":"Read only while the project is active"),traffic:o.trafficAt&&!o.trafficError?o.lastTrafficAt?(0,u.J)(new Date(o.lastTrafficAt),n):"None in 7 days":"—",trafficNote:o.trafficError??null,risk:(0,s.g)({status:m?"INACTIVE":d,lastTrafficAt:c(o.lastTrafficAt),trafficCheckedAt:c(o.trafficAt),pausedSince:m?e.stateSince:null,pausedBeforeSeen:o.pausedBeforeSeen??!1,now:n}),usedBy:e.usedBy,stale:"unknown"===e.state,paused:m,sizeBytes:o.sizeBytes??null}})}])}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_view_databases_ts_1ovdbo8spjhf9._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[556987,e=>{"use strict";let t=new Set(["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","db","fs"]);function a(e){let t=e+1,a="";for(;t>0;)a=String.fromCharCode(97+(t-1)%26)+a,t=Math.floor((t-1)/26);return a}let r=e=>(e instanceof Date?e:new Date(e)).getTime(),n=(e,t)=>r(e.firstSeenAt)-r(t.firstSeenAt)||(e.id<t.id?-1:+(e.id>t.id));function i(e,t){return[...e].sort(n).map((e,r)=>({id:e.id,name:e.name,alias:`${t}-${a(r)}`}))}function o(e,t){return e.db.find(e=>e.id===t)?.alias??"db-?"}let s=/[\p{L}\p{N}._%+-]+@[\p{L}\p{N}-]+(?:\.[\p{L}\p{N}-]+)*\.[\p{L}]{2,}/gu;function d(e){return e.replace(s,"[email hidden]")}let l=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),p="[\\p{L}\\p{N}_-]",u=new WeakMap;function c(e,t,a){let r;if(!e)return e;let n=a?t.db.find(e=>e.id===a):void 0,i=n&&n.name.trim().length>=2?e.replace((r=n.name,RegExp(`(?<!${p})${l(r)}(?!${p})`,"giu")),n.alias):e,o=function(e){if(u.has(e))return u.get(e);let t=new Set(e.app.map(e=>e.name.toLowerCase())),a=[...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),r=new Map;for(let t of e.db)r.has(t.name.toLowerCase())||r.set(t.name.toLowerCase(),t.alias);let n=a.length?{re:RegExp(`(?<!${p})(?:${a.map(l).join("|")})(?!${p})`,"giu"),alias:r}:null;return u.set(e,n),n}(t);return o&&(i=i.replace(o.re,e=>o.alias.get(e.toLowerCase())??e)),d(i)}let f=(e,t)=>!!t&&e.db.some(e=>e.id===t);String.raw`[\p{L}\p{N}_.-]`,String.raw`(?![\p{L}\p{N}_-]|\.[\p{L}\p{N}])`,new WeakMap,e.s(["a",0,{db:[],app:[]},"k",0,"oc-shot","r",0,(e,t)=>e.app.find(e=>e.name===t)?.alias??"app-?","n",0,function(e,o=[]){let s=e.filter(e=>"app"===e.kind),d=i(s,"app"),l=[...o].sort((e,t)=>r(e.createdAt)-r(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:i(e.filter(e=>{let a;return null!=(a=e.kind)&&t.has(a)}),"db"),app:d,account:l,host:function(e,t){let r=[],i=new Set,o=(e,t,a)=>{let n=t.toLowerCase();i.has(n)||(i.add(n),r.push({id:e,name:n,alias:a}))},s=new Map(t.map(e=>[e.id,e])),d=e.filter(e=>"domain"===e.kind).sort(n),l=new Map;for(let e of d){let t=e.parentId?s.get(e.parentId):void 0;if(!t)continue;let a=(l.get(t.id)??0)+1;l.set(t.id,a),o(e.id,e.name,`${t.alias}${a>1?`-${a}`:""}.example`)}for(let e of t)o(`${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(n).filter(e=>!i.has(e.name.toLowerCase())).forEach((e,t)=>o(e.id,e.name,`site-${a(t)}.example`)),r}(e,d),team:function(e){let t=[];for(let a of[...e].sort(n)){let e=a.team?.trim();e&&!t.some(t=>t.name===e)&&t.push({id:`team:${e}`,name:e,alias:`team-${t.length+1}`})}return t}(s)}},"X",0,o,"o",0,function(e,t){return{...e,title:f(t,e.resourceId)?o(t,e.resourceId):c(e.title,t,e.resourceId),message:c(e.message,t,e.resourceId),causedBy:c(e.causedBy,t)}},"G",0,d,"p",0,function(e,t){return{...e,resource:f(t,e.resourceId)?o(t,e.resourceId):c(e.resource,t),message:c(e.message,t,e.resourceId),detail:c(e.detail,t,e.resourceId)}},"J",0,c,"d",0,function(e,t){let a=/^db-unlinked:(.+)$/.exec(e.key)?.[1];return{...e,subject:a?o(t,a):c(e.subject,t),title:c(e.title,t,a),why:c(e.why,t,a),fix:c(e.fix,t,a)}},"h",0,function(e,t=[]){return[...e,...t].filter(e=>!!e).join(" ")}])}];
1
+ module.exports=[556987,e=>{"use strict";let t=new Set(["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","db","fs"]);function a(e){let t=e+1,a="";for(;t>0;)a=String.fromCharCode(97+(t-1)%26)+a,t=Math.floor((t-1)/26);return a}let r=e=>(e instanceof Date?e:new Date(e)).getTime(),n=(e,t)=>r(e.firstSeenAt)-r(t.firstSeenAt)||(e.id<t.id?-1:+(e.id>t.id));function i(e,t){return[...e].sort(n).map((e,r)=>({id:e.id,name:e.name,alias:`${t}-${a(r)}`}))}function s(e,t){return e.db.find(e=>e.id===t)?.alias??"db-?"}let o=/[\p{L}\p{N}._%+-]+@[\p{L}\p{N}-]+(?:\.[\p{L}\p{N}-]+)*\.[\p{L}]{2,}/gu;function l(e){return e.replace(o,"[email hidden]")}let d=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),p="[\\p{L}\\p{N}_-]",u=new WeakMap;function m(e,t,a){let r;if(!e)return e;let n=a?t.db.find(e=>e.id===a):void 0,i=n&&n.name.trim().length>=2?e.replace((r=n.name,RegExp(`(?<!${p})${d(r)}(?!${p})`,"giu")),n.alias):e,s=function(e){if(u.has(e))return u.get(e);let t=new Set(e.app.map(e=>e.name.toLowerCase())),a=[...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),r=new Map;for(let t of e.db)r.has(t.name.toLowerCase())||r.set(t.name.toLowerCase(),t.alias);let n=a.length?{re:RegExp(`(?<!${p})(?:${a.map(d).join("|")})(?!${p})`,"giu"),alias:r}:null;return u.set(e,n),n}(t);return s&&(i=i.replace(s.re,e=>s.alias.get(e.toLowerCase())??e)),l(i)}let f=(e,t)=>!!t&&e.db.some(e=>e.id===t),c=String.raw`[\p{L}\p{N}_.-]`,g=String.raw`(?![\p{L}\p{N}_-]|\.[\p{L}\p{N}])`;new WeakMap;let h=new WeakMap;e.s(["a",0,{db:[],app:[]},"k",0,"oc-shot","r",0,(e,t)=>e.app.find(e=>e.name===t)?.alias??"app-?","n",0,function(e,s=[]){let o=e.filter(e=>"app"===e.kind),l=i(o,"app"),d=[...s].sort((e,t)=>r(e.createdAt)-r(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:i(e.filter(e=>{let a;return null!=(a=e.kind)&&t.has(a)}),"db"),app:l,account:d,host:function(e,t){let r=[],i=new Set,s=(e,t,a)=>{let n=t.toLowerCase();i.has(n)||(i.add(n),r.push({id:e,name:n,alias:a}))},o=new Map(t.map(e=>[e.id,e])),l=e.filter(e=>"domain"===e.kind).sort(n),d=new Map;for(let e of l){let t=e.parentId?o.get(e.parentId):void 0;if(!t)continue;let a=(d.get(t.id)??0)+1;d.set(t.id,a),s(e.id,e.name,`${t.alias}${a>1?`-${a}`:""}.example`)}for(let e of t)s(`${e.id}:vercel`,`${e.name}.vercel.app`,`${e.alias}${d.has(e.id)?"-vercel":""}.example`);return e.filter(e=>"zone"===e.kind||"domain"===e.kind&&!(e.parentId&&o.has(e.parentId))).sort(n).filter(e=>!i.has(e.name.toLowerCase())).forEach((e,t)=>s(e.id,e.name,`site-${a(t)}.example`)),r}(e,l),team:function(e){let t=[];for(let a of[...e].sort(n)){let e=a.team?.trim();e&&!t.some(t=>t.name===e)&&t.push({id:`team:${e}`,name:e,alias:`team-${t.length+1}`})}return t}(o)}},"X",0,s,"o",0,function(e,t){return{...e,title:f(t,e.resourceId)?s(t,e.resourceId):m(e.title,t,e.resourceId),message:m(e.message,t,e.resourceId),causedBy:m(e.causedBy,t)}},"G",0,l,"p",0,function(e,t){return{...e,resource:f(t,e.resourceId)?s(t,e.resourceId):m(e.resource,t),message:m(e.message,t,e.resourceId),detail:m(e.detail,t,e.resourceId)}},"J",0,m,"d",0,function(e,t){let a=/^db-unlinked:(.+)$/.exec(e.key)?.[1];return{...e,subject:a?s(t,a):m(e.subject,t),title:m(e.title,t,a),why:m(e.why,t,a),fix:m(e.fix,t,a)}},"q",0,function(e,t){if(!e)return e;let a=function(e){let t=h.get(e);if(t)return t;let a=new Map((e.host??[]).map(e=>[e.alias.toLowerCase(),e.name])),r=new Map;for(let t of[...e.app,...e.db])t.name.trim()&&!r.has(t.alias.toLowerCase())&&r.set(t.alias.toLowerCase(),t.name);let n=e=>[...e].sort((e,t)=>t.length-e.length).map(d).join("|"),i={host:a.size?RegExp(String.raw`(?<![\p{L}\p{N}_-])(?:${n(a.keys())})${g}`,"giu"):null,hostName:a,names:r.size?RegExp(`(?<!${c})(?:${n(r.keys())})${g}`,"giu"):null,realName:r};return h.set(e,i),i}(t),r=e;return a.host&&(r=r.replace(a.host,e=>a.hostName.get(e.toLowerCase())??e)),a.names&&(r=r.replace(a.names,e=>a.realName.get(e.toLowerCase())??e)),l(r)},"h",0,function(e,t=[]){return[...e,...t].filter(e=>!!e).join(" ")}])}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_view_display-name_ts_0xoimm6j7bwnf._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[505237,e=>{"use strict";var t=e.i(306556),n=e.i(133289),a=e.i(201516),i=e.i(221246),r=e.i(245710),l=e.i(556987),o=e.i(469762);let s=e=>e?.kind==="heartbeat";function d(e){let t=e.filter(e=>(0,a.i)(e)&&!e.maintUntil),n=t.filter(e=>!s(e)),i=t.filter(s);return n.find(e=>"err"===e.state)??n.find(e=>"warn"===e.state)??i.find(e=>"err"===e.state)??i.find(e=>"warn"===e.state)??null}let u=e=>(e&&(0,a.H)(e))??(e?.lastStatus?`HTTP ${e.lastStatus}`:"no answer");function f(e){let t=e.monitors.filter(a.i),n=t.filter(e=>e.maintUntil),i=t.some(e=>s(e)&&!e.maintUntil&&("err"===e.state||"warn"===e.state)),r=t.some(e=>!s(e)&&!e.maintUntil&&"err"===e.state),l="err"===e.state&&i&&!r?e.building||e.lastDeploy?.state==="building"?"build":"warn":e.state;if(e.gone||!n.length)return{state:l,maintEnd:null};let o=n.reduce((e,t)=>t.maintUntil>e?t.maintUntil:e,n[0].maintUntil),d=t.filter(e=>!e.maintUntil);return"err"===e.state||"warn"===e.state?d.some(e=>!s(e)&&"err"===e.state)?{state:"err",maintEnd:o}:e.building||e.lastDeploy?.state==="building"?{state:"build",maintEnd:o}:d.some(e=>"warn"===e.state||s(e)&&"err"===e.state)||e.dbPaused?{state:"warn",maintEnd:o}:{state:"maint",maintEnd:o}:d.length||"ok"!==e.state&&"unknown"!==e.state?{state:l,maintEnd:o}:{state:"maint",maintEnd:o}}let b={err:6,fail:6,warn:5,paused:5,build:4,unknown:3,idle:2,off:1,info:1,maint:1,ok:0};function m(e){return e.reduce((e,t)=>b[t]>b[e]?t:e,"ok")}let w=(e,t)=>`${e} ${t}${1===e?"":"s"}`,p=["ok","build","idle","paused","maint","warn","err","fail","unknown","off","info"];e.s(["q",0,[["ok","Running"],["build","Building"],["warn","Degraded"],["err","Down"]],"s",0,[["ok","Ready"],["build","Building"],["fail","Error"]],"D",0,{deployment:"Deployment",monitor:"Monitor",database:"Database",system:"System",action:"Action"},"g",0,[["ok","Up"],["warn","Degraded"],["err","Down"],["maint","Maintenance"]],"X",0,{ok:"healthy",warn:"degraded",err:"down",idle:"idle",build:"building",paused:"paused",info:"info",fail:"failed",off:"off",unknown:"unknown",maint:"maintenance"},"J",0,(...e)=>`Actions for ${e.filter(Boolean).join(" ")}`,"k",0,function(e){if(e.gone)return{state:"off",label:"Gone from Vercel"};let t=d(e.monitors),n=s(t)?t?.name??"heartbeat":null,{state:i,maintEnd:l}=f(e);return"maint"===i&&l?{state:"maint",label:`Maintenance \xb7 until ${(0,r.U)(l)}`}:"ok"===i?{state:"ok",label:"Running"}:"build"===i?{state:"build",label:"Building"}:"warn"===i?!t&&e.dbPaused?{state:"warn",label:"Degraded · DB paused"}:n?{state:"warn",label:t?.state==="err"?`Degraded \xb7 job ${n} not pinging`:`Degraded \xb7 job ${n} late`}:{state:"warn",label:`Degraded \xb7 ${u(t)}`}:"err"===i?{state:"err",label:n?`Down \xb7 ${n}`:`Down \xb7 ${u(t)}`}:e.monitors.some(a.i)?{state:"unknown",label:"Not checked yet"}:{state:"unknown",label:"No active monitors"}},"z",0,e=>(0,i.L)(e,"operator"),"f",0,function(e,t){if(!e)return{state:"unknown",sub:"Hasn't run yet"};let a=null===e.durationMs?"—":`${(e.durationMs/1e3).toFixed(1)} s`;return{state:(0,n.m)(e.finishedAt,t).state,sub:`${(0,r.$)(e.finishedAt,t)} \xb7 ${a} \xb7 ${w(e.checks,"check")}`}},"u",0,function(e,t){if(!e.length)return null;let n=e.length,a="viewer"===t?[...new Set(e.map(e=>e.provider))]:e.map(e=>`${e.provider} \xb7 ${(0,l.G)(e.label)}`);return{title:`${n} connection${n>1?"s need":" needs"} attention`,body:`${a.join(", ")}. Data from ${n>1?"these accounts is":"this account is"} not being updated.`}},"Y",0,function(e){return"ready"===e?{state:"ok",label:"Ready"}:"building"===e?{state:"build",label:"Building"}:"error"===e?{state:"fail",label:"Error"}:{state:"off",label:"Canceled"}},"M",0,function(e,t,n=new Date){if(e.appGone)return{state:"off",label:"App removed from Vercel"};if(e.ownerPaused)return{state:"paused",label:"Paused"};if(e.paused)return{state:"off",label:"App not watched"};let i=t?.end??e.maintUntil;if(i)return{state:"maint",label:`Maintenance \xb7 until ${(0,r.U)(i)}`};if(s(e))return"ok"===e.state?{state:"ok",label:e.lastPingAt?`Up \xb7 pinged ${(0,r.$)(e.lastPingAt,n)}`:"Up"}:"warn"===e.state?{state:"warn",label:"Late"}:"err"===e.state?{state:"err",label:e.lastError?.startsWith("Down · ")?e.lastError:"Down · no ping"}:{state:"unknown",label:"Waiting for the first ping"};if(e.move)return{state:"warn",label:`Domain changed: ${e.move.from} → ${e.move.to}`};let l=(0,a.H)(e)??(null===e.lastStatus?"no answer":String(e.lastStatus));return"ok"===e.state?{state:"ok",label:"Up"}:"warn"===e.state?{state:"warn",label:`Degraded \xb7 ${l}`}:"err"===e.state?{state:"err",label:`Down \xb7 ${l}`}:{state:"unknown",label:"Waiting for first check"}},"m",0,function(e,n){let i=[];for(let r of e){let e=f(r).state;if(r.gone||"err"!==e&&"warn"!==e)continue;let l=d(r.monitors);if("warn"===e&&!l&&r.dbPaused)continue;let u=l&&(0,a.H)(l)?(0,a.H)(l):l?.lastStatus?`HTTP ${l.lastStatus}`:"No answer",b={label:"Open app",href:`/apps/${r.id}`},m=s(l)?l?.name??"heartbeat":null;if(m&&l?.state==="err"){i.push({key:r.id,tone:"warning",title:`${r.name}: background job ${m} is down`,body:`The website is up; the job hasn't pinged${r.since?` for ${(0,o.o)(r.since,n)}`:""}.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if(m){i.push({key:r.id,tone:"warning",title:`${r.name} is degraded`,body:`The job ${m} is late. It's marked down once its grace time passes too.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if("err"===e){let e=r.lastDeploy?.state==="error"?r.lastDeploy:null;i.push({key:r.id,tone:"danger",title:`${r.name} is down`,body:`${u}${r.since?` for ${(0,o.o)(r.since,n)}`:""}.${e?` The last production deploy failed at ${(0,o.v)(e.readyAt??e.createdAt,n)}.`:""}`,action:e?{label:"View deployment",href:"/deployments"}:b})}else{let e=Math.max(1,l?.failStreak??1);i.push({key:r.id,tone:"warning",title:`${r.name} is degraded`,body:`${u} on ${w(e,"check")} in a row. It's marked down after ${t.I}.`,action:b})}}return[...i.filter(e=>"danger"===e.tone),...i.filter(e=>"warning"===e.tone)]},"R",0,function(e){return p.map(t=>({state:t,n:e.filter(e=>e===t).length})).filter(e=>e.n>0)},"E",0,function(e){if(!e.length)return{state:"unknown",sub:"No apps watched yet"};let t=t=>e.filter(e=>e===t).length,n=[["err","down"],["warn","degraded"],["build","building"]].filter(([e])=>t(e)>0).map(([e,n])=>`${t(e)} ${n}`);return{state:m(e),sub:`${w(e.length,"app")}${n.length?` \xb7 ${n.join(", ")}`:""}`}},"S",0,m,"e",0,d])}];
1
+ module.exports=[505237,e=>{"use strict";var t=e.i(306556),n=e.i(133289),a=e.i(201516),i=e.i(221246),r=e.i(245710),l=e.i(556987),o=e.i(469762);let s=e=>e?.kind==="heartbeat";function d(e){let t=e.filter(e=>(0,a.i)(e)&&!e.maintUntil),n=t.filter(e=>!s(e)),i=t.filter(s);return n.find(e=>"err"===e.state)??n.find(e=>"warn"===e.state)??i.find(e=>"err"===e.state)??i.find(e=>"warn"===e.state)??null}let u=e=>(e&&(0,a.H)(e))??(e?.lastStatus?`HTTP ${e.lastStatus}`:"no answer");function f(e){let t=e.monitors.filter(a.i),n=t.filter(e=>e.maintUntil),i=t.some(e=>s(e)&&!e.maintUntil&&("err"===e.state||"warn"===e.state)),r=t.some(e=>!s(e)&&!e.maintUntil&&"err"===e.state),l="err"===e.state&&i&&!r?e.building||e.lastDeploy?.state==="building"?"build":"warn":e.state;if(e.gone||!n.length)return{state:l,maintEnd:null};let o=n.reduce((e,t)=>t.maintUntil>e?t.maintUntil:e,n[0].maintUntil),d=t.filter(e=>!e.maintUntil);return"err"===e.state||"warn"===e.state?d.some(e=>!s(e)&&"err"===e.state)?{state:"err",maintEnd:o}:e.building||e.lastDeploy?.state==="building"?{state:"build",maintEnd:o}:d.some(e=>"warn"===e.state||s(e)&&"err"===e.state)||e.dbPaused?{state:"warn",maintEnd:o}:{state:"maint",maintEnd:o}:d.length||"ok"!==e.state&&"unknown"!==e.state?{state:l,maintEnd:o}:{state:"maint",maintEnd:o}}let b={err:6,fail:6,warn:5,paused:5,build:4,unknown:3,idle:2,off:1,info:1,maint:1,ok:0};function m(e){return e.reduce((e,t)=>b[t]>b[e]?t:e,"ok")}let w=(e,t)=>`${e} ${t}${1===e?"":"s"}`,p=["ok","build","idle","paused","maint","warn","err","fail","unknown","off","info"];e.s(["q",0,[["ok","Running"],["build","Building"],["warn","Degraded"],["err","Down"]],"s",0,[["ok","Ready"],["build","Building"],["fail","Error"]],"D",0,{deployment:"Deployment",monitor:"Monitor",database:"Database",system:"System",action:"Action"},"g",0,[["ok","Up"],["warn","Degraded"],["err","Down"],["maint","Maintenance"]],"X",0,{ok:"healthy",warn:"degraded",err:"down",idle:"idle",build:"building",paused:"paused",info:"info",fail:"failed",off:"off",unknown:"unknown",maint:"maintenance"},"J",0,(...e)=>`Actions for ${e.filter(Boolean).join(" ")}`,"k",0,function(e){if(e.gone)return{state:"off",label:"Gone from Vercel"};let t=d(e.monitors),n=s(t)?t?.name??"heartbeat":null,{state:i,maintEnd:l}=f(e);return"maint"===i&&l?{state:"maint",label:`Maintenance \xb7 until ${(0,r.U)(l)}`}:"ok"===i?{state:"ok",label:"Running"}:"build"===i?{state:"build",label:"Building"}:"warn"===i?!t&&e.dbPaused?{state:"warn",label:"Degraded · DB paused"}:n?{state:"warn",label:t?.state==="err"?`Degraded \xb7 job ${n} not pinging`:`Degraded \xb7 job ${n} late`}:{state:"warn",label:`Degraded \xb7 ${u(t)}`}:"err"===i?{state:"err",label:n?`Down \xb7 ${n}`:`Down \xb7 ${u(t)}`}:e.monitors.some(a.i)?{state:"unknown",label:"Not checked yet"}:{state:"unknown",label:"No active monitors"}},"z",0,e=>(0,i.L)(e,"operator"),"f",0,function(e,t){if(!e)return{state:"unknown",sub:"Hasn't run yet"};let a=null===e.durationMs?"—":`${(e.durationMs/1e3).toFixed(1)} s`;return{state:(0,n.m)(e.finishedAt,t).state,sub:`${(0,r.$)(e.finishedAt,t)} \xb7 ${a} \xb7 ${w(e.checks,"check")}`}},"u",0,function(e,t){if(!e.length)return null;let n=e.length,a="viewer"===t?[...new Set(e.map(e=>e.provider))]:e.map(e=>`${e.provider} \xb7 ${(0,l.G)(e.label)}`);return{title:`${n} connection${n>1?"s need":" needs"} attention`,body:`${a.join(", ")}. Data from ${n>1?"these accounts is":"this account is"} not being updated.`}},"Y",0,function(e){return"ready"===e?{state:"ok",label:"Ready"}:"building"===e?{state:"build",label:"Building"}:"error"===e?{state:"fail",label:"Error"}:{state:"off",label:"Canceled"}},"M",0,function(e,t,n=new Date){if(e.appGone)return{state:"off",label:"App removed from Vercel"};if(e.ownerPaused)return{state:"paused",label:"Paused"};if(e.paused)return{state:"off",label:"App not watched"};let i=t?.end??e.maintUntil;if(i)return{state:"maint",label:`Maintenance \xb7 until ${(0,r.U)(i)}`};if(s(e))return"ok"===e.state?{state:"ok",label:e.lastPingAt?`Up \xb7 pinged ${(0,r.$)(e.lastPingAt,n)}`:"Up"}:"warn"===e.state?{state:"warn",label:"Late"}:"err"===e.state?{state:"err",label:e.lastError?.startsWith("Down · ")?e.lastError:"Down · no ping"}:{state:"unknown",label:"Waiting for the first ping"};if(e.move)return{state:"warn",label:`Domain changed: ${e.move.from} → ${e.move.to}`};let l=(0,a.H)(e)??(null===e.lastStatus?"no answer":String(e.lastStatus));return"ok"===e.state?{state:"ok",label:"Up"}:"warn"===e.state?{state:"warn",label:`Degraded \xb7 ${l}`}:"err"===e.state?{state:"err",label:`Down \xb7 ${l}`}:{state:"unknown",label:"Waiting for first check"}},"m",0,function(e,n){let i=[];for(let r of e){let e=f(r).state;if(r.gone||"err"!==e&&"warn"!==e)continue;let l=d(r.monitors);if("warn"===e&&!l&&r.dbPaused)continue;let u=l&&(0,a.H)(l)?(0,a.H)(l):l?.lastStatus?`HTTP ${l.lastStatus}`:"No answer",b={label:"Open app",href:`/apps/${r.id}`},m=s(l)?l?.name??"heartbeat":null;if(m&&l?.state==="err"){i.push({key:r.id,tone:"warning",title:`${r.name}: background job ${m} is down`,body:`The website is up; the job hasn't pinged${r.since?` for ${(0,o.o)(r.since,n)}`:""}.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if(m){i.push({key:r.id,tone:"warning",title:`${r.name} is degraded`,body:`The job ${m} is late. It's marked down once its grace time passes too.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if("err"===e){let e=r.lastDeploy?.state==="error"?r.lastDeploy:null;i.push({key:r.id,tone:"danger",title:`${r.name} is down`,body:`${u}${r.since?` for ${(0,o.o)(r.since,n)}`:""}.${e?` The last production deploy failed at ${(0,o.v)(e.readyAt??e.createdAt,n)}.`:""}`,action:e?{label:"View deployment",href:"/deployments"}:b})}else{let e=Math.max(1,l?.failStreak??1);i.push({key:r.id,tone:"warning",title:`${r.name} is degraded`,body:`${u} on ${w(e,"check")} in a row. It's marked down after ${t.I}.`,action:b})}}return[...i.filter(e=>"danger"===e.tone),...i.filter(e=>"warning"===e.tone)]},"R",0,function(e){return p.map(t=>({state:t,n:e.filter(e=>e===t).length})).filter(e=>e.n>0)},"E",0,function(e){if(!e.length)return{state:"unknown",sub:"No apps watched yet",empty:!0};let t=t=>e.filter(e=>e===t).length,n=[["err","down"],["warn","degraded"],["build","building"]].filter(([e])=>t(e)>0).map(([e,n])=>`${t(e)} ${n}`);return{state:m(e),sub:`${w(e.length,"app")}${n.length?` \xb7 ${n.join(", ")}`:""}`}},"S",0,m,"e",0,d])}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_view_labels_ts_1uxs84z7vclz5._.js.map