watchbell 1.2.1 → 1.2.2

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 (649) hide show
  1. package/README.md +34 -11
  2. package/bin/watchbell.mjs +731 -44
  3. package/package.json +1 -1
  4. package/scripts/node-runtime.mjs +166 -0
  5. package/scripts/selfhost-log.mjs +116 -0
  6. package/server/.next/BUILD_ID +1 -1
  7. package/server/.next/build-manifest.json +3 -3
  8. package/server/.next/prerender-manifest.json +3 -3
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +26 -26
  66. package/server/.next/server/app/(console)/apps/[id]/page.js +47 -46
  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 +12 -12
  70. package/server/.next/server/app/(console)/apps/page.js +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +15 -15
  90. package/server/.next/server/app/(console)/deployments/page.js +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +16 -16
  106. package/server/.next/server/app/(console)/firebase/page.js +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +19 -19
  122. package/server/.next/server/app/(console)/overview/page.js +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +30 -30
  146. package/server/.next/server/app/(console)/supabase/page.js +47 -46
  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 +47 -46
  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 +47 -46
  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 +47 -46
  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 +23 -23
  162. package/server/.next/server/app/(console)/uptime/page.js +47 -46
  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 +47 -46
  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.nft.json +1 -1
  171. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  172. package/server/.next/server/app/_global-error.html +1 -1
  173. package/server/.next/server/app/_global-error.rsc +4 -4
  174. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +3 -3
  175. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +4 -4
  176. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  177. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  178. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  179. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  180. package/server/.next/server/app/_not-found.html +1 -1
  181. package/server/.next/server/app/_not-found.rsc +5 -5
  182. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +5 -5
  183. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
  184. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  185. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  186. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  187. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  188. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  189. package/server/.next/server/app/api/collect/route.js +24 -24
  190. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  191. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  192. package/server/.next/server/app/api/daily/route.js +24 -24
  193. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  194. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  195. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  196. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
  197. package/server/.next/server/app/api/telegram/webhook/route.js +23 -23
  198. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  199. package/server/.next/server/app/api/v1/advice/route.js +3 -3
  200. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  201. package/server/.next/server/app/api/v1/ai/chat/completions/route.js +1 -1
  202. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  203. package/server/.next/server/app/api/v1/ai/models/route.js +1 -1
  204. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  205. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  206. package/server/.next/server/app/api/v1/ai/questions/route.js +3 -3
  207. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  208. package/server/.next/server/app/api/v1/mcp/route.js +2 -2
  209. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  210. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  211. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  212. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +3 -3
  213. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  214. package/server/.next/server/app/api/v1/status/route.js +3 -3
  215. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  216. package/server/.next/server/app/api/watchdog/route.js +4 -4
  217. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  218. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  219. package/server/.next/server/app/auth/google/callback/route.js +2 -2
  220. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  221. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  222. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  223. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  224. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  225. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  226. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  227. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  228. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  229. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  230. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  231. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  232. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  233. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  234. package/server/.next/server/app/page.js.nft.json +1 -1
  235. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  236. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  237. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  238. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  239. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  240. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  241. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  242. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  243. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  244. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  245. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  246. package/server/.next/server/chunks/{[externals]__0dolpidprtypa._.js → [externals]__0y_x27mdj85p4._.js} +1 -1
  247. package/server/.next/server/chunks/{[externals]__0pfohce9kbhcc._.js → [externals]__1fzfzd0ia0sk6._.js} +1 -1
  248. package/server/.next/server/chunks/{[externals]__1ou2ofma806s1._.js → [externals]__1qqyrxnupegg3._.js} +1 -1
  249. package/server/.next/server/chunks/{[root-of-the-server]__0wbhuhlkn_ueu._.js → [root-of-the-server]__0-ytbad9hn7uc._.js} +2 -2
  250. package/server/.next/server/chunks/{[root-of-the-server]__1cbg6fvn16har._.js → [root-of-the-server]__0032rbj2s87zo._.js} +2 -2
  251. package/server/.next/server/chunks/{[root-of-the-server]__163-eo1vkbzx1._.js → [root-of-the-server]__03i6yscmtbhhg._.js} +2 -2
  252. package/server/.next/server/chunks/{[root-of-the-server]__1x9u88f9545aa._.js → [root-of-the-server]__05qcc-0e8z1u8._.js} +2 -2
  253. package/server/.next/server/chunks/{[root-of-the-server]__1p1k8nq50cwfy._.js → [root-of-the-server]__07bw6o0jc31yr._.js} +2 -2
  254. package/server/.next/server/chunks/{[root-of-the-server]__14pgqdfdkuopi._.js → [root-of-the-server]__07eo--c90cju2._.js} +2 -2
  255. package/server/.next/server/chunks/{[root-of-the-server]__0iysztx_xio84._.js → [root-of-the-server]__07mzeijv31avl._.js} +2 -2
  256. package/server/.next/server/chunks/{[root-of-the-server]__05ht00n_eiksb._.js → [root-of-the-server]__090in165mp6av._.js} +1 -1
  257. package/server/.next/server/chunks/{[root-of-the-server]__0403hy52a1qcu._.js → [root-of-the-server]__0_nljmqhjcept._.js} +1 -1
  258. package/server/.next/server/chunks/{[root-of-the-server]__08k886n7y6f_3._.js → [root-of-the-server]__0awtaloe4_8am._.js} +1 -1
  259. package/server/.next/server/chunks/{[root-of-the-server]__0b136ghrklbbn._.js → [root-of-the-server]__0dsy-9ts8s-pn._.js} +1 -1
  260. package/server/.next/server/chunks/{[root-of-the-server]__0hvejly8-nlkq._.js → [root-of-the-server]__0g1cifa7hd790._.js} +1 -1
  261. package/server/.next/server/chunks/{[root-of-the-server]__0pwn8go30dm_3._.js → [root-of-the-server]__0hblpf7wqke-j._.js} +2 -2
  262. package/server/.next/server/chunks/[root-of-the-server]__0hedtycoyydoc._.js +3 -0
  263. package/server/.next/server/chunks/{[root-of-the-server]__0kgmy-sltdtb_._.js → [root-of-the-server]__0hlyn_aj72sn5._.js} +2 -2
  264. package/server/.next/server/chunks/{[root-of-the-server]__0w8qhgmo5c23i._.js → [root-of-the-server]__0hnljrh9qi9t-._.js} +2 -2
  265. package/server/.next/server/chunks/{[root-of-the-server]__0xgl1cg3z00iz._.js → [root-of-the-server]__0hrtz5c_46jkw._.js} +1 -1
  266. package/server/.next/server/chunks/{[root-of-the-server]__0cskq__p3tja8._.js → [root-of-the-server]__0ihedjvt-l2-u._.js} +2 -2
  267. package/server/.next/server/chunks/[root-of-the-server]__0iicsi0n7tfa5._.js +3 -0
  268. package/server/.next/server/chunks/{[root-of-the-server]__0dc0pz57q73va._.js → [root-of-the-server]__0kp0yx909wtab._.js} +1 -1
  269. package/server/.next/server/chunks/{[root-of-the-server]__1w-yk3b07wcf1._.js → [root-of-the-server]__0l6_iao04u72h._.js} +2 -2
  270. package/server/.next/server/chunks/{[root-of-the-server]__1yzaj148hs9a1._.js → [root-of-the-server]__0l9ja3579qrju._.js} +2 -2
  271. package/server/.next/server/chunks/{[root-of-the-server]__1r9j5o80kocvz._.js → [root-of-the-server]__0lu91s5izfu0p._.js} +2 -2
  272. package/server/.next/server/chunks/{[root-of-the-server]__0_64c807n6q9e._.js → [root-of-the-server]__0noc6l63d3l9w._.js} +2 -2
  273. package/server/.next/server/chunks/{[root-of-the-server]__04zuzs7oruu3o._.js → [root-of-the-server]__0nrg8zzqizk69._.js} +2 -2
  274. package/server/.next/server/chunks/{[root-of-the-server]__1lbmzw1j9jufm._.js → [root-of-the-server]__0oy0hcm48kl-q._.js} +2 -2
  275. package/server/.next/server/chunks/{[root-of-the-server]__0l5v9itfv9nhr._.js → [root-of-the-server]__0q-x05ekhpohj._.js} +1 -1
  276. package/server/.next/server/chunks/[root-of-the-server]__0r1men25anfgb._.js +3 -0
  277. package/server/.next/server/chunks/{[root-of-the-server]__01estsu5k8l4t._.js → [root-of-the-server]__0s8vjz6urzn76._.js} +1 -1
  278. package/server/.next/server/chunks/{[root-of-the-server]__04ruh9diphqtp._.js → [root-of-the-server]__0u3un538__ca5._.js} +2 -2
  279. package/server/.next/server/chunks/{[root-of-the-server]__1ry92m8xlcebk._.js → [root-of-the-server]__0v-gc-c_e8pwl._.js} +2 -2
  280. package/server/.next/server/chunks/{[root-of-the-server]__0t9o5ca5bzg0p._.js → [root-of-the-server]__0x487cn6dsn12._.js} +2 -2
  281. package/server/.next/server/chunks/{[root-of-the-server]__11qvos_7nf8z8._.js → [root-of-the-server]__0yuyew8m9dc6-._.js} +1 -1
  282. package/server/.next/server/chunks/[root-of-the-server]__0zmvf4j8e2gno._.js +3 -0
  283. package/server/.next/server/chunks/{[root-of-the-server]__1w9hei9xe1odr._.js → [root-of-the-server]__0zni_2pv2fdgb._.js} +2 -2
  284. package/server/.next/server/chunks/[root-of-the-server]__10wbld2tja51-._.js +3 -0
  285. package/server/.next/server/chunks/{[root-of-the-server]__10mob-6xfy8b0._.js → [root-of-the-server]__125fkw52kl2ty._.js} +2 -2
  286. package/server/.next/server/chunks/[root-of-the-server]__13hrm9c61i7uk._.js +3 -0
  287. package/server/.next/server/chunks/[root-of-the-server]__14ou3bydfm0ms._.js +3 -0
  288. package/server/.next/server/chunks/{[root-of-the-server]__1xrt934xl5wbd._.js → [root-of-the-server]__15dhjj384tuw_._.js} +2 -2
  289. package/server/.next/server/chunks/{[root-of-the-server]__1vmls0bkau925._.js → [root-of-the-server]__16waq6rapvngp._.js} +2 -2
  290. package/server/.next/server/chunks/[root-of-the-server]__18eg-mk5loj_8._.js +3 -0
  291. package/server/.next/server/chunks/[root-of-the-server]__19ylbgd65iej4._.js +3 -0
  292. package/server/.next/server/chunks/{[root-of-the-server]__1vutb2z9gw8el._.js → [root-of-the-server]__1adw_bv2u89kc._.js} +1 -1
  293. package/server/.next/server/chunks/[root-of-the-server]__1brl5otpkvgd3._.js +3 -0
  294. package/server/.next/server/chunks/{[root-of-the-server]__00wz8qo4hgq2i._.js → [root-of-the-server]__1c78cu7kb9vkl._.js} +2 -2
  295. package/server/.next/server/chunks/[root-of-the-server]__1d5y0cc5mg_07._.js +3 -0
  296. package/server/.next/server/chunks/{[root-of-the-server]__1zcp6yrat15t5._.js → [root-of-the-server]__1dbz126yujh44._.js} +2 -2
  297. package/server/.next/server/chunks/{[root-of-the-server]__0m9648az7bkus._.js → [root-of-the-server]__1dh4di29mjq9y._.js} +2 -2
  298. package/server/.next/server/chunks/[root-of-the-server]__1e1l75cf48ph2._.js +3 -0
  299. package/server/.next/server/chunks/[root-of-the-server]__1eu2_f44as742._.js +3 -0
  300. package/server/.next/server/chunks/{[root-of-the-server]__1-bvfylgbkjso._.js → [root-of-the-server]__1jsf0jf_ljpsm._.js} +2 -2
  301. package/server/.next/server/chunks/{[root-of-the-server]__1fj8d0drhw1yx._.js → [root-of-the-server]__1lerees-l5-6c._.js} +2 -2
  302. package/server/.next/server/chunks/{[root-of-the-server]__1sb8d4e5b5pdl._.js → [root-of-the-server]__1lj1f2w2-w8nw._.js} +2 -2
  303. package/server/.next/server/chunks/[root-of-the-server]__1mim39ea6-dm1._.js +3 -0
  304. package/server/.next/server/chunks/{[root-of-the-server]__0sfnhgc5reef1._.js → [root-of-the-server]__1ooxluowhatjt._.js} +2 -2
  305. package/server/.next/server/chunks/[root-of-the-server]__1p0zd1rtbkj9r._.js +3 -0
  306. package/server/.next/server/chunks/[root-of-the-server]__1pvx0izh1m_0_._.js +3 -0
  307. package/server/.next/server/chunks/{[root-of-the-server]__05jzukkrp2pvu._.js → [root-of-the-server]__1rpgddeg42i-q._.js} +2 -2
  308. package/server/.next/server/chunks/[root-of-the-server]__1v4i7ytwadml8._.js +3 -0
  309. package/server/.next/server/chunks/[root-of-the-server]__1vvg0ur3_7o0p._.js +3 -0
  310. package/server/.next/server/chunks/[root-of-the-server]__1vwz2r58cojht._.js +3 -0
  311. package/server/.next/server/chunks/{[root-of-the-server]__02s57amypj_ye._.js → [root-of-the-server]__1w7dv8zm-k_oa._.js} +2 -2
  312. package/server/.next/server/chunks/[root-of-the-server]__1x7en4waq21dd._.js +3 -0
  313. package/server/.next/server/chunks/[root-of-the-server]__1x813cg-b9rls._.js +3 -0
  314. package/server/.next/server/chunks/{[root-of-the-server]__1147qf6sf3ru4._.js → [root-of-the-server]__1xl6_spngp6k3._.js} +2 -2
  315. package/server/.next/server/chunks/{[root-of-the-server]__1cwr95yi8preu._.js → [root-of-the-server]__1xxmlb3soqzom._.js} +2 -2
  316. package/server/.next/server/chunks/[root-of-the-server]__1zg653esm3__p._.js +3 -0
  317. package/server/.next/server/chunks/{[root-of-the-server]__1w_wtn9h9eu93._.js → [root-of-the-server]__1zvoez8iapsem._.js} +2 -2
  318. package/server/.next/server/chunks/[root-of-the-server]__209g3_0l-y67u._.js +3 -0
  319. package/server/.next/server/chunks/[root-of-the-server]__20pu-tixzpeev._.js +3 -0
  320. package/server/.next/server/chunks/_004c7-39glldb._.js +4 -4
  321. package/server/.next/server/chunks/_09l75j3ey14tc._.js +1 -1
  322. package/server/.next/server/chunks/_0duxuj4kmjibl._.js +41 -0
  323. package/server/.next/server/chunks/_0gz8ldqeokdtn._.js +1 -1
  324. package/server/.next/server/chunks/{_1msi9fy888xna._.js → _0if5sw58tii_3._.js} +2 -2
  325. package/server/.next/server/chunks/_0kmhvts35imzs._.js +4 -4
  326. package/server/.next/server/chunks/_0l_hz-8cj94r7._.js +3 -0
  327. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  328. package/server/.next/server/chunks/_0ofzzim090ezo._.js +1 -1
  329. package/server/.next/server/chunks/_0q3ygdztfvqq6._.js +3 -0
  330. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +7 -7
  331. package/server/.next/server/chunks/_0qyupoc7u5hr7._.js +3 -0
  332. package/server/.next/server/chunks/_0rwuppwyvemfj._.js +4 -4
  333. package/server/.next/server/chunks/{_060yqv0qyo-lp._.js → _0ry4553j-m5fp._.js} +3 -3
  334. package/server/.next/server/chunks/_0tz4o-qufnu3l._.js +4 -4
  335. package/server/.next/server/chunks/_0voowig3y32v1._.js +4 -4
  336. package/server/.next/server/chunks/_0wtlf0x_depae._.js +3 -0
  337. package/server/.next/server/chunks/_0zj10_al6r59j._.js +26 -26
  338. package/server/.next/server/chunks/_1-pcsy2hkg0il._.js +3 -0
  339. package/server/.next/server/chunks/_10vh_l3hht4_3._.js +4 -4
  340. package/server/.next/server/chunks/_113ebzq_9i756._.js +41 -0
  341. package/server/.next/server/chunks/{_1z8__gxixw-z-._.js → _16urxazbgm48y._.js} +3 -3
  342. package/server/.next/server/chunks/_1a5vma58w9ytn._.js +4 -4
  343. package/server/.next/server/chunks/_1e_rbkrukj0x9._.js +26 -26
  344. package/server/.next/server/chunks/{_219klbycazlx_._.js → _1g8r-7wcf8sy3._.js} +3 -3
  345. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +7 -7
  346. package/server/.next/server/chunks/_1ihndlef8r00f._.js +41 -0
  347. package/server/.next/server/chunks/_1mwb214-ablfo._.js +41 -0
  348. package/server/.next/server/chunks/_1ngkjn56qmi2x._.js +3 -0
  349. package/server/.next/server/chunks/_1v7q0xdxbqawm._.js +4 -4
  350. package/server/.next/server/chunks/_1xs2ya_n7kb04._.js +4 -4
  351. package/server/.next/server/chunks/node_modules_zod_v4_classic_external_01k1rek7hgd0j.js +4 -4
  352. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  353. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  354. package/server/.next/server/chunks/{src_0lcm1yhnzhn2d._.js → src_09cgjvch02173._.js} +2 -2
  355. package/server/.next/server/chunks/{src_0v67kw2p2wd_c._.js → src_0c7qu5adpm3gv._.js} +2 -2
  356. package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +1 -1
  357. package/server/.next/server/chunks/{src_0390zcofy42lg._.js → src_10vyvp9vy_69h._.js} +2 -2
  358. package/server/.next/server/chunks/{src_1v3tf1ye2jzyk._.js → src_13n1vi7uew4iu._.js} +2 -2
  359. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  360. package/server/.next/server/chunks/{src_07vqa8fdgu9ah._.js → src_1il7wg_qjxny7._.js} +2 -2
  361. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +7 -4
  362. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  363. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +7 -4
  364. package/server/.next/server/chunks/src_20ilndq84j3b3._.js +3 -0
  365. package/server/.next/server/chunks/src_lib_0ayxuk4ftzf2f._.js +6 -0
  366. package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
  367. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  368. package/server/.next/server/chunks/src_lib_0krdzz8eu9xh3._.js +6 -0
  369. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +10 -9
  370. package/server/.next/server/chunks/src_lib_1-u7dbsavbtb0._.js +6 -0
  371. package/server/.next/server/chunks/src_lib_103kimc1xvc_0._.js +9 -0
  372. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +10 -9
  373. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +10 -9
  374. package/server/.next/server/chunks/src_lib_1sdusf16f07x-._.js +9 -0
  375. package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
  376. package/server/.next/server/chunks/src_lib_1xwavi_m_li7p._.js +1 -1
  377. package/server/.next/server/chunks/src_lib_206j7lyff31-g._.js +6 -0
  378. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +5 -5
  379. package/server/.next/server/chunks/src_lib_data_advisor-db_ts_0rl1ug3iana24._.js +1 -1
  380. package/server/.next/server/chunks/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +1 -1
  381. package/server/.next/server/chunks/src_lib_domain-move_ts_04stiet1-xpe2._.js +1 -1
  382. package/server/.next/server/chunks/src_lib_notify_telegram-bot_ts_18y40dkchmcqd._.js +1 -1
  383. package/server/.next/server/chunks/src_lib_view_databases_ts_1ovdbo8spjhf9._.js +1 -1
  384. package/server/.next/server/chunks/src_lib_view_display-name_ts_0xoimm6j7bwnf._.js +1 -1
  385. package/server/.next/server/chunks/src_private_1_nggk_wre7qf._.js +2 -2
  386. package/server/.next/server/chunks/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  387. package/server/.next/server/chunks/src_private_ai_gateway_ts_1qtr4nyb8kgnd._.js +2 -2
  388. package/server/.next/server/chunks/src_private_assist_provider-answer_ts_10qv42t-5046y._.js +1 -1
  389. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  390. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_1q6nc5chwn5k4.js +1 -1
  391. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +1 -1
  392. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +1 -1
  393. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +1 -1
  394. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +1 -1
  395. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +1 -1
  396. package/server/.next/server/chunks/ssr/{[externals]__1thdbok76xtof._.js → [externals]__1d_fn156y1kzg._.js} +1 -1
  397. package/server/.next/server/chunks/ssr/[root-of-the-server]__0llh-w4ta1qbp._.js +1 -1
  398. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nlfip3wc3l2z._.js +2 -2
  399. package/server/.next/server/chunks/ssr/{[root-of-the-server]__04tkts7c9ylma._.js → [root-of-the-server]__0p5znbfo0wgsu._.js} +2 -2
  400. package/server/.next/server/chunks/ssr/{[root-of-the-server]__12ymdwm8dphvu._.js → [root-of-the-server]__0ua-p_wz8epv9._.js} +2 -2
  401. package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +1 -1
  402. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ojywxj06986-._.js → [root-of-the-server]__0y84mqfn13ss4._.js} +1 -1
  403. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  404. package/server/.next/server/chunks/ssr/[root-of-the-server]__1fj33_xkainxk._.js +2 -2
  405. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0oayb8dm0iu8k._.js → [root-of-the-server]__1rvdnoxnu0ddf._.js} +2 -2
  406. package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +2 -2
  407. package/server/.next/server/chunks/ssr/_026w_ig6vy9bt._.js +1 -1
  408. package/server/.next/server/chunks/ssr/_04ltmruop4rt3._.js +2 -2
  409. package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +2 -2
  410. package/server/.next/server/chunks/ssr/_090fib2x989oc._.js +1 -1
  411. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  412. package/server/.next/server/chunks/ssr/_0_rtyc4t9xcdo._.js +1 -1
  413. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  414. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  415. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  416. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  417. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  418. package/server/.next/server/chunks/ssr/_0hmxyfx7su4uk._.js +1 -1
  419. package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +2 -2
  420. package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +2 -2
  421. package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +2 -2
  422. package/server/.next/server/chunks/ssr/_0lmcrl8r9dg49._.js +1 -1
  423. package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +2 -2
  424. package/server/.next/server/chunks/ssr/_0ns_087lx5abm._.js +1 -1
  425. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  426. package/server/.next/server/chunks/ssr/_0qcvpnwa1u3vr._.js +1 -1
  427. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
  428. package/server/.next/server/chunks/ssr/_0qyupoc7u5hr7._.js +3 -0
  429. package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +1 -1
  430. package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +2 -2
  431. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +1 -1
  432. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  433. package/server/.next/server/chunks/ssr/{_0i2a_ziqzhyq-._.js → _0wzg8e30al7bu._.js} +2 -2
  434. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  435. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +5 -5
  436. package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +2 -2
  437. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  438. package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +2 -2
  439. package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +2 -2
  440. package/server/.next/server/chunks/ssr/_18lgd6o04ugow._.js +2 -2
  441. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  442. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  443. package/server/.next/server/chunks/ssr/{_022u_nnwo1yb4._.js → _1_gydx19bikgo._.js} +2 -2
  444. package/server/.next/server/chunks/ssr/_1ag8axv14phju._.js +2 -2
  445. package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +2 -2
  446. package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +2 -2
  447. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  448. package/server/.next/server/chunks/ssr/_1dqf3jmb24s37._.js +1 -1
  449. package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +2 -2
  450. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  451. package/server/.next/server/chunks/ssr/{_14n2368190qms._.js → _1gk334l49puy-._.js} +2 -2
  452. package/server/.next/server/chunks/ssr/{_1wssvwkmxcdn5._.js → _1gvbcfoah__sl._.js} +2 -2
  453. package/server/.next/server/chunks/ssr/_1i77n2n-wb98v._.js +2 -2
  454. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  455. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  456. package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +1 -1
  457. package/server/.next/server/chunks/ssr/{_20gx4od4pnj8d._.js → _1rf_mwfkk_9oa._.js} +2 -2
  458. package/server/.next/server/chunks/ssr/_1w_rq6clcs0ft._.js +2 -2
  459. package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +2 -2
  460. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  461. package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +2 -2
  462. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +1 -1
  463. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +1 -1
  464. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +1 -1
  465. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +1 -1
  466. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1zw_mdh2ep6vs.js +1 -1
  467. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_06a1fnrawxlh1.js +1 -1
  468. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +1 -1
  469. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +1 -1
  470. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_217-u-dmlzx6a.js +1 -1
  471. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +1 -1
  472. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_0ven9q46d3d7s.js +1 -1
  473. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +1 -1
  474. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +1 -1
  475. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +1 -1
  476. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  477. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  478. package/server/.next/server/chunks/ssr/node_modules_zod_v4_classic_external_01k1rek7hgd0j.js +4 -4
  479. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  480. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  481. package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +6 -3
  482. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  483. package/server/.next/server/chunks/ssr/{src_0vi30frvjgri2._.js → src_0jdurlhzhcg5x._.js} +2 -2
  484. package/server/.next/server/chunks/ssr/src_0p0fk07bj9gpq._.js +1 -1
  485. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  486. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
  487. package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +1 -1
  488. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  489. package/server/.next/server/chunks/ssr/src_1koc8y1nfdlw3._.js +1 -1
  490. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  491. package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +1 -1
  492. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  493. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  494. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  495. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  496. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  497. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  498. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  499. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  500. package/server/.next/server/chunks/ssr/{src_app_(console)_05mlxmavgli8_._.js → src_app_(console)_08pmfte22v8vg._.js} +2 -2
  501. package/server/.next/server/chunks/ssr/{src_app_(console)_0u1ec16rmzze6._.js → src_app_(console)_1rx84pcbevbbk._.js} +2 -2
  502. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +1 -1
  503. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  504. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  505. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  506. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  507. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  508. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  509. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  510. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  511. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  512. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  513. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  514. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  515. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  516. package/server/.next/server/chunks/ssr/src_app_(console)_overview_page_tsx_0se3f3ln9q-42._.js +1 -1
  517. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  518. package/server/.next/server/chunks/ssr/src_app_(console)_repos_[id]_page_tsx_1nkxthc4ethrj._.js +1 -1
  519. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  520. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  521. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  522. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  523. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  524. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  525. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  526. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  527. package/server/.next/server/chunks/ssr/{src_app_signin_06v-xlrxfp079._.js → src_app_signin_0hb58isfg-2yx._.js} +2 -2
  528. package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +1 -1
  529. package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.js +1 -1
  530. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  531. package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +2 -1
  532. package/server/.next/server/chunks/ssr/src_lib_0f_4mvf4-xxst._.js +1 -1
  533. package/server/.next/server/chunks/ssr/src_lib_1xwavi_m_li7p._.js +1 -1
  534. package/server/.next/server/chunks/ssr/src_lib_collector_node-runtime_ts_0778fef3fi3zj._.js +3 -0
  535. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
  536. package/server/.next/server/chunks/ssr/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +1 -1
  537. package/server/.next/server/chunks/ssr/{src_lib_demo_15okweo0amos4._.js → src_lib_demo_1wu-a6lubzph6._.js} +2 -2
  538. package/server/.next/server/chunks/ssr/src_lib_domain-move_ts_04stiet1-xpe2._.js +1 -1
  539. package/server/.next/server/chunks/ssr/src_lib_view_databases_ts_1ovdbo8spjhf9._.js +1 -1
  540. package/server/.next/server/chunks/ssr/src_lib_view_display-name_ts_0xoimm6j7bwnf._.js +1 -1
  541. package/server/.next/server/chunks/ssr/src_private_04omlb_sgy-_r._.js +1 -1
  542. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  543. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  544. package/server/.next/server/chunks/ssr/src_private_actions_telegram-approvals_ts_14gvz6qi_j4aa._.js +1 -1
  545. package/server/.next/server/chunks/ssr/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  546. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  547. package/server/.next/server/chunks/ssr/src_private_assist_advisor-notes_ts_0qkpm5c3la7fo._.js +6 -6
  548. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  549. package/server/.next/server/middleware-build-manifest.js +3 -3
  550. package/server/.next/server/pages/404.html +1 -1
  551. package/server/.next/server/pages/500.html +1 -1
  552. package/server/.next/server/preview-props.json +3 -3
  553. package/server/.next/server/server-reference-manifest.js +1 -1
  554. package/server/.next/server/server-reference-manifest.json +139 -139
  555. package/server/.next/static/chunks/{22ierqxhqtwn6.js → 0-_zjfssid86w.js} +2 -2
  556. package/server/.next/static/chunks/02-edmd1oolf2.css +3 -0
  557. package/server/.next/static/chunks/05p62k_8g05pm.js +76 -0
  558. package/server/.next/static/chunks/{02byu0sw5d0g9.js → 073u0a0mfexc8.js} +1 -1
  559. package/server/.next/static/chunks/{38c9rnljzl6iw.js → 09fx7h5vm68up.js} +1 -1
  560. package/server/.next/static/chunks/{177dd6kiifsoi.js → 0a5vchcarwyam.js} +1 -1
  561. package/server/.next/static/chunks/{42z3imsp11da1.js → 0ao7_ov9mlvqp.js} +1 -1
  562. package/server/.next/static/chunks/{3qbk8r6jm8udo.js → 0cvmbpyjages7.js} +2 -2
  563. package/server/.next/static/chunks/{04yl9t4cn6zwm.js → 0hnhf3barhk90.js} +1 -1
  564. package/server/.next/static/chunks/{2aerfowxsf234.js → 0i8-ofb4wfcch.js} +1 -1
  565. package/server/.next/static/chunks/{3tl9dgour-h9l.js → 0id261ol_gl6f.js} +1 -1
  566. package/server/.next/static/chunks/0iyozrryj1w49.js +1 -0
  567. package/server/.next/static/chunks/{1zyyqxguxs96l.js → 0q2ogu5cn9q9p.js} +1 -1
  568. package/server/.next/static/chunks/{37f1rjolzxbiv.js → 0z_fqwq62_95p.js} +1 -1
  569. package/server/.next/static/chunks/{11gctw6uutyd7.js → 12fo0pcbpv7lw.js} +1 -1
  570. package/server/.next/static/chunks/{0d556cjlmwiq4.js → 16d1ws92me6_q.js} +1 -1
  571. package/server/.next/static/chunks/{3vbz762vgy3dx.js → 1__8cm_-lydee.js} +1 -1
  572. package/server/.next/static/chunks/{0xwz6ps1581qa.js → 1hmur12m0hx3z.js} +1 -1
  573. package/server/.next/static/chunks/{22h4lj0gp_6n5.js → 1o1lidcbrrh92.js} +1 -1
  574. package/server/.next/static/chunks/{25r6-t40ok5s9.js → 1pre7l9hmk-b6.js} +1 -1
  575. package/server/.next/static/chunks/{04lzxilmq17f_.js → 1qxc6cck2xkbs.js} +1 -1
  576. package/server/.next/static/chunks/{160mk2sltxl3e.js → 205s3z3_jvp5m.js} +1 -1
  577. package/server/.next/static/chunks/{0qciunoy58a03.js → 20cpkauaj8e6x.js} +2 -2
  578. package/server/.next/static/chunks/{3_erdlvi2tz19.js → 25meucm7i1e7b.js} +1 -1
  579. package/server/.next/static/chunks/{2pn16qmann41d.js → 2oy7awlquezq_.js} +1 -1
  580. package/server/.next/static/chunks/{2xhx4rma6gx5o.js → 2pj8subq20y-_.js} +1 -1
  581. package/server/.next/static/chunks/{2szlo15y09085.js → 2qcurt9u9shwc.js} +1 -1
  582. package/server/.next/static/chunks/{01mhc6kz81iwf.js → 2scf40c-_g_q1.js} +1 -1
  583. package/server/.next/static/chunks/{1bn-7bluoi2vi.js → 2tnx5isef9ryw.js} +1 -1
  584. package/server/.next/static/chunks/{3wi43ltm1e5iy.js → 2whojv56qi3ke.js} +1 -1
  585. package/server/.next/static/chunks/{0lcmy-_tdtrqk.js → 2wlen-jacsbqv.js} +1 -1
  586. package/server/.next/static/chunks/{0foc_dy1j2x52.js → 319s97ka6eaex.js} +1 -1
  587. package/server/.next/static/chunks/{1d0mukiro5klq.js → 36bqhxadlfbfn.js} +1 -1
  588. package/server/.next/static/chunks/{16lnw4itnfhw-.js → 36js6cf9c-53b.js} +1 -1
  589. package/server/.next/static/chunks/372gugw4ldy47.js +1 -0
  590. package/server/.next/static/chunks/{2onhuya5-n3-e.js → 39n_1gky-xh0a.js} +1 -1
  591. package/server/.next/static/chunks/{1x8bgprfjtt59.js → 3fv862m8cvcoe.js} +1 -1
  592. package/server/.next/static/chunks/{2lfa16b0tlnvj.js → 3g73nar6-7bqk.js} +1 -1
  593. package/server/.next/static/chunks/{2wd8yh_ni0lqj.js → 3orhi-m-n-ra4.js} +1 -1
  594. package/server/.next/static/chunks/{3zaeh5nbkqpyj.js → 3u3h2mlon2qu7.js} +1 -1
  595. package/server/.next/static/chunks/{0ld0vtd027il_.js → 3vacue9vhoqag.js} +1 -1
  596. package/server/.next/static/chunks/{0jm8a63677590.js → 3x8-w_p0n-gsd.js} +1 -1
  597. package/server/.next/static/chunks/{0r2z8zg4n43pd.js → 3xo5igjfumqip.js} +1 -1
  598. package/server/.next/static/chunks/{1yctclvh0qaxz.js → 415ijq-anmr2o.js} +1 -1
  599. package/server/.next/static/chunks/{1nfofl7nhy6fx.js → 43wm4_0-0-eej.js} +1 -1
  600. package/server/.next/static/chunks/{08oksl0raetg5.js → 44bizq7fli9cp.js} +1 -1
  601. package/server/.next/server/chunks/[root-of-the-server]__0i3bs_98vlttu._.js +0 -3
  602. package/server/.next/server/chunks/[root-of-the-server]__0ych1y0j6e38k._.js +0 -3
  603. package/server/.next/server/chunks/[root-of-the-server]__0zhzy29i2vylk._.js +0 -3
  604. package/server/.next/server/chunks/[root-of-the-server]__0zwe7i-isx08p._.js +0 -3
  605. package/server/.next/server/chunks/[root-of-the-server]__10ee5dhzx78ne._.js +0 -3
  606. package/server/.next/server/chunks/[root-of-the-server]__10q3dc485yp4l._.js +0 -3
  607. package/server/.next/server/chunks/[root-of-the-server]__10u93zgn0-c5a._.js +0 -3
  608. package/server/.next/server/chunks/[root-of-the-server]__115yxhfn37r-k._.js +0 -3
  609. package/server/.next/server/chunks/[root-of-the-server]__14mz6mbk2m_e0._.js +0 -3
  610. package/server/.next/server/chunks/[root-of-the-server]__15y82djobfhof._.js +0 -3
  611. package/server/.next/server/chunks/[root-of-the-server]__165qlmqwvxmzr._.js +0 -3
  612. package/server/.next/server/chunks/[root-of-the-server]__1acps2oi9s0i7._.js +0 -3
  613. package/server/.next/server/chunks/[root-of-the-server]__1erq9v_t5jwp5._.js +0 -3
  614. package/server/.next/server/chunks/[root-of-the-server]__1ip0gr1i080kn._.js +0 -3
  615. package/server/.next/server/chunks/[root-of-the-server]__1lfidps4tcfkg._.js +0 -3
  616. package/server/.next/server/chunks/[root-of-the-server]__1mrpvwofqktnv._.js +0 -3
  617. package/server/.next/server/chunks/[root-of-the-server]__1ppnnpydkrs93._.js +0 -3
  618. package/server/.next/server/chunks/[root-of-the-server]__1qdo_hgivrawk._.js +0 -3
  619. package/server/.next/server/chunks/[root-of-the-server]__1qp_dvfy4vvsm._.js +0 -3
  620. package/server/.next/server/chunks/[root-of-the-server]__1rk6wb8qem46d._.js +0 -3
  621. package/server/.next/server/chunks/[root-of-the-server]__1s20vd1etiird._.js +0 -3
  622. package/server/.next/server/chunks/[root-of-the-server]__1s9_nmhp7chvj._.js +0 -3
  623. package/server/.next/server/chunks/[root-of-the-server]__1yc_xjjam78sg._.js +0 -3
  624. package/server/.next/server/chunks/[root-of-the-server]__2067x8gf07f-i._.js +0 -3
  625. package/server/.next/server/chunks/_0beox3lp9z58-._.js +0 -3
  626. package/server/.next/server/chunks/_0gobsd0_oxj5v._.js +0 -3
  627. package/server/.next/server/chunks/_0vwctvzwde-sz._.js +0 -37
  628. package/server/.next/server/chunks/_0yzmfi6iwa_sk._.js +0 -3
  629. package/server/.next/server/chunks/_1c3ksp22eq0rw._.js +0 -37
  630. package/server/.next/server/chunks/_1cjfskikk32wj._.js +0 -37
  631. package/server/.next/server/chunks/_1d9mf39gz0bv4._.js +0 -3
  632. package/server/.next/server/chunks/_1dlvqnaceqr-_._.js +0 -3
  633. package/server/.next/server/chunks/_1jveb9aojczvg._.js +0 -3
  634. package/server/.next/server/chunks/_1qw43v448l9e7._.js +0 -37
  635. package/server/.next/server/chunks/src_0yve3gn52i_mn._.js +0 -3
  636. package/server/.next/server/chunks/src_lib_0cbh80jxsdx3n._.js +0 -6
  637. package/server/.next/server/chunks/src_lib_0s_txig7jm3ty._.js +0 -9
  638. package/server/.next/server/chunks/src_lib_15wd7ab4u5nrn._.js +0 -9
  639. package/server/.next/server/chunks/src_lib_15y0kwcot_7u0._.js +0 -6
  640. package/server/.next/server/chunks/src_lib_16y1secb8t9fj._.js +0 -6
  641. package/server/.next/server/chunks/src_lib_1iwyh213u9xts._.js +0 -6
  642. package/server/.next/server/chunks/ssr/_1dlvqnaceqr-_._.js +0 -3
  643. package/server/.next/static/chunks/0r-2mywc7qkb_.js +0 -1
  644. package/server/.next/static/chunks/1-zyqj42cr9hy.css +0 -3
  645. package/server/.next/static/chunks/1jc8ghvf721gg.js +0 -76
  646. package/server/.next/static/chunks/1rt5heq1xn_az.js +0 -1
  647. /package/server/.next/static/{ZGhdfWFNBWLdWW4UhJrAO → 90CuiGzddaxNn9lvRkGlH}/_buildManifest.js +0 -0
  648. /package/server/.next/static/{ZGhdfWFNBWLdWW4UhJrAO → 90CuiGzddaxNn9lvRkGlH}/_clientMiddlewareManifest.js +0 -0
  649. /package/server/.next/static/{ZGhdfWFNBWLdWW4UhJrAO → 90CuiGzddaxNn9lvRkGlH}/_ssgManifest.js +0 -0
@@ -1,6 +0,0 @@
1
- (()=>{"use strict";module.exports=[658266,618127,211256,e=>{var t=e.i(278619),n=e.i(959408),r=e.i(867274),a=e.i(413230),s=e.i(7494),i=e.i(250474),o=e.i(90801),l=e.i(32391);let u=["next","eslint-config-next"],d={CRITICAL:"critical",HIGH:"high",MODERATE:"moderate",LOW:"low",UNKNOWN:"unknown"};function c(e,t){if(!e||!(0,l.C)(e))return null;let n=t.map(e=>e.fixed).filter(t=>!!t&&(0,l.C)(t)&&(0,i.f)(t,e)>0);if(!n.length)return null;let r=n.filter(t=>(0,o.J)(e,t));return(r.length?r:n).reduce((e,t)=>(0,i.f)(t,e)>0?t:e)}function p(e,t){let n=c(e,t),r=n?t.map(e=>e.fixed).filter(e=>!!e&&(0,l.C)(e)&&(0,i.f)(e,n)>0):[],a=r.reduce((e,t)=>null===e||(0,i.f)(t,e)>0?t:e,null),o=a?` (${1===r.length?"one fix needs":"some fixes need"} Next.js ${a.split(".")[0]})`:"";return`Next.js ${e??"(unknown version)"} has ${(0,s.q)(t.length)} (${(0,s.N)(t).toLowerCase()}), ${n?`fixed in ${n}${o}`:"no fix yet"}.`}e.s(["P",0,p,"p",0,function(e){if(!e||"vulnerable"!==e.status||!e.findings.length||!e.version)return null;let t=c(e.version,e.findings);if(!t)return null;let n=d[(0,s.N)(e.findings)],r=[...new Set(e.findings.map(e=>e.id))],a=[...new Set(e.findings.flatMap(e=>e.cve?[e.cve]:[]))];return{from:e.version,to:t,upgrades:[{package:"next",to:t,vulnIds:r,cves:a,severity:n},{package:"eslint-config-next",to:t,vulnIds:[],cves:[],severity:n,companionOf:"next"}],installed:new Map(u.map(t=>[t,e.version]))}},"F",0,function(e){let t=e.find(e=>"next"===e.package&&!e.companionOf);return!t||e.some(e=>"eslint-config-next"===e.package)?e:[...e,{package:"eslint-config-next",to:t.to,vulnIds:[],cves:[],severity:t.severity,companionOf:"next"}]}],618127);let f=e=>Math.round(e).toLocaleString("en-US"),m=(e,t)=>Math.floor((e.getTime()-t.getTime())/864e5),h=(e,t)=>`${e} ${t}${1===e?"":"s"}`,g=e=>{try{let t=new URL(e);return`${t.host}${t.pathname}`}catch{return e}},y=e=>{try{return new URL(e).host}catch{return e}},k=e=>{try{return new URL(e).pathname}catch{return"/"}},v="Down · ",w=(e,t,n)=>({rule:e,subject:t,status:"unknown",resourceId:null,accountId:null,title:t,message:"",provider:null,sampleAt:null,...n}),b=e=>"firestore"===e.provider?"firebase":"d1"===e.provider?"cloudflare":e.provider,$=new Set(["turso","upstash","d1"]),A={MonitorDown:(e,t)=>e.monitors.map(e=>{let r=w("MonitorDown",e.id,{resourceId:e.appId,title:`${e.appName} ${"heartbeat"===e.kind?e.url:k(e.url)}`,provider:"vercel",sampleAt:e.lastCheckedAt}),a=t??3;if("heartbeat"===e.kind){let t;return{...r,status:"err"===e.state?"firing":"ok"===e.state?"ok":"unknown",message:`${e.appName} \xb7 ${e.url}: ${t=e.lastError,t?.startsWith(v)?t.slice(v.length):"no ping in time"}.`}}return e.movedTo?{...r,status:"ok",message:`${y(e.url)} moved to ${e.movedTo}; MonitorDomainMoved takes over.`}:e.failStreak>=a?{...r,status:"firing",message:(0,n.H)(e)?`${g(e.url)} failed its check (${(0,n.H)(e)}) on ${a} consecutive checks.`:`${g(e.url)} returned ${e.lastStatus?`HTTP ${e.lastStatus}`:"no answer"} on ${a} consecutive checks.`}:{...r,status:0===e.failStreak&&e.lastCheckedAt?"ok":"unknown",message:`${g(e.url)} answers again.`}}),MonitorDomainMoved:e=>e.monitors.filter(e=>"http"===e.kind).map(e=>{let t=w("MonitorDomainMoved",e.id,{resourceId:e.appId,title:`${e.appName} ${k(e.url)}`,provider:"vercel"});return e.movedTo?{...t,status:"firing",message:`${y(e.url)} is no longer a domain of ${e.appName}; production is on ${e.movedTo}.`}:{...t,status:"ok",message:`The monitor checks ${y(e.url)}, a domain of ${e.appName}.`}}),CollectorStale:(e,t)=>{let n=e.lastMinuteRunAt;return[w("CollectorStale","collector",{status:!n||e.now.getTime()-n.getTime()>(t??5)*6e4?"firing":"ok",title:"collector",message:n?`The last minute run finished ${f((e.now.getTime()-n.getTime())/6e4)} min ago.`:"The collector hasn't finished a run yet."})]},HighLatency:(e,t)=>e.monitors.filter(e=>"http"===e.kind).map(e=>{let n=w("HighLatency",e.id,{resourceId:e.appId,title:`${e.appName} ${k(e.url)}`,provider:"vercel",sampleAt:e.lastCheckedAt});if(e.checksLast10<5||null===e.p95Last10)return n;let r=t??1500;return{...n,status:e.p95Last10>r?"firing":"ok",message:`p95 ${f(e.p95Last10)} ms over the last 10 minutes (limit ${f(r)} ms).`}}),DeploymentFailed:e=>e.apps.map(e=>{let t=w("DeploymentFailed",e.id,{resourceId:e.id,title:e.name,provider:"vercel"}),n=e.latestProduction;return n?"error"===n.state?{...t,status:"firing",message:`Production deployment ${n.sha?n.sha.slice(0,7):"(no commit)"} failed.`}:{...t,status:"building"===n.state?"unknown":"ok"}:{...t,status:"ok"}}),DatabasePaused:e=>e.dbs&&e.dbs.filter(e=>"supabase"===e.provider).map(e=>w("DatabasePaused",e.id,{resourceId:e.id,title:e.name,provider:"supabase",status:"unknown"===e.state?"unknown":"paused"===e.state?"firing":"ok",message:`Supabase project ${e.name} is paused.`})),CertExpiringSoon:(e,t)=>e.domains&&e.domains.map(n=>{let r=w("CertExpiringSoon",n.id,{resourceId:n.id,title:n.name,provider:"cloudflare"});if(!n.tlsNotAfter)return r;let a=m(n.tlsNotAfter,e.now);return{...r,status:a<(t??14)?"firing":"ok",message:`The TLS certificate of ${n.name} expires in ${h(a,"day")}.`}}),DomainExpiringSoon:(e,t)=>e.domains&&e.domains.map(n=>{let r=w("DomainExpiringSoon",n.id,{resourceId:n.id,title:n.name,provider:"cloudflare"});if(!n.expiresAt)return r;let a=m(n.expiresAt,e.now);return{...r,status:a<(t??30)?"firing":"ok",message:`${n.name} expires in ${h(a,"day")}.`}}),StorageAlmostFull:(e,t)=>e.dbs&&e.dbs.filter(e=>"firestore"!==e.provider).map(e=>{let n=w("StorageAlmostFull",e.id,{resourceId:e.id,title:e.name,provider:b(e)});if(null===e.sizeBytes||!e.sizeLimitBytes)return n;let r=e.sizeBytes/e.sizeLimitBytes*100;return{...n,status:r>(t??80)?"firing":"ok",message:`${e.name} uses ${f(e.sizeBytes/1e6)} MB of ${f(e.sizeLimitBytes/1e6)} MB (${f(r)}%).`}}),NeonComputeHigh:(e,t)=>e.dbs&&e.dbs.filter(e=>"neon"===e.provider).map(e=>{let n=w("NeonComputeHigh",e.id,{resourceId:e.id,title:e.name,provider:"neon"});return null===e.cuHours?n:{...n,status:e.cuHours>(t??80)?"firing":"ok",message:`${e.name} used ${f(e.cuHours)} of ${f(e.cuLimit??100)} CU-hours this month.`}}),FirestoreQuotaHigh:(e,t)=>e.dbs&&e.dbs.filter(e=>"firestore"===e.provider).map(e=>{let n=w("FirestoreQuotaHigh",e.id,{resourceId:e.id,title:e.name,provider:"firebase"});if(e.quotaExhausted)return{...n,status:"firing",message:`${e.name} hit a Firestore quota (RESOURCE_EXHAUSTED).`};if(null===e.readsToday||!e.readsLimit)return!1===e.quotaExhausted?{...n,status:"ok"}:n;let r=e.readsToday/e.readsLimit*100;return{...n,status:r>(t??80)?"firing":"ok",message:`${e.name} read ${f(e.readsToday)} of ${f(e.readsLimit)} documents today (${f(r)}%).`}}),AutoPauseRisk:(e,t)=>e.dbs&&e.dbs.filter(e=>"supabase"===e.provider).map(n=>{let r=w("AutoPauseRisk",n.id,{resourceId:n.id,title:n.name,provider:"supabase"});if("paused"===n.state)return{...r,status:"ok"};if(!n.lastApiAt)return r;let a=Math.floor((e.now.getTime()-n.lastApiAt.getTime())/864e5);return{...r,status:a>=(t??4)?"firing":"ok",message:`No API traffic for ${h(a,"day")}. Supabase pauses free projects after about 7 days.`}}),DnsProxiedToVercel:e=>e.dns&&e.dns.map(e=>w("DnsProxiedToVercel",e.id,{resourceId:e.resourceId,title:e.name,provider:"cloudflare",status:e.proxied&&e.pointsToVercel?"firing":"ok",message:`${e.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`})),DbQuotaHigh:(e,t)=>e.dbs&&e.dbs.filter(e=>$.has(e.provider)).map(e=>{let n=w("DbQuotaHigh",e.id,{resourceId:e.id,title:e.name,provider:b(e)});return null==e.quotaPct?n:{...n,status:e.quotaPct>(t??80)?"firing":"ok",message:`${e.name}: ${e.quotaLabel??"usage"} at ${f(e.quotaPct)}% of the free plan.`}}),ComputeHigh:(e,t)=>e.compute?e.compute.map(n=>{let a=w("ComputeHigh",n.id,{resourceId:n.id,title:n.name,provider:"supabase",sampleAt:n.latest?new Date(n.latest.at):null}),s=(0,r.B)(n.latest,(0,r.V)(t),e.now);return null===s?a:{...a,status:s.length?"firing":"ok",message:s.length?`${n.name}: ${s.join(", ")}.`:`${n.name} compute is back under the limits.`}}):null,CredentialExpiring:(e,t)=>e.accounts.map(n=>{let r=w("CredentialExpiring",n.id,{accountId:n.id,title:`${n.provider} \xb7 ${n.label}`,provider:n.provider});if("drive"===n.provider&&"error"===n.status&&n.lastError?.includes("invalid_grant"))return{...r,status:"firing",message:"Google Drive access was removed (invalid_grant). Reconnect it."};if(!n.expiresAt)return{...r,status:"ok"};let a=m(n.expiresAt,e.now);return{...r,status:a<(t??14)?"firing":"ok",message:a<0?`The ${n.provider} credential ${n.label} has expired.`:`The ${n.provider} credential ${n.label} expires in ${h(a,"day")}.`}}),VulnerableDependency:e=>e.deps?e.deps.flatMap(t=>{let n=e.apps.find(e=>e.id===t.appId);if(!n)return[];let r=w("VulnerableDependency",t.appId,{resourceId:t.appId,title:n.name,provider:"github"});if(t.error)return[r];let s=(0,a.g)(t.vulns);return s?[{...r,status:"firing",message:(0,a.L)(t.vulns),..."critical"===s?{severity:"critical"}:{}}]:[{...r,status:"ok",message:`${n.name} has no moderate, high or critical dependency advisories.`}]}):null,FrameworkVulnerable:e=>e.frameworks?e.frameworks.flatMap(t=>{let n=e.apps.find(e=>e.id===t.appId);if(!n)return[];let r=w("FrameworkVulnerable",t.appId,{resourceId:t.appId,title:n.name});return"ok"===t.status?[{...r,status:"ok",message:`${n.name} runs Next.js ${t.version??"(unknown version)"} with no known advisories.`}]:"vulnerable"===t.status&&t.findings.length?[{...r,status:"firing",message:p(t.version,t.findings),..."CRITICAL"===(0,s.N)(t.findings)?{severity:"critical"}:{}}]:[r]}):null};e.s(["f",0,function(e,n,r){let a=[],s=new Set;for(let i of n){if(!i.enabled||r&&!r.includes(i.key)||!t._[i.key])continue;let n=A[i.key](e,i.threshold);n&&(s.add(i.key),a.push(...n))}return{observations:a,evaluated:s}}],658266);let I=["MonitorDown","HighLatency"],S=["telegram","discord"],x=e=>e.channels.some(e=>S.includes(e));function V(e,t){return t.collectorStale&&"CollectorStale"!==e.rule?"CollectorStale":e.resourceId&&I.includes(e.rule)?t.mutedApps.get(e.resourceId)??null:null}let _=(e,t)=>"critical"===t&&"warning"===e?"critical":e,D=(e,t)=>e.silencedUntilResolved||null!==e.silencedUntil&&e.silencedUntil.getTime()>t.getTime(),R=(e,t)=>`${e}|${t}`;e.s(["f",0,function(e,n,r,a,s){let i={open:[],touch:[],resolve:[]},o=new Map(a.map(e=>[e.key,e])),l=new Map(n.map(e=>[R(e.rule,e.subject),e])),u=new Set(e.map(e=>R(e.ruleKey,e.subject))),d=e=>i.resolve.push({id:e.id,pending:e.notifiedOpen?"resolve":null});for(let n of e){let e=o.get(n.ruleKey),a=l.get(R(n.ruleKey,n.subject));if(!e||!e.enabled){i.resolve.push({id:n.id,pending:null});continue}if(!r.has(n.ruleKey))continue;if(!a){i.resolve.push({id:n.id,pending:null});continue}if("unknown"===a.status)continue;let u=a.provider?s.incidents.get(a.provider)??null:null;if("firing"===a.status){let t=V(a,s),r=n.notifiedOpen&&null!==n.lastNotifiedAt&&s.now.getTime()-n.lastNotifiedAt.getTime()>=216e5,o={id:n.id,okStreak:0,lastSampleAt:a.sampleAt??n.lastSampleAt,lastSeenAt:s.now,message:a.message,causedBy:t,providerIncident:u},l=!n.notifiedOpen&&(!n.pendingSince||s.now.getTime()-n.pendingSince.getTime()>=216e5);(r||l)&&!D(n,s.now)&&!t&&null===n.pending&&x(e)&&(o.pending=r?"repeat":"open"),i.touch.push(o);continue}if(!t._[n.ruleKey].sampled||null===a.sampleAt){d(n);continue}if(!(null===n.lastSampleAt||a.sampleAt.getTime()>n.lastSampleAt.getTime()))continue;let c=n.okStreak+1;c>=2?d(n):i.touch.push({id:n.id,okStreak:c,lastSampleAt:a.sampleAt})}for(let e of n){if("firing"!==e.status||u.has(R(e.rule,e.subject))||s.maintenance.has(e.subject)||e.resourceId&&s.maintenance.has(e.resourceId))continue;let t=o.get(e.rule);if(!t)continue;let n=V(e,s);i.open.push({ruleKey:e.rule,subject:e.subject,resourceId:e.resourceId,accountId:e.accountId,severity:_(t.severity,e.severity),title:e.title,message:e.message,startedAt:s.now,lastSeenAt:s.now,lastSampleAt:e.sampleAt,causedBy:n,providerIncident:e.provider?s.incidents.get(e.provider)??null:null,pending:n||!x(t)?null:"open"})}return i}],211256)},582748,e=>{var t=e.i(89491),n=e.i(960063),r=e.i(800366),a=e.i(326003),s=e.i(843448),i=e.i(647006),o=e.i(328203);e.s(["d",0,function(e,i){let l={id:e.id,name:e.name,state:e.state,sizeBytes:null,sizeLimitBytes:null,lastApiAt:null,cuHours:null,cuLimit:null,readsToday:null,readsLimit:null,quotaExhausted:null};if("supabase_project"===e.kind){let t=(0,a.k)(a.B,e.data),n=(0,o.Z)(t.lastTrafficAt),r=(0,o.Z)(t.trafficAt),i=n??(r&&!t.trafficError?new Date(r.getTime()-6048e5):null);return{...l,provider:"supabase",sizeBytes:t.sizeBytes??null,sizeLimitBytes:s.R,lastApiAt:i}}if("neon_project"===e.kind){let t=(0,a.k)(a.s,e.data),n=(t.branches??[]).map(e=>e.logicalSize).filter(e=>"number"==typeof e);return{...l,provider:"neon",cuHours:null==t.computeSeconds?null:t.computeSeconds/3600,cuLimit:r.a.cuHours,sizeBytes:n.length?n.reduce((e,t)=>e+t,0):null,sizeLimitBytes:r.a.storageBytes}}if("firestore"===e.kind){let t=(0,a.k)(a.w,e.data),r=(0,o.Z)(t.opsAt),s=null!=t.reads&&r&&r.getTime()>=(0,n.a)(i).getTime()?t.reads:null,u=null!=t.latencyMs||null!=t.pingError;return{...l,provider:"firestore",readsToday:s,readsLimit:n.T.reads,quotaExhausted:u?"RESOURCE_EXHAUSTED"===t.pingReason:null}}if("turso_database"===e.kind){let n=(0,a.k)(a.N,e.data),r=(0,t.u)((0,t.G)(n,i));return{...l,provider:"turso",sizeBytes:n.orgStorageBytes??null,sizeLimitBytes:t.g.storageBytes,quotaPct:r?.pct??null,quotaLabel:r?`${r.label} ${r.text}`:null}}if("upstash_redis"===e.kind){let n=(0,a.k)(a.e,e.data),r=(0,t.u)((0,t.$)(n,i));return{...l,provider:"upstash",sizeBytes:n.storageBytes??null,sizeLimitBytes:t.W.storageBytes,quotaPct:r?.pct??null,quotaLabel:r?`${r.label} ${r.text}`:null}}if("d1_database"===e.kind){let n=(0,a.k)(a.x,e.data),r=(0,t.u)((0,t.I)(n,i));return{...l,provider:"d1",sizeBytes:n.sizeBytes??null,sizeLimitBytes:t.M.dbBytes,quotaPct:r?.pct??null,quotaLabel:r?`${r.label} ${r.text}`:null}}return null},"S",0,function(e,t){let n=e.filter(e=>Array.isArray(e.data.records));if(!n.length)return null;let r=e.map(e=>e.name),a=[];for(let e of n){let n=t.filter(t=>(0,o.J)(t.name,r)===e.name.toLowerCase().replace(/\.$/,"")),s=[...new Set(n.flatMap(e=>(0,i.q)(e.data).vercel?.recommendedIps??[]))];for(let t of(0,i.q)(e.data).records){if(!(0,o.l)(t,s))continue;let r=t.name.toLowerCase().replace(/\.$/,""),i=n.find(e=>e.name.toLowerCase().replace(/\.$/,"")===r);a.push({id:`${e.id}:${t.id}`,resourceId:i?.id??e.id,name:t.name,proxied:t.proxied,pointsToVercel:!0})}}return a},"r",0,function(e,t){return e.length||t.length?[...e.map(e=>({id:e.id,name:e.name,tlsNotAfter:null,expiresAt:(0,o.Z)((0,i.q)(e.data).rdap?.expiresAt)})),...t.map(e=>({id:e.id,name:e.name,tlsNotAfter:(0,o.Z)((0,i.q)(e.data).tls?.notAfter),expiresAt:null}))]:null}])},485647,e=>{var t=e.i(875225),n=e.i(349129),r=e.i(518899),a=e.i(924924),s=e.i(618916),i=e.i(582748),o=e.i(794713),l=e.i(662860),u=e.i(764766),d=e.i(433609),c=e.i(800523);async function p(){return(0,a.f)().select({appId:s.links.fromResourceId,dbId:s.links.toResourceId}).from(s.links).where((0,t.u)(s.links.kind,"uses_db")).limit(500)}async function f(e){let f=(0,t.b)((0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt)),[m,h,g,y,k]=await Promise.all([(0,o.d)(),(0,o.D)(),(0,a.f)().select({m:s.monitors,appName:s.resources.name,appMeta:s.resources.meta}).from(s.monitors).innerJoin(s.resources,(0,t.u)(s.resources.id,s.monitors.resourceId)).where((0,t.b)(f,(0,t.u)(s.monitors.paused,!1),(0,t.u)(s.monitors.ownerPaused,!1))),(0,a.f)().select({id:s.resources.id,name:s.resources.name,meta:s.resources.meta}).from(s.resources).where((0,t.b)(f,(0,t.u)(s.resources.kind,"app"))),(0,a.f)().select({id:s.accounts.id,provider:s.accounts.provider,label:s.accounts.label,expiresAt:s.accounts.expiresAt,status:s.accounts.status,lastError:s.accounts.lastError}).from(s.accounts)]),v=g.map(e=>e.m.id),w=v.length?await (0,a.f)().select({id:s.checks.monitorId,n:r.B`count(*)::int`,p95:r.B`percentile_cont(0.95) within group (order by ${s.checks.latencyMs})::float8`}).from(s.checks).where((0,t.b)((0,t.y)(s.checks.monitorId,v),(0,t.B)(s.checks.at,new Date(e.getTime()-6e5)),(0,t.u)(s.checks.inMaintenance,!1))).groupBy(s.checks.monitorId):[],b=y.map(e=>e.id),$=b.length?await (0,a.f)().selectDistinctOn([s.deployments.resourceId],{appId:s.deployments.resourceId,state:s.deployments.state,sha:s.deployments.commitSha,createdAt:s.deployments.createdAtProvider}).from(s.deployments).where((0,t.b)((0,t.y)(s.deployments.resourceId,b),(0,t.u)(s.deployments.target,"production"))).orderBy(s.deployments.resourceId,(0,n.A)(s.deployments.createdAtProvider)):[],A=await (0,a.f)().select({id:s.resources.id,name:s.resources.name,kind:s.resources.kind,state:s.snapshots.state,data:s.snapshots.data}).from(s.resources).innerJoin(s.snapshots,(0,t.u)(s.snapshots.resourceId,s.resources.id)).where((0,t.b)(f,(0,t.y)(s.resources.kind,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"]))),I=e=>A.filter(t=>t.kind===e),S=A.filter(e=>["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"].includes(e.kind)),x=I("zone"),V=I("domain"),_=await p(),D=await (0,l.Y)().catch(()=>null),R=b.length?await (0,d.a)(b).catch(()=>null):null,M=b.length?await (0,c.F)(b).catch(()=>null):null;return{now:e,lastMinuteRunAt:m,lastAnyRunAt:h,monitors:g.map(({m:e,appName:t,appMeta:n})=>{let r=w.find(t=>t.id===e.id),a="heartbeat"===e.kind;return{id:e.id,appId:e.resourceId,appName:t,url:a?e.name??"heartbeat":e.url,kind:a?"heartbeat":"http",state:e.state,failStreak:e.failStreak,lastStatus:e.lastStatus,lastError:e.lastError,lastCheckedAt:e.lastCheckedAt,p95Last10:r?.p95??null,checksLast10:r?.n??0,movedTo:a?null:(0,u.u)(e.url,{name:t,meta:n},y.filter(t=>t.id!==e.resourceId),{lastError:e.lastError})?.to??null}}),apps:y.map(e=>{let t=$.find(t=>t.appId===e.id);return{id:e.id,name:e.name,latestProduction:t?{state:t.state,sha:t.sha,createdAt:t.createdAt}:null}}),accounts:k,dbs:S.length?S.map(t=>(0,i.d)(t,e)).filter(e=>null!==e):null,domains:(0,i.r)(x,V),dns:(0,i.S)(x,V),links:_,compute:D,deps:R&&R.length?R:null,frameworks:M&&M.length?M:null}}e.s(["f",0,f])},532148,e=>{var t=e.i(875225),n=e.i(349129),r=e.i(518899),a=e.i(924924),s=e.i(618916),i=e.i(278619),o=e.i(658266),l=e.i(211256),u=e.i(275426),d=e.i(154491),c=e.i(485647),p=e.i(739886),f=e.i(111970);let m={vercel:"Vercel",supabase:"Supabase",neon:"Neon",cloudflare:"Cloudflare",firebase:"Firebase",gcp:"Google Cloud"};async function h(){return(await (0,a.f)().select().from(s.alertRules)).filter(e=>(0,i.h)(e.key)).map(e=>({key:e.key,severity:e.severity,threshold:e.threshold,enabled:e.enabled,channels:e.channels}))}async function g(e,n={}){let[r,y,k,v,w,b]=await Promise.all([(0,c.f)(e),h(),(0,a.f)().select().from(s.alerts).where((0,t.M)(s.alerts.resolvedAt)),(0,a.f)().select({provider:s.providerStatus.provider,state:s.providerStatus.state}).from(s.providerStatus),(0,p.f)(),(0,f.I)()]),$=new Map(r.accounts.map(e=>[e.id,e.provider])),A=k.filter(e=>!(0,d.O)(b,e.ruleKey,e.accountId?$.get(e.accountId):null)),I=(0,o.f)(r,y,n.only),S=I.evaluated,x=I.observations.filter(e=>!(0,d.O)(b,e.rule,e.provider)),V=y.find(e=>"CollectorStale"===e.key),_=void 0===r.lastAnyRunAt?r.lastMinuteRunAt:r.lastAnyRunAt,D=!!V?.enabled&&(!_||e.getTime()-_.getTime()>(V.threshold??5)*6e4),R=new Map((r.dbs??[]).filter(e=>"paused"===e.state).map(e=>[e.id,e.name])),M=new Map(r.links.filter(e=>R.has(e.dbId)).map(e=>[e.appId,`DatabasePaused \xb7 ${R.get(e.dbId)}`])),B=new Map(v.filter(e=>"warn"===e.state||"err"===e.state).map(e=>["gcp"===e.provider?"firebase":e.provider,m[e.provider]??e.provider])),T=(0,u.u)(w,r.monitors.map(e=>({id:e.id,appId:e.appId})),e,r.apps.map(e=>e.id)),z=A.filter(e=>(0,i.h)(e.ruleKey)).map(e=>({id:e.id,ruleKey:e.ruleKey,subject:e.subject,okStreak:e.okStreak,lastSampleAt:e.lastSampleAt,silencedUntil:e.silencedUntil,silencedUntilResolved:e.silencedUntilResolved,notifiedOpen:e.notifiedOpen,lastNotifiedAt:e.lastNotifiedAt,pending:e.pending,pendingSince:e.pendingSince})),C=(0,l.f)(z,x,S,y,{now:e,collectorStale:D,mutedApps:M,incidents:B,maintenance:T});return C.open.length||C.touch.length||C.resolve.length?(await (0,a.f)().transaction(async n=>{for(let t of C.open)await n.insert(s.alerts).values({...t,pendingSince:t.pending?e:null}).onConflictDoNothing();for(let r of C.touch){let{id:a,pending:i,...o}=r;await n.update(s.alerts).set({...o,...i?{pending:i,pendingSince:e}:{}}).where((0,t.b)((0,t.u)(s.alerts.id,a),(0,t.M)(s.alerts.resolvedAt)))}for(let r of C.resolve)await n.update(s.alerts).set({resolvedAt:e,pending:r.pending,pendingSince:r.pending?e:null}).where((0,t.b)((0,t.u)(s.alerts.id,r.id),(0,t.M)(s.alerts.resolvedAt)))}),{opened:C.open.length,resolved:C.resolve.length}):{opened:0,resolved:0}}let y=r.B`case ${s.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`;async function k(e=new Set){return(await (0,a.f)().select({a:s.alerts,name:s.resources.name,kind:s.resources.kind}).from(s.alerts).leftJoin(s.resources,(0,t.u)(s.resources.id,s.alerts.resourceId)).where((0,t.b)((0,t.M)(s.alerts.resolvedAt),(0,f.s)(e))).orderBy(y,(0,n.A)(s.alerts.startedAt)).limit(200)).map(({a:e,name:t,kind:n})=>({...e,resourceName:t??null,resourceKind:n??null}))}async function v(){return k(await (0,f.I)())}async function w(e){return(await (0,a.f)().select({id:s.alerts.id,ruleKey:s.alerts.ruleKey,severity:s.alerts.severity,title:s.alerts.title,resourceId:s.alerts.resourceId,startedAt:s.alerts.startedAt,resolvedAt:s.alerts.resolvedAt}).from(s.alerts).where((0,t.b)((0,t.E)(s.alerts.resolvedAt),(0,t.B)(s.alerts.resolvedAt,new Date(e.getTime()-6048e5)))).orderBy((0,n.A)(s.alerts.resolvedAt)).limit(50)).flatMap(e=>e.resolvedAt?[{...e,resolvedAt:e.resolvedAt}]:[])}e.s(["$",0,g,"q",0,k,"I",0,w,"i",0,v])},433609,455037,502240,751762,970465,800523,e=>{var t=e.i(90801),n=e.i(875225),r=e.i(349129),a=e.i(518899),s=e.i(924924),i=e.i(618916),o=e.i(921991),l=e.i(547499),u=e.i(479301),d=e.i(32391),c=e.i(804581),p=e.i(891262),f=e.i(581321),m=e.i(413230),h=e.i(455744),g=e.i(971724),y=e.i(105954),k=e.i(206033),v=e.i(180473);let w=e=>/^[A-Za-z0-9_.-]{1,100}\/[A-Za-z0-9_.-]{1,100}$/.test(e)&&!e.includes(".."),b=e=>e.split("/").map(encodeURIComponent).join("/");async function $(e,t,n,r="application/vnd.github+json"){let a,s=n.timeoutMs??5e3;try{a=await (n.fetch??fetch)(`https://api.github.com${e}`,{headers:{Authorization:`Bearer ${t}`,Accept:r,"X-GitHub-Api-Version":"2022-11-28","User-Agent":"Watchbell"},signal:AbortSignal.timeout(s),cache:"no-store"})}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 i=await a.text().catch(()=>"");if(a.ok){let e=null;if(r.endsWith("+json")&&!r.includes(".raw"))try{e=JSON.parse(i)}catch{e=null}return{ok:!0,data:e,text:i,headers:a.headers}}let o=a.status;if(401===o)return{ok:!1,kind:"auth",status:o,error:"GitHub rejected this token (401). It may have expired or been revoked."};if((403===o||429===o)&&("0"===a.headers.get("x-ratelimit-remaining")||429===o)){let e=Number(a.headers.get("x-ratelimit-reset"));return{ok:!1,kind:"transient",status:o,retryAfterS:Number.isFinite(e)&&e>0?Math.max(1,e-Math.floor(Date.now()/1e3)):60,error:"GitHub's rate limit is used up for now. The next run tries again."}}return 403===o?{ok:!1,kind:"scope",status:o,error:"This token can't read that (403). It needs Metadata, Contents and Actions read on the repository."}:404===o?{ok:!1,kind:"missing",status:o,error:"GitHub doesn't show this to the token (404)."}:{ok:!1,kind:"transient",status:o,error:`GitHub returned an error (${o}).`}}let A=g.z.object({id:k.z.number(),name:y.z.string(),full_name:y.z.string(),owner:g.z.object({login:y.z.string()}),default_branch:y.z.string().nullish(),private:v.z.boolean(),archived:v.z.boolean().optional(),html_url:y.z.string().nullish(),pushed_at:y.z.string().nullish()}),I=e=>({ok:!1,kind:"format",error:`GitHub answered ${e} in a format the console doesn't recognise.`});async function S(e,t={}){let n=await $("/user",e,t);return n.ok?g.z.object({login:y.z.string()}).safeParse(n.data).success?{ok:!0,data:{expiresAt:function(e){let t=e.get("github-authentication-token-expiration")?.trim();if(!t)return null;let n=/^(\d{4}-\d{2}-\d{2})[ T](\d{2}:\d{2}:\d{2})\s*(UTC|Z|[+-]\d{2}:?\d{2})?$/.exec(t);if(!n)return null;let r=n[3]&&"UTC"!==n[3]&&"Z"!==n[3]?n[3].includes(":")?n[3]:`${n[3].slice(0,3)}:${n[3].slice(3)}`:"Z",a=new Date(`${n[1]}T${n[2]}${r}`);return Number.isNaN(a.getTime())?null:a}(n.headers)}}:I("the token check"):n}async function x(e,t={}){let n=[];for(let r=1;r<=3;r++){let a=await $(`/user/repos?per_page=100&page=${r}&sort=pushed&affiliation=owner,collaborator,organization_member`,e,t);if(!a.ok)return a;let s=h.z.array(A).safeParse(a.data);if(!s.success)return I("the repository list");for(let e of s.data){if(!w(e.full_name))continue;let t=e.pushed_at?new Date(e.pushed_at):null;n.push({id:String(e.id),owner:e.owner.login,name:e.name,fullName:e.full_name,defaultBranch:e.default_branch??null,private:e.private,archived:e.archived??!1,htmlUrl:e.html_url??null,pushedAt:t&&!Number.isNaN(t.getTime())?t:null})}if(s.data.length<100)return{ok:!0,data:{repos:n,truncated:!1}}}return{ok:!0,data:{repos:n,truncated:!0}}}async function V(e,t,n={}){if(!w(t))return{ok:!0,data:null};let r=await $(`/repos/${b(t)}/contents/package.json`,e,n,"application/vnd.github.raw+json");if(!r.ok)return"missing"===r.kind?{ok:!0,data:null}:r;if(r.text.length>262144)return{ok:!0,data:null};try{let e=JSON.parse(r.text).name;return{ok:!0,data:"string"==typeof e&&e.trim()&&e.length<=214?e.trim():null}}catch{return{ok:!0,data:null}}}let _=g.z.object({total_count:k.z.number(),workflow_runs:h.z.array(g.z.object({status:y.z.string().nullish(),conclusion:y.z.string().nullish(),name:y.z.string().nullish(),display_title:y.z.string().nullish(),head_branch:y.z.string().nullish(),head_sha:y.z.string().nullish(),html_url:y.z.string().nullish(),run_number:k.z.number().nullish(),updated_at:y.z.string().nullish(),created_at:y.z.string().nullish()}))});async function D(e,t,n,r={}){if(!w(t))return{ok:!1,kind:"format",error:"That isn't a repository name."};let a=new URLSearchParams({per_page:"1",exclude_pull_requests:"true",...n?{branch:n}:{}}),s=await $(`/repos/${b(t)}/actions/runs?${a}`,e,r);if(!s.ok)return s;let i=_.safeParse(s.data);if(!i.success)return I("the Actions runs");let o=i.data.workflow_runs[0];return o?{ok:!0,data:{status:o.status??"unknown",conclusion:o.conclusion??null,name:o.name??o.display_title??null,branch:o.head_branch??null,sha:o.head_sha??null,url:o.html_url?.startsWith("https://github.com/")?o.html_url:null,at:o.updated_at??o.created_at??null,runNumber:o.run_number??null}}:{ok:!0,data:{none:!0}}}let R=e=>/^[A-Za-z0-9._\/-]{1,200}$/.test(e)&&!e.includes("..")&&!e.startsWith("/")&&!e.endsWith("/");async function M(e,t,n,r,a,s={}){if(!w(t)||!R(r)||!n||n.split("/").includes("..")||n.startsWith("/"))return{ok:!1,kind:"format",error:"That isn't a file in a repository."};let i=n.split("/").map(encodeURIComponent).join("/"),o=await $(`/repos/${b(t)}/contents/${i}?ref=${encodeURIComponent(r)}`,e,s,"application/vnd.github.raw+json");return o.ok?Buffer.byteLength(o.text,"utf8")>a||o.text.includes("\0")||(o.text.match(/�/g)?.length??0)>8?{ok:!0,data:null}:{ok:!0,data:o.text}:o}async function B(e,t,n,r={}){if(!w(t)||!/^[0-9a-f]{40}$/.test(n))return{ok:!1,kind:"format",error:"That isn't a repository or commit."};let a=await $(`/repos/${b(t)}/actions/runs?head_sha=${n}&per_page=50`,e,r);if(!a.ok)return a;let s=g.z.object({workflow_runs:h.z.array(g.z.object({status:y.z.string().nullish(),conclusion:y.z.string().nullish()}))}).safeParse(a.data);return s.success?{ok:!0,data:s.data.workflow_runs.map(e=>({status:e.status??"queued",conclusion:e.conclusion??null}))}:I("the Actions runs")}g.z.object({sha:y.z.string().optional(),truncated:v.z.boolean().optional(),tree:h.z.array(g.z.object({path:y.z.string(),type:y.z.string(),size:k.z.number().optional()}))}),e.s(["$",0,262144,"V",0,M,"j",0,$,"k",0,S,"M",0,w,"c",0,R,"W",0,D,"o",0,x,"q",0,V,"f",0,b,"L",0,B],455037);let T=h.z.array(g.z.object({name:y.z.string(),type:y.z.string(),sha:y.z.string(),size:k.z.number().optional()}));async function z(e,t,n,r={},a=null){if(!w(t)||!R(n))return{ok:!1,kind:"format",error:"That isn't a repository name or ref."};if(null!==a&&(0,f.Q)(a)!==a)return{ok:!1,kind:"format",error:"That isn't a folder in a repository."};let s=a?a.split("/").map(encodeURIComponent).join("/"):"",i=await $(`/repos/${b(t)}/contents/${s}?ref=${encodeURIComponent(n)}`,e,r);if(!i.ok)return i;let o=T.safeParse(i.data);return o.success?{ok:!0,data:o.data.filter(e=>"file"===e.type&&/^[0-9a-f]{40}$/.test(e.sha)).map(e=>({name:e.name,sha:e.sha,size:e.size??0}))}:{ok:!1,kind:"format",error:"GitHub answered the file list in a format the console doesn't recognise."}}async function C(e,t,n,r={}){if(!w(t)||!R(n))return{ok:!1,kind:"format",error:"That isn't a repository name or branch."};let a=await $(`/repos/${b(t)}/git/ref/heads/${n.split("/").map(encodeURIComponent).join("/")}`,e,r);return a.ok?{ok:!0,data:!0}:"missing"===a.kind?{ok:!0,data:!1}:a}function j(e,t,n,r,a,s={}){return M(e,t,n,r,a,s)}async function N(e,t,n={}){if(!w(t))return{ok:!1,kind:"format",error:"That isn't a repository name."};let r=await $(`/repos/${b(t)}/dependabot/alerts?state=open&ecosystem=npm&per_page=100`,e,n);if(!r.ok)return"scope"===r.kind||"missing"===r.kind?{ok:!0,data:{denied:!0}}:r;let a=(0,m.E)(r.data);return a?{ok:!0,data:{alerts:a}}:{ok:!1,kind:"format",error:"GitHub answered the Dependabot alerts in a format the console doesn't recognise."}}function E(e,t){return"string"==typeof e&&e!==t&&R(e)?e:null}async function O(){let[e]=await (0,s.f)().select().from(i.accounts).where((0,n.u)(i.accounts.provider,"github")).orderBy((0,r.M)(i.accounts.createdAt)).limit(1);if(!e)return{error:"GitHub isn't connected."};let t=(0,o.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},(0,l.f)().OPS_ENCRYPTION_KEY);return t?{token:t,accountId:e.id}:{error:"Can't read the stored GitHub credential. Replace it on Connections."}}async function L(){let[e]=await (0,s.f)().select({value:i.settings.value}).from(i.settings).where((0,n.u)(i.settings.key,"deps.scanAll")).limit(1);return e?.value===!0}e.s(["f",0,E],502240);let P=e=>({dir:(0,f.Q)((e??{}).rootDirectory),unsupported:(0,f.l)((e??{}).rootDirectoryUnsupported),branch:E((e??{}).productionBranch,null)});async function H(e){let t=[...new Set(e.filter(u.f))],r=new Map;if(!t.length)return r;let a=await (0,s.f)().select({repoId:i.appRepos.repoId,name:i.resources.name,monitored:i.resources.monitored,meta:i.resources.meta}).from(i.appRepos).innerJoin(i.resources,(0,n.u)(i.resources.id,i.appRepos.appId)).where((0,n.b)((0,n.y)(i.appRepos.repoId,t),(0,n.M)(i.resources.goneAt))).limit(1e3);for(let e of(a.sort((e,t)=>Number(!!t.monitored)-Number(!!e.monitored)||(e.name<t.name?-1:+(e.name>t.name))),a))r.has(e.repoId)||r.set(e.repoId,P(e.meta));return r}async function U(){let e={id:i.githubRepos.id,fullName:i.githubRepos.fullName,defaultBranch:i.githubRepos.defaultBranch,scannedAt:i.dependencyScans.scannedAt},t=(0,n.b)((0,n.M)(i.githubRepos.goneAt),(0,n.u)(i.githubRepos.archived,!1)),r=await L()?await (0,s.f)().select(e).from(i.githubRepos).leftJoin(i.dependencyScans,(0,n.u)(i.dependencyScans.repoId,i.githubRepos.id)).where(t).limit(500):await (0,s.f)().selectDistinct(e).from(i.appRepos).innerJoin(i.githubRepos,(0,n.u)(i.githubRepos.id,i.appRepos.repoId)).leftJoin(i.dependencyScans,(0,n.u)(i.dependencyScans.repoId,i.githubRepos.id)).where(t).limit(500),a=r.length?await H(r.map(e=>e.id)):new Map;return(0,m.M)(r.map(e=>({...e,rootDir:a.get(e.id)?.dir??null,rootDirUnsupported:a.get(e.id)?.unsupported??null,prodBranch:a.get(e.id)?.branch??null})))}let q=(e,t)=>e.length>t?`${e.slice(0,t-1)}…`:e;async function W(e,t){let n=new Date;await (0,s.f)().insert(i.dependencyScans).values({repoId:e,...t,updatedAt:n}).onConflictDoUpdate({target:i.dependencyScans.repoId,set:{...t,updatedAt:n}})}async function F(e){return(0,s.f)().select({id:i.dependencyVulns.id,package:i.dependencyVulns.package,installedVersion:i.dependencyVulns.installedVersion,vulnId:i.dependencyVulns.vulnId,severity:i.dependencyVulns.severity,fixedVersion:i.dependencyVulns.fixedVersion,summary:i.dependencyVulns.summary,aliases:i.dependencyVulns.aliases,dev:i.dependencyVulns.dev,direct:i.dependencyVulns.direct,source:i.dependencyVulns.source}).from(i.dependencyVulns).where((0,n.b)((0,n.u)(i.dependencyVulns.repoId,e),(0,n.M)(i.dependencyVulns.resolvedAt))).limit(2e3)}function Z(e,t){for(let n of d.a){let r=e.find(e=>e.name===n.path);if(r)return{path:(0,f.H)(t,n.path),kind:n.kind,sha:r.sha}}return null}async function K(e,r,a,o={}){let l=()=>({...o,timeoutMs:Math.max(1e3,Math.min(a-Date.now(),1e4))}),u=async e=>(await W(r.id,{error:q(e,300),scannedAt:new Date}).catch(()=>void 0),{status:"failed",error:e}),h=r.defaultBranch??"HEAD",g=E(r.prodBranch,r.defaultBranch),y=!1;if(g){let t=await C(e,r.fullName,g,l());if(!t.ok)return u(t.error);t.data&&(h=g,y=!0)}let k=y?`Scanned ${g}, the branch Vercel deploys to production.`:null,v=(0,f.Q)(r.rootDir),w=v?null:(0,f.l)(r.rootDirUnsupported),b=w?`The Vercel Root Directory "${w}" couldn't be used (Watchbell reads plain folder names, at most 4 deep); scanned the repository root.`:null,$=await z(e,r.fullName,h,l(),v);if(!$.ok)return u(v&&"missing"===$.kind?`The folder ${(0,f.x)(v)} isn't in ${r.fullName} on ${h}.`:$.error);let A=Z($.data,v),I=$.data.find(e=>"package.json"===e.name)??null,S=!1,x=null;if(v&&I&&!A){let t=await z(e,r.fullName,h,l());if(!t.ok)return u(t.error);S=null!==(A=Z(x=t.data,null))}let V=A?A.sha:I?`pkg:${I.sha}`:null,_=V&&v?`${v}:${V}${S&&I?`+${I.sha}`:""}`:V&&w?`odd:${V}`:V,D=_&&y?`br:${g}:${_}`:_,[R]=await (0,s.f)().select().from(i.dependencyScans).where((0,n.u)(i.dependencyScans.repoId,r.id)).limit(1),M=new Date;if(!(0,m.U)(R??null,D,M,o.force))return{status:"unchanged"};if(!D){let e=await F(r.id);return e.length&&await (0,s.f)().update(i.dependencyVulns).set({resolvedAt:M}).where((0,n.y)(i.dependencyVulns.id,e.map(e=>e.id))),await W(r.id,{lockfilePath:null,lockfileSha:null,packageCount:0,scannedAt:M,queriedAt:M,error:null,note:q([k,b,`No package.json or lockfile ${v?"in":"at"} ${(0,f.x)(v)}.`].filter(Boolean).join(" "),300)}),{status:"scanned",vulns:0,packages:0,note:"no package.json"}}let B=(0,f.H)(v,"package.json"),T=I?await j(e,r.fullName,B,h,262144,l()):null;if(T&&!T.ok)return u(T.error);let O=T?.ok&&T.data?(0,d.b)(T.data):null,L=null,P="package-json",H=S&&A?`Scanned ${(0,f.x)(v)} with the repository root's ${A.path} (workspaces).`:null;if(A){if(2e3>a-Date.now())return u("Time budget used before the lockfile was read; the next run tries again.");let t=await j(e,r.fullName,A.path,h,0xf00000,{...o,timeoutMs:Math.max(1e3,Math.min(a-Date.now(),2e4))});if(!t.ok)return u(t.error);let n=!0;if(S&&v&&t.data&&!(0,f.p)(A.kind,t.data,v)){let t=x?.some(e=>"package.json"===e.name)?await j(e,r.fullName,"package.json",h,262144,l()):null;if(t&&!t.ok)return u(t.error);n=(0,f.F)(t?.data??null,v)}n?(L=t.data?(0,d.D)(A.kind,t.data):null,P=A.kind,L||(H=[H,`${A.path} couldn't be read; the versions come from package.json ranges (approximate).`].filter(Boolean).join(" "))):(H=`The repository root's ${A.path} isn't a workspace that includes ${v}, so the versions come from ${B} ranges (approximate).`,A=null)}if(L){let e=(0,t.m)(L,O);L=e.deps,e.stale.length&&(H=[H,(0,t.M)(e.stale)].filter(Boolean).join(" "))}else L=O?(0,d.e)(O):[],P="package-json",H??=A?null:"No lockfile: the versions come from package.json ranges (approximate).";let U=await F(r.id),G=[];if(L.length){let e=await (0,p.K)(L,{fetch:o.fetch,deadline:a});if(!e.ok)return u(e.error);let t=(0,m.A)(U,!0===o.force),n=await (0,p.J)((0,m.z)(L,e.ids,t),{fetch:o.fetch,deadline:a});if(!n.ok)return u(n.error);G=(0,c.i)(L,e.ids,n.map,t)}if(a-Date.now()>1500){let t=await N(e,r.fullName,l());t.ok&&"alerts"in t.data?G=(0,m.R)(G,t.data.alerts,L):t.ok&&(H=[H,"Dependabot alerts aren't readable with this token (optional: Dependabot alerts: Read)."].filter(Boolean).join(" "))}let J=(0,m.h)(U,G,(0,d.K)(O));H=[k,b,H].filter(Boolean).join(" ")||null;let Y=new Date;return await (0,s.f)().transaction(async e=>{for(let t of(J.insert.length&&await e.insert(i.dependencyVulns).values(J.insert.map(e=>({repoId:r.id,package:e.package,installedVersion:e.installedVersion,vulnId:e.vulnId,aliases:e.aliases,severity:e.severity,fixedVersion:e.fixedVersion,summary:e.summary,direct:e.direct,dev:e.dev,source:e.source,firstSeenAt:Y,lastSeenAt:Y}))).onConflictDoNothing(),J.update))await e.update(i.dependencyVulns).set({severity:t.severity,fixedVersion:t.fixedVersion,summary:t.summary,aliases:t.aliases,dev:t.dev,direct:t.direct,lastSeenAt:Y}).where((0,n.u)(i.dependencyVulns.id,t.id));J.resolve.length&&await e.update(i.dependencyVulns).set({resolvedAt:Y}).where((0,n.b)((0,n.y)(i.dependencyVulns.id,J.resolve),(0,n.M)(i.dependencyVulns.resolvedAt))),await e.insert(i.dependencyScans).values({repoId:r.id,lockfilePath:A?.path??(I?B:null),lockfileSha:D,packageCount:L.length,scannedAt:Y,queriedAt:Y,error:null,note:H?q(H,300):null,updatedAt:Y}).onConflictDoUpdate({target:i.dependencyScans.repoId,set:{lockfilePath:A?.path??(I?B:null),lockfileSha:D,packageCount:L.length,scannedAt:Y,queriedAt:Y,error:null,note:H?q(H,300):null,updatedAt:Y}})}),{status:"scanned",vulns:J.insert.length+J.update.length,packages:L.length,note:"package-json"===P?H:null}}async function G(e,t={}){var r,a;let o,l,u,d,c=await O();if("error"in c)return{error:c.error};let{first:p,only:f,skip:m,...h}=t,g=(r=await U(),o=(a={first:p,only:f,skip:m}).only?new Set(a.only):null,l=new Set(a.skip??[]),u=(o?r.filter(e=>o.has(e.id)):r).filter(e=>!l.has(e.id)),d=new Set(a.first??[]),[...u.filter(e=>d.has(e.id)),...u.filter(e=>!d.has(e.id))]),y={scanned:0,unchanged:0,failed:[],left:0,done:[],listed:g.map(e=>e.id)};for(let[t,n]of g.entries()){if(e-Date.now()<4e3){y.left=g.length-t;break}y.done.push(n.id);try{let t=await K(c.token,n,e,h);"scanned"===t.status?y.scanned++:"unchanged"===t.status?y.unchanged++:y.failed.push(`${n.fullName}: ${t.error}`)}catch(e){y.failed.push(`${n.fullName}: ${e instanceof Error?e.name:"error"}`)}}return await (0,s.f)().delete(i.dependencyVulns).where((0,n.b)((0,n.E)(i.dependencyVulns.resolvedAt),(0,n.S)(i.dependencyVulns.resolvedAt,new Date(Date.now()-7776e6)))).catch(()=>void 0),y}let J=async()=>(await (0,s.f)().select({id:i.accounts.id}).from(i.accounts).where((0,n.u)(i.accounts.provider,"github")).limit(1)).length>0;function Y(e){let t=e.failed.filter(e=>!/didn't answer in time|no time left|time budget|rate limit/i.test(e)),n=e.failed.length-t.length+(e.left??0);n&&console.info(`deps: ${n} repositor${1===n?"y":"ies"} wait for the next run`);let r=t.slice(0,3);return t.length>3&&r.push(`+${t.length-3} more`),r.length?r.join("; "):null}async function Q(e){if(!await J())return null;if(e-Date.now()<4e3)return console.info("deps: no time left today; the scan resumes tomorrow"),null;let t=await G(e);if("error"in t){let e;return(e=t.error,/didn't answer in time|no time left|time budget|rate limit/i.test(e))?null:t.error}return Y(t)}async function X(e,t,r={}){let{marked:a,onlyMarked:o}=t;if(!await J())return{problem:null,settled:[...a],done:[],complete:!0};let l=a.filter(u.f),d=l.length?await (0,s.f)().select({appId:i.appRepos.appId,repoId:i.appRepos.repoId}).from(i.appRepos).where((0,n.y)(i.appRepos.appId,l)).limit(5*l.length):[],c=[...new Set(d.map(e=>e.repoId))],p=e=>d.filter(t=>t.appId===e).map(e=>e.repoId),f=a.filter(e=>!p(e).length);if(o&&!c.length)return{problem:null,settled:[...a],done:[],complete:!0};if(e-Date.now()<4e3)return{problem:null,settled:f,done:[],complete:!1};let m=(t.skip??[]).filter(e=>!c.includes(e)),h=await G(e,{...r,first:c,...o?{only:c}:{skip:m}});if("error"in h){let e;return{problem:(e=h.error,/didn't answer in time|no time left|time budget|rate limit/i.test(e))?null:h.error,settled:[...a],done:[],complete:!0}}let g=new Set([...h.done,...c.filter(e=>!h.listed.includes(e))]);return{problem:Y(h),settled:a.filter(e=>p(e).every(e=>g.has(e))),done:h.done,complete:0===h.left}}async function ee(e){let t=e.filter(u.f);if(!t.length)return[];let r=await (0,s.f)().select({appId:i.appRepos.appId,repoId:i.appRepos.repoId,error:i.dependencyScans.error}).from(i.appRepos).innerJoin(i.dependencyScans,(0,n.u)(i.dependencyScans.repoId,i.appRepos.repoId)).where((0,n.b)((0,n.y)(i.appRepos.appId,t),(0,n.E)(i.dependencyScans.scannedAt)));if(!r.length)return[];let a=await (0,s.f)().select({repoId:i.dependencyVulns.repoId,package:i.dependencyVulns.package,installedVersion:i.dependencyVulns.installedVersion,fixedVersion:i.dependencyVulns.fixedVersion,severity:i.dependencyVulns.severity,summary:i.dependencyVulns.summary,dev:i.dependencyVulns.dev,direct:i.dependencyVulns.direct}).from(i.dependencyVulns).where((0,n.b)((0,n.y)(i.dependencyVulns.repoId,[...new Set(r.map(e=>e.repoId))]),(0,n.M)(i.dependencyVulns.resolvedAt))).limit(1e4);return r.map(e=>({appId:e.appId,repoId:e.repoId,error:e.error,vulns:a.filter(t=>t.repoId===e.repoId).map(e=>({package:e.package,installedVersion:e.installedVersion,fixedVersion:e.fixedVersion,severity:e.severity,summary:e.summary,dev:e.dev,direct:e.direct}))}))}async function et(e,t=new Set){let r=e.filter(u.f),o=new Map;if(!r.length)return o;let l=await (0,s.f)().select({appId:i.appRepos.appId,repoId:i.appRepos.repoId}).from(i.appRepos).where((0,n.y)(i.appRepos.appId,r));if(!l.length)return o;let d=await (0,s.f)().select({repoId:i.dependencyVulns.repoId,package:i.dependencyVulns.package,installedVersion:i.dependencyVulns.installedVersion,fixedVersion:i.dependencyVulns.fixedVersion,vulnId:i.dependencyVulns.vulnId,aliases:i.dependencyVulns.aliases,severity:i.dependencyVulns.severity,direct:i.dependencyVulns.direct}).from(i.dependencyVulns).where((0,n.b)((0,n.y)(i.dependencyVulns.repoId,[...new Set(l.map(e=>e.repoId))]),(0,n.M)(i.dependencyVulns.resolvedAt),(0,n.u)(i.dependencyVulns.direct,!0),(0,n.E)(i.dependencyVulns.fixedVersion))).limit(2e3),c=d.some(e=>"next"===e.package)?new Set((await (0,s.f)().selectDistinct({appId:i.dependencyPrs.appId}).from(i.dependencyPrs).where((0,n.b)((0,n.y)(i.dependencyPrs.appId,r),(0,n.$)(i.dependencyPrs.stage,["merged","closed"]),(0,n.B)(i.dependencyPrs.openedAt,new Date(Date.now()-12096e5)),a.B`${i.dependencyPrs.packages} @> '["next"]'::jsonb`)).limit(r.length)).map(e=>e.appId)):new Set;for(let e of l){let n=t.has(e.appId)||c.has(e.appId);(0,m.B)(d.filter(t=>t.repoId===e.repoId&&!(n&&"next"===t.package))).length&&o.set(e.appId,e.repoId)}return o}e.s(["R",0,4e4,"o",0,12e3,"d",0,4e3,"e",0,Q,"O",0,X,"C",0,et,"a",0,ee],433609);var en=e.i(442473);function er(e){let t=e instanceof Error&&e.cause instanceof Error?e.cause:e,n=(t instanceof Error?t.message:"").split("\n")[0].replace(/Bearer\s+\S+/gi,"Bearer [hidden]").trim()||"failed";return n.length>200?`${n.slice(0,200)}…`:n}e.s(["f",0,er],751762);var ea=e.i(656083);let es=String.raw`\d+\.\d+\.\d+(?:-[0-9A-Za-z.]+)?`,ei="[\"'`]";function eo(e){let t=/^(\d+)\.\d+\.\d+(?:-[0-9A-Za-z.]+)?$/.exec(e);return null!==t&&Number(t[1])>=9&&1e3>Number(t[1])}let el={"&amp;":"&","&quot;":'"',"&#39;":"'","&#x27;":"'","&#x2F;":"/","&#47;":"/"},eu=e=>e.replace(/&(?:amp|quot|#39|#x27|#x2F|#47);/gi,e=>el[e]??el[e.toLowerCase()]??e),ed=RegExp(String.raw`\bnext\s*=\s*\{\s*version\s*:\s*${ei}(${es})${ei}`,"g"),ec=RegExp(String.raw`version\s*:\s*${ei}(${es})${ei}\s*,\s*appDir\s*:`,"g"),ep=RegExp(String.raw`appDir\s*:\s*[^,{}()]{1,16},\s*version\s*:\s*${ei}(${es})${ei}`,"g"),ef=/\bnext\s*=\s*\{\s*version\s*(?::\s*([A-Za-z_$][\w$]*)\s*)?[,}]/g,em=e=>e.replace(/[$]/g,"\\$");var eh=e.i(267485);async function eg(e,t,n={}){let r=n.deadline??1/0,a=n.now??(()=>new Date),s=e=>Math.floor(Math.min(e,r)-Date.now()),i=Date.now()+15e3;if(0>=s(i))return null;let o=(e,n)=>({version:t?.version??null,status:e,findings:t?.findings??[],reason:n,checkedAt:a()}),l=(e,t)=>(0,en.K)(e,{maxBytes:3145728,timeoutMs:s(i),lookup:n.lookup,fetch:n.fetch,userAgent:"OpsConsole-Security/1.0 (+https://watchbell.west-solutions.web.id)",sameOrigin:t}),u=await l(`https://${e}/`,"www");if(!u.ok&&u.error===en.l)return o("unknown","the site redirects to another host");if(!u.ok||200!==u.status)return Date.now()>=r?null:o("error",`Couldn't load the site: ${u.ok?`HTTP ${u.status}`:u.error}`);let d=(function(e,t){let n;try{n=new URL(t)}catch{return[]}let r=new Set,a=[];for(let t of e.matchAll(/<script\b[^>]*?\ssrc\s*=\s*(["'])(.*?)\1/gi)){let e;try{e=new URL(eu(t[2].trim()),n)}catch{continue}if("https:"===e.protocol&&e.origin===n.origin&&e.pathname.startsWith("/_next/static/")&&(e.hash="",!r.has(e.href))){var s;r.add(e.href),a.push({href:e.href,rank:(s=e.pathname,/\/main-app[-.]/.test(s)?0:/\/(main|app-index)[-.]/.test(s)?1:/\/(webpack|polyfills|framework)[-.]/.test(s)?3:2),i:a.length})}}return a.sort((e,t)=>e.rank-t.rank||e.i-t.i).map(e=>e.href)})(u.body,u.url).slice(0,12);if(0===d.length)return o("unknown",u.body.includes("/_next/")?"version not exposed":"not a Next.js site");let c=null,p=0,f=!1;for(let e of d){if(0>=s(i)){f=!0;break}let t=await l(e,!0);if(t.ok&&200===t.status&&(p++,c=function(e){for(let t of e.matchAll(ed))if(eo(t[1]))return t[1];for(let t of[ec,ep])for(let n of e.matchAll(t))if(eo(n[1]))return n[1];for(let t of e.matchAll(ef)){let n=t[1]??"version",r=RegExp(String.raw`(?:^|[^\w$.])${em(n)}\s*=\s*${ei}(${es})${ei}`,"g"),a=null;for(let n of e.matchAll(r)){if((n.index??0)>=(t.index??0))break;a=n[1]}if(a&&eo(a))return a}return null}(t.body)))break}if(!c)return Date.now()>=r?null:f||0>=s(i)?o("error","Reading the site's scripts took longer than 15 s"):0===p?o("error","Couldn't load the site's scripts"):o("unknown","version not exposed");let m=s(Date.now()+1e4);if(m<=0)return null;let h=await (0,eh.y)(c,{timeoutMs:m,fetch:n.fetch});return h.ok?{version:c,status:h.findings.length?"vulnerable":"ok",findings:h.findings,reason:null,checkedAt:a()}:Date.now()>=r?null:o("error",h.error)}e.s(["y",0,35e3,"P",0,eg,"F",0,function(e,t){return Math.min(t+35e3,e+55e3)}],970465);var ey=e.i(7494),ek=e.i(764766),ev=e.i(195191),ew=e.i(146394);function eb(e){return{version:e.version,status:e.status,findings:Array.isArray(e.findings)?e.findings:[],reason:e.reason,checkedAt:e.checkedAt}}async function e$(e={}){let t=e.only;if(t&&!t.length)return[];let r=e.first??[],o=e.skip??[],l=await (0,s.f)().select({id:i.resources.id,name:i.resources.name,meta:i.resources.meta,sec:i.appSecurity}).from(i.resources).leftJoin(i.appSecurity,(0,n.u)(i.appSecurity.resourceId,i.resources.id)).where((0,n.b)((0,n.u)(i.resources.kind,"app"),(0,n.u)(i.resources.monitored,!0),(0,n.M)(i.resources.goneAt),t?(0,n.y)(i.resources.id,t):void 0,o.length?(0,n.$)(i.resources.id,[...o]):void 0)).orderBy(...r.length?[a.B`case when ${(0,n.y)(i.resources.id,r)} then 0 else 1 end`]:[],a.B`${i.appSecurity.checkedAt} asc nulls first`,i.resources.name).limit(ew.O.apps);if(!l.length)return[];r.length&&l.sort((e,t)=>Number(!r.includes(e.id))-Number(!r.includes(t.id)));let u=await (0,s.f)().select({resourceId:i.monitors.resourceId,url:i.monitors.url}).from(i.monitors).where((0,n.y)(i.monitors.resourceId,l.map(e=>e.id))).orderBy(i.monitors.createdAt).limit(ew.O.monitors);return l.map(e=>({id:e.id,name:e.name,prev:e.sec?eb(e.sec):null,host:(0,ek.Y)(e.meta)?.primaryDomain??(0,ev.m)(e.name,u.filter(t=>t.resourceId===e.id).map(e=>e.url))}))}async function eA(e,t){await (0,s.f)().transaction(async r=>{await r.execute(a.B`select pg_advisory_xact_lock(hashtext(${`app_security:${e.id}`}))`);let[s]=await r.select().from(i.appSecurity).where((0,n.u)(i.appSecurity.resourceId,e.id)).limit(1),o=s?eb(s):null;if(o&&o.checkedAt.getTime()>=t.checkedAt.getTime())return;let l="unknown"===t.status||"error"===t.status?{...t,version:o?o.version:t.version,findings:o?o.findings:t.findings}:t,u={framework:"next",version:l.version,status:l.status,findings:l.findings,reason:l.reason,checkedAt:l.checkedAt};await r.insert(i.appSecurity).values({resourceId:e.id,...u}).onConflictDoUpdate({target:i.appSecurity.resourceId,set:u,setWhere:a.B`${i.appSecurity.checkedAt} < excluded.checked_at`});let d=(0,ey.t)(e.name,o,l);d&&await (0,ea.f)([{type:"system",kind:d.kind,message:d.message,detail:d.detail,resourceId:e.id,at:l.checkedAt,reason:"ok"===d.kind?"NextClean":"NextVulnerable"}],r)})}async function eI(e,t={}){let n=await e$(t),r=0,a=0,s=[],i=[],o=[];return await (0,en.P)(n,3,async t=>{if(e-Date.now()<3e3)return void a++;o.push(t.id);try{let n=await eg(t.host,t.prev,{deadline:e});if(!n)return void a++;await eA(t,n),r++,i.push(t.id)}catch(e){s.push(`${t.name}: ${er(e)}`),i.push(t.id)}}),{checked:r,skipped:a,failed:s,done:i,listed:n.map(e=>e.id),started:o}}async function eS(e){let t=e.filter(u.f);return t.length?(await (0,s.f)().select().from(i.appSecurity).where((0,n.y)(i.appSecurity.resourceId,t)).limit(t.length)).map(e=>{let t=eb(e);return{appId:e.resourceId,version:t.version,status:t.status,findings:t.findings}}):[]}e.s(["F",0,eS,"h",0,eI,"Z",0,eb],800523)},111970,e=>{var t=e.i(875225),n=e.i(518899),r=e.i(347540),a=e.i(924924),s=e.i(473283),i=e.i(618916),o=e.i(659846),l=e.i(154491),u=e.i(960049);let d=["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"],c=e=>{if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}},p=(0,r.cache)(async()=>{let e=n.B.join(d.map(e=>n.B`${e}`),n.B`, `),t=await (0,a.f)().execute(n.B`select
2
- (select coalesce(jsonb_agg(distinct ${i.accounts.provider}::text), '[]'::jsonb) from ${i.accounts}) as providers,
3
- exists(select 1 from ${i.resources} where ${i.resources.kind}::text in (${e}) and ${i.resources.goneAt} is null) as databases,
4
- ${(0,u.W)()} as off`),[r]=(0,s.f)(t),p=c(r?.providers);return{providers:(Array.isArray(p)?p:[]).filter(e=>o.f.includes(e)),databases:r?.databases===!0||r?.databases==="t",off:(0,l.N)(c(r?.off))}});async function f(){try{return(0,l.I)((await p()).off)}catch{return new Set}}e.s(["s",0,function(e){let r=function(e){if(!e.size)return;let{ruleKeys:r,providers:a}=(0,l.s)(e),s=[];if(r.length&&s.push(n.B`${i.alerts.ruleKey} in (${n.B.join(r.map(e=>n.B`${e}`),n.B`, `)})`),a.length){let e=n.B.join(a.map(e=>n.B`${e}`),n.B`, `);s.push(n.B`(${i.alerts.ruleKey} = 'CredentialExpiring' and ${i.alerts.accountId} in (select ${i.accounts.id} from ${i.accounts} where ${i.accounts.provider}::text in (${e})))`)}return s.length?(0,t.F)(...s):void 0}(e);return r?(0,t.R)(r):void 0},"I",0,f])},960049,e=>{var t=e.i(875225),n=e.i(518899),r=e.i(924924),a=e.i(618916);e.i(154491);var s=e.i(273083);let i={checks:[3,7,14],rollupsHourly:[60,90,180],storedLogs:[3,7,14],deployments:[30,45,60,90],events:[60,90,180],alerts:[60,90,180],collectorRuns:[7,14,30],recommendationDismissals:[30,90,180]},o=Object.keys(i),l=(e,t)=>"number"==typeof t&&i[e].includes(t);async function u(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}let d=async()=>(function(e){let t={...s.f};if(!e||"object"!=typeof e)return t;for(let n of o){let r=e[n];l(n,r)&&(t[n]=r)}return t})(await u("retention.days"));e.s(["l",0,()=>u("notify.language"),"J",0,d,"W",0,()=>n.B`(select ${a.settings.value} from ${a.settings} where ${a.settings.key} = ${"sections.off"})`],960049)},662860,e=>{var t=e.i(875225),n=e.i(924924),r=e.i(755776),a=e.i(618916),s=e.i(921991),i=e.i(867274),o=e.i(547499);let l="Supabase Metrics API",u=null,d={fetchMetrics:async function e(t,n,r={}){let a;if(!("string"==typeof t&&/^[a-z0-9]{8,40}$/.test(t)))return{ok:!1,kind:"format",error:"That isn't a Supabase project ref."};let s=r.timeoutMs??8e3;try{a=await (r.fetch??fetch)(`https://${t}.supabase.co/customer/v1/privileged/metrics`,{headers:{Authorization:`Basic ${Buffer.from(`service_role:${n}`).toString("base64")}`,Accept:"text/plain"},signal:AbortSignal.timeout(s),cache:"no-store",redirect:"manual"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?`${l} didn't answer within ${Math.round(s/1e3)} seconds.`:`Couldn't reach the ${l}.`}}if(401===a.status||403===a.status)return{ok:!1,kind:"auth",status:a.status,error:`Supabase rejected the metrics key (${a.status}). Replace it with a current Secret API key.`};if(404===a.status)return{ok:!1,kind:"missing",status:404,error:"Supabase has no metrics endpoint for this project (404)."};if(429===a.status)return{ok:!1,kind:"transient",status:429,retryAfterS:60,error:`${l} says there were too many requests.`};if(!a.ok)return{ok:!1,kind:"transient",status:a.status,error:`${l} returned an error (${a.status}).`};let i=await a.text().catch(()=>null);return null===i||i.length>4e6||!/^(#|[A-Za-z_:])/m.test(i)?{ok:!1,kind:"format",error:`${l} answered in a format the console doesn't recognise.`}:{ok:!0,data:i}},key:()=>(0,o.f)().OPS_ENCRYPTION_KEY},c=e=>e instanceof Error?e.name:"unknown";async function p(e,s,o=d){if(!(0,i.T)(e,u))return null;u=e.getTime();let l=0,f=0;try{for(let{k:i,ref:u,state:d}of(await (0,n.f)().select({k:r.A,ref:a.resources.externalId,state:a.snapshots.state}).from(r.A).innerJoin(a.resources,(0,t.u)(a.resources.id,r.A.resourceId)).leftJoin(a.snapshots,(0,t.u)(a.snapshots.resourceId,a.resources.id)).where((0,t.b)((0,t.u)(a.resources.kind,"supabase_project"),(0,t.u)(a.resources.monitored,!0),(0,t.M)(a.resources.goneAt))).limit(20))){let t=s-Date.now()-500;if(t<1e3)break;try{await m(i,u,d,e,Math.min(8e3,t),o)?l++:f++}catch(e){f++,console.warn("supabase-metrics: one project failed:",c(e))}}await (0,n.f)().delete(r.l).where((0,t.S)(r.l.hour,new Date(e.getTime()-24*i.x*36e5)))}catch(e){console.warn("supabase-metrics failed:",c(e))}return{scraped:l,failed:f}}async function f(e,a,s){return await (0,n.f)().update(r.A).set({lastTryAt:a,lastError:s.slice(0,300)}).where((0,t.u)(r.A.resourceId,e)),!1}async function m(e,a,o,l,u,d){if("paused"===o)return f(e.resourceId,l,"The project is paused.");let c=(0,s.V)({ciphertext:e.keyCiphertext,iv:e.keyIv},d.key());if(!c)return f(e.resourceId,l,"The stored key can't be read. Add it again.");let p=await d.fetchMetrics(a,c,{timeoutMs:u});if(!p.ok)return f(e.resourceId,l,p.error);let m=(0,i.E)(e.latest??null,(0,i.c)((0,i.a)(p.data),a),l);await (0,n.f)().update(r.A).set({latest:m,lastTryAt:l,lastOkAt:l,lastError:null}).where((0,t.u)(r.A.resourceId,e.resourceId));let h=(0,i.b)(l),[g]=await (0,n.f)().select().from(r.l).where((0,t.b)((0,t.u)(r.l.resourceId,e.resourceId),(0,t.u)(r.l.hour,h))).limit(1),y=(0,i.n)(g??null,m);return await (0,n.f)().insert(r.l).values({resourceId:e.resourceId,hour:h,...y}).onConflictDoUpdate({target:[r.l.resourceId,r.l.hour],set:y}),!0}async function h(){let e=await (0,n.f)().select({id:a.resources.id,name:a.resources.name,latest:r.A.latest}).from(r.A).innerJoin(a.resources,(0,t.u)(a.resources.id,r.A.resourceId)).where((0,t.b)((0,t.u)(a.resources.kind,"supabase_project"),(0,t.u)(a.resources.monitored,!0),(0,t.M)(a.resources.goneAt))).limit(20);return e.length?e.map(e=>({id:e.id,name:e.name,latest:e.latest??null})):null}e.s(["Y",0,h,"E",0,p],662860)},89491,e=>{let t={databases:100,storageBytes:0x140000000,rowsRead:5e8,rowsWritten:1e7},n={storageBytes:262144e3,monthlyCommands:5e5,monthlyBandwidthBytes:0x280000000},r={databases:10,dbBytes:524288e3,accountBytes:0x140000000,rowsReadPerDay:5e6,rowsWrittenPerDay:1e5},a=(e,t)=>Math.round(e/t*1e3)/10,s=(e,t)=>!!e&&e.slice(0,7)===t.toISOString().slice(0,7);e.s(["M",0,r,"g",0,t,"W",0,n,"I",0,function(e,t){let n=e.usageDay===t.toISOString().slice(0,10);return[...n&&null!=e.accountRowsRead?[{label:"Rows read today",pct:a(e.accountRowsRead,r.rowsReadPerDay),text:"of 5M (account)",kind:"quota"}]:[],...n&&null!=e.accountRowsWritten?[{label:"Rows written today",pct:a(e.accountRowsWritten,r.rowsWrittenPerDay),text:"of 100k (account)",kind:"quota"}]:[],...null!=e.sizeBytes?[{label:"Size",pct:a(e.sizeBytes,r.dbBytes),text:"of 500 MB",kind:"storage"}]:[]]},"c",0,function(e){return(e.accountRowsRead??0)>=r.rowsReadPerDay?{state:"err",label:"Daily rows-read limit reached"}:(e.accountRowsWritten??0)>=r.rowsWrittenPerDay?{state:"err",label:"Daily rows-written limit reached"}:{state:"ok",label:"Available"}},"u",0,function(e){return e.filter(e=>"quota"===e.kind&&null!==e.pct).sort((e,t)=>(t.pct??0)-(e.pct??0))[0]??null},"G",0,function(e,n){return s(e.usageAt,n)?[...null!=e.orgRowsRead?[{label:"Rows read",pct:a(e.orgRowsRead,t.rowsRead),text:"of 500M this month (org)",kind:"quota"}]:[],...null!=e.orgRowsWritten?[{label:"Rows written",pct:a(e.orgRowsWritten,t.rowsWritten),text:"of 10M this month (org)",kind:"quota"}]:[],...null!=e.orgStorageBytes?[{label:"Storage",pct:a(e.orgStorageBytes,t.storageBytes),text:"of 5 GB (org)",kind:"storage"}]:[]]:[]},"h",0,function(e){return e.blockReads||e.orgBlockedReads?{state:"err",label:"Reads blocked"}:e.blockWrites||e.orgBlockedWrites?{state:"err",label:"Writes blocked"}:{state:"ok",label:"Available"}},"$",0,function(e,t){let r=s(e.statsAt,t);return[...r&&null!=e.monthlyRequests?[{label:"Commands",pct:a(e.monthlyRequests,n.monthlyCommands),text:"of 500k this month",kind:"quota"}]:[],...r&&null!=e.monthlyBandwidthBytes?[{label:"Bandwidth",pct:a(e.monthlyBandwidthBytes,n.monthlyBandwidthBytes),text:"of 10 GB this month",kind:"quota"}]:[],...null!=e.storageBytes?[{label:"Data size",pct:a(e.storageBytes,n.storageBytes),text:"of 250 MB",kind:"storage"}]:[]]},"t",0,function(e){let t=(e??"").toLowerCase();return"active"===t?{state:"ok",label:"Active"}:t.includes("suspend")||t.includes("block")||t.includes("disabled")?{state:"err",label:"Suspended"}:t.includes("delet")?{state:"off",label:"Deleting"}:{state:"unknown",label:e?`State: ${e}`:"Unknown"}}])},960063,e=>{e.s(["T",0,{reads:5e4,writes:2e4,deletes:2e4},"g",0,function(e){var t;if(e.ok)return e.data.noDatabase?{state:"off",label:"No Firestore database"}:{state:"ok",label:`Reachable \xb7 ${e.data.latencyMs} ms`};return"RESOURCE_EXHAUSTED"===(t=e).reason?{state:"err",label:"Daily quota used up"}:"SERVICE_DISABLED"===t.reason?{state:"err",label:"Firestore API is off in this project"}:"scope"===t.kind||"PERMISSION_DENIED"===t.reason||"scope"===t.reason?{state:"err",label:"No access: needs datastore.viewer"}:{state:"unknown",label:"Unknown"}},"a",0,function(e){let t=new Intl.DateTimeFormat("en-US",{timeZone:"America/Los_Angeles",hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23"}).formatToParts(e),n=e=>Number(t.find(t=>t.type===e)?.value??0),r=(3600*n("hour")+60*n("minute")+n("second"))*1e3+e.getUTCMilliseconds();return new Date(e.getTime()-r)}])},90801,e=>{var t=e.i(250474),n=e.i(32391);let r=/^v?(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function a(e,n){let a=r.exec(e.trim()),s=r.exec(n.trim());return!!a&&!!s&&a[1]===s[1]&&("0"!==a[1]||a[2]===s[2])&&(0,t.f)(n,e)>=0}let s=/^Watch(?:bell|post): update (?:\S+ (?:to|ke) \S+|\d+ vulnerable packages) in ((?:[A-Za-z0-9._-]+\/){0,3}[A-Za-z0-9._-]+) \(/,i=e=>s.exec(e)?.[1]??null;e.s(["M",0,e=>`Lockfile tertinggal — jalankan npm install (${e.slice(0,5).join(", ")}${e.length>5?`, +${e.length-5}`:""}).`,"a",0,function(e,t,n){if(!e.length)return{ok:!1,why:"nothing"};let r=e.filter(e=>n.includes(e.severity)&&!("moderate"===e.severity&&e.dev));if(!r.length)return{ok:!1,why:"severity"};for(let e of r){let n=t.get(e.package);if(!n||!a(n,e.to))return{ok:!1,why:"major"}}return{ok:!0,upgrades:r}},"m",0,function(e,r){if(!r)return{deps:e,stale:[]};let a=[...Object.entries(r.dependencies).map(([e,t])=>[e,t,!1]),...Object.entries(r.optionalDependencies).map(([e,t])=>[e,t,!1]),...Object.entries(r.devDependencies).map(([e,t])=>[e,t,!0])],s=[...e],i=[];for(let[e,r,o]of a){let a=(0,n.Y)(r);if(!a||!(0,n.C)(a))continue;let l=s.filter(t=>t.name===e);!l.length||l.some(e=>(0,t.f)(e.version,a)>=0)||((s=s.filter(t=>t.name!==e)).push({name:e,version:a,dev:l.every(e=>e.dev)&&o}),i.push(e))}return{deps:s,stale:i}},"D",0,function(e){let n=new Map;for(let r of e){if(!r.direct)continue;let e=n.get(r.package);(!e||0>(0,t.f)(r.installedVersion,e))&&n.set(r.package,r.installedVersion)}return n},"U",0,function(e,t,n=null){for(let r of t){if(i(r.title)!==n)continue;let t=function(e){if(e.packages?.length)return e.packages;let t=/^Watch(?:bell|post): update (\S+) (?:to|ke) /.exec(e.title);return t?[t[1]]:"all"}(r);if("all"===t||e.some(e=>t.includes(e)))return r}return null},"J",0,a])},891262,267485,e=>{var t=e.i(442473),n=e.i(7494),r=e.i(250474);let a=["CRITICAL","HIGH","MODERATE","LOW","UNKNOWN"],s=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),i=e=>Array.isArray(e)?e:[],o=e=>"string"==typeof e&&e?e:null,l=e=>s(e.package)&&"next"===e.package.name&&"npm"===e.package.ecosystem,u="OSV.dev sent an answer we couldn't read";async function d(e,f={}){let m=f.timeoutMs??1e4,h=f.maxBytes??2097152,g=AbortSignal.timeout(m),y=(0,t.X)(g),k=`OSV.dev didn't answer within ${p(m)}`,v=[],w=null;for(let n=0;n<3;n++){var b;let n,r;try{n=await (f.fetch??fetch)("https://api.osv.dev/v1/query",{method:"POST",headers:{"content-type":"application/json","user-agent":"OpsConsole-Security/1.0 (+https://watchbell.west-solutions.web.id)"},body:JSON.stringify({package:{name:"next",ecosystem:"npm"},version:e,...w?{page_token:w}:{}}),redirect:"error",cache:"no-store",signal:g})}catch(e){return{ok:!1,error:c(e)?k:"Couldn't reach OSV.dev"}}if(!n.ok)return await n.body?.cancel().catch(()=>void 0),{ok:!1,error:`OSV.dev answered HTTP ${n.status}`};try{let{bytes:e,truncated:a}=await (0,t.z)(n,h,y);if(a)return{ok:!1,error:"OSV.dev sent too large an answer"};r=JSON.parse(new TextDecoder().decode(e))}catch(e){return{ok:!1,error:c(e)?k:u}}let a=s(b=r)?void 0===b.vulns?[]:Array.isArray(b.vulns)?b.vulns:null:null;if(null===a)return{ok:!1,error:u};if(v.push(...a),!(w=s(r)?o(r.next_page_token):null))break}let $=function(e,t){let u=[],d=0;for(let n of e){if(!s(n))continue;let e=o(n.id);e&&(d++,n.withdrawn||u.push({id:e.slice(0,64),cve:i(n.aliases).map(o).find(e=>!!e&&/^CVE-\d{4}-\d+$/.test(e))??null,summary:(o(n.summary)??"").replace(/\s+/g," ").trim().slice(0,200),severity:function(e){let t=s(e.database_specific)?o(e.database_specific.severity)?.toUpperCase():void 0;return"MEDIUM"===t?"MODERATE":a.includes(t??"")?t:"UNKNOWN"}(n),fixed:function(e,t){let n=null;for(let a of i(e))if(s(a)&&l(a))for(let e of i(a.ranges)){if(!s(e)||"SEMVER"!==e.type&&"ECOSYSTEM"!==e.type)continue;let a=null;for(let l of i(e.events)){if(!s(l))continue;let e=o(l.introduced),i=o(l.fixed);e?a=e:i&&null!==a?((0,r.f)(t,a)>=0&&0>(0,r.f)(t,i)&&(null===n||0>(0,r.f)(i,n))&&(n=i),a=null):(o(l.last_affected)||o(l.limit))&&(a=null)}}return n}(n.affected,t)}))}return e.length>0&&0===d?null:(0,n.I)(u).slice(0,50)}(v,e);return null===$?{ok:!1,error:u}:{ok:!0,findings:$}}let c=e=>e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name),p=e=>e<1e3?`${e} ms`:`${Math.round(e/1e3)} s`;e.s(["y",0,d,"t",0,c],267485);var f=e.i(804581);let m="OpsConsole-Deps/1.0 (+https://watchbell.west-solutions.web.id)";async function h(e,t,n,r){let a=r.deadline-Date.now();if(a<500)return{ok:!1,error:"No time left for OSV.dev"};let s=AbortSignal.timeout(a);return y(e,{method:"POST",headers:{"content-type":"application/json","user-agent":m},body:JSON.stringify(t),signal:s},n,s,r)}async function g(e,t,n){let r=n.deadline-Date.now();if(r<500)return{ok:!1,error:"No time left for OSV.dev"};let a=AbortSignal.timeout(Math.min(r,8e3));return y(e,{method:"GET",headers:{"user-agent":m},signal:a},t,a,n)}async function y(e,n,r,a,s){let i;try{i=await (s.fetch??fetch)(e,{...n,redirect:"error",cache:"no-store"})}catch(e){return{ok:!1,error:c(e)?"OSV.dev didn't answer in time":"Couldn't reach OSV.dev"}}if(!i.ok)return await i.body?.cancel().catch(()=>void 0),{ok:!1,error:`OSV.dev answered HTTP ${i.status}`};try{let{bytes:e,truncated:n}=await (0,t.z)(i,r,(0,t.X)(a));if(n)return{ok:!1,error:"OSV.dev sent too large an answer"};return{ok:!0,body:JSON.parse(new TextDecoder().decode(e))}}catch(e){return{ok:!1,error:c(e)?"OSV.dev didn't answer in time":"OSV.dev sent an answer we couldn't read"}}}async function k(e,t){let n=[];for(let r of(0,f.f)(e)){let e=await h(f.n,r,4194304,t);if(!e.ok)return e;let a=(0,f.j)(e.body,r.queries.length);if(!a)return{ok:!1,error:"OSV.dev sent an answer we couldn't read"};n.push(...a)}return{ok:!0,ids:n}}async function v(e,t){let n=[...new Set(e)].filter(f.G);if(n.length>300)return{ok:!1,error:`Too many advisories to read in one scan (${n.length})`};let r=new Map,a=null;for(let e=0;e<n.length&&!a;e+=8)await Promise.all(n.slice(e,e+8).map(async e=>{let n=await g(`${f.W}${encodeURIComponent(e)}`,1048576,t),s=n.ok?(0,f.O)(n.body):null;s?r.set(e,s):a??=n.ok?"OSV.dev sent an advisory we couldn't read":n.error}));return a?{ok:!1,error:a}:{ok:!0,map:r}}e.s(["J",0,v,"K",0,k],891262)},804581,e=>{var t=e.i(250474);let n=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),r=e=>Array.isArray(e)?e:[],a=e=>"string"==typeof e&&e?e:null,s=e=>/^[A-Za-z0-9][A-Za-z0-9._:-]{1,63}$/.test(e),i={CRITICAL:"critical",HIGH:"high",MODERATE:"moderate",MEDIUM:"moderate",LOW:"low"},o=e=>e>=9?"critical":e>=7?"high":e>=4?"moderate":e>0?"low":"unknown",l=(e,t)=>n(e.package)&&e.package.name===t&&"npm"===e.package.ecosystem;e.s(["S",0,20,"n",0,"https://api.osv.dev/v1/querybatch","W",0,"https://api.osv.dev/v1/vulns/","h",0,200,"f",0,function(e){let t=[];for(let n=0;n<e.length;n+=1e3)t.push({queries:e.slice(n,n+1e3).map(e=>({package:{name:e.name,ecosystem:"npm"},version:e.version}))});return t},"i",0,function(e,s,i,o=new Map){let u=[];return e.forEach((e,d)=>{for(let c of s[d]??[]){let s=o.get(`${e.name}@${e.version}|${c}`);if(s){u.push({...s,dev:e.dev});continue}let d=i.get(c);d&&!d.withdrawn&&u.push({package:e.name,installedVersion:e.version,vulnId:d.id,aliases:d.aliases,severity:d.severity,fixedVersion:function(e,s,i){let o=null;for(let u of r(e))if(n(u)&&l(u,s))for(let e of r(u.ranges)){if(!n(e)||"SEMVER"!==e.type&&"ECOSYSTEM"!==e.type)continue;let s=null;for(let l of r(e.events)){if(!n(l))continue;let e=a(l.introduced),r=a(l.fixed);e?s=e:r&&null!==s?((0,t.f)(i,s)>=0&&0>(0,t.f)(i,r)&&(null===o||0>(0,t.f)(r,o))&&(o=r),s=null):(a(l.last_affected)||a(l.limit))&&(s=null)}}return o}(d.affected,e.name,e.version),summary:d.summary,dev:e.dev,source:"osv"})}}),u},"G",0,s,"O",0,function(e){if(!n(e))return null;let t=a(e.id);return t&&s(t)?{id:t,aliases:[...new Set(r(e.aliases).map(a).filter(e=>!!e&&s(e)))].slice(0,20),summary:(a(e.summary)??a(e.details)?.split(/\n/)[0]??"").replace(/\s+/g," ").trim().slice(0,200),severity:function(e){let t=n(e.database_specific)?a(e.database_specific.severity)?.toUpperCase():null;if(t&&i[t])return i[t];for(let t of r(e.severity)){if(!n(t)||"CVSS_V3"!==t.type&&"CVSS_V31"!==t.type)continue;let e=a(t.score)?function(e){let t,n=/^CVSS:3\.[01]\/(.+)$/.exec(e.trim());if(!n)return null;let r={};for(let e of n[1].split("/")){let[t,n]=e.split(":");t&&n&&(r[t]=n)}let a={N:.85,A:.62,L:.55,P:.2},s={L:.77,H:.44},i={N:.85,R:.62},o={H:.56,L:.22,N:0},l="C"===r.S,u=l?{N:.85,L:.68,H:.5}:{N:.85,L:.62,H:.27};if(![a[r.AV],s[r.AC],u[r.PR],i[r.UI],o[r.C],o[r.I],o[r.A]].every(e=>"number"==typeof e)||"U"!==r.S&&"C"!==r.S)return null;let d=1-(1-o[r.C])*(1-o[r.I])*(1-o[r.A]),c=l?7.52*(d-.029)-3.25*(d-.02)**15:6.42*d,p=8.22*a[r.AV]*s[r.AC]*u[r.PR]*i[r.UI];return c<=0?0:(t=Math.round(1e5*Math.min(l?1.08*(c+p):c+p,10)))%1e4==0?t/1e5:(Math.floor(t/1e4)+1)/10}(a(t.score)):null;if(null!==e)return o(e)}return(a(e.id)??"").startsWith("MAL-")?"critical":"unknown"}(e),withdrawn:!!a(e.withdrawn),affected:e.affected}:null},"j",0,function(e,t){return n(e)&&Array.isArray(e.results)&&e.results.length===t?e.results.map(e=>n(e)?r(e.vulns).map(e=>n(e)?a(e.id):null).filter(e=>!!e&&s(e)):[]):null}])},413230,e=>{var t=e.i(250474),n=e.i(32391),r=e.i(804581);let a=["critical","high","moderate","low","unknown"],s=e=>a.indexOf(e),i=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),o=e=>"string"==typeof e&&e?e:null,l={critical:"critical",high:"high",medium:"moderate",moderate:"moderate",low:"low"},u=e=>`${e.package}@${e.installedVersion}|${e.vulnId}`,d=e=>{let t;return!e.dev&&(s(e.severity)<=s("high")||(t=e.summary,/\bRCE\b|remote code execution/i.test(t))||"moderate"===e.severity&&!0===e.direct)};e.s(["g",0,function(e){let t=e.filter(d);return t.some(e=>{let t;return"critical"===e.severity||(t=e.summary,/\bRCE\b|remote code execution/i.test(t))})?"critical":t.length?"warning":null},"L",0,function(e){let t=e.filter(d),n=[...t].sort((e,t)=>s(e.severity)-s(t.severity)||(e.package<t.package?-1:1)),r=[];for(let e of n){let t=`${e.package} ${e.installedVersion}${e.fixedVersion?` → ${e.fixedVersion}`:" (no fix yet)"}`;r.includes(t)||r.push(t)}let a=new Set(t.map(e=>e.package)).size,i=function(e){let t={critical:0,high:0,moderate:0,low:0,unknown:0};for(let n of e)t[n.severity]++;return t}(t),o=["critical","high","moderate","low","unknown"].filter(e=>i[e]>0).map(e=>`${i[e]} ${e}`).join(", "),l=`${a} vulnerable package${1===a?"":"s"} (${o}): ${r.slice(0,4).join(", ")}${r.length>4?`, +${r.length-4} more`:""}.`;return l.length>300?`${l.slice(0,299)}…`:l},"z",0,function(e,t,n){let r=new Set;return e.forEach((e,a)=>{for(let s of t[a]??[])n.has(`${e.name}@${e.version}|${s}`)||r.add(s)}),[...r]},"A",0,function(e,t){let n=new Map;if(t)return n;for(let t of e)t.fixedVersion&&"dependabot"!==t.source&&n.set(u(t),{package:t.package,installedVersion:t.installedVersion,vulnId:t.vulnId,aliases:t.aliases,severity:t.severity,fixedVersion:t.fixedVersion,summary:t.summary,dev:t.dev,source:"osv"});return n},"R",0,function(e,n,r){let a=[...e];for(let e of n)if(!a.some(t=>t.package===e.package&&(t.vulnId===e.ghsaId||t.aliases.includes(e.ghsaId)||null!==e.cveId&&t.aliases.includes(e.cveId)))&&e.range)for(let n of r)n.name===e.package&&function(e,n){let r=n.split(",").map(e=>e.trim()).filter(Boolean);return!!r.length&&r.every(n=>{let r=/^(<=|>=|<|>|=)\s*v?(\S+)$/.exec(n);if(!r)return!1;let a=(0,t.f)(e,r[2]);return"<"===r[1]?a<0:"<="===r[1]?a<=0:">"===r[1]?a>0:">="===r[1]?a>=0:0===a})}(n.version,e.range)&&a.push({package:e.package,installedVersion:n.version,vulnId:e.ghsaId,aliases:e.cveId?[e.cveId]:[],severity:e.severity,fixedVersion:e.fixed,summary:e.summary,dev:e.dev||n.dev,source:"dependabot"});return a},"E",0,function(e){if(!Array.isArray(e))return null;let t=[];for(let a of e){if(!i(a)||"open"!==a.state||!i(a.dependency)||!i(a.security_advisory))continue;let e=i(a.dependency.package)&&"npm"===a.dependency.package.ecosystem?o(a.dependency.package.name):null,s=o(a.security_advisory.ghsa_id);if(!e||!(0,n.L)(e)||!s||!(0,r.G)(s))continue;let u=i(a.security_vulnerability)?a.security_vulnerability:{},d=i(u.first_patched_version)?o(u.first_patched_version.identifier):null,c=o(a.security_advisory.cve_id);t.push({package:e,ghsaId:s,cveId:c&&/^CVE-\d{4}-\d+$/.test(c)?c:null,summary:(o(a.security_advisory.summary)??"").replace(/\s+/g," ").trim().slice(0,r.h),severity:l[(o(u.severity)??o(a.security_advisory.severity)??"").toLowerCase()]??"unknown",range:o(u.vulnerable_version_range),fixed:d&&d.length<=100?d:null,dev:"development"===a.dependency.scope})}return t},"h",0,function(e,t,n){let a=new Map(e.map(e=>[u(e),e])),s=new Set,i={insert:[],update:[],resolve:[]};for(let e of t){let t=u(e);if(s.has(t))continue;s.add(t);let o={...e,aliases:e.aliases.slice(0,r.S),summary:e.summary.slice(0,r.h),direct:n.has(e.package)},l=a.get(t);l?i.update.push({id:l.id,severity:o.severity,fixedVersion:o.fixedVersion,summary:o.summary,aliases:o.aliases,dev:o.dev,direct:o.direct}):i.insert.push(o)}return i.resolve=e.filter(e=>!s.has(u(e))).map(e=>e.id),i},"U",0,function(e,t,n,r=!1){return!!r||!e||!e.scannedAt||(e.error?n.getTime()-e.scannedAt.getTime()>=72e6||e.lockfileSha!==t:e.lockfileSha!==t||!e.queriedAt||n.getTime()-e.queriedAt.getTime()>=6048e5)},"M",0,function(e){return[...e].sort((e,t)=>(e.scannedAt?.getTime()??-1)-(t.scannedAt?.getTime()??-1)||(e.id<t.id?-1:1))},"B",0,function(e){let n=new Map,r=new Set;for(let a of e){if(!a.direct||!a.fixedVersion||0>=(0,t.f)(a.fixedVersion,a.installedVersion))continue;!0!==a.dev&&r.add(a.package);let e=n.get(a.package)??{package:a.package,to:a.fixedVersion,vulnIds:[],cves:[],severity:a.severity};for(let n of((0,t.f)(a.fixedVersion,e.to)>0&&(e.to=a.fixedVersion),e.vulnIds.includes(a.vulnId)||e.vulnIds.push(a.vulnId),a.aliases))/^CVE-/.test(n)&&!e.cves.includes(n)&&e.cves.push(n);s(a.severity)<s(e.severity)&&(e.severity=a.severity),n.set(a.package,e)}for(let e of n.values())r.has(e.package)||(e.dev=!0);return[...n.values()].sort((e,t)=>s(e.severity)-s(t.severity)||(e.package<t.package?-1:1))}])},479301,e=>{let t=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;e.s(["f",0,e=>"string"==typeof e&&t.test(e)])},911191,e=>{let t=[[/(?:\b|(?<=%2F))hb(?:_|%5F)[0-9a-f]{32}\b/gi,"hb_[hidden]"],[/(\/api(?:\/|%2F)ping(?:\/|%2F))(?!hb_\[hidden\])[^/?#\s]+/gi,"$1[hidden]"],[/\b(postgres(?:ql)?|mysql|mongodb(?:\+srv)?|redis|rediss):\/\/\S+/gi,"$1://[hidden]"],[/\b(https?):\/\/[^\s/@:]+:[^\s/@]+@/gi,"$1://[hidden]@"],[/\b(Bearer|Basic)\s+[^\s"',;]+/gi,"$1 [hidden]"],[/\b((?:access_|refresh_|id_)?token|secret|password|passwd|pwd|api[_-]?key|apikey|authorization|cookie|session|private_key)(["']?\s*[:=]\s*["']?)(?!Bearer\b|Basic\b)([^\s"'&,;}]+)/gi,"$1$2[hidden]"],[/\beyJ[\w-]{8,}\.[\w-]{8,}\.[\w-]{8,}/g,"[jwt]"],[/\b[\w.+-]+@[\w-]+(?:\.[\w-]+)+\b/g,"[email]"],[/\b[A-Fa-f0-9]{40,}\b/g,"[redacted]"],[/\b(?=[A-Za-z0-9_-]*\d)(?=[A-Za-z0-9_-]*[A-Za-z])[A-Za-z0-9_-]{40,}\b/g,"[redacted]"]];function n(e,t){return e.length>t?`${e.slice(0,t-1)}…`:e}e.s(["l",0,n,"n",0,function(e){return null===e?null:n(e.split(/[?#]/)[0]||"/",512)},"h",0,function(e){return t.reduce((e,[t,n])=>e.replace(t,n),e)}])},659846,e=>{e.s(["f",0,["vercel","supabase","neon","firebase","turso","upstash","cloudflare","github","github_write"]],659846)},154491,e=>{let t=["home","hosting","database","devops","manage"],n=["hosting","database","devops"],r={vercel:"hosting",cloudflare:"hosting",supabase:"database",neon:"database",firebase:"database",turso:"database",upstash:"database",github:"devops",github_write:"devops"};function a(e){return Array.isArray(e)?t.filter(r=>"string"==typeof r&&t.includes(r)&&n.includes(r)&&e.includes(r)):[]}let s={MonitorDown:"hosting",HighLatency:"hosting",DeploymentFailed:"hosting",CertExpiringSoon:"hosting",DomainExpiringSoon:"hosting",DnsProxiedToVercel:"hosting",DatabasePaused:"database",StorageAlmostFull:"database",NeonComputeHigh:"database",FirestoreQuotaHigh:"database",AutoPauseRisk:"database",ComputeHigh:"database",DbQuotaHigh:"database",VulnerableDependency:"devops",FrameworkVulnerable:"hosting",MonitorDomainMoved:"hosting",CredentialExpiring:"account",CollectorStale:null},i=/^Log/;e.s(["D",0,r,"O",0,(e,t,n)=>{let a;if(!e.size)return!1;let o="account"===(a=s[t])?n?r[n]??null:null:void 0!==a?a:i.test(t)?"hosting":null;return null!==o&&e.has(o)},"N",0,a,"s",0,function(e){return{ruleKeys:Object.entries(s).filter(([,t])=>null!==t&&"account"!==t&&e.has(t)).map(([e])=>e),providers:Object.entries(r).filter(([,t])=>e.has(t)).map(([e])=>e)}},"I",0,e=>new Set(a(e))])},7494,e=>{let t={CRITICAL:4,HIGH:3,MODERATE:2,LOW:1,UNKNOWN:0};function n(e){return e.reduce((e,n)=>t[n.severity]>t[e]?n.severity:e,"UNKNOWN")}let r=e=>`${e} known vulnerabilit${1===e?"y":"ies"}`;e.s(["t",0,function(e,a,s){let i=new Set((a?.findings??[]).map(e=>e.id));if("vulnerable"===s.status&&s.findings.length>0){if(s.findings.every(e=>i.has(e.id)))return null;let a=n(s.findings);return{kind:t[a]>=t.HIGH?"err":"warn",message:`${e} runs Next.js ${s.version} with ${r(s.findings.length)} (${a.toLowerCase()})`,detail:s.findings.map(e=>e.id).join(", ").slice(0,1e3)}}return"ok"===s.status&&i.size>0?{kind:"ok",message:`${e} no longer has known Next.js vulnerabilities (now ${s.version})`,detail:null}:null},"I",0,function(e){return[...e].sort((e,n)=>t[n.severity]-t[e.severity]||(e.id<n.id?-1:+(e.id>n.id)))},"q",0,r,"N",0,n])},250474,32391,e=>{function t(e){let[t,...n]=e.trim().split("-"),r=t.split(".").map(e=>Number.parseInt(e,10)||0);return{nums:[r[0]??0,r[1]??0,r[2]??0],pre:n.length?n.join("-").split("."):[]}}e.s(["f",0,function(e,n){let r=t(e),a=t(n);for(let e=0;e<3;e++)if(r.nums[e]!==a.nums[e])return r.nums[e]-a.nums[e];return function(e,t){if(!e.length||!t.length)return e.length?-1:+!!t.length;for(let n=0;n<Math.max(e.length,t.length);n++){if(void 0===e[n])return -1;if(void 0===t[n])return 1;let r=/^\d+$/.test(e[n])?Number(e[n]):null,a=/^\d+$/.test(t[n])?Number(t[n]):null;if(null!==r&&null!==a){if(r!==a)return r-a}else if(null!==r||null!==a)return null!==r?-1:1;else if(e[n]!==t[n])return e[n]<t[n]?-1:1}return 0}(r.pre,a.pre)}],250474);let n=/^(?:@[a-z0-9][a-z0-9._~-]*\/)?[a-z0-9._~-][a-z0-9._~-]*$/i,r=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,a=e=>e.length<=214&&n.test(e),s=e=>e.length<=100&&r.test(e),i=e=>"object"==typeof e&&null!==e&&!Array.isArray(e);function o(e){let t=new Map;for(let n of e){if(!a(n.name)||!s(n.version))continue;let e=`${n.name}@${n.version}`,r=t.get(e);if(r?r.dev=r.dev&&n.dev:t.set(e,{...n}),t.size>=1e4)break}return[...t.values()].sort((e,t)=>e.name===t.name?e.version<t.version?-1:1:e.name<t.name?-1:1)}function l(e){try{return JSON.parse(e)}catch{return null}}let u=e=>{let t=e.lastIndexOf("node_modules/");return t<0?null:e.slice(t+13)||null},d=e=>e.trim().replace(/^['"]|['"]$/g,""),c=e=>i(e)?Object.fromEntries(Object.entries(e).filter(e=>"string"==typeof e[1])):{};function p(e){let t=/^\s*(?:\^|~|>=|=|v)?\s*v?(\d+)(?:\.(\d+|x|\*))?(?:\.(\d+|x|\*))?(-[0-9A-Za-z.-]+)?\s*$/.exec(e);if(!t)return null;let n=e=>e&&/^\d+$/.test(e)?e:"0";return`${t[1]}.${n(t[2])}.${n(t[3])}${t[4]??""}`}e.s(["a",0,[{path:"package-lock.json",kind:"npm"},{path:"npm-shrinkwrap.json",kind:"npm"},{path:"pnpm-lock.yaml",kind:"pnpm"},{path:"yarn.lock",kind:"yarn"},{path:"bun.lock",kind:"bun"}],"e",0,function(e){let t=[],n=(e,n)=>{for(let[r,a]of Object.entries(e)){let e=p(a);e&&t.push({name:r,version:e,dev:n})}};return n(e.dependencies,!1),n(e.optionalDependencies,!1),n(e.devDependencies,!0),o(t)},"K",0,function(e){return e?new Set([...Object.keys(e.dependencies),...Object.keys(e.devDependencies),...Object.keys(e.optionalDependencies)]):new Set},"L",0,a,"C",0,s,"Y",0,p,"D",0,function(e,t){switch(e){case"npm":let n=l(t);if(!i(n))return null;let r=[];if(i(n.packages)){for(let[e,t]of Object.entries(n.packages)){if(!e||!i(t)||!0===t.link||"string"!=typeof t.version)continue;let n="string"==typeof t.name&&e.includes("node_modules/")?t.name:u(e);n&&r.push({name:n,version:t.version,dev:!0===t.dev})}return o(r)}if(i(n.dependencies)){let e=(t,n)=>{if(!(n>40))for(let[a,s]of Object.entries(t))i(s)&&("string"==typeof s.version&&r.push({name:a,version:s.version,dev:!0===s.dev}),i(s.dependencies)&&e(s.dependencies,n+1))};return e(n.dependencies,0),o(r)}return null;case"pnpm":return function(e){let t=e.split(/\r?\n/);if(!t.some(e=>/^lockfileVersion:/.test(e)))return null;let n=[],r=!1,s=null;for(let e of t){if(/^\S/.test(e)){r=/^packages:\s*$/.test(e),s=null;continue}if(!r)continue;let t=/^ {2}(\S.*?):\s*$/.exec(e);if(t){let e=function(e){let t=d(e).replace(/^\//,""),n=t.indexOf("(");n>0&&(t=t.slice(0,n));let r=t.lastIndexOf("@");if(r>0&&!t.slice(r+1).includes("/")&&a(t.slice(0,r)))return{name:t.slice(0,r),version:t.slice(r+1).split("_")[0]};let s=t.lastIndexOf("/");return s<=0?null:{name:t.slice(0,s),version:t.slice(s+1).split("_")[0]}}(t[1]);(s=e?{...e,dev:!1}:null)&&n.push(s);continue}s&&/^ {4}dev: true\s*$/.test(e)&&(s.dev=!0)}return o(n)}(t);case"yarn":return function(e){let t=e.split(/\r?\n/),n=[],r=null,a=!1;for(let e of t){if(!e.trim()||e.trimStart().startsWith("#"))continue;if(/^\S/.test(e)){let t=e.replace(/:\s*$/,"");r=t.startsWith("__metadata")||/@(?:workspace|link|portal|file):/.test(t)?null:function(e){let t=d(e),n=t.indexOf("@",+!!t.startsWith("@"));return n>0?t.slice(0,n):null}(t.split(/,\s*/)[0]),a=!0;continue}let t=/^ {2}version:?\s+"?([^"\s]+)"?\s*$/.exec(e);t&&r&&(n.push({name:r,version:t[1],dev:!1}),r=null)}return a?o(n):null}(t);case"bun":let s=l(t.replace(/,(\s*[}\]])/g,"$1"));if(!i(s)||!i(s.packages))return null;let c=[];for(let e of Object.values(s.packages)){if(!Array.isArray(e)||"string"!=typeof e[0])continue;let t=e[0],n=t.lastIndexOf("@");n<=0||c.push({name:t.slice(0,n),version:t.slice(n+1),dev:!1})}return o(c)}},"b",0,function(e){let t=l(e);return i(t)?{dependencies:c(t.dependencies),devDependencies:c(t.devDependencies),optionalDependencies:c(t.optionalDependencies)}:null}],32391)}]})();
5
-
6
- //# sourceMappingURL=src_lib_1iwyh213u9xts._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[732084,a=>{var b=a.i(954757);a.s(["z",0,b])},109068,a=>{var b=a.i(686921);a.s(["A",0,function(a){return null===a?"Can't read the stored credential. The encryption key changed. Replace the credential.":null},"E",0,function(a){return a.ok?{status:"ok",lastError:null}:"auth"===a.kind?{status:"error",lastError:a.error}:null},"z",0,function(a,c,d){let e=b.m[a];if(!e.multiAccount&&d.count>=1)return{ok:!1,error:`${e.name} supports one account. Replace its credential instead.`};let f=c.trim();return f?f.length>40?{ok:!1,error:"Keep the name under 40 characters."}:d.labels.includes(f)?{ok:!1,error:`${e.name} already has an account called ${f}.`}:{ok:!0,label:f}:{ok:!1,error:"Enter a name for this account."}}])},30184,288666,449734,15827,944808,112735,354448,584897,45468,743303,418864,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(548734),e=a.i(837137),f=a.i(351674),g=a.i(109068),h=a.i(358179),i=a.i(601219),j=a.i(669943),k=a.i(492665),l=a.i(188546),m=a.i(182622),n=a.i(233711),o=a.i(714779),p=a.i(44925),q=a.i(572134),r=a.i(558418),s=a.i(26972),t=a.i(689963),u=a.i(427221),v=a.i(827857),w=a.i(811365),x=a.i(732084),y=a.i(149310);let z=s.z.object({error:s.z.object({status:u.z.string().optional(),message:u.z.string().optional(),details:t.z.array(x.z.looseObject({reason:u.z.string().optional()})).optional()})}),A=s.z.object({message:u.z.string()}),B=s.z.object({missing_permissions:t.z.array(u.z.string()).min(1)}),C=s.z.object({error:y.z.enum(["invalid_grant","invalid_client","unauthorized_client"])});async function D(a,b,c,d={}){let e,f,g=d.timeoutMs??5e3,h={Accept:"application/json"};c.token?h.Authorization=`Bearer ${c.token}`:c.basic&&(h.Authorization=`Basic ${Buffer.from(`${c.basic.user}:${c.basic.pass}`).toString("base64")}`),c.form?e=c.form:void 0!==c.body&&(h["Content-Type"]="application/json",e=JSON.stringify(c.body));try{f=await (d.fetch??fetch)(b,{method:c.method??"GET",headers:h,body:e,signal:AbortSignal.timeout(g),cache:"no-store"})}catch(b){return{ok:!1,kind:"transient",error:b instanceof DOMException&&("TimeoutError"===b.name||"AbortError"===b.name)?`${a} didn't answer within ${Math.round(g/1e3)} seconds.`:`Couldn't reach ${a}.`}}let i=await f.json().catch(()=>null);if(f.ok)return{ok:!0,data:i};let j=z.safeParse(i),k=j.success?j.data.error.details?.find(a=>a.reason)?.reason??j.data.error.status:void 0,l=j.success?void 0:A.safeParse(i),m=j.success?j.data.error.message?.slice(0,300):l?.success?l.data.message.slice(0,600):void 0,n={status:f.status,...k?{reason:k}:{},...m?{message:m}:{}};if(403===f.status){let b=B.safeParse(i);if(b.success){let a=b.data.missing_permissions;return{ok:!1,kind:"scope",...n,missing:a,error:`Missing permission${a.length>1?"s":""}: ${a.join(", ")}.`}}if(j.success)return{ok:!1,kind:"scope",...n,error:`${a} refused this request (${k??"PERMISSION_DENIED"}).`}}if(401===f.status||403===f.status||400===f.status&&C.safeParse(i).success)return{ok:!1,kind:"auth",...n,error:`${a} rejected this credential (${f.status}).`};if(404===f.status)return{ok:!1,kind:"missing",...n,error:`${a} doesn't know this resource (404).`};if(429===f.status){let b=Number(f.headers.get("Retry-After"));return{ok:!1,kind:"transient",...n,retryAfterS:Number.isFinite(b)&&b>0?b:60,error:"RESOURCE_EXHAUSTED"===k?`${a} says a quota is used up.`:`${a} says there were too many requests.`}}return{ok:!1,kind:"transient",...n,error:`${a} returned an error (${f.status}).`}}let E=(a,b)=>({ok:!1,kind:"format",error:`${a} answered ${b} in a format the console doesn't recognise.`});async function F(a,b={}){let c=await D("Firebase","https://firebase.googleapis.com/v1beta1/projects?pageSize=100",{token:a},b);if(!c.ok)return c;let d=s.z.object({results:t.z.array(s.z.object({projectId:u.z.string(),displayName:u.z.string().optional(),state:u.z.string().optional()})).optional()}).safeParse(c.data);return d.success?{ok:!0,data:(d.data.results??[]).filter(a=>"DELETED"!==a.state).map(a=>({projectId:a.projectId,displayName:a.displayName??a.projectId}))}:E("Firebase","the project list")}async function G(a,b,c={}){return H(a,await F(b,c))}function H(a,b){if(!b.ok&&"scope"!==b.kind)return b;let c=b.ok?b.data:[];return{ok:!0,data:c.some(b=>b.projectId===a.project_id)?c:[{projectId:a.project_id,displayName:a.project_id},...c]}}async function I(a,b,c={}){let d=performance.now(),e=await D("Firestore",`https://firestore.googleapis.com/v1/projects/${encodeURIComponent(b)}/databases/(default)/documents/ops/ping`,{token:a},c),f=Math.round(performance.now()-d);if(e.ok)return{ok:!0,data:{reachable:!0,noDatabase:!1,latencyMs:f}};if("missing"===e.kind){let a=/database .*does not exist/i.test(e.message??"");return{ok:!0,data:{reachable:!a,noDatabase:a,latencyMs:f}}}return e}async function J(a,b,c={}){let d=await D("Firebase Auth",`https://identitytoolkit.googleapis.com/v1/projects/${encodeURIComponent(b)}/accounts:query`,{method:"POST",token:a,body:{returnUserInfo:!1}},c);if(!d.ok)return d;let e=s.z.object({recordsCount:v.z.union([u.z.string(),w.z.number()]).optional()}).safeParse(d.data),f=e.success?Number(e.data.recordsCount??0):0/0;return Number.isFinite(f)?{ok:!0,data:f}:E("Firebase Auth","the user count")}a.s(["R",0,D,"t",0,E],288666);let K=s.z.object({timeSeries:t.z.array(s.z.object({points:t.z.array(s.z.object({value:s.z.object({int64Value:v.z.union([u.z.string(),w.z.number()]).optional()})})).optional()})).optional()});async function L(a,b,c,d,e,f){let g=new URLSearchParams({filter:`metric.type="firestore.googleapis.com/document/${c}_ops_count"`,"interval.startTime":d.toISOString(),"interval.endTime":e.toISOString(),"aggregation.alignmentPeriod":`${Math.max(60,Math.ceil((e.getTime()-d.getTime())/1e3))}s`,"aggregation.perSeriesAligner":"ALIGN_SUM","aggregation.crossSeriesReducer":"REDUCE_SUM"}),h=await D("Cloud Monitoring",`https://monitoring.googleapis.com/v3/projects/${encodeURIComponent(b)}/timeSeries?${g}`,{token:a},f);if(!h.ok)return h;let i=K.safeParse(h.data);return i.success?{ok:!0,data:(i.data.timeSeries??[]).flatMap(a=>a.points??[]).reduce((a,b)=>a+Number(b.value.int64Value??0),0)}:E("Cloud Monitoring","the Firestore usage")}async function M(a,b,c,d,e={}){let[f,g,h]=await Promise.all(["read","write","delete"].map(f=>L(a,b,f,c,d,e)));for(let a of[f,g,h])if(!a.ok)return a;return{ok:!0,data:{reads:f.data,writes:g.data,deletes:h.data}}}a.s(["q",0,J,"z",0,G,"W",0,M,"G",0,I,"E",0,F,"b",0,H],449734);var N=a.i(666680),O=a.i(899370),P=a.i(61675);let Q=s.z.object({type:O.z.literal("service_account"),project_id:u.z.string().min(1),client_email:P.z.email(),private_key:u.z.string().includes("PRIVATE KEY"),private_key_id:u.z.string().optional()});function R(a){try{let b=Q.safeParse(JSON.parse(a));return b.success?b.data:null}catch{return null}}let S="https://oauth2.googleapis.com/token",T=["https://www.googleapis.com/auth/datastore","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/monitoring.read","https://www.googleapis.com/auth/firebase.readonly"],U=a=>Buffer.from(a).toString("base64url");async function V(a,b={}){let c;try{var d;let e,f,g;d=Math.floor((b.now??new Date).getTime()/1e3),e=U(JSON.stringify({alg:"RS256",typ:"JWT",...a.private_key_id?{kid:a.private_key_id}:{}})),f=U(JSON.stringify({iss:a.client_email,scope:T.join(" "),aud:S,iat:d,exp:d+3600})),g=(0,N.createSign)("RSA-SHA256").update(`${e}.${f}`).sign(a.private_key),c=`${e}.${f}.${U(g)}`}catch{return{ok:!1,kind:"auth",error:"The private key in this service account can't be used. Paste the whole JSON file again."}}let e=new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:c}),f=await D("Google",S,{method:"POST",form:e},b);if(!f.ok)return"auth"===f.kind?{...f,error:"Google rejected this service account (its key was deleted or disabled). Create a new key."}:f;let g=s.z.object({access_token:u.z.string().min(1)}).safeParse(f.data);return g.success?{ok:!0,data:g.data.access_token}:E("Google","the access token")}a.s(["X",0,V,"p",0,R,"m",0,Q],15827);var W=a.i(83931);let X="https://console.neon.tech/api/v2",Y="Neon";async function Z(a,b={}){let c=await D(Y,`${X}/users/me/organizations`,{token:a},b);if(!c.ok)return c;let d=s.z.object({organizations:t.z.array(s.z.object({id:u.z.string(),name:u.z.string()}))}).safeParse(c.data);return d.success?{ok:!0,data:d.data.organizations}:E(Y,"the organization list")}let $=s.z.object({id:u.z.string(),name:u.z.string(),region_id:u.z.string(),pg_version:w.z.number().nullish(),created_at:u.z.string(),org_id:u.z.string().nullish()});async function _(a,b,c={}){let d,e=[];for(let f=0;f<5;f++){let f=new URLSearchParams({limit:String(100)});b&&f.set("org_id",b),d&&f.set("cursor",d);let g=await D(Y,`${X}/projects?${f}`,{token:a},c);if(!g.ok)return g;let h=s.z.object({projects:t.z.array($),pagination:s.z.object({cursor:u.z.string().nullish()}).nullish()}).safeParse(g.data);if(!h.success)return E(Y,"the project list");for(let a of h.data.projects)e.push({id:a.id,name:a.name,region:a.region_id,pgVersion:a.pg_version??null,orgId:a.org_id??b,createdAt:a.created_at});if(d=h.data.pagination?.cursor??void 0,h.data.projects.length<100||!d)break}return{ok:!0,data:e}}async function aa(a,b={}){let c=await Z(a,b);if(!c.ok&&"missing"!==c.kind&&"scope"!==c.kind)return c;let d=c.ok&&c.data.length?c.data.map(a=>a.id):[null],e=[];for(let c of d){let d=await _(a,c,b);if(!d.ok)return d;e.push(...d.data)}return{ok:!0,data:e}}let ab=s.z.object({project:s.z.object({region_id:u.z.string(),pg_version:w.z.number().nullish(),compute_time_seconds:w.z.number().nullish(),data_transfer_bytes:w.z.number().nullish(),active_time_seconds:w.z.number().nullish(),consumption_period_start:u.z.string().nullish(),consumption_period_end:u.z.string().nullish(),compute_last_active_at:u.z.string().nullish()})});async function ac(a,b,c={}){let d=await D(Y,`${X}/projects/${encodeURIComponent(b)}`,{token:a},c);if(!d.ok)return d;let e=ab.safeParse(d.data);if(!e.success)return E(Y,"the project");let f=e.data.project;return{ok:!0,data:{computeSeconds:f.compute_time_seconds??0,transferBytes:f.data_transfer_bytes??0,activeSeconds:f.active_time_seconds??null,periodStart:f.consumption_period_start??null,periodEnd:f.consumption_period_end??null,region:f.region_id,pgVersion:f.pg_version??null,lastActive:f.compute_last_active_at??null}}}let ad=s.z.object({id:u.z.string(),branch_id:u.z.string(),current_state:u.z.string(),pending_state:u.z.string().nullish(),disabled:W.z.boolean().nullish(),autoscaling_limit_min_cu:w.z.number(),autoscaling_limit_max_cu:w.z.number(),last_active:u.z.string().nullish()}),ae=a=>({id:a.id,branchId:a.branch_id,state:a.current_state,pendingState:a.pending_state??null,disabled:a.disabled??!1,minCu:a.autoscaling_limit_min_cu,maxCu:a.autoscaling_limit_max_cu,lastActive:a.last_active??null});async function af(a,b,c={}){let d=await D(Y,`${X}/projects/${encodeURIComponent(b)}/endpoints`,{token:a},c);if(!d.ok)return d;let e=s.z.object({endpoints:t.z.array(ad)}).safeParse(d.data);return e.success?{ok:!0,data:e.data.endpoints.map(ae)}:E(Y,"the compute list")}async function ag(a,b,c,d={}){let e=await D(Y,`${X}/projects/${encodeURIComponent(b)}/endpoints/${encodeURIComponent(c)}`,{token:a},d);if(!e.ok)return e;let f=s.z.object({endpoint:ad}).safeParse(e.data);return f.success?{ok:!0,data:ae(f.data.endpoint)}:E(Y,"the compute")}async function ah(a,b,c,d={}){let e=await D(Y,`${X}/projects/${encodeURIComponent(b)}/endpoints/${encodeURIComponent(c)}/start`,{method:"POST",token:a},d);return e.ok?{ok:!0,data:null}:423===e.status?{ok:!1,kind:"busy",status:423,error:"Neon is busy with another operation. Try again in a minute."}:403===e.status?{ok:!1,kind:"scope",status:403,error:`${Y} refused this request (403).`}:e}let ai=s.z.object({id:u.z.string(),name:u.z.string(),default:W.z.boolean().nullish(),primary:W.z.boolean().nullish(),logical_size:w.z.number().nullish()});async function aj(a,b,c={}){let d=await D(Y,`${X}/projects/${encodeURIComponent(b)}/branches`,{token:a},c);if(!d.ok)return d;let e=s.z.object({branches:t.z.array(ai)}).safeParse(d.data);return e.success?{ok:!0,data:e.data.branches.map(a=>({id:a.id,name:a.name,isDefault:a.default??a.primary??!1,logicalSize:a.logical_size??null}))}:E(Y,"the branch list")}a.s(["m",0,aa,"c",0,ag,"Z",0,ac,"e",0,aj,"k",0,af,"d",0,ah],944808);var ak=a.i(191179);let al="https://api.supabase.com",am="Supabase",an=["auth","rest","realtime","storage","db"],ao=s.z.object({ref:u.z.string(),name:u.z.string(),region:u.z.string(),created_at:u.z.string(),status:u.z.string(),organization_slug:u.z.string().optional(),organization_id:u.z.string().optional(),database:s.z.object({version:u.z.string().optional()}).nullish()}),ap=a=>({ref:a.ref,name:a.name,orgSlug:a.organization_slug??a.organization_id??"",region:a.region,createdAt:a.created_at,status:a.status,pgVersion:a.database?.version??null});async function aq(a,b={}){let c=await D(am,`${al}/v1/projects`,{token:a},b);if(!c.ok)return c;let d=t.z.array(ao).safeParse(c.data);return d.success?{ok:!0,data:d.data.map(ap)}:E(am,"the project list")}async function ar(a,b,c={}){let d=await D(am,`${al}/v1/projects/${encodeURIComponent(b)}`,{token:a},c);if(!d.ok)return d;let e=ao.safeParse(d.data);return e.success?{ok:!0,data:ap(e.data)}:E(am,"the project")}async function as(a,b,c,d){let e=await D(am,`${al}/v1/projects/${encodeURIComponent(a)}/${b}`,{method:"POST",token:c},d);return e.ok?{ok:!0,data:null}:403===e.status&&"scope"!==e.kind?{...e,kind:"scope",error:"Missing permission: project_admin_write."}:e}async function at(a,b,c={}){let d=await D(am,`${al}/v1/projects/${encodeURIComponent(b)}/database/query/read-only`,{method:"POST",token:a,body:{query:"select 1"}},c);return d.ok?{ok:!0,data:null}:d}async function au(a,b,c={}){let d=await D(am,`${al}/v1/organizations/${encodeURIComponent(b)}`,{token:a},c);if(!d.ok)return d;let e=s.z.object({plan:u.z.string().optional()}).safeParse(d.data);return e.success?{ok:!0,data:e.data.plan??null}:E(am,"the organization")}async function av(a,b,c={}){let d=new URLSearchParams(an.map(a=>["services",a])),e=await D(am,`${al}/v1/projects/${encodeURIComponent(b)}/health?${d}`,{token:a},c);if(!e.ok)return e;let f=t.z.array(s.z.object({name:u.z.string(),status:u.z.string(),error:u.z.string().optional()})).safeParse(e.data);return f.success?{ok:!0,data:f.data.map(a=>({name:a.name,status:a.status,error:a.error??null}))}:E(am,"service health")}let aw=s.z.object({result:t.z.array(s.z.object({timestamp:u.z.string(),total_auth_requests:w.z.number(),total_realtime_requests:w.z.number(),total_rest_requests:w.z.number(),total_storage_requests:w.z.number()})).optional(),error:ak.z.unknown().optional()});async function ax(a,b,c={}){let d=await D(am,`${al}/v1/projects/${encodeURIComponent(b)}/analytics/endpoints/usage.api-counts?interval=7day`,{token:a},c);if(!d.ok)return d;let e=aw.safeParse(d.data);return e.success?e.data.error?{ok:!1,kind:"transient",error:"Supabase couldn't read the API request counts this time."}:{ok:!0,data:(e.data.result??[]).map(a=>({at:new Date(a.timestamp),total:a.total_auth_requests+a.total_realtime_requests+a.total_rest_requests+a.total_storage_requests}))}:E(am,"the API request counts")}async function ay(a,b,c={}){let d={used:["projects_read"],missing:[],notes:[]},e=b.find(a=>a.status.startsWith("ACTIVE_")),f=(e??b[0])?.orgSlug,g=[];e?(g.push(["project_admin_read",av(a,e.ref,c)]),g.push(["analytics_usage_read",ax(a,e.ref,c)])):d.notes.push("Health and API traffic are checked once a project is active"),f&&g.push(["organization_admin_read",au(a,f,c)]);let h=await Promise.all(g.map(([,a])=>a));return g.forEach(([a],b)=>{let c=h[b];c.ok?d.used.push(a):"scope"===c.kind||"auth"===c.kind?d.missing.push(...c.missing??[a]):d.notes.push(`${a} couldn't be checked just now (${c.error})`)}),d.notes.push("Database read is checked at the first daily size read"),d}a.s(["W",0,{project_admin_read:"Service health stays empty",analytics_usage_read:"Last API traffic and Auto-pause risk stay empty",organization_admin_read:"Free slots assume every organization is on the free plan",database_read:"Database size stays empty"},"Z",0,ax,"e",0,ar,"i",0,at,"X",0,aq,"K",0,au,"c",0,(a,b,c={})=>as(b,"pause",a,c),"G",0,(a,b,c={})=>as(b,"restore",a,c),"F",0,av,"T",0,ay],112735);let az="https://api.turso.tech/v1",aA="Turso",aB=s.z.object({slug:u.z.string(),name:u.z.string().default(""),plan_id:u.z.string().nullish(),blocked_reads:W.z.boolean().nullish(),blocked_writes:W.z.boolean().nullish()});async function aC(a,b={}){let c=await D(aA,`${az}/organizations`,{token:a},b);if(!c.ok)return c;let d=t.z.array(aB).safeParse(c.data);return d.success?{ok:!0,data:d.data.map(a=>({slug:a.slug,name:a.name||a.slug,plan:a.plan_id??null,blockedReads:a.blocked_reads??!1,blockedWrites:a.blocked_writes??!1}))}:E(aA,"the organization list")}let aD=s.z.object({Name:u.z.string(),DbId:u.z.string(),group:u.z.string().nullish(),primaryRegion:u.z.string().nullish(),block_reads:W.z.boolean().nullish(),block_writes:W.z.boolean().nullish()});async function aE(a,b,c={}){let d=await D(aA,`${az}/organizations/${encodeURIComponent(b)}/databases`,{token:a},c);if(!d.ok)return d;let e=s.z.object({databases:t.z.array(aD)}).safeParse(d.data);return e.success?{ok:!0,data:e.data.databases.map(a=>({id:a.DbId,name:a.Name,org:b,group:a.group??null,primaryRegion:a.primaryRegion??null,blockReads:a.block_reads??!1,blockWrites:a.block_writes??!1}))}:E(aA,"the database list")}async function aF(a,b={}){let c=await aC(a,b);if(!c.ok)return c;let d=[];for(let e of c.data.slice(0,10)){let c=await aE(a,e.slug,b);if(!c.ok)return c;d.push(...c.data)}return{ok:!0,data:d}}let aG=s.z.object({rows_read:w.z.number().default(0),rows_written:w.z.number().default(0),storage_bytes:w.z.number().default(0)}),aH=s.z.object({organization:s.z.object({usage:aG.extend({databases:w.z.number().nullish()})}),databases:t.z.array(s.z.object({uuid:u.z.string(),total:aG.nullish()})).nullish()}),aI=a=>({rowsRead:a.rows_read,rowsWritten:a.rows_written,storageBytes:a.storage_bytes});async function aJ(a,b,c={}){let d=await D(aA,`${az}/organizations/${encodeURIComponent(b)}/usage`,{token:a},c);return d.ok?function(a){let b=aH.safeParse(a);if(!b.success)return E(aA,"the usage");let c=new Map;for(let a of b.data.databases??[])a.total&&c.set(a.uuid,aI(a.total));return{ok:!0,data:{org:{...aI(b.data.organization.usage),databases:b.data.organization.usage.databases??null},byDb:c}}}(d.data):d}a.s(["t",0,aF,"X",0,aE,"u",0,aC,"d",0,aJ],354448);let aK="https://api.upstash.com/v2",aL="Upstash";function aM(a){let b=a.trim(),c=b.search(/[:\s]/);if(c<=0)return null;let d=b.slice(0,c).trim(),e=b.slice(c+1).trim();return!/^[^@\s:]+@[^@\s:]+\.[^@\s:]+$/.test(d)||e.length<20||/\s/.test(e)?null:{email:d,apiKey:e}}let aN=a=>({basic:{user:a.email,pass:a.apiKey}}),aO=s.z.object({database_id:u.z.string(),database_name:u.z.string(),region:u.z.string().nullish(),primary_region:u.z.string().nullish(),state:u.z.string().nullish(),type:u.z.string().nullish()});async function aP(a,b={}){let c=await D(aL,`${aK}/redis/databases`,aN(a),b);if(!c.ok)return c;let d=t.z.array(aO).safeParse(c.data??[]);return d.success?{ok:!0,data:d.data.map(a=>({id:a.database_id,name:a.database_name,region:"global"===a.region&&a.primary_region?`global \xb7 ${a.primary_region}`:a.region??a.primary_region??null,state:a.state??null,type:a.type??null}))}:E(aL,"the database list")}let aQ=w.z.number().nullish(),aR=s.z.object({daily_net_commands:aQ,total_monthly_requests:aQ,current_storage:aQ,total_monthly_bandwidth:aQ});async function aS(a,b,c={}){var d;let e,f=await D(aL,`${aK}/redis/stats/${encodeURIComponent(b)}`,aN(a),c);return f.ok?(d=f.data,(e=aR.safeParse(d)).success?{ok:!0,data:{dailyCommands:e.data.daily_net_commands??null,monthlyRequests:e.data.total_monthly_requests??null,storageBytes:e.data.current_storage??null,monthlyBandwidthBytes:e.data.total_monthly_bandwidth??null}}:E(aL,"the database stats")):f}a.s(["M",0,aP,"L",0,aM,"Z",0,aS],584897);var aT=a.i(436357),aU=a.i(895176),aV=a.i(201516),aW=a.i(672319);function aX(a,b,c){let d=new Map(a.map(a=>[a.externalId,a])),e=new Set(b.map(a=>a.externalId)),f=new Set(c.keepTeamIds??[]);return{update:b.filter(a=>d.has(a.externalId)).map(a=>({id:d.get(a.externalId).id,name:a.name,meta:a.meta})),insert:b.filter(a=>!d.has(a.externalId)).map(a=>({...a,monitored:c.watchNew})),gone:a.filter(a=>!e.has(a.externalId)&&!(null!==a.teamId&&f.has(a.teamId))).map(a=>a.id)}}function aY(a,b){return!a.monitored&&b.getTime()-a.firstSeenAt.getTime()<864e5}let aZ={vercel:"app",supabase:"supabase_project",neon:"neon_project",firebase:"firestore",cloudflare:"zone",turso:"turso_database",upstash:"upstash_redis"};Object.keys(aZ);let a$=a=>Object.hasOwn(aZ,a)?aZ[a]:null,a_=a=>"string"==typeof a&&a?a:null;function a0(a,b){return"app"===a?`Vercel project${a_(b.teamName)?` \xb7 ${b.teamName}`:""}`:"zone"===a?`Cloudflare zone \xb7 ${a_(b.status)??"unknown"}`:"supabase_project"===a?["Supabase project",a_(b.status)?(0,aW.P)(String(b.status)).label:null,a_(b.region)].filter(Boolean).join(" · "):"neon_project"===a?["Neon project",a_(b.region)].filter(Boolean).join(" · "):"turso_database"===a?["Turso database",a_(b.group)?`group ${b.group}`:null,a_(b.region)].filter(Boolean).join(" · "):"upstash_redis"===a?["Upstash Redis",a_(b.region)].filter(Boolean).join(" · "):"Firebase project"}let a1=a=>"app"===a?"app":"zone"===a?"dom":"firestore"===a?"fs":"db";async function a2(a){let[c]=await (0,d.f)().select().from(e.accounts).where((0,b.u)(e.accounts.id,a)).limit(1);if(!c)return null;let f=(0,h.V)({ciphertext:c.credentialCiphertext,iv:c.credentialIv},(0,k.f)().OPS_ENCRYPTION_KEY);return{account:c,token:f,problem:(0,g.A)(f)}}async function a3(a,c){let f=new Date;return(await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,c),(0,b.M)(e.resources.goneAt))).orderBy(e.resources.name).limit(500)).map(a=>({id:a.id,name:a.name,sub:a0(a.kind,a.meta),monitored:a.monitored,fresh:aY(a,f),badge:a1(a.kind)}))}async function a4(a,c){let f=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,"app"))),g=f.filter(a=>a.monitored&&!a.goneAt),h=f.filter(a=>!a.monitored||a.goneAt);if(h.length&&await (0,d.f)().update(e.monitors).set({paused:!0,updatedAt:new Date}).where((0,b.y)(e.monitors.resourceId,h.map(a=>a.id))),!g.length)return 0;let i=await (0,d.f)().select({id:e.monitors.id,resourceId:e.monitors.resourceId,paused:e.monitors.paused,ownerPaused:e.monitors.ownerPaused,kind:e.monitors.kind}).from(e.monitors).where((0,b.y)(e.monitors.resourceId,g.map(a=>a.id))),j=(0,aV.Z)(i.filter(a=>"heartbeat"===a.kind));j.length&&await (0,d.f)().update(e.monitors).set({paused:!1,updatedAt:new Date}).where((0,b.y)(e.monitors.id,j));let k=i.filter(a=>"heartbeat"!==a.kind),l=(0,aV.Z)(k),m=new Set(i.map(a=>a.resourceId)),n=[];for(let a of g.filter(a=>!m.has(a.id))){let b=String(a.meta.teamId??""),d="string"==typeof a.meta.primaryDomain&&a.meta.primaryDomain?a.meta.primaryDomain:null,e=d?{ok:!0,data:d}:c?await (0,q.q)(c,b,a.externalId,a.name):null;n.push({appId:a.id,url:`https://${e?.ok?e.data:`${a.name}.vercel.app`}/`})}return l.length||n.length?(0,aU.e)(async a=>{let c=Math.max(0,aV.G-await (0,aU.Q)(a)),d=new Set,f=l.slice(0,c),g=l.slice(f.length);c-=f.length;let h=new Date;if(f.length&&await a.update(e.monitors).set({paused:!1,updatedAt:h}).where((0,b.y)(e.monitors.id,f)),g.length)for(let c of(await a.update(e.monitors).set({paused:!1,ownerPaused:!0,updatedAt:h}).where((0,b.y)(e.monitors.id,g)),k.filter(a=>g.includes(a.id))))d.add(c.resourceId);for(let b of n){let f=c>0;f?c-=1:d.add(b.appId),await a.insert(e.monitors).values({resourceId:b.appId,url:b.url,ownerPaused:!f}).onConflictDoNothing()}return d.size}):0}async function a5(a,c,g,h){let i=Array.isArray(g.productionAliases)?g.productionAliases.filter(a=>"string"==typeof a):[],j=(0,aT.Q)(h,c,i,g);await (0,d.f)().update(e.resources).set({meta:f.B`${e.resources.meta} || ${JSON.stringify(j)}::jsonb`}).where((0,b.u)(e.resources.id,a))}async function a6(a,c){for(let f of(await (0,d.f)().select({id:e.resources.id,name:e.resources.name,externalId:e.resources.externalId,meta:e.resources.meta,monitored:e.resources.monitored,goneAt:e.resources.goneAt}).from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,"app")))).filter(a=>a.monitored&&!a.goneAt)){let a=await (0,q.M)(c,String(f.meta.teamId??""),f.externalId);if(a.ok)await a5(f.id,f.name,f.meta,a.data);else if("auth"===a.kind||429===a.status)return}}async function a7(a,c,f,g){let h=aX((await (0,d.f)().select({id:e.resources.id,externalId:e.resources.externalId,monitored:e.resources.monitored}).from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,"zone")))).map(a=>({...a,teamId:null})),f.map(a=>({externalId:a.id,name:a.name,meta:{status:a.status,accountId:a.accountId,accountName:a.accountName}})),{watchNew:c});await (0,d.f)().transaction(async c=>{for(let a of h.update)await c.update(e.resources).set({name:a.name,meta:a.meta,lastSeenAt:g,goneAt:null,updatedAt:g}).where((0,b.u)(e.resources.id,a.id));h.insert.length&&await c.insert(e.resources).values(h.insert.map(b=>({accountId:a,kind:"zone",externalId:b.externalId,name:b.name,meta:b.meta,monitored:b.monitored}))).onConflictDoNothing({target:[e.resources.accountId,e.resources.kind,e.resources.externalId]}),h.gone.length&&await c.update(e.resources).set({goneAt:g,updatedAt:g}).where((0,b.b)((0,b.y)(e.resources.id,h.gone),(0,b.M)(e.resources.goneAt)))})}async function a8(a,c,f){let h=await (0,p.F)(c);if(!h.ok){let c=(0,g.E)({ok:!1,kind:"scope"===h.kind?"auth":h.kind,error:h.error});return c&&await (0,d.f)().update(e.accounts).set({...c,updatedAt:new Date}).where((0,b.u)(e.accounts.id,a)),{ok:!1,error:h.error}}let i=new Date;await a7(a,f,h.data,i);let j=await (0,p.d)(c);return await (0,d.f)().update(e.accounts).set({lastSyncAt:i,status:"ok",lastError:null,updatedAt:i,...j.ok?{expiresAt:j.data.expiresAt}:{}}).where((0,b.u)(e.accounts.id,a)),{ok:!0}}async function a9(a,b){let c=a=>({ok:!1,kind:"auth"===a.kind||"scope"===a.kind?"auth":"format"===a.kind?"format":"transient",error:a.error});if("vercel"===a){let a=await (0,q.G)(b);return a.ok?{ok:!0,found:a.data.apps,skippedTeams:a.data.skippedTeams,skippedTeamIds:a.data.skippedTeamIds}:{ok:!1,kind:a.kind,error:a.error}}if("supabase"===a){let a=await aq(b);return a.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:a.data.filter(a=>"REMOVED"!==a.status).map(a=>({externalId:a.ref,name:a.name,meta:{orgSlug:a.orgSlug,region:a.region,pgVersion:a.pgVersion,createdAt:a.createdAt,status:a.status}}))}:c(a)}if("neon"===a){let a=await aa(b);return a.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:a.data.map(a=>({externalId:a.id,name:a.name,meta:{orgId:a.orgId,region:a.region,pgVersion:a.pgVersion,createdAt:a.createdAt}}))}:c(a)}if("turso"===a){let a=await aF(b);return a.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:a.data.map(a=>({externalId:a.id,name:a.name,meta:{org:a.org,group:a.group,region:a.primaryRegion}}))}:c(a)}if("upstash"===a){let a=aM(b);if(!a)return{ok:!1,kind:"format",error:"The stored Upstash credential can't be read. Replace it."};let d=await aP(a);return d.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:d.data.map(a=>({externalId:a.id,name:a.name,meta:{region:a.region,type:a.type}}))}:c(d)}let d=R(b);if(!d)return{ok:!1,kind:"format",error:"The stored service account can't be read. Replace the credential."};let e=await V(d);if(!e.ok)return c(e);let f=await G(d,e.data);return f.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:f.data.map(a=>({externalId:a.projectId,name:a.displayName,meta:{projectId:a.projectId}}))}:c(f)}async function ba(a){let c=await a2(a);if(!c)return{ok:!1,error:"That account no longer exists."};let{account:f,token:h,problem:i}=c,j=a$(f.provider);if(!j)return{ok:!1,error:"Sync for this provider arrives in a later stage."};if(i||!h)return{ok:!1,error:i??"The credential can't be read."};if("cloudflare"===f.provider){let b=await a8(a,h,f.watchNew);return b.ok?{ok:!0,rows:await a3(a,j),skippedTeams:[],overLimit:null}:b}let k=await a9(f.provider,h);if(!k.ok){let c=(0,g.E)({ok:!1,kind:k.kind,error:k.error});return c&&await (0,d.f)().update(e.accounts).set({...c,updatedAt:new Date}).where((0,b.u)(e.accounts.id,a)),{ok:!1,error:k.error}}let l=(await (0,d.f)().select({id:e.resources.id,externalId:e.resources.externalId,monitored:e.resources.monitored,meta:e.resources.meta}).from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,j)))).map(a=>({id:a.id,externalId:a.externalId,monitored:a.monitored,teamId:"string"==typeof a.meta.teamId?a.meta.teamId:null,meta:a.meta})),m=new Map(l.map(a=>[a.id,a.meta])),n=aX(l,k.found,{watchNew:f.watchNew,keepTeamIds:k.skippedTeamIds}),o="vercel"===f.provider?await (0,q.o)(h):null,p=new Date;await (0,d.f)().transaction(async c=>{for(let a of n.update){var d;await c.update(e.resources).set({name:a.name,meta:{...a.meta,...(d=m.get(a.id))&&"string"==typeof d.primaryDomain?{domains:d.domains,primaryDomain:d.primaryDomain,pastDomains:d.pastDomains??[]}:{}},lastSeenAt:p,goneAt:null,updatedAt:p}).where((0,b.u)(e.resources.id,a.id))}n.insert.length&&await c.insert(e.resources).values(n.insert.map(b=>({accountId:a,kind:j,externalId:b.externalId,name:b.name,meta:b.meta,monitored:b.monitored}))).onConflictDoNothing({target:[e.resources.accountId,e.resources.kind,e.resources.externalId]}),n.gone.length&&await c.update(e.resources).set({goneAt:p,updatedAt:p}).where((0,b.b)((0,b.y)(e.resources.id,n.gone),(0,b.M)(e.resources.goneAt))),await c.update(e.accounts).set({lastSyncAt:p,status:"ok",lastError:null,updatedAt:p,...o?.ok?{expiresAt:o.data}:{}}).where((0,b.u)(e.accounts.id,a))}),"vercel"===f.provider&&await a6(a,h);let r="vercel"===f.provider?await a4(a,h):0;return{ok:!0,rows:await a3(a,j),skippedTeams:k.skippedTeams,overLimit:(0,aV.S)(r)}}async function bb(a,c,f){let g=await a2(a);if(!g)return{ok:!1,error:"That account no longer exists."};let h=a$(g.account.provider);if(!h)return{ok:!1,error:"Sync for this provider arrives in a later stage."};let i=(0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,h),(0,b.M)(e.resources.goneAt));await (0,d.f)().transaction(async d=>{let g=new Date;c.length?(await d.update(e.resources).set({monitored:!0,updatedAt:g}).where((0,b.b)(i,(0,b.y)(e.resources.id,c))),await d.update(e.resources).set({monitored:!1,updatedAt:g}).where((0,b.b)(i,(0,b.$)(e.resources.id,c)))):await d.update(e.resources).set({monitored:!1,updatedAt:g}).where(i),await d.update(e.accounts).set({watchNew:f,updatedAt:g}).where((0,b.u)(e.accounts.id,a))});let j="vercel"===g.account.provider?await a4(a,g.token):0,k=await a3(a,h);return{ok:!0,on:k.filter(a=>a.monitored).length,total:k.length,overLimit:(0,aV.S)(j)}}a.s(["f",0,aZ,"d",0,a1,"T",0,aY,"D",0,function(a,b,c){let d=a.filter(a=>!a.goneAt&&(!c||a.kind===c));return{on:d.filter(a=>a.monitored).length,total:d.length,fresh:d.filter(a=>aY(a,b)).length}},"J",0,aX,"K",0,a$,"S",0,a0],45468),a.s(["F",0,a5,"v",0,bb,"k",0,ba,"s",0,a7],743303);var bc=a.i(33135);let bd=f.B`excluded.meta`;async function be(a){let c=(0,k.f)().OPS_ENCRYPTION_KEY;return(await (0,d.f)().select().from(e.accounts).where((0,b.b)((0,b.u)(e.accounts.provider,a),(0,b.u)(e.accounts.status,"ok")))).map(a=>{let b=(0,h.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},c);return{acc:a,token:(0,g.A)(b)?null:b}})}async function bf(a,c,f){for(let{acc:h,token:i}of(await be("cloudflare"))){if(!i){f.push(`cloudflare/${h.label}: credential can't be read`);continue}let k=await (0,p.F)(i);if(!k.ok){let c=(0,g.E)({ok:!1,kind:"scope"===k.kind?"auth":k.kind,error:k.error});if(c&&await (0,d.f)().update(e.accounts).set({...c,updatedAt:a}).where((0,b.u)(e.accounts.id,h.id)),f.push(`cloudflare/${h.label}: ${k.error}`),429===k.status)return;continue}for(let g of(await a7(h.id,h.watchNew,k.data,a),await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,h.id),(0,b.u)(e.resources.kind,"zone"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt))))){if(c-Date.now()<6e3)return void f.push("cloudflare: skipped remaining zones, time budget used");let b=k.data.find(a=>a.id===g.externalId),[d,e,h]=await Promise.all([(0,p.p)(i,g.externalId),(0,p.v)(i,g.externalId),(0,p.w)(i,g.externalId)]),l=[d,e,h].flatMap(a=>a.ok?[]:[a]),m={zone:{status:b?.status??null,paused:b?.paused??!1,nameServers:b?.nameServers??[],accountId:b?.accountId??null,checkedAt:a.toISOString()},ssl:e.ok?{mode:e.data,error:null}:{mode:null,error:e.error},cfErrors:l.map(a=>a.error)};for(let b of(d.ok?Object.assign(m,{records:d.data.records,recordsTruncated:d.data.truncated}):"scope"===d.kind&&Object.assign(m,{records:[],recordsTruncated:!1}),h.ok?m.certs=h.data:"scope"===h.kind&&(m.certs=[]),await (0,j.r)(g.id,m,a),l))"scope"!==b.kind&&f.push(`cloudflare/${g.name}: ${b.error}`);if(l.some(a=>429===a.status))return}}}async function bg(a,c,f){for(let{acc:g,token:h}of(await be("vercel"))){if(!h)continue;let i=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,g.id),(0,b.u)(e.resources.kind,"app"))),k=i.filter(a=>a.monitored&&!a.goneAt),l=i.filter(a=>!a.monitored||a.goneAt).map(a=>a.id);for(let i of(l.length&&await (0,d.f)().update(e.resources).set({monitored:!1,updatedAt:a}).where((0,b.b)((0,b.u)(e.resources.kind,"domain"),(0,b.y)(e.resources.parentId,l))),k)){if(Date.now()>c)return void f.push("domains: skipped remaining apps, time budget used");let k=String(i.meta.teamId??""),l=await (0,q.M)(h,k,i.externalId);if(!l.ok){if(f.push(`domains/${i.name}: ${l.error}`),429===l.status)return;if("auth"===l.kind)break;continue}await a5(i.id,i.name,i.meta,l.data);let m=l.data.filter(a=>!a.gitBranch),o=m.length?await (0,d.f)().insert(e.resources).values(m.map(b=>({accountId:g.id,kind:"domain",externalId:b.name,name:b.name,parentId:i.id,monitored:!0,meta:{redirect:b.redirect,verified:b.verified,projectId:i.externalId},lastSeenAt:a}))).onConflictDoUpdate({target:[e.resources.accountId,e.resources.kind,e.resources.externalId],set:{parentId:i.id,monitored:!0,goneAt:null,lastSeenAt:a,updatedAt:a,meta:bd}}).returning({id:e.resources.id,name:e.resources.name}):[];for(let g of(await (0,d.f)().update(e.resources).set({goneAt:a,updatedAt:a}).where((0,b.b)((0,b.u)(e.resources.kind,"domain"),(0,b.u)(e.resources.parentId,i.id),(0,b.M)(e.resources.goneAt),m.length?(0,b.$)(e.resources.externalId,m.map(a=>a.name)):void 0)),o.filter(a=>!(0,n.f)(a.name)))){if(Date.now()>c)return;let b=await (0,q.Q)(h,k,g.name);b.ok?await (0,j.r)(g.id,{vercel:{...b.data,checkedAt:a.toISOString()}},a):"transient"===b.kind&&f.push(`domains/${g.name}: ${b.error}`)}}}}async function bh(){return(0,d.f)().select({r:e.resources,s:e.snapshots}).from(e.resources).leftJoin(e.snapshots,(0,b.u)(e.snapshots.resourceId,e.resources.id)).where((0,b.b)((0,b.u)(e.resources.kind,"domain"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)))}async function bi(){return(0,d.f)().select({r:e.resources,s:e.snapshots}).from(e.resources).leftJoin(e.snapshots,(0,b.u)(e.snapshots.resourceId,e.resources.id)).where((0,b.b)((0,b.u)(e.resources.kind,"zone"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)))}let bj=(a,b)=>((0,n.Z)(a)?.getTime()??0)-((0,n.Z)(b)?.getTime()??0);async function bk(a,c,f){let[g]=await (0,d.f)().select({data:e.snapshots.data}).from(e.snapshots).where((0,b.u)(e.snapshots.resourceId,a)).limit(1),h=await (0,o.f)(c,{timeoutMs:5e3});await (0,j.r)(a,{tls:(0,l.o)(h,(0,l.q)(g?.data).tls,f)},f)}async function bl(a,b,c){let d=(await bh()).filter(({r:b,s:c})=>!(0,n.f)(b.name)&&(0,n.Y)((0,l.q)(c?.data).tls?.checkedAt,a)).sort((a,b)=>bj((0,l.q)(a.s?.data).tls?.checkedAt,(0,l.q)(b.s?.data).tls?.checkedAt)).slice(0,n.H);await (0,bc.P)(d,4,async({r:d})=>{if(!(b-Date.now()<6e3))try{await bk(d.id,d.name,a)}catch{c.push(`tls/${d.name}: couldn't save the result`)}})}async function bm(a,c,f,g){let[h]=await (0,d.f)().select({data:e.snapshots.data}).from(e.snapshots).where((0,b.u)(e.snapshots.resourceId,a)).limit(1),i=(0,l.q)(h?.data).rdap,k=g;if(!k){let a=await (0,m.Y)();if(!a.ok)return a.error;k=a.services}let n=(0,m.T)(k,c),o=n?await (0,m.u)(c,n):{ok:!1,error:"The registry has no RDAP server"};return await (0,j.r)(a,{rdap:(0,l.n)(o,i,f)},f),o.ok?null:o.error}async function bn(a,b,c){let d=(await bi()).filter(({r:b,s:c})=>b.monitored&&(0,n.Y)((0,l.q)(c?.data).rdap?.checkedAt,a)).sort((a,b)=>bj((0,l.q)(a.s?.data).rdap?.checkedAt,(0,l.q)(b.s?.data).rdap?.checkedAt)).slice(0,n.H);if(!d.length)return;let e=await (0,m.Y)();if(!e.ok)return void c.push(`rdap: ${e.error}`);for(let{r:f}of d){if(b-Date.now()<6e3)return;let d=await bm(f.id,f.name,a,e.services);d&&"The registry has no RDAP server"!==d&&c.push(`rdap/${f.name}: ${d}`)}}async function bo(a,b,c){let f=b-Date.now();if(f<1e3)throw Error("skipped, time budget used");let g=await (0,r.z)({timeoutMs:Math.min(8e3,f)});if(!g.ok)return void c.push(`eol: ${g.error}`);let h={cycles:g.cycles,checkedAt:a.toISOString()};await (0,d.f)().insert(e.settings).values({key:r.T,value:h}).onConflictDoUpdate({target:e.settings.key,set:{value:h,updatedAt:a}})}async function bp(a){let b=await bi(),c=[];for(let{r:d,s:e}of b.filter(a=>a.s)){let b=(0,l.q)(e.data),f=(0,n.G)({status:b.zone?.status??null,paused:b.zone?.paused??!1,rdap:b.rdap},a);(f.state!==e.state||JSON.stringify(f.reasons)!==JSON.stringify(b.reasons))&&(await (0,j.r)(d.id,{reasons:f.reasons},a),f.state!==e.state&&await (0,j.a)(d.id,f.state,a),c.push((0,n.n)({resourceId:d.id,name:d.name,prev:e.state,next:f.state,reasons:f.reasons,at:a})))}let d=b.filter(a=>a.r.monitored).map(a=>a.r.name);for(let{r:e,s:f}of(await bh())){let g=(0,l.q)(f?.data),h=(0,n.J)(e.name,d),i=h?(0,l.q)(b.find(a=>a.r.name===h)?.s?.data):null,k=(0,n.k)({host:e.name,tls:g.tls,vercel:g.vercel,records:i?(0,n.Q)(e.name,i.records):[],zoneRdap:i?.rdap??null},a),m=f?.state??null;(k.state!==m||JSON.stringify(k.reasons)!==JSON.stringify(g.reasons))&&(await (0,j.r)(e.id,{reasons:k.reasons},a),k.state!==m&&await (0,j.a)(e.id,k.state,a),c.push((0,n.n)({resourceId:e.id,name:e.name,prev:m,next:k.state,reasons:k.reasons,at:a})))}await (0,i.f)(c)}async function bq(){return(0,d.f)().select({r:e.resources,s:e.snapshots,label:e.accounts.label}).from(e.resources).innerJoin(e.accounts,(0,b.u)(e.accounts.id,e.resources.accountId)).leftJoin(e.snapshots,(0,b.u)(e.snapshots.resourceId,e.resources.id)).where((0,b.b)((0,b.u)(e.resources.kind,"zone"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt))).orderBy((0,c.M)(e.resources.name)).limit(200)}async function br(){let a=await (0,d.f)().select({r:e.resources,s:e.snapshots}).from(e.resources).leftJoin(e.snapshots,(0,b.u)(e.snapshots.resourceId,e.resources.id)).where((0,b.b)((0,b.u)(e.resources.kind,"domain"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt))).orderBy((0,c.M)(e.resources.name)).limit(200);if(!a.length)return[];let f=[...new Set(a.map(a=>a.r.parentId).filter(a=>!!a))],g=f.length?await (0,d.f)().select({id:e.resources.id,name:e.resources.name,monitored:e.resources.monitored,goneAt:e.resources.goneAt}).from(e.resources).where((0,b.y)(e.resources.id,f)):[],h=new Set(g.filter(a=>a.monitored&&!a.goneAt).map(a=>a.id)),i=await bq(),j=i.map(a=>a.r.name);return a.filter(({r:a})=>!a.parentId||h.has(a.parentId)).map(({r:a,s:b})=>{let c=(0,l.q)(b?.data),d=(0,n.J)(a.name,j),e=i.find(a=>a.r.name===d),f=(0,l.q)(e?.s?.data);return{id:a.id,name:a.name,appId:a.parentId,appName:g.find(b=>b.id===a.parentId)?.name??null,zoneId:e?.r.id??null,zoneName:d,isVercel:(0,n.f)(a.name),state:b?.state??"unknown",reasons:c.reasons,tls:c.tls,vercel:c.vercel,records:e?(0,n.Q)(a.name,f.records):[],rdap:e?f.rdap:null,cfAccountId:e?f.zone?.accountId??null:null}})}async function bs(){return(await bq()).map(a=>({id:a.r.id,name:a.r.name}))}async function bt(a){let b=await bq(),c=(a?b.find(b=>b.r.id===a):null)??b[0];if(!c)return null;let d=(0,l.q)(c.s?.data);return{id:c.r.id,name:c.r.name,accountId:c.r.accountId,accountLabel:c.label,state:c.s?.state??"unknown",reasons:d.reasons,facts:d}}async function bu(){let[a]=await (0,d.f)().select({value:e.settings.value}).from(e.settings).where((0,b.u)(e.settings.key,r.T)).limit(1),c=a?.value,f=c?(0,r.b)({result:{releases:c.cycles?.map(a=>({name:a.name,isEol:a.isEol,eolFrom:a.eolFrom,latest:a.latest?{name:a.latest}:null}))}}):null;return f&&"string"==typeof c?.checkedAt?{cycles:f,checkedAt:c.checkedAt}:null}async function bv(a){let[c]=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.id,a),(0,b.u)(e.resources.kind,"domain"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt))).limit(1);if(!c)return{ok:!1,error:"That domain is no longer watched."};if((0,n.f)(c.name))return{ok:!1,error:"vercel.app domains are Vercel's own. There is nothing to check."};let f=new Date;await bk(c.id,c.name,f);let g=await bq(),h=(0,n.J)(c.name,g.map(a=>a.r.name)),i=g.find(a=>a.r.name===h),j=i?await bm(i.r.id,i.r.name,f):null;return await bp(f),{ok:!0,message:j?`Checked ${c.name}. Domain expiry: ${j}.`:`Checked ${c.name}.`,audit:{message:`Re-check: ${c.name}`,resourceId:c.id}}}a.s(["p",0,["cloudflare","domains","tls","rdap","eol"],"r",0,bm,"x",0,bp,"h",0,bf,"H",0,bg,"i",0,bo,"W",0,bn,"V",0,bl,"j",0,bk],418864),a.s(["j",0,bt,"p",0,br,"c",0,bs,"P",0,bu,"_",0,bv],30184)},669943,a=>{var b=a.i(93321),c=a.i(351674),d=a.i(548734),e=a.i(837137);async function f(a,b,f){await (0,d.f)().insert(e.snapshots).values({resourceId:a,data:b,collectedAt:f,stateSince:f}).onConflictDoUpdate({target:e.snapshots.resourceId,set:{data:c.B`${e.snapshots.data} || ${JSON.stringify(b)}::jsonb`,collectedAt:f}})}async function g(a,c,f){await (0,d.f)().update(e.snapshots).set({state:c,stateSince:f}).where((0,b.u)(e.snapshots.resourceId,a))}a.s(["r",0,f,"a",0,g])},960186,a=>{let b={supabase_project:"supabase",neon_project:"neon",firestore:"firebase",turso_database:"turso",upstash_redis:"upstash",d1_database:"d1"};function c(a){return a.toLowerCase().replace(/^webs?[-_]/,"").replace(/[-_](vercel|web|app|site|fe|frontend)$/,"").replace(/[^a-z0-9]/g,"")}a.s(["H",0,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"],"$",0,{supabase:"Supabase",neon:"Neon",firebase:"Firebase",turso:"Turso",upstash:"Upstash",d1:"Cloudflare D1"},"N",0,a=>`/${b[a]}`,"Z",0,a=>b[a],"U",0,function(a,b){let d=c(a);if(!d)return null;let e=b.filter(a=>c(a.name)===d);if(e.length)return 1===e.length?e[0].id:null;let f=b.filter(a=>{let b=c(a.name);return b.length>=4&&d.length>=4&&(d.includes(b)||b.includes(d))});return 1===f.length?f[0].id:null}])},188546,a=>{var b=a.i(26972),c=a.i(427221),d=a.i(83931),e=a.i(689963),f=a.i(811365);let g=b.z.object({notAfter:c.z.string().nullable(),issuer:c.z.string().nullable(),authorized:d.z.boolean().nullable(),error:c.z.string().nullable(),checkedAt:c.z.string()}),h=b.z.object({misconfigured:d.z.boolean(),configuredBy:c.z.string().nullable(),recommendedIps:e.z.array(c.z.string()).default([]),checkedAt:c.z.string()}),i=b.z.object({expiresAt:c.z.string().nullable(),registrar:c.z.string().nullable(),error:c.z.string().nullable(),checkedAt:c.z.string()}),j=b.z.object({id:c.z.string(),type:c.z.string(),name:c.z.string(),content:c.z.string(),proxied:d.z.boolean(),ttl:f.z.number(),comment:c.z.string().nullable()}),k=b.z.object({status:c.z.string().nullable(),paused:d.z.boolean(),nameServers:e.z.array(c.z.string()),accountId:c.z.string().nullable(),checkedAt:c.z.string().nullable()}),l=b.z.object({mode:c.z.string().nullable(),error:c.z.string().nullable()}),m=b.z.object({type:c.z.string(),status:c.z.string(),hosts:e.z.array(c.z.string()),expiresOn:c.z.string().nullable()}),n=(a,b)=>{let c=a.safeParse(b);return c.success?c.data:null},o=(a,b)=>Array.isArray(b)?b.flatMap(b=>{let c=a.safeParse(b);return c.success?[c.data]:[]}):[],p=a=>Array.isArray(a)?a.filter(a=>"string"==typeof a):[];a.s(["q",0,function(a){let b=a??{};return{tls:n(g,b.tls),vercel:n(h,b.vercel),rdap:n(i,b.rdap),records:o(j,b.records),recordsTruncated:!0===b.recordsTruncated,zone:n(k,b.zone),ssl:n(l,b.ssl),certs:o(m,b.certs),cfErrors:p(b.cfErrors),reasons:p(b.reasons)}},"n",0,function(a,b,c){let d=c.toISOString();return a.ok?{expiresAt:a.expiresAt,registrar:a.registrar,error:null,checkedAt:d}:{expiresAt:b?.expiresAt??null,registrar:b?.registrar??null,error:a.error,checkedAt:d}},"o",0,function(a,b,c){let d=c.toISOString();return a.ok?{notAfter:a.notAfter.toISOString(),issuer:a.issuer,authorized:a.authorized,error:null,checkedAt:d}:{notAfter:b?.notAfter??null,issuer:b?.issuer??null,authorized:null,error:a.error,checkedAt:d}}])},182622,714779,44925,558418,a=>{var b=a.i(26972),c=a.i(899370),d=a.i(689963),e=a.i(427221),f=a.i(191179),g=a.i(954757),g=g,h=a.i(761095),i=a.i(33135),j=a.i(261283);let k=a=>a.toLowerCase().replace(/\.$/,"");function l(a){try{let b=new URL(a);return null===(0,j._)(b)&&!(0,h.isIP)(b.hostname.replace(/^[|]$/g,""))}catch{return!1}}let m=b.z.object({objectClassName:c.z.literal("domain"),events:d.z.array(b.z.object({eventAction:e.z.string(),eventDate:e.z.string()})).default([]),entities:d.z.array(b.z.object({roles:d.z.array(e.z.string()).default([]),vcardArray:f.z.unknown().optional()})).default([])});async function n(a,b,c){let d=await (0,i.K)(a,{fetch:c.fetch,lookup:c.lookup,timeoutMs:c.timeoutMs??8e3,maxBytes:524288,headers:{Accept:b},userAgent:"OpsConsole-Network/1.0 (+https://watchbell.west-solutions.web.id)"});if(!d.ok)return{ok:!1,error:"Blocked address"===d.error?"The registry's RDAP address isn't a public https address":"Couldn't reach the registry's RDAP server"};if(d.truncated)return{ok:!1,error:"The answer was too large"};if(200!==d.status)return{ok:!0,status:d.status,body:null};try{return{ok:!0,status:d.status,body:JSON.parse(d.body)}}catch{return{ok:!1,error:"The registry answered in a format the console doesn't recognise"}}}let o=b.z.object({services:d.z.array(g.tuple([d.z.array(e.z.string()),d.z.array(e.z.string())]))});async function p(a={}){let b=await n("https://data.iana.org/rdap/dns.json","application/json",a);if(!b.ok)return{ok:!1,error:"Couldn't read IANA's RDAP list"};if(200!==b.status)return{ok:!1,error:`IANA's RDAP list returned an error (${b.status})`};let c=o.safeParse(b.body);return c.success?{ok:!0,services:c.data.services}:{ok:!1,error:"IANA's RDAP list is in a format the console doesn't recognise"}}async function q(a,b,c={}){let d=`${b.endsWith("/")?b:`${b}/`}domain/${encodeURIComponent(k(a))}`,e=await n(d,"application/rdap+json, application/json",c);if(!e.ok)return e;if(404===e.status)return{ok:!1,error:"The registry doesn't know this domain"};if(200!==e.status)return{ok:!1,error:`The registry's RDAP server returned an error (${e.status})`};let f=function(a){let b=m.safeParse(a);if(!b.success)return null;let c=b.data.events.find(a=>"expiration"===a.eventAction),d=c?new Date(c.eventDate):null,e=b.data.entities.find(a=>a.roles.includes("registrar"));return{expiresAt:d&&!Number.isNaN(d.getTime())?d.toISOString():null,registrar:e?function(a){if(!Array.isArray(a)||!Array.isArray(a[1]))return null;let b=a[1].find(a=>Array.isArray(a)&&"fn"===a[0]);return"string"==typeof b?.[3]&&b[3]?b[3]:null}(e.vcardArray):null}}(e.body);return f?{ok:!0,...f}:{ok:!1,error:"The registry answered in a format the console doesn't recognise"}}a.s(["Y",0,p,"u",0,q,"T",0,function(a,b){let c=k(b).split(".");for(let b=0;b<c.length;b++){let d=c.slice(b).join("."),e=a.find(([a])=>a.map(k).includes(d));if(e)return e[1].find(l)??null}return null}],182622);var r=a.i(300794),s=a.i(685560);let t={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11};async function u(a,b={}){let c,d=b.timeoutMs??5e3,e=a.toLowerCase().replace(/\.$/,"");if((0,h.isIP)(e)||(0,j.N)(e))return{ok:!1,error:"Blocked address"};try{c=await (b.lookup??(async a=>(await (0,r.lookup)(a,{all:!0,verbatim:!0})).map(a=>a.address)))(e)}catch{return{ok:!1,error:"The name doesn't resolve"}}if(!c.length)return{ok:!1,error:"The name doesn't resolve"};if(c.some(j.W))return{ok:!1,error:"Blocked address"};let f=b.connect??s.connect,g=c.find(a=>4===(0,h.isIP)(a))??c[0];return new Promise(a=>{let b,c=!1,h=(b,d)=>{c||(c=!0,clearTimeout(i),d?.destroy(),a(b))},i=setTimeout(()=>h({ok:!1,error:`No answer within ${Math.round(d/1e3)} s`},b),d);try{b=f({host:g,port:443,servername:e,rejectUnauthorized:!1,timeout:d,ALPNProtocols:["http/1.1"]})}catch{return h({ok:!1,error:"Couldn't connect"})}let j=b;j.on("secureConnect",()=>{let a,b,c=j.getPeerCertificate(),d=function(a){if("string"!=typeof a)return null;let b=/^([A-Z][a-z]{2})\s+(\d{1,2})\s+(\d{2}):(\d{2}):(\d{2})\s+(\d{4})\s+GMT$/.exec(a.trim());return b&&void 0!==t[b[1]]?new Date(Date.UTC(Number(b[6]),t[b[1]],Number(b[2]),Number(b[3]),Number(b[4]),Number(b[5]))):null}(c.valid_to);if(!d)return h({ok:!1,error:"The certificate has no readable expiry date"},j);let e=j.authorized?null:String(j.authorizationError??"untrusted");h({ok:!0,notAfter:d,issuer:(a=c.issuer,"string"==typeof(b=a?.O??a?.CN)&&b?b:null),authorized:j.authorized,authError:e},j)}),j.on("timeout",()=>h({ok:!1,error:`No answer within ${Math.round(d/1e3)} s`},j)),j.on("error",()=>h({ok:!1,error:"Couldn't connect"},j))})}a.s(["f",0,u],714779);var v=a.i(83931),w=a.i(811365);let x="https://api.cloudflare.com/client/v4",y=b.z.object({success:v.z.boolean(),result:f.z.unknown(),result_info:b.z.object({page:w.z.number().optional(),total_pages:w.z.number().optional()}).nullish()});async function z(a,b,c,d){let e;try{e=await (c.fetch??fetch)(`${x}${a}`,{method:"GET",headers:{Authorization:`Bearer ${b}`,Accept:"application/json"},signal:AbortSignal.timeout(c.timeoutMs??5e3),cache:"no-store"})}catch(a){return{ok:!1,kind:"transient",error:a instanceof DOMException&&("TimeoutError"===a.name||"AbortError"===a.name)?"Cloudflare didn't answer within 5 seconds.":"Couldn't reach Cloudflare."}}if(403===e.status&&d)return await e.body?.cancel().catch(()=>void 0),{ok:!1,kind:"scope",status:403,error:`The token can't read this. Add "${d}" to the Cloudflare token.`};if(401===e.status||403===e.status)return await e.body?.cancel().catch(()=>void 0),{ok:!1,kind:"auth",status:e.status,error:`Cloudflare rejected this credential (${e.status}).`};if(429===e.status){let a=Number(e.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(a)&&a>0?a:60,error:"Cloudflare says there were too many requests."}}if(!e.ok)return{ok:!1,kind:"transient",status:e.status,error:`Cloudflare returned an error (${e.status}).`};let f=y.safeParse(await e.json().catch(()=>null));return f.success&&f.data.success?{ok:!0,data:{result:f.data.result,totalPages:f.data.result_info?.total_pages??null}}:A("its answer")}let A=a=>({ok:!1,kind:"format",error:`Cloudflare answered ${a} in a format the console doesn't recognise.`}),B=a=>encodeURIComponent(a),C=b.z.object({id:e.z.string(),name:e.z.string(),status:e.z.string(),paused:v.z.boolean().default(!1),name_servers:d.z.array(e.z.string()).default([]),account:b.z.object({id:e.z.string(),name:e.z.string().nullish()}).nullish()});async function D(a,b={}){let c=[];for(let e=1;e<=10;e++){let f=await z(`/zones?per_page=50&page=${e}`,a,b,null);if(!f.ok)return f;let g=d.z.array(C).safeParse(f.data.result);if(!g.success)return A("the zone list");for(let a of g.data)c.push({id:a.id,name:a.name,status:a.status,paused:a.paused,nameServers:a.name_servers,accountId:a.account?.id??null,accountName:a.account?.name??null});if(!f.data.totalPages||e>=f.data.totalPages)break}return{ok:!0,data:c}}let E=b.z.object({id:e.z.string(),type:e.z.string(),name:e.z.string(),content:e.z.string().default(""),proxied:v.z.boolean().default(!1),ttl:w.z.number().default(1),comment:e.z.string().nullish()});async function F(a,b,c={}){let e=[];for(let f=1;f<=4;f++){let g=await z(`/zones/${B(b)}/dns_records?per_page=500&page=${f}`,a,c,"DNS Read");if(!g.ok)return g;let h=d.z.array(E).safeParse(g.data.result);if(!h.success)return A("the DNS records");if(e.push(...h.data.map(a=>({id:a.id,type:a.type,name:a.name,content:a.content,proxied:a.proxied,ttl:a.ttl,comment:a.comment??null}))),!g.data.totalPages||f>=g.data.totalPages)return{ok:!0,data:{records:e,truncated:!1}}}return{ok:!0,data:{records:e,truncated:!0}}}let G=b.z.object({errors:d.z.array(b.z.object({code:w.z.number().int()})).min(1)});async function H(a,b,c,d,e){let f;try{f=await (e.fetch??fetch)(`${x}${b}`,{method:a,headers:{Authorization:`Bearer ${c}`,Accept:"application/json",...d?{"Content-Type":"application/json"}:{}},...d?{body:JSON.stringify(d)}:{},signal:AbortSignal.timeout(e.timeoutMs??5e3),cache:"no-store"})}catch(b){if(!(b instanceof DOMException&&("TimeoutError"===b.name||"AbortError"===b.name)))return{ok:!1,kind:"transient",error:"Couldn't reach Cloudflare."};return{ok:!1,kind:"transient",error:"PATCH"===a?"Cloudflare didn't answer within 5 seconds; the change may still have happened. Reload in a minute.":"Cloudflare didn't answer within 5 seconds."}}let g=()=>f.body?.cancel().catch(()=>void 0);if(401===f.status)return await g(),{ok:!1,kind:"auth",status:401,error:"Cloudflare rejected this credential (401)."};if(403===f.status){await g();let b="PATCH"===a?"Zone → DNS → Edit":"DNS Read";return{ok:!1,kind:"scope",status:403,error:`The token can't ${"PATCH"===a?"edit":"read"} this record. Add "${b}" to the Cloudflare token.`}}if(404===f.status)return await g(),{ok:!1,kind:"missing",status:404,error:"Cloudflare can't find this record any more."};if(429===f.status)return await g(),{ok:!1,kind:"transient",status:429,retryAfterS:I(f),error:"Cloudflare says there were too many requests."};let h=await f.json().catch(()=>null);if(!f.ok){let a=G.safeParse(h);return{ok:!1,kind:"transient",status:f.status,error:`Cloudflare refused this change (${f.status}${a.success?`, code ${a.data.errors[0].code}`:""}).`}}let i=y.safeParse(h);if(!i.success||!i.data.success)return A("the DNS record");let j=E.safeParse(i.data.result);if(!j.success)return A("the DNS record");let k=j.data;return{ok:!0,data:{id:k.id,type:k.type,name:k.name,content:k.content,proxied:k.proxied,ttl:k.ttl,comment:k.comment??null}}}let I=a=>{let b=Number(a.headers.get("Retry-After"));return Number.isFinite(b)&&b>0?b:60};async function J(a,b,c,d={}){return H("GET",`/zones/${B(b)}/dns_records/${B(c)}`,a,void 0,d)}async function K(a,b,c,d,e={}){return H("PATCH",`/zones/${B(b)}/dns_records/${B(c)}`,a,d,e)}async function L(a,c,d={}){let f=await z(`/zones/${B(c)}/settings/ssl`,a,d,"Zone Settings Read");if(!f.ok)return f;let g=b.z.object({value:e.z.string()}).safeParse(f.data.result);return g.success?{ok:!0,data:g.data.value}:A("the SSL/TLS mode")}let M=b.z.object({type:e.z.string(),status:e.z.string(),hosts:d.z.array(e.z.string()).default([]),certificates:d.z.array(b.z.object({expires_on:e.z.string().nullish()})).default([])});async function N(a,b,c={}){let e=await z(`/zones/${B(b)}/ssl/certificate_packs?status=all&per_page=50`,a,c,"SSL and Certificates Read");if(!e.ok)return e;let f=d.z.array(M).safeParse(e.data.result);return f.success?{ok:!0,data:f.data.map(a=>{let b=a.certificates.map(a=>a.expires_on).filter(a=>!!a).sort();return{type:a.type,status:a.status,hosts:a.hosts,expiresOn:b[0]??null}})}:A("the edge certificates")}async function O(a,c={}){let d=await z("/user/tokens/verify",a,c,null);if(!d.ok)return d;let f=b.z.object({status:e.z.string(),expires_on:e.z.string().nullish()}).safeParse(d.data.result);if(!f.success)return A("the token details");let g=f.data.expires_on?new Date(f.data.expires_on):null;return{ok:!0,data:{status:f.data.status,expiresAt:g&&!Number.isNaN(g.getTime())?g:null}}}a.s(["w",0,N,"B",0,J,"p",0,F,"F",0,D,"v",0,L,"d",0,O,"q",0,K],44925);var P=a.i(469762);let Q=b.z.object({result:b.z.object({releases:d.z.array(b.z.object({name:e.z.string(),isEol:v.z.boolean(),eolFrom:e.z.string().nullish(),latest:b.z.object({name:e.z.string()}).nullish()})).min(1)})});function R(a){let b=Q.safeParse(a);return b.success?b.data.result.releases.map(a=>({name:a.name,isEol:a.isEol,eolFrom:a.eolFrom??null,latest:a.latest?.name??null})):null}async function S(a={}){let b;try{b=await (a.fetch??fetch)("https://endoflife.date/api/v1/products/nextjs/",{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(a.timeoutMs??8e3),cache:"no-store"})}catch{return{ok:!1,error:"Couldn't reach endoflife.date"}}if(!b.ok)return{ok:!1,error:`endoflife.date returned an error (${b.status})`};let c=R(await b.json().catch(()=>null));return c?{ok:!0,cycles:c}:{ok:!1,error:"endoflife.date answered in a format the console doesn't recognise"}}a.s(["T",0,"eol.nextjs","e",0,function(a,b,c){if(!a)return{state:"unknown",text:"Unknown until the version is read",note:null};if(!b)return{state:"unknown",text:"Unknown · endoflife.date hasn't been read yet",note:null};let d=a.split(".")[0],e=b.cycles.find(a=>a.name===d);if(!e)return{state:"unknown",text:`Unknown \xb7 endoflife.date has no cycle ${d}`,note:null};let f=b.cycles.find(a=>!a.isEol)?.latest??null,g=f?`latest is ${f}`:null,h=e.eolFrom?new Date(`${e.eolFrom}T00:00:00Z`):null;if(e.isEol||h&&h.getTime()<=c.getTime())return{state:"err",text:`Next.js ${d} reached end of life${h?` on ${(0,P.H)(h)}`:""}`,note:g};if(h){let a=Math.ceil((h.getTime()-c.getTime())/864e5);return{state:a<=60?"warn":"ok",text:`Next.js ${d} reaches end of life on ${(0,P.H)(h)} (in ${a} day${1===a?"":"s"})`,note:g}}return{state:"ok",text:`Next.js ${d} is supported`,note:e.latest&&e.latest!==a?`${e.latest} is the latest ${d}.x`:null}},"z",0,S,"b",0,R],558418)}]})();
2
-
3
- //# sourceMappingURL=_1dlvqnaceqr-_._.js.map
@@ -1 +0,0 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,522016,(e,r,t)=>{e.i(247167),Object.defineProperty(t,"__esModule",{value:!0});var o={default:function(){return h},useLinkStatus:function(){return x}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});let l=e.r(190809),a=e.r(843476),s=l._(e.r(271645)),i=e.r(195057),c=e.r(8372),d=e.r(818581),u=e.r(718967),p=e.r(405550),m=e.r(388540),f=e.r(91949),b=e.r(573668),g=e.r(509396);function h(r){var t;let o,n,l,[h,x]=(0,s.useOptimistic)(f.IDLE_LINK_STATUS),y=(0,s.useRef)(null),{href:w,as:v,children:z,prefetch:j=null,passHref:C,replace:P,shallow:S,scroll:$,onClick:L,onMouseEnter:N,onTouchStart:_,legacyBehavior:E=!1,onNavigate:O,transitionTypes:M,ref:T,unstable_dynamicOnHover:I,...A}=r;o=z,E&&("string"==typeof o||"number"==typeof o)&&(o=(0,a.jsx)("a",{children:o}));let R=s.default.useContext(c.AppRouterContext),U=!1!==j,G=!1===j?"none":!0===j?"full":"auto",W="none"!==G?"auto"===G?g.FetchStrategy.PPR:g.FetchStrategy.Full:g.FetchStrategy.PPR,B="string"==typeof(t=v||w)?t:(0,i.formatUrl)(t);if(E){if(o?.$$typeof===Symbol.for("react.lazy"))throw Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag.");n=s.default.Children.only(o)}let F=E?n&&"object"==typeof n&&n.ref:T,D,K=s.default.useCallback(e=>(null!==R&&(y.current=(0,f.mountLinkInstance)(e,B,R,W,U,x,D)),()=>{y.current&&((0,f.unmountLinkForCurrentNavigation)(y.current),y.current=null),(0,f.unmountPrefetchableInstance)(e)}),[U,B,R,W,x,D]),q={ref:(0,d.useMergedRef)(K,F),onClick(r){E||"function"!=typeof L||L(r),E&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(r),!R||r.defaultPrevented||function(r,t,o,n,l,a,s,i="none"){if("u">typeof window){let c,{nodeName:d}=r.currentTarget;if("A"===d.toUpperCase()&&((c=r.currentTarget.getAttribute("target"))&&"_self"!==c||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||r.nativeEvent&&2===r.nativeEvent.which)||r.currentTarget.hasAttribute("download"))return;if(!(0,b.isLocalURL)(t)){n&&(r.preventDefault(),location.replace(t));return}if(r.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{navigate:u}=e.r(132916);u(t,n?"replace":"push",!1===l?m.ScrollBehavior.NoScroll:m.ScrollBehavior.Default,o.current,s,i)}}(r,B,y,P,$,O,M,G)},onMouseEnter(e){E||"function"!=typeof N||N(e),E&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),R&&U&&(0,f.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){E||"function"!=typeof _||_(e),E&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),R&&U&&(0,f.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,u.isAbsoluteUrl)(B)?q.href=B:E&&!C&&("a"!==n.type||"href"in n.props)||(q.href=(0,p.addBasePath)(B)),l=E?s.default.cloneElement(n,q):(0,a.jsx)("a",{...A,...q,children:o}),(0,a.jsx)(k.Provider,{value:h,children:l})}let k=(0,s.createContext)(f.IDLE_LINK_STATUS),x=()=>(0,s.useContext)(k);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},818581,(e,r,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return n}});let o=e.r(271645);function n(e,r){let t=(0,o.useRef)(null),n=(0,o.useRef)(null);return(0,o.useCallback)(o=>{if(null===o){let e=t.current;e&&(t.current=null,e());let r=n.current;r&&(n.current=null,r())}else e&&(t.current=l(e,o)),r&&(n.current=l(r,o))},[e,r])}function l(e,r){if("function"!=typeof e)return e.current=r,()=>{e.current=null};{let t=e(r);return"function"==typeof t?t:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},195057,(e,r,t)=>{e.i(247167),Object.defineProperty(t,"__esModule",{value:!0});var o={formatUrl:function(){return s},formatWithValidation:function(){return c},urlObjectKeys:function(){return i}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});let l=e.r(190809)._(e.r(998183)),a=/https?|ftp|gopher|file/;function s(e){let{auth:r,hostname:t}=e,o=e.protocol||"",n=e.pathname||"",s=e.hash||"",i=e.query||"",c=!1;r=r?encodeURIComponent(r).replace(/%3A/i,":")+"@":"",e.host?c=r+e.host:t&&(c=r+(~t.indexOf(":")?`[${t}]`:t),e.port&&(c+=":"+e.port)),i&&"object"==typeof i&&(i=String(l.urlQueryToSearchParams(i)));let d=e.search||i&&`?${i}`||"";return o&&!o.endsWith(":")&&(o+=":"),e.slashes||(!o||a.test(o))&&!1!==c?(c="//"+(c||""),n&&"/"!==n[0]&&(n="/"+n)):c||(c=""),s&&"#"!==s[0]&&(s="#"+s),d&&"?"!==d[0]&&(d="?"+d),n=n.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${o}${c}${n}${d}${s}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return s(e)}},573668,(e,r,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return l}});let o=e.r(718967),n=e.r(652817);function l(e){if(!(0,o.isAbsoluteUrl)(e))return!0;try{let r=(0,o.getLocationOrigin)(),t=new URL(e,r);return t.origin===r&&(0,n.hasBasePath)(t.pathname)}catch(e){return!1}}},718967,(e,r,t)=>{e.i(247167),Object.defineProperty(t,"__esModule",{value:!0});var o={DecodeError:function(){return h},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return y},NormalizeError:function(){return k},PageNotFoundError:function(){return x},SP:function(){return b},ST:function(){return g},WEB_VITALS:function(){return l},execOnce:function(){return a},getDisplayName:function(){return u},getLocationOrigin:function(){return c},getURL:function(){return d},isAbsoluteUrl:function(){return i},isResSent:function(){return p},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return v}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});let l=["CLS","FCP","INP","LCP","TTFB"];function a(e){let r,t=!1;return(...o)=>(t||(t=!0,r=e(...o)),r)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=e=>{let r=e.charCodeAt(0);return!!(r>=65&&r<=90||r>=97&&r<=122)&&s.test(e)};function c(){let{protocol:e,hostname:r,port:t}=window.location;return`${e}//${r}${t?":"+t:""}`}function d(){let{href:e}=window.location,r=c();return e.substring(r.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function p(e){return e.finished||e.headersSent}function m(e){let r=e.split("?");return r[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(r[1]?`?${r.slice(1).join("?")}`:"")}async function f(e,r){let t=r.res||r.ctx&&r.ctx.res;if(!e.getInitialProps)return r.ctx&&r.Component?{pageProps:await f(r.Component,r.ctx)}:{};let o=await e.getInitialProps(r);if(t&&p(t))return o;if(!o)throw Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${o}" instead.`);return o}let b="u">typeof performance,g=b&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class k extends Error{}class x extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class y extends Error{constructor(e,r){super(),this.message=`Failed to load static file for page: ${e} ${r}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}},54131,e=>{var r=e.i(843476),t=e.i(271645),o=e.i(975157);let n="[email hidden]",l=/[\p{L}\p{N}._%+-]+@[\p{L}\p{N}-]+(?:\.[\p{L}\p{N}-]+)*\.[\p{L}]{2,}/gu;function a(e){return e.replace(l,n)}let s=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");new WeakMap;let i=String.raw`[\p{L}\p{N}_.-]`,c=String.raw`(?![\p{L}\p{N}_-]|\.[\p{L}\p{N}])`,d=new WeakMap,u=/(?<![\p{L}\p{N}_.-])[a-z0-9-]+\.vercel\.app(?![\p{L}\p{N}_-])/giu,p=/(https?:\/\/)([^\s/?#"'<>]+)/giu;function m(e,r){if(!e)return e;let t=function(e){let r=d.get(e);if(r)return r;let t=[...e.host??[]].sort((e,r)=>r.name.length-e.name.length),o=new Map(t.map(e=>[e.name.toLowerCase(),e.alias])),n=t.length?RegExp(String.raw`(?<!${i})((?:[a-z0-9-]+\.)*?)(${t.map(e=>s(e.name)).join("|")})${c}`,"giu"):null,l=new Map;for(let r of[e.app,e.db,e.account??[],e.team??[]])for(let e of r)e.name.trim().length>=2&&!l.has(e.name.toLowerCase())&&l.set(e.name.toLowerCase(),e.alias);let a={host:n,hostAlias:o,names:l.size?RegExp(`(?<!${i})(?:${[...l.keys()].sort((e,r)=>r.length-e.length).map(s).join("|")})${c}`,"giu"):null,nameAlias:l};return d.set(e,a),a}(r),o=a(e);return t.host&&(o=o.replace(t.host,(e,r,o)=>`${r}${t.hostAlias.get(o.toLowerCase())??o}`)),o=(o=o.replace(u,"preview.example")).replace(p,(e,r,t)=>/\.example$/i.test(t)?e:`${r}site.example`),t.names&&(o=o.replace(t.names,e=>t.nameAlias.get(e.toLowerCase())??e)),o}let f=(0,t.createContext)({book:{db:[],app:[]},shot:!1,setShot:()=>{},gen:0}),b=()=>(0,t.useContext)(f),g="cursor-pointer rounded-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",h="underline decoration-dotted decoration-1 underline-offset-[3px]";function k({shown:e,real:n,inLink:l,className:a}){let{gen:s}=b(),[i,c]=(0,t.useState)(null),d=i===s,u=d?"Real value. Click to hide it.":"Hidden. Click to show the real value.",p=e=>{e.preventDefault(),e.stopPropagation(),c(d?null:s)};return l?(0,r.jsx)("span",{role:"button",tabIndex:0,"aria-pressed":d,title:u,onClick:e=>{d||p(e)},onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&p(e)},className:(0,o.f)(g,d&&h,a),children:d?n:e}):(0,r.jsx)("button",{type:"button","aria-pressed":d,title:u,onClick:p,className:(0,o.f)("inline appearance-none border-0 bg-transparent p-0 text-left align-baseline text-inherit [font:inherit]",g,d&&h,a),children:d?n:e})}function x(e,r,t,o){if(!o)return"email"===e?r:a(r);if("app"===e)return t.app.find(e=>e.name===r)?.alias??"app-?";if("account"===e)return t.account?.find(e=>e.name===r)?.alias??"account-?";return"email"===e?n:"repo"===e?`owner/${m(r.split("/").slice(1).join("/")||r,t)}`:m(r,t)}function y({kind:e,real:t,masked:o,inLink:n,className:l}){let{book:a,shot:s}=b(),i=s&&void 0!==o?m(o,a):x(e,t,a,s);return s&&i!==t?(0,r.jsx)(k,{shown:i,real:t,inLink:n,className:l}):(0,r.jsx)(r.Fragment,{children:i})}e.s(["AliasProvider",0,function({book:e,shot:o=!1,children:n}){let[l,a]=(0,t.useState)(o),[s,i]=(0,t.useState)(0);return(0,r.jsx)(f.Provider,{value:{book:e,shot:l,setShot:e=>{a(e),i(e=>e+1);try{let r="https:"===window.location.protocol?"; secure":"";document.cookie=`oc-shot=${e?"1":""}; path=/; max-age=${31536e3*!!e}; samesite=lax${r}`}catch{}},gen:s},children:n})},"DbName",0,function({id:e,name:o,alias:n,inLink:l,className:s}){let i=(0,t.useContext)(f).book;return(0,r.jsx)(k,{shown:n??i.db.find(r=>r.id===e)?.alias??"db-?",real:a(o),inLink:l,className:s})},"Masked",0,y,"MaskedText",0,({text:e,inLink:t})=>(0,r.jsx)(y,{kind:"text",real:e,inLink:t}),"useMask",0,function(){let{book:e,shot:r}=b();return(t,o)=>x(t,o,e,r)},"usePrivacy",0,b],54131)},975157,207670,e=>{var r;let t,o,n,l,a;function s(){for(var e,r,t=0,o="",n=arguments.length;t<n;t++)(e=arguments[t])&&(r=function e(r){var t,o,n="";if("string"==typeof r||"number"==typeof r)n+=r;else if("object"==typeof r)if(Array.isArray(r)){var l=r.length;for(t=0;t<l;t++)r[t]&&(o=e(r[t]))&&(n&&(n+=" "),n+=o)}else for(o in r)r[o]&&(n&&(n+=" "),n+=o);return n}(e))&&(o&&(o+=" "),o+=r);return o}e.s(["f",0,s],207670);let i=(e=new Map,r=null,t)=>({nextPart:e,validators:r,classGroupId:t}),c=[],d=(e,r,t)=>{if(0==e.length-r)return t.classGroupId;let o=e[r],n=t.nextPart.get(o);if(n){let t=d(e,r+1,n);if(t)return t}let l=t.validators;if(null===l)return;let a=0===r?e.join("-"):e.slice(r).join("-"),s=l.length;for(let e=0;e<s;e++){let r=l[e];if(r.validator(a))return r.classGroupId}},u=(e,r)=>{let t=i();for(let o in e)p(e[o],t,o,r);return t},p=(e,r,t,o)=>{let n=e.length;for(let l=0;l<n;l++)m(e[l],r,t,o)},m=(e,r,t,o)=>{"string"==typeof e?f(e,r,t):"function"==typeof e?b(e,r,t,o):g(e,r,t,o)},f=(e,r,t)=>{(""===e?r:h(r,e)).classGroupId=t},b=(e,r,t,o)=>{k(e)?p(e(o),r,t,o):(null===r.validators&&(r.validators=[]),r.validators.push({classGroupId:t,validator:e}))},g=(e,r,t,o)=>{let n=Object.entries(e),l=n.length;for(let e=0;e<l;e++){let[l,a]=n[e];p(a,h(r,l),t,o)}},h=(e,r)=>{let t=e,o=r.split("-"),n=o.length;for(let e=0;e<n;e++){let r=o[e],n=t.nextPart.get(r);n||(n=i(),t.nextPart.set(r,n)),t=n}return t},k=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,x=[],y=(e,r,t,o,n)=>({modifiers:e,hasImportantModifier:r,baseClassName:t,maybePostfixModifierPosition:o,isExternal:n}),w=/\s+/,v=e=>{let r;if("string"==typeof e)return e;let t="";for(let o=0;o<e.length;o++)e[o]&&(r=v(e[o]))&&(t&&(t+=" "),t+=r);return t},z=[],j=e=>{let r=r=>r[e]||z;return r.isThemeGetter=!0,r.themeKey=e,r},C=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,P=/^\((?:(\w[\w-]*):)?(.+)\)$/i,S=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,$=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,L=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,N=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,_=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,E=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,O=e=>S.test(e),M=e=>!!e&&!Number.isNaN(Number(e)),T=e=>!!e&&Number.isInteger(Number(e)),I=e=>e.endsWith("%")&&M(e.slice(0,-1)),A=e=>$.test(e),R=()=>!0,U=e=>L.test(e)&&!N.test(e),G=()=>!1,W=e=>_.test(e),B=e=>E.test(e),F=e=>!q(e)&&!ee(e),D=e=>e.startsWith("@container")&&("/"===e[10]&&void 0!==e[11]||"s"===e[11]&&void 0!==e[16]&&e.startsWith("-size/",10)||"n"===e[11]&&void 0!==e[18]&&e.startsWith("-normal/",10)),K=e=>ei(e,ep,G),q=e=>C.test(e),J=e=>ei(e,em,U),V=e=>ei(e,ef,M),Z=e=>ei(e,eg,R),H=e=>ei(e,eb,G),Q=e=>ei(e,ed,G),X=e=>ei(e,eu,B),Y=e=>ei(e,eh,W),ee=e=>P.test(e),er=e=>ec(e,em),et=e=>ec(e,eb),eo=e=>ec(e,ed),en=e=>ec(e,ep),el=e=>ec(e,eu),ea=e=>ec(e,eh,!0),es=e=>ec(e,eg,!0),ei=(e,r,t)=>{let o=C.exec(e);return!!o&&(o[1]?r(o[1]):t(o[2]))},ec=(e,r,t=!1)=>{let o=P.exec(e);return!!o&&(o[1]?r(o[1]):t)},ed=e=>"position"===e||"percentage"===e,eu=e=>"image"===e||"url"===e,ep=e=>"length"===e||"size"===e||"bg-size"===e,em=e=>"length"===e,ef=e=>"number"===e,eb=e=>"family-name"===e,eg=e=>"number"===e||"weight"===e,eh=e=>"shadow"===e,ek=(r=()=>{let e=j("color"),r=j("font"),t=j("text"),o=j("font-weight"),n=j("tracking"),l=j("leading"),a=j("breakpoint"),s=j("container"),i=j("spacing"),c=j("radius"),d=j("shadow"),u=j("inset-shadow"),p=j("text-shadow"),m=j("drop-shadow"),f=j("blur"),b=j("perspective"),g=j("aspect"),h=j("ease"),k=j("animate"),x=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],w=()=>[...y(),ee,q],v=()=>["auto","hidden","clip","visible","scroll"],z=()=>["auto","contain","none"],C=()=>[ee,q,i],P=()=>[O,"full","auto",...C()],S=()=>[T,"none","subgrid",ee,q],$=()=>["auto",{span:["full",T,ee,q]},T,ee,q],L=()=>[T,"auto",ee,q],N=()=>["auto","min","max","fr",ee,q],_=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],E=()=>["start","end","center","stretch","center-safe","end-safe"],U=()=>["auto",...C()],G=()=>[O,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...C()],W=()=>[s,O,"screen","full","dvw","lvw","svw","min","max","fit",...C()],B=()=>[O,"screen","full","lh","dvh","lvh","svh","min","max","fit",...C()],ei=()=>[e,ee,q],ec=()=>[...y(),eo,Q,{position:[ee,q]}],ed=()=>["no-repeat",{repeat:["","x","y","space","round"]}],eu=()=>["auto","cover","contain",en,K,{size:[ee,q]}],ep=()=>[I,er,J],em=()=>["","none","full",c,ee,q],ef=()=>["",M,er,J],eb=()=>["solid","dashed","dotted","double"],eg=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eh=()=>[M,I,eo,Q],ek=()=>["","none",f,ee,q],ex=()=>["none",M,ee,q],ey=()=>["none",M,ee,q],ew=()=>[M,ee,q],ev=()=>[O,"full",...C()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[A],breakpoint:[A],color:[R],container:[A],"drop-shadow":[A],ease:["in","out","in-out"],font:[F],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[A],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[A],shadow:[A],spacing:["px",M],text:[A],"text-shadow":[A],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",O,q,ee,g]}],container:["container"],"container-type":[{"@container":["","normal","size",ee,q]}],"container-named":[D],columns:[{columns:[M,"auto",q,ee,s]}],"break-after":[{"break-after":x()}],"break-before":[{"break-before":x()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:w()}],overflow:[{overflow:v()}],"overflow-x":[{"overflow-x":v()}],"overflow-y":[{"overflow-y":v()}],overscroll:[{overscroll:z()}],"overscroll-x":[{"overscroll-x":z()}],"overscroll-y":[{"overscroll-y":z()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:P()}],"inset-x":[{"inset-x":P()}],"inset-y":[{"inset-y":P()}],start:[{"inset-s":P(),start:P()}],end:[{"inset-e":P(),end:P()}],"inset-bs":[{"inset-bs":P()}],"inset-be":[{"inset-be":P()}],top:[{top:P()}],right:[{right:P()}],bottom:[{bottom:P()}],left:[{left:P()}],visibility:["visible","invisible","collapse"],z:[{z:[T,"auto",ee,q]}],basis:[{basis:[O,"full","auto",s,...C()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[M,O,"auto","initial","none",q]}],grow:[{grow:["",M,ee,q]}],shrink:[{shrink:["",M,ee,q]}],order:[{order:[T,"first","last","none",ee,q]}],"grid-cols":[{"grid-cols":S()}],"col-start-end":[{col:$()}],"col-start":[{"col-start":L()}],"col-end":[{"col-end":L()}],"grid-rows":[{"grid-rows":S()}],"row-start-end":[{row:$()}],"row-start":[{"row-start":L()}],"row-end":[{"row-end":L()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":N()}],"auto-rows":[{"auto-rows":N()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[..._(),"normal"]}],"justify-items":[{"justify-items":[...E(),"normal"]}],"justify-self":[{"justify-self":["auto",...E()]}],"align-content":[{content:["normal",..._()]}],"align-items":[{items:[...E(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...E(),{baseline:["","last"]}]}],"place-content":[{"place-content":_()}],"place-items":[{"place-items":[...E(),"baseline"]}],"place-self":[{"place-self":["auto",...E()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:U()}],mx:[{mx:U()}],my:[{my:U()}],ms:[{ms:U()}],me:[{me:U()}],mbs:[{mbs:U()}],mbe:[{mbe:U()}],mt:[{mt:U()}],mr:[{mr:U()}],mb:[{mb:U()}],ml:[{ml:U()}],"space-x":[{"space-x":C()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":C()}],"space-y-reverse":["space-y-reverse"],size:[{size:G()}],"inline-size":[{inline:["auto",...W()]}],"min-inline-size":[{"min-inline":["auto",...W()]}],"max-inline-size":[{"max-inline":["none",...W()]}],"block-size":[{block:["auto",...B()]}],"min-block-size":[{"min-block":["auto",...B()]}],"max-block-size":[{"max-block":["none",...B()]}],w:[{w:[s,"screen",...G()]}],"min-w":[{"min-w":[s,"screen","none",...G()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[a]},...G()]}],h:[{h:["screen","lh",...G()]}],"min-h":[{"min-h":["screen","lh","none",...G()]}],"max-h":[{"max-h":["screen","lh","none",...G()]}],"font-size":[{text:["base",t,er,J]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,es,Z]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",I,q]}],"font-family":[{font:[et,H,r]}],"font-features":[{"font-features":[q]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,ee,q]}],"line-clamp":[{"line-clamp":[M,"none",ee,V]}],leading:[{leading:["none",l,...C()]}],"list-image":[{"list-image":["none",ee,q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ee,q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ei()}],"text-color":[{text:ei()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...eb(),"wavy"]}],"text-decoration-thickness":[{decoration:[M,"from-font","auto",ee,J]}],"text-decoration-color":[{decoration:ei()}],"underline-offset":[{"underline-offset":[M,"auto",ee,q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:C()}],"tab-size":[{tab:[T,ee,q]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ee,q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ee,q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ec()}],"bg-repeat":[{bg:ed()}],"bg-size":[{bg:eu()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},T,ee,q],radial:["",ee,q],conic:["",T,ee,q]},el,X]}],"bg-color":[{bg:ei()}],"gradient-from-pos":[{from:ep()}],"gradient-via-pos":[{via:ep()}],"gradient-to-pos":[{to:ep()}],"gradient-from":[{from:ei()}],"gradient-via":[{via:ei()}],"gradient-to":[{to:ei()}],rounded:[{rounded:em()}],"rounded-s":[{"rounded-s":em()}],"rounded-e":[{"rounded-e":em()}],"rounded-t":[{"rounded-t":em()}],"rounded-r":[{"rounded-r":em()}],"rounded-b":[{"rounded-b":em()}],"rounded-l":[{"rounded-l":em()}],"rounded-ss":[{"rounded-ss":em()}],"rounded-se":[{"rounded-se":em()}],"rounded-ee":[{"rounded-ee":em()}],"rounded-es":[{"rounded-es":em()}],"rounded-tl":[{"rounded-tl":em()}],"rounded-tr":[{"rounded-tr":em()}],"rounded-br":[{"rounded-br":em()}],"rounded-bl":[{"rounded-bl":em()}],"border-w":[{border:ef()}],"border-w-x":[{"border-x":ef()}],"border-w-y":[{"border-y":ef()}],"border-w-s":[{"border-s":ef()}],"border-w-e":[{"border-e":ef()}],"border-w-bs":[{"border-bs":ef()}],"border-w-be":[{"border-be":ef()}],"border-w-t":[{"border-t":ef()}],"border-w-r":[{"border-r":ef()}],"border-w-b":[{"border-b":ef()}],"border-w-l":[{"border-l":ef()}],"divide-x":[{"divide-x":ef()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ef()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...eb(),"hidden","none"]}],"divide-style":[{divide:[...eb(),"hidden","none"]}],"border-color":[{border:ei()}],"border-color-x":[{"border-x":ei()}],"border-color-y":[{"border-y":ei()}],"border-color-s":[{"border-s":ei()}],"border-color-e":[{"border-e":ei()}],"border-color-bs":[{"border-bs":ei()}],"border-color-be":[{"border-be":ei()}],"border-color-t":[{"border-t":ei()}],"border-color-r":[{"border-r":ei()}],"border-color-b":[{"border-b":ei()}],"border-color-l":[{"border-l":ei()}],"divide-color":[{divide:ei()}],"outline-style":[{outline:[...eb(),"none","hidden"]}],"outline-offset":[{"outline-offset":[M,ee,q]}],"outline-w":[{outline:["",M,er,J]}],"outline-color":[{outline:ei()}],shadow:[{shadow:["","inner","none",d,ea,Y]}],"shadow-color":[{shadow:ei()}],"inset-shadow":[{"inset-shadow":["none",u,ea,Y]}],"inset-shadow-color":[{"inset-shadow":ei()}],"ring-w":[{ring:ef()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ei()}],"ring-offset-w":[{"ring-offset":[M,J]}],"ring-offset-color":[{"ring-offset":ei()}],"inset-ring-w":[{"inset-ring":ef()}],"inset-ring-color":[{"inset-ring":ei()}],"text-shadow":[{"text-shadow":["none",p,ea,Y]}],"text-shadow-color":[{"text-shadow":ei()}],opacity:[{opacity:[M,ee,q]}],"mix-blend":[{"mix-blend":[...eg(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":eg()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[M]}],"mask-image-linear-from-pos":[{"mask-linear-from":eh()}],"mask-image-linear-to-pos":[{"mask-linear-to":eh()}],"mask-image-linear-from-color":[{"mask-linear-from":ei()}],"mask-image-linear-to-color":[{"mask-linear-to":ei()}],"mask-image-t-from-pos":[{"mask-t-from":eh()}],"mask-image-t-to-pos":[{"mask-t-to":eh()}],"mask-image-t-from-color":[{"mask-t-from":ei()}],"mask-image-t-to-color":[{"mask-t-to":ei()}],"mask-image-r-from-pos":[{"mask-r-from":eh()}],"mask-image-r-to-pos":[{"mask-r-to":eh()}],"mask-image-r-from-color":[{"mask-r-from":ei()}],"mask-image-r-to-color":[{"mask-r-to":ei()}],"mask-image-b-from-pos":[{"mask-b-from":eh()}],"mask-image-b-to-pos":[{"mask-b-to":eh()}],"mask-image-b-from-color":[{"mask-b-from":ei()}],"mask-image-b-to-color":[{"mask-b-to":ei()}],"mask-image-l-from-pos":[{"mask-l-from":eh()}],"mask-image-l-to-pos":[{"mask-l-to":eh()}],"mask-image-l-from-color":[{"mask-l-from":ei()}],"mask-image-l-to-color":[{"mask-l-to":ei()}],"mask-image-x-from-pos":[{"mask-x-from":eh()}],"mask-image-x-to-pos":[{"mask-x-to":eh()}],"mask-image-x-from-color":[{"mask-x-from":ei()}],"mask-image-x-to-color":[{"mask-x-to":ei()}],"mask-image-y-from-pos":[{"mask-y-from":eh()}],"mask-image-y-to-pos":[{"mask-y-to":eh()}],"mask-image-y-from-color":[{"mask-y-from":ei()}],"mask-image-y-to-color":[{"mask-y-to":ei()}],"mask-image-radial":[{"mask-radial":[ee,q]}],"mask-image-radial-from-pos":[{"mask-radial-from":eh()}],"mask-image-radial-to-pos":[{"mask-radial-to":eh()}],"mask-image-radial-from-color":[{"mask-radial-from":ei()}],"mask-image-radial-to-color":[{"mask-radial-to":ei()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[M]}],"mask-image-conic-from-pos":[{"mask-conic-from":eh()}],"mask-image-conic-to-pos":[{"mask-conic-to":eh()}],"mask-image-conic-from-color":[{"mask-conic-from":ei()}],"mask-image-conic-to-color":[{"mask-conic-to":ei()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ec()}],"mask-repeat":[{mask:ed()}],"mask-size":[{mask:eu()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ee,q]}],filter:[{filter:["","none",ee,q]}],blur:[{blur:ek()}],brightness:[{brightness:[M,ee,q]}],contrast:[{contrast:[M,ee,q]}],"drop-shadow":[{"drop-shadow":["","none",m,ea,Y]}],"drop-shadow-color":[{"drop-shadow":ei()}],grayscale:[{grayscale:["",M,ee,q]}],"hue-rotate":[{"hue-rotate":[M,ee,q]}],invert:[{invert:["",M,ee,q]}],saturate:[{saturate:[M,ee,q]}],sepia:[{sepia:["",M,ee,q]}],"backdrop-filter":[{"backdrop-filter":["","none",ee,q]}],"backdrop-blur":[{"backdrop-blur":ek()}],"backdrop-brightness":[{"backdrop-brightness":[M,ee,q]}],"backdrop-contrast":[{"backdrop-contrast":[M,ee,q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",M,ee,q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[M,ee,q]}],"backdrop-invert":[{"backdrop-invert":["",M,ee,q]}],"backdrop-opacity":[{"backdrop-opacity":[M,ee,q]}],"backdrop-saturate":[{"backdrop-saturate":[M,ee,q]}],"backdrop-sepia":[{"backdrop-sepia":["",M,ee,q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ee,q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[M,"initial",ee,q]}],ease:[{ease:["linear","initial",h,ee,q]}],delay:[{delay:[M,ee,q]}],animate:[{animate:["none",k,ee,q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,ee,q]}],"perspective-origin":[{"perspective-origin":w()}],rotate:[{rotate:ex()}],"rotate-x":[{"rotate-x":ex()}],"rotate-y":[{"rotate-y":ex()}],"rotate-z":[{"rotate-z":ex()}],scale:[{scale:ey()}],"scale-x":[{"scale-x":ey()}],"scale-y":[{"scale-y":ey()}],"scale-z":[{"scale-z":ey()}],"scale-3d":["scale-3d"],skew:[{skew:ew()}],"skew-x":[{"skew-x":ew()}],"skew-y":[{"skew-y":ew()}],transform:[{transform:[ee,q,"","none","gpu","cpu"]}],"transform-origin":[{origin:w()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ev()}],"translate-x":[{"translate-x":ev()}],"translate-y":[{"translate-y":ev()}],"translate-z":[{"translate-z":ev()}],"translate-none":["translate-none"],zoom:[{zoom:[T,ee,q]}],accent:[{accent:ei()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ei()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ee,q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ei()}],"scrollbar-track-color":[{"scrollbar-track":ei()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ee,q]}],fill:[{fill:["none",...ei()]}],"stroke-w":[{stroke:[M,er,J,V]}],stroke:[{stroke:["none",...ei()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["start","end","right","left"],"inset-y":["inset-bs","inset-be","top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["ps","pe","pr","pl"],py:["pbs","pbe","pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["ms","me","mr","ml"],my:["mbs","mbe","mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-s","border-w-e","border-w-r","border-w-l"],"border-w-y":["border-w-bs","border-w-be","border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-s","border-color-e","border-color-r","border-color-l"],"border-color-y":["border-color-bs","border-color-be","border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-ms","scroll-me","scroll-mr","scroll-ml"],"scroll-my":["scroll-mbs","scroll-mbe","scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-ps","scroll-pe","scroll-pr","scroll-pl"],"scroll-py":["scroll-pbs","scroll-pbe","scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},a=e=>{let r=o(e);if(r)return r;let l=((e,r)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:n,sortModifiers:l,postfixLookupClassGroupIds:a}=r,s=[],i=e.trim().split(w),c="";for(let e=i.length-1;e>=0;e-=1){let r,d=i[e],{isExternal:u,modifiers:p,hasImportantModifier:m,baseClassName:f,maybePostfixModifierPosition:b}=t(d);if(u){c=d+(c.length>0?" "+c:c);continue}let g=!!b;if(g){let e=(r=o(f.substring(0,b)))&&a[r]?o(f):void 0;e&&e!==r&&(r=e,g=!1)}else r=o(f);if(!r){if(!g||!(r=o(f))){c=d+(c.length>0?" "+c:c);continue}g=!1}let h=0===p.length?"":1===p.length?p[0]:l(p).join(":"),k=m?h+"!":h,x=k+r;if(s.indexOf(x)>-1)continue;s.push(x);let y=n(r,g);for(let e=0;e<y.length;++e){let r=y[e];s.push(k+r)}c=d+(c.length>0?" "+c:c)}return c})(e,t);return n(e,l),l},l=e=>{var s;let i;return o=(t={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,t=Object.create(null),o=Object.create(null),n=(n,l)=>{t[n]=l,++r>e&&(r=0,o=t,t=Object.create(null))};return{get(e){let r=t[e];return void 0!==r?r:void 0!==(r=o[e])?(n(e,r),r):void 0},set(e,r){e in t?t[e]=r:n(e,r)}}})((s=[].reduce((e,r)=>r(e),r())).cacheSize),parseClassName:(e=>{let{prefix:r,experimentalParseClassName:t}=e,o=e=>{let r,t=[],o=0,n=0,l=0,a=e.length;for(let s=0;s<a;s++){let a=e[s];if(0===o&&0===n){if(":"===a){t.push(e.slice(l,s)),l=s+1;continue}if("/"===a){r=s;continue}}"["===a?o++:"]"===a?o--:"("===a?n++:")"===a&&n--}let s=0===t.length?e:e.slice(l),i=s,c=!1;return s.endsWith("!")?(i=s.slice(0,-1),c=!0):s.startsWith("!")&&(i=s.slice(1),c=!0),y(t,c,i,r&&r>l?r-l:void 0)};if(r){let e=r+":",t=o;o=r=>r.startsWith(e)?t(r.slice(e.length)):y(x,!1,r,void 0,!0)}if(t){let e=o;o=r=>t({className:r,parseClassName:e})}return o})(s),sortModifiers:(i=new Map,s.orderSensitiveModifiers.forEach((e,r)=>{i.set(e,1e6+r)}),e=>{let r=[],t=[];for(let o=0;o<e.length;o++){let n=e[o],l="["===n[0],a=i.has(n);l||a?(t.length>0&&(t.sort(),r.push(...t),t=[]),r.push(n)):t.push(n)}return t.length>0&&(t.sort(),r.push(...t)),r}),postfixLookupClassGroupIds:(e=>{let r=Object.create(null),t=e.postfixLookupClassGroups;if(t)for(let e=0;e<t.length;e++)r[t[e]]=!0;return r})(s),...(e=>{let r=(e=>{let{theme:r,classGroups:t}=e;return u(t,r)})(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var t;let r,o,n;return -1===(t=e).slice(1,-1).indexOf(":")?void 0:(o=(r=t.slice(1,-1)).indexOf(":"),(n=r.slice(0,o))?"arbitrary.."+n:void 0)}let o=e.split("-"),n=+(""===o[0]&&o.length>1);return d(o,n,r)},getConflictingClassGroupIds:(e,r)=>{if(r){let r=o[e],n=t[e];if(r){if(n){let e=Array(n.length+r.length);for(let r=0;r<n.length;r++)e[r]=n[r];for(let t=0;t<r.length;t++)e[n.length+t]=r[t];return e}return r}return n||c}return t[e]||c}}})(s)}).cache.get,n=t.cache.set,l=a,a(e)},(...e)=>l(((...e)=>{let r,t,o=0,n="";for(;o<e.length;)(r=e[o++])&&(t=v(r))&&(n&&(n+=" "),n+=t);return n})(...e)));e.s(["f",0,function(...e){return ek(s(e))}],975157)}])})();