watchbell 1.6.0 → 1.7.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 (991) hide show
  1. package/package.json +1 -1
  2. package/server/.next/BUILD_ID +1 -1
  3. package/server/.next/app-path-routes-manifest.json +3 -0
  4. package/server/.next/build-manifest.json +14 -3
  5. package/server/.next/prerender-manifest.json +3 -3
  6. package/server/.next/required-server-files.json +1 -1
  7. package/server/.next/routes-manifest.json +20 -0
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +13 -13
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +72 -71
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  11. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +12 -12
  13. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +72 -71
  14. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  15. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  16. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +11 -11
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +72 -71
  18. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  19. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +14 -14
  21. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +72 -71
  22. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  23. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +12 -12
  25. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +72 -71
  26. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  27. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  28. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +21 -21
  29. package/server/.next/server/app/(console)/(private)/ai/models/page.js +72 -71
  30. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  31. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  32. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +11 -11
  33. package/server/.next/server/app/(console)/(private)/ai/page.js +72 -71
  34. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  35. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +14 -14
  37. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +72 -71
  38. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  39. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +17 -17
  41. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +72 -71
  42. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  43. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  44. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +12 -12
  45. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +72 -71
  46. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  47. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  48. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +12 -12
  49. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +72 -71
  50. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  51. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  52. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +11 -11
  53. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +72 -71
  54. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  55. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  56. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +12 -12
  57. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +72 -71
  58. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  59. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  60. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +27 -27
  61. package/server/.next/server/app/(console)/alerts/page.js +72 -71
  62. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  63. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  64. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +34 -34
  65. package/server/.next/server/app/(console)/apps/[id]/page.js +72 -71
  66. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  67. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  68. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +14 -14
  69. package/server/.next/server/app/(console)/apps/page.js +72 -71
  70. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  71. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  72. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +14 -14
  73. package/server/.next/server/app/(console)/backups/page.js +72 -71
  74. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  75. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  76. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +11 -11
  77. package/server/.next/server/app/(console)/catalog/page.js +72 -71
  78. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  79. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  80. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +22 -22
  81. package/server/.next/server/app/(console)/connections/page.js +72 -71
  82. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  83. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  84. package/server/.next/server/app/(console)/containers/page/server-reference-manifest.json +14 -14
  85. package/server/.next/server/app/(console)/containers/page.js +72 -71
  86. package/server/.next/server/app/(console)/containers/page.js.nft.json +1 -1
  87. package/server/.next/server/app/(console)/containers/page_client-reference-manifest.js +1 -1
  88. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +11 -11
  89. package/server/.next/server/app/(console)/d1/page.js +72 -71
  90. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  91. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  92. package/server/.next/server/app/(console)/deploy/page/server-reference-manifest.json +11 -11
  93. package/server/.next/server/app/(console)/deploy/page.js +72 -71
  94. package/server/.next/server/app/(console)/deploy/page.js.nft.json +1 -1
  95. package/server/.next/server/app/(console)/deploy/page_client-reference-manifest.js +1 -1
  96. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +19 -19
  97. package/server/.next/server/app/(console)/deployments/page.js +72 -71
  98. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  99. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  100. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +18 -18
  101. package/server/.next/server/app/(console)/dns/page.js +72 -71
  102. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  103. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  104. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +13 -13
  105. package/server/.next/server/app/(console)/domains/page.js +72 -71
  106. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  107. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  108. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +11 -11
  109. package/server/.next/server/app/(console)/events/page.js +72 -71
  110. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  111. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  112. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +18 -18
  113. package/server/.next/server/app/(console)/firebase/page.js +72 -71
  114. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  115. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  116. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +12 -12
  117. package/server/.next/server/app/(console)/logs/page.js +72 -71
  118. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  119. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  120. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +12 -12
  121. package/server/.next/server/app/(console)/manage/sections/page.js +72 -71
  122. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  123. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  124. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +22 -22
  125. package/server/.next/server/app/(console)/neon/page.js +72 -71
  126. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  127. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  128. package/server/.next/server/app/(console)/os/page/server-reference-manifest.json +12 -12
  129. package/server/.next/server/app/(console)/os/page.js +72 -71
  130. package/server/.next/server/app/(console)/os/page.js.nft.json +1 -1
  131. package/server/.next/server/app/(console)/os/page_client-reference-manifest.js +1 -1
  132. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +21 -21
  133. package/server/.next/server/app/(console)/overview/page.js +72 -71
  134. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  135. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  136. package/server/.next/server/app/(console)/reports/[id]/pdf/route/app-paths-manifest.json +3 -0
  137. package/server/.next/server/app/(console)/reports/[id]/pdf/route/build-manifest.json +12 -0
  138. package/server/.next/server/app/(console)/reports/[id]/pdf/route/server-reference-manifest.json +4 -0
  139. package/server/.next/server/app/(console)/reports/[id]/pdf/route.js +26 -0
  140. package/server/.next/server/app/(console)/reports/[id]/pdf/route.js.nft.json +1 -0
  141. package/server/.next/server/app/(console)/reports/[id]/pdf/route_client-reference-manifest.js +3 -0
  142. package/server/.next/server/app/(console)/reports/page/app-paths-manifest.json +3 -0
  143. package/server/.next/server/app/(console)/reports/page/build-manifest.json +22 -0
  144. package/server/.next/server/app/(console)/reports/page/next-font-manifest.json +11 -0
  145. package/server/.next/server/app/(console)/reports/page/react-loadable-manifest.json +1 -0
  146. package/server/.next/server/app/(console)/reports/page/server-reference-manifest.json +155 -0
  147. package/server/.next/server/app/(console)/reports/page.js +121 -0
  148. package/server/.next/server/app/(console)/reports/page.js.nft.json +1 -0
  149. package/server/.next/server/app/(console)/reports/page_client-reference-manifest.js +3 -0
  150. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +12 -12
  151. package/server/.next/server/app/(console)/repos/[id]/page.js +72 -71
  152. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  153. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  154. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +11 -11
  155. package/server/.next/server/app/(console)/repos/page.js +72 -71
  156. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  157. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  158. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +62 -42
  159. package/server/.next/server/app/(console)/settings/page.js +75 -74
  160. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  161. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  162. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +18 -18
  163. package/server/.next/server/app/(console)/sql/page.js +72 -71
  164. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  165. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  166. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +11 -11
  167. package/server/.next/server/app/(console)/status/page.js +72 -71
  168. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  169. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  170. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +32 -32
  171. package/server/.next/server/app/(console)/supabase/page.js +72 -71
  172. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  173. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  174. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +11 -11
  175. package/server/.next/server/app/(console)/topology/page.js +72 -71
  176. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  177. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  178. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +11 -11
  179. package/server/.next/server/app/(console)/turso/page.js +72 -71
  180. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  181. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  182. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +11 -11
  183. package/server/.next/server/app/(console)/upstash/page.js +72 -71
  184. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  185. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  186. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +25 -25
  187. package/server/.next/server/app/(console)/uptime/page.js +72 -71
  188. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  189. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  190. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +16 -16
  191. package/server/.next/server/app/(console)/welcome/page.js +72 -71
  192. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  193. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  194. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  195. package/server/.next/server/app/_global-error/page.js +1 -1
  196. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  197. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  198. package/server/.next/server/app/_global-error.html +1 -1
  199. package/server/.next/server/app/_global-error.rsc +3 -3
  200. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  201. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  202. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  203. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  204. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  205. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  206. package/server/.next/server/app/_not-found.html +1 -1
  207. package/server/.next/server/app/_not-found.rsc +4 -4
  208. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  209. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  210. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  211. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  212. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  213. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  214. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +8 -8
  215. package/server/.next/server/app/api/collect/route.js +90 -84
  216. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  217. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +8 -8
  218. package/server/.next/server/app/api/daily/route.js +95 -89
  219. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  220. package/server/.next/server/app/api/health/route.js.nft.json +1 -1
  221. package/server/.next/server/app/api/ping/[...parts]/route.js +9 -8
  222. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  223. package/server/.next/server/app/api/status/route.js +1 -1
  224. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  225. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +8 -8
  226. package/server/.next/server/app/api/telegram/webhook/route.js +85 -80
  227. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  228. package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
  229. package/server/.next/server/app/api/v1/advice/route.js +27 -23
  230. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  231. package/server/.next/server/app/api/v1/ai/chat/completions/route.js +1 -1
  232. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  233. package/server/.next/server/app/api/v1/ai/models/route.js +1 -1
  234. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  235. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js +1 -1
  236. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  237. package/server/.next/server/app/api/v1/ai/questions/route.js +31 -27
  238. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  239. package/server/.next/server/app/api/v1/mcp/route.js +28 -24
  240. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  241. package/server/.next/server/app/api/v1/me/route.js +1 -1
  242. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  243. package/server/.next/server/app/api/v1/openapi.json/route.js +1 -1
  244. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  245. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +27 -23
  246. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  247. package/server/.next/server/app/api/v1/status/route.js +27 -23
  248. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  249. package/server/.next/server/app/api/watchdog/route.js +27 -21
  250. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  251. package/server/.next/server/app/auth/confirm/route.js +1 -1
  252. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  253. package/server/.next/server/app/auth/google/callback/route.js +16 -15
  254. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  255. package/server/.next/server/app/auth/google/create/callback/route.js +1 -1
  256. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  257. package/server/.next/server/app/auth/not-member/route.js +1 -1
  258. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  259. package/server/.next/server/app/auth/session-ended/route.js +1 -1
  260. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  261. package/server/.next/server/app/brand-icon/route/app-paths-manifest.json +3 -0
  262. package/server/.next/server/app/brand-icon/route/build-manifest.json +12 -0
  263. package/server/.next/server/app/brand-icon/route/server-reference-manifest.json +4 -0
  264. package/server/.next/server/app/brand-icon/route.js +15 -0
  265. package/server/.next/server/app/brand-icon/route.js.nft.json +1 -0
  266. package/server/.next/server/app/brand-icon/route_client-reference-manifest.js +3 -0
  267. package/server/.next/server/app/icon.svg/route.js.nft.json +1 -1
  268. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  269. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  270. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  271. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  272. package/server/.next/server/app/mfa/page.js +33 -31
  273. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  274. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  275. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  276. package/server/.next/server/app/mfa/setup/page.js +33 -31
  277. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  278. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  279. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  280. package/server/.next/server/app/page.js.nft.json +1 -1
  281. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  282. package/server/.next/server/app/s/[slug]/badge/[file]/route.js +10 -8
  283. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  284. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  285. package/server/.next/server/app/s/[slug]/page.js +10 -10
  286. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  287. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  288. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  289. package/server/.next/server/app/setup/page.js +1 -1
  290. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  291. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  292. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  293. package/server/.next/server/app/signin/page.js +38 -36
  294. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  295. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  296. package/server/.next/server/app-paths-manifest.json +3 -0
  297. package/server/.next/server/chunks/{[externals]__0n4j2emxdv20_._.js → [externals]__0oqc6ym5k457v._.js} +1 -1
  298. package/server/.next/server/chunks/{[externals]__1hwo1oo04do39._.js → [externals]__1aervsuoo1qe_._.js} +1 -1
  299. package/server/.next/server/chunks/{[externals]__1k12utcf9tvqg._.js → [externals]__1oag9t_9gex2-._.js} +1 -1
  300. package/server/.next/server/chunks/{[root-of-the-server]__1avuwg9wmyh48._.js → [root-of-the-server]__0-ytbad9hn7uc._.js} +1 -1
  301. package/server/.next/server/chunks/[root-of-the-server]__00s0famyfjv1y._.js +3 -0
  302. package/server/.next/server/chunks/{[root-of-the-server]__09l9icaspfmoh._.js → [root-of-the-server]__016wnct3b5iby._.js} +2 -2
  303. package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +1 -1
  304. package/server/.next/server/chunks/[root-of-the-server]__029099rqwqwff._.js +3 -0
  305. package/server/.next/server/chunks/{[root-of-the-server]__03589rgm1a3ks._.js → [root-of-the-server]__02ctwy1u4z3fj._.js} +2 -2
  306. package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.js +1 -1
  307. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  308. package/server/.next/server/chunks/{[root-of-the-server]__06kp2_zqpttyd._.js → [root-of-the-server]__03y8yvaulshnn._.js} +2 -2
  309. package/server/.next/server/chunks/[root-of-the-server]__03z520-siwkv_._.js +3 -0
  310. package/server/.next/server/chunks/{[root-of-the-server]__06l038ifglbqy._.js → [root-of-the-server]__04ogdmf82__0g._.js} +1 -1
  311. package/server/.next/server/chunks/[root-of-the-server]__05qcc-0e8z1u8._.js +1 -1
  312. package/server/.next/server/chunks/{[root-of-the-server]__09msxcjw3tlue._.js → [root-of-the-server]__05s9-538s47_e._.js} +1 -1
  313. package/server/.next/server/chunks/{[root-of-the-server]__1xdi98xyay6bn._.js → [root-of-the-server]__05vm5cxqq2-pg._.js} +1 -1
  314. package/server/.next/server/chunks/[root-of-the-server]__06od3qx7q00rc._.js +3 -0
  315. package/server/.next/server/chunks/{[root-of-the-server]__0uz_r72zdnwdd._.js → [root-of-the-server]__06rlokvpk450w._.js} +2 -2
  316. package/server/.next/server/chunks/{[root-of-the-server]__0ao4b2jjkcvo1._.js → [root-of-the-server]__070v8547b4qpa._.js} +1 -1
  317. package/server/.next/server/chunks/[root-of-the-server]__07eo--c90cju2._.js +1 -1
  318. package/server/.next/server/chunks/{[root-of-the-server]__0fii83nfm0bsk._.js → [root-of-the-server]__07gjmfv5mi33j._.js} +1 -1
  319. package/server/.next/server/chunks/[root-of-the-server]__07u2g5ccvst94._.js +3 -0
  320. package/server/.next/server/chunks/{[root-of-the-server]__205cmd-k6g2kc._.js → [root-of-the-server]__096q5ufradttx._.js} +1 -1
  321. package/server/.next/server/chunks/[root-of-the-server]__09bwtkv2iniyt._.js +3 -0
  322. package/server/.next/server/chunks/[root-of-the-server]__0_2fr1g7uby1m._.js +3 -0
  323. package/server/.next/server/chunks/{[root-of-the-server]__0g0rd65zoitrb._.js → [root-of-the-server]__0aazgg7203ez1._.js} +1 -1
  324. package/server/.next/server/chunks/{[root-of-the-server]__0ebkmgcs7v0c8._.js → [root-of-the-server]__0afpn-tk2qlu0._.js} +2 -2
  325. package/server/.next/server/chunks/[root-of-the-server]__0b7xflnrk4amk._.js +3 -0
  326. package/server/.next/server/chunks/[root-of-the-server]__0bb8xnocnnbt8._.js +3 -0
  327. package/server/.next/server/chunks/[root-of-the-server]__0bxqqjjy9ckvm._.js +3 -0
  328. package/server/.next/server/chunks/[root-of-the-server]__0c0drtvym6hf4._.js +3 -0
  329. package/server/.next/server/chunks/{[root-of-the-server]__0c_mpay_m5kbm._.js → [root-of-the-server]__0erdelc9_06nk._.js} +1 -1
  330. package/server/.next/server/chunks/{[root-of-the-server]__0ww7a-9fnx2rv._.js → [root-of-the-server]__0eyd4kffoz9ex._.js} +1 -1
  331. package/server/.next/server/chunks/[root-of-the-server]__0frz3wu-qcv-d._.js +3 -0
  332. package/server/.next/server/chunks/{[root-of-the-server]__0uyc9w7f_r10u._.js → [root-of-the-server]__0g0-q56cumuup._.js} +1 -1
  333. package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +1 -1
  334. package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +1 -1
  335. package/server/.next/server/chunks/{[root-of-the-server]__0s3b61ttgb9if._.js → [root-of-the-server]__0gv3v5775wfmw._.js} +2 -2
  336. package/server/.next/server/chunks/{[root-of-the-server]__1y9gsf61fh1fv._.js → [root-of-the-server]__0hm-azhxs9ted._.js} +2 -2
  337. package/server/.next/server/chunks/{[root-of-the-server]__0vdm37x30hr6p._.js → [root-of-the-server]__0ieq7-dtcg06b._.js} +1 -1
  338. package/server/.next/server/chunks/{[root-of-the-server]__0r0zrp3s_n614._.js → [root-of-the-server]__0iicsi0n7tfa5._.js} +1 -1
  339. package/server/.next/server/chunks/{[root-of-the-server]__1tlivd99uri0t._.js → [root-of-the-server]__0jevd1p5unnre._.js} +2 -2
  340. package/server/.next/server/chunks/{[root-of-the-server]__0vclan952l_ty._.js → [root-of-the-server]__0jz91oppmwtiq._.js} +2 -2
  341. package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +1 -1
  342. package/server/.next/server/chunks/{[root-of-the-server]__10d4a34z0js-f._.js → [root-of-the-server]__0mg6rmq22tf26._.js} +1 -1
  343. package/server/.next/server/chunks/[root-of-the-server]__0n-u6p8-hd-89._.js +3 -0
  344. package/server/.next/server/chunks/{[root-of-the-server]__20qirklw1sgj0._.js → [root-of-the-server]__0ng-t81zeeipc._.js} +2 -2
  345. package/server/.next/server/chunks/{[root-of-the-server]__1r2ei065xk141._.js → [root-of-the-server]__0nkfi6x2c4c5p._.js} +1 -1
  346. package/server/.next/server/chunks/{[root-of-the-server]__192br5y94wzhx._.js → [root-of-the-server]__0nyxfjn368366._.js} +1 -1
  347. package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.js +1 -1
  348. package/server/.next/server/chunks/[root-of-the-server]__0p2n1_qp53y51._.js +3 -0
  349. package/server/.next/server/chunks/[root-of-the-server]__0p8j8b2tg73dq._.js +3 -0
  350. package/server/.next/server/chunks/[root-of-the-server]__0p955ekgdwy_c._.js +3 -0
  351. package/server/.next/server/chunks/{[root-of-the-server]__0g3v-ty9-xstp._.js → [root-of-the-server]__0p_rkszoindlf._.js} +1 -1
  352. package/server/.next/server/chunks/{[root-of-the-server]__1tefe1f5835t_._.js → [root-of-the-server]__0pammm8f5qxtv._.js} +2 -2
  353. package/server/.next/server/chunks/{[root-of-the-server]__0c41pzboxtjvz._.js → [root-of-the-server]__0pm83e1a3wwlw._.js} +1 -1
  354. package/server/.next/server/chunks/[root-of-the-server]__0q9s7rbt0e-cf._.js +3 -0
  355. package/server/.next/server/chunks/{[root-of-the-server]__1mbm_bvk1oat7._.js → [root-of-the-server]__0qhyj1r9qcxp3._.js} +2 -2
  356. package/server/.next/server/chunks/[root-of-the-server]__0ra3lgjt0yuyy._.js +3 -0
  357. package/server/.next/server/chunks/{[root-of-the-server]__1z1fgf8k8icw8._.js → [root-of-the-server]__0ra_bw8zg6kmk._.js} +2 -2
  358. package/server/.next/server/chunks/[root-of-the-server]__0sgumm0843o2j._.js +3 -0
  359. package/server/.next/server/chunks/{[root-of-the-server]__0016p4j5uh74t._.js → [root-of-the-server]__0t6rge6laz89-._.js} +2 -2
  360. package/server/.next/server/chunks/{[root-of-the-server]__04v42ls1mfjd2._.js → [root-of-the-server]__0tsly874_mafr._.js} +2 -2
  361. package/server/.next/server/chunks/{[root-of-the-server]__1iruoalu93dg7._.js → [root-of-the-server]__0u4o6oo428rvf._.js} +2 -2
  362. package/server/.next/server/chunks/{[root-of-the-server]__0a7moaa91ctod._.js → [root-of-the-server]__0ux78ppoct5b_._.js} +2 -2
  363. package/server/.next/server/chunks/[root-of-the-server]__0vg5zp6z094qr._.js +3 -0
  364. package/server/.next/server/chunks/{[root-of-the-server]__1ji_xmb_m6fam._.js → [root-of-the-server]__0vhq-__j8umfu._.js} +1 -1
  365. package/server/.next/server/chunks/[root-of-the-server]__0vjvvirn6-fx-._.js +3 -0
  366. package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
  367. package/server/.next/server/chunks/{[root-of-the-server]__10ts7p_9fu3ge._.js → [root-of-the-server]__0vuirlylhcyzm._.js} +2 -2
  368. package/server/.next/server/chunks/{[root-of-the-server]__06zmu7jjyw1qw._.js → [root-of-the-server]__0w1iqt-rpp_3h._.js} +1 -1
  369. package/server/.next/server/chunks/[root-of-the-server]__0welpj78704um._.js +3 -0
  370. package/server/.next/server/chunks/{[root-of-the-server]__20056vw370xom._.js → [root-of-the-server]__0xd_bgjy5_tr5._.js} +1 -1
  371. package/server/.next/server/chunks/[root-of-the-server]__0xnag1k7mnvoh._.js +3 -0
  372. package/server/.next/server/chunks/[root-of-the-server]__0yhki59n8zyjb._.js +1 -1
  373. package/server/.next/server/chunks/[root-of-the-server]__0ymf9ppvpsffe._.js +3 -0
  374. package/server/.next/server/chunks/[root-of-the-server]__0zpo6n_av-p7a._.js +3 -0
  375. package/server/.next/server/chunks/{[root-of-the-server]__1hrcyozojb6ot._.js → [root-of-the-server]__0zs-wkvv1cs0i._.js} +1 -1
  376. package/server/.next/server/chunks/[root-of-the-server]__0zxrhqtvpoio4._.js +3 -0
  377. package/server/.next/server/chunks/[root-of-the-server]__1-9vvc9y0qqhf._.js +3 -0
  378. package/server/.next/server/chunks/[root-of-the-server]__1-bbb_srnbm5x._.js +3 -0
  379. package/server/.next/server/chunks/[root-of-the-server]__10-4cctiab73h._.js +3 -0
  380. package/server/.next/server/chunks/[root-of-the-server]__11300e77grhx6._.js +3 -0
  381. package/server/.next/server/chunks/{[root-of-the-server]__0tshehtsx7229._.js → [root-of-the-server]__11a8fxlpahjy2._.js} +1 -1
  382. package/server/.next/server/chunks/[root-of-the-server]__11tzj3jzqzk6v._.js +3 -0
  383. package/server/.next/server/chunks/{[root-of-the-server]__1ghx3ayy7tm73._.js → [root-of-the-server]__11yn1ky7yixd7._.js} +2 -2
  384. package/server/.next/server/chunks/[root-of-the-server]__12m0p1vyef6d5._.js +3 -0
  385. package/server/.next/server/chunks/[root-of-the-server]__12w6gylk59cym._.js +3 -0
  386. package/server/.next/server/chunks/[root-of-the-server]__13-qqkdecmwba._.js +3 -0
  387. package/server/.next/server/chunks/{[root-of-the-server]__19jalyhtntk8p._.js → [root-of-the-server]__135cn1pmljq9j._.js} +1 -1
  388. package/server/.next/server/chunks/[root-of-the-server]__13i4zx_j8zugt._.js +3 -0
  389. package/server/.next/server/chunks/[root-of-the-server]__1412kx9qb_j46._.js +3 -0
  390. package/server/.next/server/chunks/[root-of-the-server]__1420nm1i823v8._.js +3 -0
  391. package/server/.next/server/chunks/[root-of-the-server]__1426to_m4prqh._.js +1 -1
  392. package/server/.next/server/chunks/{[root-of-the-server]__1a563imf6ya2l._.js → [root-of-the-server]__14bynsn7eae8y._.js} +1 -1
  393. package/server/.next/server/chunks/[root-of-the-server]__14cb1pomeg0x7._.js +3 -0
  394. package/server/.next/server/chunks/[root-of-the-server]__177l2p7kcj-16._.js +1 -1
  395. package/server/.next/server/chunks/[root-of-the-server]__1_iy7tzpesarf._.js +3 -0
  396. package/server/.next/server/chunks/[root-of-the-server]__1akvpmbiap6nf._.js +1 -1
  397. package/server/.next/server/chunks/[root-of-the-server]__1c78cu7kb9vkl._.js +1 -1
  398. package/server/.next/server/chunks/[root-of-the-server]__1cnmxehqzmqq_._.js +3 -0
  399. package/server/.next/server/chunks/[root-of-the-server]__1d1zkp1q80t6q._.js +3 -0
  400. package/server/.next/server/chunks/[root-of-the-server]__1f84fftr_6_6n._.js +3 -0
  401. package/server/.next/server/chunks/[root-of-the-server]__1fteaav9qn2kq._.js +3 -0
  402. package/server/.next/server/chunks/{[root-of-the-server]__10-v22hv1sxrv._.js → [root-of-the-server]__1gl0-1oziw-g0._.js} +2 -2
  403. package/server/.next/server/chunks/{[root-of-the-server]__02y9yjf7lp37-._.js → [root-of-the-server]__1gufo2kz88z04._.js} +1 -1
  404. package/server/.next/server/chunks/{[root-of-the-server]__1ons16gam6qb7._.js → [root-of-the-server]__1hcn00gn9mapd._.js} +2 -2
  405. package/server/.next/server/chunks/[root-of-the-server]__1i_vd8w3df3i6._.js +3 -0
  406. package/server/.next/server/chunks/{[root-of-the-server]__0x5vp_8n6xvpw._.js → [root-of-the-server]__1ia-rts7ilt7c._.js} +2 -2
  407. package/server/.next/server/chunks/[root-of-the-server]__1igmx9-fdh2wd._.js +3 -0
  408. package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +1 -1
  409. package/server/.next/server/chunks/[root-of-the-server]__1jcr8cc_tlvfc._.js +3 -0
  410. package/server/.next/server/chunks/[root-of-the-server]__1kp2wois-47bg._.js +3 -0
  411. package/server/.next/server/chunks/{[root-of-the-server]__0qlf-so9k6401._.js → [root-of-the-server]__1kr6f03r82mk6._.js} +1 -1
  412. package/server/.next/server/chunks/[root-of-the-server]__1lcszcm98v484._.js +3 -0
  413. package/server/.next/server/chunks/[root-of-the-server]__1le7r_1_00km1._.js +3 -0
  414. package/server/.next/server/chunks/{[root-of-the-server]__0exruft64u1hg._.js → [root-of-the-server]__1lvf4tk_1td0a._.js} +2 -2
  415. package/server/.next/server/chunks/[root-of-the-server]__1mqv7anx5l3yq._.js +3 -0
  416. package/server/.next/server/chunks/[root-of-the-server]__1mufebnwyxlwx._.js +3 -0
  417. package/server/.next/server/chunks/[root-of-the-server]__1o0lvy6ek0v5d._.js +3 -0
  418. package/server/.next/server/chunks/[root-of-the-server]__1ozfk4_3lx1o7._.js +1 -1
  419. package/server/.next/server/chunks/{[root-of-the-server]__09yvavo991rdd._.js → [root-of-the-server]__1p1e6x-mb7ro2._.js} +2 -2
  420. package/server/.next/server/chunks/[root-of-the-server]__1pu84qy7loc8o._.js +3 -0
  421. package/server/.next/server/chunks/{[root-of-the-server]__0_vtp19_2frgj._.js → [root-of-the-server]__1pyc-ezfujjcp._.js} +1 -1
  422. package/server/.next/server/chunks/{[root-of-the-server]__1yxxfmyk3649a._.js → [root-of-the-server]__1pyhos8be90-4._.js} +1 -1
  423. package/server/.next/server/chunks/[root-of-the-server]__1qelr0qe50xap._.js +3 -0
  424. package/server/.next/server/chunks/[root-of-the-server]__1qqdsrhuw0z-w._.js +3 -0
  425. package/server/.next/server/chunks/[root-of-the-server]__1qwy7s_95k9k-._.js +3 -0
  426. package/server/.next/server/chunks/{[root-of-the-server]__0vb1_m_h5hi0z._.js → [root-of-the-server]__1qxm3lqqdbyy7._.js} +2 -2
  427. package/server/.next/server/chunks/[root-of-the-server]__1rusbj8ktmzj0._.js +3 -0
  428. package/server/.next/server/chunks/[root-of-the-server]__1rxaooz-d8jfs._.js +3 -0
  429. package/server/.next/server/chunks/[root-of-the-server]__1s8f1ovcj5r99._.js +3 -0
  430. package/server/.next/server/chunks/[root-of-the-server]__1tdb11b6vn4qm._.js +3 -0
  431. package/server/.next/server/chunks/[root-of-the-server]__1ti5-6okt7fur._.js +3 -0
  432. package/server/.next/server/chunks/{[root-of-the-server]__1cdt67d022uf1._.js → [root-of-the-server]__1ugnox9gcdhvm._.js} +2 -2
  433. package/server/.next/server/chunks/{[root-of-the-server]__090n04cg_br7j._.js → [root-of-the-server]__1vvg0ur3_7o0p._.js} +1 -1
  434. package/server/.next/server/chunks/[root-of-the-server]__1w_ga9n2lj53n._.js +3 -0
  435. package/server/.next/server/chunks/{[root-of-the-server]__0vsafetdvsfhj._.js → [root-of-the-server]__1wjsjh-1i-sn6._.js} +1 -1
  436. package/server/.next/server/chunks/[root-of-the-server]__1x4u0cdsl_81t._.js +3 -0
  437. package/server/.next/server/chunks/[root-of-the-server]__1xe_98y-j38aq._.js +3 -0
  438. package/server/.next/server/chunks/[root-of-the-server]__1xku6cma1a_kb._.js +3 -0
  439. package/server/.next/server/chunks/{[root-of-the-server]__0pi_camvun8ak._.js → [root-of-the-server]__1xnqsy7nud--q._.js} +2 -2
  440. package/server/.next/server/chunks/[root-of-the-server]__1yk1psrx0yy4n._.js +3 -0
  441. package/server/.next/server/chunks/{[root-of-the-server]__19o-a03uklyrw._.js → [root-of-the-server]__1ywvdsk_bmws0._.js} +2 -2
  442. package/server/.next/server/chunks/[root-of-the-server]__1z9kl-irij2lu._.js +3 -0
  443. package/server/.next/server/chunks/[root-of-the-server]__1zmoy4u_xb_yi._.js +3 -0
  444. package/server/.next/server/chunks/[root-of-the-server]__1zq2zv2ogn3ot._.js +3 -0
  445. package/server/.next/server/chunks/[root-of-the-server]__202mmzv3u-hk1._.js +3 -0
  446. package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +1 -1
  447. package/server/.next/server/chunks/[root-of-the-server]__20tvyorpg49kd._.js +3 -0
  448. package/server/.next/server/chunks/{[root-of-the-server]__1i841w7a3057h._.js → [root-of-the-server]__212_l7y-180xi._.js} +1 -1
  449. package/server/.next/server/chunks/{[root-of-the-server]__1vfvw1pmssxww._.js → [root-of-the-server]__217jp1b3psyq_._.js} +1 -1
  450. package/server/.next/server/chunks/_0-sqv2nbaba7h._.js +3 -0
  451. package/server/.next/server/chunks/_00t02v1a9nfr1._.js +3 -0
  452. package/server/.next/server/chunks/_01epotkqa90nv._.js +3 -0
  453. package/server/.next/server/chunks/_04oi0m63biyjd._.js +3 -0
  454. package/server/.next/server/chunks/_05kxcc393c_0z._.js +3 -0
  455. package/server/.next/server/chunks/_08q7x7rdbiaql._.js +49 -0
  456. package/server/.next/server/chunks/_0apakqacgawy4._.js +3 -0
  457. package/server/.next/server/chunks/_0bki3kju_1u1f._.js +3 -0
  458. package/server/.next/server/chunks/_0d29nzne5jrwy._.js +49 -0
  459. package/server/.next/server/chunks/_0djze-128wsu0._.js +3 -0
  460. package/server/.next/server/chunks/_0dq_vw-kky70h._.js +3 -0
  461. package/server/.next/server/chunks/_0hm72d9am2vfs._.js +3 -0
  462. package/server/.next/server/chunks/_0huryxihjw6tl._.js +49 -0
  463. package/server/.next/server/chunks/{_0ehqx1pkh20px._.js → _0lboyl6w4kfx4._.js} +3 -3
  464. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  465. package/server/.next/server/chunks/_0ou2tylxx1ltw._.js +10 -0
  466. package/server/.next/server/chunks/_0rqil_klxfz3j._.js +3 -0
  467. package/server/.next/server/chunks/_10mj3f1wis1ld._.js +3 -0
  468. package/server/.next/server/chunks/_15f0c7f46zkh3._.js +3 -0
  469. package/server/.next/server/chunks/_17u84tg9ibxp9._.js +3 -0
  470. package/server/.next/server/chunks/_1e4rch26scbhq._.js +49 -0
  471. package/server/.next/server/chunks/_1g-4oov0uynv-._.js +3 -0
  472. package/server/.next/server/chunks/_1iugpfonxri3e._.js +3 -0
  473. package/server/.next/server/chunks/_1iunyzyr-tfdj._.js +31 -0
  474. package/server/.next/server/chunks/{_0zj8nj1f2phf5._.js → _1n4labwyv5msc._.js} +1 -1
  475. package/server/.next/server/chunks/_1nuny071s602h._.js +3 -0
  476. package/server/.next/server/chunks/_1ohb_bmawpjlz._.js +10 -0
  477. package/server/.next/server/chunks/_1qcal07c71omr._.js +3 -0
  478. package/server/.next/server/chunks/_1sx70w_rurjin._.js +3 -0
  479. package/server/.next/server/chunks/_1tl0532dffdm-._.js +3 -0
  480. package/server/.next/server/chunks/{_0jiq3ns7681pv._.js → _1txqs5b7jg9so._.js} +3 -3
  481. package/server/.next/server/chunks/{_1t46m15axa4b4._.js → _1w9di5m91vtjk._.js} +3 -3
  482. package/server/.next/server/chunks/_20ounk93z_b6h._.js +3 -0
  483. package/server/.next/server/chunks/_next-internal_server_app_(console)_reports_[id]_pdf_route_actions_1z8w14-7mvvj9.js +3 -0
  484. package/server/.next/server/chunks/_next-internal_server_app_brand-icon_route_actions_1d7gd59j_572y.js +3 -0
  485. package/server/.next/server/chunks/{node_modules_drizzle-orm_0p2-_xghnn-0j._.js → node_modules_drizzle-orm_0ac-0bknpndrl._.js} +2 -2
  486. package/server/.next/server/chunks/{node_modules_drizzle-orm_0pxdj1u-i8py9._.js → node_modules_drizzle-orm_0k-yqdh9heao6._.js} +2 -2
  487. package/server/.next/server/chunks/{node_modules_drizzle-orm_15o96osca_ezd._.js → node_modules_drizzle-orm_0k7__h1lfq5ug._.js} +2 -2
  488. package/server/.next/server/chunks/{node_modules_drizzle-orm_1hvomr2ymp14o._.js → node_modules_drizzle-orm_0pv-kejmwhhk-._.js} +2 -2
  489. package/server/.next/server/chunks/node_modules_drizzle-orm_1emqi6ca48q0m._.js +4 -0
  490. package/server/.next/server/chunks/node_modules_drizzle-orm_entity_1-0q2stnw2ab8.js +3 -3
  491. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  492. package/server/.next/server/chunks/src_0-s0huszb29pj._.js +3 -0
  493. package/server/.next/server/chunks/src_05jrvcsgaq5ek._.js +1 -1
  494. package/server/.next/server/chunks/src_06tyytf_c_hlu._.js +1 -1
  495. package/server/.next/server/chunks/src_0_9n02bmhtk4z._.js +1 -1
  496. package/server/.next/server/chunks/src_0c-owt8q0lyj3._.js +1 -1
  497. package/server/.next/server/chunks/src_0dxbyz8iemj_5._.js +1 -1
  498. package/server/.next/server/chunks/src_0frmhaaejchbk._.js +3 -0
  499. package/server/.next/server/chunks/src_0kihmyo3yghxy._.js +3 -0
  500. package/server/.next/server/chunks/src_0qnh_ndxnflja._.js +3 -0
  501. package/server/.next/server/chunks/src_0r3j66vbc5g4f._.js +3 -0
  502. package/server/.next/server/chunks/src_0u2zbz77uh__q._.js +1 -1
  503. package/server/.next/server/chunks/src_0ud2mqnh4emxz._.js +1 -1
  504. package/server/.next/server/chunks/src_10vyvp9vy_69h._.js +1 -1
  505. package/server/.next/server/chunks/src_16t2uefmdlh8d._.js +3 -0
  506. package/server/.next/server/chunks/src_17j4dgvb7rx7k._.js +3 -0
  507. package/server/.next/server/chunks/{src_05be6wzefzaky._.js → src_1_y0pxtbr6e04._.js} +2 -2
  508. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  509. package/server/.next/server/chunks/src_1cvp6ubs-3z6l._.js +1 -1
  510. package/server/.next/server/chunks/src_1d-0nhc193soh._.js +3 -0
  511. package/server/.next/server/chunks/src_1d1ewqrujfp03._.js +3 -0
  512. package/server/.next/server/chunks/src_1il7wg_qjxny7._.js +1 -1
  513. package/server/.next/server/chunks/{src_0cdn5fuk8f_x2._.js → src_1mwttl5ainte0._.js} +2 -2
  514. package/server/.next/server/chunks/src_1s913pql1_n-f._.js +3 -0
  515. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +1 -1
  516. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  517. package/server/.next/server/chunks/src_1wmb2yl3tn-dd._.js +1 -1
  518. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +1 -1
  519. package/server/.next/server/chunks/src_20xyhmuf0y6_v._.js +3 -0
  520. package/server/.next/server/chunks/src_db_client_ts_0vckux1-linlc._.js +23 -0
  521. package/server/.next/server/chunks/src_lib_02-wqy78_rn85._.js +3 -0
  522. package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
  523. package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +1 -1
  524. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  525. package/server/.next/server/chunks/src_lib_0hw2g5g295xx0._.js +12 -0
  526. package/server/.next/server/chunks/src_lib_0iqdlrya6vfc_._.js +3 -0
  527. package/server/.next/server/chunks/src_lib_0kjik9nmtqlf5._.js +7 -0
  528. package/server/.next/server/chunks/src_lib_0krbxej8kykyp._.js +7 -0
  529. package/server/.next/server/chunks/src_lib_0o9m8m1sm5759._.js +5 -0
  530. package/server/.next/server/chunks/src_lib_0pyyxm3m1rttg._.js +1 -1
  531. package/server/.next/server/chunks/src_lib_0sd9c_cjgc4ro._.js +3 -0
  532. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +17 -17
  533. package/server/.next/server/chunks/src_lib_0xfwnbkxb4z5s._.js +7 -0
  534. package/server/.next/server/chunks/src_lib_11ky6rv8zte7m._.js +7 -0
  535. package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +1 -1
  536. package/server/.next/server/chunks/src_lib_1550ey8j96v9n._.js +1 -1
  537. package/server/.next/server/chunks/src_lib_1hveabvnpk83x._.js +12 -0
  538. package/server/.next/server/chunks/src_lib_1n_d25awwz8ga._.js +3 -0
  539. package/server/.next/server/chunks/src_lib_1onr7b4_kglpt._.js +1 -1
  540. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +17 -17
  541. package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
  542. package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  543. package/server/.next/server/chunks/src_lib_branding_ts_03ns4y_8z0-6e._.js +3 -0
  544. package/server/.next/server/chunks/src_lib_branding_ts_0jfv9nur5alvy._.js +3 -0
  545. package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +6 -3
  546. package/server/.next/server/chunks/src_lib_collector_deploy-days_ts_087kwe68m4i93._.js +3 -0
  547. package/server/.next/server/chunks/src_lib_data_report-db_ts_0b5f4dpxn08gk._.js +3 -0
  548. package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
  549. package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +11 -11
  550. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +11 -11
  551. package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +11 -11
  552. package/server/.next/server/chunks/src_lib_local-auth_proxy_ts_1g9krhdh2rnt2._.js +1 -21
  553. package/server/.next/server/chunks/src_lib_maintenance_ts_0voja6l8yogbf._.js +3 -0
  554. package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +1 -1
  555. package/server/.next/server/chunks/src_lib_rate-limit_ts_09dzyftcadggh._.js +1 -1
  556. package/server/.next/server/chunks/src_lib_rate-limit_ts_0r-eu6to05vyx._.js +1 -1
  557. package/server/.next/server/chunks/src_lib_rate-limit_ts_1ahtm4quu2rri._.js +1 -1
  558. package/server/.next/server/chunks/src_lib_sections_ts_0r8u4nvlpdkgq._.js +1 -1
  559. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  560. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
  561. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
  562. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
  563. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
  564. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
  565. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
  566. package/server/.next/server/chunks/ssr/{[externals]__0summv9f9jkob._.js → [externals]__02peoq6kft9oz._.js} +1 -1
  567. package/server/.next/server/chunks/ssr/{[externals]__1q1drb4oske-9._.js → [externals]__0byytapt83qke._.js} +1 -1
  568. package/server/.next/server/chunks/ssr/{[externals]__00hge8tjqv73a._.js → [externals]__0gb_9a2m3eqk5._.js} +1 -1
  569. package/server/.next/server/chunks/ssr/{[externals]__1jdljyrzmqoz0._.js → [externals]__1baveo0r8_hf1._.js} +1 -1
  570. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
  571. package/server/.next/server/chunks/ssr/{[root-of-the-server]__12t9_ndr9z-2d._.js → [root-of-the-server]__004q78ed0nf0_._.js} +1 -1
  572. package/server/.next/server/chunks/ssr/[root-of-the-server]__01o65-2jgmg9x._.js +3 -0
  573. package/server/.next/server/chunks/ssr/{[root-of-the-server]__157kjredkf1pa._.js → [root-of-the-server]__041mpme_x36vq._.js} +1 -1
  574. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0n4bkq-45z4aa._.js → [root-of-the-server]__04_prmhm_cts4._.js} +1 -1
  575. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1a5760tg4iits._.js → [root-of-the-server]__05uxv6qwfpp79._.js} +2 -2
  576. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0423qjo9c2t9-._.js → [root-of-the-server]__077-acap7g4ck._.js} +1 -1
  577. package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
  578. package/server/.next/server/chunks/ssr/{[root-of-the-server]__05s2n35zn4go-._.js → [root-of-the-server]__0ct4apye0sfmc._.js} +1 -1
  579. package/server/.next/server/chunks/ssr/{[root-of-the-server]__139ya3ejh6htx._.js → [root-of-the-server]__0hgf7si8htevx._.js} +1 -1
  580. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
  581. package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
  582. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
  583. package/server/.next/server/chunks/ssr/[root-of-the-server]__0mvauw9r_4qss._.js +1 -1
  584. package/server/.next/server/chunks/ssr/{[root-of-the-server]__07zuxj3veqm14._.js → [root-of-the-server]__0q7rssq_3unbc._.js} +1 -1
  585. package/server/.next/server/chunks/ssr/{[root-of-the-server]__13phmsw9wsyrs._.js → [root-of-the-server]__0qhbs-or7q-om._.js} +1 -1
  586. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
  587. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
  588. package/server/.next/server/chunks/ssr/{[root-of-the-server]__02lkybw6gg3ln._.js → [root-of-the-server]__0rrnk3_fb0l_9._.js} +2 -2
  589. package/server/.next/server/chunks/ssr/[root-of-the-server]__0u-o_v_v6y58o._.js +3 -0
  590. package/server/.next/server/chunks/ssr/{[root-of-the-server]__10r0u-q18z71i._.js → [root-of-the-server]__0uxychcp_pldy._.js} +1 -1
  591. package/server/.next/server/chunks/ssr/{[root-of-the-server]__16jfs8j29r4b5._.js → [root-of-the-server]__0vqae5m2ntd34._.js} +2 -2
  592. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1nk87bg9lne35._.js → [root-of-the-server]__10y2ig7dg3f-k._.js} +1 -1
  593. package/server/.next/server/chunks/ssr/[root-of-the-server]__11yadiuejywcz._.js +3 -0
  594. package/server/.next/server/chunks/ssr/[root-of-the-server]__12c2r19g75dyy._.js +3 -0
  595. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1iqedr7nfvayk._.js → [root-of-the-server]__13x0qmv4fm_1p._.js} +1 -1
  596. package/server/.next/server/chunks/ssr/[root-of-the-server]__18dcfrlpoapw9._.js +3 -0
  597. package/server/.next/server/chunks/ssr/{[root-of-the-server]__183_36tj3p645._.js → [root-of-the-server]__1_axyb404w3bf._.js} +2 -2
  598. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  599. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_q3kww244pif._.js +3 -0
  600. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ev5rocipbkjw._.js +3 -0
  601. package/server/.next/server/chunks/ssr/[root-of-the-server]__1g6kynby65m0v._.js +3 -0
  602. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0z5ucbis8ik32._.js → [root-of-the-server]__1gkcoq0cmmax1._.js} +2 -2
  603. package/server/.next/server/chunks/ssr/{[root-of-the-server]__07_efq7yhxfj-._.js → [root-of-the-server]__1itgt83qo1e77._.js} +1 -1
  604. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1d1ksu1dlha3r._.js → [root-of-the-server]__1k8mxdm-cxfg_._.js} +2 -2
  605. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0no6c0whevi73._.js → [root-of-the-server]__1mbb917mrz5c-._.js} +1 -1
  606. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1knbzqo0nba_q._.js → [root-of-the-server]__1n-rcmbkk7duv._.js} +2 -2
  607. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pafj7m_b8m14._.js +3 -0
  608. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1mah0p09qrkpu._.js → [root-of-the-server]__1pr-neo8jutji._.js} +2 -2
  609. package/server/.next/server/chunks/ssr/{[root-of-the-server]__14e0j38785glf._.js → [root-of-the-server]__1q6iypbn6yagc._.js} +2 -2
  610. package/server/.next/server/chunks/ssr/[root-of-the-server]__1rzolbt5ior_s._.js +3 -0
  611. package/server/.next/server/chunks/ssr/{[root-of-the-server]__18gw74mr2vto3._.js → [root-of-the-server]__1sw2q1p1t59y8._.js} +2 -2
  612. package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
  613. package/server/.next/server/chunks/ssr/[root-of-the-server]__1vgliw2256_6l._.js +4 -0
  614. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0gyvfp6c-_edw._.js → [root-of-the-server]__1xkfr7qk7oxjf._.js} +2 -2
  615. package/server/.next/server/chunks/ssr/[root-of-the-server]__1z3vauqrf2l-_._.js +3 -0
  616. package/server/.next/server/chunks/ssr/{[root-of-the-server]__06bgklzuef-ya._.js → [root-of-the-server]__1z_pt3d8lty_n._.js} +2 -2
  617. package/server/.next/server/chunks/ssr/{[root-of-the-server]__092gsphy4oz6k._.js → [root-of-the-server]__1zsqu1mecqptt._.js} +2 -2
  618. package/server/.next/server/chunks/ssr/_008i8a0_8skrp._.js +1 -1
  619. package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
  620. package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
  621. package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +3 -0
  622. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  623. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  624. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  625. package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
  626. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  627. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
  628. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  629. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
  630. package/server/.next/server/chunks/ssr/_0gmw45sb1llld._.js +1 -1
  631. package/server/.next/server/chunks/ssr/_0hqya_yuov5jw._.js +3 -0
  632. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
  633. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
  634. package/server/.next/server/chunks/ssr/_0iy27gi4y9-fe._.js +1 -1
  635. package/server/.next/server/chunks/ssr/{_0rsh9v4b3yj0b._.js → _0j_qqta7rirh5._.js} +1 -1
  636. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
  637. package/server/.next/server/chunks/ssr/_0kk0of-t4vhyh._.js +4 -0
  638. package/server/.next/server/chunks/ssr/{_08rjac8cutbcs._.js → _0kq3wqx86yyhb._.js} +2 -2
  639. package/server/.next/server/chunks/ssr/{_1ykegy3wzl3mu._.js → _0lg6_we0pe3nk._.js} +2 -2
  640. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  641. package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
  642. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
  643. package/server/.next/server/chunks/ssr/_0r7_a5m55a1jy._.js +3 -0
  644. package/server/.next/server/chunks/ssr/_0rqil_klxfz3j._.js +3 -0
  645. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
  646. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
  647. package/server/.next/server/chunks/ssr/_0uz60lk-7e_cj._.js +2 -2
  648. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  649. package/server/.next/server/chunks/ssr/{_17tabyg0mhxlx._.js → _0xkl4rb1wydtd._.js} +2 -2
  650. package/server/.next/server/chunks/ssr/_0xmud7u5hdnqu._.js +2 -2
  651. package/server/.next/server/chunks/ssr/_1-4401bfn50mf._.js +1 -1
  652. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  653. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  654. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  655. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
  656. package/server/.next/server/chunks/ssr/{_0u5_d3o0i72tq._.js → _170okt24rw1yx._.js} +2 -2
  657. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  658. package/server/.next/server/chunks/ssr/_19dldpcnzhkuw._.js +1 -1
  659. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  660. package/server/.next/server/chunks/ssr/_1bijvrgqfyij6._.js +5 -0
  661. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
  662. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  663. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
  664. package/server/.next/server/chunks/ssr/_1dp5bgqob29-f._.js +1 -1
  665. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
  666. package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
  667. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  668. package/server/.next/server/chunks/ssr/{_13bpjk3g0tp2e._.js → _1ge8mluhma23o._.js} +2 -2
  669. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
  670. package/server/.next/server/chunks/ssr/_1ioq9f389jnco._.js +3 -0
  671. package/server/.next/server/chunks/ssr/_1iugpfonxri3e._.js +3 -0
  672. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  673. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  674. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
  675. package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
  676. package/server/.next/server/chunks/ssr/_1ong0a252wcvc._.js +13 -0
  677. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
  678. package/server/.next/server/chunks/ssr/_1q0i7-4d4iyye._.js +3 -0
  679. package/server/.next/server/chunks/ssr/_1q3fi6a4gklq6._.js +1 -1
  680. package/server/.next/server/chunks/ssr/_1qcal07c71omr._.js +3 -0
  681. package/server/.next/server/chunks/ssr/_1r2516zqb3e67._.js +3 -0
  682. package/server/.next/server/chunks/ssr/_1ul3og9l7vp32._.js +2 -2
  683. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
  684. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  685. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
  686. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
  687. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
  688. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_1myo_rodrlg3a.js +2 -2
  689. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
  690. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
  691. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_containers_page_actions_1ainjsbrnl360.js +1 -1
  692. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
  693. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
  694. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
  695. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
  696. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
  697. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1363m-cfkgyvr.js +3 -0
  698. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
  699. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
  700. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  701. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  702. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kr0-100zz257.js +3 -0
  703. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
  704. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  705. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  706. package/server/.next/server/chunks/ssr/{src_0jxjbvkvg0bjg._.js → src_09q8lx_19nta6._.js} +2 -2
  707. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  708. package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
  709. package/server/.next/server/chunks/ssr/src_0kls100c13ocf._.js +3 -0
  710. package/server/.next/server/chunks/ssr/src_0ovx2ogvlz2eh._.js +1 -1
  711. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  712. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  713. package/server/.next/server/chunks/ssr/src_18m06fg8u7_73._.js +3 -0
  714. package/server/.next/server/chunks/ssr/{src_1_9q6-wstn038._.js → src_18ofj2_oxqb0g._.js} +2 -2
  715. package/server/.next/server/chunks/ssr/{src_0632mrev4i__u._.js → src_1ldp01vcphvw5._.js} +2 -2
  716. package/server/.next/server/chunks/ssr/src_1maoe8g5gnv0u._.js +1 -1
  717. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  718. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  719. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  720. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  721. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  722. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  723. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  724. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  725. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  726. package/server/.next/server/chunks/ssr/src_app_(console)_03s-e0b0zsqqr._.js +3 -0
  727. package/server/.next/server/chunks/ssr/{src_app_(console)_0gw9o1og9hq_4._.js → src_app_(console)_0eh38ymzn-s-m._.js} +2 -2
  728. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
  729. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_08in-j3xp5mbn._.js +1 -1
  730. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  731. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  732. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  733. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  734. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  735. package/server/.next/server/chunks/ssr/src_app_(console)_containers_containers-view_tsx_1xkcrw5gx53xo._.js +1 -1
  736. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  737. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  738. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  739. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  740. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  741. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  742. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  743. package/server/.next/server/chunks/ssr/src_app_(console)_os_os-view_tsx_0xr69f5vtstls._.js +1 -1
  744. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  745. package/server/.next/server/chunks/ssr/src_app_(console)_reports_reports-view_tsx_1l0apba6g810q._.js +3 -0
  746. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  747. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  748. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  749. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  750. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  751. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  752. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  753. package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
  754. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  755. package/server/.next/server/chunks/ssr/src_app_signin_1-h17es4-y1-k._.js +3 -0
  756. package/server/.next/server/chunks/ssr/src_app_signin_1_sp0qx8_z7c9._.js +1 -1
  757. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  758. package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +1 -1
  759. package/server/.next/server/chunks/ssr/src_lib_0etkz1wbvfw-k._.js +3 -0
  760. package/server/.next/server/chunks/ssr/src_lib_0jnv54-8idu07._.js +3 -0
  761. package/server/.next/server/chunks/ssr/{src_lib_1zgor_vrwl5kt._.js → src_lib_0o9m8m1sm5759._.js} +2 -2
  762. package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
  763. package/server/.next/server/chunks/ssr/src_lib_1myex-iv3tu5w._.js +23 -0
  764. package/server/.next/server/chunks/ssr/src_lib_1x__dvajr3xvs._.js +3 -0
  765. package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  766. package/server/.next/server/chunks/ssr/src_lib_branding_ts_03ns4y_8z0-6e._.js +3 -0
  767. package/server/.next/server/chunks/ssr/src_lib_collector_self-update_ts_18m5vmptpjhtg._.js +1 -1
  768. package/server/.next/server/chunks/ssr/{src_lib_demo_15e3gnqzod0tj._.js → src_lib_demo_0r3c3k5102jja._.js} +2 -2
  769. package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
  770. package/server/.next/server/chunks/ssr/src_lib_network_dns-edit_ts_0xtxlbd-uwncx._.js +1 -1
  771. package/server/.next/server/chunks/ssr/src_lib_rate-limit_ts_0r-eu6to05vyx._.js +1 -1
  772. package/server/.next/server/chunks/ssr/src_lib_sections_ts_0r8u4nvlpdkgq._.js +1 -1
  773. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  774. package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +6 -0
  775. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  776. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  777. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  778. package/server/.next/server/middleware-build-manifest.js +14 -3
  779. package/server/.next/server/middleware.js +1 -1
  780. package/server/.next/server/next-font-manifest.js +1 -1
  781. package/server/.next/server/next-font-manifest.json +4 -0
  782. package/server/.next/server/pages/404.html +1 -1
  783. package/server/.next/server/pages/500.html +1 -1
  784. package/server/.next/server/preview-props.json +3 -3
  785. package/server/.next/server/server-reference-manifest.js +1 -1
  786. package/server/.next/server/server-reference-manifest.json +279 -175
  787. package/server/.next/static/chunks/{00e1aosyzj6rl.js → 05c15dcfh7cxm.js} +1 -1
  788. package/server/.next/static/chunks/{3u2qewigse-a4.js → 07_cb192ydsaj.js} +1 -1
  789. package/server/.next/static/chunks/{3_6-4h_qltoii.js → 0_xoojw9q_nof.js} +1 -1
  790. package/server/.next/static/chunks/{0viea3-xdb4uv.js → 0a9mqrzg8420n.js} +1 -1
  791. package/server/.next/static/chunks/{2-ijilf6lbw4f.js → 0dn6fty1ilg-n.js} +1 -1
  792. package/server/.next/static/chunks/{2kmw3ug2__8y3.js → 0gxxyq5l_0rp2.js} +1 -1
  793. package/server/.next/static/chunks/0s00_-em3cj00.js +1 -0
  794. package/server/.next/static/chunks/{308vk5n0anqam.js → 0valedxcn7j8k.js} +2 -2
  795. package/server/.next/static/chunks/{28fzu8z0ofyw0.js → 0ynyx3s7s4mv7.js} +1 -1
  796. package/server/.next/static/chunks/{3lc-hq-bpg71u.js → 0zwq-z8jt5hpz.js} +1 -1
  797. package/server/.next/static/chunks/10y41_ed7ty6e.js +1 -0
  798. package/server/.next/static/chunks/{11r8k-t1ijjkn.js → 1416wraxs5p8g.js} +1 -1
  799. package/server/.next/static/chunks/16gt7hkgltvf7.js +1 -0
  800. package/server/.next/static/chunks/{3w5rrc-0xud6m.js → 1_uuog1-u6y0t.js} +1 -1
  801. package/server/.next/static/chunks/{0cc9ahw1xs0ny.js → 1azdri14ocjgg.js} +11 -11
  802. package/server/.next/static/chunks/{1fk-rtgxvtdso.js → 1cd-2y1kwqosv.js} +1 -1
  803. package/server/.next/static/chunks/{1d4i_v63pyozl.js → 1j_hduntj28ij.js} +1 -1
  804. package/server/.next/static/chunks/{17zst1h7smcce.js → 1nqpnndfmw0tc.js} +1 -1
  805. package/server/.next/static/chunks/{0hths0sijlql2.js → 1nv_9c1bate-f.js} +1 -1
  806. package/server/.next/static/chunks/1sjgdu3r0baj-.js +1 -0
  807. package/server/.next/static/chunks/1velx-cd3d5y1.js +1 -0
  808. package/server/.next/static/chunks/{0v-0yvs2o_ibn.js → 1vt_t7dg_-pyu.js} +1 -1
  809. package/server/.next/static/chunks/1w51uxl19faw3.js +1 -0
  810. package/server/.next/static/chunks/1xydxxektmjgr.js +1 -0
  811. package/server/.next/static/chunks/{3f1selgoqszyq.js → 1yyigrxptb7jm.js} +2 -2
  812. package/server/.next/static/chunks/{0rblb2d9s6x__.js → 28_88x_e_ynaj.js} +1 -1
  813. package/server/.next/static/chunks/{1kyz-ah3_ho6c.js → 28qjoy38cp5by.js} +1 -1
  814. package/server/.next/static/chunks/{2crsj9_2h2nzh.js → 2azwg3my8wh40.js} +1 -1
  815. package/server/.next/static/chunks/{1y_o3hc2z85sh.js → 2co8kv2tj776w.js} +1 -1
  816. package/server/.next/static/chunks/{26exu0f7ok41j.js → 2db0smm21dva_.js} +1 -1
  817. package/server/.next/static/chunks/{1a0rdqp6soc92.js → 2gk24b05q4q57.js} +1 -1
  818. package/server/.next/static/chunks/{3xulo5x1hbsw-.js → 2i5_2zcei6rqr.js} +1 -1
  819. package/server/.next/static/chunks/2jflssspiz3-i.js +1 -0
  820. package/server/.next/static/chunks/{356b00huilj4q.js → 2n198u7xx1koh.js} +1 -1
  821. package/server/.next/static/chunks/{1qjg48qu3j1w4.js → 2sr03gtef27q0.js} +1 -1
  822. package/server/.next/static/chunks/{2k4z-oed_6g2l.js → 2txgb9zusks-w.js} +1 -1
  823. package/server/.next/static/chunks/3-789qaoce7ff.js +1 -0
  824. package/server/.next/static/chunks/{1rgved8vjyay2.js → 3-us-wg44ohoc.js} +1 -1
  825. package/server/.next/static/chunks/{1fh3cq_v5nqtp.js → 31fs88f_h861n.js} +1 -1
  826. package/server/.next/static/chunks/36ykgce0otv4r.css +3 -0
  827. package/server/.next/static/chunks/{1a7zdd51t9mil.js → 378ttzg87hows.js} +1 -1
  828. package/server/.next/static/chunks/{3wfyge_-2qnyj.js → 3aglnkhgcl_kq.js} +1 -1
  829. package/server/.next/static/chunks/3bvj3-0xltkjo.js +1 -0
  830. package/server/.next/static/chunks/{1d5651gcd0bfq.js → 3cti7pgg_jjlx.js} +1 -1
  831. package/server/.next/static/chunks/{14f5pn2krqoyh.js → 3dktq-qmj2q5b.js} +1 -1
  832. package/server/.next/static/chunks/{2-vu-7596xgz-.js → 3ic7ri5b4ifjp.js} +2 -2
  833. package/server/.next/static/chunks/{3ezef0voy5xju.js → 3ic9vbadne9of.js} +1 -1
  834. package/server/.next/static/chunks/{2pa65sxfnzj4k.js → 3lw5n6yzs0665.js} +1 -1
  835. package/server/.next/static/chunks/3mgd5b39ghc-w.js +1 -0
  836. package/server/.next/static/chunks/{3g0ywdith98z2.js → 3n98m8tj20wcf.js} +1 -1
  837. package/server/.next/static/chunks/{44hkyor0suthy.js → 3u1v2wpzthilq.js} +1 -1
  838. package/server/drizzle-selfhost/0011_reports.sql +56 -0
  839. package/server/drizzle-selfhost/0012_report_send_rule.sql +2 -0
  840. package/server/drizzle-selfhost/meta/_journal.json +14 -0
  841. package/server/server.js +1 -1
  842. package/server/src/lib/report/fonts/Geist-Regular.ttf +0 -0
  843. package/server/src/lib/report/fonts/Geist-SemiBold.ttf +0 -0
  844. package/server/src/lib/report/fonts/GeistMono-Regular.ttf +0 -0
  845. package/server/src/lib/report/fonts/OFL.txt +92 -0
  846. package/tools/reset-login.mjs +2 -0
  847. package/server/.next/server/chunks/[root-of-the-server]__00oxbw3nfl_kd._.js +0 -3
  848. package/server/.next/server/chunks/[root-of-the-server]__04q-9779vl4kn._.js +0 -3
  849. package/server/.next/server/chunks/[root-of-the-server]__04u9e45_g1jdi._.js +0 -3
  850. package/server/.next/server/chunks/[root-of-the-server]__05b18nw2k-7-4._.js +0 -3
  851. package/server/.next/server/chunks/[root-of-the-server]__06nrq_1pbp3z-._.js +0 -3
  852. package/server/.next/server/chunks/[root-of-the-server]__06uaa_2zbg57p._.js +0 -3
  853. package/server/.next/server/chunks/[root-of-the-server]__081hh3_un4awi._.js +0 -3
  854. package/server/.next/server/chunks/[root-of-the-server]__09gla7jgbw2bs._.js +0 -3
  855. package/server/.next/server/chunks/[root-of-the-server]__0a0st8-rftztn._.js +0 -3
  856. package/server/.next/server/chunks/[root-of-the-server]__0at6fxe9efr-x._.js +0 -3
  857. package/server/.next/server/chunks/[root-of-the-server]__0dfx2psnngcys._.js +0 -3
  858. package/server/.next/server/chunks/[root-of-the-server]__0di45l_tnq1pm._.js +0 -3
  859. package/server/.next/server/chunks/[root-of-the-server]__0ej4hdoyogtji._.js +0 -3
  860. package/server/.next/server/chunks/[root-of-the-server]__0eqrtvr3uqlqf._.js +0 -3
  861. package/server/.next/server/chunks/[root-of-the-server]__0g81f_2ecmg8a._.js +0 -3
  862. package/server/.next/server/chunks/[root-of-the-server]__0glhrm7zmrvi2._.js +0 -3
  863. package/server/.next/server/chunks/[root-of-the-server]__0jma907r441wi._.js +0 -3
  864. package/server/.next/server/chunks/[root-of-the-server]__0jpktq0f88rvz._.js +0 -3
  865. package/server/.next/server/chunks/[root-of-the-server]__0myf9g_uv3bia._.js +0 -3
  866. package/server/.next/server/chunks/[root-of-the-server]__0puji-hw0xtk7._.js +0 -3
  867. package/server/.next/server/chunks/[root-of-the-server]__0ruici82tzf0w._.js +0 -3
  868. package/server/.next/server/chunks/[root-of-the-server]__0t0dd5t5rch1i._.js +0 -3
  869. package/server/.next/server/chunks/[root-of-the-server]__0ty2qkszfdr5t._.js +0 -3
  870. package/server/.next/server/chunks/[root-of-the-server]__0ugx1i8km15fl._.js +0 -3
  871. package/server/.next/server/chunks/[root-of-the-server]__0ux1hi2fgqxu7._.js +0 -3
  872. package/server/.next/server/chunks/[root-of-the-server]__12tmfv427e9cb._.js +0 -3
  873. package/server/.next/server/chunks/[root-of-the-server]__1481y3utu_a_o._.js +0 -3
  874. package/server/.next/server/chunks/[root-of-the-server]__14e0j38785glf._.js +0 -3
  875. package/server/.next/server/chunks/[root-of-the-server]__14yq_wf4xemgd._.js +0 -3
  876. package/server/.next/server/chunks/[root-of-the-server]__1_0vd5-tvmsg8._.js +0 -3
  877. package/server/.next/server/chunks/[root-of-the-server]__1_goy0uhapvk9._.js +0 -3
  878. package/server/.next/server/chunks/[root-of-the-server]__1ac-dzt5bffr2._.js +0 -3
  879. package/server/.next/server/chunks/[root-of-the-server]__1ajyr5xvo1-x5._.js +0 -3
  880. package/server/.next/server/chunks/[root-of-the-server]__1ey2qia7rofoc._.js +0 -3
  881. package/server/.next/server/chunks/[root-of-the-server]__1hlvqq0azku2x._.js +0 -3
  882. package/server/.next/server/chunks/[root-of-the-server]__1hrviq7s700td._.js +0 -3
  883. package/server/.next/server/chunks/[root-of-the-server]__1ifov-udw6__d._.js +0 -3
  884. package/server/.next/server/chunks/[root-of-the-server]__1ig0p-frprcbm._.js +0 -3
  885. package/server/.next/server/chunks/[root-of-the-server]__1ksyvvsf32jfg._.js +0 -3
  886. package/server/.next/server/chunks/[root-of-the-server]__1kzi1du1sliqb._.js +0 -3
  887. package/server/.next/server/chunks/[root-of-the-server]__1mvibnqor6lx_._.js +0 -3
  888. package/server/.next/server/chunks/[root-of-the-server]__1o-zo4qebuqwy._.js +0 -3
  889. package/server/.next/server/chunks/[root-of-the-server]__1po33h2u2o4e_._.js +0 -3
  890. package/server/.next/server/chunks/[root-of-the-server]__1qps9ushddgwe._.js +0 -3
  891. package/server/.next/server/chunks/[root-of-the-server]__1qrj37m-5y-56._.js +0 -3
  892. package/server/.next/server/chunks/[root-of-the-server]__1qyz1wi13rxxb._.js +0 -3
  893. package/server/.next/server/chunks/[root-of-the-server]__1r8mzvf7_9d2k._.js +0 -3
  894. package/server/.next/server/chunks/[root-of-the-server]__1rxke2_vpd7np._.js +0 -3
  895. package/server/.next/server/chunks/[root-of-the-server]__1sjp750034q4j._.js +0 -3
  896. package/server/.next/server/chunks/[root-of-the-server]__1wbnule0tzwdu._.js +0 -3
  897. package/server/.next/server/chunks/[root-of-the-server]__1wcnj2xtesyd9._.js +0 -3
  898. package/server/.next/server/chunks/[root-of-the-server]__1won_frdj9jms._.js +0 -3
  899. package/server/.next/server/chunks/[root-of-the-server]__1wvp6wau5ueb9._.js +0 -3
  900. package/server/.next/server/chunks/[root-of-the-server]__1yxudc_keazqo._.js +0 -3
  901. package/server/.next/server/chunks/[root-of-the-server]__1z_l9mj3s_6tu._.js +0 -3
  902. package/server/.next/server/chunks/[root-of-the-server]__1zvy7u_y3fzbz._.js +0 -3
  903. package/server/.next/server/chunks/[root-of-the-server]__208znvanagmpr._.js +0 -3
  904. package/server/.next/server/chunks/[root-of-the-server]__20qdu-env7wgt._.js +0 -3
  905. package/server/.next/server/chunks/[root-of-the-server]__212-4r-w6a9sm._.js +0 -3
  906. package/server/.next/server/chunks/_0-5pjvqu672_v._.js +0 -49
  907. package/server/.next/server/chunks/_02qrz1g8sdvhe._.js +0 -49
  908. package/server/.next/server/chunks/_03qlijpos6a21._.js +0 -3
  909. package/server/.next/server/chunks/_06gv0srpbf_lk._.js +0 -3
  910. package/server/.next/server/chunks/_06lf75x-xhl7v._.js +0 -3
  911. package/server/.next/server/chunks/_0cbxgnkxr1uj8._.js +0 -3
  912. package/server/.next/server/chunks/_0sy878k2ywjbq._.js +0 -3
  913. package/server/.next/server/chunks/_0vjggb8yo5b9f._.js +0 -3
  914. package/server/.next/server/chunks/_0wval7co8z-pk._.js +0 -3
  915. package/server/.next/server/chunks/_103ai6ybnpq1k._.js +0 -3
  916. package/server/.next/server/chunks/_108e86rhye0o1._.js +0 -3
  917. package/server/.next/server/chunks/_12g2m3a5e94_5._.js +0 -3
  918. package/server/.next/server/chunks/_1_son1yzo5xvl._.js +0 -3
  919. package/server/.next/server/chunks/_1ap0upnvy5i_1._.js +0 -49
  920. package/server/.next/server/chunks/_1b-88djuoexz1._.js +0 -49
  921. package/server/.next/server/chunks/_1ctwjh8q__6_g._.js +0 -3
  922. package/server/.next/server/chunks/_1f14qy3kb8iac._.js +0 -3
  923. package/server/.next/server/chunks/_1fj4vzjpusyn8._.js +0 -5
  924. package/server/.next/server/chunks/_1i8u10u8nrzy2._.js +0 -3
  925. package/server/.next/server/chunks/_1k3v1-vgvzm_o._.js +0 -3
  926. package/server/.next/server/chunks/_1kcmwgs544mo-._.js +0 -3
  927. package/server/.next/server/chunks/_1ptcxyn1tzm9r._.js +0 -3
  928. package/server/.next/server/chunks/_1rskctyr7yt-b._.js +0 -3
  929. package/server/.next/server/chunks/node_modules_drizzle-orm_1oeq7sl_gbxs5._.js +0 -4
  930. package/server/.next/server/chunks/node_modules_drizzle-orm_1tmqw7vk5a4ik._.js +0 -4
  931. package/server/.next/server/chunks/src_063xvouojxyoa._.js +0 -3
  932. package/server/.next/server/chunks/src_088gmyaew7ds0._.js +0 -3
  933. package/server/.next/server/chunks/src_08fq45_-8xq5o._.js +0 -3
  934. package/server/.next/server/chunks/src_0hx0sol2clocu._.js +0 -3
  935. package/server/.next/server/chunks/src_0j84o_hkkaeg-._.js +0 -3
  936. package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +0 -3
  937. package/server/.next/server/chunks/src_1-6a00bmwlymu._.js +0 -3
  938. package/server/.next/server/chunks/src_13n1vi7uew4iu._.js +0 -3
  939. package/server/.next/server/chunks/src_1_fnzi0em_6er._.js +0 -3
  940. package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +0 -3
  941. package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +0 -3
  942. package/server/.next/server/chunks/src_lib_0-fln6xaazo-9._.js +0 -12
  943. package/server/.next/server/chunks/src_lib_0ma36vqcze7a9._.js +0 -7
  944. package/server/.next/server/chunks/src_lib_0ps7mu81f-6s1._.js +0 -7
  945. package/server/.next/server/chunks/src_lib_14grv5a5_n9o0._.js +0 -7
  946. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +0 -23
  947. package/server/.next/server/chunks/src_lib_1jlvdx5ho171c._.js +0 -12
  948. package/server/.next/server/chunks/src_lib_1znb-e7g8dkgc._.js +0 -7
  949. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +0 -21
  950. package/server/.next/server/chunks/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +0 -3
  951. package/server/.next/server/chunks/src_lib_demo_11p30f_ci6ie2._.js +0 -3
  952. package/server/.next/server/chunks/ssr/[root-of-the-server]__03xevz8n-mc20._.js +0 -4
  953. package/server/.next/server/chunks/ssr/[root-of-the-server]__0de1senl_kfo5._.js +0 -3
  954. package/server/.next/server/chunks/ssr/[root-of-the-server]__0y6psx1_d7fkt._.js +0 -3
  955. package/server/.next/server/chunks/ssr/[root-of-the-server]__19twn3g5nv5q1._.js +0 -3
  956. package/server/.next/server/chunks/ssr/[root-of-the-server]__19wvac83zh5-9._.js +0 -3
  957. package/server/.next/server/chunks/ssr/[root-of-the-server]__1m38od9tgaroe._.js +0 -3
  958. package/server/.next/server/chunks/ssr/[root-of-the-server]__1mxpszbk1aup8._.js +0 -4
  959. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tj-iwvrxfd1a._.js +0 -3
  960. package/server/.next/server/chunks/ssr/[root-of-the-server]__1zmuaump_n9c1._.js +0 -3
  961. package/server/.next/server/chunks/ssr/_01n29sxn-py3x._.js +0 -3
  962. package/server/.next/server/chunks/ssr/_03d3sxmob-gr7._.js +0 -3
  963. package/server/.next/server/chunks/ssr/_0c8kew3jsb-yb._.js +0 -3
  964. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +0 -4
  965. package/server/.next/server/chunks/ssr/_0rw2pberdmaa5._.js +0 -3
  966. package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +0 -3
  967. package/server/.next/server/chunks/ssr/_16vvfyez78u5k._.js +0 -3
  968. package/server/.next/server/chunks/ssr/_1d0anr0hjs5k5._.js +0 -3
  969. package/server/.next/server/chunks/ssr/_1fj4vzjpusyn8._.js +0 -5
  970. package/server/.next/server/chunks/ssr/_1rskctyr7yt-b._.js +0 -3
  971. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +0 -3
  972. package/server/.next/server/chunks/ssr/src_1emolu5lrse98._.js +0 -6
  973. package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +0 -3
  974. package/server/.next/server/chunks/ssr/src_app_(console)_0_odx13qcz9o1._.js +0 -3
  975. package/server/.next/server/chunks/ssr/src_app_signin_1u2md84o5b6td._.js +0 -3
  976. package/server/.next/server/chunks/ssr/src_lib_0nbad7vu413-f._.js +0 -23
  977. package/server/.next/server/chunks/ssr/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +0 -3
  978. package/server/.next/static/chunks/0hzw1rqyz-ith.js +0 -1
  979. package/server/.next/static/chunks/0ps76fyk0mlud.js +0 -1
  980. package/server/.next/static/chunks/1qmrzxeff7esb.js +0 -1
  981. package/server/.next/static/chunks/1yjrm8ekqlzfy.js +0 -1
  982. package/server/.next/static/chunks/2d7luax7loip3.js +0 -1
  983. package/server/.next/static/chunks/2j24hsy45xi-u.js +0 -1
  984. package/server/.next/static/chunks/2zzk4wxiacgja.css +0 -3
  985. package/server/.next/static/chunks/35vilzb1p9yjf.js +0 -1
  986. package/server/.next/static/chunks/39a3uxexc-wqm.js +0 -1
  987. package/server/.next/static/chunks/3a9toq_3nqe93.js +0 -1
  988. package/server/.next/static/chunks/3qudv985iqmz7.js +0 -1
  989. /package/server/.next/static/{g_rE0bq_ZZa-pl4RulWXV → NUZVcU60U-vXVedu_GB0w}/_buildManifest.js +0 -0
  990. /package/server/.next/static/{g_rE0bq_ZZa-pl4RulWXV → NUZVcU60U-vXVedu_GB0w}/_clientMiddlewareManifest.js +0 -0
  991. /package/server/.next/static/{g_rE0bq_ZZa-pl4RulWXV → NUZVcU60U-vXVedu_GB0w}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[888919,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(137936),i=a.i(118558),j=a.i(600079),k=a.i(109307),l=a.i(221084),m=a.i(976937),n=a.i(972123),o=a.i(713095);async function p(a){return(0,j.F)("owner",async b=>{let c="string"==typeof a?a.trim():"";if(c&&!(0,n.g)(c))return{ok:!1,error:"Write it as owner/name, for example yourname/watchbell-actions."};await (0,m.y)(c||null);try{await (0,l.f)({kind:"ok",message:c?`Lockfile via GitHub Actions: ${c}`:"Lockfile via GitHub Actions turned off",resourceId:null,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,i.refresh)(),{ok:!0,message:c?"Saved. New update PRs send their lockfile job to this repository.":"Turned off."}},{requireActionMember:k.g})}(0,o.ensureServerEntryExports)([p]),(0,h.registerServerReference)(p,"40c5f8349eb74cc92dc024b2e254837e8876b31a6b",null);var q=a.i(93321),r=a.i(258261),s=a.i(351674),t=a.i(548734),u=a.i(837137),v=a.i(186133),w=a.i(19809),x=a.i(492665),y=a.i(473483),z=a.i(267767),A=a.i(371289),B=a.i(221246),C=a.i(711251),D=a.i(532971),E=a.i(245618),F=a.i(245710);let G={requireActionMember:k.g};async function H(a,b,c){await (0,l.f)({kind:"ok",message:b,resourceId:null,actorUserId:a,...c?{detail:c.slice(0,500)}:{}}).catch(()=>console.warn("settings audit failed"))}async function I(a){await a.execute(s.B`select pg_advisory_xact_lock(${z.v})`)}async function J(a){let[{n:b}]=await a.select({n:(0,r.H)()}).from(u.members).where((0,q.u)(u.members.role,"owner"));return b}async function K(a,b){return(0,j.F)("owner",async a=>{let c;if((0,A.W)())return{ok:!1,error:w.Y};if("selfhost"===(0,A.c)())return{ok:!1,error:"Use Add member on this console."};let d=(await (0,t.f)().select({e:u.members.email}).from(u.members)).map(a=>a.e),e=(await (0,t.f)().select({e:u.invites.email}).from(u.invites).where((0,q.M)(u.invites.acceptedAt))).map(a=>a.e),f=(0,z.e)({email:String(b.get("email")??""),role:String(b.get("role")??"")},{memberEmails:d,openInviteEmails:e});if(!f.ok)return{ok:!1,error:"Check the highlighted fields.",fieldErrors:f.fieldErrors};let{error:g}=await (c=(0,x.f)(),(0,E.f)(c.NEXT_PUBLIC_SUPABASE_URL,c.SUPABASE_SECRET_KEY,{auth:{persistSession:!1,autoRefreshToken:!1}})).auth.admin.createUser({email:f.email,email_confirm:!0});return g&&"exists"!==(0,z.w)(g)?{ok:!1,error:"Supabase couldn't create the login for this invite. Try again."}:(await (0,t.f)().insert(u.invites).values({email:f.email,role:f.role,invitedBy:a.id,expiresAt:new Date(Date.now()+864e5*z.H)}),await H(a.userId,`Invited ${f.email} as ${f.role}`),(0,i.revalidatePath)("/settings"),{ok:!0,message:(0,z.C)(f.email,(0,x.f)().SITE_URL)})},G)}async function L(a,b){return(0,j.F)("owner",async a=>{if((0,A.W)())return{ok:!1,error:w.Y};if("selfhost"!==(0,A.c)())return{ok:!1,error:"Use Invite user on this console."};let c=(await (0,t.f)().select({e:u.members.email}).from(u.members)).map(a=>a.e),d=(await (0,t.f)().select({e:u.localUsers.email}).from(u.localUsers)).map(a=>a.e),e=(0,z.e)({email:String(b.get("email")??""),role:String(b.get("role")??"")},{memberEmails:[...c,...d],openInviteEmails:[]});if(!e.ok)return{ok:!1,error:"Check the highlighted fields.",fieldErrors:e.fieldErrors};let f=(0,y.M)(),g=await (0,y.Z)(f);try{await (0,t.f)().transaction(async b=>{let[c]=await b.insert(u.localUsers).values({email:e.email,passwordHash:g,mustChangePassword:!0,tempPasswordExpiresAt:(0,y._)()}).returning({id:u.localUsers.id});await b.insert(u.members).values({userId:c.id,email:e.email,role:e.role,invitedBy:a.id})})}catch(a){if((a?.code??a?.cause?.code)==="23505")return{ok:!1,error:"Check the highlighted fields.",fieldErrors:{email:"That person is already a member."}};throw a}return await H(a.userId,`Added ${e.email} as ${e.role}`),(0,i.revalidatePath)("/settings"),{ok:!0,message:`${e.email} was added.`,data:{email:e.email,password:f}}},G)}async function M(a,b){return(0,j.F)("owner",async c=>{if(!B.r.includes(b))return{ok:!1,error:"Pick a role."};let d=await (0,t.f)().transaction(async c=>{await I(c);let[d]=await c.select().from(u.members).where((0,q.u)(u.members.id,a)).limit(1);if(!d)return{ok:!1,error:"That member no longer exists."};let e=(0,z.n)(d,b,await J(c));return e?{ok:!1,error:e}:(await c.update(u.members).set({role:b,updatedAt:new Date}).where((0,q.u)(u.members.id,a)),{ok:!0,data:{email:d.email,from:d.role}})});return d.ok?(await H(c.userId,`Role changed: ${d.data?.email} ${d.data?.from} → ${b}`),(0,i.revalidatePath)("/settings"),{ok:!0,message:`${d.data?.email} is now ${"owner"===b?"an Owner":"operator"===b?"an Operator":"a Viewer"}.`}):{ok:!1,error:d.error}},G)}async function N(a){return(0,j.F)("owner",async b=>{let c="selfhost"===(0,A.c)(),d=await (0,t.f)().transaction(async d=>{await I(d);let[e]=await d.select().from(u.members).where((0,q.u)(u.members.id,a)).limit(1);if(!e)return{ok:!1,error:"That member no longer exists."};let f=(0,z.D)(e,b,await J(d));return f?{ok:!1,error:f}:(await d.delete(u.members).where((0,q.u)(u.members.id,a)),c&&await d.delete(u.localUsers).where((0,q.u)(u.localUsers.id,e.userId)),{ok:!0,data:{email:e.email}})});if(!d.ok||!d.data)return{ok:!1,error:d.ok?"That didn't go through, and Watchbell couldn't tell why. Try again in a moment; if it keeps failing, the server log has the details.":d.error};let{email:e}=d.data;return c?(await H(b.userId,`Removed ${e} from the console and deleted their account`),(0,i.revalidatePath)("/settings"),{ok:!0,message:`${e} can't use the console anymore. Their account and sessions are deleted.`}):(await H(b.userId,`Removed ${e} from the console`),(0,i.revalidatePath)("/settings"),{ok:!0,message:`${e} can't use the console anymore. Their Supabase login is left alone; delete it in Supabase → Authentication if you want.`})},G)}async function O(a){return(0,j.F)("owner",async b=>{let c=await (0,t.f)().delete(u.invites).where((0,q.b)((0,q.u)(u.invites.id,a),(0,q.M)(u.invites.acceptedAt))).returning({email:u.invites.email});return((0,i.revalidatePath)("/settings"),c.length)?(await H(b.userId,`Invite withdrawn: ${c[0].email}`),{ok:!0,message:`Invite for ${c[0].email} withdrawn.`}):{ok:!1,error:"That invite is already used or gone."}},G)}async function P(a){return(0,j.F)("owner",async b=>{let c=(0,D.K)(a);if(!c.ok)return{ok:!1,error:c.error,fieldErrors:c.fieldErrors};let d=await (0,v.J)(),e=(0,D.b)(d,c.value);return e?(await (0,v.A)(c.value),await H(b.userId,"Settings: retention changed",e),(0,i.revalidatePath)("/settings"),{ok:!0,message:`Retention saved. The daily job uses it from its next run (${(0,F.G)()}).`}):{ok:!0,message:"Nothing changed."}},G,"local")}async function Q(a){return(0,j.F)("owner",async b=>{let c=(0,C.R)(a);if(!c.ok)return{ok:!1,error:c.error,fieldErrors:c.fieldErrors};let d=await (0,v.j)(),e=(0,C.S)(d,c.value);return e?(await (0,v.x)(c.value),await H(b.userId,"Settings: free tier limits changed",e),(0,i.revalidatePath)("/settings"),{ok:!0,message:"Free tier limits saved."}):{ok:!0,message:"Nothing changed."}},G,"local")}async function R(){return(0,j.F)("owner",async a=>{let b=await (0,v.j)(),c=(0,C.S)(b,C.o);return c?(await (0,v.x)(C.o),await H(a.userId,"Settings: free tier limits reset",c),(0,i.revalidatePath)("/settings"),{ok:!0,message:"Free tier limits reset to the published defaults."}):{ok:!0,message:"The limits are already the published defaults."}},G,"local")}(0,o.ensureServerEntryExports)([K,L,M,N,O,P,Q,R]),(0,h.registerServerReference)(K,"603eee60954ce6d4dea02c0ca85802b4e2b39789d6",null),(0,h.registerServerReference)(L,"6077adc7f4580b8301626b6d59c34ad8dd9931dd38",null),(0,h.registerServerReference)(M,"6050d031c93f85975b82703c4b6eda3670cce2a83b",null),(0,h.registerServerReference)(N,"40c050bbf1fba94c315b6f0d38bcd6067bead0d289",null),(0,h.registerServerReference)(O,"4046546a6b5e775de54ebbdc0be2b5fa15db2a3d75",null),(0,h.registerServerReference)(P,"40cd23e240c5a4d8147165aaccc4f1bec68103aec8",null),(0,h.registerServerReference)(Q,"40c316bd1e1d2f9b632acc27c10eb8c7ff1b2129d1",null),(0,h.registerServerReference)(R,"006a7182d079bb38072c62af939b9f46a404039396",null);var S=a.i(149396),T=a.i(470253),U=a.i(312573),V=a.i(323878);let W={requireActionMember:k.g};async function X(a){return(0,j.F)("owner",async b=>{if(!a||"object"!=typeof a)return{ok:!1,error:"Something in that request wasn't valid."};let c=(0,T.M)(a);if(!c.ok)return{ok:!1,error:"Check the highlighted fields.",fieldErrors:c.fieldErrors};let d=await (0,V.C)(U.t.monitorWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,U.H)(d.retryAfter)}.`};let e=await (0,S.i)(c.value);if(!e.ok)return{ok:!1,error:e.error};try{await (0,l.f)({kind:"ok",...e.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,i.revalidatePath)(`/s/${c.value.slug}`),e.oldSlug&&(0,i.revalidatePath)(`/s/${e.oldSlug}`),(0,i.refresh)(),{ok:!0,message:e.message}},W,"local")}(0,o.ensureServerEntryExports)([X]),(0,h.registerServerReference)(X,"4004beb3a0a753dee9e81c7a1e2032a96656281dbf",null),a.s(["0036f299b84702137d0e1804d2180086625225dfa3",()=>e.E,"0044f25e033351520c508c000dd193d3fac544db13",()=>g.f,"006a7182d079bb38072c62af939b9f46a404039396",0,R,"008b6dbed199d0deb40e431c4e4f3d7746a8c4835f",()=>b.f,"00cdf27638ef84151abef7867f4992c441c8a9dc0b",()=>c.f,"4004beb3a0a753dee9e81c7a1e2032a96656281dbf",0,X,"4022d2901d63f206a8bd1d2ab60a96d5cd16dd97b6",()=>d.R,"4035940c10c8b13b54c2e286ddbf2cb45f4a8383e9",()=>d.B,"4046546a6b5e775de54ebbdc0be2b5fa15db2a3d75",0,O,"409915cee1f50c660878fea67a05e33d5f1726cdfa",()=>f.F,"40a2b7910bf5613049d5fe66e9f1f92cf38a0c3bba",()=>e.G,"40a6c18a41155fbbf266df357786ef200b826ada93",()=>f.G,"40aeebbb6a147a0a03105323f1aa07f834b2ba81ab",()=>e.T,"40c050bbf1fba94c315b6f0d38bcd6067bead0d289",0,N,"40c316bd1e1d2f9b632acc27c10eb8c7ff1b2129d1",0,Q,"40c5f8349eb74cc92dc024b2e254837e8876b31a6b",0,p,"40cd23e240c5a4d8147165aaccc4f1bec68103aec8",0,P,"40d41e8bd8f26c3b95b08307130717fa40ca6dffc0",()=>f.m,"603eee60954ce6d4dea02c0ca85802b4e2b39789d6",0,K,"6050d031c93f85975b82703c4b6eda3670cce2a83b",0,M,"6077adc7f4580b8301626b6d59c34ad8dd9931dd38",0,L],888919)}];
2
-
3
- //# sourceMappingURL=_next-internal_server_app_%28console%29_settings_page_actions_12wgjpd0lbh12.js.map
@@ -1,6 +0,0 @@
1
- (()=>{"use strict";module.exports=[75105,a=>{var b=a.i(312573);a.s(["w",0,"Something in that request wasn't valid.","G",0,"This changed since you opened it. Reload and try again.","z",0,function(a,c){return"member"===a?`Too many actions. Try again in ${(0,b.H)(c)}.`:"That was just done. Wait a minute before trying again."},"b",0,function(a,b){return"supabase"===a?"This token is read-only; replace it with one that has Project admin write.":"cloudflare"===a?'This Cloudflare token can\'t edit DNS; add "Zone → DNS → Edit" to it, or replace it with a token that has it.':"vercel"===a?`This token can't change projects in team ${b.team||"this team"}; replace it with one whose scope includes that team.`:`This API key can't manage project ${b.project||"this project"}; replace it with a personal or organization key, or a key for this project.`},"S",0,function(a){let b=a.replace(/\s+/g," ").trim();return b.length>200?`${b.slice(0,199)}…`:b}])},502330,a=>{let b="You are the assistant inside Watchbell, a console that monitors the owner's web apps. Answer only from the data in the user's message. Say so plainly when the data does not cover the question. Never invent names, numbers, dates or causes. Names such as db-a or account-1 are aliases of private names: use them as written and do not guess what they stand for. Be brief and concrete. Short markdown is fine; no HTML.";function c(a,b=300){let d=String(a??"").replace(/[a-z][a-z0-9+.-]*:\/\/\S*/gi,"[url]").replace(/\b(?:wp|hb)_[A-Za-z0-9]{6,}/g,"[secret]").replace(/\b(?:sk-|gsk_|AIza|AQ\.)[A-Za-z0-9_.-]{6,}/g,"[secret]").replace(/postgres(?:ql)?/gi,"[db]").replace(/@/g,"(at)").replace(/\s+/g," ").trim();return d.length>b?`${d.slice(0,b-1)}…`:d}function d(a){let b=[`App: ${c(a.id,80)}`,`State: ${c(a.state,20)}`,`Uptime, last 30 days: ${null===a.uptime30d?"unknown":`${Math.round(100*a.uptime30d)/100}%`}`,`Database: ${a.database?c(a.database,40):"none"}`,`Last deploy: ${a.lastDeploy?c(a.lastDeploy,40):"unknown"}`];return a.problems.length?(b.push("Problems:"),a.problems.slice(0,10).forEach((a,d)=>{b.push(`${d+1}. [${c(a.kind,30)}] ${c(a.where,120)}: ${c(a.what)}${a.fix?` What the console suggests: ${c(a.fix)}`:""}`)})):b.push("Problems: none reported."),b}a.s(["o",0,b,"R",0,function(a){let b=[`Why is the app "${c(a.id,80)}" ${c(a.state,20)}, and what should the owner do first? Answer in short markdown (under 1,500 characters), only from this data; say so if it does not cover the cause.`,"",...d(a)].join("\n");return b.length>2e3?`${b.slice(0,1999)}…`:b},"u",0,function(a,d){let e=JSON.stringify(function a(b,d=0){return"string"==typeof b?c(b):d>4?null:Array.isArray(b)?b.slice(0,50).map(b=>a(b,d+1)):b&&"object"==typeof b?Object.fromEntries(Object.entries(b).slice(0,30).map(([b,e])=>[c(b,40),a(e,d+1)])):"number"==typeof b||"boolean"==typeof b||null===b?b:null}(a),null,1);return[{role:"system",content:b},{role:"user",content:`Console data (scrubbed, generated ${c(a.generatedAt,40)}):
2
- ${e}
3
-
4
- Question: ${c(d,2e3)}`}]},"O",0,c,"N",0,function(a){let d=a.slice(0,40).map(a=>`- [${c(a.severity,20)}] ${c(a.title)} (app: ${c(a.app,80)})`);return[{role:"system",content:b},{role:"user",content:[`Summarise these ${a.length} recommendations in two or three sentences, most urgent first. Name each app once.`,"",...d].join("\n")}]},"r",0,function(a){return[{role:"system",content:b},{role:"user",content:["Explain in at most five sentences what is likely going on with this app and what to do first.","",...d(a)].join("\n")}]}])}]})();
5
-
6
- //# sourceMappingURL=src_1emolu5lrse98._.js.map
@@ -1,3 +0,0 @@
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",node:"Node.js security releases and end of life, for Watchbell's own runtime",status:"Provider status feeds",logs:"Copy of Vercel warning and error logs",pageviews:"Web Analytics page views",security:"Security check: Next.js versions and dependency advisories (also right after a production deploy)",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="not read",H=a=>Math.round(10*a)/10,I=a=>`${a} days`;var J=a.i(715208),K=a.i(285100);async function L(){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=H(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=H(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:`${G} (Vercel dashboard → Usage)`,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 ${G}`:`${a.apps.enabled} of ${a.apps.total} app${1===a.apps.total?"":"s"} enabled \xb7 events ${G}`,pct:null,tone:"none"}),d}({slots:(0,J.d)(d),neon:(0,J.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")?"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)(K.BudgetForm,{saved:h})})]})}var M=a.i(530385),N=a.i(395936),O=a.i(701702),P=a.i(548734),Q=a.i(837137),R=a.i(50908),S=a.i(20060),T=a.i(556987),U=a.i(103493);async function V(){let a=await (0,P.f)().select({id:Q.collectorRuns.id,startedAt:Q.collectorRuns.startedAt,trigger:Q.collectorRuns.trigger,tasks:Q.collectorRuns.tasks,ok:Q.collectorRuns.ok,errorSummary:Q.collectorRuns.errorSummary,durationMs:Q.collectorRuns.durationMs}).from(Q.collectorRuns).orderBy((0,M.A)(Q.collectorRuns.startedAt)).limit(20),d=await (0,t.e)().catch(()=>T.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,T.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."}}(),g=await (0,R.i)().catch(()=>null),h=new Date,i=(0,S.s)(),j=(0,S.E)(process.version,g,h,i),l=i.off?`Not read: ${i.name} is set.`:g?.indexCheckedAt?`Read ${(0,A.$)(new Date(g.indexCheckedAt),h)}.`:"Not read yet.";return(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsx)(U.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)(N.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.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:["Watchbell runtime",(0,b.jsxs)("span",{className:"mt-0.5 block text-[12.5px] font-normal text-ink-soft",children:[(0,z.r)()?"The Node.js of Vercel's functions that run this console":"The Node.js of this machine",", against the security releases on nodejs.org and the end-of-life dates on endoflife.date, every 12 h. ",l]})]}),(0,b.jsxs)("span",{children:["unknown"===j.state||"off"===j.state?(0,b.jsx)("span",{className:"text-ink-faint",children:j.text}):(0,b.jsx)(k.F,{state:j.state,children:j.text}),j.note&&(0,b.jsx)("span",{className:"block text-[12px] text-ink-faint",children:j.note})]})]})]}),(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)(O.MaskedText,{text:a.summary})})})]},a.id))})]})})})]})}var W=a.i(532971),X=a.i(104195);async function Y(){let a=await (0,s.J)(),d=function(a=u.f){return[{kind:"Raw checks",keeps:I(a.checks),note:"Every HTTP check result; the hourly rollups below keep the history."},{kind:"Hourly rollups",keeps:I(a.rollupsHourly),note:"Uptime and response numbers per monitor and hour."},{kind:"Stored logs",keeps:I(a.storedLogs),note:"The copy of Vercel warning and error logs."},{kind:"Deployments",keeps:I(a.deployments),note:"Older ones only; the current and the previous production deployment are always kept."},{kind:"Events",keeps:I(a.events),note:"The activity feed."},{kind:"Alerts",keeps:I(a.alerts),note:"Resolved alerts only, counted from when they resolved; open alerts stay."},{kind:"Collector runs",keeps:I(a.collectorRuns),note:"The run history shown in the Collector tab."},{kind:"Advisor dismissals",keeps:I(a.recommendationDismissals),note:"A dismissal only matters for 30 days."}]}(a),e=W.L.map(a=>({key:a,kind:W.I[a],note:d.find(b=>b.kind===W.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)(X.RetentionForm,{saved:a,rows:e})]})}var Z=a.i(525826),$=a.i(93321),_=a.i(154756),aa=a.i(267767),ab=a.i(120396),ac=a.i(173616),ad=a.i(564326);async function ae({actorId:a}){let d=(0,z.F)(),e=await (0,P.f)().select().from(Q.members).orderBy((0,M.A)(Q.members.createdAt)),f=d?[]:await (0,P.f)().select().from(Q.invites).where((0,$.M)(Q.invites.acceptedAt)).orderBy((0,M.A)(Q.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)(ab.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)(ac.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)(_.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)(ad.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)(ad.RemoveMember,{memberId:c.id,email:c.email,deletesAccount:"selfhost"===(0,z.c)()})})]},c.id)),f.map(a=>{let c=(0,aa.R)(a,g);return(0,b.jsxs)("tr",{className:"hover:bg-hover",children:[(0,b.jsx)("td",{className:i,children:(0,b.jsx)(_.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)(ad.RevokeInvite,{inviteId:a.id,email:a.email})})]},a.id)})]})]})})]})}let af=["collector","budget","users","retention","status-page"];async function ag({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=[...af,...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)(V,{})}),(0,b.jsx)(e.TabsContent,{value:"budget",className:"mt-4",children:(0,b.jsx)(L,{})}),(0,b.jsx)(e.TabsContent,{value:"users",className:"mt-4",children:(0,b.jsx)(ae,{actorId:j.member.id})}),(0,b.jsx)(e.TabsContent,{value:"retention",className:"mt-4",children:(0,b.jsx)(Y,{})}),(0,b.jsx)(e.TabsContent,{value:"status-page",className:"mt-4",children:(0,b.jsx)(Z.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,ag],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
-
3
- //# sourceMappingURL=src_1sdwdnblbiq_g._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[772601,564131,76631,a=>{var b=a.i(405050);let c=(0,b.createServerReference)("60d2b4999b2d9b5b7ebaa28ed6444a865e5461a33b",b.callServer,void 0,b.findSourceMapURL,"promoteAction");a.s(["f",0,c],772601);let d=(0,b.createServerReference)("60a20982334c43ac54b2ff6fd4c85209f9d6b6ac0f",b.callServer,void 0,b.findSourceMapURL,"redeployAction");a.s(["f",0,d],564131);let e=(0,b.createServerReference)("60363cb2e0040463e2b28a2c5080250fae55ede48e",b.callServer,void 0,b.findSourceMapURL,"rollbackAction");a.s(["f",0,e],76631)},762253,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(771378),e=a.i(619089),f=a.i(54901),g=a.i(188406),h=a.i(87674),i=a.i(742680),j=a.i(405050);let k=(0,j.createServerReference)("6068e28948c23eb5c59b2b9306456c2795dbcbb036",j.callServer,void 0,j.findSourceMapURL,"cancelAction");var l=a.i(772601);let m=(0,j.createServerReference)("6055fd72675c60fa5f8d197da962fefae333a9e57d",j.callServer,void 0,j.findSourceMapURL,"promotePreviewAction");var n=a.i(564131),o=a.i(76631),p=a.i(728951),q=a.i(814574),r=a.i(507504);let s=/(\berror(?![-\w])|\bERR!|\bERR_[A-Z_]+|\bfailed\b|exited with (?:code )?[1-9]|Module not found|command not found)/i,t=/^\s*(?:npm |pnpm |yarn )?(?:warn|warning)\b|\b0 (?:errors?|failed)\b/i;function u(a){return"command"!==a.kind&&"delimiter"!==a.kind&&s.test(a.text)&&!t.test(a.text)}var v=a.i(368114);let w=(0,j.createServerReference)("60d1853bc13fd990f5b6c49dc1a19e3151d3af44a7",j.callServer,void 0,j.findSourceMapURL,"buildLogsAction"),x=(0,j.createServerReference)("60b7d362a164ec4410ee95696addb7ff611b64b467",j.callServer,void 0,j.findSourceMapURL,"explainBuildAction"),y={stdout:"",stderr:"text-code-warn",command:"text-code-info",delimiter:"text-code-dim"},z=a=>`build-line-${a}`;function A({log:a}){let c=a.lines.findIndex(u),d=a.lines.filter(u).length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 px-[18px] pb-2 text-[12.5px] text-ink-soft",children:[(0,b.jsxs)("span",{children:[a.lines.length," lines",a.truncated?` (the last ${2e3.toLocaleString("en-US")})`:""]}),c>=0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{className:"text-err",children:[d," error line",1===d?"":"s"]}),(0,b.jsx)("button",{type:"button","data-line":z(c),className:"text-brand hover:underline",onClick:()=>document.getElementById(z(c))?.scrollIntoView({block:"center"}),children:"Jump to first error"})]}):(0,b.jsx)("span",{children:"No error lines"})]}),(0,b.jsx)("div",{tabIndex:0,"aria-label":"Build log lines",className:"min-h-0 flex-1 overflow-auto bg-code-bg px-4 py-3 font-mono text-[12.5px] leading-[1.7] text-code-text",children:0===a.lines.length?(0,b.jsx)("div",{className:"text-code-dim",children:"Vercel returned no build output for this deployment."}):a.lines.map((a,c)=>{let d=u(a);return(0,b.jsx)("div",{id:z(c),"data-error":d?"":void 0,className:(0,v.f)("whitespace-pre-wrap [overflow-wrap:anywhere]",d?"-mx-4 border-l-2 border-err bg-err/15 px-[14px] text-code-err":y[a.kind],"delimiter"===a.kind&&"mt-1.5 font-medium"),children:"command"===a.kind?`$ ${a.text}`:a.text||" "},c)})})]})}function B({answer:a}){return"asking"===a?(0,b.jsx)("p",{className:"px-[18px] pb-3 text-[13px] text-ink-soft",children:"Asking the AI provider…"}):"error"in a?(0,b.jsx)("p",{role:"alert",className:"px-[18px] pb-3 text-[13px] text-err",children:a.error}):(0,b.jsxs)("section",{"aria-label":"Explanation",className:"mx-[18px] mb-3 rounded-lg border border-line px-3.5 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2 text-[12.5px]",children:[(0,b.jsx)("b",{className:"font-medium",children:"Explanation"}),(0,b.jsx)("span",{className:"font-mono text-xs text-ink-faint",children:a.model})]}),(0,b.jsx)("p",{className:"mt-1 whitespace-pre-wrap text-[13px] [overflow-wrap:anywhere]",children:a.text}),(0,b.jsx)("p",{className:"mt-1.5 text-xs text-ink-faint",children:"Written by a model from the log below. Check it against the log before you change code."})]})}function C({appId:a,deploymentId:d,title:f,open:g,onOpenChange:h,explain:i=!1,read:j=w,ask:k=x}){let[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(null);(0,r.useHoldRefresh)(g),(0,c.useEffect)(()=>{if(!g)return;let b=!0;return j(a,d).then(a=>{b&&m(a.ok&&a.data?{log:a.data}:{error:a.ok?"No build log came back.":a.error})}).catch(()=>{b&&m({error:"Watchbell didn't answer. Check that it's still running, then try again."})}),()=>{b=!1,m(null),o(null)}},[g,a,d,j]);let s=i&&null!==l&&"log"in l&&"asking"!==n;return(0,b.jsx)(q.N,{open:g,onOpenChange:h,children:(0,b.jsxs)(q.d,{className:"top-0 right-0 left-auto flex h-dvh max-w-full translate-x-0 translate-y-0 flex-col gap-0 rounded-none p-0 sm:max-w-[780px]",children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4 pr-12",children:[(0,b.jsxs)(q.F,{className:"text-base",children:["Build log · ",f]}),(0,b.jsxs)(q.C,{className:"mt-0.5 text-[12.5px] text-ink-soft",children:["Newest build, read from Vercel now",(0,b.jsx)(p.Src,{kind:"api"})]}),i&&(0,b.jsx)(e.K,{size:"sm",className:"mt-2",disabled:!s,onClick:()=>{o("asking"),k(a,d).then(a=>o(a.ok&&a.data?a.data:{error:a.ok?"No explanation came back.":a.error})).catch(()=>o({error:"Watchbell didn't answer. Check that it's still running, then try again."}))},children:!n||"asking"===n||"error"in n?"Explain with AI":"Explain again"})]}),n&&(0,b.jsx)(B,{answer:n}),null===l?(0,b.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"Reading the build log…"}):"error"in l?(0,b.jsx)("p",{role:"alert",className:"px-[18px] pb-4 text-[13px] text-err",children:l.error}):(0,b.jsx)(A,{log:l.log})]})})}var D=a.i(773998);let E=(0,j.createServerReference)("60afa6d69baa013614b274a7ce4615c7819d14871a",j.callServer,void 0,j.findSourceMapURL,"releaseNotesAction"),F=/^(https:\/\/github\.com\/[^/]+\/[^/]+)\/commit\/[0-9a-f]+$/,G="text-brand underline-offset-2 hover:underline";function H({c:a,now:c}){var e;let f,g,h=(e=a.title,(f=/\(#(\d{1,7})\)\s*$/.exec(e)??/^Merge pull request #(\d{1,7})\b/.exec(e))?Number(f[1]):null),i=null===h?null:(g=a.url?F.exec(a.url):null)?`${g[1]}/pull/${h}`:null,j=a.sha.slice(0,7);return(0,b.jsxs)("li",{className:"border-b border-line px-[18px] py-2.5 last:border-b-0",children:[(0,b.jsxs)("div",{className:"text-[13px] [overflow-wrap:anywhere]",children:[(0,b.jsx)(d.MaskedText,{text:a.title}),i&&(0,b.jsxs)(b.Fragment,{children:[" ",(0,b.jsxs)("a",{href:i,target:"_blank",rel:"noreferrer",className:G,children:["#",h]})]})]}),(0,b.jsxs)("div",{className:"mt-0.5 font-mono text-xs text-ink-faint",children:[a.url?(0,b.jsx)("a",{href:a.url,target:"_blank",rel:"noreferrer",className:G,children:j}):j,a.author&&(0,b.jsxs)(b.Fragment,{children:[" · ",(0,b.jsx)(d.MaskedText,{text:a.author})]}),a.at&&(0,b.jsxs)(b.Fragment,{children:[" · ",(0,D.J)(new Date(a.at),c)]})]})]})}function I({notes:a,now:c}){if(a.note)return(0,b.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:a.note});if(0===a.commits.length)return(0,b.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"GitHub found no commits between these deployments."});let d=a.total-a.commits.length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"px-[18px] pb-2 text-[12.5px] text-ink-soft",children:[a.total," commit",1===a.total?"":"s",a.from?(0,b.jsxs)(b.Fragment,{children:[" since ",(0,b.jsx)("span",{className:"font-mono",children:a.from.slice(0,7)})]}):null]}),(0,b.jsxs)("ul",{className:"min-h-0 flex-1 overflow-auto border-t border-line",children:[a.commits.map(a=>(0,b.jsx)(H,{c:a,now:c},a.sha)),a.cut&&d>0&&(0,b.jsxs)("li",{className:"px-[18px] py-2.5 text-[12.5px] text-ink-soft",children:["+",d," more, older, not shown"]})]})]})}function J({appId:a,deploymentId:d,title:e,open:f,onOpenChange:g,read:h=E}){let[i,j]=(0,c.useState)(null);return(0,r.useHoldRefresh)(f),(0,c.useEffect)(()=>{if(!f)return;let b=!0;return h(a,d).then(a=>{b&&j(a.ok&&a.data?{notes:a.data,at:new Date}:{error:a.ok?"Nothing came back.":a.error})}).catch(()=>{b&&j({error:"Watchbell didn't answer. Check that it's still running, then try again."})}),()=>{b=!1,j(null)}},[f,a,d,h]),(0,b.jsx)(q.N,{open:f,onOpenChange:g,children:(0,b.jsxs)(q.d,{className:"top-0 right-0 left-auto flex h-dvh max-w-full translate-x-0 translate-y-0 flex-col gap-0 rounded-none p-0 sm:max-w-[620px]",children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4 pr-12",children:[(0,b.jsxs)(q.F,{className:"text-base",children:["What changed · ",e]}),(0,b.jsxs)(q.C,{className:"mt-0.5 text-[12.5px] text-ink-soft",children:["Since the previous production deployment, compared on GitHub now",(0,b.jsx)(p.Src,{kind:"api"})]})]}),null===i?(0,b.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"Reading the commits…"}):"error"in i?(0,b.jsx)("p",{role:"alert",className:"px-[18px] pb-4 text-[13px] text-err",children:i.error}):(0,b.jsx)(I,{notes:i.notes,now:i.at})]})})}let K={label:"View build logs",kind:"logs"},L={label:"What changed",kind:"changes"};a.s(["DeployRowActions",0,function({d:a,actions:j,logs:p,changes:q=!1,explain:r=!1}){var s;let t,u,v,w=(0,d.useMask)(),{open:x,dialog:y}=(0,f.W)(),[z,A]=(0,c.useState)(!1),[B,D]=(0,c.useState)(!1),E=a.sha?a.sha.slice(0,7):"",{visit:F,deployment:G}=(t=a.url?`https://${a.url}`:null,a.primaryDomain?{visit:`https://${a.primaryDomain}`,deployment:t}:{visit:t??"",deployment:null}),{buttons:H,menu:I}=(u=[...(s={actions:j,logs:p,changes:q,visit:!!F&&a.visit}).visit&&"button"!==s.logs?[{label:"Visit",kind:"visit"}]:[],...s.actions.map(a=>({label:a,kind:"action",action:a})),..."button"===s.logs?[K]:[]],v=[..."menu"===s.logs?[K]:[],...s.changes?[L]:[]],u.length>2?{buttons:[],menu:[...u,...v]}:{buttons:u,menu:v}),M=b=>x({...(0,h.f)(b,w("app",a.appName),E),run:function(a,b,c){switch(a){case"Redeploy":return()=>(0,n.f)(b,c);case"Roll back to this":return()=>(0,o.f)(b,c);case"Promote":return()=>(0,l.f)(b,c);case"Cancel":return()=>k(b,c);case"Promote to production":return()=>m(b,c)}}(b,a.appId,a.externalId)});return(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[H.map(a=>"visit"===a.kind?(0,b.jsx)("a",{href:F,target:"_blank",rel:"noreferrer",className:(0,e.R)({size:"sm"}),children:"Visit"},a.label):"logs"===a.kind?(0,b.jsx)(e.K,{size:"sm",onClick:()=>A(!0),children:a.label},a.label):(0,b.jsx)(e.K,{size:"sm",onClick:()=>M(a.action),children:a.label},a.label)),G&&a.visit&&"button"!==p&&(0,b.jsx)("a",{href:G,target:"_blank",rel:"noreferrer",className:"text-xs text-ink-faint underline-offset-2 hover:text-ink hover:underline",children:"Deployment URL"}),I.length>0&&(0,b.jsx)(g.RowMenu,{label:(0,i.J)(w("app",a.appName),E||a.url||a.externalId),items:I.map(a=>"visit"===a.kind?{label:a.label,href:F}:"logs"===a.kind?{label:a.label,onSelect:()=>A(!0)}:"changes"===a.kind?{label:a.label,onSelect:()=>D(!0)}:{label:a.label,onSelect:()=>M(a.action)})}),y,p&&(0,b.jsx)(C,{appId:a.appId,deploymentId:a.externalId,title:`${w("app",a.appName)}${E?` ${E}`:""}`,open:z,onOpenChange:A,explain:r}),q&&(0,b.jsx)(J,{appId:a.appId,deploymentId:a.externalId,title:`${w("app",a.appName)}${E?` ${E}`:""}`,open:B,onOpenChange:D})]})}],762253)}]})();
2
-
3
- //# sourceMappingURL=src_app_%28console%29_0_odx13qcz9o1._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[409672,a=>{var b=a.i(405050);let c=(0,b.createServerReference)("60075c81d57cd2a35fb207e0a4e00bfa0eb218f833",b.callServer,void 0,b.findSourceMapURL,"signInWithPassword");a.s(["f",0,c])},625104,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(619089);let e="demo@watchbell.west-solutions.web.id",f="watchbell-demo";var g=a.i(409672);a.s(["DemoSignInForm",0,function({next:a}){let[h,i,j]=(0,c.useActionState)(g.f,{status:"idle"}),k=(0,c.useRef)(null),l=(0,c.useRef)(null);return(0,b.jsxs)("form",{action:i,children:[(0,b.jsx)("h1",{className:"mb-1 text-xl",children:"Try the Watchbell demo"}),(0,b.jsx)("p",{className:"mb-[18px] text-ink-soft",children:"Sign in with the demo account to look around a console full of made-up data of your own."}),(0,b.jsxs)("div",{className:"mb-[18px] rounded-lg border border-line bg-sunken px-3.5 py-3",children:[(0,b.jsxs)("dl",{className:"mb-2.5 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-[13px]",children:[(0,b.jsx)("dt",{className:"text-ink-soft",children:"Email"}),(0,b.jsx)("dd",{className:"break-all font-mono",children:e}),(0,b.jsx)("dt",{className:"text-ink-soft",children:"Password"}),(0,b.jsx)("dd",{className:"font-mono",children:f})]}),(0,b.jsx)(d.K,{size:"sm",onClick:()=>{k.current&&(k.current.value=e),l.current&&(l.current.value=f),l.current?.focus()},children:"Use demo account"})]}),a&&(0,b.jsx)("input",{type:"hidden",name:"next",value:a}),(0,b.jsx)(d.O,{id:"email",label:"Email",error:"error"===h.status&&"email"===h.field?h.message:void 0,children:(0,b.jsx)("input",{ref:k,id:"email",name:"email",type:"email",autoComplete:"username",placeholder:"name@example.com",required:!0,maxLength:254,defaultValue:"error"===h.status?h.email:void 0,className:d.S})}),(0,b.jsx)(d.O,{id:"password",label:"Password",error:"error"===h.status&&"email"!==h.field?h.message:void 0,children:(0,b.jsx)("input",{ref:l,id:"password",name:"password",type:"password",autoComplete:"current-password",required:!0,maxLength:200,className:d.S})}),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:j,children:j?"Signing in…":"Sign in"}),(0,b.jsx)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:"Or use any email and password. Every sign-in, the demo account too, gets its own made-up data."})]})}],625104)},318465,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(619089),e=a.i(409672);a.s(["PasswordSignInForm",0,function({next:a}){let[f,g,h]=(0,c.useActionState)(e.f,{status:"idle"});return(0,b.jsxs)("form",{action:g,children:[(0,b.jsx)("h1",{className:"mb-1 text-xl",children:"Sign in to Watchbell"}),(0,b.jsx)("p",{className:"mb-[18px] text-ink-soft",children:"Use the email and password an owner set up for you."}),a&&(0,b.jsx)("input",{type:"hidden",name:"next",value:a}),(0,b.jsx)(d.O,{id:"email",label:"Email",children:(0,b.jsx)("input",{id:"email",name:"email",type:"email",autoComplete:"username",placeholder:"name@example.com",required:!0,defaultValue:"error"===f.status?f.email:void 0,className:d.S})}),(0,b.jsx)(d.O,{id:"password",label:"Password",error:"error"===f.status?f.message:void 0,children:(0,b.jsx)("input",{id:"password",name:"password",type:"password",autoComplete:"current-password",required:!0,maxLength:1024,className:d.S})}),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:h,children:h?"Signing in…":"Sign in"}),(0,b.jsxs)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:["Forgot your password? Ask an owner to reset it. If you are the owner, stop Watchbell and run"," ",(0,b.jsx)("code",{className:"font-mono text-ink-soft",children:"watchbell reset-login you@example.com"})," on the machine it runs on (from an installer: ",(0,b.jsx)("code",{className:"font-mono text-ink-soft",children:"npm run reset-login -- you@example.com"})," in its app folder)."]})]})}])},59558,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(619089);let e="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit";function f({siteKey:a}){let d=(0,c.useRef)(null),[g,h]=(0,c.useState)(!1);return((0,c.useEffect)(()=>{let b,c=!1;return(window.turnstile?Promise.resolve(window.turnstile):new Promise((a,b)=>{let c=document.querySelector(`script[src="${e}"]`);c||((c=document.createElement("script")).src=e,c.async=!0,document.head.appendChild(c));let d=c;d.addEventListener("load",()=>window.turnstile?a(window.turnstile):b(Error("turnstile"))),d.addEventListener("error",()=>{d.remove(),b(Error("turnstile"))})})).then(e=>{!c&&d.current&&(b=e.render(d.current,{sitekey:a,action:"signin",theme:"auto"}))}).catch(()=>{console.warn("bot check failed to load"),c||h(!0)}),()=>{c=!0,b&&window.turnstile&&window.turnstile.remove(b)}},[a]),g)?(0,b.jsx)("p",{role:"alert",className:"mb-3.5 text-[13px] text-err",children:"The bot check couldn't load. Check your connection and reload the page."}):(0,b.jsx)("div",{ref:d,className:"mb-3.5 min-h-[65px]"})}var g=a.i(405050);let h=(0,g.createServerReference)("60cef16acb598a28f0b7f4a5d690c8c3999ef48a5a",g.callServer,void 0,g.findSourceMapURL,"sendSignInLink");a.s(["SignInForm",0,function({siteKey:a}){let[e,g,i]=(0,c.useActionState)(h,{status:"idle"}),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(0);return"sent"!==e.status||j?(0,b.jsxs)("form",{action:a=>{k(!1),m(a=>a+1),g(a)},children:[(0,b.jsx)("h1",{className:"mb-1 text-xl",children:"Sign in to Watchbell"}),(0,b.jsx)("p",{className:"mb-[18px] text-ink-soft",children:"We'll email you a sign-in link. Only invited people can get in."}),(0,b.jsx)(d.O,{id:"email",label:"Email",error:"error"===e.status?e.message:void 0,children:(0,b.jsx)("input",{id:"email",name:"email",type:"email",autoComplete:"email",placeholder:"name@example.com",required:!0,className:d.S})}),(0,b.jsx)(f,{siteKey:a},l),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:i,children:i?"Sending…":"Send sign-in link"}),(0,b.jsx)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:"Can't get in? Ask an owner to invite you."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("h1",{className:"mb-1 text-xl",children:"Check your email"}),(0,b.jsxs)("p",{className:"mb-[18px] text-ink-soft",children:["If ",e.email," is invited, a sign-in link is on its way. It works for 1 hour."]}),(0,b.jsx)(d.K,{className:"w-full justify-center",onClick:()=>k(!0),children:"Use a different email"})]})}],59558)}]})();
2
-
3
- //# sourceMappingURL=src_app_signin_1u2md84o5b6td._.js.map
@@ -1,23 +0,0 @@
1
- (()=>{"use strict";module.exports=[192738,67890,a=>{var b=a.i(245710),c=a.i(708621);let d=a=>`${a} hari`,e=(a,b)=>0>Number(a)?`${b} udah habis.`:`${b} habis dalam ${d(a)}.`,f={"the job reported a failure":"job-nya lapor gagal","started but didn't finish":"udah mulai tapi nggak selesai","never pinged":"belum pernah ping","no ping in time":"nggak ada ping tepat waktu"},g={critical:"kritis",high:"tinggi",moderate:"sedang",low:"rendah",unknown:"nggak diketahui"},h={OsSecurityUpdate:[[/^On (.+?), no waiting security update fixes a CVE scored (\S+) or more, and the newest kernel runs\.$/,(a,b,c)=>`Di ${b} nggak ada update security yang nunggu buat CVE skor ${c} ke atas, dan kernel terbaru udah jalan.`],[/^On (.+?): (.+)\.$/,(a,b,c)=>`Di ${b}: ${c.replace(/ fixes /g," nambal ").replace(/ and (\d+) more\b/g," dan $1 lagi").replace(/\b(\d+) more packages\b/g,"$1 paket lagi").replace(/ waits for a reboot/g," nunggu reboot")}.`]],MonitorDown:[[/^(.+): no ping for (\d+ (?:min|h|days?))\.$/,(a,b,c)=>`${b}: nggak ada ping selama ${c.replace(/^(\d+) min$/,"$1 menit").replace(/^(\d+) h$/,"$1 jam").replace(/^(\d+) days?$/,"$1 hari")}.`],[/^(.+): (the job reported a failure|started but didn't finish|never pinged|no ping in time)\.$/,(a,b,c)=>`${b}: ${f[c]}.`],[/^(.+) failed its check \((.*)\) on (\d+) consecutive checks\.$/,(a,b,c,d)=>`${b}: ${d} cek gagal berturut-turut (${c}).`],[/^(.+) returned no answer on (\d+) consecutive checks\.$/,(a,b,c)=>`${b}: ${c} cek gagal berturut-turut (nggak ada jawaban).`],[/^(.+) returned (HTTP \d+) on (\d+) consecutive checks\.$/,(a,b,c,d)=>`${b}: ${d} cek gagal berturut-turut (${c}).`],[/^(.+) answers again\.$/,(a,b)=>`${b} udah jawab lagi.`],[/^(\S+) moved to (\S+); MonitorDomainMoved takes over\.$/,(a,b,c)=>`${b} pindah ke ${c}; MonitorDomainMoved yang ambil alih.`]],MonitorDomainMoved:[[/^(\S+) is no longer a domain of (.+); production is on (\S+)\.$/,(a,b,c,d)=>`${b} udah bukan domain ${c}; production sekarang di ${d}.`],[/^The monitor checks (\S+), a domain of (.+)\.$/,(a,b,c)=>`Monitor ngecek ${b}, domain ${c}.`]],CollectorStale:[[/^The collector hasn't finished a run yet\.$/,()=>"Collector belum pernah selesai jalan."],[/^The last minute run finished ([\d,]+) min ago\.$/,(a,b)=>`Collector terakhir selesai jalan ${b} menit lalu.`]],HighLatency:[[/^p95 ([\d,]+) ms over the last 10 minutes \(limit ([\d,]+) ms\)\.$/,(a,b,c)=>`p95 ${b} ms selama 10 menit terakhir (batas ${c} ms).`]],DeploymentFailed:[[/^Production deployment \(no commit\) failed\.$/,()=>"Deploy production (tanpa commit) gagal."],[/^Production deployment (\S+) failed\.$/,(a,b)=>`Deploy production ${b} gagal.`]],DatabasePaused:[[/^Supabase project (.+) is paused\.$/,(a,b)=>`Project Supabase ${b} lagi di-pause.`]],CertExpiringSoon:[[/^The TLS certificate of (.+) expires in (-?\d+) days?\.$/,(a,b,c)=>e(c,`Sertifikat TLS ${b}`)]],DomainExpiringSoon:[[/^(.+) expires in (-?\d+) days?\.$/,(a,b,c)=>e(c,b)]],StorageAlmostFull:[[/^(.+) uses ([\d,]+) MB of ([\d,]+) MB \(([\d,]+)%\)\.$/,(a,b,c,d,e)=>`${b} pakai ${c} MB dari ${d} MB (${e}%).`]],NeonComputeHigh:[[/^(.+) used ([\d,]+) of ([\d,]+) CU-hours this month\.$/,(a,b,c,d)=>`${b} udah pakai ${c} dari ${d} CU-hours bulan ini.`]],FirestoreQuotaHigh:[[/^(.+) hit a Firestore quota \(RESOURCE_EXHAUSTED\)\.$/,(a,b)=>`${b} kena kuota Firestore (RESOURCE_EXHAUSTED).`],[/^(.+) read ([\d,]+) of ([\d,]+) documents today \(([\d,]+)%\)\.$/,(a,b,c,d,e)=>`${b} udah baca ${c} dari ${d} dokumen hari ini (${e}%).`]],AutoPauseRisk:[[/^No API traffic for (\d+) days?\. Supabase pauses free projects after about 7 days\.$/,(a,b)=>`Nggak ada traffic API selama ${d(b)}. Supabase nge-pause project free setelah sekitar 7 hari.`]],DnsProxiedToVercel:[[/^(.+) points to Vercel through the Cloudflare proxy\. Vercel recommends DNS only\.$/,(a,b)=>`${b} ngarah ke Vercel lewat proxy Cloudflare. Vercel nyaranin DNS only.`]],DbQuotaHigh:[[/^(.+): (.+) at ([\d,]+)% of the free plan\.$/,(a,b,c,d)=>`${b}: ${c.replace(/^Rows read/,"baris dibaca").replace(/^Rows written/,"baris ditulis").replace(/^Commands/,"command").replace(/^usage$/,"pemakaian").replace(/ today\b/," hari ini").replace(/\bof ([^ ]+(?: [A-Z]+)?)\b/,"dari $1").replace(/ this month\b/," bulan ini").replace(/\(account\)/,"(akun)")} udah ${d}% dari kuota gratis.`]],ComputeHigh:[[/^(.+) compute is back under the limits\.$/,(a,b)=>`Compute ${b} udah balik di bawah batas.`],[/^(.+): ((?:CPU|RAM|disk|connections) .+)\.$/,(a,b,c)=>`${b}: ${c.replace(/ for (\d+) min/g," selama $1 menit").replace(/\(limit /g,"(batas ").replace(/\bconnections (\d+) of (\d+)/g,"koneksi $1 dari $2")}.`]],CredentialExpiring:[[/^Google Drive access was removed \(invalid_grant\)\. Reconnect it\.$/,()=>"Akses Google Drive dicabut (invalid_grant). Sambungin lagi ya."],[/^The (\S+) credential (.+) has expired\.$/,(a,b,c)=>`Credential ${b} ${c} udah kedaluwarsa.`],[/^The (\S+) credential (.+) expires in (-?\d+) days?\.$/,(a,b,c,d)=>e(d,`Credential ${b} ${c}`)]],VulnerableDependency:[[/^(.+) has no moderate, high or critical dependency advisories\.$/,(a,b)=>`${b} nggak punya advisory dependency sedang, tinggi atau kritis.`],[/^(.+) has no high or critical dependency advisories\.$/,(a,b)=>`${b} nggak punya advisory dependency tinggi atau kritis.`],[/^(\d+) vulnerable packages? \(([^)]*)\): (.*)$/,(a,b,c,d)=>`${b} paket rentan (${c.replace(/\b(critical|high|moderate|low|unknown)\b/g,a=>g[a])}): ${d.replace(/ \(no fix yet\)/g," (belum ada fix)").replace(/, \+(\d+) more\.$/,", +$1 lagi.")}`]],CiFailing:[[/^The latest (.+) run on (.+) (failed|passed)( \(run #\d+\))?\.$/,(a,b,c,d,e)=>`Run ${b} terbaru di ${"the default branch"===c?"branch default":c} ${"failed"===d?"gagal":"lolos"}${e??""}.`]],FrameworkVulnerable:[[/^(.+) runs Next\.js (.+) with no known advisories\.$/,(a,b,c)=>`${b} pakai Next.js ${c} tanpa advisory yang diketahui.`],[/^Next\.js (.+) has (\d+) known vulnerabilit(?:y|ies) \((critical|high|moderate|low|unknown)\), (?:fixed in (\S+)(?: \((one fix needs|some fixes need) Next\.js (\d+)\))?|no fix yet)\.$/,(a,b,c,d,e,f,h)=>`Next.js ${b} punya ${c} kerentanan yang diketahui (${g[d]}), ${e?`udah di-fix di ${e}${f?` (${"one fix needs"===f?"satu fix":"sebagian fix"} butuh Next.js ${h})`:""}`:"belum ada fix"}.`]]};function i(a,b){for(let[c,d]of Object.hasOwn(h,a)?h[a]:[]){let a=c.exec(b);if(a)return d(...a)}return b}a.s(["f",0,i],67890);let j={en:{open:"FIRING",repeat:"REPEAT",resolve:"RESOLVED"},id:{open:"MUNCUL",repeat:"ULANG",resolve:"PULIH"}},k={en:{critical:"critical",warning:"warning",info:"info"},id:{critical:"kritis",warning:"peringatan",info:"info"}},l={en:{firing:"firing",resolved:"resolved",since:"since",open:"Open alerts",more:"more on the Alerts page",causedBy:"caused by",incident:"reports an incident",step:"Next step",test:"test"},id:{firing:"aktif",resolved:"pulih",since:"sejak",open:"Buka Alerts",more:"lagi di halaman Alerts",causedBy:"karena",incident:"lagi ada insiden",step:"Yang perlu kamu lakukan",test:"tes"}},m=a=>a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),n={critical:0,warning:1,info:2};function o(a,b){let c=a.filter(a=>"resolve"!==a.kind).length,d=a.length-c;return[c?`${c} ${l[b].firing}`:"",d?`${d} ${l[b].resolved}`:""].filter(Boolean).join(", ")}function p(a,b,c,d,e,f){let g=[...a].sort((a,b)=>("resolve"===a.kind)-("resolve"===b.kind)||n[a.severity]-n[b.severity]),h=[d],i=d.length+e.length+40;for(let a=0;a<g.length;a++){let d=c(g[a]);if(i+d.length+1>b){h.push(f(g.length-a));break}h.push(d),i+=d.length+1}return h.push(e),h.join("\n").slice(0,b)}let q={en:{CollectorStale:"the watchdog already runs the collector itself every 5 minutes. Check the job on cron-job.org and the latest Vercel deploy.",DomainExpiringSoon:"renew the domain at its registrar; Watchbell can't pay for it.",StorageAlmostFull:"delete old data or shorten retention in that database; the free tier can't add storage.",NeonComputeHigh:"cut queries or make Neon auto-suspend sooner; the quota resets at the start of the month.",FirestoreQuotaHigh:"cut Firestore reads (cache in the app); the quota resets daily.",DbQuotaHigh:"cut queries to that database until its quota resets.",ComputeHigh:"check the Pool card on the Supabase page (idle connections close automatically at 10 of 15); for CPU or disk, look for heavy queries.",DnsProxiedToVercel:"turn off the proxy (orange cloud) for that record in Cloudflare; Vercel needs DNS only.",CredentialExpiring:"create a new token and replace it in Settings → Connections before it expires.",FrameworkVulnerable:"if the app's GitHub repository isn't linked yet, link it on the app page to get an update PR from the office; or update next yourself.",CiFailing:"open the run on GitHub from the app page; Watchbell reads it once a day, so a fix shows after the next sync.",OsSecurityUpdate:"open DevOps › OS vulnerabilities for the command to copy (Watchbell never installs anything), run it on the machine, reboot for a new kernel, then Scan now.",MonitorDomainMoved:"press Update monitor on the Uptime page (or approve the proposal) so the monitor checks the new domain; the app itself is fine."},id:{CollectorStale:"watchdog udah jalanin collector sendiri tiap 5 menit. Cek job di cron-job.org dan deploy terakhir di Vercel.",DomainExpiringSoon:"perpanjang domain di registrar-nya, Watchbell nggak bisa bayar.",StorageAlmostFull:"hapus data lama atau pendekin retensi di database itu, free tier nggak bisa nambah storage.",NeonComputeHigh:"kurangin query atau percepat auto-suspend Neon, kuota reset awal bulan.",FirestoreQuotaHigh:"kurangin read Firestore (cache di app), kuota reset tiap hari.",DbQuotaHigh:"kurangin query ke database itu sampai kuotanya reset.",ComputeHigh:"cek kartu Pool di halaman Supabase (koneksi nganggur ditutup otomatis di 10 dari 15), kalau CPU/disk cari query yang berat.",DnsProxiedToVercel:"matiin proxy (awan oranye) record itu di Cloudflare, Vercel butuh DNS only.",CredentialExpiring:"bikin token baru dan ganti di Settings → Connections sebelum habis.",FrameworkVulnerable:"kalau repo GitHub app-nya belum di-link, link di halaman app biar office bikinin PR update; atau update next sendiri.",CiFailing:"buka run-nya di GitHub dari halaman app; Watchbell baca sekali sehari, jadi fix-nya kelihatan setelah sync berikutnya.",OsSecurityUpdate:"buka DevOps › OS vulnerabilities, copy perintahnya (Watchbell nggak install apa-apa sendiri), jalanin di mesinnya, reboot kalau ada kernel baru, terus Scan now.",MonitorDomainMoved:"pencet Update monitor di halaman Uptime (atau approve usulannya) biar monitor ngecek domain baru; app-nya sendiri aman."}},r=(a,b="en")=>Object.hasOwn(q[b],a)?q[b][a]??null:null;a.s(["Z",0,k,"l",0,function(a,d,e,f="en",g={},h={}){let n=`${e.replace(/\/+$/,"")}/alerts`,q=l[f],s=a=>`${j[f][a.kind]} \xb7 ${k[f][a.severity]} \xb7 `,t=a=>h.test?c.I[f]:"id"===f?i(a.ruleKey,a.message):a.message,u=h.test?`Watchbell (${q.test})`:"Watchbell",v=a=>"resolve"===a.kind?null:((a,b="en")=>{let c=r(a,b);return c?`${l[b].step}: ${c}`:null})(a.ruleKey,f),w=a=>[a.causedBy?`${q.causedBy} ${a.causedBy}`:"",a.provider?`${a.provider} ${q.incident}`:""].filter(Boolean).join(" · "),x=a=>`
2
- +${a} ${q.more}`,y=(a,d)=>{let e=Object.hasOwn(g,a.ruleKey)?g[a.ruleKey]?.[f]:void 0;if(!e)return null;let[h="",...i]=(0,c.l)(e,{status:j[f][a.kind],severity:k[f][a.severity],rule:a.ruleKey,target:d(a.title),detail:d(t(a)),cause:d(w(a)),step:"resolve"===a.kind?"":r(a.ruleKey,f)??"",since:`${(0,b.U)(a.startedAt)} ${(0,b.J)(a.startedAt)}`,threshold:null==a.threshold?"":a.threshold.toLocaleString("en-US")}).split("\n");return[h,i.join("\n")]},z=a=>a.replace(/[*_`~|\[\]<>]/g,"");return{telegram:p(a,4096,a=>{let c=y(a,a=>a);return c?`
3
- <b>${m(c[0])}</b>${c[1]?`
4
- ${m(c[1])}`:""}`:`
5
- <b>${s(a)}${m(a.ruleKey)} \xb7 ${m(a.title)}</b>
6
- ${m(t(a))}${w(a)?`
7
- <i>${m(w(a))}</i>`:""}${v(a)?`
8
- 👉 ${m(v(a))}`:""}
9
- ${q.since} ${(0,b.U)(a.startedAt)} ${(0,b.J)(a.startedAt)}`},`<b>${u}</b>: ${o(a,f)} \xb7 ${(0,b.U)(d)} ${(0,b.J)(d)}`,`
10
- <a href="${m(n)}">${q.open}</a>`,x),discord:p(a,2e3,a=>{let b=y(a,z);return b?`
11
- **${b[0]}**${b[1]?`
12
- ${b[1]}`:""}`:`
13
- **${s(a)}${a.ruleKey} \xb7 ${z(a.title)}**
14
- ${z(t(a))}${w(a)?`
15
- _${w(a)}_`:""}${v(a)?`
16
- 👉 ${v(a)}`:""}`},`**${u}**: ${o(a,f)} \xb7 ${(0,b.U)(d)} ${(0,b.J)(d)}`,`
17
- ${n}`,x)}},"H",0,m,"a",0,r],192738)},49146,a=>{var b=a.i(462820),c=a.i(93321),d=a.i(530385),e=a.i(351674),f=a.i(548734),g=a.i(837137),h=a.i(192738),i=a.i(358179),j=a.i(601219),k=a.i(455317),l=a.i(247730),m=a.i(396667),n=a.i(46396),o=a.i(492665),p=a.i(390626),q=a.i(755453),r=a.i(352595),s=a.i(80997),t=a.i(718025),u=a.i(552543),v=a.i(288879),w=a.i(204784),x=a.i(446914),y=a.i(71575),z=a.i(556987),A=a.i(245710),B=a.i(910697);let C="digest.lastSentDay",D="digest.state";async function E(a){let[b]=await (0,f.f)().select().from(g.channels).where((0,c.u)(g.channels.kind,a)).limit(1);if(!b)return null;try{return{row:b,config:JSON.parse((0,i.K)({ciphertext:b.configCiphertext,iv:b.configIv},(0,o.f)().OPS_ENCRYPTION_KEY))}}catch{return null}}async function F(a,b){let c=(0,i.l)(JSON.stringify(b),(0,o.f)().OPS_ENCRYPTION_KEY),d={configCiphertext:c.ciphertext,configIv:c.iv,keyVersion:c.keyVersion,enabled:!0,lastError:null,updatedAt:new Date};await (0,f.f)().insert(g.channels).values({kind:a,...d}).onConflictDoUpdate({target:g.channels.kind,set:d})}async function G(a,b){return(await (0,f.f)().update(g.channels).set({enabled:b,updatedAt:new Date}).where((0,c.u)(g.channels.kind,a)).returning({kind:g.channels.kind})).length>0}async function H(){let a=(0,t.f)(),[b,c,d,e]=await Promise.all([E("telegram"),E("discord"),E("webhook"),E("smtp")]),f=new Set;a.telegramToken&&b?.row.enabled&&b.config?.chatId&&f.add("telegram"),c?.row.enabled&&c.config?.url&&f.add("discord"),d?.row.enabled&&d.config?.url&&f.add("webhook"),e?.row.enabled&&e.config?.host&&f.add("smtp");let g=`${(0,o.f)().SITE_URL.replace(/\/+$/,"")}/alerts`;return{send:(f,h,i)=>"telegram"===f?(0,x.I)(a.telegramToken,b.config.chatId,h):"webhook"===f?(0,q.E)(d.config,(0,q.J)(h,i??[],new Date,g)):"smtp"===f?(0,r.r)(e.config,(h.split("\n")[0]??"").replace(/[*_`~]/g,"").slice(0,150)||"Watchbell alert",h.replace(/\*\*(.+?)\*\*/g,"$1").replace(/(^|[\s(])_(\S(?:.*?\S)?)_(?=[\s).,!?:;]|$)/gm,"$1$2").replace(/`([^`\n]+)`/g,"$1")):(0,p.$)(c.config.url,h),configured:f}}async function I(){let a=(0,t.f)().telegramToken;if(!a)return null;let b=await E("telegram");return b?.row.enabled&&b.config?.chatId?{token:a,chatId:b.config.chatId}:null}async function J(){let a=await E("discord");return a?.row.enabled&&a.config?.url?{url:a.config.url}:null}let K="notify.telegramThreads",L=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function M(a,b,c){let d=a.filter(a=>L.test(a));if(!d.length||!Number.isSafeInteger(b)||b<=0)return;let h=Object.fromEntries(d.map(a=>[a,{m:b,at:c.getTime()}])),i=c.getTime()-6048e5,j=e.B`case when jsonb_typeof(${g.settings.value}) = 'object' then ${g.settings.value} else '{}'::jsonb end`;await (0,f.f)().insert(g.settings).values({key:K,value:h}).onConflictDoUpdate({target:g.settings.key,set:{value:e.B`(select coalesce(jsonb_object_agg(e.key, e.value), '{}'::jsonb) from jsonb_each(${JSON.stringify(h)}::jsonb || ${j}) as e
18
- where jsonb_typeof(e.value) = 'object' and (e.value->>'at') ~ '^[0-9]{1,15}$' and (e.value->>'at')::bigint > ${i})`,updatedAt:c}})}async function N(a){if(!a||!L.test(a))return null;try{let[b]=await (0,f.f)().select({value:g.settings.value}).from(g.settings).where((0,c.u)(g.settings.key,K)).limit(1),d=b?.value&&"object"==typeof b.value?b.value[a]:null;return"number"==typeof d?.m&&Number.isSafeInteger(d.m)&&d.m>0?d.m:null}catch{return null}}let O=()=>(0,l.f)().catch(()=>z.a);async function P(a,b,i={}){var j;if(b-Date.now()<6e3)return{sent:0,dropped:0};let l=await (0,m.I)(),n=await (0,f.f)().select({a:g.alerts,channels:g.alertRules.channels,threshold:g.alertRules.threshold}).from(g.alerts).innerJoin(g.alertRules,(0,c.u)(g.alertRules.key,g.alerts.ruleKey)).where((0,c.b)((0,c.E)(g.alerts.pending),e.B`(${g.alerts.pending} = 'resolve') = (${g.alerts.resolvedAt} is not null)`,(0,m.s)(l))).orderBy((0,d.M)(g.alerts.pendingSince)).limit(50);if(!n.length)return{sent:0,dropped:0};let p=new Set((await (0,f.f)().update(g.alerts).set({claimedAt:a}).where((j=n.map(a=>a.a.id),(0,c.b)((0,c.y)(g.alerts.id,j),(0,c.E)(g.alerts.pending),(0,c.F)((0,c.M)(g.alerts.claimedAt),(0,c.S)(g.alerts.claimedAt,new Date(a.getTime()-12e4)))))).returning({id:g.alerts.id})).map(a=>a.id)),q=n.filter(a=>p.has(a.a.id));if(!q.length)return{sent:0,dropped:0};let{send:r,configured:s}=i.sender??await H(),t=new Set(q.filter(({a:b})=>"resolve"!==b.pending&&(b.silencedUntilResolved||null!==b.silencedUntil&&b.silencedUntil.getTime()>a.getTime())).map(({a})=>a.id)),[v,w,x]=await Promise.all([O(),(0,u.B)(),(0,k.w)()]),y=new Set;for(let b of["telegram","discord","webhook","smtp"]){if(!s.has(b))continue;let d=q.filter(a=>a.channels.includes(b)&&!t.has(a.a.id));if(!d.length)continue;let e=d.map(({a,threshold:c})=>{let d="telegram"===b?a:(0,z.o)(a,v);return{kind:a.pending,ruleKey:a.ruleKey,severity:a.severity,title:d.title,message:d.message,startedAt:a.startedAt,causedBy:d.causedBy,provider:a.providerIncident,threshold:c}}),i=(0,h.l)(e,a,(0,o.f)().SITE_URL,"webhook"===b?"en":"smtp"===b?w.email:w[b],x),j=await r(b,(0,z.G)("telegram"===b?i.telegram:i.discord),"webhook"===b?e.map(a=>({...a,title:(0,z.G)(a.title),message:(0,z.G)(a.message)})):void 0);await (0,f.f)().update(g.channels).set(j.ok?{lastSentAt:a,lastError:null}:{lastError:j.error}).where((0,c.u)(g.channels.kind,b)),j.ok&&d.forEach(({a})=>y.add(a.id)),j.ok&&"telegram"===b&&j.messageId&&await M(d.filter(({a})=>"open"===a.pending).map(({a})=>a.id),j.messageId,a).catch(()=>console.warn("notify: remembering the Telegram message failed"))}let A=0,B=0,C=[];for(let{a:b,channels:d}of q){let e=d.some(a=>s.has(a)),h=null!==b.pendingSince&&a.getTime()-b.pendingSince.getTime()>18e5;y.has(b.id)?(A++,await (0,f.f)().update(g.alerts).set({pending:null,pendingSince:null,lastNotifiedAt:a,claimedAt:null,..."open"===b.pending?{notifiedOpen:!0}:{}}).where((0,c.u)(g.alerts.id,b.id))):t.has(b.id)||!e||h?(B++,await (0,f.f)().update(g.alerts).set({pending:null,claimedAt:null}).where((0,c.u)(g.alerts.id,b.id))):C.push(b.id)}return C.length&&await (0,f.f)().update(g.alerts).set({claimedAt:null}).where((0,c.y)(g.alerts.id,C)),{sent:A,dropped:B}}async function Q(a){let b=new Date(a.getTime()-864e5),h=await (0,m.I)(),i=e.B`case ${g.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`,[j,k,l,o,p]=await Promise.all([(0,f.f)().select({ruleKey:g.alerts.ruleKey,severity:g.alerts.severity,title:g.alerts.title,message:g.alerts.message,resourceId:g.alerts.resourceId,startedAt:g.alerts.startedAt}).from(g.alerts).where((0,c.b)((0,c.M)(g.alerts.resolvedAt),(0,m.s)(h))).orderBy(i,(0,d.A)(g.alerts.startedAt)).limit(50),(0,f.f)().select({n:e.B`count(*)::int`}).from(g.alerts).where((0,c.B)(g.alerts.startedAt,b)),(0,f.f)().select({ruleKey:g.alerts.ruleKey,title:g.alerts.title,resourceId:g.alerts.resourceId,startedAt:g.alerts.startedAt,resolvedAt:g.alerts.resolvedAt}).from(g.alerts).where((0,c.b)((0,c.E)(g.alerts.resolvedAt),(0,c.B)(g.alerts.resolvedAt,b))).orderBy((0,d.A)(g.alerts.resolvedAt)).limit(20),(0,f.f)().select({id:g.resources.id,name:g.resources.name}).from(g.resources).where((0,c.b)((0,c.u)(g.resources.kind,"app"),(0,c.u)(g.resources.monitored,!0),(0,c.M)(g.resources.goneAt))).orderBy(g.resources.name).limit(B.O.apps),(0,n.h)(a)]),q=o.map(a=>a.id),[r,s]=q.length?await Promise.all([(0,f.f)().select({id:g.monitors.resourceId,total:e.B`count(*)::int`,bad:e.B`(count(*) filter (where not ${g.checks.ok}))::int`}).from(g.checks).innerJoin(g.monitors,(0,c.u)(g.monitors.id,g.checks.monitorId)).where((0,c.b)((0,c.y)(g.monitors.resourceId,q),(0,c.B)(g.checks.at,b),(0,c.u)(g.checks.inMaintenance,!1))).groupBy(g.monitors.resourceId),(0,f.f)().select({id:g.storedLogs.resourceId,n:e.B`count(*)::int`}).from(g.storedLogs).where((0,c.b)((0,c.y)(g.storedLogs.resourceId,q),(0,c.B)(g.storedLogs.at,b))).groupBy(g.storedLogs.resourceId)]):[[],[]],t=new Map(r.map(a=>[a.id,a])),u=new Map(s.map(a=>[a.id,a.n])),v=await O();return{now:a,opened:k[0]?.n??0,firing:j.map(({resourceId:a,...b})=>{let c=(0,z.o)({...b,resourceId:a,causedBy:null},v);return{...b,title:c.title,message:c.message}}),resolved:l.flatMap(a=>a.resolvedAt?[{ruleKey:a.ruleKey,title:(0,z.o)({title:a.title,message:"",causedBy:null,resourceId:a.resourceId},v).title,took:(0,y.M)(a.startedAt,a.resolvedAt)}]:[]),apps:o.map(a=>{let b=t.get(a.id);return{name:a.name,uptime:b&&b.total>0?(b.total-b.bad)/b.total*100:null,errors:u.get(a.id)??0}}),providers:p.filter(a=>"ok"!==a.state).map(a=>({label:a.label,text:a.text}))}}async function R(a,b,d){await (0,f.f)().update(g.channels).set(b.ok?{lastSentAt:d,lastError:null}:{lastError:b.error}).where((0,c.u)(g.channels.kind,a))}async function S(a){let[b,c]=await Promise.all([Q(a),(0,u.I)("email")]);return(0,s.J)({...b,siteUrl:(0,o.f)().SITE_URL},c)}async function T(a,c){let d=(0,t.f)();if(!d.resendKey||!d.digestFrom)return{ok:!1,kind:"config",error:b.n.notSet("RESEND_API_KEY or DIGEST_FROM")};let e=await E("email_digest");if(!e?.config?.to)return{ok:!1,kind:"config",error:"The daily email digest isn't connected."};let f=await S(a),g=await (0,w.f)(d.resendKey,{from:d.digestFrom,to:e.config.to,subject:f.subject,html:f.html,text:f.text,idempotencyKey:c});return await R("email_digest",g,a),g}async function U(a,b={}){let d=await (0,f.f)().select().from(g.settings).where((0,c.y)(g.settings.key,[C,D])),e=d.find(a=>a.key===C)?.value,h="string"==typeof e?e:null;if(!(0,s.A)(a,h))return;let i=(0,t.f)(),k=await E("email_digest");if(!i.resendKey||!i.digestFrom||!k?.row.enabled||!k.config?.to)return;let{resendKey:l,digestFrom:m}=i,n=k.config.to,o=(0,A.x)(a),p=await (0,s.K)(a,{lastSentDay:h,state:d.find(a=>a.key===D)?.value??null,build:b.build??(()=>S(a)),send:b.send??(a=>(0,w.f)(l,{from:m,to:n,...a,idempotencyKey:`digest-${o}`}))});p.acted&&(p.result&&await R("email_digest",p.result,a),p.state?await (0,f.f)().insert(g.settings).values({key:D,value:p.state}).onConflictDoUpdate({target:g.settings.key,set:{value:p.state,updatedAt:a}}):await (0,f.f)().delete(g.settings).where((0,c.u)(g.settings.key,D)),p.sentDay&&await (0,f.f)().insert(g.settings).values({key:C,value:p.sentDay}).onConflictDoUpdate({target:g.settings.key,set:{value:p.sentDay,updatedAt:a}}),p.event&&await (0,j.f)([{type:"system",kind:"warn",message:p.event.message,detail:p.event.detail,resourceId:null,reason:"DigestFailed",at:a}]))}let V={en:{title:"Test message",message:"If you can read this, alerts reach you here."},id:{title:"Pesan tes",message:"Kalau pesan ini kebaca, alert udah nyampe ke sini."}};async function W(a,b,c={}){if("email_digest"===a)return T(b,`test-${b.getTime()}`);let{send:d,configured:e}=c.sender??await H();if(!e.has(a))return X(a);let f="webhook"===a?"en":await (0,u.I)("smtp"===a?"email":a),g=(0,h.l)([{kind:"open",ruleKey:"Test",severity:"info",...V[f],startedAt:b,causedBy:null,provider:null}],b,(0,o.f)().SITE_URL,f),i=await d(a,"telegram"===a?g.telegram:g.discord);return await R(a,i,b),i}let X=a=>({ok:!1,kind:"config",error:"telegram"===a?`Telegram isn't connected, or ${b.n.notSet("TELEGRAM_BOT_TOKEN")}`:"webhook"===a?"The webhook isn't connected.":"smtp"===a?"Email (SMTP) isn't connected.":"Discord isn't connected."});async function Y(a,b,c,d,e={}){let{send:f,configured:g}=e.sender??await H(),i=await (0,u.B)(),j=[];for(let e of a){if(!g.has(e)){j.push({kind:e,result:X(e)});continue}let a=(0,h.l)([b],d,(0,o.f)().SITE_URL,"webhook"===e?"en":"smtp"===e?i.email:i[e],c,{test:!0}),k=await f(e,(0,z.G)("telegram"===e?a.telegram:a.discord),"webhook"===e?[b]:void 0);await R(e,k,d),j.push({kind:e,result:k})}return j}async function Z(){let a=(0,t.f)(),c={telegram:a.telegramToken?null:b.n.notSet("TELEGRAM_BOT_TOKEN"),discord:null,webhook:null,smtp:null,email_digest:a.resendKey&&a.digestFrom?null:b.n.notSet("RESEND_API_KEY or DIGEST_FROM")},[d,e,f,g,h]=await Promise.all([E("telegram"),E("discord"),E("webhook"),E("smtp"),E("email_digest")]),i=(a,b)=>({kind:a,connected:null!==b,enabled:b?.row.enabled??!1,hint:b?(0,v.t)(a,b.config):null,lastSentAt:b?.row.lastSentAt??null,lastError:b?.row.lastError??null,envMissing:c[a]});return[i("telegram",d),i("discord",e),i("webhook",f),i("smtp",g),i("email_digest",h)]}a.s(["k",0,Z,"q",0,P,"G",0,J,"u",0,E,"P",0,R,"_",0,Y,"L",0,W,"y",0,G,"J",0,U,"Q",0,I,"M",0,N,"Y",0,F])},390626,755453,288879,352595,80997,718025,a=>{var b=a.i(19809),c=a.i(371289);let d=/^https:\/\/(?:(?:canary|ptb)\.)?discord(?:app)?\.com\/api\/webhooks\/\d{5,25}\/[\w-]{20,}$/;function e(a){return d.test(a.trim())?null:"Paste the whole webhook URL from Discord."}async function f(a,d,g={}){let h;if((0,c.W)())return{ok:!1,kind:"config",error:b.Y};if(e(a))return{ok:!1,kind:"config",error:"The saved Discord webhook URL isn't valid."};try{h=await (g.fetch??fetch)(a,{method:"POST",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(g.timeoutMs??5e3),cache:"no-store",body:JSON.stringify({content:d.slice(0,2e3),username:"Watchbell",allowed_mentions:{parse:[]}})})}catch{return{ok:!1,kind:"transient",error:"Discord didn't answer."}}if(204===h.status||h.ok)return{ok:!0};if(429===h.status){let a=await h.json().catch(()=>null),b=Math.ceil(a?.retry_after??5);return{ok:!1,kind:"transient",retryAfterS:b,error:`Discord asked us to wait ${b} s.`}}return 404===h.status||401===h.status?{ok:!1,kind:"config",error:"Discord says this webhook no longer exists."}:{ok:!1,kind:h.status>=500?"transient":"config",error:`Discord returned an error (${h.status}).`}}a.s(["$",0,f,"e",0,e],390626);var g=a.i(666680),h=a.i(300794),i=a.i(261283);function j(a){let b;try{b=new URL(a.trim())}catch{return"Paste the whole address, starting with https://."}let c=(0,i._)(b);return"scheme"===c?"Use an https:// address without a user name or password in it.":"blocked"===c?"Use an address on the public internet, on port 443. Watchbell doesn't post into private networks.":null}let k={open:"firing",repeat:"repeat",resolve:"resolved"};async function l(a){return(await (0,h.lookup)(a,{all:!0})).map(a=>a.address)}async function m(a,d,e={}){let f,h;if((0,c.W)())return{ok:!1,kind:"config",error:b.Y};if(j(a.url))return{ok:!1,kind:"config",error:"The saved webhook address isn't allowed any more."};let k=new URL(a.url.trim());try{let a=await (e.lookup??l)(k.hostname);if(!a.length||a.some(i.W))return{ok:!1,kind:"config",error:"The webhook host resolves to a private address; Watchbell won't post there."}}catch{return{ok:!1,kind:"transient",error:"The webhook host didn't resolve."}}let n=JSON.stringify(d),o=String(Math.floor(Date.parse(d.sentAt)/1e3)),p={"Content-Type":"application/json","User-Agent":"Watchbell-Webhook/1.0","X-Watchbell-Timestamp":o};a.secret&&(p["X-Watchbell-Signature"]=(h=a.secret,`sha256=${(0,g.createHmac)("sha256",h).update(`${o}.${n}`).digest("hex")}`));try{f=await (e.fetch??fetch)(k.toString(),{method:"POST",headers:p,body:n,redirect:"manual",cache:"no-store",signal:AbortSignal.timeout(e.timeoutMs??5e3)})}catch{return{ok:!1,kind:"transient",error:"The webhook didn't answer."}}if(await f.body?.cancel().catch(()=>void 0),f.ok)return{ok:!0};if(f.status>=300&&f.status<400)return{ok:!1,kind:"config",error:"The webhook answered with a redirect; Watchbell doesn't follow them. Use the final address."};if(429===f.status){let a=Math.min(600,Math.max(1,Number(f.headers.get("retry-after"))||30));return{ok:!1,kind:"transient",retryAfterS:a,error:`The webhook asked to wait ${a} s.`}}return{ok:!1,kind:f.status>=500?"transient":"config",error:`The webhook returned an error (${f.status}).`}}a.s(["k",0,function(a){return""===a||a.length>=16&&a.length<=200?null:"Use a secret of 16 to 200 characters, or leave it empty."},"E",0,m,"J",0,function(a,b,c,d){return{source:"watchbell",event:b.length?"alerts":"test",sentAt:c.toISOString(),text:a.slice(0,4e3),link:d,alerts:b.slice(0,20).map(a=>({status:k[a.kind],rule:a.ruleKey,severity:a.severity,title:a.title,message:a.message,startedAt:a.startedAt.toISOString(),causedBy:a.causedBy,provider:a.provider}))}},"I",0,j],755453);var n=a.i(761095),o=a.i(685560),p=a.i(61675);function q(a){let b=new Set;return a.split(/[\s,;]+/).filter(a=>a&&!b.has(a.toLowerCase())&&b.add(a.toLowerCase()))}a.s(["a",0,10,"t",0,function(a,b){if("telegram"===a)return`${b.chatLabel||"Chat"} \xb7 …${b.chatId.slice(-4)}`;if("discord"===a){let a=/\/webhooks\/(\d+)\//.exec(b.url)?.[1]??"";return`webhook …${a.slice(-4)}`}if("webhook"===a){let a="";try{a=new URL(b.url).hostname}catch{a="?"}return`${a}/…${b.secret?" · signed":""}`}if("smtp"===a){let a=q(b.to);return`${b.host}:${b.port} \xb7 to ${(a[0]??"").slice(0,2)}…@…${a.length>1?` +${a.length-1}`:""}`}return`${b.to.slice(0,2)}…@…`},"E",0,q],288879);let r=[465,587,2525],s=p.z.email();function t(a){let b={},c=a.host.trim().toLowerCase();/^[a-z0-9.-]{3,253}$/.test(c)&&c.includes(".")?(0,i.N)(c)&&(b.host="Use a mail server on the public internet. Watchbell doesn't connect into private networks."):b.host="Enter the server name, for example smtp.office365.com.",r.includes(a.port)||(b.port="Use port 587 (STARTTLS), 465 (TLS) or 2525."),(!a.user.trim()||a.user.length>200)&&(b.user="Enter the user name the server expects (often the whole address)."),(!a.pass||a.pass.length>500)&&(b.pass="Enter the password or app password."),s.safeParse(a.from.trim()).success||(b.from="Enter the address the mail comes from.");let d=q(a.to);if(d.length)if(d.length>10)b.to="Up to 10 addresses.";else{let a=d.find(a=>!s.safeParse(a).success);a&&(b.to=`${a} isn't a valid address.`)}else b.to="Enter the address that gets the alerts.";return b}class u{socket;buf;lines;ready;waiters;onData;constructor(a){this.socket=a,this.buf="",this.lines=[],this.ready=[],this.waiters=[],this.onData=a=>this.read(a),a.on("data",this.onData)}attach(a){this.socket.off("data",this.onData),this.socket=a,a.on("data",this.onData)}read(a){let b;for(this.buf+=a.toString("utf8");(b=this.buf.indexOf("\n"))>=0;){let a=this.buf.slice(0,b).replace(/\r$/,"");if(this.buf=this.buf.slice(b+1),this.lines.push(a),/^\d{3}( |$)/.test(a)){let b={code:Number(a.slice(0,3)),text:this.lines.join("\n")};this.lines=[];let c=this.waiters.shift();c?c(b):this.ready.push(b)}}}next(){let a=this.ready.shift();return a?Promise.resolve(a):new Promise(a=>this.waiters.push(a))}send(a){this.socket.write(`${a}\r
19
- `)}}class v extends Error{kind;constructor(a,b){super(a),this.kind=b}}async function w(a,d,e,f={}){let j;if((0,c.W)())return{ok:!1,kind:"config",error:b.Y};if(Object.keys(t(a)).length)return{ok:!1,kind:"config",error:"The saved mail server settings aren't valid any more."};let k=a.host.trim().toLowerCase();try{let a=await (f.lookup??(async a=>(await (0,h.lookup)(a,{all:!0})).map(a=>a.address)))(k);if(!a.length||a.some(i.W))return{ok:!1,kind:"config",error:"The mail server resolves to a private address; Watchbell won't connect there."};j=a[0]}catch{return{ok:!1,kind:"transient",error:"The mail server's name didn't resolve."}}let l=465===a.port,m=null,p=new Promise((a,b)=>setTimeout(()=>b(new v("The mail server took too long to answer.","transient")),f.timeoutMs??15e3).unref?.()),r=async()=>{var b,c,h,i;let p,r;try{m=await (f.connect??((a,b,c,d)=>new Promise((e,f)=>{let g=d?o.default.connect({host:a,port:b,servername:c}):n.default.connect({host:a,port:b});g.once(d?"secureConnect":"connect",()=>e(g)),g.once("error",f)})))(j,a.port,k,l)}catch{throw new v(`Couldn't connect to ${k}:${a.port}.`,"transient")}let s=new u(m),t=async(a,b,c="config")=>{let d=await s.next();if(!a.includes(d.code))throw new v(`The mail server refused ${b} (${d.code}).`,d.code>=400&&d.code<500?"transient":c);return d};await t([220],"the connection","transient"),s.send("EHLO watchbell");let w=await t([250],"EHLO");if(!l){if(!/^250[- ]STARTTLS\b/im.test(w.text))throw new v("The mail server doesn't offer STARTTLS on this port, so the password would go in clear. Use port 465 or a server with STARTTLS.","config");s.send("STARTTLS"),await t([220],"STARTTLS"),m=await (f.upgrade??((a,b)=>new Promise((c,d)=>{let e=o.default.connect({socket:a,servername:b});e.once("secureConnect",()=>c(e)),e.once("error",d)})))(m,k),s.attach(m),s.send("EHLO watchbell"),w=await t([250],"EHLO after STARTTLS")}s.send(`AUTH PLAIN ${Buffer.from(`\0${a.user}\0${a.pass}`,"utf8").toString("base64")}`),await t([235],"the user name or password"),s.send(`MAIL FROM:<${a.from.trim()}>`),await t([250],"the sender address");let x=q(a.to);for(let[a,b]of x.entries())s.send(`RCPT TO:<${b}>`),await t([250,251],x.length>1?`recipient ${a+1} of ${x.length}`:"the recipient address");s.send("DATA"),await t([354],"the message"),m.write(`${(b=a,c=d,h=e,i=new Date,r=Buffer.from(h.replace(/\r?\n/g,"\r\n"),"utf8").toString("base64").replace(/.{1,76}/g,"$&\r\n"),[`From: Watchbell <${b.from.trim()}>`,`To: ${q(b.to).map(a=>`<${a}>`).join(", ")}`,`Subject: ${(p=c.replace(/[\r\n]+/g," ").slice(0,200),/^[\x20-\x7e]*$/.test(p)?p:`=?UTF-8?B?${Buffer.from(p,"utf8").toString("base64")}?=`)}`,`Date: ${i.toUTCString()}`,`Message-ID: <${(0,g.randomUUID)()}@watchbell>`,"MIME-Version: 1.0","Content-Type: text/plain; charset=utf-8","Content-Transfer-Encoding: base64","",r].join("\r\n"))}\r
20
- .\r
21
- `),await t([250],"the message"),s.send("QUIT"),await Promise.race([s.next(),new Promise(a=>setTimeout(a,2e3))])};try{return await Promise.race([r(),p]),{ok:!0}}catch(a){return a instanceof v?{ok:!1,kind:a.kind,error:a.message}:{ok:!1,kind:"transient",error:"The mail server closed the connection."}}finally{m?.destroy()}}a.s(["r",0,w,"t",0,t],352595);var x=a.i(192738),y=a.i(67890),z=a.i(245710),A=a.i(469762),B=a.i(556987);function C(a,b){return(0,z.M)(a,b)&&(0,z.z)(a).hour>=7}let D={en:{firing:"firing",opened:"opened",resolved:"resolved",last24:"in the last 24 hours.",stillHead:"Still firing",noFiring:"Nothing is firing.",resolvedHead:"Resolved",noResolved:"Nothing resolved.",appsHead:"Applications (24 h)",providersHead:"Providers",open:"Open alerts",after:"after",up:"up",took:a=>a,noChecks:"no checks",errors:a=>`${a} stored error${1===a?"":"s"}`},id:{firing:"aktif",opened:"baru",resolved:"pulih",last24:"dalam 24 jam terakhir.",stillHead:"Masih aktif",noFiring:"Nggak ada yang aktif.",resolvedHead:"Pulih",noResolved:"Nggak ada yang pulih.",appsHead:"Aplikasi (24 jam)",providersHead:"Provider",open:"Buka Alerts",after:"setelah",up:"aktif",took:a=>a.replace(/\b(\d+) min\b/g,"$1 menit").replace(/\b(\d+) h\b/g,"$1 jam").replace(/\b(\d+) d\b/g,"$1 hari"),noChecks:"belum ada cek",errors:a=>`${a} error tersimpan`}},E={May:"Mei",Aug:"Agu",Oct:"Okt",Dec:"Des"},F=[5,15,30,60];async function G(a,b){let c={acted:!1,state:b.state,sentDay:null,event:null,result:null};if(!C(a,b.lastSentDay))return c;let d=(0,z.x)(a),e=b.state&&b.state.day===d?b.state:null;if(e?.stopped)return{...c,state:e};if(e&&e.attempts>0){let b=(F[e.attempts-1]??F[F.length-1])*6e4;if(e.lastAttemptAt&&a.getTime()-new Date(e.lastAttemptAt).getTime()<b)return{...c,state:e}}e??={day:d,...await b.build(),attempts:0,lastAttemptAt:null,stopped:!1,lastError:null};let f=await b.send({subject:e.subject,html:e.html,text:e.text});if(f.ok)return{acted:!0,state:null,sentDay:d,event:null,result:f};let g=e.attempts+1,h="config"===f.kind||g>=5,i="config"===f.kind?`${f.error}. Fix it and the next digest goes out tomorrow.`:`${f.error} Gave up after ${g} attempts today.`;return{acted:!0,sentDay:null,result:f,state:{...e,attempts:g,lastAttemptAt:a.toISOString(),stopped:h,lastError:f.error},event:h?{message:"Daily digest not sent",detail:i}:null}}a.s(["J",0,function(a,b="en"){let c=D[b],d=`${a.siteUrl.replace(/\/+$/,"")}/alerts`,e=((a,b)=>{let{day:c,month:d}=(0,z.e)(a);return`${c} ${"id"===b?E[d]??d:d}`})(a.now,b),f=`${a.firing.length} ${c.firing}, ${a.opened} ${c.opened}, ${a.resolved.length} ${c.resolved}`,g=`Watchbell \xb7 ${e} \xb7 ${f}`,h=[...a.apps].sort((a,b)=>(a.uptime??101)-(b.uptime??101)||b.errors-a.errors||a.name.localeCompare(b.name)),i=a.firing.map(a=>`${x.Z[b][a.severity]} \xb7 ${a.ruleKey} \xb7 ${a.title}: ${"id"===b?(0,y.f)(a.ruleKey,a.message):a.message}`),j=a.resolved.map(a=>`${a.ruleKey} \xb7 ${a.title} (${c.after} ${c.took(a.took)})`),k=h.map(a=>`${a.name}: ${null===a.uptime?c.noChecks:`${(0,A.C)(a.uptime)} ${c.up}`}, ${c.errors(a.errors)}`),l=a.providers.map(a=>`${a.label}: ${a.text}`),m=[`Watchbell \xb7 ${e}`,`${f} ${c.last24}`,"",c.stillHead,...i.length?i.map(a=>`- ${a}`):[c.noFiring],"",c.resolvedHead,...j.length?j.map(a=>`- ${a}`):[c.noResolved],...k.length?["",c.appsHead,...k.map(a=>`- ${a}`)]:[],...l.length?["",c.providersHead,...l.map(a=>`- ${a}`)]:[],"",`${c.open}: ${d}`].join("\n"),n=a=>`<h3 style="font:600 14px system-ui,sans-serif;margin:18px 0 6px">${(0,x.H)(a)}</h3>`,o=(a,b)=>a.length?`<ul style="margin:0;padding-left:18px">${a.map(a=>`<li style="margin:2px 0">${(0,x.H)(a)}</li>`).join("")}</ul>`:`<p style="margin:0;color:#596170">${(0,x.H)(b)}</p>`,p=['<div style="font:14px/1.5 system-ui,sans-serif;color:#14171f;max-width:560px">',`<h2 style="font:600 16px system-ui,sans-serif;margin:0 0 4px">Watchbell \xb7 ${(0,x.H)(e)}</h2>`,`<p style="margin:0;color:#596170">${(0,x.H)(`${f} ${c.last24}`)}</p>`,n(c.stillHead),o(i,c.noFiring),n(c.resolvedHead),o(j,c.noResolved),...k.length?[n(c.appsHead),o(k,"")]:[],...l.length?[n(c.providersHead),o(l,"")]:[],`<p style="margin:18px 0 0"><a href="${(0,x.H)(d).replace(/"/g,"&quot;")}" style="color:#2f4372">${(0,x.H)(c.open)}</a></p>`,"</div>"].join("");return{subject:(0,B.G)(g),html:(0,B.G)(p),text:(0,B.G)(m)}},"A",0,C,"K",0,G],80997),a.s(["f",0,function(a=process.env){let b=a.TELEGRAM_BOT_TOKEN?.trim()??"",c=a.RESEND_API_KEY?.trim()??"",d=a.DIGEST_FROM?.trim()??"";return{telegramToken:/^\d+:[\w-]{20,}$/.test(b)?b:null,resendKey:c.startsWith("re_")?c:null,digestFrom:/<?[^\s<>@]+@[^\s<>@]+\.[^\s<>@]+>?$/.test(d)?d:null}}],718025)},552543,a=>{var b=a.i(186133);function c(a){let b=a&&"object"==typeof a?a:null,c=b?b.lang:a,d=a=>{var d;return"string"==typeof(d=b&&a in b?b[a]:c)&&"id"===d.trim().toLowerCase()?"id":"en"};return{telegram:d("telegram"),discord:d("discord"),email:d("email")}}async function d(){try{return c(await (0,b.l)())}catch{return c(null)}}async function e(a="telegram"){return(await d())[a]}a.s(["c",0,["telegram","discord","email"],"H",0,c,"I",0,e,"B",0,d,"t",0,function(a,b,c){return a[b][c]}])},204784,a=>{var b=a.i(19809),c=a.i(371289);async function d(a,e,f={}){let g;if((0,c.W)())return{ok:!1,kind:"config",error:b.Y};try{g=await (f.fetch??fetch)("https://api.resend.com/emails",{method:"POST",signal:AbortSignal.timeout(5e3),cache:"no-store",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","User-Agent":"OpsConsole/1.0","Idempotency-Key":e.idempotencyKey},body:JSON.stringify({from:e.from,to:[e.to],subject:e.subject,html:e.html,text:e.text})})}catch{return{ok:!1,kind:"transient",error:"Resend didn't answer."}}if(g.ok)return{ok:!0};let h=await g.json().catch(()=>null);return 429===g.status||g.status>=500?{ok:!1,kind:"transient",error:`Resend returned an error (${g.status}).`}:{ok:!1,kind:"config",error:`Resend: ${String(h?.message??g.status).slice(0,200)}`}}a.s(["f",0,d])},446914,a=>{var b=a.i(19809),c=a.i(462820),d=a.i(371289);async function e(a,c,f,g,h=5e3){let i;if((0,d.W)())return{ok:!1,code:null,description:b.Y,retryAfter:null};try{i=await g(`https://api.telegram.org/bot${a}/${c}`,{...f,signal:AbortSignal.timeout(h),cache:"no-store"})}catch{return{ok:!1,code:null,description:"Telegram didn't answer.",retryAfter:null}}let j=await i.json().catch(()=>null);return j?.ok?{ok:!0,result:j.result}:{ok:!1,code:j?.error_code??i.status,description:String(j?.description??`HTTP ${i.status}`).slice(0,200),retryAfter:j?.parameters?.retry_after??null}}async function f(a,b,c,d={}){let g="number"==typeof d.replyTo&&Number.isSafeInteger(d.replyTo)&&d.replyTo>0?{reply_parameters:{message_id:d.replyTo,allow_sending_without_reply:!0}}:{},h=await e(a,"sendMessage",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chat_id:b,text:c,parse_mode:"HTML",link_preview_options:{is_disabled:!0},...d.replyMarkup?{reply_markup:d.replyMarkup}:{},...g})},d.fetch??fetch);if(h.ok){let a=h.result?.message_id;return"number"==typeof a&&Number.isSafeInteger(a)&&a>0?{ok:!0,messageId:a}:{ok:!0}}return 429===h.code?{ok:!1,kind:"transient",retryAfterS:h.retryAfter??30,error:`Telegram asked us to wait ${h.retryAfter??30} s.`}:null===h.code||h.code>=500?{ok:!1,kind:"transient",error:null===h.code?h.description:`Telegram returned an error (${h.code}).`}:{ok:!1,kind:"config",error:`Telegram: ${h.description}`}}async function g(a,b={}){let d=await e(a,"getUpdates?limit=20&timeout=0",{method:"GET"},b.fetch??fetch);if(!d.ok)return 409===d.code?{ok:!1,error:"This bot has a webhook set, so the console can't list chats. Remove the webhook or paste the chat id."}:401===d.code||404===d.code?{ok:!1,error:`Telegram rejected TELEGRAM_BOT_TOKEN. Check the value ${c.n.checkWhere}.`}:{ok:!1,error:"Couldn't reach Telegram. Try again."};let f=new Map;for(let a of Array.isArray(d.result)?d.result:[]){let b=a.message?.chat??a.my_chat_member?.chat??a.channel_post?.chat;b&&"number"==typeof b.id&&f.set(String(b.id),`${b.title??b.first_name??b.username??"Chat"} (${b.type??"chat"})`)}return{ok:!0,chats:[...f].map(([a,b])=>({id:a,label:b}))}}a.s(["N",0,g,"I",0,f,"z",0,e])}]})();
22
-
23
- //# sourceMappingURL=src_lib_0nbad7vu413-f._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[513701,a=>{"use strict";var b=a.i(93321),c=a.i(258261),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(245710),h=a.i(968715),i=a.i(910697);let j=(a,b)=>"string"==typeof b?d.B`to_char(${a} at time zone ${b}, 'YYYY-MM-DD')`:d.B`to_char((${a} at time zone 'UTC') + ${d.B.raw(`interval '${Math.trunc(b.offsetMinutes)} minutes'`)}, 'YYYY-MM-DD')`,k=d.B.raw("2"),l=(a,b)=>d.B`(extract(epoch from date_bin(${d.B.raw(`'${a}'`)}::interval, ${b}, timestamptz '2000-01-01 00:00:00+00')) * 1000)::float8`,m=d.B`percentile_cont(0.95) within group (order by ${f.checks.latencyMs})`,n=d.B`percentile_cont(0.5) within group (order by ${f.checks.latencyMs})`,o=d.B`(count(*) filter (where not ${f.checks.ok}))::int`,p=(0,b.u)(f.checks.inMaintenance,!1),q=d.B`(count(*) filter (where ${f.checks.statusCode} >= 500))::int`,r=d.B`count(*)::int`;async function s(){let[a]=await (0,e.f)().select({h:(0,c.y)(f.rollupsHourly.hour)}).from(f.rollupsHourly);return a?.h?new Date(a.h.getTime()+36e5):null}async function t(a,b,c=(0,g.C)()){if(!a.length)return new Map;try{return await u(a,b,c)}catch(e){if(!function(a){let b=a;for(let a=0;a<4&&b&&"object"==typeof b;a++,b=b.cause){let{code:a,message:c}=b;if("22023"===a&&"string"==typeof c&&/time zone .* not recognized/i.test(c))return!0}return!1}(e))throw e;let d=globalThis;return d.__watchbellPgZoneWarned||(d.__watchbellPgZoneWarned=!0,console.warn(`Watchbell: the database doesn't know the time zone ${c}; uptime days use its current UTC offset instead.`)),u(a,b,{offsetMinutes:(0,g.c)(b)})}}async function u(a,c,l){let m=(0,g.y)((0,h.W)(c,h.F)[0]),n=await s(),o=new Date(Math.max(m.getTime(),n?.getTime()??0,c.getTime()-i.A.rawChecksMs)),p=j(f.rollupsHourly.hour,l),q=j(f.checks.at,l),[r,t]=await Promise.all([n?(0,e.f)().select({monitorId:f.rollupsHourly.monitorId,day:p,checks:d.B`sum(${f.rollupsHourly.checks})::int`,failures:d.B`sum(${f.rollupsHourly.failures})::int`,maint:d.B`sum(${f.rollupsHourly.maintenance})::int`}).from(f.rollupsHourly).where((0,b.b)((0,b.y)(f.rollupsHourly.monitorId,a),(0,b.B)(f.rollupsHourly.hour,m),(0,b.S)(f.rollupsHourly.hour,n))).groupBy(f.rollupsHourly.monitorId,k):Promise.resolve([]),(0,e.f)().select({monitorId:f.checks.monitorId,day:q,checks:d.B`(count(*) filter (where not ${f.checks.inMaintenance}))::int`,failures:d.B`(count(*) filter (where not ${f.checks.ok} and not ${f.checks.inMaintenance}))::int`,maint:d.B`(count(*) filter (where ${f.checks.inMaintenance}))::int`}).from(f.checks).where((0,b.b)((0,b.y)(f.checks.monitorId,a),(0,b.B)(f.checks.at,o))).groupBy(f.checks.monitorId,k)]);return(0,h.C)([...r,...t])}async function v(a,c){if(!a.length)return new Map;let d=i.A.responseHours,g=(0,h.D)(c,36e5,d),j=l("1 hour",f.checks.at),k=(0,b.b)((0,b.y)(f.monitors.resourceId,a),(0,b.B)(f.checks.at,new Date(g)),p),[o,q]=await Promise.all([(0,e.f)().select({appId:f.monitors.resourceId,t:j,v:m}).from(f.checks).innerJoin(f.monitors,(0,b.u)(f.monitors.id,f.checks.monitorId)).where(k).groupBy(f.monitors.resourceId,j),(0,e.f)().select({appId:f.monitors.resourceId,v:m,m:n}).from(f.checks).innerJoin(f.monitors,(0,b.u)(f.monitors.id,f.checks.monitorId)).where(k).groupBy(f.monitors.resourceId)]);return new Map(a.map(a=>[a,{hourly:(0,h.f)(o.filter(b=>b.appId===a),g,36e5,d),p95:q.find(b=>b.appId===a)?.v??null,p50:q.find(b=>b.appId===a)?.m??null}]))}async function w(a,c){let d=i.A.metricBuckets,g=(0,h.D)(c,18e5,d),j=l("30 minutes",f.checks.at),k=await (0,e.f)().select({t:j,p95:m,p50:n,s5xx:q}).from(f.checks).innerJoin(f.monitors,(0,b.u)(f.monitors.id,f.checks.monitorId)).where((0,b.b)((0,b.u)(f.monitors.resourceId,a),(0,b.B)(f.checks.at,new Date(g)),p)).groupBy(j);return{response:(0,h.f)(k.map(a=>({t:a.t,v:a.p95})),g,18e5,d),median:(0,h.f)(k.map(a=>({t:a.t,v:a.p50})),g,18e5,d),errors:(0,h.f)(k.map(a=>({t:a.t,v:a.s5xx})),g,18e5,d,0),first:g,sizeMs:18e5}}async function x(a,c){return(0,e.f)().select({at:f.deployments.createdAtProvider,sha:f.deployments.commitSha,state:f.deployments.state}).from(f.deployments).where((0,b.b)((0,b.u)(f.deployments.resourceId,a),(0,b.u)(f.deployments.target,"production"),(0,b.B)(f.deployments.createdAtProvider,c))).orderBy(f.deployments.createdAtProvider).limit(200)}async function y(a){let c=i.A.healthBuckets,d=(0,h.D)(a,288e4,c),g=new Date(d),j=(0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt)),k=l("48 minutes",f.checks.at),n=l("48 minutes",f.deployments.createdAtProvider),[s,[t],u]=await Promise.all([(0,e.f)().select({t:k,checks:r,failures:o,s5xx:q,p95:m}).from(f.checks).innerJoin(f.monitors,(0,b.u)(f.monitors.id,f.checks.monitorId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(j,(0,b.B)(f.checks.at,g),p)).groupBy(k),(0,e.f)().select({checks:r,failures:o,s5xx:q,p95:m}).from(f.checks).innerJoin(f.monitors,(0,b.u)(f.monitors.id,f.checks.monitorId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(j,(0,b.B)(f.checks.at,g),p)),(0,e.f)().select({t:n,n:r}).from(f.deployments).innerJoin(f.resources,(0,b.u)(f.resources.id,f.deployments.resourceId)).where((0,b.b)(j,(0,b.B)(f.deployments.createdAtProvider,g))).groupBy(n)]),v=(a,b)=>a?(a-b)/a*100:null;return{uptime:t?v(t.checks,t.failures):null,p95:t?.p95??null,s5xx:t?.s5xx??0,deploys:u.reduce((a,b)=>a+b.n,0),series:{uptime:(0,h.f)(s.map(a=>({t:a.t,v:v(a.checks,a.failures)})),d,288e4,c),p95:(0,h.f)(s.map(a=>({t:a.t,v:a.p95})),d,288e4,c),s5xx:(0,h.f)(s.map(a=>({t:a.t,v:a.s5xx})),d,288e4,c,0),deploys:(0,h.f)(u.map(a=>({t:a.t,v:a.n})),d,288e4,c,0)}}}a.s(["P",0,w,"Q",0,v,"j",0,y,"_",0,t,"M",0,x])}];
2
-
3
- //# sourceMappingURL=src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js.map
@@ -1 +0,0 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,718222,427806,41680,e=>{var t=e.i(95187);let n=(0,t.createServerReference)("60d2b4999b2d9b5b7ebaa28ed6444a865e5461a33b",t.callServer,void 0,t.findSourceMapURL,"promoteAction");e.s(["f",0,n],718222);let r=(0,t.createServerReference)("60a20982334c43ac54b2ff6fd4c85209f9d6b6ac0f",t.callServer,void 0,t.findSourceMapURL,"redeployAction");e.s(["f",0,r],427806);let l=(0,t.createServerReference)("60363cb2e0040463e2b28a2c5080250fae55ede48e",t.callServer,void 0,t.findSourceMapURL,"rollbackAction");e.s(["f",0,l],41680)},523135,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(54131),l=e.i(428325),a=e.i(799589),o=e.i(177106),i=e.i(856033),s=e.i(452842),c=e.i(95187);let d=(0,c.createServerReference)("6068e28948c23eb5c59b2b9306456c2795dbcbb036",c.callServer,void 0,c.findSourceMapURL,"cancelAction");var u=e.i(718222);let p=(0,c.createServerReference)("6055fd72675c60fa5f8d197da962fefae333a9e57d",c.callServer,void 0,c.findSourceMapURL,"promotePreviewAction");var m=e.i(427806),h=e.i(41680),x=e.i(39626),f=e.i(776639),b=e.i(500443);let g=/(\berror(?![-\w])|\bERR!|\bERR_[A-Z_]+|\bfailed\b|exited with (?:code )?[1-9]|Module not found|command not found)/i,k=/^\s*(?:npm |pnpm |yarn )?(?:warn|warning)\b|\b0 (?:errors?|failed)\b/i;function y(e){return"command"!==e.kind&&"delimiter"!==e.kind&&g.test(e.text)&&!k.test(e.text)}var v=e.i(975157);let j=(0,c.createServerReference)("60d1853bc13fd990f5b6c49dc1a19e3151d3af44a7",c.callServer,void 0,c.findSourceMapURL,"buildLogsAction"),w=(0,c.createServerReference)("60b7d362a164ec4410ee95696addb7ff611b64b467",c.callServer,void 0,c.findSourceMapURL,"explainBuildAction"),N={stdout:"",stderr:"text-code-warn",command:"text-code-info",delimiter:"text-code-dim"},S=e=>`build-line-${e}`;function $({log:e}){let n=e.lines.findIndex(y),r=e.lines.filter(y).length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 px-[18px] pb-2 text-[12.5px] text-ink-soft",children:[(0,t.jsxs)("span",{children:[e.lines.length," lines",e.truncated?` (the last ${2e3.toLocaleString("en-US")})`:""]}),n>=0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"text-err",children:[r," error line",1===r?"":"s"]}),(0,t.jsx)("button",{type:"button","data-line":S(n),className:"text-brand hover:underline",onClick:()=>document.getElementById(S(n))?.scrollIntoView({block:"center"}),children:"Jump to first error"})]}):(0,t.jsx)("span",{children:"No error lines"})]}),(0,t.jsx)("div",{tabIndex:0,"aria-label":"Build log lines",className:"min-h-0 flex-1 overflow-auto bg-code-bg px-4 py-3 font-mono text-[12.5px] leading-[1.7] text-code-text",children:0===e.lines.length?(0,t.jsx)("div",{className:"text-code-dim",children:"Vercel returned no build output for this deployment."}):e.lines.map((e,n)=>{let r=y(e);return(0,t.jsx)("div",{id:S(n),"data-error":r?"":void 0,className:(0,v.f)("whitespace-pre-wrap [overflow-wrap:anywhere]",r?"-mx-4 border-l-2 border-err bg-err/15 px-[14px] text-code-err":N[e.kind],"delimiter"===e.kind&&"mt-1.5 font-medium"),children:"command"===e.kind?`$ ${e.text}`:e.text||" "},n)})})]})}function R({answer:e}){return"asking"===e?(0,t.jsx)("p",{className:"px-[18px] pb-3 text-[13px] text-ink-soft",children:"Asking the AI provider…"}):"error"in e?(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-3 text-[13px] text-err",children:e.error}):(0,t.jsxs)("section",{"aria-label":"Explanation",className:"mx-[18px] mb-3 rounded-lg border border-line px-3.5 py-2.5",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2 text-[12.5px]",children:[(0,t.jsx)("b",{className:"font-medium",children:"Explanation"}),(0,t.jsx)("span",{className:"font-mono text-xs text-ink-faint",children:e.model})]}),(0,t.jsx)("p",{className:"mt-1 whitespace-pre-wrap text-[13px] [overflow-wrap:anywhere]",children:e.text}),(0,t.jsx)("p",{className:"mt-1.5 text-xs text-ink-faint",children:"Written by a model from the log below. Check it against the log before you change code."})]})}function C({appId:e,deploymentId:r,title:a,open:o,onOpenChange:i,explain:s=!1,read:c=j,ask:d=w}){let[u,p]=(0,n.useState)(null),[m,h]=(0,n.useState)(null);(0,b.useHoldRefresh)(o),(0,n.useEffect)(()=>{if(!o)return;let t=!0;return c(e,r).then(e=>{t&&p(e.ok&&e.data?{log:e.data}:{error:e.ok?"No build log came back.":e.error})}).catch(()=>{t&&p({error:"Watchbell didn't answer. Check that it's still running, then try again."})}),()=>{t=!1,p(null),h(null)}},[o,e,r,c]);let g=s&&null!==u&&"log"in u&&"asking"!==m;return(0,t.jsx)(f.N,{open:o,onOpenChange:i,children:(0,t.jsxs)(f.d,{className:"top-0 right-0 left-auto flex h-dvh max-w-full translate-x-0 translate-y-0 flex-col gap-0 rounded-none p-0 sm:max-w-[780px]",children:[(0,t.jsxs)("div",{className:"px-[18px] pb-2 pt-4 pr-12",children:[(0,t.jsxs)(f.F,{className:"text-base",children:["Build log · ",a]}),(0,t.jsxs)(f.C,{className:"mt-0.5 text-[12.5px] text-ink-soft",children:["Newest build, read from Vercel now",(0,t.jsx)(x.Src,{kind:"api"})]}),s&&(0,t.jsx)(l.K,{size:"sm",className:"mt-2",disabled:!g,onClick:()=>{h("asking"),d(e,r).then(e=>h(e.ok&&e.data?e.data:{error:e.ok?"No explanation came back.":e.error})).catch(()=>h({error:"Watchbell didn't answer. Check that it's still running, then try again."}))},children:!m||"asking"===m||"error"in m?"Explain with AI":"Explain again"})]}),m&&(0,t.jsx)(R,{answer:m}),null===u?(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"Reading the build log…"}):"error"in u?(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-4 text-[13px] text-err",children:u.error}):(0,t.jsx)($,{log:u.log})]})})}var P=e.i(322534);let A=(0,c.createServerReference)("60afa6d69baa013614b274a7ce4615c7819d14871a",c.callServer,void 0,c.findSourceMapURL,"releaseNotesAction"),E=/^(https:\/\/github\.com\/[^/]+\/[^/]+)\/commit\/[0-9a-f]+$/,I="text-brand underline-offset-2 hover:underline";function M({c:e,now:n}){var l;let a,o,i=(l=e.title,(a=/\(#(\d{1,7})\)\s*$/.exec(l)??/^Merge pull request #(\d{1,7})\b/.exec(l))?Number(a[1]):null),s=null===i?null:(o=e.url?E.exec(e.url):null)?`${o[1]}/pull/${i}`:null,c=e.sha.slice(0,7);return(0,t.jsxs)("li",{className:"border-b border-line px-[18px] py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"text-[13px] [overflow-wrap:anywhere]",children:[(0,t.jsx)(r.MaskedText,{text:e.title}),s&&(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsxs)("a",{href:s,target:"_blank",rel:"noreferrer",className:I,children:["#",i]})]})]}),(0,t.jsxs)("div",{className:"mt-0.5 font-mono text-xs text-ink-faint",children:[e.url?(0,t.jsx)("a",{href:e.url,target:"_blank",rel:"noreferrer",className:I,children:c}):c,e.author&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,t.jsx)(r.MaskedText,{text:e.author})]}),e.at&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,P.J)(new Date(e.at),n)]})]})]})}function L({notes:e,now:n}){if(e.note)return(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:e.note});if(0===e.commits.length)return(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"GitHub found no commits between these deployments."});let r=e.total-e.commits.length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"px-[18px] pb-2 text-[12.5px] text-ink-soft",children:[e.total," commit",1===e.total?"":"s",e.from?(0,t.jsxs)(t.Fragment,{children:[" since ",(0,t.jsx)("span",{className:"font-mono",children:e.from.slice(0,7)})]}):null]}),(0,t.jsxs)("ul",{className:"min-h-0 flex-1 overflow-auto border-t border-line",children:[e.commits.map(e=>(0,t.jsx)(M,{c:e,now:n},e.sha)),e.cut&&r>0&&(0,t.jsxs)("li",{className:"px-[18px] py-2.5 text-[12.5px] text-ink-soft",children:["+",r," more, older, not shown"]})]})]})}function O({appId:e,deploymentId:r,title:l,open:a,onOpenChange:o,read:i=A}){let[s,c]=(0,n.useState)(null);return(0,b.useHoldRefresh)(a),(0,n.useEffect)(()=>{if(!a)return;let t=!0;return i(e,r).then(e=>{t&&c(e.ok&&e.data?{notes:e.data,at:new Date}:{error:e.ok?"Nothing came back.":e.error})}).catch(()=>{t&&c({error:"Watchbell didn't answer. Check that it's still running, then try again."})}),()=>{t=!1,c(null)}},[a,e,r,i]),(0,t.jsx)(f.N,{open:a,onOpenChange:o,children:(0,t.jsxs)(f.d,{className:"top-0 right-0 left-auto flex h-dvh max-w-full translate-x-0 translate-y-0 flex-col gap-0 rounded-none p-0 sm:max-w-[620px]",children:[(0,t.jsxs)("div",{className:"px-[18px] pb-2 pt-4 pr-12",children:[(0,t.jsxs)(f.F,{className:"text-base",children:["What changed · ",l]}),(0,t.jsxs)(f.C,{className:"mt-0.5 text-[12.5px] text-ink-soft",children:["Since the previous production deployment, compared on GitHub now",(0,t.jsx)(x.Src,{kind:"api"})]})]}),null===s?(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"Reading the commits…"}):"error"in s?(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-4 text-[13px] text-err",children:s.error}):(0,t.jsx)(L,{notes:s.notes,now:s.at})]})})}let U={label:"View build logs",kind:"logs"},_={label:"What changed",kind:"changes"};e.s(["DeployRowActions",0,function({d:e,actions:c,logs:x,changes:f=!1,explain:b=!1}){var g;let k,y,v,j=(0,r.useMask)(),{open:w,dialog:N}=(0,a.W)(),[S,$]=(0,n.useState)(!1),[R,P]=(0,n.useState)(!1),A=e.sha?e.sha.slice(0,7):"",{visit:E,deployment:I}=(k=e.url?`https://${e.url}`:null,e.primaryDomain?{visit:`https://${e.primaryDomain}`,deployment:k}:{visit:k??"",deployment:null}),{buttons:M,menu:L}=(y=[...(g={actions:c,logs:x,changes:f,visit:!!E&&e.visit}).visit&&"button"!==g.logs?[{label:"Visit",kind:"visit"}]:[],...g.actions.map(e=>({label:e,kind:"action",action:e})),..."button"===g.logs?[U]:[]],v=[..."menu"===g.logs?[U]:[],...g.changes?[_]:[]],y.length>2?{buttons:[],menu:[...y,...v]}:{buttons:y,menu:v}),T=t=>w({...(0,i.f)(t,j("app",e.appName),A),run:function(e,t,n){switch(e){case"Redeploy":return()=>(0,m.f)(t,n);case"Roll back to this":return()=>(0,h.f)(t,n);case"Promote":return()=>(0,u.f)(t,n);case"Cancel":return()=>d(t,n);case"Promote to production":return()=>p(t,n)}}(t,e.appId,e.externalId)});return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[M.map(e=>"visit"===e.kind?(0,t.jsx)("a",{href:E,target:"_blank",rel:"noreferrer",className:(0,l.R)({size:"sm"}),children:"Visit"},e.label):"logs"===e.kind?(0,t.jsx)(l.K,{size:"sm",onClick:()=>$(!0),children:e.label},e.label):(0,t.jsx)(l.K,{size:"sm",onClick:()=>T(e.action),children:e.label},e.label)),I&&e.visit&&"button"!==x&&(0,t.jsx)("a",{href:I,target:"_blank",rel:"noreferrer",className:"text-xs text-ink-faint underline-offset-2 hover:text-ink hover:underline",children:"Deployment URL"}),L.length>0&&(0,t.jsx)(o.RowMenu,{label:(0,s.J)(j("app",e.appName),A||e.url||e.externalId),items:L.map(e=>"visit"===e.kind?{label:e.label,href:E}:"logs"===e.kind?{label:e.label,onSelect:()=>$(!0)}:"changes"===e.kind?{label:e.label,onSelect:()=>P(!0)}:{label:e.label,onSelect:()=>T(e.action)})}),N,x&&(0,t.jsx)(C,{appId:e.appId,deploymentId:e.externalId,title:`${j("app",e.appName)}${A?` ${A}`:""}`,open:S,onOpenChange:$,explain:b}),f&&(0,t.jsx)(O,{appId:e.appId,deploymentId:e.externalId,title:`${j("app",e.appName)}${A?` ${A}`:""}`,open:R,onOpenChange:P})]})}],523135)},799589,225794,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(54131),l=e.i(46200),a=e.i(428325);function o(e,t=e=>e){return e.ok?{ok:!0,message:t(e.message??"Done.")}:{ok:!1,message:t(e.error)}}function i(){let e=(0,r.useMask)();return t=>o(t,t=>e("text",t))}e.s(["f",0,o],225794),e.s(["p",0,function({label:e,title:n,body:r,cta:o,danger:s=!1,run:c}){let d=i();return(0,t.jsx)(l.f,{trigger:(0,t.jsx)(a.K,{variant:s?"danger":"secondary",children:e}),title:n,body:r,cta:o,danger:s,onConfirm:async()=>d(await c())})},"W",0,function(){let[e,r]=(0,n.useState)(null),a=i(),o=e?(0,t.jsx)(l.f,{open:!0,onOpenChange:e=>{e||r(null)},title:e.title,body:e.body,cta:e.cta,danger:e.danger,onConfirm:async()=>a(await e.run())}):null;return{open:r,dialog:o}}],799589)},70528,876195,e=>{let t=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\[\d{1,6}\])*$/,n=new Set(["__proto__","prototype","constructor"]),r=[300,3600,86400,604800],l=[300,3600,21600];e.s(["q",0,l,"Q",0,r,"v",0,function(e){return e%604800==0?604800===e?"1 week":`${e/604800} weeks`:e%86400==0?86400===e?"1 day":`${e/86400} days`:e%3600==0?`${e/3600} h`:`${Math.max(1,Math.round(e/60))} min`}],876195);let a=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;function o(e){let t=a.exec(e);if(!t)return null;let n=t.slice(1).map(Number);return n.every(e=>e<=255)?n:null}function i([e,t,n]){return 0===e||10===e||127===e||e>=224||100===e&&t>=64&&t<=127||169===e&&254===t||172===e&&t>=16&&t<=31||192===e&&0===t&&0===n||192===e&&168===t||198===e&&(18===t||19===t)}function s(e){return"https:"!==e.protocol||e.username||e.password?"scheme":""!==e.port&&"443"!==e.port?"blocked":!function(e){let t=e.trim().toLowerCase();if(t.startsWith("[")&&t.endsWith("]")){let e=function(e){let t=e.split("%")[0].toLowerCase();if(!t.includes(":"))return null;if(-1!==t.lastIndexOf(".")){let e=t.lastIndexOf(":"),n=o(t.slice(e+1));if(!n)return null;t=`${t.slice(0,e+1)}${(n[0]<<8|n[1]).toString(16)}:${(n[2]<<8|n[3]).toString(16)}`}let n=t.split("::");if(n.length>2)return null;let r=e=>""===e?[]:e.split(":"),l=r(n[0]),a=2===n.length?r(n[1]):[],i=8-l.length-a.length;if(1===n.length?0!==i:i<1)return null;let s=[...l,...Array(2===n.length?i:0).fill("0"),...a];return 8===s.length&&s.every(e=>/^[0-9a-f]{1,4}$/.test(e))?s.map(e=>parseInt(e,16)):null}(t.slice(1,-1));return!e||function(e){if(e.slice(0,6).every(e=>0===e)||e.slice(0,5).every(e=>0===e)&&65535===e[5]||e.slice(0,4).every(e=>0===e)&&65535===e[4]&&0===e[5]||100===e[0]&&65435===e[1]&&e.slice(2,6).every(e=>0===e)||100===e[0]&&65435===e[1]&&1===e[2])return!0;if(8194===e[0]){let t,n;return i([(t=e[1])>>8,255&t,(n=e[2])>>8,255&n])}return(65024&e[0])==64512||(65472&e[0])==65152||(65472&e[0])==65216||(65280&e[0])==65280}(e)}if(t.endsWith(".")&&(t=t.slice(0,-1)),!t)return!0;let n=o(t);if(n)return i(n);let r=t.slice(t.lastIndexOf(".")+1);return!(!/^(\d+|0x[0-9a-f]*)$/.test(r)&&t.includes("."))||"localhost"===t||/\.(localhost|local|internal)$/.test(t)||t.endsWith(".home.arpa")}(e.hostname)?null:"blocked"}e.i(684496);let c=[3,5,10],d=/[\u0000-\u001f\u007f-\u009f]/,u=/[­؜᠎​-‏‪-‮⁠-⁤⁦-⁩]/;e.s(["L",0,c,"G",0,function(e){return null!==e.lastStatus&&e.lastError&&!/^HTTP \d{3}( · DEPLOYMENT_NOT_FOUND)?$/.test(e.lastError)?e.lastError:null},"a",0,function(e){let t={},n=String(e?.name??""),a=n.trim().replace(/\s+/g," ");!/[\p{L}\p{N}]/u.test(a)||d.test(a)||u.test(n)?t.name="Name the job, like backup job.":a.length>60&&(t.name="Keep the name to 60 characters.");let o=Number(e?.periodS);r.includes(o)||(t.periodS="Pick how often the job runs.");let i=Number(e?.graceS);return(l.includes(i)||(t.graceS="Pick a grace time."),Object.keys(t).length)?{ok:!1,fieldErrors:t}:{ok:!0,value:{name:a,periodS:o,graceS:i}}},"X",0,function(e){let r={},l=String(e?.url??"").trim(),a=null;try{a=new URL(l)}catch{a=null}a&&a.hostname&&!(l.length>2048)&&"scheme"!==s(a)?"blocked"===s(a)&&(r.url="Use a public https address."):r.url="Enter a full https:// address.";let o=String(e?.expectedStatus??"").trim();/^[1-5]\d\d$/.test(o)||(r.expectedStatus="Enter an HTTP status between 100 and 599.");let i=Number(e?.timeoutS);c.includes(i)||(r.timeoutS="Pick a timeout.");let d=String(e?.bodyContains??"").trim(),u=String(e?.jsonPath??"").trim(),p=String(e?.jsonEquals??"").trim();return(d.length>200&&(r.bodyContains="Keep the keyword under 200 characters."),!u&&p&&(r.jsonPath="Add a JSON path for the value."),u&&(u.length>100||!function(e){if(!t.test(e))return null;let r=[];for(let t of e.matchAll(/([A-Za-z_$][\w$]*)|\[(\d+)\]/g))r.push(void 0!==t[1]?t[1]:Number(t[2]));return r.some(e=>"string"==typeof e&&n.has(e))?null:r}(u)?r.jsonPath="Use dots and [0] only, like checks.db or items[0].state.":p?p.length>200&&(r.jsonEquals="Keep the value under 200 characters."):r.jsonEquals="Enter the value it must equal.",d&&!r.bodyContains&&(r.bodyContains="Use either a keyword or a JSON field.")),Object.keys(r).length||!a)?{ok:!1,fieldErrors:r}:(a.hash="",{ok:!0,value:{url:a.toString(),expectedStatus:Number(o),timeoutMs:1e3*i,bodyContains:d||null,jsonPath:u||null,jsonEquals:u?p:null}})}],70528)},856033,e=>{e.s(["f",0,function(e,t,n){switch(e){case"Redeploy":return{title:`Redeploy ${t}?`,cta:"Redeploy",danger:!1,body:"Vercel builds the current production deployment again (same commit, today's environment variables) and makes it live when the build is ready. It counts toward the 100 deployments a day on Hobby."};case"Roll back":return{title:`Roll back ${t}?`,cta:"Roll back",danger:!0,body:"Production goes back to the previous production deployment. Hobby can't go further back. Vercel then stops sending new pushes to production until you promote one again."};case"Roll back to this":return{title:`Roll back ${t} to ${n||"this deployment"}?`,cta:"Roll back",danger:!0,body:"Production goes back to this deployment. Hobby only allows the previous production deployment. Vercel then stops sending new pushes to production until you promote one again."};case"Promote":return{title:`Promote ${t} ${n}?`.replace(" ?","?"),cta:"Promote",danger:!1,body:"Production traffic moves to this production deployment and new pushes go live again (this undoes a roll back). Nothing is rebuilt."};case"Promote to production":return{title:`Promote ${t} ${n} to production?`.replace(" "," "),cta:"Promote to production",danger:!0,body:"Vercel builds this preview's commit again as a production deployment, with the production environment variables (preview-only values aren't used), and makes it live when the build is ready. It counts toward the 100 deployments a day on Hobby."};case"Cancel":return{title:"Cancel this build?",cta:"Cancel build",danger:!0,body:`The running build of ${`${t} ${n}`.trim()} stops. The current production deployment stays live.`}}}])},452842,e=>{e.i(203709),e.i(70528),e.i(684496),e.i(322534),e.s(["p",0,[["deployment","Deployment"],["monitor","Monitor"],["database","Database"],["system","System"],["action","Action"]],"X",0,{ok:"healthy",warn:"degraded",err:"down",idle:"idle",build:"building",paused:"paused",info:"info",fail:"failed",off:"off",unknown:"unknown",maint:"maintenance"},"J",0,(...e)=>`Actions for ${e.filter(Boolean).join(" ")}`],452842)}])})();
@@ -1 +0,0 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33550,e=>{var t=e.i(271645),r={outline:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},filled:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",stroke:"none"}};e.s(["f",0,(e,a,n,i)=>{let s=(0,t.forwardRef)(({color:n="currentColor",size:s=24,stroke:l=2,title:o,className:d,children:c,...f},h)=>(0,t.createElement)("svg",{ref:h,...r[e],width:s,height:s,className:["tabler-icon",`tabler-icon-${a}`,d].filter(Boolean).join(" "),..."filled"===e?{fill:n}:{strokeWidth:l,stroke:n},...f},[o&&(0,t.createElement)("title",{key:"svg-title"},o),...i.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(c)?c:[c]]));return s.displayName=`${n}`,s}],33550)},344423,e=>{let t=(0,e.i(33550).f)("outline","alert-circle","AlertCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 8v4",key:"svg-1"}],["path",{d:"M12 16h.01",key:"svg-2"}]]);e.s(["f",0,t],344423)},146874,e=>{let t=(0,e.i(33550).f)("outline","alert-triangle","AlertTriangle",[["path",{d:"M12 9v4",key:"svg-0"}],["path",{d:"M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0",key:"svg-1"}],["path",{d:"M12 16h.01",key:"svg-2"}]]);e.s(["f",0,t],146874)},785642,396455,802480,802874,e=>{var t=e.i(33550);let r=(0,t.f)("outline","circle-check","CircleCheck",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M9 12l2 2l4 -4",key:"svg-1"}]]);e.s(["f",0,r],785642);let a=(0,t.f)("outline","circle-dashed","CircleDashed",[["path",{d:"M8.56 3.69a9 9 0 0 0 -2.92 1.95",key:"svg-0"}],["path",{d:"M3.69 8.56a9 9 0 0 0 -.69 3.44",key:"svg-1"}],["path",{d:"M3.69 15.44a9 9 0 0 0 1.95 2.92",key:"svg-2"}],["path",{d:"M8.56 20.31a9 9 0 0 0 3.44 .69",key:"svg-3"}],["path",{d:"M15.44 20.31a9 9 0 0 0 2.92 -1.95",key:"svg-4"}],["path",{d:"M20.31 15.44a9 9 0 0 0 .69 -3.44",key:"svg-5"}],["path",{d:"M20.31 8.56a9 9 0 0 0 -1.95 -2.92",key:"svg-6"}],["path",{d:"M15.44 3.69a9 9 0 0 0 -3.44 -.69",key:"svg-7"}]]);e.s(["f",0,a],396455);let n=(0,t.f)("outline","circle-x","CircleX",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M10 10l4 4m0 -4l-4 4",key:"svg-1"}]]);e.s(["f",0,n],802480);let i=(0,t.f)("outline","hammer","Hammer",[["path",{d:"M11.414 10l-7.383 7.418a2.091 2.091 0 0 0 0 2.967a2.11 2.11 0 0 0 2.976 0l7.407 -7.385",key:"svg-0"}],["path",{d:"M18.121 15.293l2.586 -2.586a1 1 0 0 0 0 -1.414l-7.586 -7.586a1 1 0 0 0 -1.414 0l-2.586 2.586a1 1 0 0 0 0 1.414l7.586 7.586a1 1 0 0 0 1.414 0",key:"svg-1"}]]);e.s(["f",0,i],802874)},239692,e=>{let t=(0,e.i(33550).f)("outline","help-circle","HelpCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 16v.01",key:"svg-1"}],["path",{d:"M12 13a2 2 0 0 0 .914 -3.782a1.98 1.98 0 0 0 -2.414 .483",key:"svg-2"}]]);e.s(["f",0,t],239692)},39622,e=>{let t=(0,e.i(33550).f)("outline","info-circle","InfoCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 9h.01",key:"svg-1"}],["path",{d:"M11 12h1v4h1",key:"svg-2"}]]);e.s(["f",0,t],39622)},513932,e=>{let t=(0,e.i(33550).f)("outline","loader-2","Loader2",[["path",{d:"M12 3a9 9 0 1 0 9 9",key:"svg-0"}]]);e.s(["f",0,t],513932)},95187,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0});var a={callServer:function(){return i.callServer},createServerReference:function(){return l.createServerReference},findSourceMapURL:function(){return s.findSourceMapURL}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let i=e.r(132120),s=e.r(92245),l=e.r(235326)},128829,e=>{var t=e.i(95187);let r=(0,t.createServerReference)("008b6dbed199d0deb40e431c4e4f3d7746a8c4835f",t.callServer,void 0,t.findSourceMapURL,"signOut");e.s(["f",0,r])},758298,e=>{var t=e.i(843476),r=e.i(16340),a=e.i(516171);e.s(["default",0,function({error:e,retry:n}){return(0,t.jsx)("main",{className:"grid min-h-screen place-items-center px-4 py-6",children:(0,t.jsx)("div",{className:"w-[460px] max-w-full",children:(0,t.jsx)(r.f,{digest:e.digest,retry:n,withSignOut:!0,notice:(0,a.f)(e.digest)??void 0})})})}])},16340,e=>{var t=e.i(843476),r=e.i(146874),a=e.i(128829),n=e.i(428325);e.s(["f",0,function({digest:e,retry:i,withSignOut:s=!1,note:l,notice:o}){return(0,t.jsx)(n.N,{children:(0,t.jsxs)(n.k,{icon:r.f,title:o?"Try again soon":"This page didn't load",action:(0,t.jsxs)("div",{className:"flex flex-wrap justify-center gap-2",children:[(0,t.jsx)(n.K,{variant:"primary",onClick:()=>i(),children:"Try again"}),s&&(0,t.jsx)("form",{action:a.f,children:(0,t.jsx)(n.K,{type:"submit",children:"Sign out"})})]}),children:[o??"Watchbell couldn't read its database, or a setting is missing. It keeps retrying on its own; the server log has the details (reference below).",l&&(0,t.jsx)("p",{className:"mt-2 text-xs text-ink-soft",role:"status",children:l}),e&&!o&&(0,t.jsxs)("p",{className:"mt-2 font-mono text-xs text-ink-faint",children:["Reference ",e]})]})})}])},428325,e=>{var t=e.i(843476);let r=(0,e.i(33550).f)("outline","inbox","Inbox",[["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",key:"svg-0"}],["path",{d:"M4 13h3l3 3h4l3 -3h3",key:"svg-1"}]]);e.i(522016);var a=e.i(54131),n=e.i(220806),i=e.i(975157);function s({variant:e="secondary",size:t="md"}={}){return(0,i.f)("inline-flex items-center gap-1.5 whitespace-nowrap rounded-md border transition-colors disabled:cursor-not-allowed disabled:opacity-60 hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40","sm"===t?"px-[9px] py-[3px] text-[13px]":"px-3 py-1.5","primary"===e&&"border-brand bg-brand text-on-brand hover:bg-brand-hover","secondary"===e&&"border-line-strong bg-surface text-ink hover:bg-hover","ghost"===e&&"border-transparent bg-transparent text-brand hover:bg-brand-soft","danger"===e&&"border-err bg-err text-on-brand hover:brightness-95")}let l={danger:{box:"bg-err-soft border-err/30",state:"err"},warning:{box:"bg-warn-soft border-warn-icon/35",state:"warn"},info:{box:"bg-brand-soft border-brand/25",state:"info"}},o=(e,r)=>"string"==typeof e?(0,t.jsx)(a.MaskedText,{text:e,inLink:r}):e;e.s(["M",0,function({tone:e,title:r,children:a,action:s}){let d=l[e];return(0,t.jsxs)("div",{className:(0,i.f)("flex items-start gap-2.5 rounded-lg border px-3.5 py-2.5",d.box),role:"danger"===e?"alert":"status",children:[(0,t.jsx)("span",{className:"mt-px",children:(0,t.jsx)(n.Z,{state:d.state,size:18})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("b",{className:"block font-medium",children:o(r)}),a&&(0,t.jsx)("p",{className:"mt-0.5 text-[13px] text-ink-soft",children:o(a)})]}),s&&(0,t.jsx)("div",{className:"ml-auto",children:s})]})},"K",0,function({variant:e,size:r,className:a,type:n="button",...l}){return(0,t.jsx)("button",{type:n,className:(0,i.f)(s({variant:e,size:r}),a),...l})},"N",0,function({title:e,meta:r,flush:a,className:n,children:s}){return(0,t.jsxs)("section",{className:(0,i.f)("min-w-0 rounded-lg border border-line bg-surface",n),children:[e&&(0,t.jsxs)("div",{className:(0,i.f)("flex flex-wrap items-center gap-2 px-[18px] pt-3.5",a?"pb-2.5":"pb-1.5"),children:[(0,t.jsx)("h2",{className:"text-[15px]",children:e}),r&&(0,t.jsx)("span",{className:"ml-auto flex items-center gap-1.5 text-[12.5px] text-ink-soft",children:r})]}),a?s:(0,t.jsx)("div",{className:"px-[18px] pb-4 pt-2",children:s})]})},"k",0,function({icon:e=r,title:a,children:n,action:i}){return(0,t.jsxs)("div",{className:"px-4 py-7 text-center text-ink-soft",children:[(0,t.jsx)(e,{size:28,"aria-hidden":!0,className:"mx-auto text-ink-faint"}),(0,t.jsx)("b",{className:"mb-0.5 mt-1.5 block font-medium text-ink",children:a}),n,i&&(0,t.jsx)("div",{className:"mt-3",children:i})]})},"O",0,function({id:e,label:r,help:a,error:n,children:i}){return(0,t.jsxs)("div",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,t.jsx)("label",{htmlFor:e,className:"text-[13px] font-medium",children:r}),i,a&&(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:a}),n&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:n})]})},"_",0,function({label:e,pressed:r,children:a,...n}){return(0,t.jsx)("button",{type:"button","aria-label":e,title:e,"aria-pressed":r,className:(0,i.f)("relative inline-grid size-[34px] shrink-0 place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",r&&"bg-brand-soft text-brand"),...n,children:a})},"E",0,function({children:e}){return(0,t.jsx)("span",{className:"mr-1 inline-block rounded-[5px] border border-line bg-surface-2 px-1.5 text-xs text-ink-soft",children:e})},"R",0,s,"S",0,"w-full rounded-md border border-line-strong bg-surface px-2.5 py-1.5 text-ink outline-none focus:border-brand focus:ring-2 focus:ring-brand/40"],428325)},220806,914552,615884,e=>{var t=e.i(843476),r=e.i(344423),a=e.i(146874),n=e.i(785642),i=e.i(396455),s=e.i(802480),l=e.i(802874),o=e.i(239692),d=e.i(39622),c=e.i(513932),f=e.i(33550);let h=(0,f.f)("outline","moon","Moon",[["path",{d:"M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454l0 .008",key:"svg-0"}]]);e.s(["f",0,h],914552);let x=(0,f.f)("outline","player-pause","PlayerPause",[["path",{d:"M6 6a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -12",key:"svg-0"}],["path",{d:"M14 6a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -12",key:"svg-1"}]]),p=(0,f.f)("outline","tool","Tool",[["path",{d:"M7 10h3v-3l-3.5 -3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1 -3 3l-6 -6a6 6 0 0 1 -8 -8l3.5 3.5",key:"svg-0"}]]);e.s(["f",0,p],615884);let u={ok:"text-ok",warn:"text-warn-icon",paused:"text-warn-icon",err:"text-err",fail:"text-err",idle:"text-idle",off:"text-idle",unknown:"text-idle",build:"text-brand",info:"text-brand",maint:"text-brand"};var g=e.i(975157);let b={ok:n.f,warn:a.f,err:r.f,idle:h,build:c.f,paused:x,info:d.f,fail:s.f,off:i.f,unknown:o.f,maint:p};function m({state:e,size:r=17,still:a=!1}){let n=a&&"build"===e?l.f:b[e];return(0,t.jsx)(n,{size:r,"aria-hidden":!0,className:(0,g.f)("shrink-0",u[e],"build"===e&&!a&&"animate-spin")})}e.s(["Z",0,m,"F",0,function({state:e,children:r}){return(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 whitespace-nowrap",children:[(0,t.jsx)(m,{state:e}),(0,t.jsx)("span",{children:r})]})}],220806)},516171,e=>{let t=new Map([["watchbell-demo-busy","The demo is busy right now. Try again in a minute."],["watchbell-demo-too-many","Too many new demo sessions from your network. Try again in a few minutes."]]);new Map([...t].map(([e,t])=>[t,e])),e.s(["f",0,function(e){return"string"==typeof e?t.get(e)??null:null}])}])})();
@@ -1 +0,0 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,746154,e=>{var t=e.i(843476),i=e.i(271645),n=e.i(16340),s=e.i(516171),a=e.i(171197);let r=0,o=0;e.s(["default",0,function({error:e,retry:l}){return(0,i.useEffect)(()=>{let e=Date.now();e-o>12e4&&(r=0);let t=setInterval(()=>(function(e,t){if("visible"!==document.visibilityState||!1===navigator.onLine)return;let i=Date.now();i-Math.max(e,o)<(0,a.$)(r)||(r+=1,o=i,t())})(e,l),1e3);return()=>clearInterval(t)},[l]),(0,t.jsx)(n.f,{digest:e.digest,retry:l,note:"Retrying…",notice:(0,s.f)(e.digest)??void 0})}])},16340,e=>{var t=e.i(843476),i=e.i(146874),n=e.i(128829),s=e.i(428325);e.s(["f",0,function({digest:e,retry:a,withSignOut:r=!1,note:o,notice:l}){return(0,t.jsx)(s.N,{children:(0,t.jsxs)(s.k,{icon:i.f,title:l?"Try again soon":"This page didn't load",action:(0,t.jsxs)("div",{className:"flex flex-wrap justify-center gap-2",children:[(0,t.jsx)(s.K,{variant:"primary",onClick:()=>a(),children:"Try again"}),r&&(0,t.jsx)("form",{action:n.f,children:(0,t.jsx)(s.K,{type:"submit",children:"Sign out"})})]}),children:[l??"Watchbell couldn't read its database, or a setting is missing. It keeps retrying on its own; the server log has the details (reference below).",o&&(0,t.jsx)("p",{className:"mt-2 text-xs text-ink-soft",role:"status",children:o}),e&&!l&&(0,t.jsxs)("p",{className:"mt-2 font-mono text-xs text-ink-faint",children:["Reference ",e]})]})})}])},516171,e=>{let t=new Map([["watchbell-demo-busy","The demo is busy right now. Try again in a minute."],["watchbell-demo-too-many","Too many new demo sessions from your network. Try again in a few minutes."]]);new Map([...t].map(([e,t])=>[t,e])),e.s(["f",0,function(e){return"string"==typeof e?t.get(e)??null:null}])}])})();
@@ -1 +0,0 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33550,e=>{var t=e.i(271645),a={outline:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},filled:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",stroke:"none"}};e.s(["f",0,(e,r,n,s)=>{let i=(0,t.forwardRef)(({color:n="currentColor",size:i=24,stroke:l=2,title:o,className:d,children:c,...u},m)=>(0,t.createElement)("svg",{ref:m,...a[e],width:i,height:i,className:["tabler-icon",`tabler-icon-${r}`,d].filter(Boolean).join(" "),..."filled"===e?{fill:n}:{strokeWidth:l,stroke:n},...u},[o&&(0,t.createElement)("title",{key:"svg-title"},o),...s.map(([e,a])=>(0,t.createElement)(e,a)),...Array.isArray(c)?c:[c]]));return i.displayName=`${n}`,i}],33550)},344423,e=>{let t=(0,e.i(33550).f)("outline","alert-circle","AlertCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 8v4",key:"svg-1"}],["path",{d:"M12 16h.01",key:"svg-2"}]]);e.s(["f",0,t],344423)},146874,e=>{let t=(0,e.i(33550).f)("outline","alert-triangle","AlertTriangle",[["path",{d:"M12 9v4",key:"svg-0"}],["path",{d:"M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0",key:"svg-1"}],["path",{d:"M12 16h.01",key:"svg-2"}]]);e.s(["f",0,t],146874)},785642,396455,802480,802874,e=>{var t=e.i(33550);let a=(0,t.f)("outline","circle-check","CircleCheck",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M9 12l2 2l4 -4",key:"svg-1"}]]);e.s(["f",0,a],785642);let r=(0,t.f)("outline","circle-dashed","CircleDashed",[["path",{d:"M8.56 3.69a9 9 0 0 0 -2.92 1.95",key:"svg-0"}],["path",{d:"M3.69 8.56a9 9 0 0 0 -.69 3.44",key:"svg-1"}],["path",{d:"M3.69 15.44a9 9 0 0 0 1.95 2.92",key:"svg-2"}],["path",{d:"M8.56 20.31a9 9 0 0 0 3.44 .69",key:"svg-3"}],["path",{d:"M15.44 20.31a9 9 0 0 0 2.92 -1.95",key:"svg-4"}],["path",{d:"M20.31 15.44a9 9 0 0 0 .69 -3.44",key:"svg-5"}],["path",{d:"M20.31 8.56a9 9 0 0 0 -1.95 -2.92",key:"svg-6"}],["path",{d:"M15.44 3.69a9 9 0 0 0 -3.44 -.69",key:"svg-7"}]]);e.s(["f",0,r],396455);let n=(0,t.f)("outline","circle-x","CircleX",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M10 10l4 4m0 -4l-4 4",key:"svg-1"}]]);e.s(["f",0,n],802480);let s=(0,t.f)("outline","hammer","Hammer",[["path",{d:"M11.414 10l-7.383 7.418a2.091 2.091 0 0 0 0 2.967a2.11 2.11 0 0 0 2.976 0l7.407 -7.385",key:"svg-0"}],["path",{d:"M18.121 15.293l2.586 -2.586a1 1 0 0 0 0 -1.414l-7.586 -7.586a1 1 0 0 0 -1.414 0l-2.586 2.586a1 1 0 0 0 0 1.414l7.586 7.586a1 1 0 0 0 1.414 0",key:"svg-1"}]]);e.s(["f",0,s],802874)},239692,e=>{let t=(0,e.i(33550).f)("outline","help-circle","HelpCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 16v.01",key:"svg-1"}],["path",{d:"M12 13a2 2 0 0 0 .914 -3.782a1.98 1.98 0 0 0 -2.414 .483",key:"svg-2"}]]);e.s(["f",0,t],239692)},39622,e=>{let t=(0,e.i(33550).f)("outline","info-circle","InfoCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 9h.01",key:"svg-1"}],["path",{d:"M11 12h1v4h1",key:"svg-2"}]]);e.s(["f",0,t],39622)},513932,e=>{let t=(0,e.i(33550).f)("outline","loader-2","Loader2",[["path",{d:"M12 3a9 9 0 1 0 9 9",key:"svg-0"}]]);e.s(["f",0,t],513932)},95187,(e,t,a)=>{Object.defineProperty(a,"__esModule",{value:!0});var r={callServer:function(){return s.callServer},createServerReference:function(){return l.createServerReference},findSourceMapURL:function(){return i.findSourceMapURL}};for(var n in r)Object.defineProperty(a,n,{enumerable:!0,get:r[n]});let s=e.r(132120),i=e.r(92245),l=e.r(235326)},837244,e=>{var t=e.i(95187);let a=(0,t.createServerReference)("60075c81d57cd2a35fb207e0a4e00bfa0eb218f833",t.callServer,void 0,t.findSourceMapURL,"signInWithPassword");e.s(["f",0,a])},426074,e=>{var t=e.i(843476),a=e.i(271645),r=e.i(428325);let n="demo@watchbell.west-solutions.web.id",s="watchbell-demo";var i=e.i(837244);e.s(["DemoSignInForm",0,function({next:e}){let[l,o,d]=(0,a.useActionState)(i.f,{status:"idle"}),c=(0,a.useRef)(null),u=(0,a.useRef)(null);return(0,t.jsxs)("form",{action:o,children:[(0,t.jsx)("h1",{className:"mb-1 text-xl",children:"Try the Watchbell demo"}),(0,t.jsx)("p",{className:"mb-[18px] text-ink-soft",children:"Sign in with the demo account to look around a console full of made-up data of your own."}),(0,t.jsxs)("div",{className:"mb-[18px] rounded-lg border border-line bg-sunken px-3.5 py-3",children:[(0,t.jsxs)("dl",{className:"mb-2.5 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-[13px]",children:[(0,t.jsx)("dt",{className:"text-ink-soft",children:"Email"}),(0,t.jsx)("dd",{className:"break-all font-mono",children:n}),(0,t.jsx)("dt",{className:"text-ink-soft",children:"Password"}),(0,t.jsx)("dd",{className:"font-mono",children:s})]}),(0,t.jsx)(r.K,{size:"sm",onClick:()=>{c.current&&(c.current.value=n),u.current&&(u.current.value=s),u.current?.focus()},children:"Use demo account"})]}),e&&(0,t.jsx)("input",{type:"hidden",name:"next",value:e}),(0,t.jsx)(r.O,{id:"email",label:"Email",error:"error"===l.status&&"email"===l.field?l.message:void 0,children:(0,t.jsx)("input",{ref:c,id:"email",name:"email",type:"email",autoComplete:"username",placeholder:"name@example.com",required:!0,maxLength:254,defaultValue:"error"===l.status?l.email:void 0,className:r.S})}),(0,t.jsx)(r.O,{id:"password",label:"Password",error:"error"===l.status&&"email"!==l.field?l.message:void 0,children:(0,t.jsx)("input",{ref:u,id:"password",name:"password",type:"password",autoComplete:"current-password",required:!0,maxLength:200,className:r.S})}),(0,t.jsx)(r.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:d,children:d?"Signing in…":"Sign in"}),(0,t.jsx)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:"Or use any email and password. Every sign-in, the demo account too, gets its own made-up data."})]})}],426074)},781354,e=>{var t=e.i(843476),a=e.i(271645),r=e.i(428325),n=e.i(837244);e.s(["PasswordSignInForm",0,function({next:e}){let[s,i,l]=(0,a.useActionState)(n.f,{status:"idle"});return(0,t.jsxs)("form",{action:i,children:[(0,t.jsx)("h1",{className:"mb-1 text-xl",children:"Sign in to Watchbell"}),(0,t.jsx)("p",{className:"mb-[18px] text-ink-soft",children:"Use the email and password an owner set up for you."}),e&&(0,t.jsx)("input",{type:"hidden",name:"next",value:e}),(0,t.jsx)(r.O,{id:"email",label:"Email",children:(0,t.jsx)("input",{id:"email",name:"email",type:"email",autoComplete:"username",placeholder:"name@example.com",required:!0,defaultValue:"error"===s.status?s.email:void 0,className:r.S})}),(0,t.jsx)(r.O,{id:"password",label:"Password",error:"error"===s.status?s.message:void 0,children:(0,t.jsx)("input",{id:"password",name:"password",type:"password",autoComplete:"current-password",required:!0,maxLength:1024,className:r.S})}),(0,t.jsx)(r.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:l,children:l?"Signing in…":"Sign in"}),(0,t.jsxs)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:["Forgot your password? Ask an owner to reset it. If you are the owner, stop Watchbell and run"," ",(0,t.jsx)("code",{className:"font-mono text-ink-soft",children:"watchbell reset-login you@example.com"})," on the machine it runs on (from an installer: ",(0,t.jsx)("code",{className:"font-mono text-ink-soft",children:"npm run reset-login -- you@example.com"})," in its app folder)."]})]})}])},419564,e=>{var t=e.i(843476),a=e.i(271645),r=e.i(428325);let n="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit";function s({siteKey:e}){let r=(0,a.useRef)(null),[i,l]=(0,a.useState)(!1);return((0,a.useEffect)(()=>{let t,a=!1;return(window.turnstile?Promise.resolve(window.turnstile):new Promise((e,t)=>{let a=document.querySelector(`script[src="${n}"]`);a||((a=document.createElement("script")).src=n,a.async=!0,document.head.appendChild(a));let r=a;r.addEventListener("load",()=>window.turnstile?e(window.turnstile):t(Error("turnstile"))),r.addEventListener("error",()=>{r.remove(),t(Error("turnstile"))})})).then(n=>{!a&&r.current&&(t=n.render(r.current,{sitekey:e,action:"signin",theme:"auto"}))}).catch(()=>{console.warn("bot check failed to load"),a||l(!0)}),()=>{a=!0,t&&window.turnstile&&window.turnstile.remove(t)}},[e]),i)?(0,t.jsx)("p",{role:"alert",className:"mb-3.5 text-[13px] text-err",children:"The bot check couldn't load. Check your connection and reload the page."}):(0,t.jsx)("div",{ref:r,className:"mb-3.5 min-h-[65px]"})}var i=e.i(95187);let l=(0,i.createServerReference)("60cef16acb598a28f0b7f4a5d690c8c3999ef48a5a",i.callServer,void 0,i.findSourceMapURL,"sendSignInLink");e.s(["SignInForm",0,function({siteKey:e}){let[n,i,o]=(0,a.useActionState)(l,{status:"idle"}),[d,c]=(0,a.useState)(!1),[u,m]=(0,a.useState)(0);return"sent"!==n.status||d?(0,t.jsxs)("form",{action:e=>{c(!1),m(e=>e+1),i(e)},children:[(0,t.jsx)("h1",{className:"mb-1 text-xl",children:"Sign in to Watchbell"}),(0,t.jsx)("p",{className:"mb-[18px] text-ink-soft",children:"We'll email you a sign-in link. Only invited people can get in."}),(0,t.jsx)(r.O,{id:"email",label:"Email",error:"error"===n.status?n.message:void 0,children:(0,t.jsx)("input",{id:"email",name:"email",type:"email",autoComplete:"email",placeholder:"name@example.com",required:!0,className:r.S})}),(0,t.jsx)(s,{siteKey:e},u),(0,t.jsx)(r.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:o,children:o?"Sending…":"Send sign-in link"}),(0,t.jsx)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:"Can't get in? Ask an owner to invite you."})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h1",{className:"mb-1 text-xl",children:"Check your email"}),(0,t.jsxs)("p",{className:"mb-[18px] text-ink-soft",children:["If ",n.email," is invited, a sign-in link is on its way. It works for 1 hour."]}),(0,t.jsx)(r.K,{className:"w-full justify-center",onClick:()=>c(!0),children:"Use a different email"})]})}],419564)},428325,e=>{var t=e.i(843476);let a=(0,e.i(33550).f)("outline","inbox","Inbox",[["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",key:"svg-0"}],["path",{d:"M4 13h3l3 3h4l3 -3h3",key:"svg-1"}]]);e.i(522016);var r=e.i(54131),n=e.i(220806),s=e.i(975157);function i({variant:e="secondary",size:t="md"}={}){return(0,s.f)("inline-flex items-center gap-1.5 whitespace-nowrap rounded-md border transition-colors disabled:cursor-not-allowed disabled:opacity-60 hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40","sm"===t?"px-[9px] py-[3px] text-[13px]":"px-3 py-1.5","primary"===e&&"border-brand bg-brand text-on-brand hover:bg-brand-hover","secondary"===e&&"border-line-strong bg-surface text-ink hover:bg-hover","ghost"===e&&"border-transparent bg-transparent text-brand hover:bg-brand-soft","danger"===e&&"border-err bg-err text-on-brand hover:brightness-95")}let l={danger:{box:"bg-err-soft border-err/30",state:"err"},warning:{box:"bg-warn-soft border-warn-icon/35",state:"warn"},info:{box:"bg-brand-soft border-brand/25",state:"info"}},o=(e,a)=>"string"==typeof e?(0,t.jsx)(r.MaskedText,{text:e,inLink:a}):e;e.s(["M",0,function({tone:e,title:a,children:r,action:i}){let d=l[e];return(0,t.jsxs)("div",{className:(0,s.f)("flex items-start gap-2.5 rounded-lg border px-3.5 py-2.5",d.box),role:"danger"===e?"alert":"status",children:[(0,t.jsx)("span",{className:"mt-px",children:(0,t.jsx)(n.Z,{state:d.state,size:18})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("b",{className:"block font-medium",children:o(a)}),r&&(0,t.jsx)("p",{className:"mt-0.5 text-[13px] text-ink-soft",children:o(r)})]}),i&&(0,t.jsx)("div",{className:"ml-auto",children:i})]})},"K",0,function({variant:e,size:a,className:r,type:n="button",...l}){return(0,t.jsx)("button",{type:n,className:(0,s.f)(i({variant:e,size:a}),r),...l})},"N",0,function({title:e,meta:a,flush:r,className:n,children:i}){return(0,t.jsxs)("section",{className:(0,s.f)("min-w-0 rounded-lg border border-line bg-surface",n),children:[e&&(0,t.jsxs)("div",{className:(0,s.f)("flex flex-wrap items-center gap-2 px-[18px] pt-3.5",r?"pb-2.5":"pb-1.5"),children:[(0,t.jsx)("h2",{className:"text-[15px]",children:e}),a&&(0,t.jsx)("span",{className:"ml-auto flex items-center gap-1.5 text-[12.5px] text-ink-soft",children:a})]}),r?i:(0,t.jsx)("div",{className:"px-[18px] pb-4 pt-2",children:i})]})},"k",0,function({icon:e=a,title:r,children:n,action:s}){return(0,t.jsxs)("div",{className:"px-4 py-7 text-center text-ink-soft",children:[(0,t.jsx)(e,{size:28,"aria-hidden":!0,className:"mx-auto text-ink-faint"}),(0,t.jsx)("b",{className:"mb-0.5 mt-1.5 block font-medium text-ink",children:r}),n,s&&(0,t.jsx)("div",{className:"mt-3",children:s})]})},"O",0,function({id:e,label:a,help:r,error:n,children:s}){return(0,t.jsxs)("div",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,t.jsx)("label",{htmlFor:e,className:"text-[13px] font-medium",children:a}),s,r&&(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:r}),n&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:n})]})},"_",0,function({label:e,pressed:a,children:r,...n}){return(0,t.jsx)("button",{type:"button","aria-label":e,title:e,"aria-pressed":a,className:(0,s.f)("relative inline-grid size-[34px] shrink-0 place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",a&&"bg-brand-soft text-brand"),...n,children:r})},"E",0,function({children:e}){return(0,t.jsx)("span",{className:"mr-1 inline-block rounded-[5px] border border-line bg-surface-2 px-1.5 text-xs text-ink-soft",children:e})},"R",0,i,"S",0,"w-full rounded-md border border-line-strong bg-surface px-2.5 py-1.5 text-ink outline-none focus:border-brand focus:ring-2 focus:ring-brand/40"],428325)},220806,914552,615884,e=>{var t=e.i(843476),a=e.i(344423),r=e.i(146874),n=e.i(785642),s=e.i(396455),i=e.i(802480),l=e.i(802874),o=e.i(239692),d=e.i(39622),c=e.i(513932),u=e.i(33550);let m=(0,u.f)("outline","moon","Moon",[["path",{d:"M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454l0 .008",key:"svg-0"}]]);e.s(["f",0,m],914552);let x=(0,u.f)("outline","player-pause","PlayerPause",[["path",{d:"M6 6a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -12",key:"svg-0"}],["path",{d:"M14 6a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -12",key:"svg-1"}]]),p=(0,u.f)("outline","tool","Tool",[["path",{d:"M7 10h3v-3l-3.5 -3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1 -3 3l-6 -6a6 6 0 0 1 -8 -8l3.5 3.5",key:"svg-0"}]]);e.s(["f",0,p],615884);let f={ok:"text-ok",warn:"text-warn-icon",paused:"text-warn-icon",err:"text-err",fail:"text-err",idle:"text-idle",off:"text-idle",unknown:"text-idle",build:"text-brand",info:"text-brand",maint:"text-brand"};var h=e.i(975157);let b={ok:n.f,warn:r.f,err:a.f,idle:m,build:c.f,paused:x,info:d.f,fail:i.f,off:s.f,unknown:o.f,maint:p};function g({state:e,size:a=17,still:r=!1}){let n=r&&"build"===e?l.f:b[e];return(0,t.jsx)(n,{size:a,"aria-hidden":!0,className:(0,h.f)("shrink-0",f[e],"build"===e&&!r&&"animate-spin")})}e.s(["Z",0,g,"F",0,function({state:e,children:a}){return(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 whitespace-nowrap",children:[(0,t.jsx)(g,{state:e}),(0,t.jsx)("span",{children:a})]})}],220806)}])})();
@@ -1 +0,0 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,77656,e=>{let t=(0,e.i(33550).f)("outline","send","Send",[["path",{d:"M10 14l11 -11",key:"svg-0"}],["path",{d:"M21 3l-6.5 18a.55 .55 0 0 1 -1 0l-3.5 -7l-7 -3.5a.55 .55 0 0 1 0 -1l18 -6.5",key:"svg-1"}]]);e.s(["f",0,t],77656)},798101,e=>{var t=e.i(843476),a=e.i(77656),s=e.i(271645),l=e.i(846696),n=e.i(428325),i=e.i(944971),r=e.i(975157),d=e.i(551093),c=e.i(664554);e.s(["AskForm",0,function({models:e=[],defaultLabel:o="your provider"}){let[x,h]=(0,s.useState)(""),[m,p]=(0,s.useState)(""),[u,f]=(0,s.useState)(null),[v,k]=(0,s.useTransition)(),b=()=>{x.trim()&&!v&&(f(null),k(async()=>{try{let e=await (0,d.f)(x,m||null);e.ok?(h(""),l.c.success(e.message??"Sent.")):f(e.error)}catch{f("Watchbell didn't answer. Check that it's still running, then try again.")}}))};return(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),b()},children:[(0,t.jsx)("label",{htmlFor:"ask-in",className:"mb-1.5 block font-medium",children:"Ask about your apps, alerts, deployments or databases"}),(0,t.jsx)("textarea",{id:"ask-in",className:(0,r.f)(n.S,"min-h-22 w-full"),placeholder:"For example: which apps need attention before the weekend?",value:x,maxLength:2e3,"aria-describedby":"ask-hint ask-count","aria-invalid":!!u||void 0,onChange:e=>h(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),b())}}),u&&(0,t.jsx)("p",{role:"alert",className:"mt-1.5 text-[13px] text-err",children:u}),(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3",children:[(0,t.jsx)("span",{id:"ask-hint",className:"min-w-[220px] flex-1 text-[12.5px] text-ink-faint",children:v?(0,t.jsx)(c.f,{}):i.I.hint}),(0,t.jsxs)("span",{id:"ask-count",className:"font-mono text-[12px] text-ink-faint","aria-live":"off",children:[x.length," / ",2e3]}),e.length>0&&(0,t.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,t.jsx)("span",{className:"sr-only",children:"Model"}),(0,t.jsxs)("select",{className:(0,r.f)(n.S,"max-w-[260px] py-1 font-mono text-[12.5px]"),value:m,onChange:e=>p(e.target.value),disabled:v,children:[(0,t.jsxs)("option",{value:"",children:["Default (",o,")"]}),e.map(e=>(0,t.jsx)("option",{value:e.id,children:e.label},e.id))]})]}),(0,t.jsxs)(n.K,{type:"submit",variant:"primary",disabled:v||!x.trim(),children:[(0,t.jsx)(a.f,{size:16,"aria-hidden":!0}),v?"Asking…":"Send"]})]})]})}])},551093,e=>{var t=e.i(95187);let a=(0,t.createServerReference)("600730c7e8d0d7d8f8579f514dfe059c45014218db",t.callServer,void 0,t.findSourceMapURL,"askGeneral");e.s(["f",0,a])}])})();
@@ -1 +0,0 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33550,e=>{var t=e.i(271645),r={outline:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},filled:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",stroke:"none"}};e.s(["f",0,(e,a,n,i)=>{let s=(0,t.forwardRef)(({color:n="currentColor",size:s=24,stroke:l=2,title:o,className:d,children:c,...f},h)=>(0,t.createElement)("svg",{ref:h,...r[e],width:s,height:s,className:["tabler-icon",`tabler-icon-${a}`,d].filter(Boolean).join(" "),..."filled"===e?{fill:n}:{strokeWidth:l,stroke:n},...f},[o&&(0,t.createElement)("title",{key:"svg-title"},o),...i.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(c)?c:[c]]));return s.displayName=`${n}`,s}],33550)},344423,e=>{let t=(0,e.i(33550).f)("outline","alert-circle","AlertCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 8v4",key:"svg-1"}],["path",{d:"M12 16h.01",key:"svg-2"}]]);e.s(["f",0,t],344423)},146874,e=>{let t=(0,e.i(33550).f)("outline","alert-triangle","AlertTriangle",[["path",{d:"M12 9v4",key:"svg-0"}],["path",{d:"M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0",key:"svg-1"}],["path",{d:"M12 16h.01",key:"svg-2"}]]);e.s(["f",0,t],146874)},785642,396455,802480,802874,e=>{var t=e.i(33550);let r=(0,t.f)("outline","circle-check","CircleCheck",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M9 12l2 2l4 -4",key:"svg-1"}]]);e.s(["f",0,r],785642);let a=(0,t.f)("outline","circle-dashed","CircleDashed",[["path",{d:"M8.56 3.69a9 9 0 0 0 -2.92 1.95",key:"svg-0"}],["path",{d:"M3.69 8.56a9 9 0 0 0 -.69 3.44",key:"svg-1"}],["path",{d:"M3.69 15.44a9 9 0 0 0 1.95 2.92",key:"svg-2"}],["path",{d:"M8.56 20.31a9 9 0 0 0 3.44 .69",key:"svg-3"}],["path",{d:"M15.44 20.31a9 9 0 0 0 2.92 -1.95",key:"svg-4"}],["path",{d:"M20.31 15.44a9 9 0 0 0 .69 -3.44",key:"svg-5"}],["path",{d:"M20.31 8.56a9 9 0 0 0 -1.95 -2.92",key:"svg-6"}],["path",{d:"M15.44 3.69a9 9 0 0 0 -3.44 -.69",key:"svg-7"}]]);e.s(["f",0,a],396455);let n=(0,t.f)("outline","circle-x","CircleX",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M10 10l4 4m0 -4l-4 4",key:"svg-1"}]]);e.s(["f",0,n],802480);let i=(0,t.f)("outline","hammer","Hammer",[["path",{d:"M11.414 10l-7.383 7.418a2.091 2.091 0 0 0 0 2.967a2.11 2.11 0 0 0 2.976 0l7.407 -7.385",key:"svg-0"}],["path",{d:"M18.121 15.293l2.586 -2.586a1 1 0 0 0 0 -1.414l-7.586 -7.586a1 1 0 0 0 -1.414 0l-2.586 2.586a1 1 0 0 0 0 1.414l7.586 7.586a1 1 0 0 0 1.414 0",key:"svg-1"}]]);e.s(["f",0,i],802874)},239692,e=>{let t=(0,e.i(33550).f)("outline","help-circle","HelpCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 16v.01",key:"svg-1"}],["path",{d:"M12 13a2 2 0 0 0 .914 -3.782a1.98 1.98 0 0 0 -2.414 .483",key:"svg-2"}]]);e.s(["f",0,t],239692)},39622,e=>{let t=(0,e.i(33550).f)("outline","info-circle","InfoCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 9h.01",key:"svg-1"}],["path",{d:"M11 12h1v4h1",key:"svg-2"}]]);e.s(["f",0,t],39622)},513932,e=>{let t=(0,e.i(33550).f)("outline","loader-2","Loader2",[["path",{d:"M12 3a9 9 0 1 0 9 9",key:"svg-0"}]]);e.s(["f",0,t],513932)},95187,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0});var a={callServer:function(){return i.callServer},createServerReference:function(){return l.createServerReference},findSourceMapURL:function(){return s.findSourceMapURL}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let i=e.r(132120),s=e.r(92245),l=e.r(235326)},128829,e=>{var t=e.i(95187);let r=(0,t.createServerReference)("008b6dbed199d0deb40e431c4e4f3d7746a8c4835f",t.callServer,void 0,t.findSourceMapURL,"signOut");e.s(["f",0,r])},563491,e=>{var t=e.i(843476),r=e.i(16340),a=e.i(171209),n=e.i(301844);e.s(["default",0,function({error:e,retry:i}){return(0,t.jsxs)("html",{lang:"en",suppressHydrationWarning:!0,children:[(0,t.jsxs)("head",{children:[(0,t.jsx)("title",{children:"Something went wrong"}),(0,t.jsx)("script",{dangerouslySetInnerHTML:{__html:n.W}})]}),(0,t.jsxs)("body",{className:"bg-bg font-sans text-ink antialiased",children:[(0,t.jsx)("main",{className:"grid min-h-screen place-items-center px-4 py-6",children:(0,t.jsx)("div",{className:"w-[460px] max-w-full",children:(0,t.jsx)(r.f,{digest:e.digest,retry:i,withSignOut:!0})})}),(0,t.jsx)(a.ThemeKeeper,{})]})]})}])},16340,e=>{var t=e.i(843476),r=e.i(146874),a=e.i(128829),n=e.i(428325);e.s(["f",0,function({digest:e,retry:i,withSignOut:s=!1,note:l,notice:o}){return(0,t.jsx)(n.N,{children:(0,t.jsxs)(n.k,{icon:r.f,title:o?"Try again soon":"This page didn't load",action:(0,t.jsxs)("div",{className:"flex flex-wrap justify-center gap-2",children:[(0,t.jsx)(n.K,{variant:"primary",onClick:()=>i(),children:"Try again"}),s&&(0,t.jsx)("form",{action:a.f,children:(0,t.jsx)(n.K,{type:"submit",children:"Sign out"})})]}),children:[o??"Watchbell couldn't read its database, or a setting is missing. It keeps retrying on its own; the server log has the details (reference below).",l&&(0,t.jsx)("p",{className:"mt-2 text-xs text-ink-soft",role:"status",children:l}),e&&!o&&(0,t.jsxs)("p",{className:"mt-2 font-mono text-xs text-ink-faint",children:["Reference ",e]})]})})}])},428325,e=>{var t=e.i(843476);let r=(0,e.i(33550).f)("outline","inbox","Inbox",[["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",key:"svg-0"}],["path",{d:"M4 13h3l3 3h4l3 -3h3",key:"svg-1"}]]);e.i(522016);var a=e.i(54131),n=e.i(220806),i=e.i(975157);function s({variant:e="secondary",size:t="md"}={}){return(0,i.f)("inline-flex items-center gap-1.5 whitespace-nowrap rounded-md border transition-colors disabled:cursor-not-allowed disabled:opacity-60 hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40","sm"===t?"px-[9px] py-[3px] text-[13px]":"px-3 py-1.5","primary"===e&&"border-brand bg-brand text-on-brand hover:bg-brand-hover","secondary"===e&&"border-line-strong bg-surface text-ink hover:bg-hover","ghost"===e&&"border-transparent bg-transparent text-brand hover:bg-brand-soft","danger"===e&&"border-err bg-err text-on-brand hover:brightness-95")}let l={danger:{box:"bg-err-soft border-err/30",state:"err"},warning:{box:"bg-warn-soft border-warn-icon/35",state:"warn"},info:{box:"bg-brand-soft border-brand/25",state:"info"}},o=(e,r)=>"string"==typeof e?(0,t.jsx)(a.MaskedText,{text:e,inLink:r}):e;e.s(["M",0,function({tone:e,title:r,children:a,action:s}){let d=l[e];return(0,t.jsxs)("div",{className:(0,i.f)("flex items-start gap-2.5 rounded-lg border px-3.5 py-2.5",d.box),role:"danger"===e?"alert":"status",children:[(0,t.jsx)("span",{className:"mt-px",children:(0,t.jsx)(n.Z,{state:d.state,size:18})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("b",{className:"block font-medium",children:o(r)}),a&&(0,t.jsx)("p",{className:"mt-0.5 text-[13px] text-ink-soft",children:o(a)})]}),s&&(0,t.jsx)("div",{className:"ml-auto",children:s})]})},"K",0,function({variant:e,size:r,className:a,type:n="button",...l}){return(0,t.jsx)("button",{type:n,className:(0,i.f)(s({variant:e,size:r}),a),...l})},"N",0,function({title:e,meta:r,flush:a,className:n,children:s}){return(0,t.jsxs)("section",{className:(0,i.f)("min-w-0 rounded-lg border border-line bg-surface",n),children:[e&&(0,t.jsxs)("div",{className:(0,i.f)("flex flex-wrap items-center gap-2 px-[18px] pt-3.5",a?"pb-2.5":"pb-1.5"),children:[(0,t.jsx)("h2",{className:"text-[15px]",children:e}),r&&(0,t.jsx)("span",{className:"ml-auto flex items-center gap-1.5 text-[12.5px] text-ink-soft",children:r})]}),a?s:(0,t.jsx)("div",{className:"px-[18px] pb-4 pt-2",children:s})]})},"k",0,function({icon:e=r,title:a,children:n,action:i}){return(0,t.jsxs)("div",{className:"px-4 py-7 text-center text-ink-soft",children:[(0,t.jsx)(e,{size:28,"aria-hidden":!0,className:"mx-auto text-ink-faint"}),(0,t.jsx)("b",{className:"mb-0.5 mt-1.5 block font-medium text-ink",children:a}),n,i&&(0,t.jsx)("div",{className:"mt-3",children:i})]})},"O",0,function({id:e,label:r,help:a,error:n,children:i}){return(0,t.jsxs)("div",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,t.jsx)("label",{htmlFor:e,className:"text-[13px] font-medium",children:r}),i,a&&(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:a}),n&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:n})]})},"_",0,function({label:e,pressed:r,children:a,...n}){return(0,t.jsx)("button",{type:"button","aria-label":e,title:e,"aria-pressed":r,className:(0,i.f)("relative inline-grid size-[34px] shrink-0 place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",r&&"bg-brand-soft text-brand"),...n,children:a})},"E",0,function({children:e}){return(0,t.jsx)("span",{className:"mr-1 inline-block rounded-[5px] border border-line bg-surface-2 px-1.5 text-xs text-ink-soft",children:e})},"R",0,s,"S",0,"w-full rounded-md border border-line-strong bg-surface px-2.5 py-1.5 text-ink outline-none focus:border-brand focus:ring-2 focus:ring-brand/40"],428325)},220806,914552,615884,e=>{var t=e.i(843476),r=e.i(344423),a=e.i(146874),n=e.i(785642),i=e.i(396455),s=e.i(802480),l=e.i(802874),o=e.i(239692),d=e.i(39622),c=e.i(513932),f=e.i(33550);let h=(0,f.f)("outline","moon","Moon",[["path",{d:"M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454l0 .008",key:"svg-0"}]]);e.s(["f",0,h],914552);let x=(0,f.f)("outline","player-pause","PlayerPause",[["path",{d:"M6 6a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -12",key:"svg-0"}],["path",{d:"M14 6a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -12",key:"svg-1"}]]),p=(0,f.f)("outline","tool","Tool",[["path",{d:"M7 10h3v-3l-3.5 -3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1 -3 3l-6 -6a6 6 0 0 1 -8 -8l3.5 3.5",key:"svg-0"}]]);e.s(["f",0,p],615884);let u={ok:"text-ok",warn:"text-warn-icon",paused:"text-warn-icon",err:"text-err",fail:"text-err",idle:"text-idle",off:"text-idle",unknown:"text-idle",build:"text-brand",info:"text-brand",maint:"text-brand"};var g=e.i(975157);let b={ok:n.f,warn:a.f,err:r.f,idle:h,build:c.f,paused:x,info:d.f,fail:s.f,off:i.f,unknown:o.f,maint:p};function v({state:e,size:r=17,still:a=!1}){let n=a&&"build"===e?l.f:b[e];return(0,t.jsx)(n,{size:r,"aria-hidden":!0,className:(0,g.f)("shrink-0",u[e],"build"===e&&!a&&"animate-spin")})}e.s(["Z",0,v,"F",0,function({state:e,children:r}){return(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 whitespace-nowrap",children:[(0,t.jsx)(v,{state:e}),(0,t.jsx)("span",{children:r})]})}],220806)}])})();