watchbell 1.0.0 → 1.2.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 (1030) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +123 -84
  3. package/bin/watchbell.mjs +593 -23
  4. package/package.json +1 -1
  5. package/server/.next/BUILD_ID +1 -1
  6. package/server/.next/app-path-routes-manifest.json +1 -0
  7. package/server/.next/build-manifest.json +116 -105
  8. package/server/.next/prerender-manifest.json +3 -3
  9. package/server/.next/routes-manifest.json +6 -0
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page/build-manifest.json +3 -3
  11. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +11 -11
  12. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +61 -58
  13. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  14. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  15. package/server/.next/server/app/(console)/(private)/ai/ask/page/build-manifest.json +3 -3
  16. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +10 -10
  17. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +61 -58
  18. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  19. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/connect/page/build-manifest.json +3 -3
  21. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +9 -9
  22. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +61 -58
  23. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  25. package/server/.next/server/app/(console)/(private)/ai/keys/page/build-manifest.json +3 -3
  26. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +12 -12
  27. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +61 -58
  28. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  29. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  30. package/server/.next/server/app/(console)/(private)/ai/logs/page/build-manifest.json +3 -3
  31. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +10 -10
  32. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +61 -58
  33. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  34. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  35. package/server/.next/server/app/(console)/(private)/ai/models/page/build-manifest.json +3 -3
  36. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +19 -19
  37. package/server/.next/server/app/(console)/(private)/ai/models/page.js +61 -58
  38. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  39. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/page/build-manifest.json +3 -3
  41. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +9 -9
  42. package/server/.next/server/app/(console)/(private)/ai/page.js +61 -58
  43. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  44. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  45. package/server/.next/server/app/(console)/(private)/ai/playground/page/build-manifest.json +3 -3
  46. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +12 -12
  47. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +61 -58
  48. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  49. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  50. package/server/.next/server/app/(console)/(private)/ai/providers/page/build-manifest.json +3 -3
  51. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +15 -15
  52. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +61 -58
  53. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  54. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  55. package/server/.next/server/app/(console)/(private)/ai/quota/page/build-manifest.json +3 -3
  56. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +10 -10
  57. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +61 -58
  58. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  59. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  60. package/server/.next/server/app/(console)/(private)/ai/usage/page/build-manifest.json +3 -3
  61. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +10 -10
  62. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +61 -58
  63. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  64. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  65. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/build-manifest.json +3 -3
  66. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +9 -9
  67. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +61 -58
  68. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  69. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  70. package/server/.next/server/app/(console)/(private)/auto-actions/page/build-manifest.json +3 -3
  71. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +10 -10
  72. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +61 -58
  73. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  74. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  75. package/server/.next/server/app/(console)/[...slug]/page/build-manifest.json +3 -3
  76. package/server/.next/server/app/(console)/[...slug]/page/server-reference-manifest.json +9 -9
  77. package/server/.next/server/app/(console)/[...slug]/page.js +62 -59
  78. package/server/.next/server/app/(console)/[...slug]/page.js.nft.json +1 -1
  79. package/server/.next/server/app/(console)/[...slug]/page_client-reference-manifest.js +1 -1
  80. package/server/.next/server/app/(console)/alerts/page/build-manifest.json +3 -3
  81. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +22 -22
  82. package/server/.next/server/app/(console)/alerts/page.js +61 -58
  83. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  84. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  85. package/server/.next/server/app/(console)/apps/[id]/page/build-manifest.json +3 -3
  86. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +23 -23
  87. package/server/.next/server/app/(console)/apps/[id]/page.js +61 -58
  88. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  89. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  90. package/server/.next/server/app/(console)/apps/page/build-manifest.json +3 -3
  91. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +11 -11
  92. package/server/.next/server/app/(console)/apps/page.js +61 -58
  93. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  94. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  95. package/server/.next/server/app/(console)/backups/page/build-manifest.json +3 -3
  96. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +12 -12
  97. package/server/.next/server/app/(console)/backups/page.js +61 -58
  98. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  99. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  100. package/server/.next/server/app/(console)/catalog/page/build-manifest.json +3 -3
  101. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +9 -9
  102. package/server/.next/server/app/(console)/catalog/page.js +61 -58
  103. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  104. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  105. package/server/.next/server/app/(console)/connections/page/build-manifest.json +3 -3
  106. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +54 -54
  107. package/server/.next/server/app/(console)/connections/page.js +67 -64
  108. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  109. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  110. package/server/.next/server/app/(console)/d1/page/build-manifest.json +3 -3
  111. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +9 -9
  112. package/server/.next/server/app/(console)/d1/page.js +61 -58
  113. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  114. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  115. package/server/.next/server/app/(console)/deployments/page/build-manifest.json +3 -3
  116. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +14 -14
  117. package/server/.next/server/app/(console)/deployments/page.js +61 -58
  118. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  119. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  120. package/server/.next/server/app/(console)/dns/page/build-manifest.json +3 -3
  121. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +16 -16
  122. package/server/.next/server/app/(console)/dns/page.js +61 -58
  123. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  124. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  125. package/server/.next/server/app/(console)/domains/page/build-manifest.json +3 -3
  126. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +11 -11
  127. package/server/.next/server/app/(console)/domains/page.js +61 -58
  128. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  129. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  130. package/server/.next/server/app/(console)/events/page/build-manifest.json +3 -3
  131. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +9 -9
  132. package/server/.next/server/app/(console)/events/page.js +61 -58
  133. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  134. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  135. package/server/.next/server/app/(console)/firebase/page/build-manifest.json +3 -3
  136. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +15 -15
  137. package/server/.next/server/app/(console)/firebase/page.js +62 -59
  138. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  139. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  140. package/server/.next/server/app/(console)/logs/page/build-manifest.json +3 -3
  141. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +10 -10
  142. package/server/.next/server/app/(console)/logs/page.js +61 -58
  143. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  144. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  145. package/server/.next/server/app/(console)/manage/sections/page/app-paths-manifest.json +3 -0
  146. package/server/.next/server/app/(console)/manage/sections/page/build-manifest.json +22 -0
  147. package/server/.next/server/app/(console)/manage/sections/page/next-font-manifest.json +11 -0
  148. package/server/.next/server/app/(console)/manage/sections/page/react-loadable-manifest.json +1 -0
  149. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +105 -0
  150. package/server/.next/server/app/(console)/manage/sections/page.js +104 -0
  151. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -0
  152. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +3 -0
  153. package/server/.next/server/app/(console)/neon/page/build-manifest.json +3 -3
  154. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +20 -20
  155. package/server/.next/server/app/(console)/neon/page.js +61 -58
  156. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  157. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  158. package/server/.next/server/app/(console)/overview/page/build-manifest.json +3 -3
  159. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +16 -16
  160. package/server/.next/server/app/(console)/overview/page.js +61 -58
  161. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  162. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  163. package/server/.next/server/app/(console)/repos/[id]/page/build-manifest.json +3 -3
  164. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +10 -10
  165. package/server/.next/server/app/(console)/repos/[id]/page.js +61 -58
  166. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  167. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  168. package/server/.next/server/app/(console)/repos/page/build-manifest.json +3 -3
  169. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +9 -9
  170. package/server/.next/server/app/(console)/repos/page.js +61 -58
  171. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  172. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  173. package/server/.next/server/app/(console)/settings/page/build-manifest.json +3 -3
  174. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +19 -19
  175. package/server/.next/server/app/(console)/settings/page.js +61 -58
  176. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  177. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  178. package/server/.next/server/app/(console)/sql/page/build-manifest.json +3 -3
  179. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +16 -16
  180. package/server/.next/server/app/(console)/sql/page.js +61 -58
  181. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  182. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  183. package/server/.next/server/app/(console)/status/page/build-manifest.json +3 -3
  184. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +9 -9
  185. package/server/.next/server/app/(console)/status/page.js +61 -58
  186. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  187. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  188. package/server/.next/server/app/(console)/supabase/page/build-manifest.json +3 -3
  189. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +27 -27
  190. package/server/.next/server/app/(console)/supabase/page.js +61 -58
  191. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  192. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  193. package/server/.next/server/app/(console)/topology/page/build-manifest.json +3 -3
  194. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +9 -9
  195. package/server/.next/server/app/(console)/topology/page.js +61 -58
  196. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  197. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  198. package/server/.next/server/app/(console)/turso/page/build-manifest.json +3 -3
  199. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +9 -9
  200. package/server/.next/server/app/(console)/turso/page.js +61 -58
  201. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  202. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  203. package/server/.next/server/app/(console)/upstash/page/build-manifest.json +3 -3
  204. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +9 -9
  205. package/server/.next/server/app/(console)/upstash/page.js +61 -58
  206. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  207. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  208. package/server/.next/server/app/(console)/uptime/page/build-manifest.json +3 -3
  209. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +22 -22
  210. package/server/.next/server/app/(console)/uptime/page.js +61 -58
  211. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  212. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  213. package/server/.next/server/app/(console)/welcome/page/build-manifest.json +3 -3
  214. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +14 -14
  215. package/server/.next/server/app/(console)/welcome/page.js +62 -59
  216. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  217. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  218. package/server/.next/server/app/_global-error/page/build-manifest.json +3 -3
  219. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  220. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  221. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  222. package/server/.next/server/app/_global-error.html +1 -1
  223. package/server/.next/server/app/_global-error.rsc +3 -3
  224. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  225. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  226. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  227. package/server/.next/server/app/_not-found/page/build-manifest.json +3 -3
  228. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  229. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  230. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  231. package/server/.next/server/app/_not-found.html +1 -1
  232. package/server/.next/server/app/_not-found.rsc +4 -4
  233. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  234. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  235. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  236. package/server/.next/server/app/account/password/page/build-manifest.json +3 -3
  237. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  238. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  239. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  240. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  241. package/server/.next/server/app/api/collect/route.js +78 -73
  242. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  243. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  244. package/server/.next/server/app/api/daily/route.js +77 -72
  245. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  246. package/server/.next/server/app/api/health/route.js.nft.json +1 -1
  247. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  248. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  249. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
  250. package/server/.next/server/app/api/telegram/webhook/route.js +75 -70
  251. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  252. package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
  253. package/server/.next/server/app/api/v1/advice/route.js +20 -19
  254. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  255. package/server/.next/server/app/api/v1/ai/chat/completions/route.js +2 -2
  256. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  257. package/server/.next/server/app/api/v1/ai/models/route.js +2 -2
  258. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  259. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js +1 -1
  260. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  261. package/server/.next/server/app/api/v1/ai/questions/route.js +24 -23
  262. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  263. package/server/.next/server/app/api/v1/mcp/route.js +22 -21
  264. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  265. package/server/.next/server/app/api/v1/me/route.js +1 -1
  266. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  267. package/server/.next/server/app/api/v1/openapi.json/route.js +10 -9
  268. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  269. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +20 -19
  270. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  271. package/server/.next/server/app/api/v1/status/route.js +20 -19
  272. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  273. package/server/.next/server/app/api/watchdog/route.js +21 -19
  274. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  275. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  276. package/server/.next/server/app/auth/google/callback/route.js +18 -17
  277. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  278. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  279. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  280. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  281. package/server/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  282. package/server/.next/server/app/invite/page/build-manifest.json +3 -3
  283. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  284. package/server/.next/server/app/invite/page.js +4 -3
  285. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  286. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  287. package/server/.next/server/app/mfa/page/build-manifest.json +3 -3
  288. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  289. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  290. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  291. package/server/.next/server/app/mfa/setup/page/build-manifest.json +3 -3
  292. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  293. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  294. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  295. package/server/.next/server/app/page/build-manifest.json +3 -3
  296. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  297. package/server/.next/server/app/page.js.nft.json +1 -1
  298. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  299. package/server/.next/server/app/s/[slug]/badge/[file]/route.js +9 -8
  300. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  301. package/server/.next/server/app/s/[slug]/page/build-manifest.json +3 -3
  302. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  303. package/server/.next/server/app/s/[slug]/page.js +8 -8
  304. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  305. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  306. package/server/.next/server/app/setup/page/build-manifest.json +3 -3
  307. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  308. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  309. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  310. package/server/.next/server/app/signin/page/build-manifest.json +3 -3
  311. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  312. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  313. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  314. package/server/.next/server/app-paths-manifest.json +1 -0
  315. package/server/.next/server/chunks/{[externals]__0fbnlnnial7w5._.js → [externals]__0qo8lpb70m87u._.js} +1 -1
  316. package/server/.next/server/chunks/{[externals]__1e0dmqhilgze5._.js → [externals]__100hq0n2xtenb._.js} +1 -1
  317. package/server/.next/server/chunks/{[externals]__1jhautmcwmgii._.js → [externals]__1irgb5qz1s3gv._.js} +1 -1
  318. package/server/.next/server/chunks/{[root-of-the-server]__0_6eq1806attx._.js → [root-of-the-server]__00hb7hqa7qktx._.js} +1 -1
  319. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  320. package/server/.next/server/chunks/[root-of-the-server]__049ykc067tlsv._.js +1 -1
  321. package/server/.next/server/chunks/[root-of-the-server]__04q-9779vl4kn._.js +3 -0
  322. package/server/.next/server/chunks/[root-of-the-server]__04rnior8cyxtx._.js +3 -0
  323. package/server/.next/server/chunks/{[root-of-the-server]__010exlr_efe2h._.js → [root-of-the-server]__06ek056i_j_uk._.js} +2 -2
  324. package/server/.next/server/chunks/[root-of-the-server]__06f9e4kpi0mw8._.js +1 -1
  325. package/server/.next/server/chunks/[root-of-the-server]__06jphm4auz_sh._.js +3 -0
  326. package/server/.next/server/chunks/{[root-of-the-server]__06iz-tlpv7pqm._.js → [root-of-the-server]__06r-019fixp3f._.js} +1 -1
  327. package/server/.next/server/chunks/{[root-of-the-server]__0mtlynfv-vklo._.js → [root-of-the-server]__07uknh5b-embq._.js} +1 -1
  328. package/server/.next/server/chunks/{[root-of-the-server]__0j0medewrv95l._.js → [root-of-the-server]__07v5e0vzgl4n2._.js} +2 -2
  329. package/server/.next/server/chunks/{[root-of-the-server]__0ul6-jnt2oco7._.js → [root-of-the-server]__08fyoixg__c7n._.js} +1 -1
  330. package/server/.next/server/chunks/[root-of-the-server]__0_rfeg3389imx._.js +1 -1
  331. package/server/.next/server/chunks/[root-of-the-server]__0b2hzo6nez0we._.js +1 -1
  332. package/server/.next/server/chunks/[root-of-the-server]__0b9tciqdsctau._.js +3 -0
  333. package/server/.next/server/chunks/{[root-of-the-server]__09qqv-zsz9qhr._.js → [root-of-the-server]__0b_4w-5x5u7ag._.js} +1 -1
  334. package/server/.next/server/chunks/{[root-of-the-server]__1-37ctpn8yw_m._.js → [root-of-the-server]__0bnasoi-x21jc._.js} +1 -1
  335. package/server/.next/server/chunks/[root-of-the-server]__0c5w5y-db0jkb._.js +3 -0
  336. package/server/.next/server/chunks/{[root-of-the-server]__08i_or_xyqg4g._.js → [root-of-the-server]__0d8ypilha-el8._.js} +2 -2
  337. package/server/.next/server/chunks/{[root-of-the-server]__0znb_m_wygjdc._.js → [root-of-the-server]__0erdelc9_06nk._.js} +2 -2
  338. package/server/.next/server/chunks/{[root-of-the-server]__018ux7xja83l6._.js → [root-of-the-server]__0flqwe7amc3mz._.js} +2 -2
  339. package/server/.next/server/chunks/{[root-of-the-server]__0f5l9--3_wjvx._.js → [root-of-the-server]__0fw19tsgp-vbq._.js} +2 -2
  340. package/server/.next/server/chunks/{[root-of-the-server]__1_l4gp3r2d-7x._.js → [root-of-the-server]__0fw7l5y58_xcd._.js} +2 -2
  341. package/server/.next/server/chunks/{[root-of-the-server]__02ihdvnmhshoe._.js → [root-of-the-server]__0g1tldn4xjewd._.js} +2 -2
  342. package/server/.next/server/chunks/{[root-of-the-server]__0ogbwvwpnlx0b._.js → [root-of-the-server]__0grtjjr51j6xe._.js} +1 -1
  343. package/server/.next/server/chunks/{[root-of-the-server]__1jrqehmo6kq8x._.js → [root-of-the-server]__0h1qhdjpfq1d4._.js} +2 -2
  344. package/server/.next/server/chunks/{[root-of-the-server]__08801yoxfe_os._.js → [root-of-the-server]__0h4n81_nqdr4j._.js} +2 -2
  345. package/server/.next/server/chunks/{[root-of-the-server]__081ywec7cjq3d._.js → [root-of-the-server]__0hty-wue10pro._.js} +2 -2
  346. package/server/.next/server/chunks/[root-of-the-server]__0jqgfbhrgi28s._.js +3 -0
  347. package/server/.next/server/chunks/[root-of-the-server]__0m7i0l3nkbdfm._.js +1 -1
  348. package/server/.next/server/chunks/[root-of-the-server]__0mwiq4mkf8pc5._.js +1 -1
  349. package/server/.next/server/chunks/{[root-of-the-server]__0mui3wh3lfb6m._.js → [root-of-the-server]__0npmbdrxybln5._.js} +1 -1
  350. package/server/.next/server/chunks/{[root-of-the-server]__0-ok-3r9xtz0y._.js → [root-of-the-server]__0nqw6z6fp8wad._.js} +2 -2
  351. package/server/.next/server/chunks/{[root-of-the-server]__0_iz9zh9e_mov._.js → [root-of-the-server]__0olmk-rbbhxlo._.js} +2 -2
  352. package/server/.next/server/chunks/{[root-of-the-server]__0nsie5dba69e6._.js → [root-of-the-server]__0owyb9lr5t5u-._.js} +2 -2
  353. package/server/.next/server/chunks/[root-of-the-server]__0p3lnkpxf2-xz._.js +1 -1
  354. package/server/.next/server/chunks/[root-of-the-server]__0qmkpydmx3ljf._.js +3 -0
  355. package/server/.next/server/chunks/[root-of-the-server]__0r-zdzq6ki5gr._.js +3 -0
  356. package/server/.next/server/chunks/{[root-of-the-server]__0mhtnnebbepzx._.js → [root-of-the-server]__0si9k9jhdc0bm._.js} +2 -2
  357. package/server/.next/server/chunks/{[root-of-the-server]__0u66-8g4ql645._.js → [root-of-the-server]__0sivlmcvkc1uq._.js} +1 -1
  358. package/server/.next/server/chunks/[root-of-the-server]__0t8d8b4qkw3y-._.js +3 -0
  359. package/server/.next/server/chunks/{[root-of-the-server]__0i1de88cj5y-p._.js → [root-of-the-server]__0tl5pxttllr4d._.js} +2 -2
  360. package/server/.next/server/chunks/{[root-of-the-server]__1z3-s7wc9-uc6._.js → [root-of-the-server]__0uyh4jgcd9092._.js} +2 -2
  361. package/server/.next/server/chunks/[root-of-the-server]__0v4-g6c-ls39_._.js +3 -0
  362. package/server/.next/server/chunks/[root-of-the-server]__0vgnlhvdoh3bn._.js +3 -0
  363. package/server/.next/server/chunks/{[root-of-the-server]__1x9tt_2yhozwe._.js → [root-of-the-server]__0vp-x4ifpr3p9._.js} +2 -2
  364. package/server/.next/server/chunks/{[root-of-the-server]__15j_u2bz3jc-a._.js → [root-of-the-server]__0wy38l7k36j6g._.js} +1 -1
  365. package/server/.next/server/chunks/{[root-of-the-server]__0qesn8t6k9y_n._.js → [root-of-the-server]__0xiz361p5kdhf._.js} +1 -1
  366. package/server/.next/server/chunks/[root-of-the-server]__0z-07azr3zk8s._.js +3 -0
  367. package/server/.next/server/chunks/[root-of-the-server]__0z-41cwvkliev._.js +3 -0
  368. package/server/.next/server/chunks/[root-of-the-server]__0zxyfd7u67hmv._.js +3 -0
  369. package/server/.next/server/chunks/[root-of-the-server]__1-rqermjb77se._.js +3 -0
  370. package/server/.next/server/chunks/[root-of-the-server]__10c7apgidgs6x._.js +3 -0
  371. package/server/.next/server/chunks/{[root-of-the-server]__03pc2mot62sow._.js → [root-of-the-server]__10x3lu8jeqgbt._.js} +2 -2
  372. package/server/.next/server/chunks/{[root-of-the-server]__0gs-x779qi1ba._.js → [root-of-the-server]__11-van59e9p2a._.js} +2 -2
  373. package/server/.next/server/chunks/[root-of-the-server]__110c-t3wz3nzm._.js +1 -1
  374. package/server/.next/server/chunks/[root-of-the-server]__116b4n13dv75t._.js +3 -0
  375. package/server/.next/server/chunks/[root-of-the-server]__11k46kam6tbia._.js +1 -1
  376. package/server/.next/server/chunks/[root-of-the-server]__11tte6au1b-z-._.js +3 -0
  377. package/server/.next/server/chunks/[root-of-the-server]__127dbd1prkw0n._.js +3 -0
  378. package/server/.next/server/chunks/[root-of-the-server]__12uj0887q1ayr._.js +1 -1
  379. package/server/.next/server/chunks/[root-of-the-server]__13_b24n_f4my4._.js +3 -0
  380. package/server/.next/server/chunks/[root-of-the-server]__13be7gbo81td4._.js +3 -0
  381. package/server/.next/server/chunks/[root-of-the-server]__13h--47xmg706._.js +5 -0
  382. package/server/.next/server/chunks/{[root-of-the-server]__0wt74rsaz-308._.js → [root-of-the-server]__145gadwk31inl._.js} +2 -2
  383. package/server/.next/server/chunks/{[root-of-the-server]__0j53mir12jire._.js → [root-of-the-server]__14luo1ecxoqh-._.js} +1 -1
  384. package/server/.next/server/chunks/{[root-of-the-server]__15ddlx_ma_1iu._.js → [root-of-the-server]__162cm9ds1c5y2._.js} +2 -2
  385. package/server/.next/server/chunks/[root-of-the-server]__19kwj690b37xf._.js +1 -1
  386. package/server/.next/server/chunks/[root-of-the-server]__19vsae2naddj5._.js +3 -0
  387. package/server/.next/server/chunks/[root-of-the-server]__1_l065umy451k._.js +3 -0
  388. package/server/.next/server/chunks/[root-of-the-server]__1_ow7lgy0u7st._.js +3 -0
  389. package/server/.next/server/chunks/[root-of-the-server]__1akvpmbiap6nf._.js +1 -1
  390. package/server/.next/server/chunks/{[root-of-the-server]__0292lwnmh4wtc._.js → [root-of-the-server]__1aza-7l2pl-pm._.js} +2 -2
  391. package/server/.next/server/chunks/[root-of-the-server]__1bsyavebtmd7w._.js +3 -0
  392. package/server/.next/server/chunks/[root-of-the-server]__1cju843cjyf1t._.js +3 -0
  393. package/server/.next/server/chunks/{[root-of-the-server]__0qpf0qusq792k._.js → [root-of-the-server]__1cla4k3dqtcfb._.js} +2 -2
  394. package/server/.next/server/chunks/[root-of-the-server]__1fnsa-f0t7bxj._.js +3 -0
  395. package/server/.next/server/chunks/[root-of-the-server]__1g1176fer3j4e._.js +3 -0
  396. package/server/.next/server/chunks/[root-of-the-server]__1hqy35gww7ps2._.js +3 -0
  397. package/server/.next/server/chunks/[root-of-the-server]__1i92wg2yuvs4c._.js +3 -0
  398. package/server/.next/server/chunks/{[root-of-the-server]__03e141znq0hr-._.js → [root-of-the-server]__1iv6vg3z9ho81._.js} +1 -1
  399. package/server/.next/server/chunks/[root-of-the-server]__1j26i51ankv-z._.js +3 -0
  400. package/server/.next/server/chunks/{[root-of-the-server]__1jh0el-zvg4hp._.js → [root-of-the-server]__1j3-sv7eqyhjb._.js} +2 -2
  401. package/server/.next/server/chunks/[root-of-the-server]__1j3w0-cp17tx4._.js +3 -0
  402. package/server/.next/server/chunks/{[root-of-the-server]__1czhdqbxj_3ov._.js → [root-of-the-server]__1j_iy13gp2-on._.js} +2 -2
  403. package/server/.next/server/chunks/[root-of-the-server]__1kg91b3sadtoc._.js +3 -0
  404. package/server/.next/server/chunks/[root-of-the-server]__1kjndfodqqamq._.js +3 -0
  405. package/server/.next/server/chunks/[root-of-the-server]__1mami4vb3y5gd._.js +3 -0
  406. package/server/.next/server/chunks/[root-of-the-server]__1mse65-7gtj-n._.js +3 -0
  407. package/server/.next/server/chunks/{[root-of-the-server]__0q691wec2busx._.js → [root-of-the-server]__1objhlwwrjfjk._.js} +2 -2
  408. package/server/.next/server/chunks/[root-of-the-server]__1pscg7y0et34j._.js +3 -0
  409. package/server/.next/server/chunks/[root-of-the-server]__1rw0i4x2ake3x._.js +3 -0
  410. package/server/.next/server/chunks/[root-of-the-server]__1t9zp524wouer._.js +3 -0
  411. package/server/.next/server/chunks/{[root-of-the-server]__0tb-63ts77gqd._.js → [root-of-the-server]__1tefe1f5835t_._.js} +2 -2
  412. package/server/.next/server/chunks/[root-of-the-server]__1u1b3a58anm3f._.js +3 -0
  413. package/server/.next/server/chunks/[root-of-the-server]__1v-789ydxj30e._.js +3 -0
  414. package/server/.next/server/chunks/{[root-of-the-server]__132wlw6sbwt1d._.js → [root-of-the-server]__1vi0u2vkv3tk0._.js} +2 -2
  415. package/server/.next/server/chunks/{[root-of-the-server]__0j68ia9q425ff._.js → [root-of-the-server]__1w3svzao_gnxp._.js} +2 -2
  416. package/server/.next/server/chunks/[root-of-the-server]__1w_73psnce1dd._.js +3 -0
  417. package/server/.next/server/chunks/[root-of-the-server]__1x7ucdyxuh2_k._.js +3 -0
  418. package/server/.next/server/chunks/{[root-of-the-server]__08l1x_plf4dil._.js → [root-of-the-server]__1xdi98xyay6bn._.js} +1 -1
  419. package/server/.next/server/chunks/{[root-of-the-server]__18mztbxkzaxjs._.js → [root-of-the-server]__20_1nfa6fiz-q._.js} +2 -2
  420. package/server/.next/server/chunks/[root-of-the-server]__20b_clyk74g5u._.js +3 -0
  421. package/server/.next/server/chunks/[root-of-the-server]__20ev6t8zggct2._.js +3 -0
  422. package/server/.next/server/chunks/_004c7-39glldb._.js +4 -4
  423. package/server/.next/server/chunks/_008zv66xvj7ey._.js +37 -0
  424. package/server/.next/server/chunks/{_12uzjq-fbcuvb._.js → _01s3_8ssosvqi._.js} +1 -1
  425. package/server/.next/server/chunks/_03qlijpos6a21._.js +3 -0
  426. package/server/.next/server/chunks/_09l75j3ey14tc._.js +1 -1
  427. package/server/.next/server/chunks/_0a7533vs89s78._.js +7 -0
  428. package/server/.next/server/chunks/_0ejcrge5k4quv._.js +9 -9
  429. package/server/.next/server/chunks/_0k4iqzwm6w5_c._.js +37 -0
  430. package/server/.next/server/chunks/_0kmhvts35imzs._.js +1 -1
  431. package/server/.next/server/chunks/_0m1ll2r1g77ii._.js +1 -1
  432. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +3 -0
  433. package/server/.next/server/chunks/_0nt4hve0bi30h._.js +37 -0
  434. package/server/.next/server/chunks/_0op74d4yyc3ma._.js +1 -1
  435. package/server/.next/server/chunks/_0pf2g5n_ko5dq._.js +3 -0
  436. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +3 -3
  437. package/server/.next/server/chunks/_0qr77omrkuewo._.js +3 -0
  438. package/server/.next/server/chunks/_0rjh9w2ih3j2h._.js +3 -0
  439. package/server/.next/server/chunks/_0sy878k2ywjbq._.js +3 -0
  440. package/server/.next/server/chunks/_0tz4o-qufnu3l._.js +4 -4
  441. package/server/.next/server/chunks/_0voowig3y32v1._.js +1 -1
  442. package/server/.next/server/chunks/_0wxm_716tjorj._.js +3 -0
  443. package/server/.next/server/chunks/_0xf7mtsrkgc9e._.js +1 -1
  444. package/server/.next/server/chunks/_0zkmkbrbc96-h._.js +3 -0
  445. package/server/.next/server/chunks/_1-pw7jw52sbti._.js +3 -0
  446. package/server/.next/server/chunks/_103ai6ybnpq1k._.js +1 -1
  447. package/server/.next/server/chunks/_108e86rhye0o1._.js +1 -1
  448. package/server/.next/server/chunks/_10vh_l3hht4_3._.js +4 -4
  449. package/server/.next/server/chunks/_1476vtrt9101m._.js +1 -1
  450. package/server/.next/server/chunks/_14ymj3uzawde4._.js +7 -0
  451. package/server/.next/server/chunks/_15g-opioju_ju._.js +3 -0
  452. package/server/.next/server/chunks/_17aiz6zt-yv52._.js +1 -1
  453. package/server/.next/server/chunks/_1_son1yzo5xvl._.js +3 -0
  454. package/server/.next/server/chunks/_1b7pc6ohhqxs3._.js +9 -9
  455. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +3 -3
  456. package/server/.next/server/chunks/_1i7qkrp3fnx1a._.js +37 -0
  457. package/server/.next/server/chunks/_1kcmwgs544mo-._.js +1 -1
  458. package/server/.next/server/chunks/_1lq5m27p-ilrw._.js +1 -1
  459. package/server/.next/server/chunks/_1luzeov9x87mg._.js +7 -0
  460. package/server/.next/server/chunks/_1mnwzh3z9y4th._.js +3 -0
  461. package/server/.next/server/chunks/_1nuf-l7izvfl_._.js +1 -1
  462. package/server/.next/server/chunks/{_1jz6k3wy_s8br._.js → _1p0ced3sr0i_8._.js} +1 -1
  463. package/server/.next/server/chunks/_1ptcxyn1tzm9r._.js +1 -1
  464. package/server/.next/server/chunks/_1v7q0xdxbqawm._.js +1 -1
  465. package/server/.next/server/chunks/_1zx_54or1pubb._.js +1 -1
  466. package/server/.next/server/chunks/node_modules_next_dist_1i-_xribpwttd._.js +313 -0
  467. package/server/.next/server/chunks/{src_0uxqs7150nhx2._.js → src_014zbodp4djeb._.js} +2 -2
  468. package/server/.next/server/chunks/src_01jp2f5qmh8e2._.js +3 -0
  469. package/server/.next/server/chunks/{src_0n42os1q41rha._.js → src_04pgj--n_d4w5._.js} +2 -2
  470. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  471. package/server/.next/server/chunks/src_088gmyaew7ds0._.js +3 -0
  472. package/server/.next/server/chunks/src_0c-owt8q0lyj3._.js +3 -0
  473. package/server/.next/server/chunks/{src_01wdnb4skk1wz._.js → src_0kwnhwi77unm7._.js} +2 -2
  474. package/server/.next/server/chunks/src_0o4-snj7wkaav._.js +1 -1
  475. package/server/.next/server/chunks/{src_0d-zi077mzm6v._.js → src_0xqorb3-ef3ub._.js} +2 -2
  476. package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +3 -0
  477. package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +1 -1
  478. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  479. package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +3 -0
  480. package/server/.next/server/chunks/{src_03umyw-p7jhaj._.js → src_1dsh9rzlos6-1._.js} +2 -2
  481. package/server/.next/server/chunks/src_1hy7u0jtydq_d._.js +3 -0
  482. package/server/.next/server/chunks/src_1j2o14j0-23xv._.js +3 -0
  483. package/server/.next/server/chunks/src_1j71dvub05y-4._.js +3 -0
  484. package/server/.next/server/chunks/{src_1-r51arho90p7._.js → src_1no_yh953mran._.js} +2 -2
  485. package/server/.next/server/chunks/src_1s7yll47_n_hy._.js +3 -0
  486. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +3 -3
  487. package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +3 -0
  488. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +3 -3
  489. package/server/.next/server/chunks/src_instrumentation-node_ts_1c--sr1k7_8k2._.js +3 -0
  490. package/server/.next/server/chunks/src_lib_08u7n7-yunfvd._.js +2 -2
  491. package/server/.next/server/chunks/src_lib_0cbs2jlrw1qbh._.js +3 -0
  492. package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
  493. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  494. package/server/.next/server/chunks/src_lib_0oz4gm8agoidh._.js +6 -0
  495. package/server/.next/server/chunks/src_lib_0s_txig7jm3ty._.js +3 -3
  496. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +15 -0
  497. package/server/.next/server/chunks/src_lib_0x4n8swwa3zn7._.js +1 -1
  498. package/server/.next/server/chunks/src_lib_0y-obfzqjj0c6._.js +6 -0
  499. package/server/.next/server/chunks/src_lib_10_w0ihgmx4e6._.js +6 -0
  500. package/server/.next/server/chunks/src_lib_10vqn6q0h8kls._.js +2 -2
  501. package/server/.next/server/chunks/src_lib_13g9xjx8ci00z._.js +3 -0
  502. package/server/.next/server/chunks/src_lib_15wd7ab4u5nrn._.js +3 -3
  503. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +15 -0
  504. package/server/.next/server/chunks/src_lib_1p21oczr6lh5a._.js +3 -0
  505. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +15 -0
  506. package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
  507. package/server/.next/server/chunks/src_lib_1tzoqx44yogsk._.js +2 -2
  508. package/server/.next/server/chunks/src_lib_1yd94hta5y1hx._.js +3 -0
  509. package/server/.next/server/chunks/src_lib_1yewk45thnv1h._.js +1 -1
  510. package/server/.next/server/chunks/src_lib_1z73euz6d3tus._.js +6 -0
  511. package/server/.next/server/chunks/src_lib_brand-env_ts_1wcm1bjuismq_._.js +3 -0
  512. package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +4 -4
  513. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +6 -6
  514. package/server/.next/server/chunks/src_lib_data_0ask_rbmgwlf3._.js +1 -1
  515. package/server/.next/server/chunks/src_lib_data_0e155tkqeoojm._.js +1 -1
  516. package/server/.next/server/chunks/src_lib_data_backup-db_ts_19rtzbv84xz_h._.js +2 -2
  517. package/server/.next/server/chunks/src_lib_data_logs-db_ts_1ddw07do12mmk._.js +1 -1
  518. package/server/.next/server/chunks/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +6 -0
  519. package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
  520. package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +9 -9
  521. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +13 -13
  522. package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +9 -9
  523. package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +1 -1
  524. package/server/.next/server/chunks/src_lib_providers_info_ts_02x6g30rg2hsp._.js +3 -0
  525. package/server/.next/server/chunks/src_lib_time_ts_1__07rt8x18k-._.js +3 -0
  526. package/server/.next/server/chunks/src_lib_time_ts_1a27wp71yhgti._.js +3 -0
  527. package/server/.next/server/chunks/src_lib_time_ts_1qlwgp7nprvbi._.js +3 -0
  528. package/server/.next/server/chunks/src_lib_view_databases_ts_0fdc7jkjvyrxi._.js +3 -0
  529. package/server/.next/server/chunks/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  530. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  531. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_1q6nc5chwn5k4.js +1 -1
  532. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +1 -1
  533. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +1 -1
  534. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +1 -1
  535. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +1 -1
  536. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +1 -1
  537. package/server/.next/server/chunks/ssr/{[externals]__1u-jgivpw0_oh._.js → [externals]__0zvy4iicnrk95._.js} +1 -1
  538. package/server/.next/server/chunks/ssr/[root-of-the-server]__02cq5r26w4itc._.js +1 -1
  539. package/server/.next/server/chunks/ssr/[root-of-the-server]__02qyxz9eh8_eh._.js +1 -1
  540. package/server/.next/server/chunks/ssr/[root-of-the-server]__04ovk2bqwu87z._.js +3 -0
  541. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0aahjz4fnt4c_._.js → [root-of-the-server]__052_cprs0alpy._.js} +2 -2
  542. package/server/.next/server/chunks/ssr/{[root-of-the-server]__11-ssp_43878t._.js → [root-of-the-server]__0543ddliluvv3._.js} +2 -2
  543. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ijk9z1ot_xi4._.js → [root-of-the-server]__08479d23kb1xv._.js} +2 -2
  544. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1csz822qejxk-._.js → [root-of-the-server]__08fqg76puqdfr._.js} +2 -2
  545. package/server/.next/server/chunks/ssr/[root-of-the-server]__09-0oydof-7uw._.js +1 -1
  546. package/server/.next/server/chunks/ssr/[root-of-the-server]__09nm_hn1c8zhf._.js +3 -0
  547. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0lks-6wz-rmk5._.js → [root-of-the-server]__0acmauri7z1sg._.js} +2 -2
  548. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ct71emqfru3b._.js +1 -1
  549. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1tkmutq84zkeh._.js → [root-of-the-server]__0e9m8up0h1qhl._.js} +2 -2
  550. package/server/.next/server/chunks/ssr/[root-of-the-server]__0h9gtpapca7i_._.js +3 -0
  551. package/server/.next/server/chunks/ssr/[root-of-the-server]__0hln97a4qcziv._.js +3 -0
  552. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ksvf4x4zcbpb._.js +1 -1
  553. package/server/.next/server/chunks/ssr/[root-of-the-server]__0lc7my3iqbrsu._.js +1 -1
  554. package/server/.next/server/chunks/ssr/[root-of-the-server]__0n7cj-oti5wct._.js +2 -2
  555. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ncef7_34ta3-._.js +1 -1
  556. package/server/.next/server/chunks/ssr/[root-of-the-server]__0op0kqh43wd-a._.js +3 -0
  557. package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +1 -1
  558. package/server/.next/server/chunks/ssr/[root-of-the-server]__1-o_iq-ed9vc8._.js +1 -1
  559. package/server/.next/server/chunks/ssr/[root-of-the-server]__10bkg3o65q6r4._.js +1 -1
  560. package/server/.next/server/chunks/ssr/[root-of-the-server]__12qymdfh83hht._.js +3 -0
  561. package/server/.next/server/chunks/ssr/[root-of-the-server]__13oi70jo-u731._.js +2 -2
  562. package/server/.next/server/chunks/ssr/[root-of-the-server]__146kj3-h6fkaq._.js +1 -1
  563. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1fdzriy6yyu5d._.js → [root-of-the-server]__15n-r12rnj61t._.js} +1 -1
  564. package/server/.next/server/chunks/ssr/[root-of-the-server]__16o4p3l21rdq3._.js +3 -0
  565. package/server/.next/server/chunks/ssr/[root-of-the-server]__17kocbnwlcw6d._.js +1 -1
  566. package/server/.next/server/chunks/ssr/[root-of-the-server]__19_nr6j2w-in_._.js +3 -0
  567. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  568. package/server/.next/server/chunks/ssr/[root-of-the-server]__1gw6334w8y2my._.js +1 -1
  569. package/server/.next/server/chunks/ssr/[root-of-the-server]__1i69oli51is1u._.js +1 -1
  570. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ryb947ux5cq7._.js → [root-of-the-server]__1k1fmq0-rg3p0._.js} +2 -2
  571. package/server/.next/server/chunks/ssr/[root-of-the-server]__1lx2k37wgre3d._.js +1 -1
  572. package/server/.next/server/chunks/ssr/[root-of-the-server]__1owrn7crnsybx._.js +3 -0
  573. package/server/.next/server/chunks/ssr/[root-of-the-server]__1qltiqn0htqnx._.js +1 -1
  574. package/server/.next/server/chunks/ssr/[root-of-the-server]__1w1472ukyh58r._.js +1 -1
  575. package/server/.next/server/chunks/ssr/[root-of-the-server]__20ht054m5-_d6._.js +1 -1
  576. package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +2 -2
  577. package/server/.next/server/chunks/ssr/_026w_ig6vy9bt._.js +1 -1
  578. package/server/.next/server/chunks/ssr/{_1wu_8nu5allm0._.js → _05kq3r87s7p3q._.js} +1 -1
  579. package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +2 -2
  580. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  581. package/server/.next/server/chunks/ssr/_0_rtyc4t9xcdo._.js +1 -1
  582. package/server/.next/server/chunks/ssr/_0_tr9fol2yq33._.js +1 -1
  583. package/server/.next/server/chunks/ssr/_0_ul4mlc_pj5i._.js +2 -2
  584. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  585. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  586. package/server/.next/server/chunks/ssr/_0cukja7zcxh7e._.js +1 -1
  587. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  588. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  589. package/server/.next/server/chunks/ssr/_0fnl7z-saj7nc._.js +1 -1
  590. package/server/.next/server/chunks/ssr/_0hykblvnwc2ar._.js +1 -1
  591. package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +2 -2
  592. package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +2 -2
  593. package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +2 -2
  594. package/server/.next/server/chunks/ssr/_0m1ll2r1g77ii._.js +1 -1
  595. package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +2 -2
  596. package/server/.next/server/chunks/ssr/{_18t7ov64ycb-w._.js → _0ooh0hh-r_12s._.js} +2 -2
  597. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  598. package/server/.next/server/chunks/ssr/{_14bz_443syxhi._.js → _0pn3dn9s9es51._.js} +2 -2
  599. package/server/.next/server/chunks/ssr/_0qnv1uc1_yv28._.js +2 -2
  600. package/server/.next/server/chunks/ssr/_0qo8tc43kjsf_._.js +1 -1
  601. package/server/.next/server/chunks/ssr/{_06_f735j-1i20._.js → _0r04c1-snv6jw._.js} +2 -2
  602. package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +1 -1
  603. package/server/.next/server/chunks/ssr/_0tcmsw8hszixv._.js +1 -1
  604. package/server/.next/server/chunks/ssr/{_0i6y4bkm-0cm3._.js → _0tnfblwwlyvq2._.js} +2 -2
  605. package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +2 -2
  606. package/server/.next/server/chunks/ssr/{_0o0-2ela2_qqd._.js → _0x1vi7mal3bqd._.js} +2 -2
  607. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  608. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  609. package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +2 -2
  610. package/server/.next/server/chunks/ssr/_11w5w9dpxcf1w._.js +3 -0
  611. package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +2 -2
  612. package/server/.next/server/chunks/ssr/_1476vtrt9101m._.js +1 -1
  613. package/server/.next/server/chunks/ssr/{_1p4i1e1kw70-_._.js → _14kop_5asppd8._.js} +2 -2
  614. package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +2 -2
  615. package/server/.next/server/chunks/ssr/_16t9k9e5cjvas._.js +1 -1
  616. package/server/.next/server/chunks/ssr/_18lgd6o04ugow._.js +2 -2
  617. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  618. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  619. package/server/.next/server/chunks/ssr/{_08y82qdosn7ga._.js → _1_ojvke28lw3y._.js} +2 -2
  620. package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +2 -2
  621. package/server/.next/server/chunks/ssr/_1b4uqc9fwt4dy._.js +1 -1
  622. package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +2 -2
  623. package/server/.next/server/chunks/ssr/_1c28jitsyufnt._.js +1 -1
  624. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  625. package/server/.next/server/chunks/ssr/_1dx207la592b7._.js +2 -2
  626. package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +2 -2
  627. package/server/.next/server/chunks/ssr/_1flla16o7o9ba._.js +1 -1
  628. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  629. package/server/.next/server/chunks/ssr/_1gl78598hz_ku._.js +1 -1
  630. package/server/.next/server/chunks/ssr/_1i77n2n-wb98v._.js +2 -2
  631. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  632. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  633. package/server/.next/server/chunks/ssr/_1nir32qtr99-r._.js +1 -1
  634. package/server/.next/server/chunks/ssr/_1qt1czw3w8dww._.js +3 -0
  635. package/server/.next/server/chunks/ssr/_1sq12-1_02tzt._.js +2 -2
  636. package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +2 -2
  637. package/server/.next/server/chunks/ssr/_1ykxf4mi60jog._.js +2 -2
  638. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  639. package/server/.next/server/chunks/ssr/_1zr0t31h18f2p._.js +3 -0
  640. package/server/.next/server/chunks/ssr/_20ln-4gu85-yt._.js +3 -0
  641. package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +2 -2
  642. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +1 -1
  643. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +1 -1
  644. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +1 -1
  645. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +1 -1
  646. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1uaicj0j8stji.js +1 -1
  647. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_06a1fnrawxlh1.js +3 -0
  648. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +1 -1
  649. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +1 -1
  650. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_215m-kkv06r4z.js +1 -1
  651. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +1 -1
  652. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_0ven9q46d3d7s.js +3 -0
  653. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +1 -1
  654. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +1 -1
  655. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +1 -1
  656. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  657. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  658. package/server/.next/server/chunks/ssr/node_modules_next_dist_0joxsz2q5dh6c._.js +2 -2
  659. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pz49shx663y1.js +3 -0
  660. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1b0g9w0uow3x5.js +1 -1
  661. package/server/.next/server/chunks/ssr/src_00wh1gv_h2pjs._.js +1 -1
  662. package/server/.next/server/chunks/ssr/src_00ze92e3aolj8._.js +1 -1
  663. package/server/.next/server/chunks/ssr/src_01jp2f5qmh8e2._.js +3 -0
  664. package/server/.next/server/chunks/ssr/src_025wo6h30c00a._.js +1 -1
  665. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  666. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  667. package/server/.next/server/chunks/ssr/src_09atx_ns_mlan._.js +1 -1
  668. package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +1 -1
  669. package/server/.next/server/chunks/ssr/src_0_kumjlw3o034._.js +1 -1
  670. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  671. package/server/.next/server/chunks/ssr/src_0dl7jkqqm313f._.js +3 -0
  672. package/server/.next/server/chunks/ssr/src_0f_ip1ke7i9r7._.js +3 -0
  673. package/server/.next/server/chunks/ssr/src_0fdfz--89117z._.js +1 -1
  674. package/server/.next/server/chunks/ssr/src_0ho313o5cu3-h._.js +1 -1
  675. package/server/.next/server/chunks/ssr/src_0iefnjvaszvw_._.js +1 -1
  676. package/server/.next/server/chunks/ssr/src_0loe22pbn4cuu._.js +1 -1
  677. package/server/.next/server/chunks/ssr/src_0nylfis4--x5j._.js +1 -1
  678. package/server/.next/server/chunks/ssr/src_0ohsn5qzqqds_._.js +1 -1
  679. package/server/.next/server/chunks/ssr/src_0p0fk07bj9gpq._.js +1 -1
  680. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  681. package/server/.next/server/chunks/ssr/src_0t6-d5hmzrbp1._.js +1 -1
  682. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
  683. package/server/.next/server/chunks/ssr/src_0usxo7vu7o2cj._.js +1 -1
  684. package/server/.next/server/chunks/ssr/src_0widudneyf0oq._.js +1 -1
  685. package/server/.next/server/chunks/ssr/src_0xau6d5z5e_md._.js +1 -1
  686. package/server/.next/server/chunks/ssr/src_0xh3xicmff6ws._.js +1 -1
  687. package/server/.next/server/chunks/ssr/src_1-wu43p02yiel._.js +1 -1
  688. package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +1 -1
  689. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  690. package/server/.next/server/chunks/ssr/src_11iuy79j_finh._.js +3 -0
  691. package/server/.next/server/chunks/ssr/src_12x8sjp-qdw08._.js +1 -1
  692. package/server/.next/server/chunks/ssr/src_14aur12he3m2a._.js +1 -1
  693. package/server/.next/server/chunks/ssr/src_15aqc6akkqade._.js +1 -1
  694. package/server/.next/server/chunks/ssr/src_15zqi72ky6hi9._.js +1 -1
  695. package/server/.next/server/chunks/ssr/src_19evuexp67uty._.js +1 -1
  696. package/server/.next/server/chunks/ssr/src_1am4_ady64k2b._.js +1 -1
  697. package/server/.next/server/chunks/ssr/src_1cbawr4iw5h-x._.js +1 -1
  698. package/server/.next/server/chunks/ssr/src_1ccrc8twenijg._.js +1 -1
  699. package/server/.next/server/chunks/ssr/src_1ctx1an_a3k7g._.js +1 -1
  700. package/server/.next/server/chunks/ssr/src_1iyzhhf1u_gwo._.js +3 -0
  701. package/server/.next/server/chunks/ssr/{src_1eermasnm2cgy._.js → src_1ottjkdvhje3g._.js} +2 -2
  702. package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +1 -1
  703. package/server/.next/server/chunks/ssr/src_1xsg-zd4lt_d4._.js +1 -1
  704. package/server/.next/server/chunks/ssr/src_1y0xvj1obxu7i._.js +1 -1
  705. package/server/.next/server/chunks/ssr/src_1zpftf1xj-30l._.js +1 -1
  706. package/server/.next/server/chunks/ssr/src_20hs1ilkxmap0._.js +1 -1
  707. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  708. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1lhfs18es1mqc._.js +1 -1
  709. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_loading_tsx_1qyzywm3br5h2._.js +1 -1
  710. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_06n-9cjmbb-vu._.js +1 -1
  711. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  712. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_loading_tsx_1niopfalguzs6._.js +1 -1
  713. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_connect_connect-view_tsx_04abz05n7hdsd._.js +15 -15
  714. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_connect_loading_tsx_0q7g8dpf7-vgo._.js +1 -1
  715. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_keys_04ypt31p11eq7._.js +1 -1
  716. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_keys_loading_tsx_1hc7x_jx0xx0_._.js +1 -1
  717. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_0261l8yb2z9x1._.js +1 -1
  718. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  719. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_loading_tsx_1dwhza0ud8asg._.js +1 -1
  720. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  721. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0hla-5y3iresx._.js +1 -1
  722. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_loading_tsx_1qtp-lo_o41cr._.js +1 -1
  723. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_1o1z2qp3tik5x._.js +1 -1
  724. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_loading_tsx_02umaieh-00pu._.js +1 -1
  725. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  726. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_0jamu-nm6x-dh._.js +1 -1
  727. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  728. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_loading_tsx_0u2pi0tk7s3ch._.js +1 -1
  729. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_1kor9sy67qpiw._.js +1 -1
  730. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  731. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_loading_tsx_1hhnum-g2eq3n._.js +1 -1
  732. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_1v003vrkwk19w._.js +1 -1
  733. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  734. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_loading_tsx_0pjvu-xuxbxmh._.js +1 -1
  735. package/server/.next/server/chunks/ssr/{src_app_(console)_1ppp9j5e2rtqf._.js → src_app_(console)_1l7irblrb5fae._.js} +2 -2
  736. package/server/.next/server/chunks/ssr/src_app_(console)_[___slug]_page_tsx_0b007i3c1v_vg._.js +1 -1
  737. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +1 -1
  738. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_1t61z2wktki-v._.js +1 -1
  739. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_088bs149wsgca._.js +1 -1
  740. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  741. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  742. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  743. package/server/.next/server/chunks/ssr/src_app_(console)_backups_page_tsx_0o082iagq_14b._.js +1 -1
  744. package/server/.next/server/chunks/ssr/src_app_(console)_catalog_page_tsx_1u2_-bv4yi5oo._.js +1 -1
  745. package/server/.next/server/chunks/ssr/src_app_(console)_connections_02upf_c41dauw._.js +3 -0
  746. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  747. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +3 -0
  748. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  749. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  750. package/server/.next/server/chunks/ssr/src_app_(console)_d1_page_tsx_167hwnq_9uh81._.js +1 -1
  751. package/server/.next/server/chunks/ssr/src_app_(console)_dns_0d1uyir4fe7pc._.js +1 -1
  752. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  753. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  754. package/server/.next/server/chunks/ssr/src_app_(console)_domains_1ut499n11u8_r._.js +1 -1
  755. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_page_tsx_0g20hm13dvbc-._.js +1 -1
  756. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  757. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_17htk-vea5fna._.js +3 -0
  758. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +3 -0
  759. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  760. package/server/.next/server/chunks/ssr/src_app_(console)_neon_1ubea__gt06o0._.js +1 -1
  761. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  762. package/server/.next/server/chunks/ssr/src_app_(console)_repos_[id]_page_tsx_1nkxthc4ethrj._.js +1 -1
  763. package/server/.next/server/chunks/ssr/src_app_(console)_repos_repo-list_tsx_1n1gcm4qfrfdt._.js +1 -1
  764. package/server/.next/server/chunks/ssr/src_app_(console)_sql_16-sh45tpob8n._.js +1 -1
  765. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  766. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  767. package/server/.next/server/chunks/ssr/src_app_(console)_status_page_tsx_1zvj799nv4kah._.js +1 -1
  768. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  769. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_1ofufib3-zzt-._.js +1 -1
  770. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  771. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_148phfjye0539._.js +1 -1
  772. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  773. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  774. package/server/.next/server/chunks/ssr/src_app_(console)_welcome_page_tsx_1bw0x0riq-oem._.js +1 -1
  775. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  776. package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
  777. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  778. package/server/.next/server/chunks/ssr/{src_app_signin_124xn9wb2fasu._.js → src_app_signin_1tg6pswa99jbe._.js} +2 -2
  779. package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.js +3 -0
  780. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  781. package/server/.next/server/chunks/ssr/src_components_ui_dialog_tsx_1tn-i_6d3rhzt._.js +1 -1
  782. package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +3 -3
  783. package/server/.next/server/chunks/ssr/src_lib_05ai1oj91p9w2._.js +2 -2
  784. package/server/.next/server/chunks/ssr/src_lib_0x4n8swwa3zn7._.js +1 -1
  785. package/server/.next/server/chunks/ssr/src_lib_1nkahiclbn55q._.js +1 -1
  786. package/server/.next/server/chunks/ssr/{src_lib_1l8ej-zoyyegd._.js → src_lib_1p21oczr6lh5a._.js} +2 -2
  787. package/server/.next/server/chunks/ssr/src_lib_1yewk45thnv1h._.js +1 -1
  788. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
  789. package/server/.next/server/chunks/ssr/src_lib_copy_edition_ts_1y6lsdbj64t9p._.js +1 -1
  790. package/server/.next/server/chunks/ssr/src_lib_data_keep-active-db_ts_0p07g9b74uu3e._.js +1 -1
  791. package/server/.next/server/chunks/ssr/src_lib_data_logs-db_ts_1ddw07do12mmk._.js +1 -1
  792. package/server/.next/server/chunks/ssr/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +6 -0
  793. package/server/.next/server/chunks/ssr/{src_lib_demo_20hj85e_64pp1._.js → src_lib_demo_0hdl7pzdqejqx._.js} +2 -2
  794. package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
  795. package/server/.next/server/chunks/ssr/src_lib_providers_info_ts_02x6g30rg2hsp._.js +3 -0
  796. package/server/.next/server/chunks/ssr/src_lib_time_ts_1qlwgp7nprvbi._.js +3 -0
  797. package/server/.next/server/chunks/ssr/src_lib_time_ts_1ualgyi3irm1z._.js +3 -0
  798. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  799. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  800. package/server/.next/server/chunks/ssr/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  801. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  802. package/server/.next/server/chunks/ssr/src_private_ai_usage-analytics_ts_1bxba3xarzol0._.js +1 -1
  803. package/server/.next/server/chunks/ssr/src_private_ai_views-db_ts_1jbnr41mskha2._.js +1 -1
  804. package/server/.next/server/chunks/ssr/src_private_assist_advisor-notes_ts_0qkpm5c3la7fo._.js +3 -3
  805. package/server/.next/server/chunks/ssr/src_private_explorer_explorer_tsx_04m_tdottspjs._.js +1 -1
  806. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  807. package/server/.next/server/middleware-build-manifest.js +116 -105
  808. package/server/.next/server/next-font-manifest.js +1 -1
  809. package/server/.next/server/next-font-manifest.json +4 -0
  810. package/server/.next/server/pages/404.html +1 -1
  811. package/server/.next/server/pages/500.html +1 -1
  812. package/server/.next/server/preview-props.json +3 -3
  813. package/server/.next/server/server-reference-manifest.js +1 -1
  814. package/server/.next/server/server-reference-manifest.json +210 -164
  815. package/server/.next/static/chunks/08dak2kh1c6_7.js +1 -0
  816. package/server/.next/static/chunks/{2v14aqfx8wv9o.js → 0b9slopuz4e8a.js} +1 -1
  817. package/server/.next/static/chunks/{36ureqoyz5e06.js → 0dp-tuwkw7xf8.js} +2 -2
  818. package/server/.next/static/chunks/0fhj_pu5ntcfo.js +1 -0
  819. package/server/.next/static/chunks/{2k9ytb8jmg14_.js → 0h9i512dn01kj.js} +1 -1
  820. package/server/.next/static/chunks/0ic6_-0gkd6p7.js +1 -0
  821. package/server/.next/static/chunks/0icohez16w-ei.js +1 -0
  822. package/server/.next/static/chunks/{1ieazx9t3vl5p.js → 0j1wzqg4ukm70.js} +1 -1
  823. package/server/.next/static/chunks/{43_va15lk2zc1.js → 0j_5norjm-kef.js} +1 -1
  824. package/server/.next/static/chunks/{1-1hfgat2l_o9.js → 0kscmnb071fci.js} +1 -1
  825. package/server/.next/static/chunks/{0c7pskzfstcdh.js → 0ld78j1d4j201.js} +1 -1
  826. package/server/.next/static/chunks/0qlb-l1uyqku5.js +1 -0
  827. package/server/.next/static/chunks/0udh0u8c6ovgf.css +3 -0
  828. package/server/.next/static/chunks/0y1ss0tjq0nq0.js +1 -0
  829. package/server/.next/static/chunks/{1ts_fd_r1kcrv.js → 1-oetq3mwlhds.js} +1 -1
  830. package/server/.next/static/chunks/{2fj4o7-stsvht.js → 11ywzwmfd_pt0.js} +1 -1
  831. package/server/.next/static/chunks/1j18pg23fzwv_.js +1 -0
  832. package/server/.next/static/chunks/1jaozq01v9r6e.js +1 -0
  833. package/server/.next/static/chunks/1ky5exl-c1kbo.js +1 -0
  834. package/server/.next/static/chunks/{0cannaigw8lhi.js → 1lsu_fxiyaeiz.js} +1 -1
  835. package/server/.next/static/chunks/1o3_amrh-sxr3.js +1 -0
  836. package/server/.next/static/chunks/{0wtboeftyamyk.js → 1w9o_jo_pejc5.js} +1 -1
  837. package/server/.next/static/chunks/1xy80z39ducub.js +1 -0
  838. package/server/.next/static/chunks/1yvbs41m8_4nc.js +7 -0
  839. package/server/.next/static/chunks/22alexnun_rdm.js +1 -0
  840. package/server/.next/static/chunks/{1o_q7_4ulcq9x.js → 27qwmt1w6-iri.js} +1 -1
  841. package/server/.next/static/chunks/29humkd2-_1oo.js +1 -0
  842. package/server/.next/static/chunks/29j96yfhxsf41.js +1 -0
  843. package/server/.next/static/chunks/29qnnsjsgsia6.js +1 -0
  844. package/server/.next/static/chunks/{2cjfogw85k3h-.js → 2ii8j9xuvv604.js} +1 -1
  845. package/server/.next/static/chunks/{30fczssqw6xys.js → 2m0ftj__ody0m.js} +1 -1
  846. package/server/.next/static/chunks/{201zah03wlibg.js → 2q88116332v43.js} +1 -1
  847. package/server/.next/static/chunks/2rbtw3em5hkt4.js +1 -0
  848. package/server/.next/static/chunks/2sdyov_lz1uj4.js +1 -0
  849. package/server/.next/static/chunks/{0li9-xjc40g51.js → 2toeyr9b_nk0e.js} +1 -1
  850. package/server/.next/static/chunks/{2fo6iuxb0ec7f.js → 2w7qxt7ux-m1-.js} +1 -1
  851. package/server/.next/static/chunks/{1gmof0n5nswkk.js → 2zc1osymeruya.js} +1 -1
  852. package/server/.next/static/chunks/33fbppn5fotpk.js +1 -0
  853. package/server/.next/static/chunks/{026asl66kuq3f.js → 340ecjh1jzqjd.js} +15 -15
  854. package/server/.next/static/chunks/3auw1gobgv94g.js +1 -0
  855. package/server/.next/static/chunks/3b1p-xm7iow1_.js +1 -0
  856. package/server/.next/static/chunks/{3tqh7fwtd_k_l.js → 3gl2k6v182lli.js} +2 -2
  857. package/server/.next/static/chunks/{3f5sxz8awpdog.js → 3gurl_36kr7sg.js} +1 -1
  858. package/server/.next/static/chunks/{1gb8jvw-g7fr7.js → 3h-i_hcaaf7vs.js} +1 -1
  859. package/server/.next/static/chunks/{2jlv5ekbb0wu2.js → 3kznplgmzot89.js} +1 -1
  860. package/server/.next/static/chunks/{0du6qnm4ee-qx.js → 3mb_v650fie_i.js} +1 -1
  861. package/server/.next/static/chunks/{3dokgd9nungcr.js → 3n_n6yeienmn-.js} +1 -1
  862. package/server/.next/static/chunks/3nqciag05fif0.js +1 -0
  863. package/server/.next/static/chunks/{1zi37go-xtasg.js → 3o45i7xbzm0w-.js} +1 -1
  864. package/server/.next/static/chunks/{1c4fx4kipvnqz.js → 3oe302ug_esoe.js} +1 -1
  865. package/server/.next/static/chunks/3r3mt51wqymgs.js +1 -0
  866. package/server/.next/static/chunks/3sg_npfod25zq.js +1 -0
  867. package/server/.next/static/chunks/{2rdmebof0d_c4.js → 3shbvizselyoq.js} +1 -1
  868. package/server/.next/static/chunks/3xxagngfonh62.js +1 -0
  869. package/server/.next/static/chunks/{2z1xy8l4s3usi.js → 3yv-enyk37whg.js} +1 -1
  870. package/server/node_modules/@next/env/package.json +1 -1
  871. package/server/node_modules/next/dist/build/analyze/snapshot.js +1 -1
  872. package/server/node_modules/next/dist/build/index.js +3 -3
  873. package/server/node_modules/next/dist/build/swc/index.js +1 -1
  874. package/server/node_modules/next/dist/build/turbopack-analyze/index.js +1 -1
  875. package/server/node_modules/next/dist/build/turbopack-build/impl.js +1 -1
  876. package/server/node_modules/next/dist/build/webpack-config.js +3 -3
  877. package/server/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +2 -2
  878. package/server/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +2 -2
  879. package/server/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +1 -1
  880. package/server/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  881. package/server/node_modules/next/dist/server/app-render/async-local-storage.js +1 -1
  882. package/server/node_modules/next/dist/server/config.js +1 -1
  883. package/server/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  884. package/server/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  885. package/server/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  886. package/server/node_modules/next/dist/server/lib/generate-agent-files.js +3 -3
  887. package/server/node_modules/next/dist/server/lib/router-server.js +1 -1
  888. package/server/node_modules/next/dist/server/lib/start-server.js +1 -1
  889. package/server/node_modules/next/dist/server/lib/trace/tracer.js +1 -1
  890. package/server/node_modules/next/dist/server/typescript/rules/config.js +2 -2
  891. package/server/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1 -1
  892. package/server/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  893. package/server/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  894. package/server/node_modules/next/dist/telemetry/events/version.js +2 -2
  895. package/server/node_modules/next/package.json +11 -11
  896. package/server/.next/server/chunks/[root-of-the-server]__03zcy67tjxii8._.js +0 -3
  897. package/server/.next/server/chunks/[root-of-the-server]__08j1jeemvo-th._.js +0 -3
  898. package/server/.next/server/chunks/[root-of-the-server]__08n3x1x850wqc._.js +0 -3
  899. package/server/.next/server/chunks/[root-of-the-server]__0b_bj-_t8b0b-._.js +0 -3
  900. package/server/.next/server/chunks/[root-of-the-server]__0grnl7ncqcjft._.js +0 -3
  901. package/server/.next/server/chunks/[root-of-the-server]__0hju4mctdmvz9._.js +0 -3
  902. package/server/.next/server/chunks/[root-of-the-server]__0i3n8l6ecdb4u._.js +0 -3
  903. package/server/.next/server/chunks/[root-of-the-server]__0m8w2-7618scn._.js +0 -3
  904. package/server/.next/server/chunks/[root-of-the-server]__0p_b0m2cstlrl._.js +0 -3
  905. package/server/.next/server/chunks/[root-of-the-server]__0uyagcs61c0t_._.js +0 -3
  906. package/server/.next/server/chunks/[root-of-the-server]__0v1kcolrxwmob._.js +0 -3
  907. package/server/.next/server/chunks/[root-of-the-server]__0vctt_0kj1gz4._.js +0 -3
  908. package/server/.next/server/chunks/[root-of-the-server]__0x0x6v75re5_e._.js +0 -3
  909. package/server/.next/server/chunks/[root-of-the-server]__0xyzhdj3z_1ro._.js +0 -3
  910. package/server/.next/server/chunks/[root-of-the-server]__0ymon9r-17xe_._.js +0 -3
  911. package/server/.next/server/chunks/[root-of-the-server]__0zxjft8y2r575._.js +0 -3
  912. package/server/.next/server/chunks/[root-of-the-server]__114vjjaqb2wyv._.js +0 -3
  913. package/server/.next/server/chunks/[root-of-the-server]__12uyws-qe6wxs._.js +0 -3
  914. package/server/.next/server/chunks/[root-of-the-server]__139pgc0wpc7kg._.js +0 -3
  915. package/server/.next/server/chunks/[root-of-the-server]__157yb_wl7w4ly._.js +0 -3
  916. package/server/.next/server/chunks/[root-of-the-server]__16dyxwm6pzumx._.js +0 -3
  917. package/server/.next/server/chunks/[root-of-the-server]__18qf1s7o0ia89._.js +0 -3
  918. package/server/.next/server/chunks/[root-of-the-server]__1951xb3jdzdop._.js +0 -3
  919. package/server/.next/server/chunks/[root-of-the-server]__1_5q9zgl6p5_3._.js +0 -3
  920. package/server/.next/server/chunks/[root-of-the-server]__1a9cd4d9ohf69._.js +0 -3
  921. package/server/.next/server/chunks/[root-of-the-server]__1bwgi7nn5-hc3._.js +0 -3
  922. package/server/.next/server/chunks/[root-of-the-server]__1hxhj2o7lea8i._.js +0 -3
  923. package/server/.next/server/chunks/[root-of-the-server]__1i4bqqne6vibf._.js +0 -3
  924. package/server/.next/server/chunks/[root-of-the-server]__1i83m8i-3yn72._.js +0 -3
  925. package/server/.next/server/chunks/[root-of-the-server]__1jrcnhad_b53j._.js +0 -3
  926. package/server/.next/server/chunks/[root-of-the-server]__1k8s02gwythps._.js +0 -3
  927. package/server/.next/server/chunks/[root-of-the-server]__1lf_lo1wqcbcg._.js +0 -3
  928. package/server/.next/server/chunks/[root-of-the-server]__1n32c8l_j8jt4._.js +0 -3
  929. package/server/.next/server/chunks/[root-of-the-server]__1niiijc82bgoj._.js +0 -3
  930. package/server/.next/server/chunks/[root-of-the-server]__1on_3p53yn6fs._.js +0 -3
  931. package/server/.next/server/chunks/[root-of-the-server]__1pgtip37umn35._.js +0 -3
  932. package/server/.next/server/chunks/[root-of-the-server]__1q90luznbe9-l._.js +0 -3
  933. package/server/.next/server/chunks/[root-of-the-server]__1r15vmrh2r06l._.js +0 -3
  934. package/server/.next/server/chunks/[root-of-the-server]__1rl43iilsc-je._.js +0 -3
  935. package/server/.next/server/chunks/[root-of-the-server]__1ta7-xvmtkjwr._.js +0 -3
  936. package/server/.next/server/chunks/[root-of-the-server]__1voiad6r-u931._.js +0 -3
  937. package/server/.next/server/chunks/[root-of-the-server]__1wlilsfzjqdw9._.js +0 -3
  938. package/server/.next/server/chunks/[root-of-the-server]__1woerg3tb4ls3._.js +0 -3
  939. package/server/.next/server/chunks/[root-of-the-server]__1wonw7ft4hset._.js +0 -3
  940. package/server/.next/server/chunks/[root-of-the-server]__1zaomh_4901_f._.js +0 -3
  941. package/server/.next/server/chunks/[root-of-the-server]__20lwsd6a4wnpe._.js +0 -3
  942. package/server/.next/server/chunks/_01vdbh009dk-w._.js +0 -5
  943. package/server/.next/server/chunks/_03bua_9n4apok._.js +0 -3
  944. package/server/.next/server/chunks/_0594j_bb0l80e._.js +0 -3
  945. package/server/.next/server/chunks/_076dwl7r_5vcl._.js +0 -34
  946. package/server/.next/server/chunks/_08tppw9ujlpke._.js +0 -34
  947. package/server/.next/server/chunks/_08y82qdosn7ga._.js +0 -3
  948. package/server/.next/server/chunks/_0m49djgc1t4wg._.js +0 -3
  949. package/server/.next/server/chunks/_0n5m3o7at0adm._.js +0 -34
  950. package/server/.next/server/chunks/_0qawxzcf--lyq._.js +0 -4
  951. package/server/.next/server/chunks/_0r4am1mgz4dg_._.js +0 -3
  952. package/server/.next/server/chunks/_0s30ac32b7prb._.js +0 -3
  953. package/server/.next/server/chunks/_0vfrh5u-u4mis._.js +0 -3
  954. package/server/.next/server/chunks/_0vgojnnkcf1vu._.js +0 -4
  955. package/server/.next/server/chunks/_0vz0de4gz70-e._.js +0 -4
  956. package/server/.next/server/chunks/_1-mixh9aeqh7f._.js +0 -3
  957. package/server/.next/server/chunks/_11p2ejgai2a78._.js +0 -3
  958. package/server/.next/server/chunks/_1bcsmpznxhk9h._.js +0 -3
  959. package/server/.next/server/chunks/_1he3nioua8ee5._.js +0 -3
  960. package/server/.next/server/chunks/_1l82x0z8bo4pt._.js +0 -3
  961. package/server/.next/server/chunks/_1lpcbqj4uzrsh._.js +0 -3
  962. package/server/.next/server/chunks/_1rw6_0nf-3sxs._.js +0 -34
  963. package/server/.next/server/chunks/src_0d5xqe2zx_935._.js +0 -3
  964. package/server/.next/server/chunks/src_0l-no1yc1_izn._.js +0 -3
  965. package/server/.next/server/chunks/src_0v4pdrc1yxyl8._.js +0 -3
  966. package/server/.next/server/chunks/src_0vva87j3z99p9._.js +0 -3
  967. package/server/.next/server/chunks/src_156ewlek-4a4z._.js +0 -3
  968. package/server/.next/server/chunks/src_1zo6so07lgcdj._.js +0 -3
  969. package/server/.next/server/chunks/src_db_rows_ts_15b286wn1kn1e._.js +0 -3
  970. package/server/.next/server/chunks/src_lib_0-ylqsh7whlj2._.js +0 -3
  971. package/server/.next/server/chunks/src_lib_0485hz-c7h7dr._.js +0 -15
  972. package/server/.next/server/chunks/src_lib_0f0p6-l5vvduu._.js +0 -3
  973. package/server/.next/server/chunks/src_lib_0qcyomi01xvf1._.js +0 -15
  974. package/server/.next/server/chunks/src_lib_15a3m-j_urkkp._.js +0 -3
  975. package/server/.next/server/chunks/src_lib_1d6edz_ucj01w._.js +0 -3
  976. package/server/.next/server/chunks/src_lib_1ryt-36ohhnm6._.js +0 -15
  977. package/server/.next/server/chunks/src_lib_1suc_xwzxtuej._.js +0 -3
  978. package/server/.next/server/chunks/src_lib_1uh73ofc-pe92._.js +0 -3
  979. package/server/.next/server/chunks/src_private_1yzfhupl3rlpx._.js +0 -6
  980. package/server/.next/server/chunks/ssr/[root-of-the-server]__004r8ubf3fp_i._.js +0 -3
  981. package/server/.next/server/chunks/ssr/[root-of-the-server]__06s-dfcfuperv._.js +0 -3
  982. package/server/.next/server/chunks/ssr/[root-of-the-server]__07or1m2vwon1m._.js +0 -3
  983. package/server/.next/server/chunks/ssr/[root-of-the-server]__0d9lwldljqtvx._.js +0 -3
  984. package/server/.next/server/chunks/ssr/[root-of-the-server]__0q36f5xjkzf4z._.js +0 -3
  985. package/server/.next/server/chunks/ssr/[root-of-the-server]__0uklr553mp86_._.js +0 -3
  986. package/server/.next/server/chunks/ssr/[root-of-the-server]__1cykncw1_xcno._.js +0 -3
  987. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ih2a_fbqu7ko._.js +0 -3
  988. package/server/.next/server/chunks/ssr/[root-of-the-server]__1j7_a902k_8es._.js +0 -3
  989. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ofzjllv-b0o0._.js +0 -3
  990. package/server/.next/server/chunks/ssr/_040ixxsgfs0vi._.js +0 -3
  991. package/server/.next/server/chunks/ssr/_04e0uk5aqrgc3._.js +0 -3
  992. package/server/.next/server/chunks/ssr/_0ux6eo_w1x155._.js +0 -3
  993. package/server/.next/server/chunks/ssr/_12o9qqjoik4q4._.js +0 -3
  994. package/server/.next/server/chunks/ssr/_1k2q3yt1h6cfs._.js +0 -3
  995. package/server/.next/server/chunks/ssr/_1zhtvg8t3jtxe._.js +0 -3
  996. package/server/.next/server/chunks/ssr/_200p6me5_kp2j._.js +0 -3
  997. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_03amng1-xhfd1.js +0 -3
  998. package/server/.next/server/chunks/ssr/src_00s82lfm2ga7-._.js +0 -3
  999. package/server/.next/server/chunks/ssr/src_13hsrg6rdvh-d._.js +0 -3
  1000. package/server/.next/server/chunks/ssr/src_1xgsz_do2xpr2._.js +0 -3
  1001. package/server/.next/server/chunks/ssr/src_app_(console)_connections_0gm1y-wtw5gyd._.js +0 -3
  1002. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1qigx20w8bk53._.js +0 -3
  1003. package/server/.next/server/chunks/ssr/src_components_shell_shell_tsx_1cpq-hbch_dvj._.js +0 -3
  1004. package/server/.next/server/chunks/ssr/src_lib_0y40wht-o-oc2._.js +0 -3
  1005. package/server/.next/server/chunks/ssr/src_lib_data_settings-db_ts_1to3jtggxlaz4._.js +0 -3
  1006. package/server/.next/static/chunks/03qto0oyf2r1n.js +0 -1
  1007. package/server/.next/static/chunks/0dmi-v53phuqn.js +0 -1
  1008. package/server/.next/static/chunks/0n_l4a3za5-q8.js +0 -1
  1009. package/server/.next/static/chunks/0t96fqp1vsmrp.js +0 -1
  1010. package/server/.next/static/chunks/0wlc502815llk.js +0 -1
  1011. package/server/.next/static/chunks/158-i6phe17yl.js +0 -1
  1012. package/server/.next/static/chunks/1fxuyn0k52n4v.css +0 -3
  1013. package/server/.next/static/chunks/1mlvn70-zqjvi.js +0 -1
  1014. package/server/.next/static/chunks/1sm8wxvlpowwg.js +0 -1
  1015. package/server/.next/static/chunks/1teh52nh5dujq.js +0 -1
  1016. package/server/.next/static/chunks/1v4hl1z0y1npd.js +0 -1
  1017. package/server/.next/static/chunks/1vh2psoqw3ddc.js +0 -1
  1018. package/server/.next/static/chunks/1xau8pf40_upi.js +0 -7
  1019. package/server/.next/static/chunks/1z2rcngn3-7i5.js +0 -1
  1020. package/server/.next/static/chunks/210qrsqvmgaet.js +0 -1
  1021. package/server/.next/static/chunks/29p15vj15jcsb.js +0 -1
  1022. package/server/.next/static/chunks/2kmerzslng988.js +0 -1
  1023. package/server/.next/static/chunks/2llric-1orr3y.js +0 -1
  1024. package/server/.next/static/chunks/2wb9a1xth0yhf.js +0 -1
  1025. package/server/.next/static/chunks/34gs6c2dsgtqy.js +0 -1
  1026. package/server/.next/static/chunks/3ag6t3ta58rih.js +0 -1
  1027. package/server/.next/static/chunks/3gkta99h3_5i2.js +0 -1
  1028. /package/server/.next/static/{xCga6YpZus71dK3aq8Q4H → 00CFAqN6pFBVkqJyXSd78}/_buildManifest.js +0 -0
  1029. /package/server/.next/static/{xCga6YpZus71dK3aq8Q4H → 00CFAqN6pFBVkqJyXSd78}/_clientMiddlewareManifest.js +0 -0
  1030. /package/server/.next/static/{xCga6YpZus71dK3aq8Q4H → 00CFAqN6pFBVkqJyXSd78}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[455317,71575,569057,912283,930270,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(927262),h=a.i(201516),i=a.i(273133),j=a.i(120213);let k=a=>Math.round(a).toLocaleString("en-US"),l=(a,b)=>Math.floor((a.getTime()-b.getTime())/864e5),m=(a,b)=>`${a} ${b}${1===a?"":"s"}`,n=a=>{try{let b=new URL(a);return`${b.host}${b.pathname}`}catch{return a}},o=a=>{try{return new URL(a).pathname}catch{return"/"}},p="Down · ",q=(a,b,c)=>({rule:a,subject:b,status:"unknown",resourceId:null,accountId:null,title:b,message:"",provider:null,sampleAt:null,...c}),r=a=>"firestore"===a.provider?"firebase":"d1"===a.provider?"cloudflare":a.provider,s=new Set(["turso","upstash","d1"]),t={MonitorDown:(a,b)=>a.monitors.map(a=>{let c=q("MonitorDown",a.id,{resourceId:a.appId,title:`${a.appName} ${"heartbeat"===a.kind?a.url:o(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt}),d=b??3;if("heartbeat"===a.kind){let b;return{...c,status:"err"===a.state?"firing":"ok"===a.state?"ok":"unknown",message:`${a.appName} \xb7 ${a.url}: ${b=a.lastError,b?.startsWith(p)?b.slice(p.length):"no ping in time"}.`}}return a.failStreak>=d?{...c,status:"firing",message:(0,h.H)(a)?`${n(a.url)} failed its check (${(0,h.H)(a)}) on ${d} consecutive checks.`:`${n(a.url)} returned ${a.lastStatus?`HTTP ${a.lastStatus}`:"no answer"} on ${d} consecutive checks.`}:{...c,status:0===a.failStreak&&a.lastCheckedAt?"ok":"unknown",message:`${n(a.url)} answers again.`}}),CollectorStale:(a,b)=>{let c=a.lastMinuteRunAt;return[q("CollectorStale","collector",{status:!c||a.now.getTime()-c.getTime()>(b??5)*6e4?"firing":"ok",title:"collector",message:c?`The last minute run finished ${k((a.now.getTime()-c.getTime())/6e4)} min ago.`:"The collector hasn't finished a run yet."})]},HighLatency:(a,b)=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let c=q("HighLatency",a.id,{resourceId:a.appId,title:`${a.appName} ${o(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt});if(a.checksLast10<5||null===a.p95Last10)return c;let d=b??1500;return{...c,status:a.p95Last10>d?"firing":"ok",message:`p95 ${k(a.p95Last10)} ms over the last 10 minutes (limit ${k(d)} ms).`}}),DeploymentFailed:a=>a.apps.map(a=>{let b=q("DeploymentFailed",a.id,{resourceId:a.id,title:a.name,provider:"vercel"}),c=a.latestProduction;return c?"error"===c.state?{...b,status:"firing",message:`Production deployment ${c.sha?c.sha.slice(0,7):"(no commit)"} failed.`}:{...b,status:"building"===c.state?"unknown":"ok"}:{...b,status:"ok"}}),DatabasePaused:a=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(a=>q("DatabasePaused",a.id,{resourceId:a.id,title:a.name,provider:"supabase",status:"unknown"===a.state?"unknown":"paused"===a.state?"firing":"ok",message:`Supabase project ${a.name} is paused.`})),CertExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=q("CertExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.tlsNotAfter)return d;let e=l(c.tlsNotAfter,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:`The TLS certificate of ${c.name} expires in ${m(e,"day")}.`}}),DomainExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=q("DomainExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.expiresAt)return d;let e=l(c.expiresAt,a.now);return{...d,status:e<(b??30)?"firing":"ok",message:`${c.name} expires in ${m(e,"day")}.`}}),StorageAlmostFull:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"!==a.provider).map(a=>{let c=q("StorageAlmostFull",a.id,{resourceId:a.id,title:a.name,provider:r(a)});if(null===a.sizeBytes||!a.sizeLimitBytes)return c;let d=a.sizeBytes/a.sizeLimitBytes*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} uses ${k(a.sizeBytes/1e6)} MB of ${k(a.sizeLimitBytes/1e6)} MB (${k(d)}%).`}}),NeonComputeHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"neon"===a.provider).map(a=>{let c=q("NeonComputeHigh",a.id,{resourceId:a.id,title:a.name,provider:"neon"});return null===a.cuHours?c:{...c,status:a.cuHours>(b??80)?"firing":"ok",message:`${a.name} used ${k(a.cuHours)} of ${k(a.cuLimit??100)} CU-hours this month.`}}),FirestoreQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"===a.provider).map(a=>{let c=q("FirestoreQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:"firebase"});if(a.quotaExhausted)return{...c,status:"firing",message:`${a.name} hit a Firestore quota (RESOURCE_EXHAUSTED).`};if(null===a.readsToday||!a.readsLimit)return!1===a.quotaExhausted?{...c,status:"ok"}:c;let d=a.readsToday/a.readsLimit*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} read ${k(a.readsToday)} of ${k(a.readsLimit)} documents today (${k(d)}%).`}}),AutoPauseRisk:(a,b)=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(c=>{let d=q("AutoPauseRisk",c.id,{resourceId:c.id,title:c.name,provider:"supabase"});if("paused"===c.state)return{...d,status:"ok"};if(!c.lastApiAt)return d;let e=Math.floor((a.now.getTime()-c.lastApiAt.getTime())/864e5);return{...d,status:e>=(b??4)?"firing":"ok",message:`No API traffic for ${m(e,"day")}. Supabase pauses free projects after about 7 days.`}}),DnsProxiedToVercel:a=>a.dns&&a.dns.map(a=>q("DnsProxiedToVercel",a.id,{resourceId:a.resourceId,title:a.name,provider:"cloudflare",status:a.proxied&&a.pointsToVercel?"firing":"ok",message:`${a.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`})),DbQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>s.has(a.provider)).map(a=>{let c=q("DbQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:r(a)});return null==a.quotaPct?c:{...c,status:a.quotaPct>(b??80)?"firing":"ok",message:`${a.name}: ${a.quotaLabel??"usage"} at ${k(a.quotaPct)}% of the free plan.`}}),ComputeHigh:(a,b)=>a.compute?a.compute.map(c=>{let d=q("ComputeHigh",c.id,{resourceId:c.id,title:c.name,provider:"supabase",sampleAt:c.latest?new Date(c.latest.at):null}),e=(0,i.B)(c.latest,(0,i.V)(b),a.now);return null===e?d:{...d,status:e.length?"firing":"ok",message:e.length?`${c.name}: ${e.join(", ")}.`:`${c.name} compute is back under the limits.`}}):null,CredentialExpiring:(a,b)=>a.accounts.map(c=>{let d=q("CredentialExpiring",c.id,{accountId:c.id,title:`${c.provider} \xb7 ${c.label}`,provider:c.provider});if("drive"===c.provider&&"error"===c.status&&c.lastError?.includes("invalid_grant"))return{...d,status:"firing",message:"Google Drive access was removed (invalid_grant). Reconnect it."};if(!c.expiresAt)return{...d,status:"ok"};let e=l(c.expiresAt,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:e<0?`The ${c.provider} credential ${c.label} has expired.`:`The ${c.provider} credential ${c.label} expires in ${m(e,"day")}.`}}),VulnerableDependency:a=>a.deps?a.deps.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=q("VulnerableDependency",b.appId,{resourceId:b.appId,title:c.name,provider:"github"});if(b.error)return[d];let e=(0,j.g)(b.vulns);return e?[{...d,status:"firing",message:(0,j.L)(b.vulns),..."critical"===e?{severity:"critical"}:{}}]:[{...d,status:"ok",message:`${c.name} has no high or critical dependency advisories.`}]}):null},u=["MonitorDown","HighLatency"],v=["telegram","discord"],w=a=>a.channels.some(a=>v.includes(a));function x(a,b){return b.collectorStale&&"CollectorStale"!==a.rule?"CollectorStale":a.resourceId&&u.includes(a.rule)?b.mutedApps.get(a.resourceId)??null:null}let y=(a,b)=>"critical"===b&&"warning"===a?"critical":a,z=(a,b)=>a.silencedUntilResolved||null!==a.silencedUntil&&a.silencedUntil.getTime()>b.getTime(),A=(a,b)=>`${a}|${b}`;var B=a.i(519051),C=a.i(245710);function D(a,b){return"1h"===a?{silencedUntil:new Date(b.getTime()+36e5),silencedUntilResolved:!1}:{silencedUntil:null,silencedUntilResolved:!0}}a.s(["_",0,[["critical","Critical"],["warning","Warning"],["info","Info"]],"O",0,function(a,b){return a.silencedUntilResolved?{state:"off",text:"Silenced until resolved"}:a.silencedUntil&&a.silencedUntil.getTime()>b.getTime()?{state:"off",text:`Silenced until ${(0,C.U)(a.silencedUntil)}`}:"open"===a.pending||"repeat"===a.pending?{state:"build",text:"Sending…"}:a.causedBy&&!a.notifiedOpen?{state:"off",text:"Muted"}:a.lastNotifiedAt?{state:"ok",text:`Sent ${(0,C.U)(a.lastNotifiedAt)}`}:{state:"off",text:"Digest only"}},"G",0,function(a){return a.enabled?a.firing?{state:"err",text:`Firing \xb7 ${a.firing}`}:a.hasData?{state:"off",text:"Inactive"}:{state:"unknown",text:"No data yet"}:{state:"off",text:"Disabled"}},"A",0,D,"M",0,function(a,b){let c=Math.max(1,Math.round((b.getTime()-a.getTime())/6e4));if(c<60)return`${c} min`;let d=Math.floor(c/60);return d<24?`${d} h ${c%60} min`:`${Math.floor(d/24)} d ${d%24} h`}],71575);var E=a.i(639271),F=a.i(656298),G=a.i(688275),H=a.i(893893),I=a.i(672319),J=a.i(188546),K=a.i(233711);async function L(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","qstash","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function M(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}a.s(["D",0,L,"d",0,M],569057);var N=a.i(367247),O=a.i(84877),P=a.i(679662);let Q=/^v?(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function R(a,b){let c=Q.exec(a.trim()),d=Q.exec(b.trim());return!!c&&!!d&&c[1]===d[1]&&("0"!==c[1]||c[2]===d[2])&&(0,O.f)(b,a)>=0}function S(a,b){if(!b)return{deps:a,stale:[]};let c=[...Object.entries(b.dependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.optionalDependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.devDependencies).map(([a,b])=>[a,b,!0])],d=[...a],e=[];for(let[a,b,f]of c){let c=(0,P.Y)(b);if(!c||!(0,P.C)(c))continue;let g=d.filter(b=>b.name===a);!g.length||g.some(a=>(0,O.f)(a.version,c)>=0)||((d=d.filter(b=>b.name!==a)).push({name:a,version:c,dev:g.every(a=>a.dev)&&f}),e.push(a))}return{deps:d,stale:e}}let T=a=>`Lockfile tertinggal — jalankan npm install (${a.slice(0,5).join(", ")}${a.length>5?`, +${a.length-5}`:""}).`;a.s(["M",0,T,"a",0,function(a,b,c){if(!a.length)return{ok:!1,why:"nothing"};let d=a.filter(a=>c.includes(a.severity));if(!d.length)return{ok:!1,why:"severity"};for(let a of d){let c=b.get(a.package);if(!c||!R(c,a.to))return{ok:!1,why:"major"}}return{ok:!0,upgrades:d}},"m",0,S,"D",0,function(a){let b=new Map;for(let c of a){if(!c.direct)continue;let a=b.get(c.package);(!a||0>(0,O.f)(c.installedVersion,a))&&b.set(c.package,c.installedVersion)}return b},"U",0,function(a,b){for(let c of b){let b=function(a){if(a.packages?.length)return a.packages;let b=/^Watch(?:bell|post): update (\S+) (?:to|ke) /.exec(a.title);return b?[b[1]]:"all"}(c);if("all"===b||a.some(a=>b.includes(a)))return c}return null},"J",0,R],912283);var U=a.i(358179),V=a.i(492665),W=a.i(683439),X=a.i(852539),Y=a.i(33135),Z=a.i(533957);let $="OpsConsole-Deps/1.0 (+https://west-solutions.web.id)";async function _(a,b,c,d){let e=d.deadline-Date.now();if(e<500)return{ok:!1,error:"No time left for OSV.dev"};let f=AbortSignal.timeout(e);return ab(a,{method:"POST",headers:{"content-type":"application/json","user-agent":$},body:JSON.stringify(b),signal:f},c,f,d)}async function aa(a,b,c){let d=c.deadline-Date.now();if(d<500)return{ok:!1,error:"No time left for OSV.dev"};let e=AbortSignal.timeout(Math.min(d,8e3));return ab(a,{method:"GET",headers:{"user-agent":$},signal:e},b,e,c)}async function ab(a,b,c,d,e){let f;try{f=await (e.fetch??fetch)(a,{...b,redirect:"error",cache:"no-store"})}catch(a){return{ok:!1,error:(0,Z.t)(a)?"OSV.dev didn't answer in time":"Couldn't reach OSV.dev"}}if(!f.ok)return await f.body?.cancel().catch(()=>void 0),{ok:!1,error:`OSV.dev answered HTTP ${f.status}`};try{let{bytes:a,truncated:b}=await (0,Y.z)(f,c,(0,Y.X)(d));if(b)return{ok:!1,error:"OSV.dev sent too large an answer"};return{ok:!0,body:JSON.parse(new TextDecoder().decode(a))}}catch(a){return{ok:!1,error:(0,Z.t)(a)?"OSV.dev didn't answer in time":"OSV.dev sent an answer we couldn't read"}}}async function ac(a,b){let c=[];for(let d of(0,X.f)(a)){let a=await _(X.n,d,4194304,b);if(!a.ok)return a;let e=(0,X.j)(a.body,d.queries.length);if(!e)return{ok:!1,error:"OSV.dev sent an answer we couldn't read"};c.push(...e)}return{ok:!0,ids:c}}async function ad(a,b){let c=[...new Set(a)].filter(X.G);if(c.length>300)return{ok:!1,error:`Too many advisories to read in one scan (${c.length})`};let d=new Map,e=null;for(let a=0;a<c.length&&!e;a+=8)await Promise.all(c.slice(a,a+8).map(async a=>{let c=await aa(`${X.W}${encodeURIComponent(a)}`,1048576,b),f=c.ok?(0,X.O)(c.body):null;f?d.set(a,f):e??=c.ok?"OSV.dev sent an advisory we couldn't read":c.error}));return e?{ok:!1,error:e}:{ok:!0,map:d}}var ae=a.i(689963),af=a.i(26972),ag=a.i(427221),ah=a.i(811365),ai=a.i(760417);let aj=ae.z.array(af.z.object({name:ag.z.string(),type:ag.z.string(),sha:ag.z.string(),size:ah.z.number().optional()}));async function ak(a,b,c,d={}){if(!(0,ai.M)(b)||!(0,ai.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or ref."};let e=await (0,ai.j)(`/repos/${(0,ai.f)(b)}/contents/?ref=${encodeURIComponent(c)}`,a,d);if(!e.ok)return e;let f=aj.safeParse(e.data);return f.success?{ok:!0,data:f.data.filter(a=>"file"===a.type&&/^[0-9a-f]{40}$/.test(a.sha)).map(a=>({name:a.name,sha:a.sha,size:a.size??0}))}:{ok:!1,kind:"format",error:"GitHub answered the file list in a format the console doesn't recognise."}}function al(a,b,c,d,e,f={}){return(0,ai.V)(a,b,c,d,e,f)}async function am(a,b,c={}){if(!(0,ai.M)(b))return{ok:!1,kind:"format",error:"That isn't a repository name."};let d=await (0,ai.j)(`/repos/${(0,ai.f)(b)}/dependabot/alerts?state=open&ecosystem=npm&per_page=100`,a,c);if(!d.ok)return"scope"===d.kind||"missing"===d.kind?{ok:!0,data:{denied:!0}}:d;let e=(0,j.E)(d.data);return e?{ok:!0,data:{alerts:e}}:{ok:!1,kind:"format",error:"GitHub answered the Dependabot alerts in a format the console doesn't recognise."}}async function an(){let[a]=await (0,e.f)().select().from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).orderBy((0,c.M)(f.accounts.createdAt)).limit(1);if(!a)return{error:"GitHub isn't connected."};let d=(0,U.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,V.f)().OPS_ENCRYPTION_KEY);return d?{token:d,accountId:a.id}:{error:"Can't read the stored GitHub credential. Replace it on Connections."}}let ao=(a,b)=>a.length>b?`${a.slice(0,b-1)}…`:a;async function ap(a,b){let c=new Date;await (0,e.f)().insert(f.dependencyScans).values({repoId:a,...b,updatedAt:c}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{...b,updatedAt:c}})}async function aq(a){return(0,e.f)().select({id:f.dependencyVulns.id,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,source:f.dependencyVulns.source}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,a),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3)}async function ar(a,c,d,g={}){let h=()=>({...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),1e4))}),i=async a=>(await ap(c.id,{error:ao(a,300),scannedAt:new Date}).catch(()=>void 0),{status:"failed",error:a}),k=c.defaultBranch??"HEAD",l=await ak(a,c.fullName,k,h());if(!l.ok)return i(l.error);let m=function(a){for(let b of P.a){let c=a.find(a=>a.name===b.path);if(c)return{path:b.path,kind:b.kind,sha:c.sha}}return null}(l.data),n=l.data.find(a=>"package.json"===a.name)??null,o=m?m.sha:n?`pkg:${n.sha}`:null,[p]=await (0,e.f)().select().from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,c.id)).limit(1),q=new Date;if(!(0,j.U)(p??null,o,q,g.force))return{status:"unchanged"};if(!o){let a=await aq(c.id);return a.length&&await (0,e.f)().update(f.dependencyVulns).set({resolvedAt:q}).where((0,b.y)(f.dependencyVulns.id,a.map(a=>a.id))),await ap(c.id,{lockfilePath:null,lockfileSha:null,packageCount:0,scannedAt:q,queriedAt:q,error:null,note:"No package.json or lockfile at the repository root."}),{status:"scanned",vulns:0,packages:0,note:"no package.json"}}let r=n?await al(a,c.fullName,"package.json",k,ai.$,h()):null;if(r&&!r.ok)return i(r.error);let s=r?.ok&&r.data?(0,P.b)(r.data):null,t=null,u="package-json",v=null;if(m){if(2e3>d-Date.now())return i("Time budget used before the lockfile was read; the next run tries again.");let b=await al(a,c.fullName,m.path,k,0xf00000,{...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),2e4))});if(!b.ok)return i(b.error);t=b.data?(0,P.D)(m.kind,b.data):null,u=m.kind,t||(v=`${m.path} couldn't be read; the versions come from package.json ranges (approximate).`)}if(t){let a=S(t,s);t=a.deps,a.stale.length&&(v=[v,T(a.stale)].filter(Boolean).join(" "))}else t=s?(0,P.e)(s):[],u="package-json",v??=m?null:"No lockfile: the versions come from package.json ranges (approximate).";let w=await aq(c.id),x=[];if(t.length){let a=await ac(t,{fetch:g.fetch,deadline:d});if(!a.ok)return i(a.error);let b=(0,j.A)(w,!0===g.force),c=await ad((0,j.z)(t,a.ids,b),{fetch:g.fetch,deadline:d});if(!c.ok)return i(c.error);x=(0,X.i)(t,a.ids,c.map,b)}if(d-Date.now()>1500){let b=await am(a,c.fullName,h());b.ok&&"alerts"in b.data?x=(0,j.R)(x,b.data.alerts,t):b.ok&&(v=[v,"Dependabot alerts aren't readable with this token (optional: Dependabot alerts: Read)."].filter(Boolean).join(" "))}let y=(0,j.h)(w,x,(0,P.K)(s)),z=new Date;return await (0,e.f)().transaction(async a=>{for(let d of(y.insert.length&&await a.insert(f.dependencyVulns).values(y.insert.map(a=>({repoId:c.id,package:a.package,installedVersion:a.installedVersion,vulnId:a.vulnId,aliases:a.aliases,severity:a.severity,fixedVersion:a.fixedVersion,summary:a.summary,direct:a.direct,dev:a.dev,source:a.source,firstSeenAt:z,lastSeenAt:z}))).onConflictDoNothing(),y.update))await a.update(f.dependencyVulns).set({severity:d.severity,fixedVersion:d.fixedVersion,summary:d.summary,aliases:d.aliases,dev:d.dev,direct:d.direct,lastSeenAt:z}).where((0,b.u)(f.dependencyVulns.id,d.id));y.resolve.length&&await a.update(f.dependencyVulns).set({resolvedAt:z}).where((0,b.b)((0,b.y)(f.dependencyVulns.id,y.resolve),(0,b.M)(f.dependencyVulns.resolvedAt))),await a.insert(f.dependencyScans).values({repoId:c.id,lockfilePath:m?.path??(n?"package.json":null),lockfileSha:o,packageCount:t.length,scannedAt:z,queriedAt:z,error:null,note:v?ao(v,300):null,updatedAt:z}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{lockfilePath:m?.path??(n?"package.json":null),lockfileSha:o,packageCount:t.length,scannedAt:z,queriedAt:z,error:null,note:v?ao(v,300):null,updatedAt:z}})}),{status:"scanned",vulns:y.insert.length+y.update.length,packages:t.length,note:"package-json"===u?v:null}}async function as(a){let d={repo:null,scan:null,vulns:[],writeConnected:!1};if(!(0,W.f)(a))return d;let[g]=await (0,e.f)().select({id:f.githubRepos.id,fullName:f.githubRepos.fullName}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return d;let[[h],i,[k]]=await Promise.all([(0,e.f)().select({scannedAt:f.dependencyScans.scannedAt,lockfilePath:f.dependencyScans.lockfilePath,packageCount:f.dependencyScans.packageCount,error:f.dependencyScans.error,note:f.dependencyScans.note}).from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,g.id)).limit(1),(0,e.f)().select({package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,firstSeenAt:f.dependencyVulns.firstSeenAt}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3),(0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github_write")).limit(1)]);i.sort((a,b)=>(0,j.t)(a.severity)-(0,j.t)(b.severity)||(a.package<b.package?-1:+(a.package>b.package))||(a.vulnId<b.vulnId?-1:1));let l=await (0,e.f)().select({number:f.dependencyPrs.number,stage:f.dependencyPrs.stage,stageText:f.dependencyPrs.stageText,openedAt:f.dependencyPrs.openedAt}).from(f.dependencyPrs).where((0,b.b)((0,b.u)(f.dependencyPrs.repoId,g.id),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)))).orderBy((0,c.A)(f.dependencyPrs.openedAt)).limit(5).catch(()=>[]);return{repo:g,scan:h??null,vulns:i,writeConnected:!!k,prs:(l??[]).map(a=>({...a,fullName:g.fullName}))}}async function at(a,c={}){if(!(0,W.f)(a))return{ok:!1,error:"That app no longer exists."};let[g]=await (0,e.f)().select({app:f.resources.name,id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,goneAt:f.githubRepos.goneAt}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return{ok:!1,error:"Link a repository first."};if(g.goneAt)return{ok:!1,error:"That repository is no longer shared with the GitHub token."};let h=await an();if("error"in h)return{ok:!1,error:h.error};let i=await ar(h.token,{id:g.id,fullName:g.fullName,defaultBranch:g.defaultBranch,scannedAt:null},Date.now()+4e4,{...c,force:!0});if("failed"===i.status)return{ok:!1,error:`The scan failed: ${i.error}`};let[j]=await (0,e.f)().select({n:d.B`count(*)::int`}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))),k=j?.n??0;return{ok:!0,app:g.app,repo:g.fullName,vulns:k,message:k?`${k} known vulnerabilit${1===k?"y":"ies"} in ${i.packages??0} packages.`:`No known vulnerabilities in ${i.packages??0} packages.`}}async function au(a){let c=a.filter(W.f);if(!c.length)return[];let d=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId,error:f.dependencyScans.error}).from(f.appRepos).innerJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.appRepos.repoId)).where((0,b.b)((0,b.y)(f.appRepos.appId,c),(0,b.E)(f.dependencyScans.scannedAt)));if(!d.length)return[];let g=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,severity:f.dependencyVulns.severity,summary:f.dependencyVulns.summary,dev:f.dependencyVulns.dev}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(d.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(1e4);return d.map(a=>({appId:a.appId,repoId:a.repoId,error:a.error,vulns:g.filter(b=>b.repoId===a.repoId).map(a=>({package:a.package,installedVersion:a.installedVersion,fixedVersion:a.fixedVersion,severity:a.severity,summary:a.summary,dev:a.dev}))}))}async function av(a){let c=a.filter(W.f),d=new Map;if(!c.length)return d;let g=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,c));if(!g.length)return d;let h=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,vulnId:f.dependencyVulns.vulnId,aliases:f.dependencyVulns.aliases,severity:f.dependencyVulns.severity,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(g.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt),(0,b.u)(f.dependencyVulns.direct,!0),(0,b.E)(f.dependencyVulns.fixedVersion))).limit(2e3);for(let a of g)(0,j.B)(h.filter(b=>b.repoId===a.repoId)).length&&d.set(a.appId,a.repoId);return d}async function aw(){return(0,e.f)().select({appId:f.links.fromResourceId,dbId:f.links.toResourceId}).from(f.links).where((0,b.u)(f.links.kind,"uses_db")).limit(500)}async function ax(a){let g=(0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt)),[h,i,j,k,l]=await Promise.all([M(),L(),(0,e.f)().select({m:f.monitors,appName:f.resources.name}).from(f.monitors).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(g,(0,b.u)(f.monitors.paused,!1),(0,b.u)(f.monitors.ownerPaused,!1))),(0,e.f)().select({id:f.resources.id,name:f.resources.name}).from(f.resources).where((0,b.b)(g,(0,b.u)(f.resources.kind,"app"))),(0,e.f)().select({id:f.accounts.id,provider:f.accounts.provider,label:f.accounts.label,expiresAt:f.accounts.expiresAt,status:f.accounts.status,lastError:f.accounts.lastError}).from(f.accounts)]),m=j.map(a=>a.m.id),n=m.length?await (0,e.f)().select({id:f.checks.monitorId,n:d.B`count(*)::int`,p95:d.B`percentile_cont(0.95) within group (order by ${f.checks.latencyMs})::float8`}).from(f.checks).where((0,b.b)((0,b.y)(f.checks.monitorId,m),(0,b.B)(f.checks.at,new Date(a.getTime()-6e5)),(0,b.u)(f.checks.inMaintenance,!1))).groupBy(f.checks.monitorId):[],o=k.map(a=>a.id),p=o.length?await (0,e.f)().selectDistinctOn([f.deployments.resourceId],{appId:f.deployments.resourceId,state:f.deployments.state,sha:f.deployments.commitSha,createdAt:f.deployments.createdAtProvider}).from(f.deployments).where((0,b.b)((0,b.y)(f.deployments.resourceId,o),(0,b.u)(f.deployments.target,"production"))).orderBy(f.deployments.resourceId,(0,c.A)(f.deployments.createdAtProvider)):[],q=await (0,e.f)().select({id:f.resources.id,name:f.resources.name,kind:f.resources.kind,state:f.snapshots.state,data:f.snapshots.data}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)(g,(0,b.y)(f.resources.kind,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"]))),r=a=>q.filter(b=>b.kind===a),s=q.filter(a=>["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"].includes(a.kind)),t=r("zone"),u=r("domain"),v=await aw(),w=await (0,N.Y)().catch(()=>null),x=o.length?await au(o).catch(()=>null):null;return{now:a,lastMinuteRunAt:h,lastAnyRunAt:i,monitors:j.map(({m:a,appName:b})=>{let c=n.find(b=>b.id===a.id),d="heartbeat"===a.kind;return{id:a.id,appId:a.resourceId,appName:b,url:d?a.name??"heartbeat":a.url,kind:d?"heartbeat":"http",state:a.state,failStreak:a.failStreak,lastStatus:a.lastStatus,lastError:a.lastError,lastCheckedAt:a.lastCheckedAt,p95Last10:c?.p95??null,checksLast10:c?.n??0}}),apps:k.map(a=>{let b=p.find(b=>b.appId===a.id);return{id:a.id,name:a.name,latestProduction:b?{state:b.state,sha:b.sha,createdAt:b.createdAt}:null}}),accounts:l,dbs:s.length?s.map(b=>(function(a,b){let c={id:a.id,name:a.name,state:a.state,sizeBytes:null,sizeLimitBytes:null,lastApiAt:null,cuHours:null,cuLimit:null,readsToday:null,readsLimit:null,quotaExhausted:null};if("supabase_project"===a.kind){let b=(0,H.k)(H.B,a.data),d=(0,K.Z)(b.lastTrafficAt),e=(0,K.Z)(b.trafficAt),f=d??(e&&!b.trafficError?new Date(e.getTime()-6048e5):null);return{...c,provider:"supabase",sizeBytes:b.sizeBytes??null,sizeLimitBytes:I.R,lastApiAt:f}}if("neon_project"===a.kind){let b=(0,H.k)(H.s,a.data),d=(b.branches??[]).map(a=>a.logicalSize).filter(a=>"number"==typeof a);return{...c,provider:"neon",cuHours:null==b.computeSeconds?null:b.computeSeconds/3600,cuLimit:G.a.cuHours,sizeBytes:d.length?d.reduce((a,b)=>a+b,0):null,sizeLimitBytes:G.a.storageBytes}}if("firestore"===a.kind){let d=(0,H.k)(H.w,a.data),e=(0,K.Z)(d.opsAt),f=null!=d.reads&&e&&e.getTime()>=(0,F.a)(b).getTime()?d.reads:null,g=null!=d.latencyMs||null!=d.pingError;return{...c,provider:"firestore",readsToday:f,readsLimit:F.T.reads,quotaExhausted:g?"RESOURCE_EXHAUSTED"===d.pingReason:null}}if("turso_database"===a.kind){let d=(0,H.k)(H.N,a.data),e=(0,E.u)((0,E.G)(d,b));return{...c,provider:"turso",sizeBytes:d.orgStorageBytes??null,sizeLimitBytes:E.g.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("upstash_redis"===a.kind){let d=(0,H.k)(H.e,a.data),e=(0,E.u)((0,E.$)(d,b));return{...c,provider:"upstash",sizeBytes:d.storageBytes??null,sizeLimitBytes:E.W.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("d1_database"===a.kind){let d=(0,H.k)(H.x,a.data),e=(0,E.u)((0,E.I)(d,b));return{...c,provider:"d1",sizeBytes:d.sizeBytes??null,sizeLimitBytes:E.M.dbBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}return null})(b,a)).filter(a=>null!==a):null,domains:t.length||u.length?[...t.map(a=>({id:a.id,name:a.name,tlsNotAfter:null,expiresAt:(0,K.Z)((0,J.q)(a.data).rdap?.expiresAt)})),...u.map(a=>({id:a.id,name:a.name,tlsNotAfter:(0,K.Z)((0,J.q)(a.data).tls?.notAfter),expiresAt:null}))]:null,dns:function(a,b){let c=a.filter(a=>Array.isArray(a.data.records));if(!c.length)return null;let d=a.map(a=>a.name),e=[];for(let a of c){let c=b.filter(b=>(0,K.J)(b.name,d)===a.name.toLowerCase().replace(/\.$/,"")),f=[...new Set(c.flatMap(a=>(0,J.q)(a.data).vercel?.recommendedIps??[]))];for(let b of(0,J.q)(a.data).records){if(!(0,K.l)(b,f))continue;let d=b.name.toLowerCase().replace(/\.$/,""),g=c.find(a=>a.name.toLowerCase().replace(/\.$/,"")===d);e.push({id:`${a.id}:${b.id}`,resourceId:g?.id??a.id,name:b.name,proxied:b.proxied,pointsToVercel:!0})}}return e}(t,u),links:v,compute:w,deps:x&&x.length?x:null}}a.s(["j",0,as,"C",0,av,"a",0,au,"h",0,at],930270);var ay=a.i(714530);let az={vercel:"Vercel",supabase:"Supabase",neon:"Neon",cloudflare:"Cloudflare",firebase:"Firebase",gcp:"Google Cloud"};async function aA(){return(await (0,e.f)().select().from(f.alertRules)).filter(a=>(0,g.h)(a.key)).map(a=>({key:a.key,severity:a.severity,threshold:a.threshold,enabled:a.enabled,channels:a.channels}))}async function aB(a,c={}){let[d,h,i,j,k]=await Promise.all([ax(a),aA(),(0,e.f)().select().from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)),(0,e.f)().select({provider:f.providerStatus.provider,state:f.providerStatus.state}).from(f.providerStatus),(0,ay.w)()]),{observations:l,evaluated:m}=function(a,b,c){let d=[],e=new Set;for(let f of b){if(!f.enabled||c&&!c.includes(f.key)||!g._[f.key])continue;let b=t[f.key](a,f.threshold);b&&(e.add(f.key),d.push(...b))}return{observations:d,evaluated:e}}(d,h,c.only),n=h.find(a=>"CollectorStale"===a.key),o=void 0===d.lastAnyRunAt?d.lastMinuteRunAt:d.lastAnyRunAt,p=!!n?.enabled&&(!o||a.getTime()-o.getTime()>(n.threshold??5)*6e4),q=new Map((d.dbs??[]).filter(a=>"paused"===a.state).map(a=>[a.id,a.name])),r=new Map(d.links.filter(a=>q.has(a.dbId)).map(a=>[a.appId,`DatabasePaused \xb7 ${q.get(a.dbId)}`])),s=new Map(j.filter(a=>"warn"===a.state||"err"===a.state).map(a=>["gcp"===a.provider?"firebase":a.provider,az[a.provider]??a.provider])),u=(0,B.u)(k,d.monitors.map(a=>({id:a.id,appId:a.appId})),a,d.apps.map(a=>a.id)),v=function(a,b,c,d,e){let f={open:[],touch:[],resolve:[]},h=new Map(d.map(a=>[a.key,a])),i=new Map(b.map(a=>[A(a.rule,a.subject),a])),j=new Set(a.map(a=>A(a.ruleKey,a.subject))),k=a=>f.resolve.push({id:a.id,pending:a.notifiedOpen?"resolve":null});for(let b of a){let a=h.get(b.ruleKey),d=i.get(A(b.ruleKey,b.subject));if(!a||!a.enabled){f.resolve.push({id:b.id,pending:null});continue}if(!c.has(b.ruleKey))continue;if(!d){f.resolve.push({id:b.id,pending:null});continue}if("unknown"===d.status)continue;let j=d.provider?e.incidents.get(d.provider)??null:null;if("firing"===d.status){let c=x(d,e),g=b.notifiedOpen&&null!==b.lastNotifiedAt&&e.now.getTime()-b.lastNotifiedAt.getTime()>=216e5,h={id:b.id,okStreak:0,lastSampleAt:d.sampleAt??b.lastSampleAt,lastSeenAt:e.now,message:d.message,causedBy:c,providerIncident:j},i=!b.notifiedOpen&&(!b.pendingSince||e.now.getTime()-b.pendingSince.getTime()>=216e5);(g||i)&&!z(b,e.now)&&!c&&null===b.pending&&w(a)&&(h.pending=g?"repeat":"open"),f.touch.push(h);continue}if(!g._[b.ruleKey].sampled||null===d.sampleAt){k(b);continue}if(!(null===b.lastSampleAt||d.sampleAt.getTime()>b.lastSampleAt.getTime()))continue;let l=b.okStreak+1;l>=2?k(b):f.touch.push({id:b.id,okStreak:l,lastSampleAt:d.sampleAt})}for(let a of b){if("firing"!==a.status||j.has(A(a.rule,a.subject))||e.maintenance.has(a.subject)||a.resourceId&&e.maintenance.has(a.resourceId))continue;let b=h.get(a.rule);if(!b)continue;let c=x(a,e);f.open.push({ruleKey:a.rule,subject:a.subject,resourceId:a.resourceId,accountId:a.accountId,severity:y(b.severity,a.severity),title:a.title,message:a.message,startedAt:e.now,lastSeenAt:e.now,lastSampleAt:a.sampleAt,causedBy:c,providerIncident:a.provider?e.incidents.get(a.provider)??null:null,pending:c||!w(b)?null:"open"})}return f}(i.filter(a=>(0,g.h)(a.ruleKey)).map(a=>({id:a.id,ruleKey:a.ruleKey,subject:a.subject,okStreak:a.okStreak,lastSampleAt:a.lastSampleAt,silencedUntil:a.silencedUntil,silencedUntilResolved:a.silencedUntilResolved,notifiedOpen:a.notifiedOpen,lastNotifiedAt:a.lastNotifiedAt,pending:a.pending,pendingSince:a.pendingSince})),l,m,h,{now:a,collectorStale:p,mutedApps:r,incidents:s,maintenance:u});return v.open.length||v.touch.length||v.resolve.length?(await (0,e.f)().transaction(async c=>{for(let b of v.open)await c.insert(f.alerts).values({...b,pendingSince:b.pending?a:null}).onConflictDoNothing();for(let d of v.touch){let{id:e,pending:g,...h}=d;await c.update(f.alerts).set({...h,...g?{pending:g,pendingSince:a}:{}}).where((0,b.b)((0,b.u)(f.alerts.id,e),(0,b.M)(f.alerts.resolvedAt)))}for(let d of v.resolve)await c.update(f.alerts).set({resolvedAt:a,pending:d.pending,pendingSince:d.pending?a:null}).where((0,b.b)((0,b.u)(f.alerts.id,d.id),(0,b.M)(f.alerts.resolvedAt)))}),{opened:v.open.length,resolved:v.resolve.length}):{opened:0,resolved:0}}async function aC(){let[a]=await (0,e.f)().select({n:d.B`count(*)::int`}).from(f.alerts).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,b.y)(f.alerts.severity,["critical","warning"])));return a?.n??0}let aD=d.B`case ${f.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`;async function aE(){return(await (0,e.f)().select({a:f.alerts,name:f.resources.name,kind:f.resources.kind}).from(f.alerts).leftJoin(f.resources,(0,b.u)(f.resources.id,f.alerts.resourceId)).where((0,b.M)(f.alerts.resolvedAt)).orderBy(aD,(0,c.A)(f.alerts.startedAt)).limit(200)).map(({a,name:b,kind:c})=>({...a,resourceName:b??null,resourceKind:c??null}))}async function aF(a){return(await (0,e.f)().select({id:f.alerts.id,ruleKey:f.alerts.ruleKey,severity:f.alerts.severity,title:f.alerts.title,resourceId:f.alerts.resourceId,startedAt:f.alerts.startedAt,resolvedAt:f.alerts.resolvedAt}).from(f.alerts).where((0,b.b)((0,b.E)(f.alerts.resolvedAt),(0,b.B)(f.alerts.resolvedAt,new Date(a.getTime()-6048e5)))).orderBy((0,c.A)(f.alerts.resolvedAt)).limit(50)).flatMap(a=>a.resolvedAt?[{...a,resolvedAt:a.resolvedAt}]:[])}async function aG(){let[a,c,h]=await Promise.all([aA(),(0,e.f)().select({key:f.alerts.ruleKey,n:d.B`count(*)::int`}).from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)).groupBy(f.alerts.ruleKey),(0,e.f)().select({kind:f.resources.kind}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt))).groupBy(f.resources.kind)]),i=new Set(h.map(a=>a.kind)),j={databases:["supabase_project","neon_project","firestore"].some(a=>i.has(a)),domains:i.has("domain")||i.has("zone"),dns:i.has("zone")};return g.u.flatMap(b=>{let d=a.find(a=>a.key===b);if(!d)return[];let e=g._[b].needs;return[{rule:d,firing:c.find(a=>a.key===b)?.n??0,hasData:null===e||j[e]}]})}async function aH(a,c,d,g){let h="off"===c?{silencedUntil:null,silencedUntilResolved:!1,silencedBy:null}:{...D(c,g),silencedBy:d},[i]=await (0,e.f)().update(f.alerts).set(h).where((0,b.b)((0,b.u)(f.alerts.id,a),(0,b.M)(f.alerts.resolvedAt))).returning({ruleKey:f.alerts.ruleKey,title:f.alerts.title,resourceId:f.alerts.resourceId});return i??null}async function aI(a,c){return(await (0,e.f)().update(f.alertRules).set({...c,updatedAt:new Date}).where((0,b.u)(f.alertRules.key,a)).returning({key:f.alertRules.key})).length>0}a.s(["$",0,aB,"q",0,aE,"I",0,aF,"X",0,aC,"y",0,aG,"z",0,aI,"N",0,aH],455317)},425238,a=>{var b=a.i(609007),c=a.i(556987);let d=/(?<![\p{L}\p{N}_])(?:w[bp]_[A-Za-z0-9]{6,}|hb_[0-9a-f]{6,}|sk-[A-Za-z0-9_-]{6,}|gsk_[A-Za-z0-9]{6,}|AIza[0-9A-Za-z_-]{8,}|AQ\.[A-Za-z0-9_-]{8,})/gu,e=/\b[a-z][a-z0-9+.-]*:\/\/[^\s/?#"'<>)]*(\/[^\s?#"'<>)]*)?(?:[?#][^\s"'<>)]*)?/gi,f="[\\p{L}\\p{N}_-]",g=a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),h=new WeakMap,i=[RegExp(d.source,"u"),/\b(?:Bearer|Basic)\s+[A-Za-z0-9._~+/=-]{12,}/i,/\beyJ[\w-]{8,}\.[\w-]{8,}\.[\w-]{8,}/,/\b[a-z][a-z0-9+.-]*:\/\/[^\s/@:]+:[^\s/@]+@/i,/\b[A-Fa-f0-9]{40,}\b/,/\b(?=[A-Za-z0-9_-]*\d)(?=[A-Za-z0-9_-]*[A-Za-z])[A-Za-z0-9_-]{40,}\b/];a.s(["G",0,function(a){return i.some(b=>b.test(a))},"F",0,function(a,i){let j=(0,b.h)(a);j=(0,c.J)(j,i);let k=function(a){if(h.has(a))return h.get(a);let b=new Map((a.account??[]).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(`(?<!${f})(?:${c.map(g).join("|")})(?!${f})`,"giu"),alias:b}:null;return h.set(a,d),d}(i);return k&&(j=j.replace(k.re,a=>k.alias.get(a.toLowerCase())??a)),(j=(j=(j=j.replace(d,"[hidden]")).replace(/hb_\[hidden\]/g,"[hidden]")).replace(e,(a,b)=>b??"[url]")).replace(/@/g,"(at)")}])}]})();
1
+ (()=>{"use strict";module.exports=[455317,71575,569057,912283,930270,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(927262),h=a.i(201516),i=a.i(273133),j=a.i(120213);let k=a=>Math.round(a).toLocaleString("en-US"),l=(a,b)=>Math.floor((a.getTime()-b.getTime())/864e5),m=(a,b)=>`${a} ${b}${1===a?"":"s"}`,n=a=>{try{let b=new URL(a);return`${b.host}${b.pathname}`}catch{return a}},o=a=>{try{return new URL(a).pathname}catch{return"/"}},p="Down · ",q=(a,b,c)=>({rule:a,subject:b,status:"unknown",resourceId:null,accountId:null,title:b,message:"",provider:null,sampleAt:null,...c}),r=a=>"firestore"===a.provider?"firebase":"d1"===a.provider?"cloudflare":a.provider,s=new Set(["turso","upstash","d1"]),t={MonitorDown:(a,b)=>a.monitors.map(a=>{let c=q("MonitorDown",a.id,{resourceId:a.appId,title:`${a.appName} ${"heartbeat"===a.kind?a.url:o(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt}),d=b??3;if("heartbeat"===a.kind){let b;return{...c,status:"err"===a.state?"firing":"ok"===a.state?"ok":"unknown",message:`${a.appName} \xb7 ${a.url}: ${b=a.lastError,b?.startsWith(p)?b.slice(p.length):"no ping in time"}.`}}return a.failStreak>=d?{...c,status:"firing",message:(0,h.H)(a)?`${n(a.url)} failed its check (${(0,h.H)(a)}) on ${d} consecutive checks.`:`${n(a.url)} returned ${a.lastStatus?`HTTP ${a.lastStatus}`:"no answer"} on ${d} consecutive checks.`}:{...c,status:0===a.failStreak&&a.lastCheckedAt?"ok":"unknown",message:`${n(a.url)} answers again.`}}),CollectorStale:(a,b)=>{let c=a.lastMinuteRunAt;return[q("CollectorStale","collector",{status:!c||a.now.getTime()-c.getTime()>(b??5)*6e4?"firing":"ok",title:"collector",message:c?`The last minute run finished ${k((a.now.getTime()-c.getTime())/6e4)} min ago.`:"The collector hasn't finished a run yet."})]},HighLatency:(a,b)=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let c=q("HighLatency",a.id,{resourceId:a.appId,title:`${a.appName} ${o(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt});if(a.checksLast10<5||null===a.p95Last10)return c;let d=b??1500;return{...c,status:a.p95Last10>d?"firing":"ok",message:`p95 ${k(a.p95Last10)} ms over the last 10 minutes (limit ${k(d)} ms).`}}),DeploymentFailed:a=>a.apps.map(a=>{let b=q("DeploymentFailed",a.id,{resourceId:a.id,title:a.name,provider:"vercel"}),c=a.latestProduction;return c?"error"===c.state?{...b,status:"firing",message:`Production deployment ${c.sha?c.sha.slice(0,7):"(no commit)"} failed.`}:{...b,status:"building"===c.state?"unknown":"ok"}:{...b,status:"ok"}}),DatabasePaused:a=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(a=>q("DatabasePaused",a.id,{resourceId:a.id,title:a.name,provider:"supabase",status:"unknown"===a.state?"unknown":"paused"===a.state?"firing":"ok",message:`Supabase project ${a.name} is paused.`})),CertExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=q("CertExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.tlsNotAfter)return d;let e=l(c.tlsNotAfter,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:`The TLS certificate of ${c.name} expires in ${m(e,"day")}.`}}),DomainExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=q("DomainExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.expiresAt)return d;let e=l(c.expiresAt,a.now);return{...d,status:e<(b??30)?"firing":"ok",message:`${c.name} expires in ${m(e,"day")}.`}}),StorageAlmostFull:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"!==a.provider).map(a=>{let c=q("StorageAlmostFull",a.id,{resourceId:a.id,title:a.name,provider:r(a)});if(null===a.sizeBytes||!a.sizeLimitBytes)return c;let d=a.sizeBytes/a.sizeLimitBytes*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} uses ${k(a.sizeBytes/1e6)} MB of ${k(a.sizeLimitBytes/1e6)} MB (${k(d)}%).`}}),NeonComputeHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"neon"===a.provider).map(a=>{let c=q("NeonComputeHigh",a.id,{resourceId:a.id,title:a.name,provider:"neon"});return null===a.cuHours?c:{...c,status:a.cuHours>(b??80)?"firing":"ok",message:`${a.name} used ${k(a.cuHours)} of ${k(a.cuLimit??100)} CU-hours this month.`}}),FirestoreQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"===a.provider).map(a=>{let c=q("FirestoreQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:"firebase"});if(a.quotaExhausted)return{...c,status:"firing",message:`${a.name} hit a Firestore quota (RESOURCE_EXHAUSTED).`};if(null===a.readsToday||!a.readsLimit)return!1===a.quotaExhausted?{...c,status:"ok"}:c;let d=a.readsToday/a.readsLimit*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} read ${k(a.readsToday)} of ${k(a.readsLimit)} documents today (${k(d)}%).`}}),AutoPauseRisk:(a,b)=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(c=>{let d=q("AutoPauseRisk",c.id,{resourceId:c.id,title:c.name,provider:"supabase"});if("paused"===c.state)return{...d,status:"ok"};if(!c.lastApiAt)return d;let e=Math.floor((a.now.getTime()-c.lastApiAt.getTime())/864e5);return{...d,status:e>=(b??4)?"firing":"ok",message:`No API traffic for ${m(e,"day")}. Supabase pauses free projects after about 7 days.`}}),DnsProxiedToVercel:a=>a.dns&&a.dns.map(a=>q("DnsProxiedToVercel",a.id,{resourceId:a.resourceId,title:a.name,provider:"cloudflare",status:a.proxied&&a.pointsToVercel?"firing":"ok",message:`${a.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`})),DbQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>s.has(a.provider)).map(a=>{let c=q("DbQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:r(a)});return null==a.quotaPct?c:{...c,status:a.quotaPct>(b??80)?"firing":"ok",message:`${a.name}: ${a.quotaLabel??"usage"} at ${k(a.quotaPct)}% of the free plan.`}}),ComputeHigh:(a,b)=>a.compute?a.compute.map(c=>{let d=q("ComputeHigh",c.id,{resourceId:c.id,title:c.name,provider:"supabase",sampleAt:c.latest?new Date(c.latest.at):null}),e=(0,i.B)(c.latest,(0,i.V)(b),a.now);return null===e?d:{...d,status:e.length?"firing":"ok",message:e.length?`${c.name}: ${e.join(", ")}.`:`${c.name} compute is back under the limits.`}}):null,CredentialExpiring:(a,b)=>a.accounts.map(c=>{let d=q("CredentialExpiring",c.id,{accountId:c.id,title:`${c.provider} \xb7 ${c.label}`,provider:c.provider});if("drive"===c.provider&&"error"===c.status&&c.lastError?.includes("invalid_grant"))return{...d,status:"firing",message:"Google Drive access was removed (invalid_grant). Reconnect it."};if(!c.expiresAt)return{...d,status:"ok"};let e=l(c.expiresAt,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:e<0?`The ${c.provider} credential ${c.label} has expired.`:`The ${c.provider} credential ${c.label} expires in ${m(e,"day")}.`}}),VulnerableDependency:a=>a.deps?a.deps.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=q("VulnerableDependency",b.appId,{resourceId:b.appId,title:c.name,provider:"github"});if(b.error)return[d];let e=(0,j.g)(b.vulns);return e?[{...d,status:"firing",message:(0,j.L)(b.vulns),..."critical"===e?{severity:"critical"}:{}}]:[{...d,status:"ok",message:`${c.name} has no high or critical dependency advisories.`}]}):null},u=["MonitorDown","HighLatency"],v=["telegram","discord"],w=a=>a.channels.some(a=>v.includes(a));function x(a,b){return b.collectorStale&&"CollectorStale"!==a.rule?"CollectorStale":a.resourceId&&u.includes(a.rule)?b.mutedApps.get(a.resourceId)??null:null}let y=(a,b)=>"critical"===b&&"warning"===a?"critical":a,z=(a,b)=>a.silencedUntilResolved||null!==a.silencedUntil&&a.silencedUntil.getTime()>b.getTime(),A=(a,b)=>`${a}|${b}`;var B=a.i(519051),C=a.i(160147),D=a.i(245710);function E(a,b){return"1h"===a?{silencedUntil:new Date(b.getTime()+36e5),silencedUntilResolved:!1}:{silencedUntil:null,silencedUntilResolved:!0}}a.s(["_",0,[["critical","Critical"],["warning","Warning"],["info","Info"]],"O",0,function(a,b){return a.silencedUntilResolved?{state:"off",text:"Silenced until resolved"}:a.silencedUntil&&a.silencedUntil.getTime()>b.getTime()?{state:"off",text:`Silenced until ${(0,D.U)(a.silencedUntil)}`}:"open"===a.pending||"repeat"===a.pending?{state:"build",text:"Sending…"}:a.causedBy&&!a.notifiedOpen?{state:"off",text:"Muted"}:a.lastNotifiedAt?{state:"ok",text:`Sent ${(0,D.U)(a.lastNotifiedAt)}`}:{state:"off",text:"Digest only"}},"G",0,function(a){return a.enabled?a.firing?{state:"err",text:`Firing \xb7 ${a.firing}`}:a.hasData?{state:"off",text:"Inactive"}:{state:"unknown",text:"No data yet"}:{state:"off",text:"Disabled"}},"A",0,E,"M",0,function(a,b){let c=Math.max(1,Math.round((b.getTime()-a.getTime())/6e4));if(c<60)return`${c} min`;let d=Math.floor(c/60);return d<24?`${d} h ${c%60} min`:`${Math.floor(d/24)} d ${d%24} h`}],71575);var F=a.i(639271),G=a.i(656298),H=a.i(688275),I=a.i(893893),J=a.i(672319),K=a.i(188546),L=a.i(233711);async function M(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","qstash","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function N(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}a.s(["D",0,M,"d",0,N],569057);var O=a.i(367247),P=a.i(84877),Q=a.i(679662);let R=/^v?(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function S(a,b){let c=R.exec(a.trim()),d=R.exec(b.trim());return!!c&&!!d&&c[1]===d[1]&&("0"!==c[1]||c[2]===d[2])&&(0,P.f)(b,a)>=0}function T(a,b){if(!b)return{deps:a,stale:[]};let c=[...Object.entries(b.dependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.optionalDependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.devDependencies).map(([a,b])=>[a,b,!0])],d=[...a],e=[];for(let[a,b,f]of c){let c=(0,Q.Y)(b);if(!c||!(0,Q.C)(c))continue;let g=d.filter(b=>b.name===a);!g.length||g.some(a=>(0,P.f)(a.version,c)>=0)||((d=d.filter(b=>b.name!==a)).push({name:a,version:c,dev:g.every(a=>a.dev)&&f}),e.push(a))}return{deps:d,stale:e}}let U=a=>`Lockfile tertinggal — jalankan npm install (${a.slice(0,5).join(", ")}${a.length>5?`, +${a.length-5}`:""}).`;a.s(["M",0,U,"a",0,function(a,b,c){if(!a.length)return{ok:!1,why:"nothing"};let d=a.filter(a=>c.includes(a.severity));if(!d.length)return{ok:!1,why:"severity"};for(let a of d){let c=b.get(a.package);if(!c||!S(c,a.to))return{ok:!1,why:"major"}}return{ok:!0,upgrades:d}},"m",0,T,"D",0,function(a){let b=new Map;for(let c of a){if(!c.direct)continue;let a=b.get(c.package);(!a||0>(0,P.f)(c.installedVersion,a))&&b.set(c.package,c.installedVersion)}return b},"U",0,function(a,b){for(let c of b){let b=function(a){if(a.packages?.length)return a.packages;let b=/^Watch(?:bell|post): update (\S+) (?:to|ke) /.exec(a.title);return b?[b[1]]:"all"}(c);if("all"===b||a.some(a=>b.includes(a)))return c}return null},"J",0,S],912283);var V=a.i(358179),W=a.i(492665),X=a.i(683439),Y=a.i(852539),Z=a.i(33135),$=a.i(533957);let _="OpsConsole-Deps/1.0 (+https://west-solutions.web.id)";async function aa(a,b,c,d){let e=d.deadline-Date.now();if(e<500)return{ok:!1,error:"No time left for OSV.dev"};let f=AbortSignal.timeout(e);return ac(a,{method:"POST",headers:{"content-type":"application/json","user-agent":_},body:JSON.stringify(b),signal:f},c,f,d)}async function ab(a,b,c){let d=c.deadline-Date.now();if(d<500)return{ok:!1,error:"No time left for OSV.dev"};let e=AbortSignal.timeout(Math.min(d,8e3));return ac(a,{method:"GET",headers:{"user-agent":_},signal:e},b,e,c)}async function ac(a,b,c,d,e){let f;try{f=await (e.fetch??fetch)(a,{...b,redirect:"error",cache:"no-store"})}catch(a){return{ok:!1,error:(0,$.t)(a)?"OSV.dev didn't answer in time":"Couldn't reach OSV.dev"}}if(!f.ok)return await f.body?.cancel().catch(()=>void 0),{ok:!1,error:`OSV.dev answered HTTP ${f.status}`};try{let{bytes:a,truncated:b}=await (0,Z.z)(f,c,(0,Z.X)(d));if(b)return{ok:!1,error:"OSV.dev sent too large an answer"};return{ok:!0,body:JSON.parse(new TextDecoder().decode(a))}}catch(a){return{ok:!1,error:(0,$.t)(a)?"OSV.dev didn't answer in time":"OSV.dev sent an answer we couldn't read"}}}async function ad(a,b){let c=[];for(let d of(0,Y.f)(a)){let a=await aa(Y.n,d,4194304,b);if(!a.ok)return a;let e=(0,Y.j)(a.body,d.queries.length);if(!e)return{ok:!1,error:"OSV.dev sent an answer we couldn't read"};c.push(...e)}return{ok:!0,ids:c}}async function ae(a,b){let c=[...new Set(a)].filter(Y.G);if(c.length>300)return{ok:!1,error:`Too many advisories to read in one scan (${c.length})`};let d=new Map,e=null;for(let a=0;a<c.length&&!e;a+=8)await Promise.all(c.slice(a,a+8).map(async a=>{let c=await ab(`${Y.W}${encodeURIComponent(a)}`,1048576,b),f=c.ok?(0,Y.O)(c.body):null;f?d.set(a,f):e??=c.ok?"OSV.dev sent an advisory we couldn't read":c.error}));return e?{ok:!1,error:e}:{ok:!0,map:d}}var af=a.i(689963),ag=a.i(26972),ah=a.i(427221),ai=a.i(811365),aj=a.i(760417);let ak=af.z.array(ag.z.object({name:ah.z.string(),type:ah.z.string(),sha:ah.z.string(),size:ai.z.number().optional()}));async function al(a,b,c,d={}){if(!(0,aj.M)(b)||!(0,aj.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or ref."};let e=await (0,aj.j)(`/repos/${(0,aj.f)(b)}/contents/?ref=${encodeURIComponent(c)}`,a,d);if(!e.ok)return e;let f=ak.safeParse(e.data);return f.success?{ok:!0,data:f.data.filter(a=>"file"===a.type&&/^[0-9a-f]{40}$/.test(a.sha)).map(a=>({name:a.name,sha:a.sha,size:a.size??0}))}:{ok:!1,kind:"format",error:"GitHub answered the file list in a format the console doesn't recognise."}}function am(a,b,c,d,e,f={}){return(0,aj.V)(a,b,c,d,e,f)}async function an(a,b,c={}){if(!(0,aj.M)(b))return{ok:!1,kind:"format",error:"That isn't a repository name."};let d=await (0,aj.j)(`/repos/${(0,aj.f)(b)}/dependabot/alerts?state=open&ecosystem=npm&per_page=100`,a,c);if(!d.ok)return"scope"===d.kind||"missing"===d.kind?{ok:!0,data:{denied:!0}}:d;let e=(0,j.E)(d.data);return e?{ok:!0,data:{alerts:e}}:{ok:!1,kind:"format",error:"GitHub answered the Dependabot alerts in a format the console doesn't recognise."}}async function ao(){let[a]=await (0,e.f)().select().from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).orderBy((0,c.M)(f.accounts.createdAt)).limit(1);if(!a)return{error:"GitHub isn't connected."};let d=(0,V.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,W.f)().OPS_ENCRYPTION_KEY);return d?{token:d,accountId:a.id}:{error:"Can't read the stored GitHub credential. Replace it on Connections."}}let ap=(a,b)=>a.length>b?`${a.slice(0,b-1)}…`:a;async function aq(a,b){let c=new Date;await (0,e.f)().insert(f.dependencyScans).values({repoId:a,...b,updatedAt:c}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{...b,updatedAt:c}})}async function ar(a){return(0,e.f)().select({id:f.dependencyVulns.id,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,source:f.dependencyVulns.source}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,a),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3)}async function as(a,c,d,g={}){let h=()=>({...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),1e4))}),i=async a=>(await aq(c.id,{error:ap(a,300),scannedAt:new Date}).catch(()=>void 0),{status:"failed",error:a}),k=c.defaultBranch??"HEAD",l=await al(a,c.fullName,k,h());if(!l.ok)return i(l.error);let m=function(a){for(let b of Q.a){let c=a.find(a=>a.name===b.path);if(c)return{path:b.path,kind:b.kind,sha:c.sha}}return null}(l.data),n=l.data.find(a=>"package.json"===a.name)??null,o=m?m.sha:n?`pkg:${n.sha}`:null,[p]=await (0,e.f)().select().from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,c.id)).limit(1),q=new Date;if(!(0,j.U)(p??null,o,q,g.force))return{status:"unchanged"};if(!o){let a=await ar(c.id);return a.length&&await (0,e.f)().update(f.dependencyVulns).set({resolvedAt:q}).where((0,b.y)(f.dependencyVulns.id,a.map(a=>a.id))),await aq(c.id,{lockfilePath:null,lockfileSha:null,packageCount:0,scannedAt:q,queriedAt:q,error:null,note:"No package.json or lockfile at the repository root."}),{status:"scanned",vulns:0,packages:0,note:"no package.json"}}let r=n?await am(a,c.fullName,"package.json",k,aj.$,h()):null;if(r&&!r.ok)return i(r.error);let s=r?.ok&&r.data?(0,Q.b)(r.data):null,t=null,u="package-json",v=null;if(m){if(2e3>d-Date.now())return i("Time budget used before the lockfile was read; the next run tries again.");let b=await am(a,c.fullName,m.path,k,0xf00000,{...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),2e4))});if(!b.ok)return i(b.error);t=b.data?(0,Q.D)(m.kind,b.data):null,u=m.kind,t||(v=`${m.path} couldn't be read; the versions come from package.json ranges (approximate).`)}if(t){let a=T(t,s);t=a.deps,a.stale.length&&(v=[v,U(a.stale)].filter(Boolean).join(" "))}else t=s?(0,Q.e)(s):[],u="package-json",v??=m?null:"No lockfile: the versions come from package.json ranges (approximate).";let w=await ar(c.id),x=[];if(t.length){let a=await ad(t,{fetch:g.fetch,deadline:d});if(!a.ok)return i(a.error);let b=(0,j.A)(w,!0===g.force),c=await ae((0,j.z)(t,a.ids,b),{fetch:g.fetch,deadline:d});if(!c.ok)return i(c.error);x=(0,Y.i)(t,a.ids,c.map,b)}if(d-Date.now()>1500){let b=await an(a,c.fullName,h());b.ok&&"alerts"in b.data?x=(0,j.R)(x,b.data.alerts,t):b.ok&&(v=[v,"Dependabot alerts aren't readable with this token (optional: Dependabot alerts: Read)."].filter(Boolean).join(" "))}let y=(0,j.h)(w,x,(0,Q.K)(s)),z=new Date;return await (0,e.f)().transaction(async a=>{for(let d of(y.insert.length&&await a.insert(f.dependencyVulns).values(y.insert.map(a=>({repoId:c.id,package:a.package,installedVersion:a.installedVersion,vulnId:a.vulnId,aliases:a.aliases,severity:a.severity,fixedVersion:a.fixedVersion,summary:a.summary,direct:a.direct,dev:a.dev,source:a.source,firstSeenAt:z,lastSeenAt:z}))).onConflictDoNothing(),y.update))await a.update(f.dependencyVulns).set({severity:d.severity,fixedVersion:d.fixedVersion,summary:d.summary,aliases:d.aliases,dev:d.dev,direct:d.direct,lastSeenAt:z}).where((0,b.u)(f.dependencyVulns.id,d.id));y.resolve.length&&await a.update(f.dependencyVulns).set({resolvedAt:z}).where((0,b.b)((0,b.y)(f.dependencyVulns.id,y.resolve),(0,b.M)(f.dependencyVulns.resolvedAt))),await a.insert(f.dependencyScans).values({repoId:c.id,lockfilePath:m?.path??(n?"package.json":null),lockfileSha:o,packageCount:t.length,scannedAt:z,queriedAt:z,error:null,note:v?ap(v,300):null,updatedAt:z}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{lockfilePath:m?.path??(n?"package.json":null),lockfileSha:o,packageCount:t.length,scannedAt:z,queriedAt:z,error:null,note:v?ap(v,300):null,updatedAt:z}})}),{status:"scanned",vulns:y.insert.length+y.update.length,packages:t.length,note:"package-json"===u?v:null}}async function at(a){let d={repo:null,scan:null,vulns:[],writeConnected:!1};if(!(0,X.f)(a))return d;let[g]=await (0,e.f)().select({id:f.githubRepos.id,fullName:f.githubRepos.fullName}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return d;let[[h],i,[k]]=await Promise.all([(0,e.f)().select({scannedAt:f.dependencyScans.scannedAt,lockfilePath:f.dependencyScans.lockfilePath,packageCount:f.dependencyScans.packageCount,error:f.dependencyScans.error,note:f.dependencyScans.note}).from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,g.id)).limit(1),(0,e.f)().select({package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,firstSeenAt:f.dependencyVulns.firstSeenAt}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3),(0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github_write")).limit(1)]);i.sort((a,b)=>(0,j.t)(a.severity)-(0,j.t)(b.severity)||(a.package<b.package?-1:+(a.package>b.package))||(a.vulnId<b.vulnId?-1:1));let l=await (0,e.f)().select({number:f.dependencyPrs.number,stage:f.dependencyPrs.stage,stageText:f.dependencyPrs.stageText,openedAt:f.dependencyPrs.openedAt}).from(f.dependencyPrs).where((0,b.b)((0,b.u)(f.dependencyPrs.repoId,g.id),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)))).orderBy((0,c.A)(f.dependencyPrs.openedAt)).limit(5).catch(()=>[]);return{repo:g,scan:h??null,vulns:i,writeConnected:!!k,prs:(l??[]).map(a=>({...a,fullName:g.fullName}))}}async function au(a,c={}){if(!(0,X.f)(a))return{ok:!1,error:"That app no longer exists."};let[g]=await (0,e.f)().select({app:f.resources.name,id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,goneAt:f.githubRepos.goneAt}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return{ok:!1,error:"Link a repository first."};if(g.goneAt)return{ok:!1,error:"That repository is no longer shared with the GitHub token."};let h=await ao();if("error"in h)return{ok:!1,error:h.error};let i=await as(h.token,{id:g.id,fullName:g.fullName,defaultBranch:g.defaultBranch,scannedAt:null},Date.now()+4e4,{...c,force:!0});if("failed"===i.status)return{ok:!1,error:`The scan failed: ${i.error}`};let[j]=await (0,e.f)().select({n:d.B`count(*)::int`}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))),k=j?.n??0;return{ok:!0,app:g.app,repo:g.fullName,vulns:k,message:k?`${k} known vulnerabilit${1===k?"y":"ies"} in ${i.packages??0} packages.`:`No known vulnerabilities in ${i.packages??0} packages.`}}async function av(a){let c=a.filter(X.f);if(!c.length)return[];let d=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId,error:f.dependencyScans.error}).from(f.appRepos).innerJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.appRepos.repoId)).where((0,b.b)((0,b.y)(f.appRepos.appId,c),(0,b.E)(f.dependencyScans.scannedAt)));if(!d.length)return[];let g=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,severity:f.dependencyVulns.severity,summary:f.dependencyVulns.summary,dev:f.dependencyVulns.dev}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(d.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(1e4);return d.map(a=>({appId:a.appId,repoId:a.repoId,error:a.error,vulns:g.filter(b=>b.repoId===a.repoId).map(a=>({package:a.package,installedVersion:a.installedVersion,fixedVersion:a.fixedVersion,severity:a.severity,summary:a.summary,dev:a.dev}))}))}async function aw(a){let c=a.filter(X.f),d=new Map;if(!c.length)return d;let g=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,c));if(!g.length)return d;let h=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,vulnId:f.dependencyVulns.vulnId,aliases:f.dependencyVulns.aliases,severity:f.dependencyVulns.severity,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(g.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt),(0,b.u)(f.dependencyVulns.direct,!0),(0,b.E)(f.dependencyVulns.fixedVersion))).limit(2e3);for(let a of g)(0,j.B)(h.filter(b=>b.repoId===a.repoId)).length&&d.set(a.appId,a.repoId);return d}async function ax(){return(0,e.f)().select({appId:f.links.fromResourceId,dbId:f.links.toResourceId}).from(f.links).where((0,b.u)(f.links.kind,"uses_db")).limit(500)}async function ay(a){let g=(0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt)),[h,i,j,k,l]=await Promise.all([N(),M(),(0,e.f)().select({m:f.monitors,appName:f.resources.name}).from(f.monitors).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(g,(0,b.u)(f.monitors.paused,!1),(0,b.u)(f.monitors.ownerPaused,!1))),(0,e.f)().select({id:f.resources.id,name:f.resources.name}).from(f.resources).where((0,b.b)(g,(0,b.u)(f.resources.kind,"app"))),(0,e.f)().select({id:f.accounts.id,provider:f.accounts.provider,label:f.accounts.label,expiresAt:f.accounts.expiresAt,status:f.accounts.status,lastError:f.accounts.lastError}).from(f.accounts)]),m=j.map(a=>a.m.id),n=m.length?await (0,e.f)().select({id:f.checks.monitorId,n:d.B`count(*)::int`,p95:d.B`percentile_cont(0.95) within group (order by ${f.checks.latencyMs})::float8`}).from(f.checks).where((0,b.b)((0,b.y)(f.checks.monitorId,m),(0,b.B)(f.checks.at,new Date(a.getTime()-6e5)),(0,b.u)(f.checks.inMaintenance,!1))).groupBy(f.checks.monitorId):[],o=k.map(a=>a.id),p=o.length?await (0,e.f)().selectDistinctOn([f.deployments.resourceId],{appId:f.deployments.resourceId,state:f.deployments.state,sha:f.deployments.commitSha,createdAt:f.deployments.createdAtProvider}).from(f.deployments).where((0,b.b)((0,b.y)(f.deployments.resourceId,o),(0,b.u)(f.deployments.target,"production"))).orderBy(f.deployments.resourceId,(0,c.A)(f.deployments.createdAtProvider)):[],q=await (0,e.f)().select({id:f.resources.id,name:f.resources.name,kind:f.resources.kind,state:f.snapshots.state,data:f.snapshots.data}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)(g,(0,b.y)(f.resources.kind,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"]))),r=a=>q.filter(b=>b.kind===a),s=q.filter(a=>["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"].includes(a.kind)),t=r("zone"),u=r("domain"),v=await ax(),w=await (0,O.Y)().catch(()=>null),x=o.length?await av(o).catch(()=>null):null;return{now:a,lastMinuteRunAt:h,lastAnyRunAt:i,monitors:j.map(({m:a,appName:b})=>{let c=n.find(b=>b.id===a.id),d="heartbeat"===a.kind;return{id:a.id,appId:a.resourceId,appName:b,url:d?a.name??"heartbeat":a.url,kind:d?"heartbeat":"http",state:a.state,failStreak:a.failStreak,lastStatus:a.lastStatus,lastError:a.lastError,lastCheckedAt:a.lastCheckedAt,p95Last10:c?.p95??null,checksLast10:c?.n??0}}),apps:k.map(a=>{let b=p.find(b=>b.appId===a.id);return{id:a.id,name:a.name,latestProduction:b?{state:b.state,sha:b.sha,createdAt:b.createdAt}:null}}),accounts:l,dbs:s.length?s.map(b=>(function(a,b){let c={id:a.id,name:a.name,state:a.state,sizeBytes:null,sizeLimitBytes:null,lastApiAt:null,cuHours:null,cuLimit:null,readsToday:null,readsLimit:null,quotaExhausted:null};if("supabase_project"===a.kind){let b=(0,I.k)(I.B,a.data),d=(0,L.Z)(b.lastTrafficAt),e=(0,L.Z)(b.trafficAt),f=d??(e&&!b.trafficError?new Date(e.getTime()-6048e5):null);return{...c,provider:"supabase",sizeBytes:b.sizeBytes??null,sizeLimitBytes:J.R,lastApiAt:f}}if("neon_project"===a.kind){let b=(0,I.k)(I.s,a.data),d=(b.branches??[]).map(a=>a.logicalSize).filter(a=>"number"==typeof a);return{...c,provider:"neon",cuHours:null==b.computeSeconds?null:b.computeSeconds/3600,cuLimit:H.a.cuHours,sizeBytes:d.length?d.reduce((a,b)=>a+b,0):null,sizeLimitBytes:H.a.storageBytes}}if("firestore"===a.kind){let d=(0,I.k)(I.w,a.data),e=(0,L.Z)(d.opsAt),f=null!=d.reads&&e&&e.getTime()>=(0,G.a)(b).getTime()?d.reads:null,g=null!=d.latencyMs||null!=d.pingError;return{...c,provider:"firestore",readsToday:f,readsLimit:G.T.reads,quotaExhausted:g?"RESOURCE_EXHAUSTED"===d.pingReason:null}}if("turso_database"===a.kind){let d=(0,I.k)(I.N,a.data),e=(0,F.u)((0,F.G)(d,b));return{...c,provider:"turso",sizeBytes:d.orgStorageBytes??null,sizeLimitBytes:F.g.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("upstash_redis"===a.kind){let d=(0,I.k)(I.e,a.data),e=(0,F.u)((0,F.$)(d,b));return{...c,provider:"upstash",sizeBytes:d.storageBytes??null,sizeLimitBytes:F.W.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("d1_database"===a.kind){let d=(0,I.k)(I.x,a.data),e=(0,F.u)((0,F.I)(d,b));return{...c,provider:"d1",sizeBytes:d.sizeBytes??null,sizeLimitBytes:F.M.dbBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}return null})(b,a)).filter(a=>null!==a):null,domains:t.length||u.length?[...t.map(a=>({id:a.id,name:a.name,tlsNotAfter:null,expiresAt:(0,L.Z)((0,K.q)(a.data).rdap?.expiresAt)})),...u.map(a=>({id:a.id,name:a.name,tlsNotAfter:(0,L.Z)((0,K.q)(a.data).tls?.notAfter),expiresAt:null}))]:null,dns:function(a,b){let c=a.filter(a=>Array.isArray(a.data.records));if(!c.length)return null;let d=a.map(a=>a.name),e=[];for(let a of c){let c=b.filter(b=>(0,L.J)(b.name,d)===a.name.toLowerCase().replace(/\.$/,"")),f=[...new Set(c.flatMap(a=>(0,K.q)(a.data).vercel?.recommendedIps??[]))];for(let b of(0,K.q)(a.data).records){if(!(0,L.l)(b,f))continue;let d=b.name.toLowerCase().replace(/\.$/,""),g=c.find(a=>a.name.toLowerCase().replace(/\.$/,"")===d);e.push({id:`${a.id}:${b.id}`,resourceId:g?.id??a.id,name:b.name,proxied:b.proxied,pointsToVercel:!0})}}return e}(t,u),links:v,compute:w,deps:x&&x.length?x:null}}a.s(["j",0,at,"C",0,aw,"a",0,av,"h",0,au],930270);var az=a.i(714530),aA=a.i(396667);let aB={vercel:"Vercel",supabase:"Supabase",neon:"Neon",cloudflare:"Cloudflare",firebase:"Firebase",gcp:"Google Cloud"};async function aC(){return(await (0,e.f)().select().from(f.alertRules)).filter(a=>(0,g.h)(a.key)).map(a=>({key:a.key,severity:a.severity,threshold:a.threshold,enabled:a.enabled,channels:a.channels}))}async function aD(a,c={}){let[d,h,i,j,k,l]=await Promise.all([ay(a),aC(),(0,e.f)().select().from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)),(0,e.f)().select({provider:f.providerStatus.provider,state:f.providerStatus.state}).from(f.providerStatus),(0,az.w)(),(0,aA.I)()]),m=new Map(d.accounts.map(a=>[a.id,a.provider])),n=i.filter(a=>!(0,C.O)(l,a.ruleKey,a.accountId?m.get(a.accountId):null)),o=function(a,b,c){let d=[],e=new Set;for(let f of b){if(!f.enabled||c&&!c.includes(f.key)||!g._[f.key])continue;let b=t[f.key](a,f.threshold);b&&(e.add(f.key),d.push(...b))}return{observations:d,evaluated:e}}(d,h,c.only),p=o.evaluated,q=o.observations.filter(a=>!(0,C.O)(l,a.rule,a.provider)),r=h.find(a=>"CollectorStale"===a.key),s=void 0===d.lastAnyRunAt?d.lastMinuteRunAt:d.lastAnyRunAt,u=!!r?.enabled&&(!s||a.getTime()-s.getTime()>(r.threshold??5)*6e4),v=new Map((d.dbs??[]).filter(a=>"paused"===a.state).map(a=>[a.id,a.name])),D=new Map(d.links.filter(a=>v.has(a.dbId)).map(a=>[a.appId,`DatabasePaused \xb7 ${v.get(a.dbId)}`])),E=new Map(j.filter(a=>"warn"===a.state||"err"===a.state).map(a=>["gcp"===a.provider?"firebase":a.provider,aB[a.provider]??a.provider])),F=(0,B.u)(k,d.monitors.map(a=>({id:a.id,appId:a.appId})),a,d.apps.map(a=>a.id)),G=function(a,b,c,d,e){let f={open:[],touch:[],resolve:[]},h=new Map(d.map(a=>[a.key,a])),i=new Map(b.map(a=>[A(a.rule,a.subject),a])),j=new Set(a.map(a=>A(a.ruleKey,a.subject))),k=a=>f.resolve.push({id:a.id,pending:a.notifiedOpen?"resolve":null});for(let b of a){let a=h.get(b.ruleKey),d=i.get(A(b.ruleKey,b.subject));if(!a||!a.enabled){f.resolve.push({id:b.id,pending:null});continue}if(!c.has(b.ruleKey))continue;if(!d){f.resolve.push({id:b.id,pending:null});continue}if("unknown"===d.status)continue;let j=d.provider?e.incidents.get(d.provider)??null:null;if("firing"===d.status){let c=x(d,e),g=b.notifiedOpen&&null!==b.lastNotifiedAt&&e.now.getTime()-b.lastNotifiedAt.getTime()>=216e5,h={id:b.id,okStreak:0,lastSampleAt:d.sampleAt??b.lastSampleAt,lastSeenAt:e.now,message:d.message,causedBy:c,providerIncident:j},i=!b.notifiedOpen&&(!b.pendingSince||e.now.getTime()-b.pendingSince.getTime()>=216e5);(g||i)&&!z(b,e.now)&&!c&&null===b.pending&&w(a)&&(h.pending=g?"repeat":"open"),f.touch.push(h);continue}if(!g._[b.ruleKey].sampled||null===d.sampleAt){k(b);continue}if(!(null===b.lastSampleAt||d.sampleAt.getTime()>b.lastSampleAt.getTime()))continue;let l=b.okStreak+1;l>=2?k(b):f.touch.push({id:b.id,okStreak:l,lastSampleAt:d.sampleAt})}for(let a of b){if("firing"!==a.status||j.has(A(a.rule,a.subject))||e.maintenance.has(a.subject)||a.resourceId&&e.maintenance.has(a.resourceId))continue;let b=h.get(a.rule);if(!b)continue;let c=x(a,e);f.open.push({ruleKey:a.rule,subject:a.subject,resourceId:a.resourceId,accountId:a.accountId,severity:y(b.severity,a.severity),title:a.title,message:a.message,startedAt:e.now,lastSeenAt:e.now,lastSampleAt:a.sampleAt,causedBy:c,providerIncident:a.provider?e.incidents.get(a.provider)??null:null,pending:c||!w(b)?null:"open"})}return f}(n.filter(a=>(0,g.h)(a.ruleKey)).map(a=>({id:a.id,ruleKey:a.ruleKey,subject:a.subject,okStreak:a.okStreak,lastSampleAt:a.lastSampleAt,silencedUntil:a.silencedUntil,silencedUntilResolved:a.silencedUntilResolved,notifiedOpen:a.notifiedOpen,lastNotifiedAt:a.lastNotifiedAt,pending:a.pending,pendingSince:a.pendingSince})),q,p,h,{now:a,collectorStale:u,mutedApps:D,incidents:E,maintenance:F});return G.open.length||G.touch.length||G.resolve.length?(await (0,e.f)().transaction(async c=>{for(let b of G.open)await c.insert(f.alerts).values({...b,pendingSince:b.pending?a:null}).onConflictDoNothing();for(let d of G.touch){let{id:e,pending:g,...h}=d;await c.update(f.alerts).set({...h,...g?{pending:g,pendingSince:a}:{}}).where((0,b.b)((0,b.u)(f.alerts.id,e),(0,b.M)(f.alerts.resolvedAt)))}for(let d of G.resolve)await c.update(f.alerts).set({resolvedAt:a,pending:d.pending,pendingSince:d.pending?a:null}).where((0,b.b)((0,b.u)(f.alerts.id,d.id),(0,b.M)(f.alerts.resolvedAt)))}),{opened:G.open.length,resolved:G.resolve.length}):{opened:0,resolved:0}}async function aE(){let a=await (0,aA.I)(),[c]=await (0,e.f)().select({n:d.B`count(*)::int`}).from(f.alerts).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,b.y)(f.alerts.severity,["critical","warning"]),(0,aA.s)(a)));return c?.n??0}let aF=d.B`case ${f.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`;async function aG(a=new Set){return(await (0,e.f)().select({a:f.alerts,name:f.resources.name,kind:f.resources.kind}).from(f.alerts).leftJoin(f.resources,(0,b.u)(f.resources.id,f.alerts.resourceId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,aA.s)(a))).orderBy(aF,(0,c.A)(f.alerts.startedAt)).limit(200)).map(({a,name:b,kind:c})=>({...a,resourceName:b??null,resourceKind:c??null}))}async function aH(a){return(await (0,e.f)().select({id:f.alerts.id,ruleKey:f.alerts.ruleKey,severity:f.alerts.severity,title:f.alerts.title,resourceId:f.alerts.resourceId,startedAt:f.alerts.startedAt,resolvedAt:f.alerts.resolvedAt}).from(f.alerts).where((0,b.b)((0,b.E)(f.alerts.resolvedAt),(0,b.B)(f.alerts.resolvedAt,new Date(a.getTime()-6048e5)))).orderBy((0,c.A)(f.alerts.resolvedAt)).limit(50)).flatMap(a=>a.resolvedAt?[{...a,resolvedAt:a.resolvedAt}]:[])}async function aI(){let[a,c,h]=await Promise.all([aC(),(0,e.f)().select({key:f.alerts.ruleKey,n:d.B`count(*)::int`}).from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)).groupBy(f.alerts.ruleKey),(0,e.f)().select({kind:f.resources.kind}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt))).groupBy(f.resources.kind)]),i=new Set(h.map(a=>a.kind)),j={databases:["supabase_project","neon_project","firestore"].some(a=>i.has(a)),domains:i.has("domain")||i.has("zone"),dns:i.has("zone")};return g.u.flatMap(b=>{let d=a.find(a=>a.key===b);if(!d)return[];let e=g._[b].needs;return[{rule:d,firing:c.find(a=>a.key===b)?.n??0,hasData:null===e||j[e]}]})}async function aJ(a,c,d,g){let h="off"===c?{silencedUntil:null,silencedUntilResolved:!1,silencedBy:null}:{...E(c,g),silencedBy:d},[i]=await (0,e.f)().update(f.alerts).set(h).where((0,b.b)((0,b.u)(f.alerts.id,a),(0,b.M)(f.alerts.resolvedAt))).returning({ruleKey:f.alerts.ruleKey,title:f.alerts.title,resourceId:f.alerts.resourceId});return i??null}async function aK(a,c){return(await (0,e.f)().update(f.alertRules).set({...c,updatedAt:new Date}).where((0,b.u)(f.alertRules.key,a)).returning({key:f.alertRules.key})).length>0}a.s(["$",0,aD,"q",0,aG,"I",0,aH,"X",0,aE,"y",0,aI,"z",0,aK,"N",0,aJ],455317)},425238,a=>{var b=a.i(609007),c=a.i(556987);let d=/(?<![\p{L}\p{N}_])(?:w[bp]_[A-Za-z0-9]{6,}|hb_[0-9a-f]{6,}|sk-[A-Za-z0-9_-]{6,}|gsk_[A-Za-z0-9]{6,}|AIza[0-9A-Za-z_-]{8,}|AQ\.[A-Za-z0-9_-]{8,})/gu,e=/\b[a-z][a-z0-9+.-]*:\/\/[^\s/?#"'<>)]*(\/[^\s?#"'<>)]*)?(?:[?#][^\s"'<>)]*)?/gi,f="[\\p{L}\\p{N}_-]",g=a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),h=new WeakMap,i=[RegExp(d.source,"u"),/\b(?:Bearer|Basic)\s+[A-Za-z0-9._~+/=-]{12,}/i,/\beyJ[\w-]{8,}\.[\w-]{8,}\.[\w-]{8,}/,/\b[a-z][a-z0-9+.-]*:\/\/[^\s/@:]+:[^\s/@]+@/i,/\b[A-Fa-f0-9]{40,}\b/,/\b(?=[A-Za-z0-9_-]*\d)(?=[A-Za-z0-9_-]*[A-Za-z])[A-Za-z0-9_-]{40,}\b/];a.s(["G",0,function(a){return i.some(b=>b.test(a))},"F",0,function(a,i){let j=(0,b.h)(a);j=(0,c.J)(j,i);let k=function(a){if(h.has(a))return h.get(a);let b=new Map((a.account??[]).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(`(?<!${f})(?:${c.map(g).join("|")})(?!${f})`,"giu"),alias:b}:null;return h.set(a,d),d}(i);return k&&(j=j.replace(k.re,a=>k.alias.get(a.toLowerCase())??a)),(j=(j=(j=j.replace(d,"[hidden]")).replace(/hb_\[hidden\]/g,"[hidden]")).replace(e,(a,b)=>b??"[url]")).replace(/@/g,"(at)")}])}]})();
2
2
 
3
3
  //# sourceMappingURL=src_1-xw4hea2lvb3._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[992861,a=>{var b=a.i(187924),c=a.i(101169),d=a.i(218024),e=a.i(196790),f=a.i(817748),g=a.i(901615),h=a.i(238246),i=a.i(572131),j=a.i(823292),k=a.i(619089),l=a.i(507504),m=a.i(814574),n=a.i(405050);let o=(0,n.createServerReference)("40a9156ceb535cbdd39e41daf01b7691041cb232d5",n.callServer,void 0,n.findSourceMapURL,"createKeyAction");function p({scopes:a}){return(0,b.jsx)(b.Fragment,{children:a.map(a=>(0,b.jsx)("span",{className:"mr-1 inline-block whitespace-nowrap rounded-[4px] border border-line bg-surface-2 px-[5px] font-mono text-xs text-ink-soft",children:a},a))})}var q=a.i(136476);function r({icon:a,title:c,sub:d}){return(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:a}),(0,b.jsxs)("div",{children:[(0,b.jsx)(m.F,{className:"text-base",children:c}),(0,b.jsx)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:d})]})]})}function s({onCreated:a,onCancel:c}){let[d,f]=(0,i.useState)(""),[h,l]=(0,i.useState)(q.J),[m,n]=(0,i.useState)(q.j),[t,u]=(0,i.useState)(String(q.D)),[v,w]=(0,i.useState)({}),[x,y]=(0,i.useState)(""),[z,A]=(0,i.useTransition)();return(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),A(async()=>{w({}),y("");try{let b=await o({name:d.trim(),scopes:q.B.filter(a=>h.includes(a)),expiry:m,ratePerMin:t.trim()});b.ok&&b.data?(j.c.success(b.message??"Key created."),a(b.data)):b.ok||(b.fieldErrors?w(b.fieldErrors):y(b.error))}catch{y("Something went wrong. Try again.")}})},noValidate:!0,children:[(0,b.jsx)(r,{icon:(0,b.jsx)(e.f,{size:19}),title:"Create API key",sub:"For one app or agent. Shown once."}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsx)(k.O,{id:"key-name",label:"Name",help:"Lowercase letters, digits and dashes. Agents and Logs show it.",error:v.name,children:(0,b.jsx)("input",{id:"key-name",value:d,onChange:a=>f(a.target.value),placeholder:g.C.namePlaceholder,autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:k.S})}),(0,b.jsxs)("fieldset",{className:"mb-3.5",children:[(0,b.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Scopes"}),(0,b.jsx)("div",{className:"flex flex-col gap-1.5",children:q.B.map(a=>(0,b.jsxs)("label",{className:"flex cursor-pointer items-start gap-2",children:[(0,b.jsx)("input",{type:"checkbox",checked:h.includes(a),onChange:()=>l(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a]),className:"mt-[3px] accent-brand"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(p,{scopes:[a]})," ",(0,b.jsx)("span",{className:"text-[13px] text-ink-soft",children:q.h[a].short})]})]},a))}),v.scopes&&(0,b.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:v.scopes})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3 max-[560px]:grid-cols-1",children:[(0,b.jsx)(k.O,{id:"key-expiry",label:"Expires",error:v.expiry,children:(0,b.jsx)("select",{id:"key-expiry",value:m,onChange:a=>n(a.target.value),className:k.S,children:q.W.map(a=>(0,b.jsx)("option",{value:a,children:q.o[a]},a))})}),(0,b.jsx)(k.O,{id:"key-rate",label:"Rate limit",help:"Requests per minute, 1–600. Applies before the provider's own limits.",error:v.ratePerMin,children:(0,b.jsx)("input",{id:"key-rate",inputMode:"numeric",value:t,onChange:a=>u(a.target.value),className:`${k.S} font-mono`})})]}),x&&(0,b.jsx)("p",{className:"mb-3 text-[13px] text-err",role:"alert",children:x})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(k.K,{onClick:c,disabled:z,children:"Cancel"}),(0,b.jsx)(k.K,{type:"submit",variant:"primary",disabled:z,children:z?"Creating…":"Create key"})]})]})}function t({created:a,onDone:e}){async function f(){try{await navigator.clipboard.writeText(a.key),j.c.success("Copied.")}catch{j.c.error("Couldn't copy. Select the key and copy it by hand.")}}return(0,b.jsxs)("div",{children:[(0,b.jsx)(r,{icon:(0,b.jsx)(c.f,{size:19}),title:`Key ${a.name} created`,sub:"Copy it now."}),(0,b.jsxs)("div",{className:"px-[18px] pb-3 pt-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("code",{className:"min-w-0 flex-1 overflow-x-auto whitespace-nowrap rounded-md border border-line bg-sunken px-2 py-1.5 font-mono text-[12.5px]","data-testid":"new-key",children:a.key}),(0,b.jsxs)(k.K,{size:"sm",onClick:f,children:[(0,b.jsx)(d.f,{size:15,"aria-hidden":!0}),"Copy"]})]}),(0,b.jsx)("p",{className:"mt-2.5 rounded-md border border-warn-icon bg-warn-soft px-2.5 py-2 text-[13px] text-warn",children:"Watchbell keeps only a SHA-256 hash of this key, so it can't show it again. Lost it? Revoke it and create a new one."}),(0,b.jsxs)("p",{className:"mb-0 mt-3 text-[13px] text-ink-soft",children:["Next: put it in the app's environment as ",(0,b.jsx)("span",{className:"font-mono",children:"WATCHBELL_API_KEY"}),", then follow ",(0,b.jsx)(h.default,{href:"/ai",className:"text-brand",children:"Quick start"})," or ",(0,b.jsx)(h.default,{href:"/ai/connect",className:"text-brand",children:"Connect an agent"}),"."]})]}),(0,b.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,b.jsx)(k.K,{variant:"primary",onClick:e,children:"Done"})})]})}a.s(["CreateKeyDialog",0,function(){let[a,c]=(0,i.useState)(!1),[d,e]=(0,i.useState)(null);function g(a){c(a),a||e(null)}return(0,l.useHoldRefresh)(a),(0,b.jsxs)(m.N,{open:a,onOpenChange:g,children:[(0,b.jsxs)(m.a,{render:(0,b.jsx)(k.K,{variant:"primary"}),children:[(0,b.jsx)(f.f,{size:16,"aria-hidden":!0}),"Create key"]}),(0,b.jsx)(m.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:d?(0,b.jsx)(t,{created:d,onDone:()=>g(!1)}):(0,b.jsx)(s,{onCreated:e,onCancel:()=>g(!1)})})]})}],992861)},659526,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(611619),f=a.i(619089),g=a.i(507504),h=a.i(188406),i=a.i(814574),j=a.i(405050);let k=(0,j.createServerReference)("6041e308518fce32a63ed2a098d3339be74fbe1a5b",j.callServer,void 0,j.findSourceMapURL,"changeKeyAction"),l=(0,j.createServerReference)("4005a09e10ae253df41b937dcdbebb16ae68f8a975",j.callServer,void 0,j.findSourceMapURL,"revokeKeyAction");var m=a.i(136476);let n={rename:{title:a=>`Rename ${a}`,sub:"Agents and Logs show the name. Lowercase letters, digits and dashes.",cta:"Save name"},rate:{title:()=>"Change rate limit",sub:"Requests per minute, 1–600. Applies before the provider's own limits, within a minute.",cta:"Save limit"},expiry:{title:()=>"Change expiry",sub:"Counted from today. The key stops working at that date.",cta:"Save expiry"},routing:{title:()=>"Change routing",sub:"Pin this key to one provider and, if you like, one model. Without a pin it uses the default provider.",cta:"Save routing"}};function o({mode:a,k:e,providers:g,onDone:h}){let[j,l]=(0,c.useState)(e.name),[p,q]=(0,c.useState)(String(e.ratePerMin)),[r,s]=(0,c.useState)(e.expiresAt?"90d":"never"),[t,u]=(0,c.useState)(e.providerId??""),[v,w]=(0,c.useState)(e.model??""),[x,y]=(0,c.useState)({}),[z,A]=(0,c.useState)(""),[B,C]=(0,c.useTransition)(),D=n[a];return(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),C(async()=>{y({}),A("");try{let b=await k(e.id,"rename"===a?{kind:"rename",name:j.trim()}:"rate"===a?{kind:"rate",ratePerMin:p.trim()}:"expiry"===a?{kind:"expiry",expiry:r}:{kind:"routing",providerId:t||null,model:t?v.trim():null});b.ok?(d.c.success(b.message??"Key updated."),h()):b.fieldErrors?y(b.fieldErrors):A(b.error)}catch{A("Something went wrong. Try again.")}})},noValidate:!0,children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(i.F,{className:"text-base",children:D.title(e.name)}),(0,b.jsx)(i.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:D.sub})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:["rename"===a&&(0,b.jsx)(f.O,{id:"edit-name",label:"Name",error:x.name,children:(0,b.jsx)("input",{id:"edit-name",value:j,onChange:a=>l(a.target.value),autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:f.S})}),"rate"===a&&(0,b.jsx)(f.O,{id:"edit-rate",label:"Rate limit",help:"Requests per minute.",error:x.ratePerMin,children:(0,b.jsx)("input",{id:"edit-rate",inputMode:"numeric",value:p,onChange:a=>q(a.target.value),className:`${f.S} font-mono`})}),"expiry"===a&&(0,b.jsx)(f.O,{id:"edit-expiry",label:"Expires",error:x.expiry,children:(0,b.jsx)("select",{id:"edit-expiry",value:r,onChange:a=>s(a.target.value),className:f.S,children:m.W.map(a=>(0,b.jsx)("option",{value:a,children:m.o[a]},a))})}),"routing"===a&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.O,{id:"edit-provider",label:"Provider",help:g.length?void 0:"No provider is connected yet. Until one is, this key has nothing to pin to.",error:x.providerId,children:(0,b.jsxs)("select",{id:"edit-provider",value:t,onChange:a=>u(a.target.value),className:f.S,children:[(0,b.jsx)("option",{value:"",children:"No pin (default provider)"}),g.map(a=>(0,b.jsxs)("option",{value:a.id,children:[a.name,a.enabled?"":" (off)"]},a.id))]})}),(0,b.jsx)(f.O,{id:"edit-model",label:"Model",help:"Optional. A Gemini model id, for example gemini-3.8-flash. Empty uses the provider's default.",error:x.model,children:(0,b.jsx)("input",{id:"edit-model",value:v,onChange:a=>w(a.target.value),disabled:!t,placeholder:"gemini-3.8-flash",autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:`${f.S} font-mono`})})]}),z&&(0,b.jsx)("p",{className:"mb-3 text-[13px] text-err",role:"alert",children:z})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(f.K,{onClick:h,disabled:B,children:"Cancel"}),(0,b.jsx)(f.K,{type:"submit",variant:"primary",disabled:B,children:B?"Saving…":D.cta})]})]})}a.s(["KeyActions",0,function({k:a,providers:d}){let[j,k]=(0,c.useState)(null);return(0,g.useHoldRefresh)(null!==j),(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(e.f,{trigger:(0,b.jsx)(f.K,{size:"sm",children:"Revoke"}),title:`Revoke ${a.name}?`,body:`Calls with ${a.prefix}… answer 401 within a minute. Agents using it show "Key revoked". This can't be undone; create a new key instead.`,cta:"Revoke key",danger:!0,onConfirm:async()=>{let b=await l(a.id);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}}),(0,b.jsx)(h.RowMenu,{label:`Actions for ${a.name}`,items:[{label:"Rename",onSelect:()=>k("rename")},{label:"Change rate limit",onSelect:()=>k("rate")},{label:"Change expiry",onSelect:()=>k("expiry")},{label:"Change routing",onSelect:()=>k("routing")}]}),(0,b.jsx)(i.N,{open:null!==j,onOpenChange:a=>{a||k(null)},children:(0,b.jsx)(i.d,{className:"gap-0 p-0 sm:max-w-[520px]",showCloseButton:!1,children:j&&(0,b.jsx)(o,{mode:j,k:a,providers:d,onDone:()=>k(null)})})})]})}],659526)},136476,a=>{let b={"ai:invoke":{short:"models",long:"Chat completions and the model list through your provider connections."},"read:status":{short:"console data, MCP",long:"Read-only console data: GET /api/v1/status and the MCP server. Database names are aliases; no URLs, emails or secrets."},"write:notes":{short:"post AI notes",long:a.i(901615).C.writeNotesLong}};a.s(["j",0,"90d","D",0,20,"J",0,["ai:invoke"],"W",0,["7d","30d","90d","1y","never"],"o",0,{"7d":"In 7 days","30d":"In 30 days","90d":"In 90 days","1y":"In 1 year",never:"Never"},"B",0,["ai:invoke","read:status","write:notes"],"h",0,b])}]})();
1
+ (()=>{"use strict";module.exports=[992861,a=>{var b=a.i(187924),c=a.i(101169),d=a.i(218024),e=a.i(196790),f=a.i(817748),g=a.i(901615),h=a.i(238246),i=a.i(572131),j=a.i(823292),k=a.i(619089),l=a.i(507504),m=a.i(814574),n=a.i(405050);let o=(0,n.createServerReference)("40b4a2eb999553d8d73e2b1543d1a4956f102e337f",n.callServer,void 0,n.findSourceMapURL,"createKeyAction");function p({scopes:a}){return(0,b.jsx)(b.Fragment,{children:a.map(a=>(0,b.jsx)("span",{className:"mr-1 inline-block whitespace-nowrap rounded-[4px] border border-line bg-surface-2 px-[5px] font-mono text-xs text-ink-soft",children:a},a))})}var q=a.i(136476);function r({icon:a,title:c,sub:d}){return(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:a}),(0,b.jsxs)("div",{children:[(0,b.jsx)(m.F,{className:"text-base",children:c}),(0,b.jsx)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:d})]})]})}function s({onCreated:a,onCancel:c}){let[d,f]=(0,i.useState)(""),[h,l]=(0,i.useState)(q.J),[m,n]=(0,i.useState)(q.j),[t,u]=(0,i.useState)(String(q.D)),[v,w]=(0,i.useState)({}),[x,y]=(0,i.useState)(""),[z,A]=(0,i.useTransition)();return(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),A(async()=>{w({}),y("");try{let b=await o({name:d.trim(),scopes:q.B.filter(a=>h.includes(a)),expiry:m,ratePerMin:t.trim()});b.ok&&b.data?(j.c.success(b.message??"Key created."),a(b.data)):b.ok||(b.fieldErrors?w(b.fieldErrors):y(b.error))}catch{y("Something went wrong. Try again.")}})},noValidate:!0,children:[(0,b.jsx)(r,{icon:(0,b.jsx)(e.f,{size:19}),title:"Create API key",sub:"For one app or agent. Shown once."}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsx)(k.O,{id:"key-name",label:"Name",help:"Lowercase letters, digits and dashes. Agents and Logs show it.",error:v.name,children:(0,b.jsx)("input",{id:"key-name",value:d,onChange:a=>f(a.target.value),placeholder:g.C.namePlaceholder,autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:k.S})}),(0,b.jsxs)("fieldset",{className:"mb-3.5",children:[(0,b.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Scopes"}),(0,b.jsx)("div",{className:"flex flex-col gap-1.5",children:q.B.map(a=>(0,b.jsxs)("label",{className:"flex cursor-pointer items-start gap-2",children:[(0,b.jsx)("input",{type:"checkbox",checked:h.includes(a),onChange:()=>l(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a]),className:"mt-[3px] accent-brand"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(p,{scopes:[a]})," ",(0,b.jsx)("span",{className:"text-[13px] text-ink-soft",children:q.h[a].short})]})]},a))}),v.scopes&&(0,b.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:v.scopes})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3 max-[560px]:grid-cols-1",children:[(0,b.jsx)(k.O,{id:"key-expiry",label:"Expires",error:v.expiry,children:(0,b.jsx)("select",{id:"key-expiry",value:m,onChange:a=>n(a.target.value),className:k.S,children:q.W.map(a=>(0,b.jsx)("option",{value:a,children:q.o[a]},a))})}),(0,b.jsx)(k.O,{id:"key-rate",label:"Rate limit",help:"Requests per minute, 1–600. Applies before the provider's own limits.",error:v.ratePerMin,children:(0,b.jsx)("input",{id:"key-rate",inputMode:"numeric",value:t,onChange:a=>u(a.target.value),className:`${k.S} font-mono`})})]}),x&&(0,b.jsx)("p",{className:"mb-3 text-[13px] text-err",role:"alert",children:x})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(k.K,{onClick:c,disabled:z,children:"Cancel"}),(0,b.jsx)(k.K,{type:"submit",variant:"primary",disabled:z,children:z?"Creating…":"Create key"})]})]})}function t({created:a,onDone:e}){async function f(){try{await navigator.clipboard.writeText(a.key),j.c.success("Copied.")}catch{j.c.error("Couldn't copy. Select the key and copy it by hand.")}}return(0,b.jsxs)("div",{children:[(0,b.jsx)(r,{icon:(0,b.jsx)(c.f,{size:19}),title:`Key ${a.name} created`,sub:"Copy it now."}),(0,b.jsxs)("div",{className:"px-[18px] pb-3 pt-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("code",{className:"min-w-0 flex-1 overflow-x-auto whitespace-nowrap rounded-md border border-line bg-sunken px-2 py-1.5 font-mono text-[12.5px]","data-testid":"new-key",children:a.key}),(0,b.jsxs)(k.K,{size:"sm",onClick:f,children:[(0,b.jsx)(d.f,{size:15,"aria-hidden":!0}),"Copy"]})]}),(0,b.jsx)("p",{className:"mt-2.5 rounded-md border border-warn-icon bg-warn-soft px-2.5 py-2 text-[13px] text-warn",children:"Watchbell keeps only a SHA-256 hash of this key, so it can't show it again. Lost it? Revoke it and create a new one."}),(0,b.jsxs)("p",{className:"mb-0 mt-3 text-[13px] text-ink-soft",children:["Next: put it in the app's environment as ",(0,b.jsx)("span",{className:"font-mono",children:"WATCHBELL_API_KEY"}),", then follow ",(0,b.jsx)(h.default,{href:"/ai",className:"text-brand",children:"Quick start"})," or ",(0,b.jsx)(h.default,{href:"/ai/connect",className:"text-brand",children:"Connect an agent"}),"."]})]}),(0,b.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,b.jsx)(k.K,{variant:"primary",onClick:e,children:"Done"})})]})}a.s(["CreateKeyDialog",0,function(){let[a,c]=(0,i.useState)(!1),[d,e]=(0,i.useState)(null);function g(a){c(a),a||e(null)}return(0,l.useHoldRefresh)(a),(0,b.jsxs)(m.N,{open:a,onOpenChange:g,children:[(0,b.jsxs)(m.a,{render:(0,b.jsx)(k.K,{variant:"primary"}),children:[(0,b.jsx)(f.f,{size:16,"aria-hidden":!0}),"Create key"]}),(0,b.jsx)(m.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:d?(0,b.jsx)(t,{created:d,onDone:()=>g(!1)}):(0,b.jsx)(s,{onCreated:e,onCancel:()=>g(!1)})})]})}],992861)},659526,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(611619),f=a.i(619089),g=a.i(507504),h=a.i(188406),i=a.i(814574),j=a.i(405050);let k=(0,j.createServerReference)("60d34430ca36fc57502e42820872ce262fbe1f8569",j.callServer,void 0,j.findSourceMapURL,"changeKeyAction"),l=(0,j.createServerReference)("4068ff2b3732ebd0a1e2d0800026678ecbf2338253",j.callServer,void 0,j.findSourceMapURL,"revokeKeyAction");var m=a.i(136476);let n={rename:{title:a=>`Rename ${a}`,sub:"Agents and Logs show the name. Lowercase letters, digits and dashes.",cta:"Save name"},rate:{title:()=>"Change rate limit",sub:"Requests per minute, 1–600. Applies before the provider's own limits, within a minute.",cta:"Save limit"},expiry:{title:()=>"Change expiry",sub:"Counted from today. The key stops working at that date.",cta:"Save expiry"},routing:{title:()=>"Change routing",sub:"Pin this key to one provider and, if you like, one model. Without a pin it uses the default provider.",cta:"Save routing"}};function o({mode:a,k:e,providers:g,onDone:h}){let[j,l]=(0,c.useState)(e.name),[p,q]=(0,c.useState)(String(e.ratePerMin)),[r,s]=(0,c.useState)(e.expiresAt?"90d":"never"),[t,u]=(0,c.useState)(e.providerId??""),[v,w]=(0,c.useState)(e.model??""),[x,y]=(0,c.useState)({}),[z,A]=(0,c.useState)(""),[B,C]=(0,c.useTransition)(),D=n[a];return(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),C(async()=>{y({}),A("");try{let b=await k(e.id,"rename"===a?{kind:"rename",name:j.trim()}:"rate"===a?{kind:"rate",ratePerMin:p.trim()}:"expiry"===a?{kind:"expiry",expiry:r}:{kind:"routing",providerId:t||null,model:t?v.trim():null});b.ok?(d.c.success(b.message??"Key updated."),h()):b.fieldErrors?y(b.fieldErrors):A(b.error)}catch{A("Something went wrong. Try again.")}})},noValidate:!0,children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(i.F,{className:"text-base",children:D.title(e.name)}),(0,b.jsx)(i.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:D.sub})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:["rename"===a&&(0,b.jsx)(f.O,{id:"edit-name",label:"Name",error:x.name,children:(0,b.jsx)("input",{id:"edit-name",value:j,onChange:a=>l(a.target.value),autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:f.S})}),"rate"===a&&(0,b.jsx)(f.O,{id:"edit-rate",label:"Rate limit",help:"Requests per minute.",error:x.ratePerMin,children:(0,b.jsx)("input",{id:"edit-rate",inputMode:"numeric",value:p,onChange:a=>q(a.target.value),className:`${f.S} font-mono`})}),"expiry"===a&&(0,b.jsx)(f.O,{id:"edit-expiry",label:"Expires",error:x.expiry,children:(0,b.jsx)("select",{id:"edit-expiry",value:r,onChange:a=>s(a.target.value),className:f.S,children:m.W.map(a=>(0,b.jsx)("option",{value:a,children:m.o[a]},a))})}),"routing"===a&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.O,{id:"edit-provider",label:"Provider",help:g.length?void 0:"No provider is connected yet. Until one is, this key has nothing to pin to.",error:x.providerId,children:(0,b.jsxs)("select",{id:"edit-provider",value:t,onChange:a=>u(a.target.value),className:f.S,children:[(0,b.jsx)("option",{value:"",children:"No pin (default provider)"}),g.map(a=>(0,b.jsxs)("option",{value:a.id,children:[a.name,a.enabled?"":" (off)"]},a.id))]})}),(0,b.jsx)(f.O,{id:"edit-model",label:"Model",help:"Optional. A Gemini model id, for example gemini-3.8-flash. Empty uses the provider's default.",error:x.model,children:(0,b.jsx)("input",{id:"edit-model",value:v,onChange:a=>w(a.target.value),disabled:!t,placeholder:"gemini-3.8-flash",autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:`${f.S} font-mono`})})]}),z&&(0,b.jsx)("p",{className:"mb-3 text-[13px] text-err",role:"alert",children:z})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(f.K,{onClick:h,disabled:B,children:"Cancel"}),(0,b.jsx)(f.K,{type:"submit",variant:"primary",disabled:B,children:B?"Saving…":D.cta})]})]})}a.s(["KeyActions",0,function({k:a,providers:d}){let[j,k]=(0,c.useState)(null);return(0,g.useHoldRefresh)(null!==j),(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(e.f,{trigger:(0,b.jsx)(f.K,{size:"sm",children:"Revoke"}),title:`Revoke ${a.name}?`,body:`Calls with ${a.prefix}… answer 401 within a minute. Agents using it show "Key revoked". This can't be undone; create a new key instead.`,cta:"Revoke key",danger:!0,onConfirm:async()=>{let b=await l(a.id);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}}),(0,b.jsx)(h.RowMenu,{label:`Actions for ${a.name}`,items:[{label:"Rename",onSelect:()=>k("rename")},{label:"Change rate limit",onSelect:()=>k("rate")},{label:"Change expiry",onSelect:()=>k("expiry")},{label:"Change routing",onSelect:()=>k("routing")}]}),(0,b.jsx)(i.N,{open:null!==j,onOpenChange:a=>{a||k(null)},children:(0,b.jsx)(i.d,{className:"gap-0 p-0 sm:max-w-[520px]",showCloseButton:!1,children:j&&(0,b.jsx)(o,{mode:j,k:a,providers:d,onDone:()=>k(null)})})})]})}],659526)},136476,a=>{let b={"ai:invoke":{short:"models",long:"Chat completions and the model list through your provider connections."},"read:status":{short:"console data, MCP",long:"Read-only console data: GET /api/v1/status and the MCP server. Database names are aliases; no URLs, emails or secrets."},"write:notes":{short:"post AI notes",long:a.i(901615).C.writeNotesLong}};a.s(["j",0,"90d","D",0,20,"J",0,["ai:invoke"],"W",0,["7d","30d","90d","1y","never"],"o",0,{"7d":"In 7 days","30d":"In 30 days","90d":"In 90 days","1y":"In 1 year",never:"Never"},"B",0,["ai:invoke","read:status","write:notes"],"h",0,b])}]})();
2
2
 
3
3
  //# sourceMappingURL=src_10zavgy86u3us._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[574262,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Manage","Sections"],title:"Sections",sub:!0,children:(0,b.jsx)(c.Z,{lines:5})})}])},689451,function(a){a.n(a.i(574262))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
+
3
+ //# sourceMappingURL=src_11iuy79j_finh._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[819679,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Databases","Cloudflare D1"],title:"Cloudflare D1",sub:!0,children:(0,b.jsx)(c.G,{title:!0,rows:2,cols:8})})}])},105297,function(a){a.n(a.i(819679))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[819679,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Database","Cloudflare D1"],title:"Cloudflare D1",sub:!0,children:(0,b.jsx)(c.G,{title:!0,rows:2,cols:8})})}])},105297,function(a){a.n(a.i(819679))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_12x8sjp-qdw08._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[518926,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Databases","Turso"],title:"Turso",sub:!0,children:(0,b.jsx)(c.G,{title:!0,rows:2,cols:8})})}])},211649,function(a){a.n(a.i(518926))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[518926,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Database","Turso"],title:"Turso",sub:!0,children:(0,b.jsx)(c.G,{title:!0,rows:2,cols:8})})}])},211649,function(a){a.n(a.i(518926))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_14aur12he3m2a._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[126751,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Network","Domains"],title:"Domains",sub:!0,children:(0,b.jsx)(c.G,{rows:6,cols:7})})}])},872958,function(a){a.n(a.i(126751))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[126751,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Hosting","Domains"],title:"Domains",sub:!0,children:(0,b.jsx)(c.G,{rows:6,cols:7})})}])},872958,function(a){a.n(a.i(126751))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_15aqc6akkqade._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[636689,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Network","DNS records"],sub:!0,children:[(0,b.jsx)(c.Z,{lines:5}),(0,b.jsx)(c.G,{rows:8,cols:6})]})}])},769810,function(a){a.n(a.i(636689))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[636689,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Hosting","DNS records"],sub:!0,children:[(0,b.jsx)(c.Z,{lines:5}),(0,b.jsx)(c.G,{rows:8,cols:6})]})}])},769810,function(a){a.n(a.i(636689))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_15zqi72ky6hi9._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[454030,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Administration"],children:[(0,b.jsx)(c.d,{count:4}),(0,b.jsx)(c.G,{title:!0,rows:3,cols:6})]})}])},989308,function(a){a.n(a.i(454030))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[454030,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Manage"],children:[(0,b.jsx)(c.d,{count:4}),(0,b.jsx)(c.G,{title:!0,rows:3,cols:6})]})}])},989308,function(a){a.n(a.i(454030))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_19evuexp67uty._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[135087,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Databases","Free databases"],title:"Free databases",sub:!0,children:[(0,b.jsx)(c.d,{count:4}),(0,b.jsx)(c.G,{rows:8,cols:7})]})}])},968173,function(a){a.n(a.i(135087))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[135087,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Database","Free databases"],title:"Free databases",sub:!0,children:[(0,b.jsx)(c.d,{count:4}),(0,b.jsx)(c.G,{rows:8,cols:7})]})}])},968173,function(a){a.n(a.i(135087))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_1am4_ady64k2b._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[430808,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Administration"],children:(0,b.jsx)(c.G,{rows:4,cols:4})})}])},826617,function(a){a.n(a.i(430808))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[430808,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Manage"],children:(0,b.jsx)(c.G,{rows:4,cols:4})})}])},826617,function(a){a.n(a.i(430808))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_1cbawr4iw5h-x._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[135597,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Administration"],children:[(0,b.jsx)(c.G,{title:!0,rows:2,cols:5}),(0,b.jsx)(c.G,{title:!0,rows:2,cols:5})]})}])},305298,function(a){a.n(a.i(135597))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[135597,a=>{"use strict";var b=a.i(907997),c=a.i(411182);let d=[2,5,2,1];a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Manage"],children:d.map((a,d)=>(0,b.jsxs)("div",{children:[(0,b.jsx)(c.i,{className:"mb-2 w-20"}),(0,b.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(230px,1fr))] gap-2.5",children:Array.from({length:a},(a,d)=>(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-line bg-surface px-3.5 py-3",children:[(0,b.jsx)(c.i,{className:"size-9 rounded-lg"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)(c.i,{className:"w-24"}),(0,b.jsx)(c.i,{className:"mt-1.5 w-16"})]})]},d))})]},d))})}])},305298,function(a){a.n(a.i(135597))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_1ccrc8twenijg._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[969762,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["AI & API","AI Gateway"],children:(0,b.jsx)(c.d,{count:4})})}])},264225,function(a){a.n(a.i(969762))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[969762,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Manage","AI Gateway"],children:(0,b.jsx)(c.d,{count:4})})}])},264225,function(a){a.n(a.i(969762))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_1ctx1an_a3k7g._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[461750,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1k1fmq0-rg3p0._.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)))},678831,a=>{"use strict";var b=a.i(118558),c=a.i(371289);function d(a,b){if((0,c.r)())for(let c of new Set(a))try{b(c)}catch(a){console.warn(`cache: couldn't expire ${c}: ${a instanceof Error?a.message.slice(0,120):"unknown"}`)}}a.s(["D",0,function(a){d(a,a=>(0,b.revalidateTag)(a,{expire:0}))},"J",0,function(a){d(a,a=>(0,b.updateTag)(a))}])},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]__0e9m8up0h1qhl._.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_0hdl7pzdqejqx._.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_1w8p39upm6ea2._.js"].map(b=>a.l(b))).then(()=>b(765161)))},414785,a=>{a.v(a=>Promise.resolve().then(()=>a(534908)))},875034,a=>{"use strict";var b=a.i(691100),c=a.i(381544);let d={decide:b.V,execute:(a,c,d)=>(0,b.N)(a,c,d),history:(a,b)=>(0,c.v)(a,b)};async function e(a,b,f,g,h={},i=d){let j=await i.decide(a,b,f.id,g);if("ok"!==j.status)return"missing"===j.status?{status:"missing"}:{status:"conflict",proposal:j.proposal};let k=[],l=async()=>{let a,b=i.history;if(!b||!k.length)return;let d=k.splice(0),e=new Promise(b=>{a=setTimeout(b,c.h)}),f=(async()=>{for(let[a,c]of d)await b(a,c).catch(()=>void 0)})();await Promise.race([f,e]).finally(()=>clearTimeout(a))};if("reject"===b)return k.push(["rejected",j.proposal]),{status:"ok",proposal:j.proposal,flushHistory:l};k.push(["approved",j.proposal]),h.onApproved&&await h.onApproved(j.proposal).catch(()=>void 0);let m=await i.execute(a,{id:f.id,userId:f.userId},new Date);return m&&("done"===m.status||"failed"===m.status)&&k.push([m.status,m]),{status:"ok",proposal:m??j.proposal,flushHistory:l}}a.s(["f",0,e])},801116,a=>{a.v(a=>Promise.resolve().then(()=>a(624065)))}];
2
+
3
+ //# sourceMappingURL=src_1iyzhhf1u_gwo._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[217897,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(188406),f=a.i(742680),g=a.i(293078),h=a.i(752818);a.s(["AppMenu",0,function({app:a}){let[,i]=(0,c.useTransition)(),j=(0,h.f)(),k=[{label:"Redeploy",later:6},...a.siteUrl?[{label:"Open site",href:a.siteUrl}]:[],{label:"View logs",later:5}];return a.monitorCount>0&&k.push({label:a.paused?"Resume monitors":"Pause monitors",onSelect:()=>j(()=>new Promise(b=>i(async()=>{try{let b=await (0,g.f)(a.id,!a.paused);b.ok?d.c.success(b.message??""):d.c.error(b.error)}catch{d.c.error("Something went wrong. Try again.")}finally{b()}})))}),(0,b.jsx)(e.RowMenu,{items:k,label:(0,f.J)(a.name)})}])},293078,752818,a=>{var b=a.i(405050);let c=(0,b.createServerReference)("60366e1f5a6a959733f3b03a61c7a3da273ded3b18",b.callServer,void 0,b.findSourceMapURL,"pauseAppMonitors");a.s(["f",0,c],293078);var d=a.i(572131);a.s(["f",0,function(){let a=(0,d.useRef)(!1);return b=>!a.current&&(a.current=!0,b().catch(()=>void 0).finally(()=>{a.current=!1}),!0)}],752818)},964887,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(405050);let f=(0,e.createServerReference)("40ea28cee9911f74e2ae88ded2ae79b22ba295dddb",e.callServer,void 0,e.findSourceMapURL,"dismissRecommendation");var g=a.i(619089);a.s(["DismissButton",0,function({recKey:a}){let[e,h]=(0,c.useTransition)();return(0,b.jsx)(g.K,{size:"sm",disabled:e,onClick:()=>h(async()=>{try{let b=await f(a);b.ok?d.c.success(b.message??"Dismissed."):d.c.error(b.error)}catch{d.c.error("Something went wrong. Try again.")}}),children:e?"Dismissing…":"Dismiss"})}],964887)},585709,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(486747),e=a.i(462007),f=a.i(427110);a.s(["PlainTable",0,function({head:a,rows:g}){let[h,i]=(0,c.useState)(1),j=(0,f.$)(g,h);return j.page!==h&&i(j.page),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:a}),(0,b.jsx)("tbody",{children:j.rows.map(a=>(0,b.jsx)(c.Fragment,{children:a.row},a.key))})]})}),(0,b.jsx)(d.f,{page:j.page,pages:j.pages,text:(0,f.z)(j),onPage:i})]})}])}]})();
1
+ (()=>{"use strict";module.exports=[217897,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(188406),f=a.i(742680),g=a.i(224766),h=a.i(752818);a.s(["AppMenu",0,function({app:a}){let[,i]=(0,c.useTransition)(),j=(0,h.f)(),k=[{label:"Redeploy",later:6},...a.siteUrl?[{label:"Open site",href:a.siteUrl}]:[],{label:"View logs",later:5}];return a.monitorCount>0&&k.push({label:a.paused?"Resume monitors":"Pause monitors",onSelect:()=>j(()=>new Promise(b=>i(async()=>{try{let b=await (0,g.f)(a.id,!a.paused);b.ok?d.c.success(b.message??""):d.c.error(b.error)}catch{d.c.error("Something went wrong. Try again.")}finally{b()}})))}),(0,b.jsx)(e.RowMenu,{items:k,label:(0,f.J)(a.name)})}])},224766,752818,a=>{var b=a.i(405050);let c=(0,b.createServerReference)("60859733a4976da0b21f1b15bd4bbb739bade49c9d",b.callServer,void 0,b.findSourceMapURL,"pauseAppMonitors");a.s(["f",0,c],224766);var d=a.i(572131);a.s(["f",0,function(){let a=(0,d.useRef)(!1);return b=>!a.current&&(a.current=!0,b().catch(()=>void 0).finally(()=>{a.current=!1}),!0)}],752818)},964887,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(405050);let f=(0,e.createServerReference)("409598291afda148e093707136178313775ef9704f",e.callServer,void 0,e.findSourceMapURL,"dismissRecommendation");var g=a.i(619089);a.s(["DismissButton",0,function({recKey:a}){let[e,h]=(0,c.useTransition)();return(0,b.jsx)(g.K,{size:"sm",disabled:e,onClick:()=>h(async()=>{try{let b=await f(a);b.ok?d.c.success(b.message??"Dismissed."):d.c.error(b.error)}catch{d.c.error("Something went wrong. Try again.")}}),children:e?"Dismissing…":"Dismiss"})}],964887)},585709,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(486747),e=a.i(462007),f=a.i(427110);a.s(["PlainTable",0,function({head:a,rows:g}){let[h,i]=(0,c.useState)(1),j=(0,f.$)(g,h);return j.page!==h&&i(j.page),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:a}),(0,b.jsx)("tbody",{children:j.rows.map(a=>(0,b.jsx)(c.Fragment,{children:a.row},a.key))})]})}),(0,b.jsx)(d.f,{page:j.page,pages:j.pages,text:(0,f.z)(j),onPage:i})]})}])}]})();
2
2
 
3
- //# sourceMappingURL=src_1eermasnm2cgy._.js.map
3
+ //# sourceMappingURL=src_1ottjkdvhje3g._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[[829534,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call ActionsRepoForm() from the server but ActionsRepoForm 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)/settings/actions-repo-form.tsx","ActionsRepoForm");a.s(["ActionsRepoForm",0,b])},386180,a=>{var b=a.i(829534);a.n(b)},541088,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AddMemberDialog() from the server but AddMemberDialog 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)/settings/add-member-dialog.tsx","AddMemberDialog");a.s(["AddMemberDialog",0,b])},120396,a=>{var b=a.i(541088);a.n(b)},933292,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call BudgetForm() from the server but BudgetForm 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)/settings/budget-form.tsx","BudgetForm");a.s(["BudgetForm",0,b])},285100,a=>{var b=a.i(933292);a.n(b)},915832,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call InviteDialog() from the server but InviteDialog 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)/settings/invite-dialog.tsx","InviteDialog");a.s(["InviteDialog",0,b])},173616,a=>{var b=a.i(915832);a.n(b)},7109,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call RemoveMember() from the server but RemoveMember 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)/settings/member-actions.tsx","RemoveMember"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call RevokeInvite() from the server but RevokeInvite 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)/settings/member-actions.tsx","RevokeInvite"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call RoleSelect() from the server but RoleSelect 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)/settings/member-actions.tsx","RoleSelect");a.s(["RemoveMember",0,c,"RevokeInvite",0,d,"RoleSelect",0,e])},564326,a=>{var b=a.i(7109);a.n(b)},976739,a=>{var b=a.i(907997),c=a.i(803681),d=a.i(75148),e=a.i(473083),f=a.i(109307),g=a.i(534908),h=a.i(149396),i=a.i(492665),j=a.i(529960),k=a.i(686251),l=a.i(462820),m=a.i(976937),n=a.i(972123),o=a.i(386180);async function p(){let a=await (0,m.c)().catch(()=>null);return(0,b.jsxs)(c.N,{title:"Lockfile via GitHub Actions",meta:a?(0,b.jsx)(k.F,{state:"ok",children:"On"}):(0,b.jsx)(k.F,{state:"off",children:"Off"}),children:[(0,b.jsx)("p",{className:"text-[13px] text-ink-soft",children:l.K.lockfileIntro}),(0,b.jsxs)("ol",{className:"mt-2 flex list-decimal flex-col gap-3 pl-5 text-[13px]",children:[(0,b.jsxs)("li",{children:["Create a repository on GitHub, for example ",(0,b.jsx)("span",{className:"font-mono",children:"watchbell-actions"})," (private is fine)."]}),(0,b.jsxs)("li",{children:["Add the file ",(0,b.jsx)("span",{className:"font-mono",children:".github/workflows/watchbell-lockfile.yml"})," ",(0,b.jsx)(j.CopyButton,{text:".github/workflows/watchbell-lockfile.yml",label:"Copy path"})," with this content:",(0,b.jsx)("div",{className:"mt-1 flex justify-end",children:(0,b.jsx)(j.CopyButton,{text:n.G,label:"Copy workflow"})}),(0,b.jsx)("code",{className:"block overflow-x-auto rounded-md border border-line bg-surface-2 px-3 py-2 font-mono text-[12.5px] whitespace-pre mt-1 max-h-72",children:n.G})]}),(0,b.jsxs)("li",{children:["In that repository: Settings › Secrets and variables › Actions › New repository secret, name ",(0,b.jsx)("span",{className:"font-mono",children:"WATCHBELL_PR_TOKEN"})," ",(0,b.jsx)(j.CopyButton,{text:"WATCHBELL_PR_TOKEN",label:"Copy name"}),", value: your GitHub PR-write token (the same one on Connections)."]}),(0,b.jsx)("li",{children:"Give the PR-write token access to this new repository too (GitHub › Settings › Developer settings › your token › Repository access), with Contents: Read and write."}),(0,b.jsx)("li",{children:"Save the repository name here:"})]}),(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsx)(o.ActionsRepoForm,{current:a})})]})}var q=a.i(791444),r=a.i(840784),s=a.i(186133),t=a.i(532620),u=a.i(655206),v=a.i(634418),w=a.i(688275),x=a.i(672319),y=a.i(711251),z=a.i(245710);function A(a){return a>=86400&&a%86400==0?`every ${a/86400} day${86400===a?"":"s"}`:a>=3600&&a%3600==0?`every ${a/3600} h`:a>=60&&a%60==0?`every ${a/60} min`:`every ${a} s`}let B={heartbeats:"Heartbeat monitors: recompute from the last ping",checks:"HTTP uptime checks",vercel:"Vercel projects and deployments",supabase:"Supabase project status",supabaseUsage:"Supabase service health and traffic",neon:"Neon status and usage",firebase:"Firestore health read",firebaseUsage:"Firestore usage",extraDbs:"Turso, Upstash Redis and Cloudflare D1 status and usage",cloudflare:"Cloudflare zones and DNS",domains:"Vercel domain settings",tls:"TLS certificate expiry",rdap:"Domain expiry (RDAP)",eol:"Next.js end-of-life data",status:"Provider status feeds",logs:"Copy of Vercel warning and error logs",pageviews:"Web Analytics page views",alerts:"Alert rules and notices",digest:"Digest due check"},C={cron_job_org:"cron-job.org",qstash:"QStash",vercel_cron:"Vercel Cron",manual:"Refresh now"},D=v.t.checks,E="not read yet",F=a=>Math.round(10*a)/10,G=a=>`${a} days`;var H=a.i(715208),I=a.i(285100);async function J(){let a=new Date,[d,e,f,g,h]=await Promise.all([(0,t.V)(),(0,t.R)("neon_project"),(0,t.e)(),(0,r.G)(a),(0,s.j)()]),i=g.filter(a=>!a.gone),j=function(a,b=y.o){let c,d=[],e=a=>null===a?"none":a>=b.errPct?"err":a>=b.warnPct?"warn":"ok";for(let b of(a.slots.length||d.push({key:"supabase",item:"Supabase free projects",limit:`${x.V} active projects per account`,use:"no Supabase account connected",pct:null,tone:"none"}),a.slots)){let a=F(b.used/b.total*100);d.push({key:`supabase-${b.account}`,item:`Supabase free projects \xb7 ${b.account}`,limit:`${b.total} active per account`,use:`${b.used} of ${b.total} used${b.planUnknown?" (plan not read for every org)":""}`,pct:a,tone:e(a)})}for(let b of(a.neon.length||d.push({key:"neon",item:"Neon CU-hours",limit:`${w.a.cuHours} CU-hours / month per project`,use:"no Neon project watched",pct:null,tone:"none"}),a.neon))d.push({key:`neon-${b.id}`,item:`Neon CU-hours \xb7 ${b.alias}`,limit:`${w.a.cuHours} CU-hours / month per project`,use:b.cu?`${b.cu.value} CU-hours`:E,pct:b.cu?.pct??null,tone:e(b.cu?.pct??null)});let f=F(288/b.qstashPerDay*100);return d.push({key:"qstash",item:"Upstash QStash messages",limit:`${b.qstashPerDay.toLocaleString("en-US")} / day`,use:`288 / day (watchdog ${A(300)})`,pct:f,tone:e(f)}),d.push({key:"cron",item:"cron-job.org runs",limit:"1 run / min (shortest free interval)",use:`1 run / min (${(86400/D).toLocaleString("en-US")} / day)`,pct:null,tone:"none"}),d.push({key:"vercel",item:"Vercel Hobby",limit:`${(c=b.vercelInvocations)>=1e6&&c%1e6==0?`${c/1e6}M`:c.toLocaleString("en-US")} invocations, ${b.vercelCpuHours} h CPU, ${b.vercelMemoryGbH} GB-h memory / month`,use:E,pct:null,tone:"none"}),d.push({key:"analytics",item:"Vercel Web Analytics",limit:`${b.webAnalyticsEvents.toLocaleString("en-US")} events / month`,use:0===a.apps.total?"no apps watched":0===a.apps.read?`${E} \xb7 events ${E}`:`${a.apps.enabled} of ${a.apps.total} app${1===a.apps.total?"":"s"} enabled \xb7 events ${E}`,pct:null,tone:"none"}),d}({slots:(0,H.d)(d),neon:(0,H.D)(e,a,f).map(a=>({id:a.id,alias:a.alias,cu:a.cu})),apps:{total:i.length,read:i.filter(a=>null!==a.pageViews).length,enabled:i.filter(a=>a.pageViews?.enabled===!0).length}},h);return(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsx)(c.N,{title:"Free tier budget",flush:!0,meta:"Everything stays on free plans",children:(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:q.o,children:[(0,b.jsx)(q.U,{head:["Item","Free limit","Current use"]}),(0,b.jsx)("tbody",{children:j.map(a=>(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{className:q.z,children:a.item}),(0,b.jsx)("td",{className:`${q.z} text-ink-soft`,children:a.limit}),(0,b.jsxs)("td",{className:q.z,children:[(0,b.jsx)("span",{className:a.use.includes("not read yet")?"text-ink-soft":"font-mono text-[12.5px]",children:a.use}),null!==a.pct&&(0,b.jsx)(c.e,{pct:a.pct,tone:"warn"===a.tone||"err"===a.tone?a.tone:void 0})]})]},a.key))})]})})}),(0,b.jsx)(c.N,{title:"Free tier limits",meta:"Correct them here when a provider changes its free plan",children:(0,b.jsx)(I.BudgetForm,{saved:h})})]})}var K=a.i(530385),L=a.i(395936),M=a.i(701702),N=a.i(548734),O=a.i(837137),P=a.i(556987),Q=a.i(103493);async function R(){let a=await (0,N.f)().select({id:O.collectorRuns.id,startedAt:O.collectorRuns.startedAt,trigger:O.collectorRuns.trigger,tasks:O.collectorRuns.tasks,ok:O.collectorRuns.ok,errorSummary:O.collectorRuns.errorSummary,durationMs:O.collectorRuns.durationMs}).from(O.collectorRuns).orderBy((0,K.A)(O.collectorRuns.startedAt)).limit(20),d=await (0,t.e)().catch(()=>P.a),e=function(a,b=a=>a){return a.map(a=>{var c;let d;return{id:a.id,at:`${(0,z.L)(a.startedAt)} ${(0,z.U)(a.startedAt)}`,trigger:C[a.trigger]??a.trigger,tasks:a.tasks.length?`${a.tasks.length} task${1===a.tasks.length?"":"s"}`:"none",duration:null===(c=a.durationMs)?"—":c<1e3?`${c} ms`:`${(c/1e3).toFixed(1)} s`,ok:a.ok,summary:null===a.ok?"Not finished":a.ok?"OK":(d=b(a.errorSummary?.trim()||"Finished with problems")).length<=80?d:`${d.slice(0,79).trimEnd()}…`}})}(a,a=>(0,P.J)(a,d));return(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsx)(Q.f,{}),(0,b.jsxs)(c.N,{title:"What runs when",flush:!0,meta:"Per run, a task starts only when its interval has passed",children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:q.o,children:[(0,b.jsx)(q.U,{head:["Task","Runs"]}),(0,b.jsx)("tbody",{children:(function(a=v.t){return Object.keys(a).map(b=>({task:b,label:B[b],every:A(a[b])}))})().map(a=>(0,b.jsxs)("tr",{children:[(0,b.jsxs)("td",{className:q.z,children:[a.label," ",(0,b.jsx)("span",{className:"ml-1 font-mono text-xs text-ink-soft",children:a.task})]}),(0,b.jsx)("td",{className:`${q.z} text-ink-soft`,children:a.every})]},a.task))})]})}),(0,b.jsxs)("div",{className:"grid grid-cols-[260px_minmax(0,1fr)] items-center gap-4 border-t border-line px-[18px] py-3 max-[720px]:grid-cols-1 max-[720px]:gap-1",children:[(0,b.jsxs)("div",{className:"font-medium",children:["Keep Supabase projects awake",(0,b.jsx)("span",{className:"mt-0.5 block text-[12.5px] font-normal text-ink-soft",children:"Off by default. Set per project on the Supabase page (Keep active, Auto-restore; owner only). Not offered for Neon, because staying awake would use up its CU-hours."})]}),(0,b.jsx)("span",{children:(0,b.jsx)(L.default,{href:"/supabase",className:(0,c.R)({size:"sm"}),children:"Open Supabase"})})]})]}),(0,b.jsx)(c.N,{title:"Last 20 runs",flush:!0,meta:"Times in WIB",children:0===e.length?(0,b.jsx)("p",{className:"px-[18px] pb-4 text-ink-soft",children:"The collector hasn't run yet."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:q.o,children:[(0,b.jsx)(q.U,{head:["Started","Trigger","Tasks","Duration","Result"]}),(0,b.jsx)("tbody",{children:e.map(a=>(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{className:`${q.z} font-mono text-[12.5px]`,children:a.at}),(0,b.jsx)("td",{className:q.z,children:a.trigger}),(0,b.jsx)("td",{className:q.z,children:a.tasks}),(0,b.jsx)("td",{className:`${q.z} font-mono text-[12.5px]`,children:a.duration}),(0,b.jsx)("td",{className:q.z,children:(0,b.jsx)(k.F,{state:null===a.ok?"build":a.ok?"ok":"warn",children:(0,b.jsx)(M.MaskedText,{text:a.summary})})})]},a.id))})]})})})]})}var S=a.i(532971),T=a.i(104195);async function U(){let a=await (0,s.J)(),d=function(a=u.f){return[{kind:"Raw checks",keeps:G(a.checks),note:"Every HTTP check result; the hourly rollups below keep the history."},{kind:"Hourly rollups",keeps:G(a.rollupsHourly),note:"Uptime and response numbers per monitor and hour."},{kind:"Stored logs",keeps:G(a.storedLogs),note:"The copy of Vercel warning and error logs."},{kind:"Deployments",keeps:G(a.deployments),note:"Older ones only; the current and the previous production deployment are always kept."},{kind:"Events",keeps:G(a.events),note:"The activity feed."},{kind:"Alerts",keeps:G(a.alerts),note:"Resolved alerts only, counted from when they resolved; open alerts stay."},{kind:"Collector runs",keeps:G(a.collectorRuns),note:"The run history shown in the Collector tab."},{kind:"Advisor dismissals",keeps:G(a.recommendationDismissals),note:"A dismissal only matters for 30 days."}]}(a),e=S.L.map(a=>({key:a,kind:S.I[a],note:d.find(b=>b.kind===S.I[a])?.note??""}));return(0,b.jsxs)(c.N,{title:"Retention",flush:!0,meta:"Cleaned daily at 03:00 WIB",children:[(0,b.jsx)("p",{className:"px-[18px] pb-3 text-ink-soft",children:"Only the console's own history is deleted. Nothing is ever deleted at a provider. The monthly backup runs on the 1st, before the clean-up, and reads hourly rollups, events and alerts, which keep at least 60 days."}),(0,b.jsx)(T.RetentionForm,{saved:a,rows:e})]})}var V=a.i(525826),W=a.i(93321),X=a.i(154756),Y=a.i(267767),Z=a.i(371289),$=a.i(120396),_=a.i(173616),aa=a.i(564326);async function ab({actorId:a}){let d=(0,Z.F)(),e=await (0,N.f)().select().from(O.members).orderBy((0,K.A)(O.members.createdAt)),f=d?[]:await (0,N.f)().select().from(O.invites).where((0,W.M)(O.invites.acceptedAt)).orderBy((0,K.A)(O.invites.createdAt)),g=new Date,h="border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px]",i="border-b border-line px-3 py-[9px] whitespace-nowrap first:pl-[18px]";return(0,b.jsxs)(c.N,{flush:!0,children:[(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2 px-[18px] pb-3 pt-3.5",children:d?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-ink-soft",children:(0,Z.W)()?"In the demo you are the only member. On a real install an owner adds people here.":"Members sign in with email and password. A new member gets a temporary password and picks their own at their first sign-in."}),!(0,Z.W)()&&(0,b.jsx)($.AddMemberDialog,{})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-ink-soft",children:"Invite-only: people sign in with an email link, and only invited emails get in. Preview deployments stay behind Vercel Authentication."}),(0,b.jsx)(_.InviteDialog,{})]})}),(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full border-collapse",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{children:[(0,b.jsx)("th",{className:h,children:"User"}),(0,b.jsx)("th",{className:h,children:"Role"}),(0,b.jsx)("th",{className:h,children:"Last seen"}),(0,b.jsx)("th",{className:h,children:"Status"}),(0,b.jsx)("th",{className:h})]})}),(0,b.jsxs)("tbody",{children:[e.map(c=>(0,b.jsxs)("tr",{className:"hover:bg-hover",children:[(0,b.jsx)("td",{className:i,children:(0,b.jsx)(X.F,{kind:"usr",name:c.email})}),(0,b.jsx)("td",{className:i,children:c.id===a?(0,b.jsx)("span",{className:"rounded-[5px] border border-line bg-surface-2 px-1.5 text-xs text-ink-soft",children:"Owner (you)"}):(0,b.jsx)(aa.RoleSelect,{memberId:c.id,email:c.email,role:c.role})}),(0,b.jsx)("td",{className:`${i} text-ink-soft`,children:(a=>{if(!a)return"never";let b=Math.round((Date.now()-a.getTime())/6e4);if(b<2)return"now";if(b<60)return`${b} min ago`;let c=Math.round(b/60);return c<48?`${c} h ago`:`${Math.round(c/24)} days ago`})(c.lastSeenAt)}),(0,b.jsx)("td",{className:i,children:(0,b.jsx)(k.F,{state:"ok",children:"Active"})}),(0,b.jsx)("td",{className:i,children:c.id!==a&&(0,b.jsx)(aa.RemoveMember,{memberId:c.id,email:c.email,deletesAccount:"selfhost"===(0,Z.c)()})})]},c.id)),f.map(a=>{let c=(0,Y.R)(a,g);return(0,b.jsxs)("tr",{className:"hover:bg-hover",children:[(0,b.jsx)("td",{className:i,children:(0,b.jsx)(X.F,{kind:"usr",name:a.email})}),(0,b.jsx)("td",{className:i,children:(0,b.jsx)("span",{className:"rounded-[5px] border border-line bg-surface-2 px-1.5 text-xs text-ink-soft",children:a.role[0].toUpperCase()+a.role.slice(1)})}),(0,b.jsx)("td",{className:`${i} text-ink-soft`,children:"invited"}),(0,b.jsx)("td",{className:i,children:"open"===c?(0,b.jsx)(k.F,{state:"off",children:"Invited"}):(0,b.jsx)(k.F,{state:"warn",children:"Invite expired"})}),(0,b.jsx)("td",{className:i,children:(0,b.jsx)(aa.RevokeInvite,{inviteId:a.id,email:a.email})})]},a.id)})]})]})})]})}let ac=["collector","budget","users","retention","status-page"];async function ad({searchParams:a}){let j=await (0,f.B)("owner");if(!j.ok)return(0,b.jsx)(d.f,{role:j.member.role});let[{tab:k},l]=await Promise.all([a,(0,h.a)()]),m=g.extensions.settingsTabs??[],n=!g.extensions.runner,o=[...ac,...n?["lockfile"]:[],...m.map(a=>a.key)];return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c.L,{crumbs:[{label:"Administration"},{label:"Settings"}],title:"Settings"}),(0,b.jsxs)(e.Tabs,{defaultValue:k&&o.includes(k)?k:"users",className:"mt-3.5",children:[(0,b.jsxs)(e.TabsList,{variant:"line",children:[(0,b.jsx)(e.TabsTrigger,{value:"collector",children:"Collector"}),(0,b.jsx)(e.TabsTrigger,{value:"budget",children:"Free tier budget"}),(0,b.jsx)(e.TabsTrigger,{value:"users",children:"Users"}),(0,b.jsx)(e.TabsTrigger,{value:"retention",children:"Retention"}),(0,b.jsx)(e.TabsTrigger,{value:"status-page",children:"Status page"}),n&&(0,b.jsx)(e.TabsTrigger,{value:"lockfile",children:"Lockfile"}),m.map(a=>(0,b.jsx)(e.TabsTrigger,{value:a.key,children:a.label},a.key))]}),(0,b.jsx)(e.TabsContent,{value:"collector",className:"mt-4",children:(0,b.jsx)(R,{})}),(0,b.jsx)(e.TabsContent,{value:"budget",className:"mt-4",children:(0,b.jsx)(J,{})}),(0,b.jsx)(e.TabsContent,{value:"users",className:"mt-4",children:(0,b.jsx)(ab,{actorId:j.member.id})}),(0,b.jsx)(e.TabsContent,{value:"retention",className:"mt-4",children:(0,b.jsx)(U,{})}),(0,b.jsx)(e.TabsContent,{value:"status-page",className:"mt-4",children:(0,b.jsx)(V.StatusPageTab,{settings:l,siteUrl:(0,i.f)().SITE_URL})}),n&&(0,b.jsx)(e.TabsContent,{value:"lockfile",className:"mt-4",children:(0,b.jsx)(p,{})}),m.map(({key:a,Tab:c})=>(0,b.jsx)(e.TabsContent,{value:a,className:"mt-4",children:(0,b.jsx)(c,{})},a))]})]})}a.s(["default",0,ad],976739)},718121,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call RetentionForm() from the server but RetentionForm 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)/settings/retention-form.tsx","RetentionForm");a.s(["RetentionForm",0,b])},104195,a=>{var b=a.i(718121);a.n(b)},391022,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call StatusPageTab() from the server but StatusPageTab 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)/settings/status-page-tab.tsx","StatusPageTab");a.s(["StatusPageTab",0,b])},525826,a=>{var b=a.i(391022);a.n(b)},736935,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call CopyButton() from the server but CopyButton 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/copy-button.tsx","CopyButton");a.s(["CopyButton",0,b])},529960,a=>{var b=a.i(736935);a.n(b)}],814659,function(a){a.n(a.i(976739))}];
1
+ module.exports=[[829534,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call ActionsRepoForm() from the server but ActionsRepoForm 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)/settings/actions-repo-form.tsx","ActionsRepoForm");a.s(["ActionsRepoForm",0,b])},386180,a=>{var b=a.i(829534);a.n(b)},541088,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AddMemberDialog() from the server but AddMemberDialog 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)/settings/add-member-dialog.tsx","AddMemberDialog");a.s(["AddMemberDialog",0,b])},120396,a=>{var b=a.i(541088);a.n(b)},933292,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call BudgetForm() from the server but BudgetForm 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)/settings/budget-form.tsx","BudgetForm");a.s(["BudgetForm",0,b])},285100,a=>{var b=a.i(933292);a.n(b)},915832,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call InviteDialog() from the server but InviteDialog 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)/settings/invite-dialog.tsx","InviteDialog");a.s(["InviteDialog",0,b])},173616,a=>{var b=a.i(915832);a.n(b)},7109,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call RemoveMember() from the server but RemoveMember 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)/settings/member-actions.tsx","RemoveMember"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call RevokeInvite() from the server but RevokeInvite 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)/settings/member-actions.tsx","RevokeInvite"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call RoleSelect() from the server but RoleSelect 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)/settings/member-actions.tsx","RoleSelect");a.s(["RemoveMember",0,c,"RevokeInvite",0,d,"RoleSelect",0,e])},564326,a=>{var b=a.i(7109);a.n(b)},976739,a=>{var b=a.i(907997),c=a.i(803681),d=a.i(75148),e=a.i(473083),f=a.i(109307),g=a.i(534908),h=a.i(149396),i=a.i(492665),j=a.i(529960),k=a.i(686251),l=a.i(462820),m=a.i(976937),n=a.i(972123),o=a.i(386180);async function p(){let a=await (0,m.c)().catch(()=>null);return(0,b.jsxs)(c.N,{title:"Lockfile via GitHub Actions",meta:a?(0,b.jsx)(k.F,{state:"ok",children:"On"}):(0,b.jsx)(k.F,{state:"off",children:"Off"}),children:[(0,b.jsx)("p",{className:"text-[13px] text-ink-soft",children:l.K.lockfileIntro}),(0,b.jsxs)("ol",{className:"mt-2 flex list-decimal flex-col gap-3 pl-5 text-[13px]",children:[(0,b.jsxs)("li",{children:["Create a repository on GitHub, for example ",(0,b.jsx)("span",{className:"font-mono",children:"watchbell-actions"})," (private is fine)."]}),(0,b.jsxs)("li",{children:["Add the file ",(0,b.jsx)("span",{className:"font-mono",children:".github/workflows/watchbell-lockfile.yml"})," ",(0,b.jsx)(j.CopyButton,{text:".github/workflows/watchbell-lockfile.yml",label:"Copy path"})," with this content:",(0,b.jsx)("div",{className:"mt-1 flex justify-end",children:(0,b.jsx)(j.CopyButton,{text:n.G,label:"Copy workflow"})}),(0,b.jsx)("code",{className:"block overflow-x-auto rounded-md border border-line bg-surface-2 px-3 py-2 font-mono text-[12.5px] whitespace-pre mt-1 max-h-72",children:n.G})]}),(0,b.jsxs)("li",{children:["In that repository: Settings › Secrets and variables › Actions › New repository secret, name ",(0,b.jsx)("span",{className:"font-mono",children:"WATCHBELL_PR_TOKEN"})," ",(0,b.jsx)(j.CopyButton,{text:"WATCHBELL_PR_TOKEN",label:"Copy name"}),", value: your GitHub PR-write token (the same one on Connections)."]}),(0,b.jsx)("li",{children:"Give the PR-write token access to this new repository too (GitHub › Settings › Developer settings › your token › Repository access), with Contents: Read and write."}),(0,b.jsx)("li",{children:"Save the repository name here:"})]}),(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsx)(o.ActionsRepoForm,{current:a})})]})}var q=a.i(791444),r=a.i(840784),s=a.i(186133),t=a.i(532620),u=a.i(655206),v=a.i(634418),w=a.i(688275),x=a.i(672319),y=a.i(711251),z=a.i(371289),A=a.i(245710);function B(a){return a>=86400&&a%86400==0?`every ${a/86400} day${86400===a?"":"s"}`:a>=3600&&a%3600==0?`every ${a/3600} h`:a>=60&&a%60==0?`every ${a/60} min`:`every ${a} s`}let C={heartbeats:"Heartbeat monitors: recompute from the last ping",checks:"HTTP uptime checks",vercel:"Vercel projects and deployments",supabase:"Supabase project status",supabaseUsage:"Supabase service health and traffic",neon:"Neon status and usage",firebase:"Firestore health read",firebaseUsage:"Firestore usage",extraDbs:"Turso, Upstash Redis and Cloudflare D1 status and usage",cloudflare:"Cloudflare zones and DNS",domains:"Vercel domain settings",tls:"TLS certificate expiry",rdap:"Domain expiry (RDAP)",eol:"Next.js end-of-life data",status:"Provider status feeds",logs:"Copy of Vercel warning and error logs",pageviews:"Web Analytics page views",alerts:"Alert rules and notices",digest:"Digest due check"},D={cron_job_org:"cron-job.org",qstash:"QStash",vercel_cron:"Vercel Cron",manual:"Refresh now"},E=v.t.checks,F="not read yet",G=a=>Math.round(10*a)/10,H=a=>`${a} days`;var I=a.i(715208),J=a.i(285100);async function K(){let a=new Date,[d,e,f,g,h]=await Promise.all([(0,t.V)(),(0,t.R)("neon_project"),(0,t.e)(),(0,r.G)(a),(0,s.j)()]),i=g.filter(a=>!a.gone),j=function(a,b=y.o){let c,d=[],e=a=>null===a?"none":a>=b.errPct?"err":a>=b.warnPct?"warn":"ok";for(let b of(a.slots.length||d.push({key:"supabase",item:"Supabase free projects",limit:`${x.V} active projects per account`,use:"no Supabase account connected",pct:null,tone:"none"}),a.slots)){let a=G(b.used/b.total*100);d.push({key:`supabase-${b.account}`,item:`Supabase free projects \xb7 ${b.account}`,limit:`${b.total} active per account`,use:`${b.used} of ${b.total} used${b.planUnknown?" (plan not read for every org)":""}`,pct:a,tone:e(a)})}for(let b of(a.neon.length||d.push({key:"neon",item:"Neon CU-hours",limit:`${w.a.cuHours} CU-hours / month per project`,use:"no Neon project watched",pct:null,tone:"none"}),a.neon))d.push({key:`neon-${b.id}`,item:`Neon CU-hours \xb7 ${b.alias}`,limit:`${w.a.cuHours} CU-hours / month per project`,use:b.cu?`${b.cu.value} CU-hours`:F,pct:b.cu?.pct??null,tone:e(b.cu?.pct??null)});let f=G(288/b.qstashPerDay*100);return d.push({key:"qstash",item:"Upstash QStash messages",limit:`${b.qstashPerDay.toLocaleString("en-US")} / day`,use:`288 / day (watchdog ${B(300)})`,pct:f,tone:e(f)}),d.push({key:"cron",item:"cron-job.org runs",limit:"1 run / min (shortest free interval)",use:`1 run / min (${(86400/E).toLocaleString("en-US")} / day)`,pct:null,tone:"none"}),d.push({key:"vercel",item:"Vercel Hobby",limit:`${(c=b.vercelInvocations)>=1e6&&c%1e6==0?`${c/1e6}M`:c.toLocaleString("en-US")} invocations, ${b.vercelCpuHours} h CPU, ${b.vercelMemoryGbH} GB-h memory / month`,use:F,pct:null,tone:"none"}),d.push({key:"analytics",item:"Vercel Web Analytics",limit:`${b.webAnalyticsEvents.toLocaleString("en-US")} events / month`,use:0===a.apps.total?"no apps watched":0===a.apps.read?`${F} \xb7 events ${F}`:`${a.apps.enabled} of ${a.apps.total} app${1===a.apps.total?"":"s"} enabled \xb7 events ${F}`,pct:null,tone:"none"}),d}({slots:(0,I.d)(d),neon:(0,I.D)(e,a,f).map(a=>({id:a.id,alias:a.alias,cu:a.cu})),apps:{total:i.length,read:i.filter(a=>null!==a.pageViews).length,enabled:i.filter(a=>a.pageViews?.enabled===!0).length}},h);return(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsx)(c.N,{title:"Free tier budget",flush:!0,meta:"Everything stays on free plans",children:(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:q.o,children:[(0,b.jsx)(q.U,{head:["Item","Free limit","Current use"]}),(0,b.jsx)("tbody",{children:j.map(a=>(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{className:q.z,children:a.item}),(0,b.jsx)("td",{className:`${q.z} text-ink-soft`,children:a.limit}),(0,b.jsxs)("td",{className:q.z,children:[(0,b.jsx)("span",{className:a.use.includes("not read yet")?"text-ink-soft":"font-mono text-[12.5px]",children:a.use}),null!==a.pct&&(0,b.jsx)(c.e,{pct:a.pct,tone:"warn"===a.tone||"err"===a.tone?a.tone:void 0})]})]},a.key))})]})})}),(0,b.jsx)(c.N,{title:"Free tier limits",meta:"Correct them here when a provider changes its free plan",children:(0,b.jsx)(J.BudgetForm,{saved:h})})]})}var L=a.i(530385),M=a.i(395936),N=a.i(701702),O=a.i(548734),P=a.i(837137),Q=a.i(556987),R=a.i(103493);async function S(){let a=await (0,O.f)().select({id:P.collectorRuns.id,startedAt:P.collectorRuns.startedAt,trigger:P.collectorRuns.trigger,tasks:P.collectorRuns.tasks,ok:P.collectorRuns.ok,errorSummary:P.collectorRuns.errorSummary,durationMs:P.collectorRuns.durationMs}).from(P.collectorRuns).orderBy((0,L.A)(P.collectorRuns.startedAt)).limit(20),d=await (0,t.e)().catch(()=>Q.a),e=function(a,b=a=>a){return a.map(a=>{var c;let d;return{id:a.id,at:`${(0,A.L)(a.startedAt)} ${(0,A.U)(a.startedAt)}`,trigger:D[a.trigger]??a.trigger,tasks:a.tasks.length?`${a.tasks.length} task${1===a.tasks.length?"":"s"}`:"none",duration:null===(c=a.durationMs)?"—":c<1e3?`${c} ms`:`${(c/1e3).toFixed(1)} s`,ok:a.ok,summary:null===a.ok?"Not finished":a.ok?"OK":(d=b(a.errorSummary?.trim()||"Finished with problems")).length<=80?d:`${d.slice(0,79).trimEnd()}…`}})}(a,a=>(0,Q.J)(a,d)),f=function(a=(()=>{try{return"cloud"===(0,z.c)()}catch{return!1}})()){let b=(0,A.C)(),c=(0,A.J)(),d=a?"as a Vercel environment variable and redeploy":"in .env",e=(0,A.R)(),f=e?`${e} isn't a time zone; using ${b} (${c}). Set an IANA name such as Europe/Berlin ${d}.`:`Time zone: ${b} (${c}). To change it, set WATCHBELL_TIMEZONE ${d}.`;return{zone:b,label:c,text:f,follows:a?`Times and the digest (07:00) follow it. The daily job is Vercel Cron at 20:00 UTC (${(0,A.G)()}).`:"Times, the daily job (03:00) and the digest (07:00) follow it."}}();return(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsx)(R.f,{}),(0,b.jsxs)(c.N,{title:"What runs when",flush:!0,meta:"Per run, a task starts only when its interval has passed",children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:q.o,children:[(0,b.jsx)(q.U,{head:["Task","Runs"]}),(0,b.jsx)("tbody",{children:(function(a=v.t){return Object.keys(a).map(b=>({task:b,label:C[b],every:B(a[b])}))})().map(a=>(0,b.jsxs)("tr",{children:[(0,b.jsxs)("td",{className:q.z,children:[a.label," ",(0,b.jsx)("span",{className:"ml-1 font-mono text-xs text-ink-soft",children:a.task})]}),(0,b.jsx)("td",{className:`${q.z} text-ink-soft`,children:a.every})]},a.task))})]})}),(0,b.jsxs)("div",{className:"grid grid-cols-[260px_minmax(0,1fr)] items-center gap-4 border-t border-line px-[18px] py-3 max-[720px]:grid-cols-1 max-[720px]:gap-1",children:[(0,b.jsxs)("div",{className:"font-medium",children:["Keep Supabase projects awake",(0,b.jsx)("span",{className:"mt-0.5 block text-[12.5px] font-normal text-ink-soft",children:"Off by default. Set per project on the Supabase page (Keep active, Auto-restore; owner only). Not offered for Neon, because staying awake would use up its CU-hours."})]}),(0,b.jsx)("span",{children:(0,b.jsx)(M.default,{href:"/supabase",className:(0,c.R)({size:"sm"}),children:"Open Supabase"})})]}),(0,b.jsxs)("div",{className:"grid grid-cols-[260px_minmax(0,1fr)] items-center gap-4 border-t border-line px-[18px] py-3 max-[720px]:grid-cols-1 max-[720px]:gap-1",children:[(0,b.jsxs)("div",{className:"font-medium",children:["Time zone",(0,b.jsx)("span",{className:"mt-0.5 block text-[12.5px] font-normal text-ink-soft",children:f.follows})]}),(0,b.jsx)("span",{className:"text-ink-soft",children:f.text})]})]}),(0,b.jsx)(c.N,{title:"Last 20 runs",flush:!0,meta:`Times in ${(0,A.D)()}`,children:0===e.length?(0,b.jsx)("p",{className:"px-[18px] pb-4 text-ink-soft",children:"The collector hasn't run yet."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:q.o,children:[(0,b.jsx)(q.U,{head:["Started","Trigger","Tasks","Duration","Result"]}),(0,b.jsx)("tbody",{children:e.map(a=>(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{className:`${q.z} font-mono text-[12.5px]`,children:a.at}),(0,b.jsx)("td",{className:q.z,children:a.trigger}),(0,b.jsx)("td",{className:q.z,children:a.tasks}),(0,b.jsx)("td",{className:`${q.z} font-mono text-[12.5px]`,children:a.duration}),(0,b.jsx)("td",{className:q.z,children:(0,b.jsx)(k.F,{state:null===a.ok?"build":a.ok?"ok":"warn",children:(0,b.jsx)(N.MaskedText,{text:a.summary})})})]},a.id))})]})})})]})}var T=a.i(532971),U=a.i(104195);async function V(){let a=await (0,s.J)(),d=function(a=u.f){return[{kind:"Raw checks",keeps:H(a.checks),note:"Every HTTP check result; the hourly rollups below keep the history."},{kind:"Hourly rollups",keeps:H(a.rollupsHourly),note:"Uptime and response numbers per monitor and hour."},{kind:"Stored logs",keeps:H(a.storedLogs),note:"The copy of Vercel warning and error logs."},{kind:"Deployments",keeps:H(a.deployments),note:"Older ones only; the current and the previous production deployment are always kept."},{kind:"Events",keeps:H(a.events),note:"The activity feed."},{kind:"Alerts",keeps:H(a.alerts),note:"Resolved alerts only, counted from when they resolved; open alerts stay."},{kind:"Collector runs",keeps:H(a.collectorRuns),note:"The run history shown in the Collector tab."},{kind:"Advisor dismissals",keeps:H(a.recommendationDismissals),note:"A dismissal only matters for 30 days."}]}(a),e=T.L.map(a=>({key:a,kind:T.I[a],note:d.find(b=>b.kind===T.I[a])?.note??""}));return(0,b.jsxs)(c.N,{title:"Retention",flush:!0,meta:`Cleaned daily at ${(0,A.G)()}`,children:[(0,b.jsx)("p",{className:"px-[18px] pb-3 text-ink-soft",children:"Only the console's own history is deleted. Nothing is ever deleted at a provider. The monthly backup runs on the 1st, before the clean-up, and reads hourly rollups, events and alerts, which keep at least 60 days."}),(0,b.jsx)(U.RetentionForm,{saved:a,rows:e})]})}var W=a.i(525826),X=a.i(93321),Y=a.i(154756),Z=a.i(267767),$=a.i(120396),_=a.i(173616),aa=a.i(564326);async function ab({actorId:a}){let d=(0,z.F)(),e=await (0,O.f)().select().from(P.members).orderBy((0,L.A)(P.members.createdAt)),f=d?[]:await (0,O.f)().select().from(P.invites).where((0,X.M)(P.invites.acceptedAt)).orderBy((0,L.A)(P.invites.createdAt)),g=new Date,h="border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px]",i="border-b border-line px-3 py-[9px] whitespace-nowrap first:pl-[18px]";return(0,b.jsxs)(c.N,{flush:!0,children:[(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2 px-[18px] pb-3 pt-3.5",children:d?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-ink-soft",children:(0,z.W)()?"In the demo you are the only member. On a real install an owner adds people here.":"Members sign in with email and password. A new member gets a temporary password and picks their own at their first sign-in."}),!(0,z.W)()&&(0,b.jsx)($.AddMemberDialog,{})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-ink-soft",children:"Invite-only: people sign in with an email link, and only invited emails get in. Preview deployments stay behind Vercel Authentication."}),(0,b.jsx)(_.InviteDialog,{})]})}),(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full border-collapse",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{children:[(0,b.jsx)("th",{className:h,children:"User"}),(0,b.jsx)("th",{className:h,children:"Role"}),(0,b.jsx)("th",{className:h,children:"Last seen"}),(0,b.jsx)("th",{className:h,children:"Status"}),(0,b.jsx)("th",{className:h})]})}),(0,b.jsxs)("tbody",{children:[e.map(c=>(0,b.jsxs)("tr",{className:"hover:bg-hover",children:[(0,b.jsx)("td",{className:i,children:(0,b.jsx)(Y.F,{kind:"usr",name:c.email})}),(0,b.jsx)("td",{className:i,children:c.id===a?(0,b.jsx)("span",{className:"rounded-[5px] border border-line bg-surface-2 px-1.5 text-xs text-ink-soft",children:"Owner (you)"}):(0,b.jsx)(aa.RoleSelect,{memberId:c.id,email:c.email,role:c.role})}),(0,b.jsx)("td",{className:`${i} text-ink-soft`,children:(a=>{if(!a)return"never";let b=Math.round((Date.now()-a.getTime())/6e4);if(b<2)return"now";if(b<60)return`${b} min ago`;let c=Math.round(b/60);return c<48?`${c} h ago`:`${Math.round(c/24)} days ago`})(c.lastSeenAt)}),(0,b.jsx)("td",{className:i,children:(0,b.jsx)(k.F,{state:"ok",children:"Active"})}),(0,b.jsx)("td",{className:i,children:c.id!==a&&(0,b.jsx)(aa.RemoveMember,{memberId:c.id,email:c.email,deletesAccount:"selfhost"===(0,z.c)()})})]},c.id)),f.map(a=>{let c=(0,Z.R)(a,g);return(0,b.jsxs)("tr",{className:"hover:bg-hover",children:[(0,b.jsx)("td",{className:i,children:(0,b.jsx)(Y.F,{kind:"usr",name:a.email})}),(0,b.jsx)("td",{className:i,children:(0,b.jsx)("span",{className:"rounded-[5px] border border-line bg-surface-2 px-1.5 text-xs text-ink-soft",children:a.role[0].toUpperCase()+a.role.slice(1)})}),(0,b.jsx)("td",{className:`${i} text-ink-soft`,children:"invited"}),(0,b.jsx)("td",{className:i,children:"open"===c?(0,b.jsx)(k.F,{state:"off",children:"Invited"}):(0,b.jsx)(k.F,{state:"warn",children:"Invite expired"})}),(0,b.jsx)("td",{className:i,children:(0,b.jsx)(aa.RevokeInvite,{inviteId:a.id,email:a.email})})]},a.id)})]})]})})]})}let ac=["collector","budget","users","retention","status-page"];async function ad({searchParams:a}){let j=await (0,f.B)("owner");if(!j.ok)return(0,b.jsx)(d.f,{role:j.member.role});let[{tab:k},l]=await Promise.all([a,(0,h.a)()]),m=g.extensions.settingsTabs??[],n=!g.extensions.runner,o=[...ac,...n?["lockfile"]:[],...m.map(a=>a.key)];return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c.L,{crumbs:[{label:"Manage"},{label:"Settings"}],title:"Settings"}),(0,b.jsxs)(e.Tabs,{defaultValue:k&&o.includes(k)?k:"users",className:"mt-3.5",children:[(0,b.jsxs)(e.TabsList,{variant:"line",children:[(0,b.jsx)(e.TabsTrigger,{value:"collector",children:"Collector"}),(0,b.jsx)(e.TabsTrigger,{value:"budget",children:"Free tier budget"}),(0,b.jsx)(e.TabsTrigger,{value:"users",children:"Users"}),(0,b.jsx)(e.TabsTrigger,{value:"retention",children:"Retention"}),(0,b.jsx)(e.TabsTrigger,{value:"status-page",children:"Status page"}),n&&(0,b.jsx)(e.TabsTrigger,{value:"lockfile",children:"Lockfile"}),m.map(a=>(0,b.jsx)(e.TabsTrigger,{value:a.key,children:a.label},a.key))]}),(0,b.jsx)(e.TabsContent,{value:"collector",className:"mt-4",children:(0,b.jsx)(S,{})}),(0,b.jsx)(e.TabsContent,{value:"budget",className:"mt-4",children:(0,b.jsx)(K,{})}),(0,b.jsx)(e.TabsContent,{value:"users",className:"mt-4",children:(0,b.jsx)(ab,{actorId:j.member.id})}),(0,b.jsx)(e.TabsContent,{value:"retention",className:"mt-4",children:(0,b.jsx)(V,{})}),(0,b.jsx)(e.TabsContent,{value:"status-page",className:"mt-4",children:(0,b.jsx)(W.StatusPageTab,{settings:l,siteUrl:(0,i.f)().SITE_URL})}),n&&(0,b.jsx)(e.TabsContent,{value:"lockfile",className:"mt-4",children:(0,b.jsx)(p,{})}),m.map(({key:a,Tab:c})=>(0,b.jsx)(e.TabsContent,{value:a,className:"mt-4",children:(0,b.jsx)(c,{})},a))]},k??"")]})}a.s(["default",0,ad],976739)},718121,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call RetentionForm() from the server but RetentionForm 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)/settings/retention-form.tsx","RetentionForm");a.s(["RetentionForm",0,b])},104195,a=>{var b=a.i(718121);a.n(b)},391022,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call StatusPageTab() from the server but StatusPageTab 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)/settings/status-page-tab.tsx","StatusPageTab");a.s(["StatusPageTab",0,b])},525826,a=>{var b=a.i(391022);a.n(b)},736935,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call CopyButton() from the server but CopyButton 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/copy-button.tsx","CopyButton");a.s(["CopyButton",0,b])},529960,a=>{var b=a.i(736935);a.n(b)}],814659,function(a){a.n(a.i(976739))}];
2
2
 
3
3
  //# sourceMappingURL=src_1sdwdnblbiq_g._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[820480,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Databases","Supabase"],title:"Supabase",sub:!0,children:[(0,b.jsx)(c.d,{count:3}),(0,b.jsx)(c.G,{rows:4,cols:8})]})}])},891090,function(a){a.n(a.i(820480))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[820480,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Database","Supabase"],title:"Supabase",sub:!0,children:[(0,b.jsx)(c.d,{count:3}),(0,b.jsx)(c.G,{rows:4,cols:8})]})}])},891090,function(a){a.n(a.i(820480))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_1xsg-zd4lt_d4._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[766656,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Observe","Uptime"],title:"Uptime",sub:!0,children:[(0,b.jsx)(c.d,{count:4,className:"min-[721px]:grid-cols-2 min-[1001px]:grid-cols-2 min-[1281px]:grid-cols-4"}),(0,b.jsx)(c.G,{rows:6,cols:7})]})}])},356830,function(a){a.n(a.i(766656))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[766656,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Hosting","Uptime"],title:"Uptime",sub:!0,children:[(0,b.jsx)(c.d,{count:4,className:"min-[721px]:grid-cols-2 min-[1001px]:grid-cols-2 min-[1281px]:grid-cols-4"}),(0,b.jsx)(c.G,{rows:6,cols:7})]})}])},356830,function(a){a.n(a.i(766656))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_1y0xvj1obxu7i._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[347842,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Observe","Alerts"],title:"Alerts",sub:!0,children:[(0,b.jsx)(c.G,{title:!0,rows:3,cols:5}),(0,b.jsx)(c.G,{title:!0,rows:4,cols:5})]})}])},299667,function(a){a.n(a.i(347842))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[347842,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Manage","Alerts"],title:"Alerts",sub:!0,children:[(0,b.jsx)(c.G,{title:!0,rows:3,cols:5}),(0,b.jsx)(c.G,{title:!0,rows:4,cols:5})]})}])},299667,function(a){a.n(a.i(347842))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_1zpftf1xj-30l._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[849452,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Workloads","Applications"],title:"Applications",sub:!0,children:(0,b.jsx)(c.G,{rows:6,cols:7})})}])},389048,function(a){a.n(a.i(849452))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[849452,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Hosting","Applications"],title:"Applications",sub:!0,children:(0,b.jsx)(c.G,{rows:6,cols:7})})}])},389048,function(a){a.n(a.i(849452))},791444,a=>{"use strict";var b=a.i(907997);let c="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";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"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","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_20hs1ilkxmap0._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[749348,a=>{var b=a.i(187924),c=a.i(50944),d=a.i(572131),e=a.i(823292),f=a.i(611619),g=a.i(619089),h=a.i(507504),i=a.i(188406),j=a.i(814574),k=a.i(405050);let l=(0,k.createServerReference)("4048112ab392c97f60bfaa07191f7cacb51417166c",k.callServer,void 0,k.findSourceMapURL,"forgetAgentAction"),m=(0,k.createServerReference)("603201b6de4670a43d6ef5233dea3b3548b2161950",k.callServer,void 0,k.findSourceMapURL,"renameAgentAction");function n({id:a,current:c,detected:f,onDone:h}){let[i,k]=(0,d.useState)(c===f?"":c),[l,o]=(0,d.useState)(""),[p,q]=(0,d.useTransition)();return(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),q(async()=>{o("");try{let b=await m(a,i);b.ok?(e.c.success(b.message??"Agent renamed."),h()):o(b.fieldErrors?.name??b.error)}catch{o("Something went wrong. Try again.")}})},noValidate:!0,children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsxs)(j.F,{className:"text-base",children:["Rename ",f]}),(0,b.jsx)(j.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"Only changes what this page shows. Leave it empty to use the detected name again."})]}),(0,b.jsx)("div",{className:"px-[18px] pt-1.5",children:(0,b.jsx)(g.O,{id:"agent-name",label:"Name",error:l,children:(0,b.jsx)("input",{id:"agent-name",value:i,onChange:a=>k(a.target.value),placeholder:f,autoComplete:"off",spellCheck:!1,className:g.S})})}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(g.K,{onClick:h,disabled:p,children:"Cancel"}),(0,b.jsx)(g.K,{type:"submit",variant:"primary",disabled:p,children:p?"Saving…":"Save name"})]})]})}a.s(["AgentActions",0,function({id:a,name:e,clientName:g,keyRevoked:k}){let m=(0,c.useRouter)(),[o,p]=(0,d.useState)(!1),[q,r]=(0,d.useState)(!1);return(0,h.useHoldRefresh)(o),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.RowMenu,{label:`Actions for ${e}`,items:[...k?[]:[{label:"Rename",onSelect:()=>p(!0)}],{label:"Show logs",onSelect:()=>m.push(`/ai/logs?agent=${encodeURIComponent(a)}`)},"---",{label:"Forget",danger:!0,onSelect:()=>r(!0)}]}),(0,b.jsx)(j.N,{open:o,onOpenChange:p,children:(0,b.jsx)(j.d,{className:"gap-0 p-0 sm:max-w-[520px]",showCloseButton:!1,children:o&&(0,b.jsx)(n,{id:a,current:e,detected:g,onDone:()=>p(!1)})})}),(0,b.jsx)(f.f,{open:q,onOpenChange:r,title:`Forget ${e}?`,body:"Removes it from this list. Its calls stay in the logs for 30 days. It appears again with its next request.",cta:"Forget agent",danger:!0,onConfirm:async()=>{let b=await l(a);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}})]})}],749348)},107778,a=>{var b=a.i(50944),c=a.i(572131),d=a.i(507504);a.s(["AgentsRefresh",0,function(){let a=(0,b.useRouter)(),[e,f]=(0,c.useTransition)(),g=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{g.current=e},[e]),(0,c.useEffect)(()=>{let b=()=>{if(!g.current){var b;(b={visible:"visible"===document.visibilityState,online:!1!==navigator.onLine,held:(0,d.holdCount)()>0}).visible&&b.online&&!b.held&&f(()=>a.refresh())}},c=setInterval(b,15e3);return document.addEventListener("visibilitychange",b),()=>{clearInterval(c),document.removeEventListener("visibilitychange",b)}},[a]),null}],107778)}]})();
1
+ (()=>{"use strict";module.exports=[749348,a=>{var b=a.i(187924),c=a.i(50944),d=a.i(572131),e=a.i(823292),f=a.i(611619),g=a.i(619089),h=a.i(507504),i=a.i(188406),j=a.i(814574),k=a.i(405050);let l=(0,k.createServerReference)("402cf91a9f65ddbbeddf3da819233f3819564e8122",k.callServer,void 0,k.findSourceMapURL,"forgetAgentAction"),m=(0,k.createServerReference)("607e4c6eda5c7b8ad1549b156c0a72e7e66da4e7ad",k.callServer,void 0,k.findSourceMapURL,"renameAgentAction");function n({id:a,current:c,detected:f,onDone:h}){let[i,k]=(0,d.useState)(c===f?"":c),[l,o]=(0,d.useState)(""),[p,q]=(0,d.useTransition)();return(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),q(async()=>{o("");try{let b=await m(a,i);b.ok?(e.c.success(b.message??"Agent renamed."),h()):o(b.fieldErrors?.name??b.error)}catch{o("Something went wrong. Try again.")}})},noValidate:!0,children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsxs)(j.F,{className:"text-base",children:["Rename ",f]}),(0,b.jsx)(j.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"Only changes what this page shows. Leave it empty to use the detected name again."})]}),(0,b.jsx)("div",{className:"px-[18px] pt-1.5",children:(0,b.jsx)(g.O,{id:"agent-name",label:"Name",error:l,children:(0,b.jsx)("input",{id:"agent-name",value:i,onChange:a=>k(a.target.value),placeholder:f,autoComplete:"off",spellCheck:!1,className:g.S})})}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(g.K,{onClick:h,disabled:p,children:"Cancel"}),(0,b.jsx)(g.K,{type:"submit",variant:"primary",disabled:p,children:p?"Saving…":"Save name"})]})]})}a.s(["AgentActions",0,function({id:a,name:e,clientName:g,keyRevoked:k}){let m=(0,c.useRouter)(),[o,p]=(0,d.useState)(!1),[q,r]=(0,d.useState)(!1);return(0,h.useHoldRefresh)(o),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.RowMenu,{label:`Actions for ${e}`,items:[...k?[]:[{label:"Rename",onSelect:()=>p(!0)}],{label:"Show logs",onSelect:()=>m.push(`/ai/logs?agent=${encodeURIComponent(a)}`)},"---",{label:"Forget",danger:!0,onSelect:()=>r(!0)}]}),(0,b.jsx)(j.N,{open:o,onOpenChange:p,children:(0,b.jsx)(j.d,{className:"gap-0 p-0 sm:max-w-[520px]",showCloseButton:!1,children:o&&(0,b.jsx)(n,{id:a,current:e,detected:g,onDone:()=>p(!1)})})}),(0,b.jsx)(f.f,{open:q,onOpenChange:r,title:`Forget ${e}?`,body:"Removes it from this list. Its calls stay in the logs for 30 days. It appears again with its next request.",cta:"Forget agent",danger:!0,onConfirm:async()=>{let b=await l(a);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}})]})}],749348)},107778,a=>{var b=a.i(50944),c=a.i(572131),d=a.i(507504);a.s(["AgentsRefresh",0,function(){let a=(0,b.useRouter)(),[e,f]=(0,c.useTransition)(),g=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{g.current=e},[e]),(0,c.useEffect)(()=>{let b=()=>{if(!g.current){var b;(b={visible:"visible"===document.visibilityState,online:!1!==navigator.onLine,held:(0,d.holdCount)()>0}).visible&&b.online&&!b.held&&f(()=>a.refresh())}},c=setInterval(b,15e3);return document.addEventListener("visibilitychange",b),()=>{clearInterval(c),document.removeEventListener("visibilitychange",b)}},[a]),null}],107778)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_%28private%29_ai_agents_1fyhh1ldgm23z._.js.map