watchbell 1.0.0 → 1.1.0

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/LICENSE +1 -1
  2. package/README.md +123 -84
  3. package/bin/watchbell.mjs +593 -23
  4. package/package.json +1 -1
  5. package/server/.next/BUILD_ID +1 -1
  6. package/server/.next/build-manifest.json +3 -3
  7. package/server/.next/prerender-manifest.json +3 -3
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +11 -11
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +38 -37
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  11. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +10 -10
  13. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +38 -37
  14. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  15. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  16. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +9 -9
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +38 -37
  18. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  19. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +12 -12
  21. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +38 -37
  22. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  23. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +10 -10
  25. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +38 -37
  26. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  27. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  28. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +19 -19
  29. package/server/.next/server/app/(console)/(private)/ai/models/page.js +38 -37
  30. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  31. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  32. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +9 -9
  33. package/server/.next/server/app/(console)/(private)/ai/page.js +38 -37
  34. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  35. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +12 -12
  37. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +38 -37
  38. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  39. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +15 -15
  41. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +38 -37
  42. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  43. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  44. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +10 -10
  45. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +38 -37
  46. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  47. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  48. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +10 -10
  49. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +38 -37
  50. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  51. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  52. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +9 -9
  53. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +38 -37
  54. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  55. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  56. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +10 -10
  57. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +38 -37
  58. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  59. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  60. package/server/.next/server/app/(console)/[...slug]/page/server-reference-manifest.json +9 -9
  61. package/server/.next/server/app/(console)/[...slug]/page.js +38 -37
  62. package/server/.next/server/app/(console)/[...slug]/page.js.nft.json +1 -1
  63. package/server/.next/server/app/(console)/[...slug]/page_client-reference-manifest.js +1 -1
  64. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +22 -22
  65. package/server/.next/server/app/(console)/alerts/page.js +38 -37
  66. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  67. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  68. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +23 -23
  69. package/server/.next/server/app/(console)/apps/[id]/page.js +38 -37
  70. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  71. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  72. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +11 -11
  73. package/server/.next/server/app/(console)/apps/page.js +38 -37
  74. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  75. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  76. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +12 -12
  77. package/server/.next/server/app/(console)/backups/page.js +38 -37
  78. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  79. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  80. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +9 -9
  81. package/server/.next/server/app/(console)/catalog/page.js +38 -37
  82. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  83. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  84. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +20 -20
  85. package/server/.next/server/app/(console)/connections/page.js +38 -37
  86. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  87. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  88. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +9 -9
  89. package/server/.next/server/app/(console)/d1/page.js +38 -37
  90. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  91. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  92. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +14 -14
  93. package/server/.next/server/app/(console)/deployments/page.js +38 -37
  94. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  95. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  96. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +16 -16
  97. package/server/.next/server/app/(console)/dns/page.js +38 -37
  98. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  99. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  100. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +11 -11
  101. package/server/.next/server/app/(console)/domains/page.js +38 -37
  102. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  103. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  104. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +9 -9
  105. package/server/.next/server/app/(console)/events/page.js +38 -37
  106. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  107. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  108. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +15 -15
  109. package/server/.next/server/app/(console)/firebase/page.js +38 -37
  110. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  111. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  112. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +10 -10
  113. package/server/.next/server/app/(console)/logs/page.js +38 -37
  114. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  115. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  116. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +20 -20
  117. package/server/.next/server/app/(console)/neon/page.js +38 -37
  118. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  119. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  120. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +18 -18
  121. package/server/.next/server/app/(console)/overview/page.js +38 -37
  122. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  123. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  124. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +10 -10
  125. package/server/.next/server/app/(console)/repos/[id]/page.js +38 -37
  126. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  127. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  128. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +9 -9
  129. package/server/.next/server/app/(console)/repos/page.js +38 -37
  130. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  131. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  132. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +19 -19
  133. package/server/.next/server/app/(console)/settings/page.js +38 -37
  134. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  135. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  136. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +16 -16
  137. package/server/.next/server/app/(console)/sql/page.js +38 -37
  138. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  139. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  140. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +9 -9
  141. package/server/.next/server/app/(console)/status/page.js +38 -37
  142. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  143. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  144. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +29 -29
  145. package/server/.next/server/app/(console)/supabase/page.js +38 -37
  146. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  147. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  148. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +9 -9
  149. package/server/.next/server/app/(console)/topology/page.js +38 -37
  150. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  151. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  152. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +9 -9
  153. package/server/.next/server/app/(console)/turso/page.js +38 -37
  154. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  155. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  156. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +9 -9
  157. package/server/.next/server/app/(console)/upstash/page.js +38 -37
  158. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  159. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  160. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +22 -22
  161. package/server/.next/server/app/(console)/uptime/page.js +38 -37
  162. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  163. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  164. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +14 -14
  165. package/server/.next/server/app/(console)/welcome/page.js +38 -37
  166. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  167. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  168. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  169. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  170. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  171. package/server/.next/server/app/_global-error.html +1 -1
  172. package/server/.next/server/app/_global-error.rsc +2 -2
  173. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  174. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  175. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  176. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  177. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  178. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  179. package/server/.next/server/app/_not-found.html +1 -1
  180. package/server/.next/server/app/_not-found.rsc +3 -3
  181. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  182. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  183. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  184. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  185. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  186. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  187. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  188. package/server/.next/server/app/api/collect/route.js +48 -46
  189. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  190. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  191. package/server/.next/server/app/api/daily/route.js +52 -50
  192. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  193. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  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 +7 -7
  196. package/server/.next/server/app/api/telegram/webhook/route.js +48 -46
  197. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  198. package/server/.next/server/app/api/v1/advice/route.js +19 -18
  199. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  200. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  201. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  202. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  203. package/server/.next/server/app/api/v1/ai/questions/route.js +22 -21
  204. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  205. package/server/.next/server/app/api/v1/mcp/route.js +20 -19
  206. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  207. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  208. package/server/.next/server/app/api/v1/openapi.json/route.js +9 -8
  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 +18 -17
  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 +18 -17
  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 +19 -18
  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 +18 -17
  218. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  219. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  220. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  221. package/server/.next/server/app/auth/session-ended/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 +4 -3
  224. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  225. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  226. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  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.nft.json +1 -1
  231. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  232. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  233. package/server/.next/server/app/page.js.nft.json +1 -1
  234. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  235. package/server/.next/server/app/s/[slug]/badge/[file]/route.js +9 -8
  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 +8 -8
  239. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  240. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  241. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  242. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  243. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  244. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  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/{[root-of-the-server]__09qqv-zsz9qhr._.js → [root-of-the-server]__00hb7hqa7qktx._.js} +1 -1
  248. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  249. package/server/.next/server/chunks/[root-of-the-server]__049ykc067tlsv._.js +1 -1
  250. package/server/.next/server/chunks/[root-of-the-server]__06f9e4kpi0mw8._.js +1 -1
  251. package/server/.next/server/chunks/[root-of-the-server]__0_rfeg3389imx._.js +1 -1
  252. package/server/.next/server/chunks/{[root-of-the-server]__1n32c8l_j8jt4._.js → [root-of-the-server]__0abdjgj-muln9._.js} +2 -2
  253. package/server/.next/server/chunks/{[root-of-the-server]__1jrqehmo6kq8x._.js → [root-of-the-server]__0alnp_0qkhzze._.js} +2 -2
  254. package/server/.next/server/chunks/[root-of-the-server]__0b2hzo6nez0we._.js +1 -1
  255. package/server/.next/server/chunks/[root-of-the-server]__0c5w5y-db0jkb._.js +3 -0
  256. package/server/.next/server/chunks/{[root-of-the-server]__0znb_m_wygjdc._.js → [root-of-the-server]__0erdelc9_06nk._.js} +2 -2
  257. package/server/.next/server/chunks/{[root-of-the-server]__0u66-8g4ql645._.js → [root-of-the-server]__0grtjjr51j6xe._.js} +1 -1
  258. package/server/.next/server/chunks/{[root-of-the-server]__0-ok-3r9xtz0y._.js → [root-of-the-server]__0hpdrg-m0n6ty._.js} +2 -2
  259. package/server/.next/server/chunks/{[root-of-the-server]__1z3-s7wc9-uc6._.js → [root-of-the-server]__0m7_0rarf_x86._.js} +2 -2
  260. package/server/.next/server/chunks/[root-of-the-server]__0m7i0l3nkbdfm._.js +1 -1
  261. package/server/.next/server/chunks/[root-of-the-server]__0mwiq4mkf8pc5._.js +1 -1
  262. package/server/.next/server/chunks/[root-of-the-server]__0p3lnkpxf2-xz._.js +1 -1
  263. package/server/.next/server/chunks/{[root-of-the-server]__08n3x1x850wqc._.js → [root-of-the-server]__0qmkpydmx3ljf._.js} +2 -2
  264. package/server/.next/server/chunks/{[root-of-the-server]__0_6eq1806attx._.js → [root-of-the-server]__0r-zdzq6ki5gr._.js} +1 -1
  265. package/server/.next/server/chunks/{[root-of-the-server]__157yb_wl7w4ly._.js → [root-of-the-server]__0rak0ce6prxwp._.js} +1 -1
  266. package/server/.next/server/chunks/{[root-of-the-server]__081ywec7cjq3d._.js → [root-of-the-server]__0rxrv00e5e6fj._.js} +2 -2
  267. package/server/.next/server/chunks/{[root-of-the-server]__1_5q9zgl6p5_3._.js → [root-of-the-server]__0sivlmcvkc1uq._.js} +1 -1
  268. package/server/.next/server/chunks/{[root-of-the-server]__1x9tt_2yhozwe._.js → [root-of-the-server]__0vp-x4ifpr3p9._.js} +2 -2
  269. package/server/.next/server/chunks/{[root-of-the-server]__0j0medewrv95l._.js → [root-of-the-server]__0z-41cwvkliev._.js} +2 -2
  270. package/server/.next/server/chunks/{[root-of-the-server]__06iz-tlpv7pqm._.js → [root-of-the-server]__0zd61mh-juh2i._.js} +1 -1
  271. package/server/.next/server/chunks/{[root-of-the-server]__0mtlynfv-vklo._.js → [root-of-the-server]__1-q6_msattgcu._.js} +1 -1
  272. package/server/.next/server/chunks/{[root-of-the-server]__018ux7xja83l6._.js → [root-of-the-server]__1-rqermjb77se._.js} +2 -2
  273. package/server/.next/server/chunks/[root-of-the-server]__110c-t3wz3nzm._.js +1 -1
  274. package/server/.next/server/chunks/[root-of-the-server]__11k46kam6tbia._.js +1 -1
  275. package/server/.next/server/chunks/{[root-of-the-server]__0mhtnnebbepzx._.js → [root-of-the-server]__11kfkk5yxz4ge._.js} +2 -2
  276. package/server/.next/server/chunks/{[root-of-the-server]__0ymon9r-17xe_._.js → [root-of-the-server]__13be7gbo81td4._.js} +1 -1
  277. package/server/.next/server/chunks/{[root-of-the-server]__0uyagcs61c0t_._.js → [root-of-the-server]__13scfgchwlitx._.js} +2 -2
  278. package/server/.next/server/chunks/[root-of-the-server]__14zpwd7xntffk._.js +3 -0
  279. package/server/.next/server/chunks/[root-of-the-server]__15tt645jfx-br._.js +3 -0
  280. package/server/.next/server/chunks/{[root-of-the-server]__08801yoxfe_os._.js → [root-of-the-server]__15zbj_ehkvv-n._.js} +2 -2
  281. package/server/.next/server/chunks/[root-of-the-server]__16sp8qurcwsnf._.js +3 -0
  282. package/server/.next/server/chunks/[root-of-the-server]__19kwj690b37xf._.js +1 -1
  283. package/server/.next/server/chunks/[root-of-the-server]__1_1-jgxiadvs0._.js +3 -0
  284. package/server/.next/server/chunks/[root-of-the-server]__1_2akhn6c9eqq._.js +3 -0
  285. package/server/.next/server/chunks/[root-of-the-server]__1c2u-bg524-_w._.js +3 -0
  286. package/server/.next/server/chunks/[root-of-the-server]__1c8_e0jqh_8na._.js +3 -0
  287. package/server/.next/server/chunks/{[root-of-the-server]__0qpf0qusq792k._.js → [root-of-the-server]__1flvcyht5uk7h._.js} +2 -2
  288. package/server/.next/server/chunks/[root-of-the-server]__1g-be2zoiz2tf._.js +3 -0
  289. package/server/.next/server/chunks/[root-of-the-server]__1h96ebyza_vlh._.js +3 -0
  290. package/server/.next/server/chunks/{[root-of-the-server]__02ihdvnmhshoe._.js → [root-of-the-server]__1hw6s0e7p2-6g._.js} +2 -2
  291. package/server/.next/server/chunks/[root-of-the-server]__1j26i51ankv-z._.js +3 -0
  292. package/server/.next/server/chunks/[root-of-the-server]__1ldcwvd42rpuz._.js +3 -0
  293. package/server/.next/server/chunks/{[root-of-the-server]__0q691wec2busx._.js → [root-of-the-server]__1objhlwwrjfjk._.js} +2 -2
  294. package/server/.next/server/chunks/{[root-of-the-server]__0wt74rsaz-308._.js → [root-of-the-server]__1qzor1nqajuyp._.js} +2 -2
  295. package/server/.next/server/chunks/{[root-of-the-server]__18mztbxkzaxjs._.js → [root-of-the-server]__1rf3slum5swk2._.js} +2 -2
  296. package/server/.next/server/chunks/[root-of-the-server]__1sj7uwyq1gpet._.js +3 -0
  297. package/server/.next/server/chunks/{[root-of-the-server]__0tb-63ts77gqd._.js → [root-of-the-server]__1tefe1f5835t_._.js} +2 -2
  298. package/server/.next/server/chunks/[root-of-the-server]__1u1b3a58anm3f._.js +3 -0
  299. package/server/.next/server/chunks/{[root-of-the-server]__132wlw6sbwt1d._.js → [root-of-the-server]__1vi0u2vkv3tk0._.js} +2 -2
  300. package/server/.next/server/chunks/[root-of-the-server]__1w_73psnce1dd._.js +3 -0
  301. package/server/.next/server/chunks/[root-of-the-server]__202r0hxhr5bnu._.js +3 -0
  302. package/server/.next/server/chunks/[root-of-the-server]__2196hxm-s7u6e._.js +3 -0
  303. package/server/.next/server/chunks/{_076dwl7r_5vcl._.js → _061mqfu1rkl7g._.js} +4 -4
  304. package/server/.next/server/chunks/{_0594j_bb0l80e._.js → _0c_vrxu6rin-k._.js} +2 -2
  305. package/server/.next/server/chunks/_0ejcrge5k4quv._.js +9 -9
  306. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +3 -0
  307. package/server/.next/server/chunks/_0qawxzcf--lyq._.js +2 -2
  308. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +3 -3
  309. package/server/.next/server/chunks/{_0m49djgc1t4wg._.js → _0qrn1v02iivm8._.js} +2 -2
  310. package/server/.next/server/chunks/_0vgojnnkcf1vu._.js +2 -2
  311. package/server/.next/server/chunks/_0vz0de4gz70-e._.js +1 -1
  312. package/server/.next/server/chunks/_103ai6ybnpq1k._.js +1 -1
  313. package/server/.next/server/chunks/_108e86rhye0o1._.js +1 -1
  314. package/server/.next/server/chunks/_1476vtrt9101m._.js +1 -1
  315. package/server/.next/server/chunks/{_0r4am1mgz4dg_._.js → _1b63jfweu0o04._.js} +2 -2
  316. package/server/.next/server/chunks/_1b7pc6ohhqxs3._.js +9 -9
  317. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +3 -3
  318. package/server/.next/server/chunks/{_08tppw9ujlpke._.js → _1i57ar6zvd7yb._.js} +4 -4
  319. package/server/.next/server/chunks/{_11p2ejgai2a78._.js → _1k2cwp1_wt6qm._.js} +2 -2
  320. package/server/.next/server/chunks/_1kcmwgs544mo-._.js +1 -1
  321. package/server/.next/server/chunks/{_0n5m3o7at0adm._.js → _1kj2yv4-wk2kp._.js} +4 -4
  322. package/server/.next/server/chunks/_1lq5m27p-ilrw._.js +1 -1
  323. package/server/.next/server/chunks/_1mnwzh3z9y4th._.js +3 -0
  324. package/server/.next/server/chunks/_1nuf-l7izvfl_._.js +1 -1
  325. package/server/.next/server/chunks/{_1rw6_0nf-3sxs._.js → _1ozrnl_on86u7._.js} +4 -4
  326. package/server/.next/server/chunks/_1ptcxyn1tzm9r._.js +1 -1
  327. package/server/.next/server/chunks/_1xeuk6g48m3_1._.js +3 -0
  328. package/server/.next/server/chunks/{src_0uxqs7150nhx2._.js → src_014zbodp4djeb._.js} +2 -2
  329. package/server/.next/server/chunks/{src_0n42os1q41rha._.js → src_04pgj--n_d4w5._.js} +2 -2
  330. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  331. package/server/.next/server/chunks/{src_01wdnb4skk1wz._.js → src_08bzavsfds295._.js} +2 -2
  332. package/server/.next/server/chunks/src_0c-owt8q0lyj3._.js +3 -0
  333. package/server/.next/server/chunks/{src_1-r51arho90p7._.js → src_0k78ifotuztod._.js} +2 -2
  334. package/server/.next/server/chunks/src_0o4-snj7wkaav._.js +1 -1
  335. package/server/.next/server/chunks/{src_0d-zi077mzm6v._.js → src_0xqorb3-ef3ub._.js} +2 -2
  336. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  337. package/server/.next/server/chunks/src_1zo6so07lgcdj._.js +1 -1
  338. package/server/.next/server/chunks/src_db_rows_ts_15b286wn1kn1e._.js +1 -1
  339. package/server/.next/server/chunks/src_instrumentation-node_ts_1c--sr1k7_8k2._.js +3 -0
  340. package/server/.next/server/chunks/src_lib_0485hz-c7h7dr._.js +6 -6
  341. package/server/.next/server/chunks/src_lib_08u7n7-yunfvd._.js +2 -2
  342. package/server/.next/server/chunks/src_lib_0cbs2jlrw1qbh._.js +3 -0
  343. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  344. package/server/.next/server/chunks/src_lib_0qcyomi01xvf1._.js +6 -6
  345. package/server/.next/server/chunks/src_lib_0vl2-zp4wzw7n._.js +3 -0
  346. package/server/.next/server/chunks/src_lib_0x4n8swwa3zn7._.js +1 -1
  347. package/server/.next/server/chunks/src_lib_10vqn6q0h8kls._.js +2 -2
  348. package/server/.next/server/chunks/src_lib_13g9xjx8ci00z._.js +3 -0
  349. package/server/.next/server/chunks/src_lib_1ryt-36ohhnm6._.js +6 -6
  350. package/server/.next/server/chunks/src_lib_1tzoqx44yogsk._.js +2 -2
  351. package/server/.next/server/chunks/src_lib_1yd94hta5y1hx._.js +3 -0
  352. package/server/.next/server/chunks/src_lib_brand-env_ts_1wcm1bjuismq_._.js +3 -0
  353. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +6 -6
  354. package/server/.next/server/chunks/src_lib_data_0ask_rbmgwlf3._.js +1 -1
  355. package/server/.next/server/chunks/src_lib_data_0e155tkqeoojm._.js +1 -1
  356. package/server/.next/server/chunks/src_lib_data_backup-db_ts_19rtzbv84xz_h._.js +2 -2
  357. package/server/.next/server/chunks/src_lib_data_logs-db_ts_1ddw07do12mmk._.js +2 -2
  358. package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
  359. package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +9 -9
  360. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +13 -13
  361. package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +9 -9
  362. package/server/.next/server/chunks/src_lib_time_ts_1__07rt8x18k-._.js +3 -0
  363. package/server/.next/server/chunks/src_lib_time_ts_1a27wp71yhgti._.js +3 -0
  364. package/server/.next/server/chunks/src_lib_time_ts_1qlwgp7nprvbi._.js +3 -0
  365. package/server/.next/server/chunks/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  366. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  367. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_1q6nc5chwn5k4.js +1 -1
  368. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +1 -1
  369. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +1 -1
  370. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +1 -1
  371. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +1 -1
  372. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +1 -1
  373. package/server/.next/server/chunks/ssr/{[externals]__1u-jgivpw0_oh._.js → [externals]__0vbbz7arebnub._.js} +1 -1
  374. package/server/.next/server/chunks/ssr/[root-of-the-server]__02cq5r26w4itc._.js +1 -1
  375. package/server/.next/server/chunks/ssr/[root-of-the-server]__02qyxz9eh8_eh._.js +1 -1
  376. package/server/.next/server/chunks/ssr/[root-of-the-server]__04a21b9fkrqs3._.js +3 -0
  377. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ijk9z1ot_xi4._.js → [root-of-the-server]__07n1hb3mk44lt._.js} +2 -2
  378. package/server/.next/server/chunks/ssr/[root-of-the-server]__09-0oydof-7uw._.js +1 -1
  379. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ct71emqfru3b._.js +1 -1
  380. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1fdzriy6yyu5d._.js → [root-of-the-server]__0hbk3gqja86zp._.js} +1 -1
  381. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ksvf4x4zcbpb._.js +1 -1
  382. package/server/.next/server/chunks/ssr/[root-of-the-server]__0n7cj-oti5wct._.js +2 -2
  383. package/server/.next/server/chunks/ssr/[root-of-the-server]__0op0kqh43wd-a._.js +3 -0
  384. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1tkmutq84zkeh._.js → [root-of-the-server]__0ryl_hnreck66._.js} +2 -2
  385. package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +1 -1
  386. package/server/.next/server/chunks/ssr/[root-of-the-server]__0wf8q7-o-4n8y._.js +3 -0
  387. package/server/.next/server/chunks/ssr/[root-of-the-server]__10bkg3o65q6r4._.js +1 -1
  388. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ryb947ux5cq7._.js → [root-of-the-server]__11y6b96ofb-c5._.js} +2 -2
  389. package/server/.next/server/chunks/ssr/[root-of-the-server]__13oi70jo-u731._.js +2 -2
  390. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0aahjz4fnt4c_._.js → [root-of-the-server]__13rgl1h4g39l-._.js} +2 -2
  391. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1csz822qejxk-._.js → [root-of-the-server]__168ahi_n-kf90._.js} +2 -2
  392. package/server/.next/server/chunks/ssr/[root-of-the-server]__17kocbnwlcw6d._.js +1 -1
  393. package/server/.next/server/chunks/ssr/{[root-of-the-server]__11-ssp_43878t._.js → [root-of-the-server]__18b1wk6-2gq4x._.js} +2 -2
  394. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  395. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0lks-6wz-rmk5._.js → [root-of-the-server]__1drr27jyyhw7p._.js} +2 -2
  396. package/server/.next/server/chunks/ssr/[root-of-the-server]__1e-xqsuqsd4ub._.js +3 -0
  397. package/server/.next/server/chunks/ssr/[root-of-the-server]__1gw6334w8y2my._.js +1 -1
  398. package/server/.next/server/chunks/ssr/[root-of-the-server]__1i69oli51is1u._.js +1 -1
  399. package/server/.next/server/chunks/ssr/[root-of-the-server]__1lx2k37wgre3d._.js +1 -1
  400. package/server/.next/server/chunks/ssr/[root-of-the-server]__1n1pq5j5p4_qn._.js +3 -0
  401. package/server/.next/server/chunks/ssr/[root-of-the-server]__1qltiqn0htqnx._.js +1 -1
  402. package/server/.next/server/chunks/ssr/[root-of-the-server]__1w1472ukyh58r._.js +1 -1
  403. package/server/.next/server/chunks/ssr/[root-of-the-server]__1xa91qls2i3j4._.js +3 -0
  404. package/server/.next/server/chunks/ssr/[root-of-the-server]__204_t7bzma353._.js +3 -0
  405. package/server/.next/server/chunks/ssr/[root-of-the-server]__20ht054m5-_d6._.js +1 -1
  406. package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +2 -2
  407. package/server/.next/server/chunks/ssr/_026w_ig6vy9bt._.js +1 -1
  408. package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +2 -2
  409. package/server/.next/server/chunks/ssr/{_14bz_443syxhi._.js → _06sp8cllu_ljh._.js} +2 -2
  410. package/server/.next/server/chunks/ssr/{_18t7ov64ycb-w._.js → _08u2qnetu4ghm._.js} +2 -2
  411. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  412. package/server/.next/server/chunks/ssr/_0_tr9fol2yq33._.js +1 -1
  413. package/server/.next/server/chunks/ssr/_0_ul4mlc_pj5i._.js +2 -2
  414. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  415. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  416. package/server/.next/server/chunks/ssr/_0cukja7zcxh7e._.js +1 -1
  417. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  418. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  419. package/server/.next/server/chunks/ssr/_0fnl7z-saj7nc._.js +1 -1
  420. package/server/.next/server/chunks/ssr/_0hykblvnwc2ar._.js +1 -1
  421. package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +2 -2
  422. package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +2 -2
  423. package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +2 -2
  424. package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +2 -2
  425. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  426. package/server/.next/server/chunks/ssr/_0qnv1uc1_yv28._.js +2 -2
  427. package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +1 -1
  428. package/server/.next/server/chunks/ssr/_0tcmsw8hszixv._.js +1 -1
  429. package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +2 -2
  430. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  431. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  432. package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +2 -2
  433. package/server/.next/server/chunks/ssr/_11o43qq2eyx_r._.js +3 -0
  434. package/server/.next/server/chunks/ssr/{_06_f735j-1i20._.js → _12348a3ug1-wo._.js} +2 -2
  435. package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +2 -2
  436. package/server/.next/server/chunks/ssr/_1476vtrt9101m._.js +1 -1
  437. package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +2 -2
  438. package/server/.next/server/chunks/ssr/_16t9k9e5cjvas._.js +1 -1
  439. package/server/.next/server/chunks/ssr/_18lgd6o04ugow._.js +2 -2
  440. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  441. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  442. package/server/.next/server/chunks/ssr/{_08y82qdosn7ga._.js → _1_ojvke28lw3y._.js} +2 -2
  443. package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +2 -2
  444. package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +2 -2
  445. package/server/.next/server/chunks/ssr/_1c28jitsyufnt._.js +1 -1
  446. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  447. package/server/.next/server/chunks/ssr/_1dx207la592b7._.js +2 -2
  448. package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +2 -2
  449. package/server/.next/server/chunks/ssr/{_0o0-2ela2_qqd._.js → _1exwj9ou5yh71._.js} +2 -2
  450. package/server/.next/server/chunks/ssr/_1flla16o7o9ba._.js +1 -1
  451. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  452. package/server/.next/server/chunks/ssr/_1i77n2n-wb98v._.js +2 -2
  453. package/server/.next/server/chunks/ssr/_1ibagew7zj8y6._.js +3 -0
  454. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  455. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  456. package/server/.next/server/chunks/ssr/_1nir32qtr99-r._.js +1 -1
  457. package/server/.next/server/chunks/ssr/_1qt1czw3w8dww._.js +3 -0
  458. package/server/.next/server/chunks/ssr/_1sq12-1_02tzt._.js +2 -2
  459. package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +2 -2
  460. package/server/.next/server/chunks/ssr/_1ykxf4mi60jog._.js +2 -2
  461. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  462. package/server/.next/server/chunks/ssr/_20ln-4gu85-yt._.js +3 -0
  463. package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +2 -2
  464. package/server/.next/server/chunks/ssr/{_0i6y4bkm-0cm3._.js → _216rrmkts392q._.js} +2 -2
  465. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +1 -1
  466. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +1 -1
  467. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +1 -1
  468. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +1 -1
  469. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1uaicj0j8stji.js +1 -1
  470. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_03amng1-xhfd1.js +1 -1
  471. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +1 -1
  472. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +1 -1
  473. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_215m-kkv06r4z.js +1 -1
  474. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +1 -1
  475. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +1 -1
  476. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +1 -1
  477. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +1 -1
  478. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  479. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  480. package/server/.next/server/chunks/ssr/src_00ze92e3aolj8._.js +1 -1
  481. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  482. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  483. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  484. package/server/.next/server/chunks/ssr/src_0f_ip1ke7i9r7._.js +3 -0
  485. package/server/.next/server/chunks/ssr/src_0iefnjvaszvw_._.js +1 -1
  486. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  487. package/server/.next/server/chunks/ssr/src_0qu78tivj78-x._.js +3 -0
  488. package/server/.next/server/chunks/ssr/src_0t6-d5hmzrbp1._.js +1 -1
  489. package/server/.next/server/chunks/ssr/src_0xh3xicmff6ws._.js +1 -1
  490. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  491. package/server/.next/server/chunks/ssr/{src_1eermasnm2cgy._.js → src_11_hakxhnybdd._.js} +2 -2
  492. package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +1 -1
  493. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  494. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_06n-9cjmbb-vu._.js +1 -1
  495. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  496. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_connect_connect-view_tsx_04abz05n7hdsd._.js +15 -15
  497. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  498. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  499. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0hla-5y3iresx._.js +1 -1
  500. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  501. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_0jamu-nm6x-dh._.js +1 -1
  502. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  503. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_1kor9sy67qpiw._.js +1 -1
  504. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  505. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_1v003vrkwk19w._.js +1 -1
  506. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  507. package/server/.next/server/chunks/ssr/{src_app_(console)_1ppp9j5e2rtqf._.js → src_app_(console)_1olpa0osy74mq._.js} +2 -2
  508. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +1 -1
  509. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_1t61z2wktki-v._.js +1 -1
  510. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_088bs149wsgca._.js +1 -1
  511. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  512. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  513. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  514. package/server/.next/server/chunks/ssr/src_app_(console)_backups_page_tsx_0o082iagq_14b._.js +1 -1
  515. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  516. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1qigx20w8bk53._.js +1 -1
  517. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  518. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  519. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  520. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  521. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  522. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  523. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  524. package/server/.next/server/chunks/ssr/src_app_(console)_repos_repo-list_tsx_1n1gcm4qfrfdt._.js +1 -1
  525. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  526. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  527. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  528. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  529. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_148phfjye0539._.js +1 -1
  530. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  531. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  532. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  533. package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
  534. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  535. package/server/.next/server/chunks/ssr/{src_app_signin_124xn9wb2fasu._.js → src_app_signin_1y1xla7bcc5a1._.js} +2 -2
  536. package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.js +3 -0
  537. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  538. package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +3 -3
  539. package/server/.next/server/chunks/ssr/src_lib_05ai1oj91p9w2._.js +2 -2
  540. package/server/.next/server/chunks/ssr/{src_lib_1l8ej-zoyyegd._.js → src_lib_0vl2-zp4wzw7n._.js} +2 -2
  541. package/server/.next/server/chunks/ssr/src_lib_0x4n8swwa3zn7._.js +1 -1
  542. package/server/.next/server/chunks/ssr/src_lib_1nkahiclbn55q._.js +1 -1
  543. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +1 -1
  544. package/server/.next/server/chunks/ssr/src_lib_data_logs-db_ts_1ddw07do12mmk._.js +2 -2
  545. package/server/.next/server/chunks/ssr/{src_lib_demo_20hj85e_64pp1._.js → src_lib_demo_20zjotuzm1lm8._.js} +2 -2
  546. package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
  547. package/server/.next/server/chunks/ssr/src_lib_time_ts_1qlwgp7nprvbi._.js +3 -0
  548. package/server/.next/server/chunks/ssr/src_lib_time_ts_1ualgyi3irm1z._.js +3 -0
  549. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  550. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  551. package/server/.next/server/chunks/ssr/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  552. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  553. package/server/.next/server/chunks/ssr/src_private_ai_usage-analytics_ts_1bxba3xarzol0._.js +1 -1
  554. package/server/.next/server/chunks/ssr/src_private_ai_views-db_ts_1jbnr41mskha2._.js +1 -1
  555. package/server/.next/server/chunks/ssr/src_private_assist_advisor-notes_ts_0qkpm5c3la7fo._.js +4 -4
  556. package/server/.next/server/chunks/ssr/src_private_explorer_explorer_tsx_04m_tdottspjs._.js +1 -1
  557. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  558. package/server/.next/server/middleware-build-manifest.js +3 -3
  559. package/server/.next/server/pages/404.html +1 -1
  560. package/server/.next/server/pages/500.html +1 -1
  561. package/server/.next/server/preview-props.json +3 -3
  562. package/server/.next/server/server-reference-manifest.js +1 -1
  563. package/server/.next/server/server-reference-manifest.json +133 -133
  564. package/server/.next/static/chunks/0-7by9f00qb4d.js +1 -0
  565. package/server/.next/static/chunks/{2k9ytb8jmg14_.js → 010bc8dzhxd_0.js} +1 -1
  566. package/server/.next/static/chunks/01oee9tptcjdb.js +1 -0
  567. package/server/.next/static/chunks/02uvde7i-78p5.js +1 -0
  568. package/server/.next/static/chunks/{2rdmebof0d_c4.js → 03fjh6klyhqv4.js} +1 -1
  569. package/server/.next/static/chunks/{1o_q7_4ulcq9x.js → 06lmwdlx-fkr8.js} +1 -1
  570. package/server/.next/static/chunks/{1ieazx9t3vl5p.js → 08w0t5q93_9mu.js} +1 -1
  571. package/server/.next/static/chunks/{1mlvn70-zqjvi.js → 0anet8wttkax1.js} +1 -1
  572. package/server/.next/static/chunks/0ao7kjrp6bp3l.js +1 -0
  573. package/server/.next/static/chunks/0b0rwd99q942r.js +1 -0
  574. package/server/.next/static/chunks/{1ts_fd_r1kcrv.js → 0dhgqjjm0zj6_.js} +1 -1
  575. package/server/.next/static/chunks/{2jlv5ekbb0wu2.js → 0dnjs3de2e_d1.js} +1 -1
  576. package/server/.next/static/chunks/{29p15vj15jcsb.js → 0ilml-p3iktnr.js} +1 -1
  577. package/server/.next/static/chunks/{43_va15lk2zc1.js → 0j_5norjm-kef.js} +1 -1
  578. package/server/.next/static/chunks/0nx0h-723nd_u.js +7 -0
  579. package/server/.next/static/chunks/0unx038_2rfsp.js +1 -0
  580. package/server/.next/static/chunks/0y_0w1ek5fakj.js +1 -0
  581. package/server/.next/static/chunks/1483hxa9hair1.js +1 -0
  582. package/server/.next/static/chunks/{1gmof0n5nswkk.js → 18gwem_5y9wnt.js} +1 -1
  583. package/server/.next/static/chunks/1aoqsoecu-fy_.js +1 -0
  584. package/server/.next/static/chunks/1endj3d7bewa1.js +1 -0
  585. package/server/.next/static/chunks/1j18pg23fzwv_.js +1 -0
  586. package/server/.next/static/chunks/{0wlc502815llk.js → 1k01h6men2hvb.js} +1 -1
  587. package/server/.next/static/chunks/{158-i6phe17yl.js → 1mdaf7mwcfafr.js} +1 -1
  588. package/server/.next/static/chunks/{0li9-xjc40g51.js → 1o4mdgq5lu1g_.js} +1 -1
  589. package/server/.next/static/chunks/{3dokgd9nungcr.js → 1t2iu6ufyxecz.js} +1 -1
  590. package/server/.next/static/chunks/{0wtboeftyamyk.js → 1vi8tyc1ou2o3.js} +1 -1
  591. package/server/.next/static/chunks/1xy80z39ducub.js +1 -0
  592. package/server/.next/static/chunks/1yb4_s_96v9tf.js +1 -0
  593. package/server/.next/static/chunks/{2v14aqfx8wv9o.js → 2-8ra6gmaw_pb.js} +1 -1
  594. package/server/.next/static/chunks/{1-1hfgat2l_o9.js → 2cmw27buw9oce.js} +1 -1
  595. package/server/.next/static/chunks/{3f5sxz8awpdog.js → 2lv5qmgi8nm4h.js} +1 -1
  596. package/server/.next/static/chunks/2mj8z5a9dz7bh.js +1 -0
  597. package/server/.next/static/chunks/{1gb8jvw-g7fr7.js → 2n-h6_0i3mpxo.js} +1 -1
  598. package/server/.next/static/chunks/{2cjfogw85k3h-.js → 2pbnh717ldzfl.js} +1 -1
  599. package/server/.next/static/chunks/2qltilq3pn4ia.js +1 -0
  600. package/server/.next/static/chunks/{30fczssqw6xys.js → 2ufr23d_eyosj.js} +1 -1
  601. package/server/.next/static/chunks/2wqgz94tksucm.js +1 -0
  602. package/server/.next/static/chunks/{3tqh7fwtd_k_l.js → 2z6a725ntvlr6.js} +2 -2
  603. package/server/.next/static/chunks/{2fo6iuxb0ec7f.js → 2zdjxqgm-44u1.js} +1 -1
  604. package/server/.next/static/chunks/{026asl66kuq3f.js → 340ecjh1jzqjd.js} +15 -15
  605. package/server/.next/static/chunks/{2z1xy8l4s3usi.js → 3alfhqlczff2s.js} +1 -1
  606. package/server/.next/static/chunks/{36ureqoyz5e06.js → 3col9buetdxvh.js} +2 -2
  607. package/server/.next/static/chunks/{1zi37go-xtasg.js → 3o45i7xbzm0w-.js} +1 -1
  608. package/server/.next/static/chunks/{0cannaigw8lhi.js → 3o7se0ypyiqmz.js} +1 -1
  609. package/server/.next/static/chunks/{1c4fx4kipvnqz.js → 3oe302ug_esoe.js} +1 -1
  610. package/server/.next/static/chunks/3s7hj7g12rmuh.js +1 -0
  611. package/server/.next/static/chunks/{2fj4o7-stsvht.js → 3uujo4bht1tqo.js} +1 -1
  612. package/server/.next/static/chunks/3w445wy3mpp2f.js +1 -0
  613. package/server/.next/static/chunks/{2kmerzslng988.js → 3ypdfkwyovory.js} +1 -1
  614. package/server/.next/server/chunks/[root-of-the-server]__0grnl7ncqcjft._.js +0 -3
  615. package/server/.next/server/chunks/[root-of-the-server]__0m8w2-7618scn._.js +0 -3
  616. package/server/.next/server/chunks/[root-of-the-server]__0p_b0m2cstlrl._.js +0 -3
  617. package/server/.next/server/chunks/[root-of-the-server]__0zxjft8y2r575._.js +0 -3
  618. package/server/.next/server/chunks/[root-of-the-server]__114vjjaqb2wyv._.js +0 -3
  619. package/server/.next/server/chunks/[root-of-the-server]__12uyws-qe6wxs._.js +0 -3
  620. package/server/.next/server/chunks/[root-of-the-server]__139pgc0wpc7kg._.js +0 -3
  621. package/server/.next/server/chunks/[root-of-the-server]__1bwgi7nn5-hc3._.js +0 -3
  622. package/server/.next/server/chunks/[root-of-the-server]__1k8s02gwythps._.js +0 -3
  623. package/server/.next/server/chunks/[root-of-the-server]__1lf_lo1wqcbcg._.js +0 -3
  624. package/server/.next/server/chunks/[root-of-the-server]__1niiijc82bgoj._.js +0 -3
  625. package/server/.next/server/chunks/[root-of-the-server]__1on_3p53yn6fs._.js +0 -3
  626. package/server/.next/server/chunks/[root-of-the-server]__1q90luznbe9-l._.js +0 -3
  627. package/server/.next/server/chunks/[root-of-the-server]__1r15vmrh2r06l._.js +0 -3
  628. package/server/.next/server/chunks/[root-of-the-server]__1woerg3tb4ls3._.js +0 -3
  629. package/server/.next/server/chunks/[root-of-the-server]__1zaomh_4901_f._.js +0 -3
  630. package/server/.next/server/chunks/[root-of-the-server]__20lwsd6a4wnpe._.js +0 -3
  631. package/server/.next/server/chunks/_03bua_9n4apok._.js +0 -3
  632. package/server/.next/server/chunks/_08y82qdosn7ga._.js +0 -3
  633. package/server/.next/server/chunks/_1bcsmpznxhk9h._.js +0 -3
  634. package/server/.next/server/chunks/_1he3nioua8ee5._.js +0 -3
  635. package/server/.next/server/chunks/_1lpcbqj4uzrsh._.js +0 -3
  636. package/server/.next/server/chunks/src_0l-no1yc1_izn._.js +0 -3
  637. package/server/.next/server/chunks/src_156ewlek-4a4z._.js +0 -3
  638. package/server/.next/server/chunks/src_lib_0-ylqsh7whlj2._.js +0 -3
  639. package/server/.next/server/chunks/src_lib_0f0p6-l5vvduu._.js +0 -3
  640. package/server/.next/server/chunks/src_lib_15a3m-j_urkkp._.js +0 -3
  641. package/server/.next/server/chunks/ssr/[root-of-the-server]__06s-dfcfuperv._.js +0 -3
  642. package/server/.next/server/chunks/ssr/[root-of-the-server]__07or1m2vwon1m._.js +0 -3
  643. package/server/.next/server/chunks/ssr/[root-of-the-server]__0d9lwldljqtvx._.js +0 -3
  644. package/server/.next/server/chunks/ssr/[root-of-the-server]__0uklr553mp86_._.js +0 -3
  645. package/server/.next/server/chunks/ssr/[root-of-the-server]__1cykncw1_xcno._.js +0 -3
  646. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ih2a_fbqu7ko._.js +0 -3
  647. package/server/.next/server/chunks/ssr/[root-of-the-server]__1j7_a902k_8es._.js +0 -3
  648. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ofzjllv-b0o0._.js +0 -3
  649. package/server/.next/server/chunks/ssr/_040ixxsgfs0vi._.js +0 -3
  650. package/server/.next/server/chunks/ssr/_0ux6eo_w1x155._.js +0 -3
  651. package/server/.next/server/chunks/ssr/_12o9qqjoik4q4._.js +0 -3
  652. package/server/.next/server/chunks/ssr/_1k2q3yt1h6cfs._.js +0 -3
  653. package/server/.next/server/chunks/ssr/_1zhtvg8t3jtxe._.js +0 -3
  654. package/server/.next/server/chunks/ssr/_200p6me5_kp2j._.js +0 -3
  655. package/server/.next/server/chunks/ssr/src_00s82lfm2ga7-._.js +0 -3
  656. package/server/.next/server/chunks/ssr/src_13hsrg6rdvh-d._.js +0 -3
  657. package/server/.next/server/chunks/ssr/src_1xgsz_do2xpr2._.js +0 -3
  658. package/server/.next/server/chunks/ssr/src_components_shell_shell_tsx_1cpq-hbch_dvj._.js +0 -3
  659. package/server/.next/server/chunks/ssr/src_lib_0y40wht-o-oc2._.js +0 -3
  660. package/server/.next/static/chunks/03qto0oyf2r1n.js +0 -1
  661. package/server/.next/static/chunks/0c7pskzfstcdh.js +0 -1
  662. package/server/.next/static/chunks/0n_l4a3za5-q8.js +0 -1
  663. package/server/.next/static/chunks/0t96fqp1vsmrp.js +0 -1
  664. package/server/.next/static/chunks/1sm8wxvlpowwg.js +0 -1
  665. package/server/.next/static/chunks/1teh52nh5dujq.js +0 -1
  666. package/server/.next/static/chunks/1v4hl1z0y1npd.js +0 -1
  667. package/server/.next/static/chunks/1vh2psoqw3ddc.js +0 -1
  668. package/server/.next/static/chunks/1xau8pf40_upi.js +0 -7
  669. package/server/.next/static/chunks/1z2rcngn3-7i5.js +0 -1
  670. package/server/.next/static/chunks/210qrsqvmgaet.js +0 -1
  671. package/server/.next/static/chunks/2llric-1orr3y.js +0 -1
  672. package/server/.next/static/chunks/2wb9a1xth0yhf.js +0 -1
  673. package/server/.next/static/chunks/34gs6c2dsgtqy.js +0 -1
  674. package/server/.next/static/chunks/3ag6t3ta58rih.js +0 -1
  675. package/server/.next/static/chunks/3gkta99h3_5i2.js +0 -1
  676. /package/server/.next/static/{xCga6YpZus71dK3aq8Q4H → n3Kt7dFNHr9KDw7DgGz0m}/_buildManifest.js +0 -0
  677. /package/server/.next/static/{xCga6YpZus71dK3aq8Q4H → n3Kt7dFNHr9KDw7DgGz0m}/_clientMiddlewareManifest.js +0 -0
  678. /package/server/.next/static/{xCga6YpZus71dK3aq8Q4H → n3Kt7dFNHr9KDw7DgGz0m}/_ssgManifest.js +0 -0
@@ -1,28 +1,28 @@
1
- module.exports=[601533,a=>{"use strict";var b=a.i(632019),c=a.i(7584),d=a.i(488077),e=a.i(614755),f=a.i(837137),g=a.i(159203),h=a.i(745614),i=a.i(351674),j=a.i(263251),k=a.i(927262),l=a.i(233711),m=a.i(469762),n=a.i(988866),o=a.i(109505);let p=(a,b)=>`${a} ${b}${1===a?"":"s"}`;async function q(a,b,c,d,e){let g,h,q,r,s,t,u,{db:v,seed:w,now:x}=a,y=(0,o.k)(w,"alerts"),z=(...a)=>(0,o.T)(w,"alert",...a),A=a=>b.apps.find(b=>b.id===a)?.name??"app",B=(0,j.f)(await v.execute(i.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),C=B.find(a=>"error"===a.state&&"production"===a.target),D={appId:C.resource_id,appName:A(C.resource_id),sha:C.commit_sha.slice(0,7),createdAt:new Date(C.created_at_provider),currentExternalId:B.find(a=>a.resource_id===C.resource_id&&a.is_current)?.external_id??null},E=(a,b,c)=>{let d=c.resolvedAt??null;return{ruleKey:a,subject:b,severity:k._[a].severity,resourceId:null,accountId:null,okStreak:2*!!d,lastSeenAt:d??(0,n.$)(x,1e3*y.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==k._[a].severity,lastNotifiedAt:d??new Date(c.startedAt.getTime()+n.E),pending:null,pendingSince:null,...c}},F=e.certSoon,G=(0,l.g)(F.notAfter,x)??0,H=e.zoneSoon,I=(0,l.g)(H.expiresAt,x)??0,J=[E("DeploymentFailed",D.appId,{id:z("firing","deploy"),resourceId:D.appId,title:D.appName,message:`Production deployment ${D.sha} failed.`,startedAt:new Date(D.createdAt.getTime()+1e3*y.int(60,150))}),E("CertExpiringSoon",F.id,{id:z("firing","cert"),resourceId:F.id,title:F.name,message:`The TLS certificate of ${F.name} expires in ${p(G,"day")}.`,startedAt:new Date(F.notAfter.getTime()-14*n.h+y.int(5,55)*n.E)}),E("DomainExpiringSoon",H.id,{id:z("firing","zone"),resourceId:H.id,title:H.name,message:`${H.name} expires in ${p(I,"day")}.`,startedAt:new Date(H.expiresAt.getTime()-30*n.h+y.int(5,55)*n.E)})],K=c.outage,L=c.monitors.find(a=>a.id===K.monitorId),M=b.apps.find(a=>a.id!==D.appId)??b.apps[0],N=a=>d.dbs.find(b=>b.kind===a),O=(a,b)=>(0,n.$)(x,a*n.h+b*n.w+y.int(0,50)*n.E),P=(a,b)=>new Date(a.getTime()+b*n.E),Q=(a,b)=>{let d=c.monitors.find(a=>a.id===b.monitorId);return E("HighLatency",d.id,{id:z("resolved",a),resourceId:d.appId,title:`${A(d.appId)} ${d.path}`,message:`p95 ${b.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:b.firedAt,resolvedAt:b.resolvedAt})},R={start:O(4,y.int(1,9)),sha:(0,o.p)(7,w,"old-failed",M.name)},S=N("upstash_redis"),T=N("firestore"),U=N("supabase_project"),V=d.cloudflare.label,W={outage:E("MonitorDown",L.id,{id:z("resolved","outage"),resourceId:L.appId,title:`${A(L.appId)} ${L.path}`,message:`${(0,m.F)(L.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(K.startedAt.getTime()+10*n.E),resolvedAt:K.recoveredAt}),latencyA:Q("latency-a",c.slow[0]),latencyB:Q("latency-b",c.slow[1]),oldDeploy:E("DeploymentFailed",M.id,{id:z("resolved","old-deploy"),resourceId:M.id,title:M.name,message:`Production deployment ${R.sha} failed.`,startedAt:R.start,resolvedAt:P(R.start,y.int(35,70))}),collector:(g=O(6,y.int(1,10)),E("CollectorStale","collector",{id:z("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:g,resolvedAt:P(g,y.int(4,9))})),autoPause:(h=O(6,y.int(12,20)),E("AutoPauseRisk",U.id,{id:z("resolved","auto-pause"),resourceId:U.id,title:U.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:h,resolvedAt:P(h,60*y.int(20,30))})),quota:(q=O(6,y.int(1,8)),E("DbQuotaHigh",S.id,{id:z("resolved","db-quota"),resourceId:S.id,title:S.name,message:`${S.name}: Commands at ${y.int(81,88)}% of the free plan.`,startedAt:q,resolvedAt:P(q,60*y.int(3,6))})),firestore:(r=O(3,y.int(1,6)),E("FirestoreQuotaHigh",T.id,{id:z("resolved","firestore"),resourceId:T.id,title:T.name,message:`${T.name} read ${y.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${y.int(81,92)}%).`,startedAt:r,resolvedAt:P(r,60*y.int(2,5))})),proxied:(s=O(5,y.int(12,20)),E("DnsProxiedToVercel",(t=e.vercelRecord).id,{id:z("resolved","proxied"),resourceId:t.zoneId,title:t.name,message:`${t.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:s,resolvedAt:P(s,24*y.int(2,4)*60)})),credential:(u=O(6,y.int(14,22)),E("CredentialExpiring",d.cloudflare.accountId,{id:z("resolved","credential"),accountId:d.cloudflare.accountId,title:`cloudflare \xb7 ${V}`,message:`The cloudflare credential ${V} expires in 9 days.`,startedAt:u,resolvedAt:P(u,24*y.int(1,2)*60+y.int(10,300))}))};return await v.insert(f.alerts).values([...J,...Object.values(W)]),{firing:{deploy:J[0].id,cert:J[1].id,zone:J[2].id},resolved:{outage:W.outage.id,oldDeploy:{id:W.oldDeploy.id,appId:M.id,appName:M.name,previousExternalId:B.find(a=>a.resource_id===M.id&&a.is_previous_production)?.external_id??null,startedAt:W.oldDeploy.startedAt,resolvedAt:W.oldDeploy.resolvedAt},credential:{title:W.credential.title,resolvedAt:W.credential.resolvedAt}},failedDeploy:D}}var r=a.i(646324),s=a.i(306556);let t=a=>`${a}.example`,u=["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"],v=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],w=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],x=["sin1","iad1","fra1","hnd1","sfo1"],y=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],z=["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"],A={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"],C=[{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(a){let{db:b,seed:c,now:d}=a,e=(0,o.k)(c,"apps"),g=e.pick(v),h={id:`team_${(0,o.g)(24,c,"team")}`,name:g.name,slug:g.slug},i=(0,o.T)(c,"account","vercel"),j=(0,n.$)(d,e.int(120,300)*n.h),k=(0,n.$)(d,e.int(3,50)*n.E);await b.insert(f.accounts).values({id:i,provider:"vercel",label:h.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:k,lastSyncAt:k,createdAt:j,updatedAt:k});let l=e.shuffle(u).slice(0,e.int(5,8)).sort().map((a,b)=>({id:(0,o.T)(c,"app",a),index:b,name:a,externalId:`prj_${(0,o.g)(28,c,"project",a)}`,host:t(a),createdAt:(0,n.$)(d,e.int(95,400)*n.h-e.int(0,23)*n.w)}));return await b.insert(f.resources).values(l.map(a=>({id:a.id,accountId:i,kind:"app",externalId:a.externalId,name:a.name,monitored:!0,firstSeenAt:a.createdAt,lastSeenAt:k,createdAt:a.createdAt,updatedAt:k,meta:{teamId:h.id,teamSlug:h.slug,teamName:h.name,framework:e.pick(w),productionBranch:"main",createdAt:a.createdAt.toISOString(),repo:`example-org/${a.name}`,repoType:"github",functionRegions:[e.pick(x)]}}))),await b.insert(f.deployments).values(function(a,b){let{seed:c,now:d}=a,e=(0,o.k)(c,"deployments"),f=e.pick(b).id,g=e.pick(b).id,h=[];for(let a of b){let b=(b,f,g,i,j)=>{let k=(0,n.$)(d,g),l=new Date(k.getTime()+1e3*e.int(3,12)),m="ready"===i?new Date(l.getTime()+1e3*e.int(25,160)):null,p="production"===f?"main":e.pick(y);h.push({id:(0,o.T)(c,"deployment",a.name,b),resourceId:a.id,externalId:`dpl_${(0,o.g)(24,c,"deployment",a.name,b)}`,state:i,target:f,branch:p,commitSha:(0,o.p)(40,c,"commit",a.name,b),commitMessage:j??e.pick(z),source:"git",url:t(`${a.name}-git-${p.replace(/[^a-z0-9]+/g,"-")}-${(0,o.g)(9,c,"deployment-url",a.name,b).toLowerCase()}`),buildingAt:l,readyAt:m,createdAtProvider:k,isCurrent:!1,isPreviousProduction:!1,createdAt:k,updatedAt:m??l})},i=a.id===f,j=e.int(2,5);for(let a=0;a<j;a++){let c=0===a?Math.max(i?5*n.w:0,e.int(1,96)*n.w-e.int(0,40)*n.E):e.int(4+4*a,6+6*a)*n.h+e.int(0,23)*n.w;b(a,"production",c,"ready")}let k=e.int(0,3);for(let a=0;a<k;a++)b(10+a,"preview",e.int(2,240)*n.w+e.int(0,59)*n.E,"ready");i&&b(20,"production",e.int(30,240)*n.E,"error","Refactor the checkout form"),a.id===g&&b(21,"preview",e.int(1,6)*n.E,"building")}for(let a of b){let b=h.filter(b=>b.resourceId===a.id&&"production"===b.target&&"ready"===b.state).map(a=>({id:a.externalId,createdAt:a.createdAtProvider})),{currentId:c,previousId:d}=(0,r.a)(b,null);for(let b of h)b.resourceId===a.id&&(b.isCurrent=b.externalId===c,b.isPreviousProduction=b.externalId===d)}return h}(a,l)),{accountId:i,team:h,apps:l}}async function E(a,b,c){let{db:d,seed:e,now:g}=a,h=(0,o.k)(e,"snapshots"),i=(0,n.$)(g,1e3*h.int(5,40));await d.insert(f.snapshots).values(b.apps.map(a=>{var b,d;let e,f,j,k,l,m=c.filter(b=>b.appId===a.id),o=(0,s.V)({monitors:m.map(a=>a.state),building:!1,dbPaused:!1}),p=m.find(a=>"err"===a.state)??m.find(a=>"warn"===a.state),q=p?.stateSince??new Date(Math.max(...m.map(a=>a.stateSince.getTime())));return{resourceId:a.id,state:o,stateSince:q,collectedAt:i,data:{code:p?.lastStatus??null,latencyMs:m[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(b=h,d=g,f=Math.floor((e=(0,n.$)(d,b.int(2,25)*n.E)).getTime()/n.w)*n.w,j=b.int(20,400),{enabled:!0,total24h:l=(k=Array.from({length:24},(a,c)=>{let d=f-(23-c)*n.w,e=.15+.85*Math.max(0,Math.sin(((new Date(d).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(d).toISOString(),Math.round(j*e*(.7+.6*b.next()))]})).reduce((a,[,b])=>a+b,0),visitors24h:Math.round(l*(.3+.2*b.next())),hourly:k,readAt:e.toISOString()})}}}))}var F=a.i(169286),G=a.i(273133),H=a.i(688275),I=a.i(697365);let J="demo",K={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function L(a,b){let{db:c,seed:d,now:e}=a,g=(0,o.k)(d,"databases"),h=b.team,i=a=>(0,o.T)(d,"account",a),j=(0,n.$)(e,g.int(4,40)*n.E);await c.insert(f.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(a=>{let b=(0,n.$)(e,g.int(60,280)*n.h);return{id:i(a),provider:a,label:"firebase"===a?`${h.slug}-firebase`:h.name,credentialCiphertext:J,credentialIv:J,credentialKind:K[a],status:"ok",lastTestAt:j,lastSyncAt:j,createdAt:b,updatedAt:j}}));let k=(0,o.p)(32,d,"cloudflare-account"),l=[{kind:"supabase_project",provider:"supabase",externalId:(0,o.g)(20,d,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${g.pick(["silent","quiet","misty","bold","calm"])}-${g.pick(["river","meadow","forest","harbor","dune"])}-${(0,o.p)(8,d,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${h.slug.split("-")[0]}-notes-${(0,o.p)(5,d,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:(0,o.T)(d,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:(0,o.T)(d,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:(0,o.T)(d,"d1-db")}].map(({kind:a,provider:b,externalId:c})=>{let f=g.pick(A[a]),j=(0,n.$)(e,g.int(40,300)*n.h),l="supabase_project"===a?{orgSlug:h.slug,region:"ap-southeast-1",pgVersion:"17.4.1.054",createdAt:j.toISOString(),status:"ACTIVE_HEALTHY"}:"neon_project"===a?{orgId:`org-${(0,o.p)(8,d,"neon-org")}`,region:"aws-ap-southeast-1",pgVersion:17,createdAt:j.toISOString()}:"firestore"===a?{projectId:c}:"turso_database"===a?{org:h.slug,group:"default",region:"sin"}:"upstash_redis"===a?{region:"ap-southeast-1",type:"free"}:{accountId:k,createdAt:j.toISOString()};return{id:(0,o.T)(d,"db",a),kind:a,name:f,externalId:c,accountId:i(b),meta:l,createdAt:j}});await c.insert(f.resources).values(l.map(a=>({id:a.id,accountId:a.accountId,kind:a.kind,externalId:a.externalId,name:a.name,monitored:!0,meta:a.meta,firstSeenAt:a.createdAt,lastSeenAt:j,createdAt:a.createdAt,updatedAt:j})));let m=a=>l.find(b=>b.kind===a),p=a=>(0,n.$)(e,a*n.E+1e3*g.int(0,50)),q=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),1)),r=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,1)),s=(e.getTime()-q.getTime())/(r.getTime()-q.getTime()),t=[{id:`ep-${(0,o.g)(12,d,"neon-ep").toLowerCase()}`,branchId:`br-${(0,o.g)(12,d,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:(0,n.$)(e,g.int(20,300)*n.E).toISOString()}],u=Math.round((8+50*s+g.int(0,10))*3600),v=(0,H.p)({endpoints:t,computeSeconds:u}),w=[{id:m("supabase_project").id,state:"ok",since:(0,n.$)(e,g.int(20,90)*n.h),at:p(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:h.slug,freeOrg:!0,lastTrafficAt:(0,n.$)(e,g.int(3,50)*n.E).toISOString(),trafficAt:(0,n.$)(e,g.int(1,4)*n.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,n.$)(e,g.int(1,4)*n.E).toISOString(),sizeBytes:1048576*g.int(38,140)+g.int(0,1048576),sizeAt:(0,n.$)(e,g.int(4,20)*n.w).toISOString(),lastGoodState:"ok"}},{id:m("neon_project").id,state:"ok"===v.state?"ok":"idle",since:(0,n.$)(e,g.int(20,300)*n.E),at:p(g.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:m("neon_project").meta.orgId,computeSeconds:u,transferBytes:Math.round((.2+1.6*s)*0x40000000),periodStart:q.toISOString(),periodEnd:r.toISOString(),activeSeconds:Math.round(u/1.4),endpoints:t,branches:[{id:t[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*g.int(120,380)},{id:`br-${(0,o.g)(12,d,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*g.int(60,160)}],lastGoodState:"ok"===v.state?"ok":"idle"}},{id:m("firestore").id,state:"ok",since:(0,n.$)(e,g.int(10,60)*n.h),at:p(1),data:{displayName:m("firestore").name,latencyMs:g.int(70,190),reads:g.int(4e3,22e3),writes:g.int(800,6e3),deletes:g.int(20,400),opsAt:(0,n.$)(e,g.int(10,50)*n.E).toISOString(),authUsers:g.int(80,2400),authAt:(0,n.$)(e,g.int(2,20)*n.w).toISOString(),lastGoodState:"ok"}},{id:m("turso_database").id,state:"ok",since:(0,n.$)(e,g.int(10,60)*n.h),at:p(g.int(5,50)),data:{org:h.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*s)*1e6),rowsWritten:Math.round((.2+2.2*s)*1e6),storageBytes:1048576*g.int(40,600),orgRowsRead:Math.round((25+160*s)*1e6),orgRowsWritten:Math.round((.3+2.6*s)*1e6),orgStorageBytes:1048576*g.int(700,1400),orgDatabases:3,usageAt:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),lastGoodState:"ok"}},{id:m("upstash_redis").id,state:"ok",since:(0,n.$)(e,g.int(10,60)*n.h),at:p(g.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:g.int(2e3,9e3),monthlyRequests:Math.round((20+180*s)*1e3)+g.int(0,999),storageBytes:1048576*g.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*s)*0x40000000),statsAt:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),lastGoodState:"ok"}},{id:m("d1_database").id,state:"ok",since:(0,n.$)(e,g.int(10,60)*n.h),at:p(g.int(5,50)),data:{accountId:k,createdAt:m("d1_database").createdAt.toISOString(),sizeBytes:1048576*g.int(4,120),numTables:g.int(4,12),readReplication:"disabled",detailsAt:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),rowsRead:g.int(4e4,9e5),rowsWritten:g.int(1e3,3e4),readQueries:g.int(4e3,6e4),writeQueries:g.int(300,6e3),accountRowsRead:g.int(9e5,18e5),accountRowsWritten:g.int(3e4,55e3),accountSizeBytes:1048576*g.int(200,900),accountDatabases:2,usageDay:e.toISOString().slice(0,10),usageAt:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),lastGoodState:"ok"}}];await c.insert(f.snapshots).values(w.map(a=>({resourceId:a.id,state:a.state,stateSince:a.since,collectedAt:a.at,data:a.data}))),await c.insert(f.settings).values({key:I.F,value:{[i("cloudflare")]:{d1:"ok",analytics:"ok",at:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),note:null}},createdAt:(0,n.$)(e,30*n.h),updatedAt:e});let x=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],y=b.apps.slice(0,Math.max(4,b.apps.length-1));return await c.insert(f.links).values(y.map((a,b)=>({id:(0,o.T)(d,"link",a.name),fromResourceId:a.id,toResourceId:m(x[b]).id,kind:"uses_db",source:"manual",createdAt:(0,n.$)(e,g.int(20,90)*n.h),updatedAt:(0,n.$)(e,g.int(1,19)*n.h)}))),await M(a,m("supabase_project").id),await c.insert(f.keepActive).values({resourceId:m("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:(0,n.$)(e,g.int(2,20)*n.w),updatedAt:(0,n.$)(e,12*n.h)}),{dbs:l.map(({id:a,kind:b,name:c,externalId:d,accountId:e})=>({id:a,kind:b,name:c,externalId:d,accountId:e})),cloudflare:{accountId:i("cloudflare"),cfAccountId:k,label:h.name}}}async function M(a,b){let{db:c,seed:d,now:e}=a,f=(0,o.k)(d,"compute"),g=(0,n.$)(e,f.int(1,4)*n.E),h=Array.from({length:24},(a,c)=>{let d=new Date((0,G.b)(e).getTime()-c*n.w),g=Math.round((6+18*f.next())*10)/10,h=Math.round((34+14*f.next())*10)/10;return{resourceId:b,hour:d,samples:0===c?Math.max(1,Math.floor((e.getTime()-d.getTime())/(5*n.E))):12,cpuSamples:0===c?1:11,cpuAvg:g,cpuMax:Math.round(10*Math.min(70,g*(1.4+f.next())))/10,memAvg:h,memMax:Math.round(10*Math.min(85,h+6*f.next()))/10,diskPct:9.8,connUsed:f.int(8,22),connMax:60}}),i={cpuPct:h[0].cpuAvg,memPct:h[0].memAvg,diskPct:9.8,connUsed:h[0].connUsed,connMax:60,at:g.toISOString(),prev:null,recent:Array.from({length:6},(a,b)=>({at:(0,n.$)(g,(5-b)*5*n.E).toISOString(),cpu:Math.round((6+18*f.next())*10)/10}))};await c.insert(F.A).values({resourceId:b,keyCiphertext:J,keyIv:J,latest:i,lastTryAt:g,lastOkAt:g,createdAt:(0,n.$)(e,21*n.h),updatedAt:g}),await c.insert(F.l).values(h.filter(a=>a.hour.getTime()<=e.getTime()))}var N=a.i(615089);let O=7*n.h;async function P(a,b,c,d,e,g){let{db:h,seed:k,now:l}=a,p=(0,o.k)(k,"events"),q=[],r=(a,b)=>q.push({id:(0,o.T)(k,"event",a),count:1,...b});for(let a of(0,j.f)(await h.execute(i.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()-O).toISOString()}::timestamptz`))){let b=`${a.branch??"unknown branch"} \xb7 ${a.commit_sha?a.commit_sha.slice(0,7):"no commit"}`,c=new Date(a.created_at_provider),d=a.building_at?new Date(a.building_at):c;r(`${a.external_id}:start`,{at:d,resourceId:a.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:b,reason:"DeployStarted"}),"ready"===a.state&&a.ready_at&&r(`${a.external_id}:ready`,{at:new Date(a.ready_at),resourceId:a.resource_id,type:"deployment",kind:"ok",message:"Deployment ready",detail:b,reason:"DeployReady"}),"error"===a.state&&r(`${a.external_id}:failed`,{at:new Date(d.getTime()+1e3*p.int(40,110)),resourceId:a.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:b,reason:"DeployFailed"})}let s=c.outage,t=c.monitors.find(a=>a.id===s.monitorId),u=(a,b,c,d,e,f,g)=>r(a,{at:b,resourceId:c,type:"monitor",kind:d,message:e,detail:f,reason:g});u("outage:warn",s.startedAt,s.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),u("outage:err",new Date(s.startedAt.getTime()+10*n.E),s.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),u("outage:ok",s.recoveredAt,s.appId,"ok","Monitor recovered",`${t.path} answers again`,"MonitorRecovered"),c.degraded&&u("degraded:warn",c.degraded.since,c.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let v=e.certSoon,w=e.zoneSoon,x=new Date(v.notAfter.getTime()-14*n.h+p.int(5,50)*n.E),y=new Date(w.expiresAt.getTime()-30*n.h+p.int(5,50)*n.E);r("net:cert",{at:x,resourceId:v.id,type:"system",kind:"warn",message:`${v.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),r("net:zone",{at:y,resourceId:w.id,type:"system",kind:"warn",message:`${w.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let z=new Date(l);z.setUTCHours(20,0,0,0),z.getTime()>l.getTime()-5*n.E&&z.setTime(z.getTime()-n.h);for(let a=0;a<7;a++){let b=new Date(z.getTime()-a*n.h+1e3*p.int(20,90));r(`daily:${a}`,{at:b,resourceId:null,type:"system",kind:"ok",message:"Daily jobs finished",detail:"Rollups, retention, certificates and domain expiry",reason:"DailyFinished"})}let A=(0,N.demoUserId)(k),B=(a,b,c,d,e=null)=>r(`action:${a}`,{at:(0,n.$)(l,b*n.h+p.int(1,10)*n.w+p.int(0,59)*n.E),resourceId:d,type:"action",kind:"ok",message:c,detail:e,actorUserId:A,reason:"Action"}),C=c.monitors.find(a=>"/api/health"===a.path)??c.monitors[0],D=b.apps[0],E=d.dbs.find(a=>"supabase_project"===a.kind);B("monitor-added",6,`Monitor added: ${(0,m.F)(C.url)}`,C.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 WIB, 30 min"),B("check-now",1,`Check now: ${(0,m.F)(t.url)}`,t.appId);let F=g.resolved.credential;r("action:credential",{at:new Date(F.resolvedAt.getTime()-p.int(2,9)*n.E),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${F.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:A,reason:"Action"}),r("action:auto-recheck",{at:new Date(s.startedAt.getTime()+11*n.E+3e3),resourceId:t.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${(0,m.F)(t.url)}`,detail:null,actorUserId:null,reason:"Action"}),await h.insert(f.events).values(q.sort((a,b)=>a.at.getTime()-b.at.getTime()))}let Q="76.76.21.21";async function R(a,b,c){let{db:d,seed:e,now:g}=a,h=(0,o.k)(e,"network"),i=a=>(0,n.$)(g,h.int(10,60*a)*n.E).toISOString(),j=c.cloudflare,k=h.shuffle(B).slice(0,2).map((a,b)=>({id:(0,o.T)(e,"zone",a),name:t(a),expiresAt:new Date(1===b?g.getTime()+h.int(12,24)*n.h+h.int(1,20)*n.w:g.getTime()+h.int(200,600)*n.h)})),m=a=>a.split("-").slice(1).join("-")||a,p=b.apps,q=[{name:k[0].name,app:p[0]},...[0,1,2].map(a=>({name:`${m(p[a].name)}.${k[0].name}`,app:p[a]})),...[3,4].map(a=>({name:`${m(p[a%p.length].name)}.${k[1].name}`,app:p[a%p.length]}))],r=h.int(1,3),s=q.map((a,b)=>({id:(0,o.T)(e,"domain",a.name),name:a.name,appId:a.app.id,notAfter:new Date(b===r?g.getTime()+h.int(4,9)*n.h+h.int(1,20)*n.w:g.getTime()+h.int(30,85)*n.h)})),u=(a,b,c,d,f,g=null)=>({id:(0,o.p)(32,e,"dns",a,b,c),type:b,name:c,content:d,proxied:f,ttl:f?1:300,comment:g}),v=k.map(a=>{let b=[...s.filter(b=>b.name===a.name||b.name.endsWith(`.${a.name}`)).map(b=>u(a.name,"A",b.name,Q,!1,"Vercel")),u(a.name,"MX",a.name,t("mx1.mail"),!1),u(a.name,"TXT",a.name,`v=spf1 include:_spf.${t("mail")} ~all`,!1),u(a.name,"A",`legacy.${a.name}`,`192.0.2.${h.int(10,200)}`,!0,"Old server, kept for redirects")],c={expiresAt:a.expiresAt.toISOString(),registrar:"Example Registrar, Inc.",error:null,checkedAt:i(20)},d={status:"active",paused:!1,nameServers:[t("ada.ns"),t("bob.ns")],accountId:j.cfAccountId,checkedAt:i(1)},e=(0,l.G)({status:d.status,paused:d.paused,rdap:c},g),f={zone:d,ssl:{mode:"strict",error:null},records:b,recordsTruncated:!1,cfErrors:[],certs:[{type:"universal",status:"active",hosts:[a.name,`*.${a.name}`],expiresOn:new Date(g.getTime()+h.int(40,80)*n.h).toISOString()}],rdap:c,reasons:e.reasons};return{z:a,records:b,rdap:c,state:e.state,data:f}}),w=(0,n.$)(g,h.int(150,380)*n.h),x=(0,n.$)(g,h.int(5,50)*n.E);await d.insert(f.resources).values(k.map(a=>({id:a.id,accountId:j.accountId,kind:"zone",externalId:(0,o.p)(32,e,"zone-id",a.name),name:a.name,monitored:!0,meta:{status:"active",accountId:j.cfAccountId,accountName:j.label},firstSeenAt:w,lastSeenAt:x,createdAt:w,updatedAt:x}))),await d.insert(f.resources).values(s.map(a=>{let c=p.find(b=>b.id===a.appId);return{id:a.id,accountId:b.accountId,kind:"domain",externalId:a.name,name:a.name,parentId:a.appId,monitored:!0,meta:{redirect:null,verified:!0,projectId:c.externalId},firstSeenAt:w,lastSeenAt:x,createdAt:w,updatedAt:x}}));let y=["Let's Encrypt","Google Trust Services"];await d.insert(f.snapshots).values([...v.map(a=>({resourceId:a.z.id,state:a.state,stateSince:"ok"===a.state?w:new Date(a.z.expiresAt.getTime()-30*n.h),data:a.data,collectedAt:x})),...s.map(a=>{let b=v.find(b=>a.name===b.z.name||a.name.endsWith(`.${b.z.name}`)),c={notAfter:a.notAfter.toISOString(),issuer:h.pick(y),authorized:!0,error:null,checkedAt:i(19)},d={misconfigured:!1,configuredBy:"A",recommendedIps:[Q],checkedAt:i(6)},e=(0,l.k)({host:a.name,tls:c,vercel:d,records:(0,l.Q)(a.name,b.records),zoneRdap:b.rdap},g),f="ok"===e.state?w:new Date(Math.min(a.notAfter.getTime()-14*n.h,b.z.expiresAt.getTime()-30*n.h));return{resourceId:a.id,state:e.state,stateSince:f,data:{tls:c,vercel:d,reasons:e.reasons},collectedAt:x}})]);let z=v[0].records.find(a=>"A"===a.type&&a.name===k[0].name&&a.content===Q);return{zones:k,domains:s,certSoon:s[r],zoneSoon:k[1],vercelRecord:{id:z.id,name:z.name,zoneId:k[0].id}}}let S=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function T(a,b){let{db:c,seed:d,now:e}=a,g=(0,o.k)(d,"logs"),h=(0,j.f)(await c.execute(i.B`select resource_id, external_id from ops.deployments where is_current`)),k=g.shuffle(b.apps).slice(0,3).flatMap((a,b)=>Array.from({length:g.int(4,8)},(c,f)=>{let i=g.pick(C);return{id:(0,o.T)(d,"log",a.name,f),resourceId:a.id,deploymentId:h.find(b=>b.resource_id===a.id)?.external_id??`dpl_${(0,o.g)(24,d,"log-dpl",b)}`,rowId:`${(0,o.g)(10,d,"log-row",a.name,f).toLowerCase()}-${f}`,at:(0,n.$)(e,g.int(3,2760)*n.E+1e3*g.int(0,59)),level:i.level,message:i.message,requestMethod:i.method,requestPath:i.path,statusCode:i.status,source:"serverless"}}));await c.insert(f.storedLogs).values(k)}async function U(a){let{db:b,seed:c,now:d}=a,e=(0,o.k)(c,"provider-status"),g=(0,n.$)(d,e.int(1,4)*n.E);await b.insert(f.providerStatus).values(S.map(a=>"cloudflare"===a?{provider:a,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:g,lastOkAt:g,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:(0,n.$)(d,e.int(1,3)*n.w).toISOString(),url:null}]}:{provider:a,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:g,lastOkAt:g,error:null}))}async function V(a){let{db:b,seed:c,now:d}=a,e=(0,o.k)(c,"ai-usage"),f=(0,o.T)(c,"ai-agent","console"),g=e.int(70,140),h=[],j=[],k=[],l=[],m=[],p=[];for(let a=0;a<g;a++){h.push(d.getTime()-e.int(2,10080)*n.E);let a=e.chance(.04);m.push(a?429:200),j.push(a?0:e.int(600,4200)),k.push(a?0:e.int(80,700)),l.push(a?e.int(80,300):e.int(700,4800)),p.push(e.int(1,2))}let q=a=>a.reduce((a,b)=>a+b,0),r=new Date(Math.max(...h));await b.execute(i.B`
1
+ module.exports=[601533,a=>{"use strict";var b=a.i(632019),c=a.i(7584),d=a.i(488077),e=a.i(614755),f=a.i(837137),g=a.i(159203),h=a.i(745614),i=a.i(351674),j=a.i(263251),k=a.i(927262),l=a.i(233711),m=a.i(469762),n=a.i(988866),o=a.i(109505);let p=(a,b)=>`${a} ${b}${1===a?"":"s"}`;async function q(a,b,c,d,e){let g,h,q,r,s,t,u,{db:v,seed:w,now:x}=a,y=(0,o.k)(w,"alerts"),z=(...a)=>(0,o.T)(w,"alert",...a),A=a=>b.apps.find(b=>b.id===a)?.name??"app",B=(0,j.f)(await v.execute(i.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),C=B.find(a=>"error"===a.state&&"production"===a.target),D={appId:C.resource_id,appName:A(C.resource_id),sha:C.commit_sha.slice(0,7),createdAt:new Date(C.created_at_provider),currentExternalId:B.find(a=>a.resource_id===C.resource_id&&a.is_current)?.external_id??null},E=(a,b,c)=>{let d=c.resolvedAt??null;return{ruleKey:a,subject:b,severity:k._[a].severity,resourceId:null,accountId:null,okStreak:2*!!d,lastSeenAt:d??(0,n.$)(x,1e3*y.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==k._[a].severity,lastNotifiedAt:d??new Date(c.startedAt.getTime()+n.E),pending:null,pendingSince:null,...c}},F=e.certSoon,G=(0,l.g)(F.notAfter,x)??0,H=e.zoneSoon,I=(0,l.g)(H.expiresAt,x)??0,J=[E("DeploymentFailed",D.appId,{id:z("firing","deploy"),resourceId:D.appId,title:D.appName,message:`Production deployment ${D.sha} failed.`,startedAt:new Date(D.createdAt.getTime()+1e3*y.int(60,150))}),E("CertExpiringSoon",F.id,{id:z("firing","cert"),resourceId:F.id,title:F.name,message:`The TLS certificate of ${F.name} expires in ${p(G,"day")}.`,startedAt:new Date(F.notAfter.getTime()-14*n.h+y.int(5,55)*n.E)}),E("DomainExpiringSoon",H.id,{id:z("firing","zone"),resourceId:H.id,title:H.name,message:`${H.name} expires in ${p(I,"day")}.`,startedAt:new Date(H.expiresAt.getTime()-30*n.h+y.int(5,55)*n.E)})],K=c.outage,L=c.monitors.find(a=>a.id===K.monitorId),M=b.apps.find(a=>a.id!==D.appId)??b.apps[0],N=a=>d.dbs.find(b=>b.kind===a),O=(a,b)=>(0,n.$)(x,a*n.h+b*n.w+y.int(0,50)*n.E),P=(a,b)=>new Date(a.getTime()+b*n.E),Q=(a,b)=>{let d=c.monitors.find(a=>a.id===b.monitorId);return E("HighLatency",d.id,{id:z("resolved",a),resourceId:d.appId,title:`${A(d.appId)} ${d.path}`,message:`p95 ${b.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:b.firedAt,resolvedAt:b.resolvedAt})},R={start:O(4,y.int(1,9)),sha:(0,o.p)(7,w,"old-failed",M.name)},S=N("upstash_redis"),T=N("firestore"),U=N("supabase_project"),V=d.cloudflare.label,W={outage:E("MonitorDown",L.id,{id:z("resolved","outage"),resourceId:L.appId,title:`${A(L.appId)} ${L.path}`,message:`${(0,m.F)(L.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(K.startedAt.getTime()+10*n.E),resolvedAt:K.recoveredAt}),latencyA:Q("latency-a",c.slow[0]),latencyB:Q("latency-b",c.slow[1]),oldDeploy:E("DeploymentFailed",M.id,{id:z("resolved","old-deploy"),resourceId:M.id,title:M.name,message:`Production deployment ${R.sha} failed.`,startedAt:R.start,resolvedAt:P(R.start,y.int(35,70))}),collector:(g=O(6,y.int(1,10)),E("CollectorStale","collector",{id:z("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:g,resolvedAt:P(g,y.int(4,9))})),autoPause:(h=O(6,y.int(12,20)),E("AutoPauseRisk",U.id,{id:z("resolved","auto-pause"),resourceId:U.id,title:U.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:h,resolvedAt:P(h,60*y.int(20,30))})),quota:(q=O(6,y.int(1,8)),E("DbQuotaHigh",S.id,{id:z("resolved","db-quota"),resourceId:S.id,title:S.name,message:`${S.name}: Commands at ${y.int(81,88)}% of the free plan.`,startedAt:q,resolvedAt:P(q,60*y.int(3,6))})),firestore:(r=O(3,y.int(1,6)),E("FirestoreQuotaHigh",T.id,{id:z("resolved","firestore"),resourceId:T.id,title:T.name,message:`${T.name} read ${y.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${y.int(81,92)}%).`,startedAt:r,resolvedAt:P(r,60*y.int(2,5))})),proxied:(s=O(5,y.int(12,20)),E("DnsProxiedToVercel",(t=e.vercelRecord).id,{id:z("resolved","proxied"),resourceId:t.zoneId,title:t.name,message:`${t.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:s,resolvedAt:P(s,24*y.int(2,4)*60)})),credential:(u=O(6,y.int(14,22)),E("CredentialExpiring",d.cloudflare.accountId,{id:z("resolved","credential"),accountId:d.cloudflare.accountId,title:`cloudflare \xb7 ${V}`,message:`The cloudflare credential ${V} expires in 9 days.`,startedAt:u,resolvedAt:P(u,24*y.int(1,2)*60+y.int(10,300))}))};return await v.insert(f.alerts).values([...J,...Object.values(W)]),{firing:{deploy:J[0].id,cert:J[1].id,zone:J[2].id},resolved:{outage:W.outage.id,oldDeploy:{id:W.oldDeploy.id,appId:M.id,appName:M.name,previousExternalId:B.find(a=>a.resource_id===M.id&&a.is_previous_production)?.external_id??null,startedAt:W.oldDeploy.startedAt,resolvedAt:W.oldDeploy.resolvedAt},credential:{title:W.credential.title,resolvedAt:W.credential.resolvedAt}},failedDeploy:D}}var r=a.i(646324),s=a.i(306556);let t=a=>`${a}.example`,u=["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"],v=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],w=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],x=["sin1","iad1","fra1","hnd1","sfo1"],y=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],z=["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"],A={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"],C=[{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(a){let{db:b,seed:c,now:d}=a,e=(0,o.k)(c,"apps"),g=e.pick(v),h={id:`team_${(0,o.g)(24,c,"team")}`,name:g.name,slug:g.slug},i=(0,o.T)(c,"account","vercel"),j=(0,n.$)(d,e.int(120,300)*n.h),k=(0,n.$)(d,e.int(3,50)*n.E);await b.insert(f.accounts).values({id:i,provider:"vercel",label:h.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:k,lastSyncAt:k,createdAt:j,updatedAt:k});let l=e.shuffle(u).slice(0,e.int(5,8)).sort().map((a,b)=>({id:(0,o.T)(c,"app",a),index:b,name:a,externalId:`prj_${(0,o.g)(28,c,"project",a)}`,host:t(a),createdAt:(0,n.$)(d,e.int(95,400)*n.h-e.int(0,23)*n.w)}));return await b.insert(f.resources).values(l.map(a=>({id:a.id,accountId:i,kind:"app",externalId:a.externalId,name:a.name,monitored:!0,firstSeenAt:a.createdAt,lastSeenAt:k,createdAt:a.createdAt,updatedAt:k,meta:{teamId:h.id,teamSlug:h.slug,teamName:h.name,framework:e.pick(w),productionBranch:"main",createdAt:a.createdAt.toISOString(),repo:`example-org/${a.name}`,repoType:"github",functionRegions:[e.pick(x)]}}))),await b.insert(f.deployments).values(function(a,b){let{seed:c,now:d}=a,e=(0,o.k)(c,"deployments"),f=e.pick(b).id,g=e.pick(b).id,h=[];for(let a of b){let b=(b,f,g,i,j)=>{let k=(0,n.$)(d,g),l=new Date(k.getTime()+1e3*e.int(3,12)),m="ready"===i?new Date(l.getTime()+1e3*e.int(25,160)):null,p="production"===f?"main":e.pick(y);h.push({id:(0,o.T)(c,"deployment",a.name,b),resourceId:a.id,externalId:`dpl_${(0,o.g)(24,c,"deployment",a.name,b)}`,state:i,target:f,branch:p,commitSha:(0,o.p)(40,c,"commit",a.name,b),commitMessage:j??e.pick(z),source:"git",url:t(`${a.name}-git-${p.replace(/[^a-z0-9]+/g,"-")}-${(0,o.g)(9,c,"deployment-url",a.name,b).toLowerCase()}`),buildingAt:l,readyAt:m,createdAtProvider:k,isCurrent:!1,isPreviousProduction:!1,createdAt:k,updatedAt:m??l})},i=a.id===f,j=e.int(2,5);for(let a=0;a<j;a++){let c=0===a?Math.max(i?5*n.w:0,e.int(1,96)*n.w-e.int(0,40)*n.E):e.int(4+4*a,6+6*a)*n.h+e.int(0,23)*n.w;b(a,"production",c,"ready")}let k=e.int(0,3);for(let a=0;a<k;a++)b(10+a,"preview",e.int(2,240)*n.w+e.int(0,59)*n.E,"ready");i&&b(20,"production",e.int(30,240)*n.E,"error","Refactor the checkout form"),a.id===g&&b(21,"preview",e.int(1,6)*n.E,"building")}for(let a of b){let b=h.filter(b=>b.resourceId===a.id&&"production"===b.target&&"ready"===b.state).map(a=>({id:a.externalId,createdAt:a.createdAtProvider})),{currentId:c,previousId:d}=(0,r.a)(b,null);for(let b of h)b.resourceId===a.id&&(b.isCurrent=b.externalId===c,b.isPreviousProduction=b.externalId===d)}return h}(a,l)),{accountId:i,team:h,apps:l}}async function E(a,b,c){let{db:d,seed:e,now:g}=a,h=(0,o.k)(e,"snapshots"),i=(0,n.$)(g,1e3*h.int(5,40));await d.insert(f.snapshots).values(b.apps.map(a=>{var b,d;let e,f,j,k,l,m=c.filter(b=>b.appId===a.id),o=(0,s.V)({monitors:m.map(a=>a.state),building:!1,dbPaused:!1}),p=m.find(a=>"err"===a.state)??m.find(a=>"warn"===a.state),q=p?.stateSince??new Date(Math.max(...m.map(a=>a.stateSince.getTime())));return{resourceId:a.id,state:o,stateSince:q,collectedAt:i,data:{code:p?.lastStatus??null,latencyMs:m[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(b=h,d=g,f=Math.floor((e=(0,n.$)(d,b.int(2,25)*n.E)).getTime()/n.w)*n.w,j=b.int(20,400),{enabled:!0,total24h:l=(k=Array.from({length:24},(a,c)=>{let d=f-(23-c)*n.w,e=.15+.85*Math.max(0,Math.sin(((new Date(d).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(d).toISOString(),Math.round(j*e*(.7+.6*b.next()))]})).reduce((a,[,b])=>a+b,0),visitors24h:Math.round(l*(.3+.2*b.next())),hourly:k,readAt:e.toISOString()})}}}))}var F=a.i(169286),G=a.i(273133),H=a.i(688275),I=a.i(697365);let J="demo",K={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function L(a,b){let{db:c,seed:d,now:e}=a,g=(0,o.k)(d,"databases"),h=b.team,i=a=>(0,o.T)(d,"account",a),j=(0,n.$)(e,g.int(4,40)*n.E);await c.insert(f.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(a=>{let b=(0,n.$)(e,g.int(60,280)*n.h);return{id:i(a),provider:a,label:"firebase"===a?`${h.slug}-firebase`:h.name,credentialCiphertext:J,credentialIv:J,credentialKind:K[a],status:"ok",lastTestAt:j,lastSyncAt:j,createdAt:b,updatedAt:j}}));let k=(0,o.p)(32,d,"cloudflare-account"),l=[{kind:"supabase_project",provider:"supabase",externalId:(0,o.g)(20,d,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${g.pick(["silent","quiet","misty","bold","calm"])}-${g.pick(["river","meadow","forest","harbor","dune"])}-${(0,o.p)(8,d,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${h.slug.split("-")[0]}-notes-${(0,o.p)(5,d,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:(0,o.T)(d,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:(0,o.T)(d,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:(0,o.T)(d,"d1-db")}].map(({kind:a,provider:b,externalId:c})=>{let f=g.pick(A[a]),j=(0,n.$)(e,g.int(40,300)*n.h),l="supabase_project"===a?{orgSlug:h.slug,region:"ap-southeast-1",pgVersion:"17.4.1.054",createdAt:j.toISOString(),status:"ACTIVE_HEALTHY"}:"neon_project"===a?{orgId:`org-${(0,o.p)(8,d,"neon-org")}`,region:"aws-ap-southeast-1",pgVersion:17,createdAt:j.toISOString()}:"firestore"===a?{projectId:c}:"turso_database"===a?{org:h.slug,group:"default",region:"sin"}:"upstash_redis"===a?{region:"ap-southeast-1",type:"free"}:{accountId:k,createdAt:j.toISOString()};return{id:(0,o.T)(d,"db",a),kind:a,name:f,externalId:c,accountId:i(b),meta:l,createdAt:j}});await c.insert(f.resources).values(l.map(a=>({id:a.id,accountId:a.accountId,kind:a.kind,externalId:a.externalId,name:a.name,monitored:!0,meta:a.meta,firstSeenAt:a.createdAt,lastSeenAt:j,createdAt:a.createdAt,updatedAt:j})));let m=a=>l.find(b=>b.kind===a),p=a=>(0,n.$)(e,a*n.E+1e3*g.int(0,50)),q=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),1)),r=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,1)),s=(e.getTime()-q.getTime())/(r.getTime()-q.getTime()),t=[{id:`ep-${(0,o.g)(12,d,"neon-ep").toLowerCase()}`,branchId:`br-${(0,o.g)(12,d,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:(0,n.$)(e,g.int(20,300)*n.E).toISOString()}],u=Math.round((8+50*s+g.int(0,10))*3600),v=(0,H.p)({endpoints:t,computeSeconds:u}),w=[{id:m("supabase_project").id,state:"ok",since:(0,n.$)(e,g.int(20,90)*n.h),at:p(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:h.slug,freeOrg:!0,lastTrafficAt:(0,n.$)(e,g.int(3,50)*n.E).toISOString(),trafficAt:(0,n.$)(e,g.int(1,4)*n.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,n.$)(e,g.int(1,4)*n.E).toISOString(),sizeBytes:1048576*g.int(38,140)+g.int(0,1048576),sizeAt:(0,n.$)(e,g.int(4,20)*n.w).toISOString(),lastGoodState:"ok"}},{id:m("neon_project").id,state:"ok"===v.state?"ok":"idle",since:(0,n.$)(e,g.int(20,300)*n.E),at:p(g.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:m("neon_project").meta.orgId,computeSeconds:u,transferBytes:Math.round((.2+1.6*s)*0x40000000),periodStart:q.toISOString(),periodEnd:r.toISOString(),activeSeconds:Math.round(u/1.4),endpoints:t,branches:[{id:t[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*g.int(120,380)},{id:`br-${(0,o.g)(12,d,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*g.int(60,160)}],lastGoodState:"ok"===v.state?"ok":"idle"}},{id:m("firestore").id,state:"ok",since:(0,n.$)(e,g.int(10,60)*n.h),at:p(1),data:{displayName:m("firestore").name,latencyMs:g.int(70,190),reads:g.int(4e3,22e3),writes:g.int(800,6e3),deletes:g.int(20,400),opsAt:(0,n.$)(e,g.int(10,50)*n.E).toISOString(),authUsers:g.int(80,2400),authAt:(0,n.$)(e,g.int(2,20)*n.w).toISOString(),lastGoodState:"ok"}},{id:m("turso_database").id,state:"ok",since:(0,n.$)(e,g.int(10,60)*n.h),at:p(g.int(5,50)),data:{org:h.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*s)*1e6),rowsWritten:Math.round((.2+2.2*s)*1e6),storageBytes:1048576*g.int(40,600),orgRowsRead:Math.round((25+160*s)*1e6),orgRowsWritten:Math.round((.3+2.6*s)*1e6),orgStorageBytes:1048576*g.int(700,1400),orgDatabases:3,usageAt:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),lastGoodState:"ok"}},{id:m("upstash_redis").id,state:"ok",since:(0,n.$)(e,g.int(10,60)*n.h),at:p(g.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:g.int(2e3,9e3),monthlyRequests:Math.round((20+180*s)*1e3)+g.int(0,999),storageBytes:1048576*g.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*s)*0x40000000),statsAt:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),lastGoodState:"ok"}},{id:m("d1_database").id,state:"ok",since:(0,n.$)(e,g.int(10,60)*n.h),at:p(g.int(5,50)),data:{accountId:k,createdAt:m("d1_database").createdAt.toISOString(),sizeBytes:1048576*g.int(4,120),numTables:g.int(4,12),readReplication:"disabled",detailsAt:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),rowsRead:g.int(4e4,9e5),rowsWritten:g.int(1e3,3e4),readQueries:g.int(4e3,6e4),writeQueries:g.int(300,6e3),accountRowsRead:g.int(9e5,18e5),accountRowsWritten:g.int(3e4,55e3),accountSizeBytes:1048576*g.int(200,900),accountDatabases:2,usageDay:e.toISOString().slice(0,10),usageAt:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),lastGoodState:"ok"}}];await c.insert(f.snapshots).values(w.map(a=>({resourceId:a.id,state:a.state,stateSince:a.since,collectedAt:a.at,data:a.data}))),await c.insert(f.settings).values({key:I.F,value:{[i("cloudflare")]:{d1:"ok",analytics:"ok",at:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),note:null}},createdAt:(0,n.$)(e,30*n.h),updatedAt:e});let x=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],y=b.apps.slice(0,Math.max(4,b.apps.length-1));return await c.insert(f.links).values(y.map((a,b)=>({id:(0,o.T)(d,"link",a.name),fromResourceId:a.id,toResourceId:m(x[b]).id,kind:"uses_db",source:"manual",createdAt:(0,n.$)(e,g.int(20,90)*n.h),updatedAt:(0,n.$)(e,g.int(1,19)*n.h)}))),await M(a,m("supabase_project").id),await c.insert(f.keepActive).values({resourceId:m("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:(0,n.$)(e,g.int(2,20)*n.w),updatedAt:(0,n.$)(e,12*n.h)}),{dbs:l.map(({id:a,kind:b,name:c,externalId:d,accountId:e})=>({id:a,kind:b,name:c,externalId:d,accountId:e})),cloudflare:{accountId:i("cloudflare"),cfAccountId:k,label:h.name}}}async function M(a,b){let{db:c,seed:d,now:e}=a,f=(0,o.k)(d,"compute"),g=(0,n.$)(e,f.int(1,4)*n.E),h=Array.from({length:24},(a,c)=>{let d=new Date((0,G.b)(e).getTime()-c*n.w),g=Math.round((6+18*f.next())*10)/10,h=Math.round((34+14*f.next())*10)/10;return{resourceId:b,hour:d,samples:0===c?Math.max(1,Math.floor((e.getTime()-d.getTime())/(5*n.E))):12,cpuSamples:0===c?1:11,cpuAvg:g,cpuMax:Math.round(10*Math.min(70,g*(1.4+f.next())))/10,memAvg:h,memMax:Math.round(10*Math.min(85,h+6*f.next()))/10,diskPct:9.8,connUsed:f.int(8,22),connMax:60}}),i={cpuPct:h[0].cpuAvg,memPct:h[0].memAvg,diskPct:9.8,connUsed:h[0].connUsed,connMax:60,at:g.toISOString(),prev:null,recent:Array.from({length:6},(a,b)=>({at:(0,n.$)(g,(5-b)*5*n.E).toISOString(),cpu:Math.round((6+18*f.next())*10)/10}))};await c.insert(F.A).values({resourceId:b,keyCiphertext:J,keyIv:J,latest:i,lastTryAt:g,lastOkAt:g,createdAt:(0,n.$)(e,21*n.h),updatedAt:g}),await c.insert(F.l).values(h.filter(a=>a.hour.getTime()<=e.getTime()))}var N=a.i(245710),O=a.i(615089);let P=7*n.h;async function Q(a,b,c,d,e,g){let{db:h,seed:k,now:l}=a,p=(0,o.k)(k,"events"),q=[],r=(a,b)=>q.push({id:(0,o.T)(k,"event",a),count:1,...b});for(let a of(0,j.f)(await h.execute(i.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()-P).toISOString()}::timestamptz`))){let b=`${a.branch??"unknown branch"} \xb7 ${a.commit_sha?a.commit_sha.slice(0,7):"no commit"}`,c=new Date(a.created_at_provider),d=a.building_at?new Date(a.building_at):c;r(`${a.external_id}:start`,{at:d,resourceId:a.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:b,reason:"DeployStarted"}),"ready"===a.state&&a.ready_at&&r(`${a.external_id}:ready`,{at:new Date(a.ready_at),resourceId:a.resource_id,type:"deployment",kind:"ok",message:"Deployment ready",detail:b,reason:"DeployReady"}),"error"===a.state&&r(`${a.external_id}:failed`,{at:new Date(d.getTime()+1e3*p.int(40,110)),resourceId:a.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:b,reason:"DeployFailed"})}let s=c.outage,t=c.monitors.find(a=>a.id===s.monitorId),u=(a,b,c,d,e,f,g)=>r(a,{at:b,resourceId:c,type:"monitor",kind:d,message:e,detail:f,reason:g});u("outage:warn",s.startedAt,s.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),u("outage:err",new Date(s.startedAt.getTime()+10*n.E),s.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),u("outage:ok",s.recoveredAt,s.appId,"ok","Monitor recovered",`${t.path} answers again`,"MonitorRecovered"),c.degraded&&u("degraded:warn",c.degraded.since,c.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let v=e.certSoon,w=e.zoneSoon,x=new Date(v.notAfter.getTime()-14*n.h+p.int(5,50)*n.E),y=new Date(w.expiresAt.getTime()-30*n.h+p.int(5,50)*n.E);r("net:cert",{at:x,resourceId:v.id,type:"system",kind:"warn",message:`${v.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),r("net:zone",{at:y,resourceId:w.id,type:"system",kind:"warn",message:`${w.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let z=new Date(l);z.setUTCHours(20,0,0,0),z.getTime()>l.getTime()-5*n.E&&z.setTime(z.getTime()-n.h);for(let a=0;a<7;a++){let b=new Date(z.getTime()-a*n.h+1e3*p.int(20,90));r(`daily:${a}`,{at:b,resourceId:null,type:"system",kind:"ok",message:"Daily jobs finished",detail:"Rollups, retention, certificates and domain expiry",reason:"DailyFinished"})}let A=(0,O.demoUserId)(k),B=(a,b,c,d,e=null)=>r(`action:${a}`,{at:(0,n.$)(l,b*n.h+p.int(1,10)*n.w+p.int(0,59)*n.E),resourceId:d,type:"action",kind:"ok",message:c,detail:e,actorUserId:A,reason:"Action"}),C=c.monitors.find(a=>"/api/health"===a.path)??c.monitors[0],D=b.apps[0],E=d.dbs.find(a=>"supabase_project"===a.kind);B("monitor-added",6,`Monitor added: ${(0,m.F)(C.url)}`,C.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,N.D)()}, 30 min`),B("check-now",1,`Check now: ${(0,m.F)(t.url)}`,t.appId);let F=g.resolved.credential;r("action:credential",{at:new Date(F.resolvedAt.getTime()-p.int(2,9)*n.E),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${F.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:A,reason:"Action"}),r("action:auto-recheck",{at:new Date(s.startedAt.getTime()+11*n.E+3e3),resourceId:t.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${(0,m.F)(t.url)}`,detail:null,actorUserId:null,reason:"Action"}),await h.insert(f.events).values(q.sort((a,b)=>a.at.getTime()-b.at.getTime()))}let R="76.76.21.21";async function S(a,b,c){let{db:d,seed:e,now:g}=a,h=(0,o.k)(e,"network"),i=a=>(0,n.$)(g,h.int(10,60*a)*n.E).toISOString(),j=c.cloudflare,k=h.shuffle(B).slice(0,2).map((a,b)=>({id:(0,o.T)(e,"zone",a),name:t(a),expiresAt:new Date(1===b?g.getTime()+h.int(12,24)*n.h+h.int(1,20)*n.w:g.getTime()+h.int(200,600)*n.h)})),m=a=>a.split("-").slice(1).join("-")||a,p=b.apps,q=[{name:k[0].name,app:p[0]},...[0,1,2].map(a=>({name:`${m(p[a].name)}.${k[0].name}`,app:p[a]})),...[3,4].map(a=>({name:`${m(p[a%p.length].name)}.${k[1].name}`,app:p[a%p.length]}))],r=h.int(1,3),s=q.map((a,b)=>({id:(0,o.T)(e,"domain",a.name),name:a.name,appId:a.app.id,notAfter:new Date(b===r?g.getTime()+h.int(4,9)*n.h+h.int(1,20)*n.w:g.getTime()+h.int(30,85)*n.h)})),u=(a,b,c,d,f,g=null)=>({id:(0,o.p)(32,e,"dns",a,b,c),type:b,name:c,content:d,proxied:f,ttl:f?1:300,comment:g}),v=k.map(a=>{let b=[...s.filter(b=>b.name===a.name||b.name.endsWith(`.${a.name}`)).map(b=>u(a.name,"A",b.name,R,!1,"Vercel")),u(a.name,"MX",a.name,t("mx1.mail"),!1),u(a.name,"TXT",a.name,`v=spf1 include:_spf.${t("mail")} ~all`,!1),u(a.name,"A",`legacy.${a.name}`,`192.0.2.${h.int(10,200)}`,!0,"Old server, kept for redirects")],c={expiresAt:a.expiresAt.toISOString(),registrar:"Example Registrar, Inc.",error:null,checkedAt:i(20)},d={status:"active",paused:!1,nameServers:[t("ada.ns"),t("bob.ns")],accountId:j.cfAccountId,checkedAt:i(1)},e=(0,l.G)({status:d.status,paused:d.paused,rdap:c},g),f={zone:d,ssl:{mode:"strict",error:null},records:b,recordsTruncated:!1,cfErrors:[],certs:[{type:"universal",status:"active",hosts:[a.name,`*.${a.name}`],expiresOn:new Date(g.getTime()+h.int(40,80)*n.h).toISOString()}],rdap:c,reasons:e.reasons};return{z:a,records:b,rdap:c,state:e.state,data:f}}),w=(0,n.$)(g,h.int(150,380)*n.h),x=(0,n.$)(g,h.int(5,50)*n.E);await d.insert(f.resources).values(k.map(a=>({id:a.id,accountId:j.accountId,kind:"zone",externalId:(0,o.p)(32,e,"zone-id",a.name),name:a.name,monitored:!0,meta:{status:"active",accountId:j.cfAccountId,accountName:j.label},firstSeenAt:w,lastSeenAt:x,createdAt:w,updatedAt:x}))),await d.insert(f.resources).values(s.map(a=>{let c=p.find(b=>b.id===a.appId);return{id:a.id,accountId:b.accountId,kind:"domain",externalId:a.name,name:a.name,parentId:a.appId,monitored:!0,meta:{redirect:null,verified:!0,projectId:c.externalId},firstSeenAt:w,lastSeenAt:x,createdAt:w,updatedAt:x}}));let y=["Let's Encrypt","Google Trust Services"];await d.insert(f.snapshots).values([...v.map(a=>({resourceId:a.z.id,state:a.state,stateSince:"ok"===a.state?w:new Date(a.z.expiresAt.getTime()-30*n.h),data:a.data,collectedAt:x})),...s.map(a=>{let b=v.find(b=>a.name===b.z.name||a.name.endsWith(`.${b.z.name}`)),c={notAfter:a.notAfter.toISOString(),issuer:h.pick(y),authorized:!0,error:null,checkedAt:i(19)},d={misconfigured:!1,configuredBy:"A",recommendedIps:[R],checkedAt:i(6)},e=(0,l.k)({host:a.name,tls:c,vercel:d,records:(0,l.Q)(a.name,b.records),zoneRdap:b.rdap},g),f="ok"===e.state?w:new Date(Math.min(a.notAfter.getTime()-14*n.h,b.z.expiresAt.getTime()-30*n.h));return{resourceId:a.id,state:e.state,stateSince:f,data:{tls:c,vercel:d,reasons:e.reasons},collectedAt:x}})]);let z=v[0].records.find(a=>"A"===a.type&&a.name===k[0].name&&a.content===R);return{zones:k,domains:s,certSoon:s[r],zoneSoon:k[1],vercelRecord:{id:z.id,name:z.name,zoneId:k[0].id}}}let T=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function U(a,b){let{db:c,seed:d,now:e}=a,g=(0,o.k)(d,"logs"),h=(0,j.f)(await c.execute(i.B`select resource_id, external_id from ops.deployments where is_current`)),k=g.shuffle(b.apps).slice(0,3).flatMap((a,b)=>Array.from({length:g.int(4,8)},(c,f)=>{let i=g.pick(C);return{id:(0,o.T)(d,"log",a.name,f),resourceId:a.id,deploymentId:h.find(b=>b.resource_id===a.id)?.external_id??`dpl_${(0,o.g)(24,d,"log-dpl",b)}`,rowId:`${(0,o.g)(10,d,"log-row",a.name,f).toLowerCase()}-${f}`,at:(0,n.$)(e,g.int(3,2760)*n.E+1e3*g.int(0,59)),level:i.level,message:i.message,requestMethod:i.method,requestPath:i.path,statusCode:i.status,source:"serverless"}}));await c.insert(f.storedLogs).values(k)}async function V(a){let{db:b,seed:c,now:d}=a,e=(0,o.k)(c,"provider-status"),g=(0,n.$)(d,e.int(1,4)*n.E);await b.insert(f.providerStatus).values(T.map(a=>"cloudflare"===a?{provider:a,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:g,lastOkAt:g,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:(0,n.$)(d,e.int(1,3)*n.w).toISOString(),url:null}]}:{provider:a,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:g,lastOkAt:g,error:null}))}async function W(a){let{db:b,seed:c,now:d}=a,e=(0,o.k)(c,"ai-usage"),f=(0,o.T)(c,"ai-agent","console"),g=e.int(70,140),h=[],j=[],k=[],l=[],m=[],p=[];for(let a=0;a<g;a++){h.push(d.getTime()-e.int(2,10080)*n.E);let a=e.chance(.04);m.push(a?429:200),j.push(a?0:e.int(600,4200)),k.push(a?0:e.int(80,700)),l.push(a?e.int(80,300):e.int(700,4800)),p.push(e.int(1,2))}let q=a=>a.reduce((a,b)=>a+b,0),r=new Date(Math.max(...h));await b.execute(i.B`
3
3
  insert into ops.ai_agents (id, key_id, client_name, client_version, via, user_agent, first_seen_at, last_seen_at, requests, tokens_in, tokens_out, recent)
4
4
  values (${f}::uuid, null, 'Watchbell console', '', 'console', 'Watchbell console (ask-ai)', ${(0,n.$)(d,720*n.w).toISOString()}::timestamptz,
5
- ${r.toISOString()}::timestamptz, ${g}, ${q(j)}, ${q(k)}, ${W(["gemini/gemini-2.5-flash","workers-ai/gemma-3-12b-it"])}::text[])`),await b.execute(i.B`
5
+ ${r.toISOString()}::timestamptz, ${g}, ${q(j)}, ${q(k)}, ${X(["gemini/gemini-2.5-flash","workers-ai/gemma-3-12b-it"])}::text[])`),await b.execute(i.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, ${f}::uuid, null, (array['gemini/gemini-2.5-flash', 'workers-ai/gemma-3-12b-it'])[t.m], 'console', null,
8
8
  case when t.s = 429 then null else t.ti end, case when t.s = 429 then null else t.tout end, t.l, t.s,
9
9
  case when t.s = 429 then 'rate_limited · upstream_429' else null end, false
10
10
  from unnest(${(0,n._)(h)}::bigint[], ${(0,n._)(p)}::int[], ${(0,n._)(j)}::int[], ${(0,n._)(k)}::int[], ${(0,n._)(l)}::int[],
11
11
  ${(0,n._)(m)}::int[]) as t(at, m, ti, tout, l, s)
12
- order by t.at`)}let W=a=>`{${a.join(",")}}`,X=2*n.w;async function Y(a,b,c,d){let{db:e,seed:f,now:g}=a,h=(0,o.k)(f,"proposals"),j=a=>(0,o.T)(f,"proposal",a),k=c.certSoon,l=b.failedDeploy,p=d.monitors.find(a=>a.id===d.outage.monitorId),q=new Date(d.outage.startedAt.getTime()+11*n.E),r=b.resolved.oldDeploy,s=new Date(r.startedAt.getTime()+h.int(2,6)*n.E),t=new Date(s.getTime()+h.int(3,15)*n.E),u=(0,n.$)(g,h.int(20,55)*n.E),v=(0,n.$)(g,h.int(8,19)*n.E);for(let a of[{id:j("pending-safe"),alertId:b.firing.cert,ruleKey:"CertExpiringSoon",room:"network",action:"domain_recheck",risk:"safe",title:`Re-check the certificate of ${k.name}`,reason:"The TLS certificate expires within 14 days; a fresh read shows whether it was already renewed.",resourceKind:"domain",resourceId:k.id,resourceName:k.name,targetRef:k.id,proposedBy:"Network",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:u,decidedAt:null,expiresAt:new Date(u.getTime()+X),claimedAt:null,finishedAt:null},{id:j("pending-risky"),alertId:b.firing.deploy,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_redeploy",risk:"risky",title:`Redeploy production ${l.appName}`,reason:`Production deployment ${l.sha} failed; the previous build is still live.`,resourceKind:"app",resourceId:l.appId,resourceName:l.appName,targetRef:l.currentExternalId,proposedBy:"Workloads",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:v,decidedAt:null,expiresAt:new Date(v.getTime()+X),claimedAt:null,finishedAt:null},{id:j("done-auto"),alertId:b.resolved.outage,ruleKey:"MonitorDown",room:"workloads",action:"recheck",risk:"safe",title:`Check ${(0,m.F)(p.url)} again now`,reason:"It returned HTTP 503 on 3 consecutive checks.",resourceKind:"app",resourceId:p.appId,resourceName:(0,m.F)(p.url),targetRef:p.id,proposedBy:"Workloads",status:"done",auto:!0,result:"Failed: HTTP 503.",decidedBy:null,createdAt:q,decidedAt:q,expiresAt:new Date(q.getTime()+X),claimedAt:new Date(q.getTime()+2e3),finishedAt:new Date(q.getTime()+2e3+h.int(300,1500))},{id:j("rejected"),alertId:r.id,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_rollback",risk:"risky",title:`Roll back ${r.appName} to the previous deployment`,reason:"The newest production build failed.",resourceKind:"app",resourceId:r.appId,resourceName:r.appName,targetRef:r.previousExternalId,proposedBy:"Workloads",status:"rejected",auto:!1,result:null,decidedBy:(0,N.memberRowId)(f),createdAt:s,decidedAt:t,expiresAt:new Date(s.getTime()+X),claimedAt:null,finishedAt:null}]){let b=a=>a?a.toISOString():null;await e.execute(i.B`
12
+ order by t.at`)}let X=a=>`{${a.join(",")}}`,Y=2*n.w;async function Z(a,b,c,d){let{db:e,seed:f,now:g}=a,h=(0,o.k)(f,"proposals"),j=a=>(0,o.T)(f,"proposal",a),k=c.certSoon,l=b.failedDeploy,p=d.monitors.find(a=>a.id===d.outage.monitorId),q=new Date(d.outage.startedAt.getTime()+11*n.E),r=b.resolved.oldDeploy,s=new Date(r.startedAt.getTime()+h.int(2,6)*n.E),t=new Date(s.getTime()+h.int(3,15)*n.E),u=(0,n.$)(g,h.int(20,55)*n.E),v=(0,n.$)(g,h.int(8,19)*n.E);for(let a of[{id:j("pending-safe"),alertId:b.firing.cert,ruleKey:"CertExpiringSoon",room:"network",action:"domain_recheck",risk:"safe",title:`Re-check the certificate of ${k.name}`,reason:"The TLS certificate expires within 14 days; a fresh read shows whether it was already renewed.",resourceKind:"domain",resourceId:k.id,resourceName:k.name,targetRef:k.id,proposedBy:"Network",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:u,decidedAt:null,expiresAt:new Date(u.getTime()+Y),claimedAt:null,finishedAt:null},{id:j("pending-risky"),alertId:b.firing.deploy,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_redeploy",risk:"risky",title:`Redeploy production ${l.appName}`,reason:`Production deployment ${l.sha} failed; the previous build is still live.`,resourceKind:"app",resourceId:l.appId,resourceName:l.appName,targetRef:l.currentExternalId,proposedBy:"Workloads",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:v,decidedAt:null,expiresAt:new Date(v.getTime()+Y),claimedAt:null,finishedAt:null},{id:j("done-auto"),alertId:b.resolved.outage,ruleKey:"MonitorDown",room:"workloads",action:"recheck",risk:"safe",title:`Check ${(0,m.F)(p.url)} again now`,reason:"It returned HTTP 503 on 3 consecutive checks.",resourceKind:"app",resourceId:p.appId,resourceName:(0,m.F)(p.url),targetRef:p.id,proposedBy:"Workloads",status:"done",auto:!0,result:"Failed: HTTP 503.",decidedBy:null,createdAt:q,decidedAt:q,expiresAt:new Date(q.getTime()+Y),claimedAt:new Date(q.getTime()+2e3),finishedAt:new Date(q.getTime()+2e3+h.int(300,1500))},{id:j("rejected"),alertId:r.id,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_rollback",risk:"risky",title:`Roll back ${r.appName} to the previous deployment`,reason:"The newest production build failed.",resourceKind:"app",resourceId:r.appId,resourceName:r.appName,targetRef:r.previousExternalId,proposedBy:"Workloads",status:"rejected",auto:!1,result:null,decidedBy:(0,O.memberRowId)(f),createdAt:s,decidedAt:t,expiresAt:new Date(s.getTime()+Y),claimedAt:null,finishedAt:null}]){let b=a=>a?a.toISOString():null;await e.execute(i.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 (${a.id}::uuid, ${a.alertId}::uuid, ${a.ruleKey}, ${a.room}, ${a.action}, ${a.risk}, ${a.title}, ${a.reason}, ${a.resourceKind},
16
16
  ${a.resourceId}::uuid, ${a.resourceName}, ${a.targetRef}, ${a.proposedBy}, ${a.status}, ${a.auto}, ${a.result}, ${a.decidedBy}::uuid,
17
- ${b(a.createdAt)}::timestamptz, ${b(a.decidedAt)}::timestamptz, ${b(a.expiresAt)}::timestamptz, ${b(a.claimedAt)}::timestamptz, ${b(a.finishedAt)}::timestamptz)`)}}function Z(a,b){return a.length?a[Math.min(a.length-1,Math.max(0,Math.ceil(b*a.length)-1))]:null}function $(a){let b=a.filter(a=>!a.inMaintenance),c=b.map(a=>a.latencyMs).filter(a=>null!==a).sort((a,b)=>a-b);return{checks:b.length,failures:b.filter(a=>!a.ok).length,p50Ms:Z(c,.5),p95Ms:Z(c,.95),maxMs:c.length?c[c.length-1]:null,status5xx:b.filter(a=>null!==a.statusCode&&a.statusCode>=500).length,maintenance:a.length-b.length}}var _=a.i(655206);let aa=5*n.E,ab=n.h/aa,ac=_.f.checks*ab,ad=_.f.rollupsHourly*ab,ae="No answer within 5 s";async function af(a,b){var c;let d,{db:e,seed:g,now:h}=a,i=(0,o.k)(g,"monitors"),j=[];for(let a of b.apps)for(let[b,c]of(i.chance(.6)?["/","/api/health"]:["/"]).entries())j.push({id:(0,o.T)(g,"monitor",a.name,c),appId:a.id,index:j.length,url:`https://${a.host}${c}`,path:c,createdAt:new Date(a.createdAt.getTime()+b*i.int(1,3)*n.h+i.int(2,50)*n.E)});let k=Math.floor((h.getTime()-1e4)/aa)*aa,l=(a,b)=>k-b*aa+2e3+300*a.index,m=j.map(a=>(function(a,b){let c=(0,o.k)(a,"checks",b.id),d={ok:new Uint8Array(ad),status:new Int16Array(ad),latency:new Int32Array(ad)},e=c.int(70,380)*("/"===b.path?1:.55);for(let a=0;a<ad;a++){let b=Math.round(e*(.75+.5*c.next())*(c.chance(.02)?1.8+2*c.next():1));if(a>=3&&c.chance(3e-4)){let b=c.int(0,3);ag(d,a,3===b?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][b],latency:c.int(30,300)})}else ag(d,a,{ok:!0,status:200,latency:b})}return d})(g,a)),p=(0,o.k)(g,"outage"),q=j.filter(a=>"/"===a.path),r=p.pick(q),t=p.int(96,240),u=p.int(4,7),v=m[r.index];for(let a=t-3;a<t+u+3;a++)ag(v,a,{ok:!0,status:200,latency:v.latency[a]>0?v.latency[a]:180});for(let a=t;a<t+u;a++)ag(v,a,{ok:!1,status:a===t+u-1?502:503,latency:p.int(30,140)});let w={monitorId:r.id,appId:r.appId,startedAt:new Date(l(r,t+u-1)),endedAt:new Date(l(r,t)),recoveredAt:new Date(l(r,t-1)),failedChecks:u},x=j.filter(a=>a.appId!==r.appId),y=x.length?p.pick(x):null;y&&ag(m[y.index],0,{ok:!1,status:0,latency:-1});let z=(0,o.k)(g,"slow-windows"),A=j.filter(a=>a.id!==r.id),B=(a,b,c,d)=>{let e=m[a.index],f=b*ab+z.int(12,144),g=z.int(c,d),h=[];for(let a=f;a>f-g;a--){let b=z.int(1600,2900);ag(e,a,{ok:!0,status:200,latency:b}),h.length<2&&h.push({ok:!0,statusCode:200,latencyMs:b})}let i=f-g;return(!e.ok[i]||e.latency[i]>=1500)&&ag(e,i,{ok:!0,status:200,latency:180}),{monitorId:a.id,appId:a.appId,firedAt:new Date(l(a,f-1)),resolvedAt:new Date(l(a,i)),p95:$(h).p95Ms}},C=A[0]??r,D=A[A.length-1]??r,E=[B(C,2,4,8),B(D,5,3,6)],F=j.map(a=>(function(a,b,c){let d="unknown",e=0,f=a.createdAt;for(let a=b.ok.length-1;a>=0;a--){let g=(0,s.G)(e,{ok:1===b.ok[a],statusCode:ah(b,a),latencyMs:ai(b,a),error:aj(b,a)});g.state!==d&&(f=c(a)),d=g.state,e=g.failStreak}return{id:a.id,appId:a.appId,url:a.url,path:a.path,state:d,stateSince:f,failStreak:e,lastCheckedAt:c(0),lastStatus:ah(b,0),lastLatencyMs:ai(b,0),createdAt:a.createdAt}})(a,m[a.index],b=>new Date(l(a,b))));await e.insert(f.monitors).values(F.map((a,b)=>({id:a.id,resourceId:a.appId,url:a.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:aa/1e3,state:a.state,stateSince:a.stateSince,failStreak:a.failStreak,lastCheckedAt:a.lastCheckedAt,lastStatus:a.lastStatus,lastLatencyMs:a.lastLatencyMs,lastError:aj(m[b],0),createdAt:a.createdAt,updatedAt:a.lastCheckedAt})));let G=((d=new Date(c=h)).setUTCHours(20,0,0,0),d.getTime()>c.getTime()-5*n.E&&d.setTime(d.getTime()-n.h),d.getTime());for(let b of j)await ak(a,b,m[b.index],new Date(l(b,0))),await al(a,b,m[b.index],a=>l(b,a),G);return await am(a,j.length),{monitors:F,outage:w,degraded:y?{monitorId:y.id,appId:y.appId,since:new Date(l(y,0))}:null,slow:E}}function ag(a,b,c){b<0||b>=a.ok.length||(a.ok[b]=+!!c.ok,a.status[b]=c.status,a.latency[b]=c.latency)}let ah=(a,b)=>0===a.status[b]?null:a.status[b],ai=(a,b)=>a.latency[b]<0?null:a.latency[b],aj=(a,b)=>a.ok[b]?null:a.status[b]?`HTTP ${a.status[b]}`:ae;async function ak(a,b,c,d){let e=Array.from({length:ac},(a,b)=>b);await a.db.execute(i.B`
17
+ ${b(a.createdAt)}::timestamptz, ${b(a.decidedAt)}::timestamptz, ${b(a.expiresAt)}::timestamptz, ${b(a.claimedAt)}::timestamptz, ${b(a.finishedAt)}::timestamptz)`)}}function $(a,b){return a.length?a[Math.min(a.length-1,Math.max(0,Math.ceil(b*a.length)-1))]:null}function _(a){let b=a.filter(a=>!a.inMaintenance),c=b.map(a=>a.latencyMs).filter(a=>null!==a).sort((a,b)=>a-b);return{checks:b.length,failures:b.filter(a=>!a.ok).length,p50Ms:$(c,.5),p95Ms:$(c,.95),maxMs:c.length?c[c.length-1]:null,status5xx:b.filter(a=>null!==a.statusCode&&a.statusCode>=500).length,maintenance:a.length-b.length}}var aa=a.i(655206);let ab=5*n.E,ac=n.h/ab,ad=aa.f.checks*ac,ae=aa.f.rollupsHourly*ac,af="No answer within 5 s";async function ag(a,b){var c;let d,{db:e,seed:g,now:h}=a,i=(0,o.k)(g,"monitors"),j=[];for(let a of b.apps)for(let[b,c]of(i.chance(.6)?["/","/api/health"]:["/"]).entries())j.push({id:(0,o.T)(g,"monitor",a.name,c),appId:a.id,index:j.length,url:`https://${a.host}${c}`,path:c,createdAt:new Date(a.createdAt.getTime()+b*i.int(1,3)*n.h+i.int(2,50)*n.E)});let k=Math.floor((h.getTime()-1e4)/ab)*ab,l=(a,b)=>k-b*ab+2e3+300*a.index,m=j.map(a=>(function(a,b){let c=(0,o.k)(a,"checks",b.id),d={ok:new Uint8Array(ae),status:new Int16Array(ae),latency:new Int32Array(ae)},e=c.int(70,380)*("/"===b.path?1:.55);for(let a=0;a<ae;a++){let b=Math.round(e*(.75+.5*c.next())*(c.chance(.02)?1.8+2*c.next():1));if(a>=3&&c.chance(3e-4)){let b=c.int(0,3);ah(d,a,3===b?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][b],latency:c.int(30,300)})}else ah(d,a,{ok:!0,status:200,latency:b})}return d})(g,a)),p=(0,o.k)(g,"outage"),q=j.filter(a=>"/"===a.path),r=p.pick(q),t=p.int(96,240),u=p.int(4,7),v=m[r.index];for(let a=t-3;a<t+u+3;a++)ah(v,a,{ok:!0,status:200,latency:v.latency[a]>0?v.latency[a]:180});for(let a=t;a<t+u;a++)ah(v,a,{ok:!1,status:a===t+u-1?502:503,latency:p.int(30,140)});let w={monitorId:r.id,appId:r.appId,startedAt:new Date(l(r,t+u-1)),endedAt:new Date(l(r,t)),recoveredAt:new Date(l(r,t-1)),failedChecks:u},x=j.filter(a=>a.appId!==r.appId),y=x.length?p.pick(x):null;y&&ah(m[y.index],0,{ok:!1,status:0,latency:-1});let z=(0,o.k)(g,"slow-windows"),A=j.filter(a=>a.id!==r.id),B=(a,b,c,d)=>{let e=m[a.index],f=b*ac+z.int(12,144),g=z.int(c,d),h=[];for(let a=f;a>f-g;a--){let b=z.int(1600,2900);ah(e,a,{ok:!0,status:200,latency:b}),h.length<2&&h.push({ok:!0,statusCode:200,latencyMs:b})}let i=f-g;return(!e.ok[i]||e.latency[i]>=1500)&&ah(e,i,{ok:!0,status:200,latency:180}),{monitorId:a.id,appId:a.appId,firedAt:new Date(l(a,f-1)),resolvedAt:new Date(l(a,i)),p95:_(h).p95Ms}},C=A[0]??r,D=A[A.length-1]??r,E=[B(C,2,4,8),B(D,5,3,6)],F=j.map(a=>(function(a,b,c){let d="unknown",e=0,f=a.createdAt;for(let a=b.ok.length-1;a>=0;a--){let g=(0,s.G)(e,{ok:1===b.ok[a],statusCode:ai(b,a),latencyMs:aj(b,a),error:ak(b,a)});g.state!==d&&(f=c(a)),d=g.state,e=g.failStreak}return{id:a.id,appId:a.appId,url:a.url,path:a.path,state:d,stateSince:f,failStreak:e,lastCheckedAt:c(0),lastStatus:ai(b,0),lastLatencyMs:aj(b,0),createdAt:a.createdAt}})(a,m[a.index],b=>new Date(l(a,b))));await e.insert(f.monitors).values(F.map((a,b)=>({id:a.id,resourceId:a.appId,url:a.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:ab/1e3,state:a.state,stateSince:a.stateSince,failStreak:a.failStreak,lastCheckedAt:a.lastCheckedAt,lastStatus:a.lastStatus,lastLatencyMs:a.lastLatencyMs,lastError:ak(m[b],0),createdAt:a.createdAt,updatedAt:a.lastCheckedAt})));let G=((d=new Date(c=h)).setUTCHours(20,0,0,0),d.getTime()>c.getTime()-5*n.E&&d.setTime(d.getTime()-n.h),d.getTime());for(let b of j)await al(a,b,m[b.index],new Date(l(b,0))),await am(a,b,m[b.index],a=>l(b,a),G);return await an(a,j.length),{monitors:F,outage:w,degraded:y?{monitorId:y.id,appId:y.appId,since:new Date(l(y,0))}:null,slow:E}}function ah(a,b,c){b<0||b>=a.ok.length||(a.ok[b]=+!!c.ok,a.status[b]=c.status,a.latency[b]=c.latency)}let ai=(a,b)=>0===a.status[b]?null:a.status[b],aj=(a,b)=>a.latency[b]<0?null:a.latency[b],ak=(a,b)=>a.ok[b]?null:a.status[b]?`HTTP ${a.status[b]}`:af;async function al(a,b,c,d){let e=Array.from({length:ad},(a,b)=>b);await a.db.execute(i.B`
18
18
  insert into ops.checks (id, monitor_id, at, ok, status_code, latency_ms, error, in_maintenance)
19
19
  select md5(${`${a.seed}:${b.id}:`} || t.k)::uuid, ${b.id}::uuid, ${d.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 ${ae} else 'HTTP ' || t.s end, false
21
- from unnest(${(0,n._)(e)}::int[], ${(0,n._)(e.map(a=>1===c.ok[a]))}::bool[], ${(0,n._)(e.map(a=>ah(c,a)))}::int[],
22
- ${(0,n._)(e.map(a=>ai(c,a)))}::int[]) as t(k, ok, s, l)`)}async function al(a,b,c,d,e){let f=Math.ceil(d(c.ok.length-1)/n.w)*n.w,g=[],h=[],j=[],k=[],l=[],m=[],o=[],p=-1,q=[],r=()=>{if(p<0||!q.length)return;let a=$(q);g.push(p/1e3),h.push(a.checks),j.push(a.failures),k.push(a.p50Ms),l.push(a.p95Ms),m.push(a.maxMs),o.push(a.status5xx)};for(let a=0;a<c.ok.length;a++){let b=Math.floor(d(a)/n.w)*n.w;if(!(b>=e)){if(b<f)break;b!==p&&(r(),p=b,q=[]),q.push({ok:1===c.ok[a],statusCode:ah(c,a),latencyMs:ai(c,a)})}}r(),g.length&&await a.db.execute(i.B`
20
+ t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${af} else 'HTTP ' || t.s end, false
21
+ from unnest(${(0,n._)(e)}::int[], ${(0,n._)(e.map(a=>1===c.ok[a]))}::bool[], ${(0,n._)(e.map(a=>ai(c,a)))}::int[],
22
+ ${(0,n._)(e.map(a=>aj(c,a)))}::int[]) as t(k, ok, s, l)`)}async function am(a,b,c,d,e){let f=Math.ceil(d(c.ok.length-1)/n.w)*n.w,g=[],h=[],j=[],k=[],l=[],m=[],o=[],p=-1,q=[],r=()=>{if(p<0||!q.length)return;let a=_(q);g.push(p/1e3),h.push(a.checks),j.push(a.failures),k.push(a.p50Ms),l.push(a.p95Ms),m.push(a.maxMs),o.push(a.status5xx)};for(let a=0;a<c.ok.length;a++){let b=Math.floor(d(a)/n.w)*n.w;if(!(b>=e)){if(b<f)break;b!==p&&(r(),p=b,q=[]),q.push({ok:1===c.ok[a],statusCode:ai(c,a),latencyMs:aj(c,a)})}}r(),g.length&&await a.db.execute(i.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 ${b.id}::uuid, to_timestamp(t.h), t.c, t.f, t.p50, t.p95, t.mx, t.s5, 0
25
25
  from unnest(${(0,n._)(g)}::bigint[], ${(0,n._)(h)}::int[], ${(0,n._)(j)}::int[], ${(0,n._)(k)}::int[],
26
- ${(0,n._)(l)}::int[], ${(0,n._)(m)}::int[], ${(0,n._)(o)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function am(a,b){let{seed:c,now:d}=a,e=(0,o.k)(c,"collector-runs"),g=Math.floor((d.getTime()-1e4)/n.E)*n.E;await a.db.insert(f.collectorRuns).values(Array.from({length:60},(a,d)=>{let f=g-d*n.E,h=f%aa==0,i=(h?2e3+300*b:600)+e.int(200,1400);return{id:(0,o.T)(c,"collector-run",d),startedAt:new Date(f+1e3),finishedAt:new Date(f+1e3+i),trigger:"manual",tasks:h?["heartbeats","checks","vercel","alerts"]:["heartbeats","vercel","alerts"],ok:!0,durationMs:i,checks:h?b:0}}))}async function an(a,b,c,d){await a.transaction(async a=>{let e={db:a,seed:b,now:c,email:d};await (0,N.seedMember)(e);let f=await D(e),g=await af(e,f);await E(e,f,g.monitors);let h=await L(e,f),i=await R(e,f,h),j=await q(e,f,g,h,i);await Y(e,j,i,g),await P(e,f,g,h,i,j),await T(e,f),await U(e),await V(e)})}var ao=a.i(330787),ap=a.i(904370);let aq=0,ar=()=>Date.now()+aq;function as(a=process.env){let b=Number(((0,g.d)(a,"DEMO_POOL_MAX")??"").trim());return Number.isInteger(b)&&b>=1?b:3}let at=globalThis.__watchpostDemoPool??={entries:new Map,live:new Set,waiters:new Set,creating:0,creationQueue:[]};function au(){let a=[...at.waiters];for(let b of(at.waiters.clear(),a))b()}function av(a){!a.evicted||a.leases>0||a.closing||(a.closing=a.pglite.then(a=>a.close()).catch(()=>void 0).finally(()=>{at.live.delete(a),au()}))}function aw(a){at.entries.get(a.seed)===a&&at.entries.delete(a.seed),a.evicted=!0,0===at.entries.size&&at.sweeper&&(clearInterval(at.sweeper),at.sweeper=void 0),av(a),au()}let ax=a=>a.created&&0===a.leases&&!a.evicted,ay=(a,b)=>ax(a)&&b-a.lastUsed>=6e4;function az(a=ar()){for(let b of[...at.entries.values()])ax(b)&&a-b.lastUsed>12e5&&aw(b)}async function aA(a){let b=ar()+5e3;for(;;){if(a.evicted)throw Error("The demo database was closed. Reload the page.");if(at.live.size<as())return void at.live.add(a);let c=ar(),d=[...at.entries.values()].find(a=>ay(a,c));if(d){aw(d),await d.closing;continue}let e=b-c;if(e<=0)throw(0,h.f)(h.L);await function(a){return new Promise(b=>{let c=setTimeout(d,a);function d(){clearTimeout(c),at.waiters.delete(d),b()}at.waiters.add(d)})}(Math.min(e,function(a){let b=1/0;for(let c of at.entries.values())ax(c)&&(b=Math.min(b,c.lastUsed+6e4-a));return Math.max(0,b)}(c)+1))}}async function aB(){at.creating<2?at.creating++:await new Promise(a=>at.creationQueue.push(a))}async function aC(a,g){if(!ap.demoCreations.take(await (0,ao.R)(),a.seed))throw(0,h.f)(h._);await aA(a);try{let h=g??await (0,ao._)();await aB();try{let g=await b.f.create();try{let b=(0,c.f)({client:g,schema:f});await (0,d.f)(b,{migrationsFolder:(0,e.selfhostMigrationsFolder)()}),await an(b,a.seed,new Date,h)}catch(a){throw await g.close().catch(()=>void 0),a}return a.created=!0,g}finally{let a;(a=at.creationQueue.shift())?a():at.creating--}}catch(b){throw at.live.delete(a),b}finally{au()}}function aD(a,b){if(!a)throw Error("Demo seed missing");az();let c=at.entries.get(a);if(c)at.entries.delete(a);else{let d={seed:a,created:!1,lastUsed:0,leases:0,evicted:!1};d.pglite=aC(d,b),d.pglite.catch(()=>{at.entries.get(a)===d&&at.entries.delete(a)}),c=d}return c.lastUsed=ar(),at.entries.set(a,c),at.sweeper||(at.sweeper=setInterval(()=>az(),6e4),at.sweeper.unref?.()),c}async function aE(a,b,c){let d=aD(a,c);d.leases++;try{return await b(await d.pglite)}finally{d.leases--,d.lastUsed=ar(),av(d),au()}}async function aF(){for(let a of[...at.entries.values()])aw(a);await Promise.all([...at.live].map(a=>a.closing))}a.s(["BUSY_WAIT_MS",0,5e3,"DEFAULT_POOL_MAX",0,3,"DEMO_BUSY",()=>h.L,"DEMO_TOO_MANY",()=>h._,"IDLE_MS",0,12e5,"MAX_CREATING",0,2,"RECENT_MS",0,6e4,"closeDemoPool",0,aF,"demoDbFor",0,function(a,b){return aD(a,b).pglite},"demoPoolMax",0,as,"setDemoPoolClockOffsetForTests",0,function(a){if(!process.env.VITEST)throw Error("setDemoPoolClockOffsetForTests is for tests only");aq=a,au()},"sweepIdleDemoDbs",0,az,"withDemoDb",0,aE],601533)}];
26
+ ${(0,n._)(l)}::int[], ${(0,n._)(m)}::int[], ${(0,n._)(o)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function an(a,b){let{seed:c,now:d}=a,e=(0,o.k)(c,"collector-runs"),g=Math.floor((d.getTime()-1e4)/n.E)*n.E;await a.db.insert(f.collectorRuns).values(Array.from({length:60},(a,d)=>{let f=g-d*n.E,h=f%ab==0,i=(h?2e3+300*b:600)+e.int(200,1400);return{id:(0,o.T)(c,"collector-run",d),startedAt:new Date(f+1e3),finishedAt:new Date(f+1e3+i),trigger:"manual",tasks:h?["heartbeats","checks","vercel","alerts"]:["heartbeats","vercel","alerts"],ok:!0,durationMs:i,checks:h?b:0}}))}async function ao(a,b,c,d){await a.transaction(async a=>{let e={db:a,seed:b,now:c,email:d};await (0,O.seedMember)(e);let f=await D(e),g=await ag(e,f);await E(e,f,g.monitors);let h=await L(e,f),i=await S(e,f,h),j=await q(e,f,g,h,i);await Z(e,j,i,g),await Q(e,f,g,h,i,j),await U(e,f),await V(e),await W(e)})}var ap=a.i(330787),aq=a.i(904370);let ar=0,as=()=>Date.now()+ar;function at(a=process.env){let b=Number(((0,g.d)(a,"DEMO_POOL_MAX")??"").trim());return Number.isInteger(b)&&b>=1?b:3}let au=globalThis.__watchpostDemoPool??={entries:new Map,live:new Set,waiters:new Set,creating:0,creationQueue:[]};function av(){let a=[...au.waiters];for(let b of(au.waiters.clear(),a))b()}function aw(a){!a.evicted||a.leases>0||a.closing||(a.closing=a.pglite.then(a=>a.close()).catch(()=>void 0).finally(()=>{au.live.delete(a),av()}))}function ax(a){au.entries.get(a.seed)===a&&au.entries.delete(a.seed),a.evicted=!0,0===au.entries.size&&au.sweeper&&(clearInterval(au.sweeper),au.sweeper=void 0),aw(a),av()}let ay=a=>a.created&&0===a.leases&&!a.evicted,az=(a,b)=>ay(a)&&b-a.lastUsed>=6e4;function aA(a=as()){for(let b of[...au.entries.values()])ay(b)&&a-b.lastUsed>12e5&&ax(b)}async function aB(a){let b=as()+5e3;for(;;){if(a.evicted)throw Error("The demo database was closed. Reload the page.");if(au.live.size<at())return void au.live.add(a);let c=as(),d=[...au.entries.values()].find(a=>az(a,c));if(d){ax(d),await d.closing;continue}let e=b-c;if(e<=0)throw(0,h.f)(h.L);await function(a){return new Promise(b=>{let c=setTimeout(d,a);function d(){clearTimeout(c),au.waiters.delete(d),b()}au.waiters.add(d)})}(Math.min(e,function(a){let b=1/0;for(let c of au.entries.values())ay(c)&&(b=Math.min(b,c.lastUsed+6e4-a));return Math.max(0,b)}(c)+1))}}async function aC(){au.creating<2?au.creating++:await new Promise(a=>au.creationQueue.push(a))}async function aD(a,g){if(!aq.demoCreations.take(await (0,ap.R)(),a.seed))throw(0,h.f)(h._);await aB(a);try{let h=g??await (0,ap._)();await aC();try{let g=await b.f.create();try{let b=(0,c.f)({client:g,schema:f});await (0,d.f)(b,{migrationsFolder:(0,e.selfhostMigrationsFolder)()}),await ao(b,a.seed,new Date,h)}catch(a){throw await g.close().catch(()=>void 0),a}return a.created=!0,g}finally{let a;(a=au.creationQueue.shift())?a():au.creating--}}catch(b){throw au.live.delete(a),b}finally{av()}}function aE(a,b){if(!a)throw Error("Demo seed missing");aA();let c=au.entries.get(a);if(c)au.entries.delete(a);else{let d={seed:a,created:!1,lastUsed:0,leases:0,evicted:!1};d.pglite=aD(d,b),d.pglite.catch(()=>{au.entries.get(a)===d&&au.entries.delete(a)}),c=d}return c.lastUsed=as(),au.entries.set(a,c),au.sweeper||(au.sweeper=setInterval(()=>aA(),6e4),au.sweeper.unref?.()),c}async function aF(a,b,c){let d=aE(a,c);d.leases++;try{return await b(await d.pglite)}finally{d.leases--,d.lastUsed=as(),aw(d),av()}}async function aG(){for(let a of[...au.entries.values()])ax(a);await Promise.all([...au.live].map(a=>a.closing))}a.s(["BUSY_WAIT_MS",0,5e3,"DEFAULT_POOL_MAX",0,3,"DEMO_BUSY",()=>h.L,"DEMO_TOO_MANY",()=>h._,"IDLE_MS",0,12e5,"MAX_CREATING",0,2,"RECENT_MS",0,6e4,"closeDemoPool",0,aG,"demoDbFor",0,function(a,b){return aE(a,b).pglite},"demoPoolMax",0,at,"setDemoPoolClockOffsetForTests",0,function(a){if(!process.env.VITEST)throw Error("setDemoPoolClockOffsetForTests is for tests only");ar=a,av()},"sweepIdleDemoDbs",0,aA,"withDemoDb",0,aF],601533)}];
27
27
 
28
28
  //# sourceMappingURL=src_lib_demo_pool_ts_0fpn8acsdk64i._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[245710,a=>{"use strict";let b;var c=a.i(159203),d=a.i(371289);let e="Asia/Jakarta",f=null,g=null,h=/^(?:UTC|GMT|[A-Za-z]+(?:\/[A-Za-z0-9_+\-]+)+)$/i,i={"Asia/Calcutta":"Asia/Kolkata","Asia/Katmandu":"Asia/Kathmandu","Asia/Saigon":"Asia/Ho_Chi_Minh","Asia/Rangoon":"Asia/Yangon"};function j(){return f??=function(){g=null;let a=void 0!==b?{name:"WATCHBELL_TIMEZONE",value:b}:(0,c.N)("u"<typeof process?{}:process.env,"TIMEZONE"),d=a?.value.trim()??"";if(""===d)return e;let f=function(a){if(!h.test(a))return null;try{let b=new Intl.DateTimeFormat("en-US",{timeZone:a}).resolvedOptions().timeZone,c=i[b]??b;if(c.toLowerCase()===a.toLowerCase())return c;return b.toLowerCase()===a.toLowerCase()?b:a}catch{return null}}(d);if(f)return f;g=`${a.name}=${d}`;let j=globalThis;return j.__watchbellZoneWarned||(j.__watchbellZoneWarned=!0,console.warn(`Watchbell: ${g} is not a time zone (use an IANA name such as Europe/Berlin). Using ${e} (WIB).`)),e}()}function k(a=new Date){let b=j();if(b===e)return"WIB";let c=`${b}|${s(a.getTime(),b)}`,d=l.get(c);if(void 0===d){let b=b=>n(b,{timeZoneName:"short"}).formatToParts(a).find(a=>"timeZoneName"===a.type)?.value??"",e=b("en-US"),f=/^GMT[+-]/.test(e)?b("en-GB"):"";d=!/^GMT[+-]/.test(e)||/^GMT[+-]/.test(f)||""===f?e:f,l.set(c,d)}return d}let l=new Map,m=new Map;function n(a,b){let c=j(),d=`${c}|${a}|${JSON.stringify(b)}`,e=m.get(d);return e||(e=new Intl.DateTimeFormat(a,{...b,timeZone:c}),m.set(d,e)),e}function o(a){let b=new Date(Date.UTC(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),20));return`${x(b)} ${k(b)}`}function p(){let a=j();return a===e?"WIB":a}let q=new Map;function r(a,b=j()){let c,d=(!(c=q.get(b))&&(c=new Intl.DateTimeFormat("en-US",{timeZone:b,hourCycle:"h23",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),q.set(b,c)),c).formatToParts(a),e=a=>Number(d.find(b=>b.type===a)?.value),f=e("year"),g=e("month"),h=e("day");return{year:f,month:g,day:h,hour:e("hour"),minute:e("minute"),second:e("second"),weekday:new Date(Date.UTC(f,g-1,h)).getUTCDay()}}function s(a,b){let c=r(new Date(a),b);return Date.UTC(c.year,c.month-1,c.day,c.hour,c.minute,c.second)-1e3*Math.floor(a/1e3)}function t(a,b,c,d,e,f,g,h){let i=Date.UTC(a,b-1,c,d,e,f,g),j=s(i-864e5,h),k=[...new Set([j,s(i+864e5,h)])].map(a=>i-a).filter(a=>s(a,h)===i-a);return new Date(k.length?Math.min(...k):i-j)}let u=(a,b=2)=>String(a).padStart(b,"0");function v(a){let b=r(a);return`${u(b.year,4)}-${u(b.month)}-${u(b.day)}`}function w(a,b){let c=j(),d=a.getTime()+864e5*b;if(s(d,c)===s(a.getTime(),c))return new Date(d);let e=r(a,c);return t(e.year,e.month,e.day+b,e.hour,e.minute,e.second,a.getTime()-1e3*Math.floor(a.getTime()/1e3),c)}function x(a){let b=r(a);return`${u(b.hour)}:${u(b.minute)}`}let y=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function z(a){let b=r(a);return{day:b.day,month:y[b.month-1],year:b.year}}function A(a){let{day:b,month:c}=z(a);return`${b} ${c}`}function B(a,b){return v(a)===v(b)}a.s(["_",0,w,"$",0,function(a,b){let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3));return c<60?`${c}s ago`:c<3600?`${Math.floor(c/60)} min ago`:B(a,b)?`today ${x(a)}`:`${A(a)} ${x(a)}`},"e",0,z,"U",0,x,"T",0,function(a){let b=r(a);return`${u(b.hour)}:${u(b.minute)}:${u(b.second)}`},"G",0,function(a=new Date){let b=!1;try{b="cloud"===(0,d.c)()}catch{}return b?o(a):`03:00 ${p()}`},"x",0,v,"L",0,A,"y",0,function(a){let[b,c,d]=a.split("-").map(Number);return t(b,c,d,0,0,0,0,j())},"A",0,function(a,b){if(!a)return"—";let c=a.getTime()-b.getTime();if(c>=0){let a=Math.floor(c/864e5);return 0===a?"today":`in ${a} day${1===a?"":"s"}`}let d=Math.max(1,Math.floor(-c/864e5));return`expired ${d} day${1===d?"":"s"} ago`},"a",0,function(a){let b=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})$/.exec(a);if(!b)return null;let[c,d,e,f,g]=b.slice(1).map(Number),h=new Date(Date.UTC(c,d-1,e,f,g));return h.getUTCFullYear()!==c||h.getUTCMonth()!==d-1||h.getUTCDate()!==e||h.getUTCHours()!==f||h.getUTCMinutes()!==g?null:t(c,d,e,f,g,0,0,j())},"K",0,function(a,b){if(!a)return"never";let c=Math.round((b.getTime()-a.getTime())/6e4);return c<1?"just now":c<60?`${c} min ago`:B(a,b)?`today ${x(a)}`:`${A(a)} ${x(a)}`},"M",0,function(a,b){return!(null!==b&&/^\d{4}-\d{2}-\d{2}$/.test(b))||v(a)>b||b>v(w(a,1))},"m",0,B,"C",0,j,"c",0,function(a=new Date){return Math.round(s(a.getTime(),j())/6e4)},"Q",0,(a=new Date)=>o(a),"J",0,k,"D",0,p,"R",0,function(){return j(),g},"n",0,function(){let a=p();return"WIB"===a?"Times are WIB.":`Times are ${a} time.`},"I",0,n,"z",0,r])}];
2
+
3
+ //# sourceMappingURL=src_lib_time_ts_1qlwgp7nprvbi._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[147474,a=>{"use strict";let b,c=a=>void 0!==a&&""!==a.trim(),d="Asia/Jakarta",e=null,f=null,g=/^(?:UTC|GMT|[A-Za-z]+(?:\/[A-Za-z0-9_+\-]+)+)$/i,h={"Asia/Calcutta":"Asia/Kolkata","Asia/Katmandu":"Asia/Kathmandu","Asia/Saigon":"Asia/Ho_Chi_Minh","Asia/Rangoon":"Asia/Yangon"};function i(){return e??=function(){f=null;let a=void 0!==b?{name:"WATCHBELL_TIMEZONE",value:b}:function(a,b){let d=`WATCHBELL_${b}`,e=`WATCHPOST_${b}`,f=a[d];if(c(f))return{name:d,value:f};let g=a[e];return c(g)?{name:e,value:g}:void 0!==f?{name:d,value:f}:void 0!==g?{name:e,value:g}:void 0}("u"<typeof process?{}:process.env,"TIMEZONE"),e=a?.value.trim()??"";if(""===e)return d;let i=function(a){if(!g.test(a))return null;try{let b=new Intl.DateTimeFormat("en-US",{timeZone:a}).resolvedOptions().timeZone,c=h[b]??b;if(c.toLowerCase()===a.toLowerCase())return c;return b.toLowerCase()===a.toLowerCase()?b:a}catch{return null}}(e);if(i)return i;f=`${a.name}=${e}`;let j=globalThis;return j.__watchbellZoneWarned||(j.__watchbellZoneWarned=!0,console.warn(`Watchbell: ${f} is not a time zone (use an IANA name such as Europe/Berlin). Using ${d} (WIB).`)),d}()}let j=new Map,k=new Map,l=new Map;function m(a,b=i()){let c,d=(!(c=l.get(b))&&(c=new Intl.DateTimeFormat("en-US",{timeZone:b,hourCycle:"h23",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),l.set(b,c)),c).formatToParts(a),e=a=>Number(d.find(b=>b.type===a)?.value),f=e("year"),g=e("month"),h=e("day");return{year:f,month:g,day:h,hour:e("hour"),minute:e("minute"),second:e("second"),weekday:new Date(Date.UTC(f,g-1,h)).getUTCDay()}}function n(a,b){let c=m(new Date(a),b);return Date.UTC(c.year,c.month-1,c.day,c.hour,c.minute,c.second)-1e3*Math.floor(a/1e3)}function o(a,b,c,d,e,f,g,h){let i=Date.UTC(a,b-1,c,d,e,f,g),j=n(i-864e5,h),k=[...new Set([j,n(i+864e5,h)])].map(a=>i-a).filter(a=>n(a,h)===i-a);return new Date(k.length?Math.min(...k):i-j)}let p=(a,b=2)=>String(a).padStart(b,"0");function q(a){let b=m(a);return`${p(b.year,4)}-${p(b.month)}-${p(b.day)}`}function r(a){let b=m(a);return`${p(b.hour)}:${p(b.minute)}`}let s=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function t(a){let b=m(a);return{day:b.day,month:s[b.month-1],year:b.year}}a.s(["_",0,function(a,b){let c=i(),d=a.getTime()+864e5*b;if(n(d,c)===n(a.getTime(),c))return new Date(d);let e=m(a,c);return o(e.year,e.month,e.day+b,e.hour,e.minute,e.second,a.getTime()-1e3*Math.floor(a.getTime()/1e3),c)},"$",0,function(a,b){let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3));return c<60?`${c}s ago`:c<3600?`${Math.floor(c/60)} min ago`:q(a)===q(b)?`today ${r(a)}`:`${function(a){let{day:b,month:c}=t(a);return`${b} ${c}`}(a)} ${r(a)}`},"e",0,t,"U",0,r,"T",0,function(a){let b=m(a);return`${p(b.hour)}:${p(b.minute)}:${p(b.second)}`},"x",0,q,"a",0,function(a){let b=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})$/.exec(a);if(!b)return null;let[c,d,e,f,g]=b.slice(1).map(Number),h=new Date(Date.UTC(c,d-1,e,f,g));return h.getUTCFullYear()!==c||h.getUTCMonth()!==d-1||h.getUTCDate()!==e||h.getUTCHours()!==f||h.getUTCMinutes()!==g?null:o(c,d,e,f,g,0,0,i())},"k",0,function(a){},"C",0,i,"S",0,function(a){let b=m(a);return`${p(b.year,4)}-${p(b.month)}-${p(b.day)}T${p(b.hour)}:${p(b.minute)}`},"Q",0,(a=new Date)=>{let b;return b=new Date(Date.UTC(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),20)),`${r(b)} ${function(a=new Date){let b=i();if(b===d)return"WIB";let c=`${b}|${n(a.getTime(),b)}`,e=j.get(c);if(void 0===e){let b=b=>{var c,d;let e,f,g;return(c=b,d={timeZoneName:"short"},e=i(),f=`${e}|${c}|${JSON.stringify(d)}`,(g=k.get(f))||(g=new Intl.DateTimeFormat(c,{...d,timeZone:e}),k.set(f,g)),g).formatToParts(a).find(a=>"timeZoneName"===a.type)?.value??""},d=b("en-US"),f=/^GMT[+-]/.test(d)?b("en-GB"):"";e=!/^GMT[+-]/.test(d)||/^GMT[+-]/.test(f)||""===f?d:f,j.set(c,e)}return e}(b)}`},"n",0,function(){let a,b=(a=i())===d?"WIB":a;return"WIB"===b?"Times are WIB.":`Times are ${b} time.`}],147474)}];
2
+
3
+ //# sourceMappingURL=src_lib_time_ts_1ualgyi3irm1z._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[338424,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(368114),g=a.i(271288),h=a.i(405050);let i=(0,h.createServerReference)("40ee6ac4aea00d84500f8e69881e0e755a29fc1666",h.callServer,void 0,h.findSourceMapURL,"saveOfficeAutoRollback");a.s(["AutoRollbackForm",0,function({saved:a,choices:h}){let[j,k]=(0,c.useState)(a),[l,m]=(0,c.useTransition)(),n=a=>{k(b=>({...b,...a})),m(async()=>{try{let b=await i(a);b.ok?(b.data&&k(b.data),d.c.success(b.message??"Saved.")):(k(j),d.c.error(b.error))}catch{k(j),d.c.error("Something went wrong. Try again.")}})};return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(g.f,{checked:j.enabled,disabled:l,label:"Auto-rollback when a new deploy errors",onChange:a=>n({enabled:a})}),(0,b.jsxs)("span",{className:"text-[13px]",children:["Auto-rollback when a new deploy errors (first ",(0,b.jsx)("span",{className:"font-mono",children:j.windowMin})," minutes)"]})]}),(0,b.jsxs)("label",{className:"inline-flex items-center gap-2 text-[13px] text-ink-soft",children:["Window",(0,b.jsx)("select",{className:(0,f.f)(e.S,"w-auto py-1"),value:j.windowMin,disabled:l,"aria-label":"Auto-rollback window in minutes",onChange:a=>n({windowMin:Number(a.target.value)}),children:h.map(a=>(0,b.jsxs)("option",{value:a,children:[a," min"]},a))})]})]})}],338424)},719354,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(462007),f=a.i(271288),g=a.i(405050);let h=(0,g.createServerReference)("400919cf92d29c39e072549de58b46bb9d0aef86dd",g.callServer,void 0,g.findSourceMapURL,"saveOfficeAutoRun");a.s(["AutoRunForm",0,function({saved:a,rows:g}){let[i,j]=(0,c.useState)(a),[k,l]=(0,c.useTransition)();return(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:["Action","Auto-run","What it does"]}),(0,b.jsx)("tbody",{children:g.map(a=>(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{className:e.z,children:a.label}),(0,b.jsx)("td",{className:e.z,children:a.risky?(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"selalu minta persetujuan"}):(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(f.f,{checked:i[a.kind],disabled:k,label:`Auto-run: ${a.label}`,onChange:b=>{var c;return c=a.kind,void(j(a=>({...a,[c]:b})),l(async()=>{try{let a=await h({[c]:b});a.ok?(a.data&&j(a.data),d.c.success(a.message??"Saved.")):(j(a=>({...a,[c]:!b})),d.c.error(a.error))}catch{j(a=>({...a,[c]:!b})),d.c.error("Something went wrong. Try again.")}}))}}),(0,b.jsx)("span",{className:"text-[13px]",children:i[a.kind]?"On":"Off"})]})}),(0,b.jsx)("td",{className:`${e.z} whitespace-normal text-ink-soft`,children:a.what})]},a.kind))})]})})}],719354)},265758,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(271288),f=a.i(405050);let g=(0,f.createServerReference)("40df6db54276d09f0711975f1e78b70994f4e0dbc6",f.callServer,void 0,f.findSourceMapURL,"saveOfficeAutoSecurity"),h=[{level:"critical",label:"Critical"},{level:"high",label:"High"}];a.s(["AutoSecurityForm",0,function({saved:a,rollbackOn:f}){let[i,j]=(0,c.useState)(a),[k,l]=(0,c.useTransition)(),m=a=>{j(b=>({...b,...a})),l(async()=>{try{let b=await g(a);b.ok?(b.data&&j(b.data),d.c.success(b.message??"Saved.")):(j(i),d.c.error(b.error))}catch{j(i),d.c.error("Something went wrong. Try again.")}})};return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(e.f,{checked:i.enabled,disabled:k,label:"Automatic security fixes",onChange:a=>m({enabled:a})}),(0,b.jsxs)("span",{className:"text-[13px]",children:["Automatic security fixes ",i.enabled?"on":"off"]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1.5 text-[13px] text-ink-soft",children:[(0,b.jsx)("span",{children:"For advisories:"}),h.map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(e.f,{checked:i.severities.includes(a.level),disabled:k||!i.enabled,label:`Severity ${a.label}`,onChange:b=>{let c;return c=a.level,m({severities:h.map(a=>a.level).filter(a=>a===c?b:i.severities.includes(a))})}}),a.label]},a.level)),(0,b.jsx)("span",{children:"· major updates always wait for you"})]}),i.enabled&&!f&&(0,b.jsx)("p",{className:"rounded-md border border-line bg-surface-2 px-3 py-2 text-[13px] text-warn",role:"status",children:"Without auto-rollback, the PR is opened automatically but the merge waits for you."})]})}],265758)},527955,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("406def834052f05ac82ac10f53f635f16bd6d50939",f.callServer,void 0,f.findSourceMapURL,"dismissNote");a.s(["DismissNoteButton",0,function({id:a}){let[f,h]=(0,c.useTransition)();return(0,b.jsx)(e.K,{variant:"ghost",size:"sm",disabled:f,onClick:()=>h(async()=>{try{let b=await g(a);b.ok?d.c.success(b.message??"Dismissed."):d.c.error(b.error)}catch{d.c.error("Something went wrong. Try again.")}}),children:f?"Dismissing…":"Dismiss"})}],527955)},61024,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("00ad1802d3d1d58a697ccbfd409fde16eddc6bec0b",f.callServer,void 0,f.findSourceMapURL,"regenerateSummary");a.s(["RegenerateButton",0,function({label:a}){let[f,h]=(0,c.useTransition)();return(0,b.jsx)(e.K,{variant:"ghost",size:"sm",disabled:f,className:"-my-0.5 px-1 py-0",onClick:()=>h(async()=>{try{let a=await g();a.ok?d.c.success(a.message??"Done."):d.c.error(a.error)}catch{d.c.error("Something went wrong. Try again.")}}),children:f?"Working…":a})}],61024)},473944,a=>{var b=a.i(187924),c=a.i(402699);let d=(0,a.i(449862).f)("outline","message-2","Message2",[["path",{d:"M8 9h8",key:"svg-0"}],["path",{d:"M8 13h6",key:"svg-1"}],["path",{d:"M9 18h-3a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-3l-3 3l-3 -3",key:"svg-2"}]]);var e=a.i(572131),f=a.i(823292),g=a.i(619089),h=a.i(901615),i=a.i(405050);let j=(0,i.createServerReference)("4039fee03eacd317af3ed3813cc53d8fef51acbea8",i.callServer,void 0,i.findSourceMapURL,"askAntigravity"),k=(0,i.createServerReference)("40b3e666925feeb80d31d4001a1373e23acaacf9ca",i.callServer,void 0,i.findSourceMapURL,"askWhy");var l=a.i(295914),m=a.i(147474),n=a.i(368114);let o={brand:"border-l-brand",err:"border-l-err",warn:"border-l-warn-icon"};function p({icon:a,tone:c="brand",meta:d,action:e,className:f,children:g}){return(0,b.jsxs)("div",{className:(0,n.f)("flex gap-2.5 rounded-md border border-line border-l-[3px] bg-surface-2 px-3 py-2.5 text-[13px]",o[c],f),children:[(0,b.jsx)("span",{className:"mt-px shrink-0 text-brand",children:a}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[g,d&&(0,b.jsx)("span",{className:"mt-1 block text-[12px] text-ink-faint",children:d})]}),e&&(0,b.jsx)("div",{className:"shrink-0",children:e})]})}var q=a.i(700629);a.s(["WhyAi",0,function({appId:a,provider:i,question:n,nowMs:o,agConnected:r=!1}){let[s,t]=(0,e.useTransition)(),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(null),A=new Date(o),B=n?.status==="pending",C=b=>{z(null),v(b),t(async()=>{try{if("now"===b){let b=await k(a);b.ok&&b.data?x(b.data):b.ok||z(b.error)}else{let b=await j(a);b.ok?b.data?.status==="answered"&&b.data.text?x({text:b.data.text,model:b.data.model??"",ms:b.data.ms??0}):f.c.success(b.message??"Sent."):z(b.error)}}catch{z("Something went wrong. Try again.")}})};return(0,b.jsxs)("div",{className:"border-t border-line pt-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[r?(0,b.jsxs)(b.Fragment,{children:[i&&(0,b.jsxs)(g.K,{size:"sm",disabled:s,onClick:()=>C("now"),children:[(0,b.jsx)(d,{size:15,"aria-hidden":!0}),s&&"now"===u?"Asking…":`Answer now with ${i.model}`]}),(0,b.jsxs)(g.K,{size:"sm",disabled:s||B,onClick:()=>C("ag"),children:[(0,b.jsx)(d,{size:15,"aria-hidden":!0}),s&&"ag"===u?"Sending…":n&&"pending"!==n.status?h.v.askAgain:h.v.ask]})]}):i?(0,b.jsxs)(g.K,{size:"sm",disabled:s,onClick:()=>C("ag"),children:[(0,b.jsx)(d,{size:15,"aria-hidden":!0}),s?"Asking…":`Ask ${i.model}`]}):(0,b.jsx)("span",{className:"text-[13px] text-ink-soft",children:"No AI provider is connected. Connect one under AI Gateway › Bring your own key."}),s&&(0,b.jsx)(q.f,{})]}),(0,b.jsxs)("p",{className:"mt-1.5 text-[12px] text-ink-faint",children:["Sends the problems above with names aliased. ",r?`${i?"Answer now stores nothing; ":""}${h.v.keptNote}`:"The question and its answer are kept for 7 days on AI › Ask."]}),y&&(0,b.jsx)("p",{role:"alert",className:"mt-2 text-[13px] text-err",children:y}),w&&(0,b.jsxs)(p,{className:"mt-2.5",icon:(0,b.jsx)(d,{size:18,"aria-hidden":!0}),meta:`AI \xb7 ${w.model} \xb7 ${(w.ms/1e3).toFixed(1)} s \xb7 sent: the problems above, names aliased \xb7 can be wrong`,children:[(0,b.jsx)("b",{className:"font-medium",children:"What’s likely going on"}),(0,b.jsx)(l.f,{source:w.text})]}),n?.status==="pending"&&(0,b.jsx)(p,{className:"mt-2.5",icon:(0,b.jsx)(c.f,{size:18,className:"animate-spin","aria-hidden":!0}),meta:`Asked ${(0,m.f)(new Date(n.createdAt),A)} \xb7 it answers when it next checks in; this page refreshes by itself`,children:(0,b.jsx)("p",{role:"status",children:h.I.waiting})}),n?.status==="answered"&&n.answer&&(0,b.jsxs)(p,{className:"mt-2.5",icon:(0,b.jsx)(d,{size:18,"aria-hidden":!0}),meta:`AI \xb7 ${[n.client,n.model].filter(Boolean).join(" · ")||h.v.answeredFallback} \xb7 ${n.answeredAt?(0,m.f)(new Date(n.answeredAt),A):""} \xb7 sent: the problems above, names aliased \xb7 written by an agent, can be wrong`,children:[(0,b.jsx)("b",{className:"font-medium",children:"watchpost"===n.client?"The answer":h.v.answerTitle}),(0,b.jsx)(l.f,{source:n.answer})]}),n?.status==="expired"&&(0,b.jsxs)("p",{className:"mt-2.5 text-[12.5px] text-ink-soft",children:[h.v.expired((0,m.f)(new Date(n.createdAt),A))," Check that an agent is connected under AI Gateway › Connect an agent."]})]})}],473944)}]})();
1
+ (()=>{"use strict";module.exports=[338424,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(368114),g=a.i(271288),h=a.i(405050);let i=(0,h.createServerReference)("409685c8b474c00243c96e5121650c8850c96cba60",h.callServer,void 0,h.findSourceMapURL,"saveOfficeAutoRollback");a.s(["AutoRollbackForm",0,function({saved:a,choices:h}){let[j,k]=(0,c.useState)(a),[l,m]=(0,c.useTransition)(),n=a=>{k(b=>({...b,...a})),m(async()=>{try{let b=await i(a);b.ok?(b.data&&k(b.data),d.c.success(b.message??"Saved.")):(k(j),d.c.error(b.error))}catch{k(j),d.c.error("Something went wrong. Try again.")}})};return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(g.f,{checked:j.enabled,disabled:l,label:"Auto-rollback when a new deploy errors",onChange:a=>n({enabled:a})}),(0,b.jsxs)("span",{className:"text-[13px]",children:["Auto-rollback when a new deploy errors (first ",(0,b.jsx)("span",{className:"font-mono",children:j.windowMin})," minutes)"]})]}),(0,b.jsxs)("label",{className:"inline-flex items-center gap-2 text-[13px] text-ink-soft",children:["Window",(0,b.jsx)("select",{className:(0,f.f)(e.S,"w-auto py-1"),value:j.windowMin,disabled:l,"aria-label":"Auto-rollback window in minutes",onChange:a=>n({windowMin:Number(a.target.value)}),children:h.map(a=>(0,b.jsxs)("option",{value:a,children:[a," min"]},a))})]})]})}],338424)},719354,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(462007),f=a.i(271288),g=a.i(405050);let h=(0,g.createServerReference)("40636b9a62ab0c7d5091f50e7a833e91ca84da4363",g.callServer,void 0,g.findSourceMapURL,"saveOfficeAutoRun");a.s(["AutoRunForm",0,function({saved:a,rows:g}){let[i,j]=(0,c.useState)(a),[k,l]=(0,c.useTransition)();return(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:["Action","Auto-run","What it does"]}),(0,b.jsx)("tbody",{children:g.map(a=>(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{className:e.z,children:a.label}),(0,b.jsx)("td",{className:e.z,children:a.risky?(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"selalu minta persetujuan"}):(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(f.f,{checked:i[a.kind],disabled:k,label:`Auto-run: ${a.label}`,onChange:b=>{var c;return c=a.kind,void(j(a=>({...a,[c]:b})),l(async()=>{try{let a=await h({[c]:b});a.ok?(a.data&&j(a.data),d.c.success(a.message??"Saved.")):(j(a=>({...a,[c]:!b})),d.c.error(a.error))}catch{j(a=>({...a,[c]:!b})),d.c.error("Something went wrong. Try again.")}}))}}),(0,b.jsx)("span",{className:"text-[13px]",children:i[a.kind]?"On":"Off"})]})}),(0,b.jsx)("td",{className:`${e.z} whitespace-normal text-ink-soft`,children:a.what})]},a.kind))})]})})}],719354)},265758,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(271288),f=a.i(405050);let g=(0,f.createServerReference)("40b07ec0bbad0a56044944d52a19667928446c5985",f.callServer,void 0,f.findSourceMapURL,"saveOfficeAutoSecurity"),h=[{level:"critical",label:"Critical"},{level:"high",label:"High"}];a.s(["AutoSecurityForm",0,function({saved:a,rollbackOn:f}){let[i,j]=(0,c.useState)(a),[k,l]=(0,c.useTransition)(),m=a=>{j(b=>({...b,...a})),l(async()=>{try{let b=await g(a);b.ok?(b.data&&j(b.data),d.c.success(b.message??"Saved.")):(j(i),d.c.error(b.error))}catch{j(i),d.c.error("Something went wrong. Try again.")}})};return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(e.f,{checked:i.enabled,disabled:k,label:"Automatic security fixes",onChange:a=>m({enabled:a})}),(0,b.jsxs)("span",{className:"text-[13px]",children:["Automatic security fixes ",i.enabled?"on":"off"]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1.5 text-[13px] text-ink-soft",children:[(0,b.jsx)("span",{children:"For advisories:"}),h.map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(e.f,{checked:i.severities.includes(a.level),disabled:k||!i.enabled,label:`Severity ${a.label}`,onChange:b=>{let c;return c=a.level,m({severities:h.map(a=>a.level).filter(a=>a===c?b:i.severities.includes(a))})}}),a.label]},a.level)),(0,b.jsx)("span",{children:"· major updates always wait for you"})]}),i.enabled&&!f&&(0,b.jsx)("p",{className:"rounded-md border border-line bg-surface-2 px-3 py-2 text-[13px] text-warn",role:"status",children:"Without auto-rollback, the PR is opened automatically but the merge waits for you."})]})}],265758)},527955,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("40f8b6487483bb441745ee517c1fa6eb89ad4b1127",f.callServer,void 0,f.findSourceMapURL,"dismissNote");a.s(["DismissNoteButton",0,function({id:a}){let[f,h]=(0,c.useTransition)();return(0,b.jsx)(e.K,{variant:"ghost",size:"sm",disabled:f,onClick:()=>h(async()=>{try{let b=await g(a);b.ok?d.c.success(b.message??"Dismissed."):d.c.error(b.error)}catch{d.c.error("Something went wrong. Try again.")}}),children:f?"Dismissing…":"Dismiss"})}],527955)},61024,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("00f2f991b54a46dd62c1690cb5db87b80fc5874587",f.callServer,void 0,f.findSourceMapURL,"regenerateSummary");a.s(["RegenerateButton",0,function({label:a}){let[f,h]=(0,c.useTransition)();return(0,b.jsx)(e.K,{variant:"ghost",size:"sm",disabled:f,className:"-my-0.5 px-1 py-0",onClick:()=>h(async()=>{try{let a=await g();a.ok?d.c.success(a.message??"Done."):d.c.error(a.error)}catch{d.c.error("Something went wrong. Try again.")}}),children:f?"Working…":a})}],61024)},473944,a=>{var b=a.i(187924),c=a.i(402699);let d=(0,a.i(449862).f)("outline","message-2","Message2",[["path",{d:"M8 9h8",key:"svg-0"}],["path",{d:"M8 13h6",key:"svg-1"}],["path",{d:"M9 18h-3a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-3l-3 3l-3 -3",key:"svg-2"}]]);var e=a.i(572131),f=a.i(823292),g=a.i(619089),h=a.i(901615),i=a.i(405050);let j=(0,i.createServerReference)("40bffbdd99777aeb1a42dcbbef0938f5b70601836d",i.callServer,void 0,i.findSourceMapURL,"askAntigravity"),k=(0,i.createServerReference)("4003cdba92c7dca772d99dec0ba01f47b2f78dc94d",i.callServer,void 0,i.findSourceMapURL,"askWhy");var l=a.i(295914),m=a.i(147474),n=a.i(368114);let o={brand:"border-l-brand",err:"border-l-err",warn:"border-l-warn-icon"};function p({icon:a,tone:c="brand",meta:d,action:e,className:f,children:g}){return(0,b.jsxs)("div",{className:(0,n.f)("flex gap-2.5 rounded-md border border-line border-l-[3px] bg-surface-2 px-3 py-2.5 text-[13px]",o[c],f),children:[(0,b.jsx)("span",{className:"mt-px shrink-0 text-brand",children:a}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[g,d&&(0,b.jsx)("span",{className:"mt-1 block text-[12px] text-ink-faint",children:d})]}),e&&(0,b.jsx)("div",{className:"shrink-0",children:e})]})}var q=a.i(700629);a.s(["WhyAi",0,function({appId:a,provider:i,question:n,nowMs:o,agConnected:r=!1}){let[s,t]=(0,e.useTransition)(),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(null),A=new Date(o),B=n?.status==="pending",C=b=>{z(null),v(b),t(async()=>{try{if("now"===b){let b=await k(a);b.ok&&b.data?x(b.data):b.ok||z(b.error)}else{let b=await j(a);b.ok?b.data?.status==="answered"&&b.data.text?x({text:b.data.text,model:b.data.model??"",ms:b.data.ms??0}):f.c.success(b.message??"Sent."):z(b.error)}}catch{z("Something went wrong. Try again.")}})};return(0,b.jsxs)("div",{className:"border-t border-line pt-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[r?(0,b.jsxs)(b.Fragment,{children:[i&&(0,b.jsxs)(g.K,{size:"sm",disabled:s,onClick:()=>C("now"),children:[(0,b.jsx)(d,{size:15,"aria-hidden":!0}),s&&"now"===u?"Asking…":`Answer now with ${i.model}`]}),(0,b.jsxs)(g.K,{size:"sm",disabled:s||B,onClick:()=>C("ag"),children:[(0,b.jsx)(d,{size:15,"aria-hidden":!0}),s&&"ag"===u?"Sending…":n&&"pending"!==n.status?h.v.askAgain:h.v.ask]})]}):i?(0,b.jsxs)(g.K,{size:"sm",disabled:s,onClick:()=>C("ag"),children:[(0,b.jsx)(d,{size:15,"aria-hidden":!0}),s?"Asking…":`Ask ${i.model}`]}):(0,b.jsx)("span",{className:"text-[13px] text-ink-soft",children:"No AI provider is connected. Connect one under AI Gateway › Bring your own key."}),s&&(0,b.jsx)(q.f,{})]}),(0,b.jsxs)("p",{className:"mt-1.5 text-[12px] text-ink-faint",children:["Sends the problems above with names aliased. ",r?`${i?"Answer now stores nothing; ":""}${h.v.keptNote}`:"The question and its answer are kept for 7 days on AI › Ask."]}),y&&(0,b.jsx)("p",{role:"alert",className:"mt-2 text-[13px] text-err",children:y}),w&&(0,b.jsxs)(p,{className:"mt-2.5",icon:(0,b.jsx)(d,{size:18,"aria-hidden":!0}),meta:`AI \xb7 ${w.model} \xb7 ${(w.ms/1e3).toFixed(1)} s \xb7 sent: the problems above, names aliased \xb7 can be wrong`,children:[(0,b.jsx)("b",{className:"font-medium",children:"What’s likely going on"}),(0,b.jsx)(l.f,{source:w.text})]}),n?.status==="pending"&&(0,b.jsx)(p,{className:"mt-2.5",icon:(0,b.jsx)(c.f,{size:18,className:"animate-spin","aria-hidden":!0}),meta:`Asked ${(0,m.$)(new Date(n.createdAt),A)} \xb7 it answers when it next checks in; this page refreshes by itself`,children:(0,b.jsx)("p",{role:"status",children:h.I.waiting})}),n?.status==="answered"&&n.answer&&(0,b.jsxs)(p,{className:"mt-2.5",icon:(0,b.jsx)(d,{size:18,"aria-hidden":!0}),meta:`AI \xb7 ${[n.client,n.model].filter(Boolean).join(" · ")||h.v.answeredFallback} \xb7 ${n.answeredAt?(0,m.$)(new Date(n.answeredAt),A):""} \xb7 sent: the problems above, names aliased \xb7 written by an agent, can be wrong`,children:[(0,b.jsx)("b",{className:"font-medium",children:"watchpost"===n.client?"The answer":h.v.answerTitle}),(0,b.jsx)(l.f,{source:n.answer})]}),n?.status==="expired"&&(0,b.jsxs)("p",{className:"mt-2.5 text-[12.5px] text-ink-soft",children:[h.v.expired((0,m.$)(new Date(n.createdAt),A))," Check that an agent is connected under AI Gateway › Connect an agent."]})]})}],473944)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_private_0iy_wyg2p1jkn._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[5862,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(619089),e=a.i(368114),f=a.i(405050);let g=(0,f.createServerReference)("60d4477b3daf79816357cf504859984e27125807c1",f.callServer,void 0,f.findSourceMapURL,"decideProposalForm");a.s(["DecideForm",0,function({id:a}){let[f,h,i]=(0,c.useActionState)(g,null);return(0,b.jsxs)("form",{action:h,className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("input",{type:"hidden",name:"id",value:a}),(0,b.jsx)("button",{type:"submit",name:"decision",value:"approve",disabled:i,className:(0,d.R)({variant:"primary",size:"sm"}),children:"Approve"}),(0,b.jsx)("button",{type:"submit",name:"decision",value:"reject",disabled:i,className:(0,d.R)({size:"sm"}),children:"Reject"}),i&&(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",role:"status",children:"Working…"}),!i&&f&&(0,b.jsx)("span",{className:(0,e.f)("text-[12.5px]",f.ok?"text-ink-soft":"text-err"),role:f.ok?"status":"alert",children:f.ok?f.message:f.error})]})}],5862)}];
1
+ module.exports=[5862,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(619089),e=a.i(368114),f=a.i(405050);let g=(0,f.createServerReference)("6006ad8a95ddbbc54023cd0f3bc42ace3d1c574340",f.callServer,void 0,f.findSourceMapURL,"decideProposalForm");a.s(["DecideForm",0,function({id:a}){let[f,h,i]=(0,c.useActionState)(g,null);return(0,b.jsxs)("form",{action:h,className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("input",{type:"hidden",name:"id",value:a}),(0,b.jsx)("button",{type:"submit",name:"decision",value:"approve",disabled:i,className:(0,d.R)({variant:"primary",size:"sm"}),children:"Approve"}),(0,b.jsx)("button",{type:"submit",name:"decision",value:"reject",disabled:i,className:(0,d.R)({size:"sm"}),children:"Reject"}),i&&(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",role:"status",children:"Working…"}),!i&&f&&(0,b.jsx)("span",{className:(0,e.f)("text-[12.5px]",f.ok?"text-ink-soft":"text-err"),role:f.ok?"status":"alert",children:f.ok?f.message:f.error})]})}],5862)}];
2
2
 
3
3
  //# sourceMappingURL=src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[363652,875016,240387,501634,a=>{"use strict";var b=a.i(843405),c=a.i(811365),d=a.i(732084),e=a.i(149310),f=a.i(827857),g=a.i(427221),h=a.i(689963),i=a.i(191179),j=a.i(954757),j=j,k=a.i(26972),l=a.i(83931),m=a.i(899370),n=a.i(19809),o=a.i(371289);a.i(312573),a.i(771262),a.i(344934),a.i(729015);var p=a.i(213935),q=a.i(337830),r=a.i(711672),s=a.i(208683),t=a.i(61017);let u=()=>c.z.number().finite(),v=d.z.looseObject({role:e.z.enum(["system","developer","user","assistant","tool","function"]),content:f.z.union([g.z.string(),h.z.array(i.z.unknown()),j.null()]).optional()});k.z.object({model:g.z.string().trim().min(1).max(200),messages:h.z.array(v).min(1).max(100),stream:l.z.boolean().nullish(),stream_options:d.z.looseObject({}).nullish(),temperature:u().min(0).max(2).nullish(),top_p:u().min(0).max(1).nullish(),max_tokens:c.z.number().int().min(1).max(1e6).nullish(),max_completion_tokens:c.z.number().int().min(1).max(1e6).nullish(),stop:f.z.union([g.z.string().max(200),h.z.array(g.z.string().max(200)).max(4)]).nullish(),n:m.z.literal(1).nullish(),presence_penalty:u().min(-2).max(2).nullish(),frequency_penalty:u().min(-2).max(2).nullish(),seed:c.z.number().int().nullish(),response_format:d.z.looseObject({type:g.z.string().max(40)}).nullish(),tools:h.z.array(d.z.looseObject({})).max(128).nullish(),tool_choice:f.z.union([g.z.string().max(40),d.z.looseObject({})]).nullish(),user:g.z.string().max(256).nullish()});let w=a=>"number"==typeof a&&Number.isFinite(a)&&a>=0?Math.round(a):null;function x(a,b=[]){return(0,t.h)(a,b).catch(a=>{console.error("ai usage not recorded:",a instanceof Error?a.name:"unknown")})}function y(a){try{(0,b.after)(a)}catch{a()}}class z extends Error{type;status;constructor(a,b,c){super(b),this.type=a,this.status=c,this.name="GatewayError"}}async function A(a){if(a){let b=await (0,r.p)(a,null);if("provider_not_connected"===b)throw new z(b,"No AI provider is connected. Connect one under AI Gateway › Bring your own key.",503);if("model_not_enabled"===b)throw new z(b,`Model "${a.slice(0,120)}" isn't enabled.`,400);return b}let[b,c]=await Promise.all([(0,r.J)(),(0,r.A)()]);if(c){let a=(0,s.O)(b,c,null);if("string"!=typeof a)return{conn:a.conn,upstream:a.model.upstream,publicId:a.publicId}}let d=(0,s.H)(b);if(!d)throw new z("provider_not_connected","No AI provider is connected. Connect one under AI Gateway › Bring your own key.",503);let e=(0,s.r)(d.models.filter(a=>a.enabled&&(0,s.W)(a,d.kind)));if(!e)throw new z("model_not_enabled",`No model is turned on for ${d.name}. Turn one on under Models.`,400);return{conn:d,upstream:e.upstream,publicId:(0,s.q)(d,e)}}async function B(a,b,c){var d;let e,f=Date.now(),{conn:g,upstream:h,publicId:i}=a,j={...t.q,userAgent:`Watchbell console (${c.purpose})`},k={at:new Date(f),keyId:null,client:j,providerId:g.id,model:i,kind:"console",tool:null,stream:!1},l={model:h,messages:b,max_tokens:Math.min(Math.max(c.maxTokens??1024,1),8192),...void 0!==c.temperature?{temperature:c.temperature}:{}};try{e=c.timeoutMs?await (0,q.a)(g,l,new AbortController().signal,c.timeoutMs):await (0,q.a)(g,l,new AbortController().signal)}catch(b){let a=b instanceof q.r?b.info:{type:"upstream_error",errorClass:"network",status:502};throw y(()=>x({...k,latencyMs:Date.now()-f,status:a.status,errorClass:`${a.type} \xb7 ${a.errorClass}`,tokensIn:null,tokensOut:null})),new z(a.type,b instanceof q.r?b.message:(0,q.P)("network",0,g.name),a.status)}if(!e.ok){let a=await e.text().catch(()=>""),b=(0,q.w)(e.status,a);throw y(()=>x({...k,latencyMs:Date.now()-f,status:b.status,errorClass:`${b.type} \xb7 ${b.errorClass}`,tokensIn:null,tokensOut:null},(0,q.b)(g,h,e.headers,new Date))),new z(b.type,(0,q.P)(b.errorClass,e.status,g.name),b.status)}let m=await e.json().catch(()=>null),n=m?.choices?.[0]?.message?.content,o="string"==typeof n?n:Array.isArray(n)?n.map(a=>a&&"object"==typeof a&&"text"in a?String(a.text):"").join(""):"",r=((d=m?.usage)&&"object"==typeof d?{in:w(d.prompt_tokens),out:w(d.completion_tokens)}:null)??{in:null,out:null},s=Date.now()-f,u=null!==m;if(y(()=>{var a,b;let c;return x({...k,latencyMs:s,status:u?200:502,errorClass:u?null:"upstream_error · bad_response",tokensIn:r.in,tokensOut:r.out},(a=e.headers,b=new Date,c=r&&(null!==r.in||null!==r.out)?(r.in??0)+(r.out??0):null,[...a?(0,q.b)(g,h,a,b):[],...(0,p.$)(g.id,g.limits,h,c,b)]))}),!u)throw new z("upstream_error",(0,q.P)("bad_response",e.status,g.name),502);return{text:o,model:i,usage:r,ms:s}}let C=new Set([429,500,502,503,504]);async function D(a){for(let b of(await (0,r.J)()).filter(b=>b.enabled&&b.id!==a)){let a=(0,s.r)(b.models.filter(a=>a.enabled&&(0,s.W)(a,b.kind)));if(a)return{conn:b,upstream:a.upstream,publicId:(0,s.q)(b,a)}}return null}async function E(a,b){if((0,o.W)())return{text:n.v,model:"demo",usage:{in:null,out:null},ms:0};let c=await A(b.model);try{return await B(c,a,b)}catch(e){if(b.model||!(e instanceof z&&C.has(e.status)))throw e;let d=await D(c.conn.id).catch(()=>null);if(!d)throw e;return console.info(`ai: ${c.conn.name} failed, trying ${d.conn.name}`),B(d,a,b)}}a.s(["X",0,E,"M",0,A],363652);var F=a.i(800717),G=a.i(93321),H=a.i(548734),I=a.i(837137),J=a.i(646324),K=a.i(245710);let L=a=>{let b=(0,K.C)(a);return`${b.day} ${b.month} ${b.year}`},M=a=>a.toLocaleDateString("en-CA",{timeZone:K.h});var N=a.i(960186),O=a.i(715208),P=a.i(910697),Q=a.i(72019),R=a.i(30184);let S="advisor.latest",T=k.z.object({key:g.z.string(),severity:e.z.enum(["warning","info"]),appId:g.z.string().nullable(),subject:g.z.string(),title:g.z.string(),why:g.z.string(),fix:g.z.string(),href:g.z.string()}),U=k.z.object({at:g.z.string(),items:h.z.array(T)});async function V(a){let b=(0,G.b)((0,G.u)(I.resources.kind,"app"),(0,G.u)(I.resources.monitored,!0),(0,G.M)(I.resources.goneAt)),c=await (0,R.P)(),d=await (0,Q.V)(),[e,f,g,h,i]=await Promise.all([(0,H.f)().select({id:I.monitors.id,appId:I.monitors.resourceId,appName:I.resources.name,url:I.monitors.url,kind:I.monitors.kind,name:I.monitors.name,paused:I.monitors.paused,ownerPaused:I.monitors.ownerPaused,lastStatus:I.monitors.lastStatus,expectedStatus:I.monitors.expectedStatus,lastPingAt:I.monitors.lastPingAt,createdAt:I.monitors.createdAt}).from(I.monitors).innerJoin(I.resources,(0,G.u)(I.resources.id,I.monitors.resourceId)).where(b).orderBy(I.resources.name,I.monitors.url).limit(P.O.monitors),(0,H.f)().select({id:I.resources.id,name:I.resources.name,version:I.appSecurity.version}).from(I.resources).innerJoin(I.appSecurity,(0,G.u)(I.appSecurity.resourceId,I.resources.id)).where(b).orderBy(I.resources.name).limit(P.O.apps),(0,H.f)().select({id:I.resources.id,name:I.resources.name,kind:I.resources.kind,accountId:I.resources.accountId,accountLabel:I.accounts.label,state:I.snapshots.state}).from(I.resources).innerJoin(I.accounts,(0,G.u)(I.accounts.id,I.resources.accountId)).leftJoin(I.snapshots,(0,G.u)(I.snapshots.resourceId,I.resources.id)).where((0,G.b)((0,G.y)(I.resources.kind,[...N.H]),(0,G.u)(I.resources.monitored,!0),(0,G.M)(I.resources.goneAt))).orderBy(I.resources.name).limit(P.O.databases),(0,H.f)().select({appId:I.links.fromResourceId,dbId:I.links.toResourceId}).from(I.links).where((0,G.u)(I.links.kind,"uses_db")).limit(P.O.apps),(0,H.f)().select({id:I.accounts.id,provider:I.accounts.provider,label:I.accounts.label,expiresAt:I.accounts.expiresAt,scopeNote:I.accounts.scopeNote}).from(I.accounts).orderBy(I.accounts.label).limit(200)]);return{now:a,monitors:e.map(a=>({id:a.id,appId:a.appId,appName:a.appName,path:"heartbeat"===a.kind?a.url:(0,J.K)(a.url),kind:a.kind,name:a.name,paused:a.paused||a.ownerPaused,lastStatus:a.lastStatus,expectedStatus:a.expectedStatus,lastPingAt:a.lastPingAt,createdAt:a.createdAt})),eol:function(a,b){if(!b)return null;let c=b.cycles.find(a=>!a.isEol)?.latest??null,d=[];for(let e of a){let a=e.version?.split(".")[0],f=a?b.cycles.find(b=>b.name===a):void 0;f&&d.push({appId:e.id,appName:e.name,cycle:f.name,eolFrom:f.eolFrom?new Date(`${f.eolFrom}T00:00:00Z`):null,latest:c})}return d}(f,c),headers:null,dbs:g.map(a=>({id:a.id,name:a.name,provider:(0,N.Z)(a.kind),accountId:a.accountId,accountLabel:a.accountLabel,state:a.state??"unknown"})),slots:(0,O.d)(d).map(a=>({account:a.account,used:a.used,total:a.total,planUnknown:a.planUnknown})),links:h,accounts:i}}async function W(a){let b=function(a){let b=[];for(let c of a.eol??[]){if(!c.eolFrom||c.eolFrom.getTime()-a.now.getTime()>2592e6)continue;let d=c.eolFrom.getTime()<=a.now.getTime(),e=c.latest?.split(".")[0];b.push({key:`next-eol:${c.appId}:${c.cycle}`,severity:"warning",appId:c.appId,subject:c.appName,title:`Next.js ${c.cycle} ${d?"reached":"reaches"} end of life on ${L(c.eolFrom)}`,why:`No security fixes after that date.${c.latest?` Latest is ${c.latest}.`:""}`,fix:e?`Upgrade to Next.js ${e}.`:"Upgrade Next.js.",href:"https://endoflife.date/nextjs"})}for(let c of a.monitors)!c.paused&&("heartbeat"===c.kind&&!c.lastPingAt&&a.now.getTime()-c.createdAt.getTime()>864e5&&b.push({key:`hb-silent:${c.id}`,severity:"warning",appId:c.appId,subject:c.appName,title:`${c.name??"A heartbeat"} has never pinged`,why:"It was added more than a day ago and no job has called its URL.",fix:"Add the ping to the job, or delete the monitor.",href:"/uptime"}),"http"===c.kind&&"/"===c.path&&200===c.expectedStatus&&null!==c.lastStatus&&[401,403,404].includes(c.lastStatus)&&b.push({key:`monitor-root:${c.id}:${c.lastStatus}`,severity:"info",appId:c.appId,subject:c.appName,title:`The monitor on / answers ${c.lastStatus}`,why:`A login or missing page answering ${c.lastStatus} makes the monitor look down.`,fix:`Point the monitor at a public health route, or expect ${c.lastStatus}.`,href:"/uptime"}));for(let c of a.headers??[]){if(!c.missing.length)continue;let a=[...c.missing].sort();b.push({key:`headers:${c.appId}:${a.join(",")}`,severity:"info",appId:c.appId,subject:c.appName,title:`Missing security headers: ${a.join(", ")}`,why:"Browsers use them to block clickjacking, sniffing and downgrade attacks.",fix:"Add them in next.config headers().",href:"https://developer.mozilla.org/en-US/observatory"})}for(let c of a.slots??[])c.used<c.total||b.push({key:`no-slot:${c.account}`,severity:"warning",appId:null,subject:`supabase \xb7 ${c.account}`,title:`Account ${c.account} has no free slot`,why:c.planUnknown?"Two projects are active. If this account is on the free plan (it couldn't be read), a paused one can't be restored here.":"Both free projects are active, so a paused one can't be restored here.",fix:"Pause one project, or move one to another account.",href:"/supabase"});if(a.dbs&&a.links){let c=new Set(a.links.map(a=>a.dbId));for(let d of a.dbs.filter(a=>!c.has(a.id)))b.push({key:`db-unlinked:${d.id}`,severity:"info",appId:null,subject:d.name,title:"Database isn't linked to any app",why:"Topology and the app status can't use it.",fix:"Link it from the app page.",href:"/apps"})}for(let c of a.accounts)"supabase"===c.provider&&c.scopeNote&&/all[- ]access/i.test(c.scopeNote)&&b.push({key:`broad-cred:${c.id}`,severity:"info",appId:null,subject:`supabase \xb7 ${c.label}`,title:`${c.label} uses an all-access token`,why:"The console only reads; a broader token is a bigger risk if it ever leaks.",fix:"Replace it with a read-only token in Connections, then revoke the old one in Supabase.",href:"/connections"});for(let c of a.accounts){if(!c.expiresAt)continue;let d=c.expiresAt.getTime()-a.now.getTime();d>=12096e5&&d<=5184e6&&b.push({key:`cred-60:${c.id}:${M(c.expiresAt)}`,severity:"info",appId:null,subject:`${c.provider} \xb7 ${c.label}`,title:`The ${c.provider} credential ${c.label} expires on ${(0,K.L)(c.expiresAt)}`,why:"An expired credential stops every reading from that account.",fix:"Create a new one and use Replace credential in Connections.",href:"/connections"})}return b.map((a,b)=>({r:a,i:b})).sort((a,b)=>("warning"!==a.r.severity)-("warning"!==b.r.severity)||a.i-b.i).map(({r:a})=>a).slice(0,50)}(await V(a)),c={at:a.toISOString(),items:b};return await (0,H.f)().insert(I.settings).values({key:S,value:c}).onConflictDoUpdate({target:I.settings.key,set:{value:c,updatedAt:a}}),b}async function X(a){let[b]=await (0,H.f)().select({value:I.settings.value}).from(I.settings).where((0,G.u)(I.settings.key,S)).limit(1),c=U.safeParse(b?.value);return c.success?c.data.items:W(a)}async function Y(a,b){var c;let d=await X(a);if(!d.length)return[];let e=await (0,H.f)().select({key:I.recommendationDismissals.key,dismissedAt:I.recommendationDismissals.dismissedAt}).from(I.recommendationDismissals).where((0,G.y)(I.recommendationDismissals.key,d.map(a=>a.key))).limit(50),f=(c=new Map(e.map(a=>[a.key,a.dismissedAt])),d.filter(b=>{let d=c.get(b.key);return!d||a.getTime()-d.getTime()>=2592e6}));return b?f.filter(a=>a.appId===b):f}async function Z(a,b,c){if("string"!=typeof a||0===a.length||a.length>200)return{ok:!1,error:"Something in that request wasn't valid."};let d=(await X(c)).find(b=>b.key===a);return d?(await (0,H.f)().insert(I.recommendationDismissals).values({key:a,dismissedAt:c,dismissedBy:b}).onConflictDoUpdate({target:I.recommendationDismissals.key,set:{dismissedAt:c,dismissedBy:b}}),{ok:!0,title:d.title,appId:d.appId}):{ok:!1,error:"That item is no longer on the list."}}a.s(["$",0,Z,"T",0,Y],875016);var $=a.i(455317),_=a.i(840784),aa=a.i(532620);a.i(264906),a.i(292321);var ab=a.i(895176),ac=a.i(556987),ad=a.i(469762),ae=a.i(505237),af=a.i(968715),ag=a.i(201516);let ah=a=>"heartbeat"===a.kind?a.lastError?a.lastError.replace(/^(Down|Late) · /,""):"warn"===a.state?"Late":"No ping":(0,ag.H)(a)??(a.lastStatus?`HTTP ${a.lastStatus}`:a.lastError||"No answer");function ai(a,b){if(a.gone)return[];let c=[],d=a.monitors.filter(a=>(0,ag.i)(a)&&!a.maintUntil&&("err"===a.state||"warn"===a.state)),e=a=>2*("heartbeat"===a.kind)+ +("err"!==a.state);for(let a of[...d].sort((a,b)=>e(a)-e(b))){let b="heartbeat"===a.kind,d=b?a.name??a.path:a.path;c.push({kind:"monitor",where:b?`Monitor ${d} (heartbeat)`:`Monitor ${d}`,subject:d,state:a.state,reason:ah(a),since:a.stateSince??(b?a.lastPingAt??null:null),href:"/uptime",remedies:b?function(a){let b=(a.lastError??"").toLowerCase();return b.includes("failure")?["The job reported a failure: open its logs","Fix and re-run the job; the next OK ping clears it"]:b.includes("didn't finish")||b.includes("started")?["The job started but never finished: it may have hung or hit its timeout","Check the job's own logs for where it stopped","Raise the job's timeout, or fix what it waits on; the next OK ping clears it"]:["Check that the job's scheduler ran (cron, Vercel Cron, GitHub Actions)","Check the job's own logs for errors before the ping line","Make sure the job calls the ping URL at the end (curl -fsS -m 10 <url>)","If the job is retired, pause or delete the heartbeat"]}(a):function(a){let b=a.lastError??"";if(/blocked address/i.test(b))return["The monitor's URL resolves to a private address; fix the URL in Edit monitor"];let c=(0,ag.H)(a);if(c&&/keyword|json|body|content/i.test(c))return["The page answered but its content changed: check the keyword or JSON path in Edit monitor, or the page itself"];let d=a.lastStatus;return null!==d&&d>=500?["Open Logs (last hour) for errors","Check the latest deployment; roll back if it started after the deploy"]:null!==d&&d>=300?["Check the expected status and path in Edit monitor","The route may need sign-in or moved"]:null===d||c?["Check the domain, DNS and the provider status page","Cold start or overload: retry with Check now"]:["Open Logs (last hour) for errors","Check the latest deployment; roll back if it started after the deploy"]}(a)})}a.dbPaused&&a.database&&c.push({kind:"database",where:`Database ${a.database.name}`,subject:a.database.name,state:"warn",reason:"Paused",since:a.stateSince??null,href:(0,N.N)(a.database.kind),remedies:["Restore the database from its provider (Supabase restore)"]});let f=a.lastDeploy;if(f&&"error"===f.state){let a=(0,ad._)(f.commitSha);c.push({kind:"deployment",where:`Production deployment ${a}`,subject:a,state:"fail",reason:"Build failed",since:f.readyAt??f.createdAt,href:"/deployments",remedies:["Open the deployment's build logs; redeploy after fixing"]})}return c}a.s(["f",0,ai],240387);var aj=a.i(425238);let ak=["apps","monitors","alerts","advisor"],al=a=>null===a?null:Math.round(100*a)/100,am=(0,F.cache)(()=>(0,aa.e)()),an=(0,F.cache)(a=>(0,_.G)(new Date(a))),ao=(0,F.cache)(a=>(0,ab.d)(new Date(a))),ap=(0,F.cache)(()=>(0,$.q)()),aq=(0,F.cache)(a=>Y(new Date(a))),ar={ok:"running",warn:"degraded",err:"down",build:"building",paused:"paused",maint:"paused"},as={ok:"up",warn:"degraded",err:"down"},at=(a,b,c)=>{let d=(0,ae.k)(a),e=ai({...a,database:a.database?{id:a.database.id,kind:a.database.kind,name:(0,ac.X)(b,a.database.id)}:null},c);return{id:a.name,state:ar[d.state]??"unknown",uptime30d:al(a.uptime30),database:a.database?(0,ac.X)(b,a.database.id):null,lastDeploy:a.lastDeploy?`${(0,ad._)(a.lastDeploy.commitSha)} \xb7 ${(0,ad.$)(a.lastDeploy,c)}`:null,problems:e.map(a=>({kind:a.kind,where:(0,aj.F)(a.where,b),what:(0,aj.F)(a.reason,b),fix:a.remedies.length?(0,aj.F)(a.remedies.join("; "),b):null}))}},au=a=>a.paused||a.ownerPaused?"paused":as[a.state]??"unknown",av=(0,F.cache)(async a=>{let b=new Date(a),[c,d]=await Promise.all([an(a),am()]);return c.filter(a=>!a.gone).map(a=>at(a,d,b))}),aw=(0,F.cache)(async a=>{let[b,c]=await Promise.all([ao(a),am()]),d=b.filter(a=>!a.appGone).map(a=>({app:a.appName,path:(0,aj.F)(a.path,c),kind:a.kind,state:au(a),lastStatus:a.lastStatus,latencyMs:a.lastLatencyMs,uptime30d:al(a.uptime30),lastCheckedAt:a.lastCheckedAt?.toISOString()??null})),e=a=>d.filter(b=>b.state===a).length;return{up:e("up"),degraded:e("degraded"),down:e("down"),paused:e("paused"),items:d.filter(a=>"up"!==a.state)}}),ax=(0,F.cache)(async()=>{let[a,b]=await Promise.all([ap(),am()]),c=a.slice(0,50).map(a=>{let c=(0,ac.o)(a,b);return{title:(0,aj.F)(c.title,b),severity:a.severity,app:"app"===a.resourceKind?a.resourceName:null,since:a.startedAt.toISOString(),message:(0,aj.F)(c.message,b)}});return{open:a.length,critical:a.filter(a=>"critical"===a.severity).length,items:c}}),ay=(0,F.cache)(async a=>{let[b,c,d]=await Promise.all([aq(a),an(a),am()]),e=new Map(c.map(a=>[a.id,a.name]));return b.map(a=>{let b=(0,ac.d)(a,d);return{title:(0,aj.F)(b.title,d),app:a.appId&&e.get(a.appId)||"console",severity:a.severity}})}),az=a=>ay(a.getTime());async function aA(a,b=ak){let c=new Set(b),[d,e,f,g]=await Promise.all([c.has("apps")?av(a.getTime()):Promise.resolve([]),c.has("monitors")?aw(a.getTime()):Promise.resolve({up:0,degraded:0,down:0,paused:0}),c.has("alerts")?ax():Promise.resolve({open:0,critical:0}),c.has("advisor")?az(a):Promise.resolve(void 0)]);return{generatedAt:a.toISOString(),apps:d,monitors:e,alerts:f,...g?{advisor:g}:{}}}async function aB(a,b){let c=a.trim().toLowerCase();return c?(await an(b.getTime())).find(a=>!a.gone&&(a.id.toLowerCase()===c||a.name.toLowerCase()===c))??null:null}async function aC(a,b){let[c,d]=await Promise.all([aB(a,b),am()]);return c?{...at(c,d,b),monitors:c.monitors.map(a=>({path:(0,aj.F)(a.path,d),kind:a.kind,state:au(a),lastStatus:a.lastStatus,latencyMs:a.lastLatencyMs,uptime30d:al((0,af.Y)((0,af.w)(c.days.get(a.id),b,af.I)))}))}:null}a.s(["w",0,aC,"V",0,aA,"y",0,az],501634)}];
1
+ module.exports=[363652,875016,240387,501634,a=>{"use strict";var b=a.i(843405),c=a.i(811365),d=a.i(732084),e=a.i(149310),f=a.i(827857),g=a.i(427221),h=a.i(689963),i=a.i(191179),j=a.i(954757),j=j,k=a.i(26972),l=a.i(83931),m=a.i(899370),n=a.i(19809),o=a.i(371289);a.i(312573),a.i(771262),a.i(344934),a.i(729015);var p=a.i(213935),q=a.i(337830),r=a.i(711672),s=a.i(208683),t=a.i(61017);let u=()=>c.z.number().finite(),v=d.z.looseObject({role:e.z.enum(["system","developer","user","assistant","tool","function"]),content:f.z.union([g.z.string(),h.z.array(i.z.unknown()),j.null()]).optional()});k.z.object({model:g.z.string().trim().min(1).max(200),messages:h.z.array(v).min(1).max(100),stream:l.z.boolean().nullish(),stream_options:d.z.looseObject({}).nullish(),temperature:u().min(0).max(2).nullish(),top_p:u().min(0).max(1).nullish(),max_tokens:c.z.number().int().min(1).max(1e6).nullish(),max_completion_tokens:c.z.number().int().min(1).max(1e6).nullish(),stop:f.z.union([g.z.string().max(200),h.z.array(g.z.string().max(200)).max(4)]).nullish(),n:m.z.literal(1).nullish(),presence_penalty:u().min(-2).max(2).nullish(),frequency_penalty:u().min(-2).max(2).nullish(),seed:c.z.number().int().nullish(),response_format:d.z.looseObject({type:g.z.string().max(40)}).nullish(),tools:h.z.array(d.z.looseObject({})).max(128).nullish(),tool_choice:f.z.union([g.z.string().max(40),d.z.looseObject({})]).nullish(),user:g.z.string().max(256).nullish()});let w=a=>"number"==typeof a&&Number.isFinite(a)&&a>=0?Math.round(a):null;function x(a,b=[]){return(0,t.h)(a,b).catch(a=>{console.error("ai usage not recorded:",a instanceof Error?a.name:"unknown")})}function y(a){try{(0,b.after)(a)}catch{a()}}class z extends Error{type;status;constructor(a,b,c){super(b),this.type=a,this.status=c,this.name="GatewayError"}}async function A(a){if(a){let b=await (0,r.p)(a,null);if("provider_not_connected"===b)throw new z(b,"No AI provider is connected. Connect one under AI Gateway › Bring your own key.",503);if("model_not_enabled"===b)throw new z(b,`Model "${a.slice(0,120)}" isn't enabled.`,400);return b}let[b,c]=await Promise.all([(0,r.J)(),(0,r.A)()]);if(c){let a=(0,s.O)(b,c,null);if("string"!=typeof a)return{conn:a.conn,upstream:a.model.upstream,publicId:a.publicId}}let d=(0,s.H)(b);if(!d)throw new z("provider_not_connected","No AI provider is connected. Connect one under AI Gateway › Bring your own key.",503);let e=(0,s.r)(d.models.filter(a=>a.enabled&&(0,s.W)(a,d.kind)));if(!e)throw new z("model_not_enabled",`No model is turned on for ${d.name}. Turn one on under Models.`,400);return{conn:d,upstream:e.upstream,publicId:(0,s.q)(d,e)}}async function B(a,b,c){var d;let e,f=Date.now(),{conn:g,upstream:h,publicId:i}=a,j={...t.q,userAgent:`Watchbell console (${c.purpose})`},k={at:new Date(f),keyId:null,client:j,providerId:g.id,model:i,kind:"console",tool:null,stream:!1},l={model:h,messages:b,max_tokens:Math.min(Math.max(c.maxTokens??1024,1),8192),...void 0!==c.temperature?{temperature:c.temperature}:{}};try{e=c.timeoutMs?await (0,q.a)(g,l,new AbortController().signal,c.timeoutMs):await (0,q.a)(g,l,new AbortController().signal)}catch(b){let a=b instanceof q.r?b.info:{type:"upstream_error",errorClass:"network",status:502};throw y(()=>x({...k,latencyMs:Date.now()-f,status:a.status,errorClass:`${a.type} \xb7 ${a.errorClass}`,tokensIn:null,tokensOut:null})),new z(a.type,b instanceof q.r?b.message:(0,q.P)("network",0,g.name),a.status)}if(!e.ok){let a=await e.text().catch(()=>""),b=(0,q.w)(e.status,a);throw y(()=>x({...k,latencyMs:Date.now()-f,status:b.status,errorClass:`${b.type} \xb7 ${b.errorClass}`,tokensIn:null,tokensOut:null},(0,q.b)(g,h,e.headers,new Date))),new z(b.type,(0,q.P)(b.errorClass,e.status,g.name),b.status)}let m=await e.json().catch(()=>null),n=m?.choices?.[0]?.message?.content,o="string"==typeof n?n:Array.isArray(n)?n.map(a=>a&&"object"==typeof a&&"text"in a?String(a.text):"").join(""):"",r=((d=m?.usage)&&"object"==typeof d?{in:w(d.prompt_tokens),out:w(d.completion_tokens)}:null)??{in:null,out:null},s=Date.now()-f,u=null!==m;if(y(()=>{var a,b;let c;return x({...k,latencyMs:s,status:u?200:502,errorClass:u?null:"upstream_error · bad_response",tokensIn:r.in,tokensOut:r.out},(a=e.headers,b=new Date,c=r&&(null!==r.in||null!==r.out)?(r.in??0)+(r.out??0):null,[...a?(0,q.b)(g,h,a,b):[],...(0,p.$)(g.id,g.limits,h,c,b)]))}),!u)throw new z("upstream_error",(0,q.P)("bad_response",e.status,g.name),502);return{text:o,model:i,usage:r,ms:s}}let C=new Set([429,500,502,503,504]);async function D(a){for(let b of(await (0,r.J)()).filter(b=>b.enabled&&b.id!==a)){let a=(0,s.r)(b.models.filter(a=>a.enabled&&(0,s.W)(a,b.kind)));if(a)return{conn:b,upstream:a.upstream,publicId:(0,s.q)(b,a)}}return null}async function E(a,b){if((0,o.W)())return{text:n.v,model:"demo",usage:{in:null,out:null},ms:0};let c=await A(b.model);try{return await B(c,a,b)}catch(e){if(b.model||!(e instanceof z&&C.has(e.status)))throw e;let d=await D(c.conn.id).catch(()=>null);if(!d)throw e;return console.info(`ai: ${c.conn.name} failed, trying ${d.conn.name}`),B(d,a,b)}}a.s(["X",0,E,"M",0,A],363652);var F=a.i(800717),G=a.i(93321),H=a.i(548734),I=a.i(837137),J=a.i(646324),K=a.i(245710);let L=a=>{let b=(0,K.e)(a);return`${b.day} ${b.month} ${b.year}`},M=K.x;var N=a.i(960186),O=a.i(715208),P=a.i(910697),Q=a.i(72019),R=a.i(30184);let S="advisor.latest",T=k.z.object({key:g.z.string(),severity:e.z.enum(["warning","info"]),appId:g.z.string().nullable(),subject:g.z.string(),title:g.z.string(),why:g.z.string(),fix:g.z.string(),href:g.z.string()}),U=k.z.object({at:g.z.string(),items:h.z.array(T)});async function V(a){let b=(0,G.b)((0,G.u)(I.resources.kind,"app"),(0,G.u)(I.resources.monitored,!0),(0,G.M)(I.resources.goneAt)),c=await (0,R.P)(),d=await (0,Q.V)(),[e,f,g,h,i]=await Promise.all([(0,H.f)().select({id:I.monitors.id,appId:I.monitors.resourceId,appName:I.resources.name,url:I.monitors.url,kind:I.monitors.kind,name:I.monitors.name,paused:I.monitors.paused,ownerPaused:I.monitors.ownerPaused,lastStatus:I.monitors.lastStatus,expectedStatus:I.monitors.expectedStatus,lastPingAt:I.monitors.lastPingAt,createdAt:I.monitors.createdAt}).from(I.monitors).innerJoin(I.resources,(0,G.u)(I.resources.id,I.monitors.resourceId)).where(b).orderBy(I.resources.name,I.monitors.url).limit(P.O.monitors),(0,H.f)().select({id:I.resources.id,name:I.resources.name,version:I.appSecurity.version}).from(I.resources).innerJoin(I.appSecurity,(0,G.u)(I.appSecurity.resourceId,I.resources.id)).where(b).orderBy(I.resources.name).limit(P.O.apps),(0,H.f)().select({id:I.resources.id,name:I.resources.name,kind:I.resources.kind,accountId:I.resources.accountId,accountLabel:I.accounts.label,state:I.snapshots.state}).from(I.resources).innerJoin(I.accounts,(0,G.u)(I.accounts.id,I.resources.accountId)).leftJoin(I.snapshots,(0,G.u)(I.snapshots.resourceId,I.resources.id)).where((0,G.b)((0,G.y)(I.resources.kind,[...N.H]),(0,G.u)(I.resources.monitored,!0),(0,G.M)(I.resources.goneAt))).orderBy(I.resources.name).limit(P.O.databases),(0,H.f)().select({appId:I.links.fromResourceId,dbId:I.links.toResourceId}).from(I.links).where((0,G.u)(I.links.kind,"uses_db")).limit(P.O.apps),(0,H.f)().select({id:I.accounts.id,provider:I.accounts.provider,label:I.accounts.label,expiresAt:I.accounts.expiresAt,scopeNote:I.accounts.scopeNote}).from(I.accounts).orderBy(I.accounts.label).limit(200)]);return{now:a,monitors:e.map(a=>({id:a.id,appId:a.appId,appName:a.appName,path:"heartbeat"===a.kind?a.url:(0,J.K)(a.url),kind:a.kind,name:a.name,paused:a.paused||a.ownerPaused,lastStatus:a.lastStatus,expectedStatus:a.expectedStatus,lastPingAt:a.lastPingAt,createdAt:a.createdAt})),eol:function(a,b){if(!b)return null;let c=b.cycles.find(a=>!a.isEol)?.latest??null,d=[];for(let e of a){let a=e.version?.split(".")[0],f=a?b.cycles.find(b=>b.name===a):void 0;f&&d.push({appId:e.id,appName:e.name,cycle:f.name,eolFrom:f.eolFrom?new Date(`${f.eolFrom}T00:00:00Z`):null,latest:c})}return d}(f,c),headers:null,dbs:g.map(a=>({id:a.id,name:a.name,provider:(0,N.Z)(a.kind),accountId:a.accountId,accountLabel:a.accountLabel,state:a.state??"unknown"})),slots:(0,O.d)(d).map(a=>({account:a.account,used:a.used,total:a.total,planUnknown:a.planUnknown})),links:h,accounts:i}}async function W(a){let b=function(a){let b=[];for(let c of a.eol??[]){if(!c.eolFrom||c.eolFrom.getTime()-a.now.getTime()>2592e6)continue;let d=c.eolFrom.getTime()<=a.now.getTime(),e=c.latest?.split(".")[0];b.push({key:`next-eol:${c.appId}:${c.cycle}`,severity:"warning",appId:c.appId,subject:c.appName,title:`Next.js ${c.cycle} ${d?"reached":"reaches"} end of life on ${L(c.eolFrom)}`,why:`No security fixes after that date.${c.latest?` Latest is ${c.latest}.`:""}`,fix:e?`Upgrade to Next.js ${e}.`:"Upgrade Next.js.",href:"https://endoflife.date/nextjs"})}for(let c of a.monitors)!c.paused&&("heartbeat"===c.kind&&!c.lastPingAt&&a.now.getTime()-c.createdAt.getTime()>864e5&&b.push({key:`hb-silent:${c.id}`,severity:"warning",appId:c.appId,subject:c.appName,title:`${c.name??"A heartbeat"} has never pinged`,why:"It was added more than a day ago and no job has called its URL.",fix:"Add the ping to the job, or delete the monitor.",href:"/uptime"}),"http"===c.kind&&"/"===c.path&&200===c.expectedStatus&&null!==c.lastStatus&&[401,403,404].includes(c.lastStatus)&&b.push({key:`monitor-root:${c.id}:${c.lastStatus}`,severity:"info",appId:c.appId,subject:c.appName,title:`The monitor on / answers ${c.lastStatus}`,why:`A login or missing page answering ${c.lastStatus} makes the monitor look down.`,fix:`Point the monitor at a public health route, or expect ${c.lastStatus}.`,href:"/uptime"}));for(let c of a.headers??[]){if(!c.missing.length)continue;let a=[...c.missing].sort();b.push({key:`headers:${c.appId}:${a.join(",")}`,severity:"info",appId:c.appId,subject:c.appName,title:`Missing security headers: ${a.join(", ")}`,why:"Browsers use them to block clickjacking, sniffing and downgrade attacks.",fix:"Add them in next.config headers().",href:"https://developer.mozilla.org/en-US/observatory"})}for(let c of a.slots??[])c.used<c.total||b.push({key:`no-slot:${c.account}`,severity:"warning",appId:null,subject:`supabase \xb7 ${c.account}`,title:`Account ${c.account} has no free slot`,why:c.planUnknown?"Two projects are active. If this account is on the free plan (it couldn't be read), a paused one can't be restored here.":"Both free projects are active, so a paused one can't be restored here.",fix:"Pause one project, or move one to another account.",href:"/supabase"});if(a.dbs&&a.links){let c=new Set(a.links.map(a=>a.dbId));for(let d of a.dbs.filter(a=>!c.has(a.id)))b.push({key:`db-unlinked:${d.id}`,severity:"info",appId:null,subject:d.name,title:"Database isn't linked to any app",why:"Topology and the app status can't use it.",fix:"Link it from the app page.",href:"/apps"})}for(let c of a.accounts)"supabase"===c.provider&&c.scopeNote&&/all[- ]access/i.test(c.scopeNote)&&b.push({key:`broad-cred:${c.id}`,severity:"info",appId:null,subject:`supabase \xb7 ${c.label}`,title:`${c.label} uses an all-access token`,why:"The console only reads; a broader token is a bigger risk if it ever leaks.",fix:"Replace it with a read-only token in Connections, then revoke the old one in Supabase.",href:"/connections"});for(let c of a.accounts){if(!c.expiresAt)continue;let d=c.expiresAt.getTime()-a.now.getTime();d>=12096e5&&d<=5184e6&&b.push({key:`cred-60:${c.id}:${M(c.expiresAt)}`,severity:"info",appId:null,subject:`${c.provider} \xb7 ${c.label}`,title:`The ${c.provider} credential ${c.label} expires on ${(0,K.L)(c.expiresAt)}`,why:"An expired credential stops every reading from that account.",fix:"Create a new one and use Replace credential in Connections.",href:"/connections"})}return b.map((a,b)=>({r:a,i:b})).sort((a,b)=>("warning"!==a.r.severity)-("warning"!==b.r.severity)||a.i-b.i).map(({r:a})=>a).slice(0,50)}(await V(a)),c={at:a.toISOString(),items:b};return await (0,H.f)().insert(I.settings).values({key:S,value:c}).onConflictDoUpdate({target:I.settings.key,set:{value:c,updatedAt:a}}),b}async function X(a){let[b]=await (0,H.f)().select({value:I.settings.value}).from(I.settings).where((0,G.u)(I.settings.key,S)).limit(1),c=U.safeParse(b?.value);return c.success?c.data.items:W(a)}async function Y(a,b){var c;let d=await X(a);if(!d.length)return[];let e=await (0,H.f)().select({key:I.recommendationDismissals.key,dismissedAt:I.recommendationDismissals.dismissedAt}).from(I.recommendationDismissals).where((0,G.y)(I.recommendationDismissals.key,d.map(a=>a.key))).limit(50),f=(c=new Map(e.map(a=>[a.key,a.dismissedAt])),d.filter(b=>{let d=c.get(b.key);return!d||a.getTime()-d.getTime()>=2592e6}));return b?f.filter(a=>a.appId===b):f}async function Z(a,b,c){if("string"!=typeof a||0===a.length||a.length>200)return{ok:!1,error:"Something in that request wasn't valid."};let d=(await X(c)).find(b=>b.key===a);return d?(await (0,H.f)().insert(I.recommendationDismissals).values({key:a,dismissedAt:c,dismissedBy:b}).onConflictDoUpdate({target:I.recommendationDismissals.key,set:{dismissedAt:c,dismissedBy:b}}),{ok:!0,title:d.title,appId:d.appId}):{ok:!1,error:"That item is no longer on the list."}}a.s(["$",0,Z,"T",0,Y],875016);var $=a.i(455317),_=a.i(840784),aa=a.i(532620);a.i(264906),a.i(785459);var ab=a.i(895176),ac=a.i(556987),ad=a.i(469762),ae=a.i(505237),af=a.i(968715),ag=a.i(201516);let ah=a=>"heartbeat"===a.kind?a.lastError?a.lastError.replace(/^(Down|Late) · /,""):"warn"===a.state?"Late":"No ping":(0,ag.H)(a)??(a.lastStatus?`HTTP ${a.lastStatus}`:a.lastError||"No answer");function ai(a,b){if(a.gone)return[];let c=[],d=a.monitors.filter(a=>(0,ag.i)(a)&&!a.maintUntil&&("err"===a.state||"warn"===a.state)),e=a=>2*("heartbeat"===a.kind)+ +("err"!==a.state);for(let a of[...d].sort((a,b)=>e(a)-e(b))){let b="heartbeat"===a.kind,d=b?a.name??a.path:a.path;c.push({kind:"monitor",where:b?`Monitor ${d} (heartbeat)`:`Monitor ${d}`,subject:d,state:a.state,reason:ah(a),since:a.stateSince??(b?a.lastPingAt??null:null),href:"/uptime",remedies:b?function(a){let b=(a.lastError??"").toLowerCase();return b.includes("failure")?["The job reported a failure: open its logs","Fix and re-run the job; the next OK ping clears it"]:b.includes("didn't finish")||b.includes("started")?["The job started but never finished: it may have hung or hit its timeout","Check the job's own logs for where it stopped","Raise the job's timeout, or fix what it waits on; the next OK ping clears it"]:["Check that the job's scheduler ran (cron, Vercel Cron, GitHub Actions)","Check the job's own logs for errors before the ping line","Make sure the job calls the ping URL at the end (curl -fsS -m 10 <url>)","If the job is retired, pause or delete the heartbeat"]}(a):function(a){let b=a.lastError??"";if(/blocked address/i.test(b))return["The monitor's URL resolves to a private address; fix the URL in Edit monitor"];let c=(0,ag.H)(a);if(c&&/keyword|json|body|content/i.test(c))return["The page answered but its content changed: check the keyword or JSON path in Edit monitor, or the page itself"];let d=a.lastStatus;return null!==d&&d>=500?["Open Logs (last hour) for errors","Check the latest deployment; roll back if it started after the deploy"]:null!==d&&d>=300?["Check the expected status and path in Edit monitor","The route may need sign-in or moved"]:null===d||c?["Check the domain, DNS and the provider status page","Cold start or overload: retry with Check now"]:["Open Logs (last hour) for errors","Check the latest deployment; roll back if it started after the deploy"]}(a)})}a.dbPaused&&a.database&&c.push({kind:"database",where:`Database ${a.database.name}`,subject:a.database.name,state:"warn",reason:"Paused",since:a.stateSince??null,href:(0,N.N)(a.database.kind),remedies:["Restore the database from its provider (Supabase restore)"]});let f=a.lastDeploy;if(f&&"error"===f.state){let a=(0,ad._)(f.commitSha);c.push({kind:"deployment",where:`Production deployment ${a}`,subject:a,state:"fail",reason:"Build failed",since:f.readyAt??f.createdAt,href:"/deployments",remedies:["Open the deployment's build logs; redeploy after fixing"]})}return c}a.s(["f",0,ai],240387);var aj=a.i(425238);let ak=["apps","monitors","alerts","advisor"],al=a=>null===a?null:Math.round(100*a)/100,am=(0,F.cache)(()=>(0,aa.e)()),an=(0,F.cache)(a=>(0,_.G)(new Date(a))),ao=(0,F.cache)(a=>(0,ab.d)(new Date(a))),ap=(0,F.cache)(()=>(0,$.q)()),aq=(0,F.cache)(a=>Y(new Date(a))),ar={ok:"running",warn:"degraded",err:"down",build:"building",paused:"paused",maint:"paused"},as={ok:"up",warn:"degraded",err:"down"},at=(a,b,c)=>{let d=(0,ae.k)(a),e=ai({...a,database:a.database?{id:a.database.id,kind:a.database.kind,name:(0,ac.X)(b,a.database.id)}:null},c);return{id:a.name,state:ar[d.state]??"unknown",uptime30d:al(a.uptime30),database:a.database?(0,ac.X)(b,a.database.id):null,lastDeploy:a.lastDeploy?`${(0,ad._)(a.lastDeploy.commitSha)} \xb7 ${(0,ad.$)(a.lastDeploy,c)}`:null,problems:e.map(a=>({kind:a.kind,where:(0,aj.F)(a.where,b),what:(0,aj.F)(a.reason,b),fix:a.remedies.length?(0,aj.F)(a.remedies.join("; "),b):null}))}},au=a=>a.paused||a.ownerPaused?"paused":as[a.state]??"unknown",av=(0,F.cache)(async a=>{let b=new Date(a),[c,d]=await Promise.all([an(a),am()]);return c.filter(a=>!a.gone).map(a=>at(a,d,b))}),aw=(0,F.cache)(async a=>{let[b,c]=await Promise.all([ao(a),am()]),d=b.filter(a=>!a.appGone).map(a=>({app:a.appName,path:(0,aj.F)(a.path,c),kind:a.kind,state:au(a),lastStatus:a.lastStatus,latencyMs:a.lastLatencyMs,uptime30d:al(a.uptime30),lastCheckedAt:a.lastCheckedAt?.toISOString()??null})),e=a=>d.filter(b=>b.state===a).length;return{up:e("up"),degraded:e("degraded"),down:e("down"),paused:e("paused"),items:d.filter(a=>"up"!==a.state)}}),ax=(0,F.cache)(async()=>{let[a,b]=await Promise.all([ap(),am()]),c=a.slice(0,50).map(a=>{let c=(0,ac.o)(a,b);return{title:(0,aj.F)(c.title,b),severity:a.severity,app:"app"===a.resourceKind?a.resourceName:null,since:a.startedAt.toISOString(),message:(0,aj.F)(c.message,b)}});return{open:a.length,critical:a.filter(a=>"critical"===a.severity).length,items:c}}),ay=(0,F.cache)(async a=>{let[b,c,d]=await Promise.all([aq(a),an(a),am()]),e=new Map(c.map(a=>[a.id,a.name]));return b.map(a=>{let b=(0,ac.d)(a,d);return{title:(0,aj.F)(b.title,d),app:a.appId&&e.get(a.appId)||"console",severity:a.severity}})}),az=a=>ay(a.getTime());async function aA(a,b=ak){let c=new Set(b),[d,e,f,g]=await Promise.all([c.has("apps")?av(a.getTime()):Promise.resolve([]),c.has("monitors")?aw(a.getTime()):Promise.resolve({up:0,degraded:0,down:0,paused:0}),c.has("alerts")?ax():Promise.resolve({open:0,critical:0}),c.has("advisor")?az(a):Promise.resolve(void 0)]);return{generatedAt:a.toISOString(),apps:d,monitors:e,alerts:f,...g?{advisor:g}:{}}}async function aB(a,b){let c=a.trim().toLowerCase();return c?(await an(b.getTime())).find(a=>!a.gone&&(a.id.toLowerCase()===c||a.name.toLowerCase()===c))??null:null}async function aC(a,b){let[c,d]=await Promise.all([aB(a,b),am()]);return c?{...at(c,d,b),monitors:c.monitors.map(a=>({path:(0,aj.F)(a.path,d),kind:a.kind,state:au(a),lastStatus:a.lastStatus,latencyMs:a.lastLatencyMs,uptime30d:al((0,af.Y)((0,af.w)(c.days.get(a.id),b,af.I)))}))}:null}a.s(["w",0,aC,"V",0,aA,"y",0,az],501634)}];
2
2
 
3
3
  //# sourceMappingURL=src_private_ai_gateway_ts_04_5ao9914d0p._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[804224,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(379416),e=a.i(26972),f=a.i(427221),g=a.i(83931),h=a.i(600079),i=a.i(109307),j=a.i(312573),k=a.i(323878),l=a.i(601219),m=a.i(931256),n=a.i(711672),o=a.i(208683),p=a.i(713095);let q={requireActionMember:i.g},r=d.z.uuid(),s=e.z.object({apiKey:f.z.string().max(500).optional(),accountId:f.z.string().max(64).optional(),baseUrl:f.z.string().max(300).optional(),name:f.z.string().max(60).optional(),makeDefault:g.z.boolean().optional()});function t(){for(let a of["/ai","/ai/providers","/ai/models","/ai/quota","/ai/playground"])(0,c.revalidatePath)(a)}async function u(a,b,c,d){try{await (0,l.f)([{type:"action",kind:"ok",message:b.slice(0,200),detail:`provider ${c}`,resourceId:null,actorUserId:d,reason:a}])}catch{console.warn("provider audit failed")}}let v=a=>a.ok?{ok:!0,message:a.message}:{ok:!1,error:a.error,fieldErrors:a.fieldErrors},w={ok:!1,error:"That connection no longer exists."};async function x(a){let b=await (0,k.C)(j.t.credential,a);return b.allowed?null:{ok:!1,error:`Too many connection tests. Try again in ${(0,j.H)(b.retryAfter)}.`}}async function y(a,b){return(0,h.F)("owner",async c=>{let d=s.safeParse(b);if(!d.success)return{ok:!1,error:"Check the fields."};let e=await x(c.id);if(e)return e;let f=await n.u(a,d.data);if(f.ok){t();let b="custom"===a?d.data.name?.trim()||"Custom":(0,m.W)(a)?m.M[a].name:a;await u("AiProviderConnected",`AI provider connected: ${b}`,a,c.userId)}return f},q)}async function z(a,b){return(0,h.F)("owner",async c=>{let d=s.safeParse(b);if(!r.safeParse(a).success||!d.success)return w;let e=await x(c.id);if(e)return e;let f=await n.Q(a,d.data);return f.ok?(t(),f.data&&await u("AiProviderKeyReplaced",`AI provider key replaced: ${f.data.name}`,f.data.kind,c.userId),{ok:!0,message:f.message,data:{models:f.data?.models??[]}}):v(f)},q)}async function A(a){return(0,h.F)("owner",async b=>{if(!r.safeParse(a).success)return w;let c=await x(b.id);if(c)return c;let d=await n.q(a);return t(),d},q)}async function B(a,b){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success)return w;let c=await n.k(a,!0===b);return t(),c},q)}async function C(a){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success)return w;let b=await n.E(a);return t(),b},q)}async function D(a){return(0,h.F)("owner",async b=>{if(!r.safeParse(a).success)return w;let c=await n.s(a);return t(),c.ok&&c.data&&await u("AiProviderRemoved",`AI provider removed: ${c.data.name}`,c.data.kind,b.userId),v(c)},q)}async function E(a,b,c){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success||"string"!=typeof b||b.length>200)return w;let d=await n.V(a,b,!0===c);return t(),d},q)}async function F(a,b){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success)return w;let c=await n.F(a,b);return t(),c},q)}let G={ok:!1,error:"Use 1–120 letters, digits or . _ : / @ - for the model id."};async function H(a){let b=await (0,k.C)(j.t.monitorWrite,a);return b.allowed?null:{ok:!1,error:`Too many changes. Try again in ${(0,j.H)(b.retryAfter)}.`}}function I(a){let b="string"==typeof a?a.trim():"";return o.a.test(b)?b:null}async function J(a,b){return(0,h.F)("owner",async c=>{let d=I(b);if(!d)return G;if(!r.safeParse(a).success)return w;let e=await H(c.id);if(e)return e;let f=await n.z(a,d);return f.ok&&(t(),f.data&&await u("AiModelAdded",`AI model added on ${f.data.name}: ${d}`,"custom",c.userId)),v(f)},q)}async function K(a,b){return(0,h.F)("owner",async c=>{let d=I(b);if(!d)return G;if(!r.safeParse(a).success)return w;let e=await H(c.id);if(e)return e;let f=await n.O(a,d);return f.ok&&(t(),f.data&&await u("AiModelRemoved",`AI model removed from ${f.data.name}: ${d}`,"custom",c.userId)),v(f)},q)}(0,p.ensureServerEntryExports)([y,z,A,B,C,D,E,F,J,K]),(0,b.registerServerReference)(y,"6044af7125f48d4b7635fd244af712fa9580e0844b",null),(0,b.registerServerReference)(z,"6062d290de9b6e11a3ec76f0e3129b794438898ff7",null),(0,b.registerServerReference)(A,"40f4e48487161a41402c8b992a130571596c967813",null),(0,b.registerServerReference)(B,"6015c50d3dd3dfff01cdd9def5c289771ea9feba6a",null),(0,b.registerServerReference)(C,"409b35735850969b1e607e477bd97b020233144809",null),(0,b.registerServerReference)(D,"40d3a2343578d87ad648a3fe90dee744f04d55c12a",null),(0,b.registerServerReference)(E,"706ecc69a0d4ced1c019e9f112a50acc2d2007daa5",null),(0,b.registerServerReference)(F,"60c93fa590bf4cd0fddb7429e08d9f4d4c88b9eebe",null),(0,b.registerServerReference)(J,"60d6fb609e5375684640eb18a22e5d955baec8e2e0",null),(0,b.registerServerReference)(K,"6050721759957079b233630ae0799b53d5c1b4f941",null),a.s(["z",0,J,"E",0,y,"d",0,C,"O",0,K,"a",0,D,"g",0,z,"e",0,B,"N",0,A])}];
1
+ module.exports=[804224,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(379416),e=a.i(26972),f=a.i(427221),g=a.i(83931),h=a.i(600079),i=a.i(109307),j=a.i(312573),k=a.i(323878),l=a.i(601219),m=a.i(931256),n=a.i(711672),o=a.i(208683),p=a.i(713095);let q={requireActionMember:i.g},r=d.z.uuid(),s=e.z.object({apiKey:f.z.string().max(500).optional(),accountId:f.z.string().max(64).optional(),baseUrl:f.z.string().max(300).optional(),name:f.z.string().max(60).optional(),makeDefault:g.z.boolean().optional()});function t(){for(let a of["/ai","/ai/providers","/ai/models","/ai/quota","/ai/playground"])(0,c.revalidatePath)(a)}async function u(a,b,c,d){try{await (0,l.f)([{type:"action",kind:"ok",message:b.slice(0,200),detail:`provider ${c}`,resourceId:null,actorUserId:d,reason:a}])}catch{console.warn("provider audit failed")}}let v=a=>a.ok?{ok:!0,message:a.message}:{ok:!1,error:a.error,fieldErrors:a.fieldErrors},w={ok:!1,error:"That connection no longer exists."};async function x(a){let b=await (0,k.C)(j.t.credential,a);return b.allowed?null:{ok:!1,error:`Too many connection tests. Try again in ${(0,j.H)(b.retryAfter)}.`}}async function y(a,b){return(0,h.F)("owner",async c=>{let d=s.safeParse(b);if(!d.success)return{ok:!1,error:"Check the fields."};let e=await x(c.id);if(e)return e;let f=await n.u(a,d.data);if(f.ok){t();let b="custom"===a?d.data.name?.trim()||"Custom":(0,m.W)(a)?m.M[a].name:a;await u("AiProviderConnected",`AI provider connected: ${b}`,a,c.userId)}return f},q)}async function z(a,b){return(0,h.F)("owner",async c=>{let d=s.safeParse(b);if(!r.safeParse(a).success||!d.success)return w;let e=await x(c.id);if(e)return e;let f=await n.Q(a,d.data);return f.ok?(t(),f.data&&await u("AiProviderKeyReplaced",`AI provider key replaced: ${f.data.name}`,f.data.kind,c.userId),{ok:!0,message:f.message,data:{models:f.data?.models??[]}}):v(f)},q)}async function A(a){return(0,h.F)("owner",async b=>{if(!r.safeParse(a).success)return w;let c=await x(b.id);if(c)return c;let d=await n.q(a);return t(),d},q)}async function B(a,b){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success)return w;let c=await n.k(a,!0===b);return t(),c},q)}async function C(a){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success)return w;let b=await n.E(a);return t(),b},q)}async function D(a){return(0,h.F)("owner",async b=>{if(!r.safeParse(a).success)return w;let c=await n.s(a);return t(),c.ok&&c.data&&await u("AiProviderRemoved",`AI provider removed: ${c.data.name}`,c.data.kind,b.userId),v(c)},q)}async function E(a,b,c){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success||"string"!=typeof b||b.length>200)return w;let d=await n.V(a,b,!0===c);return t(),d},q)}async function F(a,b){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success)return w;let c=await n.F(a,b);return t(),c},q)}let G={ok:!1,error:"Use 1–120 letters, digits or . _ : / @ - for the model id."};async function H(a){let b=await (0,k.C)(j.t.monitorWrite,a);return b.allowed?null:{ok:!1,error:`Too many changes. Try again in ${(0,j.H)(b.retryAfter)}.`}}function I(a){let b="string"==typeof a?a.trim():"";return o.a.test(b)?b:null}async function J(a,b){return(0,h.F)("owner",async c=>{let d=I(b);if(!d)return G;if(!r.safeParse(a).success)return w;let e=await H(c.id);if(e)return e;let f=await n.z(a,d);return f.ok&&(t(),f.data&&await u("AiModelAdded",`AI model added on ${f.data.name}: ${d}`,"custom",c.userId)),v(f)},q)}async function K(a,b){return(0,h.F)("owner",async c=>{let d=I(b);if(!d)return G;if(!r.safeParse(a).success)return w;let e=await H(c.id);if(e)return e;let f=await n.O(a,d);return f.ok&&(t(),f.data&&await u("AiModelRemoved",`AI model removed from ${f.data.name}: ${d}`,"custom",c.userId)),v(f)},q)}(0,p.ensureServerEntryExports)([y,z,A,B,C,D,E,F,J,K]),(0,b.registerServerReference)(y,"60224f2ced3908f328ce284ce111dcbdfc947f94e5",null),(0,b.registerServerReference)(z,"60cf4334e9ae0418003e01313271a9a30975004e04",null),(0,b.registerServerReference)(A,"40cb59742414bbfe7c7c3d8b7814feb5fb89c17dd7",null),(0,b.registerServerReference)(B,"60a68af64222af0511502c4a348b0897d19d921587",null),(0,b.registerServerReference)(C,"40c2e867bb4ccad508933caa4e5d34f2534f0433c6",null),(0,b.registerServerReference)(D,"40040b4b8fc35c29e3c6e4b8f451ee81c485eedba9",null),(0,b.registerServerReference)(E,"70fb6a2bbcfa6f58a7b8bc42fa22e8ee82e4ebb8e8",null),(0,b.registerServerReference)(F,"608c7eb34e69a8fca749b5febd3568d5791271cbd9",null),(0,b.registerServerReference)(J,"608d730b2bab8bb21f9f24a65dc4db0c28c5a70a92",null),(0,b.registerServerReference)(K,"60f021df3bb998de2592754889aa06da2bb6349a5a",null),a.s(["z",0,J,"E",0,y,"d",0,C,"O",0,K,"a",0,D,"g",0,z,"e",0,B,"N",0,A])}];
2
2
 
3
3
  //# sourceMappingURL=src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[955996,a=>{"use strict";var b=a.i(462820),c=a.i(912459);let d=[{key:"today",label:"Today"},{key:"24h",label:"24 h"},{key:"7d",label:"7 days"},{key:"30d",label:"30 days"},{key:"all",label:"All"}],e=["agent","chat","console"],f=a=>864e5*Math.floor((a+252e5)/864e5)-252e5,g=a=>e.includes(a.kind),h=a=>a??0,i=a=>new Intl.DateTimeFormat("en-GB",{timeZone:"Asia/Jakarta",...a}),j=i({hour:"2-digit",minute:"2-digit",hour12:!1}),k=i({day:"numeric",month:"short"}),l=i({year:"numeric"});a.s(["X",0,["mcp","status","me"],"b",0,e,"d",0,d,"z",0,function(a,b,d,e){if(a){let b=d.find(b=>b.id===a.model)?.label??`ag/${a.model}`,c=Math.max(0,Math.round((e.getTime()-Date.parse(a.startedAt))/1e3));return{running:!0,text:`Running now: ${b} \xb7 ${a.purpose} \xb7 ${c} s`}}return{running:!1,text:b?`Idle \xb7 last run ${(0,c.L)(b,e)}`:"Idle · no runs reported yet"}},"K",0,function(a){let c=a.rows.filter(a=>"agent"===a.kind),d=new Set(c.map(a=>a.model));a.running&&d.add(a.running.model);let e=[{id:"antigravity",kind:"antigravity",label:b.V.graphLabel,sub:!1===a.agConnected?"not connected":b.V.graphSub,requests:c.length,chips:a.agModels.map(a=>({id:a.id,label:a.label,active:d.has(a.id)}))},...a.providers.map(b=>({id:`provider:${b.id}`,kind:"provider",label:b.name,sub:b.enabled?b.kind:`${b.kind} \xb7 off`,requests:a.rows.filter(a=>a.providerId===b.id).length})),...a.clients.map(b=>({id:`client:${b.id}`,kind:"client",label:b.displayName??b.name,sub:"MCP client",requests:a.byAgent.get(b.id)??0}))],f=e.map((a,b)=>{let c=Math.PI+2*Math.PI*b/Math.max(e.length,1);return{...a,x:Math.round(360+250*Math.cos(c)),y:Math.round(180+130*Math.sin(c))}}),g={id:"hub",kind:"hub",label:"Watchbell",sub:"AI gateway",requests:a.rows.length,x:360,y:180},h=f.map(b=>{let c="antigravity"===b.id&&null!==a.running;return{to:b.id,active:b.requests>0||c,running:c}});return{width:720,height:360,nodes:[g,...f],edges:h}},"D",0,function(a){let b=Array.isArray(a)?a[0]:a;return d.some(a=>a.key===b)?b:"24h"},"q",0,function(a,b){let c=b.getTime(),d=(a,b,c)=>{let d=[];for(let e=a;e<=b;e+=c)d.push(new Date(e));return d};if("today"===a||"24h"===a){let b=36e5*Math.floor(c/36e5),e="today"===a?f(c):b-828e5;return{range:a,since:new Date(e),bucket:"hour",starts:d(e,b,36e5)}}let e=f(c),g="7d"===a?e-5184e5:"30d"===a?e-25056e5:f(c-2592e6);return{range:a,since:new Date(g),bucket:"day",starts:d(g,e,864e5)}},"I",0,function(a,b,d=0){let e,f="agent"===a.kind?`ag/${a.model??"?"}`:a.model??a.tool??a.kind,g="agent"===a.kind?a.tool??"run":a.kind,i=null!==a.tokensIn||null!==a.tokensOut||null!==a.tokensCached||null!==a.tokensThinking;return{key:`${a.at.getTime()}-${d}`,model:f,purpose:g,fresh:i?h(a.tokensIn):null,cached:i?h(a.tokensCached):null,out:i?h(a.tokensOut)+h(a.tokensThinking):null,durationMs:a.latencyMs,status:a.status,tone:429===a.status?"warn":a.status>=400?"err":"ok",when:(0,c.L)(a.at,b),whenTitle:(e=a.at,`${k.format(e)} ${l.format(e)}, ${j.format(e)} WIB`)}},"V",0,function(a,b){let c=b.starts.map(a=>({t:a,label:"hour"===b.bucket?j.format(a):k.format(a),fresh:0,cached:0,output:0,requests:0})),d=b.starts[0]?.getTime()??0,e="hour"===b.bucket?36e5:864e5;for(let b of a){if(!g(b))continue;let a=Math.floor((b.at.getTime()-d)/e);if(a<0||a>=c.length)continue;let f=c[a];f.requests++,f.fresh+=h(b.tokensIn),f.cached+=h(b.tokensCached),f.output+=h(b.tokensOut)+h(b.tokensThinking)}return c},"L",0,function(a){let b={requests:0,agentRequests:0,providerRequests:0,input:0,cached:0,output:0,thinking:0,errors:0};for(let c of a)g(c)&&(b.requests++,"agent"===c.kind?b.agentRequests++:b.providerRequests++,b.input+=h(c.tokensIn),b.cached+=h(c.tokensCached),b.output+=h(c.tokensOut)+h(c.tokensThinking),b.thinking+=h(c.tokensThinking),c.status>=400&&b.errors++);return b},"r",0,f])}];
1
+ module.exports=[955996,a=>{"use strict";var b=a.i(462820),c=a.i(245710),d=a.i(968715),e=a.i(912459);let f=[{key:"today",label:"Today"},{key:"24h",label:"24 h"},{key:"7d",label:"7 days"},{key:"30d",label:"30 days"},{key:"all",label:"All"}],g=["agent","chat","console"],h=a=>(0,c.y)((0,c.x)(new Date(a))).getTime(),i=a=>g.includes(a.kind),j=a=>a??0,k=a=>(0,c.I)("en-GB",a),l=a=>k({hour:"2-digit",minute:"2-digit",hour12:!1}).format(a),m=a=>k({day:"numeric",month:"short"}).format(a);a.s(["X",0,["mcp","status","me"],"b",0,g,"d",0,f,"z",0,function(a,b,c,d){if(a){let b=c.find(b=>b.id===a.model)?.label??`ag/${a.model}`,e=Math.max(0,Math.round((d.getTime()-Date.parse(a.startedAt))/1e3));return{running:!0,text:`Running now: ${b} \xb7 ${a.purpose} \xb7 ${e} s`}}return{running:!1,text:b?`Idle \xb7 last run ${(0,e.L)(b,d)}`:"Idle · no runs reported yet"}},"K",0,function(a){let c=a.rows.filter(a=>"agent"===a.kind),d=new Set(c.map(a=>a.model));a.running&&d.add(a.running.model);let e=[{id:"antigravity",kind:"antigravity",label:b.V.graphLabel,sub:!1===a.agConnected?"not connected":b.V.graphSub,requests:c.length,chips:a.agModels.map(a=>({id:a.id,label:a.label,active:d.has(a.id)}))},...a.providers.map(b=>({id:`provider:${b.id}`,kind:"provider",label:b.name,sub:b.enabled?b.kind:`${b.kind} \xb7 off`,requests:a.rows.filter(a=>a.providerId===b.id).length})),...a.clients.map(b=>({id:`client:${b.id}`,kind:"client",label:b.displayName??b.name,sub:"MCP client",requests:a.byAgent.get(b.id)??0}))],f=e.map((a,b)=>{let c=Math.PI+2*Math.PI*b/Math.max(e.length,1);return{...a,x:Math.round(360+250*Math.cos(c)),y:Math.round(180+130*Math.sin(c))}}),g={id:"hub",kind:"hub",label:"Watchbell",sub:"AI gateway",requests:a.rows.length,x:360,y:180},h=f.map(b=>{let c="antigravity"===b.id&&null!==a.running;return{to:b.id,active:b.requests>0||c,running:c}});return{width:720,height:360,nodes:[g,...f],edges:h}},"S",0,h,"D",0,function(a){let b=Array.isArray(a)?a[0]:a;return f.some(a=>a.key===b)?b:"24h"},"q",0,function(a,b){let e=b.getTime();if("today"===a||"24h"===a){let b=6e4*Math.floor(e/6e4)-6e4*(0,c.z)(new Date(e)).minute,d="today"===a?h(e):b-828e5,f=[];for(let a=d;a<=b;a+=36e5)f.push(new Date(a));return{range:a,since:new Date(d),bucket:"hour",starts:f}}let f="7d"===a?7:"30d"===a?30:Math.round((h(e)-h(e-2592e6))/864e5)+1,g=(0,d.W)(b,f).map(c.y);return{range:a,since:g[0],bucket:"day",starts:g}},"I",0,function(a,b,d=0){var f;let g="agent"===a.kind?`ag/${a.model??"?"}`:a.model??a.tool??a.kind,h="agent"===a.kind?a.tool??"run":a.kind,i=null!==a.tokensIn||null!==a.tokensOut||null!==a.tokensCached||null!==a.tokensThinking;return{key:`${a.at.getTime()}-${d}`,model:g,purpose:h,fresh:i?j(a.tokensIn):null,cached:i?j(a.tokensCached):null,out:i?j(a.tokensOut)+j(a.tokensThinking):null,durationMs:a.latencyMs,status:a.status,tone:429===a.status?"warn":a.status>=400?"err":"ok",when:(0,e.L)(a.at,b),whenTitle:(f=a.at,`${m(f)} ${k({year:"numeric"}).format(f)}, ${l(f)} ${(0,c.J)(f)}`)}},"V",0,function(a,b){let d=b.starts.map(a=>({t:a,label:"hour"===b.bucket?l(a):m(a),fresh:0,cached:0,output:0,requests:0})),e=b.starts[0]?.getTime()??0,f=new Map("day"===b.bucket?b.starts.map((a,b)=>[(0,c.x)(a),b]):[]);for(let g of a){if(!i(g))continue;let a="hour"===b.bucket?Math.floor((g.at.getTime()-e)/36e5):f.get((0,c.x)(g.at))??-1;if(a<0||a>=d.length)continue;let h=d[a];h.requests++,h.fresh+=j(g.tokensIn),h.cached+=j(g.tokensCached),h.output+=j(g.tokensOut)+j(g.tokensThinking)}return d},"L",0,function(a){let b={requests:0,agentRequests:0,providerRequests:0,input:0,cached:0,output:0,thinking:0,errors:0};for(let c of a)i(c)&&(b.requests++,"agent"===c.kind?b.agentRequests++:b.providerRequests++,b.input+=j(c.tokensIn),b.cached+=j(c.tokensCached),b.output+=j(c.tokensOut)+j(c.tokensThinking),b.thinking+=j(c.tokensThinking),c.status>=400&&b.errors++);return b}])}];
2
2
 
3
3
  //# sourceMappingURL=src_private_ai_usage-analytics_ts_1bxba3xarzol0._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[263972,a=>{"use strict";var b=a.i(93321),c=a.i(530385),d=a.i(258261),e=a.i(351674),f=a.i(548734),g=a.i(837137),h=a.i(968715),i=a.i(434711),j=a.i(142754);let k=i.L,l=a=>a.replace(/[\\%_]/g,a=>`\\${a}`);async function m(a,d,e,g){let h,i=Math.min(Math.max(1,Math.floor(e)||50),g),k=Math.min(Math.max(1,Math.floor(d)||1),2e3),m=await (0,f.f)().select({id:j.T.id,at:j.T.at,keyName:j.C.name,clientName:j.Q.clientName,clientVersion:j.Q.clientVersion,model:j.T.model,kind:j.T.kind,tool:j.T.tool,tokensIn:j.T.tokensIn,tokensOut:j.T.tokensOut,latencyMs:j.T.latencyMs,status:j.T.status,errorClass:j.T.errorClass,stream:j.T.stream}).from(j.T).leftJoin(j.C,(0,b.u)(j.C.id,j.T.keyId)).leftJoin(j.Q,(0,b.u)(j.Q.id,j.T.agentId)).where((h=[],a.keyId&&h.push((0,b.u)(j.T.keyId,a.keyId)),"ok"===a.status&&h.push((0,b.B)(j.T.status,200),(0,b.S)(j.T.status,400)),"limit"===a.status&&h.push((0,b.u)(j.T.status,429)),"error"===a.status&&h.push((0,b.B)(j.T.status,400),(0,b.c)(j.T.status,429)),a.kind&&h.push((0,b.u)(j.T.kind,a.kind)),a.client?.trim()&&h.push((0,b.O)(j.Q.clientName,`%${l(a.client.trim().slice(0,60))}%`)),a.model?.trim()&&h.push((0,b.F)((0,b.O)(j.T.model,`%${l(a.model.trim().slice(0,80))}%`),(0,b.O)(j.T.tool,`%${l(a.model.trim().slice(0,80))}%`))),h.length?(0,b.b)(...h):void 0)).orderBy((0,c.A)(j.T.at),(0,c.A)(j.T.id)).limit(i+1).offset((k-1)*i);return{rows:m.slice(0,i).map(a=>({id:a.id,at:a.at,keyName:a.keyName,client:a.clientName?a.clientVersion?`${a.clientName}/${a.clientVersion}`:a.clientName:null,model:a.model,kind:a.kind,tool:a.tool,tokensIn:a.tokensIn,tokensOut:a.tokensOut,latencyMs:a.latencyMs,status:a.status,errorClass:a.errorClass,stream:a.stream})),page:k,pageSize:i,hasMore:m.length>i}}async function n(a){return(await m(a,1,5e3,5e3)).rows}async function o(){return(0,f.f)().select({id:j.C.id,name:j.C.name}).from(j.C).orderBy((0,c.M)(j.C.name)).limit(100)}async function p(a){let g=(0,h.q)((0,h.m)(a)),i=new Date(a.getTime()-864e5),[k,l,m,n]=await Promise.all([(0,f.f)().select({name:j.f.name,kind:j.f.kind,enabled:j.f.enabled,isDefault:j.f.isDefault,lastTestStatus:j.f.lastTestStatus}).from(j.f).orderBy((0,c.A)(j.f.isDefault),(0,c.M)(j.f.name)),(0,f.f)().select({revokedAt:j.C.revokedAt,expiresAt:j.C.expiresAt,lastUsedAt:j.C.lastUsedAt}).from(j.C),(0,f.f)().select({requests:(0,d.H)(),rateLimited:e.B`count(*) filter (where ${j.T.status} = 429)`.mapWith(Number),refused:e.B`count(*) filter (where ${j.T.status} in (401, 403))`.mapWith(Number)}).from(j.T).where((0,b.B)(j.T.at,g)),(0,f.f)().select({clientName:j.Q.clientName,lastSeenAt:j.Q.lastSeenAt}).from(j.Q).where((0,b.B)(j.Q.lastSeenAt,i)).orderBy((0,c.A)(j.Q.lastSeenAt)).limit(50)]),o=l.filter(b=>!b.revokedAt&&!(b.expiresAt&&b.expiresAt<=a)),p=m[0]??{requests:0,rateLimited:0,refused:0};return{providers:k,keys:{active:o.length,revoked:l.filter(a=>a.revokedAt).length,neverUsed:o.filter(a=>!a.lastUsedAt).length},today:{requests:Number(p.requests),rateLimited:Number(p.rateLimited),refused:Number(p.refused)},agents:{active24h:new Set(n.map(a=>a.clientName)).size,names:[...new Set(n.map(a=>a.clientName))].slice(0,6)}}}async function q(){let[a]=await (0,f.f)().select({n:(0,d.H)()}).from(j.f).where((0,b.u)(j.f.enabled,!0));return Number(a?.n??0)>0}async function r(){return(0,f.f)().select({id:j.f.id,name:j.f.name,limits:j.f.limits}).from(j.f).where((0,b.u)(j.f.enabled,!0)).orderBy((0,c.M)(j.f.name))}async function s(a){let g=(0,h.q)((0,h.m)(a)),i=new Date(a.getTime()-6e4),[k,l]=await Promise.all([(0,f.f)().select({id:j.C.id,name:j.C.name,ratePerMin:j.C.ratePerMin,expiresAt:j.C.expiresAt,lastUsedAt:j.C.lastUsedAt}).from(j.C).where((0,b.M)(j.C.revokedAt)).orderBy((0,c.M)(j.C.name)).limit(100),(0,f.f)().select({keyId:j.T.keyId,today:(0,d.H)(),lastMinute:e.B`count(*) filter (where ${j.T.at} >= ${i.toISOString()}::timestamptz)`.mapWith(Number)}).from(j.T).where((0,b.b)((0,b.B)(j.T.at,g),(0,b.E)(j.T.keyId))).groupBy(j.T.keyId)]),m=new Map(l.map(a=>[a.keyId,a]));return k.filter(b=>!(b.expiresAt&&b.expiresAt<=a)).map(a=>({id:a.id,name:a.name,ratePerMin:a.ratePerMin,lastMinute:Number(m.get(a.id)?.lastMinute??0),today:Number(m.get(a.id)?.today??0),lastUsedAt:a.lastUsedAt}))}async function t(){let[a,[d]]=await Promise.all([(0,f.f)().select({id:j.f.id,kind:j.f.kind,name:j.f.name,enabled:j.f.enabled,models:j.f.models}).from(j.f).orderBy((0,c.A)(j.f.isDefault),(0,c.M)(j.f.name)),(0,f.f)().select({value:g.settings.value}).from(g.settings).where((0,b.u)(g.settings.key,k)).limit(1)]);return{rows:a.flatMap(a=>a.models.map(b=>{var c,d;return{providerId:a.id,providerKind:a.kind,providerName:a.name,providerEnabled:a.enabled,modelId:b.id,publicId:`${c=a.kind,d=a.name,"custom"!==c?c:d.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"custom"}/${b.id}`,upstream:b.upstream,enabled:b.enabled,ctx:b.ctx??null,out:b.out??null,manual:!0===b.manual,lastTest:b.lastTest??null,removed:!0===b.removed,pending:!0===b.pending,addedAt:b.addedAt??null,manualOff:!0===b.manualOff}})),defaultModel:"string"==typeof d?.value?d.value:null,providers:a.map(({id:a,kind:b,name:c,enabled:d})=>({id:a,kind:b,name:c,enabled:d}))}}async function u(a,b){await (0,f.f)().insert(g.settings).values({key:k,value:a}).onConflictDoUpdate({target:g.settings.key,set:{value:a,updatedAt:b}})}async function v(a){let d=new Date(a.getTime()-864e5);return(0,f.f)().select({clientName:j.Q.clientName,clientVersion:j.Q.clientVersion,lastSeenAt:j.Q.lastSeenAt,keyName:j.C.name}).from(j.Q).leftJoin(j.C,(0,b.u)(j.C.id,j.Q.keyId)).where((0,b.b)((0,b.u)(j.Q.via,"mcp"),(0,b.B)(j.Q.lastSeenAt,d),(0,b.F)((0,b.M)(j.C.revokedAt),(0,b.M)(j.Q.keyId)))).orderBy((0,c.A)(j.Q.lastSeenAt)).limit(5)}a.s(["j",0,q,"V",0,o,"Q",0,s,"d",0,r,"X",0,v,"Y",0,t,"A",0,p,"z",0,u,"Z",0,n,"$",0,function(a,b,c=50){return m(a,b,c,100)}],263972)}];
1
+ module.exports=[263972,a=>{"use strict";var b=a.i(93321),c=a.i(530385),d=a.i(258261),e=a.i(351674),f=a.i(548734),g=a.i(837137),h=a.i(245710),i=a.i(434711),j=a.i(142754);let k=i.L,l=a=>a.replace(/[\\%_]/g,a=>`\\${a}`);async function m(a,d,e,g){let h,i=Math.min(Math.max(1,Math.floor(e)||50),g),k=Math.min(Math.max(1,Math.floor(d)||1),2e3),m=await (0,f.f)().select({id:j.T.id,at:j.T.at,keyName:j.C.name,clientName:j.Q.clientName,clientVersion:j.Q.clientVersion,model:j.T.model,kind:j.T.kind,tool:j.T.tool,tokensIn:j.T.tokensIn,tokensOut:j.T.tokensOut,latencyMs:j.T.latencyMs,status:j.T.status,errorClass:j.T.errorClass,stream:j.T.stream}).from(j.T).leftJoin(j.C,(0,b.u)(j.C.id,j.T.keyId)).leftJoin(j.Q,(0,b.u)(j.Q.id,j.T.agentId)).where((h=[],a.keyId&&h.push((0,b.u)(j.T.keyId,a.keyId)),"ok"===a.status&&h.push((0,b.B)(j.T.status,200),(0,b.S)(j.T.status,400)),"limit"===a.status&&h.push((0,b.u)(j.T.status,429)),"error"===a.status&&h.push((0,b.B)(j.T.status,400),(0,b.c)(j.T.status,429)),a.kind&&h.push((0,b.u)(j.T.kind,a.kind)),a.client?.trim()&&h.push((0,b.O)(j.Q.clientName,`%${l(a.client.trim().slice(0,60))}%`)),a.model?.trim()&&h.push((0,b.F)((0,b.O)(j.T.model,`%${l(a.model.trim().slice(0,80))}%`),(0,b.O)(j.T.tool,`%${l(a.model.trim().slice(0,80))}%`))),h.length?(0,b.b)(...h):void 0)).orderBy((0,c.A)(j.T.at),(0,c.A)(j.T.id)).limit(i+1).offset((k-1)*i);return{rows:m.slice(0,i).map(a=>({id:a.id,at:a.at,keyName:a.keyName,client:a.clientName?a.clientVersion?`${a.clientName}/${a.clientVersion}`:a.clientName:null,model:a.model,kind:a.kind,tool:a.tool,tokensIn:a.tokensIn,tokensOut:a.tokensOut,latencyMs:a.latencyMs,status:a.status,errorClass:a.errorClass,stream:a.stream})),page:k,pageSize:i,hasMore:m.length>i}}async function n(a){return(await m(a,1,5e3,5e3)).rows}async function o(){return(0,f.f)().select({id:j.C.id,name:j.C.name}).from(j.C).orderBy((0,c.M)(j.C.name)).limit(100)}async function p(a){let g=(0,h.y)((0,h.x)(a)),i=new Date(a.getTime()-864e5),[k,l,m,n]=await Promise.all([(0,f.f)().select({name:j.f.name,kind:j.f.kind,enabled:j.f.enabled,isDefault:j.f.isDefault,lastTestStatus:j.f.lastTestStatus}).from(j.f).orderBy((0,c.A)(j.f.isDefault),(0,c.M)(j.f.name)),(0,f.f)().select({revokedAt:j.C.revokedAt,expiresAt:j.C.expiresAt,lastUsedAt:j.C.lastUsedAt}).from(j.C),(0,f.f)().select({requests:(0,d.H)(),rateLimited:e.B`count(*) filter (where ${j.T.status} = 429)`.mapWith(Number),refused:e.B`count(*) filter (where ${j.T.status} in (401, 403))`.mapWith(Number)}).from(j.T).where((0,b.B)(j.T.at,g)),(0,f.f)().select({clientName:j.Q.clientName,lastSeenAt:j.Q.lastSeenAt}).from(j.Q).where((0,b.B)(j.Q.lastSeenAt,i)).orderBy((0,c.A)(j.Q.lastSeenAt)).limit(50)]),o=l.filter(b=>!b.revokedAt&&!(b.expiresAt&&b.expiresAt<=a)),p=m[0]??{requests:0,rateLimited:0,refused:0};return{providers:k,keys:{active:o.length,revoked:l.filter(a=>a.revokedAt).length,neverUsed:o.filter(a=>!a.lastUsedAt).length},today:{requests:Number(p.requests),rateLimited:Number(p.rateLimited),refused:Number(p.refused)},agents:{active24h:new Set(n.map(a=>a.clientName)).size,names:[...new Set(n.map(a=>a.clientName))].slice(0,6)}}}async function q(){let[a]=await (0,f.f)().select({n:(0,d.H)()}).from(j.f).where((0,b.u)(j.f.enabled,!0));return Number(a?.n??0)>0}async function r(){return(0,f.f)().select({id:j.f.id,name:j.f.name,limits:j.f.limits}).from(j.f).where((0,b.u)(j.f.enabled,!0)).orderBy((0,c.M)(j.f.name))}async function s(a){let g=(0,h.y)((0,h.x)(a)),i=new Date(a.getTime()-6e4),[k,l]=await Promise.all([(0,f.f)().select({id:j.C.id,name:j.C.name,ratePerMin:j.C.ratePerMin,expiresAt:j.C.expiresAt,lastUsedAt:j.C.lastUsedAt}).from(j.C).where((0,b.M)(j.C.revokedAt)).orderBy((0,c.M)(j.C.name)).limit(100),(0,f.f)().select({keyId:j.T.keyId,today:(0,d.H)(),lastMinute:e.B`count(*) filter (where ${j.T.at} >= ${i.toISOString()}::timestamptz)`.mapWith(Number)}).from(j.T).where((0,b.b)((0,b.B)(j.T.at,g),(0,b.E)(j.T.keyId))).groupBy(j.T.keyId)]),m=new Map(l.map(a=>[a.keyId,a]));return k.filter(b=>!(b.expiresAt&&b.expiresAt<=a)).map(a=>({id:a.id,name:a.name,ratePerMin:a.ratePerMin,lastMinute:Number(m.get(a.id)?.lastMinute??0),today:Number(m.get(a.id)?.today??0),lastUsedAt:a.lastUsedAt}))}async function t(){let[a,[d]]=await Promise.all([(0,f.f)().select({id:j.f.id,kind:j.f.kind,name:j.f.name,enabled:j.f.enabled,models:j.f.models}).from(j.f).orderBy((0,c.A)(j.f.isDefault),(0,c.M)(j.f.name)),(0,f.f)().select({value:g.settings.value}).from(g.settings).where((0,b.u)(g.settings.key,k)).limit(1)]);return{rows:a.flatMap(a=>a.models.map(b=>{var c,d;return{providerId:a.id,providerKind:a.kind,providerName:a.name,providerEnabled:a.enabled,modelId:b.id,publicId:`${c=a.kind,d=a.name,"custom"!==c?c:d.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"custom"}/${b.id}`,upstream:b.upstream,enabled:b.enabled,ctx:b.ctx??null,out:b.out??null,manual:!0===b.manual,lastTest:b.lastTest??null,removed:!0===b.removed,pending:!0===b.pending,addedAt:b.addedAt??null,manualOff:!0===b.manualOff}})),defaultModel:"string"==typeof d?.value?d.value:null,providers:a.map(({id:a,kind:b,name:c,enabled:d})=>({id:a,kind:b,name:c,enabled:d}))}}async function u(a,b){await (0,f.f)().insert(g.settings).values({key:k,value:a}).onConflictDoUpdate({target:g.settings.key,set:{value:a,updatedAt:b}})}async function v(a){let d=new Date(a.getTime()-864e5);return(0,f.f)().select({clientName:j.Q.clientName,clientVersion:j.Q.clientVersion,lastSeenAt:j.Q.lastSeenAt,keyName:j.C.name}).from(j.Q).leftJoin(j.C,(0,b.u)(j.C.id,j.Q.keyId)).where((0,b.b)((0,b.u)(j.Q.via,"mcp"),(0,b.B)(j.Q.lastSeenAt,d),(0,b.F)((0,b.M)(j.C.revokedAt),(0,b.M)(j.Q.keyId)))).orderBy((0,c.A)(j.Q.lastSeenAt)).limit(5)}a.s(["j",0,q,"V",0,o,"Q",0,s,"d",0,r,"X",0,v,"Y",0,t,"A",0,p,"z",0,u,"Z",0,n,"$",0,function(a,b,c=50){return m(a,b,c,100)}],263972)}];
2
2
 
3
3
  //# sourceMappingURL=src_private_ai_views-db_ts_1jbnr41mskha2._.js.map