watchbell 1.2.4 → 1.2.6

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 (678) hide show
  1. package/package.json +1 -1
  2. package/server/.next/BUILD_ID +1 -1
  3. package/server/.next/build-manifest.json +3 -3
  4. package/server/.next/prerender-manifest.json +3 -3
  5. package/server/.next/required-server-files.json +1 -1
  6. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +22 -12
  7. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +60 -60
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  10. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +21 -11
  11. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +60 -60
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  13. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  14. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +20 -10
  15. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +60 -60
  16. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  18. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +23 -13
  19. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +60 -60
  20. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  21. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  22. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +21 -11
  23. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +60 -60
  24. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  25. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  26. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +30 -20
  27. package/server/.next/server/app/(console)/(private)/ai/models/page.js +60 -60
  28. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  29. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  30. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +20 -10
  31. package/server/.next/server/app/(console)/(private)/ai/page.js +60 -60
  32. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  33. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  34. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +23 -13
  35. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +60 -60
  36. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  37. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  38. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +26 -16
  39. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +60 -60
  40. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  41. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  42. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +21 -11
  43. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +60 -60
  44. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  45. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  46. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +21 -11
  47. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +60 -60
  48. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  49. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  50. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +20 -10
  51. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +60 -60
  52. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  53. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  54. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +21 -11
  55. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +60 -60
  56. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  57. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  58. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +36 -26
  59. package/server/.next/server/app/(console)/alerts/page.js +60 -60
  60. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  61. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  62. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +37 -27
  63. package/server/.next/server/app/(console)/apps/[id]/page.js +60 -60
  64. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  65. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  66. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +23 -13
  67. package/server/.next/server/app/(console)/apps/page.js +60 -60
  68. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  69. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  70. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +23 -13
  71. package/server/.next/server/app/(console)/backups/page.js +60 -60
  72. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  73. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  74. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +20 -10
  75. package/server/.next/server/app/(console)/catalog/page.js +60 -60
  76. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  77. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  78. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +31 -21
  79. package/server/.next/server/app/(console)/connections/page.js +60 -60
  80. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  81. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  82. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +20 -10
  83. package/server/.next/server/app/(console)/d1/page.js +60 -60
  84. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  85. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  86. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +26 -16
  87. package/server/.next/server/app/(console)/deployments/page.js +60 -60
  88. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  89. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  90. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +27 -17
  91. package/server/.next/server/app/(console)/dns/page.js +60 -60
  92. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  93. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  94. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +22 -12
  95. package/server/.next/server/app/(console)/domains/page.js +60 -60
  96. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  97. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  98. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +20 -10
  99. package/server/.next/server/app/(console)/events/page.js +60 -60
  100. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  101. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  102. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +27 -17
  103. package/server/.next/server/app/(console)/firebase/page.js +60 -60
  104. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  105. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  106. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +21 -11
  107. package/server/.next/server/app/(console)/logs/page.js +60 -60
  108. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  109. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  110. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +21 -11
  111. package/server/.next/server/app/(console)/manage/sections/page.js +60 -60
  112. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  113. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  114. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +31 -21
  115. package/server/.next/server/app/(console)/neon/page.js +60 -60
  116. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  117. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  118. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +30 -20
  119. package/server/.next/server/app/(console)/overview/page.js +60 -60
  120. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  121. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  122. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +21 -11
  123. package/server/.next/server/app/(console)/repos/[id]/page.js +60 -60
  124. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  125. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  126. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +20 -10
  127. package/server/.next/server/app/(console)/repos/page.js +60 -60
  128. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  129. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  130. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +30 -20
  131. package/server/.next/server/app/(console)/settings/page.js +60 -60
  132. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  133. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  134. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +27 -17
  135. package/server/.next/server/app/(console)/sql/page.js +60 -60
  136. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  137. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  138. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +20 -10
  139. package/server/.next/server/app/(console)/status/page.js +60 -60
  140. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  141. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  142. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +41 -31
  143. package/server/.next/server/app/(console)/supabase/page.js +60 -60
  144. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  145. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  146. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +20 -10
  147. package/server/.next/server/app/(console)/topology/page.js +60 -60
  148. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  149. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  150. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +20 -10
  151. package/server/.next/server/app/(console)/turso/page.js +60 -60
  152. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  153. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  154. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +20 -10
  155. package/server/.next/server/app/(console)/upstash/page.js +60 -60
  156. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  157. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  158. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +34 -24
  159. package/server/.next/server/app/(console)/uptime/page.js +60 -60
  160. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  161. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  162. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +25 -15
  163. package/server/.next/server/app/(console)/welcome/page.js +60 -60
  164. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  165. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  166. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  167. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  168. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  169. package/server/.next/server/app/_global-error.html +1 -1
  170. package/server/.next/server/app/_global-error.rsc +2 -2
  171. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  172. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  173. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  174. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  175. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  176. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  177. package/server/.next/server/app/_not-found.html +1 -1
  178. package/server/.next/server/app/_not-found.rsc +3 -3
  179. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  180. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  181. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  182. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  183. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  184. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  185. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +17 -7
  186. package/server/.next/server/app/api/collect/route.js +63 -63
  187. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  188. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +17 -7
  189. package/server/.next/server/app/api/daily/route.js +45 -45
  190. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  191. package/server/.next/server/app/api/health/route.js.nft.json +1 -1
  192. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  193. package/server/.next/server/app/api/status/route.js +2 -2
  194. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  195. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +17 -7
  196. package/server/.next/server/app/api/telegram/webhook/route.js +42 -42
  197. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  198. package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
  199. package/server/.next/server/app/api/v1/advice/route.js +4 -3
  200. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  201. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  202. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  203. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  204. package/server/.next/server/app/api/v1/ai/questions/route.js +2 -2
  205. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  206. package/server/.next/server/app/api/v1/mcp/route.js +1 -1
  207. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  208. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  209. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  210. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +4 -3
  211. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  212. package/server/.next/server/app/api/v1/status/route.js +4 -3
  213. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  214. package/server/.next/server/app/api/watchdog/route.js +15 -15
  215. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  216. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  217. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  218. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  219. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  220. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  221. package/server/.next/server/app/icon.svg/route.js.nft.json +1 -1
  222. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  223. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  224. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  225. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  226. package/server/.next/server/app/mfa/page.js +14 -14
  227. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  228. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  229. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  230. package/server/.next/server/app/mfa/setup/page.js +14 -14
  231. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  232. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  233. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  234. package/server/.next/server/app/page.js.nft.json +1 -1
  235. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  236. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  237. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  238. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  239. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  240. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  241. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  242. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  243. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  244. package/server/.next/server/app/signin/page.js +23 -23
  245. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  246. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  247. package/server/.next/server/chunks/{[externals]__0ia-wyj5qrosx._.js → [externals]__1-y7b_mfadqi-._.js} +1 -1
  248. package/server/.next/server/chunks/{[externals]__0igl_rsv6z3fr._.js → [externals]__1b3dgyi9diwhy._.js} +1 -1
  249. package/server/.next/server/chunks/{[externals]__0mh8e6gkgfswq._.js → [externals]__1dd9hhrnxhegy._.js} +1 -1
  250. package/server/.next/server/chunks/{[root-of-the-server]__0_e2eoq7w3ff_._.js → [root-of-the-server]__0-zrmrb4499ay._.js} +2 -2
  251. package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +1 -1
  252. package/server/.next/server/chunks/{[root-of-the-server]__0ezd1s2862iob._.js → [root-of-the-server]__02h-ec_gusm_2._.js} +2 -2
  253. package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.js +1 -1
  254. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  255. package/server/.next/server/chunks/{[root-of-the-server]__0exicuoq6gmph._.js → [root-of-the-server]__038br8sr9eepd._.js} +2 -2
  256. package/server/.next/server/chunks/{[root-of-the-server]__20ng0hgzxagf_._.js → [root-of-the-server]__040a3il587nja._.js} +2 -2
  257. package/server/.next/server/chunks/[root-of-the-server]__04htuwoulmp21._.js +3 -0
  258. package/server/.next/server/chunks/{[root-of-the-server]__0cc32xnniktg9._.js → [root-of-the-server]__04iumkvxok49x._.js} +2 -2
  259. package/server/.next/server/chunks/[root-of-the-server]__05qcc-0e8z1u8._.js +1 -1
  260. package/server/.next/server/chunks/{[root-of-the-server]__01vos42kjq9nn._.js → [root-of-the-server]__0655w3_d4ejfb._.js} +1 -1
  261. package/server/.next/server/chunks/[root-of-the-server]__07eo--c90cju2._.js +1 -1
  262. package/server/.next/server/chunks/{[root-of-the-server]__05zj7uswzr0f9._.js → [root-of-the-server]__08i6b8tzxads4._.js} +2 -2
  263. package/server/.next/server/chunks/{[root-of-the-server]__0-ftc1hhcjcl2._.js → [root-of-the-server]__09dk9k-9q4d16._.js} +2 -2
  264. package/server/.next/server/chunks/[root-of-the-server]__0a5op--7u5_xh._.js +3 -0
  265. package/server/.next/server/chunks/{[root-of-the-server]__040ix5fqb_zb-._.js → [root-of-the-server]__0a5t6bkr3-uqw._.js} +2 -2
  266. package/server/.next/server/chunks/{[root-of-the-server]__1gt_-h9n48pwi._.js → [root-of-the-server]__0c0pkv3an1lg-._.js} +2 -2
  267. package/server/.next/server/chunks/{[root-of-the-server]__0185dne3slx7e._.js → [root-of-the-server]__0cmp5mwchd8sn._.js} +2 -2
  268. package/server/.next/server/chunks/{[root-of-the-server]__0oqltt9cni6m0._.js → [root-of-the-server]__0ct18spdi1leu._.js} +2 -2
  269. package/server/.next/server/chunks/{[root-of-the-server]__0r88w3qhrtzz_._.js → [root-of-the-server]__0db2p-om-b_4s._.js} +1 -1
  270. package/server/.next/server/chunks/[root-of-the-server]__0dfx2psnngcys._.js +3 -0
  271. package/server/.next/server/chunks/[root-of-the-server]__0fc4c9-xzmkol._.js +3 -0
  272. package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +1 -1
  273. package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +1 -1
  274. package/server/.next/server/chunks/{[root-of-the-server]__0rb1-3538-pq9._.js → [root-of-the-server]__0jswmvddgl3sb._.js} +1 -1
  275. package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +1 -1
  276. package/server/.next/server/chunks/{[root-of-the-server]__0ms1uw85c5wg2._.js → [root-of-the-server]__0lco43i5w25zg._.js} +2 -2
  277. package/server/.next/server/chunks/[root-of-the-server]__0lht1cr4aiudu._.js +3 -0
  278. package/server/.next/server/chunks/{[root-of-the-server]__0ikiyg3u02ofv._.js → [root-of-the-server]__0m_nqt44ioex_._.js} +1 -1
  279. package/server/.next/server/chunks/[root-of-the-server]__0mrbo2p5fy4ji._.js +3 -0
  280. package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.js +1 -1
  281. package/server/.next/server/chunks/{[root-of-the-server]__0w_og0zl6hqzj._.js → [root-of-the-server]__0qme276hvajvy._.js} +1 -1
  282. package/server/.next/server/chunks/[root-of-the-server]__0r3cq1lecww4e._.js +3 -0
  283. package/server/.next/server/chunks/{[root-of-the-server]__0070gc9ml0mf7._.js → [root-of-the-server]__0r_6xpjwcdrda._.js} +1 -1
  284. package/server/.next/server/chunks/[root-of-the-server]__0rctmpp7p7cp9._.js +3 -0
  285. package/server/.next/server/chunks/{[root-of-the-server]__0x47i6wm-cd1z._.js → [root-of-the-server]__0ruici82tzf0w._.js} +2 -2
  286. package/server/.next/server/chunks/{[root-of-the-server]__0e2utnqdim70d._.js → [root-of-the-server]__0s8wo4espz6eu._.js} +2 -2
  287. package/server/.next/server/chunks/[root-of-the-server]__0sp5xoed3-994._.js +3 -0
  288. package/server/.next/server/chunks/{[root-of-the-server]__0twr9duara46x._.js → [root-of-the-server]__0sq7jwlhv9n79._.js} +2 -2
  289. package/server/.next/server/chunks/{[root-of-the-server]__0sabwm3w1rm0q._.js → [root-of-the-server]__0ubalx5w0ds9m._.js} +1 -1
  290. package/server/.next/server/chunks/[root-of-the-server]__0ux1hi2fgqxu7._.js +3 -0
  291. package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
  292. package/server/.next/server/chunks/[root-of-the-server]__0vv63vp8y0fs-._.js +3 -0
  293. package/server/.next/server/chunks/{[root-of-the-server]__0-st5xltl53h9._.js → [root-of-the-server]__0w07p3ypro834._.js} +2 -2
  294. package/server/.next/server/chunks/{[root-of-the-server]__0x6qqr79pq_j9._.js → [root-of-the-server]__0whk62ebfu1u0._.js} +1 -1
  295. package/server/.next/server/chunks/{[root-of-the-server]__1vqs8o9bv1wbk._.js → [root-of-the-server]__0x4_tt5v17fx3._.js} +2 -2
  296. package/server/.next/server/chunks/{[root-of-the-server]__05jzua9637vlo._.js → [root-of-the-server]__0x929r1phz1oi._.js} +2 -2
  297. package/server/.next/server/chunks/{[root-of-the-server]__01yzy5zxsekxi._.js → [root-of-the-server]__0ycpg444s91lb._.js} +1 -1
  298. package/server/.next/server/chunks/[root-of-the-server]__0z3hf530bwcq_._.js +3 -0
  299. package/server/.next/server/chunks/[root-of-the-server]__0zkeao78mms1_._.js +3 -0
  300. package/server/.next/server/chunks/{[root-of-the-server]__0kt0hjvyklnk8._.js → [root-of-the-server]__0zu1odpvrptrt._.js} +2 -2
  301. package/server/.next/server/chunks/[root-of-the-server]__0zwr7fll4dm9q._.js +3 -0
  302. package/server/.next/server/chunks/{[root-of-the-server]__0cz3da2wx3_wd._.js → [root-of-the-server]__1-2ckgdamg0-j._.js} +2 -2
  303. package/server/.next/server/chunks/[root-of-the-server]__1-ne3clcouvm2._.js +3 -0
  304. package/server/.next/server/chunks/[root-of-the-server]__1-xgpr5q148ze._.js +3 -0
  305. package/server/.next/server/chunks/[root-of-the-server]__10negjjz5k5bz._.js +3 -0
  306. package/server/.next/server/chunks/{[root-of-the-server]__1bce11artflky._.js → [root-of-the-server]__12lrpnd-dhawi._.js} +2 -2
  307. package/server/.next/server/chunks/[root-of-the-server]__14-pt1-s1o5ex._.js +3 -0
  308. package/server/.next/server/chunks/[root-of-the-server]__14jw0y_hj7jmw._.js +3 -0
  309. package/server/.next/server/chunks/{[root-of-the-server]__0znmcklxfccvk._.js → [root-of-the-server]__15vqo7amys573._.js} +2 -2
  310. package/server/.next/server/chunks/[root-of-the-server]__16jyhasrd2ojp._.js +3 -0
  311. package/server/.next/server/chunks/{[root-of-the-server]__0kzpzdkpz_nt0._.js → [root-of-the-server]__177l2p7kcj-16._.js} +2 -2
  312. package/server/.next/server/chunks/{[root-of-the-server]__186-sa38csgot._.js → [root-of-the-server]__17dr2z1o1hsvk._.js} +1 -1
  313. package/server/.next/server/chunks/{[root-of-the-server]__08-puk3_gawjd._.js → [root-of-the-server]__17jngidngj3rb._.js} +2 -2
  314. package/server/.next/server/chunks/[root-of-the-server]__19k0l-ubyp1j_._.js +3 -0
  315. package/server/.next/server/chunks/[root-of-the-server]__1_zr2xlmtkn4l._.js +3 -0
  316. package/server/.next/server/chunks/[root-of-the-server]__1aagly59gw-xf._.js +3 -0
  317. package/server/.next/server/chunks/[root-of-the-server]__1bg8grh9kfims._.js +3 -0
  318. package/server/.next/server/chunks/{[root-of-the-server]__0tykhzqhwdx_k._.js → [root-of-the-server]__1bjvjngj7lvqi._.js} +2 -2
  319. package/server/.next/server/chunks/[root-of-the-server]__1c0cb3ur16yhh._.js +3 -0
  320. package/server/.next/server/chunks/[root-of-the-server]__1c1nhm-kj5kqu._.js +3 -0
  321. package/server/.next/server/chunks/[root-of-the-server]__1c78cu7kb9vkl._.js +1 -1
  322. package/server/.next/server/chunks/{[root-of-the-server]__1g4iy2tasmn0f._.js → [root-of-the-server]__1d1u-wejsfl84._.js} +1 -1
  323. package/server/.next/server/chunks/[root-of-the-server]__1d4wmw2wohveb._.js +3 -0
  324. package/server/.next/server/chunks/{[root-of-the-server]__1spds17tpnsgr._.js → [root-of-the-server]__1etg41llk7f09._.js} +2 -2
  325. package/server/.next/server/chunks/[root-of-the-server]__1g6xpr_typmce._.js +3 -0
  326. package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +1 -1
  327. package/server/.next/server/chunks/{[root-of-the-server]__1a7_3nq1jjab-._.js → [root-of-the-server]__1jjusd74y8gd5._.js} +2 -2
  328. package/server/.next/server/chunks/[root-of-the-server]__1jvy8r4n-62x7._.js +3 -0
  329. package/server/.next/server/chunks/[root-of-the-server]__1kr6f03r82mk6._.js +3 -0
  330. package/server/.next/server/chunks/[root-of-the-server]__1kwldcrcmwc0x._.js +3 -0
  331. package/server/.next/server/chunks/[root-of-the-server]__1lq25064c4ny_._.js +3 -0
  332. package/server/.next/server/chunks/[root-of-the-server]__1m8gyvj7rkapj._.js +1 -1
  333. package/server/.next/server/chunks/{[root-of-the-server]__1_zjje9edw0bz._.js → [root-of-the-server]__1nm0sjvuf9jrb._.js} +2 -2
  334. package/server/.next/server/chunks/[root-of-the-server]__1ozfk4_3lx1o7._.js +1 -1
  335. package/server/.next/server/chunks/{[root-of-the-server]__0i75m0es1m3hf._.js → [root-of-the-server]__1p3fqi03x5du8._.js} +1 -1
  336. package/server/.next/server/chunks/[root-of-the-server]__1pa_syiho939h._.js +3 -0
  337. package/server/.next/server/chunks/[root-of-the-server]__1qmdi981syrsn._.js +3 -0
  338. package/server/.next/server/chunks/[root-of-the-server]__1r24segt1slar._.js +3 -0
  339. package/server/.next/server/chunks/[root-of-the-server]__1r9v6qgjwlv32._.js +3 -0
  340. package/server/.next/server/chunks/[root-of-the-server]__1sm4p209f_yie._.js +3 -0
  341. package/server/.next/server/chunks/{[root-of-the-server]__0xqgsjnebebv8._.js → [root-of-the-server]__1smidspfoqz48._.js} +2 -2
  342. package/server/.next/server/chunks/{[root-of-the-server]__20r_62r36t28o._.js → [root-of-the-server]__1t87mhqedigsz._.js} +2 -2
  343. package/server/.next/server/chunks/[root-of-the-server]__1u5my3-gpw499._.js +3 -0
  344. package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +1 -1
  345. package/server/.next/server/chunks/{[root-of-the-server]__1ny8nr52qvr4i._.js → [root-of-the-server]__20sp5m_w5iklm._.js} +2 -2
  346. package/server/.next/server/chunks/{_1_9n8x5ncta29._.js → _0-jfehdfklu-i._.js} +2 -2
  347. package/server/.next/server/chunks/{_1n-fm2bdo9t2m._.js → _0-ub844lc_z_a._.js} +3 -3
  348. package/server/.next/server/chunks/_05hhw0eql5-dv._.js +10 -0
  349. package/server/.next/server/chunks/{_0zj10_al6r59j._.js → _08fv52mqg619m._.js} +2 -2
  350. package/server/.next/server/chunks/{_1cq1vvbp6pglr._.js → _08z7lmk32r__5._.js} +3 -3
  351. package/server/.next/server/chunks/_0b7rdk-4lrvfy._.js +10 -0
  352. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  353. package/server/.next/server/chunks/{_1myv9csc_in08._.js → _1-pv4d4qhe7to._.js} +3 -3
  354. package/server/.next/server/chunks/_12g2m3a5e94_5._.js +3 -0
  355. package/server/.next/server/chunks/{_1e_rbkrukj0x9._.js → _13dlt388gceez._.js} +2 -2
  356. package/server/.next/server/chunks/_19wqm5leaaesp._.js +1 -1
  357. package/server/.next/server/chunks/{_0ls7sornjrg95._.js → _1b1t9p1xljuql._.js} +1 -1
  358. package/server/.next/server/chunks/_1d_77nvqcnkcg._.js +3 -0
  359. package/server/.next/server/chunks/_1e_6lrlg9ml3-._.js +1 -1
  360. package/server/.next/server/chunks/_1l-68brbq289m._.js +10 -0
  361. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  362. package/server/.next/server/chunks/{src_0_l3dzp06o4x5._.js → src_01fd1ve-xj9xo._.js} +2 -2
  363. package/server/.next/server/chunks/{src_0m6xxpw2u-xv_._.js → src_049aazgsmienv._.js} +2 -2
  364. package/server/.next/server/chunks/src_05vq-abuilwk4._.js +3 -0
  365. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  366. package/server/.next/server/chunks/src_06lwphwuzgl6e._.js +3 -0
  367. package/server/.next/server/chunks/src_0_9n02bmhtk4z._.js +3 -0
  368. package/server/.next/server/chunks/src_0tw-h0otr2tgt._.js +1 -1
  369. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  370. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  371. package/server/.next/server/chunks/{src_15fupbs9-n8q9._.js → src_20sym_ohuqw76._.js} +2 -2
  372. package/server/.next/server/chunks/src_2108_me3q06ih._.js +3 -0
  373. package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +1 -1
  374. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  375. package/server/.next/server/chunks/src_lib_0pyyxm3m1rttg._.js +9 -0
  376. package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +9 -0
  377. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +5 -5
  378. package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +15 -15
  379. package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +13 -13
  380. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +13 -13
  381. package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +13 -13
  382. package/server/.next/server/chunks/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  383. package/server/.next/server/chunks/src_private_1_nggk_wre7qf._.js +2 -2
  384. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  385. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
  386. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
  387. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
  388. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
  389. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
  390. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
  391. package/server/.next/server/chunks/ssr/{[externals]__0vlxry7jq5j1j._.js → [externals]__0d7rvi3tmo9zf._.js} +1 -1
  392. package/server/.next/server/chunks/ssr/{[externals]__1mol6ksxmtkv6._.js → [externals]__1rj83sktdlxvt._.js} +1 -1
  393. package/server/.next/server/chunks/ssr/{[externals]__0yyslm1ka5px3._.js → [externals]__1s7xw086rvse0._.js} +1 -1
  394. package/server/.next/server/chunks/ssr/{[externals]__0irbihjwcc9is._.js → [externals]__20leqouf6m6f3._.js} +1 -1
  395. package/server/.next/server/chunks/ssr/{[root-of-the-server]__193nmh09rrpbx._.js → [root-of-the-server]__0-zqh1gf4dsj3._.js} +1 -1
  396. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
  397. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ctkj-25wt37o._.js → [root-of-the-server]__05gue5stvejba._.js} +3 -3
  398. package/server/.next/server/chunks/ssr/[root-of-the-server]__077-acap7g4ck._.js +3 -0
  399. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0wi2grctadbk8._.js → [root-of-the-server]__080do5vfu69n5._.js} +1 -1
  400. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0xjg51t1__v-s._.js → [root-of-the-server]__08u1c2f2i7ru4._.js} +1 -1
  401. package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
  402. package/server/.next/server/chunks/ssr/[root-of-the-server]__0amfa4t2-in-x._.js +3 -0
  403. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0sj92w6mg92ds._.js → [root-of-the-server]__0b3g72j9cu141._.js} +2 -2
  404. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ed6qo3lg9_f9._.js +3 -0
  405. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0z_1k5876-_wx._.js → [root-of-the-server]__0ee5ew5q3jh8i._.js} +2 -2
  406. package/server/.next/server/chunks/ssr/{[root-of-the-server]__110158s15r7mi._.js → [root-of-the-server]__0fd39clnjw9fb._.js} +2 -2
  407. package/server/.next/server/chunks/ssr/[root-of-the-server]__0h9rpg5-lhp5q._.js +3 -0
  408. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
  409. package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
  410. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
  411. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1a0b_dbx4uans._.js → [root-of-the-server]__0p86d9imejczs._.js} +2 -2
  412. package/server/.next/server/chunks/ssr/{[root-of-the-server]__133_j0bmsjnzt._.js → [root-of-the-server]__0q7rssq_3unbc._.js} +2 -2
  413. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
  414. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
  415. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_h_ya1h8efdj._.js → [root-of-the-server]__0tqqte5jb6jz7._.js} +2 -2
  416. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ijizmc3ga_6o._.js → [root-of-the-server]__0xscr-8y9a4cj._.js} +2 -2
  417. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ogwz1buruc_x._.js → [root-of-the-server]__11paa809_igt_._.js} +2 -2
  418. package/server/.next/server/chunks/ssr/[root-of-the-server]__18gcvkhrt73zc._.js +3 -0
  419. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  420. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1tj-iwvrxfd1a._.js → [root-of-the-server]__1o6cysvbfkltz._.js} +1 -1
  421. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0hzlz_t5eect2._.js → [root-of-the-server]__1qrk2rfmx21b_._.js} +2 -2
  422. package/server/.next/server/chunks/ssr/[root-of-the-server]__1sw2q1p1t59y8._.js +1 -1
  423. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1kfivch_kfesn._.js → [root-of-the-server]__1tgcpistmcbrd._.js} +3 -3
  424. package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
  425. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1-d88ogkwql_b._.js → [root-of-the-server]__1uzqsxyxwffdo._.js} +2 -2
  426. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0n-sc7pzu7fpz._.js → [root-of-the-server]__1y7nfsglxx7cn._.js} +1 -1
  427. package/server/.next/server/chunks/ssr/[root-of-the-server]__1zmuaump_n9c1._.js +3 -0
  428. package/server/.next/server/chunks/ssr/_0-wc6f6p0c8lv._.js +1 -1
  429. package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
  430. package/server/.next/server/chunks/ssr/{_0e4xfzm8oecc-._.js → _07-dfx0qix52k._.js} +2 -2
  431. package/server/.next/server/chunks/ssr/{_1jclq5d7tposb._.js → _07f-svx_l12lw._.js} +2 -2
  432. package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
  433. package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +3 -0
  434. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  435. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  436. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  437. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  438. package/server/.next/server/chunks/ssr/_0c7stbntpuyt_._.js +1 -1
  439. package/server/.next/server/chunks/ssr/_0c8kew3jsb-yb._.js +3 -0
  440. package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
  441. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  442. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
  443. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  444. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
  445. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
  446. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
  447. package/server/.next/server/chunks/ssr/{_1e5kqt081d8yt._.js → _0jqrjb30bblvy._.js} +2 -2
  448. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
  449. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  450. package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
  451. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
  452. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
  453. package/server/.next/server/chunks/ssr/_0rsh9v4b3yj0b._.js +3 -0
  454. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
  455. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
  456. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +1 -1
  457. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  458. package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +2 -2
  459. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  460. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  461. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  462. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
  463. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  464. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  465. package/server/.next/server/chunks/ssr/{_1rinsar6bp6ul._.js → _1bc69myq83woe._.js} +2 -2
  466. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
  467. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  468. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
  469. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
  470. package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
  471. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  472. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
  473. package/server/.next/server/chunks/ssr/{_08d4hz_ddxc02._.js → _1j61tfpfj2t9d._.js} +2 -2
  474. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  475. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  476. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
  477. package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
  478. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
  479. package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +1 -1
  480. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
  481. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  482. package/server/.next/server/chunks/ssr/_218164gkxgum_._.js +1 -1
  483. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
  484. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
  485. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
  486. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_0y5m8cul6d7kk.js +1 -1
  487. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
  488. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
  489. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
  490. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
  491. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
  492. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
  493. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
  494. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +1 -1
  495. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
  496. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
  497. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  498. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  499. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
  500. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  501. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  502. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  503. package/server/.next/server/chunks/ssr/src_0dceh6hsdybq8._.js +3 -0
  504. package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
  505. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  506. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
  507. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  508. package/server/.next/server/chunks/ssr/{src_186l56gdeizg8._.js → src_14ulgwoxoyfkq._.js} +2 -2
  509. package/server/.next/server/chunks/ssr/src_1bg_io_v7gt71._.js +3 -0
  510. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  511. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  512. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  513. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  514. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  515. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  516. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  517. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  518. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  519. package/server/.next/server/chunks/ssr/{src_app_(console)_1co5pna1vfflj._.js → src_app_(console)_0e832kna-734m._.js} +2 -2
  520. package/server/.next/server/chunks/ssr/src_app_(console)_0kwns5iudhgwj._.js +3 -0
  521. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
  522. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  523. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  524. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  525. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  526. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  527. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  528. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  529. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  530. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  531. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  532. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  533. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  534. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  535. package/server/.next/server/chunks/ssr/src_app_(console)_overview_page_tsx_0se3f3ln9q-42._.js +1 -1
  536. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  537. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  538. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  539. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  540. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  541. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  542. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  543. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  544. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  545. package/server/.next/server/chunks/ssr/src_app_signin_1fj68y-bbe-xr._.js +3 -0
  546. package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +1 -1
  547. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  548. package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +1 -1
  549. package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
  550. package/server/.next/server/chunks/ssr/src_lib_1gauld53vvpev._.js +3 -0
  551. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
  552. package/server/.next/server/chunks/ssr/{src_lib_demo_0ftmf3wmtezvl._.js → src_lib_demo_09ht4doed9eqi._.js} +2 -2
  553. package/server/.next/server/chunks/ssr/src_lib_demo_1b1yd_ne2dpeh._.js +1 -1
  554. package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +14 -14
  555. package/server/.next/server/chunks/ssr/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  556. package/server/.next/server/chunks/ssr/src_private_04omlb_sgy-_r._.js +2 -2
  557. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  558. package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +6 -0
  559. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  560. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  561. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  562. package/server/.next/server/middleware-build-manifest.js +3 -3
  563. package/server/.next/server/pages/404.html +1 -1
  564. package/server/.next/server/pages/500.html +1 -1
  565. package/server/.next/server/preview-props.json +3 -3
  566. package/server/.next/server/server-reference-manifest.js +1 -1
  567. package/server/.next/server/server-reference-manifest.json +321 -143
  568. package/server/.next/static/chunks/{1ukyjy13dwy_z.js → 0-ett1b-o34r0.js} +1 -1
  569. package/server/.next/static/chunks/{3f1td0b-oy-sr.js → 0-fov5gyz32mj.js} +1 -1
  570. package/server/.next/static/chunks/{38g-5wiggu6__.js → 041ko45qawas9.js} +1 -1
  571. package/server/.next/static/chunks/{33ddsp07_9o1d.js → 0ia5361d7hoce.js} +2 -2
  572. package/server/.next/static/chunks/{2xio-kspedw69.js → 0m40tf7-fh2ht.js} +1 -1
  573. package/server/.next/static/chunks/{1y_6crandf_3f.js → 0o6_y6xu__s6q.js} +1 -1
  574. package/server/.next/static/chunks/{2s-_9p0-395sm.js → 0x1xj431cbkfa.js} +1 -1
  575. package/server/.next/static/chunks/{1xm6ay06cjchs.js → 0x6eipkda93fh.js} +1 -1
  576. package/server/.next/static/chunks/{2-m982u6v7z8m.js → 0zj507c7ui4jt.js} +1 -1
  577. package/server/.next/static/chunks/{40n6mtthd3_sh.js → 11_iva96ceble.js} +1 -1
  578. package/server/.next/static/chunks/{3letbzhf_1srv.js → 15_3o9t6d7ujo.js} +1 -1
  579. package/server/.next/static/chunks/{340qccog2_uge.js → 1e0iyxugtm7b0.js} +2 -2
  580. package/server/.next/static/chunks/{0md0jy9rztofl.js → 1eeqy_pc_llv4.js} +1 -1
  581. package/server/.next/static/chunks/{0-6om8-d7itz8.js → 1g3u_ngexgvss.js} +1 -1
  582. package/server/.next/static/chunks/{2z6gojfx3lqvt.js → 1ghfc_9g9io17.js} +1 -1
  583. package/server/.next/static/chunks/{0v_-lu_cx7f91.js → 1gw40u38oaj6z.js} +1 -1
  584. package/server/.next/static/chunks/{1rkrtrvwbbnjf.js → 1jc9qa7xb63lp.js} +1 -1
  585. package/server/.next/static/chunks/{01u9q07wu6-x1.js → 1muk1ubaswhlj.js} +1 -1
  586. package/server/.next/static/chunks/{31v3igne_z-0k.js → 1qug5gmo2rbaf.js} +1 -1
  587. package/server/.next/static/chunks/{16yvy9zkjac5c.js → 1vyf467_8v-cw.js} +1 -1
  588. package/server/.next/static/chunks/{2a3tky__z9q4j.js → 1z8byc-won_tq.js} +1 -1
  589. package/server/.next/static/chunks/{0181phyuecg9b.js → 1zhnm25vt6hu8.js} +1 -1
  590. package/server/.next/static/chunks/{1gt3cagsbgx4w.js → 243ijh4fs2zsq.js} +1 -1
  591. package/server/.next/static/chunks/{2cipdjdkoq312.js → 299jy1-g0cm8n.js} +1 -1
  592. package/server/.next/static/chunks/{2ue_c6tww95_c.js → 2hscqr4n7hu7n.js} +1 -1
  593. package/server/.next/static/chunks/{18johpgap0xmw.js → 2j4kmkog1zkpo.js} +1 -1
  594. package/server/.next/static/chunks/{18mkhwl0zlvnp.js → 2j9fpx77gfesr.js} +1 -1
  595. package/server/.next/static/chunks/{0hj1-5zruyih6.js → 2jdlcu25qy00d.js} +1 -1
  596. package/server/.next/static/chunks/{3imk3dh9_4wd5.js → 2kurh5s5u8_4-.js} +1 -1
  597. package/server/.next/static/chunks/{1_8g4usrgjnnu.js → 2seth6dz7lydu.js} +1 -1
  598. package/server/.next/static/chunks/{0xcpi35p5fa83.js → 2t30gqjhercob.js} +1 -1
  599. package/server/.next/static/chunks/{1q-m7qgrvvzwb.js → 2y05vm9r_wxds.js} +1 -1
  600. package/server/.next/static/chunks/{0z0may9twpt-j.js → 2ziborutqth-2.js} +1 -1
  601. package/server/.next/static/chunks/{0_5_9w6m-xwd0.js → 3-xb6vd_khwfo.js} +1 -1
  602. package/server/.next/static/chunks/{1sc1vz_ygak9u.js → 36e9fpbpqndu5.js} +1 -1
  603. package/server/.next/static/chunks/{0t66sf4vvalei.js → 3cjokqd7600_0.js} +1 -1
  604. package/server/.next/static/chunks/{3qedt96akbcad.js → 3hpyrqm98toxv.js} +1 -1
  605. package/server/.next/static/chunks/{1ys80h6x541kn.js → 3kqiccrh_bnpl.js} +2 -2
  606. package/server/.next/static/chunks/{3wi930ujb_5_z.js → 3r3-9oir5c1ul.js} +1 -1
  607. package/server/.next/static/chunks/{0krhehmzgigx5.js → 3wl06e5yyzlwh.js} +1 -1
  608. package/server/.next/static/chunks/{3jhh47vezwohc.js → 3xbsyym_tfj0u.js} +1 -1
  609. package/server/.next/static/chunks/{3a5a2iizetq9b.js → 3ymogjp57edbj.js} +1 -1
  610. package/server/.next/static/chunks/{00oeu_tbjky7m.js → 422gxqrwveuyc.js} +1 -1
  611. package/server/.next/static/chunks/{2ect0ww0gtoad.js → 442t8i7d46g9y.js} +2 -2
  612. package/server/.next/static/chunks/{0mp6prf1hx5mx.js → 4545xu4sehvxc.js} +1 -1
  613. package/server/server.js +1 -1
  614. package/server/.next/server/chunks/[root-of-the-server]__0-u9oeob2sa7f._.js +0 -3
  615. package/server/.next/server/chunks/[root-of-the-server]__028cxv1v6v0yb._.js +0 -3
  616. package/server/.next/server/chunks/[root-of-the-server]__04oipax0jupxr._.js +0 -3
  617. package/server/.next/server/chunks/[root-of-the-server]__07byme21uj5ln._.js +0 -3
  618. package/server/.next/server/chunks/[root-of-the-server]__07g16s_wi2sai._.js +0 -3
  619. package/server/.next/server/chunks/[root-of-the-server]__0ab040lxtt8_d._.js +0 -3
  620. package/server/.next/server/chunks/[root-of-the-server]__0dvuy3ibsyiik._.js +0 -3
  621. package/server/.next/server/chunks/[root-of-the-server]__0gmn5s40au84-._.js +0 -3
  622. package/server/.next/server/chunks/[root-of-the-server]__0k7o0hgdraix2._.js +0 -3
  623. package/server/.next/server/chunks/[root-of-the-server]__0o0z59_jylzvy._.js +0 -3
  624. package/server/.next/server/chunks/[root-of-the-server]__0quiawzx_nww0._.js +0 -3
  625. package/server/.next/server/chunks/[root-of-the-server]__0v1t0gkrsn99q._.js +0 -3
  626. package/server/.next/server/chunks/[root-of-the-server]__0wdxw44t9l9o_._.js +0 -3
  627. package/server/.next/server/chunks/[root-of-the-server]__0y99cuuxm0xs3._.js +0 -3
  628. package/server/.next/server/chunks/[root-of-the-server]__0zflnh-2nol66._.js +0 -3
  629. package/server/.next/server/chunks/[root-of-the-server]__10cqzo_4dhr4m._.js +0 -3
  630. package/server/.next/server/chunks/[root-of-the-server]__10dp33pb5e0ml._.js +0 -3
  631. package/server/.next/server/chunks/[root-of-the-server]__12xl6ax-q8s93._.js +0 -3
  632. package/server/.next/server/chunks/[root-of-the-server]__14sac3h4sfhh7._.js +0 -3
  633. package/server/.next/server/chunks/[root-of-the-server]__16md_196q9s8a._.js +0 -3
  634. package/server/.next/server/chunks/[root-of-the-server]__17xbg7cngebwp._.js +0 -3
  635. package/server/.next/server/chunks/[root-of-the-server]__18lfi0w0e_h0k._.js +0 -3
  636. package/server/.next/server/chunks/[root-of-the-server]__1c1wqmzm65xo8._.js +0 -3
  637. package/server/.next/server/chunks/[root-of-the-server]__1gry2nrq5xhxl._.js +0 -3
  638. package/server/.next/server/chunks/[root-of-the-server]__1hl9k6e1o7xh2._.js +0 -3
  639. package/server/.next/server/chunks/[root-of-the-server]__1kk_s-q90445m._.js +0 -3
  640. package/server/.next/server/chunks/[root-of-the-server]__1kqq90-sj8-op._.js +0 -3
  641. package/server/.next/server/chunks/[root-of-the-server]__1lam0c5a3f224._.js +0 -3
  642. package/server/.next/server/chunks/[root-of-the-server]__1lfsf7un8kdbr._.js +0 -3
  643. package/server/.next/server/chunks/[root-of-the-server]__1nusfevn1z4nm._.js +0 -3
  644. package/server/.next/server/chunks/[root-of-the-server]__1o9v_499yd5k8._.js +0 -3
  645. package/server/.next/server/chunks/[root-of-the-server]__1oc55uo0ax787._.js +0 -3
  646. package/server/.next/server/chunks/[root-of-the-server]__1onjxlntn-u8g._.js +0 -3
  647. package/server/.next/server/chunks/[root-of-the-server]__1pscg7y0et34j._.js +0 -3
  648. package/server/.next/server/chunks/[root-of-the-server]__1qdbn4gdg7ndr._.js +0 -3
  649. package/server/.next/server/chunks/[root-of-the-server]__1uqxnb7qfqcms._.js +0 -3
  650. package/server/.next/server/chunks/[root-of-the-server]__1vxtt1favjdfr._.js +0 -3
  651. package/server/.next/server/chunks/[root-of-the-server]__1xwgj26z5f7ih._.js +0 -3
  652. package/server/.next/server/chunks/[root-of-the-server]__20sv90-2ei08l._.js +0 -3
  653. package/server/.next/server/chunks/_0pf2g5n_ko5dq._.js +0 -3
  654. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +0 -10
  655. package/server/.next/server/chunks/_15g-opioju_ju._.js +0 -3
  656. package/server/.next/server/chunks/_1daeuesc2d2tg._.js +0 -3
  657. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +0 -10
  658. package/server/.next/server/chunks/src_12wdz9bdn7a-7._.js +0 -3
  659. package/server/.next/server/chunks/src_lib_103kimc1xvc_0._.js +0 -9
  660. package/server/.next/server/chunks/src_lib_1sdusf16f07x-._.js +0 -9
  661. package/server/.next/server/chunks/ssr/[root-of-the-server]__056nm27ib-x1m._.js +0 -3
  662. package/server/.next/server/chunks/ssr/[root-of-the-server]__0eaqsql69fhf8._.js +0 -3
  663. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l_cl2qk_xmmr._.js +0 -3
  664. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nxyo70ahj7tk._.js +0 -3
  665. package/server/.next/server/chunks/ssr/[root-of-the-server]__1wr4__6rvsb3b._.js +0 -3
  666. package/server/.next/server/chunks/ssr/_0uvkx5n0kf7r2._.js +0 -3
  667. package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +0 -3
  668. package/server/.next/server/chunks/ssr/_1o94cw0ml7xu7._.js +0 -3
  669. package/server/.next/server/chunks/ssr/src_0jxjbvkvg0bjg._.js +0 -3
  670. package/server/.next/server/chunks/ssr/src_0txyv7r1zns16._.js +0 -3
  671. package/server/.next/server/chunks/ssr/src_1xoua7wkmyfkn._.js +0 -3
  672. package/server/.next/server/chunks/ssr/src_1y827m5-ojdib._.js +0 -6
  673. package/server/.next/server/chunks/ssr/src_app_(console)_1shtcv6hidi4-._.js +0 -3
  674. package/server/.next/server/chunks/ssr/src_app_signin_0ko968fxahf6u._.js +0 -3
  675. package/server/.next/server/chunks/ssr/src_lib_04orn7u7ufxp1._.js +0 -3
  676. /package/server/.next/static/{2_t4xVgbum1rtVSQxAYYV → u0RcJ9L5FEEUdENisty65}/_buildManifest.js +0 -0
  677. /package/server/.next/static/{2_t4xVgbum1rtVSQxAYYV → u0RcJ9L5FEEUdENisty65}/_clientMiddlewareManifest.js +0 -0
  678. /package/server/.next/static/{2_t4xVgbum1rtVSQxAYYV → u0RcJ9L5FEEUdENisty65}/_ssgManifest.js +0 -0
@@ -1,28 +1,28 @@
1
- module.exports=[601533,e=>{"use strict";var t=e.i(632019),a=e.i(7584),i=e.i(488077),n=e.i(614755),r=e.i(837137),s=e.i(159203),o=e.i(745614),d=e.i(351674),l=e.i(263251),c=e.i(927262),u=e.i(233711),p=e.i(469762),m=e.i(988866),g=e.i(109505);let h=(e,t)=>`${e} ${t}${1===e?"":"s"}`;async function f(e,t,a,i,n){let s,o,f,w,A,k,y,{db:I,seed:v,now:$}=e,_=(0,g.k)(v,"alerts"),S=(...e)=>(0,g.T)(v,"alert",...e),T=e=>t.apps.find(t=>t.id===e)?.name??"app",b=(0,l.f)(await I.execute(d.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),x=b.find(e=>"error"===e.state&&"production"===e.target),D={appId:x.resource_id,appName:T(x.resource_id),sha:x.commit_sha.slice(0,7),createdAt:new Date(x.created_at_provider),currentExternalId:b.find(e=>e.resource_id===x.resource_id&&e.is_current)?.external_id??null},E=(e,t,a)=>{let i=a.resolvedAt??null;return{ruleKey:e,subject:t,severity:c._[e].severity,resourceId:null,accountId:null,okStreak:2*!!i,lastSeenAt:i??(0,m.$)($,1e3*_.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==c._[e].severity,lastNotifiedAt:i??new Date(a.startedAt.getTime()+m.E),pending:null,pendingSince:null,...a}},M=n.certSoon,C=(0,u.g)(M.notAfter,$)??0,O=n.zoneSoon,P=(0,u.g)(O.expiresAt,$)??0,z=[E("DeploymentFailed",D.appId,{id:S("firing","deploy"),resourceId:D.appId,title:D.appName,message:`Production deployment ${D.sha} failed.`,startedAt:new Date(D.createdAt.getTime()+1e3*_.int(60,150))}),E("CertExpiringSoon",M.id,{id:S("firing","cert"),resourceId:M.id,title:M.name,message:`The TLS certificate of ${M.name} expires in ${h(C,"day")}.`,startedAt:new Date(M.notAfter.getTime()-14*m.h+_.int(5,55)*m.E)}),E("DomainExpiringSoon",O.id,{id:S("firing","zone"),resourceId:O.id,title:O.name,message:`${O.name} expires in ${h(P,"day")}.`,startedAt:new Date(O.expiresAt.getTime()-30*m.h+_.int(5,55)*m.E)})],R=a.outage,B=a.monitors.find(e=>e.id===R.monitorId),j=t.apps.find(e=>e.id!==D.appId)??t.apps[0],U=e=>i.dbs.find(t=>t.kind===e),L=(e,t)=>(0,m.$)($,e*m.h+t*m.w+_.int(0,50)*m.E),N=(e,t)=>new Date(e.getTime()+t*m.E),F=(e,t)=>{let i=a.monitors.find(e=>e.id===t.monitorId);return E("HighLatency",i.id,{id:S("resolved",e),resourceId:i.appId,title:`${T(i.appId)} ${i.path}`,message:`p95 ${t.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:t.firedAt,resolvedAt:t.resolvedAt})},H={start:L(4,_.int(1,9)),sha:(0,g.p)(7,v,"old-failed",j.name)},K=U("upstash_redis"),V=U("firestore"),G=U("supabase_project"),W=i.cloudflare.label,Y={outage:E("MonitorDown",B.id,{id:S("resolved","outage"),resourceId:B.appId,title:`${T(B.appId)} ${B.path}`,message:`${(0,p.F)(B.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(R.startedAt.getTime()+10*m.E),resolvedAt:R.recoveredAt}),latencyA:F("latency-a",a.slow[0]),latencyB:F("latency-b",a.slow[1]),oldDeploy:E("DeploymentFailed",j.id,{id:S("resolved","old-deploy"),resourceId:j.id,title:j.name,message:`Production deployment ${H.sha} failed.`,startedAt:H.start,resolvedAt:N(H.start,_.int(35,70))}),collector:(s=L(6,_.int(1,10)),E("CollectorStale","collector",{id:S("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:s,resolvedAt:N(s,_.int(4,9))})),autoPause:(o=L(6,_.int(12,20)),E("AutoPauseRisk",G.id,{id:S("resolved","auto-pause"),resourceId:G.id,title:G.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:o,resolvedAt:N(o,60*_.int(20,30))})),quota:(f=L(6,_.int(1,8)),E("DbQuotaHigh",K.id,{id:S("resolved","db-quota"),resourceId:K.id,title:K.name,message:`${K.name}: Commands at ${_.int(81,88)}% of the free plan.`,startedAt:f,resolvedAt:N(f,60*_.int(3,6))})),firestore:(w=L(3,_.int(1,6)),E("FirestoreQuotaHigh",V.id,{id:S("resolved","firestore"),resourceId:V.id,title:V.name,message:`${V.name} read ${_.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${_.int(81,92)}%).`,startedAt:w,resolvedAt:N(w,60*_.int(2,5))})),proxied:(A=L(5,_.int(12,20)),E("DnsProxiedToVercel",(k=n.vercelRecord).id,{id:S("resolved","proxied"),resourceId:k.zoneId,title:k.name,message:`${k.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:A,resolvedAt:N(A,24*_.int(2,4)*60)})),credential:(y=L(6,_.int(14,22)),E("CredentialExpiring",i.cloudflare.accountId,{id:S("resolved","credential"),accountId:i.cloudflare.accountId,title:`cloudflare \xb7 ${W}`,message:`The cloudflare credential ${W} expires in 9 days.`,startedAt:y,resolvedAt:N(y,24*_.int(1,2)*60+_.int(10,300))}))};return await I.insert(r.alerts).values([...z,...Object.values(Y)]),{firing:{deploy:z[0].id,cert:z[1].id,zone:z[2].id},resolved:{outage:Y.outage.id,oldDeploy:{id:Y.oldDeploy.id,appId:j.id,appName:j.name,previousExternalId:b.find(e=>e.resource_id===j.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:D}}var w=e.i(646324),A=e.i(306556);let k=e=>`${e}.example`,y=["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"],I=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],v=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],$=["sin1","iad1","fra1","hnd1","sfo1"],_=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],S=["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"],T={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"]},b=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],x=[{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 D(e){let{db:t,seed:a,now:i}=e,n=(0,g.k)(a,"apps"),s=n.pick(I),o={id:`team_${(0,g.g)(24,a,"team")}`,name:s.name,slug:s.slug},d=(0,g.T)(a,"account","vercel"),l=(0,m.$)(i,n.int(120,300)*m.h),c=(0,m.$)(i,n.int(3,50)*m.E);await t.insert(r.accounts).values({id:d,provider:"vercel",label:o.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:c,lastSyncAt:c,createdAt:l,updatedAt:c});let u=n.shuffle(y).slice(0,n.int(5,8)).sort().map((e,t)=>({id:(0,g.T)(a,"app",e),index:t,name:e,externalId:`prj_${(0,g.g)(28,a,"project",e)}`,host:k(e),createdAt:(0,m.$)(i,n.int(95,400)*m.h-n.int(0,23)*m.w)}));return await t.insert(r.resources).values(u.map(e=>({id:e.id,accountId:d,kind:"app",externalId:e.externalId,name:e.name,monitored:!0,firstSeenAt:e.createdAt,lastSeenAt:c,createdAt:e.createdAt,updatedAt:c,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:n.pick(v),productionBranch:"main",createdAt:e.createdAt.toISOString(),repo:`example-org/${e.name}`,repoType:"github",functionRegions:[n.pick($)]}}))),await t.insert(r.deployments).values(function(e,t){let{seed:a,now:i}=e,n=(0,g.k)(a,"deployments"),r=n.pick(t).id,s=n.pick(t).id,o=[];for(let e of t){let t=(t,r,s,d,l)=>{let c=(0,m.$)(i,s),u=new Date(c.getTime()+1e3*n.int(3,12)),p="ready"===d?new Date(u.getTime()+1e3*n.int(25,160)):null,h="production"===r?"main":n.pick(_);o.push({id:(0,g.T)(a,"deployment",e.name,t),resourceId:e.id,externalId:`dpl_${(0,g.g)(24,a,"deployment",e.name,t)}`,state:d,target:r,branch:h,commitSha:(0,g.p)(40,a,"commit",e.name,t),commitMessage:l??n.pick(S),source:"git",url:k(`${e.name}-git-${h.replace(/[^a-z0-9]+/g,"-")}-${(0,g.g)(9,a,"deployment-url",e.name,t).toLowerCase()}`),buildingAt:u,readyAt:p,createdAtProvider:c,isCurrent:!1,isPreviousProduction:!1,createdAt:c,updatedAt:p??u})},d=e.id===r,l=n.int(2,5);for(let e=0;e<l;e++){let a=0===e?Math.max(d?5*m.w:0,n.int(1,96)*m.w-n.int(0,40)*m.E):n.int(4+4*e,6+6*e)*m.h+n.int(0,23)*m.w;t(e,"production",a,"ready")}let c=n.int(0,3);for(let e=0;e<c;e++)t(10+e,"preview",n.int(2,240)*m.w+n.int(0,59)*m.E,"ready");d&&t(20,"production",n.int(30,240)*m.E,"error","Refactor the checkout form"),e.id===s&&t(21,"preview",n.int(1,6)*m.E,"building")}for(let e of t){let t=o.filter(t=>t.resourceId===e.id&&"production"===t.target&&"ready"===t.state).map(e=>({id:e.externalId,createdAt:e.createdAtProvider})),{currentId:a,previousId:i}=(0,w.a)(t,null);for(let t of o)t.resourceId===e.id&&(t.isCurrent=t.externalId===a,t.isPreviousProduction=t.externalId===i)}return o}(e,u)),{accountId:d,team:o,apps:u}}async function E(e,t,a){let{db:i,seed:n,now:s}=e,o=(0,g.k)(n,"snapshots"),d=(0,m.$)(s,1e3*o.int(5,40));await i.insert(r.snapshots).values(t.apps.map(e=>{var t,i;let n,r,l,c,u,p=a.filter(t=>t.appId===e.id),g=(0,A.V)({monitors:p.map(e=>e.state),building:!1,dbPaused:!1}),h=p.find(e=>"err"===e.state)??p.find(e=>"warn"===e.state),f=h?.stateSince??new Date(Math.max(...p.map(e=>e.stateSince.getTime())));return{resourceId:e.id,state:g,stateSince:f,collectedAt:d,data:{code:h?.lastStatus??null,latencyMs:p[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(t=o,i=s,r=Math.floor((n=(0,m.$)(i,t.int(2,25)*m.E)).getTime()/m.w)*m.w,l=t.int(20,400),{enabled:!0,total24h:u=(c=Array.from({length:24},(e,a)=>{let i=r-(23-a)*m.w,n=.15+.85*Math.max(0,Math.sin(((new Date(i).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(i).toISOString(),Math.round(l*n*(.7+.6*t.next()))]})).reduce((e,[,t])=>e+t,0),visitors24h:Math.round(u*(.3+.2*t.next())),hourly:c,readAt:n.toISOString()})}}}))}var M=e.i(169286),C=e.i(273133),O=e.i(688275),P=e.i(697365);let z="demo",R={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function B(e,t){let{db:a,seed:i,now:n}=e,s=(0,g.k)(i,"databases"),o=t.team,d=e=>(0,g.T)(i,"account",e),l=(0,m.$)(n,s.int(4,40)*m.E);await a.insert(r.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(e=>{let t=(0,m.$)(n,s.int(60,280)*m.h);return{id:d(e),provider:e,label:"firebase"===e?`${o.slug}-firebase`:o.name,credentialCiphertext:z,credentialIv:z,credentialKind:R[e],status:"ok",lastTestAt:l,lastSyncAt:l,createdAt:t,updatedAt:l}}));let c=(0,g.p)(32,i,"cloudflare-account"),u=[{kind:"supabase_project",provider:"supabase",externalId:(0,g.g)(20,i,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${s.pick(["silent","quiet","misty","bold","calm"])}-${s.pick(["river","meadow","forest","harbor","dune"])}-${(0,g.p)(8,i,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${o.slug.split("-")[0]}-notes-${(0,g.p)(5,i,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:(0,g.T)(i,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:(0,g.T)(i,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:(0,g.T)(i,"d1-db")}].map(({kind:e,provider:t,externalId:a})=>{let r=s.pick(T[e]),l=(0,m.$)(n,s.int(40,300)*m.h),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-${(0,g.p)(8,i,"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:c,createdAt:l.toISOString()};return{id:(0,g.T)(i,"db",e),kind:e,name:r,externalId:a,accountId:d(t),meta:u,createdAt:l}});await a.insert(r.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 p=e=>u.find(t=>t.kind===e),h=e=>(0,m.$)(n,e*m.E+1e3*s.int(0,50)),f=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1)),w=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth()+1,1)),A=(n.getTime()-f.getTime())/(w.getTime()-f.getTime()),k=[{id:`ep-${(0,g.g)(12,i,"neon-ep").toLowerCase()}`,branchId:`br-${(0,g.g)(12,i,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:(0,m.$)(n,s.int(20,300)*m.E).toISOString()}],y=Math.round((8+50*A+s.int(0,10))*3600),I=(0,O.p)({endpoints:k,computeSeconds:y}),v=[{id:p("supabase_project").id,state:"ok",since:(0,m.$)(n,s.int(20,90)*m.h),at:h(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:o.slug,freeOrg:!0,lastTrafficAt:(0,m.$)(n,s.int(3,50)*m.E).toISOString(),trafficAt:(0,m.$)(n,s.int(1,4)*m.E).toISOString(),health:[{name:"db",status:"ACTIVE_HEALTHY"},{name:"auth",status:"ACTIVE_HEALTHY"},{name:"rest",status:"ACTIVE_HEALTHY"},{name:"storage",status:"ACTIVE_HEALTHY"}],healthAt:(0,m.$)(n,s.int(1,4)*m.E).toISOString(),sizeBytes:1048576*s.int(38,140)+s.int(0,1048576),sizeAt:(0,m.$)(n,s.int(4,20)*m.w).toISOString(),lastGoodState:"ok"}},{id:p("neon_project").id,state:"ok"===I.state?"ok":"idle",since:(0,m.$)(n,s.int(20,300)*m.E),at:h(s.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:p("neon_project").meta.orgId,computeSeconds:y,transferBytes:Math.round((.2+1.6*A)*0x40000000),periodStart:f.toISOString(),periodEnd:w.toISOString(),activeSeconds:Math.round(y/1.4),endpoints:k,branches:[{id:k[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*s.int(120,380)},{id:`br-${(0,g.g)(12,i,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*s.int(60,160)}],lastGoodState:"ok"===I.state?"ok":"idle"}},{id:p("firestore").id,state:"ok",since:(0,m.$)(n,s.int(10,60)*m.h),at:h(1),data:{displayName:p("firestore").name,latencyMs:s.int(70,190),reads:s.int(4e3,22e3),writes:s.int(800,6e3),deletes:s.int(20,400),opsAt:(0,m.$)(n,s.int(10,50)*m.E).toISOString(),authUsers:s.int(80,2400),authAt:(0,m.$)(n,s.int(2,20)*m.w).toISOString(),lastGoodState:"ok"}},{id:p("turso_database").id,state:"ok",since:(0,m.$)(n,s.int(10,60)*m.h),at:h(s.int(5,50)),data:{org:o.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*A)*1e6),rowsWritten:Math.round((.2+2.2*A)*1e6),storageBytes:1048576*s.int(40,600),orgRowsRead:Math.round((25+160*A)*1e6),orgRowsWritten:Math.round((.3+2.6*A)*1e6),orgStorageBytes:1048576*s.int(700,1400),orgDatabases:3,usageAt:(0,m.$)(n,s.int(5,50)*m.E).toISOString(),lastGoodState:"ok"}},{id:p("upstash_redis").id,state:"ok",since:(0,m.$)(n,s.int(10,60)*m.h),at:h(s.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:s.int(2e3,9e3),monthlyRequests:Math.round((20+180*A)*1e3)+s.int(0,999),storageBytes:1048576*s.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*A)*0x40000000),statsAt:(0,m.$)(n,s.int(5,50)*m.E).toISOString(),lastGoodState:"ok"}},{id:p("d1_database").id,state:"ok",since:(0,m.$)(n,s.int(10,60)*m.h),at:h(s.int(5,50)),data:{accountId:c,createdAt:p("d1_database").createdAt.toISOString(),sizeBytes:1048576*s.int(4,120),numTables:s.int(4,12),readReplication:"disabled",detailsAt:(0,m.$)(n,s.int(5,50)*m.E).toISOString(),rowsRead:s.int(4e4,9e5),rowsWritten:s.int(1e3,3e4),readQueries:s.int(4e3,6e4),writeQueries:s.int(300,6e3),accountRowsRead:s.int(9e5,18e5),accountRowsWritten:s.int(3e4,55e3),accountSizeBytes:1048576*s.int(200,900),accountDatabases:2,usageDay:n.toISOString().slice(0,10),usageAt:(0,m.$)(n,s.int(5,50)*m.E).toISOString(),lastGoodState:"ok"}}];await a.insert(r.snapshots).values(v.map(e=>({resourceId:e.id,state:e.state,stateSince:e.since,collectedAt:e.at,data:e.data}))),await a.insert(r.settings).values({key:P.F,value:{[d("cloudflare")]:{d1:"ok",analytics:"ok",at:(0,m.$)(n,s.int(5,50)*m.E).toISOString(),note:null}},createdAt:(0,m.$)(n,30*m.h),updatedAt:n});let $=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],_=t.apps.slice(0,Math.max(4,t.apps.length-1));return await a.insert(r.links).values(_.map((e,t)=>({id:(0,g.T)(i,"link",e.name),fromResourceId:e.id,toResourceId:p($[t]).id,kind:"uses_db",source:"manual",createdAt:(0,m.$)(n,s.int(20,90)*m.h),updatedAt:(0,m.$)(n,s.int(1,19)*m.h)}))),await j(e,p("supabase_project").id),await a.insert(r.keepActive).values({resourceId:p("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:(0,m.$)(n,s.int(2,20)*m.w),updatedAt:(0,m.$)(n,12*m.h)}),{dbs:u.map(({id:e,kind:t,name:a,externalId:i,accountId:n})=>({id:e,kind:t,name:a,externalId:i,accountId:n})),cloudflare:{accountId:d("cloudflare"),cfAccountId:c,label:o.name}}}async function j(e,t){let{db:a,seed:i,now:n}=e,r=(0,g.k)(i,"compute"),s=(0,m.$)(n,r.int(1,4)*m.E),o=Array.from({length:24},(e,a)=>{let i=new Date((0,C.b)(n).getTime()-a*m.w),s=Math.round((6+18*r.next())*10)/10,o=Math.round((34+14*r.next())*10)/10;return{resourceId:t,hour:i,samples:0===a?Math.max(1,Math.floor((n.getTime()-i.getTime())/(5*m.E))):12,cpuSamples:0===a?1:11,cpuAvg:s,cpuMax:Math.round(10*Math.min(70,s*(1.4+r.next())))/10,memAvg:o,memMax:Math.round(10*Math.min(85,o+6*r.next()))/10,diskPct:9.8,connUsed:r.int(8,22),connMax:60}}),d={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:(0,m.$)(s,(5-t)*5*m.E).toISOString(),cpu:Math.round((6+18*r.next())*10)/10}))};await a.insert(M.A).values({resourceId:t,keyCiphertext:z,keyIv:z,latest:d,lastTryAt:s,lastOkAt:s,createdAt:(0,m.$)(n,21*m.h),updatedAt:s}),await a.insert(M.l).values(o.filter(e=>e.hour.getTime()<=n.getTime()))}var U=e.i(245710),L=e.i(615089);let N=7*m.h;async function F(e,t,a,i,n,s){let{db:o,seed:c,now:u}=e,h=(0,g.k)(c,"events"),f=[],w=(e,t)=>f.push({id:(0,g.T)(c,"event",e),count:1,...t});for(let e of(0,l.f)(await o.execute(d.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(u.getTime()-N).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),i=e.building_at?new Date(e.building_at):a;w(`${e.external_id}:start`,{at:i,resourceId:e.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:t,reason:"DeployStarted"}),"ready"===e.state&&e.ready_at&&w(`${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&&w(`${e.external_id}:failed`,{at:new Date(i.getTime()+1e3*h.int(40,110)),resourceId:e.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:t,reason:"DeployFailed"})}let A=a.outage,k=a.monitors.find(e=>e.id===A.monitorId),y=(e,t,a,i,n,r,s)=>w(e,{at:t,resourceId:a,type:"monitor",kind:i,message:n,detail:r,reason:s});y("outage:warn",A.startedAt,A.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),y("outage:err",new Date(A.startedAt.getTime()+10*m.E),A.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),y("outage:ok",A.recoveredAt,A.appId,"ok","Monitor recovered",`${k.path} answers again`,"MonitorRecovered"),a.degraded&&y("degraded:warn",a.degraded.since,a.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let I=n.certSoon,v=n.zoneSoon,$=new Date(I.notAfter.getTime()-14*m.h+h.int(5,50)*m.E),_=new Date(v.expiresAt.getTime()-30*m.h+h.int(5,50)*m.E);w("net:cert",{at:$,resourceId:I.id,type:"system",kind:"warn",message:`${I.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),w("net:zone",{at:_,resourceId:v.id,type:"system",kind:"warn",message:`${v.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let S=new Date(u);S.setUTCHours(20,0,0,0),S.getTime()>u.getTime()-5*m.E&&S.setTime(S.getTime()-m.h);for(let e=0;e<7;e++){let t=new Date(S.getTime()-e*m.h+1e3*h.int(20,90));w(`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=(0,L.demoUserId)(c),b=(e,t,a,i,n=null)=>w(`action:${e}`,{at:(0,m.$)(u,t*m.h+h.int(1,10)*m.w+h.int(0,59)*m.E),resourceId:i,type:"action",kind:"ok",message:a,detail:n,actorUserId:T,reason:"Action"}),x=a.monitors.find(e=>"/api/health"===e.path)??a.monitors[0],D=t.apps[0],E=i.dbs.find(e=>"supabase_project"===e.kind);b("monitor-added",6,`Monitor added: ${(0,p.F)(x.url)}`,x.appId),b("db-link",5,`Database link: ${D.name} → ${E.name}`,D.id),b("keep-active",5,`Keep active on: ${E.name}`,E.id),b("rule",4,"Alert rule edited: HighLatency",null,"threshold 1,500 ms"),b("maintenance",3,"Maintenance window added",null,`Sundays 02:00 ${(0,U.D)()}, 30 min`),b("check-now",1,`Check now: ${(0,p.F)(k.url)}`,k.appId);let M=s.resolved.credential;w("action:credential",{at:new Date(M.resolvedAt.getTime()-h.int(2,9)*m.E),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${M.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:T,reason:"Action"}),w("action:auto-recheck",{at:new Date(A.startedAt.getTime()+11*m.E+3e3),resourceId:k.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${(0,p.F)(k.url)}`,detail:null,actorUserId:null,reason:"Action"}),await o.insert(r.events).values(f.sort((e,t)=>e.at.getTime()-t.at.getTime()))}let H="76.76.21.21";async function K(e,t,a){let{db:i,seed:n,now:s}=e,o=(0,g.k)(n,"network"),d=e=>(0,m.$)(s,o.int(10,60*e)*m.E).toISOString(),l=a.cloudflare,c=o.shuffle(b).slice(0,2).map((e,t)=>({id:(0,g.T)(n,"zone",e),name:k(e),expiresAt:new Date(1===t?s.getTime()+o.int(12,24)*m.h+o.int(1,20)*m.w:s.getTime()+o.int(200,600)*m.h)})),p=e=>e.split("-").slice(1).join("-")||e,h=t.apps,f=[{name:c[0].name,app:h[0]},...[0,1,2].map(e=>({name:`${p(h[e].name)}.${c[0].name}`,app:h[e]})),...[3,4].map(e=>({name:`${p(h[e%h.length].name)}.${c[1].name}`,app:h[e%h.length]}))],w=o.int(1,3),A=f.map((e,t)=>({id:(0,g.T)(n,"domain",e.name),name:e.name,appId:e.app.id,notAfter:new Date(t===w?s.getTime()+o.int(4,9)*m.h+o.int(1,20)*m.w:s.getTime()+o.int(30,85)*m.h)})),y=(e,t,a,i,r,s=null)=>({id:(0,g.p)(32,n,"dns",e,t,a),type:t,name:a,content:i,proxied:r,ttl:r?1:300,comment:s}),I=c.map(e=>{let t=[...A.filter(t=>t.name===e.name||t.name.endsWith(`.${e.name}`)).map(t=>y(e.name,"A",t.name,H,!1,"Vercel")),y(e.name,"MX",e.name,k("mx1.mail"),!1),y(e.name,"TXT",e.name,`v=spf1 include:_spf.${k("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:d(20)},i={status:"active",paused:!1,nameServers:[k("ada.ns"),k("bob.ns")],accountId:l.cfAccountId,checkedAt:d(1)},n=(0,u.G)({status:i.status,paused:i.paused,rdap:a},s),r={zone:i,ssl:{mode:"strict",error:null},records:t,recordsTruncated:!1,cfErrors:[],certs:[{type:"universal",status:"active",hosts:[e.name,`*.${e.name}`],expiresOn:new Date(s.getTime()+o.int(40,80)*m.h).toISOString()}],rdap:a,reasons:n.reasons};return{z:e,records:t,rdap:a,state:n.state,data:r}}),v=(0,m.$)(s,o.int(150,380)*m.h),$=(0,m.$)(s,o.int(5,50)*m.E);await i.insert(r.resources).values(c.map(e=>({id:e.id,accountId:l.accountId,kind:"zone",externalId:(0,g.p)(32,n,"zone-id",e.name),name:e.name,monitored:!0,meta:{status:"active",accountId:l.cfAccountId,accountName:l.label},firstSeenAt:v,lastSeenAt:$,createdAt:v,updatedAt:$}))),await i.insert(r.resources).values(A.map(e=>{let a=h.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:v,lastSeenAt:$,createdAt:v,updatedAt:$}}));let _=["Let's Encrypt","Google Trust Services"];await i.insert(r.snapshots).values([...I.map(e=>({resourceId:e.z.id,state:e.state,stateSince:"ok"===e.state?v:new Date(e.z.expiresAt.getTime()-30*m.h),data:e.data,collectedAt:$})),...A.map(e=>{let t=I.find(t=>e.name===t.z.name||e.name.endsWith(`.${t.z.name}`)),a={notAfter:e.notAfter.toISOString(),issuer:o.pick(_),authorized:!0,error:null,checkedAt:d(19)},i={misconfigured:!1,configuredBy:"A",recommendedIps:[H],checkedAt:d(6)},n=(0,u.k)({host:e.name,tls:a,vercel:i,records:(0,u.Q)(e.name,t.records),zoneRdap:t.rdap},s),r="ok"===n.state?v:new Date(Math.min(e.notAfter.getTime()-14*m.h,t.z.expiresAt.getTime()-30*m.h));return{resourceId:e.id,state:n.state,stateSince:r,data:{tls:a,vercel:i,reasons:n.reasons},collectedAt:$}})]);let S=I[0].records.find(e=>"A"===e.type&&e.name===c[0].name&&e.content===H);return{zones:c,domains:A,certSoon:A[w],zoneSoon:c[1],vercelRecord:{id:S.id,name:S.name,zoneId:c[0].id}}}let V=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function G(e,t){let{db:a,seed:i,now:n}=e,s=(0,g.k)(i,"logs"),o=(0,l.f)(await a.execute(d.B`select resource_id, external_id from ops.deployments where is_current`)),c=s.shuffle(t.apps).slice(0,3).flatMap((e,t)=>Array.from({length:s.int(4,8)},(a,r)=>{let d=s.pick(x);return{id:(0,g.T)(i,"log",e.name,r),resourceId:e.id,deploymentId:o.find(t=>t.resource_id===e.id)?.external_id??`dpl_${(0,g.g)(24,i,"log-dpl",t)}`,rowId:`${(0,g.g)(10,i,"log-row",e.name,r).toLowerCase()}-${r}`,at:(0,m.$)(n,s.int(3,2760)*m.E+1e3*s.int(0,59)),level:d.level,message:d.message,requestMethod:d.method,requestPath:d.path,statusCode:d.status,source:"serverless"}}));await a.insert(r.storedLogs).values(c)}async function W(e){let{db:t,seed:a,now:i}=e,n=(0,g.k)(a,"provider-status"),s=(0,m.$)(i,n.int(1,4)*m.E);await t.insert(r.providerStatus).values(V.map(e=>"cloudflare"===e?{provider:e,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:s,lastOkAt:s,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:(0,m.$)(i,n.int(1,3)*m.w).toISOString(),url:null}]}:{provider:e,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:s,lastOkAt:s,error:null}))}async function Y(e){let{db:t,seed:a,now:i}=e,n=(0,g.k)(a,"ai-usage"),r=(0,g.T)(a,"ai-agent","console"),s=n.int(70,140),o=[],l=[],c=[],u=[],p=[],h=[];for(let e=0;e<s;e++){o.push(i.getTime()-n.int(2,10080)*m.E);let e=n.chance(.04);p.push(e?429:200),l.push(e?0:n.int(600,4200)),c.push(e?0:n.int(80,700)),u.push(e?n.int(80,300):n.int(700,4800)),h.push(n.int(1,2))}let f=e=>e.reduce((e,t)=>e+t,0),w=new Date(Math.max(...o));await t.execute(d.B`
1
+ module.exports=[601533,e=>{"use strict";var t=e.i(7584),a=e.i(837137),n=e.i(159203),i=e.i(745614),r=e.i(351674),s=e.i(263251),o=e.i(927262),d=e.i(233711),l=e.i(469762),c=e.i(988866),u=e.i(109505);let p=(e,t)=>`${e} ${t}${1===e?"":"s"}`;async function m(e,t,n,i,m){let h,g,f,w,A,k,y,{db:I,seed:v,now:_}=e,$=(0,u.k)(v,"alerts"),b=(...e)=>(0,u.T)(v,"alert",...e),S=e=>t.apps.find(t=>t.id===e)?.name??"app",T=(0,s.f)(await I.execute(r.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),x=T.find(e=>"error"===e.state&&"production"===e.target),D={appId:x.resource_id,appName:S(x.resource_id),sha:x.commit_sha.slice(0,7),createdAt:new Date(x.created_at_provider),currentExternalId:T.find(e=>e.resource_id===x.resource_id&&e.is_current)?.external_id??null},E=(e,t,a)=>{let n=a.resolvedAt??null;return{ruleKey:e,subject:t,severity:o._[e].severity,resourceId:null,accountId:null,okStreak:2*!!n,lastSeenAt:n??(0,c.$)(_,1e3*$.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==o._[e].severity,lastNotifiedAt:n??new Date(a.startedAt.getTime()+c.E),pending:null,pendingSince:null,...a}},M=m.certSoon,O=(0,d.g)(M.notAfter,_)??0,C=m.zoneSoon,P=(0,d.g)(C.expiresAt,_)??0,z=[E("DeploymentFailed",D.appId,{id:b("firing","deploy"),resourceId:D.appId,title:D.appName,message:`Production deployment ${D.sha} failed.`,startedAt:new Date(D.createdAt.getTime()+1e3*$.int(60,150))}),E("CertExpiringSoon",M.id,{id:b("firing","cert"),resourceId:M.id,title:M.name,message:`The TLS certificate of ${M.name} expires in ${p(O,"day")}.`,startedAt:new Date(M.notAfter.getTime()-14*c.h+$.int(5,55)*c.E)}),E("DomainExpiringSoon",C.id,{id:b("firing","zone"),resourceId:C.id,title:C.name,message:`${C.name} expires in ${p(P,"day")}.`,startedAt:new Date(C.expiresAt.getTime()-30*c.h+$.int(5,55)*c.E)})],R=n.outage,j=n.monitors.find(e=>e.id===R.monitorId),B=t.apps.find(e=>e.id!==D.appId)??t.apps[0],N=e=>i.dbs.find(t=>t.kind===e),U=(e,t)=>(0,c.$)(_,e*c.h+t*c.w+$.int(0,50)*c.E),F=(e,t)=>new Date(e.getTime()+t*c.E),L=(e,t)=>{let a=n.monitors.find(e=>e.id===t.monitorId);return E("HighLatency",a.id,{id:b("resolved",e),resourceId:a.appId,title:`${S(a.appId)} ${a.path}`,message:`p95 ${t.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:t.firedAt,resolvedAt:t.resolvedAt})},H={start:U(4,$.int(1,9)),sha:(0,u.p)(7,v,"old-failed",B.name)},K=N("upstash_redis"),V=N("firestore"),W=N("supabase_project"),G=i.cloudflare.label,q={outage:E("MonitorDown",j.id,{id:b("resolved","outage"),resourceId:j.appId,title:`${S(j.appId)} ${j.path}`,message:`${(0,l.F)(j.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(R.startedAt.getTime()+10*c.E),resolvedAt:R.recoveredAt}),latencyA:L("latency-a",n.slow[0]),latencyB:L("latency-b",n.slow[1]),oldDeploy:E("DeploymentFailed",B.id,{id:b("resolved","old-deploy"),resourceId:B.id,title:B.name,message:`Production deployment ${H.sha} failed.`,startedAt:H.start,resolvedAt:F(H.start,$.int(35,70))}),collector:(h=U(6,$.int(1,10)),E("CollectorStale","collector",{id:b("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:h,resolvedAt:F(h,$.int(4,9))})),autoPause:(g=U(6,$.int(12,20)),E("AutoPauseRisk",W.id,{id:b("resolved","auto-pause"),resourceId:W.id,title:W.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:g,resolvedAt:F(g,60*$.int(20,30))})),quota:(f=U(6,$.int(1,8)),E("DbQuotaHigh",K.id,{id:b("resolved","db-quota"),resourceId:K.id,title:K.name,message:`${K.name}: Commands at ${$.int(81,88)}% of the free plan.`,startedAt:f,resolvedAt:F(f,60*$.int(3,6))})),firestore:(w=U(3,$.int(1,6)),E("FirestoreQuotaHigh",V.id,{id:b("resolved","firestore"),resourceId:V.id,title:V.name,message:`${V.name} read ${$.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${$.int(81,92)}%).`,startedAt:w,resolvedAt:F(w,60*$.int(2,5))})),proxied:(A=U(5,$.int(12,20)),E("DnsProxiedToVercel",(k=m.vercelRecord).id,{id:b("resolved","proxied"),resourceId:k.zoneId,title:k.name,message:`${k.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:A,resolvedAt:F(A,24*$.int(2,4)*60)})),credential:(y=U(6,$.int(14,22)),E("CredentialExpiring",i.cloudflare.accountId,{id:b("resolved","credential"),accountId:i.cloudflare.accountId,title:`cloudflare \xb7 ${G}`,message:`The cloudflare credential ${G} expires in 9 days.`,startedAt:y,resolvedAt:F(y,24*$.int(1,2)*60+$.int(10,300))}))};return await I.insert(a.alerts).values([...z,...Object.values(q)]),{firing:{deploy:z[0].id,cert:z[1].id,zone:z[2].id},resolved:{outage:q.outage.id,oldDeploy:{id:q.oldDeploy.id,appId:B.id,appName:B.name,previousExternalId:T.find(e=>e.resource_id===B.id&&e.is_previous_production)?.external_id??null,startedAt:q.oldDeploy.startedAt,resolvedAt:q.oldDeploy.resolvedAt},credential:{title:q.credential.title,resolvedAt:q.credential.resolvedAt}},failedDeploy:D}}var h=e.i(646324),g=e.i(306556);let f=e=>`${e}.example`,w=["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"],A=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],k=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],y=["sin1","iad1","fra1","hnd1","sfo1"],I=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],v=["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"],_={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"]},$=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],b=[{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 S(e){let{db:t,seed:n,now:i}=e,r=(0,u.k)(n,"apps"),s=r.pick(A),o={id:`team_${(0,u.g)(24,n,"team")}`,name:s.name,slug:s.slug},d=(0,u.T)(n,"account","vercel"),l=(0,c.$)(i,r.int(120,300)*c.h),p=(0,c.$)(i,r.int(3,50)*c.E);await t.insert(a.accounts).values({id:d,provider:"vercel",label:o.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:p,lastSyncAt:p,createdAt:l,updatedAt:p});let m=r.shuffle(w).slice(0,r.int(5,8)).sort().map((e,t)=>({id:(0,u.T)(n,"app",e),index:t,name:e,externalId:`prj_${(0,u.g)(28,n,"project",e)}`,host:f(e),createdAt:(0,c.$)(i,r.int(95,400)*c.h-r.int(0,23)*c.w)}));return await t.insert(a.resources).values(m.map(e=>({id:e.id,accountId:d,kind:"app",externalId:e.externalId,name:e.name,monitored:!0,firstSeenAt:e.createdAt,lastSeenAt:p,createdAt:e.createdAt,updatedAt:p,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:r.pick(k),productionBranch:"main",createdAt:e.createdAt.toISOString(),repo:`example-org/${e.name}`,repoType:"github",functionRegions:[r.pick(y)]}}))),await t.insert(a.deployments).values(function(e,t){let{seed:a,now:n}=e,i=(0,u.k)(a,"deployments"),r=i.pick(t).id,s=i.pick(t).id,o=[];for(let e of t){let t=(t,r,s,d,l)=>{let p=(0,c.$)(n,s),m=new Date(p.getTime()+1e3*i.int(3,12)),h="ready"===d?new Date(m.getTime()+1e3*i.int(25,160)):null,g="production"===r?"main":i.pick(I);o.push({id:(0,u.T)(a,"deployment",e.name,t),resourceId:e.id,externalId:`dpl_${(0,u.g)(24,a,"deployment",e.name,t)}`,state:d,target:r,branch:g,commitSha:(0,u.p)(40,a,"commit",e.name,t),commitMessage:l??i.pick(v),source:"git",url:f(`${e.name}-git-${g.replace(/[^a-z0-9]+/g,"-")}-${(0,u.g)(9,a,"deployment-url",e.name,t).toLowerCase()}`),buildingAt:m,readyAt:h,createdAtProvider:p,isCurrent:!1,isPreviousProduction:!1,createdAt:p,updatedAt:h??m})},d=e.id===r,l=i.int(2,5);for(let e=0;e<l;e++){let a=0===e?Math.max(d?5*c.w:0,i.int(1,96)*c.w-i.int(0,40)*c.E):i.int(4+4*e,6+6*e)*c.h+i.int(0,23)*c.w;t(e,"production",a,"ready")}let p=i.int(0,3);for(let e=0;e<p;e++)t(10+e,"preview",i.int(2,240)*c.w+i.int(0,59)*c.E,"ready");d&&t(20,"production",i.int(30,240)*c.E,"error","Refactor the checkout form"),e.id===s&&t(21,"preview",i.int(1,6)*c.E,"building")}for(let e of t){let t=o.filter(t=>t.resourceId===e.id&&"production"===t.target&&"ready"===t.state).map(e=>({id:e.externalId,createdAt:e.createdAtProvider})),{currentId:a,previousId:n}=(0,h.a)(t,null);for(let t of o)t.resourceId===e.id&&(t.isCurrent=t.externalId===a,t.isPreviousProduction=t.externalId===n)}return o}(e,m)),{accountId:d,team:o,apps:m}}async function T(e,t,n){let{db:i,seed:r,now:s}=e,o=(0,u.k)(r,"snapshots"),d=(0,c.$)(s,1e3*o.int(5,40));await i.insert(a.snapshots).values(t.apps.map(e=>{var t,a;let i,r,l,u,p,m=n.filter(t=>t.appId===e.id),h=(0,g.V)({monitors:m.map(e=>e.state),building:!1,dbPaused:!1}),f=m.find(e=>"err"===e.state)??m.find(e=>"warn"===e.state),w=f?.stateSince??new Date(Math.max(...m.map(e=>e.stateSince.getTime())));return{resourceId:e.id,state:h,stateSince:w,collectedAt:d,data:{code:f?.lastStatus??null,latencyMs:m[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(t=o,a=s,r=Math.floor((i=(0,c.$)(a,t.int(2,25)*c.E)).getTime()/c.w)*c.w,l=t.int(20,400),{enabled:!0,total24h:p=(u=Array.from({length:24},(e,a)=>{let n=r-(23-a)*c.w,i=.15+.85*Math.max(0,Math.sin(((new Date(n).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(n).toISOString(),Math.round(l*i*(.7+.6*t.next()))]})).reduce((e,[,t])=>e+t,0),visitors24h:Math.round(p*(.3+.2*t.next())),hourly:u,readAt:i.toISOString()})}}}))}var x=e.i(169286),D=e.i(273133),E=e.i(688275),M=e.i(697365);let O="demo",C={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function P(e,t){let{db:n,seed:i,now:r}=e,s=(0,u.k)(i,"databases"),o=t.team,d=e=>(0,u.T)(i,"account",e),l=(0,c.$)(r,s.int(4,40)*c.E);await n.insert(a.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(e=>{let t=(0,c.$)(r,s.int(60,280)*c.h);return{id:d(e),provider:e,label:"firebase"===e?`${o.slug}-firebase`:o.name,credentialCiphertext:O,credentialIv:O,credentialKind:C[e],status:"ok",lastTestAt:l,lastSyncAt:l,createdAt:t,updatedAt:l}}));let p=(0,u.p)(32,i,"cloudflare-account"),m=[{kind:"supabase_project",provider:"supabase",externalId:(0,u.g)(20,i,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${s.pick(["silent","quiet","misty","bold","calm"])}-${s.pick(["river","meadow","forest","harbor","dune"])}-${(0,u.p)(8,i,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${o.slug.split("-")[0]}-notes-${(0,u.p)(5,i,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:(0,u.T)(i,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:(0,u.T)(i,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:(0,u.T)(i,"d1-db")}].map(({kind:e,provider:t,externalId:a})=>{let n=s.pick(_[e]),l=(0,c.$)(r,s.int(40,300)*c.h),m="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-${(0,u.p)(8,i,"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:p,createdAt:l.toISOString()};return{id:(0,u.T)(i,"db",e),kind:e,name:n,externalId:a,accountId:d(t),meta:m,createdAt:l}});await n.insert(a.resources).values(m.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 h=e=>m.find(t=>t.kind===e),g=e=>(0,c.$)(r,e*c.E+1e3*s.int(0,50)),f=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1)),w=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth()+1,1)),A=(r.getTime()-f.getTime())/(w.getTime()-f.getTime()),k=[{id:`ep-${(0,u.g)(12,i,"neon-ep").toLowerCase()}`,branchId:`br-${(0,u.g)(12,i,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:(0,c.$)(r,s.int(20,300)*c.E).toISOString()}],y=Math.round((8+50*A+s.int(0,10))*3600),I=(0,E.p)({endpoints:k,computeSeconds:y}),v=[{id:h("supabase_project").id,state:"ok",since:(0,c.$)(r,s.int(20,90)*c.h),at:g(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:o.slug,freeOrg:!0,lastTrafficAt:(0,c.$)(r,s.int(3,50)*c.E).toISOString(),trafficAt:(0,c.$)(r,s.int(1,4)*c.E).toISOString(),health:[{name:"db",status:"ACTIVE_HEALTHY"},{name:"auth",status:"ACTIVE_HEALTHY"},{name:"rest",status:"ACTIVE_HEALTHY"},{name:"storage",status:"ACTIVE_HEALTHY"}],healthAt:(0,c.$)(r,s.int(1,4)*c.E).toISOString(),sizeBytes:1048576*s.int(38,140)+s.int(0,1048576),sizeAt:(0,c.$)(r,s.int(4,20)*c.w).toISOString(),lastGoodState:"ok"}},{id:h("neon_project").id,state:"ok"===I.state?"ok":"idle",since:(0,c.$)(r,s.int(20,300)*c.E),at:g(s.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:h("neon_project").meta.orgId,computeSeconds:y,transferBytes:Math.round((.2+1.6*A)*0x40000000),periodStart:f.toISOString(),periodEnd:w.toISOString(),activeSeconds:Math.round(y/1.4),endpoints:k,branches:[{id:k[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*s.int(120,380)},{id:`br-${(0,u.g)(12,i,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*s.int(60,160)}],lastGoodState:"ok"===I.state?"ok":"idle"}},{id:h("firestore").id,state:"ok",since:(0,c.$)(r,s.int(10,60)*c.h),at:g(1),data:{displayName:h("firestore").name,latencyMs:s.int(70,190),reads:s.int(4e3,22e3),writes:s.int(800,6e3),deletes:s.int(20,400),opsAt:(0,c.$)(r,s.int(10,50)*c.E).toISOString(),authUsers:s.int(80,2400),authAt:(0,c.$)(r,s.int(2,20)*c.w).toISOString(),lastGoodState:"ok"}},{id:h("turso_database").id,state:"ok",since:(0,c.$)(r,s.int(10,60)*c.h),at:g(s.int(5,50)),data:{org:o.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*A)*1e6),rowsWritten:Math.round((.2+2.2*A)*1e6),storageBytes:1048576*s.int(40,600),orgRowsRead:Math.round((25+160*A)*1e6),orgRowsWritten:Math.round((.3+2.6*A)*1e6),orgStorageBytes:1048576*s.int(700,1400),orgDatabases:3,usageAt:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),lastGoodState:"ok"}},{id:h("upstash_redis").id,state:"ok",since:(0,c.$)(r,s.int(10,60)*c.h),at:g(s.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:s.int(2e3,9e3),monthlyRequests:Math.round((20+180*A)*1e3)+s.int(0,999),storageBytes:1048576*s.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*A)*0x40000000),statsAt:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),lastGoodState:"ok"}},{id:h("d1_database").id,state:"ok",since:(0,c.$)(r,s.int(10,60)*c.h),at:g(s.int(5,50)),data:{accountId:p,createdAt:h("d1_database").createdAt.toISOString(),sizeBytes:1048576*s.int(4,120),numTables:s.int(4,12),readReplication:"disabled",detailsAt:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),rowsRead:s.int(4e4,9e5),rowsWritten:s.int(1e3,3e4),readQueries:s.int(4e3,6e4),writeQueries:s.int(300,6e3),accountRowsRead:s.int(9e5,18e5),accountRowsWritten:s.int(3e4,55e3),accountSizeBytes:1048576*s.int(200,900),accountDatabases:2,usageDay:r.toISOString().slice(0,10),usageAt:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),lastGoodState:"ok"}}];await n.insert(a.snapshots).values(v.map(e=>({resourceId:e.id,state:e.state,stateSince:e.since,collectedAt:e.at,data:e.data}))),await n.insert(a.settings).values({key:M.F,value:{[d("cloudflare")]:{d1:"ok",analytics:"ok",at:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),note:null}},createdAt:(0,c.$)(r,30*c.h),updatedAt:r});let $=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],b=t.apps.slice(0,Math.max(4,t.apps.length-1));return await n.insert(a.links).values(b.map((e,t)=>({id:(0,u.T)(i,"link",e.name),fromResourceId:e.id,toResourceId:h($[t]).id,kind:"uses_db",source:"manual",createdAt:(0,c.$)(r,s.int(20,90)*c.h),updatedAt:(0,c.$)(r,s.int(1,19)*c.h)}))),await z(e,h("supabase_project").id),await n.insert(a.keepActive).values({resourceId:h("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:(0,c.$)(r,s.int(2,20)*c.w),updatedAt:(0,c.$)(r,12*c.h)}),{dbs:m.map(({id:e,kind:t,name:a,externalId:n,accountId:i})=>({id:e,kind:t,name:a,externalId:n,accountId:i})),cloudflare:{accountId:d("cloudflare"),cfAccountId:p,label:o.name}}}async function z(e,t){let{db:a,seed:n,now:i}=e,r=(0,u.k)(n,"compute"),s=(0,c.$)(i,r.int(1,4)*c.E),o=Array.from({length:24},(e,a)=>{let n=new Date((0,D.b)(i).getTime()-a*c.w),s=Math.round((6+18*r.next())*10)/10,o=Math.round((34+14*r.next())*10)/10;return{resourceId:t,hour:n,samples:0===a?Math.max(1,Math.floor((i.getTime()-n.getTime())/(5*c.E))):12,cpuSamples:0===a?1:11,cpuAvg:s,cpuMax:Math.round(10*Math.min(70,s*(1.4+r.next())))/10,memAvg:o,memMax:Math.round(10*Math.min(85,o+6*r.next()))/10,diskPct:9.8,connUsed:r.int(8,22),connMax:60}}),d={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:(0,c.$)(s,(5-t)*5*c.E).toISOString(),cpu:Math.round((6+18*r.next())*10)/10}))};await a.insert(x.A).values({resourceId:t,keyCiphertext:O,keyIv:O,latest:d,lastTryAt:s,lastOkAt:s,createdAt:(0,c.$)(i,21*c.h),updatedAt:s}),await a.insert(x.l).values(o.filter(e=>e.hour.getTime()<=i.getTime()))}var R=e.i(245710),j=e.i(615089);let B=7*c.h;async function N(e,t,n,i,o,d){let{db:p,seed:m,now:h}=e,g=(0,u.k)(m,"events"),f=[],w=(e,t)=>f.push({id:(0,u.T)(m,"event",e),count:1,...t});for(let e of(0,s.f)(await p.execute(r.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(h.getTime()-B).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;w(`${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&&w(`${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&&w(`${e.external_id}:failed`,{at:new Date(n.getTime()+1e3*g.int(40,110)),resourceId:e.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:t,reason:"DeployFailed"})}let A=n.outage,k=n.monitors.find(e=>e.id===A.monitorId),y=(e,t,a,n,i,r,s)=>w(e,{at:t,resourceId:a,type:"monitor",kind:n,message:i,detail:r,reason:s});y("outage:warn",A.startedAt,A.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),y("outage:err",new Date(A.startedAt.getTime()+10*c.E),A.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),y("outage:ok",A.recoveredAt,A.appId,"ok","Monitor recovered",`${k.path} answers again`,"MonitorRecovered"),n.degraded&&y("degraded:warn",n.degraded.since,n.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let I=o.certSoon,v=o.zoneSoon,_=new Date(I.notAfter.getTime()-14*c.h+g.int(5,50)*c.E),$=new Date(v.expiresAt.getTime()-30*c.h+g.int(5,50)*c.E);w("net:cert",{at:_,resourceId:I.id,type:"system",kind:"warn",message:`${I.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),w("net:zone",{at:$,resourceId:v.id,type:"system",kind:"warn",message:`${v.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let b=new Date(h);b.setUTCHours(20,0,0,0),b.getTime()>h.getTime()-5*c.E&&b.setTime(b.getTime()-c.h);for(let e=0;e<7;e++){let t=new Date(b.getTime()-e*c.h+1e3*g.int(20,90));w(`daily:${e}`,{at:t,resourceId:null,type:"system",kind:"ok",message:"Daily jobs finished",detail:"Rollups, retention, certificates and domain expiry",reason:"DailyFinished"})}let S=(0,j.demoUserId)(m),T=(e,t,a,n,i=null)=>w(`action:${e}`,{at:(0,c.$)(h,t*c.h+g.int(1,10)*c.w+g.int(0,59)*c.E),resourceId:n,type:"action",kind:"ok",message:a,detail:i,actorUserId:S,reason:"Action"}),x=n.monitors.find(e=>"/api/health"===e.path)??n.monitors[0],D=t.apps[0],E=i.dbs.find(e=>"supabase_project"===e.kind);T("monitor-added",6,`Monitor added: ${(0,l.F)(x.url)}`,x.appId),T("db-link",5,`Database link: ${D.name} → ${E.name}`,D.id),T("keep-active",5,`Keep active on: ${E.name}`,E.id),T("rule",4,"Alert rule edited: HighLatency",null,"threshold 1,500 ms"),T("maintenance",3,"Maintenance window added",null,`Sundays 02:00 ${(0,R.D)()}, 30 min`),T("check-now",1,`Check now: ${(0,l.F)(k.url)}`,k.appId);let M=d.resolved.credential;w("action:credential",{at:new Date(M.resolvedAt.getTime()-g.int(2,9)*c.E),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${M.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:S,reason:"Action"}),w("action:auto-recheck",{at:new Date(A.startedAt.getTime()+11*c.E+3e3),resourceId:k.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${(0,l.F)(k.url)}`,detail:null,actorUserId:null,reason:"Action"}),await p.insert(a.events).values(f.sort((e,t)=>e.at.getTime()-t.at.getTime()))}let U="76.76.21.21";async function F(e,t,n){let{db:i,seed:r,now:s}=e,o=(0,u.k)(r,"network"),l=e=>(0,c.$)(s,o.int(10,60*e)*c.E).toISOString(),p=n.cloudflare,m=o.shuffle($).slice(0,2).map((e,t)=>({id:(0,u.T)(r,"zone",e),name:f(e),expiresAt:new Date(1===t?s.getTime()+o.int(12,24)*c.h+o.int(1,20)*c.w:s.getTime()+o.int(200,600)*c.h)})),h=e=>e.split("-").slice(1).join("-")||e,g=t.apps,w=[{name:m[0].name,app:g[0]},...[0,1,2].map(e=>({name:`${h(g[e].name)}.${m[0].name}`,app:g[e]})),...[3,4].map(e=>({name:`${h(g[e%g.length].name)}.${m[1].name}`,app:g[e%g.length]}))],A=o.int(1,3),k=w.map((e,t)=>({id:(0,u.T)(r,"domain",e.name),name:e.name,appId:e.app.id,notAfter:new Date(t===A?s.getTime()+o.int(4,9)*c.h+o.int(1,20)*c.w:s.getTime()+o.int(30,85)*c.h)})),y=(e,t,a,n,i,s=null)=>({id:(0,u.p)(32,r,"dns",e,t,a),type:t,name:a,content:n,proxied:i,ttl:i?1:300,comment:s}),I=m.map(e=>{let t=[...k.filter(t=>t.name===e.name||t.name.endsWith(`.${e.name}`)).map(t=>y(e.name,"A",t.name,U,!1,"Vercel")),y(e.name,"MX",e.name,f("mx1.mail"),!1),y(e.name,"TXT",e.name,`v=spf1 include:_spf.${f("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:[f("ada.ns"),f("bob.ns")],accountId:p.cfAccountId,checkedAt:l(1)},i=(0,d.G)({status:n.status,paused:n.paused,rdap:a},s),r={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(s.getTime()+o.int(40,80)*c.h).toISOString()}],rdap:a,reasons:i.reasons};return{z:e,records:t,rdap:a,state:i.state,data:r}}),v=(0,c.$)(s,o.int(150,380)*c.h),_=(0,c.$)(s,o.int(5,50)*c.E);await i.insert(a.resources).values(m.map(e=>({id:e.id,accountId:p.accountId,kind:"zone",externalId:(0,u.p)(32,r,"zone-id",e.name),name:e.name,monitored:!0,meta:{status:"active",accountId:p.cfAccountId,accountName:p.label},firstSeenAt:v,lastSeenAt:_,createdAt:v,updatedAt:_}))),await i.insert(a.resources).values(k.map(e=>{let a=g.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:v,lastSeenAt:_,createdAt:v,updatedAt:_}}));let b=["Let's Encrypt","Google Trust Services"];await i.insert(a.snapshots).values([...I.map(e=>({resourceId:e.z.id,state:e.state,stateSince:"ok"===e.state?v:new Date(e.z.expiresAt.getTime()-30*c.h),data:e.data,collectedAt:_})),...k.map(e=>{let t=I.find(t=>e.name===t.z.name||e.name.endsWith(`.${t.z.name}`)),a={notAfter:e.notAfter.toISOString(),issuer:o.pick(b),authorized:!0,error:null,checkedAt:l(19)},n={misconfigured:!1,configuredBy:"A",recommendedIps:[U],checkedAt:l(6)},i=(0,d.k)({host:e.name,tls:a,vercel:n,records:(0,d.Q)(e.name,t.records),zoneRdap:t.rdap},s),r="ok"===i.state?v:new Date(Math.min(e.notAfter.getTime()-14*c.h,t.z.expiresAt.getTime()-30*c.h));return{resourceId:e.id,state:i.state,stateSince:r,data:{tls:a,vercel:n,reasons:i.reasons},collectedAt:_}})]);let S=I[0].records.find(e=>"A"===e.type&&e.name===m[0].name&&e.content===U);return{zones:m,domains:k,certSoon:k[A],zoneSoon:m[1],vercelRecord:{id:S.id,name:S.name,zoneId:m[0].id}}}let L=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function H(e,t){let{db:n,seed:i,now:o}=e,d=(0,u.k)(i,"logs"),l=(0,s.f)(await n.execute(r.B`select resource_id, external_id from ops.deployments where is_current`)),p=d.shuffle(t.apps).slice(0,3).flatMap((e,t)=>Array.from({length:d.int(4,8)},(a,n)=>{let r=d.pick(b);return{id:(0,u.T)(i,"log",e.name,n),resourceId:e.id,deploymentId:l.find(t=>t.resource_id===e.id)?.external_id??`dpl_${(0,u.g)(24,i,"log-dpl",t)}`,rowId:`${(0,u.g)(10,i,"log-row",e.name,n).toLowerCase()}-${n}`,at:(0,c.$)(o,d.int(3,2760)*c.E+1e3*d.int(0,59)),level:r.level,message:r.message,requestMethod:r.method,requestPath:r.path,statusCode:r.status,source:"serverless"}}));await n.insert(a.storedLogs).values(p)}async function K(e){let{db:t,seed:n,now:i}=e,r=(0,u.k)(n,"provider-status"),s=(0,c.$)(i,r.int(1,4)*c.E);await t.insert(a.providerStatus).values(L.map(e=>"cloudflare"===e?{provider:e,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:s,lastOkAt:s,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:(0,c.$)(i,r.int(1,3)*c.w).toISOString(),url:null}]}:{provider:e,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:s,lastOkAt:s,error:null}))}async function V(e){let{db:t,seed:a,now:n}=e,i=(0,u.k)(a,"ai-usage"),s=(0,u.T)(a,"ai-agent","console"),o=i.int(70,140),d=[],l=[],p=[],m=[],h=[],g=[];for(let e=0;e<o;e++){d.push(n.getTime()-i.int(2,10080)*c.E);let e=i.chance(.04);h.push(e?429:200),l.push(e?0:i.int(600,4200)),p.push(e?0:i.int(80,700)),m.push(e?i.int(80,300):i.int(700,4800)),g.push(i.int(1,2))}let f=e=>e.reduce((e,t)=>e+t,0),w=new Date(Math.max(...d));await t.execute(r.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
- values (${r}::uuid, null, 'Watchbell console', '', 'console', 'Watchbell console (ask-ai)', ${(0,m.$)(i,720*m.w).toISOString()}::timestamptz,
5
- ${w.toISOString()}::timestamptz, ${s}, ${f(l)}, ${f(c)}, ${q(["gemini/gemini-2.5-flash","workers-ai/gemma-3-12b-it"])}::text[])`),await t.execute(d.B`
4
+ values (${s}::uuid, null, 'Watchbell console', '', 'console', 'Watchbell console (ask-ai)', ${(0,c.$)(n,720*c.w).toISOString()}::timestamptz,
5
+ ${w.toISOString()}::timestamptz, ${o}, ${f(l)}, ${f(p)}, ${W(["gemini/gemini-2.5-flash","workers-ai/gemma-3-12b-it"])}::text[])`),await t.execute(r.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
- select to_timestamp(t.at / 1000.0), null, ${r}::uuid, null, (array['gemini/gemini-2.5-flash', 'workers-ai/gemma-3-12b-it'])[t.m], 'console', null,
7
+ select to_timestamp(t.at / 1000.0), null, ${s}::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
- from unnest(${(0,m._)(o)}::bigint[], ${(0,m._)(h)}::int[], ${(0,m._)(l)}::int[], ${(0,m._)(c)}::int[], ${(0,m._)(u)}::int[],
11
- ${(0,m._)(p)}::int[]) as t(at, m, ti, tout, l, s)
12
- order by t.at`)}let q=e=>`{${e.join(",")}}`,Q=2*m.w;async function X(e,t,a,i){let{db:n,seed:r,now:s}=e,o=(0,g.k)(r,"proposals"),l=e=>(0,g.T)(r,"proposal",e),c=a.certSoon,u=t.failedDeploy,h=i.monitors.find(e=>e.id===i.outage.monitorId),f=new Date(i.outage.startedAt.getTime()+11*m.E),w=t.resolved.oldDeploy,A=new Date(w.startedAt.getTime()+o.int(2,6)*m.E),k=new Date(A.getTime()+o.int(3,15)*m.E),y=(0,m.$)(s,o.int(20,55)*m.E),I=(0,m.$)(s,o.int(8,19)*m.E);for(let e of[{id:l("pending-safe"),alertId:t.firing.cert,ruleKey:"CertExpiringSoon",room:"network",action:"domain_recheck",risk:"safe",title:`Re-check the certificate of ${c.name}`,reason:"The TLS certificate expires within 14 days; a fresh read shows whether it was already renewed.",resourceKind:"domain",resourceId:c.id,resourceName:c.name,targetRef:c.id,proposedBy:"Network",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:y,decidedAt:null,expiresAt:new Date(y.getTime()+Q),claimedAt:null,finishedAt:null},{id:l("pending-risky"),alertId:t.firing.deploy,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_redeploy",risk:"risky",title:`Redeploy production ${u.appName}`,reason:`Production deployment ${u.sha} failed; the previous build is still live.`,resourceKind:"app",resourceId:u.appId,resourceName:u.appName,targetRef:u.currentExternalId,proposedBy:"Workloads",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:I,decidedAt:null,expiresAt:new Date(I.getTime()+Q),claimedAt:null,finishedAt:null},{id:l("done-auto"),alertId:t.resolved.outage,ruleKey:"MonitorDown",room:"workloads",action:"recheck",risk:"safe",title:`Check ${(0,p.F)(h.url)} again now`,reason:"It returned HTTP 503 on 3 consecutive checks.",resourceKind:"app",resourceId:h.appId,resourceName:(0,p.F)(h.url),targetRef:h.id,proposedBy:"Workloads",status:"done",auto:!0,result:"Failed: HTTP 503.",decidedBy:null,createdAt:f,decidedAt:f,expiresAt:new Date(f.getTime()+Q),claimedAt:new Date(f.getTime()+2e3),finishedAt:new Date(f.getTime()+2e3+o.int(300,1500))},{id:l("rejected"),alertId:w.id,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_rollback",risk:"risky",title:`Roll back ${w.appName} to the previous deployment`,reason:"The newest production build failed.",resourceKind:"app",resourceId:w.appId,resourceName:w.appName,targetRef:w.previousExternalId,proposedBy:"Workloads",status:"rejected",auto:!1,result:null,decidedBy:(0,L.memberRowId)(r),createdAt:A,decidedAt:k,expiresAt:new Date(A.getTime()+Q),claimedAt:null,finishedAt:null}]){let t=e=>e?e.toISOString():null;await n.execute(d.B`
10
+ from unnest(${(0,c._)(d)}::bigint[], ${(0,c._)(g)}::int[], ${(0,c._)(l)}::int[], ${(0,c._)(p)}::int[], ${(0,c._)(m)}::int[],
11
+ ${(0,c._)(h)}::int[]) as t(at, m, ti, tout, l, s)
12
+ order by t.at`)}let W=e=>`{${e.join(",")}}`,G=2*c.w;async function q(e,t,a,n){let{db:i,seed:s,now:o}=e,d=(0,u.k)(s,"proposals"),p=e=>(0,u.T)(s,"proposal",e),m=a.certSoon,h=t.failedDeploy,g=n.monitors.find(e=>e.id===n.outage.monitorId),f=new Date(n.outage.startedAt.getTime()+11*c.E),w=t.resolved.oldDeploy,A=new Date(w.startedAt.getTime()+d.int(2,6)*c.E),k=new Date(A.getTime()+d.int(3,15)*c.E),y=(0,c.$)(o,d.int(20,55)*c.E),I=(0,c.$)(o,d.int(8,19)*c.E);for(let e of[{id:p("pending-safe"),alertId:t.firing.cert,ruleKey:"CertExpiringSoon",room:"network",action:"domain_recheck",risk:"safe",title:`Re-check the certificate of ${m.name}`,reason:"The TLS certificate expires within 14 days; a fresh read shows whether it was already renewed.",resourceKind:"domain",resourceId:m.id,resourceName:m.name,targetRef:m.id,proposedBy:"Network",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:y,decidedAt:null,expiresAt:new Date(y.getTime()+G),claimedAt:null,finishedAt:null},{id:p("pending-risky"),alertId:t.firing.deploy,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_redeploy",risk:"risky",title:`Redeploy production ${h.appName}`,reason:`Production deployment ${h.sha} failed; the previous build is still live.`,resourceKind:"app",resourceId:h.appId,resourceName:h.appName,targetRef:h.currentExternalId,proposedBy:"Workloads",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:I,decidedAt:null,expiresAt:new Date(I.getTime()+G),claimedAt:null,finishedAt:null},{id:p("done-auto"),alertId:t.resolved.outage,ruleKey:"MonitorDown",room:"workloads",action:"recheck",risk:"safe",title:`Check ${(0,l.F)(g.url)} again now`,reason:"It returned HTTP 503 on 3 consecutive checks.",resourceKind:"app",resourceId:g.appId,resourceName:(0,l.F)(g.url),targetRef:g.id,proposedBy:"Workloads",status:"done",auto:!0,result:"Failed: HTTP 503.",decidedBy:null,createdAt:f,decidedAt:f,expiresAt:new Date(f.getTime()+G),claimedAt:new Date(f.getTime()+2e3),finishedAt:new Date(f.getTime()+2e3+d.int(300,1500))},{id:p("rejected"),alertId:w.id,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_rollback",risk:"risky",title:`Roll back ${w.appName} to the previous deployment`,reason:"The newest production build failed.",resourceKind:"app",resourceId:w.appId,resourceName:w.appName,targetRef:w.previousExternalId,proposedBy:"Workloads",status:"rejected",auto:!1,result:null,decidedBy:(0,j.memberRowId)(s),createdAt:A,decidedAt:k,expiresAt:new Date(A.getTime()+G),claimedAt:null,finishedAt:null}]){let t=e=>e?e.toISOString():null;await i.execute(r.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 J(e,t){return e.length?e[Math.min(e.length-1,Math.max(0,Math.ceil(t*e.length)-1))]:null}function Z(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:J(a,.5),p95Ms:J(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}}var ee=e.i(655206);let et=5*m.E,ea=m.h/et,ei=ee.f.checks*ea,en=ee.f.rollupsHourly*ea,er="No answer within 5 s";async function es(e,t){var a;let i,{db:n,seed:s,now:o}=e,d=(0,g.k)(s,"monitors"),l=[];for(let e of t.apps)for(let[t,a]of(d.chance(.6)?["/","/api/health"]:["/"]).entries())l.push({id:(0,g.T)(s,"monitor",e.name,a),appId:e.id,index:l.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*d.int(1,3)*m.h+d.int(2,50)*m.E)});let c=Math.floor((o.getTime()-1e4)/et)*et,u=(e,t)=>c-t*et+2e3+300*e.index,p=l.map(e=>(function(e,t){let a=(0,g.k)(e,"checks",t.id),i={ok:new Uint8Array(en),status:new Int16Array(en),latency:new Int32Array(en)},n=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<en;e++){let t=Math.round(n*(.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);eo(i,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else eo(i,e,{ok:!0,status:200,latency:t})}return i})(s,e)),h=(0,g.k)(s,"outage"),f=l.filter(e=>"/"===e.path),w=h.pick(f),k=h.int(96,240),y=h.int(4,7),I=p[w.index];for(let e=k-3;e<k+y+3;e++)eo(I,e,{ok:!0,status:200,latency:I.latency[e]>0?I.latency[e]:180});for(let e=k;e<k+y;e++)eo(I,e,{ok:!1,status:e===k+y-1?502:503,latency:h.int(30,140)});let v={monitorId:w.id,appId:w.appId,startedAt:new Date(u(w,k+y-1)),endedAt:new Date(u(w,k)),recoveredAt:new Date(u(w,k-1)),failedChecks:y},$=l.filter(e=>e.appId!==w.appId),_=$.length?h.pick($):null;_&&eo(p[_.index],0,{ok:!1,status:0,latency:-1});let S=(0,g.k)(s,"slow-windows"),T=l.filter(e=>e.id!==w.id),b=(e,t,a,i)=>{let n=p[e.index],r=t*ea+S.int(12,144),s=S.int(a,i),o=[];for(let e=r;e>r-s;e--){let t=S.int(1600,2900);eo(n,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let d=r-s;return(!n.ok[d]||n.latency[d]>=1500)&&eo(n,d,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(u(e,r-1)),resolvedAt:new Date(u(e,d)),p95:Z(o).p95Ms}},x=T[0]??w,D=T[T.length-1]??w,E=[b(x,2,4,8),b(D,5,3,6)],M=l.map(e=>(function(e,t,a){let i="unknown",n=0,r=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=(0,A.G)(n,{ok:1===t.ok[e],statusCode:ed(t,e),latencyMs:el(t,e),error:ec(t,e)});s.state!==i&&(r=a(e)),i=s.state,n=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:i,stateSince:r,failStreak:n,lastCheckedAt:a(0),lastStatus:ed(t,0),lastLatencyMs:el(t,0),createdAt:e.createdAt}})(e,p[e.index],t=>new Date(u(e,t))));await n.insert(r.monitors).values(M.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:et/1e3,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:ec(p[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let C=((i=new Date(a=o)).setUTCHours(20,0,0,0),i.getTime()>a.getTime()-5*m.E&&i.setTime(i.getTime()-m.h),i.getTime());for(let t of l)await eu(e,t,p[t.index],new Date(u(t,0))),await ep(e,t,p[t.index],e=>u(t,e),C);return await em(e,l.length),{monitors:M,outage:v,degraded:_?{monitorId:_.id,appId:_.appId,since:new Date(u(_,0))}:null,slow:E}}function eo(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 ed=(e,t)=>0===e.status[t]?null:e.status[t],el=(e,t)=>e.latency[t]<0?null:e.latency[t],ec=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:er;async function eu(e,t,a,i){let n=Array.from({length:ei},(e,t)=>t);await e.db.execute(d.B`
17
+ ${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}function Y(e,t){return e.length?e[Math.min(e.length-1,Math.max(0,Math.ceil(t*e.length)-1))]:null}function Q(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:Y(a,.5),p95Ms:Y(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}}var X=e.i(655206);let J=5*c.E,Z=c.h/J,ee=X.f.checks*Z,et=X.f.rollupsHourly*Z,ea="No answer within 5 s";async function en(e,t){var n;let i,{db:r,seed:s,now:o}=e,d=(0,u.k)(s,"monitors"),l=[];for(let e of t.apps)for(let[t,a]of(d.chance(.6)?["/","/api/health"]:["/"]).entries())l.push({id:(0,u.T)(s,"monitor",e.name,a),appId:e.id,index:l.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*d.int(1,3)*c.h+d.int(2,50)*c.E)});let p=Math.floor((o.getTime()-1e4)/J)*J,m=(e,t)=>p-t*J+2e3+300*e.index,h=l.map(e=>(function(e,t){let a=(0,u.k)(e,"checks",t.id),n={ok:new Uint8Array(et),status:new Int16Array(et),latency:new Int32Array(et)},i=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<et;e++){let t=Math.round(i*(.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);ei(n,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else ei(n,e,{ok:!0,status:200,latency:t})}return n})(s,e)),f=(0,u.k)(s,"outage"),w=l.filter(e=>"/"===e.path),A=f.pick(w),k=f.int(96,240),y=f.int(4,7),I=h[A.index];for(let e=k-3;e<k+y+3;e++)ei(I,e,{ok:!0,status:200,latency:I.latency[e]>0?I.latency[e]:180});for(let e=k;e<k+y;e++)ei(I,e,{ok:!1,status:e===k+y-1?502:503,latency:f.int(30,140)});let v={monitorId:A.id,appId:A.appId,startedAt:new Date(m(A,k+y-1)),endedAt:new Date(m(A,k)),recoveredAt:new Date(m(A,k-1)),failedChecks:y},_=l.filter(e=>e.appId!==A.appId),$=_.length?f.pick(_):null;$&&ei(h[$.index],0,{ok:!1,status:0,latency:-1});let b=(0,u.k)(s,"slow-windows"),S=l.filter(e=>e.id!==A.id),T=(e,t,a,n)=>{let i=h[e.index],r=t*Z+b.int(12,144),s=b.int(a,n),o=[];for(let e=r;e>r-s;e--){let t=b.int(1600,2900);ei(i,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let d=r-s;return(!i.ok[d]||i.latency[d]>=1500)&&ei(i,d,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(m(e,r-1)),resolvedAt:new Date(m(e,d)),p95:Q(o).p95Ms}},x=S[0]??A,D=S[S.length-1]??A,E=[T(x,2,4,8),T(D,5,3,6)],M=l.map(e=>(function(e,t,a){let n="unknown",i=0,r=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=(0,g.G)(i,{ok:1===t.ok[e],statusCode:er(t,e),latencyMs:es(t,e),error:eo(t,e)});s.state!==n&&(r=a(e)),n=s.state,i=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:n,stateSince:r,failStreak:i,lastCheckedAt:a(0),lastStatus:er(t,0),lastLatencyMs:es(t,0),createdAt:e.createdAt}})(e,h[e.index],t=>new Date(m(e,t))));await r.insert(a.monitors).values(M.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:J/1e3,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:eo(h[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let O=((i=new Date(n=o)).setUTCHours(20,0,0,0),i.getTime()>n.getTime()-5*c.E&&i.setTime(i.getTime()-c.h),i.getTime());for(let t of l)await ed(e,t,h[t.index],new Date(m(t,0))),await el(e,t,h[t.index],e=>m(t,e),O);return await ec(e,l.length),{monitors:M,outage:v,degraded:$?{monitorId:$.id,appId:$.appId,since:new Date(m($,0))}:null,slow:E}}function ei(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 er=(e,t)=>0===e.status[t]?null:e.status[t],es=(e,t)=>e.latency[t]<0?null:e.latency[t],eo=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:ea;async function ed(e,t,a,n){let i=Array.from({length:ee},(e,t)=>t);await e.db.execute(r.B`
18
18
  insert into ops.checks (id, monitor_id, at, ok, status_code, latency_ms, error, in_maintenance)
19
- select md5(${`${e.seed}:${t.id}:`} || t.k)::uuid, ${t.id}::uuid, ${i.toISOString()}::timestamptz - t.k * interval '5 minutes',
20
- t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${er} else 'HTTP ' || t.s end, false
21
- from unnest(${(0,m._)(n)}::int[], ${(0,m._)(n.map(e=>1===a.ok[e]))}::bool[], ${(0,m._)(n.map(e=>ed(a,e)))}::int[],
22
- ${(0,m._)(n.map(e=>el(a,e)))}::int[]) as t(k, ok, s, l)`)}async function ep(e,t,a,i,n){let r=Math.ceil(i(a.ok.length-1)/m.w)*m.w,s=[],o=[],l=[],c=[],u=[],p=[],g=[],h=-1,f=[],w=()=>{if(h<0||!f.length)return;let e=Z(f);s.push(h/1e3),o.push(e.checks),l.push(e.failures),c.push(e.p50Ms),u.push(e.p95Ms),p.push(e.maxMs),g.push(e.status5xx)};for(let e=0;e<a.ok.length;e++){let t=Math.floor(i(e)/m.w)*m.w;if(!(t>=n)){if(t<r)break;t!==h&&(w(),h=t,f=[]),f.push({ok:1===a.ok[e],statusCode:ed(a,e),latencyMs:el(a,e)})}}w(),s.length&&await e.db.execute(d.B`
19
+ select md5(${`${e.seed}:${t.id}:`} || t.k)::uuid, ${t.id}::uuid, ${n.toISOString()}::timestamptz - t.k * interval '5 minutes',
20
+ t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${ea} else 'HTTP ' || t.s end, false
21
+ from unnest(${(0,c._)(i)}::int[], ${(0,c._)(i.map(e=>1===a.ok[e]))}::bool[], ${(0,c._)(i.map(e=>er(a,e)))}::int[],
22
+ ${(0,c._)(i.map(e=>es(a,e)))}::int[]) as t(k, ok, s, l)`)}async function el(e,t,a,n,i){let s=Math.ceil(n(a.ok.length-1)/c.w)*c.w,o=[],d=[],l=[],u=[],p=[],m=[],h=[],g=-1,f=[],w=()=>{if(g<0||!f.length)return;let e=Q(f);o.push(g/1e3),d.push(e.checks),l.push(e.failures),u.push(e.p50Ms),p.push(e.p95Ms),m.push(e.maxMs),h.push(e.status5xx)};for(let e=0;e<a.ok.length;e++){let t=Math.floor(n(e)/c.w)*c.w;if(!(t>=i)){if(t<s)break;t!==g&&(w(),g=t,f=[]),f.push({ok:1===a.ok[e],statusCode:er(a,e),latencyMs:es(a,e)})}}w(),o.length&&await e.db.execute(r.B`
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
- from unnest(${(0,m._)(s)}::bigint[], ${(0,m._)(o)}::int[], ${(0,m._)(l)}::int[], ${(0,m._)(c)}::int[],
26
- ${(0,m._)(u)}::int[], ${(0,m._)(p)}::int[], ${(0,m._)(g)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function em(e,t){let{seed:a,now:i}=e,n=(0,g.k)(a,"collector-runs"),s=Math.floor((i.getTime()-1e4)/m.E)*m.E;await e.db.insert(r.collectorRuns).values(Array.from({length:60},(e,i)=>{let r=s-i*m.E,o=r%et==0,d=(o?2e3+300*t:600)+n.int(200,1400);return{id:(0,g.T)(a,"collector-run",i),startedAt:new Date(r+1e3),finishedAt:new Date(r+1e3+d),trigger:"manual",tasks:o?["heartbeats","checks","vercel","alerts"]:["heartbeats","vercel","alerts"],ok:!0,durationMs:d,checks:o?t:0}}))}async function eg(e,t,a,i){await e.transaction(async e=>{let n={db:e,seed:t,now:a,email:i};await (0,L.seedMember)(n);let r=await D(n),s=await es(n,r);await E(n,r,s.monitors);let o=await B(n,r),d=await K(n,r,o),l=await f(n,r,s,o,d);await X(n,l,d,s),await F(n,r,s,o,d,l),await G(n,r),await W(n),await Y(n)})}var eh=e.i(330787),ef=e.i(904370);let ew=0,eA=()=>Date.now()+ew;function ek(e=process.env){let t=Number(((0,s.d)(e,"DEMO_POOL_MAX")??"").trim());return Number.isInteger(t)&&t>=1?t:3}let ey=globalThis.__watchpostDemoPool??={entries:new Map,live:new Set,waiters:new Set,creating:0,creationQueue:[]};function eI(){let e=[...ey.waiters];for(let t of(ey.waiters.clear(),e))t()}function ev(e){!e.evicted||e.leases>0||e.closing||(e.closing=e.pglite.then(e=>e.close()).catch(()=>void 0).finally(()=>{ey.live.delete(e),eI()}))}function e$(e){ey.entries.get(e.seed)===e&&ey.entries.delete(e.seed),e.evicted=!0,0===ey.entries.size&&ey.sweeper&&(clearInterval(ey.sweeper),ey.sweeper=void 0),ev(e),eI()}let e_=e=>e.created&&0===e.leases&&!e.evicted,eS=(e,t)=>e_(e)&&t-e.lastUsed>=6e4;function eT(e=eA()){for(let t of[...ey.entries.values()])e_(t)&&e-t.lastUsed>12e5&&e$(t)}async function eb(e){let t=eA()+5e3;for(;;){if(e.evicted)throw Error("The demo database was closed. Reload the page.");if(ey.live.size<ek())return void ey.live.add(e);let a=eA(),i=[...ey.entries.values()].find(e=>eS(e,a));if(i){e$(i),await i.closing;continue}let n=t-a;if(n<=0)throw(0,o.f)(o.L);await function(e){return new Promise(t=>{let a=setTimeout(i,e);function i(){clearTimeout(a),ey.waiters.delete(i),t()}ey.waiters.add(i)})}(Math.min(n,function(e){let t=1/0;for(let a of ey.entries.values())e_(a)&&(t=Math.min(t,a.lastUsed+6e4-e));return Math.max(0,t)}(a)+1))}}async function ex(){ey.creating<2?ey.creating++:await new Promise(e=>ey.creationQueue.push(e))}async function eD(e,s){if(!ef.demoCreations.take(await (0,eh.R)(),e.seed))throw(0,o.f)(o._);await eb(e);try{let o=s??await (0,eh._)();await ex();try{let s=await t.f.create();try{let t=(0,a.f)({client:s,schema:r});await (0,i.f)(t,{migrationsFolder:(0,n.selfhostMigrationsFolder)()}),await eg(t,e.seed,new Date,o)}catch(e){throw await s.close().catch(()=>void 0),e}return e.created=!0,s}finally{let e;(e=ey.creationQueue.shift())?e():ey.creating--}}catch(t){throw ey.live.delete(e),t}finally{eI()}}function eE(e,t){if(!e)throw Error("Demo seed missing");eT();let a=ey.entries.get(e);if(a)ey.entries.delete(e);else{let i={seed:e,created:!1,lastUsed:0,leases:0,evicted:!1};i.pglite=eD(i,t),i.pglite.catch(()=>{ey.entries.get(e)===i&&ey.entries.delete(e)}),a=i}return a.lastUsed=eA(),ey.entries.set(e,a),ey.sweeper||(ey.sweeper=setInterval(()=>eT(),6e4),ey.sweeper.unref?.()),a}async function eM(e,t,a){let i=eE(e,a);i.leases++;try{return await t(await i.pglite)}finally{i.leases--,i.lastUsed=eA(),ev(i),eI()}}async function eC(){for(let e of[...ey.entries.values()])e$(e);await Promise.all([...ey.live].map(e=>e.closing))}e.s(["BUSY_WAIT_MS",0,5e3,"DEFAULT_POOL_MAX",0,3,"DEMO_BUSY",()=>o.L,"DEMO_TOO_MANY",()=>o._,"IDLE_MS",0,12e5,"MAX_CREATING",0,2,"RECENT_MS",0,6e4,"closeDemoPool",0,eC,"demoDbFor",0,function(e,t){return eE(e,t).pglite},"demoPoolMax",0,ek,"setDemoPoolClockOffsetForTests",0,function(e){if(!process.env.VITEST)throw Error("setDemoPoolClockOffsetForTests is for tests only");ew=e,eI()},"sweepIdleDemoDbs",0,eT,"withDemoDb",0,eM],601533)}];
25
+ from unnest(${(0,c._)(o)}::bigint[], ${(0,c._)(d)}::int[], ${(0,c._)(l)}::int[], ${(0,c._)(u)}::int[],
26
+ ${(0,c._)(p)}::int[], ${(0,c._)(m)}::int[], ${(0,c._)(h)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function ec(e,t){let{seed:n,now:i}=e,r=(0,u.k)(n,"collector-runs"),s=Math.floor((i.getTime()-1e4)/c.E)*c.E;await e.db.insert(a.collectorRuns).values(Array.from({length:60},(e,a)=>{let i=s-a*c.E,o=i%J==0,d=(o?2e3+300*t:600)+r.int(200,1400);return{id:(0,u.T)(n,"collector-run",a),startedAt:new Date(i+1e3),finishedAt:new Date(i+1e3+d),trigger:"manual",tasks:o?["heartbeats","checks","vercel","alerts"]:["heartbeats","vercel","alerts"],ok:!0,durationMs:d,checks:o?t:0}}))}async function eu(e,t,a,n,{foreignKeyChecks:i=!1}={}){await e.transaction(async e=>{i||await e.execute(r.B`set local session_replication_role = replica`);let s={db:e,seed:t,now:a,email:n};await (0,j.seedMember)(s);let o=await S(s),d=await en(s,o);await T(s,o,d.monitors);let l=await P(s,o),c=await F(s,o,l),u=await m(s,o,d,l,c);await q(s,u,c,d),await N(s,o,d,l,c,u),await H(s,o),await K(s),await V(s)})}var ep=e.i(330787),em=e.i(666680),eh=e.i(902157),eg=e.i(750227),ef=e.i(727028),ew=e.i(632019),eA=e.i(488077),ek=e.i(614755);let ey=globalThis;async function eI(e){let a=await ew.f.create();try{return await (0,eA.f)((0,t.f)({client:a}),{migrationsFolder:e}),{blob:await a.dumpDataDir("none"),from:"process"}}finally{await a.close()}}function ev(e){return ey.__watchbellDemoTemplate=e,e.catch(()=>{ey.__watchbellDemoTemplate===e&&delete ey.__watchbellDemoTemplate}),e}function e_(){if(ey.__watchbellDemoTemplate)return ey.__watchbellDemoTemplate;let e=performance.now(),t=(0,ek.selfhostMigrationsFolder)(),a=function(e){let t=function(e=process.env){return(0,eg.resolve)((0,n.d)(e,"DEMO_SNAPSHOT_DIR")||"demo-snapshot")}();try{if(JSON.parse((0,eh.readFileSync)((0,eg.join)(t,"migrated.json"),"utf8")).migrations!==function(e){let t=(0,em.createHash)("sha256");for(let a of["meta/_journal.json",...(0,eh.readdirSync)(e).filter(e=>e.endsWith(".sql")).sort()])t.update(`${a}\0`).update((0,eh.readFileSync)((0,eg.join)(e,a))).update("\0");return t.digest("hex")}(e))return null;return{blob:new Blob([(0,ef.gunzipSync)((0,eh.readFileSync)((0,eg.join)(t,"migrated.tar.gz")))],{type:"application/x-tar"}),from:"build"}}catch{return null}}(t),i=ev(a?Promise.resolve(a):eI(t));return i.then(t=>console.info(`demo: schema template ${"build"===t.from?"read from the build's snapshot":"migrated in this process"} in ${Math.round(performance.now()-e)} ms`),()=>void 0),i}async function e$(){let e=e_(),t=await e;try{return await ew.f.create({loadDataDir:t.blob})}catch(a){if("build"!==t.from)throw a;return ey.__watchbellDemoTemplate===e&&(console.warn(`demo: the build's migrated snapshot didn't load (${a instanceof Error?a.message:String(a)}); migrating instead`),ev(eI((0,ek.selfhostMigrationsFolder)()))),ew.f.create({loadDataDir:(await e_()).blob})}}var eb=e.i(904370);let eS=0,eT=()=>Date.now()+eS;function ex(e=process.env){let t=Number(((0,n.d)(e,"DEMO_POOL_MAX")??"").trim());return Number.isInteger(t)&&t>=1?t:3}let eD=globalThis.__watchpostDemoPool??={entries:new Map,live:new Set,waiters:new Set,creating:0,creationQueue:[]};function eE(){let e=[...eD.waiters];for(let t of(eD.waiters.clear(),e))t()}function eM(e){!e.evicted||e.leases>0||e.closing||(e.closing=e.pglite.then(e=>e.close()).catch(()=>void 0).finally(()=>{eD.live.delete(e),eE()}))}function eO(e){eD.entries.get(e.seed)===e&&eD.entries.delete(e.seed),e.evicted=!0,0===eD.entries.size&&eD.sweeper&&(clearInterval(eD.sweeper),eD.sweeper=void 0),eM(e),eE()}let eC=e=>e.created&&0===e.leases&&!e.evicted,eP=(e,t)=>eC(e)&&t-e.lastUsed>=6e4;function ez(e=eT()){for(let t of[...eD.entries.values()])eC(t)&&e-t.lastUsed>12e5&&eO(t)}async function eR(e){let t=eT()+5e3;for(;;){if(e.evicted)throw Error("The demo database was closed. Reload the page.");if(eD.live.size<ex())return void eD.live.add(e);let a=eT(),n=[...eD.entries.values()].find(e=>eP(e,a));if(n){eO(n),await n.closing;continue}let r=t-a;if(r<=0)throw(0,i.f)(i.L);await function(e){return new Promise(t=>{let a=setTimeout(n,e);function n(){clearTimeout(a),eD.waiters.delete(n),t()}eD.waiters.add(n)})}(Math.min(r,function(e){let t=1/0;for(let a of eD.entries.values())eC(a)&&(t=Math.min(t,a.lastUsed+6e4-e));return Math.max(0,t)}(a)+1))}}async function ej(){eD.creating<2?eD.creating++:await new Promise(e=>eD.creationQueue.push(e))}async function eB(e,n){let r=performance.now();if(!eb.demoCreations.take(await (0,ep.R)(),e.seed))throw(0,i.f)(i._);await eR(e);try{let i=n??await (0,ep._)();await ej();try{let n=performance.now(),s=await e$(),o=performance.now();try{let n=(0,t.f)({client:s,schema:a});await eu(n,e.seed,new Date,i)}catch(e){throw await s.close().catch(()=>void 0),e}e.created=!0;let d=(e,t)=>Math.round(t-e),l=performance.now();return console.info(`demo: visitor database ready in ${d(r,l)} ms (waited ${d(r,n)}, schema ${d(n,o)}, seed ${d(o,l)})`),s}finally{let e;(e=eD.creationQueue.shift())?e():eD.creating--}}catch(t){throw eD.live.delete(e),t}finally{eE()}}function eN(e,t){if(!e)throw Error("Demo seed missing");ez();let a=eD.entries.get(e);if(a)eD.entries.delete(e);else{let n={seed:e,created:!1,lastUsed:0,leases:0,evicted:!1};n.pglite=eB(n,t),n.pglite.catch(()=>{eD.entries.get(e)===n&&eD.entries.delete(e)}),a=n}return a.lastUsed=eT(),eD.entries.set(e,a),eD.sweeper||(eD.sweeper=setInterval(()=>ez(),6e4),eD.sweeper.unref?.()),a}async function eU(e,t,a){let n=eN(e,a);n.leases++;try{return await t(await n.pglite)}finally{n.leases--,n.lastUsed=eT(),eM(n),eE()}}async function eF(){for(let e of[...eD.entries.values()])eO(e);await Promise.all([...eD.live].map(e=>e.closing))}e.s(["BUSY_WAIT_MS",0,5e3,"DEFAULT_POOL_MAX",0,3,"DEMO_BUSY",()=>i.L,"DEMO_TOO_MANY",()=>i._,"IDLE_MS",0,12e5,"MAX_CREATING",0,2,"RECENT_MS",0,6e4,"closeDemoPool",0,eF,"demoDbFor",0,function(e,t){return eN(e,t).pglite},"demoPoolMax",0,ex,"setDemoPoolClockOffsetForTests",0,function(e){if(!process.env.VITEST)throw Error("setDemoPoolClockOffsetForTests is for tests only");eS=e,eE()},"sweepIdleDemoDbs",0,ez,"withDemoDb",0,eU],601533)}];
27
27
 
28
28
  //# sourceMappingURL=src_lib_demo_pool_ts_0fpn8acsdk64i._.js.map
@@ -1,28 +1,28 @@
1
- module.exports=[272923,e=>{"use strict";var t=e.i(982842),a=e.i(284180),i=e.i(529341),n=e.i(350649),r=e.i(618916),s=e.i(583521);let o="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.",l=new Map([...new Map([["watchbell-demo-busy",o],["watchbell-demo-too-many",d]])].map(([e,t])=>[t,e]));function c(e){return Object.assign(Error(e),{digest:l.get(e)})}var u=e.i(518899),p=e.i(473283),m=e.i(278619),g=e.i(328203),h=e.i(195191),f=e.i(771142),w=e.i(648230);let A=(e,t)=>`${e} ${t}${1===e?"":"s"}`;async function k(e,t,a,i,n){let s,o,d,l,c,k,y,{db:I,seed:v,now:$}=e,_=(0,w.k)(v,"alerts"),S=(...e)=>(0,w.T)(v,"alert",...e),T=e=>t.apps.find(t=>t.id===e)?.name??"app",b=(0,p.f)(await I.execute(u.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),x=b.find(e=>"error"===e.state&&"production"===e.target),D={appId:x.resource_id,appName:T(x.resource_id),sha:x.commit_sha.slice(0,7),createdAt:new Date(x.created_at_provider),currentExternalId:b.find(e=>e.resource_id===x.resource_id&&e.is_current)?.external_id??null},E=(e,t,a)=>{let i=a.resolvedAt??null;return{ruleKey:e,subject:t,severity:m._[e].severity,resourceId:null,accountId:null,okStreak:2*!!i,lastSeenAt:i??(0,f.$)($,1e3*_.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==m._[e].severity,lastNotifiedAt:i??new Date(a.startedAt.getTime()+f.E),pending:null,pendingSince:null,...a}},M=n.certSoon,O=(0,g.g)(M.notAfter,$)??0,C=n.zoneSoon,P=(0,g.g)(C.expiresAt,$)??0,z=[E("DeploymentFailed",D.appId,{id:S("firing","deploy"),resourceId:D.appId,title:D.appName,message:`Production deployment ${D.sha} failed.`,startedAt:new Date(D.createdAt.getTime()+1e3*_.int(60,150))}),E("CertExpiringSoon",M.id,{id:S("firing","cert"),resourceId:M.id,title:M.name,message:`The TLS certificate of ${M.name} expires in ${A(O,"day")}.`,startedAt:new Date(M.notAfter.getTime()-14*f.h+_.int(5,55)*f.E)}),E("DomainExpiringSoon",C.id,{id:S("firing","zone"),resourceId:C.id,title:C.name,message:`${C.name} expires in ${A(P,"day")}.`,startedAt:new Date(C.expiresAt.getTime()-30*f.h+_.int(5,55)*f.E)})],R=a.outage,j=a.monitors.find(e=>e.id===R.monitorId),B=t.apps.find(e=>e.id!==D.appId)??t.apps[0],U=e=>i.dbs.find(t=>t.kind===e),N=(e,t)=>(0,f.$)($,e*f.h+t*f.w+_.int(0,50)*f.E),L=(e,t)=>new Date(e.getTime()+t*f.E),H=(e,t)=>{let i=a.monitors.find(e=>e.id===t.monitorId);return E("HighLatency",i.id,{id:S("resolved",e),resourceId:i.appId,title:`${T(i.appId)} ${i.path}`,message:`p95 ${t.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:t.firedAt,resolvedAt:t.resolvedAt})},F={start:N(4,_.int(1,9)),sha:(0,w.p)(7,v,"old-failed",B.name)},K=U("upstash_redis"),V=U("firestore"),G=U("supabase_project"),W=i.cloudflare.label,Y={outage:E("MonitorDown",j.id,{id:S("resolved","outage"),resourceId:j.appId,title:`${T(j.appId)} ${j.path}`,message:`${(0,h.F)(j.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(R.startedAt.getTime()+10*f.E),resolvedAt:R.recoveredAt}),latencyA:H("latency-a",a.slow[0]),latencyB:H("latency-b",a.slow[1]),oldDeploy:E("DeploymentFailed",B.id,{id:S("resolved","old-deploy"),resourceId:B.id,title:B.name,message:`Production deployment ${F.sha} failed.`,startedAt:F.start,resolvedAt:L(F.start,_.int(35,70))}),collector:(s=N(6,_.int(1,10)),E("CollectorStale","collector",{id:S("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:s,resolvedAt:L(s,_.int(4,9))})),autoPause:(o=N(6,_.int(12,20)),E("AutoPauseRisk",G.id,{id:S("resolved","auto-pause"),resourceId:G.id,title:G.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:o,resolvedAt:L(o,60*_.int(20,30))})),quota:(d=N(6,_.int(1,8)),E("DbQuotaHigh",K.id,{id:S("resolved","db-quota"),resourceId:K.id,title:K.name,message:`${K.name}: Commands at ${_.int(81,88)}% of the free plan.`,startedAt:d,resolvedAt:L(d,60*_.int(3,6))})),firestore:(l=N(3,_.int(1,6)),E("FirestoreQuotaHigh",V.id,{id:S("resolved","firestore"),resourceId:V.id,title:V.name,message:`${V.name} read ${_.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${_.int(81,92)}%).`,startedAt:l,resolvedAt:L(l,60*_.int(2,5))})),proxied:(c=N(5,_.int(12,20)),E("DnsProxiedToVercel",(k=n.vercelRecord).id,{id:S("resolved","proxied"),resourceId:k.zoneId,title:k.name,message:`${k.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:c,resolvedAt:L(c,24*_.int(2,4)*60)})),credential:(y=N(6,_.int(14,22)),E("CredentialExpiring",i.cloudflare.accountId,{id:S("resolved","credential"),accountId:i.cloudflare.accountId,title:`cloudflare \xb7 ${W}`,message:`The cloudflare credential ${W} expires in 9 days.`,startedAt:y,resolvedAt:L(y,24*_.int(1,2)*60+_.int(10,300))}))};return await I.insert(r.alerts).values([...z,...Object.values(Y)]),{firing:{deploy:z[0].id,cert:z[1].id,zone:z[2].id},resolved:{outage:Y.outage.id,oldDeploy:{id:Y.oldDeploy.id,appId:B.id,appName:B.name,previousExternalId:b.find(e=>e.resource_id===B.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:D}}var y=e.i(61926),I=e.i(905685);let v=e=>`${e}.example`,$=["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"],_=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],S=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],T=["sin1","iad1","fra1","hnd1","sfo1"],b=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],x=["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"],D={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"]},E=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],M=[{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 O(e){let{db:t,seed:a,now:i}=e,n=(0,w.k)(a,"apps"),s=n.pick(_),o={id:`team_${(0,w.g)(24,a,"team")}`,name:s.name,slug:s.slug},d=(0,w.T)(a,"account","vercel"),l=(0,f.$)(i,n.int(120,300)*f.h),c=(0,f.$)(i,n.int(3,50)*f.E);await t.insert(r.accounts).values({id:d,provider:"vercel",label:o.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:c,lastSyncAt:c,createdAt:l,updatedAt:c});let u=n.shuffle($).slice(0,n.int(5,8)).sort().map((e,t)=>({id:(0,w.T)(a,"app",e),index:t,name:e,externalId:`prj_${(0,w.g)(28,a,"project",e)}`,host:v(e),createdAt:(0,f.$)(i,n.int(95,400)*f.h-n.int(0,23)*f.w)}));return await t.insert(r.resources).values(u.map(e=>({id:e.id,accountId:d,kind:"app",externalId:e.externalId,name:e.name,monitored:!0,firstSeenAt:e.createdAt,lastSeenAt:c,createdAt:e.createdAt,updatedAt:c,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:n.pick(S),productionBranch:"main",createdAt:e.createdAt.toISOString(),repo:`example-org/${e.name}`,repoType:"github",functionRegions:[n.pick(T)]}}))),await t.insert(r.deployments).values(function(e,t){let{seed:a,now:i}=e,n=(0,w.k)(a,"deployments"),r=n.pick(t).id,s=n.pick(t).id,o=[];for(let e of t){let t=(t,r,s,d,l)=>{let c=(0,f.$)(i,s),u=new Date(c.getTime()+1e3*n.int(3,12)),p="ready"===d?new Date(u.getTime()+1e3*n.int(25,160)):null,m="production"===r?"main":n.pick(b);o.push({id:(0,w.T)(a,"deployment",e.name,t),resourceId:e.id,externalId:`dpl_${(0,w.g)(24,a,"deployment",e.name,t)}`,state:d,target:r,branch:m,commitSha:(0,w.p)(40,a,"commit",e.name,t),commitMessage:l??n.pick(x),source:"git",url:v(`${e.name}-git-${m.replace(/[^a-z0-9]+/g,"-")}-${(0,w.g)(9,a,"deployment-url",e.name,t).toLowerCase()}`),buildingAt:u,readyAt:p,createdAtProvider:c,isCurrent:!1,isPreviousProduction:!1,createdAt:c,updatedAt:p??u})},d=e.id===r,l=n.int(2,5);for(let e=0;e<l;e++){let a=0===e?Math.max(d?5*f.w:0,n.int(1,96)*f.w-n.int(0,40)*f.E):n.int(4+4*e,6+6*e)*f.h+n.int(0,23)*f.w;t(e,"production",a,"ready")}let c=n.int(0,3);for(let e=0;e<c;e++)t(10+e,"preview",n.int(2,240)*f.w+n.int(0,59)*f.E,"ready");d&&t(20,"production",n.int(30,240)*f.E,"error","Refactor the checkout form"),e.id===s&&t(21,"preview",n.int(1,6)*f.E,"building")}for(let e of t){let t=o.filter(t=>t.resourceId===e.id&&"production"===t.target&&"ready"===t.state).map(e=>({id:e.externalId,createdAt:e.createdAtProvider})),{currentId:a,previousId:i}=(0,y.a)(t,null);for(let t of o)t.resourceId===e.id&&(t.isCurrent=t.externalId===a,t.isPreviousProduction=t.externalId===i)}return o}(e,u)),{accountId:d,team:o,apps:u}}async function C(e,t,a){let{db:i,seed:n,now:s}=e,o=(0,w.k)(n,"snapshots"),d=(0,f.$)(s,1e3*o.int(5,40));await i.insert(r.snapshots).values(t.apps.map(e=>{var t,i;let n,r,l,c,u,p=a.filter(t=>t.appId===e.id),m=(0,I.V)({monitors:p.map(e=>e.state),building:!1,dbPaused:!1}),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:d,data:{code:g?.lastStatus??null,latencyMs:p[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(t=o,i=s,r=Math.floor((n=(0,f.$)(i,t.int(2,25)*f.E)).getTime()/f.w)*f.w,l=t.int(20,400),{enabled:!0,total24h:u=(c=Array.from({length:24},(e,a)=>{let i=r-(23-a)*f.w,n=.15+.85*Math.max(0,Math.sin(((new Date(i).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(i).toISOString(),Math.round(l*n*(.7+.6*t.next()))]})).reduce((e,[,t])=>e+t,0),visitors24h:Math.round(u*(.3+.2*t.next())),hourly:c,readAt:n.toISOString()})}}}))}var P=e.i(755776),z=e.i(867274),R=e.i(800366),j=e.i(11552);let B="demo",U={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function N(e,t){let{db:a,seed:i,now:n}=e,s=(0,w.k)(i,"databases"),o=t.team,d=e=>(0,w.T)(i,"account",e),l=(0,f.$)(n,s.int(4,40)*f.E);await a.insert(r.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(e=>{let t=(0,f.$)(n,s.int(60,280)*f.h);return{id:d(e),provider:e,label:"firebase"===e?`${o.slug}-firebase`:o.name,credentialCiphertext:B,credentialIv:B,credentialKind:U[e],status:"ok",lastTestAt:l,lastSyncAt:l,createdAt:t,updatedAt:l}}));let c=(0,w.p)(32,i,"cloudflare-account"),u=[{kind:"supabase_project",provider:"supabase",externalId:(0,w.g)(20,i,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${s.pick(["silent","quiet","misty","bold","calm"])}-${s.pick(["river","meadow","forest","harbor","dune"])}-${(0,w.p)(8,i,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${o.slug.split("-")[0]}-notes-${(0,w.p)(5,i,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:(0,w.T)(i,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:(0,w.T)(i,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:(0,w.T)(i,"d1-db")}].map(({kind:e,provider:t,externalId:a})=>{let r=s.pick(D[e]),l=(0,f.$)(n,s.int(40,300)*f.h),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-${(0,w.p)(8,i,"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:c,createdAt:l.toISOString()};return{id:(0,w.T)(i,"db",e),kind:e,name:r,externalId:a,accountId:d(t),meta:u,createdAt:l}});await a.insert(r.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 p=e=>u.find(t=>t.kind===e),m=e=>(0,f.$)(n,e*f.E+1e3*s.int(0,50)),g=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1)),h=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth()+1,1)),A=(n.getTime()-g.getTime())/(h.getTime()-g.getTime()),k=[{id:`ep-${(0,w.g)(12,i,"neon-ep").toLowerCase()}`,branchId:`br-${(0,w.g)(12,i,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:(0,f.$)(n,s.int(20,300)*f.E).toISOString()}],y=Math.round((8+50*A+s.int(0,10))*3600),I=(0,R.p)({endpoints:k,computeSeconds:y}),v=[{id:p("supabase_project").id,state:"ok",since:(0,f.$)(n,s.int(20,90)*f.h),at:m(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:o.slug,freeOrg:!0,lastTrafficAt:(0,f.$)(n,s.int(3,50)*f.E).toISOString(),trafficAt:(0,f.$)(n,s.int(1,4)*f.E).toISOString(),health:[{name:"db",status:"ACTIVE_HEALTHY"},{name:"auth",status:"ACTIVE_HEALTHY"},{name:"rest",status:"ACTIVE_HEALTHY"},{name:"storage",status:"ACTIVE_HEALTHY"}],healthAt:(0,f.$)(n,s.int(1,4)*f.E).toISOString(),sizeBytes:1048576*s.int(38,140)+s.int(0,1048576),sizeAt:(0,f.$)(n,s.int(4,20)*f.w).toISOString(),lastGoodState:"ok"}},{id:p("neon_project").id,state:"ok"===I.state?"ok":"idle",since:(0,f.$)(n,s.int(20,300)*f.E),at:m(s.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:p("neon_project").meta.orgId,computeSeconds:y,transferBytes:Math.round((.2+1.6*A)*0x40000000),periodStart:g.toISOString(),periodEnd:h.toISOString(),activeSeconds:Math.round(y/1.4),endpoints:k,branches:[{id:k[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*s.int(120,380)},{id:`br-${(0,w.g)(12,i,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*s.int(60,160)}],lastGoodState:"ok"===I.state?"ok":"idle"}},{id:p("firestore").id,state:"ok",since:(0,f.$)(n,s.int(10,60)*f.h),at:m(1),data:{displayName:p("firestore").name,latencyMs:s.int(70,190),reads:s.int(4e3,22e3),writes:s.int(800,6e3),deletes:s.int(20,400),opsAt:(0,f.$)(n,s.int(10,50)*f.E).toISOString(),authUsers:s.int(80,2400),authAt:(0,f.$)(n,s.int(2,20)*f.w).toISOString(),lastGoodState:"ok"}},{id:p("turso_database").id,state:"ok",since:(0,f.$)(n,s.int(10,60)*f.h),at:m(s.int(5,50)),data:{org:o.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*A)*1e6),rowsWritten:Math.round((.2+2.2*A)*1e6),storageBytes:1048576*s.int(40,600),orgRowsRead:Math.round((25+160*A)*1e6),orgRowsWritten:Math.round((.3+2.6*A)*1e6),orgStorageBytes:1048576*s.int(700,1400),orgDatabases:3,usageAt:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),lastGoodState:"ok"}},{id:p("upstash_redis").id,state:"ok",since:(0,f.$)(n,s.int(10,60)*f.h),at:m(s.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:s.int(2e3,9e3),monthlyRequests:Math.round((20+180*A)*1e3)+s.int(0,999),storageBytes:1048576*s.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*A)*0x40000000),statsAt:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),lastGoodState:"ok"}},{id:p("d1_database").id,state:"ok",since:(0,f.$)(n,s.int(10,60)*f.h),at:m(s.int(5,50)),data:{accountId:c,createdAt:p("d1_database").createdAt.toISOString(),sizeBytes:1048576*s.int(4,120),numTables:s.int(4,12),readReplication:"disabled",detailsAt:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),rowsRead:s.int(4e4,9e5),rowsWritten:s.int(1e3,3e4),readQueries:s.int(4e3,6e4),writeQueries:s.int(300,6e3),accountRowsRead:s.int(9e5,18e5),accountRowsWritten:s.int(3e4,55e3),accountSizeBytes:1048576*s.int(200,900),accountDatabases:2,usageDay:n.toISOString().slice(0,10),usageAt:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),lastGoodState:"ok"}}];await a.insert(r.snapshots).values(v.map(e=>({resourceId:e.id,state:e.state,stateSince:e.since,collectedAt:e.at,data:e.data}))),await a.insert(r.settings).values({key:j.f,value:{[d("cloudflare")]:{d1:"ok",analytics:"ok",at:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),note:null}},createdAt:(0,f.$)(n,30*f.h),updatedAt:n});let $=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],_=t.apps.slice(0,Math.max(4,t.apps.length-1));return await a.insert(r.links).values(_.map((e,t)=>({id:(0,w.T)(i,"link",e.name),fromResourceId:e.id,toResourceId:p($[t]).id,kind:"uses_db",source:"manual",createdAt:(0,f.$)(n,s.int(20,90)*f.h),updatedAt:(0,f.$)(n,s.int(1,19)*f.h)}))),await L(e,p("supabase_project").id),await a.insert(r.keepActive).values({resourceId:p("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:(0,f.$)(n,s.int(2,20)*f.w),updatedAt:(0,f.$)(n,12*f.h)}),{dbs:u.map(({id:e,kind:t,name:a,externalId:i,accountId:n})=>({id:e,kind:t,name:a,externalId:i,accountId:n})),cloudflare:{accountId:d("cloudflare"),cfAccountId:c,label:o.name}}}async function L(e,t){let{db:a,seed:i,now:n}=e,r=(0,w.k)(i,"compute"),s=(0,f.$)(n,r.int(1,4)*f.E),o=Array.from({length:24},(e,a)=>{let i=new Date((0,z.b)(n).getTime()-a*f.w),s=Math.round((6+18*r.next())*10)/10,o=Math.round((34+14*r.next())*10)/10;return{resourceId:t,hour:i,samples:0===a?Math.max(1,Math.floor((n.getTime()-i.getTime())/(5*f.E))):12,cpuSamples:0===a?1:11,cpuAvg:s,cpuMax:Math.round(10*Math.min(70,s*(1.4+r.next())))/10,memAvg:o,memMax:Math.round(10*Math.min(85,o+6*r.next()))/10,diskPct:9.8,connUsed:r.int(8,22),connMax:60}}),d={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:(0,f.$)(s,(5-t)*5*f.E).toISOString(),cpu:Math.round((6+18*r.next())*10)/10}))};await a.insert(P.A).values({resourceId:t,keyCiphertext:B,keyIv:B,latest:d,lastTryAt:s,lastOkAt:s,createdAt:(0,f.$)(n,21*f.h),updatedAt:s}),await a.insert(P.l).values(o.filter(e=>e.hour.getTime()<=n.getTime()))}var H=e.i(218331),F=e.i(338478);let K=7*f.h;async function V(e,t,a,i,n,s){let{db:o,seed:d,now:l}=e,c=(0,w.k)(d,"events"),m=[],g=(e,t)=>m.push({id:(0,w.T)(d,"event",e),count:1,...t});for(let e of(0,p.f)(await o.execute(u.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(l.getTime()-K).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),i=e.building_at?new Date(e.building_at):a;g(`${e.external_id}:start`,{at:i,resourceId:e.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:t,reason:"DeployStarted"}),"ready"===e.state&&e.ready_at&&g(`${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&&g(`${e.external_id}:failed`,{at:new Date(i.getTime()+1e3*c.int(40,110)),resourceId:e.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:t,reason:"DeployFailed"})}let A=a.outage,k=a.monitors.find(e=>e.id===A.monitorId),y=(e,t,a,i,n,r,s)=>g(e,{at:t,resourceId:a,type:"monitor",kind:i,message:n,detail:r,reason:s});y("outage:warn",A.startedAt,A.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),y("outage:err",new Date(A.startedAt.getTime()+10*f.E),A.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),y("outage:ok",A.recoveredAt,A.appId,"ok","Monitor recovered",`${k.path} answers again`,"MonitorRecovered"),a.degraded&&y("degraded:warn",a.degraded.since,a.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let I=n.certSoon,v=n.zoneSoon,$=new Date(I.notAfter.getTime()-14*f.h+c.int(5,50)*f.E),_=new Date(v.expiresAt.getTime()-30*f.h+c.int(5,50)*f.E);g("net:cert",{at:$,resourceId:I.id,type:"system",kind:"warn",message:`${I.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),g("net:zone",{at:_,resourceId:v.id,type:"system",kind:"warn",message:`${v.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let S=new Date(l);S.setUTCHours(20,0,0,0),S.getTime()>l.getTime()-5*f.E&&S.setTime(S.getTime()-f.h);for(let e=0;e<7;e++){let t=new Date(S.getTime()-e*f.h+1e3*c.int(20,90));g(`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=(0,F.demoUserId)(d),b=(e,t,a,i,n=null)=>g(`action:${e}`,{at:(0,f.$)(l,t*f.h+c.int(1,10)*f.w+c.int(0,59)*f.E),resourceId:i,type:"action",kind:"ok",message:a,detail:n,actorUserId:T,reason:"Action"}),x=a.monitors.find(e=>"/api/health"===e.path)??a.monitors[0],D=t.apps[0],E=i.dbs.find(e=>"supabase_project"===e.kind);b("monitor-added",6,`Monitor added: ${(0,h.F)(x.url)}`,x.appId),b("db-link",5,`Database link: ${D.name} → ${E.name}`,D.id),b("keep-active",5,`Keep active on: ${E.name}`,E.id),b("rule",4,"Alert rule edited: HighLatency",null,"threshold 1,500 ms"),b("maintenance",3,"Maintenance window added",null,`Sundays 02:00 ${(0,H.D)()}, 30 min`),b("check-now",1,`Check now: ${(0,h.F)(k.url)}`,k.appId);let M=s.resolved.credential;g("action:credential",{at:new Date(M.resolvedAt.getTime()-c.int(2,9)*f.E),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${M.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:T,reason:"Action"}),g("action:auto-recheck",{at:new Date(A.startedAt.getTime()+11*f.E+3e3),resourceId:k.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${(0,h.F)(k.url)}`,detail:null,actorUserId:null,reason:"Action"}),await o.insert(r.events).values(m.sort((e,t)=>e.at.getTime()-t.at.getTime()))}let G="76.76.21.21";async function W(e,t,a){let{db:i,seed:n,now:s}=e,o=(0,w.k)(n,"network"),d=e=>(0,f.$)(s,o.int(10,60*e)*f.E).toISOString(),l=a.cloudflare,c=o.shuffle(E).slice(0,2).map((e,t)=>({id:(0,w.T)(n,"zone",e),name:v(e),expiresAt:new Date(1===t?s.getTime()+o.int(12,24)*f.h+o.int(1,20)*f.w:s.getTime()+o.int(200,600)*f.h)})),u=e=>e.split("-").slice(1).join("-")||e,p=t.apps,m=[{name:c[0].name,app:p[0]},...[0,1,2].map(e=>({name:`${u(p[e].name)}.${c[0].name}`,app:p[e]})),...[3,4].map(e=>({name:`${u(p[e%p.length].name)}.${c[1].name}`,app:p[e%p.length]}))],h=o.int(1,3),A=m.map((e,t)=>({id:(0,w.T)(n,"domain",e.name),name:e.name,appId:e.app.id,notAfter:new Date(t===h?s.getTime()+o.int(4,9)*f.h+o.int(1,20)*f.w:s.getTime()+o.int(30,85)*f.h)})),k=(e,t,a,i,r,s=null)=>({id:(0,w.p)(32,n,"dns",e,t,a),type:t,name:a,content:i,proxied:r,ttl:r?1:300,comment:s}),y=c.map(e=>{let t=[...A.filter(t=>t.name===e.name||t.name.endsWith(`.${e.name}`)).map(t=>k(e.name,"A",t.name,G,!1,"Vercel")),k(e.name,"MX",e.name,v("mx1.mail"),!1),k(e.name,"TXT",e.name,`v=spf1 include:_spf.${v("mail")} ~all`,!1),k(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:d(20)},i={status:"active",paused:!1,nameServers:[v("ada.ns"),v("bob.ns")],accountId:l.cfAccountId,checkedAt:d(1)},n=(0,g.G)({status:i.status,paused:i.paused,rdap:a},s),r={zone:i,ssl:{mode:"strict",error:null},records:t,recordsTruncated:!1,cfErrors:[],certs:[{type:"universal",status:"active",hosts:[e.name,`*.${e.name}`],expiresOn:new Date(s.getTime()+o.int(40,80)*f.h).toISOString()}],rdap:a,reasons:n.reasons};return{z:e,records:t,rdap:a,state:n.state,data:r}}),I=(0,f.$)(s,o.int(150,380)*f.h),$=(0,f.$)(s,o.int(5,50)*f.E);await i.insert(r.resources).values(c.map(e=>({id:e.id,accountId:l.accountId,kind:"zone",externalId:(0,w.p)(32,n,"zone-id",e.name),name:e.name,monitored:!0,meta:{status:"active",accountId:l.cfAccountId,accountName:l.label},firstSeenAt:I,lastSeenAt:$,createdAt:I,updatedAt:$}))),await i.insert(r.resources).values(A.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:I,lastSeenAt:$,createdAt:I,updatedAt:$}}));let _=["Let's Encrypt","Google Trust Services"];await i.insert(r.snapshots).values([...y.map(e=>({resourceId:e.z.id,state:e.state,stateSince:"ok"===e.state?I:new Date(e.z.expiresAt.getTime()-30*f.h),data:e.data,collectedAt:$})),...A.map(e=>{let t=y.find(t=>e.name===t.z.name||e.name.endsWith(`.${t.z.name}`)),a={notAfter:e.notAfter.toISOString(),issuer:o.pick(_),authorized:!0,error:null,checkedAt:d(19)},i={misconfigured:!1,configuredBy:"A",recommendedIps:[G],checkedAt:d(6)},n=(0,g.k)({host:e.name,tls:a,vercel:i,records:(0,g.Q)(e.name,t.records),zoneRdap:t.rdap},s),r="ok"===n.state?I:new Date(Math.min(e.notAfter.getTime()-14*f.h,t.z.expiresAt.getTime()-30*f.h));return{resourceId:e.id,state:n.state,stateSince:r,data:{tls:a,vercel:i,reasons:n.reasons},collectedAt:$}})]);let S=y[0].records.find(e=>"A"===e.type&&e.name===c[0].name&&e.content===G);return{zones:c,domains:A,certSoon:A[h],zoneSoon:c[1],vercelRecord:{id:S.id,name:S.name,zoneId:c[0].id}}}let Y=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function q(e,t){let{db:a,seed:i,now:n}=e,s=(0,w.k)(i,"logs"),o=(0,p.f)(await a.execute(u.B`select resource_id, external_id from ops.deployments where is_current`)),d=s.shuffle(t.apps).slice(0,3).flatMap((e,t)=>Array.from({length:s.int(4,8)},(a,r)=>{let d=s.pick(M);return{id:(0,w.T)(i,"log",e.name,r),resourceId:e.id,deploymentId:o.find(t=>t.resource_id===e.id)?.external_id??`dpl_${(0,w.g)(24,i,"log-dpl",t)}`,rowId:`${(0,w.g)(10,i,"log-row",e.name,r).toLowerCase()}-${r}`,at:(0,f.$)(n,s.int(3,2760)*f.E+1e3*s.int(0,59)),level:d.level,message:d.message,requestMethod:d.method,requestPath:d.path,statusCode:d.status,source:"serverless"}}));await a.insert(r.storedLogs).values(d)}async function Q(e){let{db:t,seed:a,now:i}=e,n=(0,w.k)(a,"provider-status"),s=(0,f.$)(i,n.int(1,4)*f.E);await t.insert(r.providerStatus).values(Y.map(e=>"cloudflare"===e?{provider:e,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:s,lastOkAt:s,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:(0,f.$)(i,n.int(1,3)*f.w).toISOString(),url:null}]}:{provider:e,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:s,lastOkAt:s,error:null}))}async function X(e){let{db:t,seed:a,now:i}=e,n=(0,w.k)(a,"ai-usage"),r=(0,w.T)(a,"ai-agent","console"),s=n.int(70,140),o=[],d=[],l=[],c=[],p=[],m=[];for(let e=0;e<s;e++){o.push(i.getTime()-n.int(2,10080)*f.E);let e=n.chance(.04);p.push(e?429:200),d.push(e?0:n.int(600,4200)),l.push(e?0:n.int(80,700)),c.push(e?n.int(80,300):n.int(700,4800)),m.push(n.int(1,2))}let g=e=>e.reduce((e,t)=>e+t,0),h=new Date(Math.max(...o));await t.execute(u.B`
1
+ module.exports=[272923,e=>{"use strict";var t=e.i(284180),a=e.i(618916),i=e.i(583521);let n="The demo is busy right now. Try again in a minute.",r="Too many new demo sessions from your network. Try again in a few minutes.",s=new Map([...new Map([["watchbell-demo-busy",n],["watchbell-demo-too-many",r]])].map(([e,t])=>[t,e]));function o(e){return Object.assign(Error(e),{digest:s.get(e)})}var d=e.i(518899),l=e.i(473283),c=e.i(278619),u=e.i(328203),p=e.i(195191),m=e.i(771142),h=e.i(648230);let g=(e,t)=>`${e} ${t}${1===e?"":"s"}`;async function f(e,t,i,n,r){let s,o,f,w,A,y,k,{db:I,seed:v,now:_}=e,$=(0,h.k)(v,"alerts"),b=(...e)=>(0,h.T)(v,"alert",...e),S=e=>t.apps.find(t=>t.id===e)?.name??"app",T=(0,l.f)(await I.execute(d.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),x=T.find(e=>"error"===e.state&&"production"===e.target),D={appId:x.resource_id,appName:S(x.resource_id),sha:x.commit_sha.slice(0,7),createdAt:new Date(x.created_at_provider),currentExternalId:T.find(e=>e.resource_id===x.resource_id&&e.is_current)?.external_id??null},E=(e,t,a)=>{let i=a.resolvedAt??null;return{ruleKey:e,subject:t,severity:c._[e].severity,resourceId:null,accountId:null,okStreak:2*!!i,lastSeenAt:i??(0,m.$)(_,1e3*$.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==c._[e].severity,lastNotifiedAt:i??new Date(a.startedAt.getTime()+m.E),pending:null,pendingSince:null,...a}},M=r.certSoon,O=(0,u.g)(M.notAfter,_)??0,C=r.zoneSoon,P=(0,u.g)(C.expiresAt,_)??0,z=[E("DeploymentFailed",D.appId,{id:b("firing","deploy"),resourceId:D.appId,title:D.appName,message:`Production deployment ${D.sha} failed.`,startedAt:new Date(D.createdAt.getTime()+1e3*$.int(60,150))}),E("CertExpiringSoon",M.id,{id:b("firing","cert"),resourceId:M.id,title:M.name,message:`The TLS certificate of ${M.name} expires in ${g(O,"day")}.`,startedAt:new Date(M.notAfter.getTime()-14*m.h+$.int(5,55)*m.E)}),E("DomainExpiringSoon",C.id,{id:b("firing","zone"),resourceId:C.id,title:C.name,message:`${C.name} expires in ${g(P,"day")}.`,startedAt:new Date(C.expiresAt.getTime()-30*m.h+$.int(5,55)*m.E)})],R=i.outage,j=i.monitors.find(e=>e.id===R.monitorId),B=t.apps.find(e=>e.id!==D.appId)??t.apps[0],N=e=>n.dbs.find(t=>t.kind===e),U=(e,t)=>(0,m.$)(_,e*m.h+t*m.w+$.int(0,50)*m.E),F=(e,t)=>new Date(e.getTime()+t*m.E),H=(e,t)=>{let a=i.monitors.find(e=>e.id===t.monitorId);return E("HighLatency",a.id,{id:b("resolved",e),resourceId:a.appId,title:`${S(a.appId)} ${a.path}`,message:`p95 ${t.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:t.firedAt,resolvedAt:t.resolvedAt})},L={start:U(4,$.int(1,9)),sha:(0,h.p)(7,v,"old-failed",B.name)},K=N("upstash_redis"),V=N("firestore"),W=N("supabase_project"),G=n.cloudflare.label,q={outage:E("MonitorDown",j.id,{id:b("resolved","outage"),resourceId:j.appId,title:`${S(j.appId)} ${j.path}`,message:`${(0,p.F)(j.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(R.startedAt.getTime()+10*m.E),resolvedAt:R.recoveredAt}),latencyA:H("latency-a",i.slow[0]),latencyB:H("latency-b",i.slow[1]),oldDeploy:E("DeploymentFailed",B.id,{id:b("resolved","old-deploy"),resourceId:B.id,title:B.name,message:`Production deployment ${L.sha} failed.`,startedAt:L.start,resolvedAt:F(L.start,$.int(35,70))}),collector:(s=U(6,$.int(1,10)),E("CollectorStale","collector",{id:b("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:s,resolvedAt:F(s,$.int(4,9))})),autoPause:(o=U(6,$.int(12,20)),E("AutoPauseRisk",W.id,{id:b("resolved","auto-pause"),resourceId:W.id,title:W.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:o,resolvedAt:F(o,60*$.int(20,30))})),quota:(f=U(6,$.int(1,8)),E("DbQuotaHigh",K.id,{id:b("resolved","db-quota"),resourceId:K.id,title:K.name,message:`${K.name}: Commands at ${$.int(81,88)}% of the free plan.`,startedAt:f,resolvedAt:F(f,60*$.int(3,6))})),firestore:(w=U(3,$.int(1,6)),E("FirestoreQuotaHigh",V.id,{id:b("resolved","firestore"),resourceId:V.id,title:V.name,message:`${V.name} read ${$.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${$.int(81,92)}%).`,startedAt:w,resolvedAt:F(w,60*$.int(2,5))})),proxied:(A=U(5,$.int(12,20)),E("DnsProxiedToVercel",(y=r.vercelRecord).id,{id:b("resolved","proxied"),resourceId:y.zoneId,title:y.name,message:`${y.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:A,resolvedAt:F(A,24*$.int(2,4)*60)})),credential:(k=U(6,$.int(14,22)),E("CredentialExpiring",n.cloudflare.accountId,{id:b("resolved","credential"),accountId:n.cloudflare.accountId,title:`cloudflare \xb7 ${G}`,message:`The cloudflare credential ${G} expires in 9 days.`,startedAt:k,resolvedAt:F(k,24*$.int(1,2)*60+$.int(10,300))}))};return await I.insert(a.alerts).values([...z,...Object.values(q)]),{firing:{deploy:z[0].id,cert:z[1].id,zone:z[2].id},resolved:{outage:q.outage.id,oldDeploy:{id:q.oldDeploy.id,appId:B.id,appName:B.name,previousExternalId:T.find(e=>e.resource_id===B.id&&e.is_previous_production)?.external_id??null,startedAt:q.oldDeploy.startedAt,resolvedAt:q.oldDeploy.resolvedAt},credential:{title:q.credential.title,resolvedAt:q.credential.resolvedAt}},failedDeploy:D}}var w=e.i(61926),A=e.i(905685);let y=e=>`${e}.example`,k=["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"],I=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],v=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],_=["sin1","iad1","fra1","hnd1","sfo1"],$=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],b=["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"],S={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"]},T=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],x=[{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 D(e){let{db:t,seed:i,now:n}=e,r=(0,h.k)(i,"apps"),s=r.pick(I),o={id:`team_${(0,h.g)(24,i,"team")}`,name:s.name,slug:s.slug},d=(0,h.T)(i,"account","vercel"),l=(0,m.$)(n,r.int(120,300)*m.h),c=(0,m.$)(n,r.int(3,50)*m.E);await t.insert(a.accounts).values({id:d,provider:"vercel",label:o.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:c,lastSyncAt:c,createdAt:l,updatedAt:c});let u=r.shuffle(k).slice(0,r.int(5,8)).sort().map((e,t)=>({id:(0,h.T)(i,"app",e),index:t,name:e,externalId:`prj_${(0,h.g)(28,i,"project",e)}`,host:y(e),createdAt:(0,m.$)(n,r.int(95,400)*m.h-r.int(0,23)*m.w)}));return await t.insert(a.resources).values(u.map(e=>({id:e.id,accountId:d,kind:"app",externalId:e.externalId,name:e.name,monitored:!0,firstSeenAt:e.createdAt,lastSeenAt:c,createdAt:e.createdAt,updatedAt:c,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:r.pick(v),productionBranch:"main",createdAt:e.createdAt.toISOString(),repo:`example-org/${e.name}`,repoType:"github",functionRegions:[r.pick(_)]}}))),await t.insert(a.deployments).values(function(e,t){let{seed:a,now:i}=e,n=(0,h.k)(a,"deployments"),r=n.pick(t).id,s=n.pick(t).id,o=[];for(let e of t){let t=(t,r,s,d,l)=>{let c=(0,m.$)(i,s),u=new Date(c.getTime()+1e3*n.int(3,12)),p="ready"===d?new Date(u.getTime()+1e3*n.int(25,160)):null,g="production"===r?"main":n.pick($);o.push({id:(0,h.T)(a,"deployment",e.name,t),resourceId:e.id,externalId:`dpl_${(0,h.g)(24,a,"deployment",e.name,t)}`,state:d,target:r,branch:g,commitSha:(0,h.p)(40,a,"commit",e.name,t),commitMessage:l??n.pick(b),source:"git",url:y(`${e.name}-git-${g.replace(/[^a-z0-9]+/g,"-")}-${(0,h.g)(9,a,"deployment-url",e.name,t).toLowerCase()}`),buildingAt:u,readyAt:p,createdAtProvider:c,isCurrent:!1,isPreviousProduction:!1,createdAt:c,updatedAt:p??u})},d=e.id===r,l=n.int(2,5);for(let e=0;e<l;e++){let a=0===e?Math.max(d?5*m.w:0,n.int(1,96)*m.w-n.int(0,40)*m.E):n.int(4+4*e,6+6*e)*m.h+n.int(0,23)*m.w;t(e,"production",a,"ready")}let c=n.int(0,3);for(let e=0;e<c;e++)t(10+e,"preview",n.int(2,240)*m.w+n.int(0,59)*m.E,"ready");d&&t(20,"production",n.int(30,240)*m.E,"error","Refactor the checkout form"),e.id===s&&t(21,"preview",n.int(1,6)*m.E,"building")}for(let e of t){let t=o.filter(t=>t.resourceId===e.id&&"production"===t.target&&"ready"===t.state).map(e=>({id:e.externalId,createdAt:e.createdAtProvider})),{currentId:a,previousId:i}=(0,w.a)(t,null);for(let t of o)t.resourceId===e.id&&(t.isCurrent=t.externalId===a,t.isPreviousProduction=t.externalId===i)}return o}(e,u)),{accountId:d,team:o,apps:u}}async function E(e,t,i){let{db:n,seed:r,now:s}=e,o=(0,h.k)(r,"snapshots"),d=(0,m.$)(s,1e3*o.int(5,40));await n.insert(a.snapshots).values(t.apps.map(e=>{var t,a;let n,r,l,c,u,p=i.filter(t=>t.appId===e.id),h=(0,A.V)({monitors:p.map(e=>e.state),building:!1,dbPaused:!1}),g=p.find(e=>"err"===e.state)??p.find(e=>"warn"===e.state),f=g?.stateSince??new Date(Math.max(...p.map(e=>e.stateSince.getTime())));return{resourceId:e.id,state:h,stateSince:f,collectedAt:d,data:{code:g?.lastStatus??null,latencyMs:p[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(t=o,a=s,r=Math.floor((n=(0,m.$)(a,t.int(2,25)*m.E)).getTime()/m.w)*m.w,l=t.int(20,400),{enabled:!0,total24h:u=(c=Array.from({length:24},(e,a)=>{let i=r-(23-a)*m.w,n=.15+.85*Math.max(0,Math.sin(((new Date(i).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(i).toISOString(),Math.round(l*n*(.7+.6*t.next()))]})).reduce((e,[,t])=>e+t,0),visitors24h:Math.round(u*(.3+.2*t.next())),hourly:c,readAt:n.toISOString()})}}}))}var M=e.i(755776),O=e.i(867274),C=e.i(800366),P=e.i(11552);let z="demo",R={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function j(e,t){let{db:i,seed:n,now:r}=e,s=(0,h.k)(n,"databases"),o=t.team,d=e=>(0,h.T)(n,"account",e),l=(0,m.$)(r,s.int(4,40)*m.E);await i.insert(a.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(e=>{let t=(0,m.$)(r,s.int(60,280)*m.h);return{id:d(e),provider:e,label:"firebase"===e?`${o.slug}-firebase`:o.name,credentialCiphertext:z,credentialIv:z,credentialKind:R[e],status:"ok",lastTestAt:l,lastSyncAt:l,createdAt:t,updatedAt:l}}));let c=(0,h.p)(32,n,"cloudflare-account"),u=[{kind:"supabase_project",provider:"supabase",externalId:(0,h.g)(20,n,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${s.pick(["silent","quiet","misty","bold","calm"])}-${s.pick(["river","meadow","forest","harbor","dune"])}-${(0,h.p)(8,n,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${o.slug.split("-")[0]}-notes-${(0,h.p)(5,n,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:(0,h.T)(n,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:(0,h.T)(n,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:(0,h.T)(n,"d1-db")}].map(({kind:e,provider:t,externalId:a})=>{let i=s.pick(S[e]),l=(0,m.$)(r,s.int(40,300)*m.h),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-${(0,h.p)(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:c,createdAt:l.toISOString()};return{id:(0,h.T)(n,"db",e),kind:e,name:i,externalId:a,accountId:d(t),meta:u,createdAt:l}});await i.insert(a.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 p=e=>u.find(t=>t.kind===e),g=e=>(0,m.$)(r,e*m.E+1e3*s.int(0,50)),f=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1)),w=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth()+1,1)),A=(r.getTime()-f.getTime())/(w.getTime()-f.getTime()),y=[{id:`ep-${(0,h.g)(12,n,"neon-ep").toLowerCase()}`,branchId:`br-${(0,h.g)(12,n,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:(0,m.$)(r,s.int(20,300)*m.E).toISOString()}],k=Math.round((8+50*A+s.int(0,10))*3600),I=(0,C.p)({endpoints:y,computeSeconds:k}),v=[{id:p("supabase_project").id,state:"ok",since:(0,m.$)(r,s.int(20,90)*m.h),at:g(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:o.slug,freeOrg:!0,lastTrafficAt:(0,m.$)(r,s.int(3,50)*m.E).toISOString(),trafficAt:(0,m.$)(r,s.int(1,4)*m.E).toISOString(),health:[{name:"db",status:"ACTIVE_HEALTHY"},{name:"auth",status:"ACTIVE_HEALTHY"},{name:"rest",status:"ACTIVE_HEALTHY"},{name:"storage",status:"ACTIVE_HEALTHY"}],healthAt:(0,m.$)(r,s.int(1,4)*m.E).toISOString(),sizeBytes:1048576*s.int(38,140)+s.int(0,1048576),sizeAt:(0,m.$)(r,s.int(4,20)*m.w).toISOString(),lastGoodState:"ok"}},{id:p("neon_project").id,state:"ok"===I.state?"ok":"idle",since:(0,m.$)(r,s.int(20,300)*m.E),at:g(s.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:p("neon_project").meta.orgId,computeSeconds:k,transferBytes:Math.round((.2+1.6*A)*0x40000000),periodStart:f.toISOString(),periodEnd:w.toISOString(),activeSeconds:Math.round(k/1.4),endpoints:y,branches:[{id:y[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*s.int(120,380)},{id:`br-${(0,h.g)(12,n,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*s.int(60,160)}],lastGoodState:"ok"===I.state?"ok":"idle"}},{id:p("firestore").id,state:"ok",since:(0,m.$)(r,s.int(10,60)*m.h),at:g(1),data:{displayName:p("firestore").name,latencyMs:s.int(70,190),reads:s.int(4e3,22e3),writes:s.int(800,6e3),deletes:s.int(20,400),opsAt:(0,m.$)(r,s.int(10,50)*m.E).toISOString(),authUsers:s.int(80,2400),authAt:(0,m.$)(r,s.int(2,20)*m.w).toISOString(),lastGoodState:"ok"}},{id:p("turso_database").id,state:"ok",since:(0,m.$)(r,s.int(10,60)*m.h),at:g(s.int(5,50)),data:{org:o.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*A)*1e6),rowsWritten:Math.round((.2+2.2*A)*1e6),storageBytes:1048576*s.int(40,600),orgRowsRead:Math.round((25+160*A)*1e6),orgRowsWritten:Math.round((.3+2.6*A)*1e6),orgStorageBytes:1048576*s.int(700,1400),orgDatabases:3,usageAt:(0,m.$)(r,s.int(5,50)*m.E).toISOString(),lastGoodState:"ok"}},{id:p("upstash_redis").id,state:"ok",since:(0,m.$)(r,s.int(10,60)*m.h),at:g(s.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:s.int(2e3,9e3),monthlyRequests:Math.round((20+180*A)*1e3)+s.int(0,999),storageBytes:1048576*s.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*A)*0x40000000),statsAt:(0,m.$)(r,s.int(5,50)*m.E).toISOString(),lastGoodState:"ok"}},{id:p("d1_database").id,state:"ok",since:(0,m.$)(r,s.int(10,60)*m.h),at:g(s.int(5,50)),data:{accountId:c,createdAt:p("d1_database").createdAt.toISOString(),sizeBytes:1048576*s.int(4,120),numTables:s.int(4,12),readReplication:"disabled",detailsAt:(0,m.$)(r,s.int(5,50)*m.E).toISOString(),rowsRead:s.int(4e4,9e5),rowsWritten:s.int(1e3,3e4),readQueries:s.int(4e3,6e4),writeQueries:s.int(300,6e3),accountRowsRead:s.int(9e5,18e5),accountRowsWritten:s.int(3e4,55e3),accountSizeBytes:1048576*s.int(200,900),accountDatabases:2,usageDay:r.toISOString().slice(0,10),usageAt:(0,m.$)(r,s.int(5,50)*m.E).toISOString(),lastGoodState:"ok"}}];await i.insert(a.snapshots).values(v.map(e=>({resourceId:e.id,state:e.state,stateSince:e.since,collectedAt:e.at,data:e.data}))),await i.insert(a.settings).values({key:P.f,value:{[d("cloudflare")]:{d1:"ok",analytics:"ok",at:(0,m.$)(r,s.int(5,50)*m.E).toISOString(),note:null}},createdAt:(0,m.$)(r,30*m.h),updatedAt:r});let _=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],$=t.apps.slice(0,Math.max(4,t.apps.length-1));return await i.insert(a.links).values($.map((e,t)=>({id:(0,h.T)(n,"link",e.name),fromResourceId:e.id,toResourceId:p(_[t]).id,kind:"uses_db",source:"manual",createdAt:(0,m.$)(r,s.int(20,90)*m.h),updatedAt:(0,m.$)(r,s.int(1,19)*m.h)}))),await B(e,p("supabase_project").id),await i.insert(a.keepActive).values({resourceId:p("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:(0,m.$)(r,s.int(2,20)*m.w),updatedAt:(0,m.$)(r,12*m.h)}),{dbs:u.map(({id:e,kind:t,name:a,externalId:i,accountId:n})=>({id:e,kind:t,name:a,externalId:i,accountId:n})),cloudflare:{accountId:d("cloudflare"),cfAccountId:c,label:o.name}}}async function B(e,t){let{db:a,seed:i,now:n}=e,r=(0,h.k)(i,"compute"),s=(0,m.$)(n,r.int(1,4)*m.E),o=Array.from({length:24},(e,a)=>{let i=new Date((0,O.b)(n).getTime()-a*m.w),s=Math.round((6+18*r.next())*10)/10,o=Math.round((34+14*r.next())*10)/10;return{resourceId:t,hour:i,samples:0===a?Math.max(1,Math.floor((n.getTime()-i.getTime())/(5*m.E))):12,cpuSamples:0===a?1:11,cpuAvg:s,cpuMax:Math.round(10*Math.min(70,s*(1.4+r.next())))/10,memAvg:o,memMax:Math.round(10*Math.min(85,o+6*r.next()))/10,diskPct:9.8,connUsed:r.int(8,22),connMax:60}}),d={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:(0,m.$)(s,(5-t)*5*m.E).toISOString(),cpu:Math.round((6+18*r.next())*10)/10}))};await a.insert(M.A).values({resourceId:t,keyCiphertext:z,keyIv:z,latest:d,lastTryAt:s,lastOkAt:s,createdAt:(0,m.$)(n,21*m.h),updatedAt:s}),await a.insert(M.l).values(o.filter(e=>e.hour.getTime()<=n.getTime()))}var N=e.i(218331),U=e.i(338478);let F=7*m.h;async function H(e,t,i,n,r,s){let{db:o,seed:c,now:u}=e,g=(0,h.k)(c,"events"),f=[],w=(e,t)=>f.push({id:(0,h.T)(c,"event",e),count:1,...t});for(let e of(0,l.f)(await o.execute(d.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(u.getTime()-F).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),i=e.building_at?new Date(e.building_at):a;w(`${e.external_id}:start`,{at:i,resourceId:e.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:t,reason:"DeployStarted"}),"ready"===e.state&&e.ready_at&&w(`${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&&w(`${e.external_id}:failed`,{at:new Date(i.getTime()+1e3*g.int(40,110)),resourceId:e.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:t,reason:"DeployFailed"})}let A=i.outage,y=i.monitors.find(e=>e.id===A.monitorId),k=(e,t,a,i,n,r,s)=>w(e,{at:t,resourceId:a,type:"monitor",kind:i,message:n,detail:r,reason:s});k("outage:warn",A.startedAt,A.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),k("outage:err",new Date(A.startedAt.getTime()+10*m.E),A.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),k("outage:ok",A.recoveredAt,A.appId,"ok","Monitor recovered",`${y.path} answers again`,"MonitorRecovered"),i.degraded&&k("degraded:warn",i.degraded.since,i.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let I=r.certSoon,v=r.zoneSoon,_=new Date(I.notAfter.getTime()-14*m.h+g.int(5,50)*m.E),$=new Date(v.expiresAt.getTime()-30*m.h+g.int(5,50)*m.E);w("net:cert",{at:_,resourceId:I.id,type:"system",kind:"warn",message:`${I.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),w("net:zone",{at:$,resourceId:v.id,type:"system",kind:"warn",message:`${v.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let b=new Date(u);b.setUTCHours(20,0,0,0),b.getTime()>u.getTime()-5*m.E&&b.setTime(b.getTime()-m.h);for(let e=0;e<7;e++){let t=new Date(b.getTime()-e*m.h+1e3*g.int(20,90));w(`daily:${e}`,{at:t,resourceId:null,type:"system",kind:"ok",message:"Daily jobs finished",detail:"Rollups, retention, certificates and domain expiry",reason:"DailyFinished"})}let S=(0,U.demoUserId)(c),T=(e,t,a,i,n=null)=>w(`action:${e}`,{at:(0,m.$)(u,t*m.h+g.int(1,10)*m.w+g.int(0,59)*m.E),resourceId:i,type:"action",kind:"ok",message:a,detail:n,actorUserId:S,reason:"Action"}),x=i.monitors.find(e=>"/api/health"===e.path)??i.monitors[0],D=t.apps[0],E=n.dbs.find(e=>"supabase_project"===e.kind);T("monitor-added",6,`Monitor added: ${(0,p.F)(x.url)}`,x.appId),T("db-link",5,`Database link: ${D.name} → ${E.name}`,D.id),T("keep-active",5,`Keep active on: ${E.name}`,E.id),T("rule",4,"Alert rule edited: HighLatency",null,"threshold 1,500 ms"),T("maintenance",3,"Maintenance window added",null,`Sundays 02:00 ${(0,N.D)()}, 30 min`),T("check-now",1,`Check now: ${(0,p.F)(y.url)}`,y.appId);let M=s.resolved.credential;w("action:credential",{at:new Date(M.resolvedAt.getTime()-g.int(2,9)*m.E),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${M.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:S,reason:"Action"}),w("action:auto-recheck",{at:new Date(A.startedAt.getTime()+11*m.E+3e3),resourceId:y.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${(0,p.F)(y.url)}`,detail:null,actorUserId:null,reason:"Action"}),await o.insert(a.events).values(f.sort((e,t)=>e.at.getTime()-t.at.getTime()))}let L="76.76.21.21";async function K(e,t,i){let{db:n,seed:r,now:s}=e,o=(0,h.k)(r,"network"),d=e=>(0,m.$)(s,o.int(10,60*e)*m.E).toISOString(),l=i.cloudflare,c=o.shuffle(T).slice(0,2).map((e,t)=>({id:(0,h.T)(r,"zone",e),name:y(e),expiresAt:new Date(1===t?s.getTime()+o.int(12,24)*m.h+o.int(1,20)*m.w:s.getTime()+o.int(200,600)*m.h)})),p=e=>e.split("-").slice(1).join("-")||e,g=t.apps,f=[{name:c[0].name,app:g[0]},...[0,1,2].map(e=>({name:`${p(g[e].name)}.${c[0].name}`,app:g[e]})),...[3,4].map(e=>({name:`${p(g[e%g.length].name)}.${c[1].name}`,app:g[e%g.length]}))],w=o.int(1,3),A=f.map((e,t)=>({id:(0,h.T)(r,"domain",e.name),name:e.name,appId:e.app.id,notAfter:new Date(t===w?s.getTime()+o.int(4,9)*m.h+o.int(1,20)*m.w:s.getTime()+o.int(30,85)*m.h)})),k=(e,t,a,i,n,s=null)=>({id:(0,h.p)(32,r,"dns",e,t,a),type:t,name:a,content:i,proxied:n,ttl:n?1:300,comment:s}),I=c.map(e=>{let t=[...A.filter(t=>t.name===e.name||t.name.endsWith(`.${e.name}`)).map(t=>k(e.name,"A",t.name,L,!1,"Vercel")),k(e.name,"MX",e.name,y("mx1.mail"),!1),k(e.name,"TXT",e.name,`v=spf1 include:_spf.${y("mail")} ~all`,!1),k(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:d(20)},i={status:"active",paused:!1,nameServers:[y("ada.ns"),y("bob.ns")],accountId:l.cfAccountId,checkedAt:d(1)},n=(0,u.G)({status:i.status,paused:i.paused,rdap:a},s),r={zone:i,ssl:{mode:"strict",error:null},records:t,recordsTruncated:!1,cfErrors:[],certs:[{type:"universal",status:"active",hosts:[e.name,`*.${e.name}`],expiresOn:new Date(s.getTime()+o.int(40,80)*m.h).toISOString()}],rdap:a,reasons:n.reasons};return{z:e,records:t,rdap:a,state:n.state,data:r}}),v=(0,m.$)(s,o.int(150,380)*m.h),_=(0,m.$)(s,o.int(5,50)*m.E);await n.insert(a.resources).values(c.map(e=>({id:e.id,accountId:l.accountId,kind:"zone",externalId:(0,h.p)(32,r,"zone-id",e.name),name:e.name,monitored:!0,meta:{status:"active",accountId:l.cfAccountId,accountName:l.label},firstSeenAt:v,lastSeenAt:_,createdAt:v,updatedAt:_}))),await n.insert(a.resources).values(A.map(e=>{let a=g.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:v,lastSeenAt:_,createdAt:v,updatedAt:_}}));let $=["Let's Encrypt","Google Trust Services"];await n.insert(a.snapshots).values([...I.map(e=>({resourceId:e.z.id,state:e.state,stateSince:"ok"===e.state?v:new Date(e.z.expiresAt.getTime()-30*m.h),data:e.data,collectedAt:_})),...A.map(e=>{let t=I.find(t=>e.name===t.z.name||e.name.endsWith(`.${t.z.name}`)),a={notAfter:e.notAfter.toISOString(),issuer:o.pick($),authorized:!0,error:null,checkedAt:d(19)},i={misconfigured:!1,configuredBy:"A",recommendedIps:[L],checkedAt:d(6)},n=(0,u.k)({host:e.name,tls:a,vercel:i,records:(0,u.Q)(e.name,t.records),zoneRdap:t.rdap},s),r="ok"===n.state?v:new Date(Math.min(e.notAfter.getTime()-14*m.h,t.z.expiresAt.getTime()-30*m.h));return{resourceId:e.id,state:n.state,stateSince:r,data:{tls:a,vercel:i,reasons:n.reasons},collectedAt:_}})]);let b=I[0].records.find(e=>"A"===e.type&&e.name===c[0].name&&e.content===L);return{zones:c,domains:A,certSoon:A[w],zoneSoon:c[1],vercelRecord:{id:b.id,name:b.name,zoneId:c[0].id}}}let V=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function W(e,t){let{db:i,seed:n,now:r}=e,s=(0,h.k)(n,"logs"),o=(0,l.f)(await i.execute(d.B`select resource_id, external_id from ops.deployments where is_current`)),c=s.shuffle(t.apps).slice(0,3).flatMap((e,t)=>Array.from({length:s.int(4,8)},(a,i)=>{let d=s.pick(x);return{id:(0,h.T)(n,"log",e.name,i),resourceId:e.id,deploymentId:o.find(t=>t.resource_id===e.id)?.external_id??`dpl_${(0,h.g)(24,n,"log-dpl",t)}`,rowId:`${(0,h.g)(10,n,"log-row",e.name,i).toLowerCase()}-${i}`,at:(0,m.$)(r,s.int(3,2760)*m.E+1e3*s.int(0,59)),level:d.level,message:d.message,requestMethod:d.method,requestPath:d.path,statusCode:d.status,source:"serverless"}}));await i.insert(a.storedLogs).values(c)}async function G(e){let{db:t,seed:i,now:n}=e,r=(0,h.k)(i,"provider-status"),s=(0,m.$)(n,r.int(1,4)*m.E);await t.insert(a.providerStatus).values(V.map(e=>"cloudflare"===e?{provider:e,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:s,lastOkAt:s,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:(0,m.$)(n,r.int(1,3)*m.w).toISOString(),url:null}]}:{provider:e,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:s,lastOkAt:s,error:null}))}async function q(e){let{db:t,seed:a,now:i}=e,n=(0,h.k)(a,"ai-usage"),r=(0,h.T)(a,"ai-agent","console"),s=n.int(70,140),o=[],l=[],c=[],u=[],p=[],g=[];for(let e=0;e<s;e++){o.push(i.getTime()-n.int(2,10080)*m.E);let e=n.chance(.04);p.push(e?429:200),l.push(e?0:n.int(600,4200)),c.push(e?0:n.int(80,700)),u.push(e?n.int(80,300):n.int(700,4800)),g.push(n.int(1,2))}let f=e=>e.reduce((e,t)=>e+t,0),w=new Date(Math.max(...o));await t.execute(d.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
- values (${r}::uuid, null, 'Watchbell console', '', 'console', 'Watchbell console (ask-ai)', ${(0,f.$)(i,720*f.w).toISOString()}::timestamptz,
5
- ${h.toISOString()}::timestamptz, ${s}, ${g(d)}, ${g(l)}, ${J(["gemini/gemini-2.5-flash","workers-ai/gemma-3-12b-it"])}::text[])`),await t.execute(u.B`
4
+ values (${r}::uuid, null, 'Watchbell console', '', 'console', 'Watchbell console (ask-ai)', ${(0,m.$)(i,720*m.w).toISOString()}::timestamptz,
5
+ ${w.toISOString()}::timestamptz, ${s}, ${f(l)}, ${f(c)}, ${Y(["gemini/gemini-2.5-flash","workers-ai/gemma-3-12b-it"])}::text[])`),await t.execute(d.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, ${r}::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
- from unnest(${(0,f._)(o)}::bigint[], ${(0,f._)(m)}::int[], ${(0,f._)(d)}::int[], ${(0,f._)(l)}::int[], ${(0,f._)(c)}::int[],
11
- ${(0,f._)(p)}::int[]) as t(at, m, ti, tout, l, s)
12
- order by t.at`)}let J=e=>`{${e.join(",")}}`,Z=2*f.w;async function ee(e,t,a,i){let{db:n,seed:r,now:s}=e,o=(0,w.k)(r,"proposals"),d=e=>(0,w.T)(r,"proposal",e),l=a.certSoon,c=t.failedDeploy,p=i.monitors.find(e=>e.id===i.outage.monitorId),m=new Date(i.outage.startedAt.getTime()+11*f.E),g=t.resolved.oldDeploy,A=new Date(g.startedAt.getTime()+o.int(2,6)*f.E),k=new Date(A.getTime()+o.int(3,15)*f.E),y=(0,f.$)(s,o.int(20,55)*f.E),I=(0,f.$)(s,o.int(8,19)*f.E);for(let e of[{id:d("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:y,decidedAt:null,expiresAt:new Date(y.getTime()+Z),claimedAt:null,finishedAt:null},{id:d("pending-risky"),alertId:t.firing.deploy,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_redeploy",risk:"risky",title:`Redeploy production ${c.appName}`,reason:`Production deployment ${c.sha} failed; the previous build is still live.`,resourceKind:"app",resourceId:c.appId,resourceName:c.appName,targetRef:c.currentExternalId,proposedBy:"Workloads",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:I,decidedAt:null,expiresAt:new Date(I.getTime()+Z),claimedAt:null,finishedAt:null},{id:d("done-auto"),alertId:t.resolved.outage,ruleKey:"MonitorDown",room:"workloads",action:"recheck",risk:"safe",title:`Check ${(0,h.F)(p.url)} again now`,reason:"It returned HTTP 503 on 3 consecutive checks.",resourceKind:"app",resourceId:p.appId,resourceName:(0,h.F)(p.url),targetRef:p.id,proposedBy:"Workloads",status:"done",auto:!0,result:"Failed: HTTP 503.",decidedBy:null,createdAt:m,decidedAt:m,expiresAt:new Date(m.getTime()+Z),claimedAt:new Date(m.getTime()+2e3),finishedAt:new Date(m.getTime()+2e3+o.int(300,1500))},{id:d("rejected"),alertId:g.id,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_rollback",risk:"risky",title:`Roll back ${g.appName} to the previous deployment`,reason:"The newest production build failed.",resourceKind:"app",resourceId:g.appId,resourceName:g.appName,targetRef:g.previousExternalId,proposedBy:"Workloads",status:"rejected",auto:!1,result:null,decidedBy:(0,F.memberRowId)(r),createdAt:A,decidedAt:k,expiresAt:new Date(A.getTime()+Z),claimedAt:null,finishedAt:null}]){let t=e=>e?e.toISOString():null;await n.execute(u.B`
10
+ from unnest(${(0,m._)(o)}::bigint[], ${(0,m._)(g)}::int[], ${(0,m._)(l)}::int[], ${(0,m._)(c)}::int[], ${(0,m._)(u)}::int[],
11
+ ${(0,m._)(p)}::int[]) as t(at, m, ti, tout, l, s)
12
+ order by t.at`)}let Y=e=>`{${e.join(",")}}`,Q=2*m.w;async function X(e,t,a,i){let{db:n,seed:r,now:s}=e,o=(0,h.k)(r,"proposals"),l=e=>(0,h.T)(r,"proposal",e),c=a.certSoon,u=t.failedDeploy,g=i.monitors.find(e=>e.id===i.outage.monitorId),f=new Date(i.outage.startedAt.getTime()+11*m.E),w=t.resolved.oldDeploy,A=new Date(w.startedAt.getTime()+o.int(2,6)*m.E),y=new Date(A.getTime()+o.int(3,15)*m.E),k=(0,m.$)(s,o.int(20,55)*m.E),I=(0,m.$)(s,o.int(8,19)*m.E);for(let e of[{id:l("pending-safe"),alertId:t.firing.cert,ruleKey:"CertExpiringSoon",room:"network",action:"domain_recheck",risk:"safe",title:`Re-check the certificate of ${c.name}`,reason:"The TLS certificate expires within 14 days; a fresh read shows whether it was already renewed.",resourceKind:"domain",resourceId:c.id,resourceName:c.name,targetRef:c.id,proposedBy:"Network",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:k,decidedAt:null,expiresAt:new Date(k.getTime()+Q),claimedAt:null,finishedAt:null},{id:l("pending-risky"),alertId:t.firing.deploy,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_redeploy",risk:"risky",title:`Redeploy production ${u.appName}`,reason:`Production deployment ${u.sha} failed; the previous build is still live.`,resourceKind:"app",resourceId:u.appId,resourceName:u.appName,targetRef:u.currentExternalId,proposedBy:"Workloads",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:I,decidedAt:null,expiresAt:new Date(I.getTime()+Q),claimedAt:null,finishedAt:null},{id:l("done-auto"),alertId:t.resolved.outage,ruleKey:"MonitorDown",room:"workloads",action:"recheck",risk:"safe",title:`Check ${(0,p.F)(g.url)} again now`,reason:"It returned HTTP 503 on 3 consecutive checks.",resourceKind:"app",resourceId:g.appId,resourceName:(0,p.F)(g.url),targetRef:g.id,proposedBy:"Workloads",status:"done",auto:!0,result:"Failed: HTTP 503.",decidedBy:null,createdAt:f,decidedAt:f,expiresAt:new Date(f.getTime()+Q),claimedAt:new Date(f.getTime()+2e3),finishedAt:new Date(f.getTime()+2e3+o.int(300,1500))},{id:l("rejected"),alertId:w.id,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_rollback",risk:"risky",title:`Roll back ${w.appName} to the previous deployment`,reason:"The newest production build failed.",resourceKind:"app",resourceId:w.appId,resourceName:w.appName,targetRef:w.previousExternalId,proposedBy:"Workloads",status:"rejected",auto:!1,result:null,decidedBy:(0,U.memberRowId)(r),createdAt:A,decidedAt:y,expiresAt:new Date(A.getTime()+Q),claimedAt:null,finishedAt:null}]){let t=e=>e?e.toISOString():null;await n.execute(d.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)`)}}var et=e.i(938739),ea=e.i(273083);let ei=5*f.E,en=f.h/ei,er=ea.f.checks*en,es=ea.f.rollupsHourly*en,eo="No answer within 5 s";async function ed(e,t){var a;let i,{db:n,seed:s,now:o}=e,d=(0,w.k)(s,"monitors"),l=[];for(let e of t.apps)for(let[t,a]of(d.chance(.6)?["/","/api/health"]:["/"]).entries())l.push({id:(0,w.T)(s,"monitor",e.name,a),appId:e.id,index:l.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*d.int(1,3)*f.h+d.int(2,50)*f.E)});let c=Math.floor((o.getTime()-1e4)/ei)*ei,u=(e,t)=>c-t*ei+2e3+300*e.index,p=l.map(e=>(function(e,t){let a=(0,w.k)(e,"checks",t.id),i={ok:new Uint8Array(es),status:new Int16Array(es),latency:new Int32Array(es)},n=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<es;e++){let t=Math.round(n*(.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);el(i,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else el(i,e,{ok:!0,status:200,latency:t})}return i})(s,e)),m=(0,w.k)(s,"outage"),g=l.filter(e=>"/"===e.path),h=m.pick(g),A=m.int(96,240),k=m.int(4,7),y=p[h.index];for(let e=A-3;e<A+k+3;e++)el(y,e,{ok:!0,status:200,latency:y.latency[e]>0?y.latency[e]:180});for(let e=A;e<A+k;e++)el(y,e,{ok:!1,status:e===A+k-1?502:503,latency:m.int(30,140)});let v={monitorId:h.id,appId:h.appId,startedAt:new Date(u(h,A+k-1)),endedAt:new Date(u(h,A)),recoveredAt:new Date(u(h,A-1)),failedChecks:k},$=l.filter(e=>e.appId!==h.appId),_=$.length?m.pick($):null;_&&el(p[_.index],0,{ok:!1,status:0,latency:-1});let S=(0,w.k)(s,"slow-windows"),T=l.filter(e=>e.id!==h.id),b=(e,t,a,i)=>{let n=p[e.index],r=t*en+S.int(12,144),s=S.int(a,i),o=[];for(let e=r;e>r-s;e--){let t=S.int(1600,2900);el(n,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let d=r-s;return(!n.ok[d]||n.latency[d]>=1500)&&el(n,d,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(u(e,r-1)),resolvedAt:new Date(u(e,d)),p95:(0,et.z)(o).p95Ms}},x=T[0]??h,D=T[T.length-1]??h,E=[b(x,2,4,8),b(D,5,3,6)],M=l.map(e=>(function(e,t,a){let i="unknown",n=0,r=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=(0,I.G)(n,{ok:1===t.ok[e],statusCode:ec(t,e),latencyMs:eu(t,e),error:ep(t,e)});s.state!==i&&(r=a(e)),i=s.state,n=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:i,stateSince:r,failStreak:n,lastCheckedAt:a(0),lastStatus:ec(t,0),lastLatencyMs:eu(t,0),createdAt:e.createdAt}})(e,p[e.index],t=>new Date(u(e,t))));await n.insert(r.monitors).values(M.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:ei/1e3,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:ep(p[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let O=((i=new Date(a=o)).setUTCHours(20,0,0,0),i.getTime()>a.getTime()-5*f.E&&i.setTime(i.getTime()-f.h),i.getTime());for(let t of l)await em(e,t,p[t.index],new Date(u(t,0))),await eg(e,t,p[t.index],e=>u(t,e),O);return await eh(e,l.length),{monitors:M,outage:v,degraded:_?{monitorId:_.id,appId:_.appId,since:new Date(u(_,0))}:null,slow:E}}function el(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 ec=(e,t)=>0===e.status[t]?null:e.status[t],eu=(e,t)=>e.latency[t]<0?null:e.latency[t],ep=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:eo;async function em(e,t,a,i){let n=Array.from({length:er},(e,t)=>t);await e.db.execute(u.B`
17
+ ${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}var J=e.i(938739),Z=e.i(273083);let ee=5*m.E,et=m.h/ee,ea=Z.f.checks*et,ei=Z.f.rollupsHourly*et,en="No answer within 5 s";async function er(e,t){var i;let n,{db:r,seed:s,now:o}=e,d=(0,h.k)(s,"monitors"),l=[];for(let e of t.apps)for(let[t,a]of(d.chance(.6)?["/","/api/health"]:["/"]).entries())l.push({id:(0,h.T)(s,"monitor",e.name,a),appId:e.id,index:l.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*d.int(1,3)*m.h+d.int(2,50)*m.E)});let c=Math.floor((o.getTime()-1e4)/ee)*ee,u=(e,t)=>c-t*ee+2e3+300*e.index,p=l.map(e=>(function(e,t){let a=(0,h.k)(e,"checks",t.id),i={ok:new Uint8Array(ei),status:new Int16Array(ei),latency:new Int32Array(ei)},n=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<ei;e++){let t=Math.round(n*(.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);es(i,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else es(i,e,{ok:!0,status:200,latency:t})}return i})(s,e)),g=(0,h.k)(s,"outage"),f=l.filter(e=>"/"===e.path),w=g.pick(f),y=g.int(96,240),k=g.int(4,7),I=p[w.index];for(let e=y-3;e<y+k+3;e++)es(I,e,{ok:!0,status:200,latency:I.latency[e]>0?I.latency[e]:180});for(let e=y;e<y+k;e++)es(I,e,{ok:!1,status:e===y+k-1?502:503,latency:g.int(30,140)});let v={monitorId:w.id,appId:w.appId,startedAt:new Date(u(w,y+k-1)),endedAt:new Date(u(w,y)),recoveredAt:new Date(u(w,y-1)),failedChecks:k},_=l.filter(e=>e.appId!==w.appId),$=_.length?g.pick(_):null;$&&es(p[$.index],0,{ok:!1,status:0,latency:-1});let b=(0,h.k)(s,"slow-windows"),S=l.filter(e=>e.id!==w.id),T=(e,t,a,i)=>{let n=p[e.index],r=t*et+b.int(12,144),s=b.int(a,i),o=[];for(let e=r;e>r-s;e--){let t=b.int(1600,2900);es(n,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let d=r-s;return(!n.ok[d]||n.latency[d]>=1500)&&es(n,d,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(u(e,r-1)),resolvedAt:new Date(u(e,d)),p95:(0,J.z)(o).p95Ms}},x=S[0]??w,D=S[S.length-1]??w,E=[T(x,2,4,8),T(D,5,3,6)],M=l.map(e=>(function(e,t,a){let i="unknown",n=0,r=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=(0,A.G)(n,{ok:1===t.ok[e],statusCode:eo(t,e),latencyMs:ed(t,e),error:el(t,e)});s.state!==i&&(r=a(e)),i=s.state,n=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:i,stateSince:r,failStreak:n,lastCheckedAt:a(0),lastStatus:eo(t,0),lastLatencyMs:ed(t,0),createdAt:e.createdAt}})(e,p[e.index],t=>new Date(u(e,t))));await r.insert(a.monitors).values(M.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:ee/1e3,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:el(p[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let O=((n=new Date(i=o)).setUTCHours(20,0,0,0),n.getTime()>i.getTime()-5*m.E&&n.setTime(n.getTime()-m.h),n.getTime());for(let t of l)await ec(e,t,p[t.index],new Date(u(t,0))),await eu(e,t,p[t.index],e=>u(t,e),O);return await ep(e,l.length),{monitors:M,outage:v,degraded:$?{monitorId:$.id,appId:$.appId,since:new Date(u($,0))}:null,slow:E}}function es(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 eo=(e,t)=>0===e.status[t]?null:e.status[t],ed=(e,t)=>e.latency[t]<0?null:e.latency[t],el=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:en;async function ec(e,t,a,i){let n=Array.from({length:ea},(e,t)=>t);await e.db.execute(d.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, ${i.toISOString()}::timestamptz - t.k * interval '5 minutes',
20
- t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${eo} else 'HTTP ' || t.s end, false
21
- from unnest(${(0,f._)(n)}::int[], ${(0,f._)(n.map(e=>1===a.ok[e]))}::bool[], ${(0,f._)(n.map(e=>ec(a,e)))}::int[],
22
- ${(0,f._)(n.map(e=>eu(a,e)))}::int[]) as t(k, ok, s, l)`)}async function eg(e,t,a,i,n){let r=Math.ceil(i(a.ok.length-1)/f.w)*f.w,s=[],o=[],d=[],l=[],c=[],p=[],m=[],g=-1,h=[],w=()=>{if(g<0||!h.length)return;let e=(0,et.z)(h);s.push(g/1e3),o.push(e.checks),d.push(e.failures),l.push(e.p50Ms),c.push(e.p95Ms),p.push(e.maxMs),m.push(e.status5xx)};for(let e=0;e<a.ok.length;e++){let t=Math.floor(i(e)/f.w)*f.w;if(!(t>=n)){if(t<r)break;t!==g&&(w(),g=t,h=[]),h.push({ok:1===a.ok[e],statusCode:ec(a,e),latencyMs:eu(a,e)})}}w(),s.length&&await e.db.execute(u.B`
20
+ t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${en} else 'HTTP ' || t.s end, false
21
+ from unnest(${(0,m._)(n)}::int[], ${(0,m._)(n.map(e=>1===a.ok[e]))}::bool[], ${(0,m._)(n.map(e=>eo(a,e)))}::int[],
22
+ ${(0,m._)(n.map(e=>ed(a,e)))}::int[]) as t(k, ok, s, l)`)}async function eu(e,t,a,i,n){let r=Math.ceil(i(a.ok.length-1)/m.w)*m.w,s=[],o=[],l=[],c=[],u=[],p=[],h=[],g=-1,f=[],w=()=>{if(g<0||!f.length)return;let e=(0,J.z)(f);s.push(g/1e3),o.push(e.checks),l.push(e.failures),c.push(e.p50Ms),u.push(e.p95Ms),p.push(e.maxMs),h.push(e.status5xx)};for(let e=0;e<a.ok.length;e++){let t=Math.floor(i(e)/m.w)*m.w;if(!(t>=n)){if(t<r)break;t!==g&&(w(),g=t,f=[]),f.push({ok:1===a.ok[e],statusCode:eo(a,e),latencyMs:ed(a,e)})}}w(),s.length&&await e.db.execute(d.B`
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
- from unnest(${(0,f._)(s)}::bigint[], ${(0,f._)(o)}::int[], ${(0,f._)(d)}::int[], ${(0,f._)(l)}::int[],
26
- ${(0,f._)(c)}::int[], ${(0,f._)(p)}::int[], ${(0,f._)(m)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function eh(e,t){let{seed:a,now:i}=e,n=(0,w.k)(a,"collector-runs"),s=Math.floor((i.getTime()-1e4)/f.E)*f.E;await e.db.insert(r.collectorRuns).values(Array.from({length:60},(e,i)=>{let r=s-i*f.E,o=r%ei==0,d=(o?2e3+300*t:600)+n.int(200,1400);return{id:(0,w.T)(a,"collector-run",i),startedAt:new Date(r+1e3),finishedAt:new Date(r+1e3+d),trigger:"manual",tasks:o?["heartbeats","checks","vercel","alerts"]:["heartbeats","vercel","alerts"],ok:!0,durationMs:d,checks:o?t:0}}))}async function ef(e,t,a,i){await e.transaction(async e=>{let n={db:e,seed:t,now:a,email:i};await (0,F.seedMember)(n);let r=await O(n),s=await ed(n,r);await C(n,r,s.monitors);let o=await N(n,r),d=await W(n,r,o),l=await k(n,r,s,o,d);await ee(n,l,d,s),await V(n,r,s,o,d,l),await q(n,r),await Q(n),await X(n)})}var ew=e.i(840263),eA=e.i(563247);let ek=0,ey=()=>Date.now()+ek;function eI(e=process.env){let t=Number(((0,s.d)(e,"DEMO_POOL_MAX")??"").trim());return Number.isInteger(t)&&t>=1?t:3}let ev=globalThis.__watchpostDemoPool??={entries:new Map,live:new Set,waiters:new Set,creating:0,creationQueue:[]};function e$(){let e=[...ev.waiters];for(let t of(ev.waiters.clear(),e))t()}function e_(e){!e.evicted||e.leases>0||e.closing||(e.closing=e.pglite.then(e=>e.close()).catch(()=>void 0).finally(()=>{ev.live.delete(e),e$()}))}function eS(e){ev.entries.get(e.seed)===e&&ev.entries.delete(e.seed),e.evicted=!0,0===ev.entries.size&&ev.sweeper&&(clearInterval(ev.sweeper),ev.sweeper=void 0),e_(e),e$()}let eT=e=>e.created&&0===e.leases&&!e.evicted,eb=(e,t)=>eT(e)&&t-e.lastUsed>=6e4;function ex(e=ey()){for(let t of[...ev.entries.values()])eT(t)&&e-t.lastUsed>12e5&&eS(t)}async function eD(e){let t=ey()+5e3;for(;;){if(e.evicted)throw Error("The demo database was closed. Reload the page.");if(ev.live.size<eI())return void ev.live.add(e);let a=ey(),i=[...ev.entries.values()].find(e=>eb(e,a));if(i){eS(i),await i.closing;continue}let n=t-a;if(n<=0)throw c(o);await function(e){return new Promise(t=>{let a=setTimeout(i,e);function i(){clearTimeout(a),ev.waiters.delete(i),t()}ev.waiters.add(i)})}(Math.min(n,function(e){let t=1/0;for(let a of ev.entries.values())eT(a)&&(t=Math.min(t,a.lastUsed+6e4-e));return Math.max(0,t)}(a)+1))}}async function eE(){ev.creating<2?ev.creating++:await new Promise(e=>ev.creationQueue.push(e))}async function eM(e,s){if(!eA.k.take(await (0,ew.R)(),e.seed))throw c(d);await eD(e);try{let o=s??await (0,ew._)();await eE();try{let s=await t.f.create();try{let t=(0,a.f)({client:s,schema:r});await (0,i.f)(t,{migrationsFolder:(0,n.selfhostMigrationsFolder)()}),await ef(t,e.seed,new Date,o)}catch(e){throw await s.close().catch(()=>void 0),e}return e.created=!0,s}finally{let e;(e=ev.creationQueue.shift())?e():ev.creating--}}catch(t){throw ev.live.delete(e),t}finally{e$()}}function eO(e,t){if(!e)throw Error("Demo seed missing");ex();let a=ev.entries.get(e);if(a)ev.entries.delete(e);else{let i={seed:e,created:!1,lastUsed:0,leases:0,evicted:!1};i.pglite=eM(i,t),i.pglite.catch(()=>{ev.entries.get(e)===i&&ev.entries.delete(e)}),a=i}return a.lastUsed=ey(),ev.entries.set(e,a),ev.sweeper||(ev.sweeper=setInterval(()=>ex(),6e4),ev.sweeper.unref?.()),a}async function eC(e,t,a){let i=eO(e,a);i.leases++;try{return await t(await i.pglite)}finally{i.leases--,i.lastUsed=ey(),e_(i),e$()}}async function eP(){for(let e of[...ev.entries.values()])eS(e);await Promise.all([...ev.live].map(e=>e.closing))}e.s(["BUSY_WAIT_MS",0,5e3,"DEFAULT_POOL_MAX",0,3,"DEMO_BUSY",0,o,"DEMO_TOO_MANY",0,d,"IDLE_MS",0,12e5,"MAX_CREATING",0,2,"RECENT_MS",0,6e4,"closeDemoPool",0,eP,"demoDbFor",0,function(e,t){return eO(e,t).pglite},"demoPoolMax",0,eI,"setDemoPoolClockOffsetForTests",0,function(e){if(!process.env.VITEST)throw Error("setDemoPoolClockOffsetForTests is for tests only");ek=e,e$()},"sweepIdleDemoDbs",0,ex,"withDemoDb",0,eC],272923)}];
25
+ from unnest(${(0,m._)(s)}::bigint[], ${(0,m._)(o)}::int[], ${(0,m._)(l)}::int[], ${(0,m._)(c)}::int[],
26
+ ${(0,m._)(u)}::int[], ${(0,m._)(p)}::int[], ${(0,m._)(h)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function ep(e,t){let{seed:i,now:n}=e,r=(0,h.k)(i,"collector-runs"),s=Math.floor((n.getTime()-1e4)/m.E)*m.E;await e.db.insert(a.collectorRuns).values(Array.from({length:60},(e,a)=>{let n=s-a*m.E,o=n%ee==0,d=(o?2e3+300*t:600)+r.int(200,1400);return{id:(0,h.T)(i,"collector-run",a),startedAt:new Date(n+1e3),finishedAt:new Date(n+1e3+d),trigger:"manual",tasks:o?["heartbeats","checks","vercel","alerts"]:["heartbeats","vercel","alerts"],ok:!0,durationMs:d,checks:o?t:0}}))}async function em(e,t,a,i,{foreignKeyChecks:n=!1}={}){await e.transaction(async e=>{n||await e.execute(d.B`set local session_replication_role = replica`);let r={db:e,seed:t,now:a,email:i};await (0,U.seedMember)(r);let s=await D(r),o=await er(r,s);await E(r,s,o.monitors);let l=await j(r,s),c=await K(r,s,l),u=await f(r,s,o,l,c);await X(r,u,c,o),await H(r,s,o,l,c,u),await W(r,s),await G(r),await q(r)})}var eh=e.i(840263),eg=e.i(666680),ef=e.i(902157),ew=e.i(750227),eA=e.i(727028),ey=e.i(982842),ek=e.i(529341),eI=e.i(350649);let ev=globalThis;async function e_(e){let a=await ey.f.create();try{return await (0,ek.f)((0,t.f)({client:a}),{migrationsFolder:e}),{blob:await a.dumpDataDir("none"),from:"process"}}finally{await a.close()}}function e$(e){return ev.__watchbellDemoTemplate=e,e.catch(()=>{ev.__watchbellDemoTemplate===e&&delete ev.__watchbellDemoTemplate}),e}function eb(){if(ev.__watchbellDemoTemplate)return ev.__watchbellDemoTemplate;let e=performance.now(),t=(0,eI.selfhostMigrationsFolder)(),a=function(e){let t=function(e=process.env){return(0,ew.resolve)((0,i.d)(e,"DEMO_SNAPSHOT_DIR")||"demo-snapshot")}();try{if(JSON.parse((0,ef.readFileSync)((0,ew.join)(t,"migrated.json"),"utf8")).migrations!==function(e){let t=(0,eg.createHash)("sha256");for(let a of["meta/_journal.json",...(0,ef.readdirSync)(e).filter(e=>e.endsWith(".sql")).sort()])t.update(`${a}\0`).update((0,ef.readFileSync)((0,ew.join)(e,a))).update("\0");return t.digest("hex")}(e))return null;return{blob:new Blob([(0,eA.gunzipSync)((0,ef.readFileSync)((0,ew.join)(t,"migrated.tar.gz")))],{type:"application/x-tar"}),from:"build"}}catch{return null}}(t),n=e$(a?Promise.resolve(a):e_(t));return n.then(t=>console.info(`demo: schema template ${"build"===t.from?"read from the build's snapshot":"migrated in this process"} in ${Math.round(performance.now()-e)} ms`),()=>void 0),n}async function eS(){let e=eb(),t=await e;try{return await ey.f.create({loadDataDir:t.blob})}catch(a){if("build"!==t.from)throw a;return ev.__watchbellDemoTemplate===e&&(console.warn(`demo: the build's migrated snapshot didn't load (${a instanceof Error?a.message:String(a)}); migrating instead`),e$(e_((0,eI.selfhostMigrationsFolder)()))),ey.f.create({loadDataDir:(await eb()).blob})}}var eT=e.i(563247);let ex=0,eD=()=>Date.now()+ex;function eE(e=process.env){let t=Number(((0,i.d)(e,"DEMO_POOL_MAX")??"").trim());return Number.isInteger(t)&&t>=1?t:3}let eM=globalThis.__watchpostDemoPool??={entries:new Map,live:new Set,waiters:new Set,creating:0,creationQueue:[]};function eO(){let e=[...eM.waiters];for(let t of(eM.waiters.clear(),e))t()}function eC(e){!e.evicted||e.leases>0||e.closing||(e.closing=e.pglite.then(e=>e.close()).catch(()=>void 0).finally(()=>{eM.live.delete(e),eO()}))}function eP(e){eM.entries.get(e.seed)===e&&eM.entries.delete(e.seed),e.evicted=!0,0===eM.entries.size&&eM.sweeper&&(clearInterval(eM.sweeper),eM.sweeper=void 0),eC(e),eO()}let ez=e=>e.created&&0===e.leases&&!e.evicted,eR=(e,t)=>ez(e)&&t-e.lastUsed>=6e4;function ej(e=eD()){for(let t of[...eM.entries.values()])ez(t)&&e-t.lastUsed>12e5&&eP(t)}async function eB(e){let t=eD()+5e3;for(;;){if(e.evicted)throw Error("The demo database was closed. Reload the page.");if(eM.live.size<eE())return void eM.live.add(e);let a=eD(),i=[...eM.entries.values()].find(e=>eR(e,a));if(i){eP(i),await i.closing;continue}let r=t-a;if(r<=0)throw o(n);await function(e){return new Promise(t=>{let a=setTimeout(i,e);function i(){clearTimeout(a),eM.waiters.delete(i),t()}eM.waiters.add(i)})}(Math.min(r,function(e){let t=1/0;for(let a of eM.entries.values())ez(a)&&(t=Math.min(t,a.lastUsed+6e4-e));return Math.max(0,t)}(a)+1))}}async function eN(){eM.creating<2?eM.creating++:await new Promise(e=>eM.creationQueue.push(e))}async function eU(e,i){let n=performance.now();if(!eT.k.take(await (0,eh.R)(),e.seed))throw o(r);await eB(e);try{let r=i??await (0,eh._)();await eN();try{let i=performance.now(),s=await eS(),o=performance.now();try{let i=(0,t.f)({client:s,schema:a});await em(i,e.seed,new Date,r)}catch(e){throw await s.close().catch(()=>void 0),e}e.created=!0;let d=(e,t)=>Math.round(t-e),l=performance.now();return console.info(`demo: visitor database ready in ${d(n,l)} ms (waited ${d(n,i)}, schema ${d(i,o)}, seed ${d(o,l)})`),s}finally{let e;(e=eM.creationQueue.shift())?e():eM.creating--}}catch(t){throw eM.live.delete(e),t}finally{eO()}}function eF(e,t){if(!e)throw Error("Demo seed missing");ej();let a=eM.entries.get(e);if(a)eM.entries.delete(e);else{let i={seed:e,created:!1,lastUsed:0,leases:0,evicted:!1};i.pglite=eU(i,t),i.pglite.catch(()=>{eM.entries.get(e)===i&&eM.entries.delete(e)}),a=i}return a.lastUsed=eD(),eM.entries.set(e,a),eM.sweeper||(eM.sweeper=setInterval(()=>ej(),6e4),eM.sweeper.unref?.()),a}async function eH(e,t,a){let i=eF(e,a);i.leases++;try{return await t(await i.pglite)}finally{i.leases--,i.lastUsed=eD(),eC(i),eO()}}async function eL(){for(let e of[...eM.entries.values()])eP(e);await Promise.all([...eM.live].map(e=>e.closing))}e.s(["BUSY_WAIT_MS",0,5e3,"DEFAULT_POOL_MAX",0,3,"DEMO_BUSY",0,n,"DEMO_TOO_MANY",0,r,"IDLE_MS",0,12e5,"MAX_CREATING",0,2,"RECENT_MS",0,6e4,"closeDemoPool",0,eL,"demoDbFor",0,function(e,t){return eF(e,t).pglite},"demoPoolMax",0,eE,"setDemoPoolClockOffsetForTests",0,function(e){if(!process.env.VITEST)throw Error("setDemoPoolClockOffsetForTests is for tests only");ex=e,eO()},"sweepIdleDemoDbs",0,ej,"withDemoDb",0,eH],272923)}];
27
27
 
28
28
  //# sourceMappingURL=src_lib_demo_pool_ts_14rjvkgozh1d4._.js.map