watchbell 1.2.0 β†’ 1.2.1

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 (1473) hide show
  1. package/README.md +2 -2
  2. package/package.json +1 -1
  3. package/server/.next/BUILD_ID +1 -1
  4. package/server/.next/app-path-routes-manifest.json +1 -2
  5. package/server/.next/build-manifest.json +3 -14
  6. package/server/.next/prerender-manifest.json +9 -9
  7. package/server/.next/required-server-files.json +1 -1
  8. package/server/.next/routes-manifest.json +14 -18
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +11 -11
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +78 -68
  11. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  12. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  13. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +10 -10
  14. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +78 -68
  15. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  16. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +9 -9
  18. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +78 -68
  19. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  21. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +12 -12
  22. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +78 -68
  23. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  25. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +10 -10
  26. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +78 -68
  27. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  28. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  29. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +19 -19
  30. package/server/.next/server/app/(console)/(private)/ai/models/page.js +78 -68
  31. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  32. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  33. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +9 -9
  34. package/server/.next/server/app/(console)/(private)/ai/page.js +78 -68
  35. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  37. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +12 -12
  38. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +78 -68
  39. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  41. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +15 -15
  42. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +78 -68
  43. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  44. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  45. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +10 -10
  46. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +78 -68
  47. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  48. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  49. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +10 -10
  50. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +78 -68
  51. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  52. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  53. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +9 -9
  54. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +78 -68
  55. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  56. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  57. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +10 -10
  58. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +78 -68
  59. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  60. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  61. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +22 -22
  62. package/server/.next/server/app/(console)/alerts/page.js +78 -68
  63. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  64. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  65. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +53 -23
  66. package/server/.next/server/app/(console)/apps/[id]/page.js +85 -75
  67. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  68. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  69. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +32 -22
  70. package/server/.next/server/app/(console)/apps/page.js +84 -73
  71. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  72. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  73. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +12 -12
  74. package/server/.next/server/app/(console)/backups/page.js +78 -68
  75. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  76. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  77. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +9 -9
  78. package/server/.next/server/app/(console)/catalog/page.js +78 -68
  79. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  80. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  81. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +20 -20
  82. package/server/.next/server/app/(console)/connections/page.js +78 -68
  83. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  84. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  85. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +9 -9
  86. package/server/.next/server/app/(console)/d1/page.js +79 -69
  87. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  88. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  89. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +24 -14
  90. package/server/.next/server/app/(console)/deployments/page.js +78 -68
  91. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  92. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  93. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +16 -16
  94. package/server/.next/server/app/(console)/dns/page.js +78 -68
  95. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  96. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  97. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +11 -11
  98. package/server/.next/server/app/(console)/domains/page.js +78 -68
  99. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  100. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  101. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +9 -9
  102. package/server/.next/server/app/(console)/events/page.js +78 -68
  103. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  104. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  105. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +40 -30
  106. package/server/.next/server/app/(console)/firebase/page.js +83 -73
  107. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  108. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  109. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +10 -10
  110. package/server/.next/server/app/(console)/logs/page.js +79 -69
  111. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  112. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  113. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +10 -10
  114. package/server/.next/server/app/(console)/manage/sections/page.js +78 -68
  115. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  116. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  117. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +20 -20
  118. package/server/.next/server/app/(console)/neon/page.js +78 -68
  119. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  120. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  121. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +42 -32
  122. package/server/.next/server/app/(console)/overview/page.js +85 -74
  123. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  124. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  125. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +10 -10
  126. package/server/.next/server/app/(console)/repos/[id]/page.js +78 -68
  127. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  128. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  129. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +9 -9
  130. package/server/.next/server/app/(console)/repos/page.js +78 -68
  131. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  132. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  133. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +19 -19
  134. package/server/.next/server/app/(console)/settings/page.js +78 -68
  135. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  136. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  137. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +16 -16
  138. package/server/.next/server/app/(console)/sql/page.js +78 -68
  139. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  140. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  141. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +9 -9
  142. package/server/.next/server/app/(console)/status/page.js +78 -68
  143. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  144. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  145. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +37 -27
  146. package/server/.next/server/app/(console)/supabase/page.js +78 -68
  147. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  148. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  149. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +9 -9
  150. package/server/.next/server/app/(console)/topology/page.js +78 -68
  151. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  152. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  153. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +9 -9
  154. package/server/.next/server/app/(console)/turso/page.js +78 -68
  155. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  156. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  157. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +9 -9
  158. package/server/.next/server/app/(console)/upstash/page.js +78 -68
  159. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  160. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  161. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +32 -22
  162. package/server/.next/server/app/(console)/uptime/page.js +82 -72
  163. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  164. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  165. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +14 -14
  166. package/server/.next/server/app/(console)/welcome/page.js +78 -68
  167. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  168. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  169. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  170. package/server/.next/server/app/_global-error/page.js +5 -5
  171. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  172. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  173. package/server/.next/server/app/_global-error.html +1 -1
  174. package/server/.next/server/app/_global-error.rsc +4 -5
  175. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -6
  176. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +4 -5
  177. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  178. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  179. package/server/.next/server/app/_not-found/page.js +5 -5
  180. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  181. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  182. package/server/.next/server/app/_not-found.html +1 -1
  183. package/server/.next/server/app/_not-found.rsc +5 -5
  184. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +5 -5
  185. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  186. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  187. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  188. package/server/.next/server/app/account/password/page.js +12 -10
  189. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  190. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  191. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  192. package/server/.next/server/app/api/collect/route.js +84 -77
  193. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  194. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  195. package/server/.next/server/app/api/daily/route.js +86 -79
  196. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  197. package/server/.next/server/app/api/ping/[...parts]/route.js +7 -6
  198. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  199. package/server/.next/server/app/api/status/route.js +1 -1
  200. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  201. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
  202. package/server/.next/server/app/api/telegram/webhook/route.js +81 -74
  203. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  204. package/server/.next/server/app/api/v1/advice/route.js +23 -22
  205. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  206. package/server/.next/server/app/api/v1/ai/chat/completions/route.js +11 -10
  207. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  208. package/server/.next/server/app/api/v1/ai/models/route.js +11 -10
  209. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  210. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js +13 -12
  211. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  212. package/server/.next/server/app/api/v1/ai/questions/route.js +27 -26
  213. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  214. package/server/.next/server/app/api/v1/mcp/route.js +26 -25
  215. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  216. package/server/.next/server/app/api/v1/me/route.js +10 -9
  217. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  218. package/server/.next/server/app/api/v1/openapi.json/route.js +7 -6
  219. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  220. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +22 -21
  221. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  222. package/server/.next/server/app/api/v1/status/route.js +22 -21
  223. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  224. package/server/.next/server/app/api/watchdog/route.js +20 -20
  225. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  226. package/server/.next/server/app/auth/confirm/route.js +1 -1
  227. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  228. package/server/.next/server/app/auth/google/callback/route.js +3 -3
  229. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  230. package/server/.next/server/app/auth/google/create/callback/route.js +1 -1
  231. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  232. package/server/.next/server/app/auth/not-member/route.js +1 -1
  233. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  234. package/server/.next/server/app/auth/session-ended/route.js +1 -1
  235. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  236. package/server/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
  237. package/server/.next/server/app/icon.svg/route.js +12 -0
  238. package/server/.next/server/app/icon.svg/route.js.nft.json +1 -0
  239. package/server/.next/server/app/icon.svg.body +17 -0
  240. package/server/.next/server/app/icon.svg.meta +1 -0
  241. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  242. package/server/.next/server/app/invite/page.js +12 -11
  243. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  244. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  245. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  246. package/server/.next/server/app/mfa/page.js +33 -18
  247. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  248. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  249. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  250. package/server/.next/server/app/mfa/setup/page.js +33 -18
  251. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  252. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  253. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  254. package/server/.next/server/app/page.js +6 -6
  255. package/server/.next/server/app/page.js.nft.json +1 -1
  256. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  257. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  258. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  259. package/server/.next/server/app/s/[slug]/page.js +15 -12
  260. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  261. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  262. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  263. package/server/.next/server/app/setup/page.js +7 -6
  264. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  265. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  266. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  267. package/server/.next/server/app/signin/page.js +33 -19
  268. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  269. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  270. package/server/.next/server/app-paths-manifest.json +1 -2
  271. package/server/.next/server/chunks/[externals]__0dolpidprtypa._.js +3 -0
  272. package/server/.next/server/chunks/[externals]__0pfohce9kbhcc._.js +3 -0
  273. package/server/.next/server/chunks/[externals]__1ou2ofma806s1._.js +3 -0
  274. package/server/.next/server/chunks/[root-of-the-server]__00wz8qo4hgq2i._.js +3 -0
  275. package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +3 -0
  276. package/server/.next/server/chunks/[root-of-the-server]__01estsu5k8l4t._.js +3 -0
  277. package/server/.next/server/chunks/[root-of-the-server]__01vos42kjq9nn._.js +3 -0
  278. package/server/.next/server/chunks/[root-of-the-server]__01yzy5zxsekxi._.js +3 -0
  279. package/server/.next/server/chunks/[root-of-the-server]__02ldm_7l9zld8._.js +1 -1
  280. package/server/.next/server/chunks/[root-of-the-server]__02s57amypj_ye._.js +3 -0
  281. package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.js +3 -0
  282. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  283. package/server/.next/server/chunks/[root-of-the-server]__0403hy52a1qcu._.js +3 -0
  284. package/server/.next/server/chunks/[root-of-the-server]__042oh4vbosg_5._.js +3 -0
  285. package/server/.next/server/chunks/[root-of-the-server]__04ogdmf82__0g._.js +3 -0
  286. package/server/.next/server/chunks/[root-of-the-server]__04oipax0jupxr._.js +3 -0
  287. package/server/.next/server/chunks/[root-of-the-server]__04ruh9diphqtp._.js +3 -0
  288. package/server/.next/server/chunks/[root-of-the-server]__04zuzs7oruu3o._.js +3 -0
  289. package/server/.next/server/chunks/[root-of-the-server]__05ht00n_eiksb._.js +3 -0
  290. package/server/.next/server/chunks/[root-of-the-server]__05jzukkrp2pvu._.js +3 -0
  291. package/server/.next/server/chunks/[root-of-the-server]__05zj7uswzr0f9._.js +3 -0
  292. package/server/.next/server/chunks/[root-of-the-server]__06jihgo98ek4u._.js +3 -0
  293. package/server/.next/server/chunks/[root-of-the-server]__08k886n7y6f_3._.js +3 -0
  294. package/server/.next/server/chunks/[root-of-the-server]__08vrztky3u2ri._.js +3 -0
  295. package/server/.next/server/chunks/[root-of-the-server]__0_64c807n6q9e._.js +3 -0
  296. package/server/.next/server/chunks/[root-of-the-server]__0ab040lxtt8_d._.js +3 -0
  297. package/server/.next/server/chunks/[root-of-the-server]__0b136ghrklbbn._.js +3 -0
  298. package/server/.next/server/chunks/[root-of-the-server]__0bvdnvpw43au9._.js +3 -0
  299. package/server/.next/server/chunks/[root-of-the-server]__0cskq__p3tja8._.js +3 -0
  300. package/server/.next/server/chunks/[root-of-the-server]__0dc0pz57q73va._.js +3 -0
  301. package/server/.next/server/chunks/[root-of-the-server]__0dltcr407-ow6._.js +3 -0
  302. package/server/.next/server/chunks/[root-of-the-server]__0f5bt0o1k41ft._.js +3 -0
  303. package/server/.next/server/chunks/[root-of-the-server]__0fyucqcukadyv._.js +3 -0
  304. package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +3 -0
  305. package/server/.next/server/chunks/[root-of-the-server]__0gm_zyr-kdgc_._.js +3 -0
  306. package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +3 -0
  307. package/server/.next/server/chunks/[root-of-the-server]__0hvejly8-nlkq._.js +3 -0
  308. package/server/.next/server/chunks/[root-of-the-server]__0i3bs_98vlttu._.js +3 -0
  309. package/server/.next/server/chunks/[root-of-the-server]__0iwp0lu-5xco7._.js +3 -0
  310. package/server/.next/server/chunks/[root-of-the-server]__0iysztx_xio84._.js +3 -0
  311. package/server/.next/server/chunks/[root-of-the-server]__0k7o0hgdraix2._.js +3 -0
  312. package/server/.next/server/chunks/[root-of-the-server]__0kgmy-sltdtb_._.js +3 -0
  313. package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +3 -0
  314. package/server/.next/server/chunks/[root-of-the-server]__0kt0hjvyklnk8._.js +3 -0
  315. package/server/.next/server/chunks/[root-of-the-server]__0kzpzdkpz_nt0._.js +3 -0
  316. package/server/.next/server/chunks/[root-of-the-server]__0l5v9itfv9nhr._.js +3 -0
  317. package/server/.next/server/chunks/[root-of-the-server]__0l601p_x_1hm7._.js +3 -0
  318. package/server/.next/server/chunks/[root-of-the-server]__0m9648az7bkus._.js +3 -0
  319. package/server/.next/server/chunks/[root-of-the-server]__0nssu45m4c8t1._.js +3 -0
  320. package/server/.next/server/chunks/[root-of-the-server]__0o1-xb-h4iivi._.js +3 -0
  321. package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.js +3 -0
  322. package/server/.next/server/chunks/[root-of-the-server]__0po8f1pcqi-db._.js +3 -0
  323. package/server/.next/server/chunks/[root-of-the-server]__0pwn8go30dm_3._.js +3 -0
  324. package/server/.next/server/chunks/[root-of-the-server]__0rpnd7cjqloa-._.js +3 -0
  325. package/server/.next/server/chunks/[root-of-the-server]__0sfnhgc5reef1._.js +3 -0
  326. package/server/.next/server/chunks/[root-of-the-server]__0so_ihc-5tp14._.js +3 -0
  327. package/server/.next/server/chunks/[root-of-the-server]__0t6dea8voaamp._.js +3 -0
  328. package/server/.next/server/chunks/[root-of-the-server]__0t9o5ca5bzg0p._.js +3 -0
  329. package/server/.next/server/chunks/[root-of-the-server]__0twr9duara46x._.js +3 -0
  330. package/server/.next/server/chunks/[root-of-the-server]__0u1wg-wnnhofm._.js +3 -0
  331. package/server/.next/server/chunks/[root-of-the-server]__0uz_r72zdnwdd._.js +3 -0
  332. package/server/.next/server/chunks/[root-of-the-server]__0v1t0gkrsn99q._.js +3 -0
  333. package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
  334. package/server/.next/server/chunks/[root-of-the-server]__0w6pa9lnl93zu._.js +3 -0
  335. package/server/.next/server/chunks/[root-of-the-server]__0w8qhgmo5c23i._.js +3 -0
  336. package/server/.next/server/chunks/[root-of-the-server]__0wbhuhlkn_ueu._.js +3 -0
  337. package/server/.next/server/chunks/[root-of-the-server]__0xd_bgjy5_tr5._.js +3 -0
  338. package/server/.next/server/chunks/[root-of-the-server]__0xgl1cg3z00iz._.js +3 -0
  339. package/server/.next/server/chunks/[root-of-the-server]__0xwv-ydetqjc7._.js +3 -0
  340. package/server/.next/server/chunks/[root-of-the-server]__0ych1y0j6e38k._.js +3 -0
  341. package/server/.next/server/chunks/[root-of-the-server]__0zhzy29i2vylk._.js +3 -0
  342. package/server/.next/server/chunks/[root-of-the-server]__0zs-wkvv1cs0i._.js +3 -0
  343. package/server/.next/server/chunks/[root-of-the-server]__0zwe7i-isx08p._.js +3 -0
  344. package/server/.next/server/chunks/[root-of-the-server]__1-37ctpn8yw_m._.js +3 -0
  345. package/server/.next/server/chunks/[root-of-the-server]__1-9hjrgvj0fpb._.js +3 -0
  346. package/server/.next/server/chunks/[root-of-the-server]__1-bvfylgbkjso._.js +3 -0
  347. package/server/.next/server/chunks/[root-of-the-server]__104ssf9-9v_5n._.js +3 -0
  348. package/server/.next/server/chunks/[root-of-the-server]__10cqzo_4dhr4m._.js +3 -0
  349. package/server/.next/server/chunks/[root-of-the-server]__10ee5dhzx78ne._.js +3 -0
  350. package/server/.next/server/chunks/[root-of-the-server]__10mob-6xfy8b0._.js +3 -0
  351. package/server/.next/server/chunks/[root-of-the-server]__10q3dc485yp4l._.js +3 -0
  352. package/server/.next/server/chunks/[root-of-the-server]__10u93zgn0-c5a._.js +3 -0
  353. package/server/.next/server/chunks/[root-of-the-server]__1147qf6sf3ru4._.js +3 -0
  354. package/server/.next/server/chunks/[root-of-the-server]__115yxhfn37r-k._.js +3 -0
  355. package/server/.next/server/chunks/[root-of-the-server]__11a8fxlpahjy2._.js +3 -0
  356. package/server/.next/server/chunks/[root-of-the-server]__11qvos_7nf8z8._.js +3 -0
  357. package/server/.next/server/chunks/[root-of-the-server]__137wzuow-_36q._.js +3 -0
  358. package/server/.next/server/chunks/[root-of-the-server]__143pob4pwxffi._.js +3 -0
  359. package/server/.next/server/chunks/[root-of-the-server]__14eyo4i2tm93k._.js +3 -0
  360. package/server/.next/server/chunks/[root-of-the-server]__14mz6mbk2m_e0._.js +3 -0
  361. package/server/.next/server/chunks/[root-of-the-server]__14pgqdfdkuopi._.js +3 -0
  362. package/server/.next/server/chunks/[root-of-the-server]__15y82djobfhof._.js +3 -0
  363. package/server/.next/server/chunks/[root-of-the-server]__163-eo1vkbzx1._.js +3 -0
  364. package/server/.next/server/chunks/[root-of-the-server]__165qlmqwvxmzr._.js +3 -0
  365. package/server/.next/server/chunks/[root-of-the-server]__19o8cf83zllm5._.js +3 -0
  366. package/server/.next/server/chunks/[root-of-the-server]__1_or7dycvkseg._.js +3 -0
  367. package/server/.next/server/chunks/[root-of-the-server]__1_zjje9edw0bz._.js +3 -0
  368. package/server/.next/server/chunks/[root-of-the-server]__1a9cd4d9ohf69._.js +3 -0
  369. package/server/.next/server/chunks/[root-of-the-server]__1acps2oi9s0i7._.js +3 -0
  370. package/server/.next/server/chunks/[root-of-the-server]__1akvpmbiap6nf._.js +6 -6
  371. package/server/.next/server/chunks/[root-of-the-server]__1cbg6fvn16har._.js +3 -0
  372. package/server/.next/server/chunks/[root-of-the-server]__1cdt67d022uf1._.js +3 -0
  373. package/server/.next/server/chunks/[root-of-the-server]__1cpee8xi1ig3-._.js +3 -0
  374. package/server/.next/server/chunks/[root-of-the-server]__1cwr95yi8preu._.js +3 -0
  375. package/server/.next/server/chunks/[root-of-the-server]__1dyith2r4bacm._.js +3 -0
  376. package/server/.next/server/chunks/[root-of-the-server]__1erq9v_t5jwp5._.js +3 -0
  377. package/server/.next/server/chunks/[root-of-the-server]__1fj8d0drhw1yx._.js +3 -0
  378. package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +3 -0
  379. package/server/.next/server/chunks/[root-of-the-server]__1ip0gr1i080kn._.js +3 -0
  380. package/server/.next/server/chunks/[root-of-the-server]__1k4cub-5zwl6v._.js +3 -0
  381. package/server/.next/server/chunks/[root-of-the-server]__1kqq90-sj8-op._.js +3 -0
  382. package/server/.next/server/chunks/[root-of-the-server]__1lam0c5a3f224._.js +3 -0
  383. package/server/.next/server/chunks/[root-of-the-server]__1lbmzw1j9jufm._.js +3 -0
  384. package/server/.next/server/chunks/[root-of-the-server]__1lfidps4tcfkg._.js +3 -0
  385. package/server/.next/server/chunks/[root-of-the-server]__1mrpvwofqktnv._.js +3 -0
  386. package/server/.next/server/chunks/[root-of-the-server]__1ozfk4_3lx1o7._.js +3 -0
  387. package/server/.next/server/chunks/[root-of-the-server]__1p1k8nq50cwfy._.js +3 -0
  388. package/server/.next/server/chunks/[root-of-the-server]__1ppnnpydkrs93._.js +3 -0
  389. package/server/.next/server/chunks/[root-of-the-server]__1pyhos8be90-4._.js +3 -0
  390. package/server/.next/server/chunks/[root-of-the-server]__1qdo_hgivrawk._.js +3 -0
  391. package/server/.next/server/chunks/[root-of-the-server]__1qp_dvfy4vvsm._.js +3 -0
  392. package/server/.next/server/chunks/[root-of-the-server]__1qrj37m-5y-56._.js +3 -0
  393. package/server/.next/server/chunks/[root-of-the-server]__1r9j5o80kocvz._.js +3 -0
  394. package/server/.next/server/chunks/[root-of-the-server]__1rk6wb8qem46d._.js +3 -0
  395. package/server/.next/server/chunks/[root-of-the-server]__1ry92m8xlcebk._.js +3 -0
  396. package/server/.next/server/chunks/[root-of-the-server]__1s20vd1etiird._.js +3 -0
  397. package/server/.next/server/chunks/[root-of-the-server]__1s9_nmhp7chvj._.js +3 -0
  398. package/server/.next/server/chunks/[root-of-the-server]__1sb8d4e5b5pdl._.js +3 -0
  399. package/server/.next/server/chunks/[root-of-the-server]__1spds17tpnsgr._.js +3 -0
  400. package/server/.next/server/chunks/[root-of-the-server]__1tzt79v15zvgk._.js +3 -0
  401. package/server/.next/server/chunks/[root-of-the-server]__1uq8blxfaq_23._.js +3 -0
  402. package/server/.next/server/chunks/[root-of-the-server]__1vmls0bkau925._.js +3 -0
  403. package/server/.next/server/chunks/[root-of-the-server]__1vutb2z9gw8el._.js +3 -0
  404. package/server/.next/server/chunks/[root-of-the-server]__1w-yk3b07wcf1._.js +3 -0
  405. package/server/.next/server/chunks/[root-of-the-server]__1w9hei9xe1odr._.js +3 -0
  406. package/server/.next/server/chunks/[root-of-the-server]__1w_wtn9h9eu93._.js +3 -0
  407. package/server/.next/server/chunks/[root-of-the-server]__1wjsjh-1i-sn6._.js +3 -0
  408. package/server/.next/server/chunks/[root-of-the-server]__1wu1dviacf85o._.js +3 -0
  409. package/server/.next/server/chunks/[root-of-the-server]__1x9u88f9545aa._.js +3 -0
  410. package/server/.next/server/chunks/[root-of-the-server]__1xrt934xl5wbd._.js +3 -0
  411. package/server/.next/server/chunks/[root-of-the-server]__1yc_xjjam78sg._.js +3 -0
  412. package/server/.next/server/chunks/[root-of-the-server]__1yzaj148hs9a1._.js +3 -0
  413. package/server/.next/server/chunks/[root-of-the-server]__1zcp6yrat15t5._.js +3 -0
  414. package/server/.next/server/chunks/[root-of-the-server]__1zrqz88a2lkx5._.js +3 -0
  415. package/server/.next/server/chunks/[root-of-the-server]__1zwi7po5_xe8-._.js +3 -0
  416. package/server/.next/server/chunks/[root-of-the-server]__2067x8gf07f-i._.js +3 -0
  417. package/server/.next/server/chunks/[root-of-the-server]__209b5bw0k6-t3._.js +3 -0
  418. package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +3 -0
  419. package/server/.next/server/chunks/[root-of-the-server]__212_l7y-180xi._.js +3 -0
  420. package/server/.next/server/chunks/[root-of-the-server]__213bsllf-9ztc._.js +3 -0
  421. package/server/.next/server/chunks/[root-of-the-server]__217jp1b3psyq_._.js +3 -0
  422. package/server/.next/server/chunks/_0-ow35nqudk5j._.js +1 -1
  423. package/server/.next/server/chunks/_023gjp96a_pq5._.js +3 -0
  424. package/server/.next/server/chunks/_03qlijpos6a21._.js +1 -1
  425. package/server/.next/server/chunks/_060yqv0qyo-lp._.js +4 -0
  426. package/server/.next/server/chunks/_06lf75x-xhl7v._.js +3 -0
  427. package/server/.next/server/chunks/_09l75j3ey14tc._.js +1 -1
  428. package/server/.next/server/chunks/_09s2unlb4r6yf._.js +3 -0
  429. package/server/.next/server/chunks/_0beox3lp9z58-._.js +3 -0
  430. package/server/.next/server/chunks/_0cbxgnkxr1uj8._.js +3 -0
  431. package/server/.next/server/chunks/_0dn7480wo_c3b._.js +3 -0
  432. package/server/.next/server/chunks/_0gobsd0_oxj5v._.js +3 -0
  433. package/server/.next/server/chunks/_0kay0bklv5khp._.js +3 -0
  434. package/server/.next/server/chunks/_0mqce8klmy8-0._.js +3 -0
  435. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  436. package/server/.next/server/chunks/_0nmfe_o9yhlh2._.js +3 -0
  437. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +3 -3
  438. package/server/.next/server/chunks/_0sy878k2ywjbq._.js +1 -1
  439. package/server/.next/server/chunks/_0vjggb8yo5b9f._.js +3 -0
  440. package/server/.next/server/chunks/_0vwctvzwde-sz._.js +37 -0
  441. package/server/.next/server/chunks/_0yzmfi6iwa_sk._.js +3 -0
  442. package/server/.next/server/chunks/_0zj10_al6r59j._.js +120 -0
  443. package/server/.next/server/chunks/_1-ior_ot6mgxg._.js +3 -0
  444. package/server/.next/server/chunks/_1-pw7jw52sbti._.js +1 -1
  445. package/server/.next/server/chunks/_1-yn_of8b2vax._.js +3 -0
  446. package/server/.next/server/chunks/_12die1sn6gq3d._.js +5 -5
  447. package/server/.next/server/chunks/_14dtti1qofqqv._.js +1 -1
  448. package/server/.next/server/chunks/_17wpfa9osjqcw._.js +3 -0
  449. package/server/.next/server/chunks/_1_son1yzo5xvl._.js +1 -1
  450. package/server/.next/server/chunks/_1c3ksp22eq0rw._.js +37 -0
  451. package/server/.next/server/chunks/_1cjfskikk32wj._.js +37 -0
  452. package/server/.next/server/chunks/_1ctwjh8q__6_g._.js +3 -0
  453. package/server/.next/server/chunks/_1d9mf39gz0bv4._.js +3 -0
  454. package/server/.next/server/chunks/_1daeuesc2d2tg._.js +3 -0
  455. package/server/.next/server/chunks/_1dlvqnaceqr-_._.js +3 -0
  456. package/server/.next/server/chunks/_1e_rbkrukj0x9._.js +120 -0
  457. package/server/.next/server/chunks/_1fi6cz4f-ri6d._.js +3 -0
  458. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +3 -3
  459. package/server/.next/server/chunks/_1jveb9aojczvg._.js +3 -0
  460. package/server/.next/server/chunks/_1msi9fy888xna._.js +3 -0
  461. package/server/.next/server/chunks/_1p_978boite-8._.js +1 -1
  462. package/server/.next/server/chunks/_1qw43v448l9e7._.js +37 -0
  463. package/server/.next/server/chunks/_1r719c9unpq-5._.js +1 -1
  464. package/server/.next/server/chunks/_1xs2ya_n7kb04._.js +57 -0
  465. package/server/.next/server/chunks/_1xyr5p_pqp086._.js +3 -0
  466. package/server/.next/server/chunks/_1z8__gxixw-z-._.js +4 -0
  467. package/server/.next/server/chunks/_1zn-ifmqqw-al._.js +3 -0
  468. package/server/.next/server/chunks/_21658fy9dy8ei._.js +3 -0
  469. package/server/.next/server/chunks/_219klbycazlx_._.js +4 -0
  470. package/server/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_1r2h_ubdhjtcp.js +3 -0
  471. package/server/.next/server/chunks/src_0--qn984h6czu._.js +3 -0
  472. package/server/.next/server/chunks/src_0390zcofy42lg._.js +3 -0
  473. package/server/.next/server/chunks/src_05jrvcsgaq5ek._.js +3 -0
  474. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  475. package/server/.next/server/chunks/src_06tyytf_c_hlu._.js +3 -0
  476. package/server/.next/server/chunks/src_07vqa8fdgu9ah._.js +3 -0
  477. package/server/.next/server/chunks/src_088gmyaew7ds0._.js +1 -1
  478. package/server/.next/server/chunks/src_08fq45_-8xq5o._.js +3 -0
  479. package/server/.next/server/chunks/src_0i-1ohush6mui._.js +3 -0
  480. package/server/.next/server/chunks/src_0lcm1yhnzhn2d._.js +3 -0
  481. package/server/.next/server/chunks/src_0u2zbz77uh__q._.js +3 -0
  482. package/server/.next/server/chunks/src_0ud2mqnh4emxz._.js +3 -0
  483. package/server/.next/server/chunks/src_0v67kw2p2wd_c._.js +3 -0
  484. package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +1 -1
  485. package/server/.next/server/chunks/src_0yve3gn52i_mn._.js +3 -0
  486. package/server/.next/server/chunks/src_1-6a00bmwlymu._.js +3 -0
  487. package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +1 -1
  488. package/server/.next/server/chunks/src_12wdz9bdn7a-7._.js +3 -0
  489. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  490. package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +1 -1
  491. package/server/.next/server/chunks/src_1cvp6ubs-3z6l._.js +3 -0
  492. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +3 -3
  493. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +3 -0
  494. package/server/.next/server/chunks/src_1v3tf1ye2jzyk._.js +3 -0
  495. package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +1 -1
  496. package/server/.next/server/chunks/src_1wmb2yl3tn-dd._.js +3 -0
  497. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +3 -3
  498. package/server/.next/server/chunks/src_lib_0-xd6p5793qdu._.js +3 -0
  499. package/server/.next/server/chunks/src_lib_0cbh80jxsdx3n._.js +6 -0
  500. package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
  501. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  502. package/server/.next/server/chunks/src_lib_0lpdyif-edl7i._.js +3 -0
  503. package/server/.next/server/chunks/src_lib_0n1xnas42gur9._.js +1 -1
  504. package/server/.next/server/chunks/src_lib_0qbcg988i_-ee._.js +3 -0
  505. package/server/.next/server/chunks/src_lib_0s_txig7jm3ty._.js +3 -3
  506. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +2 -2
  507. package/server/.next/server/chunks/src_lib_1550ey8j96v9n._.js +4 -0
  508. package/server/.next/server/chunks/src_lib_15wd7ab4u5nrn._.js +3 -3
  509. package/server/.next/server/chunks/src_lib_15y0kwcot_7u0._.js +6 -0
  510. package/server/.next/server/chunks/src_lib_16oqslmhfgod1._.js +3 -0
  511. package/server/.next/server/chunks/src_lib_16y1secb8t9fj._.js +6 -0
  512. package/server/.next/server/chunks/src_lib_18wgdeemqm6gg._.js +3 -0
  513. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +2 -2
  514. package/server/.next/server/chunks/src_lib_1iwyh213u9xts._.js +6 -0
  515. package/server/.next/server/chunks/src_lib_1onr7b4_kglpt._.js +4 -0
  516. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +2 -2
  517. package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
  518. package/server/.next/server/chunks/src_lib_1xwavi_m_li7p._.js +3 -0
  519. package/server/.next/server/chunks/src_lib_1ywf_wup1kxy_._.js +1 -1
  520. package/server/.next/server/chunks/src_lib_1zd1btsqvk1e2._.js +3 -0
  521. package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  522. package/server/.next/server/chunks/src_lib_collector_http-check_ts_0bh0rtjky3u1-._.js +3 -0
  523. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +5 -5
  524. package/server/.next/server/chunks/src_lib_data_advisor-db_ts_0rl1ug3iana24._.js +3 -0
  525. package/server/.next/server/chunks/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +3 -0
  526. package/server/.next/server/chunks/src_lib_data_deployments-db_ts_1shbv_55rwa2-._.js +3 -0
  527. package/server/.next/server/chunks/src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js +3 -0
  528. package/server/.next/server/chunks/src_lib_demo_0a5wqvhuj5hjh._.js +3 -0
  529. package/server/.next/server/chunks/src_lib_demo_0alh_mll9yp9d._.js +3 -0
  530. package/server/.next/server/chunks/src_lib_demo_0rbejiyw_ry41._.js +3 -0
  531. package/server/.next/server/chunks/src_lib_demo_11p30f_ci6ie2._.js +3 -0
  532. package/server/.next/server/chunks/src_lib_demo_21179a6aev-i3._.js +3 -0
  533. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +6 -6
  534. package/server/.next/server/chunks/src_lib_demo_session_ts_01_g7aejuhoq0._.js +3 -0
  535. package/server/.next/server/chunks/src_lib_deps_plan_ts_0bctf8v4qttk5._.js +1 -1
  536. package/server/.next/server/chunks/src_lib_domain-move_ts_04stiet1-xpe2._.js +3 -0
  537. package/server/.next/server/chunks/src_lib_local-auth_proxy_ts_1g9krhdh2rnt2._.js +4 -4
  538. package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +1 -1
  539. package/server/.next/server/chunks/src_lib_rate-limit_ts_09dzyftcadggh._.js +1 -1
  540. package/server/.next/server/chunks/src_lib_rate-limit_ts_0r-eu6to05vyx._.js +1 -1
  541. package/server/.next/server/chunks/src_lib_rate-limit_ts_1ahtm4quu2rri._.js +1 -1
  542. package/server/.next/server/chunks/src_lib_sections_ts_0r8u4nvlpdkgq._.js +3 -0
  543. package/server/.next/server/chunks/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  544. package/server/.next/server/chunks/src_private_1yzfhupl3rlpx._.js +6 -0
  545. package/server/.next/server/chunks/src_private_actions_proposals-settings_ts_16v2x9a4amejq._.js +1 -1
  546. package/server/.next/server/chunks/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  547. package/server/.next/server/chunks/src_private_auth_api-key_ts_1y0tfcmbozpwf._.js +4 -4
  548. package/server/.next/server/chunks/src_private_console_snapshot_ts_17etygjp9dy1t._.js +1 -1
  549. package/server/.next/server/chunks/src_private_mcp_data_ts_0qdp7n8rzp7k7._.js +1 -1
  550. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  551. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_1q6nc5chwn5k4.js +1 -1
  552. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +1 -1
  553. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +1 -1
  554. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +1 -1
  555. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +1 -1
  556. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +1 -1
  557. package/server/.next/server/chunks/ssr/[externals]__0et8619os7o06._.js +3 -0
  558. package/server/.next/server/chunks/ssr/[externals]__0jv_q8g96gubg._.js +3 -0
  559. package/server/.next/server/chunks/ssr/[externals]__0uri0lxk2rh6k._.js +3 -0
  560. package/server/.next/server/chunks/ssr/[externals]__0x50_fipcza3k._.js +3 -0
  561. package/server/.next/server/chunks/ssr/[externals]__0yzs5m5hot2o2._.js +3 -0
  562. package/server/.next/server/chunks/ssr/[externals]__1hqh7fi0-rtlc._.js +3 -0
  563. package/server/.next/server/chunks/ssr/[externals]__1mmmc4yhx5fm6._.js +3 -0
  564. package/server/.next/server/chunks/ssr/[externals]__1neu6qld_ilyx._.js +3 -0
  565. package/server/.next/server/chunks/ssr/[externals]__1nv-uycpa6_lh._.js +3 -0
  566. package/server/.next/server/chunks/ssr/[externals]__1p5zuqwmfkoo1._.js +3 -0
  567. package/server/.next/server/chunks/ssr/[externals]__1thdbok76xtof._.js +3 -0
  568. package/server/.next/server/chunks/ssr/[root-of-the-server]__0-jx3t8dg8n5t._.js +3 -0
  569. package/server/.next/server/chunks/ssr/[root-of-the-server]__0-o5i-5pqjk5v._.js +3 -0
  570. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +3 -0
  571. package/server/.next/server/chunks/ssr/[root-of-the-server]__00wwav5k7xmy0._.js +3 -0
  572. package/server/.next/server/chunks/ssr/[root-of-the-server]__01mgajn73iwc7._.js +5 -0
  573. package/server/.next/server/chunks/ssr/[root-of-the-server]__04klr3-4qi7-t._.js +3 -0
  574. package/server/.next/server/chunks/ssr/[root-of-the-server]__04tkts7c9ylma._.js +3 -0
  575. package/server/.next/server/chunks/ssr/[root-of-the-server]__04zgt2t-w6-75._.js +3 -0
  576. package/server/.next/server/chunks/ssr/[root-of-the-server]__050d99bknjdvq._.js +3 -0
  577. package/server/.next/server/chunks/ssr/[root-of-the-server]__05hw89gap74cw._.js +3 -0
  578. package/server/.next/server/chunks/ssr/[root-of-the-server]__05q-laapy00sk._.js +3 -0
  579. package/server/.next/server/chunks/ssr/[root-of-the-server]__06uaa_2zbg57p._.js +3 -0
  580. package/server/.next/server/chunks/ssr/[root-of-the-server]__081l8lhgoffuc._.js +3 -0
  581. package/server/.next/server/chunks/ssr/[root-of-the-server]__0828947qad6xx._.js +3 -0
  582. package/server/.next/server/chunks/ssr/[root-of-the-server]__08w3ad-xux1g4._.js +3 -0
  583. package/server/.next/server/chunks/ssr/[root-of-the-server]__0_1130gx52k-9._.js +3 -0
  584. package/server/.next/server/chunks/ssr/[root-of-the-server]__0_677ii9bahoy._.js +3 -0
  585. package/server/.next/server/chunks/ssr/[root-of-the-server]__0bn_thc_vtf_i._.js +3 -0
  586. package/server/.next/server/chunks/ssr/[root-of-the-server]__0dd9rci1isdjf._.js +3 -0
  587. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ejxk0jlgi4eb._.js +3 -0
  588. package/server/.next/server/chunks/ssr/[root-of-the-server]__0exp042uqhyqs._.js +3 -0
  589. package/server/.next/server/chunks/ssr/[root-of-the-server]__0fkxv6yyok76e._.js +3 -0
  590. package/server/.next/server/chunks/ssr/[root-of-the-server]__0h2hxe0vl-2x0._.js +3 -0
  591. package/server/.next/server/chunks/ssr/[root-of-the-server]__0hgf7si8htevx._.js +3 -0
  592. package/server/.next/server/chunks/ssr/[root-of-the-server]__0k8k-fbyzfbog._.js +3 -0
  593. package/server/.next/server/chunks/ssr/[root-of-the-server]__0khp_gsot3jh_._.js +3 -0
  594. package/server/.next/server/chunks/ssr/[root-of-the-server]__0khvq0xdah931._.js +3 -0
  595. package/server/.next/server/chunks/ssr/[root-of-the-server]__0kr_tvfgqtb-o._.js +3 -0
  596. package/server/.next/server/chunks/ssr/[root-of-the-server]__0lehuiyzxp78t._.js +3 -0
  597. package/server/.next/server/chunks/ssr/[root-of-the-server]__0llh-w4ta1qbp._.js +3 -0
  598. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nlfip3wc3l2z._.js +4 -0
  599. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nrc_8-wrhf3y._.js +3 -0
  600. package/server/.next/server/chunks/ssr/[root-of-the-server]__0oayb8dm0iu8k._.js +3 -0
  601. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ojywxj06986-._.js +3 -0
  602. package/server/.next/server/chunks/ssr/[root-of-the-server]__0p7d9dfmuhnvv._.js +3 -0
  603. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ptdec0sozaqm._.js +3 -0
  604. package/server/.next/server/chunks/ssr/[root-of-the-server]__0tjab3yn0asf7._.js +3 -0
  605. package/server/.next/server/chunks/ssr/[root-of-the-server]__0tp9vtckbkk9o._.js +3 -0
  606. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ujxsp9l9ad-l._.js +3 -0
  607. package/server/.next/server/chunks/ssr/[root-of-the-server]__0vdb51zrgcnkp._.js +3 -0
  608. package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +1 -1
  609. package/server/.next/server/chunks/ssr/[root-of-the-server]__0yzkcvsekwypa._.js +3 -0
  610. package/server/.next/server/chunks/ssr/[root-of-the-server]__1096-q3_trmm9._.js +3 -0
  611. package/server/.next/server/chunks/ssr/[root-of-the-server]__10rhqv5xq9jaj._.js +3 -0
  612. package/server/.next/server/chunks/ssr/[root-of-the-server]__10y2ig7dg3f-k._.js +3 -0
  613. package/server/.next/server/chunks/ssr/[root-of-the-server]__11ham42w_feik._.js +3 -0
  614. package/server/.next/server/chunks/ssr/[root-of-the-server]__12-a3tcnfdcyq._.js +3 -0
  615. package/server/.next/server/chunks/ssr/[root-of-the-server]__12ymdwm8dphvu._.js +3 -0
  616. package/server/.next/server/chunks/ssr/[root-of-the-server]__133_j0bmsjnzt._.js +3 -0
  617. package/server/.next/server/chunks/ssr/[root-of-the-server]__14ept-_l8j32m._.js +3 -0
  618. package/server/.next/server/chunks/ssr/[root-of-the-server]__15keslh0ov5mv._.js +3 -0
  619. package/server/.next/server/chunks/ssr/[root-of-the-server]__15wwi1pda8ims._.js +3 -0
  620. package/server/.next/server/chunks/ssr/[root-of-the-server]__16ehn8dupt4y_._.js +3 -0
  621. package/server/.next/server/chunks/ssr/[root-of-the-server]__16jkttbe1yoai._.js +3 -0
  622. package/server/.next/server/chunks/ssr/[root-of-the-server]__17bfr3mlfy4ur._.js +3 -0
  623. package/server/.next/server/chunks/ssr/[root-of-the-server]__18xb7pbdmiyiz._.js +3 -0
  624. package/server/.next/server/chunks/ssr/[root-of-the-server]__194546bqpq02e._.js +3 -0
  625. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  626. package/server/.next/server/chunks/ssr/[root-of-the-server]__1a3fyho18xlil._.js +3 -0
  627. package/server/.next/server/chunks/ssr/[root-of-the-server]__1acw8ohqfhez7._.js +3 -0
  628. package/server/.next/server/chunks/ssr/[root-of-the-server]__1bvp2ia3h9qbs._.js +3 -0
  629. package/server/.next/server/chunks/ssr/[root-of-the-server]__1cmcwg6afneet._.js +3 -0
  630. package/server/.next/server/chunks/ssr/[root-of-the-server]__1dyjzbqwy6o12._.js +3 -0
  631. package/server/.next/server/chunks/ssr/[root-of-the-server]__1f9yq2f20_bof._.js +3 -0
  632. package/server/.next/server/chunks/ssr/[root-of-the-server]__1fj33_xkainxk._.js +4 -0
  633. package/server/.next/server/chunks/ssr/[root-of-the-server]__1hmh1-e3z3_dw._.js +3 -0
  634. package/server/.next/server/chunks/ssr/[root-of-the-server]__1jgp7__2zpblj._.js +3 -0
  635. package/server/.next/server/chunks/ssr/[root-of-the-server]__1k_hi9mbd4_by._.js +3 -0
  636. package/server/.next/server/chunks/ssr/[root-of-the-server]__1kieqcc6kdywx._.js +3 -0
  637. package/server/.next/server/chunks/ssr/[root-of-the-server]__1l695djsioelp._.js +3 -0
  638. package/server/.next/server/chunks/ssr/[root-of-the-server]__1nat8lbog5imr._.js +3 -0
  639. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pfk0fqey3ipf._.js +3 -0
  640. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pgpryg9lkmoz._.js +3 -0
  641. package/server/.next/server/chunks/ssr/[root-of-the-server]__1qac3db7p9a38._.js +3 -0
  642. package/server/.next/server/chunks/ssr/[root-of-the-server]__1t4thrxlv4zre._.js +3 -0
  643. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tco2ec6ha1k6._.js +3 -0
  644. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tcu4-eowz9vt._.js +3 -0
  645. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tuftf7fags7x._.js +5 -0
  646. package/server/.next/server/chunks/ssr/[root-of-the-server]__1vyste6xyyu37._.js +3 -0
  647. package/server/.next/server/chunks/ssr/[root-of-the-server]__1xt8hv0dzjv2i._.js +3 -0
  648. package/server/.next/server/chunks/ssr/[root-of-the-server]__1xwqrik2sugmi._.js +3 -0
  649. package/server/.next/server/chunks/ssr/[root-of-the-server]__1yf4_oyl-3xp7._.js +3 -0
  650. package/server/.next/server/chunks/ssr/[root-of-the-server]__20of6xa16fwqa._.js +3 -0
  651. package/server/.next/server/chunks/ssr/[root-of-the-server]__2195hg4329yfp._.js +3 -0
  652. package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +2 -2
  653. package/server/.next/server/chunks/ssr/_022u_nnwo1yb4._.js +3 -0
  654. package/server/.next/server/chunks/ssr/_026w_ig6vy9bt._.js +1 -1
  655. package/server/.next/server/chunks/ssr/_04ltmruop4rt3._.js +4 -0
  656. package/server/.next/server/chunks/ssr/_06kn13xh_13da._.js +3 -0
  657. package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +2 -2
  658. package/server/.next/server/chunks/ssr/_090fib2x989oc._.js +3 -0
  659. package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +3 -0
  660. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  661. package/server/.next/server/chunks/ssr/_0_rtyc4t9xcdo._.js +1 -1
  662. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  663. package/server/.next/server/chunks/ssr/_0ad3y3l77xkxe._.js +3 -0
  664. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  665. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +3 -0
  666. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  667. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  668. package/server/.next/server/chunks/ssr/_0fyag9o6gdcmb._.js +3 -0
  669. package/server/.next/server/chunks/ssr/_0hmxyfx7su4uk._.js +4 -0
  670. package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +2 -2
  671. package/server/.next/server/chunks/ssr/_0i2a_ziqzhyq-._.js +3 -0
  672. package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +2 -2
  673. package/server/.next/server/chunks/ssr/_0k2qpgzlqzc_p._.js +1 -1
  674. package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +2 -2
  675. package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +2 -2
  676. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  677. package/server/.next/server/chunks/ssr/_0qcvpnwa1u3vr._.js +3 -0
  678. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +4 -0
  679. package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +1 -1
  680. package/server/.next/server/chunks/ssr/_0ufjz7kfd4jbd._.js +3 -0
  681. package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +2 -2
  682. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +3 -0
  683. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +4 -0
  684. package/server/.next/server/chunks/ssr/_0ymtfa6vo-yz5._.js +3 -0
  685. package/server/.next/server/chunks/ssr/_0yn1xeumiigj0._.js +3 -0
  686. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  687. package/server/.next/server/chunks/ssr/_1-ior_ot6mgxg._.js +3 -0
  688. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  689. package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +2 -2
  690. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +4 -0
  691. package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +2 -2
  692. package/server/.next/server/chunks/ssr/_14dtti1qofqqv._.js +1 -1
  693. package/server/.next/server/chunks/ssr/_14n2368190qms._.js +3 -0
  694. package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +2 -2
  695. package/server/.next/server/chunks/ssr/_18lgd6o04ugow._.js +2 -2
  696. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  697. package/server/.next/server/chunks/ssr/_19dldpcnzhkuw._.js +3 -0
  698. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  699. package/server/.next/server/chunks/ssr/_1ag8axv14phju._.js +4 -0
  700. package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +2 -2
  701. package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +2 -2
  702. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  703. package/server/.next/server/chunks/ssr/_1dlvqnaceqr-_._.js +3 -0
  704. package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +2 -2
  705. package/server/.next/server/chunks/ssr/_1e5zfwgdf0mm5._.js +3 -0
  706. package/server/.next/server/chunks/ssr/_1g27pa6rivh_s._.js +1 -1
  707. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  708. package/server/.next/server/chunks/ssr/_1h93joqd_-1og._.js +3 -0
  709. package/server/.next/server/chunks/ssr/_1i77n2n-wb98v._.js +2 -2
  710. package/server/.next/server/chunks/ssr/_1i96si4hzn74p._.js +1 -1
  711. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  712. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  713. package/server/.next/server/chunks/ssr/_1nzncndn-1ggb._.js +1 -1
  714. package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +3 -0
  715. package/server/.next/server/chunks/ssr/_1uae0vl2c6fz7._.js +3 -0
  716. package/server/.next/server/chunks/ssr/_1w3eagae2f-2-._.js +1 -1
  717. package/server/.next/server/chunks/ssr/_1w_rq6clcs0ft._.js +4 -0
  718. package/server/.next/server/chunks/ssr/_1wssvwkmxcdn5._.js +3 -0
  719. package/server/.next/server/chunks/ssr/_1y8wer5tpgiqw._.js +3 -0
  720. package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +2 -2
  721. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  722. package/server/.next/server/chunks/ssr/_20gx4od4pnj8d._.js +3 -0
  723. package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +2 -2
  724. package/server/.next/server/chunks/ssr/_217qa04yo70zg._.js +3 -0
  725. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +1 -1
  726. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +1 -1
  727. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +1 -1
  728. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +1 -1
  729. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1zw_mdh2ep6vs.js +3 -0
  730. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_06a1fnrawxlh1.js +1 -1
  731. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +1 -1
  732. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +1 -1
  733. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_217-u-dmlzx6a.js +3 -0
  734. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +1 -1
  735. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_0ven9q46d3d7s.js +1 -1
  736. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +1 -1
  737. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +1 -1
  738. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +1 -1
  739. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  740. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  741. package/server/.next/server/chunks/ssr/node_modules_1_u5afwqp6brs._.js +3 -0
  742. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-kg_ige9ehqj.js +3 -0
  743. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00k37tbaia8dh.js +3 -0
  744. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00z_p6szkga15.js +3 -0
  745. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_01-utr59mtfg1.js +3 -0
  746. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_055hw7kwif935.js +3 -0
  747. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06fg_efdkc3kx.js +3 -0
  748. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08f3d08smwt6_.js +3 -0
  749. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08lcfro9qovjn.js +3 -0
  750. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0c8wd69fns_0d.js +3 -0
  751. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0cha-3kg99u4h.js +3 -0
  752. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d_0he72lzkh9.js +3 -0
  753. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0f6chw8z5cuyg.js +3 -0
  754. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0i3p3qfjihm3f.js +3 -0
  755. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ivgh76j_tu2x.js +3 -0
  756. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j9-_xhs21abp.js +3 -0
  757. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0kwpdjujljna-.js +3 -0
  758. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ns6neau7m6mt.js +3 -0
  759. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rer2akuum5r-.js +3 -0
  760. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0umt_achusjjb.js +3 -0
  761. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0un7wq602mt3n.js +3 -0
  762. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vrdl9n7guitd.js +3 -0
  763. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vse2cboy4cms.js +3 -0
  764. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0x7ey4_8b48_o.js +3 -0
  765. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0z8l8t55t65t_.js +3 -0
  766. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0zap6p0vuv-fp.js +3 -0
  767. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-m49cfu6a7gl.js +3 -0
  768. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-w3hswsbrppl.js +3 -0
  769. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1167zbjp4ys_a.js +3 -0
  770. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_129serqqq3xyq.js +3 -0
  771. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12en3pdvxu0dy.js +3 -0
  772. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14-4y3i6c1vxc.js +3 -0
  773. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1596hk9t3r1a5.js +3 -0
  774. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17us24ry0om-z.js +3 -0
  775. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_8xi22-aoxu1.js +3 -0
  776. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_l32aoya75_m.js +3 -0
  777. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ar0v26274uhj.js +3 -0
  778. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dkgfjoaf_1g3.js +3 -0
  779. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1eg14m09zdg__.js +3 -0
  780. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1h_y671y1la_8.js +3 -0
  781. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mkokmyyp47hd.js +3 -0
  782. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1msjiuu45famw.js +3 -0
  783. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mw7isdchouml.js +3 -0
  784. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1n4cotiug2a_r.js +3 -0
  785. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1njl24pr6dwrt.js +3 -0
  786. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o1_3bydb-3j5.js +3 -0
  787. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1pjor42_s9imf.js +3 -0
  788. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1q_82vyl-q7u6.js +3 -0
  789. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qta4yeufzpz7.js +3 -0
  790. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qxbl6k6dji0s.js +3 -0
  791. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_21a3kf8buivxw.js +3 -0
  792. package/server/.next/server/chunks/ssr/src_0-v68qrxobagw._.js +4 -3
  793. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  794. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  795. package/server/.next/server/chunks/ssr/src_0905fjqu0qv57._.js +3 -0
  796. package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +2 -2
  797. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  798. package/server/.next/server/chunks/ssr/src_0i-1ohush6mui._.js +3 -0
  799. package/server/.next/server/chunks/ssr/src_0ixeyy74fe5jy._.js +3 -0
  800. package/server/.next/server/chunks/ssr/src_0ley8c3htc2q9._.js +3 -0
  801. package/server/.next/server/chunks/ssr/src_0oagnv9_4qww7._.js +3 -0
  802. package/server/.next/server/chunks/ssr/src_0p0fk07bj9gpq._.js +1 -1
  803. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  804. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
  805. package/server/.next/server/chunks/ssr/src_0vi30frvjgri2._.js +3 -0
  806. package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +1 -1
  807. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  808. package/server/.next/server/chunks/ssr/src_12sdm7skn8fr1._.js +3 -0
  809. package/server/.next/server/chunks/ssr/src_13upnysaqwi9a._.js +3 -0
  810. package/server/.next/server/chunks/ssr/src_16lx0qdi44evh._.js +3 -0
  811. package/server/.next/server/chunks/ssr/src_1koc8y1nfdlw3._.js +3 -0
  812. package/server/.next/server/chunks/ssr/src_1nse4o3frj33x._.js +3 -0
  813. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +3 -0
  814. package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +1 -1
  815. package/server/.next/server/chunks/ssr/src_1xjlp4oxlprxb._.js +3 -0
  816. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  817. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  818. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  819. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  820. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  821. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  822. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_1kor9sy67qpiw._.js +1 -1
  823. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  824. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_1v003vrkwk19w._.js +1 -1
  825. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  826. package/server/.next/server/chunks/ssr/src_app_(console)_05mlxmavgli8_._.js +3 -0
  827. package/server/.next/server/chunks/ssr/src_app_(console)_0u1ec16rmzze6._.js +3 -0
  828. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +1 -1
  829. package/server/.next/server/chunks/ssr/src_app_(console)_apps_1_g9txz3qpxgg._.js +1 -1
  830. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  831. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  832. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  833. package/server/.next/server/chunks/ssr/src_app_(console)_catalog_page_tsx_1u2_-bv4yi5oo._.js +1 -1
  834. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  835. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  836. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  837. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  838. package/server/.next/server/chunks/ssr/src_app_(console)_deployments_06a83hsex1kba._.js +1 -1
  839. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  840. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  841. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_1stlii5cy_hx3._.js +3 -0
  842. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +3 -0
  843. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  844. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_17htk-vea5fna._.js +1 -1
  845. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  846. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  847. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  848. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  849. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  850. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  851. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  852. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_148phfjye0539._.js +1 -1
  853. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  854. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  855. package/server/.next/server/chunks/ssr/src_app_(console)_welcome_page_tsx_1bw0x0riq-oem._.js +1 -1
  856. package/server/.next/server/chunks/ssr/src_app_invite_page_tsx_0mny3a23n5hs9._.js +1 -1
  857. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  858. package/server/.next/server/chunks/ssr/src_app_s_[slug]_not-found_tsx_04_zrw19809g4._.js +3 -0
  859. package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
  860. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  861. package/server/.next/server/chunks/ssr/src_app_signin_06v-xlrxfp079._.js +3 -0
  862. package/server/.next/server/chunks/ssr/src_app_signin_1_sp0qx8_z7c9._.js +1 -1
  863. package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +3 -0
  864. package/server/.next/server/chunks/ssr/src_components_0j11cbzb8mgbx._.js +1 -1
  865. package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.js +1 -1
  866. package/server/.next/server/chunks/ssr/src_components_1pytjhvy4c2mp._.js +1 -1
  867. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  868. package/server/.next/server/chunks/ssr/src_components_row-menu_tsx_0rzpl9elzpy8u._.js +1 -1
  869. package/server/.next/server/chunks/ssr/src_lib_0-xd6p5793qdu._.js +3 -0
  870. package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +1 -1
  871. package/server/.next/server/chunks/ssr/src_lib_033ses2c4-ww-._.js +1 -1
  872. package/server/.next/server/chunks/ssr/src_lib_0br09js6tlkn0._.js +3 -0
  873. package/server/.next/server/chunks/ssr/src_lib_0f_4mvf4-xxst._.js +1 -1
  874. package/server/.next/server/chunks/ssr/src_lib_0n1xnas42gur9._.js +1 -1
  875. package/server/.next/server/chunks/ssr/src_lib_0qbcg988i_-ee._.js +3 -0
  876. package/server/.next/server/chunks/ssr/src_lib_16oqslmhfgod1._.js +3 -0
  877. package/server/.next/server/chunks/ssr/src_lib_18e550s395xn5._.js +3 -0
  878. package/server/.next/server/chunks/ssr/src_lib_18wgdeemqm6gg._.js +3 -0
  879. package/server/.next/server/chunks/ssr/src_lib_1_5ea0kxdn6zt._.js +3 -0
  880. package/server/.next/server/chunks/ssr/src_lib_1xwavi_m_li7p._.js +3 -0
  881. package/server/.next/server/chunks/ssr/src_lib_1ywf_wup1kxy_._.js +1 -1
  882. package/server/.next/server/chunks/ssr/src_lib_20y7pw44m8gs0._.js +1 -1
  883. package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  884. package/server/.next/server/chunks/ssr/src_lib_backoff_ts_1ng2bz5j0w501._.js +3 -0
  885. package/server/.next/server/chunks/ssr/src_lib_collector_db-tasks_ts_1srkgjghwj3ma._.js +3 -0
  886. package/server/.next/server/chunks/ssr/src_lib_collector_http-check_ts_0bh0rtjky3u1-._.js +3 -0
  887. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
  888. package/server/.next/server/chunks/ssr/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +3 -0
  889. package/server/.next/server/chunks/ssr/src_lib_data_deployments-db_ts_1shbv_55rwa2-._.js +3 -0
  890. package/server/.next/server/chunks/ssr/src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js +3 -0
  891. package/server/.next/server/chunks/ssr/src_lib_data_public-status-db_ts_0gvnrjcitruqe._.js +1 -1
  892. package/server/.next/server/chunks/ssr/src_lib_data_supabase-action_ts_0h0b758akvlvd._.js +1 -1
  893. package/server/.next/server/chunks/ssr/src_lib_data_vercel-action_ts_1hvera3nwo5fp._.js +1 -1
  894. package/server/.next/server/chunks/ssr/src_lib_demo_0a5wqvhuj5hjh._.js +3 -0
  895. package/server/.next/server/chunks/ssr/src_lib_demo_0mr090huk17s8._.js +3 -0
  896. package/server/.next/server/chunks/ssr/src_lib_demo_15okweo0amos4._.js +3 -0
  897. package/server/.next/server/chunks/ssr/src_lib_deps_plan_ts_0bctf8v4qttk5._.js +1 -1
  898. package/server/.next/server/chunks/ssr/src_lib_domain-move_ts_04stiet1-xpe2._.js +3 -0
  899. package/server/.next/server/chunks/ssr/src_lib_rate-limit_ts_0r-eu6to05vyx._.js +1 -1
  900. package/server/.next/server/chunks/ssr/src_lib_sections_ts_0r8u4nvlpdkgq._.js +3 -0
  901. package/server/.next/server/chunks/ssr/src_lib_utils_ts_0m4hn6s00gc2u._.js +3 -0
  902. package/server/.next/server/chunks/ssr/src_lib_view_deploy-actions_ts_110iixnn6rdh9._.js +3 -0
  903. package/server/.next/server/chunks/ssr/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  904. package/server/.next/server/chunks/ssr/src_lib_view_usage_ts_1h1tj0m3n2vul._.js +1 -1
  905. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  906. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  907. package/server/.next/server/chunks/ssr/src_private_actions_proposals-settings_ts_16v2x9a4amejq._.js +1 -1
  908. package/server/.next/server/chunks/ssr/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  909. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  910. package/server/.next/server/chunks/ssr/src_private_ai_usage-analytics_ts_1bxba3xarzol0._.js +1 -1
  911. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  912. package/server/.next/server/middleware-build-manifest.js +3 -14
  913. package/server/.next/server/middleware.js +1 -1
  914. package/server/.next/server/next-font-manifest.js +1 -1
  915. package/server/.next/server/next-font-manifest.json +0 -4
  916. package/server/.next/server/pages/404.html +1 -1
  917. package/server/.next/server/pages/500.html +1 -1
  918. package/server/.next/server/preview-props.json +3 -3
  919. package/server/.next/server/server-reference-manifest.js +1 -1
  920. package/server/.next/server/server-reference-manifest.json +240 -210
  921. package/server/.next/static/chunks/01mhc6kz81iwf.js +1 -0
  922. package/server/.next/static/chunks/02byu0sw5d0g9.js +1 -0
  923. package/server/.next/static/chunks/02e07gc948zdh.js +1 -0
  924. package/server/.next/static/chunks/04lzxilmq17f_.js +1 -0
  925. package/server/.next/static/chunks/04yl9t4cn6zwm.js +1 -0
  926. package/server/.next/static/chunks/08oksl0raetg5.js +1 -0
  927. package/server/.next/static/chunks/0d556cjlmwiq4.js +1 -0
  928. package/server/.next/static/chunks/0foc_dy1j2x52.js +1 -0
  929. package/server/.next/static/chunks/0jm8a63677590.js +1 -0
  930. package/server/.next/static/chunks/0lcmy-_tdtrqk.js +1 -0
  931. package/server/.next/static/chunks/0ld0vtd027il_.js +1 -0
  932. package/server/.next/static/chunks/0qciunoy58a03.js +7 -0
  933. package/server/.next/static/chunks/0r2z8zg4n43pd.js +1 -0
  934. package/server/.next/static/chunks/0xwz6ps1581qa.js +1 -0
  935. package/server/.next/static/chunks/1-zyqj42cr9hy.css +3 -0
  936. package/server/.next/static/chunks/11gctw6uutyd7.js +1 -0
  937. package/server/.next/static/chunks/12l7tr29-a97t.js +1 -0
  938. package/server/.next/static/chunks/160mk2sltxl3e.js +1 -0
  939. package/server/.next/static/chunks/16lnw4itnfhw-.js +1 -0
  940. package/server/.next/static/chunks/177dd6kiifsoi.js +1 -0
  941. package/server/.next/static/chunks/1bn-7bluoi2vi.js +1 -0
  942. package/server/.next/static/chunks/1d0mukiro5klq.js +1 -0
  943. package/server/.next/static/chunks/1jc8ghvf721gg.js +76 -0
  944. package/server/.next/static/chunks/1nfofl7nhy6fx.js +1 -0
  945. package/server/.next/static/chunks/1rt5heq1xn_az.js +1 -0
  946. package/server/.next/static/chunks/1x8bgprfjtt59.js +1 -0
  947. package/server/.next/static/chunks/1yctclvh0qaxz.js +1 -0
  948. package/server/.next/static/chunks/1zyyqxguxs96l.js +1 -0
  949. package/server/.next/static/chunks/22h4lj0gp_6n5.js +1 -0
  950. package/server/.next/static/chunks/22ierqxhqtwn6.js +33 -0
  951. package/server/.next/static/chunks/25r6-t40ok5s9.js +1 -0
  952. package/server/.next/static/chunks/2aerfowxsf234.js +1 -0
  953. package/server/.next/static/chunks/2lfa16b0tlnvj.js +1 -0
  954. package/server/.next/static/chunks/2onhuya5-n3-e.js +1 -0
  955. package/server/.next/static/chunks/2pn16qmann41d.js +1 -0
  956. package/server/.next/static/chunks/2szlo15y09085.js +1 -0
  957. package/server/.next/static/chunks/2v_f39dz8sa3-.js +1 -0
  958. package/server/.next/static/chunks/2wd8yh_ni0lqj.js +1 -0
  959. package/server/.next/static/chunks/2xhx4rma6gx5o.js +1 -0
  960. package/server/.next/static/chunks/37f1rjolzxbiv.js +1 -0
  961. package/server/.next/static/chunks/38c9rnljzl6iw.js +1 -0
  962. package/server/.next/static/chunks/3_erdlvi2tz19.js +1 -0
  963. package/server/.next/static/chunks/3qbk8r6jm8udo.js +5 -0
  964. package/server/.next/static/chunks/3tl9dgour-h9l.js +1 -0
  965. package/server/.next/static/chunks/3vbz762vgy3dx.js +1 -0
  966. package/server/.next/static/chunks/3wi43ltm1e5iy.js +1 -0
  967. package/server/.next/static/chunks/3yljsdgzvrkdf.js +1 -0
  968. package/server/.next/static/chunks/3zaeh5nbkqpyj.js +1 -0
  969. package/server/.next/static/chunks/3zx1pe40m_ddz.js +1 -0
  970. package/server/.next/static/chunks/42z3imsp11da1.js +1 -0
  971. package/server/.next/static/media/icon.17zy5uxei5-yo.svg +17 -0
  972. package/server/drizzle-selfhost/0005_framework_vulnerable_rule.sql +2 -0
  973. package/server/drizzle-selfhost/0006_monitor_domain_moved.sql +4 -0
  974. package/server/drizzle-selfhost/meta/_journal.json +54 -40
  975. package/server/server.js +1 -1
  976. package/tools/reset-login.mjs +29 -2
  977. package/server/.next/server/app/(console)/[...slug]/page/app-paths-manifest.json +0 -3
  978. package/server/.next/server/app/(console)/[...slug]/page/build-manifest.json +0 -22
  979. package/server/.next/server/app/(console)/[...slug]/page/next-font-manifest.json +0 -11
  980. package/server/.next/server/app/(console)/[...slug]/page/react-loadable-manifest.json +0 -1
  981. package/server/.next/server/app/(console)/[...slug]/page/server-reference-manifest.json +0 -95
  982. package/server/.next/server/app/(console)/[...slug]/page.js +0 -103
  983. package/server/.next/server/app/(console)/[...slug]/page.js.nft.json +0 -1
  984. package/server/.next/server/app/(console)/[...slug]/page_client-reference-manifest.js +0 -3
  985. package/server/.next/server/app/favicon.ico/route/app-paths-manifest.json +0 -3
  986. package/server/.next/server/app/favicon.ico/route.js +0 -12
  987. package/server/.next/server/app/favicon.ico/route.js.nft.json +0 -1
  988. package/server/.next/server/app/favicon.ico.body +0 -0
  989. package/server/.next/server/app/favicon.ico.meta +0 -1
  990. package/server/.next/server/chunks/[externals]__0qo8lpb70m87u._.js +0 -3
  991. package/server/.next/server/chunks/[externals]__100hq0n2xtenb._.js +0 -3
  992. package/server/.next/server/chunks/[externals]__1irgb5qz1s3gv._.js +0 -3
  993. package/server/.next/server/chunks/[root-of-the-server]__00hb7hqa7qktx._.js +0 -3
  994. package/server/.next/server/chunks/[root-of-the-server]__01gitcyenl9ge._.js +0 -3
  995. package/server/.next/server/chunks/[root-of-the-server]__02m_c7u17aggg._.js +0 -3
  996. package/server/.next/server/chunks/[root-of-the-server]__049ykc067tlsv._.js +0 -3
  997. package/server/.next/server/chunks/[root-of-the-server]__04rnior8cyxtx._.js +0 -3
  998. package/server/.next/server/chunks/[root-of-the-server]__05eh797cjmgya._.js +0 -3
  999. package/server/.next/server/chunks/[root-of-the-server]__06ek056i_j_uk._.js +0 -3
  1000. package/server/.next/server/chunks/[root-of-the-server]__06f9e4kpi0mw8._.js +0 -3
  1001. package/server/.next/server/chunks/[root-of-the-server]__06jphm4auz_sh._.js +0 -3
  1002. package/server/.next/server/chunks/[root-of-the-server]__06r-019fixp3f._.js +0 -3
  1003. package/server/.next/server/chunks/[root-of-the-server]__07uknh5b-embq._.js +0 -3
  1004. package/server/.next/server/chunks/[root-of-the-server]__07v5e0vzgl4n2._.js +0 -3
  1005. package/server/.next/server/chunks/[root-of-the-server]__07w0ehfomhmm1._.js +0 -3
  1006. package/server/.next/server/chunks/[root-of-the-server]__08fyoixg__c7n._.js +0 -3
  1007. package/server/.next/server/chunks/[root-of-the-server]__091fhe9u6mapu._.js +0 -3
  1008. package/server/.next/server/chunks/[root-of-the-server]__09829lhdhabq5._.js +0 -3
  1009. package/server/.next/server/chunks/[root-of-the-server]__0_rfeg3389imx._.js +0 -3
  1010. package/server/.next/server/chunks/[root-of-the-server]__0a9tv46v8y_c5._.js +0 -3
  1011. package/server/.next/server/chunks/[root-of-the-server]__0aha0ly6g6o_2._.js +0 -3
  1012. package/server/.next/server/chunks/[root-of-the-server]__0b2hzo6nez0we._.js +0 -3
  1013. package/server/.next/server/chunks/[root-of-the-server]__0b9tciqdsctau._.js +0 -3
  1014. package/server/.next/server/chunks/[root-of-the-server]__0b_4w-5x5u7ag._.js +0 -3
  1015. package/server/.next/server/chunks/[root-of-the-server]__0b_jutz-o08fu._.js +0 -3
  1016. package/server/.next/server/chunks/[root-of-the-server]__0bnasoi-x21jc._.js +0 -3
  1017. package/server/.next/server/chunks/[root-of-the-server]__0c4u-u6i71c99._.js +0 -3
  1018. package/server/.next/server/chunks/[root-of-the-server]__0c5w5y-db0jkb._.js +0 -3
  1019. package/server/.next/server/chunks/[root-of-the-server]__0d8ypilha-el8._.js +0 -3
  1020. package/server/.next/server/chunks/[root-of-the-server]__0dlwmjtvf308b._.js +0 -3
  1021. package/server/.next/server/chunks/[root-of-the-server]__0el1c67a5ioz_._.js +0 -3
  1022. package/server/.next/server/chunks/[root-of-the-server]__0evbn4gllmqw9._.js +0 -3
  1023. package/server/.next/server/chunks/[root-of-the-server]__0flqwe7amc3mz._.js +0 -3
  1024. package/server/.next/server/chunks/[root-of-the-server]__0fw19tsgp-vbq._.js +0 -3
  1025. package/server/.next/server/chunks/[root-of-the-server]__0fw7l5y58_xcd._.js +0 -3
  1026. package/server/.next/server/chunks/[root-of-the-server]__0g1tldn4xjewd._.js +0 -3
  1027. package/server/.next/server/chunks/[root-of-the-server]__0grtjjr51j6xe._.js +0 -3
  1028. package/server/.next/server/chunks/[root-of-the-server]__0h1qhdjpfq1d4._.js +0 -3
  1029. package/server/.next/server/chunks/[root-of-the-server]__0h4n81_nqdr4j._.js +0 -3
  1030. package/server/.next/server/chunks/[root-of-the-server]__0h7pbkmsrhlwj._.js +0 -3
  1031. package/server/.next/server/chunks/[root-of-the-server]__0hqkum2r4f0xy._.js +0 -3
  1032. package/server/.next/server/chunks/[root-of-the-server]__0hty-wue10pro._.js +0 -3
  1033. package/server/.next/server/chunks/[root-of-the-server]__0i598fxqi-zy7._.js +0 -3
  1034. package/server/.next/server/chunks/[root-of-the-server]__0jqgfbhrgi28s._.js +0 -3
  1035. package/server/.next/server/chunks/[root-of-the-server]__0l0w4cbvdatmt._.js +0 -3
  1036. package/server/.next/server/chunks/[root-of-the-server]__0m7i0l3nkbdfm._.js +0 -3
  1037. package/server/.next/server/chunks/[root-of-the-server]__0m_6ooqldguxr._.js +0 -3
  1038. package/server/.next/server/chunks/[root-of-the-server]__0mwiq4mkf8pc5._.js +0 -3
  1039. package/server/.next/server/chunks/[root-of-the-server]__0npmbdrxybln5._.js +0 -3
  1040. package/server/.next/server/chunks/[root-of-the-server]__0nqw6z6fp8wad._.js +0 -3
  1041. package/server/.next/server/chunks/[root-of-the-server]__0olmk-rbbhxlo._.js +0 -3
  1042. package/server/.next/server/chunks/[root-of-the-server]__0owyb9lr5t5u-._.js +0 -3
  1043. package/server/.next/server/chunks/[root-of-the-server]__0p3lnkpxf2-xz._.js +0 -3
  1044. package/server/.next/server/chunks/[root-of-the-server]__0p70ujmcgsfif._.js +0 -3
  1045. package/server/.next/server/chunks/[root-of-the-server]__0q6_612vy0cdp._.js +0 -3
  1046. package/server/.next/server/chunks/[root-of-the-server]__0qmkpydmx3ljf._.js +0 -3
  1047. package/server/.next/server/chunks/[root-of-the-server]__0r-zdzq6ki5gr._.js +0 -3
  1048. package/server/.next/server/chunks/[root-of-the-server]__0si9k9jhdc0bm._.js +0 -3
  1049. package/server/.next/server/chunks/[root-of-the-server]__0t8d8b4qkw3y-._.js +0 -3
  1050. package/server/.next/server/chunks/[root-of-the-server]__0thzl_1s30zso._.js +0 -3
  1051. package/server/.next/server/chunks/[root-of-the-server]__0tl5pxttllr4d._.js +0 -3
  1052. package/server/.next/server/chunks/[root-of-the-server]__0ud71z3im7xje._.js +0 -3
  1053. package/server/.next/server/chunks/[root-of-the-server]__0uyh4jgcd9092._.js +0 -3
  1054. package/server/.next/server/chunks/[root-of-the-server]__0v4-g6c-ls39_._.js +0 -3
  1055. package/server/.next/server/chunks/[root-of-the-server]__0vgnlhvdoh3bn._.js +0 -3
  1056. package/server/.next/server/chunks/[root-of-the-server]__0vugeaxly8zvv._.js +0 -3
  1057. package/server/.next/server/chunks/[root-of-the-server]__0wmbz6u3dhwpq._.js +0 -3
  1058. package/server/.next/server/chunks/[root-of-the-server]__0wy38l7k36j6g._.js +0 -3
  1059. package/server/.next/server/chunks/[root-of-the-server]__0xiz361p5kdhf._.js +0 -3
  1060. package/server/.next/server/chunks/[root-of-the-server]__0xmk00qk0z8xm._.js +0 -3
  1061. package/server/.next/server/chunks/[root-of-the-server]__0y4j2b3eu46x_._.js +0 -3
  1062. package/server/.next/server/chunks/[root-of-the-server]__0z-07azr3zk8s._.js +0 -3
  1063. package/server/.next/server/chunks/[root-of-the-server]__0z-41cwvkliev._.js +0 -3
  1064. package/server/.next/server/chunks/[root-of-the-server]__0znfwqxftxq60._.js +0 -3
  1065. package/server/.next/server/chunks/[root-of-the-server]__0zxyfd7u67hmv._.js +0 -3
  1066. package/server/.next/server/chunks/[root-of-the-server]__1-jsquu8mohcz._.js +0 -3
  1067. package/server/.next/server/chunks/[root-of-the-server]__1-rqermjb77se._.js +0 -3
  1068. package/server/.next/server/chunks/[root-of-the-server]__1-zdlu4-l-ku9._.js +0 -3
  1069. package/server/.next/server/chunks/[root-of-the-server]__10-px6moitvbx._.js +0 -3
  1070. package/server/.next/server/chunks/[root-of-the-server]__10c7apgidgs6x._.js +0 -3
  1071. package/server/.next/server/chunks/[root-of-the-server]__10igiswto_7s8._.js +0 -3
  1072. package/server/.next/server/chunks/[root-of-the-server]__10x3lu8jeqgbt._.js +0 -3
  1073. package/server/.next/server/chunks/[root-of-the-server]__11-van59e9p2a._.js +0 -3
  1074. package/server/.next/server/chunks/[root-of-the-server]__110c-t3wz3nzm._.js +0 -3
  1075. package/server/.next/server/chunks/[root-of-the-server]__116b4n13dv75t._.js +0 -3
  1076. package/server/.next/server/chunks/[root-of-the-server]__11k46kam6tbia._.js +0 -3
  1077. package/server/.next/server/chunks/[root-of-the-server]__11tte6au1b-z-._.js +0 -3
  1078. package/server/.next/server/chunks/[root-of-the-server]__127dbd1prkw0n._.js +0 -3
  1079. package/server/.next/server/chunks/[root-of-the-server]__139-2tkq2di_-._.js +0 -3
  1080. package/server/.next/server/chunks/[root-of-the-server]__13_b24n_f4my4._.js +0 -3
  1081. package/server/.next/server/chunks/[root-of-the-server]__145gadwk31inl._.js +0 -3
  1082. package/server/.next/server/chunks/[root-of-the-server]__14luo1ecxoqh-._.js +0 -3
  1083. package/server/.next/server/chunks/[root-of-the-server]__162cm9ds1c5y2._.js +0 -3
  1084. package/server/.next/server/chunks/[root-of-the-server]__16wve14c32m54._.js +0 -3
  1085. package/server/.next/server/chunks/[root-of-the-server]__1815iu1syowit._.js +0 -3
  1086. package/server/.next/server/chunks/[root-of-the-server]__19kwj690b37xf._.js +0 -3
  1087. package/server/.next/server/chunks/[root-of-the-server]__19vsae2naddj5._.js +0 -3
  1088. package/server/.next/server/chunks/[root-of-the-server]__1__rgcmvy4dq_._.js +0 -3
  1089. package/server/.next/server/chunks/[root-of-the-server]__1_l065umy451k._.js +0 -3
  1090. package/server/.next/server/chunks/[root-of-the-server]__1_ow7lgy0u7st._.js +0 -3
  1091. package/server/.next/server/chunks/[root-of-the-server]__1addx81qjp4tj._.js +0 -3
  1092. package/server/.next/server/chunks/[root-of-the-server]__1aza-7l2pl-pm._.js +0 -3
  1093. package/server/.next/server/chunks/[root-of-the-server]__1bfzck-boudpr._.js +0 -3
  1094. package/server/.next/server/chunks/[root-of-the-server]__1bsyavebtmd7w._.js +0 -3
  1095. package/server/.next/server/chunks/[root-of-the-server]__1cju843cjyf1t._.js +0 -3
  1096. package/server/.next/server/chunks/[root-of-the-server]__1cla4k3dqtcfb._.js +0 -3
  1097. package/server/.next/server/chunks/[root-of-the-server]__1d01ycphxl_8c._.js +0 -3
  1098. package/server/.next/server/chunks/[root-of-the-server]__1e31qar_deo52._.js +0 -3
  1099. package/server/.next/server/chunks/[root-of-the-server]__1fm_cwl42xphm._.js +0 -3
  1100. package/server/.next/server/chunks/[root-of-the-server]__1fnsa-f0t7bxj._.js +0 -3
  1101. package/server/.next/server/chunks/[root-of-the-server]__1g1176fer3j4e._.js +0 -3
  1102. package/server/.next/server/chunks/[root-of-the-server]__1h-j2ehta-v8y._.js +0 -3
  1103. package/server/.next/server/chunks/[root-of-the-server]__1hqy35gww7ps2._.js +0 -3
  1104. package/server/.next/server/chunks/[root-of-the-server]__1i92wg2yuvs4c._.js +0 -3
  1105. package/server/.next/server/chunks/[root-of-the-server]__1iv6vg3z9ho81._.js +0 -3
  1106. package/server/.next/server/chunks/[root-of-the-server]__1j3-sv7eqyhjb._.js +0 -3
  1107. package/server/.next/server/chunks/[root-of-the-server]__1j3w0-cp17tx4._.js +0 -3
  1108. package/server/.next/server/chunks/[root-of-the-server]__1j_iy13gp2-on._.js +0 -3
  1109. package/server/.next/server/chunks/[root-of-the-server]__1jx4n51g-4s45._.js +0 -3
  1110. package/server/.next/server/chunks/[root-of-the-server]__1kg91b3sadtoc._.js +0 -3
  1111. package/server/.next/server/chunks/[root-of-the-server]__1kjndfodqqamq._.js +0 -3
  1112. package/server/.next/server/chunks/[root-of-the-server]__1l8s8oe7j06yw._.js +0 -3
  1113. package/server/.next/server/chunks/[root-of-the-server]__1m08l0n-keil9._.js +0 -3
  1114. package/server/.next/server/chunks/[root-of-the-server]__1mami4vb3y5gd._.js +0 -3
  1115. package/server/.next/server/chunks/[root-of-the-server]__1mse65-7gtj-n._.js +0 -3
  1116. package/server/.next/server/chunks/[root-of-the-server]__1nbabbcvq6ftu._.js +0 -3
  1117. package/server/.next/server/chunks/[root-of-the-server]__1o0vizengmvr5._.js +0 -3
  1118. package/server/.next/server/chunks/[root-of-the-server]__1objhlwwrjfjk._.js +0 -3
  1119. package/server/.next/server/chunks/[root-of-the-server]__1pscqm70t9q_6._.js +0 -3
  1120. package/server/.next/server/chunks/[root-of-the-server]__1r-13hkmnpab2._.js +0 -3
  1121. package/server/.next/server/chunks/[root-of-the-server]__1r-kuxxt5svyg._.js +0 -3
  1122. package/server/.next/server/chunks/[root-of-the-server]__1r0czef7apz8a._.js +0 -3
  1123. package/server/.next/server/chunks/[root-of-the-server]__1r6ztpxo08lwp._.js +0 -3
  1124. package/server/.next/server/chunks/[root-of-the-server]__1rw0i4x2ake3x._.js +0 -3
  1125. package/server/.next/server/chunks/[root-of-the-server]__1s5qcgiravzf_._.js +0 -3
  1126. package/server/.next/server/chunks/[root-of-the-server]__1sucr6flncx_f._.js +0 -3
  1127. package/server/.next/server/chunks/[root-of-the-server]__1t0_ibqlvou_d._.js +0 -3
  1128. package/server/.next/server/chunks/[root-of-the-server]__1t9zp524wouer._.js +0 -3
  1129. package/server/.next/server/chunks/[root-of-the-server]__1tezk6eqndp54._.js +0 -3
  1130. package/server/.next/server/chunks/[root-of-the-server]__1tllcx0d90k6q._.js +0 -3
  1131. package/server/.next/server/chunks/[root-of-the-server]__1u1b3a58anm3f._.js +0 -3
  1132. package/server/.next/server/chunks/[root-of-the-server]__1v-789ydxj30e._.js +0 -3
  1133. package/server/.next/server/chunks/[root-of-the-server]__1vi0u2vkv3tk0._.js +0 -3
  1134. package/server/.next/server/chunks/[root-of-the-server]__1w3svzao_gnxp._.js +0 -3
  1135. package/server/.next/server/chunks/[root-of-the-server]__1w53h3d5ptawi._.js +0 -3
  1136. package/server/.next/server/chunks/[root-of-the-server]__1w_73psnce1dd._.js +0 -3
  1137. package/server/.next/server/chunks/[root-of-the-server]__1wuxzuu_xkzl6._.js +0 -3
  1138. package/server/.next/server/chunks/[root-of-the-server]__1wwzyck7gzela._.js +0 -3
  1139. package/server/.next/server/chunks/[root-of-the-server]__1x7ucdyxuh2_k._.js +0 -3
  1140. package/server/.next/server/chunks/[root-of-the-server]__20_1nfa6fiz-q._.js +0 -3
  1141. package/server/.next/server/chunks/[root-of-the-server]__20b_clyk74g5u._.js +0 -3
  1142. package/server/.next/server/chunks/[root-of-the-server]__20ev6t8zggct2._.js +0 -3
  1143. package/server/.next/server/chunks/_008zv66xvj7ey._.js +0 -37
  1144. package/server/.next/server/chunks/_0a-hy32dzrje8._.js +0 -3
  1145. package/server/.next/server/chunks/_0a7533vs89s78._.js +0 -7
  1146. package/server/.next/server/chunks/_0ejcrge5k4quv._.js +0 -120
  1147. package/server/.next/server/chunks/_0gbk60zhuj4js._.js +0 -3
  1148. package/server/.next/server/chunks/_0k4iqzwm6w5_c._.js +0 -37
  1149. package/server/.next/server/chunks/_0m1ll2r1g77ii._.js +0 -3
  1150. package/server/.next/server/chunks/_0mgm3vz_sy8eb._.js +0 -3
  1151. package/server/.next/server/chunks/_0nt4hve0bi30h._.js +0 -37
  1152. package/server/.next/server/chunks/_0qr77omrkuewo._.js +0 -3
  1153. package/server/.next/server/chunks/_0rjh9w2ih3j2h._.js +0 -3
  1154. package/server/.next/server/chunks/_0ucq4nndk_9mb._.js +0 -3
  1155. package/server/.next/server/chunks/_0uxp3uhmyw1h3._.js +0 -3
  1156. package/server/.next/server/chunks/_0wxm_716tjorj._.js +0 -3
  1157. package/server/.next/server/chunks/_0zbvj132mwn12._.js +0 -3
  1158. package/server/.next/server/chunks/_0zkmkbrbc96-h._.js +0 -3
  1159. package/server/.next/server/chunks/_13a44prd3r109._.js +0 -3
  1160. package/server/.next/server/chunks/_14ymj3uzawde4._.js +0 -7
  1161. package/server/.next/server/chunks/_1b7pc6ohhqxs3._.js +0 -120
  1162. package/server/.next/server/chunks/_1b7ufx8anq8rr._.js +0 -3
  1163. package/server/.next/server/chunks/_1i7qkrp3fnx1a._.js +0 -37
  1164. package/server/.next/server/chunks/_1lq5m27p-ilrw._.js +0 -3
  1165. package/server/.next/server/chunks/_1luzeov9x87mg._.js +0 -7
  1166. package/server/.next/server/chunks/_1mnwzh3z9y4th._.js +0 -3
  1167. package/server/.next/server/chunks/_1zx_54or1pubb._.js +0 -57
  1168. package/server/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjlssn1kss.js +0 -3
  1169. package/server/.next/server/chunks/node_modules_next_166oduh3hi1qv._.js +0 -3
  1170. package/server/.next/server/chunks/node_modules_next_1bpl0_13bu-mp._.js +0 -3
  1171. package/server/.next/server/chunks/src_014zbodp4djeb._.js +0 -3
  1172. package/server/.next/server/chunks/src_01jp2f5qmh8e2._.js +0 -3
  1173. package/server/.next/server/chunks/src_04pgj--n_d4w5._.js +0 -3
  1174. package/server/.next/server/chunks/src_0dy4w8f4s56m7._.js +0 -3
  1175. package/server/.next/server/chunks/src_0h2cjsnz9pqi7._.js +0 -3
  1176. package/server/.next/server/chunks/src_0h8_rg_r28y_e._.js +0 -3
  1177. package/server/.next/server/chunks/src_0hhtt0p5ybxni._.js +0 -3
  1178. package/server/.next/server/chunks/src_0kwnhwi77unm7._.js +0 -3
  1179. package/server/.next/server/chunks/src_0ldb1fj5qtl-n._.js +0 -3
  1180. package/server/.next/server/chunks/src_0rh392hbuxnv6._.js +0 -3
  1181. package/server/.next/server/chunks/src_0vffc49o4-382._.js +0 -3
  1182. package/server/.next/server/chunks/src_0xqorb3-ef3ub._.js +0 -3
  1183. package/server/.next/server/chunks/src_10y_2e6znqpoa._.js +0 -3
  1184. package/server/.next/server/chunks/src_17m9gvb5o-w8p._.js +0 -3
  1185. package/server/.next/server/chunks/src_1dsh9rzlos6-1._.js +0 -3
  1186. package/server/.next/server/chunks/src_1hy7u0jtydq_d._.js +0 -3
  1187. package/server/.next/server/chunks/src_1j2o14j0-23xv._.js +0 -3
  1188. package/server/.next/server/chunks/src_1j71dvub05y-4._.js +0 -3
  1189. package/server/.next/server/chunks/src_1no_yh953mran._.js +0 -3
  1190. package/server/.next/server/chunks/src_1s7yll47_n_hy._.js +0 -3
  1191. package/server/.next/server/chunks/src_lib_03a2ehk2-znxl._.js +0 -3
  1192. package/server/.next/server/chunks/src_lib_08u7n7-yunfvd._.js +0 -4
  1193. package/server/.next/server/chunks/src_lib_0d-fifn3g3zp4._.js +0 -3
  1194. package/server/.next/server/chunks/src_lib_0dyhs-qioyjww._.js +0 -3
  1195. package/server/.next/server/chunks/src_lib_0hkrs-q6hzcww._.js +0 -3
  1196. package/server/.next/server/chunks/src_lib_0oz4gm8agoidh._.js +0 -6
  1197. package/server/.next/server/chunks/src_lib_0x4n8swwa3zn7._.js +0 -3
  1198. package/server/.next/server/chunks/src_lib_0y-obfzqjj0c6._.js +0 -6
  1199. package/server/.next/server/chunks/src_lib_10_w0ihgmx4e6._.js +0 -6
  1200. package/server/.next/server/chunks/src_lib_10vqn6q0h8kls._.js +0 -4
  1201. package/server/.next/server/chunks/src_lib_1p21oczr6lh5a._.js +0 -3
  1202. package/server/.next/server/chunks/src_lib_1s-3a-lp7wq7s._.js +0 -3
  1203. package/server/.next/server/chunks/src_lib_1tzoqx44yogsk._.js +0 -4
  1204. package/server/.next/server/chunks/src_lib_1v1ja5mvs12l3._.js +0 -3
  1205. package/server/.next/server/chunks/src_lib_1y3rtb5bjz0-k._.js +0 -3
  1206. package/server/.next/server/chunks/src_lib_1yewk45thnv1h._.js +0 -3
  1207. package/server/.next/server/chunks/src_lib_1z73euz6d3tus._.js +0 -6
  1208. package/server/.next/server/chunks/src_lib_data_0ask_rbmgwlf3._.js +0 -3
  1209. package/server/.next/server/chunks/src_lib_data_0e155tkqeoojm._.js +0 -3
  1210. package/server/.next/server/chunks/src_lib_demo_1vea4wqi-dxio._.js +0 -3
  1211. package/server/.next/server/chunks/src_lib_demo_1w8p39upm6ea2._.js +0 -3
  1212. package/server/.next/server/chunks/src_lib_demo_session_ts_1gjl21ovvq1na._.js +0 -3
  1213. package/server/.next/server/chunks/src_lib_demo_session_ts_1ou6lpswmwykq._.js +0 -3
  1214. package/server/.next/server/chunks/src_lib_security_osv_ts_1fckitwjz25y3._.js +0 -3
  1215. package/server/.next/server/chunks/ssr/[externals]__020te-_1z03yq._.js +0 -3
  1216. package/server/.next/server/chunks/ssr/[externals]__0d_b-rmqrnp-4._.js +0 -3
  1217. package/server/.next/server/chunks/ssr/[externals]__0jneh11f99ndq._.js +0 -3
  1218. package/server/.next/server/chunks/ssr/[externals]__0q1j6etr_np7z._.js +0 -3
  1219. package/server/.next/server/chunks/ssr/[externals]__0tuq6zpflbfiy._.js +0 -3
  1220. package/server/.next/server/chunks/ssr/[externals]__0zvy4iicnrk95._.js +0 -3
  1221. package/server/.next/server/chunks/ssr/[externals]__1-bg5_534qin1._.js +0 -3
  1222. package/server/.next/server/chunks/ssr/[externals]__19ny_glrblslt._.js +0 -3
  1223. package/server/.next/server/chunks/ssr/[externals]__1a1nz9v0djtee._.js +0 -3
  1224. package/server/.next/server/chunks/ssr/[externals]__1ut5w9sjvvugj._.js +0 -3
  1225. package/server/.next/server/chunks/ssr/[externals]__1wps6-uuzn43x._.js +0 -3
  1226. package/server/.next/server/chunks/ssr/[root-of-the-server]__02cq5r26w4itc._.js +0 -3
  1227. package/server/.next/server/chunks/ssr/[root-of-the-server]__02ekfgznq_frg._.js +0 -3
  1228. package/server/.next/server/chunks/ssr/[root-of-the-server]__02qyxz9eh8_eh._.js +0 -3
  1229. package/server/.next/server/chunks/ssr/[root-of-the-server]__02s8g4eagqfmb._.js +0 -3
  1230. package/server/.next/server/chunks/ssr/[root-of-the-server]__04ovk2bqwu87z._.js +0 -3
  1231. package/server/.next/server/chunks/ssr/[root-of-the-server]__052_cprs0alpy._.js +0 -3
  1232. package/server/.next/server/chunks/ssr/[root-of-the-server]__0543ddliluvv3._.js +0 -3
  1233. package/server/.next/server/chunks/ssr/[root-of-the-server]__08479d23kb1xv._.js +0 -3
  1234. package/server/.next/server/chunks/ssr/[root-of-the-server]__08fqg76puqdfr._.js +0 -3
  1235. package/server/.next/server/chunks/ssr/[root-of-the-server]__08lyheht537x7._.js +0 -3
  1236. package/server/.next/server/chunks/ssr/[root-of-the-server]__08r-36gsbhzfl._.js +0 -3
  1237. package/server/.next/server/chunks/ssr/[root-of-the-server]__09-0oydof-7uw._.js +0 -3
  1238. package/server/.next/server/chunks/ssr/[root-of-the-server]__09nm_hn1c8zhf._.js +0 -3
  1239. package/server/.next/server/chunks/ssr/[root-of-the-server]__09zhej94-8cfl._.js +0 -3
  1240. package/server/.next/server/chunks/ssr/[root-of-the-server]__0acmauri7z1sg._.js +0 -3
  1241. package/server/.next/server/chunks/ssr/[root-of-the-server]__0aqyve_ff5w0a._.js +0 -3
  1242. package/server/.next/server/chunks/ssr/[root-of-the-server]__0bk5eahqwy8sh._.js +0 -3
  1243. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ct71emqfru3b._.js +0 -3
  1244. package/server/.next/server/chunks/ssr/[root-of-the-server]__0e9m8up0h1qhl._.js +0 -3
  1245. package/server/.next/server/chunks/ssr/[root-of-the-server]__0eiatxdstconl._.js +0 -3
  1246. package/server/.next/server/chunks/ssr/[root-of-the-server]__0gm7dev9velgg._.js +0 -3
  1247. package/server/.next/server/chunks/ssr/[root-of-the-server]__0go63he_23y9m._.js +0 -3
  1248. package/server/.next/server/chunks/ssr/[root-of-the-server]__0h9gtpapca7i_._.js +0 -3
  1249. package/server/.next/server/chunks/ssr/[root-of-the-server]__0hln97a4qcziv._.js +0 -3
  1250. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jijx2bqn0en9._.js +0 -3
  1251. package/server/.next/server/chunks/ssr/[root-of-the-server]__0krmmz0jerb62._.js +0 -3
  1252. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ksvf4x4zcbpb._.js +0 -3
  1253. package/server/.next/server/chunks/ssr/[root-of-the-server]__0lc7my3iqbrsu._.js +0 -3
  1254. package/server/.next/server/chunks/ssr/[root-of-the-server]__0lt7660aka4d-._.js +0 -3
  1255. package/server/.next/server/chunks/ssr/[root-of-the-server]__0msyy6xoone7-._.js +0 -3
  1256. package/server/.next/server/chunks/ssr/[root-of-the-server]__0n7cj-oti5wct._.js +0 -4
  1257. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ncef7_34ta3-._.js +0 -3
  1258. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nk9sgklibvso._.js +0 -3
  1259. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nlzqp6jk7rac._.js +0 -3
  1260. package/server/.next/server/chunks/ssr/[root-of-the-server]__0op0kqh43wd-a._.js +0 -3
  1261. package/server/.next/server/chunks/ssr/[root-of-the-server]__0qe9gfdyim9-4._.js +0 -3
  1262. package/server/.next/server/chunks/ssr/[root-of-the-server]__0s5ikdxrwjpuv._.js +0 -3
  1263. package/server/.next/server/chunks/ssr/[root-of-the-server]__0tf_y6x-civd1._.js +0 -3
  1264. package/server/.next/server/chunks/ssr/[root-of-the-server]__0z8wbpv0sokm-._.js +0 -3
  1265. package/server/.next/server/chunks/ssr/[root-of-the-server]__1-5oo48nrva5i._.js +0 -3
  1266. package/server/.next/server/chunks/ssr/[root-of-the-server]__1-7rv__xugolc._.js +0 -3
  1267. package/server/.next/server/chunks/ssr/[root-of-the-server]__1-o_iq-ed9vc8._.js +0 -3
  1268. package/server/.next/server/chunks/ssr/[root-of-the-server]__10bkg3o65q6r4._.js +0 -3
  1269. package/server/.next/server/chunks/ssr/[root-of-the-server]__10d1_0sush0ly._.js +0 -3
  1270. package/server/.next/server/chunks/ssr/[root-of-the-server]__119-39ph_0j3f._.js +0 -3
  1271. package/server/.next/server/chunks/ssr/[root-of-the-server]__12qymdfh83hht._.js +0 -3
  1272. package/server/.next/server/chunks/ssr/[root-of-the-server]__13oi70jo-u731._.js +0 -4
  1273. package/server/.next/server/chunks/ssr/[root-of-the-server]__146kj3-h6fkaq._.js +0 -3
  1274. package/server/.next/server/chunks/ssr/[root-of-the-server]__14v88t9px5pb6._.js +0 -3
  1275. package/server/.next/server/chunks/ssr/[root-of-the-server]__15j_u2bz3jc-a._.js +0 -3
  1276. package/server/.next/server/chunks/ssr/[root-of-the-server]__15n-r12rnj61t._.js +0 -3
  1277. package/server/.next/server/chunks/ssr/[root-of-the-server]__16o4p3l21rdq3._.js +0 -3
  1278. package/server/.next/server/chunks/ssr/[root-of-the-server]__171npv87rwei1._.js +0 -3
  1279. package/server/.next/server/chunks/ssr/[root-of-the-server]__176fov12nmg0c._.js +0 -3
  1280. package/server/.next/server/chunks/ssr/[root-of-the-server]__17kocbnwlcw6d._.js +0 -3
  1281. package/server/.next/server/chunks/ssr/[root-of-the-server]__17zzr7zjfaj94._.js +0 -3
  1282. package/server/.next/server/chunks/ssr/[root-of-the-server]__18s2sszcjwz_x._.js +0 -3
  1283. package/server/.next/server/chunks/ssr/[root-of-the-server]__19_nr6j2w-in_._.js +0 -3
  1284. package/server/.next/server/chunks/ssr/[root-of-the-server]__1biup3mh_6gel._.js +0 -3
  1285. package/server/.next/server/chunks/ssr/[root-of-the-server]__1cwrbme6aoi_x._.js +0 -3
  1286. package/server/.next/server/chunks/ssr/[root-of-the-server]__1euvy9wcyro9t._.js +0 -3
  1287. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ews36zthoaro._.js +0 -3
  1288. package/server/.next/server/chunks/ssr/[root-of-the-server]__1f02dck4ff54w._.js +0 -3
  1289. package/server/.next/server/chunks/ssr/[root-of-the-server]__1gh2hxr2l59r6._.js +0 -3
  1290. package/server/.next/server/chunks/ssr/[root-of-the-server]__1gw6334w8y2my._.js +0 -3
  1291. package/server/.next/server/chunks/ssr/[root-of-the-server]__1i69oli51is1u._.js +0 -3
  1292. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ikedn5g4-l15._.js +0 -3
  1293. package/server/.next/server/chunks/ssr/[root-of-the-server]__1k1fmq0-rg3p0._.js +0 -3
  1294. package/server/.next/server/chunks/ssr/[root-of-the-server]__1lrilann8v4wn._.js +0 -3
  1295. package/server/.next/server/chunks/ssr/[root-of-the-server]__1lv3bun_d6qpi._.js +0 -3
  1296. package/server/.next/server/chunks/ssr/[root-of-the-server]__1lx2k37wgre3d._.js +0 -3
  1297. package/server/.next/server/chunks/ssr/[root-of-the-server]__1owrn7crnsybx._.js +0 -3
  1298. package/server/.next/server/chunks/ssr/[root-of-the-server]__1qltiqn0htqnx._.js +0 -3
  1299. package/server/.next/server/chunks/ssr/[root-of-the-server]__1qrlp_d3-c1x9._.js +0 -3
  1300. package/server/.next/server/chunks/ssr/[root-of-the-server]__1s5zrlyqayctz._.js +0 -3
  1301. package/server/.next/server/chunks/ssr/[root-of-the-server]__1w1472ukyh58r._.js +0 -3
  1302. package/server/.next/server/chunks/ssr/[root-of-the-server]__1yfl8wmoazlwo._.js +0 -3
  1303. package/server/.next/server/chunks/ssr/[root-of-the-server]__1zhd84kcbex_x._.js +0 -3
  1304. package/server/.next/server/chunks/ssr/[root-of-the-server]__20ht054m5-_d6._.js +0 -3
  1305. package/server/.next/server/chunks/ssr/_05kq3r87s7p3q._.js +0 -3
  1306. package/server/.next/server/chunks/ssr/_08ph09r66b11v._.js +0 -3
  1307. package/server/.next/server/chunks/ssr/_0_tr9fol2yq33._.js +0 -4
  1308. package/server/.next/server/chunks/ssr/_0_ul4mlc_pj5i._.js +0 -4
  1309. package/server/.next/server/chunks/ssr/_0fxox6h290j6h._.js +0 -3
  1310. package/server/.next/server/chunks/ssr/_0hykblvnwc2ar._.js +0 -3
  1311. package/server/.next/server/chunks/ssr/_0m1ll2r1g77ii._.js +0 -3
  1312. package/server/.next/server/chunks/ssr/_0nutgke9z49bh._.js +0 -3
  1313. package/server/.next/server/chunks/ssr/_0ooh0hh-r_12s._.js +0 -3
  1314. package/server/.next/server/chunks/ssr/_0pn3dn9s9es51._.js +0 -3
  1315. package/server/.next/server/chunks/ssr/_0qnv1uc1_yv28._.js +0 -4
  1316. package/server/.next/server/chunks/ssr/_0r04c1-snv6jw._.js +0 -3
  1317. package/server/.next/server/chunks/ssr/_0rfq_mzyiodmf._.js +0 -3
  1318. package/server/.next/server/chunks/ssr/_0tcmsw8hszixv._.js +0 -3
  1319. package/server/.next/server/chunks/ssr/_0tnfblwwlyvq2._.js +0 -3
  1320. package/server/.next/server/chunks/ssr/_0x1vi7mal3bqd._.js +0 -3
  1321. package/server/.next/server/chunks/ssr/_11w5w9dpxcf1w._.js +0 -3
  1322. package/server/.next/server/chunks/ssr/_14kop_5asppd8._.js +0 -3
  1323. package/server/.next/server/chunks/ssr/_16t9k9e5cjvas._.js +0 -3
  1324. package/server/.next/server/chunks/ssr/_17xmdlg5_8s76._.js +0 -3
  1325. package/server/.next/server/chunks/ssr/_1__gz-j9u_15n._.js +0 -3
  1326. package/server/.next/server/chunks/ssr/_1_ojvke28lw3y._.js +0 -3
  1327. package/server/.next/server/chunks/ssr/_1c28jitsyufnt._.js +0 -4
  1328. package/server/.next/server/chunks/ssr/_1dx207la592b7._.js +0 -4
  1329. package/server/.next/server/chunks/ssr/_1flla16o7o9ba._.js +0 -3
  1330. package/server/.next/server/chunks/ssr/_1nir32qtr99-r._.js +0 -4
  1331. package/server/.next/server/chunks/ssr/_1qt1czw3w8dww._.js +0 -3
  1332. package/server/.next/server/chunks/ssr/_1sq12-1_02tzt._.js +0 -4
  1333. package/server/.next/server/chunks/ssr/_1ykxf4mi60jog._.js +0 -4
  1334. package/server/.next/server/chunks/ssr/_1zr0t31h18f2p._.js +0 -3
  1335. package/server/.next/server/chunks/ssr/_20ln-4gu85-yt._.js +0 -3
  1336. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1uaicj0j8stji.js +0 -3
  1337. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_215m-kkv06r4z.js +0 -3
  1338. package/server/.next/server/chunks/ssr/node_modules_041o69opnip9_._.js +0 -3
  1339. package/server/.next/server/chunks/ssr/node_modules_@base-ui_react_dialog_index_parts_mjs_0wvx70_xziwkw._.js +0 -3
  1340. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00mnhied2lajr.js +0 -3
  1341. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0258fhwe3r49a.js +0 -3
  1342. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_030uvarevc52x.js +0 -3
  1343. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08nk-xg737vfb.js +0 -3
  1344. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08tyiz9d0lm9w.js +0 -3
  1345. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09sjrubxp_rj2.js +0 -3
  1346. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_bt7te8snw13.js +0 -3
  1347. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_sbp7ay425x_.js +0 -3
  1348. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0b6yug3vz_f5i.js +0 -3
  1349. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d4fbjkqhtcy1.js +0 -3
  1350. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0drw64qqgo4t4.js +0 -3
  1351. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0f1q6zt-_lhr2.js +0 -3
  1352. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j67up203frfc.js +0 -3
  1353. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0m1sh-r1a08nu.js +0 -3
  1354. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0m80vhox8yne_.js +0 -3
  1355. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0madmy1ghn2d_.js +0 -3
  1356. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0oonr-4chwcci.js +0 -3
  1357. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0opsftra4yyso.js +0 -3
  1358. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pz49shx663y1.js +0 -3
  1359. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rb6ju1slcbnm.js +0 -3
  1360. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0re64vewl4bd9.js +0 -3
  1361. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0s9srhxdns9u3.js +0 -3
  1362. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vfaoq0q8fb9j.js +0 -3
  1363. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-a6-p-bbfew5.js +0 -3
  1364. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_105eedqksbfit.js +0 -3
  1365. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10deooxbcl7dn.js +0 -3
  1366. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10p350-tq8wue.js +0 -3
  1367. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_13zeb30aqtlf2.js +0 -3
  1368. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_163j9d9tcnnjx.js +0 -3
  1369. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18lxgbslt6r8b.js +0 -3
  1370. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_fjxf0k32zmt.js +0 -3
  1371. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_qogypi_aiam.js +0 -3
  1372. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1a04whtr87syz.js +0 -3
  1373. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1b0g9w0uow3x5.js +0 -3
  1374. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1d8w2j-twvhc-.js +0 -3
  1375. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dm4bx5yqfx5d.js +0 -3
  1376. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ejivqe23qgi6.js +0 -3
  1377. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1f4rp6x19w0vu.js +0 -3
  1378. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1g2tu-twl68c2.js +0 -3
  1379. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1jhcfycewcquz.js +0 -3
  1380. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kb_ff04m4p78.js +0 -3
  1381. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kz-w63djss2p.js +0 -3
  1382. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mwwly61gvbnl.js +0 -3
  1383. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1nnmbb1a34pgl.js +0 -3
  1384. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o0p09ki2at8x.js +0 -3
  1385. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1q1pd2kc4g0v1.js +0 -3
  1386. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1vswl-lmn1feb.js +0 -3
  1387. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1wg7_z4bxv6ru.js +0 -3
  1388. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1x6mq0hf94v16.js +0 -3
  1389. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_20dal1y611l3i.js +0 -3
  1390. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_21bzvd4_jyx44.js +0 -3
  1391. package/server/.next/server/chunks/ssr/src_01jp2f5qmh8e2._.js +0 -3
  1392. package/server/.next/server/chunks/ssr/src_0qvu1m5b9qo28._.js +0 -3
  1393. package/server/.next/server/chunks/ssr/src_0t6-d5hmzrbp1._.js +0 -3
  1394. package/server/.next/server/chunks/ssr/src_1717pig1-y5th._.js +0 -3
  1395. package/server/.next/server/chunks/ssr/src_1iyzhhf1u_gwo._.js +0 -3
  1396. package/server/.next/server/chunks/ssr/src_1ottjkdvhje3g._.js +0 -3
  1397. package/server/.next/server/chunks/ssr/src_1x6t-w3_nu4w7._.js +0 -3
  1398. package/server/.next/server/chunks/ssr/src_app_(console)_1l7irblrb5fae._.js +0 -3
  1399. package/server/.next/server/chunks/ssr/src_app_(console)_[___slug]_page_tsx_0b007i3c1v_vg._.js +0 -3
  1400. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_088bs149wsgca._.js +0 -3
  1401. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_page_tsx_0g20hm13dvbc-._.js +0 -3
  1402. package/server/.next/server/chunks/ssr/src_app_signin_1tg6pswa99jbe._.js +0 -3
  1403. package/server/.next/server/chunks/ssr/src_lib_03a2ehk2-znxl._.js +0 -3
  1404. package/server/.next/server/chunks/ssr/src_lib_0etkz1wbvfw-k._.js +0 -3
  1405. package/server/.next/server/chunks/ssr/src_lib_0hkrs-q6hzcww._.js +0 -3
  1406. package/server/.next/server/chunks/ssr/src_lib_0x4n8swwa3zn7._.js +0 -3
  1407. package/server/.next/server/chunks/ssr/src_lib_1coh17dmjagw1._.js +0 -3
  1408. package/server/.next/server/chunks/ssr/src_lib_1nkahiclbn55q._.js +0 -3
  1409. package/server/.next/server/chunks/ssr/src_lib_1p21oczr6lh5a._.js +0 -3
  1410. package/server/.next/server/chunks/ssr/src_lib_1v1jkqs0kbvmq._.js +0 -3
  1411. package/server/.next/server/chunks/ssr/src_lib_1yewk45thnv1h._.js +0 -3
  1412. package/server/.next/server/chunks/ssr/src_lib_demo_0hdl7pzdqejqx._.js +0 -3
  1413. package/server/.next/server/chunks/ssr/src_lib_demo_1w8p39upm6ea2._.js +0 -3
  1414. package/server/.next/server/chunks/ssr/src_lib_demo_visitor-limits_ts_1bx0-ks0r5_gj._.js +0 -3
  1415. package/server/.next/server/chunks/ssr/src_lib_security_osv_ts_1fckitwjz25y3._.js +0 -3
  1416. package/server/.next/static/chunks/08dak2kh1c6_7.js +0 -1
  1417. package/server/.next/static/chunks/0b9slopuz4e8a.js +0 -76
  1418. package/server/.next/static/chunks/0dp-tuwkw7xf8.js +0 -33
  1419. package/server/.next/static/chunks/0fhj_pu5ntcfo.js +0 -1
  1420. package/server/.next/static/chunks/0h9i512dn01kj.js +0 -1
  1421. package/server/.next/static/chunks/0ic6_-0gkd6p7.js +0 -1
  1422. package/server/.next/static/chunks/0icohez16w-ei.js +0 -1
  1423. package/server/.next/static/chunks/0j1wzqg4ukm70.js +0 -1
  1424. package/server/.next/static/chunks/0j_5norjm-kef.js +0 -1
  1425. package/server/.next/static/chunks/0kscmnb071fci.js +0 -1
  1426. package/server/.next/static/chunks/0ld78j1d4j201.js +0 -1
  1427. package/server/.next/static/chunks/0qlb-l1uyqku5.js +0 -1
  1428. package/server/.next/static/chunks/0udh0u8c6ovgf.css +0 -3
  1429. package/server/.next/static/chunks/0y1ss0tjq0nq0.js +0 -1
  1430. package/server/.next/static/chunks/1-oetq3mwlhds.js +0 -1
  1431. package/server/.next/static/chunks/11ywzwmfd_pt0.js +0 -1
  1432. package/server/.next/static/chunks/1jaozq01v9r6e.js +0 -1
  1433. package/server/.next/static/chunks/1ky5exl-c1kbo.js +0 -1
  1434. package/server/.next/static/chunks/1lsu_fxiyaeiz.js +0 -1
  1435. package/server/.next/static/chunks/1o3_amrh-sxr3.js +0 -1
  1436. package/server/.next/static/chunks/1w9o_jo_pejc5.js +0 -1
  1437. package/server/.next/static/chunks/1yvbs41m8_4nc.js +0 -7
  1438. package/server/.next/static/chunks/22alexnun_rdm.js +0 -1
  1439. package/server/.next/static/chunks/27qwmt1w6-iri.js +0 -1
  1440. package/server/.next/static/chunks/29humkd2-_1oo.js +0 -1
  1441. package/server/.next/static/chunks/29j96yfhxsf41.js +0 -1
  1442. package/server/.next/static/chunks/29qnnsjsgsia6.js +0 -1
  1443. package/server/.next/static/chunks/2ii8j9xuvv604.js +0 -1
  1444. package/server/.next/static/chunks/2m0ftj__ody0m.js +0 -1
  1445. package/server/.next/static/chunks/2rbtw3em5hkt4.js +0 -1
  1446. package/server/.next/static/chunks/2sdyov_lz1uj4.js +0 -1
  1447. package/server/.next/static/chunks/2toeyr9b_nk0e.js +0 -1
  1448. package/server/.next/static/chunks/2w7qxt7ux-m1-.js +0 -1
  1449. package/server/.next/static/chunks/2zc1osymeruya.js +0 -1
  1450. package/server/.next/static/chunks/33fbppn5fotpk.js +0 -1
  1451. package/server/.next/static/chunks/3auw1gobgv94g.js +0 -1
  1452. package/server/.next/static/chunks/3b1p-xm7iow1_.js +0 -1
  1453. package/server/.next/static/chunks/3gl2k6v182lli.js +0 -5
  1454. package/server/.next/static/chunks/3gurl_36kr7sg.js +0 -1
  1455. package/server/.next/static/chunks/3h-i_hcaaf7vs.js +0 -1
  1456. package/server/.next/static/chunks/3kznplgmzot89.js +0 -1
  1457. package/server/.next/static/chunks/3n_n6yeienmn-.js +0 -1
  1458. package/server/.next/static/chunks/3nqciag05fif0.js +0 -1
  1459. package/server/.next/static/chunks/3r3mt51wqymgs.js +0 -1
  1460. package/server/.next/static/chunks/3shbvizselyoq.js +0 -1
  1461. package/server/.next/static/chunks/3vpy-ra0rib9m.js +0 -1
  1462. package/server/.next/static/chunks/3xxagngfonh62.js +0 -1
  1463. package/server/.next/static/chunks/3yv-enyk37whg.js +0 -1
  1464. package/server/.next/static/media/favicon.117ezoe8m31dk.ico +0 -0
  1465. package/server/public/file.svg +0 -1
  1466. package/server/public/globe.svg +0 -1
  1467. package/server/public/next.svg +0 -1
  1468. package/server/public/vercel.svg +0 -1
  1469. package/server/public/window.svg +0 -1
  1470. /package/server/.next/server/app/{favicon.ico β†’ icon.svg}/route/build-manifest.json +0 -0
  1471. /package/server/.next/static/{00CFAqN6pFBVkqJyXSd78 β†’ ZGhdfWFNBWLdWW4UhJrAO}/_buildManifest.js +0 -0
  1472. /package/server/.next/static/{00CFAqN6pFBVkqJyXSd78 β†’ ZGhdfWFNBWLdWW4UhJrAO}/_clientMiddlewareManifest.js +0 -0
  1473. /package/server/.next/static/{00CFAqN6pFBVkqJyXSd78 β†’ ZGhdfWFNBWLdWW4UhJrAO}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[755776,e=>{var n=e.i(420776),t=e.i(870988),l=e.i(438257),s=e.i(144902),a=e.i(389705),i=e.i(484259),o=e.i(303090),u=e.i(467751),r=e.i(618916);let d=r.ops.table("supabase_metrics_keys",{resourceId:(0,u.q)("resource_id").primaryKey().references(()=>r.resources.id,{onDelete:"cascade"}),keyCiphertext:(0,i.f)("key_ciphertext").notNull(),keyIv:(0,i.f)("key_iv").notNull(),keyVersion:(0,t.f)("key_version").notNull().default(1),addedBy:(0,u.q)("added_by"),latest:(0,l.y)("latest").$type(),lastTryAt:(0,o._)("last_try_at",{withTimezone:!0}),lastOkAt:(0,o._)("last_ok_at",{withTimezone:!0}),lastError:(0,i.f)("last_error"),createdAt:(0,o._)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,o._)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),c=r.ops.table("supabase_metrics",{resourceId:(0,u.q)("resource_id").notNull().references(()=>r.resources.id,{onDelete:"cascade"}),hour:(0,o._)("hour",{withTimezone:!0}).notNull(),samples:(0,t.f)("samples").notNull().default(0),cpuSamples:(0,t.f)("cpu_samples").notNull().default(0),cpuAvg:(0,a.f)("cpu_avg"),cpuMax:(0,a.f)("cpu_max"),memAvg:(0,a.f)("mem_avg"),memMax:(0,a.f)("mem_max"),diskPct:(0,a.f)("disk_pct"),connUsed:(0,t.f)("conn_used"),connMax:(0,t.f)("conn_max")},e=>[(0,s._)({columns:[e.resourceId,e.hour]}),(0,n.y)("supabase_metrics_hour_idx").on(e.hour)]);e.s(["l",0,c,"A",0,d])},278619,e=>{let n=e=>(e??0).toLocaleString("en-US"),t={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:e=>`${n(e)} failed checks in a row`},CollectorStale:{key:"CollectorStale",severity:"critical",threshold:5,bounds:[3,60],source:"own",needs:null,sampled:!1,condition:e=>`No collector run for ${n(e)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:e=>`p95 > ${n(e)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"Production deployment state = ERROR"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase status = INACTIVE"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:e=>`TLS certificate expires in < ${n(e)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:e=>`Domain expires in < ${n(e)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Database size > ${n(e)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:e=>`> ${n(e)} of 100 CU-hours this month`},FirestoreQuotaHigh:{key:"FirestoreQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"test",needs:"databases",sampled:!1,condition:e=>`Daily reads > ${n(e)}% of 50k`},AutoPauseRisk:{key:"AutoPauseRisk",severity:"info",threshold:4,bounds:[1,6],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase project without API traffic for ${n(e)}+ days`},DnsProxiedToVercel:{key:"DnsProxiedToVercel",severity:"info",threshold:null,bounds:null,source:"api",needs:"dns",sampled:!1,condition:()=>"Cloudflare record proxied in front of Vercel"},ComputeHigh:{key:"ComputeHigh",severity:"warning",threshold:80,bounds:[50,95],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase CPU > ${n(e)}% for 15 min, RAM > ${n(Math.min(99,(e??80)+10))}%, disk > ${n(e)}% or connections > ${n(e)}% of max`},DbQuotaHigh:{key:"DbQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Turso, Upstash or D1 usage > ${n(e)}% of a free-plan quota`},CredentialExpiring:{key:"CredentialExpiring",severity:"warning",threshold:14,bounds:[1,60],source:"api",needs:null,sampled:!1,condition:e=>`Account credential expires in < ${n(e)} days`},VulnerableDependency:{key:"VulnerableDependency",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A dependency has a high or critical advisory (OSV.dev)"}};Object.keys(t),e.s(["_",0,t,"h",0,e=>"string"==typeof e&&e in t])},273083,e=>{e.s(["f",0,{checks:7,rollupsHourly:90,deployments:30,events:90,alerts:90,collectorRuns:14,storedLogs:7,recommendationDismissals:90}])},867274,800366,e=>{let n=/^([A-Za-z_:][A-Za-z0-9_:]*)(\{.*\})?\s+(\S+)(?:\s+-?\d+)?\s*$/,t=e=>e.length?e.reduce((e,n)=>e+n.value,0):null,l=["pg_settings_max_connections","pg_max_connections"],s=new Set(["rootfs","tmpfs","overlay","squashfs","devtmpfs"]),a=e=>Math.round(10*e)/10,i=e=>Math.min(100,Math.max(0,e)),o=(e,n)=>null!==e&&null!==n&&n>0?a(i(e/n*100)):null,u=(e,n,t)=>null===t?e:null===e||0===n?t:a((e*n+t)/(n+1)),r=(e,n)=>null===n?e:null===e?n:Math.max(e,n);e.s(["x",0,3,"B",0,function(e,n,t){if(!e||t.getTime()-new Date(e.at).getTime()>12e5)return null;let l=[],s=e.recent.filter(e=>t.getTime()-new Date(e.at).getTime()<=96e4),a=s.length?new Date(s[s.length-1].at).getTime()-new Date(s[0].at).getTime():0;s.length>=3&&a>=54e4&&s.every(e=>e.cpu>n.cpu)&&l.push(`CPU ${Math.round(Math.min(...s.map(e=>e.cpu)))}%+ for 15 min (limit ${n.cpu}%)`),null!==e.memPct&&e.memPct>n.ram&&l.push(`RAM ${Math.round(e.memPct)}% (limit ${n.ram}%)`),null!==e.diskPct&&e.diskPct>n.disk&&l.push(`disk ${Math.round(e.diskPct)}% (limit ${n.disk}%)`);let i=o(e.connUsed,e.connMax);return null!==i&&i>n.conn&&l.push(`connections ${e.connUsed} of ${e.connMax} (limit ${n.conn}%)`),l},"V",0,e=>{let n=e??80;return{cpu:n,ram:Math.min(99,n+10),disk:n,conn:n}},"c",0,function(e,n){let a=n&&e.some(e=>e.labels.supabase_identifier===n)?e.filter(e=>void 0===e.labels.supabase_identifier||e.labels.supabase_identifier===n):e,i=e=>a.filter(n=>n.name===e&&Number.isFinite(n.value)),o=i("node_cpu_seconds_total"),u=t(o),r=t(o.filter(e=>"idle"===e.labels.mode)),d=e=>i(e)[0]?.value??null,c=e=>{let n=i(e).filter(e=>!s.has(e.labels.fstype??""));return(n.find(e=>"/data"===e.labels.mountpoint)??n.find(e=>"/"===e.labels.mountpoint)??null)?.value??null};return{cpu:null!==u&&null!==r?{busy:u-r,total:u}:null,memTotal:d("node_memory_MemTotal_bytes"),memAvailable:d("node_memory_MemAvailable_bytes"),diskSize:c("node_filesystem_size_bytes"),diskAvail:c("node_filesystem_avail_bytes"),backends:t(i("pg_stat_database_num_backends")),maxConnections:l.map(d).find(e=>null!==e)??null}},"b",0,e=>new Date(36e5*Math.floor(e.getTime()/36e5)),"n",0,function(e,n){let t=e??{samples:0,cpuSamples:0,cpuAvg:null,cpuMax:null,memAvg:null,memMax:null,diskPct:null,connUsed:null,connMax:null},l=null===t.memAvg?0:t.samples;return{samples:t.samples+1,cpuSamples:t.cpuSamples+ +(null!==n.cpuPct),cpuAvg:u(t.cpuAvg,t.cpuSamples,n.cpuPct),cpuMax:r(t.cpuMax,n.cpuPct),memAvg:u(t.memAvg,l,n.memPct),memMax:r(t.memMax,n.memPct),diskPct:n.diskPct??t.diskPct,connUsed:r(t.connUsed,n.connUsed),connMax:n.connMax??t.connMax}},"E",0,function(e,n,t){var l;let s=t.toISOString(),u=(l=e?.prev,{cpuPct:function(e,n){if(!e||!n)return null;let t=new Date(n.at).getTime()-new Date(e.at).getTime();if(!(t>0)||t>18e5)return null;let l=n.total-e.total,s=n.busy-e.busy;return l<=0||s<0?null:a(i(s/l*100))}(l,n.cpu?{at:s,...n.cpu}:null),memPct:null!==n.memTotal&&null!==n.memAvailable?o(n.memTotal-n.memAvailable,n.memTotal):null,diskPct:null!==n.diskSize&&null!==n.diskAvail?o(n.diskSize-n.diskAvail,n.diskSize):null,connUsed:null===n.backends?null:Math.round(n.backends),connMax:null===n.maxConnections?null:Math.round(n.maxConnections)}),r=(e?.recent??[]).filter(e=>t.getTime()-new Date(e.at).getTime()<=24e5);return null!==u.cpuPct&&r.push({at:s,cpu:u.cpuPct}),{...u,at:s,prev:n.cpu?{at:s,...n.cpu}:null,recent:r.slice(-8)}},"a",0,function(e){let t=[];for(let s of e.split("\n")){var l;let e=s.trim();if(!e||e.startsWith("#"))continue;let a=n.exec(e);if(!a)continue;let i=a[2]?function(e){let n={},t=1,l=e.length-1;for(;t<l;){for(;t<l&&(","===e[t]||" "===e[t]);)t++;if(t>=l)break;let s=e.indexOf("=",t);if(s<0)return null;let a=e.slice(t,s).trim();if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(a)||'"'!==e[s+1])return null;let i=s+2,o="";for(;i<l;i++){let n=e[i];if("\\"===n){let n=e[i+1];o+="n"===n?"\n":n,i++}else if('"'===n)break;else o+=n}if('"'!==e[i])return null;n[a]=o,t=i+1}return n}(a[2]):{};if(!i)continue;let o="NaN"===(l=a[3])?0/0:"+Inf"===l||"Inf"===l?1/0:"-Inf"===l?-1/0:Number(l);Number.isNaN(o)&&"NaN"!==a[3]||t.push({name:a[1],labels:i,value:o})}return t},"T",0,function(e,n){let t=e.getTime();return(null===n||!(t-n<27e4))&&(Math.floor(t/6e4)%5==0||null!==n&&t-n>=6e5)}],867274);let d={cuHours:100,storageBytes:0x40000000,transferBytes:0x140000000,branches:10,scaleToZeroMin:5};function c(e){return e.disabled?{state:"err",label:"Suspended"}:"init"===e.state||e.pendingState&&e.pendingState!==e.state?{state:"build",label:"Starting"}:"active"===e.state?{state:"ok",label:"Active"}:"idle"===e.state?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}e.s(["a",0,d,"p",0,function(e){if((e.computeSeconds??0)>=3600*d.cuHours)return{state:"err",label:"CU-hours used up"};if(!e.endpoints.length)return{state:"unknown",label:"No compute"};let n=e.endpoints.map(c);return n.some(e=>"err"===e.state)?{state:"err",label:"Compute suspended"}:n.some(e=>"ok"===e.state)?{state:"ok",label:"Active"}:n.some(e=>"build"===e.state)?{state:"build",label:"Starting"}:n.every(e=>"idle"===e.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}],800366)}]})();
1
+ (()=>{"use strict";module.exports=[755776,e=>{var n=e.i(420776),t=e.i(870988),l=e.i(438257),s=e.i(144902),a=e.i(389705),o=e.i(484259),i=e.i(303090),r=e.i(467751),u=e.i(618916);let d=u.ops.table("supabase_metrics_keys",{resourceId:(0,r.q)("resource_id").primaryKey().references(()=>u.resources.id,{onDelete:"cascade"}),keyCiphertext:(0,o.f)("key_ciphertext").notNull(),keyIv:(0,o.f)("key_iv").notNull(),keyVersion:(0,t.f)("key_version").notNull().default(1),addedBy:(0,r.q)("added_by"),latest:(0,l.y)("latest").$type(),lastTryAt:(0,i._)("last_try_at",{withTimezone:!0}),lastOkAt:(0,i._)("last_ok_at",{withTimezone:!0}),lastError:(0,o.f)("last_error"),createdAt:(0,i._)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,i._)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),c=u.ops.table("supabase_metrics",{resourceId:(0,r.q)("resource_id").notNull().references(()=>u.resources.id,{onDelete:"cascade"}),hour:(0,i._)("hour",{withTimezone:!0}).notNull(),samples:(0,t.f)("samples").notNull().default(0),cpuSamples:(0,t.f)("cpu_samples").notNull().default(0),cpuAvg:(0,a.f)("cpu_avg"),cpuMax:(0,a.f)("cpu_max"),memAvg:(0,a.f)("mem_avg"),memMax:(0,a.f)("mem_max"),diskPct:(0,a.f)("disk_pct"),connUsed:(0,t.f)("conn_used"),connMax:(0,t.f)("conn_max")},e=>[(0,s._)({columns:[e.resourceId,e.hour]}),(0,n.y)("supabase_metrics_hour_idx").on(e.hour)]);e.s(["l",0,c,"A",0,d])},278619,e=>{let n=e=>(e??0).toLocaleString("en-US"),t={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:e=>`${n(e)} failed checks in a row`},CollectorStale:{key:"CollectorStale",severity:"critical",threshold:5,bounds:[3,60],source:"own",needs:null,sampled:!1,condition:e=>`No collector run for ${n(e)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:e=>`p95 > ${n(e)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"Production deployment state = ERROR"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase status = INACTIVE"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:e=>`TLS certificate expires in < ${n(e)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:e=>`Domain expires in < ${n(e)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Database size > ${n(e)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:e=>`> ${n(e)} of 100 CU-hours this month`},FirestoreQuotaHigh:{key:"FirestoreQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"test",needs:"databases",sampled:!1,condition:e=>`Daily reads > ${n(e)}% of 50k`},AutoPauseRisk:{key:"AutoPauseRisk",severity:"info",threshold:4,bounds:[1,6],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase project without API traffic for ${n(e)}+ days`},DnsProxiedToVercel:{key:"DnsProxiedToVercel",severity:"info",threshold:null,bounds:null,source:"api",needs:"dns",sampled:!1,condition:()=>"Cloudflare record proxied in front of Vercel"},ComputeHigh:{key:"ComputeHigh",severity:"warning",threshold:80,bounds:[50,95],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase CPU > ${n(e)}% for 15 min, RAM > ${n(Math.min(99,(e??80)+10))}%, disk > ${n(e)}% or connections > ${n(e)}% of max`},DbQuotaHigh:{key:"DbQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Turso, Upstash or D1 usage > ${n(e)}% of a free-plan quota`},CredentialExpiring:{key:"CredentialExpiring",severity:"warning",threshold:14,bounds:[1,60],source:"api",needs:null,sampled:!1,condition:e=>`Account credential expires in < ${n(e)} days`},VulnerableDependency:{key:"VulnerableDependency",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A dependency has a critical or high advisory, or a moderate one on a direct dependency (OSV.dev)"},FrameworkVulnerable:{key:"FrameworkVulnerable",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The app's Next.js version has a known advisory (OSV.dev)"},MonitorDomainMoved:{key:"MonitorDomainMoved",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The monitor's domain is no longer one of the app's domains"}};Object.keys(t),e.s(["_",0,t,"h",0,e=>"string"==typeof e&&e in t])},273083,e=>{e.s(["f",0,{checks:7,rollupsHourly:90,deployments:30,events:90,alerts:90,collectorRuns:14,storedLogs:7,recommendationDismissals:90}])},867274,800366,e=>{let n=/^([A-Za-z_:][A-Za-z0-9_:]*)(\{.*\})?\s+(\S+)(?:\s+-?\d+)?\s*$/,t=e=>e.length?e.reduce((e,n)=>e+n.value,0):null,l=["pg_settings_max_connections","pg_max_connections"],s=new Set(["rootfs","tmpfs","overlay","squashfs","devtmpfs"]),a=e=>Math.round(10*e)/10,o=e=>Math.min(100,Math.max(0,e)),i=(e,n)=>null!==e&&null!==n&&n>0?a(o(e/n*100)):null,r=(e,n,t)=>null===t?e:null===e||0===n?t:a((e*n+t)/(n+1)),u=(e,n)=>null===n?e:null===e?n:Math.max(e,n);e.s(["x",0,3,"B",0,function(e,n,t){if(!e||t.getTime()-new Date(e.at).getTime()>12e5)return null;let l=[],s=e.recent.filter(e=>t.getTime()-new Date(e.at).getTime()<=96e4),a=s.length?new Date(s[s.length-1].at).getTime()-new Date(s[0].at).getTime():0;s.length>=3&&a>=54e4&&s.every(e=>e.cpu>n.cpu)&&l.push(`CPU ${Math.round(Math.min(...s.map(e=>e.cpu)))}%+ for 15 min (limit ${n.cpu}%)`),null!==e.memPct&&e.memPct>n.ram&&l.push(`RAM ${Math.round(e.memPct)}% (limit ${n.ram}%)`),null!==e.diskPct&&e.diskPct>n.disk&&l.push(`disk ${Math.round(e.diskPct)}% (limit ${n.disk}%)`);let o=i(e.connUsed,e.connMax);return null!==o&&o>n.conn&&l.push(`connections ${e.connUsed} of ${e.connMax} (limit ${n.conn}%)`),l},"V",0,e=>{let n=e??80;return{cpu:n,ram:Math.min(99,n+10),disk:n,conn:n}},"c",0,function(e,n){let a=n&&e.some(e=>e.labels.supabase_identifier===n)?e.filter(e=>void 0===e.labels.supabase_identifier||e.labels.supabase_identifier===n):e,o=e=>a.filter(n=>n.name===e&&Number.isFinite(n.value)),i=o("node_cpu_seconds_total"),r=t(i),u=t(i.filter(e=>"idle"===e.labels.mode)),d=e=>o(e)[0]?.value??null,c=e=>{let n=o(e).filter(e=>!s.has(e.labels.fstype??""));return(n.find(e=>"/data"===e.labels.mountpoint)??n.find(e=>"/"===e.labels.mountpoint)??null)?.value??null};return{cpu:null!==r&&null!==u?{busy:r-u,total:r}:null,memTotal:d("node_memory_MemTotal_bytes"),memAvailable:d("node_memory_MemAvailable_bytes"),diskSize:c("node_filesystem_size_bytes"),diskAvail:c("node_filesystem_avail_bytes"),backends:t(o("pg_stat_database_num_backends")),maxConnections:l.map(d).find(e=>null!==e)??null}},"b",0,e=>new Date(36e5*Math.floor(e.getTime()/36e5)),"n",0,function(e,n){let t=e??{samples:0,cpuSamples:0,cpuAvg:null,cpuMax:null,memAvg:null,memMax:null,diskPct:null,connUsed:null,connMax:null},l=null===t.memAvg?0:t.samples;return{samples:t.samples+1,cpuSamples:t.cpuSamples+ +(null!==n.cpuPct),cpuAvg:r(t.cpuAvg,t.cpuSamples,n.cpuPct),cpuMax:u(t.cpuMax,n.cpuPct),memAvg:r(t.memAvg,l,n.memPct),memMax:u(t.memMax,n.memPct),diskPct:n.diskPct??t.diskPct,connUsed:u(t.connUsed,n.connUsed),connMax:n.connMax??t.connMax}},"E",0,function(e,n,t){var l;let s=t.toISOString(),r=(l=e?.prev,{cpuPct:function(e,n){if(!e||!n)return null;let t=new Date(n.at).getTime()-new Date(e.at).getTime();if(!(t>0)||t>18e5)return null;let l=n.total-e.total,s=n.busy-e.busy;return l<=0||s<0?null:a(o(s/l*100))}(l,n.cpu?{at:s,...n.cpu}:null),memPct:null!==n.memTotal&&null!==n.memAvailable?i(n.memTotal-n.memAvailable,n.memTotal):null,diskPct:null!==n.diskSize&&null!==n.diskAvail?i(n.diskSize-n.diskAvail,n.diskSize):null,connUsed:null===n.backends?null:Math.round(n.backends),connMax:null===n.maxConnections?null:Math.round(n.maxConnections)}),u=(e?.recent??[]).filter(e=>t.getTime()-new Date(e.at).getTime()<=24e5);return null!==r.cpuPct&&u.push({at:s,cpu:r.cpuPct}),{...r,at:s,prev:n.cpu?{at:s,...n.cpu}:null,recent:u.slice(-8)}},"a",0,function(e){let t=[];for(let s of e.split("\n")){var l;let e=s.trim();if(!e||e.startsWith("#"))continue;let a=n.exec(e);if(!a)continue;let o=a[2]?function(e){let n={},t=1,l=e.length-1;for(;t<l;){for(;t<l&&(","===e[t]||" "===e[t]);)t++;if(t>=l)break;let s=e.indexOf("=",t);if(s<0)return null;let a=e.slice(t,s).trim();if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(a)||'"'!==e[s+1])return null;let o=s+2,i="";for(;o<l;o++){let n=e[o];if("\\"===n){let n=e[o+1];i+="n"===n?"\n":n,o++}else if('"'===n)break;else i+=n}if('"'!==e[o])return null;n[a]=i,t=o+1}return n}(a[2]):{};if(!o)continue;let i="NaN"===(l=a[3])?0/0:"+Inf"===l||"Inf"===l?1/0:"-Inf"===l?-1/0:Number(l);Number.isNaN(i)&&"NaN"!==a[3]||t.push({name:a[1],labels:o,value:i})}return t},"T",0,function(e,n){let t=e.getTime();return(null===n||!(t-n<27e4))&&(Math.floor(t/6e4)%5==0||null!==n&&t-n>=6e5)}],867274);let d={cuHours:100,storageBytes:0x40000000,transferBytes:0x140000000,branches:10,scaleToZeroMin:5};function c(e){return e.disabled?{state:"err",label:"Suspended"}:"init"===e.state||e.pendingState&&e.pendingState!==e.state?{state:"build",label:"Starting"}:"active"===e.state?{state:"ok",label:"Active"}:"idle"===e.state?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}e.s(["a",0,d,"p",0,function(e){if((e.computeSeconds??0)>=3600*d.cuHours)return{state:"err",label:"CU-hours used up"};if(!e.endpoints.length)return{state:"unknown",label:"No compute"};let n=e.endpoints.map(c);return n.some(e=>"err"===e.state)?{state:"err",label:"Compute suspended"}:n.some(e=>"ok"===e.state)?{state:"ok",label:"Active"}:n.some(e=>"build"===e.state)?{state:"build",label:"Starting"}:n.every(e=>"idle"===e.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}],800366)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_1bqzr81r3wkvi._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[627954,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0zs-wkvv1cs0i._.js","server/chunks/src_db_pglite_ts_08i6xx3l4nr6d._.js","server/chunks/node_modules_drizzle-orm_pglite_driver_1oz4kfte3086g.js","server/chunks/node_modules_@electric-sql_pglite_dist_chunk-DDJLRBDX_0c08q8yl7o-29.js"].map(s=>e.l(s))).then(()=>s(350649)))},34166,e=>{e.v(s=>Promise.all(["server/chunks/src_lib_demo_cookie_ts_10kdeuitc9t_3._.js"].map(s=>e.l(s))).then(()=>s(776660)))},447457,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js","server/chunks/node_modules_drizzle-orm_pglite_driver_1oz4kfte3086g.js","server/chunks/node_modules_@electric-sql_pglite_dist_chunk-DDJLRBDX_0c08q8yl7o-29.js"].map(s=>e.l(s))).then(()=>s(927075)))},329856,e=>{e.v(s=>Promise.all(["server/chunks/src_lib_demo_seed_members_ts_1dkquszad7l73._.js"].map(s=>e.l(s))).then(()=>s(338478)))},70885,e=>{e.v(s=>Promise.all(["server/chunks/src_lib_demo_session_ts_1rzsrrdzibxax._.js","server/chunks/src_lib_demo_0rbejiyw_ry41._.js"].map(s=>e.l(s))).then(()=>s(761137)))},994117,e=>{"use strict";let s="wp_session";function r(e=process.env.SITE_URL){return{httpOnly:!0,sameSite:"lax",secure:function(e){try{return"https:"===new URL(e??"").protocol}catch{return!1}}(e),path:"/",maxAge:2592e3}}e.s(["J",0,s,"N",0,function(e,_){e.set(s,"",{...r(_),maxAge:0})},"X",0,r])}];
2
+
3
+ //# sourceMappingURL=src_1cvp6ubs-3z6l._.js.map
@@ -1,6 +1,6 @@
1
- (()=>{"use strict";module.exports=[825895,e=>{var t=e.i(875225),r=e.i(924924),a=e.i(618916),n=e.i(620511),i=e.i(267841);let o="deps.lockfileDispatched";async function s(){let[e]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,n.h)).limit(1);return(0,n.g)(e?.value).repo}async function l(e,u,d=new Date){try{let l=await s();if(!l)return{sent:!1,why:"no actions repository"};let c=(0,n.C)(u);if(!c)return{sent:!1,why:"invalid"};let p=await (0,i.B)(e,l,c);if(!p.ok)return{sent:!1,why:p.error};let[f]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,o)).limit(1),m=f?.value&&"object"==typeof f.value?f.value:{},g={...Object.fromEntries(Object.entries(m).filter(([,e])=>d.getTime()-Date.parse(e)<864e5)),[`${u.repo}#${u.branch}`]:d.toISOString()};return await (0,r.f)().insert(a.settings).values({key:o,value:g}).onConflictDoUpdate({target:a.settings.key,set:{value:g,updatedAt:d}}),{sent:!0}}catch(e){return console.warn("deps: lockfile dispatch failed:",e instanceof Error?e.name:"error"),{sent:!1,why:"error"}}}async function u(e,i,s=new Date){try{let[l]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,o)).limit(1),u=l?.value?.[`${e}#${i}`];return!!u&&s.getTime()-Date.parse(u)<n.w}catch{return!1}}e.s(["W",0,u,"U",0,l])},582931,e=>{var t=e.i(875225),r=e.i(349129),a=e.i(924924),n=e.i(618916),i=e.i(921991),o=e.i(90801),s=e.i(975912),l=e.i(32391),u=e.i(256662),d=e.i(413230),c=e.i(547499),p=e.i(479301),f=e.i(267841),m=e.i(628448),g=e.i(472832),h=e.i(825895);let k=e=>({done:!1,message:e});async function y(){let[e]=await (0,a.f)().select().from(n.accounts).where((0,t.u)(n.accounts.provider,"github_write")).orderBy((0,r.M)(n.accounts.createdAt)).limit(1);if(!e)return null;let o=(0,i.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},(0,c.f)().OPS_ENCRYPTION_KEY);return o?{id:e.id,token:o}:"unreadable"}let w={severity:"no package at the selected severity",major:"an update jumps a major version",nothing:"nothing can be updated"};async function b(r,i,c,v=g.W,I={}){if(!(0,p.f)(i)||!(0,p.f)(c))return v(k("Something in that request wasn't valid."),r,"");let $=await (0,g.q)(r.id,"github_bump_pr",i);if($)return v(k($),r,"");let A=await y();if(null===A)return v(k('A GitHub PR-write token is needed: connect "GitHub (PR write)" on Connections (fine-grained, this repository only, Contents and Pull requests: Read and write; Commit statuses: Read for automatic merges), then ask again.'),r,"");if("unreadable"===A)return v(k("Can't read the stored GitHub PR-write credential. Replace it on Connections."),r,"");let[R]=await (0,a.f)().select({app:n.resources.name,fullName:n.githubRepos.fullName,owner:n.githubRepos.owner,goneAt:n.githubRepos.goneAt,lockfilePath:n.dependencyScans.lockfilePath}).from(n.appRepos).innerJoin(n.githubRepos,(0,t.u)(n.githubRepos.id,n.appRepos.repoId)).innerJoin(n.resources,(0,t.u)(n.resources.id,n.appRepos.appId)).leftJoin(n.dependencyScans,(0,t.u)(n.dependencyScans.repoId,n.appRepos.repoId)).where((0,t.b)((0,t.u)(n.appRepos.appId,i),(0,t.u)(n.appRepos.repoId,c))).limit(1);if(!R||R.goneAt)return v(k(m.G),r,A.id);let x=await (0,a.f)().select({package:n.dependencyVulns.package,installedVersion:n.dependencyVulns.installedVersion,fixedVersion:n.dependencyVulns.fixedVersion,vulnId:n.dependencyVulns.vulnId,aliases:n.dependencyVulns.aliases,severity:n.dependencyVulns.severity,direct:n.dependencyVulns.direct}).from(n.dependencyVulns).where((0,t.b)((0,t.u)(n.dependencyVulns.repoId,c),(0,t.M)(n.dependencyVulns.resolvedAt))).limit(2e3),_=(0,d.B)(x);if(!_.length)return v(k(`Nothing to update in ${R.app}: no direct package has a fixed version for its open advisories.`),r,A.id);if(I.auto){let e=(0,o.a)(_,(0,o.D)(x),I.auto.severities);if(!e.ok)return v(k(`Automatic PR not opened: ${w[e.why]}. The proposal waits for your approval.`),r,A.id);_=e.upgrades}let{auto:j,proposalId:O,...T}=I,P={timeoutMs:8e3,...T},S=await (0,f.H)(A.token,R.fullName,P);if(!S.ok)return v({done:!1,failed:S,audit:{message:`Package update PR failed \xb7 ${R.app}`,resourceId:i}},r,A.id);let D=S.data.defaultBranch,N=await (0,f.M)(A.token,R.fullName,D,P);if(!N.ok)return v({done:!1,failed:N,audit:{message:`Package update PR failed \xb7 ${R.app}`,resourceId:i}},r,A.id);if(!N.data)return v(k(`The default branch ${D} wasn't found.`),r,A.id);let E=await (0,f.E)(A.token,R.fullName,N.data,P);if(!E.ok)return v({done:!1,failed:E,audit:{message:`Package update PR failed \xb7 ${R.app}`,resourceId:i}},r,A.id);if(!E.data)return v(k("There is no package.json at the repository root."),r,A.id);let C=(0,s.k)(E.data.text,_);if(!C?.length)return v(k(`package.json in ${R.app} already allows the fixed versions (or its ranges can't be rewritten). Run npm install there.`),r,A.id);if(j){let e=C.find(e=>{let t=(0,l.Y)(e.from);return!t||!(0,o.J)(t,e.fixed)});if(e)return v(k(`Automatic PR not opened: ${e.package} ${e.from} β†’ ${e.to} jumps a major version. The proposal waits for your approval.`),r,A.id)}let M=(0,s.M)(E.data.text,C);if(!M)return v(k("package.json couldn't be edited safely."),r,A.id);let K=(0,s.U)(C);if(!(0,s.c)(K,D))return v(k("Refused: the PR branch would be the default branch."),r,A.id);let z=await (0,f.x)(A.token,R.fullName,R.owner,K,D,P);if(z.ok&&z.data)return{ok:!0,message:`Pull request #${z.data.number} for these updates is already open.`};let H=await (0,f.e)(A.token,R.fullName,P);if(!H.ok)return v({done:!1,failed:H,audit:{message:`Package update PR failed \xb7 ${R.app}`,resourceId:i}},r,A.id);if(H.data.length){let e=new Map((await (0,a.f)().select({number:n.dependencyPrs.number,packages:n.dependencyPrs.packages}).from(n.dependencyPrs).where((0,t.b)((0,t.u)(n.dependencyPrs.repoId,c),(0,t.y)(n.dependencyPrs.number,H.data.map(e=>e.number))))).map(e=>[e.number,e.packages])),i=(0,o.U)(C.map(e=>e.package),H.data.map(t=>({number:t.number,branch:t.branch,title:t.title,packages:e.get(t.number)??null})));if(i)return v(k(`Pull request #${i.number} for the same package is already open in ${R.app}. Merge or close it first.`),r,A.id)}let B=await (0,f.M)(A.token,R.fullName,K,P);if(B.ok&&B.data)return v(k(`Branch ${K} already exists without an open pull request. Delete it on GitHub, then ask again.`),r,A.id);let L=l.a.find(e=>e.path===R.lockfilePath)?.kind??null,V=e=>v({done:!1,failed:e,audit:{message:`Package update PR failed \xb7 ${R.app} \xb7 ${K}`,resourceId:i}},r,A.id),G=await (0,f.k)(A.token,R.fullName,K,N.data,D,P);if(!G.ok)return V(G);let W=await (0,f.D)(A.token,R.fullName,K,D,M,E.data.sha,(0,s.G)(C),P);if(!W.ok)return V(W);let U=await (0,f.y)(A.token,R.fullName,K,D,(0,s.f)(C),(0,s.y)(C,L,!!j),P);if(!U.ok)return V(U);let q=C.map(e=>`${e.package} ${e.from} β†’ ${e.to}`).join(", "),F=await (0,f.M)(A.token,R.fullName,K,P).catch(()=>null);if(F?.ok&&F.data){await (0,a.f)().insert(n.dependencyPrs).values({repoId:c,appId:i,proposalId:O??null,number:U.data.number,branch:K,baseBranch:D,headSha:F.data,title:(0,s.f)(C).slice(0,200),packages:C.map(e=>e.package),auto:!!j,stage:"checks",stageText:(0,u.m)(U.data.number,"checks")}).onConflictDoNothing().catch(()=>console.warn("deps: recording the PR failed"));let{extensions:t}=await e.A(774810);await t.runner?.queueLockfileJob({repoId:c,branch:K,headSha:F.data,prNumber:U.data.number,lockfilePath:R.lockfilePath??null,targets:C.map(e=>({name:e.package,version:e.fixed}))}).catch(()=>console.warn("deps: queueing the lockfile job failed")),await (0,h.U)(A.token,{repo:R.fullName,branch:K,lockfilePath:R.lockfilePath??null,prNumber:U.data.number})}return v({done:!0,message:`Pull request #${U.data.number} opened for ${R.app}: ${q}. Run npm install on the branch before merging.`,audit:{message:`Package update PR opened \xb7 ${R.app} \xb7 #${U.data.number}`,resourceId:i,detail:q}},r,A.id)}async function v(e,r){if(!(0,p.f)(e))return{ok:!1,why:"target"};let i=await y();if(!i||"unreadable"===i)return{ok:!1,why:"no write token"};let s=await (0,a.f)().select({package:n.dependencyVulns.package,installedVersion:n.dependencyVulns.installedVersion,fixedVersion:n.dependencyVulns.fixedVersion,vulnId:n.dependencyVulns.vulnId,aliases:n.dependencyVulns.aliases,severity:n.dependencyVulns.severity,direct:n.dependencyVulns.direct}).from(n.dependencyVulns).where((0,t.b)((0,t.u)(n.dependencyVulns.repoId,e),(0,t.M)(n.dependencyVulns.resolvedAt))).limit(2e3),l=(0,o.a)((0,d.B)(s),(0,o.D)(s),r);return l.ok?{ok:!0}:{ok:!1,why:l.why}}e.s(["J",0,v,"W",0,b,"G",0,y])},983128,860320,e=>{var t=e.i(875225),r=e.i(924924),a=e.i(618916),n=e.i(921991),i=e.i(547499),o=e.i(666680),s=e.i(140561),l=e.i(206033),u=e.i(105954),d=e.i(971724),c=e.i(180473),p=e.i(76012);let f={inline_keyboard:[]},m=0,g=e=>(0,o.createHash)("sha256").update(`watchpost:telegram-link:${e.trim().toUpperCase()}`,"utf8").digest("hex"),h=s.z.union([l.z.number().int(),u.z.string().regex(/^-?\d{1,20}$/)]).transform(e=>String(e)),k=d.z.object({id:h,type:u.z.string().max(32).optional(),title:u.z.string().max(256).optional(),first_name:u.z.string().max(256).optional(),username:u.z.string().max(64).optional()}),y=d.z.object({id:h,is_bot:c.z.boolean().optional()}),w=d.z.object({message_id:l.z.number().int(),chat:k,from:y.optional(),text:u.z.string().max(4096).optional()}),b=d.z.object({update_id:l.z.number().int(),message:w.optional(),callback_query:d.z.object({id:u.z.string().min(1).max(128),from:y,message:w.optional(),data:u.z.string().max(64).optional()}).optional()});e.s(["i",0,8,"y",0,function(e,t={}){let r=t.fetch??fetch,a=async(t,a)=>{let n=await (0,p.z)(e,t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)},r);n.ok||/not modified/i.test(n.description)||console.warn(`telegram ${t} failed (${n.code??"network"})`)};return{answer:(e,t)=>a("answerCallbackQuery",{callback_query_id:e,text:t.slice(0,200)}),editText:(e,t,r,n)=>a("editMessageText",{chat_id:e,message_id:t,text:r,parse_mode:"HTML",link_preview_options:{is_disabled:!0},reply_markup:n??f}),editKeyboard:(e,t,r)=>a("editMessageReplyMarkup",{chat_id:e,message_id:t,reply_markup:r}),send:(e,t)=>a("sendMessage",{chat_id:e,text:t,parse_mode:"HTML",link_preview_options:{is_disabled:!0}})}},"v",0,e=>`${(e.title??e.first_name??e.username??"Chat").slice(0,50)} (${e.type??"chat"})`,"F",0,g,"z",0,()=>{m++},"j",0,function(e){let t=/^\/link(?:@[A-Za-z0-9_]{3,64})?\s+([A-Za-z0-9]{4,16})\s*$/.exec(e??"");return t?t[1].toUpperCase():null},"c",0,function(e){let t=b.safeParse(e);return t.success?t.data:null},"p",0,function(e,t){if("string"!=typeof e||"string"!=typeof t||!e||!t)return!1;let r=(0,o.createHash)("sha256").update(e,"utf8").digest(),a=(0,o.createHash)("sha256").update(t,"utf8").digest();return(0,o.timingSafeEqual)(r,a)}],860320);let v="telegram.owner",I="telegram.linkCode",$="telegram.seenChats",A=()=>(0,i.f)().OPS_ENCRYPTION_KEY;async function R(e){let[n]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,e)).limit(1);return n?.value??null}async function x(e,t){await (0,r.f)().insert(a.settings).values({key:e,value:t}).onConflictDoUpdate({target:a.settings.key,set:{value:t,updatedAt:new Date}})}async function _(e){await (0,r.f)().delete(a.settings).where((0,t.u)(a.settings.key,e))}function j(e){let t=e?.sealed;if(!t||"string"!=typeof t.ciphertext||"string"!=typeof t.iv)return null;try{return(0,n.K)(t,A())}catch{return null}}let O=(e,t)=>({sealed:(0,n.l)(e,A()),at:t.toISOString()}),T=null;async function P(e=Date.now()){if(T&&T.until>e)return T.secret;let t=j(await R("telegram.webhook"));return T={secret:t,until:e+3e4},t}let S=async()=>await P()!==null;async function D(){let e,n=j(await R(v));if(!n)return null;try{e=JSON.parse(n)}catch{return null}if("string"!=typeof e.tg||"string"!=typeof e.member)return null;let[i]=await (0,r.f)().select({id:a.members.id,userId:a.members.userId}).from(a.members).where((0,t.b)((0,t.u)(a.members.id,e.member),(0,t.u)(a.members.role,"owner"))).limit(1);return i?{telegramUserId:e.tg,memberId:i.id,userId:i.userId}:null}let N=async()=>await D()!==null;async function E(e,n,i){let o=await R(I);if(!o||"string"!=typeof o.hash||"string"!=typeof o.member||"string"!=typeof o.expiresAt)return"expired";if(Date.parse(o.expiresAt)<=i.getTime())return await _(I),"expired";let s="number"==typeof o.tries?o.tries:0;if(!function(e,t){if(e.length!==t.length||!e)return!1;let r=0;for(let a=0;a<e.length;a++)r|=e.charCodeAt(a)^t.charCodeAt(a);return 0===r}(8===e.length?g(e):"",o.hash))return s+1>=5?await _(I):await x(I,{...o,tries:s+1}),"wrong";let[l]=await (0,r.f)().select({id:a.members.id}).from(a.members).where((0,t.b)((0,t.u)(a.members.id,o.member),(0,t.u)(a.members.role,"owner"))).limit(1);return(await _(I),l)?(await x(v,O(JSON.stringify({tg:n,member:l.id}),i)),"linked"):"expired"}async function C(){let e=j(await R($));if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>!!e&&"string"==typeof e.id&&"string"==typeof e.label&&"string"==typeof e.at).slice(0,10):[]}catch{return[]}}async function M(e,t){var r;let a,n=(r=await C(),(a=r.find(t=>t.id===e.id))&&a.label===e.label&&t.getTime()-Date.parse(a.at)<36e5&&r[0]?.id===e.id?null:[{id:e.id,label:e.label,at:t.toISOString()},...r.filter(t=>t.id!==e.id)].slice(0,10));n&&await x($,O(JSON.stringify(n),t))}e.s(["E",0,D,"I",0,N,"P",0,M,"f",0,E,"v",0,S,"g",0,P],983128)},620511,e=>{let t=/^[A-Za-z0-9-]{1,39}\/[A-Za-z0-9._-]{1,100}$/,r=/^watchpost\/deps-[0-9a-f]{8}$/,a=/^(?:[A-Za-z0-9._-]+\/){0,4}package-lock\.json$/,n=e=>"string"==typeof e&&t.test(e)&&!e.includes("..");e.s(["h",0,"deps.lockfileActions","w",0,6e5,"C",0,function(e){let t=e.lockfilePath??"package-lock.json";return!n(e.repo)||!r.test(e.branch)||!a.test(t)||t.includes("..")||!Number.isInteger(e.prNumber)||e.prNumber<1?null:{repo:e.repo,branch:e.branch,lockfile:t,pr:e.prNumber}},"g",0,function(e){let t=e&&"object"==typeof e&&!Array.isArray(e)?e.repo:null;return{repo:n(t)?t:null}}])},975912,e=>{var t=e.i(250474),r=e.i(32391),a=e.i(313931);let n=["dependencies","devDependencies","optionalDependencies"],i="watchpost/deps-",o=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),s={npm:"npm install",pnpm:"pnpm install",yarn:"yarn install",bun:"bun install","package-json":"npm install"};e.s(["M",0,function(e,t){let r;try{r=JSON.parse(e)}catch{return null}if(!o(r))return null;for(let e of t){let t=r[e.group];if(!o(t)||t[e.package]!==e.from)return null;t[e.package]=e.to}let a=/^[{[]\r?\n([ \t]+)\S/.exec(e),n=a?a[1]:" ",i=e.includes("\r\n")?"\r\n":"\n",s=JSON.stringify(r,null,n);return"\r\n"===i&&(s=s.replace(/\n/g,"\r\n")),/\r?\n$/.test(e)?s+i:s},"U",0,function(e){let t=e.map(e=>`${e.package}@${e.to}`).sort().join(",");return`${i}${function(e){let t=0x811c9dc5;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,0x1000193)>>>0;return t.toString(16).padStart(8,"0")}(t)}`},"G",0,function(e){return 1===e.length?`chore(deps): update ${e[0].package} to ${e[0].fixed} (security fix)`:`chore(deps): update ${e.length} packages for security fixes`},"c",0,(e,t)=>e.startsWith(i)&&/^watchpost\/deps-[0-9a-f]{8}$/.test(e)&&e!==t,"k",0,function(e,a){let i;try{i=JSON.parse(e)}catch{return null}if(!o(i))return null;let s=[];for(let e of a)if((0,r.L)(e.package)&&(0,r.C)(e.to))for(let a of n){let n=i[a];if(!o(n)||"string"!=typeof n[e.package])continue;let l=n[e.package],u=(0,r.Y)(l),d=function(e,t){let a=/^\s*(\^|~|>=|=)?\s*v?\d+(?:\.(?:\d+|x|\*))?(?:\.(?:\d+|x|\*))?(?:-[0-9A-Za-z.-]+)?\s*$/.exec(e);return a&&(0,r.C)(t)?`${a[1]??""}${t}`:null}(l,e.to);!u||!d||(0,t.f)(u,e.to)>=0||s.push({package:e.package,group:a,from:l,to:d,fixed:e.to,vulnIds:e.vulnIds,cves:e.cves})}return s},"y",0,function(e,t,r=!1){let n=s[t??"npm"]??"npm install",i=e.map(e=>{let t=[...e.cves,...e.vulnIds.filter(t=>!e.cves.includes(t))].slice(0,4).map(e=>`[${e}](https://osv.dev/vulnerability/${encodeURIComponent(e)})`).join(", ");return`| \`${e.package}\` | \`${e.from}\` | \`${e.to}\` | ${t||"-"} |`});return[r?"This PR was opened **automatically** by Watchbell (Automatic security fixes). Watchbell merges it itself when CI is green, the Vercel preview is READY and passes the smoke test, and auto-rollback is on; if anything fails, the PR stays open for you to check.":a.J.prApproved,"","These packages have known vulnerabilities (source: OSV.dev / GitHub Advisory) and a fixed version exists:","","| Package | Current version | New version | Advisory |","| --- | --- | --- | --- |",...i,"","### Important: the lockfile is not updated","",r?`Watchbell only changes \`package.json\`; it can't regenerate the lockfile on the server. Vercel installs the new version at build time, so production is safe after the merge. Afterwards run \`${n}\` on the main branch and commit the lockfile to bring it up to date.`:`Watchbell only changes \`package.json\`; it can't regenerate the lockfile on the server. Before merging, check out this branch, run \`${n}\`, then commit the changed lockfile. Then make sure the build and tests still pass.`,"","Vulnerable packages that are only installed through other packages (transitive) are not changed here; check with `npm audit` after installing.","","_Nothing is pushed to the main branch: all changes are on this PR branch._"].join("\n")},"f",0,function(e){let t=1===e.length?`Watchbell: update ${e[0].package} to ${e[0].fixed} (security fix)`:`Watchbell: update ${e.length} vulnerable packages (${e.slice(0,2).map(e=>e.package).join(", ")}${e.length>2?", …":""})`;return t.length>200?`${t.slice(0,199)}…`:t}])},256662,e=>{let t={checks:"waiting for CI",preview:"waiting for preview",smoke:"smoke test",merging:"merging…",merged:"merged βœ…","ready-manual":"ready to merge (manual)",failed:"needs a look ⚠️",timeout:"needs a look ⚠️",closed:"closed"},r=new Set(["success","neutral","skipped"]),a=e=>"completed"!==e.status?"pending":r.has(e.conclusion??"")?"success":"failure";e.s(["X",0,["checks","preview","smoke","merging"],"w",0,15e3,"j",0,function(e){let t=(e.checkRuns??e.actionRuns??[]).map(a);return(e.combined&&e.combined.total>0&&t.push("success"===e.combined.state?"success":"pending"===e.combined.state?"pending":"failure"),t.includes("failure"))?"failure":t.includes("pending")?"pending":"success"},"L",0,function(e){if(!e.length||e.some(e=>e.authWall))return null;let t=e.find(e=>null===e.status||e.status<200||e.status>399);return t?{mode:"http",result:"fail",reason:null===t.status?`${t.path} didn't answer within 15 seconds`:`${t.path} answered ${t.status}`}:{mode:"http",result:"pass",reason:null}},"S",0,function(e,t,r){return(401===e||403===e)&&(/vercel\.com\/(sso|login)|Authentication Required|_vercel_sso|vercel-authentication/i.test(t)||/_vercel_sso/i.test(r.get("set-cookie")??"")||"vercel"===(r.get("server")??"").toLowerCase())},"n",0,function(e,t,r){return null!==r&&r>0?{mode:"logs",result:"fail",reason:`${r} errors in the preview logs`}:t.getTime()-e.getTime()<18e4||null===r?{mode:"logs",result:"wait",reason:null}:{mode:"logs",result:"pass",reason:null}},"E",0,function(e){let t=["/"];for(let r of e){let e;try{e=new URL(r).pathname||"/"}catch{continue}!t.includes(e)&&t.length<4&&t.push(e)}return t},"m",0,(e,r,a)=>{let n=`PR #${e}: ${t[r]}${a?` β€” ${a}`:""}`;return n.length>200?`${n.slice(0,199)}…`:n},"f",0,function(e,t){let r=e.getTime();return(null===t||!(r-t<1e5))&&(Math.floor(r/6e4)%2==0||null!==t&&r-t>=24e4)},"M",0,function(e){if(e.pr.merged)return{kind:"done",stage:"merged"};if("closed"===e.pr.state)return{kind:"done",stage:"closed"};if(e.pr.headSha!==e.recordedSha)return{kind:"wait",stage:"checks",reason:"new commit on the PR branch, checking again",resetSha:e.pr.headSha};let t=e.now.getTime()-e.openedAt.getTime()>27e5;return"failure"===e.checks?{kind:"stop",stage:"failed",reason:"CI failed"}:!1===e.pr.mergeable?{kind:"stop",stage:"failed",reason:"conflicts with the main branch"}:"error"===e.preview.state||"canceled"===e.preview.state?{kind:"stop",stage:"failed",reason:"Vercel preview failed"}:"pending"===e.checks||null===e.pr.mergeable?t?{kind:"stop",stage:"timeout",reason:"CI not finished within 45 minutes"}:{kind:"wait",stage:"checks",reason:null}:"ready"!==e.preview.state?t?{kind:"stop",stage:"timeout",reason:"preview not ready within 45 minutes"}:{kind:"wait",stage:"preview",reason:null}:e.smoke&&"wait"!==e.smoke.result?"fail"===e.smoke.result?{kind:"stop",stage:"failed",reason:`preview smoke test failed: ${e.smoke.reason??"?"}`}:e.autoRollbackOn?{kind:"merge"}:{kind:"stop",stage:"ready-manual",reason:"PR is ready to merge, but auto-rollback is off; merge it manually"}:t?{kind:"stop",stage:"timeout",reason:"preview smoke test not finished within 45 minutes"}:{kind:"wait",stage:"smoke",reason:null}}])},267841,e=>{var t=e.i(971724),r=e.i(105954),a=e.i(180473),n=e.i(600205),i=e.i(206033),o=e.i(455744),s=e.i(604147),l=e.i(975912),u=e.i(455037);async function d(e,t,r,a,n){let i,o=n.timeoutMs??8e3;try{i=await (n.fetch??fetch)(`https://api.github.com${t}`,{method:e,headers:{Authorization:`Bearer ${r}`,Accept:"application/vnd.github+json","X-GitHub-Api-Version":"2022-11-28","User-Agent":"Watchbell",...void 0!==a?{"Content-Type":"application/json"}:{}},body:void 0!==a?JSON.stringify(a):void 0,signal:AbortSignal.timeout(o),cache:"no-store",redirect:"error"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?`GitHub didn't answer within ${Math.round(o/1e3)} seconds.`:"Couldn't reach GitHub."}}let s=await i.text().catch(()=>""),l=null;try{l=s?JSON.parse(s):null}catch{l=null}if(i.ok)return{ok:!0,status:i.status,data:l};let u=i.status;return 401===u?{ok:!1,kind:"auth",status:u,error:"GitHub rejected the PR-write token (401). It may have expired or been revoked."}:429===u||403===u&&"0"===i.headers.get("x-ratelimit-remaining")?{ok:!1,kind:"transient",status:u,error:"GitHub's rate limit is used up for now. Try again later."}:403===u?{ok:!1,kind:"scope",status:u,error:"The GitHub PR-write token can't do this (403). It needs Contents and Pull requests: Read and write on this repository."}:404===u?{ok:!1,kind:"missing",status:u,error:"The PR-write token doesn't see this repository (404). Give it access to the repository."}:409===u||422===u?{ok:!1,kind:"format",status:u,error:`GitHub refused the change (${u}).`}:{ok:!1,kind:"transient",status:u,error:`GitHub returned an error (${u}).`}}let c=e=>({ok:!1,kind:"format",error:`GitHub answered ${e} in a format the console doesn't recognise.`}),p={ok:!1,kind:"format",error:"That isn't a repository or branch the console may write."};async function f(e,n,i={}){if(!(0,u.M)(n))return p;let o=await d("GET",`/repos/${(0,u.f)(n)}`,e,void 0,i);if(!o.ok)return o;let s=t.z.object({default_branch:r.z.string(),permissions:t.z.object({push:a.z.boolean()}).partial().optional()}).safeParse(o.data);return s.success&&(0,u.c)(s.data.default_branch)?{ok:!0,data:{defaultBranch:s.data.default_branch,canPush:s.data.permissions?.push??null}}:c("the repository")}async function m(e,a,n,i={}){if(!(0,u.M)(a)||!(0,u.c)(n))return p;let o=await d("GET",`/repos/${(0,u.f)(a)}/git/ref/heads/${n.split("/").map(encodeURIComponent).join("/")}`,e,void 0,i);if(!o.ok)return"missing"===o.kind?{ok:!0,data:null}:o;let s=t.z.object({object:t.z.object({sha:r.z.string().regex(/^[0-9a-f]{40}$/)})}).safeParse(o.data);return s.success?{ok:!0,data:s.data.object.sha}:c("the branch")}async function g(e,a,i,o={}){if(!(0,u.M)(a)||!(0,u.c)(i))return p;let s=await d("GET",`/repos/${(0,u.f)(a)}/contents/package.json?ref=${encodeURIComponent(i)}`,e,void 0,o);if(!s.ok)return"missing"===s.kind?{ok:!0,data:null}:s;let l=t.z.object({sha:r.z.string(),encoding:n.z.literal("base64"),content:r.z.string()}).safeParse(s.data);return l.success?{ok:!0,data:{sha:l.data.sha,text:Buffer.from(l.data.content.replace(/\s/g,""),"base64").toString("utf8")}}:c("package.json")}async function h(e,t,r,a,n,i={}){if(!(0,u.M)(t)||!(0,l.c)(r,n)||!/^[0-9a-f]{40}$/.test(a))return p;let o=await d("POST",`/repos/${(0,u.f)(t)}/git/refs`,e,{ref:`refs/heads/${r}`,sha:a},i);return o.ok?{ok:!0,data:!0}:o}async function k(e,t,r,a,n,i,o,s={}){if(!(0,u.M)(t)||!(0,l.c)(r,a))return p;let c=await d("PUT",`/repos/${(0,u.f)(t)}/contents/package.json`,e,{message:o,content:Buffer.from(n,"utf8").toString("base64"),sha:i,branch:r},s);return c.ok?{ok:!0,data:!0}:c}let y=t.z.object({number:i.z.number(),html_url:r.z.string().startsWith("https://github.com/")});async function w(e,t,r,a,n,i={}){if(!(0,u.M)(t)||!(0,l.c)(a,n))return p;let s=new URLSearchParams({state:"open",head:`${r}:${a}`,per_page:"1"}),f=await d("GET",`/repos/${(0,u.f)(t)}/pulls?${s}`,e,void 0,i);if(!f.ok)return f;let m=o.z.array(y).safeParse(f.data);if(!m.success)return c("the pull requests");let g=m.data[0];return{ok:!0,data:g?{number:g.number,url:g.html_url}:null}}async function b(e,t,r,a,n,i,o={}){if(!(0,u.M)(t)||!(0,l.c)(r,a)||!(0,u.c)(a))return p;let s=await d("POST",`/repos/${(0,u.f)(t)}/pulls`,e,{title:n,head:r,base:a,body:i,maintainer_can_modify:!0},o);if(!s.ok)return s;let f=y.safeParse(s.data);return f.success?{ok:!0,data:{number:f.data.number,url:f.data.html_url}}:c("the new pull request")}let v=o.z.array(t.z.object({number:i.z.number(),title:r.z.string(),head:t.z.object({ref:r.z.string(),sha:r.z.string(),repo:t.z.object({full_name:r.z.string()}).nullable()}),base:t.z.object({ref:r.z.string()})}));async function I(e,t,r={}){if(!(0,u.M)(t))return p;let a=await d("GET",`/repos/${(0,u.f)(t)}/pulls?state=open&per_page=100`,e,void 0,r);if(!a.ok)return a;let n=v.safeParse(a.data);return n.success?{ok:!0,data:n.data.filter(e=>/^watchpost\/deps-[0-9a-f]{8}$/.test(e.head.ref)&&e.head.repo?.full_name===t).map(e=>({number:e.number,branch:e.head.ref,title:e.title,headSha:e.head.sha,base:e.base.ref}))}:c("the pull requests")}async function $(e,n,i,o={}){if(!(0,u.M)(n)||!Number.isInteger(i)||i<=0)return p;let l=await d("GET",`/repos/${(0,u.f)(n)}/pulls/${i}`,e,void 0,o);if(!l.ok)return l;let f=t.z.object({state:s.z.enum(["open","closed"]),merged:a.z.boolean().optional(),mergeable:a.z.boolean().nullable().optional(),head:t.z.object({ref:r.z.string(),sha:r.z.string().regex(/^[0-9a-f]{40}$/)}),base:t.z.object({ref:r.z.string()})}).safeParse(l.data);return f.success?{ok:!0,data:{state:f.data.state,merged:!0===f.data.merged,mergeable:f.data.mergeable??null,headSha:f.data.head.sha,branch:f.data.head.ref,base:f.data.base.ref}}:c("the pull request")}async function A(e,a,n,s={}){if(!(0,u.M)(a)||!/^[0-9a-f]{40}$/.test(n))return p;let[l,c]=await Promise.all([d("GET",`/repos/${(0,u.f)(a)}/commits/${n}/check-runs?per_page=100`,e,void 0,s),d("GET",`/repos/${(0,u.f)(a)}/commits/${n}/status`,e,void 0,s)]),f=e=>!e.ok&&("scope"===e.kind||"missing"===e.kind);if(!l.ok&&!f(l))return l;if(!c.ok&&!f(c))return c;let m=l.ok?t.z.object({check_runs:o.z.array(t.z.object({status:r.z.string(),conclusion:r.z.string().nullable()}))}).safeParse(l.data):null,g=c.ok?t.z.object({state:r.z.string(),total_count:i.z.number()}).safeParse(c.data):null;return{ok:!0,data:{checkRuns:m?.success?m.data.check_runs.map(e=>({status:e.status,conclusion:e.conclusion})):null,combined:g?.success?{state:g.data.state,total:g.data.total_count}:null}}}async function R(e,n,i,o,s,f,m,g={}){if(!(0,u.M)(n)||!(0,l.c)(o,s)||!/^[0-9a-f]{40}$/.test(f)||!Number.isInteger(i)||i<=0)return p;let h=await d("PUT",`/repos/${(0,u.f)(n)}/pulls/${i}/merge`,e,{merge_method:"squash",sha:f,commit_title:`Watchbell: ${m.replace(/^Watch(?:bell|post):\s*/,"")}`.slice(0,250)},g);if(!h.ok)return 405===h.status?{ok:!1,kind:"format",status:405,error:"GitHub says the PR can't be merged now (405)."}:409===h.status?{ok:!1,kind:"format",status:409,error:"The PR's head moved since the checks were read (409)."}:h;let k=t.z.object({merged:a.z.boolean(),sha:r.z.string()}).safeParse(h.data);return k.success&&k.data.merged?{ok:!0,data:{sha:k.data.sha}}:c("the merge")}async function x(e,t,r,a={}){if(!/^[A-Za-z0-9-]{1,39}\/[A-Za-z0-9._-]{1,100}$/.test(t))return p;let n=await d("POST",`/repos/${t}/dispatches`,e,{event_type:"watchpost-lockfile",client_payload:r},a);return n.ok?{ok:!0,data:!0}:n}e.s(["M",0,m,"s",0,A,"k",0,h,"y",0,b,"B",0,x,"E",0,g,"C",0,R,"x",0,w,"e",0,I,"b",0,$,"D",0,k,"H",0,f])},154586,e=>{var t=e.i(278619),r=e.i(313931);let a={workloads:"Workloads",databases:"Databases",network:"Network",observe:"Observe",ai:"AI & API",admin:"Administration"},n={MonitorDown:"workloads",HighLatency:"workloads",DeploymentFailed:"workloads",DatabasePaused:"databases",StorageAlmostFull:"databases",NeonComputeHigh:"databases",FirestoreQuotaHigh:"databases",AutoPauseRisk:"databases",ComputeHigh:"databases",DbQuotaHigh:"databases",CertExpiringSoon:"network",DomainExpiringSoon:"network",DnsProxiedToVercel:"network",CollectorStale:"observe",CredentialExpiring:"admin",VulnerableDependency:"workloads"},i=new Set(["MonitorDown","HighLatency","DeploymentFailed","VulnerableDependency"]);e.s(["p",0,function(e){if((0,t.h)(e.ruleKey))return i.has(e.ruleKey)&&null!==e.resourceKind&&"app"!==e.resourceKind?"observe":n[e.ruleKey];let r=new Set(e.ruleKey.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").toLowerCase().split(/[^a-z0-9]+/).filter(Boolean)),a=(...e)=>e.some(e=>r.has(e));return a("ai","router","gateway","model","models","provider","quota","llm","gemini")?"ai":a("key","keys","member","members","security","audit","credential","credentials","mfa","token")?"admin":a("database","db","storage","compute","neon","supabase","firestore","firebase")?"databases":a("domain","domains","dns","cert","certificate","tls","zone")?"network":"app"===e.resourceKind?"workloads":"observe"},"y",0,e=>r.X.proposedBy(a[e])])},549419,143926,e=>{var t=e.i(635982),r=e.i(377489),a=e.i(154586),n=e.i(365156);let i=["LogErrorSpike","LogErrors","LogDbErrors"],o="timeout|ECONNREFUSED|too many connections|terminating connection|connection terminated|endpoint is disabled|compute.*suspend";RegExp(o,"i");let s=/^dpl_[A-Za-z0-9]{8,40}$/,l=/^ep-[a-z0-9-]{3,60}$/,u=/^[a-z0-9]{8,40}$/;function d(e,a,n){let i=a?(0,t.f)(a,n,120):"";return(0,r.l)((0,t.f)(i?`${e}. Most common: ${i}`:e,n,r.j)||e,r.j)}let c=e=>`${e.ruleKey}:${e.resourceId??""}:${e.action}`,p=new Set(["pending","approved","running"]);e.s(["s",0,864e5,"b",0,72e5,"V",0,3,"N",0,o,"G",0,20,"T",0,i,"v",0,72e5,"H",0,18e5,"w",0,10,"I",0,72e5,"x",0,function(e,t,r){let a=new Set(t.filter(e=>p.has(e.status)||null!==e.closedAt&&r.getTime()-e.closedAt.getTime()<72e5).map(c)),n=new Set;return e.filter(e=>{let t=c(e);return!(a.has(t)||n.has(t))&&(n.add(t),!0)})},"t",0,function(e,t,i){return(function(e,t,r){let a=[],n=r.getTime();if(null!==e.liveAt&&n-e.liveAt.getTime()<72e5&&e.liveAt.getTime()<=n&&e.errorsSinceLive>=Math.max(10,Math.ceil(5*e.baselineErrors/24))&&e.currentId&&e.previousId&&s.test(e.previousId)&&e.previousId!==e.currentId){let r=`${e.errorsSinceLive} errors since the deploy went live ${Math.max(1,Math.round((n-e.liveAt.getTime())/6e4))} min ago (${e.baselineErrors} in the 24 h before)`;a.push({ruleKey:"LogErrorSpike",room:"workloads",action:"vercel_rollback",resourceKind:"app",resourceId:e.appId,targetRef:e.previousId,reason:d(r,e.topSinceLive,t)})}let i=null!==e.lastDeployAt&&n-e.lastDeployAt.getTime()<72e5;if(e.errors30>=20&&!i&&e.httpMonitorId&&a.push({ruleKey:"LogErrors",room:"workloads",action:"recheck",resourceKind:"app",resourceId:e.appId,targetRef:e.httpMonitorId,reason:d(`${e.errors30} errors in the last 30 min`,e.top30,t)}),e.dbErrors30>=3&&e.db){let r=d(`${e.dbErrors30} database connection errors in the last 30 min`,e.topDb,t),n=e.db;("neon_project"===n.kind||"neon_branch"===n.kind)&&n.wakeEndpoint&&l.test(n.wakeEndpoint)?a.push({ruleKey:"LogDbErrors",room:"databases",action:"neon_wake",resourceKind:n.kind,resourceId:n.resourceId,targetRef:n.wakeEndpoint,reason:r}):"supabase_project"===n.kind&&n.supabasePaused&&n.supabaseRef&&u.test(n.supabaseRef)&&a.push({ruleKey:"LogDbErrors",room:"databases",action:"supabase_restore",resourceKind:n.kind,resourceId:n.resourceId,targetRef:n.supabaseRef,reason:r})}return a})(e,t,i).map(o=>{let s="app"===o.resourceKind?(0,r.J)("app",e.appId,e.appName,t):(0,r.J)(o.resourceKind,o.resourceId,null,t);return{alertId:null,ruleKey:o.ruleKey,room:o.room,action:o.action,risk:n.H[o.action].risk,title:(0,r.M)(o.action,s),reason:o.reason,resourceKind:o.resourceKind,resourceId:o.resourceId,resourceName:s,targetRef:o.targetRef,proposedBy:(0,a.y)(o.room),expiresAt:new Date(i.getTime()+n.V)}})},"D",0,function(e,t){let r=e.getTime();return(null===t||!(r-t<27e4))&&(Math.floor(r/6e4)%5==0||null!==t&&r-t>=6e5)},"W",0,function(e,t){let r=new Set(t.map(c));return e.filter(e=>{let t;return"pending"===e.status&&(t=e.ruleKey,i.includes(t))&&!r.has(c(e))}).map(e=>e.id)}],549419);let f=new Set(["MonitorDown","LogErrorSpike"]);e.s(["r",0,72e5,"M",0,f,"s",0,function(e,t){let r=e=>({ok:!1,why:e});if(!e.setting.enabled)return r("off");if(!e.ruleKey||!f.has(e.ruleKey))return r("rule");let a=e.deploy;if(!a||!a.liveAt)return r("no live deploy");let n=t.getTime()-a.liveAt.getTime();return n<0||n>6e4*e.setting.windowMin?r("outside the window"):a.previousId&&e.targetRef===a.previousId&&a.previousId!==a.currentId?a.newestProdCreatedAt&&a.currentCreatedAt.getTime()<a.newestProdCreatedAt.getTime()?r("live deploy is a rollback"):e.rolledOrPromotedLately?r("live deploy came from a rollback or promote"):"ready"!==(a.previousState??"").toLowerCase()?r("previous not ready"):!a.previousCreatedAt||t.getTime()-a.previousCreatedAt.getTime()>2592e6?r("previous too old"):e.autoLately?r("auto-rollback within 2 h"):e.sameDeployBefore?r("already rolled back once"):e.inFlight?r("another auto-rollback is running"):{ok:!0}:r("target changed")},"u",0,(e,t,a)=>(0,r.l)(`Automatic: the new deploy ${e} errored in the first ${t} minutes. ${a}`),"E",0,e=>e.currentSha&&/^[0-9a-f]{7,40}$/i.test(e.currentSha)?e.currentSha.slice(0,7):e.currentId.slice(0,16)],143926)},447933,e=>{let t;var r,a=e.i(875225),n=e.i(518899),i=e.i(924924),o=e.i(313931),s=e.i(618916),l=e.i(209576),u=e.i(532148),d=e.i(433609),c=e.i(111970),p=e.i(154491),f=e.i(125160),m=e.i(984125),g=e.i(326003),h=e.i(298397),k=e.i(291029),y=e.i(377489),w=e.i(549419),b=e.i(143926),v=e.i(442565),I=e.i(349129),$=e.i(895625),A=e.i(547499),R=e.i(407602),x=e.i(582931),_=e.i(629955),j=e.i(309055),O=e.i(145647),T=e.i(479301);async function P(e){if(!(0,T.f)(e))return null;let[t]=await (0,i.f)().select({id:s.resources.id,kind:s.resources.kind,externalId:s.resources.externalId,parentId:s.resources.parentId}).from(s.resources).where((0,a.b)((0,a.u)(s.resources.id,e),(0,a.y)(s.resources.kind,["neon_project","neon_branch"]),(0,a.M)(s.resources.goneAt))).limit(1);if(!t)return null;let r="neon_branch"===t.kind?t.parentId:t.id;if(!r)return null;let[n]=await (0,i.f)().select({data:s.snapshots.data}).from(s.snapshots).where((0,a.u)(s.snapshots.resourceId,r)).limit(1),o=(0,g.k)(g.s,n?.data);return{projectResourceId:r,branchExternalId:"neon_branch"===t.kind?t.externalId:null,computeSeconds:o.computeSeconds??null,periodEnd:o.periodEnd??null}}var S=e.i(472832),D=e.i(800366),N=e.i(628448),E=e.i(443917);let C=`This project used its ${D.a.cuHours} CU-hours; the compute won't start until the quota resets.`;async function M(e,t,r){var a;if(a=new Date,!((t.computeSeconds??0)<3600*D.a.cuHours)&&(!t.periodEnd||new Date(t.periodEnd).getTime()>a.getTime()))return{done:!1,message:C};let n=e.resource.externalId,i=await (0,E.c)(e.token,n,r);if(!i.ok)return{done:!1,message:"missing"===i.kind?N.G:i.error};if(i.data.id!==r||t.branchExternalId&&i.data.branchId!==t.branchExternalId)return{done:!1,message:N.G};if(i.data.disabled)return{done:!1,message:"Neon has disabled this compute, so it can't be started from here."};if("active"===i.data.state)return{done:!1,message:"Already running."};if("init"===i.data.state||"active"===i.data.pendingState)return{done:!1,message:"Already starting."};let o=await (0,E.d)(e.token,n,r);if(o.ok)return{done:!0,message:`Waking ${r}. Ready in a few seconds.`,audit:{message:`Wake requested \xb7 ${r}`,resourceId:e.resource.id}};let s="scope"===o.kind?(0,N.b)("neon",{project:e.resource.name}):"missing"===o.kind?N.G:o.error;return{done:!1,failed:{ok:!1,kind:o.kind,error:s,...o.status?{status:o.status}:{}},audit:{message:`Wake failed \xb7 ${r}`,resourceId:e.resource.id}}}async function K(e,t){let r=t.resource.name;if(e.ok||r.trim().length<2||!e.error.includes(r))return e;let a=await (0,l.f)().catch(()=>null);return{...e,error:a?(0,h.J)(e.error,a,t.resource.id):e.error.split(r).join("db-?")}}async function z(e,t,r,a=S.W){let n=await (0,S.q)(e.id,"wake",r);if(n)return{ok:!1,error:n};let i=await P(t),o=i?await (0,S.p)(i.projectResourceId,"neon_project"):null;return i&&o?K(await a(await M(o,i,r),e,o.account.id),o):{ok:!1,error:N.G}}var H=e.i(11827),B=e.i(843448),L=e.i(342833);let V=e=>`Supabase is busy with this project (${(0,B.P)(e).label.toLowerCase()}). Try again in a few minutes.`,G=(e,t,r)=>({done:!1,failed:{ok:!1,kind:e.kind,error:"scope"===e.kind?(0,N.b)("supabase",{}):e.error,...e.status?{status:e.status}:{}},audit:{message:t,resourceId:r}});async function W(e,t,r,a,n=S.W){let i,o=await (0,S.q)(t.id,e,r);if(o)return{ok:!1,error:o};let s=await (0,S.p)(r,"supabase_project");if(!s)return{ok:!1,error:"This project isn't watched any more, or its credential can't be read."};if(s.resource.externalId!==a)return{ok:!1,error:N.G};let l=s.resource.externalId,u=s.resource.name,d=await (0,L.e)(s.token,l);if(!d.ok)return n({done:!1,message:"scope"===d.kind||"auth"===d.kind?d.error:`Couldn't read this project's status at Supabase: ${d.error}`},t,s.account.id);let c=d.data.status;if("pause"===e){if("INACTIVE"===c||"PAUSING"===c||"GOING_DOWN"===c)return n({done:!1,message:"Already paused."},t,s.account.id);if(!c.startsWith("ACTIVE_"))return n({done:!1,message:V(c)},t,s.account.id);let e=await (0,L.c)(s.token,l);i=e.ok?{done:!0,message:`Pausing ${u}. It takes about 2 minutes.`,audit:{message:`${H.B}${u}`,resourceId:r}}:"transient"===e.kind&&void 0===e.status?{done:!1,failed:{ok:!1,kind:"transient",error:`${e.error} The pause may still have happened; check the project in a few minutes before restoring it.`},audit:{message:`${H.B}${u}`,resourceId:r}}:G(e,`Pause failed \xb7 ${u}`,r)}else{if(c.startsWith("ACTIVE_")||"RESTORING"===c||"COMING_UP"===c)return n({done:!1,message:"Already active or restoring."},t,s.account.id);if("INACTIVE"!==c)return n({done:!1,message:V(c)},t,s.account.id);let e=await (0,L.W)(s.token);if(!e.ok)return n({done:!1,message:`Couldn't count this account's free slots just now: ${e.error}`},t,s.account.id);let a=await (0,_.m)(s.account.id);if(0>=(0,_.G)(e.data,a,d.data.orgSlug))return n({done:!1,message:"This account already uses both free slots. Pause one of its active projects first; Restore stays blocked until it shows Paused."},t,s.account.id);let o=await (0,L.G)(s.token,l);i=o.ok?{done:!0,message:`Restoring ${u}. It takes about 2 minutes.`,audit:{message:`Restore requested \xb7 ${u}`,resourceId:r}}:G(o,`Restore failed \xb7 ${u}`,r)}return n(i,t,s.account.id)}var U=e.i(177706);function q(e,t,r){if("building"===e.state)return"building";if(null!==t&&e.id===t)return"current";if("error"===e.state)return"failed";if("preview"===e.target)return"ready"===e.state?"preview":"other";if("ready"!==e.state||null===t)return"other";let a=r.find(e=>e.id===t);if(!a)return"other";if(e.createdAt.getTime()>a.createdAt.getTime())return"staged";let n=r.filter(e=>"ready"===e.state&&e.id!==t&&e.createdAt.getTime()<a.createdAt.getTime()).sort((e,t)=>t.createdAt.getTime()-e.createdAt.getTime())[0];return n?.id===e.id?"previous":"other"}let F=e=>({done:!1,message:e}),J=(e,t)=>e?.sha?e.sha.slice(0,7):t;async function X(e,t,r){let a=await (0,S.q)(e.id,t,r);if(a)return a;let n=await (0,S.p)(r,"app"),i=n?.resource.meta.teamId;if(!n||"string"!=typeof i||!i||!n.resource.externalId)return"This app or its Vercel credential isn't available any more. Reload the page.";let o=n.resource.meta.teamSlug;return{member:e,t:n,appId:r,app:n.resource.name,teamId:i,teamSlug:"string"==typeof o?o:"",projectId:n.resource.externalId}}async function Z(e){let[t,r]=await Promise.all([(0,U.c)(e.t.token,e.teamId,e.projectId),(0,U.r)(e.t.token,e.teamId,e.projectId)]);return t.ok?r.ok?{ok:!0,data:{name:t.data.name,currentId:t.data.currentId??r.data[0]?.id??null,production:r.data}}:r:t}async function Y(e,t,r,a,n=S.W){return n(t.ok?{done:!0,message:r.message,audit:{message:r.audit,resourceId:e.appId}}:{done:!1,failed:"scope"===t.kind?{ok:!1,kind:"scope",status:t.status,error:(0,N.b)("vercel",{team:e.teamSlug})}:404===t.status?{ok:!1,kind:"missing",status:404,error:"Vercel can't find that deployment any more. Reload and try again."}:{ok:!1,kind:"auth"===t.kind?"auth":"format"===t.kind?"format":"transient",...t.status?{status:t.status}:{},error:t.error},audit:{message:a,resourceId:e.appId}},e.member,e.t.account.id)}async function Q(e,t,r,a=S.W){{let n=await X(e,"redeploy",t);if("string"==typeof n)return a(F(n),e,"");let i=await Z(n);if(!i.ok)return a(F(i.error),e,n.t.account.id);if(i.data.currentId!==r)return a(F(N.G),e,n.t.account.id);if(i.data.production.some(e=>"staged"===q(e,i.data.currentId,i.data.production)))return a(F("Rolled back: promote a deployment first. A redeploy would stay staged and not go live."),e,n.t.account.id);let o=await (0,U.N)(n.t.token,n.teamId,n.projectId);if(!o.ok)return a(F(o.error),e,n.t.account.id);if(o.data)return a(F(`A production build of ${n.app} is already running.`),e,n.t.account.id);let s=J(i.data.production.find(e=>e.id===r),r),l=await (0,U.L)(n.t.token,n.teamId,{projectId:n.projectId,name:i.data.name,deploymentId:r});return Y(n,l,{message:`Redeploy requested. Vercel is building ${n.app} again.`,audit:`Redeploy requested \xb7 ${n.app} \xb7 ${s}`},`Redeploy failed \xb7 ${n.app} \xb7 ${s}`,a)}}async function ee(e,t,r,a=S.W){{let n=await X(e,"rollback",t);if("string"==typeof n)return a(F(n),e,"");let i=await Z(n);if(!i.ok)return a(F(i.error),e,n.t.account.id);if(i.data.currentId===r)return a(F("Already live."),e,n.t.account.id);let o=i.data.production.find(e=>e.id===r);if(!o||"previous"!==q(o,i.data.currentId,i.data.production))return a(F("Hobby can only roll back to the previous production deployment."),e,n.t.account.id);let s=J(o,r),l=await (0,U.E)(n.t.token,n.teamId,n.projectId,r);return Y(n,l,{message:`Rolled back ${n.app} to ${s}. New pushes don't go live until you promote one.`,audit:`Rolled back \xb7 ${n.app} β†’ ${s}`},`Roll back failed \xb7 ${n.app} β†’ ${s}`,a)}}var et=e.i(189104),er=e.i(593111),ea=e.i(425498),en=e.i(77193),ei=e.i(570191),eo=e.i(365156);let es={checkMonitorNow:j.X,keepAliveNow:_.v,wakeAs:z,supabaseAct:W,redeployAs:Q,rollbackAs:ee,finish:S.W,recordAction:R.f,limit:er.f,bumpPrAs:x.W,autoSecurity:()=>(0,ei.X)(),recheckDomain:O._};async function el(){let[e]=await (0,i.f)().select({at:s.collectorRuns.startedAt}).from(s.collectorRuns).where(n.B`(${s.collectorRuns.trigger} = 'vercel_cron' or (${s.collectorRuns.trigger} = 'manual' and ${s.collectorRuns.tasks} ? 'rollups'))`).orderBy((0,I.A)(s.collectorRuns.startedAt)).limit(1);return e?.at??null}async function eu(e){let t=await (e.lastDailyRunAt??el)(),r=(e.now??(()=>new Date))();if(t&&r.getTime()-t.getTime()<216e5)return{ok:!1,error:"The daily job ran less than 6 hours ago."};let a=(e.dailyTarget??function(){let e=(0,$.f)();return e?{url:`${(0,A.f)().SITE_URL.replace(/\/+$/,"")}/api/daily`,secret:e.CRON_SECRET}:null})();if(!a)return{ok:!1,error:"The scheduler settings are missing, so the daily job can't be started."};try{let t=await (e.fetch??fetch)(a.url,{headers:{Authorization:`Bearer ${a.secret}`},signal:AbortSignal.timeout(4e4),redirect:"manual"});if(!t.ok||t.status>=300)return{ok:!1,error:`The daily job route answered ${t.status}.`};return{ok:!0,message:`Daily job ran again (${t.status}).`}}catch(e){if(e instanceof Error&&("TimeoutError"===e.name||"AbortError"===e.name))return{ok:!0,message:"Daily job started; it's still running β€” the heartbeat turns Up when it finishes."};throw e}}let ed="The proposal's target is missing, so it can't run.";async function ec(e,t,r=es){let a="auto"===t,n=a?{id:y.e,userId:null}:{id:t.id,userId:t.userId},i=(e,t,n)=>r.finish(e,t,n,{refresh:!1,...a?{auditPrefix:y.v}:{}});try{if(!e.resourceId||!e.targetRef)return{ok:!1,error:ed};if((0,en.W)()&&"recheck"!==e.action)return await r.recordAction({kind:"ok",message:`${a?y.v:""}${eo.H[e.action].label} (simulated)`,detail:"Simulated in the demo",resourceId:e.resourceId,actorUserId:n.userId}).catch(()=>console.warn("audit event failed")),{ok:!0,message:ea.r};switch(e.action){case"recheck":{let t=await r.limit(et.t.check,n.id);if(!t.allowed)return{ok:!1,error:`Too many checks. Try again in ${(0,et.H)(t.retryAfter)}.`};let i=await r.checkMonitorNow(e.targetRef);if(!i.ok)return{ok:!1,error:i.error};if(i.audit)try{await r.recordAction({kind:!1===i.passed?"err":"ok",...i.audit,message:`${a?y.v:""}${i.audit.message}`,actorUserId:n.userId})}catch{console.warn("audit event failed")}return{ok:!0,message:i.message}}case"domain_recheck":{let t=await r.limit(et.t.domainCheck,n.id);if(!t.allowed)return{ok:!1,error:`Too many checks. Try again in ${(0,et.H)(t.retryAfter)}.`};let i=await (r.recheckDomain??O._)(e.targetRef);if(!i.ok)return i;return await r.recordAction({kind:"ok",...i.audit,message:`${a?y.v:""}${i.audit.message}`,actorUserId:n.userId}).catch(()=>console.warn("audit event failed")),{ok:!0,message:i.message}}case"daily_rerun":return await eu(r);case"neon_wake":return await r.wakeAs(n,e.resourceId,e.targetRef,i);case"supabase_keepalive":return await r.keepAliveNow(n,e.resourceId,i);case"supabase_restore":return await r.supabaseAct("restore",n,e.resourceId,e.targetRef,i);case"vercel_redeploy":return await r.redeployAs(n,e.resourceId,e.targetRef,i);case"vercel_rollback":return await r.rollbackAs(n,e.resourceId,e.targetRef,i);case"github_bump_pr":{let t=a?await (r.autoSecurity??ei.X)():null;if(a&&!t?.enabled)return{ok:!1,error:"Automatic security fixes is off."};return await (r.bumpPrAs??x.W)(n,e.resourceId,e.targetRef,i,{proposalId:e.proposalId??null,...t?{auto:{severities:t.severities}}:{}})}default:return{ok:!1,error:ed}}}catch(e){return console.warn(`${o.X.logTag}/proposals run failed:`,e instanceof Error?e.name:"error"),{ok:!1,error:"Something went wrong while running it. Check the console page before trying again."}}}let ep={id:k.O.id,room:k.O.room,action:k.O.action,risk:k.O.risk,title:k.O.title,reason:k.O.reason,resourceName:k.O.resourceName,proposedBy:k.O.proposedBy,status:k.O.status,auto:k.O.auto,result:k.O.result,createdAt:k.O.createdAt,decidedAt:k.O.decidedAt,expiresAt:k.O.expiresAt},ef={...ep,resourceId:k.O.resourceId,targetRef:k.O.targetRef,ruleKey:k.O.ruleKey};async function em(e,t,r){let o=(0,y.z)(e,t),[l,u,c,p,f,m]=await Promise.all([o.monitorIds.length?(0,i.f)().select({id:s.monitors.id,kind:s.monitors.kind}).from(s.monitors).where((0,a.y)(s.monitors.id,o.monitorIds)):[],o.deployApps.length?(0,i.f)().select({app:s.deployments.resourceId,id:s.deployments.externalId,isCurrent:s.deployments.isCurrent,isPrevious:s.deployments.isPreviousProduction,readyAt:s.deployments.readyAt,createdAt:s.deployments.createdAtProvider}).from(s.deployments).where((0,a.b)((0,a.y)(s.deployments.resourceId,o.deployApps),(0,a.F)((0,a.u)(s.deployments.isCurrent,!0),(0,a.u)(s.deployments.isPreviousProduction,!0)))):[],o.supabaseIds.length?(0,i.f)().select({id:s.resources.id,ref:s.resources.externalId}).from(s.resources).where((0,a.b)((0,a.y)(s.resources.id,o.supabaseIds),(0,a.u)(s.resources.kind,"supabase_project"),n.B`${s.resources.goneAt} is null`)):[],o.monitorApps.length?eh(o.monitorApps):new Map,o.depApps.length?(0,d.C)(o.depApps).catch(()=>new Map):new Map,o.monitorIds.length?eg(o.monitorIds):null]),g=new Map;for(let e of u){let t=g.get(e.app)??{currentId:null,previousId:null,liveAt:null};e.isCurrent?(t.currentId=e.id,t.liveAt=e.readyAt??e.createdAt??null):e.isPrevious&&(t.previousId=e.id),g.set(e.app,t)}return{monitorKinds:new Map(l.map(e=>[e.id,String(e.kind)])),deploys:g,...void 0!==r?{rollbackWindowMs:r}:{},supabaseRefs:new Map(c.map(e=>[e.id,e.ref])),neonSuspended:p,fixableRepos:f,dailyHeartbeatId:m}}async function eg(e){let t=(0,f.i)(process.env.DAILY_HEARTBEAT_TOKEN);if(!t)return null;let[r]=await (0,i.f)().select({id:s.monitors.id}).from(s.monitors).where((0,a.b)((0,a.y)(s.monitors.id,e),(0,a.u)(s.monitors.kind,"heartbeat"),(0,a.u)(s.monitors.tokenHash,(0,m.f)(t)))).limit(1).catch(()=>[]);return r?.id??null}async function eh(e){let t=await (0,i.f)().select({app:s.links.fromResourceId,id:s.resources.id,kind:s.resources.kind,externalId:s.resources.externalId,parentId:s.resources.parentId}).from(s.links).innerJoin(s.resources,(0,a.u)(s.resources.id,s.links.toResourceId)).where((0,a.b)((0,a.y)(s.links.fromResourceId,e),(0,a.u)(s.links.kind,"uses_db"),(0,a.y)(s.resources.kind,["neon_project","neon_branch"]),n.B`${s.resources.goneAt} is null`)),r=new Map;if(!t.length)return r;let o=e=>"neon_branch"===e.kind?e.parentId:e.id,l=[...new Set(t.map(o).filter(e=>!!e))];if(!l.length)return r;let u=new Map((await (0,i.f)().select({id:s.snapshots.resourceId,data:s.snapshots.data}).from(s.snapshots).where((0,a.y)(s.snapshots.resourceId,l))).map(e=>[e.id,(0,g.k)(g.s,e.data)]));for(let e of t){let t=o(e),a=t?u.get(t):void 0,n=a?(0,y.Z)(a.endpoints,a.branches,"neon_branch"===e.kind?e.externalId:null):null;n&&r.set(e.app,{resourceId:e.id,resourceKind:e.kind,endpointId:n})}return r}async function ek(e){if(!e.length)return[];let t=new Set((await (0,i.f)().select({alertId:k.O.alertId,action:k.O.action}).from(k.O).where((0,a.y)(k.O.alertId,[...new Set(e.map(e=>e.alertId))]))).map(e=>`${e.alertId}:${e.action}`)),r=e.filter(e=>!t.has(`${e.alertId}:${e.action}`));return r.length?(0,i.f)().insert(k.O).values(r.map(e=>({...e,status:"pending"}))).onConflictDoNothing().returning(ef):[]}async function ey(e,t,r,o){let[s]=await (0,i.f)().update(k.O).set({status:"approve"===t?"approved":"rejected",decidedBy:r,decidedAt:o}).where((0,a.b)((0,a.u)(k.O.id,e),(0,a.u)(k.O.status,"pending"),n.B`${k.O.expiresAt} > ${o.toISOString()}::timestamptz`)).returning(ef);if(s)return{status:"ok",proposal:(0,y.E)(s),row:s};let[l]=await (0,i.f)().select(ep).from(k.O).where((0,a.u)(k.O.id,e)).limit(1);return l?{status:"conflict",proposal:(0,y.E)(l)}:{status:"missing"}}async function ew(e,t){let[r]=await (0,i.f)().update(k.O).set({status:"running",claimedAt:t}).where((0,a.b)((0,a.u)(k.O.id,e),(0,a.u)(k.O.status,"approved"))).returning(ef);return r??null}async function eb(e,t,r,n){let[o]=await (0,i.f)().update(k.O).set({status:t?"done":"failed",result:r,finishedAt:n}).where((0,a.b)((0,a.u)(k.O.id,e),(0,a.u)(k.O.status,"running"))).returning(ef);return o??null}let ev={run:(e,t)=>ec(e,t),book:()=>(0,l.f)()};async function eI(e,t,r,a=ev){let n=await ew(e,r);if(!n)return null;let i=await a.run({action:n.action,resourceId:n.resourceId,targetRef:n.targetRef,proposalId:n.id},t),o=await a.book().catch(()=>h.a),s=await eb(e,i.ok,(0,y.x)(i,o),new Date);return s?(0,y.E)(s):null}async function e$(e,t){let r=await (0,i.f)().update(k.O).set({status:"expired",result:"Expired: nobody decided in time, or the alert stopped firing."}).where((0,a.b)((0,a.u)(k.O.status,"pending"),(0,a.F)((0,a.S)(k.O.expiresAt,new Date(t.getTime()+1)),(0,a.b)((0,a.E)(k.O.alertId),e.length?(0,a.$)(k.O.alertId,e):n.B`true`)))).returning({id:k.O.id});return await (0,i.f)().update(k.O).set({status:"failed",result:"The run was interrupted. Check the console page before trying again.",finishedAt:t}).where((0,a.b)((0,a.u)(k.O.status,"running"),(0,a.S)(k.O.claimedAt,new Date(t.getTime()-y.L)))),r.length}async function eA(e){await (0,i.f)().delete(k.O).where((0,a.b)((0,a.S)(k.O.createdAt,new Date(e.getTime()-2592e6)),(0,a.$)(k.O.status,["pending","approved","running"])))}let eR=n.B`(${s.storedLogs.level} in ('error', 'fatal') or coalesce(${s.storedLogs.statusCode}, 0) >= 500)`,ex=n.B`coalesce(${s.deployments.readyAt}, ${s.deployments.createdAtProvider})`;async function e_(e){let t=await (0,i.f)().select({app:s.links.fromResourceId,id:s.resources.id,kind:s.resources.kind,externalId:s.resources.externalId,parentId:s.resources.parentId}).from(s.links).innerJoin(s.resources,(0,a.u)(s.resources.id,s.links.toResourceId)).where((0,a.b)((0,a.y)(s.links.fromResourceId,e),(0,a.u)(s.links.kind,"uses_db"),(0,a.y)(s.resources.kind,["neon_project","neon_branch","supabase_project"]),(0,a.M)(s.resources.goneAt))),r=new Map;if(!t.length)return r;let n=e=>"neon_branch"===e.kind?e.parentId:e.id,o=[...new Set(t.map(n).filter(e=>!!e))],l=new Map((o.length?await (0,i.f)().select({id:s.snapshots.resourceId,data:s.snapshots.data}).from(s.snapshots).where((0,a.y)(s.snapshots.resourceId,o)):[]).map(e=>[e.id,e.data]));for(let e of t){let t=l.get(n(e)??"");if("supabase_project"===e.kind){let a=(0,g.k)(g.B,t);r.set(e.app,{resourceId:e.id,kind:e.kind,wakeEndpoint:null,supabaseRef:e.externalId,supabasePaused:"INACTIVE"===a.status})}else{let a=(0,g.k)(g.s,t);r.set(e.app,{resourceId:e.id,kind:e.kind,wakeEndpoint:(0,y.Z)(a.endpoints,a.branches,"neon_branch"===e.kind?e.externalId:null),supabaseRef:null,supabasePaused:!1})}}return r}let ej={apps:async function(e){let t=new Date(e.getTime()-w.I-w.s),r=n.B`${s.storedLogs.at} >= ${new Date(e.getTime()-w.H).toISOString()}::timestamptz`,o=n.B`${s.storedLogs.message} ~* ${w.N}`,l=n.B`left(${s.storedLogs.message}, 200)`,u=(await (0,i.f)().select({appId:s.storedLogs.resourceId,appName:n.B`max(${s.resources.name})`,liveAt:n.B`max(${ex})`.mapWith(s.deployments.readyAt),currentId:n.B`max(${s.deployments.externalId})`,errorsSinceLive:n.B`count(*) filter (where ${eR} and ${s.storedLogs.at} >= ${ex})`.mapWith(Number),baselineErrors:n.B`count(*) filter (where ${eR} and ${s.storedLogs.at} >= ${ex} - interval '24 hours' and ${s.storedLogs.at} < ${ex})`.mapWith(Number),topSinceLive:n.B`mode() within group (order by ${l}) filter (where ${eR} and ${s.storedLogs.at} >= ${ex})`,errors30:n.B`count(*) filter (where ${eR} and ${r})`.mapWith(Number),top30:n.B`mode() within group (order by ${l}) filter (where ${eR} and ${r})`,dbErrors30:n.B`count(*) filter (where ${r} and ${o})`.mapWith(Number),topDb:n.B`mode() within group (order by ${l}) filter (where ${r} and ${o})`}).from(s.storedLogs).innerJoin(s.resources,(0,a.u)(s.resources.id,s.storedLogs.resourceId)).leftJoin(s.deployments,(0,a.b)((0,a.u)(s.deployments.resourceId,s.storedLogs.resourceId),(0,a.u)(s.deployments.isCurrent,!0))).where((0,a.b)((0,a.B)(s.storedLogs.at,t),(0,a.u)(s.resources.kind,"app"),(0,a.M)(s.resources.goneAt))).groupBy(s.storedLogs.resourceId)).filter(e=>e.errorsSinceLive>=w.w||e.errors30>=w.G||e.dbErrors30>=w.V);if(!u.length)return[];let d=u.map(e=>e.appId),[c,p,f]=await Promise.all([(0,i.f)().select({app:s.deployments.resourceId,previousId:n.B`max(${s.deployments.externalId}) filter (where ${s.deployments.isPreviousProduction})`,lastDeployAt:n.B`max(${s.deployments.createdAtProvider}) filter (where ${s.deployments.target} = 'production')`.mapWith(s.deployments.createdAtProvider)}).from(s.deployments).where((0,a.b)((0,a.y)(s.deployments.resourceId,d),(0,a.F)((0,a.u)(s.deployments.isPreviousProduction,!0),(0,a.B)(s.deployments.createdAtProvider,new Date(e.getTime()-w.v))))).groupBy(s.deployments.resourceId),(0,i.f)().select({app:s.monitors.resourceId,id:s.monitors.id}).from(s.monitors).where((0,a.b)((0,a.y)(s.monitors.resourceId,d),(0,a.u)(s.monitors.kind,"http"),(0,a.u)(s.monitors.paused,!1),(0,a.u)(s.monitors.ownerPaused,!1))).orderBy(s.monitors.createdAt),e_(d)]),m=new Map(c.map(e=>[e.app,e])),g=new Map;for(let e of p)g.has(e.app)||g.set(e.app,e.id);return u.map(e=>({...e,appName:e.appName??"",previousId:m.get(e.appId)?.previousId??null,lastDeployAt:m.get(e.appId)?.lastDeployAt??null,httpMonitorId:g.get(e.appId)??null,db:f.get(e.appId)??null}))},rows:async function(e){let t=n.B`coalesce(${k.O.finishedAt}, ${k.O.decidedAt}, ${k.O.expiresAt})`;return(0,i.f)().select({id:k.O.id,ruleKey:k.O.ruleKey,resourceId:k.O.resourceId,action:k.O.action,status:k.O.status,closedAt:t.mapWith(k.O.finishedAt)}).from(k.O).where((0,a.b)((0,a.M)(k.O.alertId),(0,a.y)(k.O.ruleKey,[...w.T]),(0,a.F)((0,a.y)(k.O.status,["pending","approved","running"]),n.B`${t} > ${new Date(e.getTime()-w.b).toISOString()}::timestamptz`)))}};async function eO(e,t,r=ej){let[n,o]=await Promise.all([r.apps(e),r.rows(e)]),s=n.flatMap(r=>(0,w.t)(r,t,e)),l=(0,w.W)(o,s),u=0;l.length&&(u=(await (0,i.f)().update(k.O).set({status:"expired",result:"Expired: the logs no longer show it.",finishedAt:e}).where((0,a.b)((0,a.y)(k.O.id,l),(0,a.u)(k.O.status,"pending"))).returning({id:k.O.id})).length);let d=(0,w.x)(s,o,e);return d.length?{created:await (0,i.f)().insert(k.O).values(d.map(e=>({...e,status:"pending"}))).onConflictDoNothing().returning(ef),expired:u}:{created:[],expired:u}}let eT=null;async function eP(e,t){return(0,w.D)(e,eT)?(eT=e.getTime(),eO(e,await t())):{created:[],expired:0}}async function eS(e,t){return(await (0,i.f)().update(k.O).set({status:"approved",auto:!0,decidedAt:t}).where((0,a.b)((0,a.u)(k.O.id,e),(0,a.u)(k.O.status,"pending"),(0,a.u)(k.O.risk,"safe"))).returning({id:k.O.id})).length>0}async function eD(e,t){let r=new Date(t.getTime()-b.r),[o,l,u,d]=await Promise.all([(0,i.f)().select({app:s.deployments.resourceId,id:s.deployments.externalId,sha:s.deployments.commitSha,state:s.deployments.state,isCurrent:s.deployments.isCurrent,isPrevious:s.deployments.isPreviousProduction,readyAt:s.deployments.readyAt,createdAt:s.deployments.createdAtProvider}).from(s.deployments).where((0,a.b)((0,a.y)(s.deployments.resourceId,e),(0,a.F)((0,a.u)(s.deployments.isCurrent,!0),(0,a.u)(s.deployments.isPreviousProduction,!0)))),(0,i.f)().select({app:s.deployments.resourceId,at:n.B`max(${s.deployments.createdAtProvider})`.mapWith(s.deployments.createdAtProvider)}).from(s.deployments).where((0,a.b)((0,a.y)(s.deployments.resourceId,e),(0,a.u)(s.deployments.target,"production"),(0,a.u)(s.deployments.state,"ready"))).groupBy(s.deployments.resourceId),(0,i.f)().select({app:s.events.resourceId}).from(s.events).where((0,a.b)((0,a.u)(s.events.type,"action"),(0,a.y)(s.events.resourceId,e),(0,a.B)(s.events.at,r),n.B`${s.events.message} ~ ${eN}`)),(0,i.f)().select({app:k.O.resourceId,targetRef:k.O.targetRef,status:k.O.status,decidedAt:k.O.decidedAt}).from(k.O).where((0,a.b)((0,a.u)(k.O.action,"vercel_rollback"),(0,a.u)(k.O.auto,!0),(0,a.B)(k.O.createdAt,new Date(t.getTime()-26784e5))))]),c=new Map;for(let t of e){let e=o.find(e=>e.app===t&&e.isCurrent),a=o.find(e=>e.app===t&&e.isPrevious&&!e.isCurrent),n=d.filter(e=>e.app===t);c.set(t,{deploy:e?{currentId:e.id,currentSha:e.sha,liveAt:e.readyAt??e.createdAt,currentCreatedAt:e.createdAt,newestProdCreatedAt:l.find(e=>e.app===t)?.at??null,previousId:a?.id??null,previousState:a?.state??null,previousCreatedAt:a?.createdAt??null}:null,rolledOrPromotedLately:u.some(e=>e.app===t),autoLately:n.some(e=>null!==e.decidedAt&&e.decidedAt.getTime()>=r.getTime()),sameDeployBefore:!!a&&n.some(e=>e.targetRef===a.id)})}return{apps:c,inFlight:d.some(e=>"approved"===e.status||"running"===e.status)}}let eN="(Rolled back|Promoted|Preview promoted) Β·";async function eE(e,t,r){return(await (0,i.f)().update(k.O).set({status:"approved",auto:!0,decidedAt:r,reason:t}).where((0,a.b)((0,a.u)(k.O.id,e),(0,a.u)(k.O.status,"pending"),(0,a.u)(k.O.action,"vercel_rollback"),n.B`not exists (select 1 from ops.action_proposals x where x.action = 'vercel_rollback' and x.auto and x.status in ('approved', 'running'))`)).returning({id:k.O.id})).length>0}async function eC(e,t,r,a){let n=e.filter(e=>"vercel_rollback"===e.action&&e.ruleKey&&b.M.has(e.ruleKey)&&e.resourceId);if(!n.length||!a.autoRollback||!a.rollbackContext||!a.approveAutoRollback)return[];let i=await a.autoRollback().catch(()=>null);if(!i?.enabled||15e3>r())return[];let s=[];try{let e=await a.rollbackContext([...new Set(n.map(e=>e.resourceId))],t),l=e.inFlight;for(let u of n){let n=e.apps.get(u.resourceId);if(!n||12e3>r())continue;let d=(0,b.s)({setting:i,ruleKey:u.ruleKey??null,targetRef:u.targetRef,inFlight:l,...n},t);if(!d.ok){console.log(`${o.X.logTag}/auto-rollback: skipped (${d.why})`);continue}let c=(0,b.E)(n.deploy);if(!await a.approveAutoRollback(u.id,(0,b.u)(c,i.windowMin,u.reason),new Date))continue;l=!0;let p=await a.execute(u.id,new Date);if(p){s.push(p),await (a.notifyRollback??v.q)(p,{reason:u.reason,newRef:c}).catch(()=>void 0);break}}}catch(e){console.warn(`${o.X.logTag}/auto-rollback failed:`,e instanceof Error?e.name:"error")}return s}async function eM(e,t){return(await (0,i.f)().update(k.O).set({status:"approved",auto:!0,decidedAt:t}).where((0,a.b)((0,a.u)(k.O.id,e),(0,a.u)(k.O.status,"pending"),(0,a.u)(k.O.action,"github_bump_pr"))).returning({id:k.O.id})).length>0}async function eK(e,t,r){let a=e.filter(e=>"github_bump_pr"===e.action&&e.targetRef);if(!a.length||!r.autoSecurity||!r.bumpReady||!r.approveAutoBump)return[];let n=await r.autoSecurity().catch(()=>null);if(!n?.enabled||!n.severities.length)return[];let i=[];for(let e of a){if(15e3>t())break;try{let t=await r.bumpReady(e.targetRef,n.severities);if(!t.ok){console.log(`${o.X.logTag}/auto-security: waits for the owner (${t.why})`);continue}if(!await r.approveAutoBump(e.id,new Date))continue;let a=await r.execute(e.id,new Date);a&&i.push(a)}catch(e){console.warn(`${o.X.logTag}/auto-security failed:`,e instanceof Error?e.name:"error")}}return i}async function ez(e){return new Map((await (0,i.f)().select({id:s.accounts.id,provider:s.accounts.provider}).from(s.accounts).where((0,a.y)(s.accounts.id,e))).map(e=>[e.id,e.provider]))}let eH={firing:()=>(0,u.q)(),book:()=>(0,l.f)(),facts:em,create:ek,expire:e$,autoRun:ei.I,approveAuto:eS,execute:(e,t)=>eI(e,"auto",t),notifyNew:v.i,notifyResult:v.b,logs:eP,autoRollback:()=>(0,ei.K)(),rollbackContext:eD,approveAutoRollback:eE,notifyRollback:v.q,autoSecurity:()=>(0,ei.X)(),bumpReady:x.J,approveAutoBump:eM,paused:c.I,providers:ez};async function eB(e,t={},r=eH){let a={created:0,expired:0,autoRan:0},n=()=>(t.deadline??1/0)-Date.now(),i=await r.firing();a.expired=await r.expire(i.map(e=>e.id),e);let s=r.paused?await r.paused().catch(()=>new Set):new Set,l=[...new Set(i.flatMap(e=>e.accountId?[e.accountId]:[]))],u=s.size&&l.length&&r.providers?await r.providers(l).catch(()=>new Map):new Map,d=i.filter(e=>!(0,p.O)(s,e.ruleKey,e.accountId?u.get(e.accountId):null)),c=null,f=()=>c??=r.book().catch(()=>h.a),m=[],g=(0,y.z)(d,e);if(Object.values(g).some(e=>e.length>0)){let t=g.deployApps.length&&r.autoRollback?await r.autoRollback().catch(()=>null):null,a=await r.facts(d,e,t?6e4*t.windowMin:void 0),n=await f();m.push(...await r.create(d.flatMap(t=>(0,y.t)(t,a,n,e))))}if(n()>1e4&&!s.has("hosting"))try{let t=await r.logs(e,f);m.push(...t.created),a.expired+=t.expired}catch(e){console.warn(`${o.X.logTag}/proposals logs failed:`,e instanceof Error?e.name:"error")}if(a.created=m.length,!m.length)return a;let k=await r.autoRun().catch(()=>null),w=await eC(m,e,n,r);a.autoRan+=w.length;let b=await eK(m.filter(e=>!w.some(t=>t.id===e.id)),n,r),v=new Set(w.map(e=>e.id)),I=[...b];for(let e of(a.autoRan+=b.length,b))v.add(e.id);for(let e of m){if(v.has(e.id)||!k||!(0,y.I)(e.action,k)||8e3>n()||!await r.approveAuto(e.id,new Date))continue;let t=await r.execute(e.id,new Date);t&&(I.push(t),a.autoRan++)}let $=new Set([...I.map(e=>e.id),...v]),A=m.filter(e=>"LogErrorSpike"===e.ruleKey&&e.resourceId).map(e=>({proposalId:e.id,appId:e.resourceId})),R=A.length&&r.queueDev?await r.queueDev(A,e).catch(()=>new Set):new Set;for(let e of(await r.notifyNew(m.filter(e=>!$.has(e.id)).map(y.E),{},{devQueued:R}).catch(()=>void 0),I))await r.notifyResult(e).catch(()=>void 0);return a}let eL=(r={},t={...eH,queueDev:r.queueDev},async(e,r)=>{try{let a=await eB(e,r??{},t);(a.created||a.expired||a.autoRan)&&console.log(`${o.X.logTag}/proposals: ${a.created} new, ${a.expired} expired, ${a.autoRan} auto-ran`)}catch(e){console.warn(`${o.X.logTag}/proposals failed:`,e instanceof Error?e.name:"error")}});e.s(["V",0,ey,"N",0,eI,"Z",0,eL,"t",0,eA],447933)},442565,e=>{var t=e.i(313931),r=e.i(872281),a=e.i(483100),n=e.i(224382),i=e.i(220642),o=e.i(547499),s=e.i(695811),l=e.i(76012),u=e.i(298397),d=e.i(635982),c=e.i(570191),p=e.i(365156);let f={target:a.Q,book:()=>(0,r.f)(),siteUrl:()=>(0,o.f)().SITE_URL,autoRun:()=>(0,c.I)(),send:(e,t,r,a)=>(0,l.I)(e,t,r,a?{replyMarkup:a}:{}),record:(e,t)=>(0,a.P)("telegram",e,t),lang:()=>(0,s.H)("telegram"),discord:()=>(0,a.G)(),sendDiscord:(e,t)=>(0,n.f)(e,t,{timeoutMs:v}),recordDiscord:(e,t)=>(0,a.P)("discord",e,t),discordLang:()=>(0,s.H)("discord"),buttons:()=>e.A(106025).then(e=>e.approvalButtons())},m={en:{pending:"Status: ⏳ waiting",dev:"πŸ§‘β€πŸ’» Dev is checking the code",proposer:t.X.notifyFallback.en,app:"app",safe:"safe",risky:"needs care",proposes:"proposes",why:"Why",risk:"Risk",open:"Open in Auto-actions",waitingN:"new proposals waiting for approval:",moreN:"more proposals",automatic:"Automatic",rollbackWhy:"the app errored after the new deploy",succeeded:"Succeeded",failed:"Failed",stopFallback:"something failed"},id:{pending:"Status: ⏳ menunggu",dev:"πŸ§‘β€πŸ’» Dev lagi cek kodenya",proposer:t.X.notifyFallback.id,app:"aplikasi",safe:"aman",risky:"perlu hati-hati",proposes:"usul",why:"Kenapa",risk:"Risiko",open:"Buka di Auto-actions",waitingN:"usulan baru menunggu persetujuan:",moreN:"usulan lagi",automatic:"Otomatis",rollbackWhy:"app-nya error setelah deploy baru",succeeded:"Berhasil",failed:"Gagal",stopFallback:"ada yang gagal"}},g={recheck:"Cek ulang sekarang",neon_wake:"Bangunin Neon",supabase_keepalive:"Kirim keep-alive Supabase",supabase_restore:"Restore project Supabase",vercel_redeploy:"Redeploy production",vercel_rollback:"Rollback ke deploy sebelumnya",github_bump_pr:"Bikin PR update paket",domain_recheck:"Cek ulang sertifikat domain",daily_rerun:"Jalanin ulang daily job"},h=(e="en")=>(0,s.t)(m,e,"dev"),k=(e,t)=>("id"===t?g[e.action]:void 0)??p.H[e.action]?.label??e.actionLabel,y=(e,t)=>(0,s.t)(m,t,"risky"===e.risk||p.H[e.action]?.risk==="risky"?"risky":"safe"),w=(e,t)=>`${e.replace(/\/+$/,"")}/auto-actions${t?`?proposal=${encodeURIComponent(t)}`:""}`;function b(e,t,r,a=!1,n="en"){let o=e=>(0,s.t)(m,n,e),l=(0,d.f)(e.proposedBy,t,60)||o("proposer"),u=(0,d.f)(e.title,t,120),c=(0,d.f)(e.reason,t,200)||"-";return[`πŸ§‘β€βœˆοΈ ${(0,i.H)(l)} ${o("proposes")}: ${(0,i.H)(k(e,n))} β€” ${(0,i.H)(u)}`,`${o("why")}: ${(0,i.H)(c)}`,`${o("risk")}: ${y(e,n)}`,...a?[h(n)]:[],`${o("open")}: ${(0,i.H)(w(r,e.id))}`].join("\n")}let v=3e3,I={en:{proposed:"πŸ“ Proposed",approved:"βœ… Approved by the owner",rejected:"🚫 Rejected by the owner",done:"βš™οΈ Ran",failed:"❌ Failed",waiting:"waiting for approval on Telegram.",newN:"new proposals"},id:{proposed:"πŸ“ Usulan",approved:"βœ… Disetujui owner",rejected:"🚫 Ditolak owner",done:"βš™οΈ Dijalankan",failed:"❌ Gagal",waiting:"nunggu persetujuan di Telegram.",newN:"usulan baru"}};function $(e,t,r,a="en"){let n=e=>(0,s.t)(I,a,e);if(Array.isArray(t))return`πŸ“ ${t.length} ${n("newN")} β€” ${n("waiting")}`;let i=((0,d.f)(t.title,r,120)||k(t,a)).replace(/[*_`~|\[\]<>]/g,"");if("proposed"===e)return`${n("proposed")}: ${i} β€” ${n("waiting")}`;if("approved"===e||"rejected"===e)return`${n(e)}: ${i}`;let o=t.result?(0,d.f)(t.result,r,200).replace(/[*_`~|\[\]<>]/g,""):"";return`${n(e)}: ${i}${o?` β€” ${o}`:""}`}async function A(e,r,a){try{let n,i=await r.discord();if(!i)return;let o=await r.book().catch(()=>u.a),s=await r.discordLang().catch(()=>"en"),l=e(o,s);if(!l.length)return;try{n=await r.sendDiscord(i.url,l.join("\n"))}catch{n={ok:!1,kind:"transient",error:"Discord didn't answer."}}await r.recordDiscord(n,a).catch(()=>console.warn(`${t.X.logTag}/discord: recording the result failed`))}catch{console.warn(`${t.X.logTag}/discord: sending the action history failed`)}}async function R(e,t,r={},a={}){let n={...f,...r};await _(()=>A((r,a)=>[$(e,t,r,a)],n,a.now??new Date),a.timeoutMs??v)}async function x(e,r,a){let n=await r.target();if(!n)return;let i=await r.book().catch(()=>u.a),o=await r.lang().catch(()=>"en");for(let s of(await e(i,o))){let e;try{e="string"==typeof s?await r.send(n.token,n.chatId,s):await r.send(n.token,n.chatId,s.text,s.keyboard)}catch{e={ok:!1,kind:"transient",error:"Telegram didn't answer."}}await r.record(e,a).catch(()=>console.warn(`${t.X.logTag}/telegram: recording the result failed`))}}async function _(e,r){try{var a;let t;await (a=e(),Promise.race([a,new Promise((e,a)=>{t=setTimeout(()=>a(Object.assign(Error("timeout"),{name:"TimeoutError"})),r)})]).finally(()=>clearTimeout(t)))}catch(e){console.warn(`${t.X.logTag}/telegram: sending the proposal notice failed:`,e instanceof Error?e.name:"error")}}async function j(e,t={},r={}){if(!e.length)return;let a={...f,...t};await _(async()=>{let t=await a.autoRun().catch(()=>null),n=e.filter(e=>{var r;return r=t??{},"pending"===e.status&&!e.auto&&(p.H[e.action]?.risk!=="safe"||"risky"===e.risk||!r[e.action])});if(!n.length)return;let o=n.length>3||!a.buttons?null:await a.buttons().catch(()=>null),l=r.now??new Date;await Promise.all([x((e,t)=>n.length>3?[function(e,t,r,a=new Set,n="en"){let o=e=>(0,s.t)(m,n,e),l=e.slice(0,10).map(e=>{let s=(0,d.f)(e.proposedBy,t,60)||o("proposer");return`β€’ ${(0,i.H)(s)}: ${(0,i.H)(k(e,n))} β€” ${(0,i.H)((0,d.f)(e.title,t,120))} (${y(e,n)})${a.has(e.id)?` \xb7 ${h(n)}`:""}
1
+ (()=>{"use strict";module.exports=[825895,e=>{var t=e.i(875225),r=e.i(924924),a=e.i(618916),n=e.i(620511),i=e.i(267841);let o="deps.lockfileDispatched";async function s(){let[e]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,n.h)).limit(1);return(0,n.g)(e?.value).repo}async function l(e,u,d=new Date){try{let l=await s();if(!l)return{sent:!1,why:"no actions repository"};let c=(0,n.C)(u);if(!c)return{sent:!1,why:"invalid"};let p=await (0,i.B)(e,l,c);if(!p.ok)return{sent:!1,why:p.error};let[f]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,o)).limit(1),m=f?.value&&"object"==typeof f.value?f.value:{},g={...Object.fromEntries(Object.entries(m).filter(([,e])=>d.getTime()-Date.parse(e)<864e5)),[`${u.repo}#${u.branch}`]:d.toISOString()};return await (0,r.f)().insert(a.settings).values({key:o,value:g}).onConflictDoUpdate({target:a.settings.key,set:{value:g,updatedAt:d}}),{sent:!0}}catch(e){return console.warn("deps: lockfile dispatch failed:",e instanceof Error?e.name:"error"),{sent:!1,why:"error"}}}async function u(e,i,s=new Date){try{let[l]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,o)).limit(1),u=l?.value?.[`${e}#${i}`];return!!u&&s.getTime()-Date.parse(u)<n.w}catch{return!1}}e.s(["W",0,u,"U",0,l])},582931,e=>{var t=e.i(875225),r=e.i(349129),a=e.i(924924),n=e.i(618916),i=e.i(921991),o=e.i(90801),s=e.i(975912),l=e.i(618127),u=e.i(581321),d=e.i(32391),c=e.i(256662),p=e.i(413230),f=e.i(547499),m=e.i(479301),g=e.i(502240),h=e.i(267841),k=e.i(628448),y=e.i(472832),w=e.i(825895);let b=e=>({done:!1,message:e});async function v(){let[e]=await (0,a.f)().select().from(n.accounts).where((0,t.u)(n.accounts.provider,"github_write")).orderBy((0,r.M)(n.accounts.createdAt)).limit(1);if(!e)return null;let o=(0,i.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},(0,f.f)().OPS_ENCRYPTION_KEY);return o?{id:e.id,token:o}:"unreadable"}let $={severity:"no package at the selected severity",major:"an update jumps a major version",nothing:"nothing can be updated"};async function I(e){let[r]=await (0,a.f)().select({version:n.appSecurity.version,status:n.appSecurity.status,findings:n.appSecurity.findings}).from(n.appSecurity).where((0,t.u)(n.appSecurity.resourceId,e)).limit(1);return r?(0,l.p)({version:r.version,status:r.status,findings:Array.isArray(r.findings)?r.findings:[]}):null}async function A(e){let r=await (0,a.f)().select({package:n.dependencyVulns.package,installedVersion:n.dependencyVulns.installedVersion,fixedVersion:n.dependencyVulns.fixedVersion,vulnId:n.dependencyVulns.vulnId,aliases:n.dependencyVulns.aliases,severity:n.dependencyVulns.severity,direct:n.dependencyVulns.direct,dev:n.dependencyVulns.dev}).from(n.dependencyVulns).where((0,t.b)((0,t.u)(n.dependencyVulns.repoId,e),(0,t.M)(n.dependencyVulns.resolvedAt))).limit(2e3);return{upgrades:(0,p.B)(r),installed:(0,o.D)(r)}}async function R(e,t,r,a,n){let i=(0,g.f)(a,r);if(i){let r=await (0,h.M)(e,t,i,n);if(!r.ok)return r;if(r.data)return{ok:!0,data:{base:i,head:r}}}return{ok:!0,data:{base:r,head:await (0,h.M)(e,t,r,n)}}}async function x(r,i,p,f=y.W,g={}){let _;if(!(0,m.f)(i)||!(0,m.f)(p))return f(b("Something in that request wasn't valid."),r,"");let j=await (0,y.q)(r.id,"github_bump_pr",i);if(j)return f(b(j),r,"");let O=await v();if(null===O)return f(b('A GitHub PR-write token is needed: connect "GitHub (PR write)" on Connections (fine-grained, this repository only, Contents and Pull requests: Read and write; Commit statuses: Read for automatic merges), then ask again.'),r,"");if("unreadable"===O)return f(b("Can't read the stored GitHub PR-write credential. Replace it on Connections."),r,"");let[S]=await (0,a.f)().select({app:n.resources.name,meta:n.resources.meta,fullName:n.githubRepos.fullName,owner:n.githubRepos.owner,goneAt:n.githubRepos.goneAt,lockfilePath:n.dependencyScans.lockfilePath}).from(n.appRepos).innerJoin(n.githubRepos,(0,t.u)(n.githubRepos.id,n.appRepos.repoId)).innerJoin(n.resources,(0,t.u)(n.resources.id,n.appRepos.appId)).leftJoin(n.dependencyScans,(0,t.u)(n.dependencyScans.repoId,n.appRepos.repoId)).where((0,t.b)((0,t.u)(n.appRepos.appId,i),(0,t.u)(n.appRepos.repoId,p))).limit(1);if(!S||S.goneAt)return f(b(k.G),r,O.id);let P=S.meta??{},T=(0,u.l)(P.rootDirectoryUnsupported);if(T)return f(b(`The Vercel Root Directory "${T}" of ${S.app} couldn't be used (Watchbell reads plain folder names, at most 4 deep). Update its package.json yourself.`),r,O.id);let M=(0,u.Q)(P.rootDirectory),D=(0,u.H)(M,"package.json"),z=M?`in ${M}`:"at the repository root";if(g.framework){let e=await I(i);if(!e)return f(b(`Nothing to update in ${S.app}: its Next.js check shows no advisory with a fixed version.`),r,O.id);_=e}else if(!(_=await A(p)).upgrades.length)return f(b(`Nothing to update in ${S.app}: no direct package has a fixed version for its open advisories.`),r,O.id);let N=_.upgrades;if(g.auto){let e=(0,o.a)(N,_.installed,g.auto.severities);if(!e.ok)return f(b(`Automatic PR not opened: ${$[e.why]}. The proposal waits for your approval.`),r,O.id);N=e.upgrades}N=(0,l.F)(N);let{auto:E,proposalId:C,framework:K,...H}=g,B={timeoutMs:8e3,...H},L=await (0,h.H)(O.token,S.fullName,B);if(!L.ok)return f({done:!1,failed:L,audit:{message:`Package update PR failed \xb7 ${S.app}`,resourceId:i}},r,O.id);let V=await R(O.token,S.fullName,L.data.defaultBranch,P.productionBranch,B);if(!V.ok)return f({done:!1,failed:V,audit:{message:`Package update PR failed \xb7 ${S.app}`,resourceId:i}},r,O.id);let U=V.data.base,W=V.data.head;if(!W.ok)return f({done:!1,failed:W,audit:{message:`Package update PR failed \xb7 ${S.app}`,resourceId:i}},r,O.id);if(!W.data)return f(b(`The default branch ${U} wasn't found.`),r,O.id);let G=await (0,h.E)(O.token,S.fullName,W.data,B,D);if(!G.ok)return f({done:!1,failed:G,audit:{message:`Package update PR failed \xb7 ${S.app}`,resourceId:i}},r,O.id);if(!G.data)return f(b(`There is no package.json ${z}.`),r,O.id);let q=(0,s.k)(G.data.text,N);if(!q?.length||K&&!q.some(e=>"next"===e.package))return f(b(`${D} in ${S.app} already allows the fixed versions (or its ranges can't be rewritten). Run npm install there.`),r,O.id);if(E){let e=q.find(e=>{let t=(0,d.Y)(e.from);return!t||!(0,o.J)(t,e.fixed)});if(e)return f(b(`Automatic PR not opened: ${e.package} ${e.from} β†’ ${e.to} jumps a major version. The proposal waits for your approval.`),r,O.id)}let F=(0,s.M)(G.data.text,q);if(!F)return f(b("package.json couldn't be edited safely."),r,O.id);let J=(0,s.U)(q,M);if(!(0,s.c)(J,U))return f(b("Refused: the PR branch would be the default branch."),r,O.id);let X=await (0,h.x)(O.token,S.fullName,S.owner,J,U,B);if(X.ok&&X.data)return{ok:!0,message:`Pull request #${X.data.number} for these updates is already open.`};let Z=await (0,h.e)(O.token,S.fullName,B);if(!Z.ok)return f({done:!1,failed:Z,audit:{message:`Package update PR failed \xb7 ${S.app}`,resourceId:i}},r,O.id);if(Z.data.length){let e=new Map((await (0,a.f)().select({number:n.dependencyPrs.number,packages:n.dependencyPrs.packages}).from(n.dependencyPrs).where((0,t.b)((0,t.u)(n.dependencyPrs.repoId,p),(0,t.y)(n.dependencyPrs.number,Z.data.map(e=>e.number))))).map(e=>[e.number,e.packages])),i=(0,o.U)(q.map(e=>e.package),Z.data.map(t=>({number:t.number,branch:t.branch,title:t.title,packages:e.get(t.number)??null})),M);if(i)return f(b(`Pull request #${i.number} for the same package is already open in ${S.app}. Merge or close it first.`),r,O.id)}let Y=await (0,h.M)(O.token,S.fullName,J,B);if(Y.ok&&Y.data)return f(b(`Branch ${J} already exists without an open pull request. Delete it on GitHub, then ask again.`),r,O.id);let Q=S.lockfilePath??(M?(0,u.H)(M,"package-lock.json"):null),ee=d.a.find(e=>e.path===Q?.split("/").pop())?.kind??null,et=e=>f({done:!1,failed:e,audit:{message:`Package update PR failed \xb7 ${S.app} \xb7 ${J}`,resourceId:i}},r,O.id),er=await (0,h.k)(O.token,S.fullName,J,W.data,U,B);if(!er.ok)return et(er);let ea=await (0,h.D)(O.token,S.fullName,J,U,F,G.data.sha,(0,s.G)(q),B,D);if(!ea.ok)return et(ea);let en=(0,s.f)(q,M),ei=await (0,h.y)(O.token,S.fullName,J,U,en,(0,s.y)(q,ee,!!E,M),B);if(!ei.ok)return et(ei);let eo=q.map(e=>`${e.package} ${e.from} β†’ ${e.to}`).join(", "),es=await (0,h.M)(O.token,S.fullName,J,B).catch(()=>null);if(es?.ok&&es.data){await (0,a.f)().insert(n.dependencyPrs).values({repoId:p,appId:i,proposalId:C??null,number:ei.data.number,branch:J,baseBranch:U,headSha:es.data,title:en.slice(0,200),packages:q.map(e=>e.package),auto:!!E,stage:"checks",stageText:(0,c.m)(ei.data.number,"checks")}).onConflictDoNothing().catch(()=>console.warn("deps: recording the PR failed"));let{extensions:t}=await e.A(774810);await t.runner?.queueLockfileJob({repoId:p,branch:J,headSha:es.data,prNumber:ei.data.number,lockfilePath:Q,targets:q.map(e=>({name:e.package,version:e.fixed}))}).catch(()=>console.warn("deps: queueing the lockfile job failed")),await (0,w.U)(O.token,{repo:S.fullName,branch:J,lockfilePath:Q,prNumber:ei.data.number})}return f({done:!0,message:`Pull request #${ei.data.number} opened for ${S.app}: ${eo}. Run npm install${M?` in ${M}`:""} on the branch before merging.`,audit:{message:`Package update PR opened \xb7 ${S.app} \xb7 #${ei.data.number}`,resourceId:i,detail:eo}},r,O.id)}async function _(e,t,r){if(!(0,m.f)(e)||r&&!(0,m.f)(r.appId))return{ok:!1,why:"target"};let a=await v();if(!a||"unreadable"===a)return{ok:!1,why:"no write token"};let n=r?await I(r.appId):await A(e);if(!n)return{ok:!1,why:"nothing"};let i=(0,o.a)(n.upgrades,n.installed,t);return i.ok?{ok:!0}:{ok:!1,why:i.why}}async function j(e,r=[]){let i=e.filter(m.f),o=new Map;if(!i.length)return o;let s=await (0,a.f)().select({appId:n.appRepos.appId,repoId:n.appRepos.repoId,version:n.appSecurity.version,status:n.appSecurity.status,findings:n.appSecurity.findings}).from(n.appRepos).innerJoin(n.githubRepos,(0,t.u)(n.githubRepos.id,n.appRepos.repoId)).innerJoin(n.appSecurity,(0,t.u)(n.appSecurity.resourceId,n.appRepos.appId)).where((0,t.b)((0,t.y)(n.appRepos.appId,i),(0,t.M)(n.githubRepos.goneAt),(0,t.u)(n.appSecurity.status,"vulnerable"))).limit(i.length),u=new Set(r),d=s.filter(e=>u.has(e.appId)),c=d.length?new Set((await (0,a.f)().selectDistinct({repoId:n.dependencyVulns.repoId}).from(n.dependencyVulns).where((0,t.b)((0,t.y)(n.dependencyVulns.repoId,[...new Set(d.map(e=>e.repoId))]),(0,t.M)(n.dependencyVulns.resolvedAt),(0,t.u)(n.dependencyVulns.package,"next"),(0,t.u)(n.dependencyVulns.direct,!0),(0,t.E)(n.dependencyVulns.fixedVersion))).limit(d.length)).map(e=>e.repoId)):new Set;for(let e of s){if(u.has(e.appId)&&c.has(e.repoId))continue;let t=(0,l.p)({version:e.version,status:e.status,findings:Array.isArray(e.findings)?e.findings:[]});t&&o.set(e.appId,{repoId:e.repoId,from:t.from,to:t.to})}return o}e.s(["J",0,_,"W",0,x,"h",0,j,"G",0,v])},983128,860320,e=>{var t=e.i(875225),r=e.i(924924),a=e.i(618916),n=e.i(921991),i=e.i(547499),o=e.i(666680),s=e.i(140561),l=e.i(206033),u=e.i(105954),d=e.i(971724),c=e.i(180473),p=e.i(76012);let f={inline_keyboard:[]},m=0,g=e=>(0,o.createHash)("sha256").update(`watchpost:telegram-link:${e.trim().toUpperCase()}`,"utf8").digest("hex"),h=s.z.union([l.z.number().int(),u.z.string().regex(/^-?\d{1,20}$/)]).transform(e=>String(e)),k=d.z.object({id:h,type:u.z.string().max(32).optional(),title:u.z.string().max(256).optional(),first_name:u.z.string().max(256).optional(),username:u.z.string().max(64).optional()}),y=d.z.object({id:h,is_bot:c.z.boolean().optional()}),w=d.z.object({message_id:l.z.number().int(),chat:k,from:y.optional(),text:u.z.string().max(4096).optional()}),b=d.z.object({update_id:l.z.number().int(),message:w.optional(),callback_query:d.z.object({id:u.z.string().min(1).max(128),from:y,message:w.optional(),data:u.z.string().max(64).optional()}).optional()});e.s(["i",0,8,"y",0,function(e,t={}){let r=t.fetch??fetch,a=async(t,a)=>{let n=await (0,p.z)(e,t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)},r);n.ok||/not modified/i.test(n.description)||console.warn(`telegram ${t} failed (${n.code??"network"})`)};return{answer:(e,t)=>a("answerCallbackQuery",{callback_query_id:e,text:t.slice(0,200)}),editText:(e,t,r,n)=>a("editMessageText",{chat_id:e,message_id:t,text:r,parse_mode:"HTML",link_preview_options:{is_disabled:!0},reply_markup:n??f}),editKeyboard:(e,t,r)=>a("editMessageReplyMarkup",{chat_id:e,message_id:t,reply_markup:r}),send:(e,t)=>a("sendMessage",{chat_id:e,text:t,parse_mode:"HTML",link_preview_options:{is_disabled:!0}})}},"v",0,e=>`${(e.title??e.first_name??e.username??"Chat").slice(0,50)} (${e.type??"chat"})`,"F",0,g,"z",0,()=>{m++},"j",0,function(e){let t=/^\/link(?:@[A-Za-z0-9_]{3,64})?\s+([A-Za-z0-9]{4,16})\s*$/.exec(e??"");return t?t[1].toUpperCase():null},"c",0,function(e){let t=b.safeParse(e);return t.success?t.data:null},"p",0,function(e,t){if("string"!=typeof e||"string"!=typeof t||!e||!t)return!1;let r=(0,o.createHash)("sha256").update(e,"utf8").digest(),a=(0,o.createHash)("sha256").update(t,"utf8").digest();return(0,o.timingSafeEqual)(r,a)}],860320);let v="telegram.owner",$="telegram.linkCode",I="telegram.seenChats",A=()=>(0,i.f)().OPS_ENCRYPTION_KEY;async function R(e){let[n]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,e)).limit(1);return n?.value??null}async function x(e,t){await (0,r.f)().insert(a.settings).values({key:e,value:t}).onConflictDoUpdate({target:a.settings.key,set:{value:t,updatedAt:new Date}})}async function _(e){await (0,r.f)().delete(a.settings).where((0,t.u)(a.settings.key,e))}function j(e){let t=e?.sealed;if(!t||"string"!=typeof t.ciphertext||"string"!=typeof t.iv)return null;try{return(0,n.K)(t,A())}catch{return null}}let O=(e,t)=>({sealed:(0,n.l)(e,A()),at:t.toISOString()}),S=null;async function P(e=Date.now()){if(S&&S.until>e)return S.secret;let t=j(await R("telegram.webhook"));return S={secret:t,until:e+3e4},t}let T=async()=>await P()!==null;async function M(){let e,n=j(await R(v));if(!n)return null;try{e=JSON.parse(n)}catch{return null}if("string"!=typeof e.tg||"string"!=typeof e.member)return null;let[i]=await (0,r.f)().select({id:a.members.id,userId:a.members.userId}).from(a.members).where((0,t.b)((0,t.u)(a.members.id,e.member),(0,t.u)(a.members.role,"owner"))).limit(1);return i?{telegramUserId:e.tg,memberId:i.id,userId:i.userId}:null}let D=async()=>await M()!==null;async function z(e,n,i){let o=await R($);if(!o||"string"!=typeof o.hash||"string"!=typeof o.member||"string"!=typeof o.expiresAt)return"expired";if(Date.parse(o.expiresAt)<=i.getTime())return await _($),"expired";let s="number"==typeof o.tries?o.tries:0;if(!function(e,t){if(e.length!==t.length||!e)return!1;let r=0;for(let a=0;a<e.length;a++)r|=e.charCodeAt(a)^t.charCodeAt(a);return 0===r}(8===e.length?g(e):"",o.hash))return s+1>=5?await _($):await x($,{...o,tries:s+1}),"wrong";let[l]=await (0,r.f)().select({id:a.members.id}).from(a.members).where((0,t.b)((0,t.u)(a.members.id,o.member),(0,t.u)(a.members.role,"owner"))).limit(1);return(await _($),l)?(await x(v,O(JSON.stringify({tg:n,member:l.id}),i)),"linked"):"expired"}async function N(){let e=j(await R(I));if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>!!e&&"string"==typeof e.id&&"string"==typeof e.label&&"string"==typeof e.at).slice(0,10):[]}catch{return[]}}async function E(e,t){var r;let a,n=(r=await N(),(a=r.find(t=>t.id===e.id))&&a.label===e.label&&t.getTime()-Date.parse(a.at)<36e5&&r[0]?.id===e.id?null:[{id:e.id,label:e.label,at:t.toISOString()},...r.filter(t=>t.id!==e.id)].slice(0,10));n&&await x(I,O(JSON.stringify(n),t))}e.s(["E",0,M,"I",0,D,"P",0,E,"f",0,z,"v",0,T,"g",0,P],983128)},620511,e=>{let t=/^[A-Za-z0-9-]{1,39}\/[A-Za-z0-9._-]{1,100}$/,r=/^watchpost\/deps-[0-9a-f]{8}$/,a=/^(?:[A-Za-z0-9._-]+\/){0,4}package-lock\.json$/,n=e=>"string"==typeof e&&t.test(e)&&!e.includes("..");e.s(["h",0,"deps.lockfileActions","w",0,6e5,"C",0,function(e){let t=e.lockfilePath??"package-lock.json";return!n(e.repo)||!r.test(e.branch)||!a.test(t)||t.includes("..")||!Number.isInteger(e.prNumber)||e.prNumber<1?null:{repo:e.repo,branch:e.branch,lockfile:t,pr:e.prNumber}},"g",0,function(e){let t=e&&"object"==typeof e&&!Array.isArray(e)?e.repo:null;return{repo:n(t)?t:null}}])},975912,e=>{var t=e.i(250474),r=e.i(32391),a=e.i(313931);let n=["dependencies","devDependencies","optionalDependencies"],i="watchpost/deps-",o=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),s=e=>{let t=e.filter(e=>!e.companionOf);return t.length?t:e},l={npm:"npm install",pnpm:"pnpm install",yarn:"yarn install",bun:"bun install","package-json":"npm install"};e.s(["M",0,function(e,t){let r;try{r=JSON.parse(e)}catch{return null}if(!o(r))return null;for(let e of t){let t=r[e.group];if(!o(t)||t[e.package]!==e.from)return null;t[e.package]=e.to}let a=/^[{[]\r?\n([ \t]+)\S/.exec(e),n=a?a[1]:" ",i=e.includes("\r\n")?"\r\n":"\n",s=JSON.stringify(r,null,n);return"\r\n"===i&&(s=s.replace(/\n/g,"\r\n")),/\r?\n$/.test(e)?s+i:s},"U",0,function(e,t=null){let r=e.map(e=>`${e.package}@${e.to}`).sort().join(",");return`${i}${function(e){let t=0x811c9dc5;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,0x1000193)>>>0;return t.toString(16).padStart(8,"0")}(t?`${t}|${r}`:r)}`},"G",0,function(e){let t=s(e);return 1===t.length?`chore(deps): update ${t[0].package} to ${t[0].fixed} (security fix)`:`chore(deps): update ${t.length} packages for security fixes`},"c",0,(e,t)=>e.startsWith(i)&&/^watchpost\/deps-[0-9a-f]{8}$/.test(e)&&e!==t,"k",0,function(e,a){let i;try{i=JSON.parse(e)}catch{return null}if(!o(i))return null;let s=[];for(let e of a)if((0,r.L)(e.package)&&(0,r.C)(e.to))for(let a of n){let n=i[a];if(!o(n)||"string"!=typeof n[e.package])continue;let l=n[e.package],u=(0,r.Y)(l),d=function(e,t){let a=/^\s*(\^|~|>=|=)?\s*v?\d+(?:\.(?:\d+|x|\*))?(?:\.(?:\d+|x|\*))?(?:-[0-9A-Za-z.-]+)?\s*$/.exec(e);return a&&(0,r.C)(t)?`${a[1]??""}${t}`:null}(l,e.to);!u||!d||(0,t.f)(u,e.to)>=0||s.push({package:e.package,group:a,from:l,to:d,fixed:e.to,vulnIds:e.vulnIds,cves:e.cves,...e.companionOf?{companionOf:e.companionOf}:{}})}return s},"y",0,function(e,t,r=!1,n=null){let i=l[t??"npm"]??"npm install",o=`run \`${i}\`${n?` in \`${n}\``:""}`,s=e.filter(e=>!e.companionOf),u=e.filter(e=>e.companionOf),d=s.map(e=>{let t=[...e.cves,...e.vulnIds.filter(t=>!e.cves.includes(t))].slice(0,4).map(e=>`[${e}](https://osv.dev/vulnerability/${encodeURIComponent(e)})`).join(", ");return`| \`${e.package}\` | \`${e.from}\` | \`${e.to}\` | ${t||"-"} |`});return[r?"This PR was opened **automatically** by Watchbell (Automatic security fixes). Watchbell merges it itself when CI is green, the Vercel preview is READY and passes the smoke test, and auto-rollback is on; if anything fails, the PR stays open for you to check.":a.J.prApproved,"","These packages have known vulnerabilities (source: OSV.dev / GitHub Advisory) and a fixed version exists:","","| Package | Current version | New version | Advisory |","| --- | --- | --- | --- |",...d,"",...u.map(e=>`Updated to match ${e.companionOf} (no advisory of its own): \`${e.package}\` \`${e.from}\` β†’ \`${e.to}\`.`),...u.length?[""]:[],"### Important: the lockfile is not updated","",r?`Watchbell only changes \`package.json\`; it can't regenerate the lockfile on the server. Vercel installs the new version at build time, so production is safe after the merge. Afterwards ${o} on the main branch and commit the lockfile to bring it up to date.`:`Watchbell only changes \`package.json\`; it can't regenerate the lockfile on the server. Before merging, check out this branch, ${o}, then commit the changed lockfile. Then make sure the build and tests still pass.`,"","Vulnerable packages that are only installed through other packages (transitive) are not changed here; check with `npm audit` after installing.","","_Nothing is pushed to the main branch: all changes are on this PR branch._"].join("\n")},"f",0,function(e,t=null){let r=s(e),a=t?` in ${t}`:"",n=1===r.length?`Watchbell: update ${r[0].package} to ${r[0].fixed}${a} (security fix)`:`Watchbell: update ${r.length} vulnerable packages${a} (${r.slice(0,2).map(e=>e.package).join(", ")}${r.length>2?", …":""})`;return n.length>200?`${n.slice(0,199)}…`:n}])},256662,e=>{let t={checks:"waiting for CI",preview:"waiting for preview",smoke:"smoke test",merging:"merging…",merged:"merged βœ…","ready-manual":"ready to merge (manual)",failed:"needs a look ⚠️",timeout:"needs a look ⚠️",closed:"closed"},r=new Set(["success","neutral","skipped"]),a=e=>"completed"!==e.status?"pending":r.has(e.conclusion??"")?"success":"failure",n={name:"watchbell[bot]",email:"watchbell-bot@users.noreply.github.com",message:"chore(deps): update package-lock.json (Watchbell)"},i={name:"watchpost[bot]",email:"watchpost-bot@users.noreply.github.com",message:"chore(deps): update package-lock.json (Watchpost)"},o=e=>[n,i].some(t=>e.name===t.name&&e.email.toLowerCase()===t.email&&e.message.trim()===t.message),s=/^[\^~]?[0-9][0-9A-Za-z.+-]*$/,l=e=>Array.isArray(e)?e.map(l):e&&"object"==typeof e?Object.fromEntries(Object.keys(e).sort().map(t=>[t,l(e[t])])):e,u=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,d=/^sha512-[A-Za-z0-9+/]{86}==$/,c="(?:@[a-z0-9][a-z0-9._~-]*/)?[a-z0-9][a-z0-9._~-]*",p=RegExp(`^(?:[A-Za-z0-9_-][A-Za-z0-9._-]*/)*?node_modules/${c}(?:/node_modules/${c})*$`,"i"),f=new Set(["dev","optional","devOptional","peer"]),m=e=>!!e&&"object"==typeof e&&!Array.isArray(e),g=e=>e.slice(e.lastIndexOf("node_modules/")+13),h=(e,t,r)=>`${e}/${t}/-/${t.split("/").pop()}-${r}.tgz`,k=(e,t)=>JSON.stringify(l(e))===JSON.stringify(l(t)),y=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!f.has(e))),w=e=>{try{let t=JSON.parse(e);return m(t)&&m(t.packages)?t:null}catch{return null}};e.s(["y",0,20,"X",0,["checks","preview","smoke","merging"],"w",0,15e3,"R",0,27e5,"j",0,function(e){let t=(e.checkRuns??e.actionRuns??[]).map(a);return(e.combined&&e.combined.total>0&&t.push("success"===e.combined.state?"success":"pending"===e.combined.state?"pending":"failure"),t.includes("failure"))?"failure":t.includes("pending")?"pending":"success"},"L",0,function(e){if(!e.length||e.some(e=>e.authWall))return null;let t=e.find(e=>null===e.status||e.status<200||e.status>399);return t?{mode:"http",result:"fail",reason:null===t.status?`${t.path} didn't answer within 15 seconds`:`${t.path} answered ${t.status}`}:{mode:"http",result:"pass",reason:null}},"S",0,function(e,t,r){return(401===e||403===e)&&(/vercel\.com\/(sso|login)|Authentication Required|_vercel_sso|vercel-authentication/i.test(t)||/_vercel_sso/i.test(r.get("set-cookie")??"")||"vercel"===(r.get("server")??"").toLowerCase())},"T",0,function(e,t,r){if([e,t].some(e=>null!==e&&(e=>{if(e.length>0x1900000)return!0;if(3*e.length<=0x1900000)return!1;let t=0;for(let r=0;r<e.length;r++){let a=e.charCodeAt(r);a<128?t+=1:a<2048?t+=2:a>=55296&&a<56320&&(64512&e.charCodeAt(r+1))==56320?(t+=4,r++):t+=3}return t>0x1900000})(e)))return`lockfile too large to check (over 25 MB): ${r}`.slice(0,150);try{return function(e,t,r){let a=e=>`unexpected lockfile change ${e}`.slice(0,150),n=null===t?null:w(t),i=null===e?{packages:{}}:w(e);if(!n||!i)return a(r);if(2!==n.lockfileVersion&&3!==n.lockfileVersion||null!==e&&n.lockfileVersion!==i.lockfileVersion)return a("lockfileVersion");let o=new Set;for(let[e,t]of Object.entries(i.packages)){if(!p.test(e)||!m(t)||"string"!=typeof t.resolved||"string"!=typeof t.version)continue;let r=h("","string"==typeof t.name?t.name:g(e),t.version);t.resolved.startsWith("https://")&&t.resolved.endsWith(r)&&o.add(t.resolved.slice(0,-r.length))}for(let[e,t]of(o.size||o.add("https://registry.npmjs.org"),Object.entries(n.packages))){let n=Object.hasOwn(i.packages,e)?i.packages[e]:void 0;if(void 0!==n&&k(n,t))continue;let s=m(n)?n:null;if(""===e||!e.includes("node_modules/")){let n=""===e?m(t)&&"string"==typeof t.name?t.name:r:e;if(!m(t)||""!==e&&!s||"resolved"in t||"link"in t)return a(n);continue}if(!p.test(e)||!m(t))return a(p.test(e)?g(e):e);let l=g(e);if(void 0!==t.name&&t.name!==l&&(!s||s.name!==t.name))return a(l);let c="string"==typeof t.name?t.name:l,f=t.version;if(void 0!==t.link||"string"!=typeof f||!u.test(f)||"string"!=typeof t.integrity||!d.test(t.integrity)||"string"!=typeof t.resolved||![...o].some(e=>t.resolved===h(e,c,f))||s&&s.version===f&&!k(y(s),y(t)))return a(l)}return null}(e,t,r)}catch{return`unexpected lockfile change ${r} (couldn't be checked)`.slice(0,150)}},"H",0,e=>!!e.lockfileRequired&&!!e.lockfile&&!e.files.some(t=>t.filename===e.lockfile),"n",0,function(e,t,r){return null!==r&&r>0?{mode:"logs",result:"fail",reason:`${r} errors in the preview logs`}:t.getTime()-e.getTime()<18e4||null===r?{mode:"logs",result:"wait",reason:null}:{mode:"logs",result:"pass",reason:null}},"C",0,function(e,t,r){let a,n;try{a=JSON.parse(e),n=JSON.parse(t)}catch{return"unexpected change: package.json isn't valid JSON"}if(!a||!n||"object"!=typeof a||"object"!=typeof n)return"unexpected change: package.json isn't an object";let i=e=>{let t=structuredClone(e);for(let e of["dependencies","devDependencies"]){let a=t[e];if(a&&"object"==typeof a)for(let e of r)delete a[e]}return t};if(JSON.stringify(l(i(a)))!==JSON.stringify(l(i(n))))return"unexpected change in package.json beyond the bumped versions";for(let e of["dependencies","devDependencies"]){let t=a[e]??{},i=n[e]??{};for(let e of r){if(e in t!=e in i)return`unexpected change in package.json: ${e} added or removed`;if(e in i&&i[e]!==t[e]&&("string"!=typeof i[e]||!s.test(i[e])))return`unexpected change in package.json: ${e} isn't a plain version`}}return null},"E",0,function(e){let t=["/"];for(let r of e){let e;try{e=new URL(r).pathname||"/"}catch{continue}!t.includes(e)&&t.length<4&&t.push(e)}return t},"m",0,(e,r,a)=>{let n=`PR #${e}: ${t[r]}${a?` β€” ${a}`:""}`;return n.length>200?`${n.slice(0,199)}…`:n},"k",0,function(e){let t=new Set([e.manifest,...e.lockfile?[e.lockfile]:[]]);for(let r of e.files)for(let e of[r.filename,r.previous])if(e&&!t.has(e))return`unexpected change in ${e}`.slice(0,150);if(!e.files.some(t=>t.filename===e.manifest))return`unexpected change: ${e.manifest} isn't changed`.slice(0,150);if(e.manifestProblem)return e.manifestProblem.slice(0,150);if(e.lockfileProblem)return e.lockfileProblem.slice(0,150);if(!e.tokenLogin||!e.commits.length||e.commits.length>20)return"couldn't confirm who wrote the PR's commits";if(e.headSha&&e.commits[e.commits.length-1].sha!==e.headSha)return"the PR's head moved while it was checked";for(let t of e.commits){if(null!==t.login&&t.login.toLowerCase()===e.tokenLogin.toLowerCase())continue;let r=t.sha.slice(0,7);if(!o(t)||!t.files||!e.lockfile)return`unexpected commit ${r} by ${t.login??t.name}`.slice(0,150);let a=t.files.find(t=>t!==e.lockfile);if(a)return`unexpected change in ${a} by commit ${r}`.slice(0,150)}return null},"f",0,function(e,t){let r=e.getTime();return(null===t||!(r-t<1e5))&&(Math.floor(r/6e4)%2==0||null!==t&&r-t>=24e4)},"M",0,function(e){if(e.pr.merged)return{kind:"done",stage:"merged"};if("closed"===e.pr.state)return{kind:"done",stage:"closed"};if(void 0!==e.pr.base&&void 0!==e.recordedBase&&e.pr.base!==e.recordedBase)return{kind:"stop",stage:"failed",reason:`the PR's base changed to ${e.pr.base}`};if(e.pr.headSha!==e.recordedSha)return{kind:"wait",stage:"checks",reason:"new commit on the PR branch, checking again",resetSha:e.pr.headSha};let t=e.now.getTime()-e.openedAt.getTime()>27e5;return"failure"===e.checks?{kind:"stop",stage:"failed",reason:"CI failed"}:!1===e.pr.mergeable?{kind:"stop",stage:"failed",reason:"conflicts with the main branch"}:"error"===e.preview.state||"canceled"===e.preview.state?{kind:"stop",stage:"failed",reason:"Vercel preview failed"}:"pending"===e.checks||null===e.pr.mergeable?t?{kind:"stop",stage:"timeout",reason:"CI not finished within 45 minutes"}:{kind:"wait",stage:"checks",reason:null}:"ready"!==e.preview.state?t?{kind:"stop",stage:"timeout",reason:"preview not ready within 45 minutes"}:{kind:"wait",stage:"preview",reason:null}:e.smoke&&"wait"!==e.smoke.result?"fail"===e.smoke.result?{kind:"stop",stage:"failed",reason:`preview smoke test failed: ${e.smoke.reason??"?"}`}:e.autoRollbackOn?{kind:"merge"}:{kind:"stop",stage:"ready-manual",reason:"PR is ready to merge, but auto-rollback is off; merge it manually"}:t?{kind:"stop",stage:"timeout",reason:"preview smoke test not finished within 45 minutes"}:{kind:"wait",stage:"smoke",reason:null}}])},267841,e=>{var t=e.i(971724),r=e.i(105954),a=e.i(180473),n=e.i(600205),i=e.i(206033),o=e.i(455744),s=e.i(604147),l=e.i(975912),u=e.i(455037);async function d(e,t,r,a,n,i=!1){let o,s=n.timeoutMs??8e3;try{o=await (n.fetch??fetch)(`https://api.github.com${t}`,{method:e,headers:{Authorization:`Bearer ${r}`,Accept:i?"application/vnd.github.raw+json":"application/vnd.github+json","X-GitHub-Api-Version":"2022-11-28","User-Agent":"Watchbell",...void 0!==a?{"Content-Type":"application/json"}:{}},body:void 0!==a?JSON.stringify(a):void 0,signal:AbortSignal.timeout(s),cache:"no-store",redirect:"error"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?`GitHub didn't answer within ${Math.round(s/1e3)} seconds.`:"Couldn't reach GitHub."}}let l=await o.text().catch(()=>"");if(i&&o.ok)return{ok:!0,status:o.status,data:l};let u=null;try{u=l?JSON.parse(l):null}catch{u=null}if(o.ok)return{ok:!0,status:o.status,data:u};let c=o.status;return 401===c?{ok:!1,kind:"auth",status:c,error:"GitHub rejected the PR-write token (401). It may have expired or been revoked."}:429===c||403===c&&"0"===o.headers.get("x-ratelimit-remaining")?{ok:!1,kind:"transient",status:c,error:"GitHub's rate limit is used up for now. Try again later."}:403===c?{ok:!1,kind:"scope",status:c,error:"The GitHub PR-write token can't do this (403). It needs Contents and Pull requests: Read and write on this repository."}:404===c?{ok:!1,kind:"missing",status:c,error:"The PR-write token doesn't see this repository (404). Give it access to the repository."}:409===c||422===c?{ok:!1,kind:"format",status:c,error:`GitHub refused the change (${c}).`}:{ok:!1,kind:"transient",status:c,error:`GitHub returned an error (${c}).`}}let c=e=>({ok:!1,kind:"format",error:`GitHub answered ${e} in a format the console doesn't recognise.`}),p={ok:!1,kind:"format",error:"That isn't a repository or branch the console may write."};async function f(e,n,i={}){if(!(0,u.M)(n))return p;let o=await d("GET",`/repos/${(0,u.f)(n)}`,e,void 0,i);if(!o.ok)return o;let s=t.z.object({default_branch:r.z.string(),permissions:t.z.object({push:a.z.boolean()}).partial().optional()}).safeParse(o.data);return s.success&&(0,u.c)(s.data.default_branch)?{ok:!0,data:{defaultBranch:s.data.default_branch,canPush:s.data.permissions?.push??null}}:c("the repository")}async function m(e,a,n,i={}){if(!(0,u.M)(a)||!(0,u.c)(n))return p;let o=await d("GET",`/repos/${(0,u.f)(a)}/git/ref/heads/${n.split("/").map(encodeURIComponent).join("/")}`,e,void 0,i);if(!o.ok)return"missing"===o.kind?{ok:!0,data:null}:o;let s=t.z.object({object:t.z.object({sha:r.z.string().regex(/^[0-9a-f]{40}$/)})}).safeParse(o.data);return s.success?{ok:!0,data:s.data.object.sha}:c("the branch")}let g=/^(?:[A-Za-z0-9._-]{1,100}\/){0,6}package\.json$/,h=e=>g.test(e)&&!e.split("/").some(e=>"."===e||".."===e),k=(e,t)=>`/repos/${(0,u.f)(e)}/contents/${t.split("/").map(encodeURIComponent).join("/")}`;async function y(e,a,i,o={},s="package.json"){if(!(0,u.M)(a)||!(0,u.c)(i)||!h(s))return p;let l=await d("GET",`${k(a,s)}?ref=${encodeURIComponent(i)}`,e,void 0,o);if(!l.ok)return"missing"===l.kind?{ok:!0,data:null}:l;let f=t.z.object({sha:r.z.string(),encoding:n.z.literal("base64"),content:r.z.string()}).safeParse(l.data);return f.success?{ok:!0,data:{sha:f.data.sha,text:Buffer.from(f.data.content.replace(/\s/g,""),"base64").toString("utf8")}}:c("package.json")}let w=/^(?:[A-Za-z0-9._-]{1,100}\/){0,6}(?:package-lock|npm-shrinkwrap)\.json$/,b=e=>w.test(e)&&!e.split("/").some(e=>"."===e||".."===e);async function v(e,t,r,a,n={}){if(!(0,u.M)(t)||!(0,u.c)(r)||!b(a))return p;let i=await d("GET",`${k(t,a)}?ref=${encodeURIComponent(r)}`,e,void 0,{timeoutMs:2e4,...n},!0);return i.ok?"string"==typeof i.data?{ok:!0,data:i.data}:c("the lockfile"):"missing"===i.kind?{ok:!0,data:null}:i}async function $(e,t,r,a,n,i={}){if(!(0,u.M)(t)||!(0,l.c)(r,n)||!/^[0-9a-f]{40}$/.test(a))return p;let o=await d("POST",`/repos/${(0,u.f)(t)}/git/refs`,e,{ref:`refs/heads/${r}`,sha:a},i);return o.ok?{ok:!0,data:!0}:o}async function I(e,t,r,a,n,i,o,s={},c="package.json"){if(!(0,u.M)(t)||!(0,l.c)(r,a)||!h(c))return p;let f=await d("PUT",k(t,c),e,{message:o,content:Buffer.from(n,"utf8").toString("base64"),sha:i,branch:r},s);return f.ok?{ok:!0,data:!0}:f}let A=t.z.object({number:i.z.number(),html_url:r.z.string().startsWith("https://github.com/")});async function R(e,t,r,a,n,i={}){if(!(0,u.M)(t)||!(0,l.c)(a,n))return p;let s=new URLSearchParams({state:"open",head:`${r}:${a}`,per_page:"1"}),f=await d("GET",`/repos/${(0,u.f)(t)}/pulls?${s}`,e,void 0,i);if(!f.ok)return f;let m=o.z.array(A).safeParse(f.data);if(!m.success)return c("the pull requests");let g=m.data[0];return{ok:!0,data:g?{number:g.number,url:g.html_url}:null}}async function x(e,t,r,a,n,i,o={}){if(!(0,u.M)(t)||!(0,l.c)(r,a)||!(0,u.c)(a))return p;let s=await d("POST",`/repos/${(0,u.f)(t)}/pulls`,e,{title:n,head:r,base:a,body:i,maintainer_can_modify:!0},o);if(!s.ok)return s;let f=A.safeParse(s.data);return f.success?{ok:!0,data:{number:f.data.number,url:f.data.html_url}}:c("the new pull request")}let _=o.z.array(t.z.object({number:i.z.number(),title:r.z.string(),head:t.z.object({ref:r.z.string(),sha:r.z.string(),repo:t.z.object({full_name:r.z.string()}).nullable()}),base:t.z.object({ref:r.z.string()})}));async function j(e,t,r={}){if(!(0,u.M)(t))return p;let a=await d("GET",`/repos/${(0,u.f)(t)}/pulls?state=open&per_page=100`,e,void 0,r);if(!a.ok)return a;let n=_.safeParse(a.data);return n.success?{ok:!0,data:n.data.filter(e=>/^watchpost\/deps-[0-9a-f]{8}$/.test(e.head.ref)&&e.head.repo?.full_name===t).map(e=>({number:e.number,branch:e.head.ref,title:e.title,headSha:e.head.sha,base:e.base.ref}))}:c("the pull requests")}async function O(e,n,i,o={}){if(!(0,u.M)(n)||!Number.isInteger(i)||i<=0)return p;let l=await d("GET",`/repos/${(0,u.f)(n)}/pulls/${i}`,e,void 0,o);if(!l.ok)return l;let f=t.z.object({state:s.z.enum(["open","closed"]),merged:a.z.boolean().optional(),mergeable:a.z.boolean().nullable().optional(),head:t.z.object({ref:r.z.string(),sha:r.z.string().regex(/^[0-9a-f]{40}$/)}),base:t.z.object({ref:r.z.string()})}).safeParse(l.data);return f.success?{ok:!0,data:{state:f.data.state,merged:!0===f.data.merged,mergeable:f.data.mergeable??null,headSha:f.data.head.sha,branch:f.data.head.ref,base:f.data.base.ref}}:c("the pull request")}async function S(e,a,n,s={}){if(!(0,u.M)(a)||!/^[0-9a-f]{40}$/.test(n))return p;let[l,c]=await Promise.all([d("GET",`/repos/${(0,u.f)(a)}/commits/${n}/check-runs?per_page=100`,e,void 0,s),d("GET",`/repos/${(0,u.f)(a)}/commits/${n}/status`,e,void 0,s)]),f=e=>!e.ok&&("scope"===e.kind||"missing"===e.kind);if(!l.ok&&!f(l))return l;if(!c.ok&&!f(c))return c;let m=l.ok?t.z.object({check_runs:o.z.array(t.z.object({status:r.z.string(),conclusion:r.z.string().nullable()}))}).safeParse(l.data):null,g=c.ok?t.z.object({state:r.z.string(),total_count:i.z.number()}).safeParse(c.data):null;return{ok:!0,data:{checkRuns:m?.success?m.data.check_runs.map(e=>({status:e.status,conclusion:e.conclusion})):null,combined:g?.success?{state:g.data.state,total:g.data.total_count}:null}}}async function P(e,n,i,o,s,f,m,g={}){if(!(0,u.M)(n)||!(0,l.c)(o,s)||!/^[0-9a-f]{40}$/.test(f)||!Number.isInteger(i)||i<=0)return p;let h=await d("PUT",`/repos/${(0,u.f)(n)}/pulls/${i}/merge`,e,{merge_method:"squash",sha:f,commit_title:`Watchbell: ${m.replace(/^Watch(?:bell|post):\s*/,"")}`.slice(0,250)},g);if(!h.ok)return 405===h.status?{ok:!1,kind:"format",status:405,error:"GitHub says the PR can't be merged now (405)."}:409===h.status?{ok:!1,kind:"format",status:409,error:"The PR's head moved since the checks were read (409)."}:h;let k=t.z.object({merged:a.z.boolean(),sha:r.z.string()}).safeParse(h.data);return k.success&&k.data.merged?{ok:!0,data:{sha:k.data.sha}}:c("the merge")}async function T(e,a,n,i={}){if(!(0,u.M)(a)||!Number.isInteger(n)||n<=0)return p;let s=await d("GET",`/repos/${(0,u.f)(a)}/pulls/${n}/files?per_page=100`,e,void 0,i);if(!s.ok)return s;let l=o.z.array(t.z.object({filename:r.z.string(),previous_filename:r.z.string().optional()})).safeParse(s.data);return l.success?{ok:!0,data:l.data.map(e=>({filename:e.filename,previous:e.previous_filename??null}))}:c("the PR's files")}let M=t.z.object({name:r.z.string().optional(),email:r.z.string().optional()}).nullable().optional();async function D(e,a,n,i={}){if(!(0,u.M)(a)||!Number.isInteger(n)||n<=0)return p;let s=await d("GET",`/repos/${(0,u.f)(a)}/pulls/${n}/commits?per_page=100`,e,void 0,i);if(!s.ok)return s;let l=o.z.array(t.z.object({sha:r.z.string().regex(/^[0-9a-f]{40}$/),author:t.z.object({login:r.z.string()}).nullable().optional(),commit:t.z.object({message:r.z.string(),author:M})})).safeParse(s.data);return l.success?{ok:!0,data:l.data.map(e=>({sha:e.sha,login:e.author?.login??null,name:e.commit.author?.name??"",email:e.commit.author?.email??"",message:e.commit.message}))}:c("the PR's commits")}async function z(e,a,n,i={}){if(!(0,u.M)(a)||!/^[0-9a-f]{40}$/.test(n))return p;let s=await d("GET",`/repos/${(0,u.f)(a)}/commits/${n}`,e,void 0,i);if(!s.ok)return s;let l=t.z.object({files:o.z.array(t.z.object({filename:r.z.string(),previous_filename:r.z.string().optional()}))}).safeParse(s.data);return l.success?{ok:!0,data:l.data.files.flatMap(e=>[e.filename,...e.previous_filename?[e.previous_filename]:[]])}:c("the commit")}async function N(e,a={}){let n=await d("GET","/user",e,void 0,a);if(!n.ok)return n;let i=t.z.object({login:r.z.string().min(1)}).safeParse(n.data);return i.success?{ok:!0,data:i.data.login}:c("the token's user")}async function E(e,t,r,a={}){if(!/^[A-Za-z0-9-]{1,39}\/[A-Za-z0-9._-]{1,100}$/.test(t))return p;let n=await d("POST",`/repos/${t}/dispatches`,e,{event_type:"watchpost-lockfile",client_payload:r},a);return n.ok?{ok:!0,data:!0}:n}e.s(["M",0,m,"s",0,S,"h",0,z,"k",0,$,"y",0,x,"B",0,E,"$",0,b,"l",0,v,"E",0,y,"C",0,P,"x",0,R,"e",0,j,"P",0,D,"O",0,T,"b",0,O,"D",0,I,"H",0,f,"z",0,N])},154586,e=>{var t=e.i(278619),r=e.i(313931);let a={workloads:"Workloads",databases:"Databases",network:"Network",observe:"Observe",ai:"AI & API",admin:"Administration"},n={MonitorDown:"workloads",HighLatency:"workloads",DeploymentFailed:"workloads",DatabasePaused:"databases",StorageAlmostFull:"databases",NeonComputeHigh:"databases",FirestoreQuotaHigh:"databases",AutoPauseRisk:"databases",ComputeHigh:"databases",DbQuotaHigh:"databases",CertExpiringSoon:"network",DomainExpiringSoon:"network",DnsProxiedToVercel:"network",CollectorStale:"observe",CredentialExpiring:"admin",VulnerableDependency:"workloads",FrameworkVulnerable:"workloads",MonitorDomainMoved:"workloads"},i=new Set(["MonitorDown","HighLatency","DeploymentFailed","VulnerableDependency","FrameworkVulnerable","MonitorDomainMoved"]);e.s(["p",0,function(e){if((0,t.h)(e.ruleKey))return i.has(e.ruleKey)&&null!==e.resourceKind&&"app"!==e.resourceKind?"observe":n[e.ruleKey];let r=new Set(e.ruleKey.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").toLowerCase().split(/[^a-z0-9]+/).filter(Boolean)),a=(...e)=>e.some(e=>r.has(e));return a("ai","router","gateway","model","models","provider","quota","llm","gemini")?"ai":a("key","keys","member","members","security","audit","credential","credentials","mfa","token")?"admin":a("database","db","storage","compute","neon","supabase","firestore","firebase")?"databases":a("domain","domains","dns","cert","certificate","tls","zone")?"network":"app"===e.resourceKind?"workloads":"observe"},"y",0,e=>r.X.proposedBy(a[e])])},549419,143926,e=>{var t=e.i(635982),r=e.i(377489),a=e.i(154586),n=e.i(365156);let i=["LogErrorSpike","LogErrors","LogDbErrors"],o="timeout|ECONNREFUSED|too many connections|terminating connection|connection terminated|endpoint is disabled|compute.*suspend";RegExp(o,"i");let s=/^dpl_[A-Za-z0-9]{8,40}$/,l=/^ep-[a-z0-9-]{3,60}$/,u=/^[a-z0-9]{8,40}$/;function d(e,a,n){let i=a?(0,t.f)(a,n,120):"";return(0,r.l)((0,t.f)(i?`${e}. Most common: ${i}`:e,n,r.j)||e,r.j)}let c=e=>`${e.ruleKey}:${e.resourceId??""}:${e.action}`,p=new Set(["pending","approved","running"]);e.s(["s",0,864e5,"b",0,72e5,"V",0,3,"N",0,o,"G",0,20,"T",0,i,"v",0,72e5,"H",0,18e5,"w",0,10,"I",0,72e5,"x",0,function(e,t,r){let a=new Set(t.filter(e=>p.has(e.status)||null!==e.closedAt&&r.getTime()-e.closedAt.getTime()<72e5).map(c)),n=new Set;return e.filter(e=>{let t=c(e);return!(a.has(t)||n.has(t))&&(n.add(t),!0)})},"t",0,function(e,t,i){return(function(e,t,r){let a=[],n=r.getTime();if(null!==e.liveAt&&n-e.liveAt.getTime()<72e5&&e.liveAt.getTime()<=n&&e.errorsSinceLive>=Math.max(10,Math.ceil(5*e.baselineErrors/24))&&e.currentId&&e.previousId&&s.test(e.previousId)&&e.previousId!==e.currentId){let r=`${e.errorsSinceLive} errors since the deploy went live ${Math.max(1,Math.round((n-e.liveAt.getTime())/6e4))} min ago (${e.baselineErrors} in the 24 h before)`;a.push({ruleKey:"LogErrorSpike",room:"workloads",action:"vercel_rollback",resourceKind:"app",resourceId:e.appId,targetRef:e.previousId,reason:d(r,e.topSinceLive,t)})}let i=null!==e.lastDeployAt&&n-e.lastDeployAt.getTime()<72e5;if(e.errors30>=20&&!i&&e.httpMonitorId&&a.push({ruleKey:"LogErrors",room:"workloads",action:"recheck",resourceKind:"app",resourceId:e.appId,targetRef:e.httpMonitorId,reason:d(`${e.errors30} errors in the last 30 min`,e.top30,t)}),e.dbErrors30>=3&&e.db){let r=d(`${e.dbErrors30} database connection errors in the last 30 min`,e.topDb,t),n=e.db;("neon_project"===n.kind||"neon_branch"===n.kind)&&n.wakeEndpoint&&l.test(n.wakeEndpoint)?a.push({ruleKey:"LogDbErrors",room:"databases",action:"neon_wake",resourceKind:n.kind,resourceId:n.resourceId,targetRef:n.wakeEndpoint,reason:r}):"supabase_project"===n.kind&&n.supabasePaused&&n.supabaseRef&&u.test(n.supabaseRef)&&a.push({ruleKey:"LogDbErrors",room:"databases",action:"supabase_restore",resourceKind:n.kind,resourceId:n.resourceId,targetRef:n.supabaseRef,reason:r})}return a})(e,t,i).map(o=>{let s="app"===o.resourceKind?(0,r.J)("app",e.appId,e.appName,t):(0,r.J)(o.resourceKind,o.resourceId,null,t);return{alertId:null,ruleKey:o.ruleKey,room:o.room,action:o.action,risk:n.H[o.action].risk,title:(0,r.M)(o.action,s),reason:o.reason,resourceKind:o.resourceKind,resourceId:o.resourceId,resourceName:s,targetRef:o.targetRef,proposedBy:(0,a.y)(o.room),expiresAt:new Date(i.getTime()+n.V)}})},"D",0,function(e,t){let r=e.getTime();return(null===t||!(r-t<27e4))&&(Math.floor(r/6e4)%5==0||null!==t&&r-t>=6e5)},"W",0,function(e,t){let r=new Set(t.map(c));return e.filter(e=>{let t;return"pending"===e.status&&(t=e.ruleKey,i.includes(t))&&!r.has(c(e))}).map(e=>e.id)}],549419);let f=new Set(["MonitorDown","LogErrorSpike"]);e.s(["r",0,72e5,"M",0,f,"s",0,function(e,t){let r=e=>({ok:!1,why:e});if(!e.setting.enabled)return r("off");if(!e.ruleKey||!f.has(e.ruleKey))return r("rule");let a=e.deploy;if(!a||!a.liveAt)return r("no live deploy");let n=t.getTime()-a.liveAt.getTime();return n<0||n>6e4*e.setting.windowMin?r("outside the window"):a.previousId&&e.targetRef===a.previousId&&a.previousId!==a.currentId?a.newestProdCreatedAt&&a.currentCreatedAt.getTime()<a.newestProdCreatedAt.getTime()?r("live deploy is a rollback"):e.rolledOrPromotedLately?r("live deploy came from a rollback or promote"):"ready"!==(a.previousState??"").toLowerCase()?r("previous not ready"):!a.previousCreatedAt||t.getTime()-a.previousCreatedAt.getTime()>2592e6?r("previous too old"):e.autoLately?r("auto-rollback within 2 h"):e.sameDeployBefore?r("already rolled back once"):e.inFlight?r("another auto-rollback is running"):{ok:!0}:r("target changed")},"u",0,(e,t,a)=>(0,r.l)(`Automatic: the new deploy ${e} errored in the first ${t} minutes. ${a}`),"E",0,e=>e.currentSha&&/^[0-9a-f]{7,40}$/i.test(e.currentSha)?e.currentSha.slice(0,7):e.currentId.slice(0,16)],143926)},447933,e=>{let t;var r,a=e.i(875225),n=e.i(518899),i=e.i(924924),o=e.i(313931),s=e.i(618916),l=e.i(209576),u=e.i(532148),d=e.i(433609),c=e.i(111970),p=e.i(154491),f=e.i(125160),m=e.i(984125),g=e.i(764766),h=e.i(326003),k=e.i(298397),y=e.i(291029),w=e.i(377489),b=e.i(549419),v=e.i(143926),$=e.i(442565),I=e.i(349129),A=e.i(895625),R=e.i(547499),x=e.i(407602),_=e.i(582931),j=e.i(629955),O=e.i(309055),S=e.i(195191);async function P(e,t=O.q){let r,[n]=await (0,i.f)().select({m:s.monitors,appName:s.resources.name,appMeta:s.resources.meta}).from(s.monitors).innerJoin(s.resources,(0,a.u)(s.resources.id,s.monitors.resourceId)).where((0,a.u)(s.monitors.id,e)).limit(1);if(!n)return{ok:!1,error:"That monitor no longer exists."};if("heartbeat"===n.m.kind)return{ok:!1,error:"That monitor is a heartbeat; it has no address to update."};let o=await (0,i.f)().select({id:s.resources.id,name:s.resources.name,meta:s.resources.meta}).from(s.resources).where((0,a.b)((0,a.u)(s.resources.kind,"app"),(0,a.u)(s.resources.monitored,!0),(0,a.M)(s.resources.goneAt),(0,a.c)(s.resources.id,n.m.resourceId))).limit(500),l=(0,g.u)(n.m.url,{name:n.appName,meta:n.appMeta},o,{lastError:n.m.lastError});if(!l)return{ok:!1,error:"Nothing shows this monitor's domain moved (it is still the app's, or never was), so there is nothing to update."};try{r=(0,g.w)(n.m.url,l.to)}catch{return{ok:!1,error:"The app's domain isn't a valid host name, so the monitor was left as it is."}}let u=await t(e,{url:r,expectedStatus:n.m.expectedStatus,timeoutMs:n.m.timeoutMs,bodyContains:n.m.bodyContains,jsonPath:n.m.jsonPath,jsonEquals:n.m.jsonEquals});return u.ok?{ok:!0,message:`Monitor now checks ${r}.`,audit:{message:`Monitor moved to the app's new domain: ${(0,S.F)(r)}`,detail:`was ${(0,S.F)(n.m.url)}`,resourceId:n.m.resourceId}}:u}var T=e.i(145647),M=e.i(479301);async function D(e){if(!(0,M.f)(e))return null;let[t]=await (0,i.f)().select({id:s.resources.id,kind:s.resources.kind,externalId:s.resources.externalId,parentId:s.resources.parentId}).from(s.resources).where((0,a.b)((0,a.u)(s.resources.id,e),(0,a.y)(s.resources.kind,["neon_project","neon_branch"]),(0,a.M)(s.resources.goneAt))).limit(1);if(!t)return null;let r="neon_branch"===t.kind?t.parentId:t.id;if(!r)return null;let[n]=await (0,i.f)().select({data:s.snapshots.data}).from(s.snapshots).where((0,a.u)(s.snapshots.resourceId,r)).limit(1),o=(0,h.k)(h.s,n?.data);return{projectResourceId:r,branchExternalId:"neon_branch"===t.kind?t.externalId:null,computeSeconds:o.computeSeconds??null,periodEnd:o.periodEnd??null}}var z=e.i(472832),N=e.i(800366),E=e.i(628448),C=e.i(443917);let K=`This project used its ${N.a.cuHours} CU-hours; the compute won't start until the quota resets.`;async function H(e,t,r){var a;if(a=new Date,!((t.computeSeconds??0)<3600*N.a.cuHours)&&(!t.periodEnd||new Date(t.periodEnd).getTime()>a.getTime()))return{done:!1,message:K};let n=e.resource.externalId,i=await (0,C.c)(e.token,n,r);if(!i.ok)return{done:!1,message:"missing"===i.kind?E.G:i.error};if(i.data.id!==r||t.branchExternalId&&i.data.branchId!==t.branchExternalId)return{done:!1,message:E.G};if(i.data.disabled)return{done:!1,message:"Neon has disabled this compute, so it can't be started from here."};if("active"===i.data.state)return{done:!1,message:"Already running."};if("init"===i.data.state||"active"===i.data.pendingState)return{done:!1,message:"Already starting."};let o=await (0,C.d)(e.token,n,r);if(o.ok)return{done:!0,message:`Waking ${r}. Ready in a few seconds.`,audit:{message:`Wake requested \xb7 ${r}`,resourceId:e.resource.id}};let s="scope"===o.kind?(0,E.b)("neon",{project:e.resource.name}):"missing"===o.kind?E.G:o.error;return{done:!1,failed:{ok:!1,kind:o.kind,error:s,...o.status?{status:o.status}:{}},audit:{message:`Wake failed \xb7 ${r}`,resourceId:e.resource.id}}}async function B(e,t){let r=t.resource.name;if(e.ok||r.trim().length<2||!e.error.includes(r))return e;let a=await (0,l.f)().catch(()=>null);return{...e,error:a?(0,k.J)(e.error,a,t.resource.id):e.error.split(r).join("db-?")}}async function L(e,t,r,a=z.W){let n=await (0,z.q)(e.id,"wake",r);if(n)return{ok:!1,error:n};let i=await D(t),o=i?await (0,z.p)(i.projectResourceId,"neon_project"):null;return i&&o?B(await a(await H(o,i,r),e,o.account.id),o):{ok:!1,error:E.G}}var V=e.i(11827),U=e.i(843448),W=e.i(342833);let G=e=>`Supabase is busy with this project (${(0,U.P)(e).label.toLowerCase()}). Try again in a few minutes.`,q=(e,t,r)=>({done:!1,failed:{ok:!1,kind:e.kind,error:"scope"===e.kind?(0,E.b)("supabase",{}):e.error,...e.status?{status:e.status}:{}},audit:{message:t,resourceId:r}});async function F(e,t,r,a,n=z.W){let i,o=await (0,z.q)(t.id,e,r);if(o)return{ok:!1,error:o};let s=await (0,z.p)(r,"supabase_project");if(!s)return{ok:!1,error:"This project isn't watched any more, or its credential can't be read."};if(s.resource.externalId!==a)return{ok:!1,error:E.G};let l=s.resource.externalId,u=s.resource.name,d=await (0,W.e)(s.token,l);if(!d.ok)return n({done:!1,message:"scope"===d.kind||"auth"===d.kind?d.error:`Couldn't read this project's status at Supabase: ${d.error}`},t,s.account.id);let c=d.data.status;if("pause"===e){if("INACTIVE"===c||"PAUSING"===c||"GOING_DOWN"===c)return n({done:!1,message:"Already paused."},t,s.account.id);if(!c.startsWith("ACTIVE_"))return n({done:!1,message:G(c)},t,s.account.id);let e=await (0,W.c)(s.token,l);i=e.ok?{done:!0,message:`Pausing ${u}. It takes about 2 minutes.`,audit:{message:`${V.B}${u}`,resourceId:r}}:"transient"===e.kind&&void 0===e.status?{done:!1,failed:{ok:!1,kind:"transient",error:`${e.error} The pause may still have happened; check the project in a few minutes before restoring it.`},audit:{message:`${V.B}${u}`,resourceId:r}}:q(e,`Pause failed \xb7 ${u}`,r)}else{if(c.startsWith("ACTIVE_")||"RESTORING"===c||"COMING_UP"===c)return n({done:!1,message:"Already active or restoring."},t,s.account.id);if("INACTIVE"!==c)return n({done:!1,message:G(c)},t,s.account.id);let e=await (0,W.W)(s.token);if(!e.ok)return n({done:!1,message:`Couldn't count this account's free slots just now: ${e.error}`},t,s.account.id);let a=await (0,j.m)(s.account.id);if(0>=(0,j.G)(e.data,a,d.data.orgSlug))return n({done:!1,message:"This account already uses both free slots. Pause one of its active projects first; Restore stays blocked until it shows Paused."},t,s.account.id);let o=await (0,W.G)(s.token,l);i=o.ok?{done:!0,message:`Restoring ${u}. It takes about 2 minutes.`,audit:{message:`Restore requested \xb7 ${u}`,resourceId:r}}:q(o,`Restore failed \xb7 ${u}`,r)}return n(i,t,s.account.id)}var J=e.i(177706);function X(e,t,r){if("building"===e.state)return"building";if(null!==t&&e.id===t)return"current";if("error"===e.state)return"failed";if("preview"===e.target)return"ready"===e.state?"preview":"other";if("ready"!==e.state||null===t)return"other";let a=r.find(e=>e.id===t);if(!a)return"other";if(e.createdAt.getTime()>a.createdAt.getTime())return"staged";let n=r.filter(e=>"ready"===e.state&&e.id!==t&&e.createdAt.getTime()<a.createdAt.getTime()).sort((e,t)=>t.createdAt.getTime()-e.createdAt.getTime())[0];return n?.id===e.id?"previous":"other"}let Z=e=>({done:!1,message:e}),Y=(e,t)=>e?.sha?e.sha.slice(0,7):t;async function Q(e,t,r){let a=await (0,z.q)(e.id,t,r);if(a)return a;let n=await (0,z.p)(r,"app"),i=n?.resource.meta.teamId;if(!n||"string"!=typeof i||!i||!n.resource.externalId)return"This app or its Vercel credential isn't available any more. Reload the page.";let o=n.resource.meta.teamSlug;return{member:e,t:n,appId:r,app:n.resource.name,teamId:i,teamSlug:"string"==typeof o?o:"",projectId:n.resource.externalId}}async function ee(e){let[t,r]=await Promise.all([(0,J.c)(e.t.token,e.teamId,e.projectId),(0,J.r)(e.t.token,e.teamId,e.projectId)]);return t.ok?r.ok?{ok:!0,data:{name:t.data.name,currentId:t.data.currentId??r.data[0]?.id??null,production:r.data}}:r:t}async function et(e,t,r,a,n=z.W){return n(t.ok?{done:!0,message:r.message,audit:{message:r.audit,resourceId:e.appId}}:{done:!1,failed:"scope"===t.kind?{ok:!1,kind:"scope",status:t.status,error:(0,E.b)("vercel",{team:e.teamSlug})}:404===t.status?{ok:!1,kind:"missing",status:404,error:"Vercel can't find that deployment any more. Reload and try again."}:{ok:!1,kind:"auth"===t.kind?"auth":"format"===t.kind?"format":"transient",...t.status?{status:t.status}:{},error:t.error},audit:{message:a,resourceId:e.appId}},e.member,e.t.account.id)}async function er(e,t,r,a=z.W){{let n=await Q(e,"redeploy",t);if("string"==typeof n)return a(Z(n),e,"");let i=await ee(n);if(!i.ok)return a(Z(i.error),e,n.t.account.id);if(i.data.currentId!==r)return a(Z(E.G),e,n.t.account.id);if(i.data.production.some(e=>"staged"===X(e,i.data.currentId,i.data.production)))return a(Z("Rolled back: promote a deployment first. A redeploy would stay staged and not go live."),e,n.t.account.id);let o=await (0,J.N)(n.t.token,n.teamId,n.projectId);if(!o.ok)return a(Z(o.error),e,n.t.account.id);if(o.data)return a(Z(`A production build of ${n.app} is already running.`),e,n.t.account.id);let s=Y(i.data.production.find(e=>e.id===r),r),l=await (0,J.L)(n.t.token,n.teamId,{projectId:n.projectId,name:i.data.name,deploymentId:r});return et(n,l,{message:`Redeploy requested. Vercel is building ${n.app} again.`,audit:`Redeploy requested \xb7 ${n.app} \xb7 ${s}`},`Redeploy failed \xb7 ${n.app} \xb7 ${s}`,a)}}async function ea(e,t,r,a=z.W){{let n=await Q(e,"rollback",t);if("string"==typeof n)return a(Z(n),e,"");let i=await ee(n);if(!i.ok)return a(Z(i.error),e,n.t.account.id);if(i.data.currentId===r)return a(Z("Already live."),e,n.t.account.id);let o=i.data.production.find(e=>e.id===r);if(!o||"previous"!==X(o,i.data.currentId,i.data.production))return a(Z("Hobby can only roll back to the previous production deployment."),e,n.t.account.id);let s=Y(o,r),l=await (0,J.E)(n.t.token,n.teamId,n.projectId,r);return et(n,l,{message:`Rolled back ${n.app} to ${s}. New pushes don't go live until you promote one.`,audit:`Rolled back \xb7 ${n.app} β†’ ${s}`},`Roll back failed \xb7 ${n.app} β†’ ${s}`,a)}}var en=e.i(189104),ei=e.i(593111),eo=e.i(425498),es=e.i(77193),el=e.i(570191),eu=e.i(365156);let ed={checkMonitorNow:O.X,keepAliveNow:j.v,wakeAs:L,supabaseAct:F,redeployAs:er,rollbackAs:ea,finish:z.W,recordAction:x.f,limit:ei.f,bumpPrAs:_.W,autoSecurity:()=>(0,el.X)(),recheckDomain:T._,moveMonitorToDomain:P};async function ec(){let[e]=await (0,i.f)().select({at:s.collectorRuns.startedAt}).from(s.collectorRuns).where(n.B`(${s.collectorRuns.trigger} = 'vercel_cron' or (${s.collectorRuns.trigger} = 'manual' and ${s.collectorRuns.tasks} ? 'rollups'))`).orderBy((0,I.A)(s.collectorRuns.startedAt)).limit(1);return e?.at??null}async function ep(e){let t=await (e.lastDailyRunAt??ec)(),r=(e.now??(()=>new Date))();if(t&&r.getTime()-t.getTime()<216e5)return{ok:!1,error:"The daily job ran less than 6 hours ago."};let a=(e.dailyTarget??function(){let e=(0,A.f)();return e?{url:`${(0,R.f)().SITE_URL.replace(/\/+$/,"")}/api/daily`,secret:e.CRON_SECRET}:null})();if(!a)return{ok:!1,error:"The scheduler settings are missing, so the daily job can't be started."};try{let t=await (e.fetch??fetch)(a.url,{headers:{Authorization:`Bearer ${a.secret}`},signal:AbortSignal.timeout(4e4),redirect:"manual"});if(!t.ok||t.status>=300)return{ok:!1,error:`The daily job route answered ${t.status}.`};return{ok:!0,message:`Daily job ran again (${t.status}).`}}catch(e){if(e instanceof Error&&("TimeoutError"===e.name||"AbortError"===e.name))return{ok:!0,message:"Daily job started; it's still running β€” the heartbeat turns Up when it finishes."};throw e}}let ef="The proposal's target is missing, so it can't run.";async function em(e,t,r=ed){let a="auto"===t,n=a?{id:w.e,userId:null}:{id:t.id,userId:t.userId},i=(e,t,n)=>r.finish(e,t,n,{refresh:!1,...a?{auditPrefix:w.v}:{}});try{if(!e.resourceId||!e.targetRef)return{ok:!1,error:ef};if((0,es.W)()&&"recheck"!==e.action)return await r.recordAction({kind:"ok",message:`${a?w.v:""}${eu.H[e.action].label} (simulated)`,detail:"Simulated in the demo",resourceId:e.resourceId,actorUserId:n.userId}).catch(()=>console.warn("audit event failed")),{ok:!0,message:eo.r};switch(e.action){case"recheck":{let t=await r.limit(en.t.check,n.id);if(!t.allowed)return{ok:!1,error:`Too many checks. Try again in ${(0,en.H)(t.retryAfter)}.`};let i=await r.checkMonitorNow(e.targetRef);if(!i.ok)return{ok:!1,error:i.error};if(i.audit)try{await r.recordAction({kind:!1===i.passed?"err":"ok",...i.audit,message:`${a?w.v:""}${i.audit.message}`,actorUserId:n.userId})}catch{console.warn("audit event failed")}return{ok:!0,message:i.message}}case"domain_recheck":{let t=await r.limit(en.t.domainCheck,n.id);if(!t.allowed)return{ok:!1,error:`Too many checks. Try again in ${(0,en.H)(t.retryAfter)}.`};let i=await (r.recheckDomain??T._)(e.targetRef);if(!i.ok)return i;return await r.recordAction({kind:"ok",...i.audit,message:`${a?w.v:""}${i.audit.message}`,actorUserId:n.userId}).catch(()=>console.warn("audit event failed")),{ok:!0,message:i.message}}case"monitor_update_url":{let t=await r.limit(en.t.monitorWrite,n.id);if(!t.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,en.H)(t.retryAfter)}.`};let i=await (r.moveMonitorToDomain??P)(e.targetRef);if(!i.ok)return i;return i.audit&&await r.recordAction({kind:"ok",...i.audit,message:`${a?w.v:""}${i.audit.message}`,actorUserId:n.userId}).catch(()=>console.warn("audit event failed")),{ok:!0,message:i.message}}case"daily_rerun":return await ep(r);case"neon_wake":return await r.wakeAs(n,e.resourceId,e.targetRef,i);case"supabase_keepalive":return await r.keepAliveNow(n,e.resourceId,i);case"supabase_restore":return await r.supabaseAct("restore",n,e.resourceId,e.targetRef,i);case"vercel_redeploy":return await r.redeployAs(n,e.resourceId,e.targetRef,i);case"vercel_rollback":return await r.rollbackAs(n,e.resourceId,e.targetRef,i);case"github_bump_pr":{let t=a?await (r.autoSecurity??el.X)():null;if(a&&!t?.enabled)return{ok:!1,error:"Automatic security fixes is off."};return await (r.bumpPrAs??_.W)(n,e.resourceId,e.targetRef,i,{proposalId:e.proposalId??null,...t?{auto:{severities:t.severities}}:{},..."FrameworkVulnerable"===e.ruleKey?{framework:!0}:{}})}default:return{ok:!1,error:ef}}}catch(e){return console.warn(`${o.X.logTag}/proposals run failed:`,e instanceof Error?e.name:"error"),{ok:!1,error:"Something went wrong while running it. Check the console page before trying again."}}}let eg={id:y.O.id,room:y.O.room,action:y.O.action,risk:y.O.risk,title:y.O.title,reason:y.O.reason,resourceName:y.O.resourceName,proposedBy:y.O.proposedBy,status:y.O.status,auto:y.O.auto,result:y.O.result,createdAt:y.O.createdAt,decidedAt:y.O.decidedAt,expiresAt:y.O.expiresAt},eh={...eg,resourceId:y.O.resourceId,targetRef:y.O.targetRef,ruleKey:y.O.ruleKey};async function ek(e,t,r){let o=(0,w.z)(e,t),[l,u,c,p,f,m,h]=await Promise.all([o.monitorIds.length?(0,i.f)().select({id:s.monitors.id,kind:s.monitors.kind,url:s.monitors.url,lastError:s.monitors.lastError,appId:s.monitors.resourceId,appName:s.resources.name,appMeta:s.resources.meta}).from(s.monitors).innerJoin(s.resources,(0,a.u)(s.resources.id,s.monitors.resourceId)).where((0,a.y)(s.monitors.id,o.monitorIds)):[],o.deployApps.length?(0,i.f)().select({app:s.deployments.resourceId,id:s.deployments.externalId,isCurrent:s.deployments.isCurrent,isPrevious:s.deployments.isPreviousProduction,readyAt:s.deployments.readyAt,createdAt:s.deployments.createdAtProvider}).from(s.deployments).where((0,a.b)((0,a.y)(s.deployments.resourceId,o.deployApps),(0,a.F)((0,a.u)(s.deployments.isCurrent,!0),(0,a.u)(s.deployments.isPreviousProduction,!0)))):[],o.supabaseIds.length?(0,i.f)().select({id:s.resources.id,ref:s.resources.externalId}).from(s.resources).where((0,a.b)((0,a.y)(s.resources.id,o.supabaseIds),(0,a.u)(s.resources.kind,"supabase_project"),n.B`${s.resources.goneAt} is null`)):[],o.monitorApps.length?eb(o.monitorApps):new Map,o.depApps.length?ey(e,o.depApps).catch(()=>new Set).then(e=>(0,d.C)(o.depApps,e)).catch(()=>new Map):new Map,o.monitorIds.length?ew(o.monitorIds):null,o.frameworkApps.length?(0,_.h)(o.frameworkApps,o.depApps).catch(()=>new Map):new Map]),k=l.some(e=>null!==(0,g.Y)(e.appMeta)),y=k?await (0,i.f)().select({id:s.resources.id,name:s.resources.name,meta:s.resources.meta}).from(s.resources).where((0,a.b)((0,a.u)(s.resources.kind,"app"),(0,a.u)(s.resources.monitored,!0),(0,a.M)(s.resources.goneAt))).limit(500):[],b=k?(0,g.P)(l,y):new Map,v=new Map;for(let e of u){let t=v.get(e.app)??{currentId:null,previousId:null,liveAt:null};e.isCurrent?(t.currentId=e.id,t.liveAt=e.readyAt??e.createdAt??null):e.isPrevious&&(t.previousId=e.id),v.set(e.app,t)}return{monitorKinds:new Map(l.map(e=>[e.id,String(e.kind)])),deploys:v,...void 0!==r?{rollbackWindowMs:r}:{},supabaseRefs:new Map(c.map(e=>[e.id,e.ref])),neonSuspended:p,fixableRepos:f,dailyHeartbeatId:m,frameworkFixes:h,monitorMoves:b}}async function ey(e,t){let r=new Set(t),n=e.filter(e=>"FrameworkVulnerable"===e.ruleKey&&"app"===e.resourceKind&&e.resourceId&&r.has(e.resourceId)).map(e=>e.id);return n.length?new Set((await (0,i.f)().selectDistinct({resourceId:y.O.resourceId}).from(y.O).where((0,a.b)((0,a.u)(y.O.ruleKey,"FrameworkVulnerable"),(0,a.u)(y.O.action,"github_bump_pr"),(0,a.y)(y.O.status,["pending","approved","running","done"]),(0,a.y)(y.O.alertId,n),(0,a.y)(y.O.resourceId,[...r]))).limit(n.length)).flatMap(e=>e.resourceId?[e.resourceId]:[])):new Set}async function ew(e){let t=(0,f.i)(process.env.DAILY_HEARTBEAT_TOKEN);if(!t)return null;let[r]=await (0,i.f)().select({id:s.monitors.id}).from(s.monitors).where((0,a.b)((0,a.y)(s.monitors.id,e),(0,a.u)(s.monitors.kind,"heartbeat"),(0,a.u)(s.monitors.tokenHash,(0,m.f)(t)))).limit(1).catch(()=>[]);return r?.id??null}async function eb(e){let t=await (0,i.f)().select({app:s.links.fromResourceId,id:s.resources.id,kind:s.resources.kind,externalId:s.resources.externalId,parentId:s.resources.parentId}).from(s.links).innerJoin(s.resources,(0,a.u)(s.resources.id,s.links.toResourceId)).where((0,a.b)((0,a.y)(s.links.fromResourceId,e),(0,a.u)(s.links.kind,"uses_db"),(0,a.y)(s.resources.kind,["neon_project","neon_branch"]),n.B`${s.resources.goneAt} is null`)),r=new Map;if(!t.length)return r;let o=e=>"neon_branch"===e.kind?e.parentId:e.id,l=[...new Set(t.map(o).filter(e=>!!e))];if(!l.length)return r;let u=new Map((await (0,i.f)().select({id:s.snapshots.resourceId,data:s.snapshots.data}).from(s.snapshots).where((0,a.y)(s.snapshots.resourceId,l))).map(e=>[e.id,(0,h.k)(h.s,e.data)]));for(let e of t){let t=o(e),a=t?u.get(t):void 0,n=a?(0,w.Z)(a.endpoints,a.branches,"neon_branch"===e.kind?e.externalId:null):null;n&&r.set(e.app,{resourceId:e.id,resourceKind:e.kind,endpointId:n})}return r}async function ev(e){if(!e.length)return[];let t=new Set((await (0,i.f)().select({alertId:y.O.alertId,action:y.O.action}).from(y.O).where((0,a.y)(y.O.alertId,[...new Set(e.map(e=>e.alertId))]))).map(e=>`${e.alertId}:${e.action}`)),r=e.filter(e=>!t.has(`${e.alertId}:${e.action}`));return r.length?(0,i.f)().insert(y.O).values(r.map(e=>({...e,status:"pending"}))).onConflictDoNothing().returning(eh):[]}async function e$(e,t,r,o){let[s]=await (0,i.f)().update(y.O).set({status:"approve"===t?"approved":"rejected",decidedBy:r,decidedAt:o}).where((0,a.b)((0,a.u)(y.O.id,e),(0,a.u)(y.O.status,"pending"),n.B`${y.O.expiresAt} > ${o.toISOString()}::timestamptz`)).returning(eh);if(s)return{status:"ok",proposal:(0,w.E)(s),row:s};let[l]=await (0,i.f)().select(eg).from(y.O).where((0,a.u)(y.O.id,e)).limit(1);return l?{status:"conflict",proposal:(0,w.E)(l)}:{status:"missing"}}async function eI(e,t){let[r]=await (0,i.f)().update(y.O).set({status:"running",claimedAt:t}).where((0,a.b)((0,a.u)(y.O.id,e),(0,a.u)(y.O.status,"approved"))).returning(eh);return r??null}async function eA(e,t,r,n){let[o]=await (0,i.f)().update(y.O).set({status:t?"done":"failed",result:r,finishedAt:n}).where((0,a.b)((0,a.u)(y.O.id,e),(0,a.u)(y.O.status,"running"))).returning(eh);return o??null}let eR={run:(e,t)=>em(e,t),book:()=>(0,l.f)()};async function ex(e,t,r,a=eR){let n=await eI(e,r);if(!n)return null;let i=await a.run({action:n.action,resourceId:n.resourceId,targetRef:n.targetRef,proposalId:n.id,ruleKey:n.ruleKey??null},t),o=await a.book().catch(()=>k.a),s=await eA(e,i.ok,(0,w.x)(i,o),new Date);return s?(0,w.E)(s):null}async function e_(e,t){let r=await (0,i.f)().update(y.O).set({status:"expired",result:"Expired: nobody decided in time, or the alert stopped firing."}).where((0,a.b)((0,a.u)(y.O.status,"pending"),(0,a.F)((0,a.S)(y.O.expiresAt,new Date(t.getTime()+1)),(0,a.b)((0,a.E)(y.O.alertId),e.length?(0,a.$)(y.O.alertId,e):n.B`true`)))).returning({id:y.O.id});return await (0,i.f)().update(y.O).set({status:"failed",result:"The run was interrupted. Check the console page before trying again.",finishedAt:t}).where((0,a.b)((0,a.u)(y.O.status,"running"),(0,a.S)(y.O.claimedAt,new Date(t.getTime()-w.L)))),r.length}async function ej(e){await (0,i.f)().delete(y.O).where((0,a.b)((0,a.S)(y.O.createdAt,new Date(e.getTime()-2592e6)),(0,a.$)(y.O.status,["pending","approved","running"])))}let eO=n.B`(${s.storedLogs.level} in ('error', 'fatal') or coalesce(${s.storedLogs.statusCode}, 0) >= 500)`,eS=n.B`coalesce(${s.deployments.readyAt}, ${s.deployments.createdAtProvider})`;async function eP(e){let t=await (0,i.f)().select({app:s.links.fromResourceId,id:s.resources.id,kind:s.resources.kind,externalId:s.resources.externalId,parentId:s.resources.parentId}).from(s.links).innerJoin(s.resources,(0,a.u)(s.resources.id,s.links.toResourceId)).where((0,a.b)((0,a.y)(s.links.fromResourceId,e),(0,a.u)(s.links.kind,"uses_db"),(0,a.y)(s.resources.kind,["neon_project","neon_branch","supabase_project"]),(0,a.M)(s.resources.goneAt))),r=new Map;if(!t.length)return r;let n=e=>"neon_branch"===e.kind?e.parentId:e.id,o=[...new Set(t.map(n).filter(e=>!!e))],l=new Map((o.length?await (0,i.f)().select({id:s.snapshots.resourceId,data:s.snapshots.data}).from(s.snapshots).where((0,a.y)(s.snapshots.resourceId,o)):[]).map(e=>[e.id,e.data]));for(let e of t){let t=l.get(n(e)??"");if("supabase_project"===e.kind){let a=(0,h.k)(h.B,t);r.set(e.app,{resourceId:e.id,kind:e.kind,wakeEndpoint:null,supabaseRef:e.externalId,supabasePaused:"INACTIVE"===a.status})}else{let a=(0,h.k)(h.s,t);r.set(e.app,{resourceId:e.id,kind:e.kind,wakeEndpoint:(0,w.Z)(a.endpoints,a.branches,"neon_branch"===e.kind?e.externalId:null),supabaseRef:null,supabasePaused:!1})}}return r}let eT={apps:async function(e){let t=new Date(e.getTime()-b.I-b.s),r=n.B`${s.storedLogs.at} >= ${new Date(e.getTime()-b.H).toISOString()}::timestamptz`,o=n.B`${s.storedLogs.message} ~* ${b.N}`,l=n.B`left(${s.storedLogs.message}, 200)`,u=(await (0,i.f)().select({appId:s.storedLogs.resourceId,appName:n.B`max(${s.resources.name})`,liveAt:n.B`max(${eS})`.mapWith(s.deployments.readyAt),currentId:n.B`max(${s.deployments.externalId})`,errorsSinceLive:n.B`count(*) filter (where ${eO} and ${s.storedLogs.at} >= ${eS})`.mapWith(Number),baselineErrors:n.B`count(*) filter (where ${eO} and ${s.storedLogs.at} >= ${eS} - interval '24 hours' and ${s.storedLogs.at} < ${eS})`.mapWith(Number),topSinceLive:n.B`mode() within group (order by ${l}) filter (where ${eO} and ${s.storedLogs.at} >= ${eS})`,errors30:n.B`count(*) filter (where ${eO} and ${r})`.mapWith(Number),top30:n.B`mode() within group (order by ${l}) filter (where ${eO} and ${r})`,dbErrors30:n.B`count(*) filter (where ${r} and ${o})`.mapWith(Number),topDb:n.B`mode() within group (order by ${l}) filter (where ${r} and ${o})`}).from(s.storedLogs).innerJoin(s.resources,(0,a.u)(s.resources.id,s.storedLogs.resourceId)).leftJoin(s.deployments,(0,a.b)((0,a.u)(s.deployments.resourceId,s.storedLogs.resourceId),(0,a.u)(s.deployments.isCurrent,!0))).where((0,a.b)((0,a.B)(s.storedLogs.at,t),(0,a.u)(s.resources.kind,"app"),(0,a.M)(s.resources.goneAt))).groupBy(s.storedLogs.resourceId)).filter(e=>e.errorsSinceLive>=b.w||e.errors30>=b.G||e.dbErrors30>=b.V);if(!u.length)return[];let d=u.map(e=>e.appId),[c,p,f]=await Promise.all([(0,i.f)().select({app:s.deployments.resourceId,previousId:n.B`max(${s.deployments.externalId}) filter (where ${s.deployments.isPreviousProduction})`,lastDeployAt:n.B`max(${s.deployments.createdAtProvider}) filter (where ${s.deployments.target} = 'production')`.mapWith(s.deployments.createdAtProvider)}).from(s.deployments).where((0,a.b)((0,a.y)(s.deployments.resourceId,d),(0,a.F)((0,a.u)(s.deployments.isPreviousProduction,!0),(0,a.B)(s.deployments.createdAtProvider,new Date(e.getTime()-b.v))))).groupBy(s.deployments.resourceId),(0,i.f)().select({app:s.monitors.resourceId,id:s.monitors.id}).from(s.monitors).where((0,a.b)((0,a.y)(s.monitors.resourceId,d),(0,a.u)(s.monitors.kind,"http"),(0,a.u)(s.monitors.paused,!1),(0,a.u)(s.monitors.ownerPaused,!1))).orderBy(s.monitors.createdAt),eP(d)]),m=new Map(c.map(e=>[e.app,e])),g=new Map;for(let e of p)g.has(e.app)||g.set(e.app,e.id);return u.map(e=>({...e,appName:e.appName??"",previousId:m.get(e.appId)?.previousId??null,lastDeployAt:m.get(e.appId)?.lastDeployAt??null,httpMonitorId:g.get(e.appId)??null,db:f.get(e.appId)??null}))},rows:async function(e){let t=n.B`coalesce(${y.O.finishedAt}, ${y.O.decidedAt}, ${y.O.expiresAt})`;return(0,i.f)().select({id:y.O.id,ruleKey:y.O.ruleKey,resourceId:y.O.resourceId,action:y.O.action,status:y.O.status,closedAt:t.mapWith(y.O.finishedAt)}).from(y.O).where((0,a.b)((0,a.M)(y.O.alertId),(0,a.y)(y.O.ruleKey,[...b.T]),(0,a.F)((0,a.y)(y.O.status,["pending","approved","running"]),n.B`${t} > ${new Date(e.getTime()-b.b).toISOString()}::timestamptz`)))}};async function eM(e,t,r=eT){let[n,o]=await Promise.all([r.apps(e),r.rows(e)]),s=n.flatMap(r=>(0,b.t)(r,t,e)),l=(0,b.W)(o,s),u=0;l.length&&(u=(await (0,i.f)().update(y.O).set({status:"expired",result:"Expired: the logs no longer show it.",finishedAt:e}).where((0,a.b)((0,a.y)(y.O.id,l),(0,a.u)(y.O.status,"pending"))).returning({id:y.O.id})).length);let d=(0,b.x)(s,o,e);return d.length?{created:await (0,i.f)().insert(y.O).values(d.map(e=>({...e,status:"pending"}))).onConflictDoNothing().returning(eh),expired:u}:{created:[],expired:u}}let eD=null;async function ez(e,t){return(0,b.D)(e,eD)?(eD=e.getTime(),eM(e,await t())):{created:[],expired:0}}async function eN(e,t){return(await (0,i.f)().update(y.O).set({status:"approved",auto:!0,decidedAt:t}).where((0,a.b)((0,a.u)(y.O.id,e),(0,a.u)(y.O.status,"pending"),(0,a.u)(y.O.risk,"safe"))).returning({id:y.O.id})).length>0}async function eE(e,t){let r=new Date(t.getTime()-v.r),[o,l,u,d]=await Promise.all([(0,i.f)().select({app:s.deployments.resourceId,id:s.deployments.externalId,sha:s.deployments.commitSha,state:s.deployments.state,isCurrent:s.deployments.isCurrent,isPrevious:s.deployments.isPreviousProduction,readyAt:s.deployments.readyAt,createdAt:s.deployments.createdAtProvider}).from(s.deployments).where((0,a.b)((0,a.y)(s.deployments.resourceId,e),(0,a.F)((0,a.u)(s.deployments.isCurrent,!0),(0,a.u)(s.deployments.isPreviousProduction,!0)))),(0,i.f)().select({app:s.deployments.resourceId,at:n.B`max(${s.deployments.createdAtProvider})`.mapWith(s.deployments.createdAtProvider)}).from(s.deployments).where((0,a.b)((0,a.y)(s.deployments.resourceId,e),(0,a.u)(s.deployments.target,"production"),(0,a.u)(s.deployments.state,"ready"))).groupBy(s.deployments.resourceId),(0,i.f)().select({app:s.events.resourceId}).from(s.events).where((0,a.b)((0,a.u)(s.events.type,"action"),(0,a.y)(s.events.resourceId,e),(0,a.B)(s.events.at,r),n.B`${s.events.message} ~ ${eC}`)),(0,i.f)().select({app:y.O.resourceId,targetRef:y.O.targetRef,status:y.O.status,decidedAt:y.O.decidedAt}).from(y.O).where((0,a.b)((0,a.u)(y.O.action,"vercel_rollback"),(0,a.u)(y.O.auto,!0),(0,a.B)(y.O.createdAt,new Date(t.getTime()-26784e5))))]),c=new Map;for(let t of e){let e=o.find(e=>e.app===t&&e.isCurrent),a=o.find(e=>e.app===t&&e.isPrevious&&!e.isCurrent),n=d.filter(e=>e.app===t);c.set(t,{deploy:e?{currentId:e.id,currentSha:e.sha,liveAt:e.readyAt??e.createdAt,currentCreatedAt:e.createdAt,newestProdCreatedAt:l.find(e=>e.app===t)?.at??null,previousId:a?.id??null,previousState:a?.state??null,previousCreatedAt:a?.createdAt??null}:null,rolledOrPromotedLately:u.some(e=>e.app===t),autoLately:n.some(e=>null!==e.decidedAt&&e.decidedAt.getTime()>=r.getTime()),sameDeployBefore:!!a&&n.some(e=>e.targetRef===a.id)})}return{apps:c,inFlight:d.some(e=>"approved"===e.status||"running"===e.status)}}let eC="(Rolled back|Promoted|Preview promoted) Β·";async function eK(e,t,r){return(await (0,i.f)().update(y.O).set({status:"approved",auto:!0,decidedAt:r,reason:t}).where((0,a.b)((0,a.u)(y.O.id,e),(0,a.u)(y.O.status,"pending"),(0,a.u)(y.O.action,"vercel_rollback"),n.B`not exists (select 1 from ops.action_proposals x where x.action = 'vercel_rollback' and x.auto and x.status in ('approved', 'running'))`)).returning({id:y.O.id})).length>0}async function eH(e,t,r,a){let n=e.filter(e=>"vercel_rollback"===e.action&&e.ruleKey&&v.M.has(e.ruleKey)&&e.resourceId);if(!n.length||!a.autoRollback||!a.rollbackContext||!a.approveAutoRollback)return[];let i=await a.autoRollback().catch(()=>null);if(!i?.enabled||15e3>r())return[];let s=[];try{let e=await a.rollbackContext([...new Set(n.map(e=>e.resourceId))],t),l=e.inFlight;for(let u of n){let n=e.apps.get(u.resourceId);if(!n||12e3>r())continue;let d=(0,v.s)({setting:i,ruleKey:u.ruleKey??null,targetRef:u.targetRef,inFlight:l,...n},t);if(!d.ok){console.log(`${o.X.logTag}/auto-rollback: skipped (${d.why})`);continue}let c=(0,v.E)(n.deploy);if(!await a.approveAutoRollback(u.id,(0,v.u)(c,i.windowMin,u.reason),new Date))continue;l=!0;let p=await a.execute(u.id,new Date);if(p){s.push(p),await (a.notifyRollback??$.q)(p,{reason:u.reason,newRef:c}).catch(()=>void 0);break}}}catch(e){console.warn(`${o.X.logTag}/auto-rollback failed:`,e instanceof Error?e.name:"error")}return s}async function eB(e,t){return(await (0,i.f)().update(y.O).set({status:"approved",auto:!0,decidedAt:t}).where((0,a.b)((0,a.u)(y.O.id,e),(0,a.u)(y.O.status,"pending"),(0,a.u)(y.O.action,"github_bump_pr"))).returning({id:y.O.id})).length>0}async function eL(e,t,r){let a=e.filter(e=>"github_bump_pr"===e.action&&e.targetRef);if(!a.length||!r.autoSecurity||!r.bumpReady||!r.approveAutoBump)return[];let n=await r.autoSecurity().catch(()=>null);if(!n?.enabled||!n.severities.length)return[];let i=[];for(let e of a){if(15e3>t())break;try{let t="FrameworkVulnerable"===e.ruleKey&&e.resourceId?await r.bumpReady(e.targetRef,n.severities,{appId:e.resourceId}):await r.bumpReady(e.targetRef,n.severities);if(!t.ok){console.log(`${o.X.logTag}/auto-security: waits for the owner (${t.why})`);continue}if(!await r.approveAutoBump(e.id,new Date))continue;let a=await r.execute(e.id,new Date);a&&i.push(a)}catch(e){console.warn(`${o.X.logTag}/auto-security failed:`,e instanceof Error?e.name:"error")}}return i}async function eV(e){return new Map((await (0,i.f)().select({id:s.accounts.id,provider:s.accounts.provider}).from(s.accounts).where((0,a.y)(s.accounts.id,e))).map(e=>[e.id,e.provider]))}let eU={firing:()=>(0,u.q)(),book:()=>(0,l.f)(),facts:ek,create:ev,expire:e_,autoRun:el.I,approveAuto:eN,execute:(e,t)=>ex(e,"auto",t),notifyNew:$.i,notifyResult:$.b,logs:ez,autoRollback:()=>(0,el.K)(),rollbackContext:eE,approveAutoRollback:eK,notifyRollback:$.q,autoSecurity:()=>(0,el.X)(),bumpReady:_.J,approveAutoBump:eB,paused:c.I,providers:eV};async function eW(e,t={},r=eU){let a={created:0,expired:0,autoRan:0},n=()=>(t.deadline??1/0)-Date.now(),i=await r.firing();a.expired=await r.expire(i.map(e=>e.id),e);let s=r.paused?await r.paused().catch(()=>new Set):new Set,l=[...new Set(i.flatMap(e=>e.accountId?[e.accountId]:[]))],u=s.size&&l.length&&r.providers?await r.providers(l).catch(()=>new Map):new Map,d=i.filter(e=>!(0,p.O)(s,e.ruleKey,e.accountId?u.get(e.accountId):null)),c=null,f=()=>c??=r.book().catch(()=>k.a),m=[],g=(0,w.z)(d,e);if(Object.values(g).some(e=>e.length>0)){let t=g.deployApps.length&&r.autoRollback?await r.autoRollback().catch(()=>null):null,a=await r.facts(d,e,t?6e4*t.windowMin:void 0),n=await f(),i=d.flatMap(t=>(0,w.t)(t,a,n,e)).filter(e=>!("github_bump_pr"===e.action&&s.has("devops")));m.push(...await r.create(i))}if(n()>1e4&&!s.has("hosting"))try{let t=await r.logs(e,f);m.push(...t.created),a.expired+=t.expired}catch(e){console.warn(`${o.X.logTag}/proposals logs failed:`,e instanceof Error?e.name:"error")}if(a.created=m.length,!m.length)return a;let h=await r.autoRun().catch(()=>null),y=await eH(m,e,n,r);a.autoRan+=y.length;let b=await eL(m.filter(e=>!y.some(t=>t.id===e.id)),n,r),v=new Set(y.map(e=>e.id)),$=[...b];for(let e of(a.autoRan+=b.length,b))v.add(e.id);for(let e of m){if(v.has(e.id)||!h||!(0,w.I)(e.action,h)||8e3>n()||!await r.approveAuto(e.id,new Date))continue;let t=await r.execute(e.id,new Date);t&&($.push(t),a.autoRan++)}let I=new Set([...$.map(e=>e.id),...v]),A=m.filter(e=>"LogErrorSpike"===e.ruleKey&&e.resourceId).map(e=>({proposalId:e.id,appId:e.resourceId})),R=A.length&&r.queueDev?await r.queueDev(A,e).catch(()=>new Set):new Set;for(let e of(await r.notifyNew(m.filter(e=>!I.has(e.id)).map(w.E),{},{devQueued:R}).catch(()=>void 0),$))await r.notifyResult(e).catch(()=>void 0);return a}let eG=(r={},t={...eU,queueDev:r.queueDev},async(e,r)=>{try{let a=await eW(e,r??{},t);(a.created||a.expired||a.autoRan)&&console.log(`${o.X.logTag}/proposals: ${a.created} new, ${a.expired} expired, ${a.autoRan} auto-ran`)}catch(e){console.warn(`${o.X.logTag}/proposals failed:`,e instanceof Error?e.name:"error")}});e.s(["V",0,e$,"N",0,ex,"Z",0,eG,"t",0,ej],447933)},442565,e=>{var t=e.i(313931),r=e.i(872281),a=e.i(483100),n=e.i(224382),i=e.i(220642),o=e.i(547499),s=e.i(695811),l=e.i(76012),u=e.i(298397),d=e.i(635982),c=e.i(570191),p=e.i(365156);let f={target:a.Q,book:()=>(0,r.f)(),siteUrl:()=>(0,o.f)().SITE_URL,autoRun:()=>(0,c.I)(),send:(e,t,r,a)=>(0,l.I)(e,t,r,a?{replyMarkup:a}:{}),record:(e,t)=>(0,a.P)("telegram",e,t),lang:()=>(0,s.H)("telegram"),discord:()=>(0,a.G)(),sendDiscord:(e,t)=>(0,n.f)(e,t,{timeoutMs:v}),recordDiscord:(e,t)=>(0,a.P)("discord",e,t),discordLang:()=>(0,s.H)("discord"),buttons:()=>e.A(106025).then(e=>e.approvalButtons())},m={en:{pending:"Status: ⏳ waiting",dev:"πŸ§‘β€πŸ’» Dev is checking the code",proposer:t.X.notifyFallback.en,app:"app",safe:"safe",risky:"needs care",proposes:"proposes",why:"Why",risk:"Risk",open:"Open in Auto-actions",waitingN:"new proposals waiting for approval:",moreN:"more proposals",automatic:"Automatic",rollbackWhy:"the app errored after the new deploy",succeeded:"Succeeded",failed:"Failed",stopFallback:"something failed"},id:{pending:"Status: ⏳ menunggu",dev:"πŸ§‘β€πŸ’» Dev lagi cek kodenya",proposer:t.X.notifyFallback.id,app:"aplikasi",safe:"aman",risky:"perlu hati-hati",proposes:"usul",why:"Kenapa",risk:"Risiko",open:"Buka di Auto-actions",waitingN:"usulan baru menunggu persetujuan:",moreN:"usulan lagi",automatic:"Otomatis",rollbackWhy:"app-nya error setelah deploy baru",succeeded:"Berhasil",failed:"Gagal",stopFallback:"ada yang gagal"}},g={recheck:"Cek ulang sekarang",neon_wake:"Bangunin Neon",supabase_keepalive:"Kirim keep-alive Supabase",supabase_restore:"Restore project Supabase",vercel_redeploy:"Redeploy production",vercel_rollback:"Rollback ke deploy sebelumnya",github_bump_pr:"Bikin PR update paket",domain_recheck:"Cek ulang sertifikat domain",daily_rerun:"Jalanin ulang daily job",monitor_update_url:"Arahin monitor ke domain baru"},h=(e="en")=>(0,s.t)(m,e,"dev"),k=(e,t)=>("id"===t?g[e.action]:void 0)??p.H[e.action]?.label??e.actionLabel,y=(e,t)=>(0,s.t)(m,t,"risky"===e.risk||p.H[e.action]?.risk==="risky"?"risky":"safe"),w=(e,t)=>`${e.replace(/\/+$/,"")}/auto-actions${t?`?proposal=${encodeURIComponent(t)}`:""}`;function b(e,t,r,a=!1,n="en"){let o=e=>(0,s.t)(m,n,e),l=(0,d.f)(e.proposedBy,t,60)||o("proposer"),u=(0,d.f)(e.title,t,120),c=(0,d.f)(e.reason,t,200)||"-";return[`πŸ§‘β€βœˆοΈ ${(0,i.H)(l)} ${o("proposes")}: ${(0,i.H)(k(e,n))} β€” ${(0,i.H)(u)}`,`${o("why")}: ${(0,i.H)(c)}`,`${o("risk")}: ${y(e,n)}`,...a?[h(n)]:[],`${o("open")}: ${(0,i.H)(w(r,e.id))}`].join("\n")}let v=3e3,$={en:{proposed:"πŸ“ Proposed",approved:"βœ… Approved by the owner",rejected:"🚫 Rejected by the owner",done:"βš™οΈ Ran",failed:"❌ Failed",waiting:"waiting for approval on Telegram.",newN:"new proposals"},id:{proposed:"πŸ“ Usulan",approved:"βœ… Disetujui owner",rejected:"🚫 Ditolak owner",done:"βš™οΈ Dijalankan",failed:"❌ Gagal",waiting:"nunggu persetujuan di Telegram.",newN:"usulan baru"}};function I(e,t,r,a="en"){let n=e=>(0,s.t)($,a,e);if(Array.isArray(t))return`πŸ“ ${t.length} ${n("newN")} β€” ${n("waiting")}`;let i=((0,d.f)(t.title,r,120)||k(t,a)).replace(/[*_`~|\[\]<>]/g,"");if("proposed"===e)return`${n("proposed")}: ${i} β€” ${n("waiting")}`;if("approved"===e||"rejected"===e)return`${n(e)}: ${i}`;let o=t.result?(0,d.f)(t.result,r,200).replace(/[*_`~|\[\]<>]/g,""):"";return`${n(e)}: ${i}${o?` β€” ${o}`:""}`}async function A(e,r,a){try{let n,i=await r.discord();if(!i)return;let o=await r.book().catch(()=>u.a),s=await r.discordLang().catch(()=>"en"),l=e(o,s);if(!l.length)return;try{n=await r.sendDiscord(i.url,l.join("\n"))}catch{n={ok:!1,kind:"transient",error:"Discord didn't answer."}}await r.recordDiscord(n,a).catch(()=>console.warn(`${t.X.logTag}/discord: recording the result failed`))}catch{console.warn(`${t.X.logTag}/discord: sending the action history failed`)}}async function R(e,t,r={},a={}){let n={...f,...r};await _(()=>A((r,a)=>[I(e,t,r,a)],n,a.now??new Date),a.timeoutMs??v)}async function x(e,r,a){let n=await r.target();if(!n)return;let i=await r.book().catch(()=>u.a),o=await r.lang().catch(()=>"en");for(let s of(await e(i,o))){let e;try{e="string"==typeof s?await r.send(n.token,n.chatId,s):await r.send(n.token,n.chatId,s.text,s.keyboard)}catch{e={ok:!1,kind:"transient",error:"Telegram didn't answer."}}await r.record(e,a).catch(()=>console.warn(`${t.X.logTag}/telegram: recording the result failed`))}}async function _(e,r){try{var a;let t;await (a=e(),Promise.race([a,new Promise((e,a)=>{t=setTimeout(()=>a(Object.assign(Error("timeout"),{name:"TimeoutError"})),r)})]).finally(()=>clearTimeout(t)))}catch(e){console.warn(`${t.X.logTag}/telegram: sending the proposal notice failed:`,e instanceof Error?e.name:"error")}}async function j(e,t={},r={}){if(!e.length)return;let a={...f,...t};await _(async()=>{let t=await a.autoRun().catch(()=>null),n=e.filter(e=>{var r;return r=t??{},"pending"===e.status&&!e.auto&&(p.H[e.action]?.risk!=="safe"||"risky"===e.risk||!r[e.action])});if(!n.length)return;let o=n.length>3||!a.buttons?null:await a.buttons().catch(()=>null),l=r.now??new Date;await Promise.all([x((e,t)=>n.length>3?[function(e,t,r,a=new Set,n="en"){let o=e=>(0,s.t)(m,n,e),l=e.slice(0,10).map(e=>{let s=(0,d.f)(e.proposedBy,t,60)||o("proposer");return`β€’ ${(0,i.H)(s)}: ${(0,i.H)(k(e,n))} β€” ${(0,i.H)((0,d.f)(e.title,t,120))} (${y(e,n)})${a.has(e.id)?` \xb7 ${h(n)}`:""}
2
2
  ${(0,i.H)(w(r,e.id))}`}),u=e.length>10?[`+${e.length-10} ${o("moreN")}`]:[];return[`πŸ§‘β€βœˆοΈ ${e.length} ${o("waitingN")}`,...l,...u,`${o("open")}: ${(0,i.H)(w(r))}`].join("\n")}(n,e,a.siteUrl(),r.devQueued,t)]:n.map(n=>{let i=b(n,e,a.siteUrl(),r.devQueued?.has(n.id)??!1,t);return o?{text:`${i}
3
- ${((e="en")=>(0,s.t)(m,e,"pending"))(t)}`,keyboard:o(n)}:i}),a,l),A((e,t)=>n.length>3?[$("proposed",n,e,t)]:n.map(r=>$("proposed",r,e,t)),a,l)])},r.timeoutMs??8e3)}async function O(e,t={},r={}){if(!e.auto||"done"!==e.status&&"failed"!==e.status)return;let a={...f,...t},n=r.now??new Date;await _(()=>Promise.all([x((t,r)=>{let a=function(e,t,r="en"){if(!e.auto||"done"!==e.status&&"failed"!==e.status)return null;let a="done"===e.status?"βœ…":"❌",n=e.result?(0,d.f)(e.result,t,200):"";return`${a} ${(0,s.t)(m,r,"automatic")}: ${(0,i.H)(k(e,r))} β€” ${(0,i.H)((0,d.f)(e.title,t,120))}${n?`: ${(0,i.H)(n)}`:""}`}(e,t,r);return a?[a]:[]},a,n),A((t,r)=>[$("done"===e.status?"done":"failed",e,t,r)],a,n)]).then(()=>void 0),r.timeoutMs??8e3)}async function T(e,t,r={},a={}){if("done"!==e.status&&"failed"!==e.status)return;let n={...f,...r},o=a.now??new Date;await _(()=>Promise.all([x((r,a)=>[function(e,t,r,a="en"){let n=e=>(0,s.t)(m,a,e),o=(0,d.f)(e.resourceName??n("app"),r,60)||n("app"),l=(0,d.f)(t.reason,r,200).replace(/[.!?…]+$/,"")||n("rollbackWhy"),u=e.result?(0,d.f)(e.result,r,200):"";return["id"===a?`βͺ Otomatis rollback ${(0,i.H)(o)}: ${(0,i.H)(l)}. Deploy baru ${(0,i.H)((0,d.f)(t.newRef,r,40))} dibalikin ke deploy sebelumnya. Benerin dulu, terus deploy ulang.`:`βͺ Automatic rollback of ${(0,i.H)(o)}: ${(0,i.H)(l)}. The new deploy ${(0,i.H)((0,d.f)(t.newRef,r,40))} was rolled back to the previous one. Fix it first, then deploy again.`,`${"done"===e.status?"βœ…":"❌"} ${n("done"===e.status?"succeeded":"failed")}${u?`: ${(0,i.H)(u)}`:""}`].join("\n")}(e,t,r,a)],n,o),A((t,r)=>[$("done"===e.status?"done":"failed",e,t,r)],n,o)]).then(()=>void 0),a.timeoutMs??8e3)}async function P(e,t={},r={}){let a={...f,...t};await _(()=>x((t,r)=>[function(e,t,r="en"){let a="id"===r,n=(0,d.f)(e.app,t,60)||(0,s.t)(m,r,"app"),o=e.packages.slice(0,4).join(", ")+(e.packages.length>4?`, +${e.packages.length-4}`:"");if("merged"===e.kind)return a?`βœ… PR #${e.number} di ${(0,i.H)(n)} di-merge otomatis (${(0,i.H)(o)}). Deploy production jalan lewat Vercel; auto-rollback jaga ${e.windowMin??30} menit pertama.`:`βœ… PR #${e.number} in ${(0,i.H)(n)} was merged automatically (${(0,i.H)(o)}). The production deploy runs through Vercel; auto-rollback watches the first ${e.windowMin??30} minutes.`;if("ready-manual"===e.kind)return a?`πŸ” PR #${e.number} di ${(0,i.H)(n)} siap di-merge, tapi auto-rollback mati β€” merge manual ya.`:`πŸ” PR #${e.number} in ${(0,i.H)(n)} is ready to merge, but auto-rollback is off β€” please merge it manually.`;let l=(0,d.f)(e.reason??"",t,200)||(0,s.t)(m,r,"stopFallback");return a?`⚠️ PR #${e.number} di ${(0,i.H)(n)} butuh dicek: ${(0,i.H)(l)}. PR-nya dibiarin terbuka.`:`⚠️ PR #${e.number} in ${(0,i.H)(n)} needs a look: ${(0,i.H)(l)}. The PR was left open.`}(e,t,r)],a,r.now??new Date),r.timeoutMs??8e3)}e.s(["h",0,v,"q",0,T,"y",0,P,"v",0,R,"i",0,j,"b",0,O,"a",0,b])},570191,e=>{var t=e.i(875225),r=e.i(924924),a=e.i(618916),n=e.i(407602),i=e.i(365156);let o="office.autoRun",s=Object.keys(i.H);s.filter(e=>"safe"===i.H[e].risk),Object.fromEntries(s.map(e=>[e,!1]));let l={read:async()=>{let[e]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,o)).limit(1);return e?.value??null},write:async e=>{await (0,r.f)().insert(a.settings).values({key:o,value:e}).onConflictDoUpdate({target:a.settings.key,set:{value:e,updatedAt:new Date}})},audit:e=>(0,n.f)({kind:"ok",message:e.message,detail:e.detail.slice(0,500),resourceId:null,actorUserId:e.actorUserId})};async function u(e={}){var t;let r;return r=(t=await ({...l,...e}).read())&&"object"==typeof t&&!Array.isArray(t)?t:{},Object.fromEntries(s.map(e=>[e,"safe"===i.H[e].risk&&!0===r[e]]))}let d="office.autoRollback",c={...l,read:async()=>{let[e]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,d)).limit(1);return e?.value??null},write:async e=>{await (0,r.f)().insert(a.settings).values({key:d,value:e}).onConflictDoUpdate({target:a.settings.key,set:{value:e,updatedAt:new Date}})}};async function p(e={}){var t;let r,a;return{enabled:!0===(r=(t=await ({...c,...e}).read())&&"object"==typeof t&&!Array.isArray(t)?t:{}).enabled,windowMin:"number"==typeof(a=r.windowMin)&&Number.isInteger(a)&&a>=10&&a<=120?r.windowMin:30}}let f="office.autoSecurity",m=["critical","high"],g={enabled:!0,severities:["critical","high"],sameMajorOnly:!0},h={...l,read:async()=>{let[e]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,f)).limit(1);return e?.value??null},write:async e=>{await (0,r.f)().insert(a.settings).values({key:f,value:e}).onConflictDoUpdate({target:a.settings.key,set:{value:e,updatedAt:new Date}})}};async function k(e={}){let t;var r=await ({...h,...e}).read();if(null==r)return{...g,severities:[...g.severities]};let a="object"!=typeof r||Array.isArray(r)?{}:r;return{enabled:!0===a.enabled,severities:(Array.isArray(t=a.severities)&&t.every(e=>m.includes(e))?m.filter(e=>t.includes(e)):null)??[...g.severities],sameMajorOnly:!0}}e.s(["r",0,s,"n",0,120,"l",0,10,"K",0,p,"I",0,u,"X",0,k])},365156,e=>{e.s(["H",0,{recheck:{risk:"safe",label:"Check again now",uses:"monitor-actions checkNow"},neon_wake:{risk:"safe",label:"Wake Neon",uses:"Stage 6 Neon wake"},supabase_keepalive:{risk:"safe",label:"Send Supabase keep-alive",uses:"Stage 6 Keep active"},supabase_restore:{risk:"risky",label:"Restore Supabase project",uses:"Stage 6 Supabase restore"},vercel_redeploy:{risk:"risky",label:"Redeploy production",uses:"vercel-actions redeployAction"},vercel_rollback:{risk:"risky",label:"Roll back to previous deployment",uses:"vercel-actions rollbackAction"},github_bump_pr:{risk:"risky",label:"Open package update PR",uses:"lib/data/deps-pr.ts bumpPrAs (GitHub PR-write token)"},domain_recheck:{risk:"safe",label:"Re-check domain certificate",uses:"domains actions recheck (network-db recheckDomain)"},daily_rerun:{risk:"risky",label:"Rerun daily job",uses:"GET /api/daily with the cron secret (collector runDailyAll)"}},"V",0,72e5])},377489,e=>{var t=e.i(298397),r=e.i(154586),a=e.i(313931),n=e.i(635982),i=e.i(365156);let o=200,s=a.X.auditPrefix,l=/^dpl_[A-Za-z0-9]{8,40}$/,u=/^ep-[a-z0-9-]{3,60}$/,d=/^[a-z0-9]{8,40}$/,c=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,p=(e,t=o)=>e.length>t?`${e.slice(0,t-1).trimEnd()}…`:e,f=e=>/[.!?…]$/.test(e)?e:`${e}.`;function m(e,r,a,i){return"app"===e&&a?(0,t.r)(i,a):("supabase_project"===e||"neon_project"===e||"neon_branch"===e||"firestore"===e)&&r?(0,t.X)(i,r):a&&(0,n.f)(a,i,120)||null}let g={recheck:e=>`Check ${e} again now`,neon_wake:e=>`Wake the Neon compute of ${e}`,supabase_keepalive:e=>`Send a keep-alive to ${e}`,supabase_restore:e=>`Restore Supabase project ${e}`,vercel_redeploy:e=>`Redeploy production ${e}`,vercel_rollback:e=>`Roll ${e} back to the previous deployment`,github_bump_pr:e=>`Open a PR updating vulnerable packages in ${e}`,domain_recheck:e=>`Re-check the certificate of ${e}`,daily_rerun:()=>"Rerun the daily job"},h=(e,t)=>p(g[e](t??"this resource")),k=(e,t)=>e.silencedUntilResolved||null!==e.silencedUntil&&e.silencedUntil.getTime()>t.getTime();e.s(["e",0,"office-auto","v",0,s,"L",0,6e5,"j",0,o,"I",0,(e,t)=>"safe"===i.H[e].risk&&!0===t[e],"l",0,p,"z",0,function(e,t){let r=e.filter(e=>!k(e,t)),a=e=>[...new Set(e.filter(e=>!!e&&c.test(e)))],n=r.filter(e=>("MonitorDown"===e.ruleKey||"HighLatency"===e.ruleKey)&&"app"===e.resourceKind);return{monitorIds:a(n.map(e=>e.subject)),monitorApps:a(n.map(e=>e.resourceId)),deployApps:a(r.filter(e=>("DeploymentFailed"===e.ruleKey||"MonitorDown"===e.ruleKey||"HighLatency"===e.ruleKey)&&"app"===e.resourceKind).map(e=>e.resourceId)),supabaseIds:a(r.filter(e=>("DatabasePaused"===e.ruleKey||"AutoPauseRisk"===e.ruleKey)&&"supabase_project"===e.resourceKind).map(e=>e.resourceId)),depApps:a(r.filter(e=>"VulnerableDependency"===e.ruleKey&&"app"===e.resourceKind).map(e=>e.resourceId))}},"M",0,h,"t",0,function(e,a,s,g){let y,w,b;if(k(e,g))return[];let v=(y=(0,t.o)(e,s),w=(0,n.f)(y.title,s,80),b=(0,n.f)(y.message,s,o),p([w&&f(w),b&&f(b)].filter(Boolean).join(" ")||`${e.ruleKey}.`));return(function(e,t,r){let a="app"===e.resourceKind&&e.resourceId?e.resourceId:null;switch(e.ruleKey){case"DeploymentFailed":{let e=a?t.deploys.get(a):void 0;if(!a||!e?.currentId||!l.test(e.currentId))return[];let r=[{action:"vercel_redeploy",resourceKind:"app",resourceId:a,targetRef:e.currentId}];return e.previousId&&l.test(e.previousId)&&e.previousId!==e.currentId&&r.push({action:"vercel_rollback",resourceKind:"app",resourceId:a,targetRef:e.previousId}),r}case"DatabasePaused":case"AutoPauseRisk":{if("supabase_project"!==e.resourceKind||!e.resourceId)return[];let r=t.supabaseRefs.get(e.resourceId);if(!r||!d.test(r))return[];return[{action:"DatabasePaused"===e.ruleKey?"supabase_restore":"supabase_keepalive",resourceKind:"supabase_project",resourceId:e.resourceId,targetRef:r}]}case"VulnerableDependency":{let e=a?t.fixableRepos?.get(a):void 0;return a&&e&&c.test(e)?[{action:"github_bump_pr",resourceKind:"app",resourceId:a,targetRef:e}]:[]}case"MonitorDown":case"HighLatency":{let n=[];a&&c.test(e.subject)&&"http"===t.monitorKinds.get(e.subject)&&n.push({action:"recheck",resourceKind:"app",resourceId:a,targetRef:e.subject}),"MonitorDown"===e.ruleKey&&e.resourceId&&c.test(e.subject)&&t.dailyHeartbeatId===e.subject&&n.push({action:"daily_rerun",room:"observe",resourceKind:e.resourceKind,resourceId:e.resourceId,targetRef:e.subject});let i=a?t.neonSuspended.get(a):void 0;i&&u.test(i.endpointId)&&n.push({action:"neon_wake",room:"databases",resourceKind:i.resourceKind,resourceId:i.resourceId,targetRef:i.endpointId});let o=a?t.deploys.get(a):void 0;return a&&function(e,t,r){if(!e?.currentId||!e.previousId||!e.liveAt||!l.test(e.previousId)||e.previousId===e.currentId)return!1;let a=r.getTime()-e.liveAt.getTime();return a>=0&&a<=t}(o,t.rollbackWindowMs??18e5,r)?n.push({action:"vercel_rollback",resourceKind:"app",resourceId:a,targetRef:o.previousId}):"MonitorDown"===e.ruleKey&&a&&o?.currentId&&l.test(o.currentId)&&"http"===t.monitorKinds.get(e.subject)&&(n.push({action:"vercel_redeploy",resourceKind:"app",resourceId:a,targetRef:o.currentId}),o.previousId&&l.test(o.previousId)&&o.previousId!==o.currentId&&n.push({action:"vercel_rollback",resourceKind:"app",resourceId:a,targetRef:o.previousId})),n}case"CertExpiringSoon":return"domain"===e.resourceKind&&e.resourceId&&c.test(e.resourceId)?[{action:"domain_recheck",resourceKind:"domain",resourceId:e.resourceId,targetRef:e.resourceId}]:[];default:return[]}})(e,a,g).map(a=>{let l,u,d,c=a.room??(0,r.p)(e),f="neon_wake"===a.action?m(a.resourceKind,a.resourceId,null,s):m(e.resourceKind,e.resourceId,e.resourceName,s);return{alertId:e.id,ruleKey:e.ruleKey,room:c,action:a.action,risk:i.H[a.action].risk,title:h(a.action,f),reason:"github_bump_pr"===a.action?(u=(l=(0,n.f)((0,t.o)(e,s).message,s,o)).includes(": ")?l.slice(l.indexOf(": ")+2):"",d=`Vulnerable packages in ${f??"this app"} have a fix`,p(u?`${d}: ${u}`:`${d}.`)):v,resourceKind:a.resourceKind,resourceId:a.resourceId,resourceName:f,targetRef:a.targetRef,proposedBy:(0,r.y)(c),expiresAt:new Date(g.getTime()+i.V)}})},"x",0,function(e,t){let r=e.ok?e.message||"Done.":e.error||"It didn't run.";return p((0,n.f)(r,t,o)||(e.ok?"Done.":"It didn't run."))},"J",0,m,"E",0,function(e){return{id:e.id,room:e.room,action:e.action,actionLabel:i.H[e.action].label,risk:i.H[e.action].risk,title:e.title,reason:e.reason,resourceName:e.resourceName,proposedBy:e.proposedBy,status:e.status,auto:e.auto,result:e.result,createdAt:e.createdAt.toISOString(),decidedAt:e.decidedAt?e.decidedAt.toISOString():null,expiresAt:e.expiresAt.toISOString()}},"Z",0,function(e,t,r){let a=r??t?.find(e=>e.isDefault)?.id??null,n=(e??[]).find(e=>!a||e.branchId===a);return n&&!n.disabled&&"idle"===n.state&&"active"!==n.pendingState&&u.test(n.id)?n.id:null}])},610514,e=>{var t=e.i(666680),r=e.i(875225),a=e.i(924924),n=e.i(220642),i=e.i(313931),o=e.i(407602),s=e.i(209576),l=e.i(983128),u=e.i(547499),d=e.i(695811),c=e.i(298397),p=e.i(291029),f=e.i(635982),m=e.i(377489),g=e.i(447933),h=e.i(442565);let k={decide:g.V,execute:(e,t,r)=>(0,g.N)(e,t,r),history:(e,t)=>(0,h.v)(e,t)};async function y(e,t,r,a,n={},i=k){let o=await i.decide(e,t,r.id,a);if("ok"!==o.status)return"missing"===o.status?{status:"missing"}:{status:"conflict",proposal:o.proposal};let s=[],l=async()=>{let e,t=i.history;if(!t||!s.length)return;let r=s.splice(0),a=new Promise(t=>{e=setTimeout(t,h.h)}),n=(async()=>{for(let[e,a]of r)await t(e,a).catch(()=>void 0)})();await Promise.race([n,a]).finally(()=>clearTimeout(e))};if("reject"===t)return s.push(["rejected",o.proposal]),{status:"ok",proposal:o.proposal,flushHistory:l};s.push(["approved",o.proposal]),n.onApproved&&await n.onApproved(o.proposal).catch(()=>void 0);let u=await i.execute(e,{id:r.id,userId:r.userId},new Date);return u&&("done"===u.status||"failed"===u.status)&&s.push([u.status,u]),{status:"ok",proposal:u??o.proposal,flushHistory:l}}var w=e.i(365156);let b=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,v={en:{approve:"βœ… Approve",reject:"❌ Reject",sure:"⚠️ Sure? Approve",cancel:"Cancel",invalid:"This button is not valid.",gone:"This proposal is already decided / expired",confirmFirst:"This action is risky. Tap ⚠️ Sure? Approve within 2 minutes.",confirmLate:"The confirmation expired. Tap βœ… Approve again.",cancelled:"Cancelled. The proposal is still waiting.",running:"Approved. Running…",rejected:"Rejected.",failed:"Could not process it. Try again from Auto-actions."},id:{approve:"βœ… Setujui",reject:"❌ Tolak",sure:"⚠️ Yakin? Setujui",cancel:"Batal",invalid:"Tombol ini nggak valid.",gone:"Usulan ini udah diputuskan / kedaluwarsa",confirmFirst:"Aksi ini berisiko. Tap ⚠️ Yakin? Setujui dalam 2 menit.",confirmLate:"Konfirmasinya kedaluwarsa. Tap βœ… Setujui lagi.",cancelled:"Dibatalkan. Usulannya masih menunggu.",running:"Disetujui. Lagi jalan…",rejected:"Ditolak.",failed:"Gagal memproses. Coba lagi dari Auto-actions."}},I=e=>(0,t.createHmac)("sha256",Buffer.from(e,"base64")).update("watchpost:telegram-callback:v1").digest(),$=(e,r)=>(0,t.createHmac)("sha256",e).update(r,"utf8").digest("base64url").slice(0,16);function A(e,t,r,a=null){let n=`p:${t}:${r}${"c"===r?`:${(a??0).toString(36)}`:""}`;return`${n}:${$(e,n)}`}function R(e,r){if("string"!=typeof r||r.length>64)return null;let a=r.lastIndexOf(":");if(a<0)return null;let n=r.slice(0,a),i=Buffer.from(r.slice(a+1),"utf8"),o=Buffer.from($(e,n),"utf8");if(i.length!==o.length||!(0,t.timingSafeEqual)(i,o))return null;let s=n.split(":");if("p"!==s[0]||!b.test(s[1]??""))return null;let l=s[2];return"c"===l?4===s.length&&/^[0-9a-z]{1,10}$/.test(s[3])?{id:s[1],op:l,exp:parseInt(s[3],36)}:null:3===s.length&&["a","r","x"].includes(l)?{id:s[1],op:l,exp:null}:null}let x=(e,t,r="en")=>({inline_keyboard:[[{text:v[r].approve,callback_data:A(e,t,"a")},{text:v[r].reject,callback_data:A(e,t,"r")}]]}),_=(e,t,r,a="en")=>({inline_keyboard:[[{text:v[a].sure,callback_data:A(e,t,"c",r)},{text:v[a].cancel,callback_data:A(e,t,"x")}]]}),j={en:{pending:"⏳ waiting",approved:"βš™οΈ running",running:"βš™οΈ running",done:"βœ… done",failed:"❌ failed",rejected:"🚫 rejected",expired:"βŒ› expired"},id:{pending:"⏳ menunggu",approved:"βš™οΈ jalan",running:"βš™οΈ jalan",done:"βœ… selesai",failed:"❌ gagal",rejected:"🚫 ditolak",expired:"βŒ› kedaluwarsa"}};function O(e,t,r="en"){let a=e.result&&("done"===e.status||"failed"===e.status||"expired"===e.status)?(0,f.f)(e.result,t,200):"";return`Status: ${j[r][e.status]}${a?` β€” ${(0,n.H)(a)}`:""}`}let T=(e,t,r,a="en")=>`${(0,h.a)(e,t,r,!1,a)}
4
- ${O(e,t,a)}`,P={key:()=>I((0,u.f)().OPS_ENCRYPTION_KEY),get:async function(e){let[t]=await (0,a.f)().select({id:p.O.id,room:p.O.room,action:p.O.action,risk:p.O.risk,title:p.O.title,reason:p.O.reason,resourceName:p.O.resourceName,proposedBy:p.O.proposedBy,status:p.O.status,auto:p.O.auto,result:p.O.result,createdAt:p.O.createdAt,decidedAt:p.O.decidedAt,expiresAt:p.O.expiresAt}).from(p.O).where((0,r.u)(p.O.id,e)).limit(1);return t?(0,m.E)(t):null},decide:y,book:()=>(0,s.f)(),siteUrl:()=>(0,u.f)().SITE_URL,lang:()=>(0,d.H)("telegram"),audit:e=>(0,o.f)({...e,resourceId:null})};async function S(e,t,r=P){let{client:a,owner:n,now:o}=t,s=r.key(),l=await r.lang().catch(()=>"en"),u=v[l],d=R(s,e.data);if(!d)return void await a.answer(e.queryId,u.invalid);let p=null,f=async(t,n)=>a.editText(e.chatId,e.messageId,T(t,await (p??=r.book().catch(()=>c.a)),r.siteUrl(),l),n),m=async t=>{await a.answer(e.queryId,u.gone),t?await f(t,null):await a.editKeyboard(e.chatId,e.messageId,{inline_keyboard:[]})},g=await r.get(d.id);if(!g||!("pending"===g.status&&Date.parse(g.expiresAt)>o.getTime()))return m(g);if("x"===d.op){await a.editKeyboard(e.chatId,e.messageId,x(s,g.id,l)),await a.answer(e.queryId,u.cancelled);return}if("a"===d.op&&("risky"===g.risk||w.H[g.action]?.risk==="risky")){await a.editKeyboard(e.chatId,e.messageId,_(s,g.id,Math.floor((o.getTime()+12e4)/1e3),l)),await a.answer(e.queryId,u.confirmFirst);return}if("c"===d.op&&(d.exp??0)*1e3<o.getTime()){await a.editKeyboard(e.chatId,e.messageId,x(s,g.id,l)),await a.answer(e.queryId,u.confirmLate);return}let h="r"===d.op?"reject":"approve",k=!1;try{let t=await r.decide(g.id,h,{id:n.memberId,userId:n.userId},o,{onApproved:async t=>{k=!0,await a.answer(e.queryId,u.running),await f(t,null)}});if("missing"===t.status)return m(null);if("conflict"===t.status)return m(t.proposal);await r.audit({kind:"ok",message:i.X.telegramDecided("approve"===h?"approved":"rejected",t.proposal.title.slice(0,120)),actorUserId:n.userId}).catch(()=>console.warn("audit event failed")),k||await a.answer(e.queryId,"reject"===h?u.rejected:u.running),await f(t.proposal,null),await t.flushHistory?.()}catch(t){console.warn("telegram approvals: deciding failed:",t instanceof Error?t.name:"error"),k||await a.answer(e.queryId,u.failed)}}async function D(){if(!await (0,l.v)()||!await (0,l.I)())return null;let e=I((0,u.f)().OPS_ENCRYPTION_KEY),t=await (0,d.H)("telegram");return r=>x(e,r.id,t)}e.s(["CONFIRM_MS",0,12e4,"TEXT",0,v,"approvalButtons",0,D,"approvalKeyboard",0,x,"callbackKey",0,I,"confirmKeyboard",0,_,"noticeText",0,T,"proposalCallback",0,S,"signCallback",0,A,"statusLine",0,O,"verifyCallback",0,R],610514)},635982,e=>{var t=e.i(298397),r=e.i(76067),a=e.i(753783);let n="[\\p{L}\\p{N}_./-]",i=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),o=/(?<![\p{L}\p{N}_.@-])(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,24}(?![\p{L}\p{N}_-]|\.[\p{L}\p{N}])/giu,s=new WeakMap;e.s(["f",0,(e,l,u)=>{var d;let c;return c=(d=String(e??"").replace(/\s+/g," "),String(d??"").replace(/\r\n?/g,"\n").split("\n").map(e=>{var u;let d,c=(0,a.F)((0,r.F)(e,l),l);return c=c.replace(o,e=>/\.example$/i.test(e)?e:"site.example"),(0,t.G)((u=c,(d=function(e){if(s.has(e))return s.get(e);let t=new Map(e.app.filter(e=>e.name.trim().length>=2).map(e=>[e.name.toLowerCase(),e.alias])),r=[...t.keys()].sort((e,t)=>t.length-e.length),a=r.length?{re:RegExp(`(?<!${n})(?:${r.map(i).join("|")})(?!${n})`,"giu"),alias:t}:null;return s.set(e,a),a}(l))?u.replace(d.re,e=>d.alias.get(e.toLowerCase())??e):u))}).join("\n")).replace(/\s+/g," ").trim(),c.length>u?`${c.slice(0,u-1).trimEnd()}…`:c}])}]})();
3
+ ${((e="en")=>(0,s.t)(m,e,"pending"))(t)}`,keyboard:o(n)}:i}),a,l),A((e,t)=>n.length>3?[I("proposed",n,e,t)]:n.map(r=>I("proposed",r,e,t)),a,l)])},r.timeoutMs??8e3)}async function O(e,t={},r={}){if(!e.auto||"done"!==e.status&&"failed"!==e.status)return;let a={...f,...t},n=r.now??new Date;await _(()=>Promise.all([x((t,r)=>{let a=function(e,t,r="en"){if(!e.auto||"done"!==e.status&&"failed"!==e.status)return null;let a="done"===e.status?"βœ…":"❌",n=e.result?(0,d.f)(e.result,t,200):"";return`${a} ${(0,s.t)(m,r,"automatic")}: ${(0,i.H)(k(e,r))} β€” ${(0,i.H)((0,d.f)(e.title,t,120))}${n?`: ${(0,i.H)(n)}`:""}`}(e,t,r);return a?[a]:[]},a,n),A((t,r)=>[I("done"===e.status?"done":"failed",e,t,r)],a,n)]).then(()=>void 0),r.timeoutMs??8e3)}async function S(e,t,r={},a={}){if("done"!==e.status&&"failed"!==e.status)return;let n={...f,...r},o=a.now??new Date;await _(()=>Promise.all([x((r,a)=>[function(e,t,r,a="en"){let n=e=>(0,s.t)(m,a,e),o=(0,d.f)(e.resourceName??n("app"),r,60)||n("app"),l=(0,d.f)(t.reason,r,200).replace(/[.!?…]+$/,"")||n("rollbackWhy"),u=e.result?(0,d.f)(e.result,r,200):"";return["id"===a?`βͺ Otomatis rollback ${(0,i.H)(o)}: ${(0,i.H)(l)}. Deploy baru ${(0,i.H)((0,d.f)(t.newRef,r,40))} dibalikin ke deploy sebelumnya. Benerin dulu, terus deploy ulang.`:`βͺ Automatic rollback of ${(0,i.H)(o)}: ${(0,i.H)(l)}. The new deploy ${(0,i.H)((0,d.f)(t.newRef,r,40))} was rolled back to the previous one. Fix it first, then deploy again.`,`${"done"===e.status?"βœ…":"❌"} ${n("done"===e.status?"succeeded":"failed")}${u?`: ${(0,i.H)(u)}`:""}`].join("\n")}(e,t,r,a)],n,o),A((t,r)=>[I("done"===e.status?"done":"failed",e,t,r)],n,o)]).then(()=>void 0),a.timeoutMs??8e3)}async function P(e,t={},r={}){let a={...f,...t};await _(()=>x((t,r)=>[function(e,t,r="en"){let a="id"===r,n=(0,d.f)(e.app,t,60)||(0,s.t)(m,r,"app"),o=e.packages.slice(0,4).join(", ")+(e.packages.length>4?`, +${e.packages.length-4}`:"");if("merged"===e.kind)return a?`βœ… PR #${e.number} di ${(0,i.H)(n)} di-merge otomatis (${(0,i.H)(o)}). Deploy production jalan lewat Vercel; auto-rollback jaga ${e.windowMin??30} menit pertama.`:`βœ… PR #${e.number} in ${(0,i.H)(n)} was merged automatically (${(0,i.H)(o)}). The production deploy runs through Vercel; auto-rollback watches the first ${e.windowMin??30} minutes.`;if("ready-manual"===e.kind)return a?`πŸ” PR #${e.number} di ${(0,i.H)(n)} siap di-merge, tapi auto-rollback mati β€” merge manual ya.`:`πŸ” PR #${e.number} in ${(0,i.H)(n)} is ready to merge, but auto-rollback is off β€” please merge it manually.`;let l=(0,d.f)(e.reason??"",t,200)||(0,s.t)(m,r,"stopFallback");return a?`⚠️ PR #${e.number} di ${(0,i.H)(n)} butuh dicek: ${(0,i.H)(l)}. PR-nya dibiarin terbuka.`:`⚠️ PR #${e.number} in ${(0,i.H)(n)} needs a look: ${(0,i.H)(l)}. The PR was left open.`}(e,t,r)],a,r.now??new Date),r.timeoutMs??8e3)}e.s(["h",0,v,"q",0,S,"y",0,P,"v",0,R,"i",0,j,"b",0,O,"a",0,b])},570191,e=>{var t=e.i(875225),r=e.i(924924),a=e.i(618916),n=e.i(407602),i=e.i(365156);let o="office.autoRun",s=Object.keys(i.H);s.filter(e=>"safe"===i.H[e].risk),Object.fromEntries(s.map(e=>[e,!1]));let l={read:async()=>{let[e]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,o)).limit(1);return e?.value??null},write:async e=>{await (0,r.f)().insert(a.settings).values({key:o,value:e}).onConflictDoUpdate({target:a.settings.key,set:{value:e,updatedAt:new Date}})},audit:e=>(0,n.f)({kind:"ok",message:e.message,detail:e.detail.slice(0,500),resourceId:null,actorUserId:e.actorUserId})};async function u(e={}){var t;let r;return r=(t=await ({...l,...e}).read())&&"object"==typeof t&&!Array.isArray(t)?t:{},Object.fromEntries(s.map(e=>[e,"safe"===i.H[e].risk&&!0===r[e]]))}let d="office.autoRollback",c={...l,read:async()=>{let[e]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,d)).limit(1);return e?.value??null},write:async e=>{await (0,r.f)().insert(a.settings).values({key:d,value:e}).onConflictDoUpdate({target:a.settings.key,set:{value:e,updatedAt:new Date}})}};async function p(e={}){var t;let r,a;return{enabled:!0===(r=(t=await ({...c,...e}).read())&&"object"==typeof t&&!Array.isArray(t)?t:{}).enabled,windowMin:"number"==typeof(a=r.windowMin)&&Number.isInteger(a)&&a>=10&&a<=120?r.windowMin:30}}let f="office.autoSecurity",m=["critical","high","moderate"],g={enabled:!0,severities:["critical","high","moderate"],sameMajorOnly:!0},h={...l,read:async()=>{let[e]=await (0,r.f)().select({value:a.settings.value}).from(a.settings).where((0,t.u)(a.settings.key,f)).limit(1);return e?.value??null},write:async e=>{await (0,r.f)().insert(a.settings).values({key:f,value:e}).onConflictDoUpdate({target:a.settings.key,set:{value:e,updatedAt:new Date}})}};async function k(e={}){return function(e){let t;if(null==e)return{...g,severities:[...g.severities]};let r="object"!=typeof e||Array.isArray(e)?{}:e,a=(Array.isArray(t=r.severities)&&t.every(e=>m.includes(e))?m.filter(e=>t.includes(e)):null)??["critical","high"],n="boolean"==typeof r.moderate?r.moderate:a.includes("high");return{enabled:!0===r.enabled,severities:m.filter(e=>"moderate"===e?n:a.includes(e)),sameMajorOnly:!0}}(await ({...h,...e}).read())}e.s(["r",0,s,"n",0,120,"l",0,10,"K",0,p,"I",0,u,"X",0,k])},365156,e=>{e.s(["H",0,{recheck:{risk:"safe",label:"Check again now",uses:"monitor-actions checkNow"},neon_wake:{risk:"safe",label:"Wake Neon",uses:"Stage 6 Neon wake"},supabase_keepalive:{risk:"safe",label:"Send Supabase keep-alive",uses:"Stage 6 Keep active"},supabase_restore:{risk:"risky",label:"Restore Supabase project",uses:"Stage 6 Supabase restore"},vercel_redeploy:{risk:"risky",label:"Redeploy production",uses:"vercel-actions redeployAction"},vercel_rollback:{risk:"risky",label:"Roll back to previous deployment",uses:"vercel-actions rollbackAction"},github_bump_pr:{risk:"risky",label:"Open package update PR",uses:"lib/data/deps-pr.ts bumpPrAs (GitHub PR-write token)"},domain_recheck:{risk:"safe",label:"Re-check domain certificate",uses:"domains actions recheck (network-db recheckDomain)"},daily_rerun:{risk:"risky",label:"Rerun daily job",uses:"GET /api/daily with the cron secret (collector runDailyAll)"},monitor_update_url:{risk:"safe",label:"Update monitor",uses:"Uptime Update monitor (monitor-move-db moveMonitorToDomain)"}},"V",0,72e5])},377489,e=>{var t=e.i(298397),r=e.i(154586),a=e.i(313931),n=e.i(635982),i=e.i(365156);let o=200,s=a.X.auditPrefix,l=/^dpl_[A-Za-z0-9]{8,40}$/,u=/^ep-[a-z0-9-]{3,60}$/,d=/^[a-z0-9]{8,40}$/,c=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,p=(e,t=o)=>e.length>t?`${e.slice(0,t-1).trimEnd()}…`:e,f=e=>/[.!?…]$/.test(e)?e:`${e}.`;function m(e,r,a,i){return"app"===e&&a?(0,t.r)(i,a):("supabase_project"===e||"neon_project"===e||"neon_branch"===e||"firestore"===e)&&r?(0,t.X)(i,r):a&&(0,n.f)(a,i,120)||null}let g={recheck:e=>`Check ${e} again now`,neon_wake:e=>`Wake the Neon compute of ${e}`,supabase_keepalive:e=>`Send a keep-alive to ${e}`,supabase_restore:e=>`Restore Supabase project ${e}`,vercel_redeploy:e=>`Redeploy production ${e}`,vercel_rollback:e=>`Roll ${e} back to the previous deployment`,github_bump_pr:e=>`Open a PR updating vulnerable packages in ${e}`,domain_recheck:e=>`Re-check the certificate of ${e}`,daily_rerun:()=>"Rerun the daily job",monitor_update_url:e=>`Point the ${e} monitor at its new domain`},h=(e,t)=>p(g[e](t??"this resource")),k=(e,t)=>e.silencedUntilResolved||null!==e.silencedUntil&&e.silencedUntil.getTime()>t.getTime();e.s(["e",0,"office-auto","v",0,s,"L",0,6e5,"j",0,o,"I",0,(e,t)=>"safe"===i.H[e].risk&&!0===t[e],"l",0,p,"z",0,function(e,t){let r=e.filter(e=>!k(e,t)),a=e=>[...new Set(e.filter(e=>!!e&&c.test(e)))],n=r.filter(e=>("MonitorDown"===e.ruleKey||"HighLatency"===e.ruleKey)&&"app"===e.resourceKind);return{monitorIds:a([...n,...r.filter(e=>"MonitorDomainMoved"===e.ruleKey&&"app"===e.resourceKind)].map(e=>e.subject)),monitorApps:a(n.map(e=>e.resourceId)),deployApps:a(r.filter(e=>("DeploymentFailed"===e.ruleKey||"MonitorDown"===e.ruleKey||"HighLatency"===e.ruleKey)&&"app"===e.resourceKind).map(e=>e.resourceId)),supabaseIds:a(r.filter(e=>("DatabasePaused"===e.ruleKey||"AutoPauseRisk"===e.ruleKey)&&"supabase_project"===e.resourceKind).map(e=>e.resourceId)),depApps:a(r.filter(e=>"VulnerableDependency"===e.ruleKey&&"app"===e.resourceKind).map(e=>e.resourceId)),frameworkApps:a(r.filter(e=>"FrameworkVulnerable"===e.ruleKey&&"app"===e.resourceKind).map(e=>e.resourceId))}},"M",0,h,"t",0,function(e,a,s,g){let y,w,b;if(k(e,g))return[];let v=(y=(0,t.o)(e,s),w=(0,n.f)(y.title,s,80),b=(0,n.f)(y.message,s,o),p([w&&f(w),b&&f(b)].filter(Boolean).join(" ")||`${e.ruleKey}.`));return(function(e,t,r){let a="app"===e.resourceKind&&e.resourceId?e.resourceId:null;switch(e.ruleKey){case"DeploymentFailed":{let e=a?t.deploys.get(a):void 0;if(!a||!e?.currentId||!l.test(e.currentId))return[];let r=[{action:"vercel_redeploy",resourceKind:"app",resourceId:a,targetRef:e.currentId}];return e.previousId&&l.test(e.previousId)&&e.previousId!==e.currentId&&r.push({action:"vercel_rollback",resourceKind:"app",resourceId:a,targetRef:e.previousId}),r}case"DatabasePaused":case"AutoPauseRisk":{if("supabase_project"!==e.resourceKind||!e.resourceId)return[];let r=t.supabaseRefs.get(e.resourceId);if(!r||!d.test(r))return[];return[{action:"DatabasePaused"===e.ruleKey?"supabase_restore":"supabase_keepalive",resourceKind:"supabase_project",resourceId:e.resourceId,targetRef:r}]}case"VulnerableDependency":{let e=a?t.fixableRepos?.get(a):void 0;return a&&e&&c.test(e)?[{action:"github_bump_pr",resourceKind:"app",resourceId:a,targetRef:e}]:[]}case"FrameworkVulnerable":{let e=a?t.frameworkFixes?.get(a):void 0;return a&&e&&c.test(e.repoId)?[{action:"github_bump_pr",resourceKind:"app",resourceId:a,targetRef:e.repoId}]:[]}case"MonitorDomainMoved":return a&&c.test(e.subject)&&t.monitorMoves?.has(e.subject)?[{action:"monitor_update_url",resourceKind:"app",resourceId:a,targetRef:e.subject}]:[];case"MonitorDown":case"HighLatency":{let n=[];a&&c.test(e.subject)&&"http"===t.monitorKinds.get(e.subject)&&n.push({action:"recheck",resourceKind:"app",resourceId:a,targetRef:e.subject}),"MonitorDown"===e.ruleKey&&e.resourceId&&c.test(e.subject)&&t.dailyHeartbeatId===e.subject&&n.push({action:"daily_rerun",room:"observe",resourceKind:e.resourceKind,resourceId:e.resourceId,targetRef:e.subject});let i=a?t.neonSuspended.get(a):void 0;if(i&&u.test(i.endpointId)&&n.push({action:"neon_wake",room:"databases",resourceKind:i.resourceKind,resourceId:i.resourceId,targetRef:i.endpointId}),t.monitorMoves?.has(e.subject))return n;let o=a?t.deploys.get(a):void 0;return a&&function(e,t,r){if(!e?.currentId||!e.previousId||!e.liveAt||!l.test(e.previousId)||e.previousId===e.currentId)return!1;let a=r.getTime()-e.liveAt.getTime();return a>=0&&a<=t}(o,t.rollbackWindowMs??18e5,r)?n.push({action:"vercel_rollback",resourceKind:"app",resourceId:a,targetRef:o.previousId}):"MonitorDown"===e.ruleKey&&a&&o?.currentId&&l.test(o.currentId)&&"http"===t.monitorKinds.get(e.subject)&&(n.push({action:"vercel_redeploy",resourceKind:"app",resourceId:a,targetRef:o.currentId}),o.previousId&&l.test(o.previousId)&&o.previousId!==o.currentId&&n.push({action:"vercel_rollback",resourceKind:"app",resourceId:a,targetRef:o.previousId})),n}case"CertExpiringSoon":return"domain"===e.resourceKind&&e.resourceId&&c.test(e.resourceId)?[{action:"domain_recheck",resourceKind:"domain",resourceId:e.resourceId,targetRef:e.resourceId}]:[];default:return[]}})(e,a,g).map(l=>{var u;let d,c,f,k,y=l.room??(0,r.p)(e),w="neon_wake"===l.action?m(l.resourceKind,l.resourceId,null,s):m(e.resourceKind,e.resourceId,e.resourceName,s),b="FrameworkVulnerable"===e.ruleKey&&"github_bump_pr"===l.action,$="monitor_update_url"===l.action?a.monitorMoves?.get(l.targetRef):void 0;return{alertId:e.id,ruleKey:e.ruleKey,room:y,action:l.action,risk:i.H[l.action].risk,title:b?p(`Open a PR updating Next.js in ${w??"this app"}`):$?p(`Point the ${w??"app's"} monitor at ${$.to}`):h(l.action,w),reason:b?(u=l.resourceId?a.frameworkFixes?.get(l.resourceId):void 0,d=w??"this app",p(u?`Next.js ${u.from} in ${d} has known vulnerabilities: the PR updates next (and eslint-config-next when listed) to ${u.to}.`:`Next.js in ${d} has known vulnerabilities with a fixed version.`)):"github_bump_pr"===l.action?(f=(c=(0,n.f)((0,t.o)(e,s).message,s,o)).includes(": ")?c.slice(c.indexOf(": ")+2):"",k=`Vulnerable packages in ${w??"this app"} have a fix`,p(f?`${k}: ${f}`:`${k}.`)):v,resourceKind:l.resourceKind,resourceId:l.resourceId,resourceName:w,targetRef:l.targetRef,proposedBy:(0,r.y)(y),expiresAt:new Date(g.getTime()+i.V)}})},"x",0,function(e,t){let r=e.ok?e.message||"Done.":e.error||"It didn't run.";return p((0,n.f)(r,t,o)||(e.ok?"Done.":"It didn't run."))},"J",0,m,"E",0,function(e){return{id:e.id,room:e.room,action:e.action,actionLabel:i.H[e.action].label,risk:i.H[e.action].risk,title:e.title,reason:e.reason,resourceName:e.resourceName,proposedBy:e.proposedBy,status:e.status,auto:e.auto,result:e.result,createdAt:e.createdAt.toISOString(),decidedAt:e.decidedAt?e.decidedAt.toISOString():null,expiresAt:e.expiresAt.toISOString()}},"Z",0,function(e,t,r){let a=r??t?.find(e=>e.isDefault)?.id??null,n=(e??[]).find(e=>!a||e.branchId===a);return n&&!n.disabled&&"idle"===n.state&&"active"!==n.pendingState&&u.test(n.id)?n.id:null}])},610514,e=>{var t=e.i(666680),r=e.i(875225),a=e.i(924924),n=e.i(220642),i=e.i(313931),o=e.i(407602),s=e.i(209576),l=e.i(983128),u=e.i(547499),d=e.i(695811),c=e.i(298397),p=e.i(291029),f=e.i(635982),m=e.i(377489),g=e.i(447933),h=e.i(442565);let k={decide:g.V,execute:(e,t,r)=>(0,g.N)(e,t,r),history:(e,t)=>(0,h.v)(e,t)};async function y(e,t,r,a,n={},i=k){let o=await i.decide(e,t,r.id,a);if("ok"!==o.status)return"missing"===o.status?{status:"missing"}:{status:"conflict",proposal:o.proposal};let s=[],l=async()=>{let e,t=i.history;if(!t||!s.length)return;let r=s.splice(0),a=new Promise(t=>{e=setTimeout(t,h.h)}),n=(async()=>{for(let[e,a]of r)await t(e,a).catch(()=>void 0)})();await Promise.race([n,a]).finally(()=>clearTimeout(e))};if("reject"===t)return s.push(["rejected",o.proposal]),{status:"ok",proposal:o.proposal,flushHistory:l};s.push(["approved",o.proposal]),n.onApproved&&await n.onApproved(o.proposal).catch(()=>void 0);let u=await i.execute(e,{id:r.id,userId:r.userId},new Date);return u&&("done"===u.status||"failed"===u.status)&&s.push([u.status,u]),{status:"ok",proposal:u??o.proposal,flushHistory:l}}var w=e.i(365156);let b=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,v={en:{approve:"βœ… Approve",reject:"❌ Reject",sure:"⚠️ Sure? Approve",cancel:"Cancel",invalid:"This button is not valid.",gone:"This proposal is already decided / expired",confirmFirst:"This action is risky. Tap ⚠️ Sure? Approve within 2 minutes.",confirmLate:"The confirmation expired. Tap βœ… Approve again.",cancelled:"Cancelled. The proposal is still waiting.",running:"Approved. Running…",rejected:"Rejected.",failed:"Could not process it. Try again from Auto-actions."},id:{approve:"βœ… Setujui",reject:"❌ Tolak",sure:"⚠️ Yakin? Setujui",cancel:"Batal",invalid:"Tombol ini nggak valid.",gone:"Usulan ini udah diputuskan / kedaluwarsa",confirmFirst:"Aksi ini berisiko. Tap ⚠️ Yakin? Setujui dalam 2 menit.",confirmLate:"Konfirmasinya kedaluwarsa. Tap βœ… Setujui lagi.",cancelled:"Dibatalkan. Usulannya masih menunggu.",running:"Disetujui. Lagi jalan…",rejected:"Ditolak.",failed:"Gagal memproses. Coba lagi dari Auto-actions."}},$=e=>(0,t.createHmac)("sha256",Buffer.from(e,"base64")).update("watchpost:telegram-callback:v1").digest(),I=(e,r)=>(0,t.createHmac)("sha256",e).update(r,"utf8").digest("base64url").slice(0,16);function A(e,t,r,a=null){let n=`p:${t}:${r}${"c"===r?`:${(a??0).toString(36)}`:""}`;return`${n}:${I(e,n)}`}function R(e,r){if("string"!=typeof r||r.length>64)return null;let a=r.lastIndexOf(":");if(a<0)return null;let n=r.slice(0,a),i=Buffer.from(r.slice(a+1),"utf8"),o=Buffer.from(I(e,n),"utf8");if(i.length!==o.length||!(0,t.timingSafeEqual)(i,o))return null;let s=n.split(":");if("p"!==s[0]||!b.test(s[1]??""))return null;let l=s[2];return"c"===l?4===s.length&&/^[0-9a-z]{1,10}$/.test(s[3])?{id:s[1],op:l,exp:parseInt(s[3],36)}:null:3===s.length&&["a","r","x"].includes(l)?{id:s[1],op:l,exp:null}:null}let x=(e,t,r="en")=>({inline_keyboard:[[{text:v[r].approve,callback_data:A(e,t,"a")},{text:v[r].reject,callback_data:A(e,t,"r")}]]}),_=(e,t,r,a="en")=>({inline_keyboard:[[{text:v[a].sure,callback_data:A(e,t,"c",r)},{text:v[a].cancel,callback_data:A(e,t,"x")}]]}),j={en:{pending:"⏳ waiting",approved:"βš™οΈ running",running:"βš™οΈ running",done:"βœ… done",failed:"❌ failed",rejected:"🚫 rejected",expired:"βŒ› expired"},id:{pending:"⏳ menunggu",approved:"βš™οΈ jalan",running:"βš™οΈ jalan",done:"βœ… selesai",failed:"❌ gagal",rejected:"🚫 ditolak",expired:"βŒ› kedaluwarsa"}};function O(e,t,r="en"){let a=e.result&&("done"===e.status||"failed"===e.status||"expired"===e.status)?(0,f.f)(e.result,t,200):"";return`Status: ${j[r][e.status]}${a?` β€” ${(0,n.H)(a)}`:""}`}let S=(e,t,r,a="en")=>`${(0,h.a)(e,t,r,!1,a)}
4
+ ${O(e,t,a)}`,P={key:()=>$((0,u.f)().OPS_ENCRYPTION_KEY),get:async function(e){let[t]=await (0,a.f)().select({id:p.O.id,room:p.O.room,action:p.O.action,risk:p.O.risk,title:p.O.title,reason:p.O.reason,resourceName:p.O.resourceName,proposedBy:p.O.proposedBy,status:p.O.status,auto:p.O.auto,result:p.O.result,createdAt:p.O.createdAt,decidedAt:p.O.decidedAt,expiresAt:p.O.expiresAt}).from(p.O).where((0,r.u)(p.O.id,e)).limit(1);return t?(0,m.E)(t):null},decide:y,book:()=>(0,s.f)(),siteUrl:()=>(0,u.f)().SITE_URL,lang:()=>(0,d.H)("telegram"),audit:e=>(0,o.f)({...e,resourceId:null})};async function T(e,t,r=P){let{client:a,owner:n,now:o}=t,s=r.key(),l=await r.lang().catch(()=>"en"),u=v[l],d=R(s,e.data);if(!d)return void await a.answer(e.queryId,u.invalid);let p=null,f=async(t,n)=>a.editText(e.chatId,e.messageId,S(t,await (p??=r.book().catch(()=>c.a)),r.siteUrl(),l),n),m=async t=>{await a.answer(e.queryId,u.gone),t?await f(t,null):await a.editKeyboard(e.chatId,e.messageId,{inline_keyboard:[]})},g=await r.get(d.id);if(!g||!("pending"===g.status&&Date.parse(g.expiresAt)>o.getTime()))return m(g);if("x"===d.op){await a.editKeyboard(e.chatId,e.messageId,x(s,g.id,l)),await a.answer(e.queryId,u.cancelled);return}if("a"===d.op&&("risky"===g.risk||w.H[g.action]?.risk==="risky")){await a.editKeyboard(e.chatId,e.messageId,_(s,g.id,Math.floor((o.getTime()+12e4)/1e3),l)),await a.answer(e.queryId,u.confirmFirst);return}if("c"===d.op&&(d.exp??0)*1e3<o.getTime()){await a.editKeyboard(e.chatId,e.messageId,x(s,g.id,l)),await a.answer(e.queryId,u.confirmLate);return}let h="r"===d.op?"reject":"approve",k=!1;try{let t=await r.decide(g.id,h,{id:n.memberId,userId:n.userId},o,{onApproved:async t=>{k=!0,await a.answer(e.queryId,u.running),await f(t,null)}});if("missing"===t.status)return m(null);if("conflict"===t.status)return m(t.proposal);await r.audit({kind:"ok",message:i.X.telegramDecided("approve"===h?"approved":"rejected",t.proposal.title.slice(0,120)),actorUserId:n.userId}).catch(()=>console.warn("audit event failed")),k||await a.answer(e.queryId,"reject"===h?u.rejected:u.running),await f(t.proposal,null),await t.flushHistory?.()}catch(t){console.warn("telegram approvals: deciding failed:",t instanceof Error?t.name:"error"),k||await a.answer(e.queryId,u.failed)}}async function M(){if(!await (0,l.v)()||!await (0,l.I)())return null;let e=$((0,u.f)().OPS_ENCRYPTION_KEY),t=await (0,d.H)("telegram");return r=>x(e,r.id,t)}e.s(["CONFIRM_MS",0,12e4,"TEXT",0,v,"approvalButtons",0,M,"approvalKeyboard",0,x,"callbackKey",0,$,"confirmKeyboard",0,_,"noticeText",0,S,"proposalCallback",0,T,"signCallback",0,A,"statusLine",0,O,"verifyCallback",0,R],610514)},635982,e=>{var t=e.i(298397),r=e.i(76067),a=e.i(753783);let n="[\\p{L}\\p{N}_./-]",i=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),o=/(?<![\p{L}\p{N}_.@-])(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,24}(?![\p{L}\p{N}_-]|\.[\p{L}\p{N}])/giu,s=new WeakMap;e.s(["f",0,(e,l,u)=>{var d;let c;return c=(d=String(e??"").replace(/\s+/g," "),String(d??"").replace(/\r\n?/g,"\n").split("\n").map(e=>{var u;let d,c=(0,a.F)((0,r.F)(e,l),l);return c=c.replace(o,e=>/\.example$/i.test(e)?e:"site.example"),(0,t.G)((u=c,(d=function(e){if(s.has(e))return s.get(e);let t=new Map(e.app.filter(e=>e.name.trim().length>=2).map(e=>[e.name.toLowerCase(),e.alias])),r=[...t.keys()].sort((e,t)=>t.length-e.length),a=r.length?{re:RegExp(`(?<!${n})(?:${r.map(i).join("|")})(?!${n})`,"giu"),alias:t}:null;return s.set(e,a),a}(l))?u.replace(d.re,e=>d.alias.get(e.toLowerCase())??e):u))}).join("\n")).replace(/\s+/g," ").trim(),c.length>u?`${c.slice(0,u-1).trimEnd()}…`:c}])}]})();
5
5
 
6
6
  //# sourceMappingURL=src_1tux0n9_5b1kr._.js.map