watchbell 1.2.3 → 1.2.4

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 (643) hide show
  1. package/package.json +1 -1
  2. package/server/.next/BUILD_ID +1 -1
  3. package/server/.next/build-manifest.json +3 -3
  4. package/server/.next/prerender-manifest.json +3 -3
  5. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +12 -12
  6. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +57 -56
  7. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  9. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +11 -11
  10. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +57 -56
  11. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  13. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +10 -10
  14. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +57 -56
  15. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  16. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  17. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +13 -13
  18. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +57 -56
  19. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  21. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +11 -11
  22. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +57 -56
  23. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  25. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +20 -20
  26. package/server/.next/server/app/(console)/(private)/ai/models/page.js +57 -56
  27. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  28. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  29. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +10 -10
  30. package/server/.next/server/app/(console)/(private)/ai/page.js +57 -56
  31. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  32. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  33. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +13 -13
  34. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +57 -56
  35. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  37. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +16 -16
  38. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +57 -56
  39. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  41. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +11 -11
  42. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +57 -56
  43. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  44. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  45. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +11 -11
  46. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +57 -56
  47. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  48. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  49. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +10 -10
  50. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +57 -56
  51. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  52. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  53. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +11 -11
  54. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +57 -56
  55. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  56. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  57. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +35 -25
  58. package/server/.next/server/app/(console)/alerts/page.js +57 -56
  59. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  60. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  61. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +27 -27
  62. package/server/.next/server/app/(console)/apps/[id]/page.js +57 -56
  63. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  64. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  65. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +13 -13
  66. package/server/.next/server/app/(console)/apps/page.js +57 -56
  67. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  68. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  69. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +13 -13
  70. package/server/.next/server/app/(console)/backups/page.js +57 -56
  71. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  72. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  73. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +10 -10
  74. package/server/.next/server/app/(console)/catalog/page.js +57 -56
  75. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  76. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  77. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +21 -21
  78. package/server/.next/server/app/(console)/connections/page.js +57 -56
  79. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  80. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  81. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +10 -10
  82. package/server/.next/server/app/(console)/d1/page.js +57 -56
  83. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  84. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  85. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +16 -16
  86. package/server/.next/server/app/(console)/deployments/page.js +57 -56
  87. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  88. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  89. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +17 -17
  90. package/server/.next/server/app/(console)/dns/page.js +57 -56
  91. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  92. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  93. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +12 -12
  94. package/server/.next/server/app/(console)/domains/page.js +57 -56
  95. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  96. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  97. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +10 -10
  98. package/server/.next/server/app/(console)/events/page.js +57 -56
  99. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  100. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  101. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +17 -17
  102. package/server/.next/server/app/(console)/firebase/page.js +57 -56
  103. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  104. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  105. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +11 -11
  106. package/server/.next/server/app/(console)/logs/page.js +57 -56
  107. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  108. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  109. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +11 -11
  110. package/server/.next/server/app/(console)/manage/sections/page.js +57 -56
  111. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  112. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  113. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +21 -21
  114. package/server/.next/server/app/(console)/neon/page.js +57 -56
  115. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  116. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  117. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +18 -18
  118. package/server/.next/server/app/(console)/overview/page.js +57 -56
  119. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  120. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  121. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +11 -11
  122. package/server/.next/server/app/(console)/repos/[id]/page.js +57 -56
  123. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  124. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  125. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +10 -10
  126. package/server/.next/server/app/(console)/repos/page.js +57 -56
  127. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  128. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  129. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +20 -20
  130. package/server/.next/server/app/(console)/settings/page.js +57 -56
  131. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  132. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  133. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +17 -17
  134. package/server/.next/server/app/(console)/sql/page.js +57 -56
  135. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  136. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  137. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +10 -10
  138. package/server/.next/server/app/(console)/status/page.js +57 -56
  139. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  140. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  141. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +29 -29
  142. package/server/.next/server/app/(console)/supabase/page.js +57 -56
  143. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  144. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  145. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +10 -10
  146. package/server/.next/server/app/(console)/topology/page.js +57 -56
  147. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  148. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  149. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +10 -10
  150. package/server/.next/server/app/(console)/turso/page.js +57 -56
  151. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  152. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  153. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +10 -10
  154. package/server/.next/server/app/(console)/upstash/page.js +57 -56
  155. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  156. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  157. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +24 -24
  158. package/server/.next/server/app/(console)/uptime/page.js +57 -56
  159. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  160. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  161. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +15 -15
  162. package/server/.next/server/app/(console)/welcome/page.js +57 -56
  163. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  164. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  165. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  166. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  167. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  168. package/server/.next/server/app/_global-error.html +1 -1
  169. package/server/.next/server/app/_global-error.rsc +3 -3
  170. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  171. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  172. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  173. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  174. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  175. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  176. package/server/.next/server/app/_not-found.html +1 -1
  177. package/server/.next/server/app/_not-found.rsc +4 -4
  178. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  179. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  180. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  181. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  182. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  183. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  184. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  185. package/server/.next/server/app/api/collect/route.js +38 -37
  186. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  187. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  188. package/server/.next/server/app/api/daily/route.js +38 -37
  189. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  190. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
  191. package/server/.next/server/app/api/telegram/webhook/route.js +63 -62
  192. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  193. package/server/.next/server/app/api/v1/advice/route.js +2 -2
  194. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  195. package/server/.next/server/app/api/v1/ai/questions/route.js +2 -2
  196. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  197. package/server/.next/server/app/api/v1/mcp/route.js +2 -2
  198. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  199. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +2 -2
  200. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  201. package/server/.next/server/app/api/v1/status/route.js +2 -2
  202. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  203. package/server/.next/server/app/api/watchdog/route.js +2 -2
  204. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  205. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  206. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  207. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  208. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  209. package/server/.next/server/app/mfa/page.js +33 -21
  210. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  211. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  212. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  213. package/server/.next/server/app/mfa/setup/page.js +33 -21
  214. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  215. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  216. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  217. package/server/.next/server/app/page.js.nft.json +1 -1
  218. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  219. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  220. package/server/.next/server/app/s/[slug]/page.js +8 -7
  221. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  222. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  223. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  224. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  225. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  226. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  227. package/server/.next/server/app/signin/page.js +35 -21
  228. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  229. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  230. package/server/.next/server/chunks/{[externals]__0y_x27mdj85p4._.js → [externals]__0ia-wyj5qrosx._.js} +1 -1
  231. package/server/.next/server/chunks/{[externals]__1fzfzd0ia0sk6._.js → [externals]__0igl_rsv6z3fr._.js} +1 -1
  232. package/server/.next/server/chunks/{[externals]__1qqyrxnupegg3._.js → [externals]__0mh8e6gkgfswq._.js} +1 -1
  233. package/server/.next/server/chunks/{[root-of-the-server]__0hblpf7wqke-j._.js → [root-of-the-server]__0-ftc1hhcjcl2._.js} +2 -2
  234. package/server/.next/server/chunks/{[root-of-the-server]__0l9ja3579qrju._.js → [root-of-the-server]__0-st5xltl53h9._.js} +2 -2
  235. package/server/.next/server/chunks/{[root-of-the-server]__03i6yscmtbhhg._.js → [root-of-the-server]__0-u9oeob2sa7f._.js} +2 -2
  236. package/server/.next/server/chunks/{[root-of-the-server]__0bmyll20mg_gf._.js → [root-of-the-server]__0070gc9ml0mf7._.js} +1 -1
  237. package/server/.next/server/chunks/{[root-of-the-server]__07bw6o0jc31yr._.js → [root-of-the-server]__0185dne3slx7e._.js} +2 -2
  238. package/server/.next/server/chunks/{[root-of-the-server]__0v-gc-c_e8pwl._.js → [root-of-the-server]__040ix5fqb_zb-._.js} +2 -2
  239. package/server/.next/server/chunks/{[root-of-the-server]__1zvoez8iapsem._.js → [root-of-the-server]__05jzua9637vlo._.js} +2 -2
  240. package/server/.next/server/chunks/{[root-of-the-server]__1_or7dycvkseg._.js → [root-of-the-server]__06uaa_2zbg57p._.js} +1 -1
  241. package/server/.next/server/chunks/{[root-of-the-server]__1y2qf8ltxhk0o._.js → [root-of-the-server]__07byme21uj5ln._.js} +2 -2
  242. package/server/.next/server/chunks/{[root-of-the-server]__1lerees-l5-6c._.js → [root-of-the-server]__07g16s_wi2sai._.js} +2 -2
  243. package/server/.next/server/chunks/{[root-of-the-server]__1s4bwjevs4hd-._.js → [root-of-the-server]__08-puk3_gawjd._.js} +2 -2
  244. package/server/.next/server/chunks/{[root-of-the-server]__0gox66sv0bx47._.js → [root-of-the-server]__0_e2eoq7w3ff_._.js} +2 -2
  245. package/server/.next/server/chunks/{[root-of-the-server]__0zni_2pv2fdgb._.js → [root-of-the-server]__0cc32xnniktg9._.js} +2 -2
  246. package/server/.next/server/chunks/{[root-of-the-server]__213bsllf-9ztc._.js → [root-of-the-server]__0cz3da2wx3_wd._.js} +2 -2
  247. package/server/.next/server/chunks/{[root-of-the-server]__0noc6l63d3l9w._.js → [root-of-the-server]__0dvuy3ibsyiik._.js} +2 -2
  248. package/server/.next/server/chunks/{[root-of-the-server]__02n6y6aa6qp1b._.js → [root-of-the-server]__0e2utnqdim70d._.js} +2 -2
  249. package/server/.next/server/chunks/{[root-of-the-server]__0hnljrh9qi9t-._.js → [root-of-the-server]__0exicuoq6gmph._.js} +2 -2
  250. package/server/.next/server/chunks/{[root-of-the-server]__0nqbue6i0l3qs._.js → [root-of-the-server]__0ezd1s2862iob._.js} +2 -2
  251. package/server/.next/server/chunks/[root-of-the-server]__0gmn5s40au84-._.js +3 -0
  252. package/server/.next/server/chunks/[root-of-the-server]__0i75m0es1m3hf._.js +3 -0
  253. package/server/.next/server/chunks/{[root-of-the-server]__0btybbrsr4abf._.js → [root-of-the-server]__0ikiyg3u02ofv._.js} +1 -1
  254. package/server/.next/server/chunks/{[root-of-the-server]__16waq6rapvngp._.js → [root-of-the-server]__0ms1uw85c5wg2._.js} +2 -2
  255. package/server/.next/server/chunks/[root-of-the-server]__0o0z59_jylzvy._.js +3 -0
  256. package/server/.next/server/chunks/{[root-of-the-server]__07mzeijv31avl._.js → [root-of-the-server]__0oqltt9cni6m0._.js} +2 -2
  257. package/server/.next/server/chunks/{[root-of-the-server]__1lj1f2w2-w8nw._.js → [root-of-the-server]__0quiawzx_nww0._.js} +2 -2
  258. package/server/.next/server/chunks/{[root-of-the-server]__0wp6j3irilu76._.js → [root-of-the-server]__0r88w3qhrtzz_._.js} +1 -1
  259. package/server/.next/server/chunks/{[root-of-the-server]__0kp0yx909wtab._.js → [root-of-the-server]__0rb1-3538-pq9._.js} +1 -1
  260. package/server/.next/server/chunks/{[root-of-the-server]__0c-33noc8yn1-._.js → [root-of-the-server]__0sabwm3w1rm0q._.js} +1 -1
  261. package/server/.next/server/chunks/{[root-of-the-server]__0nrg8zzqizk69._.js → [root-of-the-server]__0tykhzqhwdx_k._.js} +2 -2
  262. package/server/.next/server/chunks/{[root-of-the-server]__0yuyew8m9dc6-._.js → [root-of-the-server]__0w_og0zl6hqzj._.js} +1 -1
  263. package/server/.next/server/chunks/[root-of-the-server]__0wdxw44t9l9o_._.js +3 -0
  264. package/server/.next/server/chunks/{[root-of-the-server]__1xl6_spngp6k3._.js → [root-of-the-server]__0x47i6wm-cd1z._.js} +2 -2
  265. package/server/.next/server/chunks/{[root-of-the-server]__0g1cifa7hd790._.js → [root-of-the-server]__0x6qqr79pq_j9._.js} +1 -1
  266. package/server/.next/server/chunks/{[root-of-the-server]__0hlyn_aj72sn5._.js → [root-of-the-server]__0xqgsjnebebv8._.js} +2 -2
  267. package/server/.next/server/chunks/{[root-of-the-server]__0r1men25anfgb._.js → [root-of-the-server]__0y99cuuxm0xs3._.js} +1 -1
  268. package/server/.next/server/chunks/[root-of-the-server]__0zflnh-2nol66._.js +3 -0
  269. package/server/.next/server/chunks/{[root-of-the-server]__0l6_iao04u72h._.js → [root-of-the-server]__0znmcklxfccvk._.js} +2 -2
  270. package/server/.next/server/chunks/[root-of-the-server]__10dp33pb5e0ml._.js +3 -0
  271. package/server/.next/server/chunks/[root-of-the-server]__12xl6ax-q8s93._.js +3 -0
  272. package/server/.next/server/chunks/{[root-of-the-server]__090in165mp6av._.js → [root-of-the-server]__14sac3h4sfhh7._.js} +1 -1
  273. package/server/.next/server/chunks/{[root-of-the-server]__0oy0hcm48kl-q._.js → [root-of-the-server]__16md_196q9s8a._.js} +2 -2
  274. package/server/.next/server/chunks/[root-of-the-server]__17xbg7cngebwp._.js +3 -0
  275. package/server/.next/server/chunks/{[root-of-the-server]__0hrtz5c_46jkw._.js → [root-of-the-server]__186-sa38csgot._.js} +1 -1
  276. package/server/.next/server/chunks/[root-of-the-server]__18lfi0w0e_h0k._.js +3 -0
  277. package/server/.next/server/chunks/{[root-of-the-server]__0ku7nva3gxa9p._.js → [root-of-the-server]__1a7_3nq1jjab-._.js} +2 -2
  278. package/server/.next/server/chunks/{[root-of-the-server]__16lfk1wg0ejaa._.js → [root-of-the-server]__1bce11artflky._.js} +2 -2
  279. package/server/.next/server/chunks/[root-of-the-server]__1c1wqmzm65xo8._.js +3 -0
  280. package/server/.next/server/chunks/{[root-of-the-server]__1adw_bv2u89kc._.js → [root-of-the-server]__1g4iy2tasmn0f._.js} +1 -1
  281. package/server/.next/server/chunks/[root-of-the-server]__1gry2nrq5xhxl._.js +3 -0
  282. package/server/.next/server/chunks/{[root-of-the-server]__0d99wclm2suox._.js → [root-of-the-server]__1gt_-h9n48pwi._.js} +2 -2
  283. package/server/.next/server/chunks/{[root-of-the-server]__0s5b-tdq7rndj._.js → [root-of-the-server]__1hl9k6e1o7xh2._.js} +2 -2
  284. package/server/.next/server/chunks/[root-of-the-server]__1kk_s-q90445m._.js +3 -0
  285. package/server/.next/server/chunks/{[root-of-the-server]__02ldm_7l9zld8._.js → [root-of-the-server]__1lfsf7un8kdbr._.js} +1 -1
  286. package/server/.next/server/chunks/[root-of-the-server]__1nusfevn1z4nm._.js +3 -0
  287. package/server/.next/server/chunks/{[root-of-the-server]__0x487cn6dsn12._.js → [root-of-the-server]__1ny8nr52qvr4i._.js} +2 -2
  288. package/server/.next/server/chunks/{[root-of-the-server]__125fkw52kl2ty._.js → [root-of-the-server]__1o9v_499yd5k8._.js} +2 -2
  289. package/server/.next/server/chunks/[root-of-the-server]__1oc55uo0ax787._.js +3 -0
  290. package/server/.next/server/chunks/{[root-of-the-server]__09odxyho_9vk_._.js → [root-of-the-server]__1qdbn4gdg7ndr._.js} +2 -2
  291. package/server/.next/server/chunks/[root-of-the-server]__1uqxnb7qfqcms._.js +3 -0
  292. package/server/.next/server/chunks/{[root-of-the-server]__1wpdlr4uh1un4._.js → [root-of-the-server]__1vqs8o9bv1wbk._.js} +2 -2
  293. package/server/.next/server/chunks/[root-of-the-server]__1vxtt1favjdfr._.js +3 -0
  294. package/server/.next/server/chunks/[root-of-the-server]__1xwgj26z5f7ih._.js +3 -0
  295. package/server/.next/server/chunks/{[root-of-the-server]__1ooxluowhatjt._.js → [root-of-the-server]__20ng0hgzxagf_._.js} +2 -2
  296. package/server/.next/server/chunks/{[root-of-the-server]__0032rbj2s87zo._.js → [root-of-the-server]__20r_62r36t28o._.js} +2 -2
  297. package/server/.next/server/chunks/[root-of-the-server]__20sv90-2ei08l._.js +3 -0
  298. package/server/.next/server/chunks/_01x32f51v50y7._.js +3 -0
  299. package/server/.next/server/chunks/{_1-pw7jw52sbti._.js → _06gv0srpbf_lk._.js} +1 -1
  300. package/server/.next/server/chunks/_0ffsv993spriq._.js +3 -0
  301. package/server/.next/server/chunks/_0hsj1tx2ynla-._.js +3 -0
  302. package/server/.next/server/chunks/{_1-pcsy2hkg0il._.js → _0ljdeybzgdyai._.js} +1 -1
  303. package/server/.next/server/chunks/_0ls7sornjrg95._.js +5 -0
  304. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  305. package/server/.next/server/chunks/{_0duxuj4kmjibl._.js → _0nt4ifc48vl34._.js} +24 -22
  306. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +3 -3
  307. package/server/.next/server/chunks/{_113ebzq_9i756._.js → _0rkn5gstaj2d0._.js} +24 -22
  308. package/server/.next/server/chunks/_0zj10_al6r59j._.js +1 -1
  309. package/server/.next/server/chunks/_1476vtrt9101m._.js +1 -1
  310. package/server/.next/server/chunks/{_1ihndlef8r00f._.js → _1_4jb754aeifp._.js} +24 -22
  311. package/server/.next/server/chunks/{_0q9a3ettj_h2s._.js → _1_9n8x5ncta29._.js} +2 -2
  312. package/server/.next/server/chunks/{_0ry4553j-m5fp._.js → _1cq1vvbp6pglr._.js} +3 -3
  313. package/server/.next/server/chunks/_1e_rbkrukj0x9._.js +1 -1
  314. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +3 -3
  315. package/server/.next/server/chunks/{_1g8r-7wcf8sy3._.js → _1myv9csc_in08._.js} +3 -3
  316. package/server/.next/server/chunks/{_16urxazbgm48y._.js → _1n-fm2bdo9t2m._.js} +3 -3
  317. package/server/.next/server/chunks/{_1mwb214-ablfo._.js → _1qsryafbujfwn._.js} +24 -22
  318. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  319. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  320. package/server/.next/server/chunks/{src_00ixvrjrk_2h4._.js → src_0_l3dzp06o4x5._.js} +2 -2
  321. package/server/.next/server/chunks/{src_0tdn7mun5rvc6._.js → src_0m6xxpw2u-xv_._.js} +2 -2
  322. package/server/.next/server/chunks/{src_20ilndq84j3b3._.js → src_15fupbs9-n8q9._.js} +2 -2
  323. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  324. package/server/.next/server/chunks/src_1p24c-nz35cov._.js +3 -0
  325. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  326. package/server/.next/server/chunks/src_lib_001zhbfd1zeuk._.js +3 -0
  327. package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +3 -0
  328. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  329. package/server/.next/server/chunks/{src_lib_206j7lyff31-g._.js → src_lib_0k_aposzvy1c8._.js} +2 -2
  330. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +20 -18
  331. package/server/.next/server/chunks/{src_lib_1-u7dbsavbtb0._.js → src_lib_0vjapfdxkooq5._.js} +2 -2
  332. package/server/.next/server/chunks/{src_lib_0krdzz8eu9xh3._.js → src_lib_0yn0bj14ih0id._.js} +2 -2
  333. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +20 -18
  334. package/server/.next/server/chunks/{src_lib_0ayxuk4ftzf2f._.js → src_lib_1qbgm0zu8q1rr._.js} +2 -2
  335. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +20 -18
  336. package/server/.next/server/chunks/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +3 -0
  337. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  338. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
  339. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
  340. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
  341. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
  342. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
  343. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
  344. package/server/.next/server/chunks/ssr/{[externals]__078uqm46tk5mo._.js → [externals]__0irbihjwcc9is._.js} +1 -1
  345. package/server/.next/server/chunks/ssr/{[externals]__1_ttbfsdm3x1-._.js → [externals]__0vlxry7jq5j1j._.js} +1 -1
  346. package/server/.next/server/chunks/ssr/{[externals]__1devsqn7ez77y._.js → [externals]__0yyslm1ka5px3._.js} +1 -1
  347. package/server/.next/server/chunks/ssr/{[externals]__00tbi838eotwu._.js → [externals]__1mol6ksxmtkv6._.js} +1 -1
  348. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
  349. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1a7x--bos5pv8._.js → [root-of-the-server]__056nm27ib-x1m._.js} +2 -2
  350. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0xpkzaqer75i-._.js → [root-of-the-server]__06b1pw15-_hv5._.js} +2 -2
  351. package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
  352. package/server/.next/server/chunks/ssr/{[root-of-the-server]__107gjehjdhw8p._.js → [root-of-the-server]__0eaqsql69fhf8._.js} +2 -2
  353. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ek1-s5z9ggq2._.js +3 -0
  354. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0jn0o2e32mwcp._.js → [root-of-the-server]__0hzlz_t5eect2._.js} +2 -2
  355. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
  356. package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
  357. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
  358. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ronqmm1xpldk._.js → [root-of-the-server]__0l_cl2qk_xmmr._.js} +2 -2
  359. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1adcmllk9wt5l._.js → [root-of-the-server]__0n-sc7pzu7fpz._.js} +1 -1
  360. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nxyo70ahj7tk._.js +3 -0
  361. package/server/.next/server/chunks/ssr/[root-of-the-server]__0oon1p2_04l7s._.js +3 -0
  362. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
  363. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
  364. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0an0wsglj2bhh._.js → [root-of-the-server]__0sj92w6mg92ds._.js} +2 -2
  365. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1uojs0x42k86p._.js → [root-of-the-server]__0wi2grctadbk8._.js} +1 -1
  366. package/server/.next/server/chunks/ssr/{[root-of-the-server]__19l_r5vy3kxo1._.js → [root-of-the-server]__0xjg51t1__v-s._.js} +1 -1
  367. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0d2ry7-u1cv8c._.js → [root-of-the-server]__0z_1k5876-_wx._.js} +2 -2
  368. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1mumjk3h0om80._.js → [root-of-the-server]__1-d88ogkwql_b._.js} +2 -2
  369. package/server/.next/server/chunks/ssr/{[root-of-the-server]__191t_hhtr-k27._.js → [root-of-the-server]__110158s15r7mi._.js} +2 -2
  370. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0qwds8dkahd2_._.js → [root-of-the-server]__193nmh09rrpbx._.js} +1 -1
  371. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  372. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0x7w-5h8or6qr._.js → [root-of-the-server]__1_h_ya1h8efdj._.js} +2 -2
  373. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0paolyy3xkow9._.js → [root-of-the-server]__1a0b_dbx4uans._.js} +2 -2
  374. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ctkj-25wt37o._.js +4 -0
  375. package/server/.next/server/chunks/ssr/[root-of-the-server]__1e0l6kek0ufui._.js +3 -0
  376. package/server/.next/server/chunks/ssr/[root-of-the-server]__1hek7tjixcjch._.js +3 -0
  377. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0i0_6dnnf0hov._.js → [root-of-the-server]__1ijizmc3ga_6o._.js} +2 -2
  378. package/server/.next/server/chunks/ssr/[root-of-the-server]__1kfivch_kfesn._.js +4 -0
  379. package/server/.next/server/chunks/ssr/[root-of-the-server]__1o63-3k1wez40._.js +3 -0
  380. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ogwz1buruc_x._.js +3 -0
  381. package/server/.next/server/chunks/ssr/[root-of-the-server]__1sw2q1p1t59y8._.js +1 -1
  382. package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
  383. package/server/.next/server/chunks/ssr/[root-of-the-server]__1wr4__6rvsb3b._.js +3 -0
  384. package/server/.next/server/chunks/ssr/_0-wc6f6p0c8lv._.js +1 -1
  385. package/server/.next/server/chunks/ssr/_01x32f51v50y7._.js +3 -0
  386. package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
  387. package/server/.next/server/chunks/ssr/{_0kxkg0dbp42ai._.js → _08d4hz_ddxc02._.js} +2 -2
  388. package/server/.next/server/chunks/ssr/_08e6i1zuyz-ns._.js +3 -0
  389. package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
  390. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  391. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  392. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  393. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  394. package/server/.next/server/chunks/ssr/_0c7stbntpuyt_._.js +3 -0
  395. package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
  396. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  397. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
  398. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  399. package/server/.next/server/chunks/ssr/{_1e47r3tlad52r._.js → _0e4xfzm8oecc-._.js} +2 -2
  400. package/server/.next/server/chunks/ssr/_0ffsv993spriq._.js +3 -0
  401. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
  402. package/server/.next/server/chunks/ssr/_0hsj1tx2ynla-._.js +3 -0
  403. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
  404. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
  405. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
  406. package/server/.next/server/chunks/ssr/{src_lib_0-nc33gvdtkg5._.js → _0ls7sornjrg95._.js} +2 -2
  407. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  408. package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
  409. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
  410. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
  411. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
  412. package/server/.next/server/chunks/ssr/_0uvkx5n0kf7r2._.js +3 -0
  413. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
  414. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +1 -1
  415. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  416. package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +2 -2
  417. package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +3 -0
  418. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  419. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  420. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  421. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
  422. package/server/.next/server/chunks/ssr/_1476vtrt9101m._.js +1 -1
  423. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  424. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  425. package/server/.next/server/chunks/ssr/{src_lib_1zgor_vrwl5kt._.js → _1b1t9p1xljuql._.js} +2 -2
  426. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
  427. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  428. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
  429. package/server/.next/server/chunks/ssr/{_0mp5aext18ijx._.js → _1e5kqt081d8yt._.js} +2 -2
  430. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
  431. package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
  432. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  433. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
  434. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  435. package/server/.next/server/chunks/ssr/{_0wb79bnj96x0g._.js → _1jclq5d7tposb._.js} +2 -2
  436. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  437. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
  438. package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
  439. package/server/.next/server/chunks/ssr/_1o94cw0ml7xu7._.js +3 -0
  440. package/server/.next/server/chunks/ssr/_1ok868mr1th-7._.js +3 -0
  441. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
  442. package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +1 -1
  443. package/server/.next/server/chunks/ssr/{_0fq8thje0tuch._.js → _1rinsar6bp6ul._.js} +2 -2
  444. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
  445. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  446. package/server/.next/server/chunks/ssr/_218164gkxgum_._.js +1 -1
  447. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
  448. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
  449. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
  450. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_0y5m8cul6d7kk.js +1 -1
  451. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
  452. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
  453. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
  454. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
  455. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
  456. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
  457. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
  458. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +1 -1
  459. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
  460. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
  461. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  462. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  463. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
  464. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  465. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  466. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  467. package/server/.next/server/chunks/ssr/{src_1xjlp4oxlprxb._.js → src_0jxjbvkvg0bjg._.js} +2 -2
  468. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  469. package/server/.next/server/chunks/ssr/src_0txyv7r1zns16._.js +3 -0
  470. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
  471. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  472. package/server/.next/server/chunks/ssr/{src_097wa6oc_utgr._.js → src_186l56gdeizg8._.js} +2 -2
  473. package/server/.next/server/chunks/ssr/{src_0i-1ohush6mui._.js → src_1p24c-nz35cov._.js} +2 -2
  474. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  475. package/server/.next/server/chunks/ssr/src_1xoua7wkmyfkn._.js +3 -0
  476. package/server/.next/server/chunks/ssr/src_1y827m5-ojdib._.js +6 -0
  477. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  478. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  479. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  480. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  481. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  482. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  483. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  484. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  485. package/server/.next/server/chunks/ssr/{src_app_(console)_0p2-zm5eewkqo._.js → src_app_(console)_1co5pna1vfflj._.js} +2 -2
  486. package/server/.next/server/chunks/ssr/src_app_(console)_1shtcv6hidi4-._.js +3 -0
  487. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -1
  488. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_1t61z2wktki-v._.js +1 -1
  489. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  490. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  491. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  492. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  493. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  494. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  495. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  496. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  497. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  498. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  499. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  500. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  501. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  502. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  503. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  504. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  505. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  506. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  507. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  508. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  509. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  510. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  511. package/server/.next/server/chunks/ssr/{src_app_signin_11vigmz4xm91m._.js → src_app_signin_0ko968fxahf6u._.js} +2 -2
  512. package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +1 -1
  513. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  514. package/server/.next/server/chunks/ssr/src_lib_001zhbfd1zeuk._.js +3 -0
  515. package/server/.next/server/chunks/ssr/src_lib_04orn7u7ufxp1._.js +3 -0
  516. package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +3 -0
  517. package/server/.next/server/chunks/ssr/src_lib_0nbad7vu413-f._.js +23 -0
  518. package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +3 -0
  519. package/server/.next/server/chunks/ssr/src_lib_1l8ej-zoyyegd._.js +3 -0
  520. package/server/.next/server/chunks/ssr/src_lib_1nkahiclbn55q._.js +3 -0
  521. package/server/.next/server/chunks/ssr/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +3 -0
  522. package/server/.next/server/chunks/ssr/{src_lib_demo_07uq47fhms-3d._.js → src_lib_demo_0ftmf3wmtezvl._.js} +2 -2
  523. package/server/.next/server/chunks/ssr/src_lib_view_14iq8onyfo7nd._.js +3 -0
  524. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  525. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  526. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  527. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  528. package/server/.next/server/middleware-build-manifest.js +3 -3
  529. package/server/.next/server/pages/404.html +1 -1
  530. package/server/.next/server/pages/500.html +1 -1
  531. package/server/.next/server/preview-props.json +3 -3
  532. package/server/.next/server/server-reference-manifest.js +1 -1
  533. package/server/.next/server/server-reference-manifest.json +150 -140
  534. package/server/.next/static/chunks/{0dmql-jz-o69o.js → 0-6om8-d7itz8.js} +1 -1
  535. package/server/.next/static/chunks/{292uz-rsh422k.js → 00oeu_tbjky7m.js} +1 -1
  536. package/server/.next/static/chunks/{08f1euchlacye.js → 0181phyuecg9b.js} +1 -1
  537. package/server/.next/static/chunks/{1_93oj1b-nrla.js → 01u9q07wu6-x1.js} +1 -1
  538. package/server/.next/static/chunks/{2szc6dvuj3gxy.js → 0_5_9w6m-xwd0.js} +1 -1
  539. package/server/.next/static/chunks/{38conxv_f-pgo.js → 0hj1-5zruyih6.js} +1 -1
  540. package/server/.next/static/chunks/0krhehmzgigx5.js +1 -0
  541. package/server/.next/static/chunks/{0p6hja9octhrd.js → 0md0jy9rztofl.js} +1 -1
  542. package/server/.next/static/chunks/{1g_kip3m3h9q6.js → 0mp6prf1hx5mx.js} +1 -1
  543. package/server/.next/static/chunks/{2fze_cnwk8j76.js → 0t66sf4vvalei.js} +1 -1
  544. package/server/.next/static/chunks/{3xxcpv79l5tnh.js → 0v_-lu_cx7f91.js} +1 -1
  545. package/server/.next/static/chunks/{2z21xxtcmsmhe.js → 0xcpi35p5fa83.js} +1 -1
  546. package/server/.next/static/chunks/{2u3iceaxpiiws.js → 0z0may9twpt-j.js} +1 -1
  547. package/server/.next/static/chunks/{2l4upq4bwgvvu.js → 16yvy9zkjac5c.js} +1 -1
  548. package/server/.next/static/chunks/{1ss-6-h8nloc9.js → 18johpgap0xmw.js} +1 -1
  549. package/server/.next/static/chunks/{35to2q1uretcv.js → 18mkhwl0zlvnp.js} +1 -1
  550. package/server/.next/static/chunks/{315s21b2dd7lg.js → 1_8g4usrgjnnu.js} +1 -1
  551. package/server/.next/static/chunks/{12bbufru1ui37.js → 1gt3cagsbgx4w.js} +1 -1
  552. package/server/.next/static/chunks/{06a83nde7riq-.js → 1q-m7qgrvvzwb.js} +1 -1
  553. package/server/.next/static/chunks/{3efi_dyz4y0lj.js → 1rkrtrvwbbnjf.js} +1 -1
  554. package/server/.next/static/chunks/{29xg947lkf4-x.js → 1sc1vz_ygak9u.js} +1 -1
  555. package/server/.next/static/chunks/1tg1mstvws8rj.css +3 -0
  556. package/server/.next/static/chunks/{1t9f2pdc3crnr.js → 1ukyjy13dwy_z.js} +1 -1
  557. package/server/.next/static/chunks/{38-ay595f3xie.js → 1xm6ay06cjchs.js} +1 -1
  558. package/server/.next/static/chunks/{0qoql97izcn4l.js → 1y_6crandf_3f.js} +1 -1
  559. package/server/.next/static/chunks/{3cyesi3hi6l1g.js → 1ys80h6x541kn.js} +2 -2
  560. package/server/.next/static/chunks/{1i8i1ieoh738i.js → 2-m982u6v7z8m.js} +1 -1
  561. package/server/.next/static/chunks/{2rpa_j81h_45y.js → 2a3tky__z9q4j.js} +1 -1
  562. package/server/.next/static/chunks/{0x41o1ud_ksl1.js → 2cipdjdkoq312.js} +1 -1
  563. package/server/.next/static/chunks/{0wkv5e-c430ea.js → 2ect0ww0gtoad.js} +2 -2
  564. package/server/.next/static/chunks/{1bt81ubbahkh6.js → 2s-_9p0-395sm.js} +1 -1
  565. package/server/.next/static/chunks/{2pi0r5spn0slc.js → 2ue_c6tww95_c.js} +1 -1
  566. package/server/.next/static/chunks/{0buwzrf7dpagn.js → 2xio-kspedw69.js} +1 -1
  567. package/server/.next/static/chunks/{09e-vdlax9bp6.js → 2z6gojfx3lqvt.js} +1 -1
  568. package/server/.next/static/chunks/{3qjirj3rjf5mu.js → 31v3igne_z-0k.js} +1 -1
  569. package/server/.next/static/chunks/{088c6cw88jmlb.js → 33ddsp07_9o1d.js} +2 -2
  570. package/server/.next/static/chunks/340qccog2_uge.js +2 -0
  571. package/server/.next/static/chunks/35ua22np4u9jr.js +1 -0
  572. package/server/.next/static/chunks/{0jf5lpzwq4vh1.js → 38g-5wiggu6__.js} +1 -1
  573. package/server/.next/static/chunks/{23b9tctw1mn5a.js → 3a5a2iizetq9b.js} +1 -1
  574. package/server/.next/static/chunks/{2ac9gyn8mzqp4.js → 3f1td0b-oy-sr.js} +1 -1
  575. package/server/.next/static/chunks/{12zasgv1xisb5.js → 3imk3dh9_4wd5.js} +1 -1
  576. package/server/.next/static/chunks/{1s0s32oqy-54t.js → 3jhh47vezwohc.js} +1 -1
  577. package/server/.next/static/chunks/{1t8fe3w70uapo.js → 3letbzhf_1srv.js} +1 -1
  578. package/server/.next/static/chunks/{0a4b85ckxbprh.js → 3qedt96akbcad.js} +1 -1
  579. package/server/.next/static/chunks/{1wh-ps6a57yj1.js → 3wi930ujb_5_z.js} +1 -1
  580. package/server/.next/static/chunks/{04ospu_w--6p9.js → 40n6mtthd3_sh.js} +1 -1
  581. package/server/.next/server/chunks/[root-of-the-server]__0f5bt0o1k41ft._.js +0 -3
  582. package/server/.next/server/chunks/[root-of-the-server]__1-9hjrgvj0fpb._.js +0 -3
  583. package/server/.next/server/chunks/[root-of-the-server]__13hrm9c61i7uk._.js +0 -3
  584. package/server/.next/server/chunks/[root-of-the-server]__14eyo4i2tm93k._.js +0 -3
  585. package/server/.next/server/chunks/[root-of-the-server]__19ylbgd65iej4._.js +0 -3
  586. package/server/.next/server/chunks/[root-of-the-server]__1c653f_8qzrpd._.js +0 -3
  587. package/server/.next/server/chunks/[root-of-the-server]__1dyith2r4bacm._.js +0 -3
  588. package/server/.next/server/chunks/[root-of-the-server]__1e1l75cf48ph2._.js +0 -3
  589. package/server/.next/server/chunks/[root-of-the-server]__1eu2_f44as742._.js +0 -3
  590. package/server/.next/server/chunks/[root-of-the-server]__1hv3hk5182t-o._.js +0 -3
  591. package/server/.next/server/chunks/[root-of-the-server]__1j6xniw630fg0._.js +0 -3
  592. package/server/.next/server/chunks/[root-of-the-server]__1nu5isiy7d832._.js +0 -3
  593. package/server/.next/server/chunks/[root-of-the-server]__1pvx0izh1m_0_._.js +0 -3
  594. package/server/.next/server/chunks/[root-of-the-server]__1uox9a0td-o0-._.js +0 -3
  595. package/server/.next/server/chunks/[root-of-the-server]__1vwz2r58cojht._.js +0 -3
  596. package/server/.next/server/chunks/[root-of-the-server]__1z_0gt-w6bx9v._.js +0 -3
  597. package/server/.next/server/chunks/[root-of-the-server]__1zrqz88a2lkx5._.js +0 -3
  598. package/server/.next/server/chunks/[root-of-the-server]__1zwi7po5_xe8-._.js +0 -3
  599. package/server/.next/server/chunks/_0qyupoc7u5hr7._.js +0 -3
  600. package/server/.next/server/chunks/_1-ior_ot6mgxg._.js +0 -3
  601. package/server/.next/server/chunks/src_0i-1ohush6mui._.js +0 -3
  602. package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +0 -3
  603. package/server/.next/server/chunks/src_lib_0-nc33gvdtkg5._.js +0 -5
  604. package/server/.next/server/chunks/src_lib_0-xd6p5793qdu._.js +0 -3
  605. package/server/.next/server/chunks/src_lib_0qbcg988i_-ee._.js +0 -3
  606. package/server/.next/server/chunks/ssr/[root-of-the-server]__04nc91kiy757l._.js +0 -3
  607. package/server/.next/server/chunks/ssr/[root-of-the-server]__04zgt2t-w6-75._.js +0 -3
  608. package/server/.next/server/chunks/ssr/[root-of-the-server]__0a3n6wzq8xui9._.js +0 -3
  609. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ban7lwqlko9y._.js +0 -3
  610. package/server/.next/server/chunks/ssr/[root-of-the-server]__0klc2dyzyjeba._.js +0 -3
  611. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nlfip3wc3l2z._.js +0 -4
  612. package/server/.next/server/chunks/ssr/[root-of-the-server]__0vnfx03nb5vku._.js +0 -3
  613. package/server/.next/server/chunks/ssr/[root-of-the-server]__13fabu66slkfb._.js +0 -3
  614. package/server/.next/server/chunks/ssr/[root-of-the-server]__1fj33_xkainxk._.js +0 -4
  615. package/server/.next/server/chunks/ssr/[root-of-the-server]__1p2oghl9lfgmk._.js +0 -3
  616. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pwd99rch8xyl._.js +0 -3
  617. package/server/.next/server/chunks/ssr/[root-of-the-server]__2195hg4329yfp._.js +0 -3
  618. package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +0 -3
  619. package/server/.next/server/chunks/ssr/_0ad3y3l77xkxe._.js +0 -3
  620. package/server/.next/server/chunks/ssr/_0qyupoc7u5hr7._.js +0 -3
  621. package/server/.next/server/chunks/ssr/_0ufjz7kfd4jbd._.js +0 -3
  622. package/server/.next/server/chunks/ssr/_1-ior_ot6mgxg._.js +0 -3
  623. package/server/.next/server/chunks/ssr/_1uae0vl2c6fz7._.js +0 -3
  624. package/server/.next/server/chunks/ssr/_1y8wer5tpgiqw._.js +0 -3
  625. package/server/.next/server/chunks/ssr/_217qa04yo70zg._.js +0 -3
  626. package/server/.next/server/chunks/ssr/src_05kvmrkq5nfyh._.js +0 -3
  627. package/server/.next/server/chunks/ssr/src_0ixeyy74fe5jy._.js +0 -3
  628. package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +0 -3
  629. package/server/.next/server/chunks/ssr/src_1fomo1_as1-ea._.js +0 -3
  630. package/server/.next/server/chunks/ssr/src_1sv5tf2pk5-pn._.js +0 -3
  631. package/server/.next/server/chunks/ssr/src_app_(console)_1za4o0--zhso5._.js +0 -3
  632. package/server/.next/server/chunks/ssr/src_lib_0-xd6p5793qdu._.js +0 -3
  633. package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +0 -21
  634. package/server/.next/server/chunks/ssr/src_lib_0qbcg988i_-ee._.js +0 -3
  635. package/server/.next/server/chunks/ssr/src_lib_18e550s395xn5._.js +0 -3
  636. package/server/.next/server/chunks/ssr/src_lib_1_5ea0kxdn6zt._.js +0 -3
  637. package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +0 -6
  638. package/server/.next/static/chunks/0qsk0bb1x81nc.js +0 -1
  639. package/server/.next/static/chunks/2g9dossbqnlr7.js +0 -1
  640. package/server/.next/static/chunks/3ybb15n1q3f-o.css +0 -3
  641. /package/server/.next/static/{rBXBlxKpaOHcc5KZDIhAL → 2_t4xVgbum1rtVSQxAYYV}/_buildManifest.js +0 -0
  642. /package/server/.next/static/{rBXBlxKpaOHcc5KZDIhAL → 2_t4xVgbum1rtVSQxAYYV}/_clientMiddlewareManifest.js +0 -0
  643. /package/server/.next/static/{rBXBlxKpaOHcc5KZDIhAL → 2_t4xVgbum1rtVSQxAYYV}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,531219,e=>{let t=(0,e.i(33550).f)("outline","filter-off","FilterOff",[["path",{d:"M8 4h12v2.172a2 2 0 0 1 -.586 1.414l-3.914 3.914m-.5 3.5v4l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227",key:"svg-0"}],["path",{d:"M3 3l18 18",key:"svg-1"}]]);e.s(["f",0,t],531219)},225913,e=>{var t=e.i(207670);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,a=t.f;e.s(["f",0,(e,t)=>r=>{var s;if((null==t?void 0:t.variants)==null)return a(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:i,defaultVariants:l}=t,o=Object.keys(i).map(e=>{let t=null==r?void 0:r[e],a=null==l?void 0:l[e];if(null===t)return null;let s=n(t)||n(a);return i[e][s]}),d=r&&Object.entries(r).reduce((e,t)=>{let[n,a]=t;return void 0===a||(e[n]=a),e},{});return a(e,o,null==t||null==(s=t.compoundVariants)?void 0:s.reduce((e,t)=>{let{class:n,className:a,...r}=t;return Object.entries(r).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...l,...d}[t]):({...l,...d})[t]===n})?[...e,n,a]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}])},293654,e=>{var t=e.i(843476),n=e.i(763995),a=e.i(271645),r=e.i(846696),s=e.i(54131),i=e.i(428325),l=e.i(500443),o=e.i(799589),d=e.i(776639),c=e.i(450547);let u=["76.76.21.21"],x=/(^|\.)vercel-dns(-\d+)?\.com$/;function p(e,t=[]){return"CNAME"===e.type?x.test(e.content.toLowerCase().replace(/\.$/,"")):"A"===e.type&&[...u,...t].includes(e.content.trim())}var f=e.i(225794),h=e.i(212253),m=e.i(95187);let g=(0,m.createServerReference)("780b4822411a77c516305aad8aae1834d4cda852f5",m.callServer,void 0,m.findSourceMapURL,"editDnsRecordAction"),b="Owner only";function v({label:e,why:n}){return(0,t.jsx)("span",{title:n,className:"inline-flex",children:(0,t.jsx)(i.K,{size:"sm",disabled:!0,"aria-label":`${e}: ${n}`,children:e})})}function j({rows:e}){return(0,t.jsx)("span",{className:"mt-2 grid grid-cols-[auto_minmax(0,1fr)_auto_minmax(0,1fr)] items-baseline gap-x-2.5 gap-y-1.5 text-ink",children:e.map(e=>(0,t.jsxs)("span",{className:"contents",children:[(0,t.jsx)("span",{className:"text-ink-soft",children:e.label}),(0,t.jsx)("span",{className:"font-mono text-[12.5px] [overflow-wrap:anywhere]",children:e.before}),(0,t.jsx)("span",{"aria-hidden":!0,className:"text-ink-faint",children:"→"}),(0,t.jsx)("span",{className:"font-mono text-[12.5px] [overflow-wrap:anywhere]",children:e.after})]},e.label))})}let y=e=>({content:e.content,ttl:e.ttl,proxied:e.proxied});function k({zoneId:e,r:n}){let a=(0,s.useMask)(),r=p(n);return(0,t.jsx)(o.p,{label:"Set DNS only",title:a("text",`Set ${n.name} to DNS only?`),body:(0,t.jsx)(j,{rows:[{label:"Proxy",before:"Proxied through Cloudflare",after:r?"DNS only, straight to Vercel":"DNS only, straight to the origin"}]}),cta:"Set DNS only",run:()=>g(e,n.id,y(n),{...y(n),proxied:!1})})}let N={content:"Content",ttl:"TTL",proxied:"Proxy"};function w({zoneId:e,r:n,mask:r}){let[s,o]=(0,a.useState)(!1);return(0,l.useHoldRefresh)(s),(0,t.jsxs)(d.N,{open:s,onOpenChange:o,children:[(0,t.jsx)(d.a,{render:(0,t.jsx)(i.K,{size:"sm"}),children:"Edit"}),(0,t.jsx)(d.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:s&&(0,t.jsx)(S,{zoneId:e,r:n,mask:r,onDone:()=>o(!1)})})]})}function S({zoneId:e,r:s,mask:l,onDone:o}){let[u,x]=(0,a.useState)(s.content),[m,b]=(0,a.useState)(s.ttl),[v,k]=(0,a.useState)(s.proxied),[w,C]=(0,a.useState)(null),[$,z]=(0,a.useState)(null),[A,O]=(0,a.useTransition)(),M={content:u,ttl:m,proxied:v},E=(0,c.z)(s.type),P=c.i.includes(s.ttl)?c.i:[...c.i,s.ttl].sort((e,t)=>e-t),T=v&&p({type:s.type,content:u}),_=e=>$?.field===e?$.text:void 0;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(n.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.F,{className:"text-base",children:l("text",w?`Save ${s.type} record ${s.name}?`:`Edit ${s.type} record ${s.name}`)}),(0,t.jsx)(d.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:w?(0,t.jsxs)(t.Fragment,{children:["Cloudflare changes this record now. Nothing else in the zone changes, and nothing is deleted.",(0,t.jsx)(j,{rows:w.map(e=>({label:N[e.field],before:l("text",e.before),after:l("text",e.after)}))})]}):"Type and name stay as they are. Watchbell never creates or deletes records here."})]})]}),!w&&(0,t.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3 max-[560px]:grid-cols-1",children:[(0,t.jsx)(i.O,{id:"dns-type",label:"Type",children:(0,t.jsx)("input",{id:"dns-type",className:i.S,value:s.type,readOnly:!0,disabled:!0})}),(0,t.jsx)(i.O,{id:"dns-name",label:"Name",children:(0,t.jsx)("input",{id:"dns-name",className:i.S,value:l("text",s.name),readOnly:!0,disabled:!0})})]}),(0,t.jsx)(i.O,{id:"dns-content",label:"Content",error:_("content"),help:"CNAME"===s.type||"A"===s.type?"For Vercel, copy the value shown on the project's Domains page.":void 0,children:(0,t.jsx)("input",{id:"dns-content",className:i.S,value:u,spellCheck:!1,autoComplete:"off",maxLength:2048,"aria-invalid":!!_("content"),onChange:e=>x(e.target.value)})}),(0,t.jsx)(i.O,{id:"dns-ttl",label:"TTL",error:_("ttl"),help:v?"A proxied record always uses Auto.":void 0,children:(0,t.jsx)("select",{id:"dns-ttl",className:i.S,value:v?1:m,disabled:v,onChange:e=>b(Number(e.target.value)),children:P.map(e=>(0,t.jsx)("option",{value:e,children:(0,h.f)(e)},e))})}),E&&(0,t.jsxs)("div",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-[13px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"accent-brand",checked:v,onChange:e=>k(e.target.checked)}),"Proxied through Cloudflare (orange cloud)"]}),_("proxied")&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:_("proxied")})]}),T&&(0,t.jsx)("div",{className:"mb-3.5",children:(0,t.jsx)(i.M,{tone:"warning",title:"Vercel recommends DNS only here",children:"Proxying a record that points to Vercel can stop its certificate from renewing."})}),$?.field==="form"&&(0,t.jsx)("p",{className:"mb-3 text-[12.5px] text-err",role:"alert",children:$.text})]}),(0,t.jsx)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:w?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.K,{onClick:()=>C(null),disabled:A,children:"Back"}),(0,t.jsx)(i.K,{variant:"primary",onClick:function(){O(async()=>{try{let t=(0,f.f)(await g(e,s.id,y(s),M),e=>l("text",e));t.ok?(r.c.success(t.message),o()):r.c.error(t.message)}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:A,children:A?"Saving…":"Save record"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.K,{onClick:o,children:"Keep as is"}),(0,t.jsx)(i.K,{variant:"primary",onClick:function(){let e=(0,c.V)(s,M);if(!e.ok)return z({field:e.field,text:e.error});let t=(0,c.t)(s,M);if(!t.ok)return z({field:"form",text:t.error});z(null),C(t.changes)},children:"Review"})]})})]})}e.s(["DnsRecordActions",0,function({zoneId:e,r:n,owner:a,vercel:r}){let i=(0,s.useMask)(),l=n.proxied&&r;return a?(0,t.jsxs)("div",{className:"flex gap-1.5",children:[l&&(0,t.jsx)(k,{zoneId:e,r:n}),(0,c.O)(n.type)?(0,t.jsx)(w,{zoneId:e,r:n,mask:i}):(0,t.jsx)(v,{label:"Edit",why:"Only A, AAAA, CNAME and TXT records can be edited here."})]}):(0,t.jsxs)("div",{className:"flex gap-1.5",children:[l&&(0,t.jsx)(v,{label:"Set DNS only",why:b}),(0,t.jsx)(v,{label:"Edit",why:b})]})},"SetDnsOnlyButton",0,k],293654)},46200,e=>{var t=e.i(843476),n=e.i(146874),a=e.i(239692),r=e.i(271645),s=e.i(846696),i=e.i(428325),l=e.i(500443),o=e.i(776639);e.s(["f",0,function({trigger:e,open:d,onOpenChange:c,title:u,body:x,cta:p,danger:f=!1,onConfirm:h}){let[m,g]=(0,r.useState)(!1),b=d??m,[v,j]=(0,r.useTransition)();function y(e){void 0===d&&g(e),c?.(e)}return(0,l.useHoldRefresh)(b),(0,t.jsxs)(o.N,{open:b,onOpenChange:e=>{v||y(e)},children:[void 0!==e&&((0,r.isValidElement)(e)?(0,t.jsx)(o.a,{render:e}):(0,t.jsx)(o.a,{children:e})),(0,t.jsxs)(o.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${f?"text-err":"text-ink-soft"}`,children:f?(0,t.jsx)(n.f,{size:19}):(0,t.jsx)(a.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.F,{className:"text-base",children:u}),(0,t.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:x})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(i.K,{onClick:()=>y(!1),disabled:v,children:"Keep as is"}),(0,t.jsx)(i.K,{variant:f?"danger":"primary",onClick:function(){j(async()=>{try{let e=await h();e.ok?(s.c.success(e.message),y(!1)):s.c.error(e.message)}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:v,children:v?"Working…":p})]})]})]})}])},374931,e=>{var t=e.i(843476),n=e.i(531219),a=e.i(357772),r=e.i(271645),s=e.i(54131),i=e.i(428325),l=e.i(541299),o=e.i(691106),d=e.i(975157),c=e.i(322534),u=e.i(495784);e.s(["ListFilter",0,function({placeholder:e,states:x,groups:p,head:f,rows:h,chips:m}){var g,b;let v,[j,y]=(0,r.useState)(""),[k,N]=(0,r.useState)(""),[w,S]=(0,r.useState)(""),[C,$]=(0,r.useState)(""),[z,A]=(0,r.useState)(1),O=(0,s.useMask)(),M=(g=h.map(e=>({...e,text:`${e.text} ${O("text",e.text)}`})),v=(b={text:j,state:k,group:C,tag:w}).text.trim().toLowerCase(),g.filter(e=>(!b.state||e.state===b.state)&&(!b.group||e.group===b.group)&&(!b.tag||(e.tags??[]).includes(b.tag))&&(!v||e.text.toLowerCase().includes(v)))),E=(0,u.$)(M,z),P=E.rows;E.page!==z&&A(E.page);let T=x?.find(([e])=>e===k)?.[1];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-[18px] pb-3 pt-3.5 max-[720px]:px-3.5",children:[(0,t.jsx)("input",{className:(0,d.f)(i.S,"w-[240px] max-[720px]:w-full"),placeholder:e,"aria-label":e,value:j,onChange:e=>{y(e.target.value),A(1)}}),x&&(0,t.jsxs)("select",{className:(0,d.f)(i.S,"w-auto"),"aria-label":"State",value:k,onChange:e=>{N(e.target.value),A(1)},children:[(0,t.jsx)("option",{value:"",children:"All states"}),x.map(([e,n])=>(0,t.jsx)("option",{value:e,children:n},e))]}),p&&p.length>1&&(0,t.jsxs)("select",{className:(0,d.f)(i.S,"w-auto"),"aria-label":"Account",value:C,onChange:e=>{$(e.target.value),A(1)},children:[(0,t.jsx)("option",{value:"",children:"All accounts"}),p.map(e=>(0,t.jsx)("option",{value:e,children:O("account",e)},e))]}),m?.map(([e,n])=>(0,t.jsx)("button",{type:"button","aria-pressed":w===e,onClick:()=>{S(w===e?"":e),A(1)},className:(0,d.f)("rounded-[5px] border px-2 py-0.5 text-[12.5px]",w===e?"border-brand bg-brand-soft text-brand":"border-line text-ink-soft hover:bg-hover"),children:n},e)),T&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] bg-brand-soft py-px pl-2 pr-1 text-[12.5px] text-brand",children:["State: ",T,(0,t.jsx)("button",{type:"button","aria-label":"Remove filter",className:"px-0.5",onClick:()=>{N(""),A(1)},children:(0,t.jsx)(a.f,{size:13})})]}),C&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] bg-brand-soft py-px pl-2 pr-1 text-[12.5px] text-brand",children:["Account: ",(0,t.jsx)(s.Masked,{kind:"account",real:C}),(0,t.jsx)("button",{type:"button","aria-label":"Remove account filter",className:"px-0.5",onClick:()=>{$(""),A(1)},children:(0,t.jsx)(a.f,{size:13})})]}),(0,t.jsx)("span",{role:"status",className:"ml-auto text-[12.5px] text-ink-soft",children:(0,c.f)(M.length)})]}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:o.o,children:[(0,t.jsx)(o.U,{head:f}),(0,t.jsx)("tbody",{children:P.map(e=>(0,t.jsx)(r.Fragment,{children:e.row},e.key))})]})}),0===M.length&&h.length>0&&(0,t.jsxs)(i.k,{icon:n.f,title:"No results",children:["Nothing matches these filters."," ",(0,t.jsx)("button",{type:"button",className:"text-brand hover:underline",onClick:()=>{y(""),N(""),$(""),S(""),A(1)},children:"Clear filters"})]}),(0,t.jsx)(l.f,{page:E.page,pages:E.pages,text:(0,u.z)(E),onPage:A})]})}],374931)},541299,495784,e=>{var t=e.i(843476),n=e.i(271645),a=e.i(428325),r=e.i(975157);function s(e,t,n=25){let a=e.length,r=Math.max(1,Math.ceil(a/n)),i=Math.min(Math.max(Number.isFinite(t)?Math.floor(t):1,1),r),l=(i-1)*n,o=e.slice(l,l+n);return{rows:o,page:i,pages:r,from:0===a?0:l+1,to:l+o.length,total:a}}e.s(["f",0,function({page:e,pages:s,text:i,onPage:l,bleed:o=!1}){let d=(0,n.useRef)(null),c=(0,n.useRef)(null);if((0,n.useEffect)(()=>{null!==c.current&&(d.current?.querySelectorAll("button")[c.current]?.focus(),c.current=null)},[e]),s<=1)return null;let u=(e,t)=>{(e<=1||e>=s)&&(c.current=t),l(e)};return(0,t.jsxs)("div",{className:(0,r.f)("flex items-center gap-2 border-t border-line px-[18px] py-2.5 text-[12.5px] text-ink-soft",o?"-mx-[18px] -mb-4 mt-2":"max-[720px]:px-3.5"),children:[(0,t.jsx)("span",{role:"status",children:i}),(0,t.jsxs)("span",{ref:d,className:"ml-auto flex gap-1.5",children:[(0,t.jsx)(a.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Previous page",disabled:e<=1,onClick:()=>u(e-1,1),children:"‹ Previous"}),(0,t.jsx)(a.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Next page",disabled:e>=s,onClick:()=>u(e+1,0),children:"Next ›"})]})]})}],541299),e.s(["k",0,function(e,t,n,a){return a<=1?null:t>0&&null!==n?n:e[0]?.id??null},"$",0,s,"f",0,function(e,t,n,a=25){let r=null===n?0:Math.max(0,e.findIndex(e=>e.id===n)),i=s(e.slice(r),t,a);return 0===r||i.page>1?{...i,shift:r}:{...s(e,1,a),shift:0}},"z",0,function(e,t=0,n=e.total){return`${e.from+t}–${e.to+t} of ${n}`}],495784)},799589,225794,e=>{var t=e.i(843476),n=e.i(271645),a=e.i(54131),r=e.i(46200),s=e.i(428325);function i(e,t=e=>e){return e.ok?{ok:!0,message:t(e.message??"Done.")}:{ok:!1,message:t(e.error)}}function l(){let e=(0,a.useMask)();return t=>i(t,t=>e("text",t))}e.s(["f",0,i],225794),e.s(["p",0,function({label:e,title:n,body:a,cta:i,danger:o=!1,run:d}){let c=l();return(0,t.jsx)(r.f,{trigger:(0,t.jsx)(s.K,{variant:o?"danger":"secondary",children:e}),title:n,body:a,cta:i,danger:o,onConfirm:async()=>c(await d())})},"W",0,function(){let[e,a]=(0,n.useState)(null),s=l(),i=e?(0,t.jsx)(r.f,{open:!0,onOpenChange:e=>{e||a(null)},title:e.title,body:e.body,cta:e.cta,danger:e.danger,onConfirm:async()=>s(await e.run())}):null;return{open:a,dialog:i}}],799589)},776639,998218,152744,e=>{var t=e.i(843476),n=e.i(526323),a=e.i(828376);e.s(["f",0,a],998218);var a=a,r=e.i(209977),s=e.i(921637),i=e.i(141708),l=e.i(593480),o=e.i(309169),d=a;e.s(["f",0,d],152744);var d=a,c=e.i(975157),u=e.i(271645),x=e.i(540886),p=e.i(552245);let f=u.forwardRef(function(e,t){let{render:n,className:a,disabled:r=!1,focusableWhenDisabled:s=!1,nativeButton:i=!0,style:l,...o}=e,{getButtonProps:d,buttonRef:c}=(0,x.f)({disabled:r,focusableWhenDisabled:s,native:i});return(0,p.a)("button",e,{state:{disabled:r},ref:[t,c],props:[o,d]})}),h=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function m({className:e,variant:n="default",size:a="default",...r}){return(0,t.jsx)(f,{"data-slot":"button",className:(0,c.f)(h({variant:n,size:a,className:e})),...r})}var g=e.i(456420);let b={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};b.node;let v=(0,g.f)(b);function j({...e}){return(0,t.jsx)(r.f.Portal,{"data-slot":"dialog-portal",...e})}function y({className:e,...n}){return(0,t.jsx)(i.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...n})}e.s(["N",0,function({...e}){return(0,t.jsx)(n.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:n,showCloseButton:a=!0,...r}){return(0,t.jsxs)(j,{children:[(0,t.jsx)(y,{}),(0,t.jsxs)(l.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...r,children:[n,a&&(0,t.jsxs)(s.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(m,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(v,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...n}){return(0,t.jsx)(d.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...n})},"F",0,function({className:e,...n}){return(0,t.jsx)(o.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...n})},"a",0,function({...e}){return(0,t.jsx)(a.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)},70528,876195,e=>{let t=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\[\d{1,6}\])*$/,n=new Set(["__proto__","prototype","constructor"]),a=[300,3600,86400,604800],r=[300,3600,21600];e.s(["q",0,r,"Q",0,a,"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 s=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;function i(e){let t=s.exec(e);if(!t)return null;let n=t.slice(1).map(Number);return n.every(e=>e<=255)?n:null}function l([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 o(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=i(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 a=e=>""===e?[]:e.split(":"),r=a(n[0]),s=2===n.length?a(n[1]):[],l=8-r.length-s.length;if(1===n.length?0!==l:l<1)return null;let o=[...r,...Array(2===n.length?l:0).fill("0"),...s];return 8===o.length&&o.every(e=>/^[0-9a-f]{1,4}$/.test(e))?o.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 l([(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=i(t);if(n)return l(n);let a=t.slice(t.lastIndexOf(".")+1);return!(!/^(\d+|0x[0-9a-f]*)$/.test(a)&&t.includes("."))||"localhost"===t||/\.(localhost|local|internal)$/.test(t)||t.endsWith(".home.arpa")}(e.hostname)?null:"blocked"}e.i(684496);let d=[3,5,10],c=/[\u0000-\u001f\u007f-\u009f]/,u=/[­؜᠎​-‏‪-‮⁠-⁤⁦-⁩]/;e.s(["L",0,d,"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??""),s=n.trim().replace(/\s+/g," ");!/[\p{L}\p{N}]/u.test(s)||c.test(s)||u.test(n)?t.name="Name the job, like backup job.":s.length>60&&(t.name="Keep the name to 60 characters.");let i=Number(e?.periodS);a.includes(i)||(t.periodS="Pick how often the job runs.");let l=Number(e?.graceS);return(r.includes(l)||(t.graceS="Pick a grace time."),Object.keys(t).length)?{ok:!1,fieldErrors:t}:{ok:!0,value:{name:s,periodS:i,graceS:l}}},"X",0,function(e){let a={},r=String(e?.url??"").trim(),s=null;try{s=new URL(r)}catch{s=null}s&&s.hostname&&!(r.length>2048)&&"scheme"!==o(s)?"blocked"===o(s)&&(a.url="Use a public https address."):a.url="Enter a full https:// address.";let i=String(e?.expectedStatus??"").trim();/^[1-5]\d\d$/.test(i)||(a.expectedStatus="Enter an HTTP status between 100 and 599.");let l=Number(e?.timeoutS);d.includes(l)||(a.timeoutS="Pick a timeout.");let c=String(e?.bodyContains??"").trim(),u=String(e?.jsonPath??"").trim(),x=String(e?.jsonEquals??"").trim();return(c.length>200&&(a.bodyContains="Keep the keyword under 200 characters."),!u&&x&&(a.jsonPath="Add a JSON path for the value."),u&&(u.length>100||!function(e){if(!t.test(e))return null;let a=[];for(let t of e.matchAll(/([A-Za-z_$][\w$]*)|\[(\d+)\]/g))a.push(void 0!==t[1]?t[1]:Number(t[2]));return a.some(e=>"string"==typeof e&&n.has(e))?null:a}(u)?a.jsonPath="Use dots and [0] only, like checks.db or items[0].state.":x?x.length>200&&(a.jsonEquals="Keep the value under 200 characters."):a.jsonEquals="Enter the value it must equal.",c&&!a.bodyContains&&(a.bodyContains="Use either a keyword or a JSON field.")),Object.keys(a).length||!s)?{ok:!1,fieldErrors:a}:(s.hash="",{ok:!0,value:{url:s.toString(),expectedStatus:Number(i),timeoutMs:1e3*l,bodyContains:c||null,jsonPath:u||null,jsonEquals:u?x:null}})}],70528)},322534,e=>{e.i(684496),e.s(["f",0,e=>`${e} item${1===e?"":"s"}`])},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
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,531219,e=>{let t=(0,e.i(33550).f)("outline","filter-off","FilterOff",[["path",{d:"M8 4h12v2.172a2 2 0 0 1 -.586 1.414l-3.914 3.914m-.5 3.5v4l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227",key:"svg-0"}],["path",{d:"M3 3l18 18",key:"svg-1"}]]);e.s(["f",0,t],531219)},225913,e=>{var t=e.i(207670);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,a=t.f;e.s(["f",0,(e,t)=>r=>{var s;if((null==t?void 0:t.variants)==null)return a(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:i,defaultVariants:l}=t,o=Object.keys(i).map(e=>{let t=null==r?void 0:r[e],a=null==l?void 0:l[e];if(null===t)return null;let s=n(t)||n(a);return i[e][s]}),d=r&&Object.entries(r).reduce((e,t)=>{let[n,a]=t;return void 0===a||(e[n]=a),e},{});return a(e,o,null==t||null==(s=t.compoundVariants)?void 0:s.reduce((e,t)=>{let{class:n,className:a,...r}=t;return Object.entries(r).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...l,...d}[t]):({...l,...d})[t]===n})?[...e,n,a]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}])},293654,e=>{var t=e.i(843476),n=e.i(763995),a=e.i(271645),r=e.i(846696),s=e.i(54131),i=e.i(428325),l=e.i(500443),o=e.i(799589),d=e.i(776639),c=e.i(450547);let u=["76.76.21.21"],x=/(^|\.)vercel-dns(-\d+)?\.com$/;function p(e,t=[]){return"CNAME"===e.type?x.test(e.content.toLowerCase().replace(/\.$/,"")):"A"===e.type&&[...u,...t].includes(e.content.trim())}var f=e.i(225794),h=e.i(212253),m=e.i(95187);let g=(0,m.createServerReference)("78c44d9fd512528408ed46919088134776fe0ba3a4",m.callServer,void 0,m.findSourceMapURL,"editDnsRecordAction"),b="Owner only";function v({label:e,why:n}){return(0,t.jsx)("span",{title:n,className:"inline-flex",children:(0,t.jsx)(i.K,{size:"sm",disabled:!0,"aria-label":`${e}: ${n}`,children:e})})}function j({rows:e}){return(0,t.jsx)("span",{className:"mt-2 grid grid-cols-[auto_minmax(0,1fr)_auto_minmax(0,1fr)] items-baseline gap-x-2.5 gap-y-1.5 text-ink",children:e.map(e=>(0,t.jsxs)("span",{className:"contents",children:[(0,t.jsx)("span",{className:"text-ink-soft",children:e.label}),(0,t.jsx)("span",{className:"font-mono text-[12.5px] [overflow-wrap:anywhere]",children:e.before}),(0,t.jsx)("span",{"aria-hidden":!0,className:"text-ink-faint",children:"→"}),(0,t.jsx)("span",{className:"font-mono text-[12.5px] [overflow-wrap:anywhere]",children:e.after})]},e.label))})}let y=e=>({content:e.content,ttl:e.ttl,proxied:e.proxied});function k({zoneId:e,r:n}){let a=(0,s.useMask)(),r=p(n);return(0,t.jsx)(o.p,{label:"Set DNS only",title:a("text",`Set ${n.name} to DNS only?`),body:(0,t.jsx)(j,{rows:[{label:"Proxy",before:"Proxied through Cloudflare",after:r?"DNS only, straight to Vercel":"DNS only, straight to the origin"}]}),cta:"Set DNS only",run:()=>g(e,n.id,y(n),{...y(n),proxied:!1})})}let N={content:"Content",ttl:"TTL",proxied:"Proxy"};function w({zoneId:e,r:n,mask:r}){let[s,o]=(0,a.useState)(!1);return(0,l.useHoldRefresh)(s),(0,t.jsxs)(d.N,{open:s,onOpenChange:o,children:[(0,t.jsx)(d.a,{render:(0,t.jsx)(i.K,{size:"sm"}),children:"Edit"}),(0,t.jsx)(d.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:s&&(0,t.jsx)(S,{zoneId:e,r:n,mask:r,onDone:()=>o(!1)})})]})}function S({zoneId:e,r:s,mask:l,onDone:o}){let[u,x]=(0,a.useState)(s.content),[m,b]=(0,a.useState)(s.ttl),[v,k]=(0,a.useState)(s.proxied),[w,C]=(0,a.useState)(null),[$,z]=(0,a.useState)(null),[A,O]=(0,a.useTransition)(),M={content:u,ttl:m,proxied:v},E=(0,c.z)(s.type),P=c.i.includes(s.ttl)?c.i:[...c.i,s.ttl].sort((e,t)=>e-t),T=v&&p({type:s.type,content:u}),_=e=>$?.field===e?$.text:void 0;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(n.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.F,{className:"text-base",children:l("text",w?`Save ${s.type} record ${s.name}?`:`Edit ${s.type} record ${s.name}`)}),(0,t.jsx)(d.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:w?(0,t.jsxs)(t.Fragment,{children:["Cloudflare changes this record now. Nothing else in the zone changes, and nothing is deleted.",(0,t.jsx)(j,{rows:w.map(e=>({label:N[e.field],before:l("text",e.before),after:l("text",e.after)}))})]}):"Type and name stay as they are. Watchbell never creates or deletes records here."})]})]}),!w&&(0,t.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3 max-[560px]:grid-cols-1",children:[(0,t.jsx)(i.O,{id:"dns-type",label:"Type",children:(0,t.jsx)("input",{id:"dns-type",className:i.S,value:s.type,readOnly:!0,disabled:!0})}),(0,t.jsx)(i.O,{id:"dns-name",label:"Name",children:(0,t.jsx)("input",{id:"dns-name",className:i.S,value:l("text",s.name),readOnly:!0,disabled:!0})})]}),(0,t.jsx)(i.O,{id:"dns-content",label:"Content",error:_("content"),help:"CNAME"===s.type||"A"===s.type?"For Vercel, copy the value shown on the project's Domains page.":void 0,children:(0,t.jsx)("input",{id:"dns-content",className:i.S,value:u,spellCheck:!1,autoComplete:"off",maxLength:2048,"aria-invalid":!!_("content"),onChange:e=>x(e.target.value)})}),(0,t.jsx)(i.O,{id:"dns-ttl",label:"TTL",error:_("ttl"),help:v?"A proxied record always uses Auto.":void 0,children:(0,t.jsx)("select",{id:"dns-ttl",className:i.S,value:v?1:m,disabled:v,onChange:e=>b(Number(e.target.value)),children:P.map(e=>(0,t.jsx)("option",{value:e,children:(0,h.f)(e)},e))})}),E&&(0,t.jsxs)("div",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-[13px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"accent-brand",checked:v,onChange:e=>k(e.target.checked)}),"Proxied through Cloudflare (orange cloud)"]}),_("proxied")&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:_("proxied")})]}),T&&(0,t.jsx)("div",{className:"mb-3.5",children:(0,t.jsx)(i.M,{tone:"warning",title:"Vercel recommends DNS only here",children:"Proxying a record that points to Vercel can stop its certificate from renewing."})}),$?.field==="form"&&(0,t.jsx)("p",{className:"mb-3 text-[12.5px] text-err",role:"alert",children:$.text})]}),(0,t.jsx)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:w?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.K,{onClick:()=>C(null),disabled:A,children:"Back"}),(0,t.jsx)(i.K,{variant:"primary",onClick:function(){O(async()=>{try{let t=(0,f.f)(await g(e,s.id,y(s),M),e=>l("text",e));t.ok?(r.c.success(t.message),o()):r.c.error(t.message)}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:A,children:A?"Saving…":"Save record"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.K,{onClick:o,children:"Keep as is"}),(0,t.jsx)(i.K,{variant:"primary",onClick:function(){let e=(0,c.V)(s,M);if(!e.ok)return z({field:e.field,text:e.error});let t=(0,c.t)(s,M);if(!t.ok)return z({field:"form",text:t.error});z(null),C(t.changes)},children:"Review"})]})})]})}e.s(["DnsRecordActions",0,function({zoneId:e,r:n,owner:a,vercel:r}){let i=(0,s.useMask)(),l=n.proxied&&r;return a?(0,t.jsxs)("div",{className:"flex gap-1.5",children:[l&&(0,t.jsx)(k,{zoneId:e,r:n}),(0,c.O)(n.type)?(0,t.jsx)(w,{zoneId:e,r:n,mask:i}):(0,t.jsx)(v,{label:"Edit",why:"Only A, AAAA, CNAME and TXT records can be edited here."})]}):(0,t.jsxs)("div",{className:"flex gap-1.5",children:[l&&(0,t.jsx)(v,{label:"Set DNS only",why:b}),(0,t.jsx)(v,{label:"Edit",why:b})]})},"SetDnsOnlyButton",0,k],293654)},46200,e=>{var t=e.i(843476),n=e.i(146874),a=e.i(239692),r=e.i(271645),s=e.i(846696),i=e.i(428325),l=e.i(500443),o=e.i(776639);e.s(["f",0,function({trigger:e,open:d,onOpenChange:c,title:u,body:x,cta:p,danger:f=!1,onConfirm:h}){let[m,g]=(0,r.useState)(!1),b=d??m,[v,j]=(0,r.useTransition)();function y(e){void 0===d&&g(e),c?.(e)}return(0,l.useHoldRefresh)(b),(0,t.jsxs)(o.N,{open:b,onOpenChange:e=>{v||y(e)},children:[void 0!==e&&((0,r.isValidElement)(e)?(0,t.jsx)(o.a,{render:e}):(0,t.jsx)(o.a,{children:e})),(0,t.jsxs)(o.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${f?"text-err":"text-ink-soft"}`,children:f?(0,t.jsx)(n.f,{size:19}):(0,t.jsx)(a.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.F,{className:"text-base",children:u}),(0,t.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:x})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(i.K,{onClick:()=>y(!1),disabled:v,children:"Keep as is"}),(0,t.jsx)(i.K,{variant:f?"danger":"primary",onClick:function(){j(async()=>{try{let e=await h();e.ok?(s.c.success(e.message),y(!1)):s.c.error(e.message)}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:v,children:v?"Working…":p})]})]})]})}])},374931,e=>{var t=e.i(843476),n=e.i(531219),a=e.i(357772),r=e.i(271645),s=e.i(54131),i=e.i(428325),l=e.i(541299),o=e.i(691106),d=e.i(975157),c=e.i(322534),u=e.i(495784);e.s(["ListFilter",0,function({placeholder:e,states:x,groups:p,head:f,rows:h,chips:m}){var g,b;let v,[j,y]=(0,r.useState)(""),[k,N]=(0,r.useState)(""),[w,S]=(0,r.useState)(""),[C,$]=(0,r.useState)(""),[z,A]=(0,r.useState)(1),O=(0,s.useMask)(),M=(g=h.map(e=>({...e,text:`${e.text} ${O("text",e.text)}`})),v=(b={text:j,state:k,group:C,tag:w}).text.trim().toLowerCase(),g.filter(e=>(!b.state||e.state===b.state)&&(!b.group||e.group===b.group)&&(!b.tag||(e.tags??[]).includes(b.tag))&&(!v||e.text.toLowerCase().includes(v)))),E=(0,u.$)(M,z),P=E.rows;E.page!==z&&A(E.page);let T=x?.find(([e])=>e===k)?.[1];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-[18px] pb-3 pt-3.5 max-[720px]:px-3.5",children:[(0,t.jsx)("input",{className:(0,d.f)(i.S,"w-[240px] max-[720px]:w-full"),placeholder:e,"aria-label":e,value:j,onChange:e=>{y(e.target.value),A(1)}}),x&&(0,t.jsxs)("select",{className:(0,d.f)(i.S,"w-auto"),"aria-label":"State",value:k,onChange:e=>{N(e.target.value),A(1)},children:[(0,t.jsx)("option",{value:"",children:"All states"}),x.map(([e,n])=>(0,t.jsx)("option",{value:e,children:n},e))]}),p&&p.length>1&&(0,t.jsxs)("select",{className:(0,d.f)(i.S,"w-auto"),"aria-label":"Account",value:C,onChange:e=>{$(e.target.value),A(1)},children:[(0,t.jsx)("option",{value:"",children:"All accounts"}),p.map(e=>(0,t.jsx)("option",{value:e,children:O("account",e)},e))]}),m?.map(([e,n])=>(0,t.jsx)("button",{type:"button","aria-pressed":w===e,onClick:()=>{S(w===e?"":e),A(1)},className:(0,d.f)("rounded-[5px] border px-2 py-0.5 text-[12.5px]",w===e?"border-brand bg-brand-soft text-brand":"border-line text-ink-soft hover:bg-hover"),children:n},e)),T&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] bg-brand-soft py-px pl-2 pr-1 text-[12.5px] text-brand",children:["State: ",T,(0,t.jsx)("button",{type:"button","aria-label":"Remove filter",className:"px-0.5",onClick:()=>{N(""),A(1)},children:(0,t.jsx)(a.f,{size:13})})]}),C&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] bg-brand-soft py-px pl-2 pr-1 text-[12.5px] text-brand",children:["Account: ",(0,t.jsx)(s.Masked,{kind:"account",real:C}),(0,t.jsx)("button",{type:"button","aria-label":"Remove account filter",className:"px-0.5",onClick:()=>{$(""),A(1)},children:(0,t.jsx)(a.f,{size:13})})]}),(0,t.jsx)("span",{role:"status",className:"ml-auto text-[12.5px] text-ink-soft",children:(0,c.f)(M.length)})]}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:o.o,children:[(0,t.jsx)(o.U,{head:f}),(0,t.jsx)("tbody",{children:P.map(e=>(0,t.jsx)(r.Fragment,{children:e.row},e.key))})]})}),0===M.length&&h.length>0&&(0,t.jsxs)(i.k,{icon:n.f,title:"No results",children:["Nothing matches these filters."," ",(0,t.jsx)("button",{type:"button",className:"text-brand hover:underline",onClick:()=>{y(""),N(""),$(""),S(""),A(1)},children:"Clear filters"})]}),(0,t.jsx)(l.f,{page:E.page,pages:E.pages,text:(0,u.z)(E),onPage:A})]})}],374931)},541299,495784,e=>{var t=e.i(843476),n=e.i(271645),a=e.i(428325),r=e.i(975157);function s(e,t,n=25){let a=e.length,r=Math.max(1,Math.ceil(a/n)),i=Math.min(Math.max(Number.isFinite(t)?Math.floor(t):1,1),r),l=(i-1)*n,o=e.slice(l,l+n);return{rows:o,page:i,pages:r,from:0===a?0:l+1,to:l+o.length,total:a}}e.s(["f",0,function({page:e,pages:s,text:i,onPage:l,bleed:o=!1}){let d=(0,n.useRef)(null),c=(0,n.useRef)(null);if((0,n.useEffect)(()=>{null!==c.current&&(d.current?.querySelectorAll("button")[c.current]?.focus(),c.current=null)},[e]),s<=1)return null;let u=(e,t)=>{(e<=1||e>=s)&&(c.current=t),l(e)};return(0,t.jsxs)("div",{className:(0,r.f)("flex items-center gap-2 border-t border-line px-[18px] py-2.5 text-[12.5px] text-ink-soft",o?"-mx-[18px] -mb-4 mt-2":"max-[720px]:px-3.5"),children:[(0,t.jsx)("span",{role:"status",children:i}),(0,t.jsxs)("span",{ref:d,className:"ml-auto flex gap-1.5",children:[(0,t.jsx)(a.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Previous page",disabled:e<=1,onClick:()=>u(e-1,1),children:"‹ Previous"}),(0,t.jsx)(a.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Next page",disabled:e>=s,onClick:()=>u(e+1,0),children:"Next ›"})]})]})}],541299),e.s(["k",0,function(e,t,n,a){return a<=1?null:t>0&&null!==n?n:e[0]?.id??null},"$",0,s,"f",0,function(e,t,n,a=25){let r=null===n?0:Math.max(0,e.findIndex(e=>e.id===n)),i=s(e.slice(r),t,a);return 0===r||i.page>1?{...i,shift:r}:{...s(e,1,a),shift:0}},"z",0,function(e,t=0,n=e.total){return`${e.from+t}–${e.to+t} of ${n}`}],495784)},799589,225794,e=>{var t=e.i(843476),n=e.i(271645),a=e.i(54131),r=e.i(46200),s=e.i(428325);function i(e,t=e=>e){return e.ok?{ok:!0,message:t(e.message??"Done.")}:{ok:!1,message:t(e.error)}}function l(){let e=(0,a.useMask)();return t=>i(t,t=>e("text",t))}e.s(["f",0,i],225794),e.s(["p",0,function({label:e,title:n,body:a,cta:i,danger:o=!1,run:d}){let c=l();return(0,t.jsx)(r.f,{trigger:(0,t.jsx)(s.K,{variant:o?"danger":"secondary",children:e}),title:n,body:a,cta:i,danger:o,onConfirm:async()=>c(await d())})},"W",0,function(){let[e,a]=(0,n.useState)(null),s=l(),i=e?(0,t.jsx)(r.f,{open:!0,onOpenChange:e=>{e||a(null)},title:e.title,body:e.body,cta:e.cta,danger:e.danger,onConfirm:async()=>s(await e.run())}):null;return{open:a,dialog:i}}],799589)},776639,998218,152744,e=>{var t=e.i(843476),n=e.i(526323),a=e.i(828376);e.s(["f",0,a],998218);var a=a,r=e.i(209977),s=e.i(921637),i=e.i(141708),l=e.i(593480),o=e.i(309169),d=a;e.s(["f",0,d],152744);var d=a,c=e.i(975157),u=e.i(271645),x=e.i(540886),p=e.i(552245);let f=u.forwardRef(function(e,t){let{render:n,className:a,disabled:r=!1,focusableWhenDisabled:s=!1,nativeButton:i=!0,style:l,...o}=e,{getButtonProps:d,buttonRef:c}=(0,x.f)({disabled:r,focusableWhenDisabled:s,native:i});return(0,p.a)("button",e,{state:{disabled:r},ref:[t,c],props:[o,d]})}),h=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function m({className:e,variant:n="default",size:a="default",...r}){return(0,t.jsx)(f,{"data-slot":"button",className:(0,c.f)(h({variant:n,size:a,className:e})),...r})}var g=e.i(456420);let b={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};b.node;let v=(0,g.f)(b);function j({...e}){return(0,t.jsx)(r.f.Portal,{"data-slot":"dialog-portal",...e})}function y({className:e,...n}){return(0,t.jsx)(i.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...n})}e.s(["N",0,function({...e}){return(0,t.jsx)(n.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:n,showCloseButton:a=!0,...r}){return(0,t.jsxs)(j,{children:[(0,t.jsx)(y,{}),(0,t.jsxs)(l.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...r,children:[n,a&&(0,t.jsxs)(s.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(m,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(v,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...n}){return(0,t.jsx)(d.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...n})},"F",0,function({className:e,...n}){return(0,t.jsx)(o.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...n})},"a",0,function({...e}){return(0,t.jsx)(a.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)},70528,876195,e=>{let t=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\[\d{1,6}\])*$/,n=new Set(["__proto__","prototype","constructor"]),a=[300,3600,86400,604800],r=[300,3600,21600];e.s(["q",0,r,"Q",0,a,"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 s=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;function i(e){let t=s.exec(e);if(!t)return null;let n=t.slice(1).map(Number);return n.every(e=>e<=255)?n:null}function l([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 o(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=i(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 a=e=>""===e?[]:e.split(":"),r=a(n[0]),s=2===n.length?a(n[1]):[],l=8-r.length-s.length;if(1===n.length?0!==l:l<1)return null;let o=[...r,...Array(2===n.length?l:0).fill("0"),...s];return 8===o.length&&o.every(e=>/^[0-9a-f]{1,4}$/.test(e))?o.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 l([(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=i(t);if(n)return l(n);let a=t.slice(t.lastIndexOf(".")+1);return!(!/^(\d+|0x[0-9a-f]*)$/.test(a)&&t.includes("."))||"localhost"===t||/\.(localhost|local|internal)$/.test(t)||t.endsWith(".home.arpa")}(e.hostname)?null:"blocked"}e.i(684496);let d=[3,5,10],c=/[\u0000-\u001f\u007f-\u009f]/,u=/[­؜᠎​-‏‪-‮⁠-⁤⁦-⁩]/;e.s(["L",0,d,"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??""),s=n.trim().replace(/\s+/g," ");!/[\p{L}\p{N}]/u.test(s)||c.test(s)||u.test(n)?t.name="Name the job, like backup job.":s.length>60&&(t.name="Keep the name to 60 characters.");let i=Number(e?.periodS);a.includes(i)||(t.periodS="Pick how often the job runs.");let l=Number(e?.graceS);return(r.includes(l)||(t.graceS="Pick a grace time."),Object.keys(t).length)?{ok:!1,fieldErrors:t}:{ok:!0,value:{name:s,periodS:i,graceS:l}}},"X",0,function(e){let a={},r=String(e?.url??"").trim(),s=null;try{s=new URL(r)}catch{s=null}s&&s.hostname&&!(r.length>2048)&&"scheme"!==o(s)?"blocked"===o(s)&&(a.url="Use a public https address."):a.url="Enter a full https:// address.";let i=String(e?.expectedStatus??"").trim();/^[1-5]\d\d$/.test(i)||(a.expectedStatus="Enter an HTTP status between 100 and 599.");let l=Number(e?.timeoutS);d.includes(l)||(a.timeoutS="Pick a timeout.");let c=String(e?.bodyContains??"").trim(),u=String(e?.jsonPath??"").trim(),x=String(e?.jsonEquals??"").trim();return(c.length>200&&(a.bodyContains="Keep the keyword under 200 characters."),!u&&x&&(a.jsonPath="Add a JSON path for the value."),u&&(u.length>100||!function(e){if(!t.test(e))return null;let a=[];for(let t of e.matchAll(/([A-Za-z_$][\w$]*)|\[(\d+)\]/g))a.push(void 0!==t[1]?t[1]:Number(t[2]));return a.some(e=>"string"==typeof e&&n.has(e))?null:a}(u)?a.jsonPath="Use dots and [0] only, like checks.db or items[0].state.":x?x.length>200&&(a.jsonEquals="Keep the value under 200 characters."):a.jsonEquals="Enter the value it must equal.",c&&!a.bodyContains&&(a.bodyContains="Use either a keyword or a JSON field.")),Object.keys(a).length||!s)?{ok:!1,fieldErrors:a}:(s.hash="",{ok:!0,value:{url:s.toString(),expectedStatus:Number(i),timeoutMs:1e3*l,bodyContains:c||null,jsonPath:u||null,jsonEquals:u?x:null}})}],70528)},322534,e=>{e.i(684496),e.s(["f",0,e=>`${e} item${1===e?"":"s"}`])},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 +1 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,225913,e=>{var t=e.i(207670);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,r=t.f;e.s(["f",0,(e,t)=>a=>{var i;if((null==t?void 0:t.variants)==null)return r(e,null==a?void 0:a.class,null==a?void 0:a.className);let{variants:s,defaultVariants:o}=t,l=Object.keys(s).map(e=>{let t=null==a?void 0:a[e],r=null==o?void 0:o[e];if(null===t)return null;let i=n(t)||n(r);return s[e][i]}),d=a&&Object.entries(a).reduce((e,t)=>{let[n,r]=t;return void 0===r||(e[n]=r),e},{});return r(e,l,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...o,...d}[t]):({...o,...d})[t]===n})?[...e,n,r]:e},[]),null==a?void 0:a.class,null==a?void 0:a.className)}])},475432,e=>{var t=e.i(843476),n=e.i(618566),r=e.i(271645),a=e.i(846696),i=e.i(54131),s=e.i(799589),o=e.i(177106),l=e.i(856033),d=e.i(452842),u=e.i(545938),c=e.i(95187);let p=(0,c.createServerReference)("401e9fb3aad22634e10eb1573d6fe2463a351ff31d",c.callServer,void 0,c.findSourceMapURL,"redeployCurrentAction");var f=e.i(651626);e.s(["AppMenu",0,function({app:e}){var c;let g,[,h]=(0,r.useTransition)(),m=(0,f.f)(),b=(0,n.useRouter)(),v=(0,i.useMask)(),x=(0,s.W)(),y=(g=[{label:"Redeploy",onSelect:(c={redeploy:()=>x.open({...(0,l.f)("Redeploy",v("app",e.name),""),run:()=>p(e.id)}),viewLogs:()=>{let t;return b.push((t=e.id,`/apps/${t}?tab=logs`))},togglePause:()=>m(()=>new Promise(t=>h(async()=>{try{let t=await (0,u.f)(e.id,!e.paused);t.ok?a.c.success(t.message??""):a.c.error(t.error)}catch{a.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}finally{t()}})))}).redeploy},...e.siteUrl?[{label:"Open site",href:e.siteUrl}]:[],{label:"View logs",onSelect:c.viewLogs}],e.monitorCount>0&&g.push({label:e.paused?"Resume monitors":"Pause monitors",onSelect:c.togglePause}),g);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.RowMenu,{items:y,label:(0,d.J)(e.name)}),x.dialog]})}],475432)},545938,651626,e=>{var t=e.i(95187);let n=(0,t.createServerReference)("6046ea4cd32cd6488fdf1d3cda66933b52246754f2",t.callServer,void 0,t.findSourceMapURL,"pauseAppMonitors");e.s(["f",0,n],545938);var r=e.i(271645);e.s(["f",0,function(){let e=(0,r.useRef)(!1);return t=>!e.current&&(e.current=!0,t().catch(()=>void 0).finally(()=>{e.current=!1}),!0)}],651626)},46200,e=>{var t=e.i(843476),n=e.i(146874),r=e.i(239692),a=e.i(271645),i=e.i(846696),s=e.i(428325),o=e.i(500443),l=e.i(776639);e.s(["f",0,function({trigger:e,open:d,onOpenChange:u,title:c,body:p,cta:f,danger:g=!1,onConfirm:h}){let[m,b]=(0,a.useState)(!1),v=d??m,[x,y]=(0,a.useTransition)();function k(e){void 0===d&&b(e),u?.(e)}return(0,o.useHoldRefresh)(v),(0,t.jsxs)(l.N,{open:v,onOpenChange:e=>{x||k(e)},children:[void 0!==e&&((0,a.isValidElement)(e)?(0,t.jsx)(l.a,{render:e}):(0,t.jsx)(l.a,{children:e})),(0,t.jsxs)(l.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${g?"text-err":"text-ink-soft"}`,children:g?(0,t.jsx)(n.f,{size:19}):(0,t.jsx)(r.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(l.F,{className:"text-base",children:c}),(0,t.jsx)(l.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:p})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(s.K,{onClick:()=>k(!1),disabled:x,children:"Keep as is"}),(0,t.jsx)(s.K,{variant:g?"danger":"primary",onClick:function(){y(async()=>{try{let e=await h();e.ok?(i.c.success(e.message),k(!1)):i.c.error(e.message)}catch{i.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:x,children:x?"Working…":f})]})]})]})}])},541299,495784,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(428325),a=e.i(975157);function i(e,t,n=25){let r=e.length,a=Math.max(1,Math.ceil(r/n)),s=Math.min(Math.max(Number.isFinite(t)?Math.floor(t):1,1),a),o=(s-1)*n,l=e.slice(o,o+n);return{rows:l,page:s,pages:a,from:0===r?0:o+1,to:o+l.length,total:r}}e.s(["f",0,function({page:e,pages:i,text:s,onPage:o,bleed:l=!1}){let d=(0,n.useRef)(null),u=(0,n.useRef)(null);if((0,n.useEffect)(()=>{null!==u.current&&(d.current?.querySelectorAll("button")[u.current]?.focus(),u.current=null)},[e]),i<=1)return null;let c=(e,t)=>{(e<=1||e>=i)&&(u.current=t),o(e)};return(0,t.jsxs)("div",{className:(0,a.f)("flex items-center gap-2 border-t border-line px-[18px] py-2.5 text-[12.5px] text-ink-soft",l?"-mx-[18px] -mb-4 mt-2":"max-[720px]:px-3.5"),children:[(0,t.jsx)("span",{role:"status",children:s}),(0,t.jsxs)("span",{ref:d,className:"ml-auto flex gap-1.5",children:[(0,t.jsx)(r.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Previous page",disabled:e<=1,onClick:()=>c(e-1,1),children:"‹ Previous"}),(0,t.jsx)(r.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Next page",disabled:e>=i,onClick:()=>c(e+1,0),children:"Next ›"})]})]})}],541299),e.s(["k",0,function(e,t,n,r){return r<=1?null:t>0&&null!==n?n:e[0]?.id??null},"$",0,i,"f",0,function(e,t,n,r=25){let a=null===n?0:Math.max(0,e.findIndex(e=>e.id===n)),s=i(e.slice(a),t,r);return 0===a||s.page>1?{...s,shift:a}:{...i(e,1,r),shift:0}},"z",0,function(e,t=0,n=e.total){return`${e.from+t}–${e.to+t} of ${n}`}],495784)},799589,225794,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(54131),a=e.i(46200),i=e.i(428325);function s(e,t=e=>e){return e.ok?{ok:!0,message:t(e.message??"Done.")}:{ok:!1,message:t(e.error)}}function o(){let e=(0,r.useMask)();return t=>s(t,t=>e("text",t))}e.s(["f",0,s],225794),e.s(["p",0,function({label:e,title:n,body:r,cta:s,danger:l=!1,run:d}){let u=o();return(0,t.jsx)(a.f,{trigger:(0,t.jsx)(i.K,{variant:l?"danger":"secondary",children:e}),title:n,body:r,cta:s,danger:l,onConfirm:async()=>u(await d())})},"W",0,function(){let[e,r]=(0,n.useState)(null),i=o(),s=e?(0,t.jsx)(a.f,{open:!0,onOpenChange:e=>{e||r(null)},title:e.title,body:e.body,cta:e.cta,danger:e.danger,onConfirm:async()=>i(await e.run())}):null;return{open:r,dialog:s}}],799589)},177106,e=>{var t=e.i(843476),n=e.i(33550);let r=(0,n.f)("outline","chevron-down","ChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),a=(0,n.f)("outline","dots-vertical","DotsVertical",[["path",{d:"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]);var i=e.i(271645),s=e.i(428325),o=e.i(500443),l=e.i(755146);e.s(["RowMenu",0,function({items:e,button:n=!1,label:d="Actions"}){let[u,c]=(0,i.useState)(!1);return(0,o.useHoldRefresh)(u),(0,t.jsxs)(l.G,{open:u,onOpenChange:c,children:[n?(0,t.jsxs)(l.X,{className:(0,s.R)(),children:[d," ",(0,t.jsx)(r,{size:16,"aria-hidden":!0})]}):(0,t.jsx)(l.X,{"aria-label":d,className:"rounded-[5px] px-1.5 py-1 text-ink-faint hover:bg-sunken hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:(0,t.jsx)(a,{size:17})}),(0,t.jsx)(l.L,{align:"end",className:"min-w-[200px] rounded-[8px] border border-line-strong bg-surface p-1 shadow-[0_8px_24px_rgba(0,0,0,.14)] ring-0",children:e.map((e,n)=>"---"===e?(0,t.jsx)(l.U,{},`sep-${n}`):(0,t.jsxs)(l.r,{disabled:void 0!==e.disabled,variant:e.danger?"destructive":"default",className:"rounded-[5px] px-2.5 py-[7px]",onClick:()=>{e.href?window.open(e.href,"_blank","noopener,noreferrer"):e.onSelect?.()},children:[e.label,void 0!==e.disabled&&(0,t.jsx)("span",{className:"ml-auto pl-3 text-[11px] text-ink-faint",children:e.disabled})]},e.label))})]})}],177106)},776639,998218,152744,e=>{var t=e.i(843476),n=e.i(526323),r=e.i(828376);e.s(["f",0,r],998218);var r=r,a=e.i(209977),i=e.i(921637),s=e.i(141708),o=e.i(593480),l=e.i(309169),d=r;e.s(["f",0,d],152744);var d=r,u=e.i(975157),c=e.i(271645),p=e.i(540886),f=e.i(552245);let g=c.forwardRef(function(e,t){let{render:n,className:r,disabled:a=!1,focusableWhenDisabled:i=!1,nativeButton:s=!0,style:o,...l}=e,{getButtonProps:d,buttonRef:u}=(0,p.f)({disabled:a,focusableWhenDisabled:i,native:s});return(0,f.a)("button",e,{state:{disabled:a},ref:[t,u],props:[l,d]})}),h=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function m({className:e,variant:n="default",size:r="default",...a}){return(0,t.jsx)(g,{"data-slot":"button",className:(0,u.f)(h({variant:n,size:r,className:e})),...a})}var b=e.i(456420);let v={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};v.node;let x=(0,b.f)(v);function y({...e}){return(0,t.jsx)(a.f.Portal,{"data-slot":"dialog-portal",...e})}function k({className:e,...n}){return(0,t.jsx)(s.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,u.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...n})}e.s(["N",0,function({...e}){return(0,t.jsx)(n.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:n,showCloseButton:r=!0,...a}){return(0,t.jsxs)(y,{children:[(0,t.jsx)(k,{}),(0,t.jsxs)(o.f.Popup,{"data-slot":"dialog-content",className:(0,u.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a,children:[n,r&&(0,t.jsxs)(i.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(m,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(x,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...n}){return(0,t.jsx)(d.Description,{"data-slot":"dialog-description",className:(0,u.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...n})},"F",0,function({className:e,...n}){return(0,t.jsx)(l.f.Title,{"data-slot":"dialog-title",className:(0,u.f)("font-heading text-base leading-none font-medium",e),...n})},"a",0,function({...e}){return(0,t.jsx)(r.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)},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],a=[300,3600,21600];e.s(["q",0,a,"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 i=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;function s(e){let t=i.exec(e);if(!t)return null;let n=t.slice(1).map(Number);return n.every(e=>e<=255)?n:null}function o([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 l(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=s(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(":"),a=r(n[0]),i=2===n.length?r(n[1]):[],o=8-a.length-i.length;if(1===n.length?0!==o:o<1)return null;let l=[...a,...Array(2===n.length?o:0).fill("0"),...i];return 8===l.length&&l.every(e=>/^[0-9a-f]{1,4}$/.test(e))?l.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 o([(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=s(t);if(n)return o(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 d=[3,5,10],u=/[\u0000-\u001f\u007f-\u009f]/,c=/[­؜᠎​-‏‪-‮⁠-⁤⁦-⁩]/;e.s(["L",0,d,"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??""),i=n.trim().replace(/\s+/g," ");!/[\p{L}\p{N}]/u.test(i)||u.test(i)||c.test(n)?t.name="Name the job, like backup job.":i.length>60&&(t.name="Keep the name to 60 characters.");let s=Number(e?.periodS);r.includes(s)||(t.periodS="Pick how often the job runs.");let o=Number(e?.graceS);return(a.includes(o)||(t.graceS="Pick a grace time."),Object.keys(t).length)?{ok:!1,fieldErrors:t}:{ok:!0,value:{name:i,periodS:s,graceS:o}}},"X",0,function(e){let r={},a=String(e?.url??"").trim(),i=null;try{i=new URL(a)}catch{i=null}i&&i.hostname&&!(a.length>2048)&&"scheme"!==l(i)?"blocked"===l(i)&&(r.url="Use a public https address."):r.url="Enter a full https:// address.";let s=String(e?.expectedStatus??"").trim();/^[1-5]\d\d$/.test(s)||(r.expectedStatus="Enter an HTTP status between 100 and 599.");let o=Number(e?.timeoutS);d.includes(o)||(r.timeoutS="Pick a timeout.");let u=String(e?.bodyContains??"").trim(),c=String(e?.jsonPath??"").trim(),p=String(e?.jsonEquals??"").trim();return(u.length>200&&(r.bodyContains="Keep the keyword under 200 characters."),!c&&p&&(r.jsonPath="Add a JSON path for the value."),c&&(c.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}(c)?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.",u&&!r.bodyContains&&(r.bodyContains="Use either a keyword or a JSON field.")),Object.keys(r).length||!i)?{ok:!1,fieldErrors:r}:(i.hash="",{ok:!0,value:{url:i.toString(),expectedStatus:Number(s),timeoutMs:1e3*o,bodyContains:u||null,jsonPath:c||null,jsonEquals:c?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.`}}}])},322534,e=>{e.i(684496),e.s(["f",0,e=>`${e} item${1===e?"":"s"}`])},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
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,225913,e=>{var t=e.i(207670);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,r=t.f;e.s(["f",0,(e,t)=>a=>{var i;if((null==t?void 0:t.variants)==null)return r(e,null==a?void 0:a.class,null==a?void 0:a.className);let{variants:s,defaultVariants:o}=t,l=Object.keys(s).map(e=>{let t=null==a?void 0:a[e],r=null==o?void 0:o[e];if(null===t)return null;let i=n(t)||n(r);return s[e][i]}),d=a&&Object.entries(a).reduce((e,t)=>{let[n,r]=t;return void 0===r||(e[n]=r),e},{});return r(e,l,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...o,...d}[t]):({...o,...d})[t]===n})?[...e,n,r]:e},[]),null==a?void 0:a.class,null==a?void 0:a.className)}])},475432,e=>{var t=e.i(843476),n=e.i(618566),r=e.i(271645),a=e.i(846696),i=e.i(54131),s=e.i(799589),o=e.i(177106),l=e.i(856033),d=e.i(452842),u=e.i(871157),c=e.i(95187);let p=(0,c.createServerReference)("40b909d61c1da65c4de755397527e4c4b345b25bd5",c.callServer,void 0,c.findSourceMapURL,"redeployCurrentAction");var f=e.i(651626);e.s(["AppMenu",0,function({app:e}){var c;let g,[,h]=(0,r.useTransition)(),m=(0,f.f)(),b=(0,n.useRouter)(),v=(0,i.useMask)(),x=(0,s.W)(),y=(g=[{label:"Redeploy",onSelect:(c={redeploy:()=>x.open({...(0,l.f)("Redeploy",v("app",e.name),""),run:()=>p(e.id)}),viewLogs:()=>{let t;return b.push((t=e.id,`/apps/${t}?tab=logs`))},togglePause:()=>m(()=>new Promise(t=>h(async()=>{try{let t=await (0,u.f)(e.id,!e.paused);t.ok?a.c.success(t.message??""):a.c.error(t.error)}catch{a.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}finally{t()}})))}).redeploy},...e.siteUrl?[{label:"Open site",href:e.siteUrl}]:[],{label:"View logs",onSelect:c.viewLogs}],e.monitorCount>0&&g.push({label:e.paused?"Resume monitors":"Pause monitors",onSelect:c.togglePause}),g);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.RowMenu,{items:y,label:(0,d.J)(e.name)}),x.dialog]})}],475432)},871157,651626,e=>{var t=e.i(95187);let n=(0,t.createServerReference)("60fd4e9293ae6dd387bb63f136c46843813d4cac7b",t.callServer,void 0,t.findSourceMapURL,"pauseAppMonitors");e.s(["f",0,n],871157);var r=e.i(271645);e.s(["f",0,function(){let e=(0,r.useRef)(!1);return t=>!e.current&&(e.current=!0,t().catch(()=>void 0).finally(()=>{e.current=!1}),!0)}],651626)},46200,e=>{var t=e.i(843476),n=e.i(146874),r=e.i(239692),a=e.i(271645),i=e.i(846696),s=e.i(428325),o=e.i(500443),l=e.i(776639);e.s(["f",0,function({trigger:e,open:d,onOpenChange:u,title:c,body:p,cta:f,danger:g=!1,onConfirm:h}){let[m,b]=(0,a.useState)(!1),v=d??m,[x,y]=(0,a.useTransition)();function k(e){void 0===d&&b(e),u?.(e)}return(0,o.useHoldRefresh)(v),(0,t.jsxs)(l.N,{open:v,onOpenChange:e=>{x||k(e)},children:[void 0!==e&&((0,a.isValidElement)(e)?(0,t.jsx)(l.a,{render:e}):(0,t.jsx)(l.a,{children:e})),(0,t.jsxs)(l.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${g?"text-err":"text-ink-soft"}`,children:g?(0,t.jsx)(n.f,{size:19}):(0,t.jsx)(r.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(l.F,{className:"text-base",children:c}),(0,t.jsx)(l.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:p})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(s.K,{onClick:()=>k(!1),disabled:x,children:"Keep as is"}),(0,t.jsx)(s.K,{variant:g?"danger":"primary",onClick:function(){y(async()=>{try{let e=await h();e.ok?(i.c.success(e.message),k(!1)):i.c.error(e.message)}catch{i.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:x,children:x?"Working…":f})]})]})]})}])},541299,495784,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(428325),a=e.i(975157);function i(e,t,n=25){let r=e.length,a=Math.max(1,Math.ceil(r/n)),s=Math.min(Math.max(Number.isFinite(t)?Math.floor(t):1,1),a),o=(s-1)*n,l=e.slice(o,o+n);return{rows:l,page:s,pages:a,from:0===r?0:o+1,to:o+l.length,total:r}}e.s(["f",0,function({page:e,pages:i,text:s,onPage:o,bleed:l=!1}){let d=(0,n.useRef)(null),u=(0,n.useRef)(null);if((0,n.useEffect)(()=>{null!==u.current&&(d.current?.querySelectorAll("button")[u.current]?.focus(),u.current=null)},[e]),i<=1)return null;let c=(e,t)=>{(e<=1||e>=i)&&(u.current=t),o(e)};return(0,t.jsxs)("div",{className:(0,a.f)("flex items-center gap-2 border-t border-line px-[18px] py-2.5 text-[12.5px] text-ink-soft",l?"-mx-[18px] -mb-4 mt-2":"max-[720px]:px-3.5"),children:[(0,t.jsx)("span",{role:"status",children:s}),(0,t.jsxs)("span",{ref:d,className:"ml-auto flex gap-1.5",children:[(0,t.jsx)(r.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Previous page",disabled:e<=1,onClick:()=>c(e-1,1),children:"‹ Previous"}),(0,t.jsx)(r.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Next page",disabled:e>=i,onClick:()=>c(e+1,0),children:"Next ›"})]})]})}],541299),e.s(["k",0,function(e,t,n,r){return r<=1?null:t>0&&null!==n?n:e[0]?.id??null},"$",0,i,"f",0,function(e,t,n,r=25){let a=null===n?0:Math.max(0,e.findIndex(e=>e.id===n)),s=i(e.slice(a),t,r);return 0===a||s.page>1?{...s,shift:a}:{...i(e,1,r),shift:0}},"z",0,function(e,t=0,n=e.total){return`${e.from+t}–${e.to+t} of ${n}`}],495784)},799589,225794,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(54131),a=e.i(46200),i=e.i(428325);function s(e,t=e=>e){return e.ok?{ok:!0,message:t(e.message??"Done.")}:{ok:!1,message:t(e.error)}}function o(){let e=(0,r.useMask)();return t=>s(t,t=>e("text",t))}e.s(["f",0,s],225794),e.s(["p",0,function({label:e,title:n,body:r,cta:s,danger:l=!1,run:d}){let u=o();return(0,t.jsx)(a.f,{trigger:(0,t.jsx)(i.K,{variant:l?"danger":"secondary",children:e}),title:n,body:r,cta:s,danger:l,onConfirm:async()=>u(await d())})},"W",0,function(){let[e,r]=(0,n.useState)(null),i=o(),s=e?(0,t.jsx)(a.f,{open:!0,onOpenChange:e=>{e||r(null)},title:e.title,body:e.body,cta:e.cta,danger:e.danger,onConfirm:async()=>i(await e.run())}):null;return{open:r,dialog:s}}],799589)},177106,e=>{var t=e.i(843476),n=e.i(33550);let r=(0,n.f)("outline","chevron-down","ChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),a=(0,n.f)("outline","dots-vertical","DotsVertical",[["path",{d:"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]);var i=e.i(271645),s=e.i(428325),o=e.i(500443),l=e.i(755146);e.s(["RowMenu",0,function({items:e,button:n=!1,label:d="Actions"}){let[u,c]=(0,i.useState)(!1);return(0,o.useHoldRefresh)(u),(0,t.jsxs)(l.G,{open:u,onOpenChange:c,children:[n?(0,t.jsxs)(l.X,{className:(0,s.R)(),children:[d," ",(0,t.jsx)(r,{size:16,"aria-hidden":!0})]}):(0,t.jsx)(l.X,{"aria-label":d,className:"rounded-[5px] px-1.5 py-1 text-ink-faint hover:bg-sunken hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:(0,t.jsx)(a,{size:17})}),(0,t.jsx)(l.L,{align:"end",className:"min-w-[200px] rounded-[8px] border border-line-strong bg-surface p-1 shadow-[0_8px_24px_rgba(0,0,0,.14)] ring-0",children:e.map((e,n)=>"---"===e?(0,t.jsx)(l.U,{},`sep-${n}`):(0,t.jsxs)(l.r,{disabled:void 0!==e.disabled,variant:e.danger?"destructive":"default",className:"rounded-[5px] px-2.5 py-[7px]",onClick:()=>{e.href?window.open(e.href,"_blank","noopener,noreferrer"):e.onSelect?.()},children:[e.label,void 0!==e.disabled&&(0,t.jsx)("span",{className:"ml-auto pl-3 text-[11px] text-ink-faint",children:e.disabled})]},e.label))})]})}],177106)},776639,998218,152744,e=>{var t=e.i(843476),n=e.i(526323),r=e.i(828376);e.s(["f",0,r],998218);var r=r,a=e.i(209977),i=e.i(921637),s=e.i(141708),o=e.i(593480),l=e.i(309169),d=r;e.s(["f",0,d],152744);var d=r,u=e.i(975157),c=e.i(271645),p=e.i(540886),f=e.i(552245);let g=c.forwardRef(function(e,t){let{render:n,className:r,disabled:a=!1,focusableWhenDisabled:i=!1,nativeButton:s=!0,style:o,...l}=e,{getButtonProps:d,buttonRef:u}=(0,p.f)({disabled:a,focusableWhenDisabled:i,native:s});return(0,f.a)("button",e,{state:{disabled:a},ref:[t,u],props:[l,d]})}),h=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function m({className:e,variant:n="default",size:r="default",...a}){return(0,t.jsx)(g,{"data-slot":"button",className:(0,u.f)(h({variant:n,size:r,className:e})),...a})}var b=e.i(456420);let v={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};v.node;let x=(0,b.f)(v);function y({...e}){return(0,t.jsx)(a.f.Portal,{"data-slot":"dialog-portal",...e})}function k({className:e,...n}){return(0,t.jsx)(s.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,u.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...n})}e.s(["N",0,function({...e}){return(0,t.jsx)(n.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:n,showCloseButton:r=!0,...a}){return(0,t.jsxs)(y,{children:[(0,t.jsx)(k,{}),(0,t.jsxs)(o.f.Popup,{"data-slot":"dialog-content",className:(0,u.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a,children:[n,r&&(0,t.jsxs)(i.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(m,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(x,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...n}){return(0,t.jsx)(d.Description,{"data-slot":"dialog-description",className:(0,u.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...n})},"F",0,function({className:e,...n}){return(0,t.jsx)(l.f.Title,{"data-slot":"dialog-title",className:(0,u.f)("font-heading text-base leading-none font-medium",e),...n})},"a",0,function({...e}){return(0,t.jsx)(r.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)},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],a=[300,3600,21600];e.s(["q",0,a,"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 i=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;function s(e){let t=i.exec(e);if(!t)return null;let n=t.slice(1).map(Number);return n.every(e=>e<=255)?n:null}function o([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 l(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=s(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(":"),a=r(n[0]),i=2===n.length?r(n[1]):[],o=8-a.length-i.length;if(1===n.length?0!==o:o<1)return null;let l=[...a,...Array(2===n.length?o:0).fill("0"),...i];return 8===l.length&&l.every(e=>/^[0-9a-f]{1,4}$/.test(e))?l.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 o([(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=s(t);if(n)return o(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 d=[3,5,10],u=/[\u0000-\u001f\u007f-\u009f]/,c=/[­؜᠎​-‏‪-‮⁠-⁤⁦-⁩]/;e.s(["L",0,d,"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??""),i=n.trim().replace(/\s+/g," ");!/[\p{L}\p{N}]/u.test(i)||u.test(i)||c.test(n)?t.name="Name the job, like backup job.":i.length>60&&(t.name="Keep the name to 60 characters.");let s=Number(e?.periodS);r.includes(s)||(t.periodS="Pick how often the job runs.");let o=Number(e?.graceS);return(a.includes(o)||(t.graceS="Pick a grace time."),Object.keys(t).length)?{ok:!1,fieldErrors:t}:{ok:!0,value:{name:i,periodS:s,graceS:o}}},"X",0,function(e){let r={},a=String(e?.url??"").trim(),i=null;try{i=new URL(a)}catch{i=null}i&&i.hostname&&!(a.length>2048)&&"scheme"!==l(i)?"blocked"===l(i)&&(r.url="Use a public https address."):r.url="Enter a full https:// address.";let s=String(e?.expectedStatus??"").trim();/^[1-5]\d\d$/.test(s)||(r.expectedStatus="Enter an HTTP status between 100 and 599.");let o=Number(e?.timeoutS);d.includes(o)||(r.timeoutS="Pick a timeout.");let u=String(e?.bodyContains??"").trim(),c=String(e?.jsonPath??"").trim(),p=String(e?.jsonEquals??"").trim();return(u.length>200&&(r.bodyContains="Keep the keyword under 200 characters."),!c&&p&&(r.jsonPath="Add a JSON path for the value."),c&&(c.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}(c)?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.",u&&!r.bodyContains&&(r.bodyContains="Use either a keyword or a JSON field.")),Object.keys(r).length||!i)?{ok:!1,fieldErrors:r}:(i.hash="",{ok:!0,value:{url:i.toString(),expectedStatus:Number(s),timeoutMs:1e3*o,bodyContains:u||null,jsonPath:c||null,jsonEquals:c?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.`}}}])},322534,e=>{e.i(684496),e.s(["f",0,e=>`${e} item${1===e?"":"s"}`])},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 +1 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,23990,e=>{let s=(0,e.i(33550).f)("outline","key","Key",[["path",{d:"M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0",key:"svg-0"}],["path",{d:"M15 9h.01",key:"svg-1"}]]);e.s(["f",0,s],23990)},844582,e=>{let s=(0,e.i(33550).f)("outline","player-play","PlayerPlay",[["path",{d:"M7 4v16l13 -8l-13 -8",key:"svg-0"}]]);e.s(["f",0,s],844582)},495211,e=>{var s=e.i(843476),t=e.i(23990),a=e.i(271645),r=e.i(846696),i=e.i(46200),n=e.i(428325),c=e.i(500443),o=e.i(776639),l=e.i(95187);let d=(0,l.createServerReference)("40115fdf138d0ee28d258182dbdc2077e487593058",l.callServer,void 0,l.findSourceMapURL,"deleteMetricsKey"),p=(0,l.createServerReference)("706cba9a63fd033f5a744cbde6d861b8750b5ad95b",l.callServer,void 0,l.findSourceMapURL,"setMetricsKey");function h({id:e,projectRef:i,alias:l,hasKey:d,open:u,onOpenChange:x,trigger:f}){let[m,b]=(0,a.useState)(!1),y=u??m,[k,v]=(0,a.useState)(""),[j,g]=(0,a.useState)(),[S,R]=(0,a.useTransition)();function w(e){S||(v(""),g(void 0),void 0===u&&b(e),x?.(e))}return(0,c.useHoldRefresh)(y),(0,s.jsxs)(o.N,{open:y,onOpenChange:w,children:[f&&(0,s.jsx)(o.a,{render:f}),(0,s.jsxs)(o.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,s.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,s.jsx)(t.f,{size:19})}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(o.F,{className:"text-base",children:[d?"Replace":"Add"," metrics key for ",l]}),(0,s.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"CPU, RAM, disk and connections come from Supabase's Metrics API (beta), which needs a Secret API key of this project."})]})]}),(0,s.jsxs)("form",{onSubmit:s=>{s.preventDefault(),R(async()=>{try{let s=await p(e,i,k);if(!s.ok){g(s.fieldErrors?.key??s.error),r.c.error(s.error);return}let t=s.message?.includes("test call failed");r.c.success(`Metrics key saved for ${l}`,{description:t?"The test call failed; the Compute panel shows why.":"CPU shows after the next scrape, in about 5 minutes."}),v(""),w(!1)}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,s.jsxs)("div",{className:"px-[18px] pt-2 text-[13px] text-ink-soft",children:[(0,s.jsxs)("ol",{className:"mb-3 list-decimal space-y-1 pl-5",children:[(0,s.jsxs)("li",{children:["In Supabase, open ",(0,s.jsx)("b",{className:"font-medium text-ink",children:"Project Settings → API Keys"})," for this project and create a new Secret API key named ",(0,s.jsx)("span",{className:"font-mono text-ink",children:"watchbell-metrics"}),"."]}),(0,s.jsx)("li",{children:"Paste it below. A secret key has full database power, so the console stores it encrypted, never shows it again and only sends it to this project's metrics endpoint."}),(0,s.jsx)("li",{children:"You can revoke it in Supabase at any time; the panel then shows the error and you can add a new one."})]}),(0,s.jsx)(n.O,{id:`mk-${e}`,label:"Secret API key",error:j,help:"Starts with sb_secret_. Saving makes one test call to the metrics endpoint.",children:(0,s.jsx)("input",{id:`mk-${e}`,type:"password",className:`${n.S} font-mono`,autoComplete:"off",spellCheck:!1,placeholder:"sb_secret_…",value:k,onChange:e=>{v(e.target.value),g(void 0)}})})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,s.jsx)(n.K,{type:"button",onClick:()=>w(!1),disabled:S,children:"Cancel"}),(0,s.jsx)(n.K,{type:"submit",variant:"primary",disabled:S||!k.trim(),children:S?"Testing…":d?"Replace key":"Save key"})]})]})]})]})}e.s(["MetricsKeyButtons",0,function({id:e,projectRef:t,alias:a,hasKey:r}){return(0,s.jsxs)("span",{className:"inline-flex gap-1.5",children:[(0,s.jsx)(h,{id:e,projectRef:t,alias:a,hasKey:r,trigger:(0,s.jsx)(n.K,{size:"sm",children:r?"Replace key":"Add metrics key"})}),r&&(0,s.jsx)(i.f,{trigger:(0,s.jsx)(n.K,{size:"sm",variant:"ghost",children:"Remove"}),danger:!0,title:`Remove the metrics key of ${a}?`,cta:"Remove key",body:"The console deletes the stored key and this project's compute history. Revoke the key in Supabase (Project Settings → API Keys) too.",onConfirm:async()=>{let s=await d(e);return s.ok?{ok:!0,message:`Metrics key removed for ${a}.`}:{ok:!1,message:s.error}}})]})},"MetricsKeyDialog",0,h],495211)},56992,e=>{var s=e.i(843476),t=e.i(844582),a=e.i(271645),r=e.i(846696),i=e.i(54131),n=e.i(46200),c=e.i(428325),o=e.i(500443),l=e.i(799589),d=e.i(177106),p=e.i(776639),h=e.i(95187);let u=(0,h.createServerReference)("60a0d6edc34b5fa720c582cde7ffa04b88b663085e",h.callServer,void 0,h.findSourceMapURL,"checkServicesAction"),x=(0,h.createServerReference)("60679cc1bd380ce52a1f4e1a39e37a39f71c1a628b",h.callServer,void 0,h.findSourceMapURL,"pauseAction"),f=(0,h.createServerReference)("605f95444825039353ddfd515e1517ef49d260f393",h.callServer,void 0,h.findSourceMapURL,"restoreAction"),m=(0,h.createServerReference)("609cfa5181357e87c4cd51a5be6caa6a419b88cf67",h.callServer,void 0,h.findSourceMapURL,"setAutoRestore"),b=(0,h.createServerReference)("6075b32b60e684c0b363564f3aa81d86422e27ec76",h.callServer,void 0,h.findSourceMapURL,"setKeepActive");var y=e.i(495211);function k({alias:e,account:n,choices:l}){let[d,h]=(0,a.useState)(!1),[u,f]=(0,a.useState)(l.at(-1)?.id??""),[m,b]=(0,a.useTransition)(),y=(0,i.useMask)();(0,o.useHoldRefresh)(d);let v=l.find(e=>e.id===u);return(0,s.jsxs)(p.N,{open:d,onOpenChange:e=>{!m&&(h(e),e&&f(l.at(-1)?.id??""))},children:[(0,s.jsx)(p.a,{render:(0,s.jsx)(c.K,{size:"sm",children:"Restore"})}),(0,s.jsxs)(p.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,s.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,s.jsx)(t.f,{size:19})}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(p.F,{className:"text-base",children:["Restore ",e,"?"]}),(0,s.jsxs)(p.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["Account ",(0,s.jsx)(i.Masked,{kind:"account",real:n})," already uses both free slots. Pick a project to pause first."]})]})]}),(0,s.jsxs)("div",{className:"px-[18px] pb-2",children:[l.length?(0,s.jsx)("div",{className:"max-h-[260px] overflow-y-auto",children:l.map(e=>(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 border-b border-line px-1 py-[9px] last:border-b-0 hover:bg-hover",children:[(0,s.jsx)("input",{type:"radio",name:"pause-first",className:"size-4 accent-brand",checked:u===e.id,onChange:()=>f(e.id)}),(0,s.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("span",{className:"block truncate",children:["Pause ",e.alias]}),(0,s.jsxs)("span",{className:"block truncate text-[12px] text-ink-faint",children:["Last API traffic ",e.traffic,e.usedBy.length?` \xb7 used by ${e.usedBy.map(e=>y("app",e)).join(", ")}`:""]})]})]},e.id))}):(0,s.jsx)("p",{className:"my-2 text-[13px] text-ink-soft",children:"The console doesn't watch this account's active projects, so pause one in Supabase first."}),(0,s.jsxs)("p",{className:"mb-2 mt-3 text-[13px] text-ink-soft",children:["Apps that use the paused project get errors until you restore it. You can also move ",e," to another account with a free slot instead."]}),(0,s.jsx)("p",{className:"mb-3 text-[13px] text-ink-soft",children:"Restore stays blocked until the project you pause shows Paused (about 2 minutes). Then press Restore again."})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,s.jsx)(c.K,{onClick:()=>h(!1),disabled:m,children:"Cancel"}),(0,s.jsx)(c.K,{variant:"danger",disabled:m||!v,onClick:function(){v&&b(async()=>{try{let s=await x(v.id,v.ref);if(!s.ok)return void r.c.error(s.error);r.c.success("Pause started",{description:`Pausing ${v.alias}. Restore ${e} once ${v.alias} shows Paused, about 2 minutes.`}),h(!1)}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:m?"Working…":"Pause selected"})]})]})]})}let v={keep:(e,s)=>s?`${e}: warning from day 5 without API traffic, and one keep-alive query a day.`:`${e} may pause after 7 idle days.`,autoRestore:(e,s)=>s?`${e} is restored automatically when its account has a free slot.`:`${e} is no longer restored automatically.`};e.s(["ActiveRowMenu",0,function({id:e,projectRef:t,alias:i,label:n,metrics:c,dashboard:o=!0}){let{open:p,dialog:h}=(0,l.W)(),[f,m]=(0,a.useState)(!1);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.RowMenu,{label:n,items:[...o?[{label:"Open in Supabase",href:`https://supabase.com/dashboard/project/${encodeURIComponent(t)}`}]:[],{label:"Check services",onSelect:()=>{let s;return s=r.c.loading(`Checking ${i}'s services…`),void u(e,t).then(e=>e.ok?r.c.success(`${i}: services healthy`,{id:s,description:e.message}):r.c.error(`${i}: services`,{id:s,description:e.error})).catch(()=>r.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:s}))}},...c?[{label:c.hasKey?"Replace metrics key":"Add metrics key",onSelect:()=>m(!0)}]:[],"---",{label:"Pause project",danger:!0,onSelect:()=>p({title:`Pause ${i}?`,body:"Supabase stops the project in about 2 minutes. Apps that use this database get errors until it's restored (possible for 1 year). Pausing frees one of this account's 2 free slots. Nothing is deleted.",cta:"Pause project",danger:!0,run:async()=>{let s;return(s=`Pausing ${i}. It takes about 2 minutes.`,e=>e.ok?{ok:!0,message:s}:e)(await x(e,t))}})}]}),h,c&&(0,s.jsx)(y.MetricsKeyDialog,{id:e,projectRef:t,alias:i,hasKey:c.hasKey,open:f,onOpenChange:m})]})},"KeepActiveBoxes",0,function({id:e,alias:t,keep:i,autoRestore:n,owner:c,sent:o}){let[l,d]=(0,a.useState)({keep:i,autoRestore:n}),[p,h]=(0,a.useTransition)(),u=(a,i)=>(0,s.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",title:c?void 0:"Owner only",children:[(0,s.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:l[a],disabled:!c||p,onChange:s=>{var i;return i=s.target.checked,void(d({...l,[a]:i}),h(async()=>{try{let s=await ("keep"===a?b:m)(e,i);if(!s.ok){d(l),r.c.error(s.error);return}r.c.success("Keep active saved",{description:v[a](t,i)})}catch{d(l),r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}))}}),i]});return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[u("keep","Keep active"),u("autoRestore","Auto-restore")]}),o&&(0,s.jsxs)("div",{className:"text-[12px] text-ink-faint",children:["Keep-alive sent ",o]})]})},"RestoreButton",0,function({id:e,projectRef:t,alias:a,account:r,slotsLeft:i,choices:o}){return i>0?(0,s.jsx)(n.f,{trigger:(0,s.jsx)(c.K,{size:"sm",children:"Restore"}),title:`Restore ${a}?`,body:"Supabase brings the project back in about 2 minutes. Apps that use it start working again after that.",cta:"Restore",onConfirm:async()=>{let s=await f(e,t);return s.ok?{ok:!0,message:`Restoring ${a}. It takes about 2 minutes.`}:{ok:!1,message:s.error}}}):(0,s.jsx)(k,{alias:a,account:r,choices:o})}],56992)}])})();
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,23990,e=>{let s=(0,e.i(33550).f)("outline","key","Key",[["path",{d:"M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0",key:"svg-0"}],["path",{d:"M15 9h.01",key:"svg-1"}]]);e.s(["f",0,s],23990)},844582,e=>{let s=(0,e.i(33550).f)("outline","player-play","PlayerPlay",[["path",{d:"M7 4v16l13 -8l-13 -8",key:"svg-0"}]]);e.s(["f",0,s],844582)},495211,e=>{var s=e.i(843476),t=e.i(23990),a=e.i(271645),r=e.i(846696),i=e.i(46200),n=e.i(428325),c=e.i(500443),o=e.i(776639),l=e.i(95187);let d=(0,l.createServerReference)("4071be8f0bf534c68e1a16de52690a81a745e0708c",l.callServer,void 0,l.findSourceMapURL,"deleteMetricsKey"),p=(0,l.createServerReference)("70ddb0e8e036827e3bf83738286b116a0cda196f27",l.callServer,void 0,l.findSourceMapURL,"setMetricsKey");function h({id:e,projectRef:i,alias:l,hasKey:d,open:u,onOpenChange:x,trigger:f}){let[m,b]=(0,a.useState)(!1),y=u??m,[k,v]=(0,a.useState)(""),[j,g]=(0,a.useState)(),[S,R]=(0,a.useTransition)();function w(e){S||(v(""),g(void 0),void 0===u&&b(e),x?.(e))}return(0,c.useHoldRefresh)(y),(0,s.jsxs)(o.N,{open:y,onOpenChange:w,children:[f&&(0,s.jsx)(o.a,{render:f}),(0,s.jsxs)(o.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,s.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,s.jsx)(t.f,{size:19})}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(o.F,{className:"text-base",children:[d?"Replace":"Add"," metrics key for ",l]}),(0,s.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"CPU, RAM, disk and connections come from Supabase's Metrics API (beta), which needs a Secret API key of this project."})]})]}),(0,s.jsxs)("form",{onSubmit:s=>{s.preventDefault(),R(async()=>{try{let s=await p(e,i,k);if(!s.ok){g(s.fieldErrors?.key??s.error),r.c.error(s.error);return}let t=s.message?.includes("test call failed");r.c.success(`Metrics key saved for ${l}`,{description:t?"The test call failed; the Compute panel shows why.":"CPU shows after the next scrape, in about 5 minutes."}),v(""),w(!1)}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,s.jsxs)("div",{className:"px-[18px] pt-2 text-[13px] text-ink-soft",children:[(0,s.jsxs)("ol",{className:"mb-3 list-decimal space-y-1 pl-5",children:[(0,s.jsxs)("li",{children:["In Supabase, open ",(0,s.jsx)("b",{className:"font-medium text-ink",children:"Project Settings → API Keys"})," for this project and create a new Secret API key named ",(0,s.jsx)("span",{className:"font-mono text-ink",children:"watchbell-metrics"}),"."]}),(0,s.jsx)("li",{children:"Paste it below. A secret key has full database power, so the console stores it encrypted, never shows it again and only sends it to this project's metrics endpoint."}),(0,s.jsx)("li",{children:"You can revoke it in Supabase at any time; the panel then shows the error and you can add a new one."})]}),(0,s.jsx)(n.O,{id:`mk-${e}`,label:"Secret API key",error:j,help:"Starts with sb_secret_. Saving makes one test call to the metrics endpoint.",children:(0,s.jsx)("input",{id:`mk-${e}`,type:"password",className:`${n.S} font-mono`,autoComplete:"off",spellCheck:!1,placeholder:"sb_secret_…",value:k,onChange:e=>{v(e.target.value),g(void 0)}})})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,s.jsx)(n.K,{type:"button",onClick:()=>w(!1),disabled:S,children:"Cancel"}),(0,s.jsx)(n.K,{type:"submit",variant:"primary",disabled:S||!k.trim(),children:S?"Testing…":d?"Replace key":"Save key"})]})]})]})]})}e.s(["MetricsKeyButtons",0,function({id:e,projectRef:t,alias:a,hasKey:r}){return(0,s.jsxs)("span",{className:"inline-flex gap-1.5",children:[(0,s.jsx)(h,{id:e,projectRef:t,alias:a,hasKey:r,trigger:(0,s.jsx)(n.K,{size:"sm",children:r?"Replace key":"Add metrics key"})}),r&&(0,s.jsx)(i.f,{trigger:(0,s.jsx)(n.K,{size:"sm",variant:"ghost",children:"Remove"}),danger:!0,title:`Remove the metrics key of ${a}?`,cta:"Remove key",body:"The console deletes the stored key and this project's compute history. Revoke the key in Supabase (Project Settings → API Keys) too.",onConfirm:async()=>{let s=await d(e);return s.ok?{ok:!0,message:`Metrics key removed for ${a}.`}:{ok:!1,message:s.error}}})]})},"MetricsKeyDialog",0,h],495211)},56992,e=>{var s=e.i(843476),t=e.i(844582),a=e.i(271645),r=e.i(846696),i=e.i(54131),n=e.i(46200),c=e.i(428325),o=e.i(500443),l=e.i(799589),d=e.i(177106),p=e.i(776639),h=e.i(95187);let u=(0,h.createServerReference)("60ccb08e2d2bee97aef5c49a40826a9fe3c34ee8f7",h.callServer,void 0,h.findSourceMapURL,"checkServicesAction"),x=(0,h.createServerReference)("6045b81a50723902cc9420a754199db5f0b2b7601f",h.callServer,void 0,h.findSourceMapURL,"pauseAction"),f=(0,h.createServerReference)("60eb166f2e30a62c0278c7962c860a6e35ada978d4",h.callServer,void 0,h.findSourceMapURL,"restoreAction"),m=(0,h.createServerReference)("60336223ffd40f1f2138a49236243ffed5aa843839",h.callServer,void 0,h.findSourceMapURL,"setAutoRestore"),b=(0,h.createServerReference)("6049d901862c6dcd6e86369d5310d7ee53c50b1909",h.callServer,void 0,h.findSourceMapURL,"setKeepActive");var y=e.i(495211);function k({alias:e,account:n,choices:l}){let[d,h]=(0,a.useState)(!1),[u,f]=(0,a.useState)(l.at(-1)?.id??""),[m,b]=(0,a.useTransition)(),y=(0,i.useMask)();(0,o.useHoldRefresh)(d);let v=l.find(e=>e.id===u);return(0,s.jsxs)(p.N,{open:d,onOpenChange:e=>{!m&&(h(e),e&&f(l.at(-1)?.id??""))},children:[(0,s.jsx)(p.a,{render:(0,s.jsx)(c.K,{size:"sm",children:"Restore"})}),(0,s.jsxs)(p.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,s.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,s.jsx)(t.f,{size:19})}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(p.F,{className:"text-base",children:["Restore ",e,"?"]}),(0,s.jsxs)(p.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["Account ",(0,s.jsx)(i.Masked,{kind:"account",real:n})," already uses both free slots. Pick a project to pause first."]})]})]}),(0,s.jsxs)("div",{className:"px-[18px] pb-2",children:[l.length?(0,s.jsx)("div",{className:"max-h-[260px] overflow-y-auto",children:l.map(e=>(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 border-b border-line px-1 py-[9px] last:border-b-0 hover:bg-hover",children:[(0,s.jsx)("input",{type:"radio",name:"pause-first",className:"size-4 accent-brand",checked:u===e.id,onChange:()=>f(e.id)}),(0,s.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("span",{className:"block truncate",children:["Pause ",e.alias]}),(0,s.jsxs)("span",{className:"block truncate text-[12px] text-ink-faint",children:["Last API traffic ",e.traffic,e.usedBy.length?` \xb7 used by ${e.usedBy.map(e=>y("app",e)).join(", ")}`:""]})]})]},e.id))}):(0,s.jsx)("p",{className:"my-2 text-[13px] text-ink-soft",children:"The console doesn't watch this account's active projects, so pause one in Supabase first."}),(0,s.jsxs)("p",{className:"mb-2 mt-3 text-[13px] text-ink-soft",children:["Apps that use the paused project get errors until you restore it. You can also move ",e," to another account with a free slot instead."]}),(0,s.jsx)("p",{className:"mb-3 text-[13px] text-ink-soft",children:"Restore stays blocked until the project you pause shows Paused (about 2 minutes). Then press Restore again."})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,s.jsx)(c.K,{onClick:()=>h(!1),disabled:m,children:"Cancel"}),(0,s.jsx)(c.K,{variant:"danger",disabled:m||!v,onClick:function(){v&&b(async()=>{try{let s=await x(v.id,v.ref);if(!s.ok)return void r.c.error(s.error);r.c.success("Pause started",{description:`Pausing ${v.alias}. Restore ${e} once ${v.alias} shows Paused, about 2 minutes.`}),h(!1)}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:m?"Working…":"Pause selected"})]})]})]})}let v={keep:(e,s)=>s?`${e}: warning from day 5 without API traffic, and one keep-alive query a day.`:`${e} may pause after 7 idle days.`,autoRestore:(e,s)=>s?`${e} is restored automatically when its account has a free slot.`:`${e} is no longer restored automatically.`};e.s(["ActiveRowMenu",0,function({id:e,projectRef:t,alias:i,label:n,metrics:c,dashboard:o=!0}){let{open:p,dialog:h}=(0,l.W)(),[f,m]=(0,a.useState)(!1);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.RowMenu,{label:n,items:[...o?[{label:"Open in Supabase",href:`https://supabase.com/dashboard/project/${encodeURIComponent(t)}`}]:[],{label:"Check services",onSelect:()=>{let s;return s=r.c.loading(`Checking ${i}'s services…`),void u(e,t).then(e=>e.ok?r.c.success(`${i}: services healthy`,{id:s,description:e.message}):r.c.error(`${i}: services`,{id:s,description:e.error})).catch(()=>r.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:s}))}},...c?[{label:c.hasKey?"Replace metrics key":"Add metrics key",onSelect:()=>m(!0)}]:[],"---",{label:"Pause project",danger:!0,onSelect:()=>p({title:`Pause ${i}?`,body:"Supabase stops the project in about 2 minutes. Apps that use this database get errors until it's restored (possible for 1 year). Pausing frees one of this account's 2 free slots. Nothing is deleted.",cta:"Pause project",danger:!0,run:async()=>{let s;return(s=`Pausing ${i}. It takes about 2 minutes.`,e=>e.ok?{ok:!0,message:s}:e)(await x(e,t))}})}]}),h,c&&(0,s.jsx)(y.MetricsKeyDialog,{id:e,projectRef:t,alias:i,hasKey:c.hasKey,open:f,onOpenChange:m})]})},"KeepActiveBoxes",0,function({id:e,alias:t,keep:i,autoRestore:n,owner:c,sent:o}){let[l,d]=(0,a.useState)({keep:i,autoRestore:n}),[p,h]=(0,a.useTransition)(),u=(a,i)=>(0,s.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",title:c?void 0:"Owner only",children:[(0,s.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:l[a],disabled:!c||p,onChange:s=>{var i;return i=s.target.checked,void(d({...l,[a]:i}),h(async()=>{try{let s=await ("keep"===a?b:m)(e,i);if(!s.ok){d(l),r.c.error(s.error);return}r.c.success("Keep active saved",{description:v[a](t,i)})}catch{d(l),r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}))}}),i]});return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[u("keep","Keep active"),u("autoRestore","Auto-restore")]}),o&&(0,s.jsxs)("div",{className:"text-[12px] text-ink-faint",children:["Keep-alive sent ",o]})]})},"RestoreButton",0,function({id:e,projectRef:t,alias:a,account:r,slotsLeft:i,choices:o}){return i>0?(0,s.jsx)(n.f,{trigger:(0,s.jsx)(c.K,{size:"sm",children:"Restore"}),title:`Restore ${a}?`,body:"Supabase brings the project back in about 2 minutes. Apps that use it start working again after that.",cta:"Restore",onConfirm:async()=>{let s=await f(e,t);return s.ok?{ok:!0,message:`Restoring ${a}. It takes about 2 minutes.`}:{ok:!1,message:s.error}}}):(0,s.jsx)(k,{alias:a,account:r,choices:o})}],56992)}])})();
@@ -1,7 +1,7 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,484337,e=>{let t=(0,e.i(33550).f)("outline","activity","Activity",[["path",{d:"M3 12h4l3 8l4 -16l3 8h4",key:"svg-0"}]]);e.s(["f",0,t],484337)},847379,627406,e=>{var t=e.i(33550);let a=(0,t.f)("outline","api","Api",[["path",{d:"M4 13h5",key:"svg-0"}],["path",{d:"M12 16v-8h3a2 2 0 0 1 2 2v1a2 2 0 0 1 -2 2h-3",key:"svg-1"}],["path",{d:"M20 8v8",key:"svg-2"}],["path",{d:"M9 16v-5.5a2.5 2.5 0 0 0 -5 0v5.5",key:"svg-3"}]]);e.s(["f",0,a],847379);let n=(0,t.f)("outline","layout-dashboard","LayoutDashboard",[["path",{d:"M5 4h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1",key:"svg-0"}],["path",{d:"M5 16h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1",key:"svg-1"}],["path",{d:"M15 12h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1",key:"svg-2"}],["path",{d:"M15 4h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1",key:"svg-3"}]]);e.s(["f",0,n],627406)},668029,e=>{let t=(0,e.i(33550).f)("outline","bell","Bell",[["path",{d:"M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6",key:"svg-0"}],["path",{d:"M9 17v1a3 3 0 0 0 6 0v-1",key:"svg-1"}]]);e.s(["f",0,t],668029)},49601,213756,504962,e=>{var t=e.i(33550);let a=(0,t.f)("outline","bolt","Bolt",[["path",{d:"M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11",key:"svg-0"}]]);e.s(["f",0,a],49601);let n=(0,t.f)("outline","database","Database",[["path",{d:"M4 6a8 3 0 1 0 16 0a8 3 0 1 0 -16 0",key:"svg-0"}],["path",{d:"M4 6v6a8 3 0 0 0 16 0v-6",key:"svg-1"}],["path",{d:"M4 12v6a8 3 0 0 0 16 0v-6",key:"svg-2"}]]);e.s(["f",0,n],213756);let s=(0,t.f)("outline","flame","Flame",[["path",{d:"M12 10.941c2.333 -3.308 .167 -7.823 -1 -8.941c0 3.395 -2.235 5.299 -3.667 6.706c-1.43 1.408 -2.333 3.294 -2.333 5.588c0 3.704 3.134 6.706 7 6.706c3.866 0 7 -3.002 7 -6.706c0 -1.712 -1.232 -4.403 -2.333 -5.588c-2.084 3.353 -3.257 3.353 -4.667 2.235",key:"svg-0"}]]);e.s(["f",0,s],504962)},386770,e=>{let t=(0,e.i(33550).f)("outline","brand-github","BrandGithub",[["path",{d:"M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5",key:"svg-0"}]]);e.s(["f",0,t],386770)},38156,e=>{let t=(0,e.i(33550).f)("outline","cloud","Cloud",[["path",{d:"M6.657 18c-2.572 0 -4.657 -2.007 -4.657 -4.483c0 -2.475 2.085 -4.482 4.657 -4.482c.393 -1.762 1.794 -3.2 3.675 -3.773c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486c0 1.927 -1.551 3.487 -3.465 3.487h-11.878",key:"svg-0"}]]);e.s(["f",0,t],38156)},359133,e=>{let t=(0,e.i(33550).f)("outline","heartbeat","Heartbeat",[["path",{d:"M19.5 13.572l-7.5 7.428l-2.896 -2.868m-6.117 -8.104a5 5 0 0 1 9.013 -3.022a5 5 0 1 1 7.5 6.572",key:"svg-0"}],["path",{d:"M3 13h2l2 3l2 -6l1 3h3",key:"svg-1"}]]);e.s(["f",0,t],359133)},11409,e=>{let t=(0,e.i(33550).f)("outline","plug-connected","PlugConnected",[["path",{d:"M7 12l5 5l-1.5 1.5a3.536 3.536 0 1 1 -5 -5l1.5 -1.5",key:"svg-0"}],["path",{d:"M17 12l-5 -5l1.5 -1.5a3.536 3.536 0 1 1 5 5l-1.5 1.5",key:"svg-1"}],["path",{d:"M3 21l2.5 -2.5",key:"svg-2"}],["path",{d:"M18.5 5.5l2.5 -2.5",key:"svg-3"}],["path",{d:"M10 11l-2 2",key:"svg-4"}],["path",{d:"M13 14l-2 2",key:"svg-5"}]]);e.s(["f",0,t],11409)},763995,e=>{let t=(0,e.i(33550).f)("outline","sitemap","Sitemap",[["path",{d:"M3 17a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2l0 -2",key:"svg-0"}],["path",{d:"M15 17a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2l0 -2",key:"svg-1"}],["path",{d:"M9 5a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2l0 -2",key:"svg-2"}],["path",{d:"M6 15v-1a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v1",key:"svg-3"}],["path",{d:"M12 9l0 3",key:"svg-4"}]]);e.s(["f",0,t],763995)},357772,e=>{let t=(0,e.i(33550).f)("outline","x","X",[["path",{d:"M18 6l-12 12",key:"svg-0"}],["path",{d:"M6 6l12 12",key:"svg-1"}]]);e.s(["f",0,t],357772)},746373,e=>{var t=e.i(95187);let a=(0,t.createServerReference)("008f592708757909b63f1461b2d282a0acbc9188ff",t.callServer,void 0,t.findSourceMapURL,"signOut");e.s(["f",0,a])},39626,e=>{var t=e.i(843476),a=e.i(271645);let n="oc-src",s=null,i=new Set;function r(e){return i.add(e),()=>{i.delete(e)}}function l(){if(null!==s)return s;try{return"1"===localStorage.getItem(n)}catch{return!1}}function o(){return!1}let c=(0,a.createContext)({show:!1,toggle:()=>{}}),d={api:"API",own:"Own check",calc:"Computed",test:"Needs test"};e.s(["SourcesProvider",0,function({children:e}){let d=(0,a.useSyncExternalStore)(r,l,o);return(0,a.useEffect)(()=>{document.body.classList.toggle("show-src",d)},[d]),(0,t.jsx)(c.Provider,{value:{show:d,toggle:()=>(function(e){s=e;try{localStorage.setItem(n,e?"1":"")}catch{}i.forEach(e=>e())})(!l())},children:e})},"Src",0,function({kind:e,children:a}){return(0,t.jsx)("span",{className:`src src-${e}`,children:a??d[e]})},"useSources",0,()=>(0,a.useContext)(c)])},691106,e=>{var t=e.i(843476);e.s(["U",0,function({head:e}){return(0,t.jsx)("thead",{children:(0,t.jsx)("tr",{children:e.map((e,a)=>(0,t.jsx)("th",{className:"whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5",children:e},a))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5"])},203709,e=>{e.i(684496),e.s(["e",0,"Demo · no live collector","m",0,function(e,t){if(!e)return{state:"idle",text:"Collector hasn't run yet"};let a=Math.max(0,Math.round((t.getTime()-e.getTime())/1e3)),n=Math.floor(a/60);return a<60?{state:"ok",text:`Collector ran ${a}s ago`}:a<120?{state:"ok",text:`Collector ran ${n} min ago`}:a<300?{state:"warn",text:`Collector late \xb7 ran ${n} min ago`}:{state:"err",text:`Collector stopped ${n} min ago`}}])},944971,e=>{e.s(["I",0,{empty:"Ask one above, or from an app's Why dialog. Answers come from your AI providers. Questions are kept 7 days.",agModelSuffix:" (agent)",waiting:"Waiting for an answer…",hint:"Answers come from your AI providers, here in a few seconds. Kept 7 days."},"B",0,{agentTitle:e=>`An agent is connected over MCP (${e} model${1===e?"":"s"}).`,agentBody:"Ask, the Playground and POST /api/v1/ai/questions go to the agent. Only real-time /api/v1/ai/chat needs a provider.",noneBody:"Calls to /api/v1/ai answer 503 provider_not_connected, and Ask AI and summaries need a provider too. MCP still works.",infoAgentTitle:"An agent is connected over MCP; a provider here is only for instant answers.",infoAgentBody:"Connect Gemini or Workers AI if you want answers in seconds (real-time /api/v1/ai/chat). Ask and the Playground already work through the agent.",infoBody:"Agents over MCP work without one. Connect Gemini or Workers AI for answers in seconds (Ask AI, the Why dialog, summaries)."},"p",0,{automationsBelow:"the automations below",automationTitle:"Scheduled automation",automationLead:"A scheduled run in your agent (Gemini CLI, OpenClaw or another MCP client), with the agent's own subscription (Watchbell can't see or spend it).",notSupportedLead:"Signing in with a Gemini or other consumer account to borrow its quota."},"n",0,{notSet:(e,t=!1)=>`${e} ${t?"aren't":"isn't"} set in your .env file (~/.watchbell/.env with npm, app/.env with the installers; restart Watchbell after adding ${t?"them":"it"}).`,setting:"a setting in your .env file (~/.watchbell/.env with npm, app/.env with the installers)",keyHome:"your .env file (OPS_ENCRYPTION_KEY; ~/.watchbell/.env with npm, app/.env with the installers)",checkWhere:"in your .env file (~/.watchbell/.env with npm, app/.env with the installers)",apply:"restart Watchbell"},"C",0,{writeNotesLong:"Off unless you tick it. Lets an agent post AI notes (MCP tool submit_ai_note) that show on Overview and the app page, and answer the questions you ask with Ask AI (MCP tool answer_question). It can't write anything else.",pinMessage:"Only Gemini models (names starting with gemini), or a model of this custom provider (listed or added on Models).",namePlaceholder:"my-agent"},"U",0,{noteSource:"gemini-cli",modelsAgSentence:"",agModelExamples:[],askAgSentence:" An agent model (ag/<id>, listed only while an agent reports its models) is queued for that agent instead: 202 pending, poll pollUrl until status is answered or expired (at most 20 wait, 429 quota_exceeded).",queued:"Queued for an agent (an ag/<id> model; or the same question from this key was already waiting). Poll pollUrl.",answeredByAgent:"an agent",answeredByClient:"gemini-cli/1.0",adviceAgent:"an agent such as Gemini CLI",mcpClients:"Gemini CLI, OpenClaw and others",advisorExample:{name:"Assistant prompt from another app",system:"You are a release assistant for a small team. Answer in two short paragraphs.",user:"Which of my apps should I look at first this morning?"},adviceFor:"Ask"},"T",0,{hint:"via an agent · ~10–40 s",subAgent:"Try a model with your owner session. Provider models answer in seconds and nothing is stored. Agent models answer through the AI inbox in about 10–40 s; those questions also show on AI › Ask.",giveUp:"No answer after 10 minutes. It will still show on AI › Ask when the agent answers.",emptyAnswer:"(The agent answered without text.)",answerMeta:(e,t)=>`${e} \xb7 agent \xb7 ${t} s`,expired:"The agent didn't answer this question in time.",notTaken:"The agent didn't take the question. Try again.",groupLabel:"Agent",sending:"Sending to the agent…",thinking:"The agent is thinking…",howTitle:"How an agent answers",howBody:"Your question goes to the AI inbox; your agent checks it, reads the console over MCP and answers, usually in about 10–40 s."},"X",0,{noGoogleModels:e=>`${e} answered but offers no Google text models (Gemini or Gemma).`,onlyGoogleOffered:"Only Google models (Gemini, Gemma on Workers AI) can be offered.",modelsLine:"Google only: gemini-* and Gemma (@cf/google/gemma-*) on Workers AI.",localUrl:"Outside self-host mode Watchbell can't reach your computer or network. Use a public https:// URL.",baseUrlHelp:{cloud:"HTTPS only. Must answer GET /models.",selfhost:"Any OpenAI-compatible server that answers GET /models. http:// on your own machine or network works too (for example Ollama at http://localhost:11434/v1)."},keyHelp:{cloud:"Encrypted before it's stored. Never shown again, never sent to the browser.",selfhostCustom:"Optional for a server on your own machine or network (Ollama, LM Studio). If you enter one, it's encrypted before it's stored and never shown again."},noKey:"No key"},"z",0,{mcpTabs:()=>[],serverTabs:()=>[],host:"the server",cronTab:(e,t)=>`# The daily check as a file the cron job reads (the prompt from "Scheduled automation", without its Schedule line)
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,484337,e=>{let t=(0,e.i(33550).f)("outline","activity","Activity",[["path",{d:"M3 12h4l3 8l4 -16l3 8h4",key:"svg-0"}]]);e.s(["f",0,t],484337)},847379,627406,e=>{var t=e.i(33550);let a=(0,t.f)("outline","api","Api",[["path",{d:"M4 13h5",key:"svg-0"}],["path",{d:"M12 16v-8h3a2 2 0 0 1 2 2v1a2 2 0 0 1 -2 2h-3",key:"svg-1"}],["path",{d:"M20 8v8",key:"svg-2"}],["path",{d:"M9 16v-5.5a2.5 2.5 0 0 0 -5 0v5.5",key:"svg-3"}]]);e.s(["f",0,a],847379);let n=(0,t.f)("outline","layout-dashboard","LayoutDashboard",[["path",{d:"M5 4h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1",key:"svg-0"}],["path",{d:"M5 16h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1",key:"svg-1"}],["path",{d:"M15 12h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1",key:"svg-2"}],["path",{d:"M15 4h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1",key:"svg-3"}]]);e.s(["f",0,n],627406)},668029,e=>{let t=(0,e.i(33550).f)("outline","bell","Bell",[["path",{d:"M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6",key:"svg-0"}],["path",{d:"M9 17v1a3 3 0 0 0 6 0v-1",key:"svg-1"}]]);e.s(["f",0,t],668029)},49601,213756,504962,e=>{var t=e.i(33550);let a=(0,t.f)("outline","bolt","Bolt",[["path",{d:"M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11",key:"svg-0"}]]);e.s(["f",0,a],49601);let n=(0,t.f)("outline","database","Database",[["path",{d:"M4 6a8 3 0 1 0 16 0a8 3 0 1 0 -16 0",key:"svg-0"}],["path",{d:"M4 6v6a8 3 0 0 0 16 0v-6",key:"svg-1"}],["path",{d:"M4 12v6a8 3 0 0 0 16 0v-6",key:"svg-2"}]]);e.s(["f",0,n],213756);let s=(0,t.f)("outline","flame","Flame",[["path",{d:"M12 10.941c2.333 -3.308 .167 -7.823 -1 -8.941c0 3.395 -2.235 5.299 -3.667 6.706c-1.43 1.408 -2.333 3.294 -2.333 5.588c0 3.704 3.134 6.706 7 6.706c3.866 0 7 -3.002 7 -6.706c0 -1.712 -1.232 -4.403 -2.333 -5.588c-2.084 3.353 -3.257 3.353 -4.667 2.235",key:"svg-0"}]]);e.s(["f",0,s],504962)},386770,e=>{let t=(0,e.i(33550).f)("outline","brand-github","BrandGithub",[["path",{d:"M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5",key:"svg-0"}]]);e.s(["f",0,t],386770)},38156,e=>{let t=(0,e.i(33550).f)("outline","cloud","Cloud",[["path",{d:"M6.657 18c-2.572 0 -4.657 -2.007 -4.657 -4.483c0 -2.475 2.085 -4.482 4.657 -4.482c.393 -1.762 1.794 -3.2 3.675 -3.773c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486c0 1.927 -1.551 3.487 -3.465 3.487h-11.878",key:"svg-0"}]]);e.s(["f",0,t],38156)},359133,e=>{let t=(0,e.i(33550).f)("outline","heartbeat","Heartbeat",[["path",{d:"M19.5 13.572l-7.5 7.428l-2.896 -2.868m-6.117 -8.104a5 5 0 0 1 9.013 -3.022a5 5 0 1 1 7.5 6.572",key:"svg-0"}],["path",{d:"M3 13h2l2 3l2 -6l1 3h3",key:"svg-1"}]]);e.s(["f",0,t],359133)},11409,e=>{let t=(0,e.i(33550).f)("outline","plug-connected","PlugConnected",[["path",{d:"M7 12l5 5l-1.5 1.5a3.536 3.536 0 1 1 -5 -5l1.5 -1.5",key:"svg-0"}],["path",{d:"M17 12l-5 -5l1.5 -1.5a3.536 3.536 0 1 1 5 5l-1.5 1.5",key:"svg-1"}],["path",{d:"M3 21l2.5 -2.5",key:"svg-2"}],["path",{d:"M18.5 5.5l2.5 -2.5",key:"svg-3"}],["path",{d:"M10 11l-2 2",key:"svg-4"}],["path",{d:"M13 14l-2 2",key:"svg-5"}]]);e.s(["f",0,t],11409)},763995,e=>{let t=(0,e.i(33550).f)("outline","sitemap","Sitemap",[["path",{d:"M3 17a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2l0 -2",key:"svg-0"}],["path",{d:"M15 17a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2l0 -2",key:"svg-1"}],["path",{d:"M9 5a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2l0 -2",key:"svg-2"}],["path",{d:"M6 15v-1a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v1",key:"svg-3"}],["path",{d:"M12 9l0 3",key:"svg-4"}]]);e.s(["f",0,t],763995)},357772,e=>{let t=(0,e.i(33550).f)("outline","x","X",[["path",{d:"M18 6l-12 12",key:"svg-0"}],["path",{d:"M6 6l12 12",key:"svg-1"}]]);e.s(["f",0,t],357772)},637803,e=>{var t=e.i(95187);let a=(0,t.createServerReference)("0031d4e0b1b8bf47f8783ab88e3fceaad1dd419c53",t.callServer,void 0,t.findSourceMapURL,"signOut");e.s(["f",0,a])},39626,e=>{var t=e.i(843476),a=e.i(271645);let n="oc-src",s=null,i=new Set;function r(e){return i.add(e),()=>{i.delete(e)}}function l(){if(null!==s)return s;try{return"1"===localStorage.getItem(n)}catch{return!1}}function o(){return!1}let c=(0,a.createContext)({show:!1,toggle:()=>{}}),d={api:"API",own:"Own check",calc:"Computed",test:"Needs test"};e.s(["SourcesProvider",0,function({children:e}){let d=(0,a.useSyncExternalStore)(r,l,o);return(0,a.useEffect)(()=>{document.body.classList.toggle("show-src",d)},[d]),(0,t.jsx)(c.Provider,{value:{show:d,toggle:()=>(function(e){s=e;try{localStorage.setItem(n,e?"1":"")}catch{}i.forEach(e=>e())})(!l())},children:e})},"Src",0,function({kind:e,children:a}){return(0,t.jsx)("span",{className:`src src-${e}`,children:a??d[e]})},"useSources",0,()=>(0,a.useContext)(c)])},691106,e=>{var t=e.i(843476);e.s(["U",0,function({head:e}){return(0,t.jsx)("thead",{children:(0,t.jsx)("tr",{children:e.map((e,a)=>(0,t.jsx)("th",{className:"whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5",children:e},a))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5"])},203709,e=>{e.i(684496),e.s(["e",0,"Demo · no live collector","m",0,function(e,t){if(!e)return{state:"idle",text:"Collector hasn't run yet"};let a=Math.max(0,Math.round((t.getTime()-e.getTime())/1e3)),n=Math.floor(a/60);return a<60?{state:"ok",text:`Collector ran ${a}s ago`}:a<120?{state:"ok",text:`Collector ran ${n} min ago`}:a<300?{state:"warn",text:`Collector late \xb7 ran ${n} min ago`}:{state:"err",text:`Collector stopped ${n} min ago`}}])},944971,e=>{e.s(["I",0,{empty:"Ask one above, or from an app's Why dialog. Answers come from your AI providers. Questions are kept 7 days.",agModelSuffix:" (agent)",waiting:"Waiting for an answer…",hint:"Answers come from your AI providers, here in a few seconds. Kept 7 days."},"B",0,{agentTitle:e=>`An agent is connected over MCP (${e} model${1===e?"":"s"}).`,agentBody:"Ask, the Playground and POST /api/v1/ai/questions go to the agent. Only real-time /api/v1/ai/chat needs a provider.",noneBody:"Calls to /api/v1/ai answer 503 provider_not_connected, and Ask AI and summaries need a provider too. MCP still works.",infoAgentTitle:"An agent is connected over MCP; a provider here is only for instant answers.",infoAgentBody:"Connect Gemini or Workers AI if you want answers in seconds (real-time /api/v1/ai/chat). Ask and the Playground already work through the agent.",infoBody:"Agents over MCP work without one. Connect Gemini or Workers AI for answers in seconds (Ask AI, the Why dialog, summaries)."},"p",0,{automationsBelow:"the automations below",automationTitle:"Scheduled automation",automationLead:"A scheduled run in your agent (Gemini CLI, OpenClaw or another MCP client), with the agent's own subscription (Watchbell can't see or spend it).",notSupportedLead:"Signing in with a Gemini or other consumer account to borrow its quota."},"n",0,{notSet:(e,t=!1)=>`${e} ${t?"aren't":"isn't"} set in your .env file (~/.watchbell/.env with npm, app/.env with the installers; restart Watchbell after adding ${t?"them":"it"}).`,setting:"a setting in your .env file (~/.watchbell/.env with npm, app/.env with the installers)",keyHome:"your .env file (OPS_ENCRYPTION_KEY; ~/.watchbell/.env with npm, app/.env with the installers)",checkWhere:"in your .env file (~/.watchbell/.env with npm, app/.env with the installers)",apply:"restart Watchbell"},"C",0,{writeNotesLong:"Off unless you tick it. Lets an agent post AI notes (MCP tool submit_ai_note) that show on Overview and the app page, and answer the questions you ask with Ask AI (MCP tool answer_question). It can't write anything else.",pinMessage:"Only Gemini models (names starting with gemini), or a model of this custom provider (listed or added on Models).",namePlaceholder:"my-agent"},"U",0,{noteSource:"gemini-cli",modelsAgSentence:"",agModelExamples:[],askAgSentence:" An agent model (ag/<id>, listed only while an agent reports its models) is queued for that agent instead: 202 pending, poll pollUrl until status is answered or expired (at most 20 wait, 429 quota_exceeded).",queued:"Queued for an agent (an ag/<id> model; or the same question from this key was already waiting). Poll pollUrl.",answeredByAgent:"an agent",answeredByClient:"gemini-cli/1.0",adviceAgent:"an agent such as Gemini CLI",mcpClients:"Gemini CLI, OpenClaw and others",advisorExample:{name:"Assistant prompt from another app",system:"You are a release assistant for a small team. Answer in two short paragraphs.",user:"Which of my apps should I look at first this morning?"},adviceFor:"Ask"},"T",0,{hint:"via an agent · ~10–40 s",subAgent:"Try a model with your owner session. Provider models answer in seconds and nothing is stored. Agent models answer through the AI inbox in about 10–40 s; those questions also show on AI › Ask.",giveUp:"No answer after 10 minutes. It will still show on AI › Ask when the agent answers.",emptyAnswer:"(The agent answered without text.)",answerMeta:(e,t)=>`${e} \xb7 agent \xb7 ${t} s`,expired:"The agent didn't answer this question in time.",notTaken:"The agent didn't take the question. Try again.",groupLabel:"Agent",sending:"Sending to the agent…",thinking:"The agent is thinking…",howTitle:"How an agent answers",howBody:"Your question goes to the AI inbox; your agent checks it, reads the console over MCP and answers, usually in about 10–40 s."},"X",0,{noGoogleModels:e=>`${e} answered but offers no Google text models (Gemini or Gemma).`,onlyGoogleOffered:"Only Google models (Gemini, Gemma on Workers AI) can be offered.",modelsLine:"Google only: gemini-* and Gemma (@cf/google/gemma-*) on Workers AI.",localUrl:"Outside self-host mode Watchbell can't reach your computer or network. Use a public https:// URL.",baseUrlHelp:{cloud:"HTTPS only. Must answer GET /models.",selfhost:"Any OpenAI-compatible server that answers GET /models. http:// on your own machine or network works too (for example Ollama at http://localhost:11434/v1)."},keyHelp:{cloud:"Encrypted before it's stored. Never shown again, never sent to the browser.",selfhostCustom:"Optional for a server on your own machine or network (Ollama, LM Studio). If you enter one, it's encrypted before it's stored and never shown again."},noKey:"No key"},"z",0,{mcpTabs:()=>[],serverTabs:()=>[],host:"the server",cronTab:(e,t)=>`# The daily check as a file the cron job reads (the prompt from "Scheduled automation", without its Schedule line)
2
2
  cat > ~/watchbell-daily.txt <<'PROMPT'
3
3
  ${e}
4
4
  PROMPT
5
5
 
6
6
  # crontab -e: every 6 hours. cron has a short PATH, so use full paths (which gemini).
7
- 0 */6 * * * . $HOME/.watchbell.env && /usr/local/bin/gemini -m ${t} -p "$(cat $HOME/watchbell-daily.txt)" >> $HOME/watchbell-gemini.log 2>&1`},"v",0,{ask:"Ask the agent",askAgain:"Ask the agent again",keptNote:"A question for the agent is kept for 7 days.",answeredFallback:"Agent",answerTitle:"The agent’s answer",expired:e=>`The last question to the agent (${e}) got no answer within 7 days.`,recConnect:"Connect a provider or an agent to get AI notes"}])},300975,630933,e=>{let t=e=>void 0!==e&&""!==e.trim();e.s(["f",0,function(e,a){let n=`WATCHBELL_${a}`,s=`WATCHPOST_${a}`,i=e[n];if(t(i))return{name:n,value:i};let r=e[s];return t(r)?{name:s,value:r}:void 0!==i?{name:n,value:i}:void 0!==r?{name:s,value:r}:void 0}],630933),e.s([],300975)},684496,e=>{e.i(247167),e.i(630933),e.i(300975);let t="Asia/Jakarta",a=null,n=/^(?:UTC|GMT|[A-Za-z]+(?:\/[A-Za-z0-9_+\-]+)+)$/i,s={"Asia/Calcutta":"Asia/Kolkata","Asia/Katmandu":"Asia/Kathmandu","Asia/Saigon":"Asia/Ho_Chi_Minh","Asia/Rangoon":"Asia/Yangon"};function i(){return a??t}let r=new Map,l=new Map,o=new Map;function c(e,t=i()){let a,n=(!(a=o.get(t))&&(a=new Intl.DateTimeFormat("en-US",{timeZone:t,hourCycle:"h23",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),o.set(t,a)),a).formatToParts(e),s=e=>Number(n.find(t=>t.type===e)?.value),r=s("year"),l=s("month"),d=s("day");return{year:r,month:l,day:d,hour:s("hour"),minute:s("minute"),second:s("second"),weekday:new Date(Date.UTC(r,l-1,d)).getUTCDay()}}function d(e,t){let a=c(new Date(e),t);return Date.UTC(a.year,a.month-1,a.day,a.hour,a.minute,a.second)-1e3*Math.floor(e/1e3)}function h(e,t,a,n,s,i,r,l){let o=Date.UTC(e,t-1,a,n,s,i,r),c=d(o-864e5,l),h=[...new Set([c,d(o+864e5,l)])].map(e=>o-e).filter(e=>d(e,l)===o-e);return new Date(h.length?Math.min(...h):o-c)}let u=(e,t=2)=>String(e).padStart(t,"0");function m(e){let t=c(e);return`${u(t.year,4)}-${u(t.month)}-${u(t.day)}`}function p(e){let t=c(e);return`${u(t.hour)}:${u(t.minute)}`}let f=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function g(e){let t=c(e);return{day:t.day,month:f[t.month-1],year:t.year}}e.s(["_",0,function(e,t){let a=i(),n=e.getTime()+864e5*t;if(d(n,a)===d(e.getTime(),a))return new Date(n);let s=c(e,a);return h(s.year,s.month,s.day+t,s.hour,s.minute,s.second,e.getTime()-1e3*Math.floor(e.getTime()/1e3),a)},"$",0,function(e,t){let a=Math.max(0,Math.round((t.getTime()-e.getTime())/1e3));return a<60?`${a}s ago`:a<3600?`${Math.floor(a/60)} min ago`:m(e)===m(t)?`today ${p(e)}`:`${function(e){let{day:t,month:a}=g(e);return`${t} ${a}`}(e)} ${p(e)}`},"e",0,g,"U",0,p,"T",0,function(e){let t=c(e);return`${u(t.hour)}:${u(t.minute)}:${u(t.second)}`},"x",0,m,"a",0,function(e){let t=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})$/.exec(e);if(!t)return null;let[a,n,s,r,l]=t.slice(1).map(Number),o=new Date(Date.UTC(a,n-1,s,r,l));return o.getUTCFullYear()!==a||o.getUTCMonth()!==n-1||o.getUTCDate()!==s||o.getUTCHours()!==r||o.getUTCMinutes()!==l?null:h(a,n,s,r,l,0,0,i())},"k",0,function(e){a=function(e){if(!n.test(e))return null;try{let t=new Intl.DateTimeFormat("en-US",{timeZone:e}).resolvedOptions().timeZone,a=s[t]??t;if(a.toLowerCase()===e.toLowerCase())return a;return t.toLowerCase()===e.toLowerCase()?t:e}catch{return null}}(e)??t},"C",0,i,"S",0,function(e){let t=c(e);return`${u(t.year,4)}-${u(t.month)}-${u(t.day)}T${u(t.hour)}:${u(t.minute)}`},"Q",0,(e=new Date)=>{let a;return a=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),20)),`${p(a)} ${function(e=new Date){let a=i();if(a===t)return"WIB";let n=`${a}|${d(e.getTime(),a)}`,s=r.get(n);if(void 0===s){let t=t=>{var a,n;let s,r,o;return(a=t,n={timeZoneName:"short"},s=i(),r=`${s}|${a}|${JSON.stringify(n)}`,(o=l.get(r))||(o=new Intl.DateTimeFormat(a,{...n,timeZone:s}),l.set(r,o)),o).formatToParts(e).find(e=>"timeZoneName"===e.type)?.value??""},a=t("en-US"),o=/^GMT[+-]/.test(a)?t("en-GB"):"";s=!/^GMT[+-]/.test(a)||/^GMT[+-]/.test(o)||""===o?a:o,r.set(n,s)}return s}(a)}`},"n",0,function(){let e,a=(e=i())===t?"WIB":e;return"WIB"===a?"Times are WIB.":`Times are ${a} time.`}])},102775,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(846696),s=e.i(428325),i=e.i(975157),r=e.i(209120),l=e.i(95187);let o=(0,l.createServerReference)("40c536aff6913436b6a80ddcddb13e41d66967f1d2",l.callServer,void 0,l.findSourceMapURL,"saveOfficeAutoRollback");e.s(["AutoRollbackForm",0,function({saved:e,choices:l}){let[c,d]=(0,a.useState)(e),[h,u]=(0,a.useTransition)(),m=e=>{d(t=>({...t,...e})),u(async()=>{try{let t=await o(e);t.ok?(t.data&&d(t.data),n.c.success(t.message??"Saved.")):(d(c),n.c.error(t.error))}catch{d(c),n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})};return(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(r.f,{checked:c.enabled,disabled:h,label:"Auto-rollback when a new deploy errors",onChange:e=>m({enabled:e})}),(0,t.jsxs)("span",{className:"text-[13px]",children:["Auto-rollback when a new deploy errors (first ",(0,t.jsx)("span",{className:"font-mono",children:c.windowMin})," minutes)"]})]}),(0,t.jsxs)("label",{className:"inline-flex items-center gap-2 text-[13px] text-ink-soft",children:["Window",(0,t.jsx)("select",{className:(0,i.f)(s.S,"w-auto py-1"),value:c.windowMin,disabled:h,"aria-label":"Auto-rollback window in minutes",onChange:e=>m({windowMin:Number(e.target.value)}),children:l.map(e=>(0,t.jsxs)("option",{value:e,children:[e," min"]},e))})]})]})}],102775)},30867,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(846696),s=e.i(691106),i=e.i(209120),r=e.i(95187);let l=(0,r.createServerReference)("40f4156ffba9539fa10ee82bae7d0947bfae40d620",r.callServer,void 0,r.findSourceMapURL,"saveOfficeAutoRun");e.s(["AutoRunForm",0,function({saved:e,rows:r}){let[o,c]=(0,a.useState)(e),[d,h]=(0,a.useTransition)();return(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:s.o,children:[(0,t.jsx)(s.U,{head:["Action","Auto-run","What it does"]}),(0,t.jsx)("tbody",{children:r.map(e=>(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:s.z,children:e.label}),(0,t.jsx)("td",{className:s.z,children:e.risky?(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"selalu minta persetujuan"}):(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(i.f,{checked:o[e.kind],disabled:d,label:`Auto-run: ${e.label}`,onChange:t=>{var a;return a=e.kind,void(c(e=>({...e,[a]:t})),h(async()=>{try{let e=await l({[a]:t});e.ok?(e.data&&c(e.data),n.c.success(e.message??"Saved.")):(c(e=>({...e,[a]:!t})),n.c.error(e.error))}catch{c(e=>({...e,[a]:!t})),n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}))}}),(0,t.jsx)("span",{className:"text-[13px]",children:o[e.kind]?"On":"Off"})]})}),(0,t.jsx)("td",{className:`${s.z} whitespace-normal text-ink-soft`,children:e.what})]},e.kind))})]})})}],30867)},771990,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(846696),s=e.i(209120),i=e.i(95187);let r=(0,i.createServerReference)("406972d62782d8e1ec665c4e7ca6e3867070de1292",i.callServer,void 0,i.findSourceMapURL,"saveOfficeAutoSecurity"),l=[{level:"critical",label:"Critical"},{level:"high",label:"High"},{level:"moderate",label:"Moderate"}];e.s(["AutoSecurityForm",0,function({saved:e,rollbackOn:i}){let[o,c]=(0,a.useState)(e),[d,h]=(0,a.useTransition)(),u=e=>{c(t=>({...t,...e})),h(async()=>{try{let t=await r(e);t.ok?(t.data&&c(t.data),n.c.success(t.message??"Saved.")):(c(o),n.c.error(t.error))}catch{c(o),n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})};return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(s.f,{checked:o.enabled,disabled:d,label:"Automatic security fixes",onChange:e=>u({enabled:e})}),(0,t.jsxs)("span",{className:"text-[13px]",children:["Automatic security fixes ",o.enabled?"on":"off"]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1.5 text-[13px] text-ink-soft",children:[(0,t.jsx)("span",{children:"For advisories:"}),l.map(e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(s.f,{checked:o.severities.includes(e.level),disabled:d||!o.enabled,label:`Severity ${e.label}`,onChange:t=>{let a;return a=e.level,u({severities:l.map(e=>e.level).filter(e=>e===a?t:o.severities.includes(e))})}}),e.label]},e.level)),(0,t.jsx)("span",{children:"· major updates always wait for you"})]}),o.enabled&&!i&&(0,t.jsx)("p",{className:"rounded-md border border-line bg-surface-2 px-3 py-2 text-[13px] text-warn",role:"status",children:"Without auto-rollback, the PR is opened automatically but the merge waits for you."})]})}],771990)},562556,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(54131);let s=/(\*\*[^*\n]+\*\*|`[^`\n]+`|\[[^\]\n]+\]\([^)\s]+\))/g;function i(e){let t=[];for(let a of e.split(s))if(a)if(a.startsWith("**")&&a.endsWith("**")&&a.length>4)t.push({t:"b",text:a.slice(2,-2)});else if(a.startsWith("`")&&a.endsWith("`")&&a.length>2)t.push({t:"code",text:a.slice(1,-1)});else{let e=/^\[([^\]]+)\]\(([^)\s]+)\)$/.exec(a);e?t.push({t:"text",text:/^https?:\/\//i.test(e[2])?`${e[1]} (${e[2]})`:e[1]}):t.push({t:"text",text:a})}return t}function r({list:e}){return(0,t.jsx)(t.Fragment,{children:e.map((e,s)=>(0,t.jsx)(a.Fragment,{children:"b"===e.t?(0,t.jsx)("b",{className:"font-medium",children:(0,t.jsx)(n.MaskedText,{text:e.text})}):"code"===e.t?(0,t.jsx)("code",{className:"rounded bg-sunken px-1 font-mono text-[12.5px]",children:e.text}):(0,t.jsx)(n.MaskedText,{text:e.text})},s))})}function l({b:e}){if("p"===e.t)return(0,t.jsx)("p",{className:"mt-1.5 first:mt-0",children:(0,t.jsx)(r,{list:e.inl})});if("h"===e.t)return(0,t.jsx)("p",{className:"mt-2 font-medium first:mt-0",children:(0,t.jsx)(r,{list:e.inl})});if("code"===e.t)return(0,t.jsx)("pre",{className:"mt-1.5 overflow-x-auto rounded-md border border-line bg-sunken p-2 font-mono text-[12.5px]",children:e.text});let a="ul"===e.t?"ul":"ol";return(0,t.jsx)(a,{className:`mt-1.5 space-y-0.5 pl-5 ${"ul"===e.t?"list-disc":"list-decimal"}`,children:e.items.map((e,a)=>(0,t.jsx)("li",{children:(0,t.jsx)(r,{list:e})},a))})}e.s(["f",0,function({source:e}){return(0,t.jsx)("div",{className:"text-[13px]",children:(function(e){let t=e.slice(0,8e3).replace(/\r\n?/g,"\n").split("\n"),a=[],n=[],s=()=>{n.length&&a.push({t:"p",inl:i(n.join(" "))}),n=[]};for(let e=0;e<t.length;e++){let r=t[e];if(/^\s*```/.test(r)){s();let n=[];for(e++;e<t.length&&!/^\s*```/.test(t[e]);)n.push(t[e++]);a.push({t:"code",text:n.join("\n")});continue}if(!r.trim()){s();continue}let l=/^\s{0,3}#{1,6}\s+(.+)$/.exec(r);if(l){s(),a.push({t:"h",inl:i(l[1].trim())});continue}let o=/^\s*([-*]|\d+[.)])\s+(.+)$/.exec(r);if(o){s();let e=/\d/.test(o[1])?"ol":"ul",t=a[a.length-1],n=i(o[2].trim());t&&("ul"===t.t||"ol"===t.t)&&t.t===e?t.items.push(n):a.push({t:e,items:[n]});continue}n.push(r.trim())}return s(),a})(e).map((e,a)=>(0,t.jsx)(l,{b:e},a))})}],562556)},107832,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(846696),s=e.i(428325),i=e.i(95187);let r=(0,i.createServerReference)("40b0ce655c0681626e752e62358c10d306b0bf5257",i.callServer,void 0,i.findSourceMapURL,"dismissNote");e.s(["DismissNoteButton",0,function({id:e}){let[i,l]=(0,a.useTransition)();return(0,t.jsx)(s.K,{variant:"ghost",size:"sm",disabled:i,onClick:()=>l(async()=>{try{let t=await r(e);t.ok?n.c.success(t.message??"Dismissed."):n.c.error(t.error)}catch{n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:i?"Dismissing…":"Dismiss"})}],107832)},428738,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(846696),s=e.i(428325),i=e.i(95187);let r=(0,i.createServerReference)("001d08e453355a3f2241c931434d36370cb57de0fb",i.callServer,void 0,i.findSourceMapURL,"regenerateSummary");e.s(["RegenerateButton",0,function({label:e}){let[i,l]=(0,a.useTransition)();return(0,t.jsx)(s.K,{variant:"ghost",size:"sm",disabled:i,className:"-my-0.5 px-1 py-0",onClick:()=>l(async()=>{try{let e=await r();e.ok?n.c.success(e.message??"Done."):n.c.error(e.error)}catch{n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:i?"Working…":e})}],428738)},664554,e=>{var t=e.i(843476),a=e.i(513932),n=e.i(271645);e.s(["f",0,function({label:e="Thinking…"}){let[s,i]=(0,n.useState)(0);return(0,n.useEffect)(()=>{let e=Date.now(),t=setInterval(()=>i(Math.floor((Date.now()-e)/1e3)),1e3);return()=>clearInterval(t)},[]),(0,t.jsxs)("span",{role:"status",className:"inline-flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,t.jsx)(a.f,{size:15,className:"animate-spin","aria-hidden":!0}),e," ",(0,t.jsxs)("span",{className:"font-mono",children:[s," s"]})]})}])},632830,e=>{var t=e.i(843476),a=e.i(513932);let n=(0,e.i(33550).f)("outline","message-2","Message2",[["path",{d:"M8 9h8",key:"svg-0"}],["path",{d:"M8 13h6",key:"svg-1"}],["path",{d:"M9 18h-3a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-3l-3 3l-3 -3",key:"svg-2"}]]);var s=e.i(271645),i=e.i(846696),r=e.i(428325),l=e.i(944971),o=e.i(95187);let c=(0,o.createServerReference)("40897270d6ec77924246d2272743a9fa4ecf9d3802",o.callServer,void 0,o.findSourceMapURL,"askAntigravity"),d=(0,o.createServerReference)("4094e9c43ee87cabbecf3b14126faa1e3b261ce49e",o.callServer,void 0,o.findSourceMapURL,"askWhy");var h=e.i(562556),u=e.i(684496),m=e.i(975157);let p={brand:"border-l-brand",err:"border-l-err",warn:"border-l-warn-icon"};function f({icon:e,tone:a="brand",meta:n,action:s,className:i,children:r}){return(0,t.jsxs)("div",{className:(0,m.f)("flex gap-2.5 rounded-md border border-line border-l-[3px] bg-surface-2 px-3 py-2.5 text-[13px]",p[a],i),children:[(0,t.jsx)("span",{className:"mt-px shrink-0 text-brand",children:e}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[r,n&&(0,t.jsx)("span",{className:"mt-1 block text-[12px] text-ink-faint",children:n})]}),s&&(0,t.jsx)("div",{className:"shrink-0",children:s})]})}var g=e.i(664554);e.s(["WhyAi",0,function({appId:e,provider:o,question:m,nowMs:p,agConnected:x=!1}){let[v,w]=(0,s.useTransition)(),[b,y]=(0,s.useState)(null),[k,A]=(0,s.useState)(null),[j,M]=(0,s.useState)(null),T=new Date(p),C=m?.status==="pending",S=t=>{M(null),y(t),w(async()=>{try{if("now"===t){let t=await d(e);t.ok&&t.data?A(t.data):t.ok||M(t.error)}else{let t=await c(e);t.ok?t.data?.status==="answered"&&t.data.text?A({text:t.data.text,model:t.data.model??"",ms:t.data.ms??0}):i.c.success(t.message??"Sent."):M(t.error)}}catch{M("Watchbell didn't answer. Check that it's still running, then try again.")}})};return(0,t.jsxs)("div",{className:"border-t border-line pt-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[x?(0,t.jsxs)(t.Fragment,{children:[o&&(0,t.jsxs)(r.K,{size:"sm",disabled:v,onClick:()=>S("now"),children:[(0,t.jsx)(n,{size:15,"aria-hidden":!0}),v&&"now"===b?"Asking…":`Answer now with ${o.model}`]}),(0,t.jsxs)(r.K,{size:"sm",disabled:v||C,onClick:()=>S("ag"),children:[(0,t.jsx)(n,{size:15,"aria-hidden":!0}),v&&"ag"===b?"Sending…":m&&"pending"!==m.status?l.v.askAgain:l.v.ask]})]}):o?(0,t.jsxs)(r.K,{size:"sm",disabled:v,onClick:()=>S("ag"),children:[(0,t.jsx)(n,{size:15,"aria-hidden":!0}),v?"Asking…":`Ask ${o.model}`]}):(0,t.jsx)("span",{className:"text-[13px] text-ink-soft",children:"No AI provider is connected. Connect one under AI Gateway › Bring your own key."}),v&&(0,t.jsx)(g.f,{})]}),(0,t.jsxs)("p",{className:"mt-1.5 text-[12px] text-ink-faint",children:["Sends the problems above with names aliased. ",x?`${o?"Answer now stores nothing; ":""}${l.v.keptNote}`:"The question and its answer are kept for 7 days on AI › Ask."]}),j&&(0,t.jsx)("p",{role:"alert",className:"mt-2 text-[13px] text-err",children:j}),k&&(0,t.jsxs)(f,{className:"mt-2.5",icon:(0,t.jsx)(n,{size:18,"aria-hidden":!0}),meta:`AI \xb7 ${k.model} \xb7 ${(k.ms/1e3).toFixed(1)} s \xb7 sent: the problems above, names aliased \xb7 can be wrong`,children:[(0,t.jsx)("b",{className:"font-medium",children:"What’s likely going on"}),(0,t.jsx)(h.f,{source:k.text})]}),m?.status==="pending"&&(0,t.jsx)(f,{className:"mt-2.5",icon:(0,t.jsx)(a.f,{size:18,className:"animate-spin","aria-hidden":!0}),meta:`Asked ${(0,u.$)(new Date(m.createdAt),T)} \xb7 it answers when it next checks in; this page refreshes by itself`,children:(0,t.jsx)("p",{role:"status",children:l.I.waiting})}),m?.status==="answered"&&m.answer&&(0,t.jsxs)(f,{className:"mt-2.5",icon:(0,t.jsx)(n,{size:18,"aria-hidden":!0}),meta:`AI \xb7 ${[m.client,m.model].filter(Boolean).join(" · ")||l.v.answeredFallback} \xb7 ${m.answeredAt?(0,u.$)(new Date(m.answeredAt),T):""} \xb7 sent: the problems above, names aliased \xb7 written by an agent, can be wrong`,children:[(0,t.jsx)("b",{className:"font-medium",children:"watchpost"===m.client?"The answer":l.v.answerTitle}),(0,t.jsx)(h.f,{source:m.answer})]}),m?.status==="expired"&&(0,t.jsxs)("p",{className:"mt-2.5 text-[12.5px] text-ink-soft",children:[l.v.expired((0,u.$)(new Date(m.createdAt),T))," Check that an agent is connected under AI Gateway › Connect an agent."]})]})}],632830)},209120,e=>{var t=e.i(843476),a=e.i(975157);e.s(["f",0,function({checked:e,onChange:n,label:s,disabled:i}){return(0,t.jsx)("button",{type:"button",role:"switch","aria-checked":e,"aria-label":s,title:s,disabled:i,onClick:()=>n(!e),className:(0,a.f)("relative inline-block h-[18px] w-8 shrink-0 rounded-[9px] align-middle transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40 disabled:cursor-not-allowed disabled:opacity-60",e?"bg-brand":"bg-line-strong"),children:(0,t.jsx)("span",{className:(0,a.f)("absolute left-0.5 top-0.5 size-3.5 rounded-full bg-surface transition-transform",e&&"translate-x-3.5")})})}])}])})();
7
+ 0 */6 * * * . $HOME/.watchbell.env && /usr/local/bin/gemini -m ${t} -p "$(cat $HOME/watchbell-daily.txt)" >> $HOME/watchbell-gemini.log 2>&1`},"v",0,{ask:"Ask the agent",askAgain:"Ask the agent again",keptNote:"A question for the agent is kept for 7 days.",answeredFallback:"Agent",answerTitle:"The agent’s answer",expired:e=>`The last question to the agent (${e}) got no answer within 7 days.`,recConnect:"Connect a provider or an agent to get AI notes"}])},300975,630933,e=>{let t=e=>void 0!==e&&""!==e.trim();e.s(["f",0,function(e,a){let n=`WATCHBELL_${a}`,s=`WATCHPOST_${a}`,i=e[n];if(t(i))return{name:n,value:i};let r=e[s];return t(r)?{name:s,value:r}:void 0!==i?{name:n,value:i}:void 0!==r?{name:s,value:r}:void 0}],630933),e.s([],300975)},684496,e=>{e.i(247167),e.i(630933),e.i(300975);let t="Asia/Jakarta",a=null,n=/^(?:UTC|GMT|[A-Za-z]+(?:\/[A-Za-z0-9_+\-]+)+)$/i,s={"Asia/Calcutta":"Asia/Kolkata","Asia/Katmandu":"Asia/Kathmandu","Asia/Saigon":"Asia/Ho_Chi_Minh","Asia/Rangoon":"Asia/Yangon"};function i(){return a??t}let r=new Map,l=new Map,o=new Map;function c(e,t=i()){let a,n=(!(a=o.get(t))&&(a=new Intl.DateTimeFormat("en-US",{timeZone:t,hourCycle:"h23",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),o.set(t,a)),a).formatToParts(e),s=e=>Number(n.find(t=>t.type===e)?.value),r=s("year"),l=s("month"),d=s("day");return{year:r,month:l,day:d,hour:s("hour"),minute:s("minute"),second:s("second"),weekday:new Date(Date.UTC(r,l-1,d)).getUTCDay()}}function d(e,t){let a=c(new Date(e),t);return Date.UTC(a.year,a.month-1,a.day,a.hour,a.minute,a.second)-1e3*Math.floor(e/1e3)}function h(e,t,a,n,s,i,r,l){let o=Date.UTC(e,t-1,a,n,s,i,r),c=d(o-864e5,l),h=[...new Set([c,d(o+864e5,l)])].map(e=>o-e).filter(e=>d(e,l)===o-e);return new Date(h.length?Math.min(...h):o-c)}let u=(e,t=2)=>String(e).padStart(t,"0");function m(e){let t=c(e);return`${u(t.year,4)}-${u(t.month)}-${u(t.day)}`}function p(e){let t=c(e);return`${u(t.hour)}:${u(t.minute)}`}let f=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function g(e){let t=c(e);return{day:t.day,month:f[t.month-1],year:t.year}}e.s(["_",0,function(e,t){let a=i(),n=e.getTime()+864e5*t;if(d(n,a)===d(e.getTime(),a))return new Date(n);let s=c(e,a);return h(s.year,s.month,s.day+t,s.hour,s.minute,s.second,e.getTime()-1e3*Math.floor(e.getTime()/1e3),a)},"$",0,function(e,t){let a=Math.max(0,Math.round((t.getTime()-e.getTime())/1e3));return a<60?`${a}s ago`:a<3600?`${Math.floor(a/60)} min ago`:m(e)===m(t)?`today ${p(e)}`:`${function(e){let{day:t,month:a}=g(e);return`${t} ${a}`}(e)} ${p(e)}`},"e",0,g,"U",0,p,"T",0,function(e){let t=c(e);return`${u(t.hour)}:${u(t.minute)}:${u(t.second)}`},"x",0,m,"a",0,function(e){let t=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})$/.exec(e);if(!t)return null;let[a,n,s,r,l]=t.slice(1).map(Number),o=new Date(Date.UTC(a,n-1,s,r,l));return o.getUTCFullYear()!==a||o.getUTCMonth()!==n-1||o.getUTCDate()!==s||o.getUTCHours()!==r||o.getUTCMinutes()!==l?null:h(a,n,s,r,l,0,0,i())},"k",0,function(e){a=function(e){if(!n.test(e))return null;try{let t=new Intl.DateTimeFormat("en-US",{timeZone:e}).resolvedOptions().timeZone,a=s[t]??t;if(a.toLowerCase()===e.toLowerCase())return a;return t.toLowerCase()===e.toLowerCase()?t:e}catch{return null}}(e)??t},"C",0,i,"S",0,function(e){let t=c(e);return`${u(t.year,4)}-${u(t.month)}-${u(t.day)}T${u(t.hour)}:${u(t.minute)}`},"Q",0,(e=new Date)=>{let a;return a=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),20)),`${p(a)} ${function(e=new Date){let a=i();if(a===t)return"WIB";let n=`${a}|${d(e.getTime(),a)}`,s=r.get(n);if(void 0===s){let t=t=>{var a,n;let s,r,o;return(a=t,n={timeZoneName:"short"},s=i(),r=`${s}|${a}|${JSON.stringify(n)}`,(o=l.get(r))||(o=new Intl.DateTimeFormat(a,{...n,timeZone:s}),l.set(r,o)),o).formatToParts(e).find(e=>"timeZoneName"===e.type)?.value??""},a=t("en-US"),o=/^GMT[+-]/.test(a)?t("en-GB"):"";s=!/^GMT[+-]/.test(a)||/^GMT[+-]/.test(o)||""===o?a:o,r.set(n,s)}return s}(a)}`},"n",0,function(){let e,a=(e=i())===t?"WIB":e;return"WIB"===a?"Times are WIB.":`Times are ${a} time.`}])},102775,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(846696),s=e.i(428325),i=e.i(975157),r=e.i(209120),l=e.i(95187);let o=(0,l.createServerReference)("40ce37707f006236f22784facf4e9cbcf3f49eb298",l.callServer,void 0,l.findSourceMapURL,"saveOfficeAutoRollback");e.s(["AutoRollbackForm",0,function({saved:e,choices:l}){let[c,d]=(0,a.useState)(e),[h,u]=(0,a.useTransition)(),m=e=>{d(t=>({...t,...e})),u(async()=>{try{let t=await o(e);t.ok?(t.data&&d(t.data),n.c.success(t.message??"Saved.")):(d(c),n.c.error(t.error))}catch{d(c),n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})};return(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(r.f,{checked:c.enabled,disabled:h,label:"Auto-rollback when a new deploy errors",onChange:e=>m({enabled:e})}),(0,t.jsxs)("span",{className:"text-[13px]",children:["Auto-rollback when a new deploy errors (first ",(0,t.jsx)("span",{className:"font-mono",children:c.windowMin})," minutes)"]})]}),(0,t.jsxs)("label",{className:"inline-flex items-center gap-2 text-[13px] text-ink-soft",children:["Window",(0,t.jsx)("select",{className:(0,i.f)(s.S,"w-auto py-1"),value:c.windowMin,disabled:h,"aria-label":"Auto-rollback window in minutes",onChange:e=>m({windowMin:Number(e.target.value)}),children:l.map(e=>(0,t.jsxs)("option",{value:e,children:[e," min"]},e))})]})]})}],102775)},30867,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(846696),s=e.i(691106),i=e.i(209120),r=e.i(95187);let l=(0,r.createServerReference)("408066122cde17446d6ee7237d1c03274909bf9da0",r.callServer,void 0,r.findSourceMapURL,"saveOfficeAutoRun");e.s(["AutoRunForm",0,function({saved:e,rows:r}){let[o,c]=(0,a.useState)(e),[d,h]=(0,a.useTransition)();return(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:s.o,children:[(0,t.jsx)(s.U,{head:["Action","Auto-run","What it does"]}),(0,t.jsx)("tbody",{children:r.map(e=>(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:s.z,children:e.label}),(0,t.jsx)("td",{className:s.z,children:e.risky?(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"selalu minta persetujuan"}):(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(i.f,{checked:o[e.kind],disabled:d,label:`Auto-run: ${e.label}`,onChange:t=>{var a;return a=e.kind,void(c(e=>({...e,[a]:t})),h(async()=>{try{let e=await l({[a]:t});e.ok?(e.data&&c(e.data),n.c.success(e.message??"Saved.")):(c(e=>({...e,[a]:!t})),n.c.error(e.error))}catch{c(e=>({...e,[a]:!t})),n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}))}}),(0,t.jsx)("span",{className:"text-[13px]",children:o[e.kind]?"On":"Off"})]})}),(0,t.jsx)("td",{className:`${s.z} whitespace-normal text-ink-soft`,children:e.what})]},e.kind))})]})})}],30867)},771990,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(846696),s=e.i(209120),i=e.i(95187);let r=(0,i.createServerReference)("4019187cf916c41f39aff494b9132f6bc5a032f602",i.callServer,void 0,i.findSourceMapURL,"saveOfficeAutoSecurity"),l=[{level:"critical",label:"Critical"},{level:"high",label:"High"},{level:"moderate",label:"Moderate"}];e.s(["AutoSecurityForm",0,function({saved:e,rollbackOn:i}){let[o,c]=(0,a.useState)(e),[d,h]=(0,a.useTransition)(),u=e=>{c(t=>({...t,...e})),h(async()=>{try{let t=await r(e);t.ok?(t.data&&c(t.data),n.c.success(t.message??"Saved.")):(c(o),n.c.error(t.error))}catch{c(o),n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})};return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(s.f,{checked:o.enabled,disabled:d,label:"Automatic security fixes",onChange:e=>u({enabled:e})}),(0,t.jsxs)("span",{className:"text-[13px]",children:["Automatic security fixes ",o.enabled?"on":"off"]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1.5 text-[13px] text-ink-soft",children:[(0,t.jsx)("span",{children:"For advisories:"}),l.map(e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(s.f,{checked:o.severities.includes(e.level),disabled:d||!o.enabled,label:`Severity ${e.label}`,onChange:t=>{let a;return a=e.level,u({severities:l.map(e=>e.level).filter(e=>e===a?t:o.severities.includes(e))})}}),e.label]},e.level)),(0,t.jsx)("span",{children:"· major updates always wait for you"})]}),o.enabled&&!i&&(0,t.jsx)("p",{className:"rounded-md border border-line bg-surface-2 px-3 py-2 text-[13px] text-warn",role:"status",children:"Without auto-rollback, the PR is opened automatically but the merge waits for you."})]})}],771990)},562556,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(54131);let s=/(\*\*[^*\n]+\*\*|`[^`\n]+`|\[[^\]\n]+\]\([^)\s]+\))/g;function i(e){let t=[];for(let a of e.split(s))if(a)if(a.startsWith("**")&&a.endsWith("**")&&a.length>4)t.push({t:"b",text:a.slice(2,-2)});else if(a.startsWith("`")&&a.endsWith("`")&&a.length>2)t.push({t:"code",text:a.slice(1,-1)});else{let e=/^\[([^\]]+)\]\(([^)\s]+)\)$/.exec(a);e?t.push({t:"text",text:/^https?:\/\//i.test(e[2])?`${e[1]} (${e[2]})`:e[1]}):t.push({t:"text",text:a})}return t}function r({list:e}){return(0,t.jsx)(t.Fragment,{children:e.map((e,s)=>(0,t.jsx)(a.Fragment,{children:"b"===e.t?(0,t.jsx)("b",{className:"font-medium",children:(0,t.jsx)(n.MaskedText,{text:e.text})}):"code"===e.t?(0,t.jsx)("code",{className:"rounded bg-sunken px-1 font-mono text-[12.5px]",children:e.text}):(0,t.jsx)(n.MaskedText,{text:e.text})},s))})}function l({b:e}){if("p"===e.t)return(0,t.jsx)("p",{className:"mt-1.5 first:mt-0",children:(0,t.jsx)(r,{list:e.inl})});if("h"===e.t)return(0,t.jsx)("p",{className:"mt-2 font-medium first:mt-0",children:(0,t.jsx)(r,{list:e.inl})});if("code"===e.t)return(0,t.jsx)("pre",{className:"mt-1.5 overflow-x-auto rounded-md border border-line bg-sunken p-2 font-mono text-[12.5px]",children:e.text});let a="ul"===e.t?"ul":"ol";return(0,t.jsx)(a,{className:`mt-1.5 space-y-0.5 pl-5 ${"ul"===e.t?"list-disc":"list-decimal"}`,children:e.items.map((e,a)=>(0,t.jsx)("li",{children:(0,t.jsx)(r,{list:e})},a))})}e.s(["f",0,function({source:e}){return(0,t.jsx)("div",{className:"text-[13px]",children:(function(e){let t=e.slice(0,8e3).replace(/\r\n?/g,"\n").split("\n"),a=[],n=[],s=()=>{n.length&&a.push({t:"p",inl:i(n.join(" "))}),n=[]};for(let e=0;e<t.length;e++){let r=t[e];if(/^\s*```/.test(r)){s();let n=[];for(e++;e<t.length&&!/^\s*```/.test(t[e]);)n.push(t[e++]);a.push({t:"code",text:n.join("\n")});continue}if(!r.trim()){s();continue}let l=/^\s{0,3}#{1,6}\s+(.+)$/.exec(r);if(l){s(),a.push({t:"h",inl:i(l[1].trim())});continue}let o=/^\s*([-*]|\d+[.)])\s+(.+)$/.exec(r);if(o){s();let e=/\d/.test(o[1])?"ol":"ul",t=a[a.length-1],n=i(o[2].trim());t&&("ul"===t.t||"ol"===t.t)&&t.t===e?t.items.push(n):a.push({t:e,items:[n]});continue}n.push(r.trim())}return s(),a})(e).map((e,a)=>(0,t.jsx)(l,{b:e},a))})}],562556)},107832,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(846696),s=e.i(428325),i=e.i(95187);let r=(0,i.createServerReference)("4088b8b4affb42eeb5013ceabb577511f660910e7b",i.callServer,void 0,i.findSourceMapURL,"dismissNote");e.s(["DismissNoteButton",0,function({id:e}){let[i,l]=(0,a.useTransition)();return(0,t.jsx)(s.K,{variant:"ghost",size:"sm",disabled:i,onClick:()=>l(async()=>{try{let t=await r(e);t.ok?n.c.success(t.message??"Dismissed."):n.c.error(t.error)}catch{n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:i?"Dismissing…":"Dismiss"})}],107832)},428738,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(846696),s=e.i(428325),i=e.i(95187);let r=(0,i.createServerReference)("000f847f6a6b252e00392c21321fb0d52bd1716f27",i.callServer,void 0,i.findSourceMapURL,"regenerateSummary");e.s(["RegenerateButton",0,function({label:e}){let[i,l]=(0,a.useTransition)();return(0,t.jsx)(s.K,{variant:"ghost",size:"sm",disabled:i,className:"-my-0.5 px-1 py-0",onClick:()=>l(async()=>{try{let e=await r();e.ok?n.c.success(e.message??"Done."):n.c.error(e.error)}catch{n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:i?"Working…":e})}],428738)},664554,e=>{var t=e.i(843476),a=e.i(513932),n=e.i(271645);e.s(["f",0,function({label:e="Thinking…"}){let[s,i]=(0,n.useState)(0);return(0,n.useEffect)(()=>{let e=Date.now(),t=setInterval(()=>i(Math.floor((Date.now()-e)/1e3)),1e3);return()=>clearInterval(t)},[]),(0,t.jsxs)("span",{role:"status",className:"inline-flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,t.jsx)(a.f,{size:15,className:"animate-spin","aria-hidden":!0}),e," ",(0,t.jsxs)("span",{className:"font-mono",children:[s," s"]})]})}])},632830,e=>{var t=e.i(843476),a=e.i(513932);let n=(0,e.i(33550).f)("outline","message-2","Message2",[["path",{d:"M8 9h8",key:"svg-0"}],["path",{d:"M8 13h6",key:"svg-1"}],["path",{d:"M9 18h-3a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-3l-3 3l-3 -3",key:"svg-2"}]]);var s=e.i(271645),i=e.i(846696),r=e.i(428325),l=e.i(944971),o=e.i(95187);let c=(0,o.createServerReference)("40739a14cd07286c30897e25478344aa18d290adbf",o.callServer,void 0,o.findSourceMapURL,"askAntigravity"),d=(0,o.createServerReference)("4050b97d7fed49555fd972b897eec97d91cc22943b",o.callServer,void 0,o.findSourceMapURL,"askWhy");var h=e.i(562556),u=e.i(684496),m=e.i(975157);let p={brand:"border-l-brand",err:"border-l-err",warn:"border-l-warn-icon"};function f({icon:e,tone:a="brand",meta:n,action:s,className:i,children:r}){return(0,t.jsxs)("div",{className:(0,m.f)("flex gap-2.5 rounded-md border border-line border-l-[3px] bg-surface-2 px-3 py-2.5 text-[13px]",p[a],i),children:[(0,t.jsx)("span",{className:"mt-px shrink-0 text-brand",children:e}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[r,n&&(0,t.jsx)("span",{className:"mt-1 block text-[12px] text-ink-faint",children:n})]}),s&&(0,t.jsx)("div",{className:"shrink-0",children:s})]})}var g=e.i(664554);e.s(["WhyAi",0,function({appId:e,provider:o,question:m,nowMs:p,agConnected:x=!1}){let[v,w]=(0,s.useTransition)(),[b,y]=(0,s.useState)(null),[k,A]=(0,s.useState)(null),[j,M]=(0,s.useState)(null),T=new Date(p),C=m?.status==="pending",S=t=>{M(null),y(t),w(async()=>{try{if("now"===t){let t=await d(e);t.ok&&t.data?A(t.data):t.ok||M(t.error)}else{let t=await c(e);t.ok?t.data?.status==="answered"&&t.data.text?A({text:t.data.text,model:t.data.model??"",ms:t.data.ms??0}):i.c.success(t.message??"Sent."):M(t.error)}}catch{M("Watchbell didn't answer. Check that it's still running, then try again.")}})};return(0,t.jsxs)("div",{className:"border-t border-line pt-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[x?(0,t.jsxs)(t.Fragment,{children:[o&&(0,t.jsxs)(r.K,{size:"sm",disabled:v,onClick:()=>S("now"),children:[(0,t.jsx)(n,{size:15,"aria-hidden":!0}),v&&"now"===b?"Asking…":`Answer now with ${o.model}`]}),(0,t.jsxs)(r.K,{size:"sm",disabled:v||C,onClick:()=>S("ag"),children:[(0,t.jsx)(n,{size:15,"aria-hidden":!0}),v&&"ag"===b?"Sending…":m&&"pending"!==m.status?l.v.askAgain:l.v.ask]})]}):o?(0,t.jsxs)(r.K,{size:"sm",disabled:v,onClick:()=>S("ag"),children:[(0,t.jsx)(n,{size:15,"aria-hidden":!0}),v?"Asking…":`Ask ${o.model}`]}):(0,t.jsx)("span",{className:"text-[13px] text-ink-soft",children:"No AI provider is connected. Connect one under AI Gateway › Bring your own key."}),v&&(0,t.jsx)(g.f,{})]}),(0,t.jsxs)("p",{className:"mt-1.5 text-[12px] text-ink-faint",children:["Sends the problems above with names aliased. ",x?`${o?"Answer now stores nothing; ":""}${l.v.keptNote}`:"The question and its answer are kept for 7 days on AI › Ask."]}),j&&(0,t.jsx)("p",{role:"alert",className:"mt-2 text-[13px] text-err",children:j}),k&&(0,t.jsxs)(f,{className:"mt-2.5",icon:(0,t.jsx)(n,{size:18,"aria-hidden":!0}),meta:`AI \xb7 ${k.model} \xb7 ${(k.ms/1e3).toFixed(1)} s \xb7 sent: the problems above, names aliased \xb7 can be wrong`,children:[(0,t.jsx)("b",{className:"font-medium",children:"What’s likely going on"}),(0,t.jsx)(h.f,{source:k.text})]}),m?.status==="pending"&&(0,t.jsx)(f,{className:"mt-2.5",icon:(0,t.jsx)(a.f,{size:18,className:"animate-spin","aria-hidden":!0}),meta:`Asked ${(0,u.$)(new Date(m.createdAt),T)} \xb7 it answers when it next checks in; this page refreshes by itself`,children:(0,t.jsx)("p",{role:"status",children:l.I.waiting})}),m?.status==="answered"&&m.answer&&(0,t.jsxs)(f,{className:"mt-2.5",icon:(0,t.jsx)(n,{size:18,"aria-hidden":!0}),meta:`AI \xb7 ${[m.client,m.model].filter(Boolean).join(" · ")||l.v.answeredFallback} \xb7 ${m.answeredAt?(0,u.$)(new Date(m.answeredAt),T):""} \xb7 sent: the problems above, names aliased \xb7 written by an agent, can be wrong`,children:[(0,t.jsx)("b",{className:"font-medium",children:"watchpost"===m.client?"The answer":l.v.answerTitle}),(0,t.jsx)(h.f,{source:m.answer})]}),m?.status==="expired"&&(0,t.jsxs)("p",{className:"mt-2.5 text-[12.5px] text-ink-soft",children:[l.v.expired((0,u.$)(new Date(m.createdAt),T))," Check that an agent is connected under AI Gateway › Connect an agent."]})]})}],632830)},209120,e=>{var t=e.i(843476),a=e.i(975157);e.s(["f",0,function({checked:e,onChange:n,label:s,disabled:i}){return(0,t.jsx)("button",{type:"button",role:"switch","aria-checked":e,"aria-label":s,title:s,disabled:i,onClick:()=>n(!e),className:(0,a.f)("relative inline-block h-[18px] w-8 shrink-0 rounded-[9px] align-middle transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40 disabled:cursor-not-allowed disabled:opacity-60",e?"bg-brand":"bg-line-strong"),children:(0,t.jsx)("span",{className:(0,a.f)("absolute left-0.5 top-0.5 size-3.5 rounded-full bg-surface transition-transform",e&&"translate-x-3.5")})})}])}])})();
@@ -0,0 +1,2 @@
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,239647,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(846696),n=e.i(177106),r=e.i(95187);let i=(0,r.createServerReference)("60668f6b26bdc8f05ba3f75d3fe1d90f3429a39766",r.callServer,void 0,r.findSourceMapURL,"silence");e.s(["AlertMenu",0,function({id:e,label:r,silenced:l,resourceHref:o}){let[,d]=(0,a.useTransition)(),c=(0,a.useRef)(!1),h=t=>{c.current||(c.current=!0,d(async()=>{try{let a=await i(e,t);a.ok?s.c.success(a.message??""):s.c.error(a.error)}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}finally{c.current=!1}}))},u=o?[{label:"View resource",href:o}]:[];return(0,t.jsx)(n.RowMenu,{label:`Actions for ${r}`,items:l?[{label:"Unsilence",onSelect:()=>h("off")},...u]:[{label:"Silence 1 hour",onSelect:()=>h("1h")},{label:"Silence until resolved",onSelect:()=>h("resolved")},...u]})}],239647)},108608,e=>{var t=e.i(843476),a=e.i(33550);let s=(0,a.f)("outline","brand-discord","BrandDiscord",[["path",{d:"M8 12a1 1 0 1 0 2 0a1 1 0 0 0 -2 0",key:"svg-0"}],["path",{d:"M14 12a1 1 0 1 0 2 0a1 1 0 0 0 -2 0",key:"svg-1"}],["path",{d:"M15.5 17c0 1 1.5 3 2 3c1.5 0 2.833 -1.667 3.5 -3c.667 -1.667 .5 -5.833 -1.5 -11.5c-1.457 -1.015 -3 -1.34 -4.5 -1.5l-.972 1.923a11.913 11.913 0 0 0 -4.053 0l-.975 -1.923c-1.5 .16 -3.043 .485 -4.5 1.5c-2 5.667 -2.167 9.833 -1.5 11.5c.667 1.333 2 3 3.5 3c.5 0 2 -2 2 -3",key:"svg-2"}],["path",{d:"M7 16.5c3.5 1 6.5 1 10 0",key:"svg-3"}]]),n=(0,a.f)("outline","brand-telegram","BrandTelegram",[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]]),r=(0,a.f)("outline","mail","Mail",[["path",{d:"M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10",key:"svg-0"}],["path",{d:"M3 7l9 6l9 -6",key:"svg-1"}]]),i=(0,a.f)("outline","webhook","Webhook",[["path",{d:"M4.876 13.61a4 4 0 1 0 6.124 3.39h6",key:"svg-0"}],["path",{d:"M15.066 20.502a4 4 0 1 0 1.934 -7.502c-.706 0 -1.424 .179 -2 .5l-3 -5.5",key:"svg-1"}],["path",{d:"M16 8a4 4 0 1 0 -8 0c0 1.506 .77 2.818 2 3.5l-3 5.5",key:"svg-2"}]]);var l=e.i(944971),o=e.i(271645),d=e.i(846696),c=e.i(428325),h=e.i(500443),u=e.i(776639),p=e.i(357772);function m({id:e,onChange:a}){let[s,n]=(0,o.useState)([]),[r,i]=(0,o.useState)(""),l=(e,t)=>{n(e),i(t),a([...e,t.trim()].filter(Boolean).join(", "))},d=e=>{var t;let a;return l((t=[...s,e].join(","),a=new Set,t.split(/[\s,;]+/).filter(e=>e&&!a.has(e.toLowerCase())&&a.add(e.toLowerCase()))),"")};return(0,t.jsxs)("div",{className:"flex min-h-[34px] flex-wrap items-center gap-1.5 rounded-md border border-line-strong bg-surface px-1.5 py-1 focus-within:border-brand focus-within:ring-2 focus-within:ring-brand/40",children:[s.map((e,a)=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-line bg-sunken py-0.5 pl-2.5 pr-1 text-[12.5px]",children:[e,(0,t.jsx)("button",{type:"button",className:"grid size-4 place-items-center rounded-full text-ink-soft hover:text-ink","aria-label":`Remove ${e}`,onClick:()=>l(s.filter((e,t)=>t!==a),r),children:(0,t.jsx)(p.f,{size:12,"aria-hidden":!0})})]},e)),(0,t.jsx)("input",{id:e,className:"min-w-[160px] flex-1 bg-transparent px-1 py-0.5 text-ink outline-none",type:"text",inputMode:"email",autoComplete:"off",placeholder:s.length?s.length<10?"Add another":"":"you@example.com",value:r,onChange:e=>/[\s,;]/.test(e.target.value)?d(e.target.value):l(s,e.target.value),onKeyDown:e=>{"Enter"===e.key&&r.trim()?(e.preventDefault(),d(r)):"Backspace"===e.key&&!r&&s.length&&l(s.slice(0,-1),s.at(-1))},onBlur:()=>{r.trim()&&d(r)}})]})}var f=e.i(95187);let x=(0,f.createServerReference)("40e5d9c1ddaa8802fe609d7b7b4ffae28a3fd7b8f1",f.callServer,void 0,f.findSourceMapURL,"saveDigest"),b=(0,f.createServerReference)("4050ba41680c1d28fa0d3c75adf58b0995b28558a0",f.callServer,void 0,f.findSourceMapURL,"saveDiscord"),g=(0,f.createServerReference)("406cd6df6d6629aff6cf09a3f858510e76d0fc5456",f.callServer,void 0,f.findSourceMapURL,"saveSmtp"),v=(0,f.createServerReference)("6078029e8a15fa12db9935d66ff52ed3faaf8f55cf",f.callServer,void 0,f.findSourceMapURL,"saveTelegram"),y=(0,f.createServerReference)("6028173406e1d2ecc37cf8a9f1a962d17c3d9337b6",f.callServer,void 0,f.findSourceMapURL,"saveWebhook"),k=(0,f.createServerReference)("40c4c05b18447b970bd2ca85506bae1c525a8e3185",f.callServer,void 0,f.findSourceMapURL,"sendTest"),S=(0,f.createServerReference)("60fe8e375437cf5ca2d34f961a506b6b8f8fc5ce08",f.callServer,void 0,f.findSourceMapURL,"setChannelEnabled"),w=(0,f.createServerReference)("001c208ed3be66fe4f395996dc576c82ef08fe2fb4",f.callServer,void 0,f.findSourceMapURL,"telegramChats"),j={telegram:{icon:n,title:"Connect Telegram",name:"Telegram",about:`The bot token is ${l.n.setting} (TELEGRAM_BOT_TOKEN). Here you only choose the chat.`},discord:{icon:s,title:"Connect Discord",name:"Discord",about:"Discord → Channel settings → Integrations → Webhooks → New webhook → Copy URL."},webhook:{icon:i,title:"Connect a webhook",name:"Webhook",about:"Watchbell POSTs JSON to this address for every alert message. It must be https on a public host (port 443); Watchbell doesn't post into private networks or follow redirects."},smtp:{icon:r,title:"Email through your mail server",name:"Email (SMTP)",about:"Port 587 or 2525 with STARTTLS, or 465 with TLS; the password only ever goes over TLS. The server must be on the public internet. Office 365: smtp.office365.com, 587, and an app password if your account has MFA."},email_digest:{icon:r,title:"Daily email digest",name:"Daily email digest",about:`Sent through Resend from the address in DIGEST_FROM. The API key is ${l.n.setting} (RESEND_API_KEY).`}},C={telegram:"Telegram",discord:"Discord",webhook:"Webhook",smtp:"Email (SMTP)",email_digest:"Daily email digest"};e.s(["ChannelControls",0,function({kind:e,connected:a,enabled:s,envMissing:n}){let[r,i]=(0,o.useState)(!1),[l,p]=(0,o.useState)([]),[f,N]=(0,o.useState)(""),[R,T]=(0,o.useState)(""),[M,L]=(0,o.useState)(""),[D,E]=(0,o.useState)(""),[$,A]=(0,o.useState)({host:"",port:"587",user:"",pass:"",from:"",to:""}),[O,U]=(0,o.useState)({}),[W,P]=(0,o.useTransition)(),[F,z]=(0,o.useTransition)(),[K,I]=(0,o.useTransition)();(0,h.useHoldRefresh)(r);let _=j[e],H=_.icon;function B(e){e&&(p([]),N(""),T(""),L(""),E(""),A({host:"",port:"587",user:"",pass:"",from:"",to:""}),U({})),i(e)}function V(e,t){I(async()=>{try{let a=await e();a.ok?d.c.success(t,{description:a.message}):d.c.error(a.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})}return(0,t.jsxs)("span",{className:"inline-flex flex-wrap items-center gap-2",children:[(0,t.jsxs)(u.N,{open:r,onOpenChange:e=>{W||B(e)},children:[(0,t.jsx)(u.a,{render:(0,t.jsx)(c.K,{size:"sm",disabled:null!==n,children:a?"Change":"Connect"})}),(0,t.jsxs)(u.d,{className:"max-h-[92vh] gap-0 overflow-y-auto p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(H,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(u.F,{className:"text-base",children:_.title}),(0,t.jsx)(u.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:_.about})]})]}),(0,t.jsxs)("form",{onSubmit:t=>{let a;t.preventDefault(),a={},"telegram"!==e||f||(a.chat="Press Find chats, then pick one."),"discord"!==e||R.trim()||(a.url="Paste the whole webhook URL from Discord."),"webhook"!==e||R.trim()||(a.url="Paste the whole address, starting with https://."),"smtp"!==e||$.host.trim()||(a.host="Enter the server name, for example smtp.office365.com."),"smtp"!==e||$.to.trim()||(a.to="Enter the address that gets the alerts."),"email_digest"!==e||M.trim()||(a.to="Enter a valid email address."),U(a),Object.keys(a).length||P(async()=>{try{let t=l.find(e=>e.id===f)?.label??"",a="telegram"===e?await v(f,t):"discord"===e?await b(R):"webhook"===e?await y(R,D):"smtp"===e?await g({...$,port:Number($.port)}):await x(M);if(!a.ok){U(a.fieldErrors??{}),a.fieldErrors||d.c.error(a.error);return}d.c.success("Channel saved",{description:a.message}),i(!1)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,t.jsxs)("div",{className:"px-[18px] pt-2",children:["telegram"===e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.O,{id:"ch-chat",label:"Chat",help:"Send /start to your bot in Telegram first.",error:O.chat,children:(0,t.jsxs)("select",{id:"ch-chat",className:c.S,value:f,onChange:e=>N(e.target.value),children:[0===l.length&&(0,t.jsx)("option",{value:"",children:"Press Find chats after you message the bot"}),l.map(e=>(0,t.jsx)("option",{value:e.id,children:e.label},e.id))]})}),(0,t.jsx)("p",{className:"mb-3",children:(0,t.jsx)(c.K,{size:"sm",onClick:function(){z(async()=>{try{let e=await w();if(!e.ok)return void d.c.error(e.error);let t=e.data?.chats??[];p(t),N(t[0]?.id??""),U({}),t.length?d.c.success(`Found ${t.length} chat${1===t.length?"":"s"}: ${t.map(e=>e.label).join(", ")}.`):d.c.info("No chats yet",{description:e.message??"Send /start to your bot in Telegram, then try again."})}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:F,children:F?"Looking…":"Find chats"})})]}),"discord"===e&&(0,t.jsx)(c.O,{id:"ch-hook",label:"Webhook URL",help:"Encrypted before it's saved and never shown again.",error:O.url,children:(0,t.jsx)("input",{id:"ch-hook",className:c.S,type:"password",autoComplete:"off",placeholder:"https://discord.com/api/webhooks/…",value:R,onChange:e=>T(e.target.value)})}),"webhook"===e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.O,{id:"ch-wh",label:"Address",help:"Encrypted before it's saved and never shown again; the console shows only its host.",error:O.url,children:(0,t.jsx)("input",{id:"ch-wh",className:c.S,type:"url",autoComplete:"off",placeholder:"https://n8n.example.com/webhook/…",value:R,onChange:e=>T(e.target.value)})}),(0,t.jsx)(c.O,{id:"ch-wh-secret",label:"Secret (optional)",help:"16 to 200 characters. Each body is signed with it: header X-Watchbell-Signature = sha256 HMAC of the timestamp, a dot and the body.",error:O.secret,children:(0,t.jsx)("input",{id:"ch-wh-secret",className:c.S,type:"password",autoComplete:"off",value:D,onChange:e=>E(e.target.value)})})]}),"smtp"===e&&(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-x-3 max-[520px]:grid-cols-1",children:[(0,t.jsx)(c.O,{id:"ch-sm-host",label:"Server",error:O.host,children:(0,t.jsx)("input",{id:"ch-sm-host",className:c.S,autoComplete:"off",placeholder:"smtp.office365.com",value:$.host,onChange:e=>A({...$,host:e.target.value})})}),(0,t.jsx)(c.O,{id:"ch-sm-port",label:"Port",error:O.port,children:(0,t.jsxs)("select",{id:"ch-sm-port",className:c.S,value:$.port,onChange:e=>A({...$,port:e.target.value}),children:[(0,t.jsx)("option",{value:"587",children:"587 · STARTTLS"}),(0,t.jsx)("option",{value:"465",children:"465 · TLS"}),(0,t.jsx)("option",{value:"2525",children:"2525 · STARTTLS"})]})}),(0,t.jsx)(c.O,{id:"ch-sm-user",label:"User name",error:O.user,children:(0,t.jsx)("input",{id:"ch-sm-user",className:c.S,autoComplete:"off",value:$.user,onChange:e=>A({...$,user:e.target.value})})}),(0,t.jsx)(c.O,{id:"ch-sm-pass",label:"Password",help:a?"Leave empty to keep the saved one.":"Encrypted before it's saved and never shown again.",error:O.pass,children:(0,t.jsx)("input",{id:"ch-sm-pass",className:c.S,type:"password",autoComplete:"off",value:$.pass,onChange:e=>A({...$,pass:e.target.value})})}),(0,t.jsx)(c.O,{id:"ch-sm-from",label:"From",error:O.from,children:(0,t.jsx)("input",{id:"ch-sm-from",className:c.S,type:"email",autoComplete:"off",placeholder:"alerts@example.com",value:$.from,onChange:e=>A({...$,from:e.target.value})})}),(0,t.jsxs)("div",{className:"col-span-2 max-[520px]:col-span-1",children:[(0,t.jsx)(c.O,{id:"ch-sm-to",label:"Send to",help:"Up to 10 addresses; each one gets the same email. Press Enter or a comma after each.",error:O.to,children:(0,t.jsx)(m,{id:"ch-sm-to",onChange:e=>A(t=>({...t,to:e}))})}),"onboarding@resend.dev"===$.from.trim().toLowerCase()&&$.to.includes(",")&&(0,t.jsx)("p",{className:"-mt-2 mb-3.5 rounded-md border border-warn/40 bg-warn-soft px-2.5 py-2 text-[12.5px]",children:"Resend's test sender (onboarding@resend.dev) only delivers to your own Resend account address. Verify a domain in Resend and send from it to reach other people."})]})]}),"email_digest"===e&&(0,t.jsx)(c.O,{id:"ch-to",label:"Send to",error:O.to,children:(0,t.jsx)("input",{id:"ch-to",className:c.S,type:"email",autoComplete:"off",placeholder:"name@example.com",value:M,onChange:e=>L(e.target.value)})})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(c.K,{onClick:()=>B(!1),disabled:W,children:"Cancel"}),(0,t.jsx)(c.K,{type:"submit",variant:"primary",disabled:W,children:W?"Saving…":"Save"})]})]})]})]}),a&&s&&null===n&&(0,t.jsx)(c.K,{size:"sm",disabled:K,onClick:()=>V(()=>k(e),`${C[e]} test`),children:K?"Sending…":"Send test"}),a&&(0,t.jsx)(c.K,{size:"sm",variant:"ghost",disabled:K,onClick:()=>V(()=>S(e,!s),C[e]),children:s?"Turn off":"Turn on"})]})}],108608)},274224,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(846696),n=e.i(428325),r=e.i(95187);let i=(0,r.createServerReference)("609715b0d25a02a99864a125d25d2788a7285bb28a",r.callServer,void 0,r.findSourceMapURL,"setNotifyLanguage");e.s(["LanguageSelect",0,function({channel:e,label:r,saved:l}){let[o,d]=(0,a.useState)(l),[c,h]=(0,a.useTransition)();return(0,t.jsxs)("select",{"aria-label":`${r} language`,className:`${n.S} w-auto min-w-[160px]`,value:o,disabled:c,onChange:t=>{var a;d(a="id"===t.target.value?"id":"en"),h(async()=>{try{let t=await i(e,a);t.ok?s.c.success(`${r} language saved`,{description:t.message}):(d(o),s.c.error(t.error))}catch{d(o),s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,t.jsx)("option",{value:"en",children:"English"}),(0,t.jsx)("option",{value:"id",children:"Bahasa Indonesia"})]})}],274224)},689721,e=>{var t=e.i(843476),a=e.i(668029),s=e.i(271645),n=e.i(846696),r=e.i(428325),i=e.i(500443),l=e.i(776639);let o=e=>(e??0).toLocaleString("en-US"),d={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:e=>`${o(e)} failed checks in a row`},CollectorStale:{key:"CollectorStale",severity:"critical",threshold:5,bounds:[3,60],source:"own",needs:null,sampled:!1,condition:e=>`No collector run for ${o(e)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:e=>`Slowest 5% of checks over ${o(e)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A production deploy fails"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase pauses the project"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:e=>`TLS certificate expires in < ${o(e)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:e=>`Domain expires in < ${o(e)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Database size > ${o(e)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:e=>`> ${o(e)} of 100 CU-hours this month`},FirestoreQuotaHigh:{key:"FirestoreQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"test",needs:"databases",sampled:!1,condition:e=>`Daily reads > ${o(e)}% of 50k`},AutoPauseRisk:{key:"AutoPauseRisk",severity:"info",threshold:4,bounds:[1,6],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase project without API traffic for ${o(e)}+ days`},DnsProxiedToVercel:{key:"DnsProxiedToVercel",severity:"info",threshold:null,bounds:null,source:"api",needs:"dns",sampled:!1,condition:()=>"Cloudflare record proxied in front of Vercel"},ComputeHigh:{key:"ComputeHigh",severity:"warning",threshold:80,bounds:[50,95],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase CPU > ${o(e)}% for 15 min, RAM > ${o(Math.min(99,(e??80)+10))}%, disk > ${o(e)}% or connections > ${o(e)}% of max`},DbQuotaHigh:{key:"DbQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Turso, Upstash or D1 usage > ${o(e)}% of a free-plan quota`},CredentialExpiring:{key:"CredentialExpiring",severity:"warning",threshold:14,bounds:[1,60],source:"api",needs:null,sampled:!1,condition:e=>`Account credential expires in < ${o(e)} days`},VulnerableDependency:{key:"VulnerableDependency",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A dependency has a critical or high advisory, or a moderate one on a direct dependency (OSV.dev)"},FrameworkVulnerable:{key:"FrameworkVulnerable",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The app's Next.js version has a known advisory (OSV.dev)"},MonitorDomainMoved:{key:"MonitorDomainMoved",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The monitor's domain is no longer one of the app's domains"}};Object.keys(d),e.i(684496);let c=[["critical","Critical"],["warning","Warning"],["info","Info"]];var h=e.i(95187);let u=(0,h.createServerReference)("60de2c50773a6ae0c96013e9789a05f95bab011167",h.callServer,void 0,h.findSourceMapURL,"editRule"),p=(0,h.createServerReference)("60b2418629545aaa136967618d210fb3d4ab4ad966",h.callServer,void 0,h.findSourceMapURL,"testRule"),m=["status","severity","rule","target","detail","cause","step","since","threshold"],f=["id","en"],x={status:"FIRING, REPEAT or RESOLVED (MUNCUL, ULANG, PULIH in Indonesian)",severity:"critical, warning or info",rule:"the rule's key, like MonitorDown",target:"what the alert is about: an app, a database, a domain",detail:"Watchbell's sentence about what it saw",cause:"the alert that caused this one, or a provider incident",step:"Watchbell's next step for rules that have one",since:"when the alert started: the time and the time zone",threshold:"the rule's number from Threshold"},b={en:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nNext step: {step}\nsince {since}",id:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nYang perlu kamu lakukan: {step}\nsejak {since}"},g={en:"Test message: Watchbell's sentence about what it saw goes here.",id:"Pesan tes: di sini nanti kalimat Watchbell soal apa yang dilihatnya."},v=/\{([a-zA-Z_]+)\}/g,y=e=>e.replace(/\r\n?/g,"\n").replace(/[ \t]+$/gm,"").trim();function k(e,t){let a="string"==typeof e?y(e):"";return a&&a!==b[t]?a:null}let S={id:"Bahasa Indonesia",en:"English"},w={en:"FIRING",id:"MUNCUL"},j={en:{critical:"critical",warning:"warning",info:"info"},id:{critical:"kritis",warning:"peringatan",info:"info"}},C={en:"1 firing",id:"1 aktif"},N={en:"Open alerts",id:"Buka Alerts"},R=e=>({id:e.id??b.id,en:e.en??b.en});function T({ruleKey:e,severity:a,threshold:n,sample:i,texts:l,onChange:o,errors:d}){let[c,h]=(0,s.useState)("id"),u=(0,s.useRef)(null),p=l[c],R=null!==k(p,c),M={status:w[c],severity:j[c][a]??a,rule:e,target:"my-app",detail:g[c],cause:"",step:i.step[c]??"",since:i.since,threshold:n},[L="",...D]=y(p).split("\n").flatMap(e=>{let t=[...e.matchAll(v)].map(e=>e[1]).filter(e=>Object.hasOwn(M,e));return t.length&&t.every(e=>!M[e].trim())?[]:[e.replace(v,(e,t)=>Object.hasOwn(M,t)?M[t]:e)]}).join("\n").replace(/\n{3,}/g,"\n\n").trim().split("\n");return(0,t.jsxs)("fieldset",{className:"mb-3.5 flex flex-col gap-[5px] border-t border-line pt-3.5",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,t.jsx)("legend",{className:"text-[13px] font-medium",children:"Message"}),(0,t.jsx)("span",{className:`rounded-full border px-2 py-px text-[11.5px] ${R?"border-brand/40 text-brand":"border-line text-ink-soft"}`,children:R?"Changed":"Watchbell's wording"})]}),(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"Word the notification yourself. Left as it is, the rule keeps Watchbell's wording, including later fixes to it."}),(0,t.jsx)("div",{role:"tablist",className:"mt-1 flex gap-1 border-b border-line",children:f.map(e=>(0,t.jsxs)("button",{type:"button",role:"tab","aria-selected":e===c,onClick:()=>h(e),className:`-mb-px border-b-2 px-2.5 py-1.5 text-[13px] ${e===c?"border-brand font-medium text-ink":"border-transparent text-ink-soft hover:text-ink"}`,children:[S[e],null!==k(l[e],e)?" · changed":""]},e))}),(0,t.jsx)("textarea",{ref:u,id:`rule-msg-${c}`,"aria-label":`Message in ${S[c]}`,className:`${r.S} min-h-[124px] resize-y font-mono text-[12.5px] leading-relaxed`,maxLength:1200,value:p,onChange:e=>o({...l,[c]:e.target.value})}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:m.map(e=>(0,t.jsx)("button",{type:"button",title:x[e],onClick:()=>{let t,a,s,n;return t=u.current,a=t?.selectionStart??p.length,s=t?.selectionEnd??a,n=`{${e}}`,void(o({...l,[c]:p.slice(0,a)+n+p.slice(s)}),requestAnimationFrame(()=>{t?.focus(),t?.setSelectionRange(a+n.length,a+n.length)}))},className:"rounded border border-line-strong bg-sunken px-1.5 py-px font-mono text-[12px] text-ink hover:border-brand",children:`{${e}}`},e))}),d[`template_${c}`]&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:d[`template_${c}`]}),f.filter(e=>e!==c&&d[`template_${e}`]).map(e=>(0,t.jsxs)("span",{className:"text-[12.5px] text-err",role:"alert",children:[S[e],": ",d[`template_${e}`]]},e)),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"A line whose fields are all empty is left out."}),(0,t.jsx)("button",{type:"button",className:"text-[12.5px] text-link underline disabled:opacity-50 disabled:no-underline",disabled:!R,onClick:()=>o({...l,[c]:b[c]}),children:"Back to Watchbell's wording"})]}),(0,t.jsxs)("div",{className:"mt-1 rounded-md border border-line bg-sunken px-3 py-2.5 text-[13px] leading-relaxed",children:[(0,t.jsx)("div",{className:"mb-1 text-[11.5px] uppercase tracking-wide text-ink-faint",children:"Preview, with sample values"}),(0,t.jsxs)("div",{className:"whitespace-pre-wrap break-words",children:[(0,t.jsx)("b",{children:"Watchbell"}),": ",C[c]," · ",i.since,"\n\n",(0,t.jsx)("b",{children:L}),D.length?`
2
+ ${D.join("\n")}`:"","\n",(0,t.jsx)("span",{className:"text-link",children:N[c]})]})]})]})}let M=[["telegram","Telegram"],["discord","Discord"],["webhook","Webhook"],["smtp","Email (SMTP)"],["email_digest","Daily email digest"]],L=e=>({severity:e.severity,threshold:null===e.threshold?"":e.threshold.toLocaleString("en-US"),channels:[...e.channels],enabled:e.enabled});e.s(["RuleActions",0,function({rule:e,condition:o,templates:h,sample:m}){let[f,x]=(0,s.useState)(!1),[b,g]=(0,s.useState)(()=>L(e)),[v,y]=(0,s.useState)(()=>R(h)),[k,S]=(0,s.useState)({}),[w,j]=(0,s.useTransition)(),[C,N]=(0,s.useTransition)();(0,i.useHoldRefresh)(f);let D=d[e.key].bounds;function E(t){t&&(g(L(e)),y(R(h)),S({})),x(t)}function $(t,a){j(async()=>{try{let s=await u(e.key,t);if(!s.ok){S(s.fieldErrors??{}),n.c.error(s.error);return}a(s.message??""),x(!1)}catch{n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})}return(0,t.jsxs)("span",{className:"inline-flex gap-1.5",children:[(0,t.jsxs)(l.N,{open:f,onOpenChange:e=>{w||E(e)},children:[(0,t.jsx)(l.a,{render:(0,t.jsx)(r.K,{size:"sm",children:"Edit"})}),(0,t.jsxs)(l.d,{className:"max-h-[92vh] gap-0 overflow-y-auto p-0 sm:max-w-[620px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(a.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsxs)(l.F,{className:"text-base",children:["Edit ",e.key]}),(0,t.jsx)(l.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:o})]})]}),(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),$({...b,templates:v},e=>n.c.success("Rule saved",{description:e}))},children:[(0,t.jsxs)("div",{className:"px-[18px] pt-2",children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,t.jsx)(r.O,{id:"rule-sev",label:"Severity",error:k.severity,children:(0,t.jsx)("select",{id:"rule-sev",className:r.S,value:b.severity,onChange:e=>g({...b,severity:e.target.value}),children:c.map(([e,a])=>(0,t.jsx)("option",{value:e,children:a},e))})}),D&&(0,t.jsx)(r.O,{id:"rule-num",label:"Threshold",help:`Replaces ${e.threshold?.toLocaleString("en-US")??"the number"} in the condition.`,error:k.threshold,children:(0,t.jsx)("input",{id:"rule-num",className:r.S,inputMode:"numeric",autoComplete:"off",value:b.threshold,onChange:e=>g({...b,threshold:e.target.value})})})]}),(0,t.jsxs)("fieldset",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,t.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Send to"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-x-4 gap-y-1.5",children:M.map(([e,a])=>(0,t.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:b.channels.includes(e),onChange:t=>{let a;return a=t.target.checked,g({...b,channels:a?[...b.channels,e]:b.channels.filter(t=>t!==e)})}}),a]},e))}),(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"Opens and resolves are sent once; a still-firing alert repeats every 6 hours unless silenced."}),k.channels&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:k.channels})]}),(0,t.jsxs)("label",{className:"mb-3.5 flex items-center gap-1.5 text-[13px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:b.enabled,onChange:e=>g({...b,enabled:e.target.checked})}),"Rule is on"]}),(0,t.jsx)(T,{ruleKey:e.key,severity:b.severity,threshold:b.threshold,sample:m,texts:v,onChange:y,errors:k})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(r.K,{className:"mr-auto",disabled:w||C||!b.channels.some(e=>"email_digest"!==e),onClick:function(){N(async()=>{try{let t=await p(e.key,{...b,templates:v});S(t.ok?{}:t.fieldErrors??{}),t.ok?n.c.success("Test sent",{description:t.message}):n.c.error(t.error)}catch{n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},title:"Sends this message, as a made-up alert, to the ticked channels (not the daily digest)",children:C?"Sending…":"Send test"}),(0,t.jsx)(r.K,{onClick:()=>E(!1),disabled:w,children:"Cancel"}),(0,t.jsx)(r.K,{type:"submit",variant:"primary",disabled:w,children:w?"Saving…":"Save rule"})]})]})]})]}),(0,t.jsx)(r.K,{size:"sm",disabled:w,onClick:()=>$({...L(e),enabled:!e.enabled},t=>e.enabled?n.c.success(`${e.key} disabled. It won't fire until you enable it again.`):n.c.success(`${e.key} enabled.`,{description:t})),children:e.enabled?"Disable":"Enable"})]})}],689721)},582429,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(846696),n=e.i(428325),r=e.i(684496),i=e.i(95187);let l=(0,i.createServerReference)("00ae9340dcdbcd845d3346c1c16deaaa47dbf84af2",i.callServer,void 0,i.findSourceMapURL,"approvalsStatus"),o=(0,i.createServerReference)("0050908ed60bb1ac799e03417a8e3fedb6f8767982",i.callServer,void 0,i.findSourceMapURL,"disableApprovals"),d=(0,i.createServerReference)("006fdefec2117b13e1faafb2e092f31724f57ec719",i.callServer,void 0,i.findSourceMapURL,"enableApprovals"),c=(0,i.createServerReference)("0056c7c29408c90ace30cd0b3b9b1e71ccf3e0409d",i.callServer,void 0,i.findSourceMapURL,"telegramLinkCode");e.s(["TelegramApprovals",0,function(){let[e,i]=(0,a.useState)(null),[h,u]=(0,a.useState)(null),[p,m]=(0,a.useState)(null),[f,x]=(0,a.useTransition)();function b(e,t){x(async()=>{try{let a=await e();if(!a.ok)return void s.c.error(a.error??"Watchbell didn't answer. Check that it's still running, then try again.");a.data&&i(a.data),t?.(),a.message&&s.c.success("Approval buttons",{description:a.message})}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})}(0,a.useEffect)(()=>{let e=!0;return l().then(t=>{e&&(t.ok&&t.data?i(t.data):u(t.ok?null:t.error))}).catch(()=>e&&u("Couldn't read the status.")),()=>{e=!1}},[]);let g=e?e.on?e.linked?"On · linked to your Telegram account":"On · not linked yet":"Off":h??"Checking…",v=p?(0,r.U)(new Date(p.expiresAt)):"";return(0,t.jsxs)("div",{className:"mt-1 basis-full rounded-md border border-line px-3 py-2 text-[13px]",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium",children:"Approval buttons"}),(0,t.jsx)("span",{className:"text-ink-soft",children:g}),(0,t.jsxs)("span",{className:"ml-auto inline-flex flex-wrap gap-2",children:[e&&!e.on&&(0,t.jsx)(n.K,{size:"sm",disabled:f,onClick:()=>b(d),children:f?"Working…":"Turn on"}),e?.on&&(0,t.jsx)(n.K,{size:"sm",disabled:f,onClick:function(){x(async()=>{try{let e=await c();e.ok&&e.data?m(e.data):s.c.error(e.ok?"Watchbell didn't answer. Check that it's still running, then try again.":e.error)}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:e.linked?"Link again":"Show link code"}),e?.on&&(0,t.jsx)(n.K,{size:"sm",variant:"ghost",disabled:f,onClick:()=>b(o,()=>m(null)),children:"Turn off"})]})]}),(0,t.jsx)("p",{className:"mt-1 text-[12.5px] text-ink-soft",children:"Proposal notices get ✅ Approve / ❌ Reject buttons that only your linked Telegram account can use; risky actions ask twice. While this is on, Telegram sends updates to the console instead of holding them, so Find chats lists the chats the bot has seen since then."}),e?.problem&&(0,t.jsx)("p",{className:"mt-1 text-[12.5px] text-err",children:e.problem}),p&&(0,t.jsxs)("p",{className:"mt-1 text-[12.5px]",children:["Send ",(0,t.jsxs)("code",{className:"rounded bg-sunken px-1 font-mono",children:["/link ",p.code]})," in the connected chat before ",v,". The code works once."]})]})}],582429)}])})();