watchbell 1.3.0 → 1.6.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 (877) hide show
  1. package/package.json +1 -1
  2. package/server/.next/BUILD_ID +1 -1
  3. package/server/.next/app-path-routes-manifest.json +3 -0
  4. package/server/.next/build-manifest.json +36 -3
  5. package/server/.next/prerender-manifest.json +3 -3
  6. package/server/.next/routes-manifest.json +18 -0
  7. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +13 -13
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +76 -68
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  11. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +12 -12
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +76 -68
  13. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  14. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  15. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +11 -11
  16. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +76 -68
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  18. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  19. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +14 -14
  20. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +76 -68
  21. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  22. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  23. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +12 -12
  24. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +76 -68
  25. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  26. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  27. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +21 -21
  28. package/server/.next/server/app/(console)/(private)/ai/models/page.js +76 -68
  29. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  30. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  31. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +11 -11
  32. package/server/.next/server/app/(console)/(private)/ai/page.js +76 -68
  33. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  34. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  35. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +14 -14
  36. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +76 -68
  37. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  38. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  39. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +17 -17
  40. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +76 -68
  41. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  42. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  43. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +12 -12
  44. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +76 -68
  45. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  46. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  47. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +12 -12
  48. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +76 -68
  49. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  50. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  51. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +11 -11
  52. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +76 -68
  53. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  54. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  55. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +12 -12
  56. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +76 -68
  57. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  58. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  59. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +27 -27
  60. package/server/.next/server/app/(console)/alerts/page.js +76 -68
  61. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  62. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  63. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +92 -62
  64. package/server/.next/server/app/(console)/apps/[id]/page.js +78 -70
  65. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  66. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  67. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +14 -14
  68. package/server/.next/server/app/(console)/apps/page.js +78 -70
  69. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  70. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  71. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +14 -14
  72. package/server/.next/server/app/(console)/backups/page.js +76 -68
  73. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  74. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  75. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +11 -11
  76. package/server/.next/server/app/(console)/catalog/page.js +76 -68
  77. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  78. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  79. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +22 -22
  80. package/server/.next/server/app/(console)/connections/page.js +76 -68
  81. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  82. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  83. package/server/.next/server/app/(console)/containers/page/app-paths-manifest.json +3 -0
  84. package/server/.next/server/app/(console)/containers/page/build-manifest.json +22 -0
  85. package/server/.next/server/app/(console)/containers/page/next-font-manifest.json +11 -0
  86. package/server/.next/server/app/(console)/containers/page/react-loadable-manifest.json +1 -0
  87. package/server/.next/server/app/(console)/containers/page/server-reference-manifest.json +145 -0
  88. package/server/.next/server/app/(console)/containers/page.js +121 -0
  89. package/server/.next/server/app/(console)/containers/page.js.nft.json +1 -0
  90. package/server/.next/server/app/(console)/containers/page_client-reference-manifest.js +3 -0
  91. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +11 -11
  92. package/server/.next/server/app/(console)/d1/page.js +76 -68
  93. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  94. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  95. package/server/.next/server/app/(console)/deploy/page/app-paths-manifest.json +3 -0
  96. package/server/.next/server/app/(console)/deploy/page/build-manifest.json +22 -0
  97. package/server/.next/server/app/(console)/deploy/page/next-font-manifest.json +11 -0
  98. package/server/.next/server/app/(console)/deploy/page/react-loadable-manifest.json +1 -0
  99. package/server/.next/server/app/(console)/deploy/page/server-reference-manifest.json +115 -0
  100. package/server/.next/server/app/(console)/deploy/page.js +122 -0
  101. package/server/.next/server/app/(console)/deploy/page.js.nft.json +1 -0
  102. package/server/.next/server/app/(console)/deploy/page_client-reference-manifest.js +3 -0
  103. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +19 -19
  104. package/server/.next/server/app/(console)/deployments/page.js +76 -68
  105. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  106. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  107. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +18 -18
  108. package/server/.next/server/app/(console)/dns/page.js +76 -68
  109. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  110. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  111. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +13 -13
  112. package/server/.next/server/app/(console)/domains/page.js +76 -68
  113. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  114. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  115. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +11 -11
  116. package/server/.next/server/app/(console)/events/page.js +76 -68
  117. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  118. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  119. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +18 -18
  120. package/server/.next/server/app/(console)/firebase/page.js +76 -68
  121. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  122. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  123. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +12 -12
  124. package/server/.next/server/app/(console)/logs/page.js +76 -68
  125. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  126. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  127. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +12 -12
  128. package/server/.next/server/app/(console)/manage/sections/page.js +76 -68
  129. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  130. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  131. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +22 -22
  132. package/server/.next/server/app/(console)/neon/page.js +76 -68
  133. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  134. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  135. package/server/.next/server/app/(console)/os/page/app-paths-manifest.json +3 -0
  136. package/server/.next/server/app/(console)/os/page/build-manifest.json +22 -0
  137. package/server/.next/server/app/(console)/os/page/next-font-manifest.json +11 -0
  138. package/server/.next/server/app/(console)/os/page/react-loadable-manifest.json +1 -0
  139. package/server/.next/server/app/(console)/os/page/server-reference-manifest.json +125 -0
  140. package/server/.next/server/app/(console)/os/page.js +120 -0
  141. package/server/.next/server/app/(console)/os/page.js.nft.json +1 -0
  142. package/server/.next/server/app/(console)/os/page_client-reference-manifest.js +3 -0
  143. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +19 -19
  144. package/server/.next/server/app/(console)/overview/page.js +77 -69
  145. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  146. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  147. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +12 -12
  148. package/server/.next/server/app/(console)/repos/[id]/page.js +80 -72
  149. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  150. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  151. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +11 -11
  152. package/server/.next/server/app/(console)/repos/page.js +81 -72
  153. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  154. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  155. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +21 -21
  156. package/server/.next/server/app/(console)/settings/page.js +76 -68
  157. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  158. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  159. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +18 -18
  160. package/server/.next/server/app/(console)/sql/page.js +76 -68
  161. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  162. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  163. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +11 -11
  164. package/server/.next/server/app/(console)/status/page.js +76 -68
  165. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  166. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  167. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +30 -30
  168. package/server/.next/server/app/(console)/supabase/page.js +81 -72
  169. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  170. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  171. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +11 -11
  172. package/server/.next/server/app/(console)/topology/page.js +76 -68
  173. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  174. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  175. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +11 -11
  176. package/server/.next/server/app/(console)/turso/page.js +76 -68
  177. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  178. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  179. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +11 -11
  180. package/server/.next/server/app/(console)/upstash/page.js +76 -68
  181. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  182. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  183. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +25 -25
  184. package/server/.next/server/app/(console)/uptime/page.js +76 -68
  185. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  186. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  187. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +16 -16
  188. package/server/.next/server/app/(console)/welcome/page.js +76 -68
  189. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  190. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  191. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  192. package/server/.next/server/app/_global-error/page.js +1 -1
  193. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  194. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  195. package/server/.next/server/app/_global-error.html +1 -1
  196. package/server/.next/server/app/_global-error.rsc +3 -3
  197. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  198. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  199. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  200. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  201. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  202. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  203. package/server/.next/server/app/_not-found.html +1 -1
  204. package/server/.next/server/app/_not-found.rsc +4 -4
  205. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  206. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  207. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  208. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  209. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  210. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  211. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +8 -8
  212. package/server/.next/server/app/api/collect/route.js +59 -52
  213. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  214. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +8 -8
  215. package/server/.next/server/app/api/daily/route.js +59 -52
  216. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  217. package/server/.next/server/app/api/health/route.js.nft.json +1 -1
  218. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  219. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  220. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +8 -8
  221. package/server/.next/server/app/api/telegram/webhook/route.js +59 -52
  222. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  223. package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
  224. package/server/.next/server/app/api/v1/advice/route.js +14 -14
  225. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  226. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  227. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  228. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  229. package/server/.next/server/app/api/v1/ai/questions/route.js +10 -10
  230. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  231. package/server/.next/server/app/api/v1/mcp/route.js +25 -24
  232. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  233. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  234. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  235. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +13 -13
  236. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  237. package/server/.next/server/app/api/v1/status/route.js +13 -13
  238. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  239. package/server/.next/server/app/api/watchdog/route.js +11 -12
  240. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  241. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  242. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  243. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  244. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  245. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  246. package/server/.next/server/app/icon.svg/route.js.nft.json +1 -1
  247. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  248. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  249. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  250. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  251. package/server/.next/server/app/mfa/page.js +35 -30
  252. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  253. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  254. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  255. package/server/.next/server/app/mfa/setup/page.js +35 -30
  256. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  257. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  258. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  259. package/server/.next/server/app/page.js.nft.json +1 -1
  260. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  261. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  262. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  263. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  264. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  265. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  266. package/server/.next/server/app/setup/page.js +1 -1
  267. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  268. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  269. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  270. package/server/.next/server/app/signin/page.js +35 -30
  271. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  272. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  273. package/server/.next/server/app-paths-manifest.json +3 -0
  274. package/server/.next/server/chunks/{[externals]__1-y7b_mfadqi-._.js → [externals]__0n4j2emxdv20_._.js} +1 -1
  275. package/server/.next/server/chunks/{[externals]__1b3dgyi9diwhy._.js → [externals]__1hwo1oo04do39._.js} +1 -1
  276. package/server/.next/server/chunks/{[externals]__1dd9hhrnxhegy._.js → [externals]__1k12utcf9tvqg._.js} +1 -1
  277. package/server/.next/server/chunks/{[root-of-the-server]__040a3il587nja._.js → [root-of-the-server]__0016p4j5uh74t._.js} +2 -2
  278. package/server/.next/server/chunks/{[root-of-the-server]__08i6b8tzxads4._.js → [root-of-the-server]__00oxbw3nfl_kd._.js} +1 -1
  279. package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +1 -1
  280. package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.js +1 -1
  281. package/server/.next/server/chunks/{[root-of-the-server]__0qme276hvajvy._.js → [root-of-the-server]__02y9yjf7lp37-._.js} +1 -1
  282. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  283. package/server/.next/server/chunks/{[root-of-the-server]__1jjusd74y8gd5._.js → [root-of-the-server]__03589rgm1a3ks._.js} +2 -2
  284. package/server/.next/server/chunks/[root-of-the-server]__04u9e45_g1jdi._.js +3 -0
  285. package/server/.next/server/chunks/{[root-of-the-server]__0-zrmrb4499ay._.js → [root-of-the-server]__04v42ls1mfjd2._.js} +2 -2
  286. package/server/.next/server/chunks/{[root-of-the-server]__0sp5xoed3-994._.js → [root-of-the-server]__05b18nw2k-7-4._.js} +1 -1
  287. package/server/.next/server/chunks/[root-of-the-server]__05qcc-0e8z1u8._.js +1 -1
  288. package/server/.next/server/chunks/{[root-of-the-server]__01hgqxx2a0okv._.js → [root-of-the-server]__06kp2_zqpttyd._.js} +2 -2
  289. package/server/.next/server/chunks/{[root-of-the-server]__04ogdmf82__0g._.js → [root-of-the-server]__06l038ifglbqy._.js} +1 -1
  290. package/server/.next/server/chunks/{[root-of-the-server]__1etpd6q60ypcc._.js → [root-of-the-server]__06nrq_1pbp3z-._.js} +2 -2
  291. package/server/.next/server/chunks/{[root-of-the-server]__0i3h5covkd6_t._.js → [root-of-the-server]__06zmu7jjyw1qw._.js} +1 -1
  292. package/server/.next/server/chunks/[root-of-the-server]__07eo--c90cju2._.js +1 -1
  293. package/server/.next/server/chunks/{[root-of-the-server]__0sq7jwlhv9n79._.js → [root-of-the-server]__081hh3_un4awi._.js} +1 -1
  294. package/server/.next/server/chunks/{[root-of-the-server]__1vvg0ur3_7o0p._.js → [root-of-the-server]__090n04cg_br7j._.js} +1 -1
  295. package/server/.next/server/chunks/{[root-of-the-server]__0lht1cr4aiudu._.js → [root-of-the-server]__09gla7jgbw2bs._.js} +1 -1
  296. package/server/.next/server/chunks/{[root-of-the-server]__0cmp5mwchd8sn._.js → [root-of-the-server]__09l9icaspfmoh._.js} +2 -2
  297. package/server/.next/server/chunks/{[root-of-the-server]__0m_nqt44ioex_._.js → [root-of-the-server]__09msxcjw3tlue._.js} +1 -1
  298. package/server/.next/server/chunks/{[root-of-the-server]__1smidspfoqz48._.js → [root-of-the-server]__09yvavo991rdd._.js} +2 -2
  299. package/server/.next/server/chunks/{[root-of-the-server]__0ox91q3i5u6fl._.js → [root-of-the-server]__0_vtp19_2frgj._.js} +1 -1
  300. package/server/.next/server/chunks/[root-of-the-server]__0a0st8-rftztn._.js +3 -0
  301. package/server/.next/server/chunks/{[root-of-the-server]__04iumkvxok49x._.js → [root-of-the-server]__0a7moaa91ctod._.js} +2 -2
  302. package/server/.next/server/chunks/{[root-of-the-server]__17dr2z1o1hsvk._.js → [root-of-the-server]__0ao4b2jjkcvo1._.js} +1 -1
  303. package/server/.next/server/chunks/{[root-of-the-server]__04htuwoulmp21._.js → [root-of-the-server]__0at6fxe9efr-x._.js} +1 -1
  304. package/server/.next/server/chunks/{[root-of-the-server]__0erdelc9_06nk._.js → [root-of-the-server]__0c_mpay_m5kbm._.js} +1 -1
  305. package/server/.next/server/chunks/{[root-of-the-server]__02h-ec_gusm_2._.js → [root-of-the-server]__0di45l_tnq1pm._.js} +2 -2
  306. package/server/.next/server/chunks/[root-of-the-server]__0ebkmgcs7v0c8._.js +3 -0
  307. package/server/.next/server/chunks/{[root-of-the-server]__19k0l-ubyp1j_._.js → [root-of-the-server]__0ej4hdoyogtji._.js} +1 -1
  308. package/server/.next/server/chunks/{[root-of-the-server]__1etg41llk7f09._.js → [root-of-the-server]__0eqrtvr3uqlqf._.js} +1 -1
  309. package/server/.next/server/chunks/{[root-of-the-server]__1x7en4waq21dd._.js → [root-of-the-server]__0exruft64u1hg._.js} +1 -1
  310. package/server/.next/server/chunks/{[root-of-the-server]__0ubalx5w0ds9m._.js → [root-of-the-server]__0fii83nfm0bsk._.js} +1 -1
  311. package/server/.next/server/chunks/{[root-of-the-server]__1d1u-wejsfl84._.js → [root-of-the-server]__0g0rd65zoitrb._.js} +1 -1
  312. package/server/.next/server/chunks/{[root-of-the-server]__0fmt9z8-xukob._.js → [root-of-the-server]__0g3v-ty9-xstp._.js} +1 -1
  313. package/server/.next/server/chunks/[root-of-the-server]__0g81f_2ecmg8a._.js +3 -0
  314. package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +1 -1
  315. package/server/.next/server/chunks/[root-of-the-server]__0glhrm7zmrvi2._.js +3 -0
  316. package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +1 -1
  317. package/server/.next/server/chunks/{[root-of-the-server]__1jsf0jf_ljpsm._.js → [root-of-the-server]__0jma907r441wi._.js} +1 -1
  318. package/server/.next/server/chunks/{[root-of-the-server]__1j527a18gh10b._.js → [root-of-the-server]__0jpktq0f88rvz._.js} +2 -2
  319. package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +1 -1
  320. package/server/.next/server/chunks/{[root-of-the-server]__0lco43i5w25zg._.js → [root-of-the-server]__0myf9g_uv3bia._.js} +2 -2
  321. package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.js +1 -1
  322. package/server/.next/server/chunks/{[root-of-the-server]__1xnqsy7nud--q._.js → [root-of-the-server]__0pi_camvun8ak._.js} +2 -2
  323. package/server/.next/server/chunks/{[root-of-the-server]__0mrbo2p5fy4ji._.js → [root-of-the-server]__0puji-hw0xtk7._.js} +1 -1
  324. package/server/.next/server/chunks/{[root-of-the-server]__1kr6f03r82mk6._.js → [root-of-the-server]__0qlf-so9k6401._.js} +1 -1
  325. package/server/.next/server/chunks/{[root-of-the-server]__0iicsi0n7tfa5._.js → [root-of-the-server]__0r0zrp3s_n614._.js} +1 -1
  326. package/server/.next/server/chunks/{[root-of-the-server]__0zwr7fll4dm9q._.js → [root-of-the-server]__0s3b61ttgb9if._.js} +2 -2
  327. package/server/.next/server/chunks/{[root-of-the-server]__1_df6aphi-pfk._.js → [root-of-the-server]__0t0dd5t5rch1i._.js} +2 -2
  328. package/server/.next/server/chunks/{[root-of-the-server]__11a8fxlpahjy2._.js → [root-of-the-server]__0tshehtsx7229._.js} +1 -1
  329. package/server/.next/server/chunks/[root-of-the-server]__0ty2qkszfdr5t._.js +3 -0
  330. package/server/.next/server/chunks/[root-of-the-server]__0ugx1i8km15fl._.js +3 -0
  331. package/server/.next/server/chunks/{[root-of-the-server]__0c2heh-0pjyob._.js → [root-of-the-server]__0uyc9w7f_r10u._.js} +1 -1
  332. package/server/.next/server/chunks/[root-of-the-server]__0uz_r72zdnwdd._.js +1 -1
  333. package/server/.next/server/chunks/{[root-of-the-server]__130_vkgsongq_._.js → [root-of-the-server]__0vb1_m_h5hi0z._.js} +2 -2
  334. package/server/.next/server/chunks/{[root-of-the-server]__0x929r1phz1oi._.js → [root-of-the-server]__0vclan952l_ty._.js} +2 -2
  335. package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
  336. package/server/.next/server/chunks/{[root-of-the-server]__1wjsjh-1i-sn6._.js → [root-of-the-server]__0vsafetdvsfhj._.js} +1 -1
  337. package/server/.next/server/chunks/{[root-of-the-server]__0db2p-om-b_4s._.js → [root-of-the-server]__0ww7a-9fnx2rv._.js} +1 -1
  338. package/server/.next/server/chunks/[root-of-the-server]__0x5vp_8n6xvpw._.js +3 -0
  339. package/server/.next/server/chunks/[root-of-the-server]__0yhki59n8zyjb._.js +1 -1
  340. package/server/.next/server/chunks/{[root-of-the-server]__20sp5m_w5iklm._.js → [root-of-the-server]__10-v22hv1sxrv._.js} +2 -2
  341. package/server/.next/server/chunks/{[root-of-the-server]__0jswmvddgl3sb._.js → [root-of-the-server]__10d4a34z0js-f._.js} +1 -1
  342. package/server/.next/server/chunks/{[root-of-the-server]__0zkeao78mms1_._.js → [root-of-the-server]__10ts7p_9fu3ge._.js} +2 -2
  343. package/server/.next/server/chunks/{[root-of-the-server]__14jw0y_hj7jmw._.js → [root-of-the-server]__12tmfv427e9cb._.js} +2 -2
  344. package/server/.next/server/chunks/[root-of-the-server]__1426to_m4prqh._.js +1 -1
  345. package/server/.next/server/chunks/[root-of-the-server]__1481y3utu_a_o._.js +3 -0
  346. package/server/.next/server/chunks/[root-of-the-server]__14e0j38785glf._.js +3 -0
  347. package/server/.next/server/chunks/{[root-of-the-server]__1-2ckgdamg0-j._.js → [root-of-the-server]__14yq_wf4xemgd._.js} +2 -2
  348. package/server/.next/server/chunks/[root-of-the-server]__177l2p7kcj-16._.js +1 -1
  349. package/server/.next/server/chunks/{[root-of-the-server]__0-94urkhm871c._.js → [root-of-the-server]__192br5y94wzhx._.js} +1 -1
  350. package/server/.next/server/chunks/[root-of-the-server]__19jalyhtntk8p._.js +3 -0
  351. package/server/.next/server/chunks/{[root-of-the-server]__0fc4c9-xzmkol._.js → [root-of-the-server]__19o-a03uklyrw._.js} +2 -2
  352. package/server/.next/server/chunks/{[root-of-the-server]__1rpgddeg42i-q._.js → [root-of-the-server]__1_0vd5-tvmsg8._.js} +1 -1
  353. package/server/.next/server/chunks/{[root-of-the-server]__0w07p3ypro834._.js → [root-of-the-server]__1_goy0uhapvk9._.js} +2 -2
  354. package/server/.next/server/chunks/[root-of-the-server]__1ac-dzt5bffr2._.js +3 -0
  355. package/server/.next/server/chunks/{[root-of-the-server]__1bjvjngj7lvqi._.js → [root-of-the-server]__1ajyr5xvo1-x5._.js} +2 -2
  356. package/server/.next/server/chunks/{[root-of-the-server]__0-ytbad9hn7uc._.js → [root-of-the-server]__1avuwg9wmyh48._.js} +1 -1
  357. package/server/.next/server/chunks/[root-of-the-server]__1c78cu7kb9vkl._.js +1 -1
  358. package/server/.next/server/chunks/[root-of-the-server]__1ey2qia7rofoc._.js +3 -0
  359. package/server/.next/server/chunks/{[root-of-the-server]__161v5qfd5qk2p._.js → [root-of-the-server]__1ghx3ayy7tm73._.js} +2 -2
  360. package/server/.next/server/chunks/{[root-of-the-server]__0xfgfo-ks4_e8._.js → [root-of-the-server]__1hlvqq0azku2x._.js} +2 -2
  361. package/server/.next/server/chunks/{[root-of-the-server]__0zs-wkvv1cs0i._.js → [root-of-the-server]__1hrcyozojb6ot._.js} +1 -1
  362. package/server/.next/server/chunks/[root-of-the-server]__1hrviq7s700td._.js +3 -0
  363. package/server/.next/server/chunks/{[root-of-the-server]__212_l7y-180xi._.js → [root-of-the-server]__1i841w7a3057h._.js} +1 -1
  364. package/server/.next/server/chunks/[root-of-the-server]__1ifov-udw6__d._.js +3 -0
  365. package/server/.next/server/chunks/{[root-of-the-server]__10negjjz5k5bz._.js → [root-of-the-server]__1ig0p-frprcbm._.js} +1 -1
  366. package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +1 -1
  367. package/server/.next/server/chunks/{[root-of-the-server]__0c9y_zg74k4oe._.js → [root-of-the-server]__1iruoalu93dg7._.js} +2 -2
  368. package/server/.next/server/chunks/[root-of-the-server]__1ksyvvsf32jfg._.js +3 -0
  369. package/server/.next/server/chunks/[root-of-the-server]__1kzi1du1sliqb._.js +3 -0
  370. package/server/.next/server/chunks/{[root-of-the-server]__15vqo7amys573._.js → [root-of-the-server]__1mbm_bvk1oat7._.js} +2 -2
  371. package/server/.next/server/chunks/[root-of-the-server]__1mvibnqor6lx_._.js +3 -0
  372. package/server/.next/server/chunks/{[root-of-the-server]__0ct18spdi1leu._.js → [root-of-the-server]__1ons16gam6qb7._.js} +2 -2
  373. package/server/.next/server/chunks/[root-of-the-server]__1ozfk4_3lx1o7._.js +1 -1
  374. package/server/.next/server/chunks/[root-of-the-server]__1po33h2u2o4e_._.js +3 -0
  375. package/server/.next/server/chunks/[root-of-the-server]__1qps9ushddgwe._.js +3 -0
  376. package/server/.next/server/chunks/{[root-of-the-server]__0so_ihc-5tp14._.js → [root-of-the-server]__1qyz1wi13rxxb._.js} +1 -1
  377. package/server/.next/server/chunks/{[root-of-the-server]__0nkfi6x2c4c5p._.js → [root-of-the-server]__1r2ei065xk141._.js} +1 -1
  378. package/server/.next/server/chunks/{[root-of-the-server]__0dltcr407-ow6._.js → [root-of-the-server]__1r8mzvf7_9d2k._.js} +2 -2
  379. package/server/.next/server/chunks/[root-of-the-server]__1rxke2_vpd7np._.js +3 -0
  380. package/server/.next/server/chunks/[root-of-the-server]__1sjp750034q4j._.js +3 -0
  381. package/server/.next/server/chunks/[root-of-the-server]__1tefe1f5835t_._.js +1 -1
  382. package/server/.next/server/chunks/{[root-of-the-server]__0a5t6bkr3-uqw._.js → [root-of-the-server]__1tlivd99uri0t._.js} +2 -2
  383. package/server/.next/server/chunks/{[root-of-the-server]__217jp1b3psyq_._.js → [root-of-the-server]__1vfvw1pmssxww._.js} +1 -1
  384. package/server/.next/server/chunks/{[root-of-the-server]__1g6xpr_typmce._.js → [root-of-the-server]__1wbnule0tzwdu._.js} +2 -2
  385. package/server/.next/server/chunks/{[root-of-the-server]__0zu1odpvrptrt._.js → [root-of-the-server]__1wcnj2xtesyd9._.js} +1 -1
  386. package/server/.next/server/chunks/{[root-of-the-server]__1cpee8xi1ig3-._.js → [root-of-the-server]__1won_frdj9jms._.js} +2 -2
  387. package/server/.next/server/chunks/[root-of-the-server]__1wvp6wau5ueb9._.js +3 -0
  388. package/server/.next/server/chunks/{[root-of-the-server]__0bvdnvpw43au9._.js → [root-of-the-server]__1y9gsf61fh1fv._.js} +1 -1
  389. package/server/.next/server/chunks/[root-of-the-server]__1yxudc_keazqo._.js +3 -0
  390. package/server/.next/server/chunks/{[root-of-the-server]__1pyhos8be90-4._.js → [root-of-the-server]__1yxxfmyk3649a._.js} +1 -1
  391. package/server/.next/server/chunks/{[root-of-the-server]__1t87mhqedigsz._.js → [root-of-the-server]__1z1fgf8k8icw8._.js} +2 -2
  392. package/server/.next/server/chunks/{[root-of-the-server]__1d4wmw2wohveb._.js → [root-of-the-server]__1z_l9mj3s_6tu._.js} +1 -1
  393. package/server/.next/server/chunks/[root-of-the-server]__1zvy7u_y3fzbz._.js +3 -0
  394. package/server/.next/server/chunks/{[root-of-the-server]__0xd_bgjy5_tr5._.js → [root-of-the-server]__20056vw370xom._.js} +1 -1
  395. package/server/.next/server/chunks/[root-of-the-server]__205cmd-k6g2kc._.js +3 -0
  396. package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +1 -1
  397. package/server/.next/server/chunks/{[root-of-the-server]__1sm4p209f_yie._.js → [root-of-the-server]__20qdu-env7wgt._.js} +1 -1
  398. package/server/.next/server/chunks/[root-of-the-server]__20qirklw1sgj0._.js +3 -0
  399. package/server/.next/server/chunks/{[root-of-the-server]__0inf2zuuqjrq6._.js → [root-of-the-server]__212-4r-w6a9sm._.js} +2 -2
  400. package/server/.next/server/chunks/_0-5pjvqu672_v._.js +49 -0
  401. package/server/.next/server/chunks/_02qrz1g8sdvhe._.js +49 -0
  402. package/server/.next/server/chunks/_03qlijpos6a21._.js +1 -1
  403. package/server/.next/server/chunks/_06gv0srpbf_lk._.js +1 -1
  404. package/server/.next/server/chunks/_06lf75x-xhl7v._.js +1 -1
  405. package/server/.next/server/chunks/{_0-ub844lc_z_a._.js → _0ehqx1pkh20px._.js} +3 -3
  406. package/server/.next/server/chunks/{_08z7lmk32r__5._.js → _0jiq3ns7681pv._.js} +3 -3
  407. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  408. package/server/.next/server/chunks/_0sy878k2ywjbq._.js +1 -1
  409. package/server/.next/server/chunks/_0vgplianlrk3e._.js +3 -0
  410. package/server/.next/server/chunks/_1_son1yzo5xvl._.js +1 -1
  411. package/server/.next/server/chunks/_1ap0upnvy5i_1._.js +49 -0
  412. package/server/.next/server/chunks/_1b-88djuoexz1._.js +49 -0
  413. package/server/.next/server/chunks/{_0-jfehdfklu-i._.js → _1k3v1-vgvzm_o._.js} +2 -2
  414. package/server/.next/server/chunks/{_1-pv4d4qhe7to._.js → _1t46m15axa4b4._.js} +3 -3
  415. package/server/.next/server/chunks/node_modules_drizzle-orm_entity_1-0q2stnw2ab8.js +3 -3
  416. package/server/.next/server/chunks/{_0op74d4yyc3ma._.js → node_modules_next_1mwxx95m7177g._.js} +3 -3
  417. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  418. package/server/.next/server/chunks/{src_2108_me3q06ih._.js → src_05be6wzefzaky._.js} +2 -2
  419. package/server/.next/server/chunks/src_05jrvcsgaq5ek._.js +1 -1
  420. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  421. package/server/.next/server/chunks/src_06tyytf_c_hlu._.js +1 -1
  422. package/server/.next/server/chunks/src_088gmyaew7ds0._.js +1 -1
  423. package/server/.next/server/chunks/src_08fq45_-8xq5o._.js +1 -1
  424. package/server/.next/server/chunks/src_0_9n02bmhtk4z._.js +1 -1
  425. package/server/.next/server/chunks/src_0c-owt8q0lyj3._.js +1 -1
  426. package/server/.next/server/chunks/{src_0j8daco-75zka._.js → src_0cdn5fuk8f_x2._.js} +2 -2
  427. package/server/.next/server/chunks/src_0dxbyz8iemj_5._.js +1 -1
  428. package/server/.next/server/chunks/src_0hx0sol2clocu._.js +1 -1
  429. package/server/.next/server/chunks/{src_1lvv9wiag2d8-._.js → src_0j84o_hkkaeg-._.js} +2 -2
  430. package/server/.next/server/chunks/src_0u2zbz77uh__q._.js +1 -1
  431. package/server/.next/server/chunks/src_0ud2mqnh4emxz._.js +1 -1
  432. package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +1 -1
  433. package/server/.next/server/chunks/src_10vyvp9vy_69h._.js +1 -1
  434. package/server/.next/server/chunks/src_13n1vi7uew4iu._.js +1 -1
  435. package/server/.next/server/chunks/src_1_fnzi0em_6er._.js +3 -0
  436. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  437. package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +1 -1
  438. package/server/.next/server/chunks/src_1cvp6ubs-3z6l._.js +1 -1
  439. package/server/.next/server/chunks/src_1il7wg_qjxny7._.js +1 -1
  440. package/server/.next/server/chunks/src_1ntwbcb1cl-y9._.js +1 -1
  441. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +5 -5
  442. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  443. package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +1 -1
  444. package/server/.next/server/chunks/src_1wmb2yl3tn-dd._.js +1 -1
  445. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +5 -5
  446. package/server/.next/server/chunks/src_lib_00ixpbvymlbo_._.js +3 -0
  447. package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +1 -1
  448. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  449. package/server/.next/server/chunks/src_lib_0j2ifdk5byg1t._.js +3 -0
  450. package/server/.next/server/chunks/src_lib_0ma36vqcze7a9._.js +7 -0
  451. package/server/.next/server/chunks/src_lib_0ps7mu81f-6s1._.js +7 -0
  452. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +10 -10
  453. package/server/.next/server/chunks/src_lib_14grv5a5_n9o0._.js +7 -0
  454. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +10 -10
  455. package/server/.next/server/chunks/src_lib_1iuuekw6uwbbr._.js +3 -0
  456. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +10 -10
  457. package/server/.next/server/chunks/src_lib_1znb-e7g8dkgc._.js +7 -0
  458. package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  459. package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +3 -3
  460. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +6 -6
  461. package/server/.next/server/chunks/src_lib_data_cached_ts_017to1fh48jms._.js +3 -0
  462. package/server/.next/server/chunks/src_lib_data_databases-db_ts_04a4hj5j7h8m0._.js +3 -0
  463. package/server/.next/server/chunks/src_lib_data_os-scan-db_ts_0g2a3ofkaxf40._.js +4 -0
  464. package/server/.next/server/chunks/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +4 -4
  465. package/server/.next/server/chunks/src_lib_databases_snapshot-data_ts_1xilv6_re7hcp._.js +3 -0
  466. package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +5 -5
  467. package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +10 -10
  468. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +12 -12
  469. package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +10 -10
  470. package/server/.next/server/chunks/src_lib_deps_branch_ts_06dz9-7a66n24._.js +3 -0
  471. package/server/.next/server/chunks/src_lib_deps_osv_ts_0c-lbj4hsmojx._.js +3 -0
  472. package/server/.next/server/chunks/src_lib_deps_plan_ts_0bctf8v4qttk5._.js +1 -1
  473. package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +1 -1
  474. package/server/.next/server/chunks/src_lib_sections_ts_0r8u4nvlpdkgq._.js +1 -1
  475. package/server/.next/server/chunks/src_lib_view_security_ts_1_c7vkcsp6y27._.js +3 -0
  476. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  477. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
  478. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
  479. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
  480. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
  481. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
  482. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
  483. package/server/.next/server/chunks/ssr/1q96_modules_@tabler_icons-react_dist_esm_icons_IconExternalLink_mjs_19uzq2wmxdb36._.js +3 -0
  484. package/server/.next/server/chunks/ssr/{[externals]__1rj83sktdlxvt._.js → [externals]__00hge8tjqv73a._.js} +1 -1
  485. package/server/.next/server/chunks/ssr/{[externals]__1s7xw086rvse0._.js → [externals]__0summv9f9jkob._.js} +1 -1
  486. package/server/.next/server/chunks/ssr/{[externals]__20leqouf6m6f3._.js → [externals]__1jdljyrzmqoz0._.js} +1 -1
  487. package/server/.next/server/chunks/ssr/{[externals]__02s9k1gg9qqkm._.js → [externals]__1q1drb4oske-9._.js} +1 -1
  488. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
  489. package/server/.next/server/chunks/ssr/{[root-of-the-server]__07k_84t5-d55n._.js → [root-of-the-server]__02lkybw6gg3ln._.js} +2 -2
  490. package/server/.next/server/chunks/ssr/[root-of-the-server]__02s29zgn7lrps._.js +3 -0
  491. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1e9tlsk1gl8lw._.js → [root-of-the-server]__03xevz8n-mc20._.js} +3 -3
  492. package/server/.next/server/chunks/ssr/{[root-of-the-server]__077-acap7g4ck._.js → [root-of-the-server]__0423qjo9c2t9-._.js} +1 -1
  493. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0nrc_8-wrhf3y._.js → [root-of-the-server]__04p9ipxxdhqfn._.js} +1 -1
  494. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ct4apye0sfmc._.js → [root-of-the-server]__05s2n35zn4go-._.js} +1 -1
  495. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0fd39clnjw9fb._.js → [root-of-the-server]__06bgklzuef-ya._.js} +2 -2
  496. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1itgt83qo1e77._.js → [root-of-the-server]__07_efq7yhxfj-._.js} +1 -1
  497. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0q7rssq_3unbc._.js → [root-of-the-server]__07zuxj3veqm14._.js} +1 -1
  498. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1qrk2rfmx21b_._.js → [root-of-the-server]__092gsphy4oz6k._.js} +2 -2
  499. package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
  500. package/server/.next/server/chunks/ssr/[root-of-the-server]__0_-fz8cunfpwp._.js +3 -0
  501. package/server/.next/server/chunks/ssr/[root-of-the-server]__0de1senl_kfo5._.js +3 -0
  502. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ee5ew5q3jh8i._.js → [root-of-the-server]__0gyvfp6c-_edw._.js} +2 -2
  503. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
  504. package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
  505. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
  506. package/server/.next/server/chunks/ssr/[root-of-the-server]__0mvauw9r_4qss._.js +4 -0
  507. package/server/.next/server/chunks/ssr/{[root-of-the-server]__04_prmhm_cts4._.js → [root-of-the-server]__0n4bkq-45z4aa._.js} +1 -1
  508. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0e1s_5gg-u3iu._.js → [root-of-the-server]__0no6c0whevi73._.js} +1 -1
  509. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
  510. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
  511. package/server/.next/server/chunks/ssr/[root-of-the-server]__0y2s_4828a5u9._.js +3 -0
  512. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0p86d9imejczs._.js → [root-of-the-server]__0z5ucbis8ik32._.js} +2 -2
  513. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0uxychcp_pldy._.js → [root-of-the-server]__10r0u-q18z71i._.js} +1 -1
  514. package/server/.next/server/chunks/ssr/{[root-of-the-server]__004q78ed0nf0_._.js → [root-of-the-server]__12t9_ndr9z-2d._.js} +1 -1
  515. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0hgf7si8htevx._.js → [root-of-the-server]__139ya3ejh6htx._.js} +1 -1
  516. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0-zqh1gf4dsj3._.js → [root-of-the-server]__13phmsw9wsyrs._.js} +1 -1
  517. package/server/.next/server/chunks/ssr/[root-of-the-server]__14e0j38785glf._.js +3 -0
  518. package/server/.next/server/chunks/ssr/{[root-of-the-server]__080do5vfu69n5._.js → [root-of-the-server]__157kjredkf1pa._.js} +1 -1
  519. package/server/.next/server/chunks/ssr/{[root-of-the-server]__09j1po2u91fp3._.js → [root-of-the-server]__16jfs8j29r4b5._.js} +2 -2
  520. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0skfdezx5rxie._.js → [root-of-the-server]__183_36tj3p645._.js} +2 -2
  521. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1sw2q1p1t59y8._.js → [root-of-the-server]__18gw74mr2vto3._.js} +2 -2
  522. package/server/.next/server/chunks/ssr/[root-of-the-server]__19twn3g5nv5q1._.js +3 -0
  523. package/server/.next/server/chunks/ssr/[root-of-the-server]__19wvac83zh5-9._.js +3 -0
  524. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  525. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0h9rpg5-lhp5q._.js → [root-of-the-server]__1a5760tg4iits._.js} +2 -2
  526. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0b3g72j9cu141._.js → [root-of-the-server]__1d1ksu1dlha3r._.js} +2 -2
  527. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1y7nfsglxx7cn._.js → [root-of-the-server]__1iqedr7nfvayk._.js} +1 -1
  528. package/server/.next/server/chunks/ssr/{[root-of-the-server]__11paa809_igt_._.js → [root-of-the-server]__1knbzqo0nba_q._.js} +2 -2
  529. package/server/.next/server/chunks/ssr/{[root-of-the-server]__05_98ql5tgeii._.js → [root-of-the-server]__1m38od9tgaroe._.js} +1 -1
  530. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ed6qo3lg9_f9._.js → [root-of-the-server]__1mah0p09qrkpu._.js} +2 -2
  531. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1v3b498_j-68t._.js → [root-of-the-server]__1mxpszbk1aup8._.js} +3 -3
  532. package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
  533. package/server/.next/server/chunks/ssr/_008i8a0_8skrp._.js +3 -0
  534. package/server/.next/server/chunks/ssr/{_0azq3ml4gbn1d._.js → _01n29sxn-py3x._.js} +2 -2
  535. package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
  536. package/server/.next/server/chunks/ssr/_03d3sxmob-gr7._.js +3 -0
  537. package/server/.next/server/chunks/ssr/{_1wfjx67s3e6ws._.js → _04mnjz5cekpue._.js} +1 -1
  538. package/server/.next/server/chunks/ssr/_08rjac8cutbcs._.js +3 -0
  539. package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
  540. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  541. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  542. package/server/.next/server/chunks/ssr/{_1ah_xx0-cty-v._.js → _0aznz0i-8olet._.js} +1 -1
  543. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  544. package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
  545. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  546. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
  547. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  548. package/server/.next/server/chunks/ssr/_0dvz4dndt6lkf._.js +1 -1
  549. package/server/.next/server/chunks/ssr/_0eu69r0sm274b._.js +3 -0
  550. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
  551. package/server/.next/server/chunks/ssr/_0gmw45sb1llld._.js +1 -1
  552. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
  553. package/server/.next/server/chunks/ssr/_0iaoiq9xbkdma._.js +3 -0
  554. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
  555. package/server/.next/server/chunks/ssr/_0iy27gi4y9-fe._.js +1 -1
  556. package/server/.next/server/chunks/ssr/_0k2qpgzlqzc_p._.js +1 -1
  557. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
  558. package/server/.next/server/chunks/ssr/_0lb1euzjakqbr._.js +3 -0
  559. package/server/.next/server/chunks/ssr/{_0_vfnz8i8hac7._.js → _0mhwgy5lvtng0._.js} +1 -1
  560. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  561. package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
  562. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
  563. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
  564. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
  565. package/server/.next/server/chunks/ssr/{_1er-95g7emfdz._.js → _0u5_d3o0i72tq._.js} +2 -2
  566. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
  567. package/server/.next/server/chunks/ssr/_0uz60lk-7e_cj._.js +4 -0
  568. package/server/.next/server/chunks/ssr/_0vgplianlrk3e._.js +3 -0
  569. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  570. package/server/.next/server/chunks/ssr/_0xmud7u5hdnqu._.js +2 -2
  571. package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +3 -0
  572. package/server/.next/server/chunks/ssr/_1-4401bfn50mf._.js +1 -1
  573. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  574. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  575. package/server/.next/server/chunks/ssr/{_1xokm14jd0teg._.js → _113tc44xki0cp._.js} +1 -1
  576. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  577. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
  578. package/server/.next/server/chunks/ssr/{_0f11sdi6yislb._.js → _13bpjk3g0tp2e._.js} +2 -2
  579. package/server/.next/server/chunks/ssr/_16vvfyez78u5k._.js +3 -0
  580. package/server/.next/server/chunks/ssr/{_1jl374mbl90fb._.js → _17tabyg0mhxlx._.js} +2 -2
  581. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  582. package/server/.next/server/chunks/ssr/_19-n2kl-knt0j._.js +3 -0
  583. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  584. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
  585. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  586. package/server/.next/server/chunks/ssr/_1d0anr0hjs5k5._.js +3 -0
  587. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
  588. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
  589. package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
  590. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  591. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
  592. package/server/.next/server/chunks/ssr/_1i96si4hzn74p._.js +1 -1
  593. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  594. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  595. package/server/.next/server/chunks/ssr/_1lgb0h9z-8z15._.js +3 -0
  596. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
  597. package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
  598. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
  599. package/server/.next/server/chunks/ssr/_1q3fi6a4gklq6._.js +3 -0
  600. package/server/.next/server/chunks/ssr/_1qsshadaq_-6p._.js +3 -0
  601. package/server/.next/server/chunks/ssr/_1ul3og9l7vp32._.js +4 -0
  602. package/server/.next/server/chunks/ssr/{_1nzncndn-1ggb._.js → _1xbmdurub1ykt._.js} +1 -1
  603. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
  604. package/server/.next/server/chunks/ssr/{_1h7x73oxtp7h5._.js → _1ykegy3wzl3mu._.js} +2 -2
  605. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  606. package/server/.next/server/chunks/ssr/{_1_ct-7kmkfab1._.js → _1znzrmlfouh6k._.js} +1 -1
  607. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
  608. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
  609. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
  610. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_1myo_rodrlg3a.js +4 -0
  611. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
  612. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
  613. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_containers_page_actions_1ainjsbrnl360.js +3 -0
  614. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
  615. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
  616. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
  617. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
  618. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
  619. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +1 -1
  620. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
  621. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
  622. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  623. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  624. package/server/.next/server/chunks/ssr/{node_modules_@tabler_icons-react_dist_esm_icons_0904ro5eqxhlr._.js → node_modules_@tabler_icons-react_dist_esm_icons_0b7guexr5je6g._.js} +1 -1
  625. package/server/.next/server/chunks/ssr/{node_modules_@tabler_icons-react_dist_esm_icons_07e6iv4064369._.js → node_modules_@tabler_icons-react_dist_esm_icons_0ej-u2f-ha9q0._.js} +1 -1
  626. package/server/.next/server/chunks/ssr/{node_modules_@tabler_icons-react_dist_esm_icons_1uzp0vue7-c9z._.js → node_modules_@tabler_icons-react_dist_esm_icons_1nstb42fu_h0p._.js} +1 -1
  627. package/server/.next/server/chunks/ssr/node_modules_class-variance-authority_dist_index_mjs_0wl3fjdt40o5n._.js +3 -0
  628. package/server/.next/server/chunks/ssr/{_1b4uqc9fwt4dy._.js → node_modules_next_1mwxx95m7177g._.js} +2 -2
  629. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0hrjtaoa__ix8.js +3 -0
  630. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0slepiv25mpch.js +3 -0
  631. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1oqgmgc8y6yxj.js +3 -0
  632. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
  633. package/server/.next/server/chunks/ssr/src_05mcsr-od-9ug._.js +3 -0
  634. package/server/.next/server/chunks/ssr/src_0632mrev4i__u._.js +3 -0
  635. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  636. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  637. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  638. package/server/.next/server/chunks/ssr/src_0c62tj2aysn_e._.js +3 -0
  639. package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
  640. package/server/.next/server/chunks/ssr/src_0k2rwfjheyrf7._.js +1 -1
  641. package/server/.next/server/chunks/ssr/src_0ovx2ogvlz2eh._.js +1 -1
  642. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  643. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +2 -2
  644. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  645. package/server/.next/server/chunks/ssr/src_13u1vu8hwwr6n._.js +3 -0
  646. package/server/.next/server/chunks/ssr/src_14bxi75kwc3xt._.js +3 -0
  647. package/server/.next/server/chunks/ssr/src_15mtytgydjtio._.js +3 -0
  648. package/server/.next/server/chunks/ssr/{src_14ulgwoxoyfkq._.js → src_1_9q6-wstn038._.js} +2 -2
  649. package/server/.next/server/chunks/ssr/src_1emolu5lrse98._.js +6 -0
  650. package/server/.next/server/chunks/ssr/src_1maoe8g5gnv0u._.js +3 -3
  651. package/server/.next/server/chunks/ssr/src_1ntwbcb1cl-y9._.js +1 -1
  652. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  653. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  654. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  655. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  656. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  657. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  658. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  659. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  660. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  661. package/server/.next/server/chunks/ssr/src_app_(console)_0_odx13qcz9o1._.js +3 -0
  662. package/server/.next/server/chunks/ssr/{src_app_(console)_11o_ga_rurg55._.js → src_app_(console)_0gw9o1og9hq_4._.js} +2 -2
  663. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
  664. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_08in-j3xp5mbn._.js +3 -0
  665. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  666. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  667. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  668. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  669. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  670. package/server/.next/server/chunks/ssr/src_app_(console)_containers_containers-view_tsx_1xkcrw5gx53xo._.js +3 -0
  671. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  672. package/server/.next/server/chunks/ssr/src_app_(console)_deploy_0zeo9k66pzhae._.js +3 -0
  673. package/server/.next/server/chunks/ssr/src_app_(console)_deploy_deploy-picker_tsx_1qtt_mfhq6hx7._.js +3 -0
  674. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  675. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  676. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  677. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  678. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  679. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  680. package/server/.next/server/chunks/ssr/src_app_(console)_os_09ake6nf7de4h._.js +3 -0
  681. package/server/.next/server/chunks/ssr/src_app_(console)_os_os-view_tsx_0xr69f5vtstls._.js +3 -0
  682. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  683. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  684. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  685. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  686. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_1ofufib3-zzt-._.js +1 -1
  687. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  688. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  689. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  690. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  691. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  692. package/server/.next/server/chunks/ssr/{src_app_signin_0u6eoxbd8ttqy._.js → src_app_signin_1u2md84o5b6td._.js} +2 -2
  693. package/server/.next/server/chunks/ssr/src_components_174vbjanfxq81._.js +3 -0
  694. package/server/.next/server/chunks/ssr/{src_components_0ozvphxxwb7d-._.js → src_components_1pmro72g7f44k._.js} +1 -1
  695. package/server/.next/server/chunks/ssr/src_components_charts_tsx_0u0c5sxi3-7ug._.js +1 -1
  696. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  697. package/server/.next/server/chunks/ssr/src_components_live_tsx_1p2s3b807w0jt._.js +1 -1
  698. package/server/.next/server/chunks/ssr/src_lib_00ixpbvymlbo_._.js +3 -0
  699. package/server/.next/server/chunks/ssr/src_lib_05ai1oj91p9w2._.js +2 -2
  700. package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +1 -1
  701. package/server/.next/server/chunks/ssr/src_lib_0f_4mvf4-xxst._.js +1 -1
  702. package/server/.next/server/chunks/ssr/src_lib_0j2ifdk5byg1t._.js +3 -0
  703. package/server/.next/server/chunks/ssr/src_lib_0nbad7vu413-f._.js +1 -1
  704. package/server/.next/server/chunks/ssr/src_lib_1-o98ehvb_ozi._.js +3 -0
  705. package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
  706. package/server/.next/server/chunks/ssr/src_lib_1iuuekw6uwbbr._.js +3 -0
  707. package/server/.next/server/chunks/ssr/{src_lib_0-nc33gvdtkg5._.js → src_lib_1zgor_vrwl5kt._.js} +1 -1
  708. package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  709. package/server/.next/server/chunks/ssr/src_lib_data_cached_ts_017to1fh48jms._.js +3 -0
  710. package/server/.next/server/chunks/ssr/src_lib_data_databases-db_ts_04a4hj5j7h8m0._.js +3 -0
  711. package/server/.next/server/chunks/ssr/src_lib_data_os-scan-db_ts_0g2a3ofkaxf40._.js +4 -0
  712. package/server/.next/server/chunks/ssr/src_lib_data_provider-action-db_ts_0-bucssqnudtd._.js +1 -1
  713. package/server/.next/server/chunks/ssr/src_lib_data_repos-db_ts_06z14rp86ukii._.js +3 -0
  714. package/server/.next/server/chunks/ssr/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +2 -2
  715. package/server/.next/server/chunks/ssr/src_lib_databases_snapshot-data_ts_1xilv6_re7hcp._.js +3 -0
  716. package/server/.next/server/chunks/ssr/{src_lib_demo_0sbw5n9n4mpzx._.js → src_lib_demo_15e3gnqzod0tj._.js} +2 -2
  717. package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +1 -1
  718. package/server/.next/server/chunks/ssr/src_lib_deps_branch_ts_06dz9-7a66n24._.js +3 -0
  719. package/server/.next/server/chunks/ssr/src_lib_deps_osv_ts_0c-lbj4hsmojx._.js +3 -0
  720. package/server/.next/server/chunks/ssr/src_lib_deps_plan_ts_0bctf8v4qttk5._.js +1 -1
  721. package/server/.next/server/chunks/ssr/src_lib_providers_github-browse_ts_1apskpn4fe9qr._.js +1 -1
  722. package/server/.next/server/chunks/ssr/src_lib_sections_ts_0r8u4nvlpdkgq._.js +1 -1
  723. package/server/.next/server/chunks/ssr/src_lib_view_security_ts_1_c7vkcsp6y27._.js +3 -0
  724. package/server/.next/server/chunks/ssr/src_lib_view_usage_ts_1h1tj0m3n2vul._.js +1 -1
  725. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  726. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  727. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  728. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  729. package/server/.next/server/chunks/ssr/src_private_ui_0jp9fny_5k1v6._.js +1 -1
  730. package/server/.next/server/middleware-build-manifest.js +36 -3
  731. package/server/.next/server/next-font-manifest.js +1 -1
  732. package/server/.next/server/next-font-manifest.json +12 -0
  733. package/server/.next/server/pages/404.html +1 -1
  734. package/server/.next/server/pages/500.html +1 -1
  735. package/server/.next/server/preview-props.json +3 -3
  736. package/server/.next/server/server-reference-manifest.js +1 -1
  737. package/server/.next/server/server-reference-manifest.json +378 -176
  738. package/server/.next/static/chunks/{12vmyliqgjlbi.js → 00e1aosyzj6rl.js} +1 -1
  739. package/server/.next/static/chunks/{2ockms4mqiec_.js → 0cc9ahw1xs0ny.js} +1 -1
  740. package/server/.next/static/chunks/{3w26qimof6fnj.js → 0hths0sijlql2.js} +1 -1
  741. package/server/.next/static/chunks/{1t9iq0wi3ykuc.js → 0hzw1rqyz-ith.js} +1 -1
  742. package/server/.next/static/chunks/0ish66r3_d92v.js +1 -0
  743. package/server/.next/static/chunks/{25erhrojc-1fi.js → 0ps76fyk0mlud.js} +1 -1
  744. package/server/.next/static/chunks/{310xe703zu_qp.js → 0rblb2d9s6x__.js} +1 -1
  745. package/server/.next/static/chunks/{2e195xkcjq72y.js → 0v-0yvs2o_ibn.js} +1 -1
  746. package/server/.next/static/chunks/{131_xlsbuxnhr.js → 0viea3-xdb4uv.js} +1 -1
  747. package/server/.next/static/chunks/{36wyyf_gobe7n.js → 11r8k-t1ijjkn.js} +1 -1
  748. package/server/.next/static/chunks/{29v9jg7vw7brb.js → 14f5pn2krqoyh.js} +1 -1
  749. package/server/.next/static/chunks/{1crspgs6bd_rg.js → 17zst1h7smcce.js} +1 -1
  750. package/server/.next/static/chunks/{3_5xff9sl-2e3.js → 1a0rdqp6soc92.js} +1 -1
  751. package/server/.next/static/chunks/{2dbx53nx6f-9f.js → 1a7zdd51t9mil.js} +2 -2
  752. package/server/.next/static/chunks/{2gv1tg_m49u9m.js → 1d4i_v63pyozl.js} +1 -1
  753. package/server/.next/static/chunks/{1vuqw31-hmrxb.js → 1d5651gcd0bfq.js} +1 -1
  754. package/server/.next/static/chunks/{2fp4pmte8dtbb.js → 1fh3cq_v5nqtp.js} +1 -1
  755. package/server/.next/static/chunks/1fk-rtgxvtdso.js +1 -0
  756. package/server/.next/static/chunks/1kyz-ah3_ho6c.js +1 -0
  757. package/server/.next/static/chunks/{146uoz7wc8q2y.js → 1qjg48qu3j1w4.js} +1 -1
  758. package/server/.next/static/chunks/{0v5xmga7srjvl.js → 1qmrzxeff7esb.js} +1 -1
  759. package/server/.next/static/chunks/{2tnbp3f6x0jv_.js → 1rgved8vjyay2.js} +1 -1
  760. package/server/.next/static/chunks/{2vxmvnntekclp.js → 1y_o3hc2z85sh.js} +1 -1
  761. package/server/.next/static/chunks/{06o7zhf9tv649.js → 1yjrm8ekqlzfy.js} +1 -1
  762. package/server/.next/static/chunks/{3-8by5unw1j-r.js → 2-ijilf6lbw4f.js} +1 -1
  763. package/server/.next/static/chunks/{1h0025pjnwxmg.js → 2-vu-7596xgz-.js} +2 -2
  764. package/server/.next/static/chunks/{0x_wb_w6fgkyt.js → 226fbv9fq4xq_.js} +1 -1
  765. package/server/.next/static/chunks/{1ouf289jk00f3.js → 26exu0f7ok41j.js} +1 -1
  766. package/server/.next/static/chunks/{0bkm_mj9zqjdn.js → 28fzu8z0ofyw0.js} +1 -1
  767. package/server/.next/static/chunks/2c2oi6ivdnv6f.js +1 -0
  768. package/server/.next/static/chunks/{0lgt6mz4u8rzx.js → 2crsj9_2h2nzh.js} +1 -1
  769. package/server/.next/static/chunks/2d7luax7loip3.js +1 -0
  770. package/server/.next/static/chunks/{33z05hmv7hw1s.js → 2j24hsy45xi-u.js} +1 -1
  771. package/server/.next/static/chunks/{3cvrxnnojhvxz.js → 2k4z-oed_6g2l.js} +1 -1
  772. package/server/.next/static/chunks/{1z85thzinc0kx.js → 2kmw3ug2__8y3.js} +1 -1
  773. package/server/.next/static/chunks/2owzn0qjb8n5g.js +1 -0
  774. package/server/.next/static/chunks/{3s3unktz7g7f0.js → 2pa65sxfnzj4k.js} +1 -1
  775. package/server/.next/static/chunks/2zzk4wxiacgja.css +3 -0
  776. package/server/.next/static/chunks/{3fais-5rzury8.js → 308vk5n0anqam.js} +2 -2
  777. package/server/.next/static/chunks/{29sduk6krs_b1.js → 356b00huilj4q.js} +1 -1
  778. package/server/.next/static/chunks/{3z70obsntezy0.js → 35vilzb1p9yjf.js} +1 -1
  779. package/server/.next/static/chunks/39a3uxexc-wqm.js +1 -0
  780. package/server/.next/static/chunks/{0zzbinjpe41vj.js → 3_6-4h_qltoii.js} +1 -1
  781. package/server/.next/static/chunks/3a9toq_3nqe93.js +1 -0
  782. package/server/.next/static/chunks/{3gj8dc0o09zl6.js → 3ezef0voy5xju.js} +1 -1
  783. package/server/.next/static/chunks/{1u4r7ru8i619_.js → 3f1selgoqszyq.js} +2 -2
  784. package/server/.next/static/chunks/{0inb7hk8o9yz-.js → 3g0ywdith98z2.js} +1 -1
  785. package/server/.next/static/chunks/{0un8ttgrt0gtq.js → 3lc-hq-bpg71u.js} +1 -1
  786. package/server/.next/static/chunks/3qudv985iqmz7.js +1 -0
  787. package/server/.next/static/chunks/{2uu38i0lq_wlc.js → 3u2qewigse-a4.js} +1 -1
  788. package/server/.next/static/chunks/{2uufhbm18_cri.js → 3w5rrc-0xud6m.js} +1 -1
  789. package/server/.next/static/chunks/{2p-ty5g5uq133.js → 3wfyge_-2qnyj.js} +1 -1
  790. package/server/.next/static/chunks/{1sds57ddvk_30.js → 3xulo5x1hbsw-.js} +1 -1
  791. package/server/.next/static/chunks/44hkyor0suthy.js +1 -0
  792. package/server/drizzle-selfhost/0008_ci_failing_rule.sql +2 -0
  793. package/server/drizzle-selfhost/0009_os_security_rule.sql +2 -0
  794. package/server/drizzle-selfhost/0010_supabase_metrics_memory.sql +8 -0
  795. package/server/drizzle-selfhost/meta/_journal.json +82 -61
  796. package/server/.next/server/chunks/[root-of-the-server]__038br8sr9eepd._.js +0 -3
  797. package/server/.next/server/chunks/[root-of-the-server]__0a5op--7u5_xh._.js +0 -3
  798. package/server/.next/server/chunks/[root-of-the-server]__0r3cq1lecww4e._.js +0 -3
  799. package/server/.next/server/chunks/[root-of-the-server]__0r_6xpjwcdrda._.js +0 -3
  800. package/server/.next/server/chunks/[root-of-the-server]__0rctmpp7p7cp9._.js +0 -3
  801. package/server/.next/server/chunks/[root-of-the-server]__0rpys5i04hzww._.js +0 -3
  802. package/server/.next/server/chunks/[root-of-the-server]__0vax5gpdmh80a._.js +0 -3
  803. package/server/.next/server/chunks/[root-of-the-server]__0vv63vp8y0fs-._.js +0 -3
  804. package/server/.next/server/chunks/[root-of-the-server]__0ycpg444s91lb._.js +0 -3
  805. package/server/.next/server/chunks/[root-of-the-server]__0zjhlf_yodox3._.js +0 -3
  806. package/server/.next/server/chunks/[root-of-the-server]__1-37ctpn8yw_m._.js +0 -3
  807. package/server/.next/server/chunks/[root-of-the-server]__1-ne3clcouvm2._.js +0 -3
  808. package/server/.next/server/chunks/[root-of-the-server]__14vj8ywy5spa2._.js +0 -3
  809. package/server/.next/server/chunks/[root-of-the-server]__16jyhasrd2ojp._.js +0 -3
  810. package/server/.next/server/chunks/[root-of-the-server]__16u9d_hm9lefl._.js +0 -3
  811. package/server/.next/server/chunks/[root-of-the-server]__1_zr2xlmtkn4l._.js +0 -3
  812. package/server/.next/server/chunks/[root-of-the-server]__1a9cd4d9ohf69._.js +0 -3
  813. package/server/.next/server/chunks/[root-of-the-server]__1aagly59gw-xf._.js +0 -3
  814. package/server/.next/server/chunks/[root-of-the-server]__1c0cb3ur16yhh._.js +0 -3
  815. package/server/.next/server/chunks/[root-of-the-server]__1jvy8r4n-62x7._.js +0 -3
  816. package/server/.next/server/chunks/[root-of-the-server]__1k-7jan2fsbys._.js +0 -3
  817. package/server/.next/server/chunks/[root-of-the-server]__1qmdi981syrsn._.js +0 -3
  818. package/server/.next/server/chunks/[root-of-the-server]__1r9v6qgjwlv32._.js +0 -3
  819. package/server/.next/server/chunks/[root-of-the-server]__1uad-kugxmkx8._.js +0 -3
  820. package/server/.next/server/chunks/_0ffsv993spriq._.js +0 -3
  821. package/server/.next/server/chunks/_0nt4ifc48vl34._.js +0 -48
  822. package/server/.next/server/chunks/_0rkn5gstaj2d0._.js +0 -48
  823. package/server/.next/server/chunks/_1_4jb754aeifp._.js +0 -48
  824. package/server/.next/server/chunks/_1d_77nvqcnkcg._.js +0 -3
  825. package/server/.next/server/chunks/_1qsryafbujfwn._.js +0 -48
  826. package/server/.next/server/chunks/src_05vq-abuilwk4._.js +0 -3
  827. package/server/.next/server/chunks/src_06lwphwuzgl6e._.js +0 -3
  828. package/server/.next/server/chunks/src_1p24c-nz35cov._.js +0 -3
  829. package/server/.next/server/chunks/src_20sym_ohuqw76._.js +0 -3
  830. package/server/.next/server/chunks/src_lib_001zhbfd1zeuk._.js +0 -3
  831. package/server/.next/server/chunks/src_lib_0k_aposzvy1c8._.js +0 -6
  832. package/server/.next/server/chunks/src_lib_0n1xnas42gur9._.js +0 -3
  833. package/server/.next/server/chunks/src_lib_0vjapfdxkooq5._.js +0 -6
  834. package/server/.next/server/chunks/src_lib_0yn0bj14ih0id._.js +0 -6
  835. package/server/.next/server/chunks/src_lib_18wgdeemqm6gg._.js +0 -3
  836. package/server/.next/server/chunks/src_lib_1qbgm0zu8q1rr._.js +0 -6
  837. package/server/.next/server/chunks/src_lib_1ywf_wup1kxy_._.js +0 -3
  838. package/server/.next/server/chunks/src_private_123pnf7iqjhkz._.js +0 -3
  839. package/server/.next/server/chunks/ssr/[root-of-the-server]__03mal5uo1rzg4._.js +0 -3
  840. package/server/.next/server/chunks/ssr/[root-of-the-server]__0s2of3mcou177._.js +0 -3
  841. package/server/.next/server/chunks/ssr/[root-of-the-server]__0tqqte5jb6jz7._.js +0 -3
  842. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ujxsp9l9ad-l._.js +0 -3
  843. package/server/.next/server/chunks/ssr/[root-of-the-server]__113zn8es2wp67._.js +0 -3
  844. package/server/.next/server/chunks/ssr/_09arvqnznfrzl._.js +0 -3
  845. package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +0 -3
  846. package/server/.next/server/chunks/ssr/_0_8v3-nq-b4ug._.js +0 -3
  847. package/server/.next/server/chunks/ssr/_0ffsv993spriq._.js +0 -3
  848. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +0 -3
  849. package/server/.next/server/chunks/ssr/_12wjuabpo0ofk._.js +0 -3
  850. package/server/.next/server/chunks/ssr/_1js_iq-0mb62d._.js +0 -3
  851. package/server/.next/server/chunks/ssr/_1ktvwngz0lzjr._.js +0 -3
  852. package/server/.next/server/chunks/ssr/_1st-ksb6wm2og._.js +0 -3
  853. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_1--1mjfnoprr2.js +0 -3
  854. package/server/.next/server/chunks/ssr/src_04o0-kzfmcnim._.js +0 -3
  855. package/server/.next/server/chunks/ssr/src_0dceh6hsdybq8._.js +0 -3
  856. package/server/.next/server/chunks/ssr/src_1-k3gvxaqli74._.js +0 -3
  857. package/server/.next/server/chunks/ssr/src_1ckoccd8qvnje._.js +0 -3
  858. package/server/.next/server/chunks/ssr/src_1p24c-nz35cov._.js +0 -3
  859. package/server/.next/server/chunks/ssr/src_1wnx8vxv7nd04._.js +0 -3
  860. package/server/.next/server/chunks/ssr/src_app_(console)_0u4_y9-b7g971._.js +0 -3
  861. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_10xvt--29v-ed._.js +0 -3
  862. package/server/.next/server/chunks/ssr/src_lib_001zhbfd1zeuk._.js +0 -3
  863. package/server/.next/server/chunks/ssr/src_lib_033ses2c4-ww-._.js +0 -3
  864. package/server/.next/server/chunks/ssr/src_lib_0n1xnas42gur9._.js +0 -3
  865. package/server/.next/server/chunks/ssr/src_lib_18wgdeemqm6gg._.js +0 -3
  866. package/server/.next/server/chunks/ssr/src_lib_1ywf_wup1kxy_._.js +0 -3
  867. package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +0 -6
  868. package/server/.next/static/chunks/0d609c7qn6uke.js +0 -1
  869. package/server/.next/static/chunks/0ghhg0xs85ipn.js +0 -1
  870. package/server/.next/static/chunks/0r-etc_jv_08f.js +0 -1
  871. package/server/.next/static/chunks/11locca8ayu84.js +0 -1
  872. package/server/.next/static/chunks/1tg1mstvws8rj.css +0 -3
  873. package/server/.next/static/chunks/2xhqwi0hiv_70.js +0 -1
  874. package/server/.next/static/chunks/38ao1jq4zw-nd.js +0 -1
  875. /package/server/.next/static/{WqHYD3Noq8qkEPXvfVDGQ → g_rE0bq_ZZa-pl4RulWXV}/_buildManifest.js +0 -0
  876. /package/server/.next/static/{WqHYD3Noq8qkEPXvfVDGQ → g_rE0bq_ZZa-pl4RulWXV}/_clientMiddlewareManifest.js +0 -0
  877. /package/server/.next/static/{WqHYD3Noq8qkEPXvfVDGQ → g_rE0bq_ZZa-pl4RulWXV}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[949663,912283,876808,747556,a=>{var b=a.i(927262),c=a.i(201516),d=a.i(273133),e=a.i(120213),f=a.i(84979),g=a.i(84877),h=a.i(679662);let i=/^v?(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function j(a,b){let c=i.exec(a.trim()),d=i.exec(b.trim());return!!c&&!!d&&c[1]===d[1]&&("0"!==c[1]||c[2]===d[2])&&(0,g.f)(b,a)>=0}let k=/^Watch(?:bell|post): update (?:\S+ (?:to|ke) \S+|\d+ vulnerable packages) in ((?:[A-Za-z0-9._-]+\/){0,3}[A-Za-z0-9._-]+) \(/,l=a=>k.exec(a)?.[1]??null;a.s(["M",0,a=>`Lockfile tertinggal — jalankan npm install (${a.slice(0,5).join(", ")}${a.length>5?`, +${a.length-5}`:""}).`,"a",0,function(a,b,c){if(!a.length)return{ok:!1,why:"nothing"};let d=a.filter(a=>c.includes(a.severity)&&!("moderate"===a.severity&&a.dev));if(!d.length)return{ok:!1,why:"severity"};for(let a of d){let c=b.get(a.package);if(!c||!j(c,a.to))return{ok:!1,why:"major"}}return{ok:!0,upgrades:d}},"m",0,function(a,b){if(!b)return{deps:a,stale:[]};let c=[...Object.entries(b.dependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.optionalDependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.devDependencies).map(([a,b])=>[a,b,!0])],d=[...a],e=[];for(let[a,b,f]of c){let c=(0,h.Y)(b);if(!c||!(0,h.C)(c))continue;let i=d.filter(b=>b.name===a);!i.length||i.some(a=>(0,g.f)(a.version,c)>=0)||((d=d.filter(b=>b.name!==a)).push({name:a,version:c,dev:i.every(a=>a.dev)&&f}),e.push(a))}return{deps:d,stale:e}},"D",0,function(a){let b=new Map;for(let c of a){if(!c.direct)continue;let a=b.get(c.package);(!a||0>(0,g.f)(c.installedVersion,a))&&b.set(c.package,c.installedVersion)}return b},"U",0,function(a,b,c=null){for(let d of b){if(l(d.title)!==c)continue;let b=function(a){if(a.packages?.length)return a.packages;let b=/^Watch(?:bell|post): update (\S+) (?:to|ke) /.exec(a.title);return b?[b[1]]:"all"}(d);if("all"===b||a.some(a=>b.includes(a)))return d}return null},"J",0,j],912283);let m=["next","eslint-config-next"],n={CRITICAL:"critical",HIGH:"high",MODERATE:"moderate",LOW:"low",UNKNOWN:"unknown"};function o(a,b){if(!a||!(0,h.C)(a))return null;let c=b.map(a=>a.fixed).filter(b=>!!b&&(0,h.C)(b)&&(0,g.f)(b,a)>0);if(!c.length)return null;let d=c.filter(b=>j(a,b));return(d.length?d:c).reduce((a,b)=>(0,g.f)(b,a)>0?b:a)}function p(a,b){let c=o(a,b),d=c?b.map(a=>a.fixed).filter(a=>!!a&&(0,h.C)(a)&&(0,g.f)(a,c)>0):[],e=d.reduce((a,b)=>null===a||(0,g.f)(b,a)>0?b:a,null),i=e?` (${1===d.length?"one fix needs":"some fixes need"} Next.js ${e.split(".")[0]})`:"";return`Next.js ${a??"(unknown version)"} has ${(0,f.q)(b.length)} (${(0,f.N)(b).toLowerCase()}), ${c?`fixed in ${c}${i}`:"no fix yet"}.`}a.s(["P",0,p,"p",0,function(a){if(!a||"vulnerable"!==a.status||!a.findings.length||!a.version)return null;let b=o(a.version,a.findings);if(!b)return null;let c=n[(0,f.N)(a.findings)],d=[...new Set(a.findings.map(a=>a.id))],e=[...new Set(a.findings.flatMap(a=>a.cve?[a.cve]:[]))];return{from:a.version,to:b,upgrades:[{package:"next",to:b,vulnIds:d,cves:e,severity:c},{package:"eslint-config-next",to:b,vulnIds:[],cves:[],severity:c,companionOf:"next"}],installed:new Map(m.map(b=>[b,a.version]))}},"F",0,function(a){let b=a.find(a=>"next"===a.package&&!a.companionOf);return!b||a.some(a=>"eslint-config-next"===a.package)?a:[...a,{package:"eslint-config-next",to:b.to,vulnIds:[],cves:[],severity:b.severity,companionOf:"next"}]}],876808);let q=a=>Math.round(a).toLocaleString("en-US"),r=(a,b)=>Math.floor((a.getTime()-b.getTime())/864e5),s=(a,b)=>`${a} ${b}${1===a?"":"s"}`,t=a=>{try{let b=new URL(a);return`${b.host}${b.pathname}`}catch{return a}},u=a=>{try{return new URL(a).host}catch{return a}},v=a=>{try{return new URL(a).pathname}catch{return"/"}},w="Down · ",x=(a,b,c)=>({rule:a,subject:b,status:"unknown",resourceId:null,accountId:null,title:b,message:"",provider:null,sampleAt:null,...c}),y=a=>"firestore"===a.provider?"firebase":"d1"===a.provider?"cloudflare":a.provider,z=new Set(["turso","upstash","d1"]),A={MonitorDown:(a,b)=>a.monitors.map(a=>{let d=x("MonitorDown",a.id,{resourceId:a.appId,title:`${a.appName} ${"heartbeat"===a.kind?a.url:v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt}),e=b??3;if("heartbeat"===a.kind){let b;return{...d,status:"err"===a.state?"firing":"ok"===a.state?"ok":"unknown",message:`${a.appName} \xb7 ${a.url}: ${b=a.lastError,b?.startsWith(w)?b.slice(w.length):"no ping in time"}.`}}return a.movedTo?{...d,status:"ok",message:`${u(a.url)} moved to ${a.movedTo}; MonitorDomainMoved takes over.`}:a.failStreak>=e?{...d,status:"firing",message:(0,c.H)(a)?`${t(a.url)} failed its check (${(0,c.H)(a)}) on ${e} consecutive checks.`:`${t(a.url)} returned ${a.lastStatus?`HTTP ${a.lastStatus}`:"no answer"} on ${e} consecutive checks.`}:{...d,status:0===a.failStreak&&a.lastCheckedAt?"ok":"unknown",message:`${t(a.url)} answers again.`}}),MonitorDomainMoved:a=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let b=x("MonitorDomainMoved",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel"});return a.movedTo?{...b,status:"firing",message:`${u(a.url)} is no longer a domain of ${a.appName}; production is on ${a.movedTo}.`}:{...b,status:"ok",message:`The monitor checks ${u(a.url)}, a domain of ${a.appName}.`}}),CollectorStale:(a,b)=>{let c=a.lastMinuteRunAt;return[x("CollectorStale","collector",{status:!c||a.now.getTime()-c.getTime()>(b??5)*6e4?"firing":"ok",title:"collector",message:c?`The last minute run finished ${q((a.now.getTime()-c.getTime())/6e4)} min ago.`:"The collector hasn't finished a run yet."})]},HighLatency:(a,b)=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let c=x("HighLatency",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt});if(a.checksLast10<5||null===a.p95Last10)return c;let d=b??1500;return{...c,status:a.p95Last10>d?"firing":"ok",message:`p95 ${q(a.p95Last10)} ms over the last 10 minutes (limit ${q(d)} ms).`}}),DeploymentFailed:a=>a.apps.map(a=>{let b=x("DeploymentFailed",a.id,{resourceId:a.id,title:a.name,provider:"vercel"}),c=a.latestProduction;return c?"error"===c.state?{...b,status:"firing",message:`Production deployment ${c.sha?c.sha.slice(0,7):"(no commit)"} failed.`}:{...b,status:"building"===c.state?"unknown":"ok"}:{...b,status:"ok"}}),DatabasePaused:a=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(a=>x("DatabasePaused",a.id,{resourceId:a.id,title:a.name,provider:"supabase",status:"unknown"===a.state?"unknown":"paused"===a.state?"firing":"ok",message:`Supabase project ${a.name} is paused.`})),CertExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=x("CertExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.tlsNotAfter)return d;let e=r(c.tlsNotAfter,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:`The TLS certificate of ${c.name} expires in ${s(e,"day")}.`}}),DomainExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=x("DomainExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.expiresAt)return d;let e=r(c.expiresAt,a.now);return{...d,status:e<(b??30)?"firing":"ok",message:`${c.name} expires in ${s(e,"day")}.`}}),StorageAlmostFull:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"!==a.provider).map(a=>{let c=x("StorageAlmostFull",a.id,{resourceId:a.id,title:a.name,provider:y(a)});if(null===a.sizeBytes||!a.sizeLimitBytes)return c;let d=a.sizeBytes/a.sizeLimitBytes*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} uses ${q(a.sizeBytes/1e6)} MB of ${q(a.sizeLimitBytes/1e6)} MB (${q(d)}%).`}}),NeonComputeHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"neon"===a.provider).map(a=>{let c=x("NeonComputeHigh",a.id,{resourceId:a.id,title:a.name,provider:"neon"});return null===a.cuHours?c:{...c,status:a.cuHours>(b??80)?"firing":"ok",message:`${a.name} used ${q(a.cuHours)} of ${q(a.cuLimit??100)} CU-hours this month.`}}),FirestoreQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"===a.provider).map(a=>{let c=x("FirestoreQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:"firebase"});if(a.quotaExhausted)return{...c,status:"firing",message:`${a.name} hit a Firestore quota (RESOURCE_EXHAUSTED).`};if(null===a.readsToday||!a.readsLimit)return!1===a.quotaExhausted?{...c,status:"ok"}:c;let d=a.readsToday/a.readsLimit*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} read ${q(a.readsToday)} of ${q(a.readsLimit)} documents today (${q(d)}%).`}}),AutoPauseRisk:(a,b)=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(c=>{let d=x("AutoPauseRisk",c.id,{resourceId:c.id,title:c.name,provider:"supabase"});if("paused"===c.state)return{...d,status:"ok"};if(!c.lastApiAt)return d;let e=Math.floor((a.now.getTime()-c.lastApiAt.getTime())/864e5);return{...d,status:e>=(b??4)?"firing":"ok",message:`No API traffic for ${s(e,"day")}. Supabase pauses free projects after about 7 days.`}}),DnsProxiedToVercel:a=>a.dns&&a.dns.map(a=>x("DnsProxiedToVercel",a.id,{resourceId:a.resourceId,title:a.name,provider:"cloudflare",status:a.proxied&&a.pointsToVercel?"firing":"ok",message:`${a.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`})),DbQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>z.has(a.provider)).map(a=>{let c=x("DbQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:y(a)});return null==a.quotaPct?c:{...c,status:a.quotaPct>(b??80)?"firing":"ok",message:`${a.name}: ${a.quotaLabel??"usage"} at ${q(a.quotaPct)}% of the free plan.`}}),ComputeHigh:(a,b)=>a.compute?a.compute.map(c=>{let e=x("ComputeHigh",c.id,{resourceId:c.id,title:c.name,provider:"supabase",sampleAt:c.latest?new Date(c.latest.at):null}),f=(0,d.B)(c.latest,(0,d.V)(b),a.now);return null===f?e:{...e,status:f.length?"firing":"ok",message:f.length?`${c.name}: ${f.join(", ")}.`:`${c.name} compute is back under the limits.`}}):null,CredentialExpiring:(a,b)=>a.accounts.map(c=>{let d=x("CredentialExpiring",c.id,{accountId:c.id,title:`${c.provider} \xb7 ${c.label}`,provider:c.provider});if("drive"===c.provider&&"error"===c.status&&c.lastError?.includes("invalid_grant"))return{...d,status:"firing",message:"Google Drive access was removed (invalid_grant). Reconnect it."};if(!c.expiresAt)return{...d,status:"ok"};let e=r(c.expiresAt,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:e<0?`The ${c.provider} credential ${c.label} has expired.`:`The ${c.provider} credential ${c.label} expires in ${s(e,"day")}.`}}),VulnerableDependency:a=>a.deps?a.deps.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=x("VulnerableDependency",b.appId,{resourceId:b.appId,title:c.name,provider:"github"});if(b.error)return[d];let f=(0,e.g)(b.vulns);return f?[{...d,status:"firing",message:(0,e.L)(b.vulns),..."critical"===f?{severity:"critical"}:{}}]:[{...d,status:"ok",message:`${c.name} has no moderate, high or critical dependency advisories.`}]}):null,FrameworkVulnerable:a=>a.frameworks?a.frameworks.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=x("FrameworkVulnerable",b.appId,{resourceId:b.appId,title:c.name});return"ok"===b.status?[{...d,status:"ok",message:`${c.name} runs Next.js ${b.version??"(unknown version)"} with no known advisories.`}]:"vulnerable"===b.status&&b.findings.length?[{...d,status:"firing",message:p(b.version,b.findings),..."CRITICAL"===(0,f.N)(b.findings)?{severity:"critical"}:{}}]:[d]}):null};a.s(["f",0,function(a,c,d){let e=[],f=new Set;for(let g of c){if(!g.enabled||d&&!d.includes(g.key)||!b._[g.key])continue;let c=A[g.key](a,g.threshold);c&&(f.add(g.key),e.push(...c))}return{observations:e,evaluated:f}}],949663);let B=["MonitorDown","HighLatency"],C=["telegram","discord","webhook","smtp"],D=a=>a.channels.some(a=>C.includes(a));function E(a,b){return b.collectorStale&&"CollectorStale"!==a.rule?"CollectorStale":a.resourceId&&B.includes(a.rule)?b.mutedApps.get(a.resourceId)??null:null}let F=(a,b)=>"critical"===b&&"warning"===a?"critical":a,G=(a,b)=>a.silencedUntilResolved||null!==a.silencedUntil&&a.silencedUntil.getTime()>b.getTime(),H=(a,b)=>`${a}|${b}`;a.s(["f",0,function(a,c,d,e,f){let g={open:[],touch:[],resolve:[]},h=new Map(e.map(a=>[a.key,a])),i=new Map(c.map(a=>[H(a.rule,a.subject),a])),j=new Set(a.map(a=>H(a.ruleKey,a.subject))),k=a=>g.resolve.push({id:a.id,pending:a.notifiedOpen?"resolve":null});for(let c of a){let a=h.get(c.ruleKey),e=i.get(H(c.ruleKey,c.subject));if(!a||!a.enabled){g.resolve.push({id:c.id,pending:null});continue}if(!d.has(c.ruleKey))continue;if(!e){g.resolve.push({id:c.id,pending:null});continue}if("unknown"===e.status)continue;let j=e.provider?f.incidents.get(e.provider)??null:null;if("firing"===e.status){let b=E(e,f),d=c.notifiedOpen&&null!==c.lastNotifiedAt&&f.now.getTime()-c.lastNotifiedAt.getTime()>=216e5,h={id:c.id,okStreak:0,lastSampleAt:e.sampleAt??c.lastSampleAt,lastSeenAt:f.now,message:e.message,causedBy:b,providerIncident:j},i=!c.notifiedOpen&&(!c.pendingSince||f.now.getTime()-c.pendingSince.getTime()>=216e5);(d||i)&&!G(c,f.now)&&!b&&null===c.pending&&D(a)&&(h.pending=d?"repeat":"open"),g.touch.push(h);continue}if(!b._[c.ruleKey].sampled||null===e.sampleAt){k(c);continue}if(!(null===c.lastSampleAt||e.sampleAt.getTime()>c.lastSampleAt.getTime()))continue;let l=c.okStreak+1;l>=2?k(c):g.touch.push({id:c.id,okStreak:l,lastSampleAt:e.sampleAt})}for(let a of c){if("firing"!==a.status||j.has(H(a.rule,a.subject))||f.maintenance.has(a.subject)||a.resourceId&&f.maintenance.has(a.resourceId))continue;let b=h.get(a.rule);if(!b)continue;let c=E(a,f);g.open.push({ruleKey:a.rule,subject:a.subject,resourceId:a.resourceId,accountId:a.accountId,severity:F(b.severity,a.severity),title:a.title,message:a.message,startedAt:f.now,lastSeenAt:f.now,lastSampleAt:a.sampleAt,causedBy:c,providerIncident:a.provider?f.incidents.get(a.provider)??null:null,pending:c||!D(b)?null:"open"})}return g}],747556)},708621,a=>{let b=["status","severity","rule","target","detail","cause","step","since","threshold"],c=["id","en"],d={en:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nNext step: {step}\nsince {since}",id:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nYang perlu kamu lakukan: {step}\nsejak {since}"},e=/\{([a-zA-Z_]+)\}/g,f=a=>a.replace(/\r\n?/g,"\n").replace(/[ \t]+$/gm,"").trim();function g(a){if(a.length>1e3)return`Keep it under ${1e3.toLocaleString("en-US")} characters.`;for(let[,c]of a.matchAll(e))if(!b.includes(c))return`{${c}} isn't a field. Use ${b.map(a=>`{${a}}`).join(", ")}.`;return null}a.s(["I",0,{en:"Test message: Watchbell's sentence about what it saw goes here.",id:"Pesan tes: di sini nanti kalimat Watchbell soal apa yang dilihatnya."},"z",0,"alerts.messageTemplates","i",0,c,"_",0,function(a){if(!a||"object"!=typeof a||Array.isArray(a))return{};let b={};for(let[d,e]of Object.entries(a)){if(!e||"object"!=typeof e)continue;let a={};for(let b of c){let c=e[b];"string"==typeof c&&c.trim()&&null===g(c)&&(a[b]=c)}Object.keys(a).length&&(b[d]=a)}return b},"l",0,function(a,b){return f(a).split("\n").flatMap(a=>{let c=[...a.matchAll(e)].map(a=>a[1]).filter(a=>Object.hasOwn(b,a));return c.length&&c.every(a=>!b[a].trim())?[]:[a.replace(e,(a,c)=>Object.hasOwn(b,c)?b[c]:a)]}).join("\n").replace(/\n{3,}/g,"\n\n").trim()},"F",0,function(a,b){let c="string"==typeof a?f(a):"";return c&&c!==d[b]?c:null},"m",0,g])},455317,71575,569057,930270,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(927262),h=a.i(949663),i=a.i(747556),j=a.i(708621),k=a.i(519051),l=a.i(160147),m=a.i(245710);function n(a,b){return"1h"===a?{silencedUntil:new Date(b.getTime()+36e5),silencedUntilResolved:!1}:{silencedUntil:null,silencedUntilResolved:!0}}a.s(["_",0,[["critical","Critical"],["warning","Warning"],["info","Info"]],"O",0,function(a,b){return a.silencedUntilResolved?{state:"off",text:"Silenced until resolved"}:a.silencedUntil&&a.silencedUntil.getTime()>b.getTime()?{state:"off",text:`Silenced until ${(0,m.U)(a.silencedUntil)}`}:"open"===a.pending||"repeat"===a.pending?{state:"build",text:"Sending…"}:a.causedBy&&!a.notifiedOpen?{state:"off",text:"Muted"}:a.lastNotifiedAt?{state:"ok",text:`Sent ${(0,m.U)(a.lastNotifiedAt)}`}:{state:"off",text:"Digest only"}},"G",0,function(a){return a.enabled?a.firing?{state:"err",text:`Firing \xb7 ${a.firing}`}:a.hasData?{state:"off",text:"Inactive"}:{state:"unknown",text:"No data yet"}:{state:"off",text:"Disabled"}},"A",0,n,"M",0,function(a,b){let c=Math.max(1,Math.round((b.getTime()-a.getTime())/6e4));if(c<60)return`${c} min`;let d=Math.floor(c/60);return d<24?`${d} h ${c%60} min`:`${Math.floor(d/24)} d ${d%24} h`}],71575);var o=a.i(639271),p=a.i(656298),q=a.i(688275),r=a.i(893893),s=a.i(672319),t=a.i(188546),u=a.i(233711),v=a.i(460565);async function w(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","qstash","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function x(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function y(){let[a]=await (0,e.f)().select({threshold:f.alertRules.threshold}).from(f.alertRules).where((0,b.u)(f.alertRules.key,"CollectorStale")).limit(1);return(0,v.X)(a?.threshold)}a.s(["o",0,y,"D",0,w,"d",0,x],569057);var z=a.i(367247),A=a.i(436357),B=a.i(912283),C=a.i(358179),D=a.i(492665),E=a.i(683439),F=a.i(679662),G=a.i(852539),H=a.i(33135),I=a.i(533957);let J="OpsConsole-Deps/1.0 (+https://watchbell.west-solutions.web.id)";async function K(a,b,c,d){let e=d.deadline-Date.now();if(e<500)return{ok:!1,error:"No time left for OSV.dev"};let f=AbortSignal.timeout(e);return M(a,{method:"POST",headers:{"content-type":"application/json","user-agent":J},body:JSON.stringify(b),signal:f},c,f,d)}async function L(a,b,c){let d=c.deadline-Date.now();if(d<500)return{ok:!1,error:"No time left for OSV.dev"};let e=AbortSignal.timeout(Math.min(d,8e3));return M(a,{method:"GET",headers:{"user-agent":J},signal:e},b,e,c)}async function M(a,b,c,d,e){let f;try{f=await (e.fetch??fetch)(a,{...b,redirect:"error",cache:"no-store"})}catch(a){return{ok:!1,error:(0,I.t)(a)?"OSV.dev didn't answer in time":"Couldn't reach OSV.dev"}}if(!f.ok)return await f.body?.cancel().catch(()=>void 0),{ok:!1,error:`OSV.dev answered HTTP ${f.status}`};try{let{bytes:a,truncated:b}=await (0,H.z)(f,c,(0,H.X)(d));if(b)return{ok:!1,error:"OSV.dev sent too large an answer"};return{ok:!0,body:JSON.parse(new TextDecoder().decode(a))}}catch(a){return{ok:!1,error:(0,I.t)(a)?"OSV.dev didn't answer in time":"OSV.dev sent an answer we couldn't read"}}}async function N(a,b){let c=[];for(let d of(0,G.f)(a)){let a=await K(G.n,d,4194304,b);if(!a.ok)return a;let e=(0,G.j)(a.body,d.queries.length);if(!e)return{ok:!1,error:"OSV.dev sent an answer we couldn't read"};c.push(...e)}return{ok:!0,ids:c}}async function O(a,b){let c=[...new Set(a)].filter(G.G);if(c.length>300)return{ok:!1,error:`Too many advisories to read in one scan (${c.length})`};let d=new Map,e=null;for(let a=0;a<c.length&&!e;a+=8)await Promise.all(c.slice(a,a+8).map(async a=>{let c=await L(`${G.W}${encodeURIComponent(a)}`,1048576,b),f=c.ok?(0,G.O)(c.body):null;f?d.set(a,f):e??=c.ok?"OSV.dev sent an advisory we couldn't read":c.error}));return e?{ok:!1,error:e}:{ok:!0,map:d}}var P=a.i(521050),Q=a.i(120213),R=a.i(689963),S=a.i(26972),T=a.i(427221),U=a.i(811365),V=a.i(760417);let W=R.z.array(S.z.object({name:T.z.string(),type:T.z.string(),sha:T.z.string(),size:U.z.number().optional()}));async function X(a,b,c,d={},e=null){if(!(0,V.M)(b)||!(0,V.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or ref."};if(null!==e&&(0,P.Q)(e)!==e)return{ok:!1,kind:"format",error:"That isn't a folder in a repository."};let f=e?e.split("/").map(encodeURIComponent).join("/"):"",g=await (0,V.j)(`/repos/${(0,V.f)(b)}/contents/${f}?ref=${encodeURIComponent(c)}`,a,d);if(!g.ok)return g;let h=W.safeParse(g.data);return h.success?{ok:!0,data:h.data.filter(a=>"file"===a.type&&/^[0-9a-f]{40}$/.test(a.sha)).map(a=>({name:a.name,sha:a.sha,size:a.size??0}))}:{ok:!1,kind:"format",error:"GitHub answered the file list in a format the console doesn't recognise."}}async function Y(a,b,c,d={}){if(!(0,V.M)(b)||!(0,V.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or branch."};let e=await (0,V.j)(`/repos/${(0,V.f)(b)}/git/ref/heads/${c.split("/").map(encodeURIComponent).join("/")}`,a,d);return e.ok?{ok:!0,data:!0}:"missing"===e.kind?{ok:!0,data:!1}:e}function Z(a,b,c,d,e,f={}){return(0,V.V)(a,b,c,d,e,f)}async function $(a,b,c={}){if(!(0,V.M)(b))return{ok:!1,kind:"format",error:"That isn't a repository name."};let d=await (0,V.j)(`/repos/${(0,V.f)(b)}/dependabot/alerts?state=open&ecosystem=npm&per_page=100`,a,c);if(!d.ok)return"scope"===d.kind||"missing"===d.kind?{ok:!0,data:{denied:!0}}:d;let e=(0,Q.E)(d.data);return e?{ok:!0,data:{alerts:e}}:{ok:!1,kind:"format",error:"GitHub answered the Dependabot alerts in a format the console doesn't recognise."}}var _=a.i(751263);async function aa(){let[a]=await (0,e.f)().select().from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).orderBy((0,c.M)(f.accounts.createdAt)).limit(1);if(!a)return{error:"GitHub isn't connected."};let d=(0,C.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,D.f)().OPS_ENCRYPTION_KEY);return d?{token:d,accountId:a.id}:{error:"Can't read the stored GitHub credential. Replace it on Connections."}}async function ab(){let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,"deps.scanAll")).limit(1);return a?.value===!0}let ac=a=>{let b=(0,_.w)(a);return{dir:(0,P.Q)((a??{}).rootDirectory),unsupported:(0,P.l)((a??{}).rootDirectoryUnsupported),branch:(0,_.i)((0,_.V)(a),null),...b?{fallback:b}:{}}};async function ad(a){let c=[...new Set(a.filter(E.f))],d=new Map;if(!c.length)return d;let g=await (0,e.f)().select({repoId:f.appRepos.repoId,name:f.resources.name,monitored:f.resources.monitored,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.b)((0,b.y)(f.appRepos.repoId,c),(0,b.M)(f.resources.goneAt))).limit(1e3);for(let a of(g.sort((a,b)=>Number(!!b.monitored)-Number(!!a.monitored)||(a.name<b.name?-1:+(a.name>b.name))),g))d.has(a.repoId)||d.set(a.repoId,ac(a.meta));return d}async function ae(){let a={id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,scannedAt:f.dependencyScans.scannedAt},c=(0,b.b)((0,b.M)(f.githubRepos.goneAt),(0,b.u)(f.githubRepos.archived,!1)),d=await ab()?await (0,e.f)().select(a).from(f.githubRepos).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500):await (0,e.f)().selectDistinct(a).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500),g=d.length?await ad(d.map(a=>a.id)):new Map;return(0,Q.M)(d.map(a=>{let b=g.get(a.id);return{...a,rootDir:b?.dir??null,rootDirUnsupported:b?.unsupported??null,prodBranch:b?.branch??null,...b?.fallback?{prodFallback:b.fallback}:{}}}))}let af=(a,b)=>a.length>b?`${a.slice(0,b-1)}…`:a;async function ag(a,b){let c=new Date;await (0,e.f)().insert(f.dependencyScans).values({repoId:a,...b,updatedAt:c}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{...b,updatedAt:c}})}async function ah(a){return(0,e.f)().select({id:f.dependencyVulns.id,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,source:f.dependencyVulns.source}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,a),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3)}function ai(a,b){for(let c of F.a){let d=a.find(a=>a.name===c.path);if(d)return{path:(0,P.H)(b,c.path),kind:c.kind,sha:d.sha}}return null}async function aj(a,c,d,g={}){let h=()=>({...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),1e4))}),i=async a=>(await ag(c.id,{error:af(a,300),scannedAt:new Date}).catch(()=>void 0),{status:"failed",error:a}),j=c.defaultBranch??"HEAD",k=null;for(let b of[c.prodBranch,c.prodFallback]){if(b&&b===c.defaultBranch)break;let d=(0,_.i)(b,c.defaultBranch);if(!d)continue;let e=await Y(a,c.fullName,d,h());if(!e.ok)return i(e.error);if(e.data){k=d;break}}let l=null!==k;k&&(j=k);let m=l?`Scanned ${k}, the branch production is built from.`:null,n=(0,P.Q)(c.rootDir),o=n?null:(0,P.l)(c.rootDirUnsupported),p=o?`The Vercel Root Directory "${o}" couldn't be used (Watchbell reads plain folder names, at most 4 deep); scanned the repository root.`:null,q=await X(a,c.fullName,j,h(),n);if(!q.ok)return i(n&&"missing"===q.kind?`The folder ${(0,P.x)(n)} isn't in ${c.fullName} on ${j}.`:q.error);let r=ai(q.data,n),s=q.data.find(a=>"package.json"===a.name)??null,t=!1,u=null;if(n&&s&&!r){let b=await X(a,c.fullName,j,h());if(!b.ok)return i(b.error);t=null!==(r=ai(u=b.data,null))}let v=r?r.sha:s?`pkg:${s.sha}`:null,w=v&&n?`${n}:${v}${t&&s?`+${s.sha}`:""}`:v&&o?`odd:${v}`:v,x=w&&l?`br:${k}:${w}`:w,[y]=await (0,e.f)().select().from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,c.id)).limit(1),z=new Date;if(!(0,Q.U)(y??null,x,z,g.force))return{status:"unchanged"};if(!x){let a=await ah(c.id);return a.length&&await (0,e.f)().update(f.dependencyVulns).set({resolvedAt:z}).where((0,b.y)(f.dependencyVulns.id,a.map(a=>a.id))),await ag(c.id,{lockfilePath:null,lockfileSha:null,packageCount:0,scannedAt:z,queriedAt:z,error:null,note:af([m,p,`No package.json or lockfile ${n?"in":"at"} ${(0,P.x)(n)}.`].filter(Boolean).join(" "),300)}),{status:"scanned",vulns:0,packages:0,note:"no package.json"}}let A=(0,P.H)(n,"package.json"),C=s?await Z(a,c.fullName,A,j,V.$,h()):null;if(C&&!C.ok)return i(C.error);let D=C?.ok&&C.data?(0,F.b)(C.data):null,E=null,H="package-json",I=t&&r?`Scanned ${(0,P.x)(n)} with the repository root's ${r.path} (workspaces).`:null;if(r){if(2e3>d-Date.now())return i("Time budget used before the lockfile was read; the next run tries again.");let b=await Z(a,c.fullName,r.path,j,0xf00000,{...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),2e4))});if(!b.ok)return i(b.error);let e=!0;if(t&&n&&b.data&&!(0,P.p)(r.kind,b.data,n)){let b=u?.some(a=>"package.json"===a.name)?await Z(a,c.fullName,"package.json",j,V.$,h()):null;if(b&&!b.ok)return i(b.error);e=(0,P.F)(b?.data??null,n)}e?(E=b.data?(0,F.D)(r.kind,b.data):null,H=r.kind,E||(I=[I,`${r.path} couldn't be read; the versions come from package.json ranges (approximate).`].filter(Boolean).join(" "))):(I=`The repository root's ${r.path} isn't a workspace that includes ${n}, so the versions come from ${A} ranges (approximate).`,r=null)}if(E){let a=(0,B.m)(E,D);E=a.deps,a.stale.length&&(I=[I,(0,B.M)(a.stale)].filter(Boolean).join(" "))}else E=D?(0,F.e)(D):[],H="package-json",I??=r?null:"No lockfile: the versions come from package.json ranges (approximate).";let J=await ah(c.id),K=[];if(E.length){let a=await N(E,{fetch:g.fetch,deadline:d});if(!a.ok)return i(a.error);let b=(0,Q.A)(J,!0===g.force),c=await O((0,Q.z)(E,a.ids,b),{fetch:g.fetch,deadline:d});if(!c.ok)return i(c.error);K=(0,G.i)(E,a.ids,c.map,b)}if(d-Date.now()>1500){let b=await $(a,c.fullName,h());b.ok&&"alerts"in b.data?K=(0,Q.R)(K,b.data.alerts,E):b.ok&&(I=[I,"Dependabot alerts aren't readable with this token (optional: Dependabot alerts: Read)."].filter(Boolean).join(" "))}let L=(0,Q.h)(J,K,(0,F.K)(D));I=[m,p,I].filter(Boolean).join(" ")||null;let M=new Date;return await (0,e.f)().transaction(async a=>{for(let d of(L.insert.length&&await a.insert(f.dependencyVulns).values(L.insert.map(a=>({repoId:c.id,package:a.package,installedVersion:a.installedVersion,vulnId:a.vulnId,aliases:a.aliases,severity:a.severity,fixedVersion:a.fixedVersion,summary:a.summary,direct:a.direct,dev:a.dev,source:a.source,firstSeenAt:M,lastSeenAt:M}))).onConflictDoNothing(),L.update))await a.update(f.dependencyVulns).set({severity:d.severity,fixedVersion:d.fixedVersion,summary:d.summary,aliases:d.aliases,dev:d.dev,direct:d.direct,lastSeenAt:M}).where((0,b.u)(f.dependencyVulns.id,d.id));L.resolve.length&&await a.update(f.dependencyVulns).set({resolvedAt:M}).where((0,b.b)((0,b.y)(f.dependencyVulns.id,L.resolve),(0,b.M)(f.dependencyVulns.resolvedAt))),await a.insert(f.dependencyScans).values({repoId:c.id,lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:E.length,scannedAt:M,queriedAt:M,error:null,note:I?af(I,300):null,updatedAt:M}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:E.length,scannedAt:M,queriedAt:M,error:null,note:I?af(I,300):null,updatedAt:M}})}),{status:"scanned",vulns:L.insert.length+L.update.length,packages:E.length,note:"package-json"===H?I:null}}async function ak(a,c={}){var d,g;let h,i,j,k,l=await aa();if("error"in l)return{error:l.error};let{first:m,only:n,skip:o,...p}=c,q=(d=await ae(),h=(g={first:m,only:n,skip:o}).only?new Set(g.only):null,i=new Set(g.skip??[]),j=(h?d.filter(a=>h.has(a.id)):d).filter(a=>!i.has(a.id)),k=new Set(g.first??[]),[...j.filter(a=>k.has(a.id)),...j.filter(a=>!k.has(a.id))]),r={scanned:0,unchanged:0,failed:[],left:0,done:[],listed:q.map(a=>a.id)};for(let[b,c]of q.entries()){if(a-Date.now()<4e3){r.left=q.length-b;break}r.done.push(c.id);try{let b=await aj(l.token,c,a,p);"scanned"===b.status?r.scanned++:"unchanged"===b.status?r.unchanged++:r.failed.push(`${c.fullName}: ${b.error}`)}catch(a){r.failed.push(`${c.fullName}: ${a instanceof Error?a.name:"error"}`)}}return await (0,e.f)().delete(f.dependencyVulns).where((0,b.b)((0,b.E)(f.dependencyVulns.resolvedAt),(0,b.S)(f.dependencyVulns.resolvedAt,new Date(Date.now()-7776e6)))).catch(()=>void 0),r}let al=async()=>(await (0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).limit(1)).length>0;async function am(a,c,d={}){let g,h,i,{marked:j,onlyMarked:k}=c;if(!await al())return{problem:null,settled:[...j],done:[],complete:!0};let l=j.filter(E.f),m=l.length?await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,l)).limit(5*l.length):[],n=[...new Set(m.map(a=>a.repoId))],o=a=>m.filter(b=>b.appId===a).map(a=>a.repoId),p=j.filter(a=>!o(a).length);if(k&&!n.length)return{problem:null,settled:[...j],done:[],complete:!0};if(a-Date.now()<4e3)return{problem:null,settled:p,done:[],complete:!1};let q=(c.skip??[]).filter(a=>!n.includes(a)),r=await ak(a,{...d,first:n,...k?{only:n}:{skip:q}});if("error"in r){let a;return{problem:(a=r.error,/didn't answer in time|no time left|time budget|rate limit/i.test(a))?null:r.error,settled:[...j],done:[],complete:!0}}let s=new Set([...r.done,...n.filter(a=>!r.listed.includes(a))]);return{problem:(g=r.failed.filter(a=>!/didn't answer in time|no time left|time budget|rate limit/i.test(a)),(h=r.failed.length-g.length+(r.left??0))&&console.info(`deps: ${h} repositor${1===h?"y":"ies"} wait for the next run`),i=g.slice(0,3),g.length>3&&i.push(`+${g.length-3} more`),i.length?i.join("; "):null),settled:j.filter(a=>o(a).every(a=>s.has(a))),done:r.done,complete:0===r.left}}async function an(a){let d={repo:null,scan:null,vulns:[],writeConnected:!1};if(!(0,E.f)(a))return d;let[g]=await (0,e.f)().select({id:f.githubRepos.id,fullName:f.githubRepos.fullName}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return d;let[[h],i,[j]]=await Promise.all([(0,e.f)().select({scannedAt:f.dependencyScans.scannedAt,lockfilePath:f.dependencyScans.lockfilePath,packageCount:f.dependencyScans.packageCount,error:f.dependencyScans.error,note:f.dependencyScans.note}).from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,g.id)).limit(1),(0,e.f)().select({package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,firstSeenAt:f.dependencyVulns.firstSeenAt}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3),(0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github_write")).limit(1)]);i.sort((a,b)=>(0,Q.t)(a.severity)-(0,Q.t)(b.severity)||(a.package<b.package?-1:+(a.package>b.package))||(a.vulnId<b.vulnId?-1:1));let k=await (0,e.f)().select({number:f.dependencyPrs.number,stage:f.dependencyPrs.stage,stageText:f.dependencyPrs.stageText,openedAt:f.dependencyPrs.openedAt}).from(f.dependencyPrs).where((0,b.b)((0,b.u)(f.dependencyPrs.repoId,g.id),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)))).orderBy((0,c.A)(f.dependencyPrs.openedAt)).limit(5).catch(()=>[]);return{repo:g,scan:h??null,vulns:i,writeConnected:!!j,prs:(k??[]).map(a=>({...a,fullName:g.fullName}))}}async function ao(a,c={}){if(!(0,E.f)(a))return{ok:!1,error:"That app no longer exists."};let[g]=await (0,e.f)().select({app:f.resources.name,id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,goneAt:f.githubRepos.goneAt,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return{ok:!1,error:"Link a repository first."};if(g.goneAt)return{ok:!1,error:"That repository is no longer shared with the GitHub token."};let h=await aa();if("error"in h)return{ok:!1,error:h.error};let i=ac(g.meta),j=await aj(h.token,{id:g.id,fullName:g.fullName,defaultBranch:g.defaultBranch,scannedAt:null,rootDir:i.dir,rootDirUnsupported:i.unsupported,prodBranch:i.branch,prodFallback:i.fallback??null},Date.now()+4e4,{...c,force:!0});if("failed"===j.status)return{ok:!1,error:`The scan failed: ${j.error}`};let[k]=await (0,e.f)().select({n:d.B`count(*)::int`}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))),l=k?.n??0;return{ok:!0,app:g.app,repo:g.fullName,vulns:l,message:l?`${l} known vulnerabilit${1===l?"y":"ies"} in ${j.packages??0} packages.`:`No known vulnerabilities in ${j.packages??0} packages.`}}async function ap(a){let c=a.filter(E.f);if(!c.length)return[];let d=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId,error:f.dependencyScans.error}).from(f.appRepos).innerJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.appRepos.repoId)).where((0,b.b)((0,b.y)(f.appRepos.appId,c),(0,b.E)(f.dependencyScans.scannedAt)));if(!d.length)return[];let g=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,severity:f.dependencyVulns.severity,summary:f.dependencyVulns.summary,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(d.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(1e4);return d.map(a=>({appId:a.appId,repoId:a.repoId,error:a.error,vulns:g.filter(b=>b.repoId===a.repoId).map(a=>({package:a.package,installedVersion:a.installedVersion,fixedVersion:a.fixedVersion,severity:a.severity,summary:a.summary,dev:a.dev,direct:a.direct}))}))}async function aq(a,c=new Set){let g=a.filter(E.f),h=new Map;if(!g.length)return h;let i=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,g));if(!i.length)return h;let j=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,vulnId:f.dependencyVulns.vulnId,aliases:f.dependencyVulns.aliases,severity:f.dependencyVulns.severity,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(i.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt),(0,b.u)(f.dependencyVulns.direct,!0),(0,b.E)(f.dependencyVulns.fixedVersion))).limit(2e3),k=j.some(a=>"next"===a.package)?new Set((await (0,e.f)().selectDistinct({appId:f.dependencyPrs.appId}).from(f.dependencyPrs).where((0,b.b)((0,b.y)(f.dependencyPrs.appId,g),(0,b.$)(f.dependencyPrs.stage,["merged","closed"]),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)),d.B`${f.dependencyPrs.packages} @> '["next"]'::jsonb`)).limit(g.length)).map(a=>a.appId)):new Set;for(let a of i){let b=c.has(a.appId)||k.has(a.appId);(0,Q.B)(j.filter(c=>c.repoId===a.repoId&&!(b&&"next"===c.package))).length&&h.set(a.appId,a.repoId)}return h}a.s(["o",0,12e3,"d",0,4e3,"j",0,an,"O",0,am,"C",0,aq,"M",0,aa,"a",0,ap,"h",0,ao],930270);var ar=a.i(242605);async function as(){return(0,e.f)().select({appId:f.links.fromResourceId,dbId:f.links.toResourceId}).from(f.links).where((0,b.u)(f.links.kind,"uses_db")).limit(500)}async function at(a){let g=(0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt)),[h,i,j,k,l]=await Promise.all([x(),w(),(0,e.f)().select({m:f.monitors,appName:f.resources.name,appMeta:f.resources.meta}).from(f.monitors).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(g,(0,b.u)(f.monitors.paused,!1),(0,b.u)(f.monitors.ownerPaused,!1))),(0,e.f)().select({id:f.resources.id,name:f.resources.name,meta:f.resources.meta}).from(f.resources).where((0,b.b)(g,(0,b.u)(f.resources.kind,"app"))),(0,e.f)().select({id:f.accounts.id,provider:f.accounts.provider,label:f.accounts.label,expiresAt:f.accounts.expiresAt,status:f.accounts.status,lastError:f.accounts.lastError}).from(f.accounts)]),m=j.map(a=>a.m.id),n=m.length?await (0,e.f)().select({id:f.checks.monitorId,n:d.B`count(*)::int`,p95:d.B`percentile_cont(0.95) within group (order by ${f.checks.latencyMs})::float8`}).from(f.checks).where((0,b.b)((0,b.y)(f.checks.monitorId,m),(0,b.B)(f.checks.at,new Date(a.getTime()-6e5)),(0,b.u)(f.checks.inMaintenance,!1))).groupBy(f.checks.monitorId):[],v=k.map(a=>a.id),y=v.length?await (0,e.f)().selectDistinctOn([f.deployments.resourceId],{appId:f.deployments.resourceId,state:f.deployments.state,sha:f.deployments.commitSha,createdAt:f.deployments.createdAtProvider}).from(f.deployments).where((0,b.b)((0,b.y)(f.deployments.resourceId,v),(0,b.u)(f.deployments.target,"production"))).orderBy(f.deployments.resourceId,(0,c.A)(f.deployments.createdAtProvider)):[],B=await (0,e.f)().select({id:f.resources.id,name:f.resources.name,kind:f.resources.kind,state:f.snapshots.state,data:f.snapshots.data}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)(g,(0,b.y)(f.resources.kind,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"]))),C=a=>B.filter(b=>b.kind===a),D=B.filter(a=>["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"].includes(a.kind)),E=C("zone"),F=C("domain"),G=await as(),H=await (0,z.Y)().catch(()=>null),I=v.length?await ap(v).catch(()=>null):null,J=v.length?await (0,ar.F)(v).catch(()=>null):null;return{now:a,lastMinuteRunAt:h,lastAnyRunAt:i,monitors:j.map(({m:a,appName:b,appMeta:c})=>{let d=n.find(b=>b.id===a.id),e="heartbeat"===a.kind;return{id:a.id,appId:a.resourceId,appName:b,url:e?a.name??"heartbeat":a.url,kind:e?"heartbeat":"http",state:a.state,failStreak:a.failStreak,lastStatus:a.lastStatus,lastError:a.lastError,lastCheckedAt:a.lastCheckedAt,p95Last10:d?.p95??null,checksLast10:d?.n??0,movedTo:e?null:(0,A.u)(a.url,{name:b,meta:c},k.filter(b=>b.id!==a.resourceId),{lastError:a.lastError})?.to??null}}),apps:k.map(a=>{let b=y.find(b=>b.appId===a.id);return{id:a.id,name:a.name,latestProduction:b?{state:b.state,sha:b.sha,createdAt:b.createdAt}:null}}),accounts:l,dbs:D.length?D.map(b=>(function(a,b){let c={id:a.id,name:a.name,state:a.state,sizeBytes:null,sizeLimitBytes:null,lastApiAt:null,cuHours:null,cuLimit:null,readsToday:null,readsLimit:null,quotaExhausted:null};if("supabase_project"===a.kind){let b=(0,r.k)(r.B,a.data),d=(0,u.Z)(b.lastTrafficAt),e=(0,u.Z)(b.trafficAt),f=d??(e&&!b.trafficError?new Date(e.getTime()-6048e5):null);return{...c,provider:"supabase",sizeBytes:b.sizeBytes??null,sizeLimitBytes:s.R,lastApiAt:f}}if("neon_project"===a.kind){let b=(0,r.k)(r.s,a.data),d=(b.branches??[]).map(a=>a.logicalSize).filter(a=>"number"==typeof a);return{...c,provider:"neon",cuHours:null==b.computeSeconds?null:b.computeSeconds/3600,cuLimit:q.a.cuHours,sizeBytes:d.length?d.reduce((a,b)=>a+b,0):null,sizeLimitBytes:q.a.storageBytes}}if("firestore"===a.kind){let d=(0,r.k)(r.w,a.data),e=(0,u.Z)(d.opsAt),f=null!=d.reads&&e&&e.getTime()>=(0,p.a)(b).getTime()?d.reads:null,g=null!=d.latencyMs||null!=d.pingError;return{...c,provider:"firestore",readsToday:f,readsLimit:p.T.reads,quotaExhausted:g?"RESOURCE_EXHAUSTED"===d.pingReason:null}}if("turso_database"===a.kind){let d=(0,r.k)(r.N,a.data),e=(0,o.u)((0,o.G)(d,b));return{...c,provider:"turso",sizeBytes:d.orgStorageBytes??null,sizeLimitBytes:o.g.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("upstash_redis"===a.kind){let d=(0,r.k)(r.e,a.data),e=(0,o.u)((0,o.$)(d,b));return{...c,provider:"upstash",sizeBytes:d.storageBytes??null,sizeLimitBytes:o.W.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("d1_database"===a.kind){let d=(0,r.k)(r.x,a.data),e=(0,o.u)((0,o.I)(d,b));return{...c,provider:"d1",sizeBytes:d.sizeBytes??null,sizeLimitBytes:o.M.dbBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}return null})(b,a)).filter(a=>null!==a):null,domains:E.length||F.length?[...E.map(a=>({id:a.id,name:a.name,tlsNotAfter:null,expiresAt:(0,u.Z)((0,t.q)(a.data).rdap?.expiresAt)})),...F.map(a=>({id:a.id,name:a.name,tlsNotAfter:(0,u.Z)((0,t.q)(a.data).tls?.notAfter),expiresAt:null}))]:null,dns:function(a,b){let c=a.filter(a=>Array.isArray(a.data.records));if(!c.length)return null;let d=a.map(a=>a.name),e=[];for(let a of c){let c=b.filter(b=>(0,u.J)(b.name,d)===a.name.toLowerCase().replace(/\.$/,"")),f=[...new Set(c.flatMap(a=>(0,t.q)(a.data).vercel?.recommendedIps??[]))];for(let b of(0,t.q)(a.data).records){if(!(0,u.l)(b,f))continue;let d=b.name.toLowerCase().replace(/\.$/,""),g=c.find(a=>a.name.toLowerCase().replace(/\.$/,"")===d);e.push({id:`${a.id}:${b.id}`,resourceId:g?.id??a.id,name:b.name,proxied:b.proxied,pointsToVercel:!0})}}return e}(E,F),links:G,compute:H,deps:I&&I.length?I:null,frameworks:J&&J.length?J:null}}var au=a.i(714530),av=a.i(396667);let aw={vercel:"Vercel",supabase:"Supabase",neon:"Neon",cloudflare:"Cloudflare",firebase:"Firebase",gcp:"Google Cloud"};async function ax(){return(await (0,e.f)().select().from(f.alertRules)).filter(a=>(0,g.h)(a.key)).map(a=>({key:a.key,severity:a.severity,threshold:a.threshold,enabled:a.enabled,channels:a.channels}))}async function ay(a,c={}){let[d,j,m,n,o,p]=await Promise.all([at(a),ax(),(0,e.f)().select().from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)),(0,e.f)().select({provider:f.providerStatus.provider,state:f.providerStatus.state}).from(f.providerStatus),(0,au.w)(),(0,av.I)()]),q=new Map(d.accounts.map(a=>[a.id,a.provider])),r=m.filter(a=>!(0,l.O)(p,a.ruleKey,a.accountId?q.get(a.accountId):null)),s=(0,h.f)(d,j,c.only),t=s.evaluated,u=s.observations.filter(a=>!(0,l.O)(p,a.rule,a.provider)),v=j.find(a=>"CollectorStale"===a.key),w=void 0===d.lastAnyRunAt?d.lastMinuteRunAt:d.lastAnyRunAt,x=!!v?.enabled&&(!w||a.getTime()-w.getTime()>(v.threshold??5)*6e4),y=new Map((d.dbs??[]).filter(a=>"paused"===a.state).map(a=>[a.id,a.name])),z=new Map(d.links.filter(a=>y.has(a.dbId)).map(a=>[a.appId,`DatabasePaused \xb7 ${y.get(a.dbId)}`])),A=new Map(n.filter(a=>"warn"===a.state||"err"===a.state).map(a=>["gcp"===a.provider?"firebase":a.provider,aw[a.provider]??a.provider])),B=(0,k.u)(o,d.monitors.map(a=>({id:a.id,appId:a.appId})),a,d.apps.map(a=>a.id)),C=r.filter(a=>(0,g.h)(a.ruleKey)).map(a=>({id:a.id,ruleKey:a.ruleKey,subject:a.subject,okStreak:a.okStreak,lastSampleAt:a.lastSampleAt,silencedUntil:a.silencedUntil,silencedUntilResolved:a.silencedUntilResolved,notifiedOpen:a.notifiedOpen,lastNotifiedAt:a.lastNotifiedAt,pending:a.pending,pendingSince:a.pendingSince})),D=(0,i.f)(C,u,t,j,{now:a,collectorStale:x,mutedApps:z,incidents:A,maintenance:B});return D.open.length||D.touch.length||D.resolve.length?(await (0,e.f)().transaction(async c=>{for(let b of D.open)await c.insert(f.alerts).values({...b,pendingSince:b.pending?a:null}).onConflictDoNothing();for(let d of D.touch){let{id:e,pending:g,...h}=d;await c.update(f.alerts).set({...h,...g?{pending:g,pendingSince:a}:{}}).where((0,b.b)((0,b.u)(f.alerts.id,e),(0,b.M)(f.alerts.resolvedAt)))}for(let d of D.resolve)await c.update(f.alerts).set({resolvedAt:a,pending:d.pending,pendingSince:d.pending?a:null}).where((0,b.b)((0,b.u)(f.alerts.id,d.id),(0,b.M)(f.alerts.resolvedAt)))}),{opened:D.open.length,resolved:D.resolve.length}):{opened:0,resolved:0}}async function az(){let[a,c]=await Promise.all([(0,av.I)(),(0,e.f)().select({ruleKey:f.alerts.ruleKey,provider:f.accounts.provider,n:d.B`count(*)::int`}).from(f.alerts).leftJoin(f.accounts,(0,b.u)(f.accounts.id,f.alerts.accountId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,b.y)(f.alerts.severity,["critical","warning"]))).groupBy(f.alerts.ruleKey,f.accounts.provider)]);return c.reduce((b,c)=>b+((0,l.O)(a,c.ruleKey,c.provider)?0:Number(c.n)),0)}let aA=d.B`case ${f.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`;async function aB(a=new Set){return(await (0,e.f)().select({a:f.alerts,name:f.resources.name,kind:f.resources.kind}).from(f.alerts).leftJoin(f.resources,(0,b.u)(f.resources.id,f.alerts.resourceId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,av.s)(a))).orderBy(aA,(0,c.A)(f.alerts.startedAt)).limit(200)).map(({a,name:b,kind:c})=>({...a,resourceName:b??null,resourceKind:c??null}))}async function aC(){return aB(await (0,av.I)())}async function aD(a){return(await (0,e.f)().select({id:f.alerts.id,ruleKey:f.alerts.ruleKey,severity:f.alerts.severity,title:f.alerts.title,resourceId:f.alerts.resourceId,startedAt:f.alerts.startedAt,resolvedAt:f.alerts.resolvedAt}).from(f.alerts).where((0,b.b)((0,b.E)(f.alerts.resolvedAt),(0,b.B)(f.alerts.resolvedAt,new Date(a.getTime()-6048e5)))).orderBy((0,c.A)(f.alerts.resolvedAt)).limit(50)).flatMap(a=>a.resolvedAt?[{...a,resolvedAt:a.resolvedAt}]:[])}async function aE(){let[a,c,h]=await Promise.all([ax(),(0,e.f)().select({key:f.alerts.ruleKey,n:d.B`count(*)::int`}).from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)).groupBy(f.alerts.ruleKey),(0,e.f)().select({kind:f.resources.kind}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt))).groupBy(f.resources.kind)]),i=new Set(h.map(a=>a.kind)),j={databases:["supabase_project","neon_project","firestore"].some(a=>i.has(a)),domains:i.has("domain")||i.has("zone"),dns:i.has("zone")};return g.u.flatMap(b=>{let d=a.find(a=>a.key===b);if(!d)return[];let e=g._[b].needs;return[{rule:d,firing:c.find(a=>a.key===b)?.n??0,hasData:null===e||j[e]}]})}async function aF(a,c,d,g){let h="off"===c?{silencedUntil:null,silencedUntilResolved:!1,silencedBy:null}:{...n(c,g),silencedBy:d},[i]=await (0,e.f)().update(f.alerts).set(h).where((0,b.b)((0,b.u)(f.alerts.id,a),(0,b.M)(f.alerts.resolvedAt))).returning({ruleKey:f.alerts.ruleKey,title:f.alerts.title,resourceId:f.alerts.resourceId});return i??null}async function aG(a,c){return(await (0,e.f)().update(f.alertRules).set({...c,updatedAt:new Date}).where((0,b.u)(f.alertRules.key,a)).returning({key:f.alertRules.key})).length>0}async function aH(){try{let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,j.z)).limit(1);return(0,j._)(a?.value)}catch{return{}}}async function aI(a,b){let c=await aH();Object.keys(b).length?c[a]=b:delete c[a],await (0,e.f)().insert(f.settings).values({key:j.z,value:c}).onConflictDoUpdate({target:f.settings.key,set:{value:c,updatedAt:new Date}})}a.s(["$",0,ay,"q",0,aB,"I",0,aD,"i",0,aC,"X",0,az,"w",0,aH,"y",0,aE,"z",0,aG,"_",0,aI,"N",0,aF],455317)}]})();
1
+ (()=>{"use strict";module.exports=[949663,912283,876808,747556,a=>{var b=a.i(927262),c=a.i(201516),d=a.i(273133),e=a.i(120213),f=a.i(84979),g=a.i(84877),h=a.i(679662);let i=/^v?(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function j(a,b){let c=i.exec(a.trim()),d=i.exec(b.trim());return!!c&&!!d&&c[1]===d[1]&&("0"!==c[1]||c[2]===d[2])&&(0,g.f)(b,a)>=0}let k=/^Watch(?:bell|post): update (?:\S+ (?:to|ke) \S+|\d+ vulnerable packages) in ((?:[A-Za-z0-9._-]+\/){0,3}[A-Za-z0-9._-]+) \(/,l=a=>k.exec(a)?.[1]??null;a.s(["M",0,a=>`Lockfile tertinggal — jalankan npm install (${a.slice(0,5).join(", ")}${a.length>5?`, +${a.length-5}`:""}).`,"a",0,function(a,b,c){if(!a.length)return{ok:!1,why:"nothing"};let d=a.filter(a=>c.includes(a.severity)&&!("moderate"===a.severity&&a.dev));if(!d.length)return{ok:!1,why:"severity"};for(let a of d){let c=b.get(a.package);if(!c||!j(c,a.to))return{ok:!1,why:"major"}}return{ok:!0,upgrades:d}},"m",0,function(a,b){if(!b)return{deps:a,stale:[]};let c=[...Object.entries(b.dependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.optionalDependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.devDependencies).map(([a,b])=>[a,b,!0])],d=[...a],e=[];for(let[a,b,f]of c){let c=(0,h.Y)(b);if(!c||!(0,h.C)(c))continue;let i=d.filter(b=>b.name===a);!i.length||i.some(a=>(0,g.f)(a.version,c)>=0)||((d=d.filter(b=>b.name!==a)).push({name:a,version:c,dev:i.every(a=>a.dev)&&f}),e.push(a))}return{deps:d,stale:e}},"D",0,function(a){let b=new Map;for(let c of a){if(!c.direct)continue;let a=b.get(c.package);(!a||0>(0,g.f)(c.installedVersion,a))&&b.set(c.package,c.installedVersion)}return b},"U",0,function(a,b,c=null){for(let d of b){if(l(d.title)!==c)continue;let b=function(a){if(a.packages?.length)return a.packages;let b=/^Watch(?:bell|post): update (\S+) (?:to|ke) /.exec(a.title);return b?[b[1]]:"all"}(d);if("all"===b||a.some(a=>b.includes(a)))return d}return null},"J",0,j],912283);let m=["next","eslint-config-next"],n={CRITICAL:"critical",HIGH:"high",MODERATE:"moderate",LOW:"low",UNKNOWN:"unknown"};function o(a,b){if(!a||!(0,h.C)(a))return null;let c=b.map(a=>a.fixed).filter(b=>!!b&&(0,h.C)(b)&&(0,g.f)(b,a)>0);if(!c.length)return null;let d=c.filter(b=>j(a,b));return(d.length?d:c).reduce((a,b)=>(0,g.f)(b,a)>0?b:a)}function p(a,b){let c=o(a,b),d=c?b.map(a=>a.fixed).filter(a=>!!a&&(0,h.C)(a)&&(0,g.f)(a,c)>0):[],e=d.reduce((a,b)=>null===a||(0,g.f)(b,a)>0?b:a,null),i=e?` (${1===d.length?"one fix needs":"some fixes need"} Next.js ${e.split(".")[0]})`:"";return`Next.js ${a??"(unknown version)"} has ${(0,f.q)(b.length)} (${(0,f.N)(b).toLowerCase()}), ${c?`fixed in ${c}${i}`:"no fix yet"}.`}a.s(["P",0,p,"p",0,function(a){if(!a||"vulnerable"!==a.status||!a.findings.length||!a.version)return null;let b=o(a.version,a.findings);if(!b)return null;let c=n[(0,f.N)(a.findings)],d=[...new Set(a.findings.map(a=>a.id))],e=[...new Set(a.findings.flatMap(a=>a.cve?[a.cve]:[]))];return{from:a.version,to:b,upgrades:[{package:"next",to:b,vulnIds:d,cves:e,severity:c},{package:"eslint-config-next",to:b,vulnIds:[],cves:[],severity:c,companionOf:"next"}],installed:new Map(m.map(b=>[b,a.version]))}},"F",0,function(a){let b=a.find(a=>"next"===a.package&&!a.companionOf);return!b||a.some(a=>"eslint-config-next"===a.package)?a:[...a,{package:"eslint-config-next",to:b.to,vulnIds:[],cves:[],severity:b.severity,companionOf:"next"}]}],876808);let q=a=>Math.round(a).toLocaleString("en-US"),r=(a,b)=>Math.floor((a.getTime()-b.getTime())/864e5),s=(a,b)=>`${a} ${b}${1===a?"":"s"}`,t=a=>{try{let b=new URL(a);return`${b.host}${b.pathname}`}catch{return a}},u=a=>{try{return new URL(a).host}catch{return a}},v=a=>{try{return new URL(a).pathname}catch{return"/"}},w="Down · ",x=new Set(["failure","timed_out","startup_failure"]),y=(a,b,c)=>({rule:a,subject:b,status:"unknown",resourceId:null,accountId:null,title:b,message:"",provider:null,sampleAt:null,...c}),z=a=>"firestore"===a.provider?"firebase":"d1"===a.provider?"cloudflare":a.provider,A=new Set(["turso","upstash","d1"]),B={MonitorDown:(a,b)=>a.monitors.map(a=>{let d=y("MonitorDown",a.id,{resourceId:a.appId,title:`${a.appName} ${"heartbeat"===a.kind?a.url:v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt}),e=b??3;if("heartbeat"===a.kind){let b;return{...d,status:"err"===a.state?"firing":"ok"===a.state?"ok":"unknown",message:`${a.appName} \xb7 ${a.url}: ${b=a.lastError,b?.startsWith(w)?b.slice(w.length):"no ping in time"}.`}}return a.movedTo?{...d,status:"ok",message:`${u(a.url)} moved to ${a.movedTo}; MonitorDomainMoved takes over.`}:a.failStreak>=e?{...d,status:"firing",message:(0,c.H)(a)?`${t(a.url)} failed its check (${(0,c.H)(a)}) on ${e} consecutive checks.`:`${t(a.url)} returned ${a.lastStatus?`HTTP ${a.lastStatus}`:"no answer"} on ${e} consecutive checks.`}:{...d,status:0===a.failStreak&&a.lastCheckedAt?"ok":"unknown",message:`${t(a.url)} answers again.`}}),MonitorDomainMoved:a=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let b=y("MonitorDomainMoved",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel"});return a.movedTo?{...b,status:"firing",message:`${u(a.url)} is no longer a domain of ${a.appName}; production is on ${a.movedTo}.`}:{...b,status:"ok",message:`The monitor checks ${u(a.url)}, a domain of ${a.appName}.`}}),CollectorStale:(a,b)=>{let c=a.lastMinuteRunAt;return[y("CollectorStale","collector",{status:!c||a.now.getTime()-c.getTime()>(b??5)*6e4?"firing":"ok",title:"collector",message:c?`The last minute run finished ${q((a.now.getTime()-c.getTime())/6e4)} min ago.`:"The collector hasn't finished a run yet."})]},HighLatency:(a,b)=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let c=y("HighLatency",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt});if(a.checksLast10<5||null===a.p95Last10)return c;let d=b??1500;return{...c,status:a.p95Last10>d?"firing":"ok",message:`p95 ${q(a.p95Last10)} ms over the last 10 minutes (limit ${q(d)} ms).`}}),DeploymentFailed:a=>a.apps.map(a=>{let b=y("DeploymentFailed",a.id,{resourceId:a.id,title:a.name,provider:"vercel"}),c=a.latestProduction;return c?"error"===c.state?{...b,status:"firing",message:`Production deployment ${c.sha?c.sha.slice(0,7):"(no commit)"} failed.`}:{...b,status:"building"===c.state?"unknown":"ok"}:{...b,status:"ok"}}),DatabasePaused:a=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(a=>y("DatabasePaused",a.id,{resourceId:a.id,title:a.name,provider:"supabase",status:"unknown"===a.state?"unknown":"paused"===a.state?"firing":"ok",message:`Supabase project ${a.name} is paused.`})),CertExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=y("CertExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.tlsNotAfter)return d;let e=r(c.tlsNotAfter,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:`The TLS certificate of ${c.name} expires in ${s(e,"day")}.`}}),DomainExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=y("DomainExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.expiresAt)return d;let e=r(c.expiresAt,a.now);return{...d,status:e<(b??30)?"firing":"ok",message:`${c.name} expires in ${s(e,"day")}.`}}),StorageAlmostFull:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"!==a.provider).map(a=>{let c=y("StorageAlmostFull",a.id,{resourceId:a.id,title:a.name,provider:z(a)});if(null===a.sizeBytes||!a.sizeLimitBytes)return c;let d=a.sizeBytes/a.sizeLimitBytes*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} uses ${q(a.sizeBytes/1e6)} MB of ${q(a.sizeLimitBytes/1e6)} MB (${q(d)}%).`}}),NeonComputeHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"neon"===a.provider).map(a=>{let c=y("NeonComputeHigh",a.id,{resourceId:a.id,title:a.name,provider:"neon"});return null===a.cuHours?c:{...c,status:a.cuHours>(b??80)?"firing":"ok",message:`${a.name} used ${q(a.cuHours)} of ${q(a.cuLimit??100)} CU-hours this month.`}}),FirestoreQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"===a.provider).map(a=>{let c=y("FirestoreQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:"firebase"});if(a.quotaExhausted)return{...c,status:"firing",message:`${a.name} hit a Firestore quota (RESOURCE_EXHAUSTED).`};if(null===a.readsToday||!a.readsLimit)return!1===a.quotaExhausted?{...c,status:"ok"}:c;let d=a.readsToday/a.readsLimit*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} read ${q(a.readsToday)} of ${q(a.readsLimit)} documents today (${q(d)}%).`}}),AutoPauseRisk:(a,b)=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(c=>{let d=y("AutoPauseRisk",c.id,{resourceId:c.id,title:c.name,provider:"supabase"});if("paused"===c.state)return{...d,status:"ok"};if(!c.lastApiAt)return d;let e=Math.floor((a.now.getTime()-c.lastApiAt.getTime())/864e5);return{...d,status:e>=(b??4)?"firing":"ok",message:`No API traffic for ${s(e,"day")}. Supabase pauses free projects after about 7 days.`}}),DnsProxiedToVercel:a=>a.dns&&a.dns.map(a=>y("DnsProxiedToVercel",a.id,{resourceId:a.resourceId,title:a.name,provider:"cloudflare",status:a.proxied&&a.pointsToVercel?"firing":"ok",message:`${a.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`})),DbQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>A.has(a.provider)).map(a=>{let c=y("DbQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:z(a)});return null==a.quotaPct?c:{...c,status:a.quotaPct>(b??80)?"firing":"ok",message:`${a.name}: ${a.quotaLabel??"usage"} at ${q(a.quotaPct)}% of the free plan.`}}),ComputeHigh:(a,b)=>a.compute?a.compute.map(c=>{let e=y("ComputeHigh",c.id,{resourceId:c.id,title:c.name,provider:"supabase",sampleAt:c.latest?new Date(c.latest.at):null}),f=(0,d.B)(c.latest,(0,d.V)(b),a.now);return null===f?e:{...e,status:f.length?"firing":"ok",message:f.length?`${c.name}: ${f.join(", ")}.`:`${c.name} compute is back under the limits.`}}):null,CredentialExpiring:(a,b)=>a.accounts.map(c=>{let d=y("CredentialExpiring",c.id,{accountId:c.id,title:`${c.provider} \xb7 ${c.label}`,provider:c.provider});if("drive"===c.provider&&"error"===c.status&&c.lastError?.includes("invalid_grant"))return{...d,status:"firing",message:"Google Drive access was removed (invalid_grant). Reconnect it."};if(!c.expiresAt)return{...d,status:"ok"};let e=r(c.expiresAt,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:e<0?`The ${c.provider} credential ${c.label} has expired.`:`The ${c.provider} credential ${c.label} expires in ${s(e,"day")}.`}}),VulnerableDependency:a=>a.deps?a.deps.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=y("VulnerableDependency",b.appId,{resourceId:b.appId,title:c.name,provider:"github"});if(b.error)return[d];let f=(0,e.g)(b.vulns);return f?[{...d,status:"firing",message:(0,e.L)(b.vulns),..."critical"===f?{severity:"critical"}:{}}]:[{...d,status:"ok",message:`${c.name} has no moderate, high or critical dependency advisories.`}]}):null,FrameworkVulnerable:a=>a.frameworks?a.frameworks.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=y("FrameworkVulnerable",b.appId,{resourceId:b.appId,title:c.name});return"ok"===b.status?[{...d,status:"ok",message:`${c.name} runs Next.js ${b.version??"(unknown version)"} with no known advisories.`}]:"vulnerable"===b.status&&b.findings.length?[{...d,status:"firing",message:p(b.version,b.findings),..."CRITICAL"===(0,f.N)(b.findings)?{severity:"critical"}:{}}]:[d]}):null,CiFailing:a=>a.ci?.length?a.ci.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=y("CiFailing",b.appId,{resourceId:b.appId,title:c.name,provider:"github"});if(!b.run||"none"in b.run||"completed"!==b.run.status)return[d];let e=`The latest ${b.run.name??"Actions"} run on ${b.run.branch??b.branch??"the default branch"}`;return"success"===b.run.conclusion?[{...d,status:"ok",message:`${e} passed.`}]:x.has(b.run.conclusion??"")?[{...d,status:"firing",message:`${e} failed${b.run.runNumber?` (run #${b.run.runNumber})`:""}.`}]:[d]}):null,OsSecurityUpdate:(a,b)=>(function(a,b){if(!a.os)return null;let c=b??7,d=a.os.system,e=a.os.updates.filter(a=>null!==a.score&&a.score>=c).sort((a,b)=>(b.score??0)-(a.score??0)),f=e.slice(0,3).map(a=>`${a.source} fixes ${a.cves[0]} (${a.score.toFixed(1)})${a.cves.length>1?` and ${a.cves.length-1} more`:""}`);e.length>3&&f.push(`${e.length-3} more packages`),a.os.kernelWaiting&&f.push(`kernel ${a.os.kernelWaiting.installed} waits for a reboot`);let g=y("OsSecurityUpdate","os",{title:d});return!f.length&&a.os.partial?[g]:f.length?[{...g,status:"firing",message:`On ${d}: ${f.join("; ")}.`,...e.some(a=>(a.score??0)>=9)?{severity:"critical"}:{}}]:[{...g,status:"ok",message:`On ${d}, no waiting security update fixes a CVE scored ${c.toFixed(1)} or more, and the newest kernel runs.`}]})(a,b)};a.s(["f",0,function(a,c,d){let e=[],f=new Set;for(let g of c){if(!g.enabled||d&&!d.includes(g.key)||!b._[g.key])continue;let c=B[g.key](a,g.threshold);c&&(f.add(g.key),e.push(...c))}return{observations:e,evaluated:f}}],949663);let C=["MonitorDown","HighLatency"],D=["telegram","discord","webhook","smtp"],E=a=>a.channels.some(a=>D.includes(a));function F(a,b){return b.collectorStale&&"CollectorStale"!==a.rule?"CollectorStale":a.resourceId&&C.includes(a.rule)?b.mutedApps.get(a.resourceId)??null:null}let G=(a,b)=>"critical"===b&&"warning"===a?"critical":a,H=(a,b)=>a.silencedUntilResolved||null!==a.silencedUntil&&a.silencedUntil.getTime()>b.getTime(),I=(a,b)=>`${a}|${b}`;a.s(["f",0,function(a,c,d,e,f){let g={open:[],touch:[],resolve:[]},h=new Map(e.map(a=>[a.key,a])),i=new Map(c.map(a=>[I(a.rule,a.subject),a])),j=new Set(a.map(a=>I(a.ruleKey,a.subject))),k=a=>g.resolve.push({id:a.id,pending:a.notifiedOpen?"resolve":null});for(let c of a){let a=h.get(c.ruleKey),e=i.get(I(c.ruleKey,c.subject));if(!a||!a.enabled){g.resolve.push({id:c.id,pending:null});continue}if(!d.has(c.ruleKey))continue;if(!e){g.resolve.push({id:c.id,pending:null});continue}if("unknown"===e.status)continue;let j=e.provider?f.incidents.get(e.provider)??null:null;if("firing"===e.status){let b=F(e,f),d=c.notifiedOpen&&null!==c.lastNotifiedAt&&f.now.getTime()-c.lastNotifiedAt.getTime()>=216e5,h={id:c.id,okStreak:0,lastSampleAt:e.sampleAt??c.lastSampleAt,lastSeenAt:f.now,message:e.message,causedBy:b,providerIncident:j},i=!c.notifiedOpen&&(!c.pendingSince||f.now.getTime()-c.pendingSince.getTime()>=216e5);(d||i)&&!H(c,f.now)&&!b&&null===c.pending&&E(a)&&(h.pending=d?"repeat":"open"),g.touch.push(h);continue}if(!b._[c.ruleKey].sampled||null===e.sampleAt){k(c);continue}if(!(null===c.lastSampleAt||e.sampleAt.getTime()>c.lastSampleAt.getTime()))continue;let l=c.okStreak+1;l>=2?k(c):g.touch.push({id:c.id,okStreak:l,lastSampleAt:e.sampleAt})}for(let a of c){if("firing"!==a.status||j.has(I(a.rule,a.subject))||f.maintenance.has(a.subject)||a.resourceId&&f.maintenance.has(a.resourceId))continue;let b=h.get(a.rule);if(!b)continue;let c=F(a,f);g.open.push({ruleKey:a.rule,subject:a.subject,resourceId:a.resourceId,accountId:a.accountId,severity:G(b.severity,a.severity),title:a.title,message:a.message,startedAt:f.now,lastSeenAt:f.now,lastSampleAt:a.sampleAt,causedBy:c,providerIncident:a.provider?f.incidents.get(a.provider)??null:null,pending:c||!E(b)?null:"open"})}return g}],747556)},708621,a=>{let b=["status","severity","rule","target","detail","cause","step","since","threshold"],c=["id","en"],d={en:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nNext step: {step}\nsince {since}",id:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nYang perlu kamu lakukan: {step}\nsejak {since}"},e=/\{([a-zA-Z_]+)\}/g,f=a=>a.replace(/\r\n?/g,"\n").replace(/[ \t]+$/gm,"").trim();function g(a){if(a.length>1e3)return`Keep it under ${1e3.toLocaleString("en-US")} characters.`;for(let[,c]of a.matchAll(e))if(!b.includes(c))return`{${c}} isn't a field. Use ${b.map(a=>`{${a}}`).join(", ")}.`;return null}a.s(["I",0,{en:"Test message: Watchbell's sentence about what it saw goes here.",id:"Pesan tes: di sini nanti kalimat Watchbell soal apa yang dilihatnya."},"z",0,"alerts.messageTemplates","i",0,c,"_",0,function(a){if(!a||"object"!=typeof a||Array.isArray(a))return{};let b={};for(let[d,e]of Object.entries(a)){if(!e||"object"!=typeof e)continue;let a={};for(let b of c){let c=e[b];"string"==typeof c&&c.trim()&&null===g(c)&&(a[b]=c)}Object.keys(a).length&&(b[d]=a)}return b},"l",0,function(a,b){return f(a).split("\n").flatMap(a=>{let c=[...a.matchAll(e)].map(a=>a[1]).filter(a=>Object.hasOwn(b,a));return c.length&&c.every(a=>!b[a].trim())?[]:[a.replace(e,(a,c)=>Object.hasOwn(b,c)?b[c]:a)]}).join("\n").replace(/\n{3,}/g,"\n\n").trim()},"F",0,function(a,b){let c="string"==typeof a?f(a):"";return c&&c!==d[b]?c:null},"m",0,g])},455317,71575,569057,930270,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(927262),h=a.i(949663),i=a.i(747556),j=a.i(708621),k=a.i(519051),l=a.i(160147),m=a.i(245710);function n(a,b){return"1h"===a?{silencedUntil:new Date(b.getTime()+36e5),silencedUntilResolved:!1}:{silencedUntil:null,silencedUntilResolved:!0}}a.s(["_",0,[["critical","Critical"],["warning","Warning"],["info","Info"]],"O",0,function(a,b){return a.silencedUntilResolved?{state:"off",text:"Silenced until resolved"}:a.silencedUntil&&a.silencedUntil.getTime()>b.getTime()?{state:"off",text:`Silenced until ${(0,m.U)(a.silencedUntil)}`}:"open"===a.pending||"repeat"===a.pending?{state:"build",text:"Sending…"}:a.causedBy&&!a.notifiedOpen?{state:"off",text:"Muted"}:a.lastNotifiedAt?{state:"ok",text:`Sent ${(0,m.U)(a.lastNotifiedAt)}`}:{state:"off",text:"Digest only"}},"G",0,function(a){return a.enabled?a.firing?{state:"err",text:`Firing \xb7 ${a.firing}`}:a.hasData?{state:"off",text:"Inactive"}:{state:"unknown",text:"No data yet"}:{state:"off",text:"Disabled"}},"A",0,n,"M",0,function(a,b){let c=Math.max(1,Math.round((b.getTime()-a.getTime())/6e4));if(c<60)return`${c} min`;let d=Math.floor(c/60);return d<24?`${d} h ${c%60} min`:`${Math.floor(d/24)} d ${d%24} h`}],71575);var o=a.i(639271),p=a.i(656298),q=a.i(688275),r=a.i(893893),s=a.i(672319),t=a.i(188546),u=a.i(233711),v=a.i(460565);async function w(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","qstash","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function x(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function y(){let[a]=await (0,e.f)().select({threshold:f.alertRules.threshold}).from(f.alertRules).where((0,b.u)(f.alertRules.key,"CollectorStale")).limit(1);return(0,v.X)(a?.threshold)}a.s(["o",0,y,"D",0,w,"d",0,x],569057);var z=a.i(683439);async function A(a,c=new Date){var d;let g=a.filter(z.f);return g.length?(d=await (0,e.f)().select({appId:f.appRepos.appId,repo:f.githubRepos.fullName,branch:f.githubRepos.defaultBranch,run:f.githubRepos.actions,checkedAt:f.githubRepos.actionsCheckedAt,goneAt:f.githubRepos.goneAt}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.y)(f.appRepos.appId,g)),d.filter(a=>a.run&&!a.goneAt).map(a=>({appId:a.appId,repo:a.repo,branch:a.branch,run:a.checkedAt&&c.getTime()-a.checkedAt.getTime()<=1728e5?a.run:null}))):[]}var B=a.i(351917),C=a.i(865653),D=a.i(367247),E=a.i(436357),F=a.i(912283),G=a.i(358179),H=a.i(492665),I=a.i(679662),J=a.i(852539),K=a.i(33135),L=a.i(533957);let M="OpsConsole-Deps/1.0 (+https://watchbell.west-solutions.web.id)";async function N(a,b,c,d){let e=d.deadline-Date.now();if(e<500)return{ok:!1,error:"No time left for OSV.dev"};let f=AbortSignal.timeout(e);return P(a,{method:"POST",headers:{"content-type":"application/json","user-agent":M},body:JSON.stringify(b),signal:f},c,f,d)}async function O(a,b,c){let d=c.deadline-Date.now();if(d<500)return{ok:!1,error:"No time left for OSV.dev"};let e=AbortSignal.timeout(Math.min(d,8e3));return P(a,{method:"GET",headers:{"user-agent":M},signal:e},b,e,c)}async function P(a,b,c,d,e){let f;try{f=await (e.fetch??fetch)(a,{...b,redirect:"error",cache:"no-store"})}catch(a){return{ok:!1,error:(0,L.t)(a)?"OSV.dev didn't answer in time":"Couldn't reach OSV.dev"}}if(!f.ok)return await f.body?.cancel().catch(()=>void 0),{ok:!1,error:`OSV.dev answered HTTP ${f.status}`};try{let{bytes:a,truncated:b}=await (0,K.z)(f,c,(0,K.X)(d));if(b)return{ok:!1,error:"OSV.dev sent too large an answer"};return{ok:!0,body:JSON.parse(new TextDecoder().decode(a))}}catch(a){return{ok:!1,error:(0,L.t)(a)?"OSV.dev didn't answer in time":"OSV.dev sent an answer we couldn't read"}}}async function Q(a,b){let c=[];for(let d of(0,J.f)(a)){let a=await N(J.n,d,4194304,b);if(!a.ok)return a;let e=(0,J.j)(a.body,d.queries.length);if(!e)return{ok:!1,error:"OSV.dev sent an answer we couldn't read"};c.push(...e)}return{ok:!0,ids:c}}async function R(a,b){let c=[...new Set(a)].filter(J.G);if(c.length>300)return{ok:!1,error:`Too many advisories to read in one scan (${c.length})`};let d=new Map,e=null;for(let a=0;a<c.length&&!e;a+=8)await Promise.all(c.slice(a,a+8).map(async a=>{let c=await O(`${J.W}${encodeURIComponent(a)}`,1048576,b),f=c.ok?(0,J.O)(c.body):null;f?d.set(a,f):e??=c.ok?"OSV.dev sent an advisory we couldn't read":c.error}));return e?{ok:!1,error:e}:{ok:!0,map:d}}var S=a.i(521050),T=a.i(120213),U=a.i(689963),V=a.i(26972),W=a.i(427221),X=a.i(811365),Y=a.i(760417);let Z=U.z.array(V.z.object({name:W.z.string(),type:W.z.string(),sha:W.z.string(),size:X.z.number().optional()}));async function $(a,b,c,d={},e=null){if(!(0,Y.M)(b)||!(0,Y.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or ref."};if(null!==e&&(0,S.Q)(e)!==e)return{ok:!1,kind:"format",error:"That isn't a folder in a repository."};let f=e?e.split("/").map(encodeURIComponent).join("/"):"",g=await (0,Y.j)(`/repos/${(0,Y.f)(b)}/contents/${f}?ref=${encodeURIComponent(c)}`,a,d);if(!g.ok)return g;let h=Z.safeParse(g.data);return h.success?{ok:!0,data:h.data.filter(a=>"file"===a.type&&/^[0-9a-f]{40}$/.test(a.sha)).map(a=>({name:a.name,sha:a.sha,size:a.size??0}))}:{ok:!1,kind:"format",error:"GitHub answered the file list in a format the console doesn't recognise."}}async function _(a,b,c,d={}){if(!(0,Y.M)(b)||!(0,Y.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or branch."};let e=await (0,Y.j)(`/repos/${(0,Y.f)(b)}/git/ref/heads/${c.split("/").map(encodeURIComponent).join("/")}`,a,d);return e.ok?{ok:!0,data:!0}:"missing"===e.kind?{ok:!0,data:!1}:e}function aa(a,b,c,d,e,f={}){return(0,Y.V)(a,b,c,d,e,f)}async function ab(a,b,c={}){if(!(0,Y.M)(b))return{ok:!1,kind:"format",error:"That isn't a repository name."};let d=await (0,Y.j)(`/repos/${(0,Y.f)(b)}/dependabot/alerts?state=open&ecosystem=npm&per_page=100`,a,c);if(!d.ok)return"scope"===d.kind||"missing"===d.kind?{ok:!0,data:{denied:!0}}:d;let e=(0,T.E)(d.data);return e?{ok:!0,data:{alerts:e}}:{ok:!1,kind:"format",error:"GitHub answered the Dependabot alerts in a format the console doesn't recognise."}}var ac=a.i(751263);async function ad(){let[a]=await (0,e.f)().select().from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).orderBy((0,c.M)(f.accounts.createdAt)).limit(1);if(!a)return{error:"GitHub isn't connected."};let d=(0,G.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,H.f)().OPS_ENCRYPTION_KEY);return d?{token:d,accountId:a.id}:{error:"Can't read the stored GitHub credential. Replace it on Connections."}}async function ae(){let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,"deps.scanAll")).limit(1);return a?.value===!0}let af=a=>{let b=(0,ac.w)(a);return{dir:(0,S.Q)((a??{}).rootDirectory),unsupported:(0,S.l)((a??{}).rootDirectoryUnsupported),branch:(0,ac.i)((0,ac.V)(a),null),...b?{fallback:b}:{}}};async function ag(a){let c=[...new Set(a.filter(z.f))],d=new Map;if(!c.length)return d;let g=await (0,e.f)().select({repoId:f.appRepos.repoId,name:f.resources.name,monitored:f.resources.monitored,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.b)((0,b.y)(f.appRepos.repoId,c),(0,b.M)(f.resources.goneAt))).limit(1e3);for(let a of(g.sort((a,b)=>Number(!!b.monitored)-Number(!!a.monitored)||(a.name<b.name?-1:+(a.name>b.name))),g))d.has(a.repoId)||d.set(a.repoId,af(a.meta));return d}async function ah(){let a={id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,scannedAt:f.dependencyScans.scannedAt},c=(0,b.b)((0,b.M)(f.githubRepos.goneAt),(0,b.u)(f.githubRepos.archived,!1)),d=await ae()?await (0,e.f)().select(a).from(f.githubRepos).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500):await (0,e.f)().selectDistinct(a).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500),g=d.length?await ag(d.map(a=>a.id)):new Map;return(0,T.M)(d.map(a=>{let b=g.get(a.id);return{...a,rootDir:b?.dir??null,rootDirUnsupported:b?.unsupported??null,prodBranch:b?.branch??null,...b?.fallback?{prodFallback:b.fallback}:{}}}))}let ai=(a,b)=>a.length>b?`${a.slice(0,b-1)}…`:a;async function aj(a,b){let c=new Date;await (0,e.f)().insert(f.dependencyScans).values({repoId:a,...b,updatedAt:c}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{...b,updatedAt:c}})}async function ak(a){return(0,e.f)().select({id:f.dependencyVulns.id,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,source:f.dependencyVulns.source}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,a),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3)}function al(a,b){for(let c of I.a){let d=a.find(a=>a.name===c.path);if(d)return{path:(0,S.H)(b,c.path),kind:c.kind,sha:d.sha}}return null}async function am(a,c,d,g={}){let h=()=>({...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),1e4))}),i=async a=>(await aj(c.id,{error:ai(a,300),scannedAt:new Date}).catch(()=>void 0),{status:"failed",error:a}),j=c.defaultBranch??"HEAD",k=null;for(let b of[c.prodBranch,c.prodFallback]){if(b&&b===c.defaultBranch)break;let d=(0,ac.i)(b,c.defaultBranch);if(!d)continue;let e=await _(a,c.fullName,d,h());if(!e.ok)return i(e.error);if(e.data){k=d;break}}let l=null!==k;k&&(j=k);let m=l?`Scanned ${k}, the branch production is built from.`:null,n=(0,S.Q)(c.rootDir),o=n?null:(0,S.l)(c.rootDirUnsupported),p=o?`The Vercel Root Directory "${o}" couldn't be used (Watchbell reads plain folder names, at most 4 deep); scanned the repository root.`:null,q=await $(a,c.fullName,j,h(),n);if(!q.ok)return i(n&&"missing"===q.kind?`The folder ${(0,S.x)(n)} isn't in ${c.fullName} on ${j}.`:q.error);let r=al(q.data,n),s=q.data.find(a=>"package.json"===a.name)??null,t=!1,u=null;if(n&&s&&!r){let b=await $(a,c.fullName,j,h());if(!b.ok)return i(b.error);t=null!==(r=al(u=b.data,null))}let v=r?r.sha:s?`pkg:${s.sha}`:null,w=v&&n?`${n}:${v}${t&&s?`+${s.sha}`:""}`:v&&o?`odd:${v}`:v,x=w&&l?`br:${k}:${w}`:w,[y]=await (0,e.f)().select().from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,c.id)).limit(1),z=new Date;if(!(0,T.U)(y??null,x,z,g.force))return{status:"unchanged"};if(!x){let a=await ak(c.id);return a.length&&await (0,e.f)().update(f.dependencyVulns).set({resolvedAt:z}).where((0,b.y)(f.dependencyVulns.id,a.map(a=>a.id))),await aj(c.id,{lockfilePath:null,lockfileSha:null,packageCount:0,scannedAt:z,queriedAt:z,error:null,note:ai([m,p,`No package.json or lockfile ${n?"in":"at"} ${(0,S.x)(n)}.`].filter(Boolean).join(" "),300)}),{status:"scanned",vulns:0,packages:0,note:"no package.json"}}let A=(0,S.H)(n,"package.json"),B=s?await aa(a,c.fullName,A,j,Y.$,h()):null;if(B&&!B.ok)return i(B.error);let C=B?.ok&&B.data?(0,I.b)(B.data):null,D=null,E="package-json",G=t&&r?`Scanned ${(0,S.x)(n)} with the repository root's ${r.path} (workspaces).`:null;if(r){if(2e3>d-Date.now())return i("Time budget used before the lockfile was read; the next run tries again.");let b=await aa(a,c.fullName,r.path,j,0xf00000,{...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),2e4))});if(!b.ok)return i(b.error);let e=!0;if(t&&n&&b.data&&!(0,S.p)(r.kind,b.data,n)){let b=u?.some(a=>"package.json"===a.name)?await aa(a,c.fullName,"package.json",j,Y.$,h()):null;if(b&&!b.ok)return i(b.error);e=(0,S.F)(b?.data??null,n)}e?(D=b.data?(0,I.D)(r.kind,b.data):null,E=r.kind,D||(G=[G,`${r.path} couldn't be read; the versions come from package.json ranges (approximate).`].filter(Boolean).join(" "))):(G=`The repository root's ${r.path} isn't a workspace that includes ${n}, so the versions come from ${A} ranges (approximate).`,r=null)}if(D){let a=(0,F.m)(D,C);D=a.deps,a.stale.length&&(G=[G,(0,F.M)(a.stale)].filter(Boolean).join(" "))}else D=C?(0,I.e)(C):[],E="package-json",G??=r?null:"No lockfile: the versions come from package.json ranges (approximate).";let H=await ak(c.id),K=[];if(D.length){let a=await Q(D,{fetch:g.fetch,deadline:d});if(!a.ok)return i(a.error);let b=(0,T.A)(H,!0===g.force),c=await R((0,T.z)(D,a.ids,b),{fetch:g.fetch,deadline:d});if(!c.ok)return i(c.error);K=(0,J.i)(D,a.ids,c.map,b)}if(d-Date.now()>1500){let b=await ab(a,c.fullName,h());b.ok&&"alerts"in b.data?K=(0,T.R)(K,b.data.alerts,D):b.ok&&(G=[G,"Dependabot alerts aren't readable with this token (optional: Dependabot alerts: Read)."].filter(Boolean).join(" "))}let L=(0,T.h)(H,K,(0,I.K)(C));G=[m,p,G].filter(Boolean).join(" ")||null;let M=new Date;return await (0,e.f)().transaction(async a=>{for(let d of(L.insert.length&&await a.insert(f.dependencyVulns).values(L.insert.map(a=>({repoId:c.id,package:a.package,installedVersion:a.installedVersion,vulnId:a.vulnId,aliases:a.aliases,severity:a.severity,fixedVersion:a.fixedVersion,summary:a.summary,direct:a.direct,dev:a.dev,source:a.source,firstSeenAt:M,lastSeenAt:M}))).onConflictDoNothing(),L.update))await a.update(f.dependencyVulns).set({severity:d.severity,fixedVersion:d.fixedVersion,summary:d.summary,aliases:d.aliases,dev:d.dev,direct:d.direct,lastSeenAt:M}).where((0,b.u)(f.dependencyVulns.id,d.id));L.resolve.length&&await a.update(f.dependencyVulns).set({resolvedAt:M}).where((0,b.b)((0,b.y)(f.dependencyVulns.id,L.resolve),(0,b.M)(f.dependencyVulns.resolvedAt))),await a.insert(f.dependencyScans).values({repoId:c.id,lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:D.length,scannedAt:M,queriedAt:M,error:null,note:G?ai(G,300):null,updatedAt:M}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:D.length,scannedAt:M,queriedAt:M,error:null,note:G?ai(G,300):null,updatedAt:M}})}),{status:"scanned",vulns:L.insert.length+L.update.length,packages:D.length,note:"package-json"===E?G:null}}async function an(a,c={}){var d,g;let h,i,j,k,l=await ad();if("error"in l)return{error:l.error};let{first:m,only:n,skip:o,...p}=c,q=(d=await ah(),h=(g={first:m,only:n,skip:o}).only?new Set(g.only):null,i=new Set(g.skip??[]),j=(h?d.filter(a=>h.has(a.id)):d).filter(a=>!i.has(a.id)),k=new Set(g.first??[]),[...j.filter(a=>k.has(a.id)),...j.filter(a=>!k.has(a.id))]),r={scanned:0,unchanged:0,failed:[],left:0,done:[],listed:q.map(a=>a.id)};for(let[b,c]of q.entries()){if(a-Date.now()<4e3){r.left=q.length-b;break}r.done.push(c.id);try{let b=await am(l.token,c,a,p);"scanned"===b.status?r.scanned++:"unchanged"===b.status?r.unchanged++:r.failed.push(`${c.fullName}: ${b.error}`)}catch(a){r.failed.push(`${c.fullName}: ${a instanceof Error?a.name:"error"}`)}}return await (0,e.f)().delete(f.dependencyVulns).where((0,b.b)((0,b.E)(f.dependencyVulns.resolvedAt),(0,b.S)(f.dependencyVulns.resolvedAt,new Date(Date.now()-7776e6)))).catch(()=>void 0),r}let ao=async()=>(await (0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).limit(1)).length>0;async function ap(a,c,d={}){let g,h,i,{marked:j,onlyMarked:k}=c;if(!await ao())return{problem:null,settled:[...j],done:[],complete:!0};let l=j.filter(z.f),m=l.length?await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,l)).limit(5*l.length):[],n=[...new Set(m.map(a=>a.repoId))],o=a=>m.filter(b=>b.appId===a).map(a=>a.repoId),p=j.filter(a=>!o(a).length);if(k&&!n.length)return{problem:null,settled:[...j],done:[],complete:!0};if(a-Date.now()<4e3)return{problem:null,settled:p,done:[],complete:!1};let q=(c.skip??[]).filter(a=>!n.includes(a)),r=await an(a,{...d,first:n,...k?{only:n}:{skip:q}});if("error"in r){let a;return{problem:(a=r.error,/didn't answer in time|no time left|time budget|rate limit/i.test(a))?null:r.error,settled:[...j],done:[],complete:!0}}let s=new Set([...r.done,...n.filter(a=>!r.listed.includes(a))]);return{problem:(g=r.failed.filter(a=>!/didn't answer in time|no time left|time budget|rate limit/i.test(a)),(h=r.failed.length-g.length+(r.left??0))&&console.info(`deps: ${h} repositor${1===h?"y":"ies"} wait for the next run`),i=g.slice(0,3),g.length>3&&i.push(`+${g.length-3} more`),i.length?i.join("; "):null),settled:j.filter(a=>o(a).every(a=>s.has(a))),done:r.done,complete:0===r.left}}async function aq(a){let d={repo:null,scan:null,vulns:[],writeConnected:!1};if(!(0,z.f)(a))return d;let[g]=await (0,e.f)().select({id:f.githubRepos.id,fullName:f.githubRepos.fullName}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return d;let[[h],i,[j]]=await Promise.all([(0,e.f)().select({scannedAt:f.dependencyScans.scannedAt,lockfilePath:f.dependencyScans.lockfilePath,packageCount:f.dependencyScans.packageCount,error:f.dependencyScans.error,note:f.dependencyScans.note}).from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,g.id)).limit(1),(0,e.f)().select({package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,firstSeenAt:f.dependencyVulns.firstSeenAt}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3),(0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github_write")).limit(1)]);i.sort((a,b)=>(0,T.t)(a.severity)-(0,T.t)(b.severity)||(a.package<b.package?-1:+(a.package>b.package))||(a.vulnId<b.vulnId?-1:1));let k=await (0,e.f)().select({number:f.dependencyPrs.number,stage:f.dependencyPrs.stage,stageText:f.dependencyPrs.stageText,openedAt:f.dependencyPrs.openedAt}).from(f.dependencyPrs).where((0,b.b)((0,b.u)(f.dependencyPrs.repoId,g.id),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)))).orderBy((0,c.A)(f.dependencyPrs.openedAt)).limit(5).catch(()=>[]);return{repo:g,scan:h??null,vulns:i,writeConnected:!!j,prs:(k??[]).map(a=>({...a,fullName:g.fullName}))}}async function ar(a,c={}){if(!(0,z.f)(a))return{ok:!1,error:"That app no longer exists."};let[g]=await (0,e.f)().select({app:f.resources.name,id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,goneAt:f.githubRepos.goneAt,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return{ok:!1,error:"Link a repository first."};if(g.goneAt)return{ok:!1,error:"That repository is no longer shared with the GitHub token."};let h=await ad();if("error"in h)return{ok:!1,error:h.error};let i=af(g.meta),j=await am(h.token,{id:g.id,fullName:g.fullName,defaultBranch:g.defaultBranch,scannedAt:null,rootDir:i.dir,rootDirUnsupported:i.unsupported,prodBranch:i.branch,prodFallback:i.fallback??null},Date.now()+4e4,{...c,force:!0});if("failed"===j.status)return{ok:!1,error:`The scan failed: ${j.error}`};let[k]=await (0,e.f)().select({n:d.B`count(*)::int`}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))),l=k?.n??0;return{ok:!0,app:g.app,repo:g.fullName,vulns:l,message:l?`${l} known vulnerabilit${1===l?"y":"ies"} in ${j.packages??0} packages.`:`No known vulnerabilities in ${j.packages??0} packages.`}}async function as(a){let c=a.filter(z.f);if(!c.length)return[];let d=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId,error:f.dependencyScans.error}).from(f.appRepos).innerJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.appRepos.repoId)).where((0,b.b)((0,b.y)(f.appRepos.appId,c),(0,b.E)(f.dependencyScans.scannedAt)));if(!d.length)return[];let g=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,severity:f.dependencyVulns.severity,summary:f.dependencyVulns.summary,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(d.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(1e4);return d.map(a=>({appId:a.appId,repoId:a.repoId,error:a.error,vulns:g.filter(b=>b.repoId===a.repoId).map(a=>({package:a.package,installedVersion:a.installedVersion,fixedVersion:a.fixedVersion,severity:a.severity,summary:a.summary,dev:a.dev,direct:a.direct}))}))}async function at(a,c=new Set){let g=a.filter(z.f),h=new Map;if(!g.length)return h;let i=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,g));if(!i.length)return h;let j=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,vulnId:f.dependencyVulns.vulnId,aliases:f.dependencyVulns.aliases,severity:f.dependencyVulns.severity,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(i.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt),(0,b.u)(f.dependencyVulns.direct,!0),(0,b.E)(f.dependencyVulns.fixedVersion))).limit(2e3),k=j.some(a=>"next"===a.package)?new Set((await (0,e.f)().selectDistinct({appId:f.dependencyPrs.appId}).from(f.dependencyPrs).where((0,b.b)((0,b.y)(f.dependencyPrs.appId,g),(0,b.$)(f.dependencyPrs.stage,["merged","closed"]),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)),d.B`${f.dependencyPrs.packages} @> '["next"]'::jsonb`)).limit(g.length)).map(a=>a.appId)):new Set;for(let a of i){let b=c.has(a.appId)||k.has(a.appId);(0,T.B)(j.filter(c=>c.repoId===a.repoId&&!(b&&"next"===c.package))).length&&h.set(a.appId,a.repoId)}return h}a.s(["o",0,12e3,"d",0,4e3,"j",0,aq,"O",0,ap,"C",0,at,"M",0,ad,"a",0,as,"h",0,ar],930270);var au=a.i(242605);async function av(){return(0,e.f)().select({appId:f.links.fromResourceId,dbId:f.links.toResourceId}).from(f.links).where((0,b.u)(f.links.kind,"uses_db")).limit(500)}async function aw(a){let g=(0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt)),[h,i,j,k,l]=await Promise.all([x(),w(),(0,e.f)().select({m:f.monitors,appName:f.resources.name,appMeta:f.resources.meta}).from(f.monitors).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(g,(0,b.u)(f.monitors.paused,!1),(0,b.u)(f.monitors.ownerPaused,!1))),(0,e.f)().select({id:f.resources.id,name:f.resources.name,meta:f.resources.meta}).from(f.resources).where((0,b.b)(g,(0,b.u)(f.resources.kind,"app"))),(0,e.f)().select({id:f.accounts.id,provider:f.accounts.provider,label:f.accounts.label,expiresAt:f.accounts.expiresAt,status:f.accounts.status,lastError:f.accounts.lastError}).from(f.accounts)]),m=j.map(a=>a.m.id),n=m.length?await (0,e.f)().select({id:f.checks.monitorId,n:d.B`count(*)::int`,p95:d.B`percentile_cont(0.95) within group (order by ${f.checks.latencyMs})::float8`}).from(f.checks).where((0,b.b)((0,b.y)(f.checks.monitorId,m),(0,b.B)(f.checks.at,new Date(a.getTime()-6e5)),(0,b.u)(f.checks.inMaintenance,!1))).groupBy(f.checks.monitorId):[],v=k.map(a=>a.id),y=v.length?await (0,e.f)().selectDistinctOn([f.deployments.resourceId],{appId:f.deployments.resourceId,state:f.deployments.state,sha:f.deployments.commitSha,createdAt:f.deployments.createdAtProvider}).from(f.deployments).where((0,b.b)((0,b.y)(f.deployments.resourceId,v),(0,b.u)(f.deployments.target,"production"))).orderBy(f.deployments.resourceId,(0,c.A)(f.deployments.createdAtProvider)):[],z=await (0,e.f)().select({id:f.resources.id,name:f.resources.name,kind:f.resources.kind,state:f.snapshots.state,data:f.snapshots.data}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)(g,(0,b.y)(f.resources.kind,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"]))),F=a=>z.filter(b=>b.kind===a),G=z.filter(a=>["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"].includes(a.kind)),H=F("zone"),I=F("domain"),J=await av(),K=await (0,D.Y)().catch(()=>null),L=v.length?await as(v).catch(()=>null):null,M=v.length?await (0,au.F)(v).catch(()=>null):null,N=v.length?await A(v).catch(()=>null):null,O="on"===(0,B.C)()?function(a){var b;let c;if(!a||"ok"!==a.status||!a.system)return null;let d=(b=a.updates,c=a=>a.security||a.fixes.length>0||null!==a.error,{security:b.filter(c),other:b.filter(a=>!c(a))}).security,e=d.some(a=>null!==a.error),f=d.filter(a=>a.fixes.length).map(a=>{let b=[...a.fixes].sort((a,b)=>(b.cvss3??-1)-(a.cvss3??-1));return{source:a.source,score:b[0].cvss3,cves:b.map(a=>a.cve)}}),g=a.kernel,h=g?.newestInstalled&&g.runningVersion&&(0,C.f)(g.newestInstalled,g.runningVersion)>0?{installed:g.newestInstalled,running:g.runningVersion}:null;return{system:a.system,updates:f,kernelWaiting:h,partial:e}}(await (0,B.y)().catch(()=>null)):null;return{now:a,lastMinuteRunAt:h,lastAnyRunAt:i,monitors:j.map(({m:a,appName:b,appMeta:c})=>{let d=n.find(b=>b.id===a.id),e="heartbeat"===a.kind;return{id:a.id,appId:a.resourceId,appName:b,url:e?a.name??"heartbeat":a.url,kind:e?"heartbeat":"http",state:a.state,failStreak:a.failStreak,lastStatus:a.lastStatus,lastError:a.lastError,lastCheckedAt:a.lastCheckedAt,p95Last10:d?.p95??null,checksLast10:d?.n??0,movedTo:e?null:(0,E.u)(a.url,{name:b,meta:c},k.filter(b=>b.id!==a.resourceId),{lastError:a.lastError})?.to??null}}),apps:k.map(a=>{let b=y.find(b=>b.appId===a.id);return{id:a.id,name:a.name,latestProduction:b?{state:b.state,sha:b.sha,createdAt:b.createdAt}:null}}),accounts:l,dbs:G.length?G.map(b=>(function(a,b){let c={id:a.id,name:a.name,state:a.state,sizeBytes:null,sizeLimitBytes:null,lastApiAt:null,cuHours:null,cuLimit:null,readsToday:null,readsLimit:null,quotaExhausted:null};if("supabase_project"===a.kind){let b=(0,r.k)(r.B,a.data),d=(0,u.Z)(b.lastTrafficAt),e=(0,u.Z)(b.trafficAt),f=d??(e&&!b.trafficError?new Date(e.getTime()-6048e5):null);return{...c,provider:"supabase",sizeBytes:b.sizeBytes??null,sizeLimitBytes:s.R,lastApiAt:f}}if("neon_project"===a.kind){let b=(0,r.k)(r.s,a.data),d=(b.branches??[]).map(a=>a.logicalSize).filter(a=>"number"==typeof a);return{...c,provider:"neon",cuHours:null==b.computeSeconds?null:b.computeSeconds/3600,cuLimit:q.a.cuHours,sizeBytes:d.length?d.reduce((a,b)=>a+b,0):null,sizeLimitBytes:q.a.storageBytes}}if("firestore"===a.kind){let d=(0,r.k)(r.w,a.data),e=(0,u.Z)(d.opsAt),f=null!=d.reads&&e&&e.getTime()>=(0,p.a)(b).getTime()?d.reads:null,g=null!=d.latencyMs||null!=d.pingError;return{...c,provider:"firestore",readsToday:f,readsLimit:p.T.reads,quotaExhausted:g?"RESOURCE_EXHAUSTED"===d.pingReason:null}}if("turso_database"===a.kind){let d=(0,r.k)(r.N,a.data),e=(0,o.u)((0,o.G)(d,b));return{...c,provider:"turso",sizeBytes:d.orgStorageBytes??null,sizeLimitBytes:o.g.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("upstash_redis"===a.kind){let d=(0,r.k)(r.e,a.data),e=(0,o.u)((0,o.$)(d,b));return{...c,provider:"upstash",sizeBytes:d.storageBytes??null,sizeLimitBytes:o.W.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("d1_database"===a.kind){let d=(0,r.k)(r.x,a.data),e=(0,o.u)((0,o.I)(d,b));return{...c,provider:"d1",sizeBytes:d.sizeBytes??null,sizeLimitBytes:o.M.dbBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}return null})(b,a)).filter(a=>null!==a):null,domains:H.length||I.length?[...H.map(a=>({id:a.id,name:a.name,tlsNotAfter:null,expiresAt:(0,u.Z)((0,t.q)(a.data).rdap?.expiresAt)})),...I.map(a=>({id:a.id,name:a.name,tlsNotAfter:(0,u.Z)((0,t.q)(a.data).tls?.notAfter),expiresAt:null}))]:null,dns:function(a,b){let c=a.filter(a=>Array.isArray(a.data.records));if(!c.length)return null;let d=a.map(a=>a.name),e=[];for(let a of c){let c=b.filter(b=>(0,u.J)(b.name,d)===a.name.toLowerCase().replace(/\.$/,"")),f=[...new Set(c.flatMap(a=>(0,t.q)(a.data).vercel?.recommendedIps??[]))];for(let b of(0,t.q)(a.data).records){if(!(0,u.l)(b,f))continue;let d=b.name.toLowerCase().replace(/\.$/,""),g=c.find(a=>a.name.toLowerCase().replace(/\.$/,"")===d);e.push({id:`${a.id}:${b.id}`,resourceId:g?.id??a.id,name:b.name,proxied:b.proxied,pointsToVercel:!0})}}return e}(H,I),links:J,compute:K,deps:L&&L.length?L:null,frameworks:M&&M.length?M:null,ci:N&&N.length?N:null,os:O}}var ax=a.i(714530),ay=a.i(396667);let az={vercel:"Vercel",supabase:"Supabase",neon:"Neon",cloudflare:"Cloudflare",firebase:"Firebase",gcp:"Google Cloud"};async function aA(){return(await (0,e.f)().select().from(f.alertRules)).filter(a=>(0,g.h)(a.key)).map(a=>({key:a.key,severity:a.severity,threshold:a.threshold,enabled:a.enabled,channels:a.channels}))}async function aB(a,c={}){let[d,j,m,n,o,p]=await Promise.all([aw(a),aA(),(0,e.f)().select().from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)),(0,e.f)().select({provider:f.providerStatus.provider,state:f.providerStatus.state}).from(f.providerStatus),(0,ax.w)(),(0,ay.I)()]),q=new Map(d.accounts.map(a=>[a.id,a.provider])),r=m.filter(a=>!(0,l.O)(p,a.ruleKey,a.accountId?q.get(a.accountId):null)),s=(0,h.f)(d,j,c.only),t=s.evaluated,u=s.observations.filter(a=>!(0,l.O)(p,a.rule,a.provider)),v=j.find(a=>"CollectorStale"===a.key),w=void 0===d.lastAnyRunAt?d.lastMinuteRunAt:d.lastAnyRunAt,x=!!v?.enabled&&(!w||a.getTime()-w.getTime()>(v.threshold??5)*6e4),y=new Map((d.dbs??[]).filter(a=>"paused"===a.state).map(a=>[a.id,a.name])),z=new Map(d.links.filter(a=>y.has(a.dbId)).map(a=>[a.appId,`DatabasePaused \xb7 ${y.get(a.dbId)}`])),A=new Map(n.filter(a=>"warn"===a.state||"err"===a.state).map(a=>["gcp"===a.provider?"firebase":a.provider,az[a.provider]??a.provider])),B=(0,k.u)(o,d.monitors.map(a=>({id:a.id,appId:a.appId})),a,d.apps.map(a=>a.id)),C=r.filter(a=>(0,g.h)(a.ruleKey)).map(a=>({id:a.id,ruleKey:a.ruleKey,subject:a.subject,okStreak:a.okStreak,lastSampleAt:a.lastSampleAt,silencedUntil:a.silencedUntil,silencedUntilResolved:a.silencedUntilResolved,notifiedOpen:a.notifiedOpen,lastNotifiedAt:a.lastNotifiedAt,pending:a.pending,pendingSince:a.pendingSince})),D=(0,i.f)(C,u,t,j,{now:a,collectorStale:x,mutedApps:z,incidents:A,maintenance:B});return D.open.length||D.touch.length||D.resolve.length?(await (0,e.f)().transaction(async c=>{for(let b of D.open)await c.insert(f.alerts).values({...b,pendingSince:b.pending?a:null}).onConflictDoNothing();for(let d of D.touch){let{id:e,pending:g,...h}=d;await c.update(f.alerts).set({...h,...g?{pending:g,pendingSince:a}:{}}).where((0,b.b)((0,b.u)(f.alerts.id,e),(0,b.M)(f.alerts.resolvedAt)))}for(let d of D.resolve)await c.update(f.alerts).set({resolvedAt:a,pending:d.pending,pendingSince:d.pending?a:null}).where((0,b.b)((0,b.u)(f.alerts.id,d.id),(0,b.M)(f.alerts.resolvedAt)))}),{opened:D.open.length,resolved:D.resolve.length}):{opened:0,resolved:0}}async function aC(){let[a,c]=await Promise.all([(0,ay.I)(),(0,e.f)().select({ruleKey:f.alerts.ruleKey,provider:f.accounts.provider,n:d.B`count(*)::int`}).from(f.alerts).leftJoin(f.accounts,(0,b.u)(f.accounts.id,f.alerts.accountId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,b.y)(f.alerts.severity,["critical","warning"]))).groupBy(f.alerts.ruleKey,f.accounts.provider)]);return c.reduce((b,c)=>b+((0,l.O)(a,c.ruleKey,c.provider)?0:Number(c.n)),0)}let aD=d.B`case ${f.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`;async function aE(a=new Set){return(await (0,e.f)().select({a:f.alerts,name:f.resources.name,kind:f.resources.kind}).from(f.alerts).leftJoin(f.resources,(0,b.u)(f.resources.id,f.alerts.resourceId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,ay.s)(a))).orderBy(aD,(0,c.A)(f.alerts.startedAt)).limit(200)).map(({a,name:b,kind:c})=>({...a,resourceName:b??null,resourceKind:c??null}))}async function aF(){return aE(await (0,ay.I)())}async function aG(a){return(await (0,e.f)().select({id:f.alerts.id,ruleKey:f.alerts.ruleKey,severity:f.alerts.severity,title:f.alerts.title,resourceId:f.alerts.resourceId,startedAt:f.alerts.startedAt,resolvedAt:f.alerts.resolvedAt}).from(f.alerts).where((0,b.b)((0,b.E)(f.alerts.resolvedAt),(0,b.B)(f.alerts.resolvedAt,new Date(a.getTime()-6048e5)))).orderBy((0,c.A)(f.alerts.resolvedAt)).limit(50)).flatMap(a=>a.resolvedAt?[{...a,resolvedAt:a.resolvedAt}]:[])}async function aH(){let[a,c,h]=await Promise.all([aA(),(0,e.f)().select({key:f.alerts.ruleKey,n:d.B`count(*)::int`}).from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)).groupBy(f.alerts.ruleKey),(0,e.f)().select({kind:f.resources.kind}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt))).groupBy(f.resources.kind)]),i=new Set(h.map(a=>a.kind)),j={databases:["supabase_project","neon_project","firestore"].some(a=>i.has(a)),domains:i.has("domain")||i.has("zone"),dns:i.has("zone")};return g.u.flatMap(b=>{let d=a.find(a=>a.key===b);if(!d)return[];let e=g._[b].needs;return[{rule:d,firing:c.find(a=>a.key===b)?.n??0,hasData:null===e||j[e]}]})}async function aI(a,c,d,g){let h="off"===c?{silencedUntil:null,silencedUntilResolved:!1,silencedBy:null}:{...n(c,g),silencedBy:d},[i]=await (0,e.f)().update(f.alerts).set(h).where((0,b.b)((0,b.u)(f.alerts.id,a),(0,b.M)(f.alerts.resolvedAt))).returning({ruleKey:f.alerts.ruleKey,title:f.alerts.title,resourceId:f.alerts.resourceId});return i??null}async function aJ(a,c){return(await (0,e.f)().update(f.alertRules).set({...c,updatedAt:new Date}).where((0,b.u)(f.alertRules.key,a)).returning({key:f.alertRules.key})).length>0}async function aK(){try{let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,j.z)).limit(1);return(0,j._)(a?.value)}catch{return{}}}async function aL(a,b){let c=await aK();Object.keys(b).length?c[a]=b:delete c[a],await (0,e.f)().insert(f.settings).values({key:j.z,value:c}).onConflictDoUpdate({target:f.settings.key,set:{value:c,updatedAt:new Date}})}a.s(["$",0,aB,"q",0,aE,"I",0,aG,"i",0,aF,"X",0,aC,"w",0,aK,"y",0,aH,"z",0,aJ,"_",0,aL,"N",0,aI],455317)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_lib_1eioo4oodq-8h._.js.map
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[648338,634815,a=>{a.s(["f",0,function(a){let b=a instanceof Error&&a.cause instanceof Error?a.cause:a,c=(b instanceof Error?b.message:"").split("\n")[0].replace(/Bearer\s+\S+/gi,"Bearer [hidden]").trim()||"failed";return c.length>200?`${c.slice(0,200)}…`:c}],648338);let b=String.raw`\d+\.\d+\.\d+(?:-[0-9A-Za-z.]+)?`,c="[\"'`]";function d(a){let b=/^(\d+)\.\d+\.\d+(?:-[0-9A-Za-z.]+)?$/.exec(a);return null!==b&&Number(b[1])>=9&&1e3>Number(b[1])}let e={"&amp;":"&","&quot;":'"',"&#39;":"'","&#x27;":"'","&#x2F;":"/","&#47;":"/"},f=a=>a.replace(/&(?:amp|quot|#39|#x27|#x2F|#47);/gi,a=>e[a]??e[a.toLowerCase()]??a),g=RegExp(String.raw`\bnext\s*=\s*\{\s*version\s*:\s*${c}(${b})${c}`,"g"),h=RegExp(String.raw`version\s*:\s*${c}(${b})${c}\s*,\s*appDir\s*:`,"g"),i=RegExp(String.raw`appDir\s*:\s*[^,{}()]{1,16},\s*version\s*:\s*${c}(${b})${c}`,"g"),j=/\bnext\s*=\s*\{\s*version\s*(?::\s*([A-Za-z_$][\w$]*)\s*)?[,}]/g,k=a=>a.replace(/[$]/g,"\\$");a.s(["O",0,function(a){for(let b of a.matchAll(g))if(d(b[1]))return b[1];for(let b of[h,i])for(let c of a.matchAll(b))if(d(c[1]))return c[1];for(let e of a.matchAll(j)){let f=e[1]??"version",g=RegExp(String.raw`(?:^|[^\w$.])${k(f)}\s*=\s*${c}(${b})${c}`,"g"),h=null;for(let b of a.matchAll(g)){if((b.index??0)>=(e.index??0))break;h=b[1]}if(h&&d(h))return h}return null},"V",0,function(a,b){let c;try{c=new URL(b)}catch{return[]}let d=new Set,e=[];for(let b of a.matchAll(/<script\b[^>]*?\ssrc\s*=\s*(["'])(.*?)\1/gi)){let a;try{a=new URL(f(b[2].trim()),c)}catch{continue}if("https:"===a.protocol&&a.origin===c.origin&&a.pathname.startsWith("/_next/static/")&&(a.hash="",!d.has(a.href))){var g;d.add(a.href),e.push({href:a.href,rank:(g=a.pathname,/\/main-app[-.]/.test(g)?0:/\/(main|app-index)[-.]/.test(g)?1:/\/(webpack|polyfills|framework)[-.]/.test(g)?3:2),i:e.length})}}return e.sort((a,b)=>a.rank-b.rank||a.i-b.i).map(a=>a.href)}],634815)},242605,46126,a=>{var b=a.i(93321),c=a.i(351674),d=a.i(548734),e=a.i(837137),f=a.i(33135),g=a.i(648338),h=a.i(601219),i=a.i(634815),j=a.i(533957);async function k(a,b,c={}){let d=c.deadline??1/0,e=c.now??(()=>new Date),g=a=>Math.floor(Math.min(a,d)-Date.now()),h=Date.now()+15e3;if(0>=g(h))return null;let l=(a,c)=>({version:b?.version??null,status:a,findings:b?.findings??[],reason:c,checkedAt:e()}),m=(a,b)=>(0,f.K)(a,{maxBytes:3145728,timeoutMs:g(h),lookup:c.lookup,fetch:c.fetch,userAgent:"OpsConsole-Security/1.0 (+https://watchbell.west-solutions.web.id)",sameOrigin:b}),n=await m(`https://${a}/`,"www");if(!n.ok&&n.error===f.l)return l("unknown","the site redirects to another host");if(!n.ok||200!==n.status)return Date.now()>=d?null:l("error",`Couldn't load the site: ${n.ok?`HTTP ${n.status}`:n.error}`);let o=(0,i.V)(n.body,n.url).slice(0,12);if(0===o.length)return l("unknown",n.body.includes("/_next/")?"version not exposed":"not a Next.js site");let p=null,q=0,r=!1;for(let a of o){if(0>=g(h)){r=!0;break}let b=await m(a,!0);if(b.ok&&200===b.status&&(q++,p=(0,i.O)(b.body)))break}if(!p)return Date.now()>=d?null:r||0>=g(h)?l("error","Reading the site's scripts took longer than 15 s"):0===q?l("error","Couldn't load the site's scripts"):l("unknown","version not exposed");let s=g(Date.now()+1e4);if(s<=0)return null;let t=await (0,j.y)(p,{timeoutMs:s,fetch:c.fetch});return t.ok?{version:p,status:t.findings.length?"vulnerable":"ok",findings:t.findings,reason:null,checkedAt:e()}:Date.now()>=d?null:l("error",t.error)}a.s(["y",0,35e3,"P",0,k],46126);var l=a.i(84979),m=a.i(683439),n=a.i(436357),o=a.i(469762),p=a.i(182357),q=a.i(910697);function r(a){return{version:a.version,status:a.status,findings:Array.isArray(a.findings)?a.findings:[],reason:a.reason,checkedAt:a.checkedAt}}async function s(a={}){let f=a.only;if(f&&!f.length)return[];let g=a.first??[],h=a.skip??[],i=await (0,d.f)().select({id:e.resources.id,name:e.resources.name,meta:e.resources.meta,sec:e.appSecurity}).from(e.resources).leftJoin(e.appSecurity,(0,b.u)(e.appSecurity.resourceId,e.resources.id)).where((0,b.b)((0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt),f?(0,b.y)(e.resources.id,f):void 0,h.length?(0,b.$)(e.resources.id,[...h]):void 0)).orderBy(...g.length?[c.B`case when ${(0,b.y)(e.resources.id,g)} then 0 else 1 end`]:[],c.B`${e.appSecurity.checkedAt} asc nulls first`,e.resources.name).limit(q.O.apps);if(!i.length)return[];g.length&&i.sort((a,b)=>Number(!g.includes(a.id))-Number(!g.includes(b.id)));let j=await (0,d.f)().select({resourceId:e.monitors.resourceId,url:e.monitors.url}).from(e.monitors).where((0,b.y)(e.monitors.resourceId,i.map(a=>a.id))).orderBy(e.monitors.createdAt).limit(q.O.monitors);return i.map(a=>({id:a.id,name:a.name,prev:a.sec?r(a.sec):null,host:(0,n.Y)(a.meta)?.primaryDomain??(0,o.m)(a.name,j.filter(b=>b.resourceId===a.id).map(a=>a.url))}))}async function t(a,f){await (0,d.f)().transaction(async d=>{await d.execute(c.B`select pg_advisory_xact_lock(hashtext(${`app_security:${a.id}`}))`);let[g]=await d.select().from(e.appSecurity).where((0,b.u)(e.appSecurity.resourceId,a.id)).limit(1),i=g?r(g):null;if(i&&i.checkedAt.getTime()>=f.checkedAt.getTime())return;let j="unknown"===f.status||"error"===f.status?{...f,version:i?i.version:f.version,findings:i?i.findings:f.findings}:f,k={framework:"next",version:j.version,status:j.status,findings:j.findings,reason:j.reason,checkedAt:j.checkedAt};await d.insert(e.appSecurity).values({resourceId:a.id,...k}).onConflictDoUpdate({target:e.appSecurity.resourceId,set:k,setWhere:c.B`${e.appSecurity.checkedAt} < excluded.checked_at`});let m=(0,l.t)(a.name,i,j);m&&await (0,h.f)([{type:"system",kind:m.kind,message:m.message,detail:m.detail,resourceId:a.id,at:j.checkedAt,reason:"ok"===m.kind?"NextClean":"NextVulnerable"}],d)})}async function u(a,b={}){let c=await s(b),d=0,e=0,h=[],i=[],j=[];return await (0,f.P)(c,3,async b=>{if(a-Date.now()<3e3)return void e++;j.push(b.id);try{let c=await k(b.host,b.prev,{deadline:a});if(!c)return void e++;await t(b,c),d++,i.push(b.id)}catch(a){h.push(`${b.name}: ${(0,g.f)(a)}`),i.push(b.id)}}),{checked:d,skipped:e,failed:h,done:i,listed:c.map(a=>a.id),started:j}}async function v(a,b=2e4){let[c]=await s({only:[a]});if(!c)return{ok:!1,error:"That app is no longer in the console."};let d=await k(c.host,c.prev,{deadline:Date.now()+b});return d?(await t(c,d),{ok:!0,message:(0,p.I)(c.name,d),passed:"ok"===d.status||"vulnerable"===d.status,vulnerable:d.findings.length>0,audit:{message:`Security check: ${c.name}`,resourceId:c.id}}):{ok:!1,error:"The check took too long. Try again in a minute."}}async function w(a){let c=a.filter(m.f);return c.length?(await (0,d.f)().select().from(e.appSecurity).where((0,b.y)(e.appSecurity.resourceId,c)).limit(c.length)).map(a=>{let b=r(a);return{appId:a.resourceId,version:b.version,status:b.status,findings:b.findings}}):[]}a.s(["d",0,v,"F",0,w,"h",0,u,"Z",0,r],242605)},533957,a=>{var b=a.i(33135),c=a.i(852539),d=a.i(84979),e=a.i(84877);let f=["CRITICAL","HIGH","MODERATE","LOW","UNKNOWN"],g=a=>"object"==typeof a&&null!==a&&!Array.isArray(a),h=a=>Array.isArray(a)?a:[],i=a=>"string"==typeof a&&a?a:null,j=a=>g(a.package)&&"next"===a.package.name&&"npm"===a.package.ecosystem,k="OSV.dev sent an answer we couldn't read";async function l(a,o={}){let p=o.timeoutMs??1e4,q=o.maxBytes??2097152,r=AbortSignal.timeout(p),s=(0,b.X)(r),t=`OSV.dev didn't answer within ${n(p)}`,u=[],v=null;for(let c=0;c<3;c++){var w;let c,d;try{c=await (o.fetch??fetch)("https://api.osv.dev/v1/query",{method:"POST",headers:{"content-type":"application/json","user-agent":"OpsConsole-Security/1.0 (+https://watchbell.west-solutions.web.id)"},body:JSON.stringify({package:{name:"next",ecosystem:"npm"},version:a,...v?{page_token:v}:{}}),redirect:"error",cache:"no-store",signal:r})}catch(a){return{ok:!1,error:m(a)?t:"Couldn't reach OSV.dev"}}if(!c.ok)return await c.body?.cancel().catch(()=>void 0),{ok:!1,error:`OSV.dev answered HTTP ${c.status}`};try{let{bytes:a,truncated:e}=await (0,b.z)(c,q,s);if(e)return{ok:!1,error:"OSV.dev sent too large an answer"};d=JSON.parse(new TextDecoder().decode(a))}catch(a){return{ok:!1,error:m(a)?t:k}}let e=g(w=d)?void 0===w.vulns?[]:Array.isArray(w.vulns)?w.vulns:null:null;if(null===e)return{ok:!1,error:k};if(u.push(...e),!(v=g(d)?i(d.next_page_token):null))break}let x=function(a,b){let k=[],l=0;for(let d of a){if(!g(d))continue;let a=i(d.id);a&&(l++,d.withdrawn||k.push({id:a.slice(0,64),cve:h(d.aliases).map(i).find(a=>!!a&&/^CVE-\d{4}-\d+$/.test(a))??null,summary:(i(d.summary)??"").replace(/\s+/g," ").trim().slice(0,200),severity:function(a){let b=g(a.database_specific)?i(a.database_specific.severity)?.toUpperCase():void 0;return"MEDIUM"===b?"MODERATE":f.includes(b??"")?b:"UNKNOWN"}(d),score:function(a){for(let b of h(a.severity))if(g(b)&&"CVSS_V3"===b.type){let a=(0,c.v)(i(b.score)??"");if(null!==a)return a}return null}(d),fixed:function(a,b){let c=null;for(let d of h(a))if(g(d)&&j(d))for(let a of h(d.ranges)){if(!g(a)||"SEMVER"!==a.type&&"ECOSYSTEM"!==a.type)continue;let d=null;for(let f of h(a.events)){if(!g(f))continue;let a=i(f.introduced),h=i(f.fixed);a?d=a:h&&null!==d?((0,e.f)(b,d)>=0&&0>(0,e.f)(b,h)&&(null===c||0>(0,e.f)(h,c))&&(c=h),d=null):(i(f.last_affected)||i(f.limit))&&(d=null)}}return c}(d.affected,b)}))}return a.length>0&&0===l?null:(0,d.I)(k).slice(0,50)}(u,a);return null===x?{ok:!1,error:k}:{ok:!0,findings:x}}let m=a=>a instanceof DOMException&&("TimeoutError"===a.name||"AbortError"===a.name),n=a=>a<1e3?`${a} ms`:`${Math.round(a/1e3)} s`;a.s(["y",0,l,"t",0,m],533957)}]})();
2
+
3
+ //# sourceMappingURL=src_lib_1iuuekw6uwbbr._.js.map
@@ -2,4 +2,4 @@
2
2
  and message = ${c.message}
3
3
  and coalesce(last_at, at) >= ${g.toISOString()}::timestamptz order by coalesce(last_at, at) desc limit 1)`).returning({id:d.events.id})).length)continue}await e.insert(d.events).values({at:a,resourceId:c.resourceId,type:c.type,kind:c.kind,message:c.message,detail:c.detail,actorUserId:c.actorUserId??null,reason:f,count:1})}}a.s(["t",0,36e5,"L",0,function(a){if(a.resource)return a.resource;if("ProviderIncident"===a.reason||"ProviderRecovered"===a.reason){let b=i.exec(a.message);if(b)return b[1]}return"system"===a.type?"collector":"console"},"y",0,g,"W",0,function(a,b,c){return a<=1||!b?null:`\xd7${a} \xb7 last ${(0,e.$)(b,c)}`},"w",0,h],496843),a.s(["f",0,j],601219)},323878,a=>{var b=a.i(93321),c=a.i(351674),d=a.i(548734),e=a.i(837137),f=a.i(312573);async function g(a,f){let[g]=await (0,d.f)().insert(e.rateLimits).values({key:a,windowStart:f,count:1}).onConflictDoUpdate({target:[e.rateLimits.key,e.rateLimits.windowStart],set:{count:c.B`${e.rateLimits.count} + 1`}}).returning({count:e.rateLimits.count});if(1===g.count)try{await (0,d.f)().delete(e.rateLimits).where((0,b.S)(e.rateLimits.windowStart,new Date(Date.now()-864e5)))}catch{console.warn("rate limit sweep failed")}return g.count}async function h(a,b){let c=new Date,d=0;return{...await (0,f.A)(a,b,{now:c,hit:async(a,b)=>d=await g(a,b)}),windowStart:(0,f.M)(c,a.windowSeconds),count:d}}async function i(a,g,h){await (0,d.f)().update(e.rateLimits).set({count:c.B`${e.rateLimits.count} - 1`}).where((0,b.b)((0,b.u)(e.rateLimits.key,(0,f.P)(a,g)),(0,b.u)(e.rateLimits.windowStart,h),(0,b.H)(e.rateLimits.count,0)))}async function j(a,c){let g=new Date,[h]=await (0,d.f)().select({count:e.rateLimits.count}).from(e.rateLimits).where((0,b.b)((0,b.u)(e.rateLimits.key,(0,f.P)(a,c)),(0,b.u)(e.rateLimits.windowStart,(0,f.M)(g,a.windowSeconds))));return(0,f.J)(a,h?.count??0,g)}a.s(["j",0,h,"C",0,function(a,b){return(0,f.A)(a,b,{hit:g})},"H",0,j,"K",0,i])}]})();
4
4
 
5
- //# sourceMappingURL=src_lib_0-nc33gvdtkg5._.js.map
5
+ //# sourceMappingURL=src_lib_1zgor_vrwl5kt._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[927262,a=>{"use strict";let b=a=>(a??0).toLocaleString("en-US"),c={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:a=>`${b(a)} failed checks in a row`},CollectorStale:{key:"CollectorStale",severity:"critical",threshold:5,bounds:[3,60],source:"own",needs:null,sampled:!1,condition:a=>`No collector run for ${b(a)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:a=>`Slowest 5% of checks over ${b(a)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A production deploy fails"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase pauses the project"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:a=>`TLS certificate expires in < ${b(a)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:a=>`Domain expires in < ${b(a)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:a=>`Database size > ${b(a)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:a=>`> ${b(a)} of 100 CU-hours this month`},FirestoreQuotaHigh:{key:"FirestoreQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"test",needs:"databases",sampled:!1,condition:a=>`Daily reads > ${b(a)}% of 50k`},AutoPauseRisk:{key:"AutoPauseRisk",severity:"info",threshold:4,bounds:[1,6],source:"api",needs:"databases",sampled:!1,condition:a=>`Supabase project without API traffic for ${b(a)}+ days`},DnsProxiedToVercel:{key:"DnsProxiedToVercel",severity:"info",threshold:null,bounds:null,source:"api",needs:"dns",sampled:!1,condition:()=>"Cloudflare record proxied in front of Vercel"},ComputeHigh:{key:"ComputeHigh",severity:"warning",threshold:80,bounds:[50,95],source:"api",needs:"databases",sampled:!1,condition:a=>`Supabase CPU > ${b(a)}% for 15 min, RAM > ${b(Math.min(99,(a??80)+10))}%, disk > ${b(a)}% or connections > ${b(a)}% of max`},DbQuotaHigh:{key:"DbQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:a=>`Turso, Upstash or D1 usage > ${b(a)}% of a free-plan quota`},CredentialExpiring:{key:"CredentialExpiring",severity:"warning",threshold:14,bounds:[1,60],source:"api",needs:null,sampled:!1,condition:a=>`Account credential expires in < ${b(a)} days`},VulnerableDependency:{key:"VulnerableDependency",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A dependency has a critical or high advisory, or a moderate one on a direct dependency (OSV.dev)"},FrameworkVulnerable:{key:"FrameworkVulnerable",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The app's Next.js version has a known advisory (OSV.dev)"},MonitorDomainMoved:{key:"MonitorDomainMoved",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The monitor's domain is no longer one of the app's domains"}},d=Object.keys(c),e=a=>"string"==typeof a&&a in c,f=["critical","warning","info"],g=["telegram","discord","webhook","smtp","email_digest"],h={MonitorDown:"Site down",CollectorStale:"Checks stopped",HighLatency:"Slow responses",DeploymentFailed:"Deploy failed",DatabasePaused:"Database paused",CertExpiringSoon:"Certificate expiring",DomainExpiringSoon:"Domain expiring",StorageAlmostFull:"Database almost full",NeonComputeHigh:"Neon hours running out",FirestoreQuotaHigh:"Firestore reads running out",AutoPauseRisk:"Supabase may pause",DnsProxiedToVercel:"Cloudflare proxy in front of Vercel",ComputeHigh:"Supabase under load",DbQuotaHigh:"Free quota running out",CredentialExpiring:"Token expiring",VulnerableDependency:"Vulnerable package",FrameworkVulnerable:"Next.js needs a security update",MonitorDomainMoved:"App moved to a new domain"};a.s(["_",0,c,"u",0,d,"$",0,h,"h",0,e,"N",0,function(a,d){let e=c[a],h={},i=f.find(a=>a===d.severity);i||(h.severity="Pick a severity.");let j=null;if(e.bounds){let a=String(d.threshold??"").replace(/,/g,"").trim(),c=/^\d+$/.test(a)?Number(a):0/0;!Number.isInteger(c)||c<e.bounds[0]||c>e.bounds[1]?h.threshold=`Enter a whole number from ${b(e.bounds[0])} to ${b(e.bounds[1])}.`:j=c}let k=Array.isArray(d.channels)?d.channels:[];return(k.every(a=>g.includes(a))||(h.channels="Pick from Telegram, Discord and the daily digest."),Object.keys(h).length||!i)?{ok:!1,fieldErrors:h}:{ok:!0,value:{severity:i,threshold:j,channels:[...new Set(k)],enabled:!0===d.enabled}}},"v",0,a=>e(a)?h[a]:a])}];
1
+ module.exports=[927262,a=>{"use strict";let b=a=>(a??0).toLocaleString("en-US"),c={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:a=>`${b(a)} failed checks in a row`},CollectorStale:{key:"CollectorStale",severity:"critical",threshold:5,bounds:[3,60],source:"own",needs:null,sampled:!1,condition:a=>`No collector run for ${b(a)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:a=>`Slowest 5% of checks over ${b(a)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A production deploy fails"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase pauses the project"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:a=>`TLS certificate expires in < ${b(a)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:a=>`Domain expires in < ${b(a)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:a=>`Database size > ${b(a)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:a=>`> ${b(a)} of 100 CU-hours this month`},FirestoreQuotaHigh:{key:"FirestoreQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"test",needs:"databases",sampled:!1,condition:a=>`Daily reads > ${b(a)}% of 50k`},AutoPauseRisk:{key:"AutoPauseRisk",severity:"info",threshold:4,bounds:[1,6],source:"api",needs:"databases",sampled:!1,condition:a=>`Supabase project without API traffic for ${b(a)}+ days`},DnsProxiedToVercel:{key:"DnsProxiedToVercel",severity:"info",threshold:null,bounds:null,source:"api",needs:"dns",sampled:!1,condition:()=>"Cloudflare record proxied in front of Vercel"},ComputeHigh:{key:"ComputeHigh",severity:"warning",threshold:80,bounds:[50,95],source:"api",needs:"databases",sampled:!1,condition:a=>`Supabase CPU > ${b(a)}% for 15 min, RAM > ${b(Math.min(99,(a??80)+10))}%, disk > ${b(a)}% or connections > ${b(a)}% of max`},DbQuotaHigh:{key:"DbQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:a=>`Turso, Upstash or D1 usage > ${b(a)}% of a free-plan quota`},CredentialExpiring:{key:"CredentialExpiring",severity:"warning",threshold:14,bounds:[1,60],source:"api",needs:null,sampled:!1,condition:a=>`Account credential expires in < ${b(a)} days`},VulnerableDependency:{key:"VulnerableDependency",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A dependency has a critical or high advisory, or a moderate one on a direct dependency (OSV.dev)"},FrameworkVulnerable:{key:"FrameworkVulnerable",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The app's Next.js version has a known advisory (OSV.dev)"},CiFailing:{key:"CiFailing",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"The latest GitHub Actions run on the default branch failed"},OsSecurityUpdate:{key:"OsSecurityUpdate",severity:"warning",threshold:7,bounds:[0,10],source:"own",needs:null,sampled:!1,condition:a=>`A waiting security update fixes a CVE scored ${(a??7).toFixed(1)}+ (CVSS), or a new kernel waits for a reboot`},MonitorDomainMoved:{key:"MonitorDomainMoved",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The monitor's domain is no longer one of the app's domains"}},d=Object.keys(c),e=a=>"string"==typeof a&&a in c,f=["critical","warning","info"],g=["telegram","discord","webhook","smtp","email_digest"],h={MonitorDown:"Site down",CollectorStale:"Checks stopped",HighLatency:"Slow responses",DeploymentFailed:"Deploy failed",DatabasePaused:"Database paused",CertExpiringSoon:"Certificate expiring",DomainExpiringSoon:"Domain expiring",StorageAlmostFull:"Database almost full",NeonComputeHigh:"Neon hours running out",FirestoreQuotaHigh:"Firestore reads running out",AutoPauseRisk:"Supabase may pause",DnsProxiedToVercel:"Cloudflare proxy in front of Vercel",ComputeHigh:"Supabase under load",DbQuotaHigh:"Free quota running out",CredentialExpiring:"Token expiring",VulnerableDependency:"Vulnerable package",FrameworkVulnerable:"Next.js needs a security update",CiFailing:"CI is failing",OsSecurityUpdate:"Security updates waiting on this machine",MonitorDomainMoved:"App moved to a new domain"};a.s(["_",0,c,"u",0,d,"$",0,h,"h",0,e,"N",0,function(a,d){let e=c[a],h={},i=f.find(a=>a===d.severity);i||(h.severity="Pick a severity.");let j=null;if(e.bounds){let a=String(d.threshold??"").replace(/,/g,"").trim(),c=/^\d+$/.test(a)?Number(a):0/0;!Number.isInteger(c)||c<e.bounds[0]||c>e.bounds[1]?h.threshold=`Enter a whole number from ${b(e.bounds[0])} to ${b(e.bounds[1])}.`:j=c}let k=Array.isArray(d.channels)?d.channels:[];return(k.every(a=>g.includes(a))||(h.channels="Pick from Telegram, Discord and the daily digest."),Object.keys(h).length||!i)?{ok:!1,fieldErrors:h}:{ok:!0,value:{severity:i,threshold:j,channels:[...new Set(k)],enabled:!0===d.enabled}}},"v",0,a=>e(a)?h[a]:a])}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_alerts_catalog_ts_1ndg28acul64q._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[532620,45617,a=>{"use strict";var b=a.i(118558);let c=/^[A-Za-z0-9_.-]{1,64}$/;function d(a){let b=[a.VERCEL_DEPLOYMENT_ID,a.VERCEL_GIT_COMMIT_SHA,a.NEXT_DEPLOYMENT_ID].find(a=>void 0!==a&&""!==a);return`${void 0!==b&&c.test(b)?b:"local"}.v5`}let e={supabase:"db:supabase",neon:"db:neon",firebase:"db:firebase",extraDbs:"db:extra",zones:"net:zones",domains:"net:domains",status:"status"},f=Object.values(e),g={supabase_project:e.supabase,neon_project:e.neon,firestore:e.firebase,turso_database:e.extraDbs,upstash_redis:e.extraDbs,d1_database:e.extraDbs},h={supabase:[e.supabase],supabaseUsage:[e.supabase],neon:[e.neon],firebase:[e.firebase],firebaseUsage:[e.firebase],extraDbs:[e.extraDbs],cloudflare:[e.zones,e.domains],domains:[e.zones,e.domains],tls:[e.zones,e.domains],rdap:[e.zones,e.domains],eol:[e.zones,e.domains],status:[e.status]},i="__ocDate",j="__ocMap";function k(a){return a instanceof Date?{[i]:a.toISOString()}:a instanceof Map?{[j]:[...a.entries()].map(([a,b])=>[k(a),k(b)])}:Array.isArray(a)?a.map(k):a&&"object"==typeof a?Object.fromEntries(Object.entries(a).filter(([,a])=>void 0!==a).map(([a,b])=>[a,k(b)])):void 0===a?null:a}function l(a){let b=a=>Array.isArray(a)?a.map(b):a&&"object"==typeof a?"string"==typeof a[i]&&1===Object.keys(a).length?new Date(a[i]):Array.isArray(a[j])&&1===Object.keys(a).length?new Map(a[j].map(([a,c])=>[b(a),b(c)])):Object.fromEntries(Object.entries(a).map(([a,c])=>[a,b(c)])):a;return b(a)}a.s(["t",0,f,"k",0,300,"G",0,g,"m",0,e,"l",0,d,"Q",0,k,"o",0,function(a){return[...new Set(a.flatMap(a=>h[a]??[]))]},"z",0,l],45617);var m=a.i(371289),n=a.i(247730),o=a.i(72019),p=a.i(30184),q=a.i(46396);let r=d(process.env);function s(a,c,d){let e=(0,b.unstable_cache)(async(...a)=>k(await c(...a)),["ops",r,...a],{revalidate:300,tags:d});return async(...a)=>(0,m.r)()?l(await e(...a)):c(...a)}let t=Object.fromEntries(Object.keys(g).map(a=>[a,s(["listDatabases",a],()=>o.R(a),[g[a]])])),u=s(["supabaseSlotInputs"],()=>o.V(),[e.supabase]),v=s(["databaseOptions"],()=>o.S(),[e.supabase,e.neon,e.firebase,e.extraDbs]),w=s(["listDomains"],()=>p.p(),[e.domains,e.zones]),x=s(["listZoneOptions"],()=>p.c(),[e.zones]),y=s(["getZoneView"],a=>p.j(a),[e.zones]),z=s(["aliasBook"],()=>n.f(),[e.supabase,e.neon,e.firebase,e.extraDbs,e.zones,e.domains]),A=s(["providerStatus"],()=>q.B(),[e.status]);a.s(["e",0,z,"S",0,v,"j",0,y,"R",0,a=>t[a](),"p",0,w,"c",0,x,"B",0,A,"V",0,u],532620)}];
2
+
3
+ //# sourceMappingURL=src_lib_data_cached_ts_017to1fh48jms._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[72019,a=>{"use strict";var b=a.i(93321),c=a.i(548734),d=a.i(837137),e=a.i(893893),f=a.i(960186),g=a.i(910697),h=a.i(221084);async function i(a){let e=await (0,c.f)().select({r:d.resources,s:d.snapshots,account:d.accounts.label}).from(d.resources).innerJoin(d.accounts,(0,b.u)(d.accounts.id,d.resources.accountId)).leftJoin(d.snapshots,(0,b.u)(d.snapshots.resourceId,d.resources.id)).where((0,b.b)((0,b.u)(d.resources.kind,a),(0,b.u)(d.resources.monitored,!0),(0,b.M)(d.resources.goneAt))).orderBy(d.resources.name).limit(g.O.databases);if(!e.length)return[];let f=await (0,c.f)().select({dbId:d.links.toResourceId,id:d.resources.id,name:d.resources.name}).from(d.links).innerJoin(d.resources,(0,b.u)(d.resources.id,d.links.fromResourceId)).where((0,b.b)((0,b.u)(d.links.kind,"uses_db"),(0,b.y)(d.links.toResourceId,e.map(a=>a.r.id)))).orderBy(d.resources.name).limit(g.O.apps);return e.map(({r:b,s:c,account:d})=>({id:b.id,name:b.name,externalId:b.externalId,kind:a,account:d,state:c?.state??"unknown",stateSince:c?.stateSince??null,collectedAt:c?.collectedAt??null,data:c?.data??{},usedBy:f.filter(a=>a.dbId===b.id).map(({id:a,name:b})=>({id:a,name:b}))}))}async function j(){let a=await (0,c.f)().select({r:d.resources,s:d.snapshots,account:d.accounts.label}).from(d.resources).innerJoin(d.accounts,(0,b.u)(d.accounts.id,d.resources.accountId)).leftJoin(d.snapshots,(0,b.u)(d.snapshots.resourceId,d.resources.id)).where((0,b.b)((0,b.u)(d.resources.kind,"supabase_project"),(0,b.M)(d.resources.goneAt))).limit(g.O.databases),f=new Map;for(let{s:b}of a){let a=(0,e.k)(e.B,b?.data);a.orgSlug&&void 0!==a.freeOrg&&f.set(a.orgSlug,a.freeOrg)}return a.map(({r:a,s:b,account:c})=>{let d=(0,e.k)(e.B,b?.data),g=d.orgSlug??("string"==typeof a.meta.orgSlug?a.meta.orgSlug:null);return{id:a.id,account:c,name:a.name,status:d.status??("string"==typeof a.meta.status?a.meta.status:"UNKNOWN"),freeOrg:d.freeOrg??(g?f.get(g)??null:null)}})}async function k(){return(await (0,c.f)().select({id:d.resources.id,name:d.resources.name,kind:d.resources.kind,externalId:d.resources.externalId,account:d.accounts.label,data:d.snapshots.data}).from(d.resources).innerJoin(d.accounts,(0,b.u)(d.accounts.id,d.resources.accountId)).leftJoin(d.snapshots,(0,b.u)(d.snapshots.resourceId,d.resources.id)).where((0,b.b)((0,b.y)(d.resources.kind,[...f.H]),(0,b.u)(d.resources.monitored,!0),(0,b.M)(d.resources.goneAt))).orderBy(d.resources.name).limit(g.O.databases)).map(a=>(function(a){let b={id:a.id,name:a.name,kind:a.kind,account:a.account};if("supabase_project"===a.kind)return{...b,region:(0,e.k)(e.B,a.data).region??null,ident:`ref ${a.externalId}`};if("neon_project"===a.kind){let c=(0,e.k)(e.s,a.data),d=c.branches?.find(a=>a.isDefault)?.id,f=c.endpoints?.find(a=>a.branchId===d)??c.endpoints?.[0];return{...b,region:c.region??null,ident:f?`${f.id} \xb7 project ${a.externalId}`:`project ${a.externalId}`}}if("turso_database"===a.kind){let c=(0,e.k)(e.N,a.data);return{...b,region:c.primaryRegion??null,ident:c.org?`org ${c.org}`:null}}return"upstash_redis"===a.kind?{...b,region:(0,e.k)(e.e,a.data).region??null,ident:`id ${a.externalId}`}:"d1_database"===a.kind?{...b,region:null,ident:`id ${a.externalId}`}:{...b,region:null,ident:`project ${a.externalId}`}})({...a,kind:a.kind}))}async function l(a){return a.length?new Map((await (0,c.f)().select({app:d.links.fromResourceId,id:d.resources.id,externalId:d.resources.externalId,name:d.resources.name,kind:d.resources.kind,account:d.accounts.label,state:d.snapshots.state}).from(d.links).innerJoin(d.resources,(0,b.u)(d.resources.id,d.links.toResourceId)).innerJoin(d.accounts,(0,b.u)(d.accounts.id,d.resources.accountId)).leftJoin(d.snapshots,(0,b.u)(d.snapshots.resourceId,d.resources.id)).where((0,b.b)((0,b.u)(d.links.kind,"uses_db"),(0,b.y)(d.links.fromResourceId,a),(0,b.u)(d.resources.monitored,!0),(0,b.M)(d.resources.goneAt))).limit(g.O.apps)).map(a=>[a.app,{id:a.id,externalId:a.externalId,name:a.name,kind:a.kind,account:a.account,state:a.state??"unknown"}])):new Map}async function m(a,e,g){let[i]=await (0,c.f)().select({id:d.resources.id,name:d.resources.name}).from(d.resources).where((0,b.b)((0,b.u)(d.resources.id,a),(0,b.u)(d.resources.kind,"app"),(0,b.u)(d.resources.monitored,!0),(0,b.M)(d.resources.goneAt))).limit(1);if(!i)return{ok:!1,error:"That app is no longer in the console."};let j=null;if(e){let[a]=await (0,c.f)().select({id:d.resources.id,name:d.resources.name,kind:d.resources.kind}).from(d.resources).where((0,b.b)((0,b.u)(d.resources.id,e),(0,b.y)(d.resources.kind,[...f.H]),(0,b.u)(d.resources.monitored,!0),(0,b.M)(d.resources.goneAt))).limit(1);if(!a)return{ok:!1,error:"That database isn't watched any more. Tick it in Sync first."};j={id:a.id,name:a.name,kind:a.kind}}let k=j?`${i.name} now uses ${j.name} (${f.$[(0,f.Z)(j.kind)]}).`:`${i.name} has no database linked.`;await (0,c.f)().transaction(async c=>{await c.delete(d.links).where((0,b.b)((0,b.u)(d.links.fromResourceId,a),(0,b.u)(d.links.kind,"uses_db"))),j&&await c.insert(d.links).values({fromResourceId:a,toResourceId:j.id,kind:"uses_db",source:"manual"})});try{await (0,h.f)({kind:"ok",message:j?`Database link: ${i.name} → ${j.name}`:`Database link removed: ${i.name}`,resourceId:a,actorUserId:g})}catch{console.warn("audit event failed")}return{ok:!0,message:k}}a.s(["S",0,k,"F",0,l,"R",0,i,"n",0,m,"V",0,j],72019)}];
2
+
3
+ //# sourceMappingURL=src_lib_data_databases-db_ts_04a4hj5j7h8m0._.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[351917,865653,a=>{"use strict";var b=a.i(874533),c=a.i(912714),d=a.i(93321),e=a.i(548734),f=a.i(837137),g=a.i(371289);function h(a){let b=a.trim(),c=0,d=b.indexOf(":");d>0&&/^\d+$/.test(b.slice(0,d))&&(c=Number(b.slice(0,d)),b=b.slice(d+1));let e=b.lastIndexOf("-");return e>=0?[c,b.slice(0,e),b.slice(e+1)]:[c,b,""]}function i(a){return void 0===a?0:"~"===a?-1:/[A-Za-z]/.test(a)?a.charCodeAt(0):a.charCodeAt(0)+256}function j(a,b){let c=0,d=0;for(;c<a.length||d<b.length;){for(;c<a.length&&!/\d/.test(a[c])||d<b.length&&!/\d/.test(b[d]);){let e=c<a.length&&!/\d/.test(a[c])?a[c]:void 0,f=d<b.length&&!/\d/.test(b[d])?b[d]:void 0,g=i(e)-i(f);if(0!==g)return g;void 0!==e&&c++,void 0!==f&&d++}let e="",f="";for(;c<a.length&&/\d/.test(a[c]);)e+=a[c++];for(;d<b.length&&/\d/.test(b[d]);)f+=b[d++];if(e=e.replace(/^0+/,""),f=f.replace(/^0+/,""),e.length!==f.length)return e.length-f.length;if(e!==f)return e<f?-1:1}return 0}function k(a,b){let[c,d,e]=h(a),[f,g,i]=h(b);return c!==f?c-f:j(d,g)||j(e,i)}a.s(["f",0,k],865653);let l=a=>a.replace(/^linux-signed(-|$)/,"linux$1"),m=a=>/^linux-meta(-|$)/.test(a),n="OSV.dev sent an answer we couldn't read.";async function o(a,b,c=fetch){let d={};for(let e=0;e<b.length;e+=1e3){let f,g,h=b.slice(e,e+1e3),i=h.map(b=>({package:{name:b.name,ecosystem:a},version:b.version}));try{let a=await c("https://api.osv.dev/v1/querybatch",{method:"POST",body:JSON.stringify({queries:i}),headers:{"content-type":"application/json"},signal:AbortSignal.timeout(3e4)});if(!a.ok)return{ok:!1,error:`OSV.dev answered HTTP ${a.status}.`};f=await a.text()}catch{return{ok:!1,error:"OSV.dev didn't answer in time."}}if(f.length>8388608)return{ok:!1,error:"OSV.dev sent too large an answer."};try{g=JSON.parse(f)}catch{return{ok:!1,error:n}}let j=g?.results;if(!Array.isArray(j)||j.length!==h.length)return{ok:!1,error:n};j.forEach((a,b)=>{let c=a?.vulns,e=Array.isArray(c)?c.length:0;e&&(d[h[b].name]=(d[h[b].name]??0)+e)})}return{ok:!0,counts:d}}let p=a=>"object"==typeof a&&null!==a&&!Array.isArray(a),q=a=>Array.isArray(a)?a:[],r=a=>"string"==typeof a&&a.trim()?a.trim():null,s=a=>{let b=a.replace(/\s+/g," ").trim(),c=b.search(/\.\s/);return(c>20?b.slice(0,c+1):b).slice(0,200)},t="Ubuntu's security API sent an answer we couldn't read.",u=a=>{let b=new Set;return a.filter(a=>!b.has(a.cve)&&(b.add(a.cve),!0))};async function v(a,b,c,d,e=fetch){let f=[];for(let g=0;g<10;g++){let h,i,j,l=`https://ubuntu.com/security/cves.json?package=${encodeURIComponent(a)}&version=${encodeURIComponent(b)}&status=released&limit=20&offset=${20*g}&order=newest`;try{if(!(h=await e(l,{headers:{accept:"application/json","user-agent":"Watchbell (self-hosted)"},signal:AbortSignal.timeout(15e3)})).ok)return{ok:!1,error:`Ubuntu's security API answered HTTP ${h.status}.`};i=await h.text()}catch{return{ok:!1,error:"Ubuntu's security API didn't answer in time."}}if(i.length>2097152)return{ok:!1,error:"Ubuntu's security API sent too large an answer."};try{j=JSON.parse(i)}catch{return{ok:!1,error:t}}let m=function(a,b,c){if(!p(a)||!Array.isArray(a.cves))return null;let d=[];for(let e of a.cves){if(!p(e))continue;let a=r(e.id);if(!a||!/^CVE-\d{4}-\d{4,}$/.test(a))continue;let f=q(e.packages).filter(a=>p(a)&&a.name===b).flatMap(a=>q(a.statuses)).find(a=>p(a)&&a.release_codename===c);d.push({cve:a,priority:r(e.priority),cvss3:"number"==typeof e.cvss3&&Number.isFinite(e.cvss3)?e.cvss3:null,status:f?r(f.status):null,version:f?r(f.description):null,usns:q(e.notices_ids).map(r).filter(a=>!!a&&/^USN-\d+-\d+$/.test(a)),summary:s(r(e.ubuntu_description)??r(e.description)??"")})}return d}(j,a,b);if(null===m)return{ok:!1,error:t};if(f.push(...function(a,b,c){return a.filter(a=>"released"===a.status&&null!==a.version&&k(a.version,b)>0&&0>=k(a.version,c))}(m,c,d)),m.length<20)return{ok:!0,fixes:u(f)}}return{ok:!1,error:"Ubuntu lists more fixed CVEs for this package than Watchbell reads (200); see Ubuntu's page.",fixes:u(f)}}let w={critical:4,high:3,medium:2,low:1,negligible:0},x=a=>Math.max(-1,...a.fixes.map(a=>a.cvss3??-1)),y=a=>Math.max(-1,...a.fixes.map(a=>w[a.priority??""]??-1)),z="Not checked: the scan ran out of time.";async function A(a,b,c){let d=Array(a.length),e=0;return await Promise.all(Array.from({length:Math.min(b,a.length)},async()=>{for(;e<a.length;){let b=e++;d[b]=await c(a[b])}})),d}let B=a=>/^linux(-signed|-meta)?(-|$)/.test(a)&&!/^linux-(base|firmware|libc-dev|tools-common)$/.test(a);async function C(a,b,c,d={}){var e,f;let g=d.deadline??Date.now()+75e3,h={status:"ok",system:null,ecosystem:null,codename:null,packages:0,kernel:null,updates:[],backlog:{counts:{},total:0,error:null},aptListsAgeHours:null,scannedAt:c.toISOString(),error:null};if("linux"!==a.platform)return{...h,status:"unsupported",error:`OS checks run on Ubuntu for now; this machine is ${a.platform}.`};let i=function(a){let b={};for(let c of a.split(/\r?\n/)){let a=/^([A-Z_][A-Z0-9_]*)=(.*)$/.exec(c.trim());a&&(b[a[1]]=a[2].replace(/^(["'])(.*)\1$/,"$2"))}if(!b.ID)return null;let c=b.PRETTY_NAME||[b.NAME,b.VERSION].filter(Boolean).join(" ")||b.ID;return{id:b.ID.toLowerCase(),versionId:b.VERSION_ID||null,codename:b.VERSION_CODENAME||b.UBUNTU_CODENAME||null,pretty:c,lts:/\bLTS\b/.test(`${b.VERSION??""} ${c}`)}}(await a.readFile("/etc/os-release")??"");if(!i)return{...h,status:"unsupported",error:"OS checks run on Ubuntu for now; this system has no /etc/os-release."};if(h.system=i.pretty,"ubuntu"!==i.id)return{...h,status:"unsupported",error:"debian"===i.id?"OS checks run on Ubuntu for now; Debian is next.":`OS checks run on Ubuntu for now; this system is ${i.pretty}.`};let j=i.versionId?"ubuntu"===i.id&&/^\d{2}\.\d{2}$/.test(i.versionId)?`Ubuntu:${i.versionId}${i.lts?":LTS":""}`:"debian"===i.id&&/^\d+/.test(i.versionId)?`Debian:${i.versionId.split(".")[0]}`:null:null;if(!j||!i.codename)return{...h,status:"unsupported",error:`Watchbell can't name this Ubuntu release (${i.pretty}).`};h.ecosystem=j,h.codename=i.codename;let n=await a.exec("dpkg-query",["-W",`-f=$\{Package} $\{Version} $\{source:Package} $\{source:Version} $\{db:Status-Abbrev}
2
+ `]);if(!n.ok)return{...h,status:"error",error:`Couldn't list the installed packages (${n.error}).`};let p=function(a){let b=[];for(let c of a.split(/\r?\n/)){let[a,d,e,f,g]=c.split(" ");a?.trim()&&d?.trim()&&b.push({name:a.trim(),version:d.trim(),source:e?.trim()||a.trim(),sourceVersion:f?.trim()||d.trim(),installed:void 0===g||/^[ih]i/.test(g.trim())})}return b}(n.stdout),q=p.filter(a=>a.installed);h.packages=q.length;let r=new Map(q.map(a=>[a.name,a])),s=(await a.readFile("/proc/sys/kernel/osrelease"))?.trim()||null,t=q.filter(a=>/^linux-image-(unsigned-)?\d/.test(a.name)),u=s?t.find(a=>a.name===`linux-image-${s}`||a.name===`linux-image-unsigned-${s}`):void 0,w=t.map(a=>a.sourceVersion).sort(k).at(-1)??null,D=(e=await a.readFile("/var/run/reboot-required"),f=await a.readFile("/var/run/reboot-required.pkgs"),null===e?{needed:!1,packages:[]}:{needed:!0,packages:[...new Set((f??"").split(/\r?\n/).map(a=>a.trim()).filter(Boolean))]}),E=await a.exec("apt",["list","--upgradable"]);if(!E.ok)return{...h,status:"error",error:`Couldn't read the waiting updates (${E.error}).`};let F=function(a){let b=[];for(let c of a.split(/\r?\n/)){let a=/^([^/\s]+)\/(\S+)\s+(\S+)\s+\S+\s+\[upgradable from: ([^\]]+)\]/.exec(c.trim());if(!a)continue;let d=a[2].split(",").filter(Boolean);b.push({name:a[1],candidate:a[3],installed:a[4].trim(),pockets:d,security:d.some(a=>/-security$/.test(a))})}return b}(E.stdout),G=F.find(a=>/^linux-image-/.test(a.name));h.kernel={running:s,runningVersion:u?.sourceVersion??null,newestInstalled:w,reboot:D,update:G?{package:G.name,candidate:G.candidate}:null};let H=new Map,I=new Set;for(let a of F){let b=r.get(a.name),c=b?.source??a.name;if(B(c))continue;b&&b.version!==b.sourceVersion&&I.add(c);let d=H.get(c)??{source:c,binaries:[],installed:a.installed,candidate:a.candidate,pockets:[],security:!1,fixes:[],error:null};d.binaries.push(a.name),0>k(a.installed,d.installed)&&(d.installed=a.installed),k(a.candidate,d.candidate)>0&&(d.candidate=a.candidate),d.pockets=[...new Set([...d.pockets,...a.pockets])],d.security||=a.security,H.set(c,d)}let J=RegExp(`^${i.codename.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(-(updates|security|backports|proposed))?$`);h.updates=(await A([...H.values()],4,async a=>{if(a.binaries.sort(),!a.pockets.some(a=>J.test(a)))return a;if(I.has(a.source))return{...a,error:`Its package and source versions differ, so Watchbell can't match Ubuntu's fixes; see Ubuntu's page for ${a.source}.`};if(Date.now()>g)return{...a,error:z};try{let c=await v(a.source,i.codename,a.installed,a.candidate,b);return c.ok?{...a,fixes:c.fixes}:{...a,fixes:c.fixes??[],error:c.error}}catch{return{...a,error:"Ubuntu's security API sent an answer we couldn't read."}}})).sort((a,b)=>x(b)-x(a)||y(b)-y(a)||Number(b.security)-Number(a.security)||a.source.localeCompare(b.source));let K=(function(a,b){let c=a.filter(a=>a.installed),d=b?c.find(a=>a.name===`linux-image-${b}`||a.name===`linux-image-unsigned-${b}`):void 0,e=d?{name:l(d.source),version:d.sourceVersion}:null,f=new Map;for(let a of c){if(m(a.source))continue;let b=l(a.source);if(e&&b===e.name&&a.sourceVersion!==e.version)continue;let c=`${b} ${a.sourceVersion}`,d=f.get(c)??{name:b,version:a.sourceVersion,binaries:[],kernel:e?b===e.name:"linux"===b};d.binaries.push(a.name),f.set(c,d)}return[...f.values()].map(a=>({...a,binaries:[...new Set(a.binaries)].sort()})).sort((a,b)=>a.name.localeCompare(b.name)||a.version.localeCompare(b.version))})(p,s).filter(a=>!a.kernel&&!B(a.name)&&!H.has(a.name)),L=Date.now()>g?{ok:!1,error:z}:K.length?await o(j,K.map(a=>({name:a.name,version:a.version})),b):{ok:!0,counts:{}};h.backlog=L.ok?{counts:L.counts,total:Object.values(L.counts).reduce((a,b)=>a+b,0),error:null}:{counts:{},total:0,error:L.error};let M=await a.mtime("/var/lib/apt/periodic/update-success-stamp");return h.aptListsAgeHours=M?Math.max(0,Math.round((c.getTime()-M.getTime())/36e5)):null,h}let D="OS checks are part of the self-hosted edition.",E="os_scan";function F(a=process.env){let b=(0,g.c)(a);return"cloud"===b?"off-cloud":"demo"===b?"demo":"on"}function G(a){return"object"!=typeof a||null===a?null:["ok","error","unsupported"].includes(a.status??"")&&"string"==typeof a.scannedAt&&Array.isArray(a.updates)&&"object"==typeof a.backlog?a:null}let H={platform:process.platform,readFile:a=>(0,c.readFile)(a,"utf8").catch(()=>null),mtime:a=>(0,c.stat)(a).then(a=>a.mtime).catch(()=>null),exec:(a,c)=>new Promise(d=>{(0,b.execFile)(a,c,{timeout:3e4,maxBuffer:0x1000000,env:{...process.env,LC_ALL:"C"}},(b,c)=>{d(b?{ok:!1,error:"ENOENT"===b.code?`${a} isn't installed`:b.message.split("\n")[0].slice(0,160)}:{ok:!0,stdout:c})})})},I={state:()=>F(),scan:()=>C(H,fetch,new Date),read:async()=>(await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,d.u)(f.settings.key,E)).limit(1))[0]?.value??null,write:async a=>{await (0,e.f)().insert(f.settings).values({key:E,value:a}).onConflictDoUpdate({target:f.settings.key,set:{value:a,updatedAt:new Date}})}};async function J(a=I){return G(await a.read())}async function K(a=I){let b=a.state();if("off-cloud"===b)return{ok:!1,error:D};if("demo"===b)return{ok:!1,error:"Scanning is off in the demo."};let c=await a.scan(),d=G(await a.read()),e="error"===c.status&&d&&"ok"===d.status?{...d,error:c.error,failedAt:c.scannedAt}:c;return await a.write(e),{ok:!0,data:e}}a.s(["r",0,D,"y",0,J,"C",0,F,"W",0,K],351917)}];
3
+
4
+ //# sourceMappingURL=src_lib_data_os-scan-db_ts_0g2a3ofkaxf40._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[322145,75105,a=>{"use strict";var b=a.i(93321),c=a.i(118558),d=a.i(548734),e=a.i(837137),f=a.i(358179),g=a.i(221084),h=a.i(492665),i=a.i(683439),j=a.i(312573);function k(a,b){return"member"===a?`Too many actions. Try again in ${(0,j.H)(b)}.`:"That was just done. Wait a minute before trying again."}function l(a){let b=a.replace(/\s+/g," ").trim();return b.length>200?`${b.slice(0,199)}…`:b}a.s(["w",0,"Something in that request wasn't valid.","G",0,"This changed since you opened it. Reload and try again.","z",0,k,"b",0,function(a,b){return"supabase"===a?"This token is read-only; replace it with one that has Project admin write.":"cloudflare"===a?'This Cloudflare token can\'t edit DNS; add "Zone → DNS → Edit" to it, or replace it with a token that has it.':"vercel"===a?`This token can't change projects in team ${b.team||"this team"}; replace it with one whose scope includes that team.`:`This API key can't manage project ${b.project||"this project"}; replace it with a personal or organization key, or a key for this project.`},"S",0,l],75105);var m=a.i(323878);let n="access.";async function o(a,c){if(!(0,i.f)(a))return null;let[g]=await (0,d.f)().select({r:e.resources,a:e.accounts}).from(e.resources).innerJoin(e.accounts,(0,b.u)(e.accounts.id,e.resources.accountId)).where((0,b.b)((0,b.u)(e.resources.id,a),(0,b.u)(e.resources.kind,c),(0,b.M)(e.resources.goneAt))).limit(1);if(!g)return null;let j=(0,f.V)({ciphertext:g.a.credentialCiphertext,iv:g.a.credentialIv},(0,h.f)().OPS_ENCRYPTION_KEY);return j?{resource:g.r,account:{id:g.a.id,label:g.a.label,provider:g.a.provider,scopeNote:g.a.scopeNote},token:j}:null}async function p(a,b,c){let d=await (0,m.C)(j.t.providerAction,a);if(!d.allowed)return k("member",d.retryAfter);let e=await (0,m.C)(j.t.actionTarget,`${b}:${c}`);return e.allowed?null:k("target",e.retryAfter)}async function q(a,b,c){let f={write:b,at:new Date().toISOString(),...c?{scope:c}:{}};await (0,d.f)().insert(e.settings).values({key:`${n}${a}`,value:f}).onConflictDoUpdate({target:e.settings.key,set:{value:f,updatedAt:new Date}})}async function r(a){let c=new Map,f=a.filter(i.f);if(0===f.length)return c;for(let a of(await (0,d.f)().select().from(e.settings).where((0,b.y)(e.settings.key,f.map(a=>`${n}${a}`))))){let b=a.value;b&&("ok"===b.write||"denied"===b.write)&&"string"==typeof b.at&&c.set(a.key.slice(n.length),{write:b.write,at:b.at,..."string"==typeof b.scope?{scope:b.scope}:{}})}return c}async function s(a,b,d,e={}){if(!("audit"in a))return{ok:!1,error:a.message};let f="failed"in a?a.failed:null,h="failed"in a?"":a.message,i=f?f.error:"failed"in a?void 0:a.audit.detail;try{await (0,g.f)({kind:f?"err":"ok",message:`${e.auditPrefix??""}${a.audit.message}`,resourceId:a.audit.resourceId,actorUserId:b.userId,...i?{detail:l(i)}:{}})}catch{console.warn("audit event failed")}if(!f||"scope"===f.kind)try{await q(d,f?"denied":"ok")}catch{console.warn("access write failed")}return!1!==e.refresh&&(0,c.refresh)(),f?{ok:!1,error:f.error}:{ok:!0,message:h}}a.s(["W",0,s,"p",0,o,"y",0,q,"q",0,p,"f",0,r],322145)}];
1
+ module.exports=[322145,a=>{"use strict";var b=a.i(93321),c=a.i(118558),d=a.i(548734),e=a.i(837137),f=a.i(358179),g=a.i(221084),h=a.i(492665),i=a.i(683439),j=a.i(75105),k=a.i(312573),l=a.i(323878);let m="access.";async function n(a,c){if(!(0,i.f)(a))return null;let[g]=await (0,d.f)().select({r:e.resources,a:e.accounts}).from(e.resources).innerJoin(e.accounts,(0,b.u)(e.accounts.id,e.resources.accountId)).where((0,b.b)((0,b.u)(e.resources.id,a),(0,b.u)(e.resources.kind,c),(0,b.M)(e.resources.goneAt))).limit(1);if(!g)return null;let j=(0,f.V)({ciphertext:g.a.credentialCiphertext,iv:g.a.credentialIv},(0,h.f)().OPS_ENCRYPTION_KEY);return j?{resource:g.r,account:{id:g.a.id,label:g.a.label,provider:g.a.provider,scopeNote:g.a.scopeNote},token:j}:null}async function o(a,b,c){let d=await (0,l.C)(k.t.providerAction,a);if(!d.allowed)return(0,j.z)("member",d.retryAfter);let e=await (0,l.C)(k.t.actionTarget,`${b}:${c}`);return e.allowed?null:(0,j.z)("target",e.retryAfter)}async function p(a,b,c){let f={write:b,at:new Date().toISOString(),...c?{scope:c}:{}};await (0,d.f)().insert(e.settings).values({key:`${m}${a}`,value:f}).onConflictDoUpdate({target:e.settings.key,set:{value:f,updatedAt:new Date}})}async function q(a){let c=new Map,f=a.filter(i.f);if(0===f.length)return c;for(let a of(await (0,d.f)().select().from(e.settings).where((0,b.y)(e.settings.key,f.map(a=>`${m}${a}`))))){let b=a.value;b&&("ok"===b.write||"denied"===b.write)&&"string"==typeof b.at&&c.set(a.key.slice(m.length),{write:b.write,at:b.at,..."string"==typeof b.scope?{scope:b.scope}:{}})}return c}async function r(a,b,d,e={}){if(!("audit"in a))return{ok:!1,error:a.message};let f="failed"in a?a.failed:null,h="failed"in a?"":a.message,i=f?f.error:"failed"in a?void 0:a.audit.detail;try{await (0,g.f)({kind:f?"err":"ok",message:`${e.auditPrefix??""}${a.audit.message}`,resourceId:a.audit.resourceId,actorUserId:b.userId,...i?{detail:(0,j.S)(i)}:{}})}catch{console.warn("audit event failed")}if(!f||"scope"===f.kind)try{await p(d,f?"denied":"ok")}catch{console.warn("access write failed")}return!1!==e.refresh&&(0,c.refresh)(),f?{ok:!1,error:f.error}:{ok:!0,message:h}}a.s(["W",0,r,"p",0,n,"y",0,p,"q",0,o,"f",0,q])}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_data_provider-action-db_ts_0-bucssqnudtd._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[476435,793379,a=>{"use strict";var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(358179),h=a.i(120213),i=a.i(492665),j=a.i(751931);let k=a=>void 0!==a.retryAfterS&&(403===a.status||429===a.status),l="GitHub's rate limit is used up for now. Try again later.";class m{max;rows;pausedUntil;constructor(a=200){this.max=a,this.rows=new Map,this.pausedUntil=0}async get(a,b,c,d=Date.now){let e=this.rows.get(a);if(e&&d()-e.at<e.ttl)return{ok:!0,data:e.value};if(d()<this.pausedUntil)return{ok:!1,kind:"transient",status:429,retryAfterS:Math.ceil((this.pausedUntil-d())/1e3),error:l};let f=await c();if(f.ok){if(this.rows.size>=this.max){let a=this.rows.keys().next().value;void 0!==a&&this.rows.delete(a)}this.rows.delete(a),this.rows.set(a,{at:d(),ttl:b,value:f.data})}else if(k(f))return this.pausedUntil=d()+1e3*Math.min(3600,Math.max(30,f.retryAfterS??60)),{...f,error:l};return f}clear(){this.rows.clear(),this.pausedUntil=0}}a.s(["W",0,m,"i",0,k],793379);var n=a.i(683439),o=a.i(760417),p=a.i(589856),q=a.i(27522);let r=new m(300);async function s(a){let[c]=await (0,e.f)().select({c:f.accounts.credentialCiphertext,iv:f.accounts.credentialIv}).from(f.accounts).where((0,b.b)((0,b.u)(f.accounts.id,a),(0,b.u)(f.accounts.provider,"github"))).limit(1);return c?(0,g.V)({ciphertext:c.c,iv:c.iv},(0,i.f)().OPS_ENCRYPTION_KEY):null}async function t(){let[a]=await (0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).orderBy((0,c.M)(f.accounts.createdAt)).limit(1);return a?.id??null}async function u(a){let c=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId,name:f.resources.name}).from(f.appRepos).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.b)((0,b.u)(f.resources.kind,"app"),(0,b.M)(f.resources.goneAt),a?(0,b.y)(f.appRepos.repoId,a):void 0)).limit(1e3);return(0,j.V)(c,c.map(a=>({id:a.appId,name:a.name})))}async function v(){let a=await t(),g=await (0,e.f)().select({id:f.githubRepos.id,accountId:f.githubRepos.accountId,fullName:f.githubRepos.fullName,private:f.githubRepos.private,archived:f.githubRepos.archived,defaultBranch:f.githubRepos.defaultBranch,pushedAt:f.githubRepos.pushedAt,actions:f.githubRepos.actions}).from(f.githubRepos).where((0,b.M)(f.githubRepos.goneAt)).orderBy((0,c.A)(f.githubRepos.pushedAt)).limit(1e3);if(!g.length)return{connected:null!==a,items:[],languageNote:null};let[h,i,j]=await Promise.all([u(null),(0,e.f)().select({repoId:f.dependencyVulns.repoId,n:d.B`count(*)::int`}).from(f.dependencyVulns).where((0,b.M)(f.dependencyVulns.resolvedAt)).groupBy(f.dependencyVulns.repoId),(0,e.f)().select({repoId:f.dependencyScans.repoId}).from(f.dependencyScans).where((0,b.E)(f.dependencyScans.scannedAt))]),k=new Map(i.map(a=>[a.repoId,a.n])),l=new Set(j.map(a=>a.repoId)),m=new Map,n=null,o=a?await s(a):null;if(o){let b=await r.get(`languages:${a}`,9e5,()=>(0,p.S)(o));b.ok?m=b.data:n=`Languages aren't shown: ${b.error}`}return{connected:null!==a,languageNote:n,items:g.map(a=>({id:a.id,fullName:a.fullName,private:a.private,archived:a.archived,defaultBranch:a.defaultBranch,pushedAt:a.pushedAt?.toISOString()??null,language:m.get(a.fullName.toLowerCase())??null,apps:h.get(a.id)??[],advisories:l.has(a.id)?k.get(a.id)??0:null,actions:a.actions?(0,q.N)(a.actions,a.defaultBranch):null}))}}async function w(a){if(!(0,n.f)(a))return null;let[c]=await (0,e.f)().select().from(f.githubRepos).where((0,b.u)(f.githubRepos.id,a)).limit(1);if(!c)return null;let d=await u([c.id]);return{repo:c,apps:d.get(c.id)??[],ref:c.defaultBranch??"HEAD"}}let x={ok:!1,kind:"auth",error:"The GitHub token can't be read. Check the GitHub connection on Connections."};async function y(a,b,c,d){return a.goneAt?{ok:!1,kind:"missing",error:"This repository is no longer shared with the GitHub token."}:r.get(`${a.id}:${b}`,c,async()=>{let b=await s(a.accountId);return b?d(b):x})}async function z(a){let[[c],d]=await Promise.all([(0,e.f)().select({scannedAt:f.dependencyScans.scannedAt,lockfilePath:f.dependencyScans.lockfilePath,packageCount:f.dependencyScans.packageCount,error:f.dependencyScans.error,note:f.dependencyScans.note}).from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,a.id)).limit(1),(0,e.f)().select({package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,firstSeenAt:f.dependencyVulns.firstSeenAt}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,a.id),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3)]);return d.sort((a,b)=>(0,h.t)(a.severity)-(0,h.t)(b.severity)||(a.package<b.package?-1:+(a.package>b.package))||(a.vulnId<b.vulnId?-1:1)),{repo:{id:a.id,fullName:a.fullName},scan:c??null,vulns:d,writeConnected:!0}}a.s(["E",0,a=>y(a.repo,"branches",3e5,b=>(0,p.n)(b,a.repo.fullName)),"c",0,a=>y(a.repo,`commits@${a.ref}`,12e4,b=>(0,p.T)(b,a.repo.fullName,a.ref,20)),"N",0,(a,b)=>y(a.repo,`file@${a.ref}:${b}`,3e5,c=>(0,o.V)(c,a.repo.fullName,b,a.ref,j.B)),"i",0,v,"P",0,a=>y(a.repo,`readme@${a.ref}`,6e5,b=>(0,p.Q)(b,a.repo.fullName,a.ref,j.B)),"Z",0,z,"O",0,w,"U",0,a=>y(a.repo,"info",3e5,b=>(0,p.H)(b,a.repo.fullName)),"T",0,a=>y(a.repo,"runs",12e4,b=>(0,p.A)(b,a.repo.fullName,10)),"t",0,a=>y(a.repo,`tree@${a.ref}`,6e5,b=>(0,o.s)(b,a.repo.fullName,a.ref))],476435)}];
2
+
3
+ //# sourceMappingURL=src_lib_data_repos-db_ts_06z14rp86ukii._.js.map
@@ -1,6 +1,6 @@
1
- module.exports=[396667,711251,532971,186133,a=>{"use strict";var b=a.i(93321),c=a.i(351674),d=a.i(800717),e=a.i(548734),f=a.i(263251),g=a.i(837137),h=a.i(686921),i=a.i(160147);let j="budget.limits",k={qstashPerDay:1e3,webAnalyticsEvents:5e4,vercelInvocations:1e6,vercelCpuHours:4,vercelMemoryGbH:360,warnPct:70,errPct:90},l=[{key:"qstashPerDay",label:"Upstash QStash messages",unit:"a day",min:1,max:1e7},{key:"webAnalyticsEvents",label:"Vercel Web Analytics events",unit:"a month",min:1,max:1e8},{key:"vercelInvocations",label:"Vercel function invocations",unit:"a month",min:1,max:1e9},{key:"vercelCpuHours",label:"Vercel active CPU",unit:"hours a month",min:1,max:1e4},{key:"vercelMemoryGbH",label:"Vercel provisioned memory",unit:"GB-hours a month",min:1,max:1e5},{key:"warnPct",label:"Warn from",unit:"% used",min:10,max:99},{key:"errPct",label:"Alarm from",unit:"% used",min:11,max:100}],m=(a,b)=>"number"==typeof b&&Number.isInteger(b)&&b>=a.min&&b<=a.max;function n(a){let b={...k};if(!a||"object"!=typeof a)return b;for(let c of l){let d=a[c.key];m(c,d)&&(b[c.key]=d)}return b.warnPct<b.errPct?b:{...b,warnPct:k.warnPct,errPct:k.errPct}}a.s(["o",0,k,"h",0,j,"S",0,function(a,b){let c=l.filter(c=>a[c.key]!==b[c.key]).map(c=>`${c.label} ${a[c.key].toLocaleString("en-US")} → ${b[c.key].toLocaleString("en-US")}`);return c.length?c.join(", "):null},"X",0,n,"R",0,function(a){let b=a&&"object"==typeof a?a:{},c={...k},d={};for(let a of l){let e=b[a.key],f="string"==typeof e?Number(e.replace(/[,_\s]/g,"")):e;m(a,f)?c[a.key]=f:d[a.key]=`Enter a whole number from ${a.min.toLocaleString("en-US")} to ${a.max.toLocaleString("en-US")}.`}return d.warnPct||d.errPct||!(c.warnPct>=c.errPct)||(d.errPct="Alarm must be above Warn."),Object.keys(d).length?{ok:!1,error:"Check the highlighted fields.",fieldErrors:d}:{ok:!0,value:c}}],711251);var o=a.i(655206);let p="retention.days",q={checks:[3,7,14],rollupsHourly:[60,90,180],storedLogs:[3,7,14],deployments:[30,45,60,90],events:[60,90,180],alerts:[60,90,180],collectorRuns:[7,14,30],recommendationDismissals:[30,90,180]},r=Object.keys(q),s={checks:"Raw checks",rollupsHourly:"Hourly rollups",storedLogs:"Stored logs",deployments:"Deployments",events:"Events",alerts:"Alerts",collectorRuns:"Collector runs",recommendationDismissals:"Advisor dismissals"},t=(a,b)=>"number"==typeof b&&q[a].includes(b);function u(a){let b={...o.f};if(!a||"object"!=typeof a)return b;for(let c of r){let d=a[c];t(c,d)&&(b[c]=d)}return b}async function v(a){let[c]=await (0,e.f)().select({value:g.settings.value}).from(g.settings).where((0,b.u)(g.settings.key,a)).limit(1);return c?.value??null}async function w(a,b){await (0,e.f)().insert(g.settings).values({key:a,value:b}).onConflictDoUpdate({target:g.settings.key,set:{value:b,updatedAt:new Date}})}a.s(["L",0,r,"I",0,s,"H",0,p,"E",0,u,"b",0,function(a,b){let c=r.filter(c=>a[c]!==b[c]).map(c=>`${s[c]} ${a[c]} → ${b[c]} days`);return c.length?c.join(", "):null},"K",0,function(a){let b={},c={...o.f},d=a&&"object"==typeof a?a:{};for(let a of r){let e="string"==typeof d[a]?Number(d[a]):d[a];t(a,e)?c[a]=e:b[a]=`Pick ${q[a].join(", ")} days.`}return Object.keys(b).length?{ok:!1,error:"Check the highlighted fields.",fieldErrors:b}:{ok:!0,value:c}}],532971);let x=async()=>u(await v(p)),y=async()=>n(await v(j)),z="notify.language",A="sections.off",B=async()=>(0,i.N)(await v(A)),C=()=>c.B`(select ${g.settings.value} from ${g.settings} where ${g.settings.key} = ${A})`;a.s(["j",0,y,"l",0,()=>v(z),"J",0,x,"W",0,B,"x",0,a=>w(j,a),"U",0,a=>w(z,a),"A",0,a=>w(p,a),"Y",0,a=>w(A,(0,i.N)(a)),"X",0,C],186133);let D=["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"],E=a=>{if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return null}},F=(0,d.cache)(async()=>{let a=c.B.join(D.map(a=>c.B`${a}`),c.B`, `),b=await (0,e.f)().execute(c.B`select
1
+ module.exports=[396667,711251,532971,186133,a=>{"use strict";var b=a.i(93321),c=a.i(351674),d=a.i(800717),e=a.i(548734),f=a.i(263251),g=a.i(837137),h=a.i(686921),i=a.i(371289),j=a.i(160147);let k="budget.limits",l={qstashPerDay:1e3,webAnalyticsEvents:5e4,vercelInvocations:1e6,vercelCpuHours:4,vercelMemoryGbH:360,warnPct:70,errPct:90},m=[{key:"qstashPerDay",label:"Upstash QStash messages",unit:"a day",min:1,max:1e7},{key:"webAnalyticsEvents",label:"Vercel Web Analytics events",unit:"a month",min:1,max:1e8},{key:"vercelInvocations",label:"Vercel function invocations",unit:"a month",min:1,max:1e9},{key:"vercelCpuHours",label:"Vercel active CPU",unit:"hours a month",min:1,max:1e4},{key:"vercelMemoryGbH",label:"Vercel provisioned memory",unit:"GB-hours a month",min:1,max:1e5},{key:"warnPct",label:"Warn from",unit:"% used",min:10,max:99},{key:"errPct",label:"Alarm from",unit:"% used",min:11,max:100}],n=(a,b)=>"number"==typeof b&&Number.isInteger(b)&&b>=a.min&&b<=a.max;function o(a){let b={...l};if(!a||"object"!=typeof a)return b;for(let c of m){let d=a[c.key];n(c,d)&&(b[c.key]=d)}return b.warnPct<b.errPct?b:{...b,warnPct:l.warnPct,errPct:l.errPct}}a.s(["o",0,l,"h",0,k,"S",0,function(a,b){let c=m.filter(c=>a[c.key]!==b[c.key]).map(c=>`${c.label} ${a[c.key].toLocaleString("en-US")} → ${b[c.key].toLocaleString("en-US")}`);return c.length?c.join(", "):null},"X",0,o,"R",0,function(a){let b=a&&"object"==typeof a?a:{},c={...l},d={};for(let a of m){let e=b[a.key],f="string"==typeof e?Number(e.replace(/[,_\s]/g,"")):e;n(a,f)?c[a.key]=f:d[a.key]=`Enter a whole number from ${a.min.toLocaleString("en-US")} to ${a.max.toLocaleString("en-US")}.`}return d.warnPct||d.errPct||!(c.warnPct>=c.errPct)||(d.errPct="Alarm must be above Warn."),Object.keys(d).length?{ok:!1,error:"Check the highlighted fields.",fieldErrors:d}:{ok:!0,value:c}}],711251);var p=a.i(655206);let q="retention.days",r={checks:[3,7,14],rollupsHourly:[60,90,180],storedLogs:[3,7,14],deployments:[30,45,60,90],events:[60,90,180],alerts:[60,90,180],collectorRuns:[7,14,30],recommendationDismissals:[30,90,180]},s=Object.keys(r),t={checks:"Raw checks",rollupsHourly:"Hourly rollups",storedLogs:"Stored logs",deployments:"Deployments",events:"Events",alerts:"Alerts",collectorRuns:"Collector runs",recommendationDismissals:"Advisor dismissals"},u=(a,b)=>"number"==typeof b&&r[a].includes(b);function v(a){let b={...p.f};if(!a||"object"!=typeof a)return b;for(let c of s){let d=a[c];u(c,d)&&(b[c]=d)}return b}async function w(a){let[c]=await (0,e.f)().select({value:g.settings.value}).from(g.settings).where((0,b.u)(g.settings.key,a)).limit(1);return c?.value??null}async function x(a,b){await (0,e.f)().insert(g.settings).values({key:a,value:b}).onConflictDoUpdate({target:g.settings.key,set:{value:b,updatedAt:new Date}})}a.s(["L",0,s,"I",0,t,"H",0,q,"E",0,v,"b",0,function(a,b){let c=s.filter(c=>a[c]!==b[c]).map(c=>`${t[c]} ${a[c]} → ${b[c]} days`);return c.length?c.join(", "):null},"K",0,function(a){let b={},c={...p.f},d=a&&"object"==typeof a?a:{};for(let a of s){let e="string"==typeof d[a]?Number(d[a]):d[a];u(a,e)?c[a]=e:b[a]=`Pick ${r[a].join(", ")} days.`}return Object.keys(b).length?{ok:!1,error:"Check the highlighted fields.",fieldErrors:b}:{ok:!0,value:c}}],532971);let y=async()=>v(await w(q)),z=async()=>o(await w(k)),A="notify.language",B="sections.off",C=async()=>(0,j.N)(await w(B)),D=()=>c.B`(select ${g.settings.value} from ${g.settings} where ${g.settings.key} = ${B})`;a.s(["j",0,z,"l",0,()=>w(A),"J",0,y,"W",0,C,"x",0,a=>x(k,a),"U",0,a=>x(A,a),"A",0,a=>x(q,a),"Y",0,a=>x(B,(0,j.N)(a)),"X",0,D],186133);let E=["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"],F=a=>{if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return null}},G=(0,d.cache)(async()=>{let a=c.B.join(E.map(a=>c.B`${a}`),c.B`, `),b=await (0,e.f)().execute(c.B`select
2
2
  (select coalesce(jsonb_agg(distinct ${g.accounts.provider}::text), '[]'::jsonb) from ${g.accounts}) as providers,
3
3
  exists(select 1 from ${g.resources} where ${g.resources.kind}::text in (${a}) and ${g.resources.goneAt} is null) as databases,
4
- ${C()} as off`),[d]=(0,f.f)(b),j=E(d?.providers);return{providers:(Array.isArray(j)?j:[]).filter(a=>h.L.includes(a)),databases:d?.databases===!0||d?.databases==="t",off:(0,i.N)(E(d?.off))}});async function G(){let{providers:a,databases:b,off:c}=await F(),d={databases:b},e=[...(0,i.R)(a,d)];return{on:e.filter(a=>!c.includes(a)),available:e,off:c,providers:a,has:d}}async function H(){try{return(0,i.J)((await F()).off)}catch{return new Set}}function I(a){if(!a.size)return;let{ruleKeys:d,providers:e}=(0,i.s)(a),f=[];if(d.length&&f.push(c.B`${g.alerts.ruleKey} in (${c.B.join(d.map(a=>c.B`${a}`),c.B`, `)})`),e.length){let a=c.B.join(e.map(a=>c.B`${a}`),c.B`, `);f.push(c.B`(${g.alerts.ruleKey} = 'CredentialExpiring' and ${g.alerts.accountId} in (select ${g.accounts.id} from ${g.accounts} where ${g.accounts.provider}::text in (${a})))`)}return f.length?(0,b.F)(...f):void 0}async function J(a,c){let d=I(new Set([a]));d&&await (0,e.f)().update(g.alerts).set({pendingSince:c}).where((0,b.b)((0,b.E)(g.alerts.pending),d))}async function K(){let a=await (0,e.f)().select({kind:g.monitors.kind,n:c.B`count(*)::int`}).from(g.monitors).where((0,b.b)((0,b.u)(g.monitors.paused,!1),(0,b.u)(g.monitors.ownerPaused,!1))).groupBy(g.monitors.kind),d=b=>Number(a.find(a=>a.kind===b)?.n??0);return{http:d("http"),heartbeat:d("heartbeat")}}a.s(["s",0,function(a){let c=I(a);return c?(0,b.R)(c):void 0},"F",0,K,"I",0,H,"e",0,J,"Q",0,G],396667)}];
4
+ ${D()} as off`),[d]=(0,f.f)(b),i=F(d?.providers);return{providers:(Array.isArray(i)?i:[]).filter(a=>h.L.includes(a)),databases:d?.databases===!0||d?.databases==="t",off:(0,j.N)(F(d?.off))}});async function H(){let{providers:a,databases:b,off:c}=await G(),d={databases:b},e=[...(0,j.R)(a,{...d,selfhost:"cloud"!==(0,i.c)()})];return{on:e.filter(a=>!c.includes(a)),available:e,off:c,providers:a,has:d}}async function I(){try{return(0,j.J)((await G()).off)}catch{return new Set}}function J(a){if(!a.size)return;let{ruleKeys:d,providers:e}=(0,j.s)(a),f=[];if(d.length&&f.push(c.B`${g.alerts.ruleKey} in (${c.B.join(d.map(a=>c.B`${a}`),c.B`, `)})`),e.length){let a=c.B.join(e.map(a=>c.B`${a}`),c.B`, `);f.push(c.B`(${g.alerts.ruleKey} = 'CredentialExpiring' and ${g.alerts.accountId} in (select ${g.accounts.id} from ${g.accounts} where ${g.accounts.provider}::text in (${a})))`)}return f.length?(0,b.F)(...f):void 0}async function K(a,c){let d=J(new Set([a]));d&&await (0,e.f)().update(g.alerts).set({pendingSince:c}).where((0,b.b)((0,b.E)(g.alerts.pending),d))}async function L(){let a=await (0,e.f)().select({kind:g.monitors.kind,n:c.B`count(*)::int`}).from(g.monitors).where((0,b.b)((0,b.u)(g.monitors.paused,!1),(0,b.u)(g.monitors.ownerPaused,!1))).groupBy(g.monitors.kind),d=b=>Number(a.find(a=>a.kind===b)?.n??0);return{http:d("http"),heartbeat:d("heartbeat")}}a.s(["s",0,function(a){let c=J(a);return c?(0,b.R)(c):void 0},"F",0,L,"I",0,I,"e",0,K,"Q",0,H],396667)}];
5
5
 
6
6
  //# sourceMappingURL=src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[893893,a=>{"use strict";var b=a.i(427221),c=a.i(811365),d=a.i(26972),e=a.i(83931),f=a.i(689963);let g=b.z.string().nullable().optional(),h=c.z.number().nullable().optional(),i=b.z.string().nullable().optional(),j=d.z.object({status:b.z.string().optional(),region:i,pgVersion:i,orgSlug:i,freeOrg:e.z.boolean().nullable().optional(),pausedBeforeSeen:e.z.boolean().optional(),lastGoodState:b.z.string().optional(),lastTrafficAt:g,trafficAt:g,trafficError:i,health:f.z.array(d.z.object({name:b.z.string(),status:b.z.string()})).nullable().optional(),healthAt:g,healthError:i,sizeBytes:h,sizeAt:g,sizeError:i}),k=d.z.object({id:b.z.string(),branchId:b.z.string(),state:b.z.string(),pendingState:b.z.string().nullable(),disabled:e.z.boolean(),minCu:c.z.number(),maxCu:c.z.number(),lastActive:b.z.string().nullable()}),l=d.z.object({id:b.z.string(),name:b.z.string(),isDefault:e.z.boolean(),logicalSize:c.z.number().nullable()}),m=d.z.object({region:i,pgVersion:c.z.number().nullable().optional(),orgId:i,computeSeconds:h,transferBytes:h,periodStart:g,periodEnd:g,activeSeconds:h,endpoints:f.z.array(k).optional(),branches:f.z.array(l).optional(),lastGoodState:b.z.string().optional()}),n=d.z.object({displayName:i,latencyMs:h,pingError:i,pingReason:i,pingKind:i,reads:h,writes:h,deletes:h,opsAt:g,opsError:i,authUsers:h,authAt:g,authError:i,lastGoodState:b.z.string().optional()}),o=d.z.object({org:i,group:i,primaryRegion:i,plan:i,blockReads:e.z.boolean().optional(),blockWrites:e.z.boolean().optional(),rowsRead:h,rowsWritten:h,storageBytes:h,orgRowsRead:h,orgRowsWritten:h,orgStorageBytes:h,orgDatabases:h,usageAt:g,usageError:i,lastGoodState:b.z.string().optional()}),p=d.z.object({region:i,status:i,type:i,dailyCommands:h,monthlyRequests:h,storageBytes:h,monthlyBandwidthBytes:h,statsAt:g,statsError:i,lastGoodState:b.z.string().optional()}),q=d.z.object({accountId:i,createdAt:g,sizeBytes:h,numTables:h,readReplication:i,detailsAt:g,detailsError:i,rowsRead:h,rowsWritten:h,readQueries:h,writeQueries:h,accountRowsRead:h,accountRowsWritten:h,accountSizeBytes:h,accountDatabases:h,usageDay:i,usageAt:g,usageError:i,lastGoodState:b.z.string().optional()});a.s(["x",0,q,"w",0,n,"s",0,m,"k",0,function(a,b){if(!b||"object"!=typeof b)return{};let c={};for(let[d,e]of Object.entries(a.shape)){let a=b[d];if(void 0===a)continue;let f=e.safeParse(a);f.success&&(c[d]=f.data)}return c},"B",0,j,"N",0,o,"e",0,p])}];
2
+
3
+ //# sourceMappingURL=src_lib_databases_snapshot-data_ts_1xilv6_re7hcp._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[579739,a=>{"use strict";let b,c=()=>b??=Promise.all([a.A(372153),a.A(106706)]);async function d(a){let[{currentDemoVisitor:b},{withDemoDb:d}]=await c(),e=await b();return d(e.seed,a,e.email)}async function e(){let[{readDemoVisitor:a},{withDemoDb:b}]=await c(),d=await a();d&&await b(d.seed,async()=>void 0,d.email)}a.s(["demoPglite",0,{query:(a,b,c)=>d(d=>d.query(a,b,c)),exec:(a,b)=>d(c=>c.exec(a,b)),transaction:a=>d(b=>b.transaction(a))},"openDemoDb",0,e])},106706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__09j1po2u91fp3._.js","server/chunks/ssr/src_db_pglite_ts_0r1r9wqxilnam._.js","server/chunks/ssr/src_lib_demo_0a5wqvhuj5hjh._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(601533)))}];
1
+ module.exports=[579739,a=>{"use strict";let b,c=()=>b??=Promise.all([a.A(372153),a.A(106706)]);async function d(a){let[{currentDemoVisitor:b},{withDemoDb:d}]=await c(),e=await b();return d(e.seed,a,e.email)}async function e(){let[{readDemoVisitor:a},{withDemoDb:b}]=await c(),d=await a();d&&await b(d.seed,async()=>void 0,d.email)}a.s(["demoPglite",0,{query:(a,b,c)=>d(d=>d.query(a,b,c)),exec:(a,b)=>d(c=>c.exec(a,b)),transaction:a=>d(b=>b.transaction(a))},"openDemoDb",0,e])},106706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__16jfs8j29r4b5._.js","server/chunks/ssr/src_db_pglite_ts_0r1r9wqxilnam._.js","server/chunks/ssr/src_lib_demo_0a5wqvhuj5hjh._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(601533)))}];
2
2
 
3
- //# sourceMappingURL=src_lib_demo_0sbw5n9n4mpzx._.js.map
3
+ //# sourceMappingURL=src_lib_demo_15e3gnqzod0tj._.js.map