watchbell 1.2.5 β†’ 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (682) hide show
  1. package/package.json +1 -1
  2. package/server/.next/BUILD_ID +1 -1
  3. package/server/.next/build-manifest.json +3 -3
  4. package/server/.next/prerender-manifest.json +3 -3
  5. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +22 -12
  6. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +63 -67
  7. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  9. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +21 -11
  10. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +63 -67
  11. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  13. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +20 -10
  14. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +63 -67
  15. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  16. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  17. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +23 -13
  18. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +63 -67
  19. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  21. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +21 -11
  22. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +63 -67
  23. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  25. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +30 -20
  26. package/server/.next/server/app/(console)/(private)/ai/models/page.js +63 -67
  27. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  28. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  29. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +20 -10
  30. package/server/.next/server/app/(console)/(private)/ai/page.js +63 -67
  31. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  32. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  33. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +23 -13
  34. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +63 -67
  35. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  37. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +26 -16
  38. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +63 -67
  39. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  41. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +21 -11
  42. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +63 -67
  43. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  44. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  45. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +21 -11
  46. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +63 -67
  47. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  48. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  49. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +20 -10
  50. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +63 -67
  51. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  52. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  53. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +21 -11
  54. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +63 -67
  55. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  56. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  57. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +36 -26
  58. package/server/.next/server/app/(console)/alerts/page.js +63 -67
  59. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  60. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  61. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +94 -54
  62. package/server/.next/server/app/(console)/apps/[id]/page.js +69 -71
  63. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  64. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  65. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +23 -13
  66. package/server/.next/server/app/(console)/apps/page.js +66 -69
  67. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  68. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  69. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +23 -13
  70. package/server/.next/server/app/(console)/backups/page.js +63 -67
  71. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  72. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  73. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +20 -10
  74. package/server/.next/server/app/(console)/catalog/page.js +63 -67
  75. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  76. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  77. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +31 -21
  78. package/server/.next/server/app/(console)/connections/page.js +63 -67
  79. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  80. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  81. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +20 -10
  82. package/server/.next/server/app/(console)/d1/page.js +63 -67
  83. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  84. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  85. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +46 -16
  86. package/server/.next/server/app/(console)/deployments/page.js +66 -69
  87. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  88. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  89. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +27 -17
  90. package/server/.next/server/app/(console)/dns/page.js +63 -67
  91. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  92. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  93. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +22 -12
  94. package/server/.next/server/app/(console)/domains/page.js +63 -67
  95. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  96. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  97. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +20 -10
  98. package/server/.next/server/app/(console)/events/page.js +63 -67
  99. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  100. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  101. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +27 -17
  102. package/server/.next/server/app/(console)/firebase/page.js +63 -67
  103. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  104. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  105. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +21 -11
  106. package/server/.next/server/app/(console)/logs/page.js +63 -67
  107. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  108. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  109. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +21 -11
  110. package/server/.next/server/app/(console)/manage/sections/page.js +63 -67
  111. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  112. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  113. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +31 -21
  114. package/server/.next/server/app/(console)/neon/page.js +63 -67
  115. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  116. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  117. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +28 -18
  118. package/server/.next/server/app/(console)/overview/page.js +69 -72
  119. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  120. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  121. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +21 -11
  122. package/server/.next/server/app/(console)/repos/[id]/page.js +67 -70
  123. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  124. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  125. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +20 -10
  126. package/server/.next/server/app/(console)/repos/page.js +65 -68
  127. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  128. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  129. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +30 -20
  130. package/server/.next/server/app/(console)/settings/page.js +63 -67
  131. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  132. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  133. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +27 -17
  134. package/server/.next/server/app/(console)/sql/page.js +63 -67
  135. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  136. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  137. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +20 -10
  138. package/server/.next/server/app/(console)/status/page.js +63 -67
  139. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  140. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  141. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +39 -29
  142. package/server/.next/server/app/(console)/supabase/page.js +63 -67
  143. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  144. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  145. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +20 -10
  146. package/server/.next/server/app/(console)/topology/page.js +63 -67
  147. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  148. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  149. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +20 -10
  150. package/server/.next/server/app/(console)/turso/page.js +63 -67
  151. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  152. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  153. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +20 -10
  154. package/server/.next/server/app/(console)/upstash/page.js +63 -67
  155. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  156. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  157. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +34 -24
  158. package/server/.next/server/app/(console)/uptime/page.js +63 -67
  159. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  160. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  161. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +25 -15
  162. package/server/.next/server/app/(console)/welcome/page.js +63 -67
  163. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  164. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  165. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  166. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  167. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  168. package/server/.next/server/app/_global-error.html +1 -1
  169. package/server/.next/server/app/_global-error.rsc +2 -2
  170. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  171. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  172. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  173. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  174. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  175. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  176. package/server/.next/server/app/_not-found.html +1 -1
  177. package/server/.next/server/app/_not-found.rsc +3 -3
  178. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  179. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  180. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  181. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  182. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  183. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  184. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +17 -7
  185. package/server/.next/server/app/api/collect/route.js +69 -71
  186. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  187. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +17 -7
  188. package/server/.next/server/app/api/daily/route.js +51 -53
  189. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  190. package/server/.next/server/app/api/status/route.js +2 -2
  191. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  192. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +17 -7
  193. package/server/.next/server/app/api/telegram/webhook/route.js +48 -50
  194. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  195. package/server/.next/server/app/api/v1/advice/route.js +4 -3
  196. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  197. package/server/.next/server/app/api/v1/ai/questions/route.js +2 -2
  198. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  199. package/server/.next/server/app/api/v1/mcp/route.js +1 -1
  200. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  201. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +4 -3
  202. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  203. package/server/.next/server/app/api/v1/status/route.js +4 -3
  204. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  205. package/server/.next/server/app/api/watchdog/route.js +15 -15
  206. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  207. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  208. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  209. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  210. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  211. package/server/.next/server/app/mfa/page.js +25 -25
  212. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  213. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  214. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  215. package/server/.next/server/app/mfa/setup/page.js +25 -25
  216. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  217. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  218. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  219. package/server/.next/server/app/page.js.nft.json +1 -1
  220. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  221. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  222. package/server/.next/server/app/s/[slug]/page.js +7 -7
  223. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  224. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  225. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  226. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  227. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  228. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  229. package/server/.next/server/app/signin/page.js +28 -29
  230. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  231. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  232. package/server/.next/server/chunks/{[externals]__0ia-wyj5qrosx._.js β†’ [externals]__1-y7b_mfadqi-._.js} +1 -1
  233. package/server/.next/server/chunks/{[externals]__0igl_rsv6z3fr._.js β†’ [externals]__1b3dgyi9diwhy._.js} +1 -1
  234. package/server/.next/server/chunks/{[externals]__0mh8e6gkgfswq._.js β†’ [externals]__1dd9hhrnxhegy._.js} +1 -1
  235. package/server/.next/server/chunks/{[root-of-the-server]__01vos42kjq9nn._.js β†’ [root-of-the-server]__0-94urkhm871c._.js} +1 -1
  236. package/server/.next/server/chunks/{[root-of-the-server]__0_e2eoq7w3ff_._.js β†’ [root-of-the-server]__0-zrmrb4499ay._.js} +2 -2
  237. package/server/.next/server/chunks/{[root-of-the-server]__0ezd1s2862iob._.js β†’ [root-of-the-server]__01hgqxx2a0okv._.js} +2 -2
  238. package/server/.next/server/chunks/{[root-of-the-server]__0exicuoq6gmph._.js β†’ [root-of-the-server]__02h-ec_gusm_2._.js} +2 -2
  239. package/server/.next/server/chunks/{[root-of-the-server]__0-ftc1hhcjcl2._.js β†’ [root-of-the-server]__038br8sr9eepd._.js} +2 -2
  240. package/server/.next/server/chunks/{[root-of-the-server]__20ng0hgzxagf_._.js β†’ [root-of-the-server]__040a3il587nja._.js} +2 -2
  241. package/server/.next/server/chunks/{[root-of-the-server]__0cc32xnniktg9._.js β†’ [root-of-the-server]__04iumkvxok49x._.js} +2 -2
  242. package/server/.next/server/chunks/[root-of-the-server]__0a5op--7u5_xh._.js +3 -0
  243. package/server/.next/server/chunks/{[root-of-the-server]__040ix5fqb_zb-._.js β†’ [root-of-the-server]__0a5t6bkr3-uqw._.js} +2 -2
  244. package/server/.next/server/chunks/{[root-of-the-server]__0r88w3qhrtzz_._.js β†’ [root-of-the-server]__0c2heh-0pjyob._.js} +1 -1
  245. package/server/.next/server/chunks/{[root-of-the-server]__1gt_-h9n48pwi._.js β†’ [root-of-the-server]__0c9y_zg74k4oe._.js} +2 -2
  246. package/server/.next/server/chunks/{[root-of-the-server]__0185dne3slx7e._.js β†’ [root-of-the-server]__0cmp5mwchd8sn._.js} +2 -2
  247. package/server/.next/server/chunks/{[root-of-the-server]__0oqltt9cni6m0._.js β†’ [root-of-the-server]__0ct18spdi1leu._.js} +2 -2
  248. package/server/.next/server/chunks/{[root-of-the-server]__0rb1-3538-pq9._.js β†’ [root-of-the-server]__0db2p-om-b_4s._.js} +1 -1
  249. package/server/.next/server/chunks/{[root-of-the-server]__09uh8gefrxmkg._.js β†’ [root-of-the-server]__0fc4c9-xzmkol._.js} +2 -2
  250. package/server/.next/server/chunks/{[root-of-the-server]__0ikiyg3u02ofv._.js β†’ [root-of-the-server]__0fmt9z8-xukob._.js} +1 -1
  251. package/server/.next/server/chunks/{[root-of-the-server]__0sabwm3w1rm0q._.js β†’ [root-of-the-server]__0i3h5covkd6_t._.js} +1 -1
  252. package/server/.next/server/chunks/[root-of-the-server]__0inf2zuuqjrq6._.js +3 -0
  253. package/server/.next/server/chunks/{[root-of-the-server]__0070gc9ml0mf7._.js β†’ [root-of-the-server]__0jswmvddgl3sb._.js} +1 -1
  254. package/server/.next/server/chunks/{[root-of-the-server]__0ms1uw85c5wg2._.js β†’ [root-of-the-server]__0lco43i5w25zg._.js} +2 -2
  255. package/server/.next/server/chunks/{[root-of-the-server]__0x6qqr79pq_j9._.js β†’ [root-of-the-server]__0m_nqt44ioex_._.js} +1 -1
  256. package/server/.next/server/chunks/{[root-of-the-server]__0w_og0zl6hqzj._.js β†’ [root-of-the-server]__0qme276hvajvy._.js} +1 -1
  257. package/server/.next/server/chunks/[root-of-the-server]__0r3cq1lecww4e._.js +3 -0
  258. package/server/.next/server/chunks/[root-of-the-server]__0r_6xpjwcdrda._.js +3 -0
  259. package/server/.next/server/chunks/[root-of-the-server]__0rctmpp7p7cp9._.js +3 -0
  260. package/server/.next/server/chunks/[root-of-the-server]__0rpys5i04hzww._.js +3 -0
  261. package/server/.next/server/chunks/{[root-of-the-server]__1ol4c4uzqqqfw._.js β†’ [root-of-the-server]__0sp5xoed3-994._.js} +2 -2
  262. package/server/.next/server/chunks/{[root-of-the-server]__01yzy5zxsekxi._.js β†’ [root-of-the-server]__0ubalx5w0ds9m._.js} +1 -1
  263. package/server/.next/server/chunks/[root-of-the-server]__0vv63vp8y0fs-._.js +3 -0
  264. package/server/.next/server/chunks/{[root-of-the-server]__0-st5xltl53h9._.js β†’ [root-of-the-server]__0w07p3ypro834._.js} +2 -2
  265. package/server/.next/server/chunks/{[root-of-the-server]__0znmcklxfccvk._.js β†’ [root-of-the-server]__0x929r1phz1oi._.js} +2 -2
  266. package/server/.next/server/chunks/{[root-of-the-server]__1vqs8o9bv1wbk._.js β†’ [root-of-the-server]__0xfgfo-ks4_e8._.js} +2 -2
  267. package/server/.next/server/chunks/[root-of-the-server]__0ycpg444s91lb._.js +3 -0
  268. package/server/.next/server/chunks/[root-of-the-server]__0zjhlf_yodox3._.js +3 -0
  269. package/server/.next/server/chunks/{[root-of-the-server]__1cc__h9taeylv._.js β†’ [root-of-the-server]__0zkeao78mms1_._.js} +2 -2
  270. package/server/.next/server/chunks/{[root-of-the-server]__0y_xyc1cyvtej._.js β†’ [root-of-the-server]__0zwr7fll4dm9q._.js} +2 -2
  271. package/server/.next/server/chunks/{[root-of-the-server]__0cz3da2wx3_wd._.js β†’ [root-of-the-server]__1-2ckgdamg0-j._.js} +2 -2
  272. package/server/.next/server/chunks/[root-of-the-server]__1-ne3clcouvm2._.js +3 -0
  273. package/server/.next/server/chunks/{[root-of-the-server]__1bce11artflky._.js β†’ [root-of-the-server]__130_vkgsongq_._.js} +2 -2
  274. package/server/.next/server/chunks/{[root-of-the-server]__0x47i6wm-cd1z._.js β†’ [root-of-the-server]__14jw0y_hj7jmw._.js} +2 -2
  275. package/server/.next/server/chunks/[root-of-the-server]__14vj8ywy5spa2._.js +3 -0
  276. package/server/.next/server/chunks/{[root-of-the-server]__05jzua9637vlo._.js β†’ [root-of-the-server]__15vqo7amys573._.js} +2 -2
  277. package/server/.next/server/chunks/{[root-of-the-server]__08-puk3_gawjd._.js β†’ [root-of-the-server]__161v5qfd5qk2p._.js} +2 -2
  278. package/server/.next/server/chunks/[root-of-the-server]__16jyhasrd2ojp._.js +3 -0
  279. package/server/.next/server/chunks/[root-of-the-server]__16u9d_hm9lefl._.js +3 -0
  280. package/server/.next/server/chunks/{[root-of-the-server]__0kzpzdkpz_nt0._.js β†’ [root-of-the-server]__177l2p7kcj-16._.js} +2 -2
  281. package/server/.next/server/chunks/{[root-of-the-server]__186-sa38csgot._.js β†’ [root-of-the-server]__17dr2z1o1hsvk._.js} +1 -1
  282. package/server/.next/server/chunks/{[root-of-the-server]__1hl9k6e1o7xh2._.js β†’ [root-of-the-server]__1_df6aphi-pfk._.js} +2 -2
  283. package/server/.next/server/chunks/[root-of-the-server]__1_zr2xlmtkn4l._.js +3 -0
  284. package/server/.next/server/chunks/[root-of-the-server]__1aagly59gw-xf._.js +3 -0
  285. package/server/.next/server/chunks/{[root-of-the-server]__0tykhzqhwdx_k._.js β†’ [root-of-the-server]__1bjvjngj7lvqi._.js} +2 -2
  286. package/server/.next/server/chunks/[root-of-the-server]__1c0cb3ur16yhh._.js +3 -0
  287. package/server/.next/server/chunks/{[root-of-the-server]__1g4iy2tasmn0f._.js β†’ [root-of-the-server]__1d1u-wejsfl84._.js} +1 -1
  288. package/server/.next/server/chunks/{[root-of-the-server]__05pabbazg42oy._.js β†’ [root-of-the-server]__1g6xpr_typmce._.js} +2 -2
  289. package/server/.next/server/chunks/{[root-of-the-server]__195ax9c1nsi5b._.js β†’ [root-of-the-server]__1j527a18gh10b._.js} +2 -2
  290. package/server/.next/server/chunks/{[root-of-the-server]__1a7_3nq1jjab-._.js β†’ [root-of-the-server]__1jjusd74y8gd5._.js} +2 -2
  291. package/server/.next/server/chunks/[root-of-the-server]__1jvy8r4n-62x7._.js +3 -0
  292. package/server/.next/server/chunks/[root-of-the-server]__1k-7jan2fsbys._.js +3 -0
  293. package/server/.next/server/chunks/[root-of-the-server]__1kr6f03r82mk6._.js +3 -0
  294. package/server/.next/server/chunks/[root-of-the-server]__1m8gyvj7rkapj._.js +1 -1
  295. package/server/.next/server/chunks/[root-of-the-server]__1pa_syiho939h._.js +3 -0
  296. package/server/.next/server/chunks/[root-of-the-server]__1qmdi981syrsn._.js +3 -0
  297. package/server/.next/server/chunks/[root-of-the-server]__1r9v6qgjwlv32._.js +3 -0
  298. package/server/.next/server/chunks/{[root-of-the-server]__0xqgsjnebebv8._.js β†’ [root-of-the-server]__1smidspfoqz48._.js} +2 -2
  299. package/server/.next/server/chunks/{[root-of-the-server]__20r_62r36t28o._.js β†’ [root-of-the-server]__1t87mhqedigsz._.js} +2 -2
  300. package/server/.next/server/chunks/[root-of-the-server]__1u5my3-gpw499._.js +3 -0
  301. package/server/.next/server/chunks/[root-of-the-server]__1uad-kugxmkx8._.js +3 -0
  302. package/server/.next/server/chunks/{[root-of-the-server]__1ny8nr52qvr4i._.js β†’ [root-of-the-server]__20sp5m_w5iklm._.js} +2 -2
  303. package/server/.next/server/chunks/{_1_9n8x5ncta29._.js β†’ _0-jfehdfklu-i._.js} +2 -2
  304. package/server/.next/server/chunks/{_1n-fm2bdo9t2m._.js β†’ _0-ub844lc_z_a._.js} +3 -3
  305. package/server/.next/server/chunks/_004c7-39glldb._.js +4 -4
  306. package/server/.next/server/chunks/_05hhw0eql5-dv._.js +12 -0
  307. package/server/.next/server/chunks/{_0zj10_al6r59j._.js β†’ _08fv52mqg619m._.js} +12 -10
  308. package/server/.next/server/chunks/{_1cq1vvbp6pglr._.js β†’ _08z7lmk32r__5._.js} +3 -3
  309. package/server/.next/server/chunks/_0b7rdk-4lrvfy._.js +10 -0
  310. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  311. package/server/.next/server/chunks/_0tz4o-qufnu3l._.js +4 -4
  312. package/server/.next/server/chunks/{_1myv9csc_in08._.js β†’ _1-pv4d4qhe7to._.js} +3 -3
  313. package/server/.next/server/chunks/_10vh_l3hht4_3._.js +4 -4
  314. package/server/.next/server/chunks/{_1e_rbkrukj0x9._.js β†’ _13dlt388gceez._.js} +12 -10
  315. package/server/.next/server/chunks/_19wqm5leaaesp._.js +1 -1
  316. package/server/.next/server/chunks/_1d_77nvqcnkcg._.js +3 -0
  317. package/server/.next/server/chunks/_1e_6lrlg9ml3-._.js +1 -1
  318. package/server/.next/server/chunks/_1fj4vzjpusyn8._.js +5 -0
  319. package/server/.next/server/chunks/_1l-68brbq289m._.js +12 -0
  320. package/server/.next/server/chunks/{_1476vtrt9101m._.js β†’ _1rskctyr7yt-b._.js} +2 -2
  321. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  322. package/server/.next/server/chunks/src_05vq-abuilwk4._.js +3 -0
  323. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  324. package/server/.next/server/chunks/src_06lwphwuzgl6e._.js +3 -0
  325. package/server/.next/server/chunks/src_0_9n02bmhtk4z._.js +3 -0
  326. package/server/.next/server/chunks/{src_0_l3dzp06o4x5._.js β†’ src_0j8daco-75zka._.js} +2 -2
  327. package/server/.next/server/chunks/src_0tw-h0otr2tgt._.js +1 -1
  328. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  329. package/server/.next/server/chunks/{src_0m6xxpw2u-xv_._.js β†’ src_1lvv9wiag2d8-._.js} +2 -2
  330. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  331. package/server/.next/server/chunks/{src_15fupbs9-n8q9._.js β†’ src_20sym_ohuqw76._.js} +2 -2
  332. package/server/.next/server/chunks/src_2108_me3q06ih._.js +3 -0
  333. package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +1 -1
  334. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  335. package/server/.next/server/chunks/src_lib_0n-8zjgq6mcc7._.js +3 -0
  336. package/server/.next/server/chunks/src_lib_0pyyxm3m1rttg._.js +9 -0
  337. package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +9 -0
  338. package/server/.next/server/chunks/src_lib_1nkahiclbn55q._.js +3 -0
  339. package/server/.next/server/chunks/src_lib_1y5l54dwaet39._.js +3 -0
  340. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +5 -5
  341. package/server/.next/server/chunks/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  342. package/server/.next/server/chunks/src_private_0uwb-eyaxy9b3._.js +5 -0
  343. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  344. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
  345. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
  346. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
  347. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
  348. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
  349. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
  350. package/server/.next/server/chunks/ssr/{[externals]__0vlxry7jq5j1j._.js β†’ [externals]__02s9k1gg9qqkm._.js} +1 -1
  351. package/server/.next/server/chunks/ssr/{[externals]__1mol6ksxmtkv6._.js β†’ [externals]__1rj83sktdlxvt._.js} +1 -1
  352. package/server/.next/server/chunks/ssr/{[externals]__0yyslm1ka5px3._.js β†’ [externals]__1s7xw086rvse0._.js} +1 -1
  353. package/server/.next/server/chunks/ssr/{[externals]__0irbihjwcc9is._.js β†’ [externals]__20leqouf6m6f3._.js} +1 -1
  354. package/server/.next/server/chunks/ssr/{[root-of-the-server]__193nmh09rrpbx._.js β†’ [root-of-the-server]__0-zqh1gf4dsj3._.js} +1 -1
  355. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
  356. package/server/.next/server/chunks/ssr/[root-of-the-server]__03mal5uo1rzg4._.js +3 -0
  357. package/server/.next/server/chunks/ssr/[root-of-the-server]__05_98ql5tgeii._.js +3 -0
  358. package/server/.next/server/chunks/ssr/[root-of-the-server]__077-acap7g4ck._.js +1 -1
  359. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_h_ya1h8efdj._.js β†’ [root-of-the-server]__07k_84t5-d55n._.js} +2 -2
  360. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0wi2grctadbk8._.js β†’ [root-of-the-server]__080do5vfu69n5._.js} +1 -1
  361. package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
  362. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_z273zso5at1._.js β†’ [root-of-the-server]__09j1po2u91fp3._.js} +2 -2
  363. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0sj92w6mg92ds._.js β†’ [root-of-the-server]__0b3g72j9cu141._.js} +2 -2
  364. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0xjg51t1__v-s._.js β†’ [root-of-the-server]__0e1s_5gg-u3iu._.js} +1 -1
  365. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0-i_tj8wp9oto._.js β†’ [root-of-the-server]__0ed6qo3lg9_f9._.js} +2 -2
  366. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0z_1k5876-_wx._.js β†’ [root-of-the-server]__0ee5ew5q3jh8i._.js} +2 -2
  367. package/server/.next/server/chunks/ssr/{[root-of-the-server]__110158s15r7mi._.js β†’ [root-of-the-server]__0fd39clnjw9fb._.js} +2 -2
  368. package/server/.next/server/chunks/ssr/[root-of-the-server]__0h2hxe0vl-2x0._.js +1 -1
  369. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0i07g85h2g72h._.js β†’ [root-of-the-server]__0h9rpg5-lhp5q._.js} +2 -2
  370. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
  371. package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
  372. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
  373. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1a0b_dbx4uans._.js β†’ [root-of-the-server]__0p86d9imejczs._.js} +2 -2
  374. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
  375. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
  376. package/server/.next/server/chunks/ssr/[root-of-the-server]__0s2of3mcou177._.js +3 -0
  377. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1-d88ogkwql_b._.js β†’ [root-of-the-server]__0skfdezx5rxie._.js} +2 -2
  378. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ijizmc3ga_6o._.js β†’ [root-of-the-server]__0tqqte5jb6jz7._.js} +2 -2
  379. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ogwz1buruc_x._.js β†’ [root-of-the-server]__11paa809_igt_._.js} +2 -2
  380. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  381. package/server/.next/server/chunks/ssr/[root-of-the-server]__1e9tlsk1gl8lw._.js +4 -0
  382. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0hzlz_t5eect2._.js β†’ [root-of-the-server]__1qrk2rfmx21b_._.js} +2 -2
  383. package/server/.next/server/chunks/ssr/[root-of-the-server]__1sw2q1p1t59y8._.js +1 -1
  384. package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
  385. package/server/.next/server/chunks/ssr/[root-of-the-server]__1v3b498_j-68t._.js +4 -0
  386. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0n-sc7pzu7fpz._.js β†’ [root-of-the-server]__1y7nfsglxx7cn._.js} +1 -1
  387. package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
  388. package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
  389. package/server/.next/server/chunks/ssr/{_10q5jocsvw-i8._.js β†’ _09arvqnznfrzl._.js} +2 -2
  390. package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +3 -0
  391. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  392. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  393. package/server/.next/server/chunks/ssr/_0ao-urx9ftj1s._.js +3 -0
  394. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  395. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  396. package/server/.next/server/chunks/ssr/_0c7stbntpuyt_._.js +1 -1
  397. package/server/.next/server/chunks/ssr/_0c8kew3jsb-yb._.js +3 -0
  398. package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
  399. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  400. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
  401. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  402. package/server/.next/server/chunks/ssr/_0dvz4dndt6lkf._.js +3 -0
  403. package/server/.next/server/chunks/ssr/{_0s8qoh8v5kqcm._.js β†’ _0f11sdi6yislb._.js} +2 -2
  404. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
  405. package/server/.next/server/chunks/ssr/_0gmw45sb1llld._.js +3 -0
  406. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
  407. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
  408. package/server/.next/server/chunks/ssr/_0iy27gi4y9-fe._.js +4 -0
  409. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
  410. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  411. package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
  412. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
  413. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
  414. package/server/.next/server/chunks/ssr/_0rsh9v4b3yj0b._.js +3 -0
  415. package/server/.next/server/chunks/ssr/{_1476vtrt9101m._.js β†’ _0rw2pberdmaa5._.js} +2 -2
  416. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
  417. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
  418. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +1 -1
  419. package/server/.next/server/chunks/ssr/{_1edj756n1im8t._.js β†’ _0w3mz8059j-pk._.js} +2 -2
  420. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  421. package/server/.next/server/chunks/ssr/_0xmud7u5hdnqu._.js +4 -0
  422. package/server/.next/server/chunks/ssr/_1-4401bfn50mf._.js +4 -0
  423. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  424. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  425. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  426. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
  427. package/server/.next/server/chunks/ssr/_12wjuabpo0ofk._.js +3 -0
  428. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  429. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  430. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
  431. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  432. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
  433. package/server/.next/server/chunks/ssr/_1dp5bgqob29-f._.js +3 -0
  434. package/server/.next/server/chunks/ssr/{_1qiv079hbwt43._.js β†’ _1er-95g7emfdz._.js} +2 -2
  435. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
  436. package/server/.next/server/chunks/ssr/_1fj4vzjpusyn8._.js +5 -0
  437. package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
  438. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  439. package/server/.next/server/chunks/ssr/{_18z44n8yl5tzj._.js β†’ _1h7x73oxtp7h5._.js} +2 -2
  440. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
  441. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  442. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  443. package/server/.next/server/chunks/ssr/{_166ljgwi6shw7._.js β†’ _1jl374mbl90fb._.js} +2 -2
  444. package/server/.next/server/chunks/ssr/{_1r7o1vx4875hu._.js β†’ _1ktvwngz0lzjr._.js} +2 -2
  445. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
  446. package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
  447. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
  448. package/server/.next/server/chunks/ssr/_1rskctyr7yt-b._.js +3 -0
  449. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
  450. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  451. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
  452. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
  453. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
  454. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_1--1mjfnoprr2.js +3 -0
  455. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
  456. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
  457. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
  458. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
  459. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
  460. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
  461. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
  462. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +1 -1
  463. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
  464. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
  465. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  466. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  467. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
  468. package/server/.next/server/chunks/ssr/src_04o0-kzfmcnim._.js +3 -0
  469. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  470. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  471. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  472. package/server/.next/server/chunks/ssr/src_0dceh6hsdybq8._.js +3 -0
  473. package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
  474. package/server/.next/server/chunks/ssr/src_0ovx2ogvlz2eh._.js +3 -0
  475. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  476. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +3 -1
  477. package/server/.next/server/chunks/ssr/src_0yxy3bklfxtzz._.js +3 -0
  478. package/server/.next/server/chunks/ssr/src_1-k3gvxaqli74._.js +3 -0
  479. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  480. package/server/.next/server/chunks/ssr/{src_186l56gdeizg8._.js β†’ src_14ulgwoxoyfkq._.js} +2 -2
  481. package/server/.next/server/chunks/ssr/src_1ckoccd8qvnje._.js +1 -1
  482. package/server/.next/server/chunks/ssr/src_1maoe8g5gnv0u._.js +8 -0
  483. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  484. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  485. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  486. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  487. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  488. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  489. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  490. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  491. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  492. package/server/.next/server/chunks/ssr/src_app_(console)_0u4_y9-b7g971._.js +3 -0
  493. package/server/.next/server/chunks/ssr/{src_app_(console)_1vpkg9rd7v3pk._.js β†’ src_app_(console)_11o_ga_rurg55._.js} +2 -2
  494. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
  495. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_10xvt--29v-ed._.js +3 -0
  496. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  497. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  498. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  499. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  500. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  501. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  502. package/server/.next/server/chunks/ssr/src_app_(console)_deployments_06a83hsex1kba._.js +1 -1
  503. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  504. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  505. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  506. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  507. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  508. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  509. package/server/.next/server/chunks/ssr/src_app_(console)_overview_page_tsx_0se3f3ln9q-42._.js +1 -1
  510. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  511. package/server/.next/server/chunks/ssr/src_app_(console)_repos_[id]_page_tsx_1nkxthc4ethrj._.js +2 -2
  512. package/server/.next/server/chunks/ssr/src_app_(console)_repos_repo-list_tsx_1n1gcm4qfrfdt._.js +1 -1
  513. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  514. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  515. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  516. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  517. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  518. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  519. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  520. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  521. package/server/.next/server/chunks/ssr/{src_app_signin_0ndz9-tbuaohn._.js β†’ src_app_signin_0u6eoxbd8ttqy._.js} +2 -2
  522. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  523. package/server/.next/server/chunks/ssr/src_components_list-filter_tsx_1zp29997g97yd._.js +1 -1
  524. package/server/.next/server/chunks/ssr/{_0ls7sornjrg95._.js β†’ src_lib_0-nc33gvdtkg5._.js} +2 -2
  525. package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +1 -1
  526. package/server/.next/server/chunks/ssr/src_lib_0n-8zjgq6mcc7._.js +3 -0
  527. package/server/.next/server/chunks/ssr/src_lib_10d18lqjfj8je._.js +3 -0
  528. package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
  529. package/server/.next/server/chunks/ssr/src_lib_1y5l54dwaet39._.js +3 -0
  530. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
  531. package/server/.next/server/chunks/ssr/{src_lib_demo_0ftmf3wmtezvl._.js β†’ src_lib_demo_0sbw5n9n4mpzx._.js} +2 -2
  532. package/server/.next/server/chunks/ssr/src_lib_providers_github-browse_ts_1apskpn4fe9qr._.js +3 -0
  533. package/server/.next/server/chunks/ssr/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  534. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  535. package/server/.next/server/chunks/ssr/src_private_1b8918m4jsjpi._.js +5 -0
  536. package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +6 -0
  537. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  538. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  539. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  540. package/server/.next/server/functions-config-manifest.json +3 -0
  541. package/server/.next/server/middleware-build-manifest.js +3 -3
  542. package/server/.next/server/pages/404.html +1 -1
  543. package/server/.next/server/pages/500.html +1 -1
  544. package/server/.next/server/preview-props.json +3 -3
  545. package/server/.next/server/server-reference-manifest.js +1 -1
  546. package/server/.next/server/server-reference-manifest.json +384 -168
  547. package/server/.next/static/chunks/{3o45i7xbzm0w-.js β†’ 05uco41_mcq9o.js} +1 -1
  548. package/server/.next/static/chunks/{2_vwhuzct036v.js β†’ 06o7zhf9tv649.js} +1 -1
  549. package/server/.next/static/chunks/{25je6-38ula0p.js β†’ 0bkm_mj9zqjdn.js} +1 -1
  550. package/server/.next/static/chunks/0bqipdtnu2hws.js +1 -0
  551. package/server/.next/static/chunks/0d609c7qn6uke.js +1 -0
  552. package/server/.next/static/chunks/0ghhg0xs85ipn.js +1 -0
  553. package/server/.next/static/chunks/{026a6w6rbx-fh.js β†’ 0inb7hk8o9yz-.js} +1 -1
  554. package/server/.next/static/chunks/{1khar1yl-th2r.js β†’ 0lgt6mz4u8rzx.js} +1 -1
  555. package/server/.next/static/chunks/0r-etc_jv_08f.js +1 -0
  556. package/server/.next/static/chunks/{0p14kwfj_2w_l.js β†’ 0un8ttgrt0gtq.js} +1 -1
  557. package/server/.next/static/chunks/{1bsk5ub4zhehk.js β†’ 0v5xmga7srjvl.js} +1 -1
  558. package/server/.next/static/chunks/{24p8ti6ronsdf.js β†’ 0zzbinjpe41vj.js} +1 -1
  559. package/server/.next/static/chunks/{1ruv-a_ft592k.js β†’ 12vmyliqgjlbi.js} +1 -1
  560. package/server/.next/static/chunks/{234h8_ywb6t9s.js β†’ 131_xlsbuxnhr.js} +1 -1
  561. package/server/.next/static/chunks/{19bfo1_ejzqmp.js β†’ 146uoz7wc8q2y.js} +1 -1
  562. package/server/.next/static/chunks/{2w3otuq4cx1pd.js β†’ 1crspgs6bd_rg.js} +1 -1
  563. package/server/.next/static/chunks/{1b4nkf_ka3hwr.js β†’ 1h0025pjnwxmg.js} +2 -2
  564. package/server/.next/static/chunks/{35ua22np4u9jr.js β†’ 1ot9e084ramy3.js} +1 -1
  565. package/server/.next/static/chunks/{3ngtjj5afybe9.js β†’ 1ouf289jk00f3.js} +1 -1
  566. package/server/.next/static/chunks/{3m825h0uvc8b6.js β†’ 1sds57ddvk_30.js} +1 -1
  567. package/server/.next/static/chunks/{3oe302ug_esoe.js β†’ 1sexa68j4kb7d.js} +1 -1
  568. package/server/.next/static/chunks/1t9iq0wi3ykuc.js +1 -0
  569. package/server/.next/static/chunks/{2baqn9ru2pmf4.js β†’ 1u4r7ru8i619_.js} +2 -2
  570. package/server/.next/static/chunks/{0m3kg-eiti9zu.js β†’ 1vuqw31-hmrxb.js} +1 -1
  571. package/server/.next/static/chunks/{20ujg0hz_need.js β†’ 1xhyfwwelhzu1.js} +1 -1
  572. package/server/.next/static/chunks/{2ehpfaelmkee6.js β†’ 1z85thzinc0kx.js} +1 -1
  573. package/server/.next/static/chunks/{1j7e6cd8t5jar.js β†’ 25erhrojc-1fi.js} +1 -1
  574. package/server/.next/static/chunks/{2uk9mjknuxmxx.js β†’ 29sduk6krs_b1.js} +1 -1
  575. package/server/.next/static/chunks/{0o-c28x8k05p4.js β†’ 29v9jg7vw7brb.js} +1 -1
  576. package/server/.next/static/chunks/2dbx53nx6f-9f.js +7 -0
  577. package/server/.next/static/chunks/{25ba60sl_edr3.js β†’ 2e195xkcjq72y.js} +1 -1
  578. package/server/.next/static/chunks/{1urtw14pwufsv.js β†’ 2f07frmj7udob.js} +1 -1
  579. package/server/.next/static/chunks/{16en34z8w8ezr.js β†’ 2fp4pmte8dtbb.js} +1 -1
  580. package/server/.next/static/chunks/2gv1tg_m49u9m.js +1 -0
  581. package/server/.next/static/chunks/{0jbau1a66ts45.js β†’ 2ockms4mqiec_.js} +11 -11
  582. package/server/.next/static/chunks/{1rgejqx65romt.js β†’ 2p-ty5g5uq133.js} +1 -1
  583. package/server/.next/static/chunks/{231dmdy7r03nd.js β†’ 2tnbp3f6x0jv_.js} +1 -1
  584. package/server/.next/static/chunks/{1y8hxiy48l5hq.js β†’ 2uu38i0lq_wlc.js} +1 -1
  585. package/server/.next/static/chunks/2uufhbm18_cri.js +1 -0
  586. package/server/.next/static/chunks/{4126vjheqklsp.js β†’ 2vxmvnntekclp.js} +1 -1
  587. package/server/.next/static/chunks/{0lhj_nuhfszt5.js β†’ 2xhqwi0hiv_70.js} +1 -1
  588. package/server/.next/static/chunks/{05rysjdxtzhu1.js β†’ 3-8by5unw1j-r.js} +1 -1
  589. package/server/.next/static/chunks/{15x1am33zx_7r.js β†’ 310xe703zu_qp.js} +1 -1
  590. package/server/.next/static/chunks/{3odrzjmblvoxt.js β†’ 33z05hmv7hw1s.js} +1 -1
  591. package/server/.next/static/chunks/{1aiapinh40brx.js β†’ 36wyyf_gobe7n.js} +1 -1
  592. package/server/.next/static/chunks/{1kwbsrtnz8o1l.js β†’ 3_5xff9sl-2e3.js} +1 -1
  593. package/server/.next/static/chunks/{3zx1pe40m_ddz.js β†’ 3b0xtqo5kfyuj.js} +1 -1
  594. package/server/.next/static/chunks/{34jajbsx3uisy.js β†’ 3cvrxnnojhvxz.js} +1 -1
  595. package/server/.next/static/chunks/{20pwnun2aiajo.js β†’ 3fais-5rzury8.js} +2 -2
  596. package/server/.next/static/chunks/{317o5vyehd1xx.js β†’ 3gj8dc0o09zl6.js} +1 -1
  597. package/server/.next/static/chunks/{0wz_jmdt88plr.js β†’ 3s3unktz7g7f0.js} +1 -1
  598. package/server/.next/static/chunks/{35j75g5h_qytc.js β†’ 3w26qimof6fnj.js} +1 -1
  599. package/server/.next/static/chunks/{0o08yqz8_53p6.js β†’ 3z70obsntezy0.js} +1 -1
  600. package/server/.next/server/chunks/[root-of-the-server]__028cxv1v6v0yb._.js +0 -3
  601. package/server/.next/server/chunks/[root-of-the-server]__07g16s_wi2sai._.js +0 -3
  602. package/server/.next/server/chunks/[root-of-the-server]__0dvuy3ibsyiik._.js +0 -3
  603. package/server/.next/server/chunks/[root-of-the-server]__0e2utnqdim70d._.js +0 -3
  604. package/server/.next/server/chunks/[root-of-the-server]__0gmn5s40au84-._.js +0 -3
  605. package/server/.next/server/chunks/[root-of-the-server]__0i75m0es1m3hf._.js +0 -3
  606. package/server/.next/server/chunks/[root-of-the-server]__0k7o0hgdraix2._.js +0 -3
  607. package/server/.next/server/chunks/[root-of-the-server]__0o0z59_jylzvy._.js +0 -3
  608. package/server/.next/server/chunks/[root-of-the-server]__0quiawzx_nww0._.js +0 -3
  609. package/server/.next/server/chunks/[root-of-the-server]__0wdxw44t9l9o_._.js +0 -3
  610. package/server/.next/server/chunks/[root-of-the-server]__0y99cuuxm0xs3._.js +0 -3
  611. package/server/.next/server/chunks/[root-of-the-server]__0zflnh-2nol66._.js +0 -3
  612. package/server/.next/server/chunks/[root-of-the-server]__10dp33pb5e0ml._.js +0 -3
  613. package/server/.next/server/chunks/[root-of-the-server]__12xl6ax-q8s93._.js +0 -3
  614. package/server/.next/server/chunks/[root-of-the-server]__14sac3h4sfhh7._.js +0 -3
  615. package/server/.next/server/chunks/[root-of-the-server]__17xbg7cngebwp._.js +0 -3
  616. package/server/.next/server/chunks/[root-of-the-server]__18lfi0w0e_h0k._.js +0 -3
  617. package/server/.next/server/chunks/[root-of-the-server]__1c1wqmzm65xo8._.js +0 -3
  618. package/server/.next/server/chunks/[root-of-the-server]__1gry2nrq5xhxl._.js +0 -3
  619. package/server/.next/server/chunks/[root-of-the-server]__1kk_s-q90445m._.js +0 -3
  620. package/server/.next/server/chunks/[root-of-the-server]__1lfsf7un8kdbr._.js +0 -3
  621. package/server/.next/server/chunks/[root-of-the-server]__1nusfevn1z4nm._.js +0 -3
  622. package/server/.next/server/chunks/[root-of-the-server]__1oc55uo0ax787._.js +0 -3
  623. package/server/.next/server/chunks/[root-of-the-server]__1uqxnb7qfqcms._.js +0 -3
  624. package/server/.next/server/chunks/[root-of-the-server]__1vxtt1favjdfr._.js +0 -3
  625. package/server/.next/server/chunks/[root-of-the-server]__1xwgj26z5f7ih._.js +0 -3
  626. package/server/.next/server/chunks/[root-of-the-server]__20sv90-2ei08l._.js +0 -3
  627. package/server/.next/server/chunks/_0hsj1tx2ynla-._.js +0 -3
  628. package/server/.next/server/chunks/_0ls7sornjrg95._.js +0 -5
  629. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +0 -10
  630. package/server/.next/server/chunks/_1daeuesc2d2tg._.js +0 -3
  631. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +0 -10
  632. package/server/.next/server/chunks/src_12wdz9bdn7a-7._.js +0 -3
  633. package/server/.next/server/chunks/src_lib_103kimc1xvc_0._.js +0 -9
  634. package/server/.next/server/chunks/src_lib_1sdusf16f07x-._.js +0 -9
  635. package/server/.next/server/chunks/src_lib_collector_http-check_ts_0bh0rtjky3u1-._.js +0 -3
  636. package/server/.next/server/chunks/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +0 -3
  637. package/server/.next/server/chunks/src_lib_data_deployments-db_ts_1shbv_55rwa2-._.js +0 -3
  638. package/server/.next/server/chunks/src_lib_domain-move_ts_04stiet1-xpe2._.js +0 -3
  639. package/server/.next/server/chunks/src_private_1_nggk_wre7qf._.js +0 -5
  640. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nxyo70ahj7tk._.js +0 -3
  641. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ctkj-25wt37o._.js +0 -4
  642. package/server/.next/server/chunks/ssr/[root-of-the-server]__1e0l6kek0ufui._.js +0 -3
  643. package/server/.next/server/chunks/ssr/[root-of-the-server]__1kfivch_kfesn._.js +0 -4
  644. package/server/.next/server/chunks/ssr/[root-of-the-server]__1o63-3k1wez40._.js +0 -3
  645. package/server/.next/server/chunks/ssr/_0-wc6f6p0c8lv._.js +0 -3
  646. package/server/.next/server/chunks/ssr/_034fv8o7kws2k._.js +0 -3
  647. package/server/.next/server/chunks/ssr/_042ow6smd_1gj._.js +0 -3
  648. package/server/.next/server/chunks/ssr/_0hsj1tx2ynla-._.js +0 -3
  649. package/server/.next/server/chunks/ssr/_0uvkx5n0kf7r2._.js +0 -3
  650. package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +0 -4
  651. package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +0 -3
  652. package/server/.next/server/chunks/ssr/_1b1t9p1xljuql._.js +0 -5
  653. package/server/.next/server/chunks/ssr/_1o94cw0ml7xu7._.js +0 -3
  654. package/server/.next/server/chunks/ssr/_218164gkxgum_._.js +0 -4
  655. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_0y5m8cul6d7kk.js +0 -3
  656. package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +0 -8
  657. package/server/.next/server/chunks/ssr/src_1koc8y1nfdlw3._.js +0 -3
  658. package/server/.next/server/chunks/ssr/src_1xoua7wkmyfkn._.js +0 -3
  659. package/server/.next/server/chunks/ssr/src_1y827m5-ojdib._.js +0 -6
  660. package/server/.next/server/chunks/ssr/src_app_(console)_0f-d8u7sm169e._.js +0 -3
  661. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +0 -3
  662. package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +0 -3
  663. package/server/.next/server/chunks/ssr/src_lib_04orn7u7ufxp1._.js +0 -3
  664. package/server/.next/server/chunks/ssr/src_lib_1l8ej-zoyyegd._.js +0 -3
  665. package/server/.next/server/chunks/ssr/src_lib_collector_http-check_ts_0bh0rtjky3u1-._.js +0 -3
  666. package/server/.next/server/chunks/ssr/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +0 -3
  667. package/server/.next/server/chunks/ssr/src_lib_data_deployments-db_ts_1shbv_55rwa2-._.js +0 -3
  668. package/server/.next/server/chunks/ssr/src_lib_data_vercel-action_ts_1hvera3nwo5fp._.js +0 -3
  669. package/server/.next/server/chunks/ssr/src_lib_domain-move_ts_04stiet1-xpe2._.js +0 -3
  670. package/server/.next/server/chunks/ssr/src_lib_view_14iq8onyfo7nd._.js +0 -3
  671. package/server/.next/server/chunks/ssr/src_lib_view_deploy-actions_ts_1l3rr2k-04gi4._.js +0 -3
  672. package/server/.next/server/chunks/ssr/src_private_04omlb_sgy-_r._.js +0 -5
  673. package/server/.next/static/chunks/0-0tkevn8vwix.js +0 -1
  674. package/server/.next/static/chunks/0qd8lafp_2ta5.js +0 -1
  675. package/server/.next/static/chunks/14teejsfv-awi.js +0 -1
  676. package/server/.next/static/chunks/1c0s-ejiwfy2u.js +0 -1
  677. package/server/.next/static/chunks/38rdy3k5li9gb.js +0 -1
  678. package/server/.next/static/chunks/3u-qfdthw123i.js +0 -7
  679. package/server/.next/static/chunks/3xhrztkjpas1b.js +0 -1
  680. /package/server/.next/static/{00kxZsHPpI3WSDxVn1e4b β†’ WqHYD3Noq8qkEPXvfVDGQ}/_buildManifest.js +0 -0
  681. /package/server/.next/static/{00kxZsHPpI3WSDxVn1e4b β†’ WqHYD3Noq8qkEPXvfVDGQ}/_clientMiddlewareManifest.js +0 -0
  682. /package/server/.next/static/{00kxZsHPpI3WSDxVn1e4b β†’ WqHYD3Noq8qkEPXvfVDGQ}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[436357,521050,572134,t=>{"use strict";var e=t.i(26972),r=t.i(427221),n=t.i(689963),a=t.i(811365),o=t.i(913822),i=t.i(191179),s=t.i(83931);let l=/^[A-Za-z0-9._-]{1,100}$/,u=t=>t.trim().replace(/^\.\//,"").split("/").filter(t=>""!==t&&"."!==t);function c(t){if("string"!=typeof t)return null;let e=u(t);if(!e.length||e.length>4||e.some(t=>".."===t||!l.test(t)))return null;let r=e.join("/");return r.length<=150?r:null}function d(t){if("string"!=typeof t||!u(t).length||null!==c(t))return null;let e=t.replace(/[\u0000-\u001f\u007f-\u009f]/g,"").trim();return e?e.length>80?`${e.slice(0,79)}…`:e:null}function m(t){let e=t.trim().replace(/^\.\//,"").replace(/\/+$/,"").split("**").map(t=>t.split("*").map(t=>t.replace(/[.+?^${}()|[\]\\]/g,"\\$&")).join("[^/]*")).join(".*");return RegExp(`^${e}$`)}t.s(["Q",0,c,"x",0,t=>t?`${t} (the Vercel project's Root Directory)`:"the repository root","H",0,(t,e)=>t?`${t}/${e}`:e,"p",0,function(t,e,r){if("npm"===t)try{let t=JSON.parse(e);return!!t.packages&&"object"==typeof t.packages&&Object.hasOwn(t.packages,r)}catch{return!1}if("pnpm"===t){let t=e.search(/^importers:\s*$/m);if(t<0)return!1;let n=e.slice(t).split(/\n(?=\S)/)[0],a=r.replace(/[.+?^${}()|[\]\\]/g,"\\$&");return RegExp(`^ {2}['"]?${a}['"]?:\\s*$`,"m").test(n)}return!1},"l",0,d,"F",0,function(t,e){let r;if(!t)return!1;try{r=JSON.parse(t)}catch{return!1}let n=r&&"object"==typeof r&&!Array.isArray(r)?r.workspaces:void 0,a=(Array.isArray(n)?n:n&&"object"==typeof n&&Array.isArray(n.packages)?n.packages:[]).filter(t=>"string"==typeof t&&""!==t.trim()),o=a.filter(t=>t.trim().startsWith("!")).map(t=>t.trim().slice(1));return a.some(t=>!t.trim().startsWith("!")&&m(t).test(e))&&!o.some(t=>m(t).test(e))}],521050);let p="https://api.vercel.com";async function f(t,e,r){let n;try{n=await (r.fetch??fetch)(`${p}${t}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},signal:AbortSignal.timeout(r.timeoutMs??5e3),cache:"no-store"})}catch(t){return{ok:!1,kind:"transient",error:t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.name)?"Vercel didn't answer within 5 seconds.":"Couldn't reach Vercel."}}if(401===n.status||403===n.status)return{ok:!1,kind:"auth",status:n.status,error:`Vercel rejected this credential (${n.status}).`};if(429===n.status){let t=Number(n.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(t)&&t>0?t:60,error:"Vercel says there were too many requests."}}return n.ok?{ok:!0,data:await n.json().catch(()=>null)}:{ok:!1,kind:"transient",status:n.status,error:`Vercel returned an error (${n.status}).`}}async function h(t,n,a,o,i){let s;try{s=await (i.fetch??fetch)(`${p}${n}`,{method:t,headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...void 0===o?{}:{"Content-Type":"application/json"}},...void 0===o?{}:{body:JSON.stringify(o)},signal:AbortSignal.timeout(i.timeoutMs??5e3),cache:"no-store"})}catch(t){return{ok:!1,kind:"transient",error:t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.name)?"Vercel didn't answer within 5 seconds; the action may still have happened. Check the deployments in a minute.":"Couldn't reach Vercel."}}if(401===s.status)return{ok:!1,kind:"auth",status:401,error:"Vercel rejected this credential (401)."};if(403===s.status)return{ok:!1,kind:"scope",status:403,error:"Vercel refused this token for that project (403)."};if(429===s.status){let t;return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(t=Number(s.headers.get("Retry-After")))&&t>0?t:60,error:"Vercel says there were too many requests."}}let l=await s.json().catch(()=>null);if(!s.ok){let t=e.z.object({error:e.z.object({code:r.z.string().regex(/^[A-Za-z0-9_-]{1,60}$/)})}).safeParse(l);return{ok:!1,kind:"transient",status:s.status,error:`Vercel refused this (${s.status}${t.success?`, ${t.data.error.code}`:""}).`}}return{ok:!0,data:l}}let g=t=>`teamId=${encodeURIComponent(t)}`,y=encodeURIComponent,k=t=>({ok:!1,kind:"format",error:`Vercel answered ${t} in a format the console doesn't recognise.`});function z(t,e,r=[]){let n=t.filter(t=>!1!==t.verified&&!t.redirect&&!t.gitBranch&&!t.customEnvironmentId),a=new Set(r.map(t=>t.toLowerCase())),o=n.map((e,r)=>{let n;return{name:e.name,key:[...(n=e.name,[+!t.some(t=>t.redirect?.toLowerCase()===n.toLowerCase()),+!!n.endsWith(".vercel.app"),+!a.has(n.toLowerCase()),n.length]),r]}}).sort((t,e)=>{for(let r=0;r<t.key.length;r++)if(t.key[r]!==e.key[r])return t.key[r]-e.key[r];return 0});return o[0]?.name??`${e}.vercel.app`}let b=e.z.object({teams:n.z.array(e.z.object({id:r.z.string(),slug:r.z.string(),name:r.z.string().nullish()}))});async function j(t,e={}){let r=await f("/v2/teams?limit=100",t,e);if(!r.ok)return r;let n=b.safeParse(r.data);return n.success?{ok:!0,data:n.data.teams.map(t=>({id:t.id,slug:t.slug,name:t.name??t.slug}))}:k("the team list")}async function $(t,r={}){let n=await f("/v5/user/tokens/current",t,r);if(!n.ok)return n;let o=e.z.object({token:e.z.object({expiresAt:a.z.number().nullish()})}).safeParse(n.data);return o.success?{ok:!0,data:o.data.token.expiresAt?new Date(o.data.token.expiresAt):null}:k("the token details")}let w=e.z.object({id:r.z.string(),readyState:r.z.string().nullish(),createdAt:a.z.number().nullish().catch(null),alias:n.z.array(r.z.string()).nullish().catch(null)}).nullish(),I=e.z.object({type:r.z.string(),jobStatus:r.z.string(),toDeploymentId:r.z.string(),requestedAt:a.z.number()}).nullish().catch(null);function A(t,e){let r=t?.readyState==="READY"?t.id:null;return e&&"succeeded"===e.jobStatus&&("rollback"===e.type||"promote"===e.type&&"number"==typeof t?.createdAt&&t.createdAt<=e.requestedAt)?e.toDeploymentId:r}let D=e.z.object({id:r.z.string(),name:r.z.string(),framework:r.z.string().nullish(),createdAt:a.z.number(),link:e.z.object({productionBranch:r.z.string().nullish(),type:r.z.string().nullish(),org:r.z.string().nullish(),repo:r.z.string().nullish()}).nullish(),resourceConfig:e.z.object({functionDefaultRegions:n.z.array(r.z.string()).nullish()}).nullish(),targets:e.z.object({production:w}).nullish(),lastAliasRequest:I,rootDirectory:r.z.string().nullish().catch(null)}),C=e.z.object({projects:n.z.array(D),pagination:e.z.object({next:a.z.number().nullish()}).nullish()});async function v(t,e,r={}){let n,a=[];for(let o=0;o<10;o++){let o=await f(`/v10/projects?teamId=${encodeURIComponent(e.id)}&limit=100${n?`&until=${n}`:""}`,t,r);if(!o.ok)return o;let i=C.safeParse(o.data);if(!i.success)return k("the project list");for(let t of i.data.projects)a.push({id:t.id,name:t.name,team:e,framework:t.framework??null,createdAt:new Date(t.createdAt),productionBranch:t.link?.productionBranch??null,currentDeploymentId:A(t.targets?.production,t.lastAliasRequest),repo:t.link?.type&&t.link.org&&t.link.repo?{type:t.link.type,org:t.link.org,repo:t.link.repo}:null,functionRegions:t.resourceConfig?.functionDefaultRegions??[],rootDirectory:c(t.rootDirectory),rootDirectoryUnsupported:d(t.rootDirectory),productionAliases:t.targets?.production?.alias??[]});if(!(n=i.data.pagination?.next))break}return{ok:!0,data:a}}let R=e.z.object({uid:r.z.string(),projectId:r.z.string(),state:r.z.string().nullish(),readyState:r.z.string().nullish(),target:r.z.string().nullish(),source:r.z.string().nullish(),url:r.z.string().nullish(),createdAt:a.z.number().nullish(),created:a.z.number().nullish(),buildingAt:a.z.number().nullish(),ready:a.z.number().nullish(),meta:o.z.record(r.z.string(),i.z.unknown()).nullish(),gitSource:e.z.object({ref:r.z.string().nullish(),sha:r.z.string().nullish()}).nullish().catch(null)}),S=t=>"string"==typeof t&&t.length?t:null,E=t=>t?new Date(t):null;function P(t,e){var r,n;let a,o,i=t.readyState??t.state??"BUILDING",s=t.meta??{};return{id:e,projectId:t.projectId,state:"READY"===i?"ready":"ERROR"===i?"error":"CANCELED"===i?"canceled":"building",rawState:i,target:"production"===t.target?"production":"preview",branch:S(s.githubCommitRef)??S(s.gitCommitRef)??S(s.gitlabCommitRef)??S(s.bitbucketCommitRef)??S(t.gitSource?.ref),sha:S(s.githubCommitSha)??S(s.gitCommitSha)??S(s.gitlabCommitSha)??S(s.bitbucketCommitSha)??S(t.gitSource?.sha),message:S(s.githubCommitMessage)??S(s.gitCommitMessage)??S(s.gitlabCommitMessage)??S(s.bitbucketCommitMessage),source:t.source??null,url:t.url??null,createdAt:new Date(t.createdAt??t.created??0),buildingAt:E(t.buildingAt),readyAt:E(t.ready),...(r=s,n=t.gitSource?.ref,a=S(r.githubCommitRef)?"github":S(r.gitlabCommitRef)?"gitlab":S(r.bitbucketCommitRef)?"bitbucket":S(n)?"gitSource":S(r.gitCommitRef)?"cli":null,o="1"===r.gitDirty||1===r.gitDirty||!0===r.gitDirty,{...a?{branchFrom:a}:{},...o?{gitDirty:!0}:{}})}}async function L(t,r,a,o={}){let i=await f(`/v7/deployments?teamId=${encodeURIComponent(r.id)}&limit=${a.limit??100}${a.since?`&since=${a.since}`:""}`,t,o);if(!i.ok)return i;let s=e.z.object({deployments:n.z.array(R)}).safeParse(i.data);return s.success?{ok:!0,data:s.data.deployments.map(t=>P(t,t.uid))}:k("the deployment list")}let U=R.omit({uid:!0,projectId:!0}).extend({id:r.z.string(),projectId:r.z.string().nullish()});async function N(t,e,r,n={}){let a=await f(`/v13/deployments/${encodeURIComponent(r)}?teamId=${encodeURIComponent(e.id)}`,t,n);if(!a.ok)return a;let o=U.safeParse(a.data);return o.success?{ok:!0,data:P({...o.data,uid:o.data.id,projectId:o.data.projectId??""},o.data.id)}:k("the deployment")}let T=e.z.object({name:r.z.string(),targets:e.z.object({production:w}).nullish(),lastAliasRequest:I});async function x(t,e,r,n={}){let a=await f(`/v9/projects/${y(r)}?${g(e)}`,t,n);if(!a.ok)return a;let o=T.safeParse(a.data);return o.success?{ok:!0,data:{name:o.data.name,currentId:A(o.data.targets?.production,o.data.lastAliasRequest)}}:k("the project")}let B=e.z.object({deployments:n.z.array(R.extend({projectId:r.z.string().nullish()}))});async function M(t,e,r,n,a,o){let i=`projectId=${y(r)}&target=production&state=${n}&limit=${a}&${g(e)}`,s=await f(`/v6/deployments?${i}`,t,o);if(!s.ok)return s;let l=B.safeParse(s.data);return l.success?{ok:!0,data:l.data.deployments.map(t=>P({...t,projectId:t.projectId??r},t.uid))}:k("the deployment list")}async function O(t,e,r,n={}){return M(t,e,r,"READY",5,n)}async function V(t,e,r,n={}){let a=await M(t,e,r,"BUILDING,QUEUED,INITIALIZING",1,n);return a.ok?{ok:!0,data:a.data[0]??null}:a}async function q(t,n,a,o={}){let i=await h("POST",`/v13/deployments?${g(n)}`,t,{name:a.name,project:a.projectId,deploymentId:a.deploymentId,target:"production"},o);if(!i.ok)return i;let s=e.z.object({id:r.z.string()}).safeParse(i.data);return{ok:!0,data:{id:s.success?s.data.id:""}}}async function W(t,e,r,n,a={}){let o=await h("POST",`/v1/projects/${y(r)}/rollback/${y(n)}?${g(e)}`,t,void 0,a);return o.ok?{ok:!0,data:null}:o}async function F(t,e,r,n,a={}){let o=await h("POST",`/v10/projects/${y(r)}/promote/${y(n)}?${g(e)}`,t,{},a);return o.ok?{ok:!0,data:null}:o}async function Y(t,n,a,o={}){let i=await h("POST",`/v13/deployments?${g(n)}`,t,{name:a.name,project:a.projectId,deploymentId:a.deploymentId,target:"production",meta:{action:"promote"}},o);if(!i.ok)return i;let s=e.z.object({id:r.z.string()}).safeParse(i.data);return{ok:!0,data:{id:s.success?s.data.id:""}}}async function G(t,e,r,n={}){let a=await h("PATCH",`/v12/deployments/${y(r)}/cancel?${g(e)}`,t,void 0,n);return a.ok?{ok:!0,data:null}:a}let Q=e.z.object({domains:n.z.array(e.z.object({name:r.z.string(),redirect:r.z.string().nullish(),verified:s.z.boolean().optional(),gitBranch:r.z.string().nullish(),customEnvironmentId:r.z.string().nullish().catch(null)})),pagination:e.z.object({next:a.z.number().nullish()}).nullish()});async function _(t,e,r,n={}){let a,o=[];for(let i=0;i<10;i++){let i=await f(`/v9/projects/${encodeURIComponent(r)}/domains?teamId=${encodeURIComponent(e)}&limit=100${a?`&until=${a}`:""}`,t,n);if(!i.ok)return i;let s=Q.safeParse(i.data);if(!s.success)return k("the domain list");for(let t of s.data.domains)o.push({name:t.name,redirect:t.redirect??null,verified:!1!==t.verified,gitBranch:t.gitBranch??null,customEnvironmentId:t.customEnvironmentId??null});if(!(a=s.data.pagination?.next))return{ok:!0,data:o}}return{ok:!1,kind:"transient",error:"The project has more than 1000 domains; Watchbell kept the domains it had."}}async function J(t,e,r,n,a={},o=[]){let i=await _(t,e,r,a);return i.ok?{ok:!0,data:z(i.data,n,o)}:i}let Z=e.z.object({misconfigured:s.z.boolean(),configuredBy:r.z.string().nullish(),recommendedIPv4:n.z.array(e.z.object({value:n.z.array(r.z.string())})).default([])});async function H(t,e,r,n={}){let a=await f(`/v6/domains/${encodeURIComponent(r)}/config?teamId=${encodeURIComponent(e)}`,t,n);if(!a.ok)return a;let o=Z.safeParse(a.data);return o.success?{ok:!0,data:{misconfigured:o.data.misconfigured,configuredBy:o.data.configuredBy??null,recommendedIps:o.data.recommendedIPv4.flatMap(t=>t.value)}}:k("the domain configuration")}async function K(t,e={}){let r=await j(t,e);if(!r.ok)return r;let n=[],a=[],o=[];for(let i of r.data){let r=await v(t,i,e);if(!r.ok){if(403===r.status){a.push(i.name),o.push(i.id);continue}return r}for(let t of r.data)n.push({externalId:t.id,name:t.name,meta:{teamId:i.id,teamSlug:i.slug,teamName:i.name,framework:t.framework,productionBranch:t.productionBranch,createdAt:t.createdAt.toISOString(),repo:t.repo?`${t.repo.org}/${t.repo.repo}`:null,repoType:t.repo?.type??null,functionRegions:t.functionRegions,rootDirectory:t.rootDirectory,...t.rootDirectoryUnsupported?{rootDirectoryUnsupported:t.rootDirectoryUnsupported}:{},...t.productionAliases.length?{productionAliases:t.productionAliases}:{}}})}return a.length===r.data.length?{ok:!1,kind:"auth",error:"This token can't read any of your Vercel teams. Create a token with access to them."}:{ok:!0,data:{apps:n,skippedTeams:a,skippedTeamIds:o}}}async function X(t,r,a,o,i={}){if(!/^[0-9a-f]{40}$/.test(o))return k("the commit");let s=new URLSearchParams({teamId:r,projectId:a,sha:o,limit:"10"}),l=await f(`/v6/deployments?${s}`,t,i);if(!l.ok)return l;let u=e.z.object({deployments:n.z.array(R)}).safeParse(l.data);return u.success?{ok:!0,data:u.data.deployments.map(t=>P(t,t.uid)).filter(t=>t.projectId===a&&(null===t.sha||t.sha===o)).sort((t,e)=>e.createdAt.getTime()-t.createdAt.getTime())}:k("the deployment list")}async function tt(t,e,r,n={}){let a=await f(`/v9/projects/${y(r)}?${g(e)}`,t,n);if(!a.ok)return a;let o=T.safeParse(a.data);if(!o.success)return k("the project");let i=o.data.targets?.production??null,s=o.data.lastAliasRequest??null;return{ok:!0,data:{currentId:A(i,s),latest:i?{id:i.id,readyState:i.readyState??null,createdAt:i.createdAt??null}:null,promote:s&&"promote"===s.type&&"succeeded"===s.jobStatus?{toDeploymentId:s.toDeploymentId,requestedAt:s.requestedAt}:null}}}t.s(["T",0,G,"n",0,z,"c",0,x,"C",0,X,"G",0,K,"Q",0,H,"S",0,N,"K",0,L,"M",0,_,"W",0,v,"X",0,j,"r",0,O,"q",0,J,"k",0,tt,"u",0,F,"l",0,Y,"L",0,q,"E",0,W,"N",0,V,"o",0,$],572134);let te=t=>Array.isArray(t)?t.filter(t=>"string"==typeof t&&t.length>0).map(t=>t.toLowerCase()):[];function tr(t){let e="string"==typeof t?.primaryDomain&&t.primaryDomain?t.primaryDomain.toLowerCase():null;return e?{primaryDomain:e,domains:te(t?.domains),pastDomains:te(t?.pastDomains)}:null}function tn(t){try{let e=new URL(t);return"https:"===e.protocol||"http:"===e.protocol?e.hostname.toLowerCase():null}catch{return null}}let ta=t=>/ Β· DEPLOYMENT_NOT_FOUND$/.test(t.lastError??"");function to(t,e,r=[],n={}){let a=tn(t),o=tr(e.meta);return!(!a||!o||function(t,e,r=[]){let n=tr(e.meta);if(!n)return!0;let a=t.toLowerCase();if(a===n.primaryDomain||n.domains.includes(a))return!0;let o=e.name.toLowerCase();return!!(!(a.endsWith(".vercel.app")&&r.some(t=>{let e=t.name.toLowerCase();return e!==o&&e.startsWith(`${o}-`)&&(a===`${e}.vercel.app`||a.startsWith(`${e}-`))}))&&(a===`${o}.vercel.app`||a.endsWith(".vercel.app")&&a.startsWith(`${o}-`)))||r.some(t=>{let e=tr(t.meta);return null!==e&&(e.primaryDomain===a||e.domains.includes(a))})}(a,e,r))&&(o.pastDomains.includes(a)||ta(n))?{from:a,to:o.primaryDomain}:null}t.s(["Q",0,function(t,e,r=[],n){let a=[...new Set(t.map(t=>t.name.toLowerCase()))],o=new Set(a),i=[...new Set([...te(n?.pastDomains),...te(n?.domains)])].filter(t=>!o.has(t)).slice(-20);return{domains:a,primaryDomain:z(t,e,r).toLowerCase(),pastDomains:i}},"u",0,to,"P",0,function(t,e){let r=new Map;for(let n of t){if("heartbeat"===n.kind)continue;let t=to(n.url,{name:n.appName,meta:n.appMeta},e.filter(t=>t.id!==n.appId),{lastError:n.lastError});t&&r.set(n.id,t)}return r},"w",0,function(t,e){let r=new URL(t);if(r.protocol="https:",r.hostname=e,r.port="",r.hostname!==e.toLowerCase())throw Error("The new domain isn't a valid host name.");return r.toString()},"R",0,function(t,e){let r=new Map;for(let n of t){if("heartbeat"===n.kind||!ta({lastError:n.lastError}))continue;let t=tr(n.appMeta),a=tn(n.url);if(!t||!a)continue;let o=r.get(n.appId)??t.pastDomains;!o.includes(a)&&to(n.url,{name:n.appName,meta:n.appMeta},e.filter(t=>t.id!==n.appId),{lastError:n.lastError})&&r.set(n.appId,[...o,a].slice(-20))}return r},"Y",0,tr],436357)}];
2
-
3
- //# sourceMappingURL=src_lib_domain-move_ts_04stiet1-xpe2._.js.map
@@ -1,5 +0,0 @@
1
- (()=>{"use strict";module.exports=[779704,e=>{var t=e.i(93321),a=e.i(548734),i=e.i(837137),r=e.i(86657),n=e.i(502330),s=e.i(666680),c=e.i(26972),l=e.i(427221),o=e.i(811365);let d="advisor.ai_summary",u=c.z.object({text:l.z.string().min(1).max(1200),model:l.z.string().max(200),at:l.z.string(),count:o.z.number().int().min(0),hash:l.z.string().length(64)});function m(e){let t=e.map(e=>`${e.severity}\0${e.app}\0${e.title}`).sort();return(0,s.createHash)("sha256").update(t.join("\x01")).digest("hex")}async function p(){let[e]=await (0,a.f)().select({value:i.settings.value}).from(i.settings).where((0,t.u)(i.settings.key,d)).limit(1),r=u.safeParse(e?.value);return r.success?r.data:null}async function f(e,t){var s,c;if(!await r.f.provider())return{status:"no-provider"};let l=await r.f.advice(e),o=(s=await p(),c=t.force,l.length?!c&&s&&s.hash===m(l)?"skip-unchanged":"run":"skip-empty");if("skip-empty"===o)return{status:"empty"};if("skip-unchanged"===o)return{status:"unchanged"};let u=await r.f.complete((0,n.N)(l),{purpose:"summary",maxTokens:400}),f=u.text.trim().slice(0,1200);if(!f)throw Error("The model returned no text.");let h={text:f,model:u.model.slice(0,200),at:e.toISOString(),count:l.length,hash:m(l)};return await (0,a.f)().insert(i.settings).values({key:d,value:h}).onConflictDoUpdate({target:i.settings.key,set:{value:h,updatedAt:e}}),{status:"stored",summary:h}}e.s(["h",0,p,"E",0,f],779704)},920274,918962,e=>{var t=e.i(93321),a=e.i(530385),i=e.i(548734),r=e.i(837137),n=e.i(142754);let s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,c=e=>s.test(e);async function l(e,s=new Date){let o=null,d=new Map;if(void 0!==e){if(!c(e))return[];let[a]=await (0,i.f)().select({name:r.resources.name}).from(r.resources).where((0,t.u)(r.resources.id,e)).limit(1);o=a?[e,a.name]:[e],a&&(d=new Map([[e,a.name]]))}let u=new Date(s.getTime()-2592e6),m=(0,t.b)((0,t.M)(n.c.dismissedAt),(0,t.B)(n.c.createdAt,u)),p=await (0,i.f)().select({id:n.c.id,appId:n.c.appId,severity:n.c.severity,title:n.c.title,body:n.c.body,source:n.c.source,client:n.c.client,model:n.c.model,createdAt:n.c.createdAt}).from(n.c).where(o?(0,t.b)(m,(0,t.y)(n.c.appId,o)):m).orderBy((0,a.A)(n.c.createdAt)).limit(20);if(void 0===e){let e=[...new Set(p.map(e=>e.appId).filter(e=>!!e&&c(e)))];e.length&&(d=new Map((await (0,i.f)().select({id:r.resources.id,name:r.resources.name}).from(r.resources).where((0,t.y)(r.resources.id,e)).limit(e.length)).map(e=>[e.id,e.name])))}return p.map(e=>({id:e.id,appId:e.appId,appName:e.appId?d.get(e.appId)??(c(e.appId)?null:e.appId):null,severity:e.severity,title:e.title,body:e.body,from:e.client||e.source,model:e.model,at:e.createdAt}))}async function o(e,a,r){let[s]=await (0,i.f)().update(n.c).set({dismissedAt:r,dismissedBy:a}).where((0,t.b)((0,t.u)(n.c.id,e),(0,t.M)(n.c.dismissedAt))).returning({id:n.c.id,title:n.c.title,appId:n.c.appId,source:n.c.source,client:n.c.client});return s?{id:s.id,title:s.title,appId:s.appId,from:s.client||s.source}:null}e.s(["$",0,o,"b",0,c,"N",0,l],920274);var d=e.i(484458),u=e.i(363652),m=e.i(501634),p=e.i(502330);async function f(e,t={}){let a=t.now??new Date,i=(0,p.u)(await (0,m.V)(a),e);if(t.context){let e=i[i.length-1];e.content=`${e.content}
2
-
3
- Context: ${(0,p.O)(t.context,Math.min(t.contextMax??2e3,4e3))}`}let r=await (0,u.X)(i,{...t.model?{model:t.model,...t.fallback?{fallback:!0}:{}}:{},purpose:"console-chat",maxTokens:1500}),n=r.text.trim();if(!n)throw new h;return{text:n.length>8e3?`${n.slice(0,7999)}…`:n,model:r.model,ms:r.ms}}class h extends Error{constructor(){super("The model returned no text. Try again."),this.name="GatewayError"}}async function w(e=new Date){let[t,a]=await Promise.all([(0,d.y)(e).catch(()=>null),(0,u.M)().then(()=>!0,()=>!1)]),i=!!t&&(0,d.U)(t.report,e);return{agConnected:i,agEnabled:i&&t?(0,d._)(t.report,t.prefs,t.allowed):[],providerReady:a}}e.s(["q",0,"watchpost","L",0,f,"c",0,w],918962)}]})();
4
-
5
- //# sourceMappingURL=src_private_1_nggk_wre7qf._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[[358179,a=>{var b=a.i(666680);let c="aes-256-gcm";function d(a){let b=Buffer.from(a,"base64");if(32!==b.length)throw Error("Encryption key must be 32 bytes, base64-encoded.");return b}function e(a,e){let f=Buffer.from(a.ciphertext,"base64");if(f.length<16)throw Error("Stored credential is damaged.");let g=(0,b.createDecipheriv)(c,d(e),Buffer.from(a.iv,"base64"));return g.setAuthTag(f.subarray(f.length-16)),Buffer.concat([g.update(f.subarray(0,f.length-16)),g.final()]).toString("utf8")}a.s(["K",0,e,"V",0,function(a,b){try{return e(a,b)}catch{return null}},"l",0,function(a,e,f=1){let g=(0,b.randomBytes)(12),h=(0,b.createCipheriv)(c,d(e),g),i=Buffer.concat([h.update(a,"utf8"),h.final()]);return{ciphertext:Buffer.concat([i,h.getAuthTag()]).toString("base64"),iv:g.toString("base64"),keyVersion:f}}])},656298,a=>{function b(a){return"RESOURCE_EXHAUSTED"===a.reason?{state:"err",label:"Daily quota used up"}:"SERVICE_DISABLED"===a.reason?{state:"err",label:"Firestore API is off in this project"}:"scope"===a.kind||"PERMISSION_DENIED"===a.reason||"scope"===a.reason?{state:"err",label:"No access: needs datastore.viewer"}:{state:"unknown",label:"Unknown"}}a.s(["T",0,{reads:5e4,writes:2e4,deletes:2e4},"_",0,"The stored data size (1 GiB free) isn't read on any plan: the row's Open usage page shows it in the Firebase console.","f",0,"Storage (1 GiB): not read; the Firebase console's usage page shows it.","z",0,b,"g",0,function(a){return a.ok?a.data.noDatabase?{state:"off",label:"No Firestore database"}:{state:"ok",label:`Reachable \xb7 ${a.data.latencyMs} ms`}:b(a)},"a",0,function(a){let b=new Intl.DateTimeFormat("en-US",{timeZone:"America/Los_Angeles",hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23"}).formatToParts(a),c=a=>Number(b.find(b=>b.type===a)?.value??0),d=(3600*c("hour")+60*c("minute")+c("second"))*1e3+a.getUTCMilliseconds();return new Date(a.getTime()-d)}])},688275,a=>{let b={cuHours:100,storageBytes:0x40000000,transferBytes:0x140000000,branches:10,scaleToZeroMin:5};function c(a){return a.disabled?{state:"err",label:"Suspended"}:"init"===a.state||a.pendingState&&a.pendingState!==a.state?{state:"build",label:"Starting"}:"active"===a.state?{state:"ok",label:"Active"}:"idle"===a.state?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}a.s(["a",0,b,"c",0,(a,b)=>a===b?`${a} CU`:`${a}–${b} CU`,"g",0,a=>Math.round(a/360)/10,"T",0,c,"p",0,function(a){if((a.computeSeconds??0)>=3600*b.cuHours)return{state:"err",label:"CU-hours used up"};if(!a.endpoints.length)return{state:"unknown",label:"No compute"};let d=a.endpoints.map(c);return d.some(a=>"err"===a.state)?{state:"err",label:"Compute suspended"}:d.some(a=>"ok"===a.state)?{state:"ok",label:"Active"}:d.some(a=>"build"===a.state)?{state:"build",label:"Starting"}:d.every(a=>"idle"===a.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}])},745614,a=>{let b="The demo is busy right now. Try again in a minute.",c="Too many new demo sessions from your network. Try again in a few minutes.",d=new Map([["watchbell-demo-busy",b],["watchbell-demo-too-many",c]]),e=new Map([...d].map(([a,b])=>[b,a]));a.s(["L",0,b,"_",0,c,"f",0,function(a){return Object.assign(Error(a),{digest:e.get(a)})},"E",0,function(a){for(let c=a,e=0;c&&e<5;c=c.cause,e++){var b;let a="string"==typeof(b=c.digest)?d.get(b)??null:null;if(a&&c instanceof Error&&c.message===a)return a}return null}])},19809,a=>{var b=a.i(371289);let c="Not available in the demo";a.s(["v",0,"This is the Watchbell demo, so no AI model was asked. In your own install, this answer comes from the AI provider you connect under AI Gateway.","Y",0,c,"r",0,"Simulated in the demo: nothing was sent to a provider.","h",0,function(a,d=process.env){return(0,b.W)(d)&&a instanceof Error&&a.message===c},"M",0,function(a,b=Math.random){return{ok:!0,statusCode:a,latencyMs:90+Math.round(260*b()),error:null}}])},753682,a=>{a.s(["f",0,function(a){return"aal2"===a.aal?"ok":a.hasVerifiedFactor?"challenge":"owner"===a.role||"operator"===a.role?"setup":"ok"}])}],300794,(a,b,c)=>{b.exports=a.x("node:dns/promises",()=>require("node:dns/promises"))},761095,(a,b,c)=>{b.exports=a.x("node:net",()=>require("node:net"))},685560,(a,b,c)=>{b.exports=a.x("node:tls",()=>require("node:tls"))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0nxyo70ahj7tk._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[[836042,a=>{var b=a.i(903769),c=a.i(803767);a.S([b,"00ae67709dfb9d0d278b709700af194e31ad13c800,f",0,c,"60b06fe1f4d80c3048e624c5ce366c98e567f190b8,n"],836042)},713095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},903769,a=>{var b=a.i(137936);a.i(570396);var c=a.i(673727),d=a.i(366443);async function e(){await (0,d.f)().signOut(),(0,c.redirect)("/signin")}(0,a.i(713095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"00ae67709dfb9d0d278b709700af194e31ad13c800",null),a.s(["f",0,e])},263251,a=>{a.s(["f",0,function(a){if(Array.isArray(a))return a;let b=a?.rows;return Array.isArray(b)?b:[]}])},655206,a=>{a.s(["f",0,{checks:7,rollupsHourly:90,deployments:30,events:90,alerts:90,collectorRuns:14,storedLogs:7,recommendationDismissals:90}])},84877,a=>{function b(a){let[b,...c]=a.trim().split("-"),d=b.split(".").map(a=>Number.parseInt(a,10)||0);return{nums:[d[0]??0,d[1]??0,d[2]??0],pre:c.length?c.join("-").split("."):[]}}a.s(["f",0,function(a,c){let d=b(a),e=b(c);for(let a=0;a<3;a++)if(d.nums[a]!==e.nums[a])return d.nums[a]-e.nums[a];return function(a,b){if(!a.length||!b.length)return a.length?-1:+!!b.length;for(let c=0;c<Math.max(a.length,b.length);c++){if(void 0===a[c])return -1;if(void 0===b[c])return 1;let d=/^\d+$/.test(a[c])?Number(a[c]):null,e=/^\d+$/.test(b[c])?Number(b[c]):null;if(null!==d&&null!==e){if(d!==e)return d-e}else if(null!==d||null!==e)return null!==d?-1:1;else if(a[c]!==b[c])return a[c]<b[c]?-1:1}return 0}(d.pre,e.pre)}])}],224361,(a,b,c)=>{b.exports=a.x("util",()=>require("util"))},406461,(a,b,c)=>{b.exports=a.x("zlib",()=>require("zlib"))},461750,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0z_1k5876-_wx._.js","server/chunks/ssr/src_db_pglite_ts_0r1r9wqxilnam._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(614755)))},73710,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_cookie_ts_0a12-0n1novgh._.js"].map(b=>a.l(b))).then(()=>b(716983)))},871289,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__110158s15r7mi._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(204048)))},522169,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_seed_members_ts_0pz2fa9295pvm._.js"].map(b=>a.l(b))).then(()=>b(615089)))},372153,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_session_ts_0rwvb3aun41zx._.js","server/chunks/ssr/src_lib_demo_0mr090huk17s8._.js"].map(b=>a.l(b))).then(()=>b(765161)))}];
3
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__1ctkj-25wt37o._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[[258261,a=>{var b=a.i(494415),c=a.i(163227),d=a.i(351674);a.s(["H",0,function(a){return d.B`count(${a||d.B.raw("*")})`.mapWith(Number)},"y",0,function(a){return d.B`max(${a})`.mapWith((0,c.f)(a,b.f)?a:String)}])},358179,a=>{var b=a.i(666680);let c="aes-256-gcm";function d(a){let b=Buffer.from(a,"base64");if(32!==b.length)throw Error("Encryption key must be 32 bytes, base64-encoded.");return b}function e(a,e){let f=Buffer.from(a.ciphertext,"base64");if(f.length<16)throw Error("Stored credential is damaged.");let g=(0,b.createDecipheriv)(c,d(e),Buffer.from(a.iv,"base64"));return g.setAuthTag(f.subarray(f.length-16)),Buffer.concat([g.update(f.subarray(0,f.length-16)),g.final()]).toString("utf8")}a.s(["K",0,e,"V",0,function(a,b){try{return e(a,b)}catch{return null}},"l",0,function(a,e,f=1){let g=(0,b.randomBytes)(12),h=(0,b.createCipheriv)(c,d(e),g),i=Buffer.concat([h.update(a,"utf8"),h.final()]);return{ciphertext:Buffer.concat([i,h.getAuthTag()]).toString("base64"),iv:g.toString("base64"),keyVersion:f}}])},19809,a=>{var b=a.i(371289);let c="Not available in the demo";a.s(["v",0,"This is the Watchbell demo, so no AI model was asked. In your own install, this answer comes from the AI provider you connect under AI Gateway.","Y",0,c,"r",0,"Simulated in the demo: nothing was sent to a provider.","h",0,function(a,d=process.env){return(0,b.W)(d)&&a instanceof Error&&a.message===c},"M",0,function(a,b=Math.random){return{ok:!0,statusCode:a,latencyMs:90+Math.round(260*b()),error:null}}])},753682,a=>{a.s(["f",0,function(a){return"aal2"===a.aal?"ok":a.hasVerifiedFactor?"challenge":"owner"===a.role||"operator"===a.role?"setup":"ok"}])}],300794,(a,b,c)=>{b.exports=a.x("node:dns/promises",()=>require("node:dns/promises"))},761095,(a,b,c)=>{b.exports=a.x("node:net",()=>require("node:net"))},685560,(a,b,c)=>{b.exports=a.x("node:tls",()=>require("node:tls"))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1e0l6kek0ufui._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[[452587,a=>{var b=a.i(903769),c=a.i(803767);a.S([b,"00ae67709dfb9d0d278b709700af194e31ad13c800,f",0,c,"00c7c7ebbe721a1d263e99ee6a64e86f274f51a794,N,60ffadad81442b0f0e8699f024588cd0c6ded22bfb,p"],452587)},713095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},903769,a=>{var b=a.i(137936);a.i(570396);var c=a.i(673727),d=a.i(366443);async function e(){await (0,d.f)().signOut(),(0,c.redirect)("/signin")}(0,a.i(713095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"00ae67709dfb9d0d278b709700af194e31ad13c800",null),a.s(["f",0,e])},263251,a=>{a.s(["f",0,function(a){if(Array.isArray(a))return a;let b=a?.rows;return Array.isArray(b)?b:[]}])},655206,a=>{a.s(["f",0,{checks:7,rollupsHourly:90,deployments:30,events:90,alerts:90,collectorRuns:14,storedLogs:7,recommendationDismissals:90}])},84877,a=>{function b(a){let[b,...c]=a.trim().split("-"),d=b.split(".").map(a=>Number.parseInt(a,10)||0);return{nums:[d[0]??0,d[1]??0,d[2]??0],pre:c.length?c.join("-").split("."):[]}}a.s(["f",0,function(a,c){let d=b(a),e=b(c);for(let a=0;a<3;a++)if(d.nums[a]!==e.nums[a])return d.nums[a]-e.nums[a];return function(a,b){if(!a.length||!b.length)return a.length?-1:+!!b.length;for(let c=0;c<Math.max(a.length,b.length);c++){if(void 0===a[c])return -1;if(void 0===b[c])return 1;let d=/^\d+$/.test(a[c])?Number(a[c]):null,e=/^\d+$/.test(b[c])?Number(b[c]):null;if(null!==d&&null!==e){if(d!==e)return d-e}else if(null!==d||null!==e)return null!==d?-1:1;else if(a[c]!==b[c])return a[c]<b[c]?-1:1}return 0}(d.pre,e.pre)}])}],224361,(a,b,c)=>{b.exports=a.x("util",()=>require("util"))},406461,(a,b,c)=>{b.exports=a.x("zlib",()=>require("zlib"))},461750,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0sj92w6mg92ds._.js","server/chunks/ssr/src_db_pglite_ts_0r1r9wqxilnam._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(614755)))},73710,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_cookie_ts_0a12-0n1novgh._.js"].map(b=>a.l(b))).then(()=>b(716983)))},871289,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1a0b_dbx4uans._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(204048)))},522169,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_seed_members_ts_0pz2fa9295pvm._.js"].map(b=>a.l(b))).then(()=>b(615089)))},372153,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_session_ts_0rwvb3aun41zx._.js","server/chunks/ssr/src_lib_demo_0mr090huk17s8._.js"].map(b=>a.l(b))).then(()=>b(765161)))}];
3
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__1kfivch_kfesn._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[[149310,a=>{var b=a.i(954757);a.s(["z",0,b])},358179,a=>{var b=a.i(666680);let c="aes-256-gcm";function d(a){let b=Buffer.from(a,"base64");if(32!==b.length)throw Error("Encryption key must be 32 bytes, base64-encoded.");return b}function e(a,e){let f=Buffer.from(a.ciphertext,"base64");if(f.length<16)throw Error("Stored credential is damaged.");let g=(0,b.createDecipheriv)(c,d(e),Buffer.from(a.iv,"base64"));return g.setAuthTag(f.subarray(f.length-16)),Buffer.concat([g.update(f.subarray(0,f.length-16)),g.final()]).toString("utf8")}a.s(["K",0,e,"V",0,function(a,b){try{return e(a,b)}catch{return null}},"l",0,function(a,e,f=1){let g=(0,b.randomBytes)(12),h=(0,b.createCipheriv)(c,d(e),g),i=Buffer.concat([h.update(a,"utf8"),h.final()]);return{ciphertext:Buffer.concat([i,h.getAuthTag()]).toString("base64"),iv:g.toString("base64"),keyVersion:f}}])},745614,a=>{let b="The demo is busy right now. Try again in a minute.",c="Too many new demo sessions from your network. Try again in a few minutes.",d=new Map([["watchbell-demo-busy",b],["watchbell-demo-too-many",c]]),e=new Map([...d].map(([a,b])=>[b,a]));a.s(["L",0,b,"_",0,c,"f",0,function(a){return Object.assign(Error(a),{digest:e.get(a)})},"E",0,function(a){for(let c=a,e=0;c&&e<5;c=c.cause,e++){var b;let a="string"==typeof(b=c.digest)?d.get(b)??null:null;if(a&&c instanceof Error&&c.message===a)return a}return null}])},968715,a=>{var b=a.i(245710);function c(a,c){let[d,e,f]=(0,b.x)(a).split("-").map(Number);return Array.from({length:c},(a,b)=>new Date(Date.UTC(d,e-1,f-(c-1-b))).toISOString().slice(0,10))}let d=Date.UTC(2e3,0,1);a.s(["F",0,90,"I",0,30,"W",0,c,"D",0,function(a,b,c){return d+Math.floor((a.getTime()-d)/b)*b-(c-1)*b},"w",0,function(a,b,d){return c(b,d).map(b=>a?.get(b))},"C",0,function(a){let b=new Map;for(let c of a){let a=b.get(c.monitorId);a||(a=new Map,b.set(c.monitorId,a));let d=a.get(c.day);a.set(c.day,{day:c.day,checks:(d?.checks??0)+c.checks,failures:(d?.failures??0)+c.failures,maint:(d?.maint??0)+(c.maint??0)})}return b},"f",0,function(a,b,c,d,e=null){let f=Array.from({length:d},()=>e);for(let e of a){let a=Math.round((e.t-b)/c);a>=0&&a<d&&(f[a]=e.v)}return f},"j",0,function(a){let b={ok:0,warn:0,err:0,maint:0,paused:0};for(let c of a)!c.appGone&&("ok"===c.state||"warn"===c.state||"err"===c.state||"maint"===c.state?b[c.state]++:("paused"===c.state||"off"===c.state)&&b.paused++);return b},"h",0,function(a,b,d=90,e){return c(b,d).map((b,c)=>{let f,g=a?.get(b),h=g&&(0!==g.checks||g.maint)?0===g.checks?"maint":0===g.failures?"ok":g.failures<3?"warn":"err":"none",i=0==(f=d-1-c)?"Today":1===f?"1 day ago":`${f} days ago`,j=e?.get(b),k=g&&"none"!==h?"maint"===h?`${i} \xb7 maintenance, not counted`:`${i} \xb7 ${g.failures} failed of ${g.checks}`:`${i} \xb7 no data`;return{day:b,tone:h,title:j?`${k} \xb7 deployed ${j}`:k,deploy:j}})},"Y",0,function(a){let b=0,c=0;for(let d of a)d&&(b+=d.checks,c+=d.failures);return b?(b-c)/b*100:null}])}],254799,(a,b,c)=>{b.exports=a.x("crypto",()=>require("crypto"))},270406,(a,b,c)=>{b.exports=a.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},324725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},559043,(a,b,c)=>{b.exports=a.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},300794,(a,b,c)=>{b.exports=a.x("node:dns/promises",()=>require("node:dns/promises"))},761095,(a,b,c)=>{b.exports=a.x("node:net",()=>require("node:net"))},81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))},685560,(a,b,c)=>{b.exports=a.x("node:tls",()=>require("node:tls"))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1o63-3k1wez40._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[269411,a=>{var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(629845),i=a.i(221340),j=a.i(198398),k=a.i(953685),l=a.i(739518),m=a.i(429852);a.S([b,"00ae67709dfb9d0d278b709700af194e31ad13c800,f",0,c,"008bca6de048142834daeda05d13d05a603427fc3d,f",0,d,"4041d3ef96e5432dad0f877e9c7c28744c8aced495,f",0,e,"000c9d348ecbe2376452962941643afc4b4e227c55,E,40e125fc472c4b04dab848111ea1f124b3f2a2ba3a,G,40f1d424d76b652e17ae52c03ec063ced51b58a6f4,T",0,f,"403088bf67ebad30dbea857c3e962c2e284ffac9ca,G,40b29d80ab43b135db8aaf2541a0595eb6b7bf06c1,F,40c545571afb463110a2846227eb11c343d1cf13e1,m",0,g,"001e9ad44945cb3bcbd90d82f68952c2c04476845c,f",0,h,"00eebff867f65abaaf55faca9863ab47026052b55d,f",0,i,"402afa07c1b9e71289a4b76ce4ea53a958a8f1c0e7,f",0,j,"40f844f0053513ba96d6dceb37ed345ab6539b3fa2,d,60ea1f8f9bb32ba47adc9431dc19361609bd065581,g",0,k,"00326a4c4935b18152f2c88e3a6ff84724123f33f7,n,00af077e83e1d5a8aba9b4a08a5e0bfd63885afd03,w",0,l,"605c4ef6fbb9589effe20d9b882ecac8d7906d2a58,L",0,m,"40d8d5998e73969d9de71f366ede2eff357d99781b,n"],269411)},221340,a=>{var b=a.i(137936),c=a.i(118558),d=a.i(600079),e=a.i(109307),f=a.i(875016),g=a.i(221084),h=a.i(312573),i=a.i(323878);async function j(a){return(0,d.F)("operator",async b=>{if("string"!=typeof a||0===a.length||a.length>200)return{ok:!1,error:"Something in that request wasn't valid."};let d=await (0,i.C)(h.t.monitorWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,h.H)(d.retryAfter)}.`};let e=await (0,f.$)(a,b.userId,new Date);if(!e.ok)return{ok:!1,error:e.error};try{await (0,g.f)({kind:"ok",message:`Recommendation dismissed: ${e.title}`,resourceId:e.appId,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,c.refresh)(),{ok:!0,message:"Dismissed. It comes back in 30 days if it still applies."}},{requireActionMember:e.g},"local")}(0,a.i(713095).ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"402afa07c1b9e71289a4b76ce4ea53a958a8f1c0e7",null),a.s(["f",0,j])},629845,a=>{var b=a.i(137936),c=a.i(118558),d=a.i(548734),e=a.i(837137),f=a.i(600079),g=a.i(109307),h=a.i(270432),i=a.i(221084),j=a.i(312573),k=a.i(323878);async function l(){return(0,f.F)("operator",async a=>{let b=await m(a);if(b)return b;(0,c.refresh)();let d=await (0,h.f)("manual");return await n(a,d.skipped||d.ok),{ok:!0,message:d.skipped?"A collector run is already going. New data arrives within a few seconds.":"Collector run requested. New data arrives within a few seconds."}},{requireActionMember:g.g},o)}async function m(a){let b=await (0,k.C)(j.t.refresh,a.id);return b.allowed?null:{ok:!1,error:`Too many refreshes. Try again in ${(0,j.H)(b.retryAfter)}.`}}async function n(a,b,c){try{await (0,i.f)({kind:b?"ok":"err",message:"Collector run requested",resourceId:null,actorUserId:a.userId,...c?{detail:c}:{}})}catch{console.warn("audit event failed")}}async function o(a){let b=await m(a);if(b)return b;let f=new Date;return await (0,d.f)().insert(e.collectorRuns).values({startedAt:new Date(f.getTime()-900),finishedAt:f,trigger:"manual",tasks:[],ok:!0,durationMs:900,checks:0}),await n(a,!0,"Simulated in the demo"),(0,c.refresh)(),{ok:!0,message:"Collector run simulated. The demo's data is made up, so nothing new arrives."}}(0,a.i(713095).ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"00eebff867f65abaaf55faca9863ab47026052b55d",null),a.s(["f",0,l])}]})();
2
-
3
- //# sourceMappingURL=_0-wc6f6p0c8lv._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[896293,a=>{let b=(0,a.i(449862).f)("outline","bell","Bell",[["path",{d:"M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6",key:"svg-0"}],["path",{d:"M9 17v1a3 3 0 0 0 6 0v-1",key:"svg-1"}]]);a.s(["f",0,b],896293)},728951,a=>{var b=a.i(187924),c=a.i(572131);let d="oc-src",e=null,f=new Set;function g(a){return f.add(a),()=>{f.delete(a)}}function h(){if(null!==e)return e;try{return"1"===localStorage.getItem(d)}catch{return!1}}function i(){return!1}let j=(0,c.createContext)({show:!1,toggle:()=>{}}),k={api:"API",own:"Own check",calc:"Computed",test:"Needs test"};a.s(["SourcesProvider",0,function({children:a}){let k=(0,c.useSyncExternalStore)(g,h,i);return(0,c.useEffect)(()=>{document.body.classList.toggle("show-src",k)},[k]),(0,b.jsx)(j.Provider,{value:{show:k,toggle:()=>(function(a){e=a;try{localStorage.setItem(d,a?"1":"")}catch{}f.forEach(a=>a())})(!h())},children:a})},"Src",0,function({kind:a,children:c}){return(0,b.jsx)("span",{className:`src src-${a}`,children:c??k[a]})},"useSources",0,()=>(0,c.useContext)(j)])},700629,a=>{var b=a.i(187924),c=a.i(402699),d=a.i(572131);a.s(["f",0,function({label:a="Thinking…"}){let[e,f]=(0,d.useState)(0);return(0,d.useEffect)(()=>{let a=Date.now(),b=setInterval(()=>f(Math.floor((Date.now()-a)/1e3)),1e3);return()=>clearInterval(b)},[]),(0,b.jsxs)("span",{role:"status",className:"inline-flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,b.jsx)(c.f,{size:15,className:"animate-spin","aria-hidden":!0}),a," ",(0,b.jsxs)("span",{className:"font-mono",children:[e," s"]})]})}])},271288,a=>{var b=a.i(187924),c=a.i(368114);a.s(["f",0,function({checked:a,onChange:d,label:e,disabled:f}){return(0,b.jsx)("button",{type:"button",role:"switch","aria-checked":a,"aria-label":e,title:e,disabled:f,onClick:()=>d(!a),className:(0,c.f)("relative inline-block h-[18px] w-8 shrink-0 rounded-[9px] align-middle transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40 disabled:cursor-not-allowed disabled:opacity-60",a?"bg-brand":"bg-line-strong"),children:(0,b.jsx)("span",{className:(0,c.f)("absolute left-0.5 top-0.5 size-3.5 rounded-full bg-surface transition-transform",a&&"translate-x-3.5")})})}])}]})();
2
-
3
- //# sourceMappingURL=_034fv8o7kws2k._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[851519,a=>{let b=(0,a.i(449862).f)("outline","x","X",[["path",{d:"M18 6l-12 12",key:"svg-0"}],["path",{d:"M6 6l12 12",key:"svg-1"}]]);a.s(["f",0,b],851519)},405050,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0});var d={callServer:function(){return f.callServer},createServerReference:function(){return h.createServerReference},findSourceMapURL:function(){return g.findSourceMapURL}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(120611),g=a.r(1722),h=a.r(738783)},462007,a=>{var b=a.i(187924);a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,c)=>(0,b.jsx)("th",{className:"whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5",children:a},c))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5"])},651467,a=>{let b=[{id:"off",label:"Off",ms:null},{id:"auto",label:"Auto Β· after each check",ms:null},{id:"1m",label:"Every minute",ms:6e4},{id:"5m",label:"Every 5 minutes",ms:3e5},{id:"15m",label:"Every 15 minutes",ms:9e5},{id:"30m",label:"Every 30 minutes",ms:18e5}],c=(a,b)=>b-a>=18e5;a.s(["j",0,b,"v",0,"oc-refresh","N",0,c,"H",0,function(a,c,d=!1,e){let f=Math.max(0,Math.floor((c-a)/1e3)),g=f<120?`${f}s ago`:`${Math.floor(f/60)} min ago`,h=(b.find(a=>a.id===e)?.ms??0)/6e4,i="off"===e?"Off":d?"every 4 min (idle)":"auto"===e?"Auto Β· after each check":h?`every ${1===h?"minute":`${h} min`}`:"every 60s";return`Updated ${g} \xb7 ${i}`},"L",0,a=>b.find(b=>b.id===a)?.id??"auto","c",0,function(a){if(!a.visible||a.held||!a.online||"off"===a.choice)return!1;let d=c(a.lastInputAt,a.now);if("auto"===a.choice&&null!=a.collectorRunAt&&a.now-a.collectorRunAt<18e4&&!a.period)return!(a.collectorRunAt<=a.lastAt)&&(!d||!(a.now-a.lastAt<24e4))&&(a.pending?a.now-a.requestedAt>=6e4:a.requestedAt<=a.lastAt||a.now-a.requestedAt>=6e4);let e=b.find(b=>b.id===a.choice)?.ms??6e4,f=d?Math.max(e,24e4):e,g=a.period&&!d?Math.min(a.period,f):f;return!(a.now-a.lastAt<g)&&(a.pending?a.now-a.requestedAt>=6e4:a.requestedAt<=a.lastAt||a.now-a.requestedAt>=g)},"k",0,function(a){return"off"!==a.choice&&a.visible&&!a.held&&a.online&&!a.pending&&a.requestedAt<=a.lastAt},"$",0,function(a){return Math.min(3e4,Math.round(15e3*1.5**Math.max(0,a)))}])}]})();
2
-
3
- //# sourceMappingURL=_042ow6smd_1gj._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[258261,a=>{var b=a.i(494415),c=a.i(163227),d=a.i(351674);a.s(["H",0,function(a){return d.B`count(${a||d.B.raw("*")})`.mapWith(Number)},"y",0,function(a){return d.B`max(${a})`.mapWith((0,c.f)(a,b.f)?a:String)}])},646324,a=>{let b=a=>a?a.getTime():null;function c(a,b){return!a||"object"!=typeof a||Array.isArray(a)?{}:Object.fromEntries(Object.entries(a).filter(a=>"string"==typeof a[1]&&new Date(a[1]).getTime()>b.getTime()))}a.s(["Q",0,function(a,b,c,d=new Set){let e=new Set(c.map(a=>`${a.resourceId}/${a.id}`));return a.flatMap(a=>{let c=b.get(a.externalId);return!c||d.has(c)||e.has(`${a.id}/${c}`)?[]:[{appId:a.id,deploymentId:c}]})},"E",0,function(a,c){return!a||a.state!==c.state||a.target!==c.target||a.branch!==c.branch||a.commitSha!==c.commitSha||a.commitMessage!==c.commitMessage||a.source!==c.source||a.url!==c.url||b(a.buildingAt)!==b(c.buildingAt)||b(a.readyAt)!==b(c.readyAt)},"Y",0,function(a,b,d){let e=new Date(d.getTime()+216e5).toISOString();return{...c(a,d),...Object.fromEntries(b.map(a=>[a,e]))}},"K",0,function(a){try{return new URL(a).pathname}catch{return"/"}},"a",0,function(a,b){let c=[...new Map(a.map(a=>[a.id,a])).values()].sort((a,b)=>b.createdAt.getTime()-a.createdAt.getTime()),d=b??c[0]?.id??null,e=c.findIndex(a=>a.id===d);return{currentId:d,previousId:e>=0?c[e+1]?.id??null:null}},"S",0,(a,b)=>new Set(Object.keys(c(a,b)))])},683439,a=>{let b=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;a.s(["f",0,a=>"string"==typeof a&&b.test(a)])},469762,a=>{var b=a.i(245710);function c(a,b){let c=Math.max(0,b.getTime()-a.getTime());return c<6e4?"now":c<36e5?`${Math.floor(c/6e4)} min ago`:c<864e5?`${Math.floor(c/36e5)} h ago`:`${Math.floor(c/864e5)} d ago`}function d(a){let b=Math.max(0,Math.round(a/1e3));if(b<60)return`${b}s`;let c=Math.floor(b/60);return c<60?`${c}m ${String(b%60).padStart(2,"0")}s`:`${Math.floor(c/60)}h ${String(c%60).padStart(2,"0")}m`}a.s(["m",0,function(a,b){for(let a of b)try{let b=new URL(a);if("https:"!==b.protocol&&"http:"!==b.protocol||!b.host)continue;return b.host}catch{}return`${a}.vercel.app`},"W",0,function(a){return a?a.split(/\r?\n|\r/).map(a=>a.trim()).find(a=>""!==a)??"":""},"h",0,function(a,d){let e=d.getTime()-a.getTime();return e<36e5?c(a,d):(0,b.m)(a,d)?(0,b.U)(a):`${Math.max(1,Math.floor(e/864e5))} d ago`},"A",0,function(a,b){return"building"===a.state?`${d(b.getTime()-(a.buildingAt??a.createdAt).getTime())} elapsed`:a.readyAt&&a.buildingAt?d(a.readyAt.getTime()-a.buildingAt.getTime()):"β€”"},"v",0,function(a,c){return(0,b.m)(a,c)?(0,b.U)(a):`${(0,b.L)(a)} ${(0,b.U)(a)}`},"o",0,function(a,b){let c=Math.max(0,b.getTime()-a.getTime()),d=(a,b)=>`${a} ${b}${1===a?"":"s"}`;return c<36e5?d(Math.max(1,Math.floor(c/6e4)),"minute"):c<864e5?d(Math.floor(c/36e5),"hour"):d(Math.floor(c/864e5),"day")},"F",0,function(a){try{let b=new URL(a);return`${b.host}${b.pathname}`}catch{return a}},"$",0,function(a,e){if(!a)return"β€”";if("building"===a.state)return`building ${d(e.getTime()-(a.buildingAt??a.createdAt).getTime())}`;let f=a.readyAt??a.createdAt;return"error"===a.state?`failed ${(0,b.m)(f,e)?(0,b.U)(f):c(f,e)}`:"canceled"===a.state?`canceled ${c(f,e)}`:c(f,e)},"H",0,function(a){let{day:c,month:d,year:e}=(0,b.e)(a);return`${c} ${d} ${e}`},"p",0,a=>null===a?"β€”":`${Math.round(a)} ms`,"C",0,a=>null===a?"β€”":`${(Math.floor(100*a+1e-6)/100).toFixed(2)}%`,"J",0,c,"_",0,a=>a?a.slice(0,7):"β€”"])},910697,a=>{a.s(["O",0,{events:200,deployments:200,apps:200,monitors:200,domains:200,databases:200,recentEvents:5,ongoingBuilds:5},"A",0,{rawChecksMs:6048e5,healthBuckets:30,metricBuckets:48,responseHours:24}])}]})();
2
-
3
- //# sourceMappingURL=_0hsj1tx2ynla-._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[689963,a=>{var b=a.i(954757);a.s(["z",0,b])},83931,a=>{var b=a.i(954757);a.s(["z",0,b])},149310,a=>{var b=a.i(954757);a.s(["z",0,b])},811365,a=>{var b=a.i(954757);a.s(["z",0,b])},133289,a=>{var b=a.i(245710);a.s(["e",0,"Demo Β· no live collector","m",0,function(a,b){if(!a)return{state:"idle",text:"Collector hasn't run yet"};let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3)),d=Math.floor(c/60);return c<60?{state:"ok",text:`Collector ran ${c}s ago`}:c<120?{state:"ok",text:`Collector ran ${d} min ago`}:c<300?{state:"warn",text:`Collector late \xb7 ran ${d} min ago`}:{state:"err",text:`Collector stopped ${d} min ago`}},"i",0,function(a,c,d){if(!a.finishedAt)return c.getTime()-a.startedAt.getTime()<12e4?{state:"build",text:"Running now"}:{state:"err",text:`Last run didn't finish (started ${(0,b.$)(a.startedAt,c)})`};let e=(0,b.$)(a.finishedAt,c);return!1===a.ok?{state:"warn",text:`Last run ${e} \xb7 finished with problems`}:c.getTime()-a.finishedAt.getTime()>=d?{state:"warn",text:`Last run ${e} \xb7 late`}:{state:"ok",text:`Last run ${e}`}}])},656298,a=>{function b(a){return"RESOURCE_EXHAUSTED"===a.reason?{state:"err",label:"Daily quota used up"}:"SERVICE_DISABLED"===a.reason?{state:"err",label:"Firestore API is off in this project"}:"scope"===a.kind||"PERMISSION_DENIED"===a.reason||"scope"===a.reason?{state:"err",label:"No access: needs datastore.viewer"}:{state:"unknown",label:"Unknown"}}a.s(["T",0,{reads:5e4,writes:2e4,deletes:2e4},"_",0,"The stored data size (1 GiB free) isn't read on any plan: the row's Open usage page shows it in the Firebase console.","f",0,"Storage (1 GiB): not read; the Firebase console's usage page shows it.","z",0,b,"g",0,function(a){return a.ok?a.data.noDatabase?{state:"off",label:"No Firestore database"}:{state:"ok",label:`Reachable \xb7 ${a.data.latencyMs} ms`}:b(a)},"a",0,function(a){let b=new Intl.DateTimeFormat("en-US",{timeZone:"America/Los_Angeles",hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23"}).formatToParts(a),c=a=>Number(b.find(b=>b.type===a)?.value??0),d=(3600*c("hour")+60*c("minute")+c("second"))*1e3+a.getUTCMilliseconds();return new Date(a.getTime()-d)}])},688275,a=>{let b={cuHours:100,storageBytes:0x40000000,transferBytes:0x140000000,branches:10,scaleToZeroMin:5};function c(a){return a.disabled?{state:"err",label:"Suspended"}:"init"===a.state||a.pendingState&&a.pendingState!==a.state?{state:"build",label:"Starting"}:"active"===a.state?{state:"ok",label:"Active"}:"idle"===a.state?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}a.s(["a",0,b,"c",0,(a,b)=>a===b?`${a} CU`:`${a}–${b} CU`,"g",0,a=>Math.round(a/360)/10,"T",0,c,"p",0,function(a){if((a.computeSeconds??0)>=3600*b.cuHours)return{state:"err",label:"CU-hours used up"};if(!a.endpoints.length)return{state:"unknown",label:"No compute"};let d=a.endpoints.map(c);return d.some(a=>"err"===a.state)?{state:"err",label:"Compute suspended"}:d.some(a=>"ok"===a.state)?{state:"ok",label:"Active"}:d.some(a=>"build"===a.state)?{state:"build",label:"Starting"}:d.every(a=>"idle"===a.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}])},745614,a=>{let b="The demo is busy right now. Try again in a minute.",c="Too many new demo sessions from your network. Try again in a few minutes.",d=new Map([["watchbell-demo-busy",b],["watchbell-demo-too-many",c]]),e=new Map([...d].map(([a,b])=>[b,a]));a.s(["L",0,b,"_",0,c,"f",0,function(a){return Object.assign(Error(a),{digest:e.get(a)})},"E",0,function(a){for(let c=a,e=0;c&&e<5;c=c.cause,e++){var b;let a="string"==typeof(b=c.digest)?d.get(b)??null:null;if(a&&c instanceof Error&&c.message===a)return a}return null}])}]})();
2
-
3
- //# sourceMappingURL=_0uvkx5n0kf7r2._.js.map
@@ -1,4 +0,0 @@
1
- (()=>{"use strict";module.exports=[725360,a=>{var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(429852);a.S([b,"00ae67709dfb9d0d278b709700af194e31ad13c800,f",0,c,"008bca6de048142834daeda05d13d05a603427fc3d,f",0,d,"4041d3ef96e5432dad0f877e9c7c28744c8aced495,f",0,e,"000c9d348ecbe2376452962941643afc4b4e227c55,E,40e125fc472c4b04dab848111ea1f124b3f2a2ba3a,G,40f1d424d76b652e17ae52c03ec063ced51b58a6f4,T",0,f,"403088bf67ebad30dbea857c3e962c2e284ffac9ca,G,40b29d80ab43b135db8aaf2541a0595eb6b7bf06c1,F,40c545571afb463110a2846227eb11c343d1cf13e1,m",0,g,"001e9ad44945cb3bcbd90d82f68952c2c04476845c,f",0,h,"60244dce696a922a6191ec33df3a6adb325e5fcf8b,j,60403c06c3fa403b697a0b07f715b8b74df02ddbaf,Y,60a1ef49e5b4d8877dce0640d616f5333c13f75b25,x,60b44e9c5118fced91464685d5ab108388a10e82cb,d,60dec70d8acd5a97154088c515774cd2e7cb254ea4,m,60e6d9164b8bcbd4b540f181e5404092288af6de51,t"],725360)},713095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},903769,a=>{var b=a.i(137936);a.i(570396);var c=a.i(673727),d=a.i(366443);async function e(){await (0,d.f)().signOut(),(0,c.redirect)("/signin")}(0,a.i(713095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"00ae67709dfb9d0d278b709700af194e31ad13c800",null),a.s(["f",0,e])}]})();
3
-
4
- //# sourceMappingURL=_0zixhhc1lheoi._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[522368,a=>{var b=a.i(954757);a.s(["z",0,b])},264906,a=>{var b=a.i(530385),c=a.i(93321),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(496843),h=a.i(910697);let i=d.B`coalesce(${f.events.lastAt}, ${f.events.at})`;async function j(a=h.O.events,d={}){return(await (0,e.f)().select({e:f.events,name:f.resources.name}).from(f.events).leftJoin(f.resources,(0,c.u)(f.resources.id,f.events.resourceId)).where(d.excludeActions?(0,c.c)(f.events.type,"action"):void 0).orderBy((0,b.A)(i)).limit(Math.max(1,Math.min(Number.isFinite(a)?Math.floor(a):h.O.events,h.O.events)))).map(({e:a,name:b})=>({id:a.id,at:a.at,lastAt:a.lastAt??null,count:a.count??1,reason:a.reason??null,type:a.type,kind:a.kind,message:a.message,detail:a.detail,resourceId:a.resourceId??null,resource:(0,g.L)({type:a.type,reason:a.reason??null,message:a.message,resource:b})}))}a.s(["f",0,j])},484458,a=>{var b=a.i(708636),c=a.i(434711);let d=async()=>({report:null,prefs:{disabled:[],defaultModel:null},allowed:c._}),e=async()=>null,f=async()=>(0,b.C)(null),g=async()=>({conns:[],summary:{listed:0,added:0,removed:0,returned:0,tested:0,ready:0},pending:!1});a.s(["T",0,"ag/","S",0,{modelSync:!1},"d",0,()=>null,"_",0,()=>[],"U",0,()=>!1,"y",0,d,"b",0,f,"V",0,e,"X",0,g])},434711,a=>{let b=["gemini","antigravity","@cf/google/gemma","claude"];function c(a,d=b){if(!a)return!1;let e=a.toLowerCase();return d.some(a=>a.length>0&&e.startsWith(a.toLowerCase()))}let d=/^[A-Za-z0-9@._:/+ ()[\]-]{1,120}$/,e=/^[a-z0-9@._:/+-]{1,120}$/;function f(a){if("string"!=typeof a)return null;let b=a.trim();if(!d.test(b))return null;let c=b.toLowerCase().replace(/[\s()[\]]+/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"");return e.test(c)?c:null}function g(a){let b=a.trim();if(b.startsWith("@"))return b;let c=b.indexOf("/");return c<0?b:b.slice(c+1)}a.s(["_",0,b,"L",0,"ai.defaultModel","I",0,/^[a-z0-9@/._-]{1,80}$/,"e",0,e,"h",0,function(a,d=b){let e=f(a);return e&&c(g(e),d)?e:null},"S",0,c,"R",0,f,"M",0,g])},86657,a=>{var b=a.i(371289),c=a.i(363652),d=a.i(501634);let e={provider:async()=>{if((0,b.W)())return{name:"Demo",model:"demo"};try{let a=await (0,c.M)();return{name:a.conn.name,model:a.publicId}}catch{return null}},appSnapshot:d.w,advice:d.y,complete:c.X};a.s(["f",0,e])}]})();
2
-
3
- //# sourceMappingURL=_0zkmkbrbc96-h._.js.map
@@ -1,5 +0,0 @@
1
- (()=>{"use strict";module.exports=[689963,a=>{var b=a.i(954757);a.s(["z",0,b])},83931,a=>{var b=a.i(954757);a.s(["z",0,b])},811365,a=>{var b=a.i(954757);a.s(["z",0,b])},601219,496843,a=>{var b=a.i(351674),c=a.i(548734),d=a.i(837137),e=a.i(245710);let f={monitor:{"Monitor down":"MonitorDown","Monitor degraded":"MonitorDegraded","Monitor recovered":"MonitorRecovered"},deployment:{"Deployment started":"DeployStarted","Deployment ready":"DeployReady","Deployment failed":"DeployFailed","Deployment canceled":"DeployCanceled"},system:{"Collector stopped":"CollectorStopped","Daily jobs finished":"DailyFinished","Daily jobs finished with problems":"DailyProblems"}};function g(a){return a.reason?a.reason:"action"===a.type?"Action":f[a.type]?.[a.message]??null}function h(a){return null!==a&&"Action"!==a}let i=/^(.+?) (?:reports an incident|incident resolved)$/;async function j(a,e=(0,c.f)()){for(let c of a){if(!c)continue;let a=c.at??new Date,f=g(c);if(h(f)){let g=new Date(a.getTime()-36e5);if((await e.update(d.events).set({count:b.B`${d.events.count} + 1`,lastAt:b.B`greatest(coalesce(${d.events.lastAt}, ${d.events.at}), ${a.toISOString()}::timestamptz)`,detail:c.detail,kind:c.kind}).where(b.B`${d.events.id} = (select id from ops.events where reason = ${f} and resource_id is not distinct from ${c.resourceId}::uuid
2
- and message = ${c.message}
3
- and coalesce(last_at, at) >= ${g.toISOString()}::timestamptz order by coalesce(last_at, at) desc limit 1)`).returning({id:d.events.id})).length)continue}await e.insert(d.events).values({at:a,resourceId:c.resourceId,type:c.type,kind:c.kind,message:c.message,detail:c.detail,actorUserId:c.actorUserId??null,reason:f,count:1})}}a.s(["t",0,36e5,"L",0,function(a){if(a.resource)return a.resource;if("ProviderIncident"===a.reason||"ProviderRecovered"===a.reason){let b=i.exec(a.message);if(b)return b[1]}return"system"===a.type?"collector":"console"},"y",0,g,"W",0,function(a,b,c){return a<=1||!b?null:`\xd7${a} \xb7 last ${(0,e.$)(b,c)}`},"w",0,h],496843),a.s(["f",0,j],601219)},323878,a=>{var b=a.i(93321),c=a.i(351674),d=a.i(548734),e=a.i(837137),f=a.i(312573);async function g(a,f){let[g]=await (0,d.f)().insert(e.rateLimits).values({key:a,windowStart:f,count:1}).onConflictDoUpdate({target:[e.rateLimits.key,e.rateLimits.windowStart],set:{count:c.B`${e.rateLimits.count} + 1`}}).returning({count:e.rateLimits.count});if(1===g.count)try{await (0,d.f)().delete(e.rateLimits).where((0,b.S)(e.rateLimits.windowStart,new Date(Date.now()-864e5)))}catch{console.warn("rate limit sweep failed")}return g.count}async function h(a,b){let c=new Date,d=0;return{...await (0,f.A)(a,b,{now:c,hit:async(a,b)=>d=await g(a,b)}),windowStart:(0,f.M)(c,a.windowSeconds),count:d}}async function i(a,g,h){await (0,d.f)().update(e.rateLimits).set({count:c.B`${e.rateLimits.count} - 1`}).where((0,b.b)((0,b.u)(e.rateLimits.key,(0,f.P)(a,g)),(0,b.u)(e.rateLimits.windowStart,h),(0,b.H)(e.rateLimits.count,0)))}async function j(a,c){let g=new Date,[h]=await (0,d.f)().select({count:e.rateLimits.count}).from(e.rateLimits).where((0,b.b)((0,b.u)(e.rateLimits.key,(0,f.P)(a,c)),(0,b.u)(e.rateLimits.windowStart,(0,f.M)(g,a.windowSeconds))));return(0,f.J)(a,h?.count??0,g)}a.s(["j",0,h,"C",0,function(a,b){return(0,f.A)(a,b,{hit:g})},"H",0,j,"K",0,i])}]})();
4
-
5
- //# sourceMappingURL=_1b1t9p1xljuql._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[689963,a=>{var b=a.i(954757);a.s(["z",0,b])},83931,a=>{var b=a.i(954757);a.s(["z",0,b])},149310,a=>{var b=a.i(954757);a.s(["z",0,b])},811365,a=>{var b=a.i(954757);a.s(["z",0,b])},133289,a=>{var b=a.i(245710);a.s(["e",0,"Demo Β· no live collector","m",0,function(a,b){if(!a)return{state:"idle",text:"Collector hasn't run yet"};let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3)),d=Math.floor(c/60);return c<60?{state:"ok",text:`Collector ran ${c}s ago`}:c<120?{state:"ok",text:`Collector ran ${d} min ago`}:c<300?{state:"warn",text:`Collector late \xb7 ran ${d} min ago`}:{state:"err",text:`Collector stopped ${d} min ago`}},"i",0,function(a,c,d){if(!a.finishedAt)return c.getTime()-a.startedAt.getTime()<12e4?{state:"build",text:"Running now"}:{state:"err",text:`Last run didn't finish (started ${(0,b.$)(a.startedAt,c)})`};let e=(0,b.$)(a.finishedAt,c);return!1===a.ok?{state:"warn",text:`Last run ${e} \xb7 finished with problems`}:c.getTime()-a.finishedAt.getTime()>=d?{state:"warn",text:`Last run ${e} \xb7 late`}:{state:"ok",text:`Last run ${e}`}}])},656298,a=>{function b(a){return"RESOURCE_EXHAUSTED"===a.reason?{state:"err",label:"Daily quota used up"}:"SERVICE_DISABLED"===a.reason?{state:"err",label:"Firestore API is off in this project"}:"scope"===a.kind||"PERMISSION_DENIED"===a.reason||"scope"===a.reason?{state:"err",label:"No access: needs datastore.viewer"}:{state:"unknown",label:"Unknown"}}a.s(["T",0,{reads:5e4,writes:2e4,deletes:2e4},"_",0,"The stored data size (1 GiB free) isn't read on any plan: the row's Open usage page shows it in the Firebase console.","f",0,"Storage (1 GiB): not read; the Firebase console's usage page shows it.","z",0,b,"g",0,function(a){return a.ok?a.data.noDatabase?{state:"off",label:"No Firestore database"}:{state:"ok",label:`Reachable \xb7 ${a.data.latencyMs} ms`}:b(a)},"a",0,function(a){let b=new Intl.DateTimeFormat("en-US",{timeZone:"America/Los_Angeles",hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23"}).formatToParts(a),c=a=>Number(b.find(b=>b.type===a)?.value??0),d=(3600*c("hour")+60*c("minute")+c("second"))*1e3+a.getUTCMilliseconds();return new Date(a.getTime()-d)}])},688275,a=>{let b={cuHours:100,storageBytes:0x40000000,transferBytes:0x140000000,branches:10,scaleToZeroMin:5};function c(a){return a.disabled?{state:"err",label:"Suspended"}:"init"===a.state||a.pendingState&&a.pendingState!==a.state?{state:"build",label:"Starting"}:"active"===a.state?{state:"ok",label:"Active"}:"idle"===a.state?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}a.s(["a",0,b,"c",0,(a,b)=>a===b?`${a} CU`:`${a}–${b} CU`,"g",0,a=>Math.round(a/360)/10,"T",0,c,"p",0,function(a){if((a.computeSeconds??0)>=3600*b.cuHours)return{state:"err",label:"CU-hours used up"};if(!a.endpoints.length)return{state:"unknown",label:"No compute"};let d=a.endpoints.map(c);return d.some(a=>"err"===a.state)?{state:"err",label:"Compute suspended"}:d.some(a=>"ok"===a.state)?{state:"ok",label:"Active"}:d.some(a=>"build"===a.state)?{state:"build",label:"Starting"}:d.every(a=>"idle"===a.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}])}]})();
2
-
3
- //# sourceMappingURL=_1o94cw0ml7xu7._.js.map
@@ -1,4 +0,0 @@
1
- (()=>{"use strict";module.exports=[713095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},221340,a=>{var b=a.i(137936),c=a.i(118558),d=a.i(600079),e=a.i(109307),f=a.i(875016),g=a.i(221084),h=a.i(312573),i=a.i(323878);async function j(a){return(0,d.F)("operator",async b=>{if("string"!=typeof a||0===a.length||a.length>200)return{ok:!1,error:"Something in that request wasn't valid."};let d=await (0,i.C)(h.t.monitorWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,h.H)(d.retryAfter)}.`};let e=await (0,f.$)(a,b.userId,new Date);if(!e.ok)return{ok:!1,error:e.error};try{await (0,g.f)({kind:"ok",message:`Recommendation dismissed: ${e.title}`,resourceId:e.appId,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,c.refresh)(),{ok:!0,message:"Dismissed. It comes back in 30 days if it still applies."}},{requireActionMember:e.g},"local")}(0,a.i(713095).ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"402afa07c1b9e71289a4b76ce4ea53a958a8f1c0e7",null),a.s(["f",0,j])},812014,a=>{var b=a.i(137936),c=a.i(118558),d=a.i(600079),e=a.i(109307),f=a.i(221084),g=a.i(930270),h=a.i(683439),i=a.i(312573),j=a.i(323878);async function k(a){return(0,d.F)("operator",async b=>{if(!(0,h.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let d=await (0,j.C)(i.t.depsScan,b.id);if(!d.allowed)return{ok:!1,error:`Too many dependency scans. Try again in ${(0,i.H)(d.retryAfter)}.`};let e=await (0,g.h)(a);if(!e.ok)return{ok:!1,error:e.error};try{await (0,f.f)({kind:"ok",message:`Dependency scan \xb7 ${e.app} \xb7 ${e.vulns} open`,resourceId:a,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,c.refresh)(),{ok:!0,message:e.message,data:{vulns:e.vulns}}},{requireActionMember:e.g})}(0,a.i(713095).ensureServerEntryExports)([k]),(0,b.registerServerReference)(k,"4099459d7226de9b24f4bc12d72baf41d24d06740c",null),a.s(["f",0,k])},128120,a=>{var b=a.i(137936),c=a.i(600079),d=a.i(109307),e=a.i(292321),f=a.i(683439),g=a.i(312573),h=a.i(323878),i=a.i(679594);async function j(a){return(0,c.F)("operator",async b=>{if(null!==a&&!(0,f.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let c=await (0,h.C)(g.t.logsLive,b.id);if(!c.allowed)return{ok:!1,error:`Too many reads. Try again in ${(0,g.H)(c.retryAfter)}.`};let d=await (0,e.$)(new Date,a);return{ok:!0,data:{lines:d.lines.map(i.l),readAt:d.readAt.toISOString(),problems:d.problems}}},{requireActionMember:d.g})}(0,a.i(713095).ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"404a383c9a6c1507d954e762c337dbb869c6a1bb29",null),a.s(["f",0,j])},903769,a=>{var b=a.i(137936);a.i(570396);var c=a.i(673727),d=a.i(366443);async function e(){await (0,d.f)().signOut(),(0,c.redirect)("/signin")}(0,a.i(713095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"00ae67709dfb9d0d278b709700af194e31ad13c800",null),a.s(["f",0,e])},27522,a=>{let b=new Set(["in_progress","queued","waiting","pending","requested"]);a.s(["N",0,function(a,c){if(!a)return{state:"unknown",label:"Not read yet"};if("none"in a)return{state:"off",label:`No workflow runs${c?` on ${c}`:""}`};if(b.has(a.status))return{state:"build",label:"in_progress"===a.status?"Running":"Queued"};switch(a.conclusion){case"success":return{state:"ok",label:"Passing"};case"failure":case"timed_out":case"startup_failure":return{state:"err",label:"Failing"};case"action_required":return{state:"warn",label:"Waiting for approval"};case"cancelled":return{state:"off",label:"Cancelled"};case"skipped":case"neutral":case"stale":return{state:"off",label:"skipped"===a.conclusion?"Skipped":"Neutral"};default:return{state:"unknown",label:a.conclusion??a.status}}},"z",0,a=>"vercel"===a?"from the Vercel project's Git link":"chosen by the owner","_",0,a=>"name"===a?"same name as the app":"its package.json name matches the app"])},679594,a=>{var b=a.i(245710);a.s(["l",0,function(a){return{id:a.id,time:(0,b.T)(a.at),level:a.level,app:a.app,text:[a.method,a.path,a.status,a.message].filter(a=>null!==a&&""!==a).join(" ")}},"M",0,function(a,b){return"string"==typeof a&&a?`https://vercel.com/${encodeURIComponent(a)}/${encodeURIComponent(b)}/logs`:null}])}]})();
3
-
4
- //# sourceMappingURL=_218164gkxgum_._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[952455,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(221340),i=a.i(739518),j=a.i(429852),k=a.i(128120),l=a.i(137936);a.i(570396);var m=a.i(673727),n=a.i(600079),o=a.i(109307),p=a.i(678831),q=a.i(45617),r=a.i(840784),s=a.i(683439),t=a.i(713095);async function u(a){return(0,n.F)("owner",async b=>{if(!(0,s.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let c=await (0,r.a)(a,b.userId);if(!c.ok)return{ok:!1,error:c.error};(0,p.J)([q.m.supabase,q.m.neon,q.m.firebase,q.m.domains]),(0,m.redirect)("/apps")},{requireActionMember:o.g},"local")}(0,t.ensureServerEntryExports)([u]),(0,l.registerServerReference)(u,"40cdba635d2d516726efd3cebd465e558986816445",null);var v=a.i(812014),w=a.i(118558),x=a.i(247730),y=a.i(72019),z=a.i(312573),A=a.i(323878),B=a.i(556987);async function C(a,b){return(0,n.F)("operator",async c=>{if(!(0,s.f)(a)||null!==b&&!(0,s.f)(b))return{ok:!1,error:"Something in that request wasn't valid."};let d=await (0,A.C)(z.t.monitorWrite,c.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,z.H)(d.retryAfter)}.`};let e=await (0,y.n)(a,b,c.userId);if(!e.ok)return e;(0,w.refresh)(),(0,p.J)([q.m.supabase,q.m.neon,q.m.firebase]);let f=await (0,x.f)().catch(()=>null);return{ok:!0,message:f?(0,B.J)(e.message,f,b):"The database link is saved."}},{requireActionMember:o.g},"local")}(0,t.ensureServerEntryExports)([C]),(0,l.registerServerReference)(C,"605cb78106e31cf7892adb5ac3365d335c9bd46286",null);var D=a.i(221084),E=a.i(944571),F=a.i(27522);let G={requireActionMember:o.g},H="Something in that request wasn't valid.";async function I(a,b){return(0,n.F)("owner",async c=>{if(!(0,s.f)(a)||null!==b&&!(0,s.f)(b))return{ok:!1,error:H};let d=await (0,E.D)(a,b,c.userId);return d.ok?(await (0,D.f)({kind:"ok",message:d.repo?`Repository linked \xb7 ${d.app} β†’ ${d.repo}`:`Repository unlinked \xb7 ${d.app}`,resourceId:a,actorUserId:c.userId}).catch(()=>console.warn("repo link audit failed")),(0,w.refresh)(),{ok:!0,message:d.message}):d},G,"local")}async function J(a){return(0,n.F)("operator",async b=>{if(!(0,s.f)(a))return{ok:!1,error:H};let c=await (0,A.C)(z.t.githubRefresh,b.id);if(!c.allowed)return{ok:!1,error:`Too many refreshes. Try again in ${(0,z.H)(c.retryAfter)}.`};let d=await (0,E.$)(a);if(!d.ok)return d;(0,w.refresh)();let e=(0,F.N)(d.run,null);return{ok:!0,message:`GitHub Actions: ${e.label.toLowerCase()}.`}},G)}(0,t.ensureServerEntryExports)([I,J]),(0,l.registerServerReference)(I,"60459cc3735c793e244d0e4e27d21477608485e689",null),(0,l.registerServerReference)(J,"40f69701659daad042c1256e40b94a23e5887716e0",null);var K=a.i(242605);async function L(a){return(0,n.F)("operator",async b=>{if(!(0,s.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let c=await (0,A.C)(z.t.securityCheck,b.id);if(!c.allowed)return{ok:!1,error:`Too many security checks. Try again in ${(0,z.H)(c.retryAfter)}.`};let d=await (0,K.d)(a);if(!d.ok)return{ok:!1,error:d.error};try{await (0,D.f)({kind:d.passed?"ok":"err",...d.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,w.refresh)(),{ok:!0,message:d.message,data:{passed:d.passed,vulnerable:d.vulnerable}}},{requireActionMember:o.g})}(0,t.ensureServerEntryExports)([L]),(0,l.registerServerReference)(L,"40ca60632b93aa445cf5668f4175364e7fda58ecec",null),a.s(["000c9d348ecbe2376452962941643afc4b4e227c55",()=>e.E,"001e9ad44945cb3bcbd90d82f68952c2c04476845c",()=>g.f,"008bca6de048142834daeda05d13d05a603427fc3d",()=>c.f,"00ae67709dfb9d0d278b709700af194e31ad13c800",()=>b.f,"402afa07c1b9e71289a4b76ce4ea53a958a8f1c0e7",()=>h.f,"403088bf67ebad30dbea857c3e962c2e284ffac9ca",()=>f.G,"4041d3ef96e5432dad0f877e9c7c28744c8aced495",()=>d.f,"404a383c9a6c1507d954e762c337dbb869c6a1bb29",()=>k.f,"4099459d7226de9b24f4bc12d72baf41d24d06740c",()=>v.f,"40b29d80ab43b135db8aaf2541a0595eb6b7bf06c1",()=>f.F,"40c545571afb463110a2846227eb11c343d1cf13e1",()=>f.m,"40ca60632b93aa445cf5668f4175364e7fda58ecec",0,L,"40cdba635d2d516726efd3cebd465e558986816445",0,u,"40d8d5998e73969d9de71f366ede2eff357d99781b",()=>j.n,"40d9e38428ac6cef75b32f8269d2790e4cdf0cf5f5",()=>i.C,"40e125fc472c4b04dab848111ea1f124b3f2a2ba3a",()=>e.G,"40f1d424d76b652e17ae52c03ec063ced51b58a6f4",()=>e.T,"40f69701659daad042c1256e40b94a23e5887716e0",0,J,"60244dce696a922a6191ec33df3a6adb325e5fcf8b",()=>j.j,"60403c06c3fa403b697a0b07f715b8b74df02ddbaf",()=>j.Y,"60459cc3735c793e244d0e4e27d21477608485e689",0,I,"605c4ef6fbb9589effe20d9b882ecac8d7906d2a58",()=>i.L,"605cb78106e31cf7892adb5ac3365d335c9bd46286",0,C,"60a1ef49e5b4d8877dce0640d616f5333c13f75b25",()=>j.x,"60b44e9c5118fced91464685d5ab108388a10e82cb",()=>j.d,"60dec70d8acd5a97154088c515774cd2e7cb254ea4",()=>j.m,"60e6d9164b8bcbd4b540f181e5404092288af6de51",()=>j.t],952455)}];
2
-
3
- //# sourceMappingURL=_next-internal_server_app_%28console%29_apps_%5Bid%5D_page_actions_0y5m8cul6d7kk.js.map
@@ -1,8 +0,0 @@
1
- (()=>{"use strict";module.exports=[138984,a=>{var b=a.i(26972),c=a.i(427221),d=a.i(827857),e=a.i(899370),f=a.i(371289);let g=b.z.object({COLLECTOR_SECRET:c.z.string().min(32),CRON_SECRET:c.z.string().min(16),QSTASH_CURRENT_SIGNING_KEY:c.z.string().min(10),QSTASH_NEXT_SIGNING_KEY:c.z.string().min(10)}),h=g.extend({QSTASH_CURRENT_SIGNING_KEY:d.z.union([e.z.literal(""),c.z.string().min(10)]).default(""),QSTASH_NEXT_SIGNING_KEY:d.z.union([e.z.literal(""),c.z.string().min(10)]).default("")}),i=!1;a.s(["f",0,function(){try{var a=process.env;let b=("selfhost"===(0,f.c)(a)?h:g).safeParse(a);if(!b.success)throw Error(`Missing or invalid scheduler settings: ${b.error.issues.map(a=>a.path.join(".")).join(", ")}`);return b.data}catch(a){return i||(i=!0,console.warn(a instanceof Error?a.message:"Missing or invalid scheduler settings")),null}}])},736780,664892,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(548734),e=a.i(837137),f=a.i(358179),g=a.i(912283),h=a.i(117859),i=a.i(876808),j=a.i(521050),k=a.i(679662);let l={checks:"waiting for CI",preview:"waiting for preview",smoke:"smoke test",merging:"merging…",merged:"merged βœ…","ready-manual":"ready to merge (manual)",failed:"needs a look ⚠️",timeout:"needs a look ⚠️",closed:"closed"},m=(a,b,c)=>{let d=`PR #${a}: ${l[b]}${c?` β€” ${c}`:""}`;return d.length>200?`${d.slice(0,199)}…`:d},n=new Set(["success","neutral","skipped"]),o=a=>"completed"!==a.status?"pending":n.has(a.conclusion??"")?"success":"failure",p={name:"watchbell[bot]",email:"watchbell-bot@users.noreply.github.com",message:"chore(deps): update package-lock.json (Watchbell)"},q={name:"watchpost[bot]",email:"watchpost-bot@users.noreply.github.com",message:"chore(deps): update package-lock.json (Watchpost)"},r=a=>[p,q].some(b=>a.name===b.name&&a.email.toLowerCase()===b.email&&a.message.trim()===b.message),s=/^[\^~]?[0-9][0-9A-Za-z.+-]*$/,t=a=>Array.isArray(a)?a.map(t):a&&"object"==typeof a?Object.fromEntries(Object.keys(a).sort().map(b=>[b,t(a[b])])):a,u=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,v=/^sha512-[A-Za-z0-9+/]{86}==$/,w="(?:@[a-z0-9][a-z0-9._~-]*/)?[a-z0-9][a-z0-9._~-]*",x=RegExp(`^(?:[A-Za-z0-9_-][A-Za-z0-9._-]*/)*?node_modules/${w}(?:/node_modules/${w})*$`,"i"),y=new Set(["dev","optional","devOptional","peer"]),z=a=>!!a&&"object"==typeof a&&!Array.isArray(a),A=a=>a.slice(a.lastIndexOf("node_modules/")+13),B=(a,b,c)=>`${a}/${b}/-/${b.split("/").pop()}-${c}.tgz`,C=(a,b)=>JSON.stringify(t(a))===JSON.stringify(t(b)),D=a=>Object.fromEntries(Object.entries(a).filter(([a])=>!y.has(a))),E=a=>{try{let b=JSON.parse(a);return z(b)&&z(b.packages)?b:null}catch{return null}};a.s(["y",0,20,"X",0,["checks","preview","smoke","merging"],"w",0,15e3,"R",0,27e5,"j",0,function(a){let b=(a.checkRuns??a.actionRuns??[]).map(o);return(a.combined&&a.combined.total>0&&b.push("success"===a.combined.state?"success":"pending"===a.combined.state?"pending":"failure"),b.includes("failure"))?"failure":b.includes("pending")?"pending":"success"},"L",0,function(a){if(!a.length||a.some(a=>a.authWall))return null;let b=a.find(a=>null===a.status||a.status<200||a.status>399);return b?{mode:"http",result:"fail",reason:null===b.status?`${b.path} didn't answer within 15 seconds`:`${b.path} answered ${b.status}`}:{mode:"http",result:"pass",reason:null}},"S",0,function(a,b,c){return(401===a||403===a)&&(/vercel\.com\/(sso|login)|Authentication Required|_vercel_sso|vercel-authentication/i.test(b)||/_vercel_sso/i.test(c.get("set-cookie")??"")||"vercel"===(c.get("server")??"").toLowerCase())},"T",0,function(a,b,c){if([a,b].some(a=>null!==a&&(a=>{if(a.length>0x1900000)return!0;if(3*a.length<=0x1900000)return!1;let b=0;for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);d<128?b+=1:d<2048?b+=2:d>=55296&&d<56320&&(64512&a.charCodeAt(c+1))==56320?(b+=4,c++):b+=3}return b>0x1900000})(a)))return`lockfile too large to check (over 25 MB): ${c}`.slice(0,150);try{return function(a,b,c){let d=a=>`unexpected lockfile change ${a}`.slice(0,150),e=null===b?null:E(b),f=null===a?{packages:{}}:E(a);if(!e||!f)return d(c);if(2!==e.lockfileVersion&&3!==e.lockfileVersion||null!==a&&e.lockfileVersion!==f.lockfileVersion)return d("lockfileVersion");let g=new Set;for(let[a,b]of Object.entries(f.packages)){if(!x.test(a)||!z(b)||"string"!=typeof b.resolved||"string"!=typeof b.version)continue;let c=B("","string"==typeof b.name?b.name:A(a),b.version);b.resolved.startsWith("https://")&&b.resolved.endsWith(c)&&g.add(b.resolved.slice(0,-c.length))}for(let[a,b]of(g.size||g.add("https://registry.npmjs.org"),Object.entries(e.packages))){let e=Object.hasOwn(f.packages,a)?f.packages[a]:void 0;if(void 0!==e&&C(e,b))continue;let h=z(e)?e:null;if(""===a||!a.includes("node_modules/")){let e=""===a?z(b)&&"string"==typeof b.name?b.name:c:a;if(!z(b)||""!==a&&!h||"resolved"in b||"link"in b)return d(e);continue}if(!x.test(a)||!z(b))return d(x.test(a)?A(a):a);let i=A(a);if(void 0!==b.name&&b.name!==i&&(!h||h.name!==b.name))return d(i);let j="string"==typeof b.name?b.name:i,k=b.version;if(void 0!==b.link||"string"!=typeof k||!u.test(k)||"string"!=typeof b.integrity||!v.test(b.integrity)||"string"!=typeof b.resolved||![...g].some(a=>b.resolved===B(a,j,k))||h&&h.version===k&&!C(D(h),D(b)))return d(i)}return null}(a,b,c)}catch{return`unexpected lockfile change ${c} (couldn't be checked)`.slice(0,150)}},"H",0,a=>!!a.lockfileRequired&&!!a.lockfile&&!a.files.some(b=>b.filename===a.lockfile),"n",0,function(a,b,c){return null!==c&&c>0?{mode:"logs",result:"fail",reason:`${c} errors in the preview logs`}:b.getTime()-a.getTime()<18e4||null===c?{mode:"logs",result:"wait",reason:null}:{mode:"logs",result:"pass",reason:null}},"C",0,function(a,b,c){let d,e;try{d=JSON.parse(a),e=JSON.parse(b)}catch{return"unexpected change: package.json isn't valid JSON"}if(!d||!e||"object"!=typeof d||"object"!=typeof e)return"unexpected change: package.json isn't an object";let f=a=>{let b=structuredClone(a);for(let a of["dependencies","devDependencies"]){let d=b[a];if(d&&"object"==typeof d)for(let a of c)delete d[a]}return b};if(JSON.stringify(t(f(d)))!==JSON.stringify(t(f(e))))return"unexpected change in package.json beyond the bumped versions";for(let a of["dependencies","devDependencies"]){let b=d[a]??{},f=e[a]??{};for(let a of c){if(a in b!=a in f)return`unexpected change in package.json: ${a} added or removed`;if(a in f&&f[a]!==b[a]&&("string"!=typeof f[a]||!s.test(f[a])))return`unexpected change in package.json: ${a} isn't a plain version`}}return null},"E",0,function(a){let b=["/"];for(let c of a){let a;try{a=new URL(c).pathname||"/"}catch{continue}!b.includes(a)&&b.length<4&&b.push(a)}return b},"m",0,m,"k",0,function(a){let b=new Set([a.manifest,...a.lockfile?[a.lockfile]:[]]);for(let c of a.files)for(let a of[c.filename,c.previous])if(a&&!b.has(a))return`unexpected change in ${a}`.slice(0,150);if(!a.files.some(b=>b.filename===a.manifest))return`unexpected change: ${a.manifest} isn't changed`.slice(0,150);if(a.manifestProblem)return a.manifestProblem.slice(0,150);if(a.lockfileProblem)return a.lockfileProblem.slice(0,150);if(!a.tokenLogin||!a.commits.length||a.commits.length>20)return"couldn't confirm who wrote the PR's commits";if(a.headSha&&a.commits[a.commits.length-1].sha!==a.headSha)return"the PR's head moved while it was checked";for(let b of a.commits){if(null!==b.login&&b.login.toLowerCase()===a.tokenLogin.toLowerCase())continue;let c=b.sha.slice(0,7);if(!r(b)||!b.files||!a.lockfile)return`unexpected commit ${c} by ${b.login??b.name}`.slice(0,150);let d=b.files.find(b=>b!==a.lockfile);if(d)return`unexpected change in ${d} by commit ${c}`.slice(0,150)}return null},"f",0,function(a,b){let c=a.getTime();return(null===b||!(c-b<1e5))&&(Math.floor(c/6e4)%2==0||null!==b&&c-b>=24e4)},"M",0,function(a){if(a.pr.merged)return{kind:"done",stage:"merged"};if("closed"===a.pr.state)return{kind:"done",stage:"closed"};if(void 0!==a.pr.base&&void 0!==a.recordedBase&&a.pr.base!==a.recordedBase)return{kind:"stop",stage:"failed",reason:`the PR's base changed to ${a.pr.base}`};if(a.pr.headSha!==a.recordedSha)return{kind:"wait",stage:"checks",reason:"new commit on the PR branch, checking again",resetSha:a.pr.headSha};let b=a.now.getTime()-a.openedAt.getTime()>27e5;return"failure"===a.checks?{kind:"stop",stage:"failed",reason:"CI failed"}:!1===a.pr.mergeable?{kind:"stop",stage:"failed",reason:"conflicts with the main branch"}:"error"===a.preview.state?{kind:"stop",stage:"failed",reason:"Vercel preview failed"}:"canceled"===a.preview.state?{kind:"stop",stage:"failed",reason:"Vercel canceled the preview (an Ignored Build Step that skips previews does this), so the update wasn't smoke-tested; check it and merge by hand"}:"pending"===a.checks||null===a.pr.mergeable?b?{kind:"stop",stage:"timeout",reason:"CI not finished within 45 minutes"}:{kind:"wait",stage:"checks",reason:null}:"ready"!==a.preview.state?b?{kind:"stop",stage:"timeout",reason:"preview not ready within 45 minutes"}:{kind:"wait",stage:"preview",reason:null}:a.smoke&&"wait"!==a.smoke.result?"fail"===a.smoke.result?{kind:"stop",stage:"failed",reason:`preview smoke test failed: ${a.smoke.reason??"?"}`}:a.autoRollbackOn?{kind:"merge"}:{kind:"stop",stage:"ready-manual",reason:"PR is ready to merge, but auto-rollback is off; merge it manually"}:b?{kind:"stop",stage:"timeout",reason:"preview smoke test not finished within 45 minutes"}:{kind:"wait",stage:"smoke",reason:null}}],664892);var F=a.i(120213),G=a.i(492665),H=a.i(683439),I=a.i(751263),J=a.i(812092),K=a.i(75105),L=a.i(322145),M=a.i(976937);let N=a=>({done:!1,message:a});async function O(){let[a]=await (0,d.f)().select().from(e.accounts).where((0,b.u)(e.accounts.provider,"github_write")).orderBy((0,c.M)(e.accounts.createdAt)).limit(1);if(!a)return null;let g=(0,f.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,G.f)().OPS_ENCRYPTION_KEY);return g?{id:a.id,token:g}:"unreadable"}let P={severity:"no package at the selected severity",major:"an update jumps a major version",nothing:"nothing can be updated"};async function Q(a){let[c]=await (0,d.f)().select({version:e.appSecurity.version,status:e.appSecurity.status,findings:e.appSecurity.findings}).from(e.appSecurity).where((0,b.u)(e.appSecurity.resourceId,a)).limit(1);return c?(0,i.p)({version:c.version,status:c.status,findings:Array.isArray(c.findings)?c.findings:[]}):null}async function R(a){let c=await (0,d.f)().select({package:e.dependencyVulns.package,installedVersion:e.dependencyVulns.installedVersion,fixedVersion:e.dependencyVulns.fixedVersion,vulnId:e.dependencyVulns.vulnId,aliases:e.dependencyVulns.aliases,severity:e.dependencyVulns.severity,direct:e.dependencyVulns.direct,dev:e.dependencyVulns.dev}).from(e.dependencyVulns).where((0,b.b)((0,b.u)(e.dependencyVulns.repoId,a),(0,b.M)(e.dependencyVulns.resolvedAt))).limit(2e3);return{upgrades:(0,F.B)(c),installed:(0,g.D)(c)}}async function S(a,b,c,d,e){for(let f of(0,I.a)(d,c)){if(f===c)break;let d=await (0,J.M)(a,b,f,e);if(!d.ok)return d;if(d.data)return{ok:!0,data:{base:f,head:d}}}return{ok:!0,data:{base:c,head:await (0,J.M)(a,b,c,e)}}}async function T(c,f,l,n=L.W,o={}){let p;if(!(0,H.f)(f)||!(0,H.f)(l))return n(N("Something in that request wasn't valid."),c,"");let q=await (0,L.q)(c.id,"github_bump_pr",f);if(q)return n(N(q),c,"");let r=await O();if(null===r)return n(N('A GitHub PR-write token is needed: connect "GitHub (PR write)" on Connections (fine-grained, this repository only, Contents and Pull requests: Read and write; Commit statuses: Read for automatic merges), then ask again.'),c,"");if("unreadable"===r)return n(N("Can't read the stored GitHub PR-write credential. Replace it on Connections."),c,"");let[s]=await (0,d.f)().select({app:e.resources.name,meta:e.resources.meta,fullName:e.githubRepos.fullName,owner:e.githubRepos.owner,goneAt:e.githubRepos.goneAt,lockfilePath:e.dependencyScans.lockfilePath,lockfileSha:e.dependencyScans.lockfileSha}).from(e.appRepos).innerJoin(e.githubRepos,(0,b.u)(e.githubRepos.id,e.appRepos.repoId)).innerJoin(e.resources,(0,b.u)(e.resources.id,e.appRepos.appId)).leftJoin(e.dependencyScans,(0,b.u)(e.dependencyScans.repoId,e.appRepos.repoId)).where((0,b.b)((0,b.u)(e.appRepos.appId,f),(0,b.u)(e.appRepos.repoId,l))).limit(1);if(!s||s.goneAt)return n(N(K.G),c,r.id);let t=s.meta??{},u=(0,j.l)(t.rootDirectoryUnsupported);if(u)return n(N(`The Vercel Root Directory "${u}" of ${s.app} couldn't be used (Watchbell reads plain folder names, at most 4 deep). Update its package.json yourself.`),c,r.id);let v=(0,j.Q)(t.rootDirectory),w=(0,j.H)(v,"package.json"),x=v?`in ${v}`:"at the repository root";if(o.framework){let a=await Q(f);if(!a)return n(N(`Nothing to update in ${s.app}: its Next.js check shows no advisory with a fixed version.`),c,r.id);p=a}else if(!(p=await R(l)).upgrades.length)return n(N(`Nothing to update in ${s.app}: no direct package has a fixed version for its open advisories.`),c,r.id);let y=p.upgrades;if(o.auto){let a=(0,g.a)(y,p.installed,o.auto.severities);if(!a.ok)return n(N(`Automatic PR not opened: ${P[a.why]}. The proposal waits for your approval.`),c,r.id);y=a.upgrades}y=(0,i.F)(y);let{auto:z,proposalId:A,framework:B,...C}=o,D={timeoutMs:8e3,...C},E=await (0,J.H)(r.token,s.fullName,D);if(!E.ok)return n({done:!1,failed:E,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);let F=await S(r.token,s.fullName,E.data.defaultBranch,t,D);if(!F.ok)return n({done:!1,failed:F,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);let G=F.data.base,U=(0,I.B)(t.productionSource,G,new Date);if(U&&z)return n(N(`Automatic PR not opened: ${U} The proposal waits for your approval.`),c,r.id);let V=B?null:(0,I.y)(s.lockfileSha,E.data.defaultBranch,v);if(V&&V!==G)return n(N(`The dependency scan of ${s.app} read ${V}, but this pull request would go to ${G}. Scan again (Dependencies β€Ί Scan now on the app page), then ask again.`),c,r.id);let W=F.data.head;if(!W.ok)return n({done:!1,failed:W,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);if(!W.data)return n(N(`The default branch ${G} wasn't found.`),c,r.id);let X=await (0,J.E)(r.token,s.fullName,W.data,D,w);if(!X.ok)return n({done:!1,failed:X,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);if(!X.data)return n(N(`There is no package.json ${x}.`),c,r.id);let Y=(0,h.k)(X.data.text,y);if(!Y?.length||B&&!Y.some(a=>"next"===a.package))return n(N(`${w} in ${s.app} already allows the fixed versions (or its ranges can't be rewritten). Run npm install there.`),c,r.id);if(z){let a=Y.find(a=>{let b=(0,k.Y)(a.from);return!b||!(0,g.J)(b,a.fixed)});if(a)return n(N(`Automatic PR not opened: ${a.package} ${a.from} β†’ ${a.to} jumps a major version. The proposal waits for your approval.`),c,r.id)}let Z=(0,h.M)(X.data.text,Y);if(!Z)return n(N("package.json couldn't be edited safely."),c,r.id);let $=(0,h.U)(Y,v);if(!(0,h.c)($,G))return n(N("Refused: the PR branch would be the default branch."),c,r.id);let _=await (0,J.x)(r.token,s.fullName,s.owner,$,G,D);if(_.ok&&_.data)return{ok:!0,message:`Pull request #${_.data.number} for these updates is already open.`};let aa=await (0,J.e)(r.token,s.fullName,D);if(!aa.ok)return n({done:!1,failed:aa,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);if(aa.data.length){let a=new Map((await (0,d.f)().select({number:e.dependencyPrs.number,packages:e.dependencyPrs.packages}).from(e.dependencyPrs).where((0,b.b)((0,b.u)(e.dependencyPrs.repoId,l),(0,b.y)(e.dependencyPrs.number,aa.data.map(a=>a.number))))).map(a=>[a.number,a.packages])),f=(0,g.U)(Y.map(a=>a.package),aa.data.map(b=>({number:b.number,branch:b.branch,title:b.title,packages:a.get(b.number)??null})),v);if(f)return n(N(`Pull request #${f.number} for the same package is already open in ${s.app}. Merge or close it first.`),c,r.id)}let ab=await (0,J.M)(r.token,s.fullName,$,D);if(ab.ok&&ab.data)return n(N(`Branch ${$} already exists without an open pull request. Delete it on GitHub, then ask again.`),c,r.id);let ac=s.lockfilePath??(v?(0,j.H)(v,"package-lock.json"):null),ad=k.a.find(a=>a.path===ac?.split("/").pop())?.kind??null,ae=a=>n({done:!1,failed:a,audit:{message:`Package update PR failed \xb7 ${s.app} \xb7 ${$}`,resourceId:f}},c,r.id),af=await (0,J.k)(r.token,s.fullName,$,W.data,G,D);if(!af.ok)return ae(af);let ag=await (0,J.D)(r.token,s.fullName,$,G,Z,X.data.sha,(0,h.G)(Y),D,w);if(!ag.ok)return ae(ag);let ah=(0,h.f)(Y,v),ai=(U?`> [!WARNING]
2
- > ${U} Check where production is built from before you merge; Watchbell won't merge this pull request itself.
3
-
4
- `:"")+(0,h.y)(Y,ad,!!z,v),aj=await (0,J.y)(r.token,s.fullName,$,G,ah,ai,D,{draft:!!U}),ak=!!U;if(U&&!aj.ok&&422===aj.status&&(aj=await (0,J.y)(r.token,s.fullName,$,G,ah,ai,D),ak=!1),!aj.ok)return ae(aj);let al=U?ak?` Opened as a draft: ${U}`:` Opened as a normal pull request (this repository can't have drafts), with the warning on top: ${U}`:"",am=Y.map(a=>`${a.package} ${a.from} β†’ ${a.to}`).join(", "),an=await (0,J.M)(r.token,s.fullName,$,D).catch(()=>null),ao=!1;if(an?.ok&&an.data){await (0,d.f)().insert(e.dependencyPrs).values({repoId:l,appId:f,proposalId:A??null,number:aj.data.number,branch:$,baseBranch:G,headSha:an.data,title:ah.slice(0,200),packages:Y.map(a=>a.package),auto:!!z,stage:"checks",stageText:m(aj.data.number,"checks")}).onConflictDoNothing().catch(()=>console.warn("deps: recording the PR failed"));let{extensions:b}=await a.A(414785),c=await b.runner?.queueLockfileJob({repoId:l,branch:$,headSha:an.data,prNumber:aj.data.number,lockfilePath:ac,targets:Y.map(a=>({name:a.package,version:a.fixed}))}).catch(()=>(console.warn("deps: queueing the lockfile job failed"),null)),g=await (0,M.U)(r.token,{repo:s.fullName,branch:$,lockfilePath:ac,prNumber:aj.data.number});ao=c?.queued===!0||g.sent}return n({done:!0,message:`Pull request #${aj.data.number} opened for ${s.app}: ${am}.${ao?"":` Run npm install${v?` in ${v}`:""} on the branch before merging.`}${al}`,audit:{message:`Package update PR opened \xb7 ${s.app} \xb7 #${aj.data.number}`,resourceId:f,detail:am}},c,r.id)}async function U(a,b,c){if(!(0,H.f)(a)||c&&!(0,H.f)(c.appId))return{ok:!1,why:"target"};let d=await O();if(!d||"unreadable"===d)return{ok:!1,why:"no write token"};let e=c?await Q(c.appId):await R(a);if(!e)return{ok:!1,why:"nothing"};let f=(0,g.a)(e.upgrades,e.installed,b);return f.ok?{ok:!0}:{ok:!1,why:f.why}}async function V(a,c){let f=a.filter(a=>(0,H.f)(a.appId)&&(0,H.f)(a.repoId)),g=new Map;if(!f.length)return g;let h=await (0,d.f)().select({appId:e.appRepos.appId,repoId:e.appRepos.repoId,meta:e.resources.meta,defaultBranch:e.githubRepos.defaultBranch}).from(e.appRepos).innerJoin(e.resources,(0,b.u)(e.resources.id,e.appRepos.appId)).innerJoin(e.githubRepos,(0,b.u)(e.githubRepos.id,e.appRepos.repoId)).where((0,b.y)(e.appRepos.appId,[...new Set(f.map(a=>a.appId))])).limit(4*f.length);for(let a of f){let b=h.find(b=>b.appId===a.appId&&b.repoId===a.repoId),d=b?.meta??{},e=b?(0,I.B)(d.productionSource,(0,I.q)(d,b.defaultBranch??null),c):null;e&&g.set(a.appId,e)}return g}async function W(a,c=[]){let f=a.filter(H.f),g=new Map;if(!f.length)return g;let h=await (0,d.f)().select({appId:e.appRepos.appId,repoId:e.appRepos.repoId,version:e.appSecurity.version,status:e.appSecurity.status,findings:e.appSecurity.findings}).from(e.appRepos).innerJoin(e.githubRepos,(0,b.u)(e.githubRepos.id,e.appRepos.repoId)).innerJoin(e.appSecurity,(0,b.u)(e.appSecurity.resourceId,e.appRepos.appId)).where((0,b.b)((0,b.y)(e.appRepos.appId,f),(0,b.M)(e.githubRepos.goneAt),(0,b.u)(e.appSecurity.status,"vulnerable"))).limit(f.length),j=new Set(c),k=h.filter(a=>j.has(a.appId)),l=k.length?new Set((await (0,d.f)().selectDistinct({repoId:e.dependencyVulns.repoId}).from(e.dependencyVulns).where((0,b.b)((0,b.y)(e.dependencyVulns.repoId,[...new Set(k.map(a=>a.repoId))]),(0,b.M)(e.dependencyVulns.resolvedAt),(0,b.u)(e.dependencyVulns.package,"next"),(0,b.u)(e.dependencyVulns.direct,!0),(0,b.E)(e.dependencyVulns.fixedVersion))).limit(k.length)).map(a=>a.repoId)):new Set;for(let a of h){if(j.has(a.appId)&&l.has(a.repoId))continue;let b=(0,i.p)({version:a.version,status:a.status,findings:Array.isArray(a.findings)?a.findings:[]});b&&g.set(a.appId,{repoId:a.repoId,from:b.from,to:b.to})}return g}a.s(["J",0,U,"W",0,T,"h",0,W,"H",0,V,"G",0,O],736780)},313235,a=>{var b=a.i(927262),c=a.i(462820);let d={workloads:"Workloads",databases:"Databases",network:"Network",observe:"Observe",ai:"AI & API",admin:"Administration"},e={MonitorDown:"workloads",HighLatency:"workloads",DeploymentFailed:"workloads",DatabasePaused:"databases",StorageAlmostFull:"databases",NeonComputeHigh:"databases",FirestoreQuotaHigh:"databases",AutoPauseRisk:"databases",ComputeHigh:"databases",DbQuotaHigh:"databases",CertExpiringSoon:"network",DomainExpiringSoon:"network",DnsProxiedToVercel:"network",CollectorStale:"observe",CredentialExpiring:"admin",VulnerableDependency:"workloads",FrameworkVulnerable:"workloads",MonitorDomainMoved:"workloads"},f=new Set(["MonitorDown","HighLatency","DeploymentFailed","VulnerableDependency","FrameworkVulnerable","MonitorDomainMoved"]);a.s(["H",0,d,"p",0,function(a){if((0,b.h)(a.ruleKey))return f.has(a.ruleKey)&&null!==a.resourceKind&&"app"!==a.resourceKind?"observe":e[a.ruleKey];let c=new Set(a.ruleKey.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").toLowerCase().split(/[^a-z0-9]+/).filter(Boolean)),d=(...a)=>a.some(a=>c.has(a));return d("ai","router","gateway","model","models","provider","quota","llm","gemini")?"ai":d("key","keys","member","members","security","audit","credential","credentials","mfa","token")?"admin":d("database","db","storage","compute","neon","supabase","firestore","firebase")?"databases":d("domain","domains","dns","cert","certificate","tls","zone")?"network":"app"===a.resourceKind?"workloads":"observe"},"y",0,a=>c.X.proposedBy(d[a])])},247881,649031,a=>{var b=a.i(488345),c=a.i(342634),d=a.i(313235),e=a.i(188282),f=a.i(416454);let g=["LogErrorSpike","LogErrors","LogDbErrors"],h="timeout|ECONNREFUSED|too many connections|terminating connection|connection terminated|endpoint is disabled|compute.*suspend";RegExp(h,"i");let i=/^dpl_[A-Za-z0-9]{8,40}$/,j=/^ep-[a-z0-9-]{3,60}$/,k=/^[a-z0-9]{8,40}$/;function l(a,d,e){let f=d?(0,b.g)(d,e,120):"";return(0,c.l)((0,b.g)(f?`${a}. Most common: ${f}`:a,e,c.j)||a,c.j)}let m=a=>`${a.ruleKey}:${a.resourceId??""}:${a.action}`,n=new Set(["pending","approved","running"]);a.s(["s",0,864e5,"b",0,72e5,"V",0,3,"N",0,h,"G",0,20,"T",0,g,"v",0,72e5,"H",0,18e5,"w",0,10,"I",0,72e5,"x",0,function(a,b,c){let d=new Set(b.filter(a=>n.has(a.status)||null!==a.closedAt&&c.getTime()-a.closedAt.getTime()<72e5).map(m)),e=new Set;return a.filter(a=>{let b=m(a);return!(d.has(b)||e.has(b))&&(e.add(b),!0)})},"t",0,function(a,b,g){return(function(a,b,d){let e=[],g=d.getTime(),h=null!==a.liveAt&&g-a.liveAt.getTime()<72e5&&a.liveAt.getTime()<=g,m=a.previousNext?.status??"unknown";if(h&&a.errorsSinceLive>=Math.max(10,Math.ceil(5*a.baselineErrors/24))&&a.currentId&&a.previousId&&i.test(a.previousId)&&a.previousId!==a.currentId&&"vulnerable"!==m){let d=l(`${a.errorsSinceLive} errors since the deploy went live ${Math.max(1,Math.round((g-a.liveAt.getTime())/6e4))} min ago (${a.baselineErrors} in the 24 h before)`,a.topSinceLive,b);e.push({ruleKey:"LogErrorSpike",room:"workloads",action:"vercel_rollback",resourceKind:"app",resourceId:a.appId,targetRef:a.previousId,reason:"ok"===m?d:(0,c.l)(`${f.B} ${d}`)})}let n=null!==a.lastDeployAt&&g-a.lastDeployAt.getTime()<72e5;if(a.errors30>=20&&!n&&a.httpMonitorId&&e.push({ruleKey:"LogErrors",room:"workloads",action:"recheck",resourceKind:"app",resourceId:a.appId,targetRef:a.httpMonitorId,reason:l(`${a.errors30} errors in the last 30 min`,a.top30,b)}),a.dbErrors30>=3&&a.db){let c=l(`${a.dbErrors30} database connection errors in the last 30 min`,a.topDb,b),d=a.db;("neon_project"===d.kind||"neon_branch"===d.kind)&&d.wakeEndpoint&&j.test(d.wakeEndpoint)?e.push({ruleKey:"LogDbErrors",room:"databases",action:"neon_wake",resourceKind:d.kind,resourceId:d.resourceId,targetRef:d.wakeEndpoint,reason:c}):"supabase_project"===d.kind&&d.supabasePaused&&d.supabaseRef&&k.test(d.supabaseRef)&&e.push({ruleKey:"LogDbErrors",room:"databases",action:"supabase_restore",resourceKind:d.kind,resourceId:d.resourceId,targetRef:d.supabaseRef,reason:c})}return e})(a,b,g).map(f=>{let h="app"===f.resourceKind?(0,c.J)("app",a.appId,a.appName,b):(0,c.J)(f.resourceKind,f.resourceId,null,b);return{alertId:null,ruleKey:f.ruleKey,room:f.room,action:f.action,risk:e.H[f.action].risk,title:(0,c.M)(f.action,h),reason:f.reason,resourceKind:f.resourceKind,resourceId:f.resourceId,resourceName:h,targetRef:f.targetRef,proposedBy:(0,d.y)(f.room),expiresAt:new Date(g.getTime()+e.V)}})},"D",0,function(a,b){let c=a.getTime();return(null===b||!(c-b<27e4))&&(Math.floor(c/6e4)%5==0||null!==b&&c-b>=6e5)},"W",0,function(a,b){let c=new Set(b.map(m));return a.filter(a=>{let b;return"pending"===a.status&&(b=a.ruleKey,g.includes(b))&&!c.has(m(a))}).map(a=>a.id)}],247881);let o=new Set(["MonitorDown","LogErrorSpike"]);a.s(["r",0,72e5,"M",0,o,"s",0,function(a,b){let c=a=>({ok:!1,why:a});if(!a.setting.enabled)return c("off");if(!a.ruleKey||!o.has(a.ruleKey))return c("rule");let d=a.deploy;if(!d||!d.liveAt)return c("no live deploy");let e=b.getTime()-d.liveAt.getTime();return e<0||e>6e4*a.setting.windowMin?c("outside the window"):d.previousId&&a.targetRef===d.previousId&&d.previousId!==d.currentId?d.newestProdCreatedAt&&d.currentCreatedAt.getTime()<d.newestProdCreatedAt.getTime()?c("live deploy is a rollback"):a.rolledOrPromotedLately?c("live deploy came from a rollback or promote"):"ready"!==(d.previousState??"").toLowerCase()?c("previous not ready"):!d.previousCreatedAt||b.getTime()-d.previousCreatedAt.getTime()>2592e6?c("previous too old"):"vulnerable"===a.previousNext?c("previous Next.js has advisories"):"ok"!==a.previousNext?c("previous Next.js unknown"):a.autoLately?c("auto-rollback within 2 h"):a.sameDeployBefore?c("already rolled back once"):a.inFlight?c("another auto-rollback is running"):{ok:!0}:c("target changed")},"u",0,(a,b,d)=>(0,c.l)(`Automatic: the new deploy ${a} errored in the first ${b} minutes. ${d}`),"E",0,a=>a.currentSha&&/^[0-9a-f]{7,40}$/i.test(a.currentSha)?a.currentSha.slice(0,7):a.currentId.slice(0,16)],649031)},691100,a=>{let b;var c,d=a.i(93321),e=a.i(530385),f=a.i(351674),g=a.i(548734),h=a.i(462820),i=a.i(837137),j=a.i(247730),k=a.i(455317),l=a.i(930270),m=a.i(396667),n=a.i(160147),o=a.i(767163),p=a.i(757902),q=a.i(436357),r=a.i(893893),s=a.i(556987),t=a.i(142754),u=a.i(342634),v=a.i(247881),w=a.i(649031),x=a.i(381544),y=a.i(138984),z=a.i(492665),A=a.i(221084),B=a.i(736780),C=a.i(560954),D=a.i(895176),E=a.i(305731),F=a.i(30184),G=a.i(721170),H=a.i(322145),I=a.i(248358),J=a.i(915598),K=a.i(312573),L=a.i(323878),M=a.i(19809),N=a.i(371289),O=a.i(94473),P=a.i(188282);let Q={checkMonitorNow:D.X,keepAliveNow:C.v,wakeAs:G.v,supabaseAct:I.Q,redeployAs:J.B,rollbackAs:J.U,finish:H.W,recordAction:A.f,limit:L.C,bumpPrAs:B.W,autoSecurity:()=>(0,O.X)(),recheckDomain:F._,moveMonitorToDomain:E.f};async function R(){let[a]=await (0,g.f)().select({at:i.collectorRuns.startedAt}).from(i.collectorRuns).where(f.B`(${i.collectorRuns.trigger} = 'vercel_cron' or (${i.collectorRuns.trigger} = 'manual' and ${i.collectorRuns.tasks} ? 'rollups'))`).orderBy((0,e.A)(i.collectorRuns.startedAt)).limit(1);return a?.at??null}async function S(a){let b=await (a.lastDailyRunAt??R)(),c=(a.now??(()=>new Date))();if(b&&c.getTime()-b.getTime()<216e5)return{ok:!1,error:"The daily job ran less than 6 hours ago."};let d=(a.dailyTarget??function(){let a=(0,y.f)();return a?{url:`${(0,z.f)().SITE_URL.replace(/\/+$/,"")}/api/daily`,secret:a.CRON_SECRET}:null})();if(!d)return{ok:!1,error:"The scheduler settings are missing, so the daily job can't be started."};try{let b=await (a.fetch??fetch)(d.url,{headers:{Authorization:`Bearer ${d.secret}`},signal:AbortSignal.timeout(4e4),redirect:"manual"});if(!b.ok||b.status>=300)return{ok:!1,error:`The daily job route answered ${b.status}.`};return{ok:!0,message:`Daily job ran again (${b.status}).`}}catch(a){if(a instanceof Error&&("TimeoutError"===a.name||"AbortError"===a.name))return{ok:!0,message:"Daily job started; it's still running β€” the heartbeat turns Up when it finishes."};throw a}}let T="The proposal's target is missing, so it can't run.";async function U(a,b,c=Q){let d="auto"===b,e=d?{id:u.e,userId:null}:{id:b.id,userId:b.userId},f=(a,b,e)=>c.finish(a,b,e,{refresh:!1,...d?{auditPrefix:u.v}:{}});try{if(!a.resourceId||!a.targetRef)return{ok:!1,error:T};if((0,N.W)()&&"recheck"!==a.action)return await c.recordAction({kind:"ok",message:`${d?u.v:""}${P.H[a.action].label} (simulated)`,detail:"Simulated in the demo",resourceId:a.resourceId,actorUserId:e.userId}).catch(()=>console.warn("audit event failed")),{ok:!0,message:M.r};switch(a.action){case"recheck":{let b=await c.limit(K.t.check,e.id);if(!b.allowed)return{ok:!1,error:`Too many checks. Try again in ${(0,K.H)(b.retryAfter)}.`};let f=await c.checkMonitorNow(a.targetRef);if(!f.ok)return{ok:!1,error:f.error};if(f.audit)try{await c.recordAction({kind:!1===f.passed?"err":"ok",...f.audit,message:`${d?u.v:""}${f.audit.message}`,actorUserId:e.userId})}catch{console.warn("audit event failed")}return{ok:!0,message:f.message}}case"domain_recheck":{let b=await c.limit(K.t.domainCheck,e.id);if(!b.allowed)return{ok:!1,error:`Too many checks. Try again in ${(0,K.H)(b.retryAfter)}.`};let f=await (c.recheckDomain??F._)(a.targetRef);if(!f.ok)return f;return await c.recordAction({kind:"ok",...f.audit,message:`${d?u.v:""}${f.audit.message}`,actorUserId:e.userId}).catch(()=>console.warn("audit event failed")),{ok:!0,message:f.message}}case"monitor_update_url":{let b=await c.limit(K.t.monitorWrite,e.id);if(!b.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,K.H)(b.retryAfter)}.`};let f=await (c.moveMonitorToDomain??E.f)(a.targetRef);if(!f.ok)return f;return f.audit&&await c.recordAction({kind:"ok",...f.audit,message:`${d?u.v:""}${f.audit.message}`,actorUserId:e.userId}).catch(()=>console.warn("audit event failed")),{ok:!0,message:f.message}}case"daily_rerun":return await S(c);case"neon_wake":return await c.wakeAs(e,a.resourceId,a.targetRef,f);case"supabase_keepalive":return await c.keepAliveNow(e,a.resourceId,f);case"supabase_restore":return await c.supabaseAct("restore",e,a.resourceId,a.targetRef,f);case"vercel_redeploy":return await c.redeployAs(e,a.resourceId,a.targetRef,f);case"vercel_rollback":return await c.rollbackAs(e,a.resourceId,a.targetRef,f);case"github_bump_pr":{let b=d?await (c.autoSecurity??O.X)():null;if(d&&!b?.enabled)return{ok:!1,error:"Automatic security fixes is off."};return await (c.bumpPrAs??B.W)(e,a.resourceId,a.targetRef,f,{proposalId:a.proposalId??null,...b?{auto:{severities:b.severities}}:{},..."FrameworkVulnerable"===a.ruleKey?{framework:!0}:{}})}default:return{ok:!1,error:T}}}catch(a){return console.warn(`${h.X.logTag}/proposals run failed:`,a instanceof Error?a.name:"error"),{ok:!1,error:"Something went wrong while running it. Check the console page before trying again."}}}var V=a.i(416454);let W={id:t.O.id,room:t.O.room,action:t.O.action,risk:t.O.risk,title:t.O.title,reason:t.O.reason,resourceName:t.O.resourceName,proposedBy:t.O.proposedBy,status:t.O.status,auto:t.O.auto,result:t.O.result,createdAt:t.O.createdAt,decidedAt:t.O.decidedAt,expiresAt:t.O.expiresAt},X={...W,resourceId:t.O.resourceId,targetRef:t.O.targetRef,ruleKey:t.O.ruleKey,alertId:t.O.alertId};async function Y(a,b,c){let e=(0,u.z)(a,b),h=new Set(e.deployApps),j=a.filter(a=>("MonitorDown"===a.ruleKey||"HighLatency"===a.ruleKey)&&a.resourceId&&h.has(a.resourceId)&&a.startedAt),[k,m,n,o,p,r,s,t,v]=await Promise.all([e.monitorIds.length?(0,g.f)().select({id:i.monitors.id,kind:i.monitors.kind,url:i.monitors.url,lastError:i.monitors.lastError,appId:i.monitors.resourceId,appName:i.resources.name,appMeta:i.resources.meta}).from(i.monitors).innerJoin(i.resources,(0,d.u)(i.resources.id,i.monitors.resourceId)).where((0,d.y)(i.monitors.id,e.monitorIds)):[],e.deployApps.length?(0,g.f)().select({app:i.deployments.resourceId,id:i.deployments.externalId,isCurrent:i.deployments.isCurrent,isPrevious:i.deployments.isPreviousProduction,readyAt:i.deployments.readyAt,createdAt:i.deployments.createdAtProvider}).from(i.deployments).where((0,d.b)((0,d.y)(i.deployments.resourceId,e.deployApps),(0,d.F)((0,d.u)(i.deployments.isCurrent,!0),(0,d.u)(i.deployments.isPreviousProduction,!0)))):[],e.supabaseIds.length?(0,g.f)().select({id:i.resources.id,ref:i.resources.externalId}).from(i.resources).where((0,d.b)((0,d.y)(i.resources.id,e.supabaseIds),(0,d.u)(i.resources.kind,"supabase_project"),f.B`${i.resources.goneAt} is null`)):[],e.monitorApps.length?ac(e.monitorApps):new Map,e.depApps.length?aa(a,e.depApps).catch(()=>new Set).then(a=>(0,l.C)(e.depApps,a)).catch(()=>new Map):new Map,e.monitorIds.length?ab(e.monitorIds):null,e.frameworkApps.length?(0,B.h)(e.frameworkApps,e.depApps).catch(()=>new Map):new Map,j.length?Z(j.map(a=>a.subject),b).catch(()=>[]):[],$(e.deployApps)]),w=k.some(a=>null!==(0,q.Y)(a.appMeta)),x=w?await (0,g.f)().select({id:i.resources.id,name:i.resources.name,meta:i.resources.meta}).from(i.resources).where((0,d.b)((0,d.u)(i.resources.kind,"app"),(0,d.u)(i.resources.monitored,!0),(0,d.M)(i.resources.goneAt))).limit(500):[],y=w?(0,q.P)(k,x):new Map,z=[...[...p].map(([a,b])=>({appId:a,repoId:b})),...[...s].map(([a,b])=>({appId:a,repoId:b.repoId}))],A=z.length?await Promise.resolve().then(()=>(0,B.H)(z,b)).catch(()=>new Map):new Map,C=new Map,D=new Map;for(let a of m){let b=C.get(a.app)??{currentId:null,previousId:null,liveAt:null};a.isCurrent?(b.currentId=a.id,b.liveAt=a.readyAt??a.createdAt??null):a.isPrevious&&(b.previousId=a.id,D.set(a.app,a.readyAt??a.createdAt??null)),C.set(a.app,b)}let E=new Map;for(let[a,b]of C)b.previousId&&E.set(a,_(v,a,b.liveAt,D.get(a)??null));let F=new Map(j.map(a=>[a.id,(0,V.g)(a.startedAt,t.filter(b=>b.ruleKey===a.ruleKey&&b.subject===a.subject),{ruleKey:a.ruleKey,liveAt:C.get(a.resourceId)?.liveAt??null})]));return{monitorKinds:new Map(k.map(a=>[a.id,String(a.kind)])),deploys:C,...void 0!==c?{rollbackWindowMs:c}:{},supabaseRefs:new Map(n.map(a=>[a.id,a.ref])),neonSuspended:o,fixableRepos:p,dailyHeartbeatId:r,frameworkFixes:s,monitorMoves:y,problemSince:F,previousNext:E,...A.size?{productionMismatch:A}:{}}}async function Z(a,b){return(0,g.f)().select({ruleKey:i.alerts.ruleKey,subject:i.alerts.subject,startedAt:i.alerts.startedAt,resolvedAt:i.alerts.resolvedAt}).from(i.alerts).where((0,d.b)((0,d.y)(i.alerts.ruleKey,["MonitorDown","HighLatency"]),(0,d.y)(i.alerts.subject,[...new Set(a)]),(0,d.E)(i.alerts.resolvedAt),(0,d.B)(i.alerts.resolvedAt,new Date(b.getTime()-V.A)))).orderBy((0,e.A)(i.alerts.startedAt)).limit(500)}async function $(a){let b={checks:new Map,events:new Map,frameworks:new Map};if(!a.length)return b;try{let[c,f,h]=await Promise.all([(0,g.f)().select({app:i.appSecurity.resourceId,version:i.appSecurity.version,status:i.appSecurity.status,findings:i.appSecurity.findings,checkedAt:i.appSecurity.checkedAt,reason:i.appSecurity.reason}).from(i.appSecurity).where((0,d.y)(i.appSecurity.resourceId,a)).limit(a.length),(0,g.f)().select({app:i.events.resourceId,at:i.events.at,reason:i.events.reason,message:i.events.message}).from(i.events).where((0,d.b)((0,d.y)(i.events.reason,[...V.Y]),(0,d.y)(i.events.resourceId,a))).orderBy((0,e.A)(i.events.at)).limit(Math.min(500,50*a.length)),(0,g.f)().select({app:i.resources.id,meta:i.resources.meta}).from(i.resources).where((0,d.y)(i.resources.id,a)).limit(a.length)]);for(let a of c)b.checks.set(a.app,{version:a.version,status:a.status,findings:Array.isArray(a.findings)?a.findings:[],checkedAt:a.checkedAt,reason:a.reason});for(let a of f)a.app&&b.events.set(a.app,[...b.events.get(a.app)??[],{at:a.at,reason:a.reason,message:a.message}]);for(let a of h){let c=a.meta&&"object"==typeof a.meta?a.meta.framework:null;b.frameworks.set(a.app,"string"==typeof c?c:null)}}catch{return{checks:new Map,events:new Map,frameworks:new Map}}return b}let _=(a,b,c,d)=>(0,V.Q)({currentLiveAt:c,previousLiveAt:d,check:a.checks.get(b)??null,events:a.events.get(b)??[],framework:a.frameworks.get(b)??null});async function aa(a,b){let c=new Set(b),e=a.filter(a=>"FrameworkVulnerable"===a.ruleKey&&"app"===a.resourceKind&&a.resourceId&&c.has(a.resourceId)).map(a=>a.id);return e.length?new Set((await (0,g.f)().selectDistinct({resourceId:t.O.resourceId}).from(t.O).where((0,d.b)((0,d.u)(t.O.ruleKey,"FrameworkVulnerable"),(0,d.u)(t.O.action,"github_bump_pr"),(0,d.y)(t.O.status,["pending","approved","running","done"]),(0,d.y)(t.O.alertId,e),(0,d.y)(t.O.resourceId,[...c]))).limit(e.length)).flatMap(a=>a.resourceId?[a.resourceId]:[])):new Set}async function ab(a){let b=(0,o.i)(process.env.DAILY_HEARTBEAT_TOKEN);if(!b)return null;let[c]=await (0,g.f)().select({id:i.monitors.id}).from(i.monitors).where((0,d.b)((0,d.y)(i.monitors.id,a),(0,d.u)(i.monitors.kind,"heartbeat"),(0,d.u)(i.monitors.tokenHash,(0,p.C)(b)))).limit(1).catch(()=>[]);return c?.id??null}async function ac(a){let b=await (0,g.f)().select({app:i.links.fromResourceId,id:i.resources.id,kind:i.resources.kind,externalId:i.resources.externalId,parentId:i.resources.parentId}).from(i.links).innerJoin(i.resources,(0,d.u)(i.resources.id,i.links.toResourceId)).where((0,d.b)((0,d.y)(i.links.fromResourceId,a),(0,d.u)(i.links.kind,"uses_db"),(0,d.y)(i.resources.kind,["neon_project","neon_branch"]),f.B`${i.resources.goneAt} is null`)),c=new Map;if(!b.length)return c;let e=a=>"neon_branch"===a.kind?a.parentId:a.id,h=[...new Set(b.map(e).filter(a=>!!a))];if(!h.length)return c;let j=new Map((await (0,g.f)().select({id:i.snapshots.resourceId,data:i.snapshots.data}).from(i.snapshots).where((0,d.y)(i.snapshots.resourceId,h))).map(a=>[a.id,(0,r.k)(r.s,a.data)]));for(let a of b){let b=e(a),d=b?j.get(b):void 0,f=d?(0,u.Z)(d.endpoints,d.branches,"neon_branch"===a.kind?a.externalId:null):null;f&&c.set(a.app,{resourceId:a.id,resourceKind:a.kind,endpointId:f})}return c}async function ad(a){if(!a.length)return[];let b=new Set((await (0,g.f)().select({alertId:t.O.alertId,action:t.O.action}).from(t.O).where((0,d.y)(t.O.alertId,[...new Set(a.map(a=>a.alertId))]))).map(a=>`${a.alertId}:${a.action}`)),c=a.filter(a=>!b.has(`${a.alertId}:${a.action}`));return c.length?(0,g.f)().insert(t.O).values(c.map(a=>({...a,status:"pending"}))).onConflictDoNothing().returning(X):[]}async function ae(a,b){return(await (0,g.f)().select(W).from(t.O).where(f.B`${t.O.createdAt} >= ${new Date(a.getTime()-6048e5).toISOString()}::timestamptz`).orderBy(f.B`case when ${t.O.status} = 'pending' then 0 else 1 end`,(0,e.A)(t.O.createdAt),(0,e.A)(t.O.id)).limit(b)).map(u.E)}async function af(a){let[b]=await (0,g.f)().select(W).from(t.O).where((0,d.u)(t.O.id,a)).limit(1);return b?(0,u.E)(b):null}async function ag(a,b,c,e){let[h]=await (0,g.f)().update(t.O).set({status:"approve"===b?"approved":"rejected",decidedBy:c,decidedAt:e}).where((0,d.b)((0,d.u)(t.O.id,a),(0,d.u)(t.O.status,"pending"),f.B`${t.O.expiresAt} > ${e.toISOString()}::timestamptz`)).returning(X);if(h)return{status:"ok",proposal:(0,u.E)(h),row:h};let[i]=await (0,g.f)().select(W).from(t.O).where((0,d.u)(t.O.id,a)).limit(1);return i?{status:"conflict",proposal:(0,u.E)(i)}:{status:"missing"}}async function ah(a,b){let[c]=await (0,g.f)().update(t.O).set({status:"running",claimedAt:b}).where((0,d.b)((0,d.u)(t.O.id,a),(0,d.u)(t.O.status,"approved"))).returning(X);return c??null}async function ai(a,b,c,e){let[f]=await (0,g.f)().update(t.O).set({status:b?"done":"failed",result:c,finishedAt:e}).where((0,d.b)((0,d.u)(t.O.id,a),(0,d.u)(t.O.status,"running"))).returning(X);return f??null}let aj={run:(a,b)=>U(a,b),book:()=>(0,j.f)()};async function ak(a,b,c,d=aj){let e=await ah(a,c);if(!e)return null;let f=await d.run({action:e.action,resourceId:e.resourceId,targetRef:e.targetRef,proposalId:e.id,ruleKey:e.ruleKey??null},b),g=await d.book().catch(()=>s.a),h=await ai(a,f.ok,(0,u.x)(f,g),new Date);return h?(0,u.E)(h):null}async function al(a,b){let c=await (0,g.f)().update(t.O).set({status:"expired",result:"Expired: nobody decided in time, or the alert stopped firing."}).where((0,d.b)((0,d.u)(t.O.status,"pending"),(0,d.F)((0,d.S)(t.O.expiresAt,new Date(b.getTime()+1)),(0,d.b)((0,d.E)(t.O.alertId),a.length?(0,d.$)(t.O.alertId,a):f.B`true`)))).returning({id:t.O.id});return await (0,g.f)().update(t.O).set({status:"failed",result:"The run was interrupted. Check the console page before trying again.",finishedAt:b}).where((0,d.b)((0,d.u)(t.O.status,"running"),(0,d.S)(t.O.claimedAt,new Date(b.getTime()-u.L)))),c.length}async function am(a){await (0,g.f)().delete(t.O).where((0,d.b)((0,d.S)(t.O.createdAt,new Date(a.getTime()-2592e6)),(0,d.$)(t.O.status,["pending","approved","running"])))}let an=f.B`(${i.storedLogs.level} in ('error', 'fatal') or coalesce(${i.storedLogs.statusCode}, 0) >= 500)`,ao=f.B`coalesce(${i.deployments.readyAt}, ${i.deployments.createdAtProvider})`;async function ap(a){let b=await (0,g.f)().select({app:i.links.fromResourceId,id:i.resources.id,kind:i.resources.kind,externalId:i.resources.externalId,parentId:i.resources.parentId}).from(i.links).innerJoin(i.resources,(0,d.u)(i.resources.id,i.links.toResourceId)).where((0,d.b)((0,d.y)(i.links.fromResourceId,a),(0,d.u)(i.links.kind,"uses_db"),(0,d.y)(i.resources.kind,["neon_project","neon_branch","supabase_project"]),(0,d.M)(i.resources.goneAt))),c=new Map;if(!b.length)return c;let e=a=>"neon_branch"===a.kind?a.parentId:a.id,f=[...new Set(b.map(e).filter(a=>!!a))],h=new Map((f.length?await (0,g.f)().select({id:i.snapshots.resourceId,data:i.snapshots.data}).from(i.snapshots).where((0,d.y)(i.snapshots.resourceId,f)):[]).map(a=>[a.id,a.data]));for(let a of b){let b=h.get(e(a)??"");if("supabase_project"===a.kind){let d=(0,r.k)(r.B,b);c.set(a.app,{resourceId:a.id,kind:a.kind,wakeEndpoint:null,supabaseRef:a.externalId,supabasePaused:"INACTIVE"===d.status})}else{let d=(0,r.k)(r.s,b);c.set(a.app,{resourceId:a.id,kind:a.kind,wakeEndpoint:(0,u.Z)(d.endpoints,d.branches,"neon_branch"===a.kind?a.externalId:null),supabaseRef:null,supabasePaused:!1})}}return c}let aq={apps:async function(a){let b=new Date(a.getTime()-v.I-v.s),c=f.B`${i.storedLogs.at} >= ${new Date(a.getTime()-v.H).toISOString()}::timestamptz`,e=f.B`${i.storedLogs.message} ~* ${v.N}`,h=f.B`left(${i.storedLogs.message}, 200)`,j=(await (0,g.f)().select({appId:i.storedLogs.resourceId,appName:f.B`max(${i.resources.name})`,liveAt:f.B`max(${ao})`.mapWith(i.deployments.readyAt),currentId:f.B`max(${i.deployments.externalId})`,errorsSinceLive:f.B`count(*) filter (where ${an} and ${i.storedLogs.at} >= ${ao})`.mapWith(Number),baselineErrors:f.B`count(*) filter (where ${an} and ${i.storedLogs.at} >= ${ao} - interval '24 hours' and ${i.storedLogs.at} < ${ao})`.mapWith(Number),topSinceLive:f.B`mode() within group (order by ${h}) filter (where ${an} and ${i.storedLogs.at} >= ${ao})`,errors30:f.B`count(*) filter (where ${an} and ${c})`.mapWith(Number),top30:f.B`mode() within group (order by ${h}) filter (where ${an} and ${c})`,dbErrors30:f.B`count(*) filter (where ${c} and ${e})`.mapWith(Number),topDb:f.B`mode() within group (order by ${h}) filter (where ${c} and ${e})`}).from(i.storedLogs).innerJoin(i.resources,(0,d.u)(i.resources.id,i.storedLogs.resourceId)).leftJoin(i.deployments,(0,d.b)((0,d.u)(i.deployments.resourceId,i.storedLogs.resourceId),(0,d.u)(i.deployments.isCurrent,!0))).where((0,d.b)((0,d.B)(i.storedLogs.at,b),(0,d.u)(i.resources.kind,"app"),(0,d.M)(i.resources.goneAt))).groupBy(i.storedLogs.resourceId)).filter(a=>a.errorsSinceLive>=v.w||a.errors30>=v.G||a.dbErrors30>=v.V);if(!j.length)return[];let k=j.map(a=>a.appId),[l,m,n]=await Promise.all([(0,g.f)().select({app:i.deployments.resourceId,previousId:f.B`max(${i.deployments.externalId}) filter (where ${i.deployments.isPreviousProduction})`,previousLiveAt:f.B`max(${ao}) filter (where ${i.deployments.isPreviousProduction})`.mapWith(i.deployments.readyAt),lastDeployAt:f.B`max(${i.deployments.createdAtProvider}) filter (where ${i.deployments.target} = 'production')`.mapWith(i.deployments.createdAtProvider)}).from(i.deployments).where((0,d.b)((0,d.y)(i.deployments.resourceId,k),(0,d.F)((0,d.u)(i.deployments.isPreviousProduction,!0),(0,d.B)(i.deployments.createdAtProvider,new Date(a.getTime()-v.v))))).groupBy(i.deployments.resourceId),(0,g.f)().select({app:i.monitors.resourceId,id:i.monitors.id}).from(i.monitors).where((0,d.b)((0,d.y)(i.monitors.resourceId,k),(0,d.u)(i.monitors.kind,"http"),(0,d.u)(i.monitors.paused,!1),(0,d.u)(i.monitors.ownerPaused,!1))).orderBy(i.monitors.createdAt),ap(k)]),o=new Map(l.map(a=>[a.app,a])),p=new Map;for(let a of m)p.has(a.app)||p.set(a.app,a.id);let q=j.filter(a=>a.errorsSinceLive>=v.w&&a.liveAt&&o.get(a.appId)?.previousId).map(a=>a.appId),r=q.length?await $(q):null;return j.map(a=>({...a,appName:a.appName??"",previousId:o.get(a.appId)?.previousId??null,lastDeployAt:o.get(a.appId)?.lastDeployAt??null,httpMonitorId:p.get(a.appId)??null,db:n.get(a.appId)??null,...r&&q.includes(a.appId)?{previousNext:_(r,a.appId,a.liveAt,o.get(a.appId)?.previousLiveAt??null)}:{}}))},rows:async function(a){let b=f.B`coalesce(${t.O.finishedAt}, ${t.O.decidedAt}, ${t.O.expiresAt})`;return(0,g.f)().select({id:t.O.id,ruleKey:t.O.ruleKey,resourceId:t.O.resourceId,action:t.O.action,status:t.O.status,closedAt:b.mapWith(t.O.finishedAt)}).from(t.O).where((0,d.b)((0,d.M)(t.O.alertId),(0,d.y)(t.O.ruleKey,[...v.T]),(0,d.F)((0,d.y)(t.O.status,["pending","approved","running"]),f.B`${b} > ${new Date(a.getTime()-v.b).toISOString()}::timestamptz`)))}};async function ar(a,b,c=aq){let[e,f]=await Promise.all([c.apps(a),c.rows(a)]),h=e.flatMap(c=>(0,v.t)(c,b,a)),i=(0,v.W)(f,h),j=0;i.length&&(j=(await (0,g.f)().update(t.O).set({status:"expired",result:"Expired: the logs no longer show it.",finishedAt:a}).where((0,d.b)((0,d.y)(t.O.id,i),(0,d.u)(t.O.status,"pending"))).returning({id:t.O.id})).length);let k=(0,v.x)(h,f,a);return k.length?{created:await (0,g.f)().insert(t.O).values(k.map(a=>({...a,status:"pending"}))).onConflictDoNothing().returning(X),expired:j}:{created:[],expired:j}}let as=null;async function at(a,b){return(0,v.D)(a,as)?(as=a.getTime(),ar(a,await b())):{created:[],expired:0}}async function au(a,b){return(await (0,g.f)().update(t.O).set({status:"approved",auto:!0,decidedAt:b}).where((0,d.b)((0,d.u)(t.O.id,a),(0,d.u)(t.O.status,"pending"),(0,d.u)(t.O.risk,"safe"))).returning({id:t.O.id})).length>0}async function av(a,b){let c=new Date(b.getTime()-w.r),[e,h,j,k,l]=await Promise.all([(0,g.f)().select({app:i.deployments.resourceId,id:i.deployments.externalId,sha:i.deployments.commitSha,state:i.deployments.state,isCurrent:i.deployments.isCurrent,isPrevious:i.deployments.isPreviousProduction,readyAt:i.deployments.readyAt,createdAt:i.deployments.createdAtProvider}).from(i.deployments).where((0,d.b)((0,d.y)(i.deployments.resourceId,a),(0,d.F)((0,d.u)(i.deployments.isCurrent,!0),(0,d.u)(i.deployments.isPreviousProduction,!0)))),(0,g.f)().select({app:i.deployments.resourceId,at:f.B`max(${i.deployments.createdAtProvider})`.mapWith(i.deployments.createdAtProvider)}).from(i.deployments).where((0,d.b)((0,d.y)(i.deployments.resourceId,a),(0,d.u)(i.deployments.target,"production"),(0,d.u)(i.deployments.state,"ready"))).groupBy(i.deployments.resourceId),(0,g.f)().select({app:i.events.resourceId}).from(i.events).where((0,d.b)((0,d.u)(i.events.type,"action"),(0,d.y)(i.events.resourceId,a),(0,d.B)(i.events.at,c),f.B`${i.events.message} ~ ${aw}`)),(0,g.f)().select({app:t.O.resourceId,targetRef:t.O.targetRef,status:t.O.status,decidedAt:t.O.decidedAt}).from(t.O).where((0,d.b)((0,d.u)(t.O.action,"vercel_rollback"),(0,d.u)(t.O.auto,!0),(0,d.B)(t.O.createdAt,new Date(b.getTime()-26784e5)))),$(a)]),m=new Map;for(let b of a){let a=e.find(a=>a.app===b&&a.isCurrent),d=e.find(a=>a.app===b&&a.isPrevious&&!a.isCurrent),f=k.filter(a=>a.app===b);m.set(b,{deploy:a?{currentId:a.id,currentSha:a.sha,liveAt:a.readyAt??a.createdAt,currentCreatedAt:a.createdAt,newestProdCreatedAt:h.find(a=>a.app===b)?.at??null,previousId:d?.id??null,previousState:d?.state??null,previousCreatedAt:d?.createdAt??null}:null,rolledOrPromotedLately:j.some(a=>a.app===b),autoLately:f.some(a=>null!==a.decidedAt&&a.decidedAt.getTime()>=c.getTime()),sameDeployBefore:!!d&&f.some(a=>a.targetRef===d.id),previousNext:a&&d?_(l,b,a.readyAt??a.createdAt,d.readyAt??d.createdAt).status:"unknown"})}return{apps:m,inFlight:k.some(a=>"approved"===a.status||"running"===a.status)}}let aw="(Rolled back|Promoted|Preview promoted) Β·";async function ax(a,b,c){return(await (0,g.f)().update(t.O).set({status:"approved",auto:!0,decidedAt:c,reason:b}).where((0,d.b)((0,d.u)(t.O.id,a),(0,d.u)(t.O.status,"pending"),(0,d.u)(t.O.action,"vercel_rollback"),f.B`not exists (select 1 from ops.action_proposals x where x.action = 'vercel_rollback' and x.auto and x.status in ('approved', 'running'))`)).returning({id:t.O.id})).length>0}async function ay(a,b,c,d){let e=a.filter(a=>"vercel_rollback"===a.action&&a.ruleKey&&w.M.has(a.ruleKey)&&a.resourceId);if(!e.length||!d.autoRollback||!d.rollbackContext||!d.approveAutoRollback)return[];let f=await d.autoRollback().catch(()=>null);if(!f?.enabled||15e3>c())return[];let g=[];try{let a=await d.rollbackContext([...new Set(e.map(a=>a.resourceId))],b),i=a.inFlight;for(let j of e){let e=a.apps.get(j.resourceId);if(!e||12e3>c())continue;let k=(0,w.s)({setting:f,ruleKey:j.ruleKey??null,targetRef:j.targetRef,inFlight:i,...e},b);if(!k.ok){console.log(`${h.X.logTag}/auto-rollback: skipped (${k.why})`);continue}let l=(0,w.E)(e.deploy);if(!await d.approveAutoRollback(j.id,(0,w.u)(l,f.windowMin,j.reason),new Date))continue;i=!0;let m=await d.execute(j.id,new Date);if(m){g.push(m),await (d.notifyRollback??x.q)(m,{reason:j.reason,newRef:l},{},{alertId:j.alertId??null}).catch(()=>void 0);break}}}catch(a){console.warn(`${h.X.logTag}/auto-rollback failed:`,a instanceof Error?a.name:"error")}return g}async function az(a,b){return(await (0,g.f)().update(t.O).set({status:"approved",auto:!0,decidedAt:b}).where((0,d.b)((0,d.u)(t.O.id,a),(0,d.u)(t.O.status,"pending"),(0,d.u)(t.O.action,"github_bump_pr"))).returning({id:t.O.id})).length>0}async function aA(a,b,c){let d=a.filter(a=>"github_bump_pr"===a.action&&a.targetRef);if(!d.length||!c.autoSecurity||!c.bumpReady||!c.approveAutoBump)return[];let e=await c.autoSecurity().catch(()=>null);if(!e?.enabled||!e.severities.length)return[];let f=[];for(let a of d){if(15e3>b())break;try{if(a.resourceId&&c.prodMismatch?await c.prodMismatch(a.resourceId,a.targetRef).catch(()=>"unknown"):null){console.log(`${h.X.logTag}/auto-security: waits for the owner (production source)`);continue}let b="FrameworkVulnerable"===a.ruleKey&&a.resourceId?await c.bumpReady(a.targetRef,e.severities,{appId:a.resourceId}):await c.bumpReady(a.targetRef,e.severities);if(!b.ok){console.log(`${h.X.logTag}/auto-security: waits for the owner (${b.why})`);continue}if(!await c.approveAutoBump(a.id,new Date))continue;let d=await c.execute(a.id,new Date);d&&f.push(d)}catch(a){console.warn(`${h.X.logTag}/auto-security failed:`,a instanceof Error?a.name:"error")}}return f}async function aB(a,b){return(await (0,B.H)([{appId:a,repoId:b}],new Date)).get(a)??null}async function aC(a){return new Map((await (0,g.f)().select({id:i.accounts.id,provider:i.accounts.provider}).from(i.accounts).where((0,d.y)(i.accounts.id,a))).map(a=>[a.id,a.provider]))}let aD={firing:()=>(0,k.q)(),book:()=>(0,j.f)(),facts:Y,create:ad,expire:al,autoRun:O.I,approveAuto:au,execute:(a,b)=>ak(a,"auto",b),notifyNew:x.i,notifyResult:x.b,logs:at,autoRollback:()=>(0,O.K)(),rollbackContext:av,approveAutoRollback:ax,notifyRollback:x.q,autoSecurity:()=>(0,O.X)(),bumpReady:B.J,approveAutoBump:az,paused:m.I,providers:aC,prodMismatch:aB};async function aE(a,b={},c=aD){let d={created:0,expired:0,autoRan:0},e=()=>(b.deadline??1/0)-Date.now(),f=await c.firing();d.expired=await c.expire(f.map(a=>a.id),a);let g=c.paused?await c.paused().catch(()=>new Set):new Set,i=[...new Set(f.flatMap(a=>a.accountId?[a.accountId]:[]))],j=g.size&&i.length&&c.providers?await c.providers(i).catch(()=>new Map):new Map,k=f.filter(a=>!(0,n.O)(g,a.ruleKey,a.accountId?j.get(a.accountId):null)),l=null,m=()=>l??=c.book().catch(()=>s.a),o=[],p=(0,u.z)(k,a);if(Object.values(p).some(a=>a.length>0)){let b=p.deployApps.length&&c.autoRollback?await c.autoRollback().catch(()=>null):null,d=await c.facts(k,a,b?6e4*b.windowMin:void 0),e=await m(),f=k.flatMap(b=>(0,u.t)(b,d,e,a)).filter(a=>!("github_bump_pr"===a.action&&g.has("devops")));o.push(...await c.create(f))}if(e()>1e4&&!g.has("hosting"))try{let b=await c.logs(a,m);o.push(...b.created),d.expired+=b.expired}catch(a){console.warn(`${h.X.logTag}/proposals logs failed:`,a instanceof Error?a.name:"error")}if(d.created=o.length,!o.length)return d;let q=await c.autoRun().catch(()=>null),r=await ay(o,a,e,c);d.autoRan+=r.length;let t=await aA(o.filter(a=>!r.some(b=>b.id===a.id)),e,c),v=new Set(r.map(a=>a.id)),w=[...t];for(let a of(d.autoRan+=t.length,t))v.add(a.id);for(let a of o){if(v.has(a.id)||!q||!(0,u.I)(a.action,q)||8e3>e()||!await c.approveAuto(a.id,new Date))continue;let b=await c.execute(a.id,new Date);b&&(w.push(b),d.autoRan++)}let x=new Set([...w.map(a=>a.id),...v]),y=o.filter(a=>"LogErrorSpike"===a.ruleKey&&a.resourceId).map(a=>({proposalId:a.id,appId:a.resourceId})),z=y.length&&c.queueDev?await c.queueDev(y,a).catch(()=>new Set):new Set,A=new Map(o.map(a=>[a.id,a.alertId??null]));for(let a of(await c.notifyNew(o.filter(a=>!x.has(a.id)).map(u.E),{},{devQueued:z,alertIds:A}).catch(()=>void 0),w))await c.notifyResult(a,{},{alertId:A.get(a.id)??null}).catch(()=>void 0);return d}let aF=(c={},b={...aD,queueDev:c.queueDev},async(a,c)=>{try{let d=await aE(a,c??{},b);(d.created||d.expired||d.autoRan)&&console.log(`${h.X.logTag}/proposals: ${d.created} new, ${d.expired} expired, ${d.autoRan} auto-ran`)}catch(a){console.warn(`${h.X.logTag}/proposals failed:`,a instanceof Error?a.name:"error")}});a.s(["V",0,ag,"N",0,ak,"Q",0,ae,"Z",0,aF,"t",0,am,"K",0,af],691100)},381544,a=>{var b=a.i(462820),c=a.i(532620),d=a.i(49146),e=a.i(390626),f=a.i(192738),g=a.i(492665),h=a.i(552543),i=a.i(446914),j=a.i(556987),k=a.i(488345),l=a.i(94473),m=a.i(188282);let n={target:d.Q,book:()=>(0,c.e)(),siteUrl:()=>(0,g.f)().SITE_URL,autoRun:()=>(0,l.I)(),send:(a,b,c,d,e)=>(0,i.I)(a,b,c,{...d?{replyMarkup:d}:{},...e?{replyTo:e}:{}}),record:(a,b)=>(0,d.P)("telegram",a,b),lang:()=>(0,h.I)("telegram"),discord:()=>(0,d.G)(),sendDiscord:(a,b)=>(0,e.$)(a,b,{timeoutMs:w}),recordDiscord:(a,b)=>(0,d.P)("discord",a,b),discordLang:()=>(0,h.I)("discord"),buttons:()=>a.A(801116).then(a=>a.approvalButtons()),thread:a=>(0,d.M)(a)},o={en:{pending:"Status: ⏳ waiting",dev:"πŸ§‘β€πŸ’» Dev is checking the code",proposer:b.X.notifyFallback.en,app:"app",safe:"safe",risky:"needs care",proposes:"proposes",why:"Why",risk:"Risk",open:"Open in Auto-actions",waitingN:"new proposals waiting for approval:",moreN:"more proposals",automatic:"Automatic",rollbackWhy:"the app errored after the new deploy",succeeded:"Succeeded",failed:"Failed",stopFallback:"something failed"},id:{pending:"Status: ⏳ menunggu",dev:"πŸ§‘β€πŸ’» Dev lagi cek kodenya",proposer:b.X.notifyFallback.id,app:"aplikasi",safe:"aman",risky:"perlu hati-hati",proposes:"usul",why:"Kenapa",risk:"Risiko",open:"Buka di Auto-actions",waitingN:"usulan baru menunggu persetujuan:",moreN:"usulan lagi",automatic:"Otomatis",rollbackWhy:"app-nya error setelah deploy baru",succeeded:"Berhasil",failed:"Gagal",stopFallback:"ada yang gagal"}},p={recheck:"Cek ulang sekarang",neon_wake:"Bangunin Neon",supabase_keepalive:"Kirim keep-alive Supabase",supabase_restore:"Restore project Supabase",vercel_redeploy:"Redeploy production",vercel_rollback:"Rollback ke deploy sebelumnya",github_bump_pr:"Bikin PR update paket",domain_recheck:"Cek ulang sertifikat domain",daily_rerun:"Jalanin ulang daily job",monitor_update_url:"Arahin monitor ke domain baru"},q=(a="en")=>(0,h.t)(o,a,"dev"),r=(a,b)=>("id"===b?p[a.action]:void 0)??m.H[a.action]?.label??a.actionLabel,s=(a,b)=>(0,h.t)(o,b,"risky"===a.risk||m.H[a.action]?.risk==="risky"?"risky":"safe"),t=(a,b)=>`${a.replace(/\/+$/,"")}/auto-actions${b?`?proposal=${encodeURIComponent(b)}`:""}`;function u(a,b,c,d=!1,e="en"){let g=a=>(0,h.t)(o,e,a),i=(0,k.R)(a.proposedBy,b,60)||g("proposer"),j=(0,k.R)(a.title,b,120),l=(0,k.R)(a.reason,b,200)||"-";return[`πŸ§‘β€βœˆοΈ ${(0,f.H)(i)} ${g("proposes")}: ${(0,f.H)(r(a,e))} β€” ${(0,f.H)(j)}`,`${g("why")}: ${(0,f.H)(l)}`,`${g("risk")}: ${s(a,e)}`,...d?[q(e)]:[],`${g("open")}: ${(0,f.H)(t(c,a.id))}`].join("\n")}let v=new Set(["recheck","domain_recheck"]),w=3e3,x={en:{proposed:"πŸ“ Proposed",approved:"βœ… Approved by the owner",rejected:"🚫 Rejected by the owner",done:"βš™οΈ Ran",failed:"❌ Failed",waiting:"waiting for approval on Telegram.",newN:"new proposals"},id:{proposed:"πŸ“ Usulan",approved:"βœ… Disetujui owner",rejected:"🚫 Ditolak owner",done:"βš™οΈ Dijalankan",failed:"❌ Gagal",waiting:"nunggu persetujuan di Telegram.",newN:"usulan baru"}};function y(a,b,c,d="en"){let e=a=>(0,h.t)(x,d,a);if(Array.isArray(b))return`πŸ“ ${b.length} ${e("newN")} β€” ${e("waiting")}`;let f=((0,k.g)(b.title,c,120)||r(b,d)).replace(/[*_`~|\[\]<>]/g,"");if("proposed"===a)return`${e("proposed")}: ${f} β€” ${e("waiting")}`;if("approved"===a||"rejected"===a)return`${e(a)}: ${f}`;let g=b.result?(0,k.g)(b.result,c,200).replace(/[*_`~|\[\]<>]/g,""):"";return`${e(a)}: ${f}${g?` β€” ${g}`:""}`}async function z(a,c,d){try{let e,f=await c.discord();if(!f)return;let g=await c.book().catch(()=>j.a),h=await c.discordLang().catch(()=>"en"),i=a(g,h);if(!i.length)return;try{e=await c.sendDiscord(f.url,i.join("\n"))}catch{e={ok:!1,kind:"transient",error:"Discord didn't answer."}}await c.recordDiscord(e,d).catch(()=>console.warn(`${b.X.logTag}/discord: recording the result failed`))}catch{console.warn(`${b.X.logTag}/discord: sending the action history failed`)}}async function A(a,b,c={},d={}){let e={...n,...c};await C(()=>z((c,d)=>[y(a,b,c,d)],e,d.now??new Date),d.timeoutMs??w)}async function B(a,c,d){let e=await c.target();if(!e)return;let f=await c.book().catch(()=>j.a),g=await c.lang().catch(()=>"en");for(let h of(await a(f,g))){let a;try{a="string"==typeof h?await c.send(e.token,e.chatId,h):await c.send(e.token,e.chatId,h.text,h.keyboard,h.replyTo??void 0)}catch{a={ok:!1,kind:"transient",error:"Telegram didn't answer."}}await c.record(a,d).catch(()=>console.warn(`${b.X.logTag}/telegram: recording the result failed`))}}async function C(a,c){try{var d;let b;await (d=a(),Promise.race([d,new Promise((a,d)=>{b=setTimeout(()=>d(Object.assign(Error("timeout"),{name:"TimeoutError"})),c)})]).finally(()=>clearTimeout(b)))}catch(a){console.warn(`${b.X.logTag}/telegram: sending the proposal notice failed:`,a instanceof Error?a.name:"error")}}let D=async(a,b)=>b&&a.thread?a.thread(b).catch(()=>null):null;async function E(a,b={},c={}){if(!a.length)return;let d={...n,...b};await C(async()=>{let b=await d.autoRun().catch(()=>null),e=a.filter(a=>{var c;return c=b??{},"pending"===a.status&&!a.auto&&(m.H[a.action]?.risk!=="safe"||"risky"===a.risk||!c[a.action])});if(!e.length)return;let g=e.length>3||!d.buttons?null:await d.buttons().catch(()=>null),i=c.now??new Date;await Promise.all([B(async(a,b)=>e.length>3?[function(a,b,c,d=new Set,e="en"){let g=a=>(0,h.t)(o,e,a),i=a.slice(0,10).map(a=>{let h=(0,k.R)(a.proposedBy,b,60)||g("proposer");return`β€’ ${(0,f.H)(h)}: ${(0,f.H)(r(a,e))} β€” ${(0,f.H)((0,k.R)(a.title,b,120))} (${s(a,e)})${d.has(a.id)?` \xb7 ${q(e)}`:""}
5
- ${(0,f.H)(t(c,a.id))}`}),j=a.length>10?[`+${a.length-10} ${g("moreN")}`]:[];return[`πŸ§‘β€βœˆοΈ ${a.length} ${g("waitingN")}`,...i,...j,`${g("open")}: ${(0,f.H)(t(c))}`].join("\n")}(e,a,d.siteUrl(),c.devQueued,b)]:Promise.all(e.map(async e=>{let f=u(e,a,d.siteUrl(),c.devQueued?.has(e.id)??!1,b),i=await D(d,c.alertIds?.get(e.id));return g?{text:`${f}
6
- ${((a="en")=>(0,h.t)(o,a,"pending"))(b)}`,keyboard:g(e),replyTo:i}:{text:f,replyTo:i}})),d,i),z((a,b)=>e.length>3?[y("proposed",e,a,b)]:e.map(c=>y("proposed",c,a,b)),d,i)])},c.timeoutMs??8e3)}async function F(a,b={},c={}){if(!a.auto||"done"!==a.status&&"failed"!==a.status)return;let d={...n,...b},e=c.now??new Date;await C(()=>Promise.all([B(async(b,e)=>{let g=function(a,b,c="en"){if(!a.auto||"done"!==a.status&&"failed"!==a.status||a.auto&&"done"===a.status&&v.has(a.action))return null;let d="done"===a.status?"βœ…":"❌",e=a.result?(0,k.R)(a.result,b,200):"";return`${d} ${(0,h.t)(o,c,"automatic")}: ${(0,f.H)(r(a,c))} β€” ${(0,f.H)((0,k.R)(a.title,b,120))}${e?`: ${(0,f.H)(e)}`:""}`}(a,b,e);return g?[{text:g,replyTo:await D(d,c.alertId)}]:[]},d,e),z((b,c)=>[y("done"===a.status?"done":"failed",a,b,c)],d,e)]).then(()=>void 0),c.timeoutMs??8e3)}async function G(a,b,c={},d={}){if("done"!==a.status&&"failed"!==a.status)return;let e={...n,...c},g=d.now??new Date;await C(()=>Promise.all([B(async(c,g)=>[{text:function(a,b,c,d="en"){let e=a=>(0,h.t)(o,d,a),g=(0,k.R)(a.resourceName??e("app"),c,60)||e("app"),i=(0,k.R)(b.reason,c,200).replace(/[.!?…]+$/,"")||e("rollbackWhy"),j=a.result?(0,k.R)(a.result,c,200):"";return["id"===d?`βͺ Otomatis rollback ${(0,f.H)(g)}: ${(0,f.H)(i)}. Deploy baru ${(0,f.H)((0,k.R)(b.newRef,c,40))} dibalikin ke deploy sebelumnya. Benerin dulu, terus deploy ulang.`:`βͺ Automatic rollback of ${(0,f.H)(g)}: ${(0,f.H)(i)}. The new deploy ${(0,f.H)((0,k.R)(b.newRef,c,40))} was rolled back to the previous one. Fix it first, then deploy again.`,`${"done"===a.status?"βœ…":"❌"} ${e("done"===a.status?"succeeded":"failed")}${j?`: ${(0,f.H)(j)}`:""}`].join("\n")}(a,b,c,g),replyTo:await D(e,d.alertId)}],e,g),z((b,c)=>[y("done"===a.status?"done":"failed",a,b,c)],e,g)]).then(()=>void 0),d.timeoutMs??8e3)}async function H(a,b={},c={}){let d={...n,...b};await C(()=>B((b,c)=>[function(a,b,c="en"){let d="id"===c,e=(0,k.R)(a.app,b,60)||(0,h.t)(o,c,"app"),g=a.packages.slice(0,4).join(", ")+(a.packages.length>4?`, +${a.packages.length-4}`:"");if("merged"===a.kind)return d?`βœ… PR #${a.number} di ${(0,f.H)(e)} di-merge otomatis (${(0,f.H)(g)}). Deploy production jalan lewat Vercel; auto-rollback jaga ${a.windowMin??30} menit pertama.`:`βœ… PR #${a.number} in ${(0,f.H)(e)} was merged automatically (${(0,f.H)(g)}). The production deploy runs through Vercel; auto-rollback watches the first ${a.windowMin??30} minutes.`;if("ready-manual"===a.kind)return d?`πŸ” PR #${a.number} di ${(0,f.H)(e)} siap di-merge, tapi auto-rollback mati β€” merge manual ya.`:`πŸ” PR #${a.number} in ${(0,f.H)(e)} is ready to merge, but auto-rollback is off β€” please merge it manually.`;let i=(0,k.R)(a.reason??"",b,200)||(0,h.t)(o,c,"stopFallback");return d?`⚠️ PR #${a.number} di ${(0,f.H)(e)} butuh dicek: ${(0,f.H)(i)}. PR-nya dibiarin terbuka.`:`⚠️ PR #${a.number} in ${(0,f.H)(e)} needs a look: ${(0,f.H)(i)}. The PR was left open.`}(a,b,c)],d,c.now??new Date),c.timeoutMs??8e3)}a.s(["h",0,w,"q",0,G,"y",0,H,"v",0,A,"i",0,E,"b",0,F,"a",0,u])},342634,416454,a=>{var b=a.i(556987),c=a.i(313235),d=a.i(462820),e=a.i(488345),f=a.i(188282),g=a.i(679662),h=a.i(84877),i=a.i(245710);let j=new Set(["nextjs","blitzjs"]),k={status:"unknown",version:null},l={status:"ok",version:null},m=/(?:Next\.js|\(now) (\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?)/,n=a=>!!a&&!j.has(a),o=(a,b)=>null===a.version&&!a.findings.length&&"vulnerable"!==a.status&&("not a Next.js site"===a.reason||n(b));function p(a,b){return"vulnerable"===a.status||a.findings.length?{status:"vulnerable",version:a.version}:"ok"===a.status||a.version?{status:"ok",version:a.version}:o(a,b)?l:k}let q=a=>`${(0,i.L)(a)} ${(0,i.U)(a)} ${(0,i.J)(a)}`,r=a=>"HighLatency"===a?"Slow":"Down",s=(a,b,c,d=!1)=>{let e;if(!c||b.getTime()<c.getTime())return`${r(a)} since ${q(b)}, not tied to a deploy${c?` (live since ${q(c)})`:""}: check the app.`;let f=(e=Math.max(1,Math.round((b.getTime()-c.getTime())/6e4)))<120?`${e} min`:e<2880?`${Math.round(e/60)} h`:`${Math.round(e/1440)} days`;return d?`${r(a)} since ${q(b)}, ${f} after the deploy went live, outside the rollback window: check the app or roll back by hand.`:`${r(a)} since ${q(b)}, started ${f} after the deploy went live: check the app.`},t=a=>a?`No rollback: the previous deployment runs Next.js ${a}, which has known advisories.`:"No rollback: the previous deployment's Next.js has known advisories.",u="Previous deployment's Next.js version is unknown: check it has no known advisories before approving.";a.s(["A",0,6048e5,"Y",0,["NextVulnerable","NextClean"],"B",0,u,"D",0,s,"Q",0,function(a){let b,c=a.currentLiveAt?.getTime(),d=a.previousLiveAt?.getTime(),e=a.check;if(!e)return n(a.framework)?l:k;if(o(e,a.framework))return l;if(void 0===c||void 0===d||d>=c)return k;let f=e.checkedAt.getTime();if(f>=d&&f<c)return p(e,a.framework);if(f<d||c-d<36e5)return k;let i=a.events.filter(a=>"NextVulnerable"===a.reason||"NextClean"===a.reason),j=i.filter(a=>a.at.getTime()<c).sort((a,b)=>b.at.getTime()-a.at.getTime())[0],q=i.filter(a=>a.at.getTime()>=c).sort((a,b)=>a.at.getTime()-b.at.getTime())[0];if(j){var r;let a;b={status:"NextVulnerable"===j.reason?"vulnerable":"ok",version:j.at.getTime()>=d?(r=j.message,(a=m.exec(r)?.[1]??null)&&(0,g.C)(a)?a:null):null}}else b=q?"NextClean"===q.reason?{status:"vulnerable",version:null}:k:{status:p(e,a.framework).status,version:null};if("ok"===b.status&&"ok"!==e.status&&e.findings.length){let a;if(!b.version)return k;if(a=b.version,e.findings.some(b=>!!b.fixed&&(0,g.C)(b.fixed)&&0>(0,h.f)(a,b.fixed)))return{status:"vulnerable",version:b.version}}return b},"g",0,function(a,b,c={}){let d=a.getTime(),e="MonitorDown"===c.ruleKey;if(e&&!c.liveAt)return a;let f=c.liveAt?c.liveAt.getTime()-9e5:0,g=c.gapMs??864e5;for(let a of[...b].sort((a,b)=>b.startedAt.getTime()-a.startedAt.getTime()))!(a.startedAt.getTime()>=d)&&(e?null===a.resolvedAt||a.resolvedAt.getTime()>=f:null===a.resolvedAt||a.resolvedAt.getTime()>=d-g)&&(d=a.startedAt.getTime());return new Date(d)},"e",0,t],416454);let v=200,w=d.X.auditPrefix,x=/^dpl_[A-Za-z0-9]{8,40}$/,y=/^ep-[a-z0-9-]{3,60}$/,z=/^[a-z0-9]{8,40}$/,A=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,B=(a,b=v)=>a.length>b?`${a.slice(0,b-1).trimEnd()}…`:a,C=a=>/[.!?…]$/.test(a)?a:`${a}.`;function D(a,c,d,f){return"app"===a&&d?(0,b.r)(f,d):("supabase_project"===a||"neon_project"===a||"neon_branch"===a||"firestore"===a)&&c?(0,b.X)(f,c):d&&(0,e.g)(d,f,120)||null}let E={recheck:a=>`Check ${a} again now`,neon_wake:a=>`Wake the Neon compute of ${a}`,supabase_keepalive:a=>`Send a keep-alive to ${a}`,supabase_restore:a=>`Restore Supabase project ${a}`,vercel_redeploy:a=>`Redeploy production ${a}`,vercel_rollback:a=>`Roll ${a} back to the previous deployment`,github_bump_pr:a=>`Open a PR updating vulnerable packages in ${a}`,domain_recheck:a=>`Re-check the certificate of ${a}`,daily_rerun:()=>"Rerun the daily job",monitor_update_url:a=>`Point the ${a} monitor at its new domain`},F=(a,b)=>B(E[a](b??"this resource")),G=(a,b)=>a.silencedUntilResolved||null!==a.silencedUntil&&a.silencedUntil.getTime()>b.getTime(),H={status:"unknown",version:null};a.s(["e",0,"office-auto","v",0,w,"L",0,6e5,"j",0,v,"I",0,(a,b)=>"safe"===f.H[a].risk&&!0===b[a],"l",0,B,"z",0,function(a,b){let c=a.filter(a=>!G(a,b)),d=a=>[...new Set(a.filter(a=>!!a&&A.test(a)))],e=c.filter(a=>("MonitorDown"===a.ruleKey||"HighLatency"===a.ruleKey)&&"app"===a.resourceKind);return{monitorIds:d([...e,...c.filter(a=>"MonitorDomainMoved"===a.ruleKey&&"app"===a.resourceKind)].map(a=>a.subject)),monitorApps:d(e.map(a=>a.resourceId)),deployApps:d(c.filter(a=>("DeploymentFailed"===a.ruleKey||"MonitorDown"===a.ruleKey||"HighLatency"===a.ruleKey)&&"app"===a.resourceKind).map(a=>a.resourceId)),supabaseIds:d(c.filter(a=>("DatabasePaused"===a.ruleKey||"AutoPauseRisk"===a.ruleKey)&&"supabase_project"===a.resourceKind).map(a=>a.resourceId)),depApps:d(c.filter(a=>"VulnerableDependency"===a.ruleKey&&"app"===a.resourceKind).map(a=>a.resourceId)),frameworkApps:d(c.filter(a=>"FrameworkVulnerable"===a.ruleKey&&"app"===a.resourceKind).map(a=>a.resourceId))}},"b",0,a=>"string"==typeof a&&A.test(a),"M",0,F,"t",0,function(a,d,g,h){let i,j,k;if(G(a,h))return[];let l=(i=(0,b.o)(a,g),j=(0,e.g)(i.title,g,80),k=(0,e.g)(i.message,g,v),B([j&&C(j),k&&C(k)].filter(Boolean).join(" ")||`${a.ruleKey}.`));return(function(a,b,c){let d="app"===a.resourceKind&&a.resourceId?a.resourceId:null;switch(a.ruleKey){case"DeploymentFailed":{let a=d?b.deploys.get(d):void 0;if(!d||!a?.currentId||!x.test(a.currentId))return[];let c=[{action:"vercel_redeploy",resourceKind:"app",resourceId:d,targetRef:a.currentId}],e=b.previousNext?.get(d)??H;return a.previousId&&x.test(a.previousId)&&a.previousId!==a.currentId&&("vulnerable"===e.status?c[0].note=t(e.version):c.push({action:"vercel_rollback",resourceKind:"app",resourceId:d,targetRef:a.previousId,..."unknown"===e.status?{note:u}:{}})),c}case"DatabasePaused":case"AutoPauseRisk":{if("supabase_project"!==a.resourceKind||!a.resourceId)return[];let c=b.supabaseRefs.get(a.resourceId);if(!c||!z.test(c))return[];return[{action:"DatabasePaused"===a.ruleKey?"supabase_restore":"supabase_keepalive",resourceKind:"supabase_project",resourceId:a.resourceId,targetRef:c}]}case"VulnerableDependency":{let a=d?b.fixableRepos?.get(d):void 0;return d&&a&&A.test(a)?[{action:"github_bump_pr",resourceKind:"app",resourceId:d,targetRef:a}]:[]}case"FrameworkVulnerable":{let a=d?b.frameworkFixes?.get(d):void 0;return d&&a&&A.test(a.repoId)?[{action:"github_bump_pr",resourceKind:"app",resourceId:d,targetRef:a.repoId}]:[]}case"MonitorDomainMoved":return d&&A.test(a.subject)&&b.monitorMoves?.has(a.subject)?[{action:"monitor_update_url",resourceKind:"app",resourceId:d,targetRef:a.subject}]:[];case"MonitorDown":case"HighLatency":{let e=[];d&&A.test(a.subject)&&"http"===b.monitorKinds.get(a.subject)&&e.push({action:"recheck",resourceKind:"app",resourceId:d,targetRef:a.subject}),"MonitorDown"===a.ruleKey&&a.resourceId&&A.test(a.subject)&&b.dailyHeartbeatId===a.subject&&e.push({action:"daily_rerun",room:"observe",resourceKind:a.resourceKind,resourceId:a.resourceId,targetRef:a.subject});let f=d?b.neonSuspended.get(d):void 0;if(f&&y.test(f.endpointId)&&e.push({action:"neon_wake",room:"databases",resourceKind:f.resourceKind,resourceId:f.resourceId,targetRef:f.endpointId}),b.monitorMoves?.has(a.subject))return e;let g=d?b.deploys.get(d):void 0,h=b.problemSince?.get(a.id)??a.startedAt??null,i=g?.liveAt??null,j=h&&i?h.getTime()>=i.getTime():null,k=d&&b.previousNext?.get(d)||H,l=b.rollbackWindowMs??18e5,m=!!d&&!0===j&&function(a,b,c){if(!a?.currentId||!a.previousId||!a.liveAt||!x.test(a.previousId)||a.previousId===a.currentId)return!1;let d=c.getTime()-a.liveAt.getTime();return d>=0&&d<=b}(g,l,c);if(m&&"vulnerable"!==k.status)return e.push({action:"vercel_rollback",resourceKind:"app",resourceId:d,targetRef:g.previousId,..."unknown"===k.status?{note:u}:{}}),e;let n=m?t(k.version):void 0;if("MonitorDown"===a.ruleKey&&d&&g?.currentId&&x.test(g.currentId)&&"http"===b.monitorKinds.get(a.subject)&&!1!==j)return e.push({action:"vercel_redeploy",resourceKind:"app",resourceId:d,targetRef:g.currentId,...n?{note:n}:{}}),e;let o=!!i&&c.getTime()-i.getTime()>l,p=n??(h&&i&&g?.currentId?s(a.ruleKey,h,i,o):void 0),q=e.find(a=>"recheck"===a.action);return q&&p&&(q.note=p),e}case"CertExpiringSoon":return"domain"===a.resourceKind&&a.resourceId&&A.test(a.resourceId)?[{action:"domain_recheck",resourceKind:"domain",resourceId:a.resourceId,targetRef:a.resourceId}]:[];default:return[]}})(a,d,h).map(i=>{var j;let k,m,n,o,p=i.room??(0,c.p)(a),q="neon_wake"===i.action?D(i.resourceKind,i.resourceId,null,g):D(a.resourceKind,a.resourceId,a.resourceName,g),r="FrameworkVulnerable"===a.ruleKey&&"github_bump_pr"===i.action,s="monitor_update_url"===i.action?d.monitorMoves?.get(i.targetRef):void 0,t=r?(j=i.resourceId?d.frameworkFixes?.get(i.resourceId):void 0,k=q??"this app",B(j?`Next.js ${j.from} in ${k} has known vulnerabilities: the PR updates next (and eslint-config-next when listed) to ${j.to}.`:`Next.js in ${k} has known vulnerabilities with a fixed version.`)):"github_bump_pr"===i.action?(n=(m=(0,e.g)((0,b.o)(a,g).message,g,v)).includes(": ")?m.slice(m.indexOf(": ")+2):"",o=`Vulnerable packages in ${q??"this app"} have a fix`,B(n?`${o}: ${n}`:`${o}.`)):i.note?B(`${i.note} ${l}`):l,u="github_bump_pr"===i.action&&i.resourceId?d.productionMismatch?.get(i.resourceId):void 0;return{alertId:a.id,ruleKey:a.ruleKey,room:p,action:i.action,risk:f.H[i.action].risk,title:r?B(`Open a PR updating Next.js in ${q??"this app"}`):s?B(`Point the ${q??"app's"} monitor at ${s.to}`):F(i.action,q),reason:u?B(`${(0,e.g)(u,g,v)} ${t}`):t,resourceKind:i.resourceKind,resourceId:i.resourceId,resourceName:q,targetRef:i.targetRef,proposedBy:(0,c.y)(p),expiresAt:new Date(h.getTime()+f.V)}})},"x",0,function(a,b){let c=a.ok?a.message||"Done.":a.error||"It didn't run.";return B((0,e.g)(c,b,v)||(a.ok?"Done.":"It didn't run."))},"J",0,D,"E",0,function(a){return{id:a.id,room:a.room,action:a.action,actionLabel:f.H[a.action].label,risk:f.H[a.action].risk,title:a.title,reason:a.reason,resourceName:a.resourceName,proposedBy:a.proposedBy,status:a.status,auto:a.auto,result:a.result,createdAt:a.createdAt.toISOString(),decidedAt:a.decidedAt?a.decidedAt.toISOString():null,expiresAt:a.expiresAt.toISOString()}},"Z",0,function(a,b,c){let d=c??b?.find(a=>a.isDefault)?.id??null,e=(a??[]).find(a=>!d||a.branchId===d);return e&&!e.disabled&&"idle"===e.state&&"active"!==e.pendingState&&y.test(e.id)?e.id:null}],342634)},488345,a=>{var b=a.i(556987),c=a.i(425238),d=a.i(609007),e=a.i(434711);let f=/\b([a-z][a-z0-9+.-]{1,20}):\/\/[^\s"'<>`]*/gi,g=/\b(?:\d{1,3}\.){3}\d{1,3}\b/g,h=/\b(?:w[bp]_[A-Za-z0-9]{6,}|hb_[A-Za-z0-9[\]]{2,}|sk-[A-Za-z0-9_-]{6,}|gsk_[A-Za-z0-9]{6,}|AIza[0-9A-Za-z_-]{10,}|AQ\.[A-Za-z0-9_-]{10,})/g,i=/(?<![\p{L}\p{N}_.-])[a-z0-9-]+\.vercel\.app(?![\p{L}\p{N}_-])/giu,j=/@/g,k=new WeakMap;function l(a,b){return/^https?$/i.test(b)?"[link]":"[hidden]"}e._;let m="[\\p{L}\\p{N}_./-]",n=a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),o=/(?<![\p{L}\p{N}_.@-])(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,24}(?![\p{L}\p{N}_-]|\.[\p{L}\p{N}])/giu,p=new WeakMap;function q(a,e){return String(a??"").replace(/\r\n?/g,"\n").split("\n").map(a=>{var q,r;let s,t,u,v=(q=(0,c.F)(a,e),s=q.replace(f,l),s=(0,b.J)(s,e),s=(s=(0,d.h)(s)).replace(h,"[hidden]"),(t=function(a){if(k.has(a))return k.get(a);let b=[...a.host??[]].filter(a=>a.name.includes(".")).sort((a,b)=>b.name.length-a.name.length),c=b.length?{re:RegExp(`(?<![\\p{L}\\p{N}_-])((?:[a-z0-9-]+\\.)*?)(${b.map(a=>a.name.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|")})(?![\\p{L}\\p{N}_-]|\\.[\\p{L}\\p{N}])`,"giu"),alias:new Map(b.map(a=>[a.name.toLowerCase(),a.alias]))}:null;return k.set(a,c),c}(e))&&(s=s.replace(t.re,(a,b,c)=>`${b}${t.alias.get(c.toLowerCase())??"site.example"}`)),s=s.replace(i,"preview.example").replace(g,"[ip]").replace(j," at "));return v=v.replace(o,a=>/\.example$/i.test(a)?a:"site.example"),(0,b.G)((r=v,(u=function(a){if(p.has(a))return p.get(a);let b=new Map(a.app.filter(a=>a.name.trim().length>=2).map(a=>[a.name.toLowerCase(),a.alias])),c=[...b.keys()].sort((a,b)=>b.length-a.length),d=c.length?{re:RegExp(`(?<!${m})(?:${c.map(n).join("|")})(?!${m})`,"giu"),alias:b}:null;return p.set(a,d),d}(e))?r.replace(u.re,a=>u.alias.get(a.toLowerCase())??a):r))}).join("\n")}let r=(a,b)=>a.length>b?`${a.slice(0,b-1).trimEnd()}…`:a;a.s(["g",0,(a,b,c)=>r(q(String(a??"").replace(/\s+/g," "),b).replace(/\s+/g," ").trim(),c),"R",0,(a,c,d)=>{let e;return r((e=String(a??"").replace(/\s+/g," "),(0,b.q)(q(e,c),c)).replace(/\s+/g," ").trim(),d)}],488345)}]})();
7
-
8
- //# sourceMappingURL=src_0_5_wl0sww-x7._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[[868358,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AppActions() from the server but AppActions is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/apps/[id]/app-actions.tsx","AppActions"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call PromoteStaged() from the server but PromoteStaged is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/apps/[id]/app-actions.tsx","PromoteStaged");a.s(["AppActions",0,c,"PromoteStaged",0,d])},537728,a=>{var b=a.i(868358);a.n(b)},199364,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call LinkDialog() from the server but LinkDialog is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/apps/[id]/link-dialog.tsx","LinkDialog");a.s(["LinkDialog",0,b])},466627,a=>{var b=a.i(199364);a.n(b)},252650,a=>{var b=a.i(907997),c=a.i(906974),d=a.i(395936);a.i(570396);var e=a.i(673727),f=a.i(252302),g=a.i(649247),h=a.i(803681),i=a.i(685865),j=a.i(701702),k=a.i(513553),l=a.i(154756),m=a.i(293167),n=a.i(954296),o=a.i(686251),p=a.i(605826),q=a.i(715513),r=a.i(414280),s=a.i(791444),t=a.i(473083),u=a.i(109307),v=a.i(534908),w=a.i(875016),x=a.i(840784),y=a.i(532620),z=a.i(858806),A=a.i(513701),B=a.i(930270),C=a.i(396667),D=a.i(944571),E=a.i(30184),F=a.i(565255),G=a.i(751263),H=a.i(27522),I=a.i(683439),J=a.i(960186),K=a.i(558418),L=a.i(245710),M=a.i(240387),N=a.i(139138),O=a.i(657582),P=a.i(469762),Q=a.i(556987),R=a.i(631107),S=a.i(505237),T=a.i(570845);function U({data:a,link:d}){return(0,b.jsxs)(b.Fragment,{children:[a.lines.map(a=>(0,b.jsxs)("div",{className:"former"===a.tag?"text-ink-faint":void 0,children:[d&&"former"!==a.tag?(0,b.jsxs)("a",{href:`https://${a.name}`,target:"_blank",rel:"noreferrer",children:[(0,b.jsx)(j.MaskedText,{text:a.name,inLink:!0})," ",(0,b.jsx)(c.f,{size:14,"aria-hidden":!0,className:"inline align-[-2px]"})]}):(0,b.jsx)(j.MaskedText,{text:a.name}),a.tag&&(0,b.jsxs)(b.Fragment,{children:[" ",(0,b.jsx)(h.E,{children:"redirect"===a.tag&&a.target?(0,b.jsxs)(b.Fragment,{children:["β†’ ",(0,b.jsx)(j.MaskedText,{text:a.target})]}):a.tag})]})]},a.name)),a.more>0&&(0,b.jsxs)("div",{className:"text-ink-faint",children:["+",a.more," more"]})]})}let V={github:"https://github.com/",gitlab:"https://gitlab.com/",bitbucket:"https://bitbucket.org/"},W=encodeURIComponent;function X(a){return"supabase_project"===a.kind?{label:`Supabase \xb7 ${a.name}`,href:`https://supabase.com/dashboard/project/${W(a.externalId)}`}:"neon_project"===a.kind?{label:`Neon \xb7 ${a.name}`,href:`https://console.neon.tech/app/projects/${W(a.externalId)}`}:"firestore"===a.kind?{label:`Firebase \xb7 ${a.name}`,href:`https://console.firebase.google.com/project/${W(a.externalId)}/overview`}:null}var Y=a.i(679594),Z=a.i(863858),$=a.i(182357),_=a.i(968715),aa=a.i(228173),ab=a.i(768183),ac=a.i(393260),ad=a.i(537728),ae=a.i(718064),af=a.i(466627),ag=a.i(881868),ah=a.i(991813),ai=a.i(143821);let aj="grid grid-cols-[170px_minmax(0,1fr)] gap-x-4 gap-y-2.5 max-[720px]:grid-cols-1 max-[720px]:gap-y-1 [&_dd]:min-w-0 [&_dd]:[overflow-wrap:anywhere] [&_dt]:text-ink-soft",ak="font-mono text-[12.5px]",al=["details","metrics","deployments","logs"];async function am({params:a,searchParams:c}){var m,r,H,K,R,$;let ag,ah,aq,ar,as,[{id:at},au]=await Promise.all([a,c]),av=await (0,u.I)();(0,I.f)(at)||(0,e.notFound)();let aw=new Date,ax=(0,S.z)(av.role),ay=(0,w.T)(aw,at).catch(()=>null),[az,aA,aB,aC,aD,aE,aF,aG,aH,aI,aJ]=await Promise.all([(0,x.Z)(at,aw),(0,A.P)(at,aw),(0,z.K)({appId:at}),(0,A.M)(at,new Date(aw.getTime()-864e5*_.F)),(0,E.P)(),(0,y.p)(),ax?(0,y.S)():Promise.resolve([]),(0,y.e)(),(0,D.c)(at).catch(()=>null),(0,B.j)(at).catch(()=>null),(0,C.I)()]);az||(0,e.notFound)();let aK=await ay,aL=aK&&aK.map(a=>(0,Q.d)(a,aG)),aM=(0,Z.f)(),aN="viewer"!==av.role&&aM?(0,Y.M)(az.teamSlug,az.name):null,aO=(0,S.k)(az),aP=(0,M.f)({...az,database:az.database?{id:az.database.id,kind:az.database.kind,name:(0,Q.X)(aG,az.database.id)}:null},aw),{WhyAiSlot:aQ,AiNotesSlot:aR,DevNotesSlot:aS}=v.extensions,aT="owner"===av.role&&aQ?(0,b.jsx)(aQ,{appId:az.id}):null,aU="owner"===av.role&&aR?(0,b.jsx)(aR,{appId:az.id}):null,aV=az.monitors.length>0&&az.monitors.every(a=>a.ownerPaused),aW=aM?`https://${az.domain}`:null,aX=(0,O.h)(aB),aY=a=>{let b=a?aB.find(b=>b.externalId===a):void 0;return b?{id:b.externalId,sha:(0,P._)(b.commitSha).replace("β€”","")}:null},aZ=aY(aX.stagedId),a$=(0,G.g)(az.productionSource,az.productionBranch,aw),a_=al.find(a=>a===au.tab)??"details",a0="logs"===a_&&"viewer"===av.role?"details":a_,a1=aE.find(a=>a.appId===az.id&&a.zoneName),a2=aW?(m={teamSlug:az.teamSlug,projectName:az.name,repo:az.repo,repoType:az.repoType,siteUrl:aW,dbs:az.database?[{...az.database,name:(0,Q.X)(aG,az.database.id)}]:[],zone:a1?{accountId:a1.cfAccountId,name:a1.zoneName}:null},ah=[],m.teamSlug&&ah.push({label:"Vercel project",href:`https://vercel.com/${W(m.teamSlug)}/${W(m.projectName)}`}),(aq=m.repoType?V[m.repoType]:void 0)&&m.repo&&ah.push({label:"Git repository",href:`${aq}${m.repo.split("/").map(W).join("/")}`}),ah.push({label:"Live site",href:m.siteUrl}),(ar=[...m.dbs.map(X).filter(a=>null!==a),...m.zone?.accountId?[{label:`Cloudflare \xb7 ${m.zone.name}`,href:`https://dash.cloudflare.com/${W(m.zone.accountId)}/${W(m.zone.name)}`}]:[]]).length?[...ah,"---",...ar]:ah):[];return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.AutoRefresh,{at:aw.getTime()}),(0,b.jsx)(h.L,{crumbs:[{label:"Applications",href:"/apps"},{label:az.name}],badge:(0,b.jsx)(l.g,{kind:"app"}),title:az.name,actions:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ai.WhyStatus,{state:aO.state,label:aO.label,problems:aP,nowMs:aw.getTime(),aiSlot:aT}),a2.length>0&&(0,b.jsx)(q.RowMenu,{button:!0,label:"Open in",items:a2.map(a=>"---"===a?a:{label:a.label,href:a.href})}),ax&&(0,b.jsx)(ad.AppActions,{app:{id:az.id,name:az.name,siteUrl:aW,paused:aV,monitorCount:az.monitors.length},owner:"owner"===av.role,current:aY(aX.currentId),previous:aY(aX.previousId),rolledBack:null!==aZ})]})}),aZ&&(0,b.jsx)("div",{className:"mb-4",children:(0,b.jsx)(h.M,{tone:"warning",title:"Rolled back: new pushes don't go live until you promote one.",action:ax?(0,b.jsx)(ad.PromoteStaged,{app:{id:az.id,name:az.name},staged:aZ}):void 0})}),(0,b.jsxs)(t.Tabs,{defaultValue:a0,className:"gap-4",children:[(0,b.jsxs)(t.TabsList,{variant:"line",children:[(0,b.jsx)(t.TabsTrigger,{value:"details",children:"Details"}),(0,b.jsx)(t.TabsTrigger,{value:"metrics",children:"Metrics"}),(0,b.jsx)(t.TabsTrigger,{value:"deployments",children:"Deployments"}),"viewer"!==av.role&&(0,b.jsx)(t.TabsTrigger,{value:"logs",children:"Logs"})]}),(0,b.jsxs)(t.TabsContent,{value:"details",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-4 min-[1001px]:grid-cols-2",children:[(0,b.jsx)(h.N,{title:"Details",meta:(0,b.jsx)(n.Src,{kind:"api"}),children:(0,b.jsxs)("dl",{className:aj,children:[(0,b.jsx)("dt",{children:"Name"}),(0,b.jsx)("dd",{children:(0,b.jsx)(j.Masked,{kind:"app",real:az.name})}),(0,b.jsx)("dt",{children:"Domains"}),(0,b.jsx)("dd",{children:(0,b.jsx)(U,{data:az.domainLines,link:aM})}),(0,b.jsx)("dt",{children:"Framework"}),(0,b.jsx)("dd",{children:az.framework??"β€”"}),(0,b.jsx)("dt",{children:"Function region"}),(0,b.jsx)("dd",{className:(0,N.f)(ak,!az.functionRegions.length&&"text-ink-faint"),children:az.functionRegions.join(", ")||"β€”"}),(0,b.jsx)("dt",{children:"Production branch"}),(0,b.jsx)("dd",{className:ak,children:az.productionBranch??"β€”"}),a$&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{children:"Production built from"}),(0,b.jsxs)("dd",{children:[(0,b.jsx)("span",{className:ak,children:a$.text}),a$.warning&&(0,b.jsx)("span",{className:"ml-2 rounded border border-warn-icon/40 bg-warn-soft px-1.5 py-px text-[11.5px] text-warn",title:a$.warning,children:"Update PRs need your approval"})]})]}),(0,b.jsx)("dt",{children:"Repository"}),(0,b.jsx)("dd",{className:(0,N.f)(ak,!az.repo&&"text-ink-faint"),children:az.repo?(0,b.jsx)(j.Masked,{kind:"repo",real:az.repo}):"β€”"}),(0,b.jsx)("dt",{children:"Created"}),(0,b.jsx)("dd",{children:az.createdAt?(0,P.H)(az.createdAt):"β€”"})]})}),(0,b.jsx)(h.N,{title:"Status",children:(0,b.jsxs)("dl",{className:aj,children:[(0,b.jsx)("dt",{children:"Status"}),(0,b.jsx)("dd",{children:(0,b.jsx)(ai.WhyStatus,{state:aO.state,label:aO.label,problems:aP,nowMs:aw.getTime(),aiSlot:aT})}),(0,b.jsx)("dt",{children:"Database"}),(0,b.jsxs)("dd",{children:[az.database?(0,b.jsx)(aa.y,{db:az.database}):(0,b.jsx)("span",{className:"text-ink-faint",children:"None"}),ax&&(0,b.jsxs)(b.Fragment,{children:[" ",(0,b.jsx)(af.LinkDialog,{app:{id:az.id,name:az.name},options:aF,current:az.database?.id??null,suggested:(0,J.U)(az.name,aF)})]})]}),(0,b.jsx)("dt",{children:"Uptime 30 days"}),(0,b.jsx)("dd",{className:ak,children:(0,P.C)(az.uptime30)}),(0,b.jsx)("dt",{children:"Response 24 h"}),(0,b.jsxs)("dd",{className:ak,children:["p50 ",(0,P.p)(az.response.p50)," Β· p95 ",(0,P.p)(az.response.p95)]}),(0,b.jsx)("dt",{children:"Last deploy"}),(0,b.jsx)("dd",{children:az.lastDeploy?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:ak,children:(0,P._)(az.lastDeploy.commitSha)})," Β· ",(0,P.$)(az.lastDeploy,aw)]}):"β€”"}),(0,b.jsx)("dt",{children:"Monitors"}),(0,b.jsxs)("dd",{children:[0===az.monitors.length?(0,b.jsx)("span",{className:"text-ink-faint",children:"None"}):az.monitors.map(a=>{let c=(0,S.M)({...a,appGone:az.gone}),e=("err"===c.state||"warn"===c.state)&&!a.maintUntil,f=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o.Z,{state:c.state}),(0,b.jsxs)("span",{className:"sr-only",children:[c.label,": "]}),(0,b.jsx)("span",{className:ak,children:a.path})]});return e?(0,b.jsx)(d.default,{href:"/uptime",title:`${c.label}. See why on Uptime`,className:"mr-2.5 inline-flex items-center gap-1.5",children:f},a.id):(0,b.jsx)("span",{title:c.label,className:"mr-2.5 inline-flex items-center gap-1.5",children:f},a.id)}),az.monitors.filter(a=>a.move&&!az.gone).map(a=>(0,b.jsx)("div",{className:"mt-1",children:(0,b.jsx)(T.DomainMoved,{monitorId:a.id,from:a.move.from,to:a.move.to,canAct:ax})},`move-${a.id}`))]})]})})]}),(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)(ao,{app:{id:az.id,name:az.name},security:az.security,canAct:ax&&!az.gone,now:aw,eol:aD})}),aI&&aH&&(aH.connected||aH.link)&&(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)(ae.f,{app:{id:az.id,name:az.name},view:aI,canAct:ax&&!az.gone,owner:"owner"===av.role,now:aw,devopsOff:aJ.has("devops")})}),aH&&(aH.connected||aH.link)&&(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)(ap,{app:{id:az.id,name:az.name},view:aH,suggestion:aH.link?null:(R=az.name,$=aH,(ag=(0,F.J)(R,$.repos))?{...ag,fullName:$.repos.find(a=>a.id===ag.repoId).fullName}:null),owner:"owner"===av.role,canAct:ax,now:aw})}),"owner"===av.role&&aS&&(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)(aS,{appId:az.id})}),aL&&(aL.length>0||aU)&&(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)(k.f,{items:aL,canDismiss:ax,showSubject:!1,hideWhenEmpty:!0,notes:aU})})]}),(0,b.jsx)(t.TabsContent,{value:"metrics",keepMounted:!0,children:(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-4 min-[1001px]:grid-cols-3",children:[(0,b.jsx)(h.N,{title:"Response time",meta:(0,b.jsxs)(b.Fragment,{children:["24 h Β· ms",(0,b.jsx)(n.Src,{kind:"own"})]}),children:(0,b.jsx)(f.t,{values:aA.response,second:aA.median,ticks:(r=aA.first,H=aA.sizeMs,as=r+(K=aA.response.length)*H,aC.filter(a=>a.at.getTime()>=r&&a.at.getTime()<as).map(a=>{let b;return{x:Math.round(Math.min((a.at.getTime()-r)/H,K-1)/Math.max(1,K-1)*4e3)/10,title:`${"error"===(b=a.state)?"Deploy failed":"building"===b?"Deploying":"Deployed"} ${(0,P._)(a.sha)} \xb7 ${(0,L.U)(a.at)}`}})),width:400,height:120,fluid:!0,tone:"err"===aO.state?"err":"accent",label:"Response time p95 and p50 in 30-minute steps, last 24 hours, with production deploys"})}),(0,b.jsx)(h.N,{title:"Page views",meta:(0,b.jsxs)(b.Fragment,{children:["24 h",(0,b.jsx)(n.Src,{kind:"api"})]}),children:(0,b.jsx)(an,{pv:az.pageViews,note:az.pageViewsNote,now:aw})}),(0,b.jsx)(h.N,{title:"5xx responses",meta:(0,b.jsxs)(b.Fragment,{children:["24 h",(0,b.jsx)(n.Src,{kind:"own"})]}),children:(0,b.jsx)(f.t,{values:aA.errors,width:400,height:120,fluid:!0,tone:"err",label:"5xx responses in 30-minute steps, last 24 hours"})})]}),(0,b.jsx)("p",{className:"text-[12.5px] text-ink-soft",children:"Vercel's request and error metrics need a paid plan, so response time and 5xx come from our own checks and stored logs. Page views come from Vercel Web Analytics (free on Hobby up to 50k events a month), read every 30 minutes."}),(0,b.jsx)(h.N,{title:"Uptime",flush:!0,meta:(0,b.jsx)("span",{className:"text-ink-faint",children:"A dark notch marks a day with a production deploy"}),children:0===az.monitors.length?(0,b.jsx)(g.x,{}):(0,b.jsx)(p.PlainTable,{head:["Monitor","Last 90 days","Uptime"],rows:az.monitors.map(a=>({key:a.id,state:a.state,text:a.path,row:(0,b.jsxs)("tr",{className:s.C,children:[(0,b.jsx)("td",{className:(0,N.f)(s.z,ak),children:a.path}),(0,b.jsx)("td",{className:s.z,children:(0,b.jsx)(f.n,{bars:(0,_.h)(az.days.get(a.id),aw,_.F,function(a){let b=new Map;for(let c of[...a].sort((a,b)=>a.at.getTime()-b.at.getTime())){let a=(0,L.x)(c.at),d=`${(0,P._)(c.sha)}${"error"===c.state?" (failed)":""}`;b.set(a,[...b.get(a)??[],d])}return new Map([...b].map(([a,b])=>[a,b.join(", ")]))}(aC))})}),(0,b.jsx)("td",{className:(0,N.f)(s.z,ak),children:(0,P.C)((0,_.Y)((0,_.w)(az.days.get(a.id),aw,_.I)))})]})}))})})]})}),(0,b.jsx)(t.TabsContent,{value:"deployments",keepMounted:!0,children:(0,b.jsx)(h.N,{flush:!0,children:0===aB.length?(0,b.jsx)(g.y,{}):(0,b.jsx)(p.PlainTable,{head:ab.G,rows:(0,ab.C)(aB,{canAct:ax,now:aw})})})}),"viewer"!==av.role&&(0,b.jsx)(t.TabsContent,{value:"logs",children:(0,b.jsx)(h.N,{flush:!0,children:(0,b.jsx)(ac.LogViewer,{mode:"live",apps:[],appId:az.id,initial:[],vercelUrl:aN})})})]})]})}function an({pv:a,note:c,now:d}){return a?a.enabled?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"mb-2 flex flex-wrap items-baseline gap-x-2 gap-y-0.5",children:[(0,b.jsx)("span",{className:"text-[22px] font-semibold tracking-[-0.02em]",children:a.total.toLocaleString("en-US")}),(0,b.jsxs)("span",{className:"text-[12.5px] text-ink-soft",children:[1===a.total?"view":"views"," Β· ",null===a.visitors?"β€”":a.visitors.toLocaleString("en-US")," ",1===a.visitors?"visitor":"visitors"]}),(0,R.Z)(a.readAt,d)&&(0,b.jsxs)("span",{className:"ml-auto text-[12px] text-ink-faint",children:["Read ",(0,L.$)(a.readAt,d)]})]}),(0,b.jsx)(f.k,{hours:a.hours,height:80,label:`Page views per hour, last 24 hours: ${a.total} views from ${a.visitors??"an unknown number of"} visitors`})]}):(0,b.jsxs)("div",{className:"flex min-h-[120px] flex-col gap-1.5 text-[12.5px] text-ink-soft",children:[(0,b.jsx)("p",{className:"text-[13px] text-ink",children:"Web Analytics is off for this project."}),(0,b.jsxs)("ol",{className:"list-decimal space-y-1 pl-4",children:[(0,b.jsx)("li",{children:"Enable Web Analytics in the Vercel project (Analytics tab)."}),(0,b.jsxs)("li",{children:["Add ",(0,b.jsx)("code",{className:"font-mono text-[12px] text-ink",children:"<Analytics />"})," from ",(0,b.jsx)("code",{className:"font-mono text-[12px] text-ink",children:"@vercel/analytics"})," to the app's root layout and redeploy."]})]}),(0,b.jsx)("p",{className:"mt-auto text-ink-faint",children:"Free on Hobby up to 50k events a month."})]}):(0,b.jsx)("p",{className:"grid h-[120px] place-items-center text-center text-[12.5px] text-ink-soft",children:c??"Reading page views…"})}function ao({app:a,security:c,canAct:d,now:e,eol:f}){let g=(0,$.g)(c);return(0,b.jsxs)(h.N,{title:"Security",meta:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(n.Src,{kind:"own"}),d&&(0,b.jsx)(ah.SecurityCheckButton,{appId:a.id,appName:a.name})]}),flush:!0,children:[(0,b.jsxs)("div",{className:"px-[18px] pb-4 pt-2",children:[(0,b.jsxs)("dl",{className:aj,children:[(0,b.jsx)("dt",{children:"Next.js"}),(0,b.jsx)("dd",{children:c?.version?(0,b.jsx)("span",{className:ak,children:c.version}):c?.status==="unknown"?(0,b.jsxs)(b.Fragment,{children:["β€” ",(0,b.jsx)("span",{className:"text-ink-faint",children:c.reason})]}):"β€”"}),(0,b.jsxs)("dt",{children:["End of life ",(0,b.jsx)(n.Src,{kind:"api",children:"endoflife.date"})]}),(0,b.jsx)("dd",{children:(0,b.jsx)(aq,{version:c?.version??null,eol:f,now:e})}),(0,b.jsx)("dt",{children:"Checked"}),(0,b.jsx)("dd",{children:c?(0,L.$)(c.checkedAt,e):"β€”"})]}),g&&(0,b.jsxs)("p",{className:(0,N.f)("mt-3 flex items-start gap-1.5","ok"!==g.state&&"text-ink-soft"),children:[("ok"===g.state||"warn"===g.state)&&(0,b.jsx)(o.Z,{state:g.state}),(0,b.jsx)("span",{children:g.text})]})]}),(0,$.X)(c)&&(0,b.jsx)(p.PlainTable,{head:["ID","Severity","Summary","Fix"],rows:c.findings.map(a=>({key:a.id,state:a.severity,text:[a.id,a.cve,a.summary].join(" "),row:(0,b.jsxs)("tr",{className:s.C,children:[(0,b.jsxs)("td",{className:s.z,children:[(0,b.jsx)("a",{href:`https://osv.dev/vulnerability/${encodeURIComponent(a.id)}`,target:"_blank",rel:"noopener",className:ak,children:a.id}),a.cve&&(0,b.jsx)("div",{className:(0,N.f)(ak,"mt-0.5 text-xs text-ink-faint"),children:a.cve})]}),(0,b.jsx)("td",{className:s.z,children:(0,b.jsx)(m.s,{severity:a.severity})}),(0,b.jsx)("td",{className:(0,N.f)(s.z,s.M),children:a.summary||(0,b.jsx)("span",{className:"text-ink-faint",children:"No summary"})}),(0,b.jsx)("td",{className:(0,N.f)(s.z,ak),children:a.fixed?`Fixed in ${a.fixed}`:(0,b.jsx)("span",{className:"text-ink-faint",children:"No fix yet"})})]})}))})]})}function ap({app:a,view:d,suggestion:e,owner:f,canAct:g,now:i}){let k=d.link?.repo??null,l=k?(0,H.N)(k.actions,k.defaultBranch):null,m=!k?.actions||"none"in k.actions?null:k.actions;return(0,b.jsx)(h.N,{title:"Repository",meta:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(n.Src,{kind:"api",children:"GitHub"}),k&&g&&d.connected&&(0,b.jsx)(ag.RefreshActionsButton,{appId:a.id})]}),children:k?(0,b.jsxs)("dl",{className:aj,children:[(0,b.jsx)("dt",{children:"Repository"}),(0,b.jsxs)("dd",{children:[(0,b.jsx)(r.f,{href:k.htmlUrl??`https://github.com/${k.fullName}`,target:"_blank",rel:"noopener",className:ak,children:(0,b.jsx)(j.Masked,{kind:"repo",real:k.fullName})}),(0,b.jsxs)("span",{className:"text-ink-faint",children:[" Β· ",k.private?"private":"public",k.archived?" Β· archived":"",k.goneAt?" Β· no longer shared with the token":""]}),f&&d.connected&&(0,b.jsxs)(b.Fragment,{children:[" ",(0,b.jsx)(ag.RepoDialog,{app:a,options:d.options,current:k.id,suggested:null,label:"Change"})]})]}),(0,b.jsx)("dt",{children:"Linked"}),(0,b.jsx)("dd",{className:"text-ink-soft",children:(0,H.z)(d.link.source)}),(0,b.jsx)("dt",{children:"Default branch"}),(0,b.jsx)("dd",{className:ak,children:k.defaultBranch??"β€”"}),(0,b.jsx)("dt",{children:"Last push"}),(0,b.jsx)("dd",{children:k.pushedAt?(0,L.$)(k.pushedAt,i):"β€”"}),(0,b.jsx)("dt",{children:"GitHub Actions"}),(0,b.jsxs)("dd",{children:[(0,b.jsx)(o.F,{state:l.state,children:l.label}),m&&(0,b.jsxs)("span",{className:"text-ink-soft",children:[" Β· ",m.name??"workflow",m.runNumber?` #${m.runNumber}`:"",m.sha?(0,b.jsxs)(b.Fragment,{children:[" Β· ",(0,b.jsx)("span",{className:ak,children:(0,P._)(m.sha)})]}):null,m.at?` \xb7 ${(0,L.$)(new Date(m.at),i)}`:""]}),m?.url&&(0,Z.f)()&&(0,b.jsxs)(b.Fragment,{children:[" Β· ",(0,b.jsxs)("a",{href:m.url,target:"_blank",rel:"noopener",children:["Open run ",(0,b.jsx)(c.f,{size:13,"aria-hidden":!0,className:"inline align-[-2px]"})]})]}),k.actionsCheckedAt&&(0,b.jsxs)("span",{className:"block text-[12px] text-ink-faint",children:["Read ",(0,L.$)(k.actionsCheckedAt,i)]})]})]}):(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-ink-soft",children:[e?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{children:["Suggested: ",(0,b.jsx)("span",{className:ak,children:(0,b.jsx)(j.Masked,{kind:"repo",real:e.fullName})})," (",(0,H._)(e.why),")."]}),f&&(0,b.jsx)(ag.ConfirmRepo,{appId:a.id,repoId:e.repoId,fullName:e.fullName})]}):(0,b.jsxs)("span",{children:["No repository linked. ",d.options.length?"None matches the app's name.":"Sync GitHub on Connections to list your repositories."]}),f&&d.options.length>0&&(0,b.jsx)(ag.RepoDialog,{app:a,options:d.options,current:null,suggested:e?.repoId??null,label:"Choose…"})]})})}function aq({version:a,eol:c,now:d}){let e=(0,K.e)(a,c,d);return"unknown"===e.state?(0,b.jsx)("span",{className:"text-ink-faint",children:e.text}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o.F,{state:e.state,children:e.text}),e.note&&(0,b.jsxs)("span",{className:"text-ink-faint",children:[" Β· ",e.note]})]})}a.s(["default",0,am,"maxDuration",0,60],252650)},228056,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ConfirmRepo() from the server but ConfirmRepo is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/apps/[id]/repo-dialog.tsx","ConfirmRepo"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call RefreshActionsButton() from the server but RefreshActionsButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/apps/[id]/repo-dialog.tsx","RefreshActionsButton"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call RepoDialog() from the server but RepoDialog is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/apps/[id]/repo-dialog.tsx","RepoDialog");a.s(["ConfirmRepo",0,c,"RefreshActionsButton",0,d,"RepoDialog",0,e])},881868,a=>{var b=a.i(228056);a.n(b)},300400,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call SecurityCheckButton() from the server but SecurityCheckButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/apps/[id]/security-check-button.tsx","SecurityCheckButton");a.s(["SecurityCheckButton",0,b])},991813,a=>{var b=a.i(300400);a.n(b)},340514,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call WhyStatus() from the server but WhyStatus is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/apps/[id]/why-status.tsx","WhyStatus");a.s(["WhyStatus",0,b])},143821,a=>{var b=a.i(340514);a.n(b)},492324,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call RowMenu() from the server but RowMenu is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/row-menu.tsx","RowMenu");a.s(["RowMenu",0,b])},715513,a=>{var b=a.i(492324);a.n(b)}],102158,function(a){a.n(a.i(252650))}];
2
-
3
- //# sourceMappingURL=src_1koc8y1nfdlw3._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[[414280,a=>{var b=a.i(907997),c=a.i(863858);a.s(["f",0,function({href:a,children:d,className:e,...f}){return(0,c.f)()?(0,b.jsx)("a",{href:a,className:e,...f,children:d}):(0,b.jsx)("span",{className:e,children:d})}])},50908,a=>{var b=a.i(93321),c=a.i(548734),d=a.i(837137),e=a.i(20060);async function f(){let[a]=await (0,c.f)().select({value:d.settings.value}).from(d.settings).where((0,b.u)(d.settings.key,e.o)).limit(1);return a?(0,e.m)(a.value):null}async function g(a,b,h,i=process.env){if((0,e.s)(i).off)return;let j=b-Date.now();if(j<1e3)throw Error("skipped, time budget used");let k=await (0,e.i)({timeoutMs:Math.min(e.Y,j)}),l=await f();k.indexError&&h.push(`node: ${k.indexError}`),k.cyclesError&&h.push(`node: ${k.cyclesError}`);let m=(0,e.T)(l,k,a);await (0,c.f)().insert(d.settings).values({key:e.o,value:m}).onConflictDoUpdate({target:d.settings.key,set:{value:m,updatedAt:a}})}a.s(["i",0,f,"q",0,g])},863858,a=>{var b=a.i(371289);a.s(["f",0,function(a=process.env){return!(0,b.W)(a)}])}],461750,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1ijizmc3ga_6o._.js","server/chunks/ssr/src_db_pglite_ts_0r1r9wqxilnam._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(614755)))},73710,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_cookie_ts_0a12-0n1novgh._.js"].map(b=>a.l(b))).then(()=>b(716983)))},871289,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1-d88ogkwql_b._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(204048)))},734864,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_0ftmf3wmtezvl._.js"].map(b=>a.l(b))).then(()=>b(579739)))},522169,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_seed_members_ts_0pz2fa9295pvm._.js"].map(b=>a.l(b))).then(()=>b(615089)))},372153,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_session_ts_0rwvb3aun41zx._.js","server/chunks/ssr/src_lib_demo_0a5wqvhuj5hjh._.js"].map(b=>a.l(b))).then(()=>b(765161)))},414785,a=>{a.v(a=>Promise.resolve().then(()=>a(534908)))},801116,a=>{a.v(a=>Promise.resolve().then(()=>a(624065)))}];
2
-
3
- //# sourceMappingURL=src_1xoua7wkmyfkn._.js.map