watchbell 1.2.5 → 1.2.6

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 (607) hide show
  1. package/package.json +1 -1
  2. package/server/.next/BUILD_ID +1 -1
  3. package/server/.next/build-manifest.json +3 -3
  4. package/server/.next/prerender-manifest.json +3 -3
  5. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +22 -12
  6. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +60 -60
  7. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  9. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +21 -11
  10. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +60 -60
  11. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  13. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +20 -10
  14. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +60 -60
  15. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  16. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  17. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +23 -13
  18. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +60 -60
  19. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  21. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +21 -11
  22. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +60 -60
  23. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  25. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +30 -20
  26. package/server/.next/server/app/(console)/(private)/ai/models/page.js +60 -60
  27. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  28. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  29. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +20 -10
  30. package/server/.next/server/app/(console)/(private)/ai/page.js +60 -60
  31. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  32. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  33. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +23 -13
  34. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +60 -60
  35. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  37. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +26 -16
  38. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +60 -60
  39. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  41. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +21 -11
  42. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +60 -60
  43. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  44. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  45. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +21 -11
  46. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +60 -60
  47. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  48. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  49. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +20 -10
  50. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +60 -60
  51. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  52. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  53. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +21 -11
  54. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +60 -60
  55. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  56. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  57. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +36 -26
  58. package/server/.next/server/app/(console)/alerts/page.js +60 -60
  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 +37 -27
  62. package/server/.next/server/app/(console)/apps/[id]/page.js +60 -60
  63. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  64. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  65. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +23 -13
  66. package/server/.next/server/app/(console)/apps/page.js +60 -60
  67. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  68. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  69. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +23 -13
  70. package/server/.next/server/app/(console)/backups/page.js +60 -60
  71. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  72. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  73. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +20 -10
  74. package/server/.next/server/app/(console)/catalog/page.js +60 -60
  75. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  76. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  77. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +31 -21
  78. package/server/.next/server/app/(console)/connections/page.js +60 -60
  79. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  80. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  81. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +20 -10
  82. package/server/.next/server/app/(console)/d1/page.js +60 -60
  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 +26 -16
  86. package/server/.next/server/app/(console)/deployments/page.js +60 -60
  87. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  88. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  89. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +27 -17
  90. package/server/.next/server/app/(console)/dns/page.js +60 -60
  91. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  92. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  93. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +22 -12
  94. package/server/.next/server/app/(console)/domains/page.js +60 -60
  95. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  96. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  97. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +20 -10
  98. package/server/.next/server/app/(console)/events/page.js +60 -60
  99. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  100. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  101. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +27 -17
  102. package/server/.next/server/app/(console)/firebase/page.js +60 -60
  103. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  104. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  105. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +21 -11
  106. package/server/.next/server/app/(console)/logs/page.js +60 -60
  107. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  108. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  109. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +21 -11
  110. package/server/.next/server/app/(console)/manage/sections/page.js +60 -60
  111. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  112. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  113. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +31 -21
  114. package/server/.next/server/app/(console)/neon/page.js +60 -60
  115. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  116. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  117. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +28 -18
  118. package/server/.next/server/app/(console)/overview/page.js +60 -60
  119. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  120. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  121. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +21 -11
  122. package/server/.next/server/app/(console)/repos/[id]/page.js +60 -60
  123. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  124. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  125. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +20 -10
  126. package/server/.next/server/app/(console)/repos/page.js +60 -60
  127. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  128. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  129. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +30 -20
  130. package/server/.next/server/app/(console)/settings/page.js +60 -60
  131. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  132. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  133. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +27 -17
  134. package/server/.next/server/app/(console)/sql/page.js +60 -60
  135. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  136. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  137. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +20 -10
  138. package/server/.next/server/app/(console)/status/page.js +60 -60
  139. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  140. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  141. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +39 -29
  142. package/server/.next/server/app/(console)/supabase/page.js +60 -60
  143. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  144. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  145. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +20 -10
  146. package/server/.next/server/app/(console)/topology/page.js +60 -60
  147. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  148. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  149. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +20 -10
  150. package/server/.next/server/app/(console)/turso/page.js +60 -60
  151. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  152. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  153. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +20 -10
  154. package/server/.next/server/app/(console)/upstash/page.js +60 -60
  155. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  156. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  157. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +34 -24
  158. package/server/.next/server/app/(console)/uptime/page.js +60 -60
  159. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  160. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  161. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +25 -15
  162. package/server/.next/server/app/(console)/welcome/page.js +60 -60
  163. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  164. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  165. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  166. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  167. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  168. package/server/.next/server/app/_global-error.html +1 -1
  169. package/server/.next/server/app/_global-error.rsc +2 -2
  170. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  171. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  172. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  173. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  174. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  175. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  176. package/server/.next/server/app/_not-found.html +1 -1
  177. package/server/.next/server/app/_not-found.rsc +3 -3
  178. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  179. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  180. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  181. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  182. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  183. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  184. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +17 -7
  185. package/server/.next/server/app/api/collect/route.js +63 -63
  186. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  187. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +17 -7
  188. package/server/.next/server/app/api/daily/route.js +45 -45
  189. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  190. package/server/.next/server/app/api/status/route.js +2 -2
  191. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  192. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +17 -7
  193. package/server/.next/server/app/api/telegram/webhook/route.js +42 -42
  194. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  195. package/server/.next/server/app/api/v1/advice/route.js +4 -3
  196. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  197. package/server/.next/server/app/api/v1/ai/questions/route.js +2 -2
  198. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  199. package/server/.next/server/app/api/v1/mcp/route.js +1 -1
  200. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  201. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +4 -3
  202. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  203. package/server/.next/server/app/api/v1/status/route.js +4 -3
  204. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  205. package/server/.next/server/app/api/watchdog/route.js +15 -15
  206. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  207. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  208. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  209. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  210. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  211. package/server/.next/server/app/mfa/page.js +14 -14
  212. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  213. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  214. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  215. package/server/.next/server/app/mfa/setup/page.js +14 -14
  216. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  217. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  218. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  219. package/server/.next/server/app/page.js.nft.json +1 -1
  220. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  221. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  222. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  223. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  224. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  225. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  226. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  227. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  228. package/server/.next/server/app/signin/page.js +23 -23
  229. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  230. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  231. package/server/.next/server/chunks/{[externals]__0ia-wyj5qrosx._.js → [externals]__1-y7b_mfadqi-._.js} +1 -1
  232. package/server/.next/server/chunks/{[externals]__0igl_rsv6z3fr._.js → [externals]__1b3dgyi9diwhy._.js} +1 -1
  233. package/server/.next/server/chunks/{[externals]__0mh8e6gkgfswq._.js → [externals]__1dd9hhrnxhegy._.js} +1 -1
  234. package/server/.next/server/chunks/{[root-of-the-server]__0_e2eoq7w3ff_._.js → [root-of-the-server]__0-zrmrb4499ay._.js} +2 -2
  235. package/server/.next/server/chunks/{[root-of-the-server]__0ezd1s2862iob._.js → [root-of-the-server]__02h-ec_gusm_2._.js} +2 -2
  236. package/server/.next/server/chunks/{[root-of-the-server]__0exicuoq6gmph._.js → [root-of-the-server]__038br8sr9eepd._.js} +2 -2
  237. package/server/.next/server/chunks/{[root-of-the-server]__20ng0hgzxagf_._.js → [root-of-the-server]__040a3il587nja._.js} +2 -2
  238. package/server/.next/server/chunks/{[root-of-the-server]__0cc32xnniktg9._.js → [root-of-the-server]__04iumkvxok49x._.js} +2 -2
  239. package/server/.next/server/chunks/{[root-of-the-server]__01vos42kjq9nn._.js → [root-of-the-server]__0655w3_d4ejfb._.js} +1 -1
  240. package/server/.next/server/chunks/{[root-of-the-server]__0-ftc1hhcjcl2._.js → [root-of-the-server]__09dk9k-9q4d16._.js} +2 -2
  241. package/server/.next/server/chunks/[root-of-the-server]__0a5op--7u5_xh._.js +3 -0
  242. package/server/.next/server/chunks/{[root-of-the-server]__040ix5fqb_zb-._.js → [root-of-the-server]__0a5t6bkr3-uqw._.js} +2 -2
  243. package/server/.next/server/chunks/{[root-of-the-server]__1gt_-h9n48pwi._.js → [root-of-the-server]__0c0pkv3an1lg-._.js} +2 -2
  244. package/server/.next/server/chunks/{[root-of-the-server]__0185dne3slx7e._.js → [root-of-the-server]__0cmp5mwchd8sn._.js} +2 -2
  245. package/server/.next/server/chunks/{[root-of-the-server]__0oqltt9cni6m0._.js → [root-of-the-server]__0ct18spdi1leu._.js} +2 -2
  246. package/server/.next/server/chunks/{[root-of-the-server]__0r88w3qhrtzz_._.js → [root-of-the-server]__0db2p-om-b_4s._.js} +1 -1
  247. package/server/.next/server/chunks/{[root-of-the-server]__09uh8gefrxmkg._.js → [root-of-the-server]__0fc4c9-xzmkol._.js} +2 -2
  248. package/server/.next/server/chunks/{[root-of-the-server]__0rb1-3538-pq9._.js → [root-of-the-server]__0jswmvddgl3sb._.js} +1 -1
  249. package/server/.next/server/chunks/{[root-of-the-server]__0ms1uw85c5wg2._.js → [root-of-the-server]__0lco43i5w25zg._.js} +2 -2
  250. package/server/.next/server/chunks/{[root-of-the-server]__0ikiyg3u02ofv._.js → [root-of-the-server]__0m_nqt44ioex_._.js} +1 -1
  251. package/server/.next/server/chunks/{[root-of-the-server]__0w_og0zl6hqzj._.js → [root-of-the-server]__0qme276hvajvy._.js} +1 -1
  252. package/server/.next/server/chunks/[root-of-the-server]__0r3cq1lecww4e._.js +3 -0
  253. package/server/.next/server/chunks/{[root-of-the-server]__0070gc9ml0mf7._.js → [root-of-the-server]__0r_6xpjwcdrda._.js} +1 -1
  254. package/server/.next/server/chunks/[root-of-the-server]__0rctmpp7p7cp9._.js +3 -0
  255. package/server/.next/server/chunks/{[root-of-the-server]__1hl9k6e1o7xh2._.js → [root-of-the-server]__0s8wo4espz6eu._.js} +2 -2
  256. package/server/.next/server/chunks/{[root-of-the-server]__1ol4c4uzqqqfw._.js → [root-of-the-server]__0sp5xoed3-994._.js} +2 -2
  257. package/server/.next/server/chunks/{[root-of-the-server]__0sabwm3w1rm0q._.js → [root-of-the-server]__0ubalx5w0ds9m._.js} +1 -1
  258. package/server/.next/server/chunks/[root-of-the-server]__0vv63vp8y0fs-._.js +3 -0
  259. package/server/.next/server/chunks/{[root-of-the-server]__0-st5xltl53h9._.js → [root-of-the-server]__0w07p3ypro834._.js} +2 -2
  260. package/server/.next/server/chunks/{[root-of-the-server]__0x6qqr79pq_j9._.js → [root-of-the-server]__0whk62ebfu1u0._.js} +1 -1
  261. package/server/.next/server/chunks/{[root-of-the-server]__1vqs8o9bv1wbk._.js → [root-of-the-server]__0x4_tt5v17fx3._.js} +2 -2
  262. package/server/.next/server/chunks/{[root-of-the-server]__0znmcklxfccvk._.js → [root-of-the-server]__0x929r1phz1oi._.js} +2 -2
  263. package/server/.next/server/chunks/{[root-of-the-server]__01yzy5zxsekxi._.js → [root-of-the-server]__0ycpg444s91lb._.js} +1 -1
  264. package/server/.next/server/chunks/[root-of-the-server]__0z3hf530bwcq_._.js +3 -0
  265. package/server/.next/server/chunks/{[root-of-the-server]__1cc__h9taeylv._.js → [root-of-the-server]__0zkeao78mms1_._.js} +2 -2
  266. package/server/.next/server/chunks/{[root-of-the-server]__0y_xyc1cyvtej._.js → [root-of-the-server]__0zwr7fll4dm9q._.js} +2 -2
  267. package/server/.next/server/chunks/{[root-of-the-server]__0cz3da2wx3_wd._.js → [root-of-the-server]__1-2ckgdamg0-j._.js} +2 -2
  268. package/server/.next/server/chunks/[root-of-the-server]__1-ne3clcouvm2._.js +3 -0
  269. package/server/.next/server/chunks/[root-of-the-server]__1-xgpr5q148ze._.js +3 -0
  270. package/server/.next/server/chunks/{[root-of-the-server]__1bce11artflky._.js → [root-of-the-server]__12lrpnd-dhawi._.js} +2 -2
  271. package/server/.next/server/chunks/[root-of-the-server]__14-pt1-s1o5ex._.js +3 -0
  272. package/server/.next/server/chunks/{[root-of-the-server]__0x47i6wm-cd1z._.js → [root-of-the-server]__14jw0y_hj7jmw._.js} +2 -2
  273. package/server/.next/server/chunks/{[root-of-the-server]__05jzua9637vlo._.js → [root-of-the-server]__15vqo7amys573._.js} +2 -2
  274. package/server/.next/server/chunks/[root-of-the-server]__16jyhasrd2ojp._.js +3 -0
  275. package/server/.next/server/chunks/{[root-of-the-server]__0kzpzdkpz_nt0._.js → [root-of-the-server]__177l2p7kcj-16._.js} +2 -2
  276. package/server/.next/server/chunks/{[root-of-the-server]__186-sa38csgot._.js → [root-of-the-server]__17dr2z1o1hsvk._.js} +1 -1
  277. package/server/.next/server/chunks/{[root-of-the-server]__08-puk3_gawjd._.js → [root-of-the-server]__17jngidngj3rb._.js} +2 -2
  278. package/server/.next/server/chunks/[root-of-the-server]__1_zr2xlmtkn4l._.js +3 -0
  279. package/server/.next/server/chunks/[root-of-the-server]__1aagly59gw-xf._.js +3 -0
  280. package/server/.next/server/chunks/[root-of-the-server]__1bg8grh9kfims._.js +3 -0
  281. package/server/.next/server/chunks/{[root-of-the-server]__0tykhzqhwdx_k._.js → [root-of-the-server]__1bjvjngj7lvqi._.js} +2 -2
  282. package/server/.next/server/chunks/[root-of-the-server]__1c0cb3ur16yhh._.js +3 -0
  283. package/server/.next/server/chunks/[root-of-the-server]__1c1nhm-kj5kqu._.js +3 -0
  284. package/server/.next/server/chunks/{[root-of-the-server]__1g4iy2tasmn0f._.js → [root-of-the-server]__1d1u-wejsfl84._.js} +1 -1
  285. package/server/.next/server/chunks/{[root-of-the-server]__05pabbazg42oy._.js → [root-of-the-server]__1g6xpr_typmce._.js} +2 -2
  286. package/server/.next/server/chunks/{[root-of-the-server]__1a7_3nq1jjab-._.js → [root-of-the-server]__1jjusd74y8gd5._.js} +2 -2
  287. package/server/.next/server/chunks/[root-of-the-server]__1jvy8r4n-62x7._.js +3 -0
  288. package/server/.next/server/chunks/[root-of-the-server]__1kr6f03r82mk6._.js +3 -0
  289. package/server/.next/server/chunks/[root-of-the-server]__1kwldcrcmwc0x._.js +3 -0
  290. package/server/.next/server/chunks/[root-of-the-server]__1lq25064c4ny_._.js +3 -0
  291. package/server/.next/server/chunks/[root-of-the-server]__1m8gyvj7rkapj._.js +1 -1
  292. package/server/.next/server/chunks/[root-of-the-server]__1nm0sjvuf9jrb._.js +3 -0
  293. package/server/.next/server/chunks/{[root-of-the-server]__0i75m0es1m3hf._.js → [root-of-the-server]__1p3fqi03x5du8._.js} +1 -1
  294. package/server/.next/server/chunks/[root-of-the-server]__1pa_syiho939h._.js +3 -0
  295. package/server/.next/server/chunks/[root-of-the-server]__1qmdi981syrsn._.js +3 -0
  296. package/server/.next/server/chunks/{[root-of-the-server]__195ax9c1nsi5b._.js → [root-of-the-server]__1r24segt1slar._.js} +2 -2
  297. package/server/.next/server/chunks/[root-of-the-server]__1r9v6qgjwlv32._.js +3 -0
  298. package/server/.next/server/chunks/{[root-of-the-server]__0xqgsjnebebv8._.js → [root-of-the-server]__1smidspfoqz48._.js} +2 -2
  299. package/server/.next/server/chunks/{[root-of-the-server]__20r_62r36t28o._.js → [root-of-the-server]__1t87mhqedigsz._.js} +2 -2
  300. package/server/.next/server/chunks/[root-of-the-server]__1u5my3-gpw499._.js +3 -0
  301. package/server/.next/server/chunks/{[root-of-the-server]__1ny8nr52qvr4i._.js → [root-of-the-server]__20sp5m_w5iklm._.js} +2 -2
  302. package/server/.next/server/chunks/{_1_9n8x5ncta29._.js → _0-jfehdfklu-i._.js} +2 -2
  303. package/server/.next/server/chunks/{_1cq1vvbp6pglr._.js → _0-ub844lc_z_a._.js} +3 -3
  304. package/server/.next/server/chunks/_05hhw0eql5-dv._.js +10 -0
  305. package/server/.next/server/chunks/{_0zj10_al6r59j._.js → _08fv52mqg619m._.js} +2 -2
  306. package/server/.next/server/chunks/{_1myv9csc_in08._.js → _08z7lmk32r__5._.js} +3 -3
  307. package/server/.next/server/chunks/_0b7rdk-4lrvfy._.js +10 -0
  308. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  309. package/server/.next/server/chunks/{_1n-fm2bdo9t2m._.js → _1-pv4d4qhe7to._.js} +3 -3
  310. package/server/.next/server/chunks/{_1e_rbkrukj0x9._.js → _13dlt388gceez._.js} +2 -2
  311. package/server/.next/server/chunks/_19wqm5leaaesp._.js +1 -1
  312. package/server/.next/server/chunks/{_0ls7sornjrg95._.js → _1b1t9p1xljuql._.js} +1 -1
  313. package/server/.next/server/chunks/_1d_77nvqcnkcg._.js +3 -0
  314. package/server/.next/server/chunks/_1e_6lrlg9ml3-._.js +1 -1
  315. package/server/.next/server/chunks/_1l-68brbq289m._.js +10 -0
  316. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  317. package/server/.next/server/chunks/{src_0_l3dzp06o4x5._.js → src_01fd1ve-xj9xo._.js} +2 -2
  318. package/server/.next/server/chunks/{src_0m6xxpw2u-xv_._.js → src_049aazgsmienv._.js} +2 -2
  319. package/server/.next/server/chunks/src_05vq-abuilwk4._.js +3 -0
  320. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  321. package/server/.next/server/chunks/src_06lwphwuzgl6e._.js +3 -0
  322. package/server/.next/server/chunks/src_0_9n02bmhtk4z._.js +3 -0
  323. package/server/.next/server/chunks/src_0tw-h0otr2tgt._.js +1 -1
  324. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  325. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  326. package/server/.next/server/chunks/{src_15fupbs9-n8q9._.js → src_20sym_ohuqw76._.js} +2 -2
  327. package/server/.next/server/chunks/src_2108_me3q06ih._.js +3 -0
  328. package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +1 -1
  329. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  330. package/server/.next/server/chunks/src_lib_0pyyxm3m1rttg._.js +9 -0
  331. package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +9 -0
  332. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +5 -5
  333. package/server/.next/server/chunks/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  334. package/server/.next/server/chunks/src_private_1_nggk_wre7qf._.js +2 -2
  335. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  336. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
  337. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
  338. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
  339. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
  340. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
  341. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
  342. package/server/.next/server/chunks/ssr/{[externals]__0vlxry7jq5j1j._.js → [externals]__0d7rvi3tmo9zf._.js} +1 -1
  343. package/server/.next/server/chunks/ssr/{[externals]__1mol6ksxmtkv6._.js → [externals]__1rj83sktdlxvt._.js} +1 -1
  344. package/server/.next/server/chunks/ssr/{[externals]__0yyslm1ka5px3._.js → [externals]__1s7xw086rvse0._.js} +1 -1
  345. package/server/.next/server/chunks/ssr/{[externals]__0irbihjwcc9is._.js → [externals]__20leqouf6m6f3._.js} +1 -1
  346. package/server/.next/server/chunks/ssr/{[root-of-the-server]__193nmh09rrpbx._.js → [root-of-the-server]__0-zqh1gf4dsj3._.js} +1 -1
  347. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
  348. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ctkj-25wt37o._.js → [root-of-the-server]__05gue5stvejba._.js} +3 -3
  349. package/server/.next/server/chunks/ssr/[root-of-the-server]__077-acap7g4ck._.js +1 -1
  350. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0wi2grctadbk8._.js → [root-of-the-server]__080do5vfu69n5._.js} +1 -1
  351. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0xjg51t1__v-s._.js → [root-of-the-server]__08u1c2f2i7ru4._.js} +1 -1
  352. package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
  353. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_z273zso5at1._.js → [root-of-the-server]__0amfa4t2-in-x._.js} +2 -2
  354. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0sj92w6mg92ds._.js → [root-of-the-server]__0b3g72j9cu141._.js} +2 -2
  355. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0-i_tj8wp9oto._.js → [root-of-the-server]__0ed6qo3lg9_f9._.js} +2 -2
  356. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0z_1k5876-_wx._.js → [root-of-the-server]__0ee5ew5q3jh8i._.js} +2 -2
  357. package/server/.next/server/chunks/ssr/{[root-of-the-server]__110158s15r7mi._.js → [root-of-the-server]__0fd39clnjw9fb._.js} +2 -2
  358. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0i07g85h2g72h._.js → [root-of-the-server]__0h9rpg5-lhp5q._.js} +2 -2
  359. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
  360. package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
  361. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
  362. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1a0b_dbx4uans._.js → [root-of-the-server]__0p86d9imejczs._.js} +2 -2
  363. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
  364. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
  365. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_h_ya1h8efdj._.js → [root-of-the-server]__0tqqte5jb6jz7._.js} +2 -2
  366. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ijizmc3ga_6o._.js → [root-of-the-server]__0xscr-8y9a4cj._.js} +2 -2
  367. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ogwz1buruc_x._.js → [root-of-the-server]__11paa809_igt_._.js} +2 -2
  368. package/server/.next/server/chunks/ssr/[root-of-the-server]__18gcvkhrt73zc._.js +3 -0
  369. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  370. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1tj-iwvrxfd1a._.js → [root-of-the-server]__1o6cysvbfkltz._.js} +1 -1
  371. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0hzlz_t5eect2._.js → [root-of-the-server]__1qrk2rfmx21b_._.js} +2 -2
  372. package/server/.next/server/chunks/ssr/[root-of-the-server]__1sw2q1p1t59y8._.js +1 -1
  373. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1kfivch_kfesn._.js → [root-of-the-server]__1tgcpistmcbrd._.js} +3 -3
  374. package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
  375. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1-d88ogkwql_b._.js → [root-of-the-server]__1uzqsxyxwffdo._.js} +2 -2
  376. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0n-sc7pzu7fpz._.js → [root-of-the-server]__1y7nfsglxx7cn._.js} +1 -1
  377. package/server/.next/server/chunks/ssr/_0-wc6f6p0c8lv._.js +1 -1
  378. package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
  379. package/server/.next/server/chunks/ssr/{_18z44n8yl5tzj._.js → _07-dfx0qix52k._.js} +2 -2
  380. package/server/.next/server/chunks/ssr/{_10q5jocsvw-i8._.js → _07f-svx_l12lw._.js} +2 -2
  381. package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
  382. package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +3 -0
  383. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  384. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  385. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  386. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  387. package/server/.next/server/chunks/ssr/_0c7stbntpuyt_._.js +1 -1
  388. package/server/.next/server/chunks/ssr/_0c8kew3jsb-yb._.js +3 -0
  389. package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
  390. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  391. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
  392. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  393. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
  394. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
  395. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
  396. package/server/.next/server/chunks/ssr/{_166ljgwi6shw7._.js → _0jqrjb30bblvy._.js} +2 -2
  397. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
  398. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  399. package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
  400. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
  401. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
  402. package/server/.next/server/chunks/ssr/_0rsh9v4b3yj0b._.js +3 -0
  403. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
  404. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
  405. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +1 -1
  406. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  407. package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +2 -2
  408. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  409. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  410. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  411. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
  412. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  413. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  414. package/server/.next/server/chunks/ssr/{_0s8qoh8v5kqcm._.js → _1bc69myq83woe._.js} +2 -2
  415. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
  416. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  417. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
  418. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
  419. package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
  420. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  421. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
  422. package/server/.next/server/chunks/ssr/{_1qiv079hbwt43._.js → _1j61tfpfj2t9d._.js} +2 -2
  423. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  424. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  425. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
  426. package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
  427. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
  428. package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +1 -1
  429. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
  430. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  431. package/server/.next/server/chunks/ssr/_218164gkxgum_._.js +1 -1
  432. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
  433. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
  434. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
  435. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_0y5m8cul6d7kk.js +1 -1
  436. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
  437. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
  438. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
  439. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
  440. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
  441. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
  442. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
  443. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +1 -1
  444. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
  445. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
  446. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  447. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  448. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
  449. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  450. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  451. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  452. package/server/.next/server/chunks/ssr/src_0dceh6hsdybq8._.js +3 -0
  453. package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
  454. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  455. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
  456. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  457. package/server/.next/server/chunks/ssr/{src_186l56gdeizg8._.js → src_14ulgwoxoyfkq._.js} +2 -2
  458. package/server/.next/server/chunks/ssr/src_1bg_io_v7gt71._.js +3 -0
  459. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  460. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  461. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  462. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  463. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  464. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  465. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  466. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  467. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  468. package/server/.next/server/chunks/ssr/{src_app_(console)_1vpkg9rd7v3pk._.js → src_app_(console)_0e832kna-734m._.js} +2 -2
  469. package/server/.next/server/chunks/ssr/{src_app_(console)_0f-d8u7sm169e._.js → src_app_(console)_0kwns5iudhgwj._.js} +2 -2
  470. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
  471. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  472. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  473. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  474. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  475. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  476. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  477. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  478. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  479. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  480. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  481. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  482. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  483. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  484. package/server/.next/server/chunks/ssr/src_app_(console)_overview_page_tsx_0se3f3ln9q-42._.js +1 -1
  485. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  486. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  487. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  488. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  489. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  490. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  491. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  492. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  493. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  494. package/server/.next/server/chunks/ssr/src_app_signin_1fj68y-bbe-xr._.js +3 -0
  495. package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +1 -1
  496. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  497. package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +1 -1
  498. package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
  499. package/server/.next/server/chunks/ssr/src_lib_1gauld53vvpev._.js +3 -0
  500. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
  501. package/server/.next/server/chunks/ssr/{src_lib_demo_0ftmf3wmtezvl._.js → src_lib_demo_09ht4doed9eqi._.js} +2 -2
  502. package/server/.next/server/chunks/ssr/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  503. package/server/.next/server/chunks/ssr/src_private_04omlb_sgy-_r._.js +2 -2
  504. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  505. package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +6 -0
  506. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  507. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  508. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  509. package/server/.next/server/middleware-build-manifest.js +3 -3
  510. package/server/.next/server/pages/404.html +1 -1
  511. package/server/.next/server/pages/500.html +1 -1
  512. package/server/.next/server/preview-props.json +3 -3
  513. package/server/.next/server/server-reference-manifest.js +1 -1
  514. package/server/.next/server/server-reference-manifest.json +319 -141
  515. package/server/.next/static/chunks/{1bsk5ub4zhehk.js → 0-ett1b-o34r0.js} +1 -1
  516. package/server/.next/static/chunks/{2w3otuq4cx1pd.js → 0-fov5gyz32mj.js} +1 -1
  517. package/server/.next/static/chunks/{0p14kwfj_2w_l.js → 041ko45qawas9.js} +1 -1
  518. package/server/.next/static/chunks/{3u-qfdthw123i.js → 0ia5361d7hoce.js} +2 -2
  519. package/server/.next/static/chunks/{1kwbsrtnz8o1l.js → 0m40tf7-fh2ht.js} +1 -1
  520. package/server/.next/static/chunks/{0o08yqz8_53p6.js → 0o6_y6xu__s6q.js} +1 -1
  521. package/server/.next/static/chunks/{2uk9mjknuxmxx.js → 0x1xj431cbkfa.js} +1 -1
  522. package/server/.next/static/chunks/{3odrzjmblvoxt.js → 0x6eipkda93fh.js} +1 -1
  523. package/server/.next/static/chunks/{0m3kg-eiti9zu.js → 0zj507c7ui4jt.js} +1 -1
  524. package/server/.next/static/chunks/{1j7e6cd8t5jar.js → 11_iva96ceble.js} +1 -1
  525. package/server/.next/static/chunks/15_3o9t6d7ujo.js +1 -0
  526. package/server/.next/static/chunks/{20pwnun2aiajo.js → 1e0iyxugtm7b0.js} +2 -2
  527. package/server/.next/static/chunks/{026a6w6rbx-fh.js → 1eeqy_pc_llv4.js} +1 -1
  528. package/server/.next/static/chunks/{19bfo1_ejzqmp.js → 1g3u_ngexgvss.js} +1 -1
  529. package/server/.next/static/chunks/{4126vjheqklsp.js → 1ghfc_9g9io17.js} +1 -1
  530. package/server/.next/static/chunks/{15x1am33zx_7r.js → 1gw40u38oaj6z.js} +1 -1
  531. package/server/.next/static/chunks/{1rgejqx65romt.js → 1jc9qa7xb63lp.js} +1 -1
  532. package/server/.next/static/chunks/{234h8_ywb6t9s.js → 1muk1ubaswhlj.js} +1 -1
  533. package/server/.next/static/chunks/{05rysjdxtzhu1.js → 1qug5gmo2rbaf.js} +1 -1
  534. package/server/.next/static/chunks/{2ehpfaelmkee6.js → 1vyf467_8v-cw.js} +1 -1
  535. package/server/.next/static/chunks/{0o-c28x8k05p4.js → 1z8byc-won_tq.js} +1 -1
  536. package/server/.next/static/chunks/{317o5vyehd1xx.js → 1zhnm25vt6hu8.js} +1 -1
  537. package/server/.next/static/chunks/{2_vwhuzct036v.js → 243ijh4fs2zsq.js} +1 -1
  538. package/server/.next/static/chunks/{231dmdy7r03nd.js → 299jy1-g0cm8n.js} +1 -1
  539. package/server/.next/static/chunks/{25je6-38ula0p.js → 2hscqr4n7hu7n.js} +1 -1
  540. package/server/.next/static/chunks/2j4kmkog1zkpo.js +1 -0
  541. package/server/.next/static/chunks/{35j75g5h_qytc.js → 2j9fpx77gfesr.js} +1 -1
  542. package/server/.next/static/chunks/{1khar1yl-th2r.js → 2jdlcu25qy00d.js} +1 -1
  543. package/server/.next/static/chunks/{3m825h0uvc8b6.js → 2kurh5s5u8_4-.js} +1 -1
  544. package/server/.next/static/chunks/2seth6dz7lydu.js +1 -0
  545. package/server/.next/static/chunks/{16en34z8w8ezr.js → 2t30gqjhercob.js} +1 -1
  546. package/server/.next/static/chunks/2y05vm9r_wxds.js +1 -0
  547. package/server/.next/static/chunks/{3xhrztkjpas1b.js → 2ziborutqth-2.js} +1 -1
  548. package/server/.next/static/chunks/{25ba60sl_edr3.js → 3-xb6vd_khwfo.js} +1 -1
  549. package/server/.next/static/chunks/{1y8hxiy48l5hq.js → 36e9fpbpqndu5.js} +1 -1
  550. package/server/.next/static/chunks/{34jajbsx3uisy.js → 3cjokqd7600_0.js} +1 -1
  551. package/server/.next/static/chunks/{24p8ti6ronsdf.js → 3hpyrqm98toxv.js} +1 -1
  552. package/server/.next/static/chunks/{1b4nkf_ka3hwr.js → 3kqiccrh_bnpl.js} +2 -2
  553. package/server/.next/static/chunks/{1ruv-a_ft592k.js → 3r3-9oir5c1ul.js} +1 -1
  554. package/server/.next/static/chunks/{0lhj_nuhfszt5.js → 3wl06e5yyzlwh.js} +1 -1
  555. package/server/.next/static/chunks/{1aiapinh40brx.js → 3xbsyym_tfj0u.js} +1 -1
  556. package/server/.next/static/chunks/{0jbau1a66ts45.js → 3ymogjp57edbj.js} +11 -11
  557. package/server/.next/static/chunks/{0wz_jmdt88plr.js → 422gxqrwveuyc.js} +1 -1
  558. package/server/.next/static/chunks/{2baqn9ru2pmf4.js → 442t8i7d46g9y.js} +2 -2
  559. package/server/.next/static/chunks/{3ngtjj5afybe9.js → 4545xu4sehvxc.js} +1 -1
  560. package/server/.next/server/chunks/[root-of-the-server]__028cxv1v6v0yb._.js +0 -3
  561. package/server/.next/server/chunks/[root-of-the-server]__07g16s_wi2sai._.js +0 -3
  562. package/server/.next/server/chunks/[root-of-the-server]__0dvuy3ibsyiik._.js +0 -3
  563. package/server/.next/server/chunks/[root-of-the-server]__0e2utnqdim70d._.js +0 -3
  564. package/server/.next/server/chunks/[root-of-the-server]__0gmn5s40au84-._.js +0 -3
  565. package/server/.next/server/chunks/[root-of-the-server]__0k7o0hgdraix2._.js +0 -3
  566. package/server/.next/server/chunks/[root-of-the-server]__0o0z59_jylzvy._.js +0 -3
  567. package/server/.next/server/chunks/[root-of-the-server]__0quiawzx_nww0._.js +0 -3
  568. package/server/.next/server/chunks/[root-of-the-server]__0wdxw44t9l9o_._.js +0 -3
  569. package/server/.next/server/chunks/[root-of-the-server]__0y99cuuxm0xs3._.js +0 -3
  570. package/server/.next/server/chunks/[root-of-the-server]__0zflnh-2nol66._.js +0 -3
  571. package/server/.next/server/chunks/[root-of-the-server]__10dp33pb5e0ml._.js +0 -3
  572. package/server/.next/server/chunks/[root-of-the-server]__12xl6ax-q8s93._.js +0 -3
  573. package/server/.next/server/chunks/[root-of-the-server]__14sac3h4sfhh7._.js +0 -3
  574. package/server/.next/server/chunks/[root-of-the-server]__17xbg7cngebwp._.js +0 -3
  575. package/server/.next/server/chunks/[root-of-the-server]__18lfi0w0e_h0k._.js +0 -3
  576. package/server/.next/server/chunks/[root-of-the-server]__1c1wqmzm65xo8._.js +0 -3
  577. package/server/.next/server/chunks/[root-of-the-server]__1gry2nrq5xhxl._.js +0 -3
  578. package/server/.next/server/chunks/[root-of-the-server]__1kk_s-q90445m._.js +0 -3
  579. package/server/.next/server/chunks/[root-of-the-server]__1lfsf7un8kdbr._.js +0 -3
  580. package/server/.next/server/chunks/[root-of-the-server]__1nusfevn1z4nm._.js +0 -3
  581. package/server/.next/server/chunks/[root-of-the-server]__1oc55uo0ax787._.js +0 -3
  582. package/server/.next/server/chunks/[root-of-the-server]__1uqxnb7qfqcms._.js +0 -3
  583. package/server/.next/server/chunks/[root-of-the-server]__1vxtt1favjdfr._.js +0 -3
  584. package/server/.next/server/chunks/[root-of-the-server]__1xwgj26z5f7ih._.js +0 -3
  585. package/server/.next/server/chunks/[root-of-the-server]__20sv90-2ei08l._.js +0 -3
  586. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +0 -10
  587. package/server/.next/server/chunks/_1daeuesc2d2tg._.js +0 -3
  588. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +0 -10
  589. package/server/.next/server/chunks/src_12wdz9bdn7a-7._.js +0 -3
  590. package/server/.next/server/chunks/src_lib_103kimc1xvc_0._.js +0 -9
  591. package/server/.next/server/chunks/src_lib_1sdusf16f07x-._.js +0 -9
  592. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nxyo70ahj7tk._.js +0 -3
  593. package/server/.next/server/chunks/ssr/_0uvkx5n0kf7r2._.js +0 -3
  594. package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +0 -3
  595. package/server/.next/server/chunks/ssr/_1o94cw0ml7xu7._.js +0 -3
  596. package/server/.next/server/chunks/ssr/src_0jxjbvkvg0bjg._.js +0 -3
  597. package/server/.next/server/chunks/ssr/src_1xoua7wkmyfkn._.js +0 -3
  598. package/server/.next/server/chunks/ssr/src_1y827m5-ojdib._.js +0 -6
  599. package/server/.next/server/chunks/ssr/src_app_signin_0ndz9-tbuaohn._.js +0 -3
  600. package/server/.next/server/chunks/ssr/src_lib_04orn7u7ufxp1._.js +0 -3
  601. package/server/.next/static/chunks/0-0tkevn8vwix.js +0 -1
  602. package/server/.next/static/chunks/0qd8lafp_2ta5.js +0 -1
  603. package/server/.next/static/chunks/14teejsfv-awi.js +0 -1
  604. package/server/.next/static/chunks/38rdy3k5li9gb.js +0 -1
  605. /package/server/.next/static/{00kxZsHPpI3WSDxVn1e4b → u0RcJ9L5FEEUdENisty65}/_buildManifest.js +0 -0
  606. /package/server/.next/static/{00kxZsHPpI3WSDxVn1e4b → u0RcJ9L5FEEUdENisty65}/_clientMiddlewareManifest.js +0 -0
  607. /package/server/.next/static/{00kxZsHPpI3WSDxVn1e4b → u0RcJ9L5FEEUdENisty65}/_ssgManifest.js +0 -0
@@ -1,9 +1,9 @@
1
- module.exports=[270432,a=>{"use strict";var b=a.i(93321),c=a.i(351674),d=a.i(548734),e=a.i(837137),f=a.i(436357),g=a.i(109068),h=a.i(678831),i=a.i(45617),j=a.i(455317),k=a.i(383487),l=a.i(714530),m=a.i(601219),n=a.i(358179),o=a.i(292321),p=a.i(49146),q=a.i(396667),r=a.i(751263);async function s(a,f,g=new Map){if(!a.length)return 0;let h=await (0,d.f)().select({app:e.deployments.resourceId,id:e.deployments.externalId,source:e.deployments.source,branch:e.deployments.branch,sha:e.deployments.commitSha}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,a.map(a=>a.id)),(0,b.u)(e.deployments.isCurrent,!0))),i=0;for(let j of a){let a,k=h.find(a=>a.app===j.id);if(!k)continue;let l=(0,r.O)(j.meta?.productionSource),m=g.get(k.id),n={source:k.source??null,branch:k.branch??null,sha:k.sha??null};if(!(a=m?(0,r.s)({...n,branchFrom:m.branchFrom??null,gitDirty:!0===m.gitDirty}):l?.id===k.id?{kind:l.kind,...l.ref?{ref:l.ref}:{},...l.sha?{sha:l.sha}:{}}:"git"===n.source||"cli"===n.source?(0,r.s)(n):null)){if(l?.at&&l.id!==k.id){let a={...l};delete a.at,await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({productionSource:a})}::jsonb`}).where((0,b.u)(e.resources.id,j.id)),i++}continue}a={...a,id:k.id};let o=!!l?.at&&f.getTime()-Date.parse(l.at)<r.u;if((0,r.v)(l,a)&&o)continue;let p={...a,at:f.toISOString()};await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({productionSource:p})}::jsonb`}).where((0,b.u)(e.resources.id,j.id)),i++}return i}var t=a.i(33135),u=a.i(669943),v=a.i(26972),w=a.i(811365),x=a.i(689963),y=a.i(191179),z=a.i(427221),A=a.i(530174);let B=/not enabled/i,C=(a,b,c={})=>({ok:!1,kind:a,error:b,...c}),D="Vercel Web Analytics answered in a format the console doesn't recognise.",E=v.z.object({data:v.z.object({pageviews:w.z.number().finite().nonnegative(),visitors:w.z.number().finite().nonnegative()})}),F=v.z.object({data:x.z.array(y.z.unknown())}),G=v.z.object({timestamp:z.z.string().transform((a,b)=>{let c=Date.parse(a);return Number.isNaN(c)?(b.addIssue({code:"custom",message:"bad timestamp"}),A.z.NEVER):c}),pageviews:w.z.number().finite().nonnegative().nullish().catch(null)});async function H(a,b,c,d){let e=d.since.toISOString(),f=d.until.toISOString(),g=d.fetch??fetch,h=new AbortController,i=setTimeout(()=>h.abort(new DOMException("window","TimeoutError")),d.timeoutMs??8e3),j=d.signal?AbortSignal.any([h.signal,d.signal]):h.signal,k=(0,t.X)(j);async function l(i,l){let m=new URLSearchParams({projectId:c,teamId:b,...l,since:e,until:f});try{let b=await Promise.race([g(`https://api.vercel.com/v1/query/web-analytics/visits/${i}?${m}`,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"},signal:j,cache:"no-store"}),k]),c=null,d=!1;if(401===b.status||403===b.status)c=C("auth",`Vercel rejected this credential (${b.status}).`,{status:b.status});else if(429===b.status){let a=Number(b.headers.get("Retry-After"));c=C("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(a)&&a>0?a:60})}else if(400===b.status){let a=await Promise.race([b.text(),k]).catch(()=>"");B.test(a)?d=!0:c=C("transient","Vercel Web Analytics rejected the request (400).",{status:400})}else b.ok||(c=C("transient",`Vercel Web Analytics returned an error (${b.status}).`,{status:b.status}));if(d)return{kind:"off"};if(c)return await b.body?.cancel().catch(()=>void 0),{kind:"fail",fail:c};try{return{kind:"body",body:await Promise.race([b.json(),k])}}catch(a){if(j.aborted)throw a;return{kind:"fail",fail:C("format",D)}}}catch{return{kind:"fail",fail:j.aborted?h.signal.aborted&&!d.signal?.aborted?C("transient","Vercel Web Analytics didn't answer in time."):C("transient","Reading Vercel Web Analytics was cancelled."):C("transient","Couldn't reach Vercel Web Analytics.")}}}try{let[a,b]=await Promise.all([l("count",{}),l("aggregate",{by:"hour"})]);if("off"===a.kind||"off"===b.kind)return{ok:!0,enabled:!1};let c=[a,b].flatMap(a=>"fail"===a.kind?[a.fail]:[]),d=c.find(a=>"auth"===a.kind);if(d)return d;let e="body"===b.kind?F.safeParse(b.body):null,f="fail"===b.kind?b.fail:e?.success?null:C("format",D),g=c.find(a=>"transient"===a.kind);if(g)return g;if(f)return f;if(!e?.success)return C("format",D);let h="body"===a.kind?E.safeParse(a.body):null,i=e.data.data.flatMap(a=>{let b=G.safeParse(a);return b.success?[b.data]:[]});if(i.length>0&&i.every(a=>null==a.pageviews))return C("format",D);let j=new Map;for(let a of i){let b=36e5*Math.floor(a.timestamp/36e5);j.set(b,(j.get(b)??0)+(a.pageviews??0))}let k=[...j].sort((a,b)=>a[0]-b[0]).slice(-24).map(([a,b])=>({at:new Date(a),views:b}));if(h?.success)return{ok:!0,enabled:!0,total:h.data.data.pageviews,visitors:h.data.data.visitors,hourly:k};return{ok:!0,enabled:!0,total:k.reduce((a,b)=>a+b.views,0),visitors:null,hourly:k}}finally{clearTimeout(i),h.abort()}}var I=a.i(631107);async function J(a,b,c){let d=await (0,o.g)(null);if(!d.length)return;let e=new Date(36e5*Math.floor(a.getTime()/36e5)-828e5);await (0,t.P)(d,3,async d=>{if(Date.now()+8500>b)return;let f=await H(d.token,d.teamId,d.projectId,{since:e,until:a});if(!f.ok)return void c.push(`pageviews/${d.appName}: ${f.error}`);try{await (0,u.r)(d.appId,{pageviews:(0,I.a)(f,a)},a)}catch{c.push(`pageviews/${d.appName}: couldn't save the page views`)}})}var K=a.i(634418),L=a.i(930270),M=a.i(242605),N=a.i(683439);let O="security.afterDeploy",P=a=>"object"==typeof a&&null!==a&&!Array.isArray(a),Q=a=>"string"==typeof a&&a.length>0&&a.length<=100;function R(a){let b={pending:{},checked:{}};if(!P(a))return b;if(P(a.pending))for(let[c,d]of Object.entries(a.pending)){if(!(0,N.f)(c)||!P(d)||!Q(d.id)||"string"!=typeof d.at||Number.isNaN(Date.parse(d.at)))continue;let a="number"==typeof d.attempts&&Number.isInteger(d.attempts)&&d.attempts>=0?Math.min(d.attempts,3):0;b.pending[c]={id:d.id,at:d.at,attempts:a,...!0===d.next?{next:!0}:{},...!0===d.deps?{deps:!0}:{}}}if(P(a.checked))for(let[c,d]of Object.entries(a.checked))(0,N.f)(c)&&Q(d)&&(b.checked[c]=d);return b}function S(a,b){let c,d={...a.pending},e={...a.checked};for(let a of b){let b=d[a];b&&(delete d[a],delete e[a],e[a]=b.id)}return{pending:d,checked:(c=Object.entries(e)).length<=500?e:Object.fromEntries(c.slice(c.length-500))}}let T=(a,b)=>Object.entries(a.pending).filter(([,a])=>!a[b]).map(([a])=>a);var U=a.i(46126);let V="security.slot",W=a=>Array.isArray(a)?a.filter(a=>"string"==typeof a&&a.length>0&&a.length<=100).slice(0,1e3):[],X=(a,b)=>[...new Set([...a,...b])].slice(0,1e3),Y=a=>async()=>{let[c]=await (0,d.f)().select({value:e.settings.value}).from(e.settings).where((0,b.u)(e.settings.key,a)).limit(1);return c?.value??null},Z=a=>async b=>{await (0,d.f)().insert(e.settings).values({key:a,value:b}).onConflictDoUpdate({target:e.settings.key,set:{value:b,updatedAt:new Date}})},$={read:Y(O),write:Z(O),readSlot:Y(V),writeSlot:Z(V),nextCheck:M.h,depsStep:(a,b)=>(0,L.O)(a,b)};async function _(a,b=$){var c;let d,e=R(await b.read()),f=(c=a.now,(d=Object.entries(e.pending).filter(([,a])=>c.getTime()-Date.parse(a.at)>216e5).map(([a])=>a)).length?S(e,d):e),g=!a.paused.has("hosting"),h=!a.paused.has("devops"),i=g?T(f,"next"):[],j=h?T(f,"deps"):[],k=a.early?null:function(a,b){let c=a&&"object"==typeof a&&!Array.isArray(a)?a:{};if(c.slot!==b)return{slot:b,runs:0,next:[],repos:[],cut:{},nextDone:!1,depsDone:!1};let d="number"==typeof c.runs&&Number.isInteger(c.runs)&&c.runs>=0?c.runs:0,e={};if(c.cut&&"object"==typeof c.cut&&!Array.isArray(c.cut))for(let[a,b]of Object.entries(c.cut).slice(0,1e3))a.length<=100&&"number"==typeof b&&Number.isInteger(b)&&b>0&&(e[a]=Math.min(b,2));return{slot:b,runs:d,next:W(c.next),repos:W(c.repos),cut:e,nextDone:!0===c.nextDone,depsDone:!0===c.depsDone}}(await b.readSlot(),new Date((0,K.G)("security",a.now)).toISOString()),l=!!k&&g&&!k.nextDone,m=!!k&&h&&!k.depsDone,n=g&&(i.length>0||l),o=h&&(j.length>0||m),p={hosting:g,devops:h,nextDone:new Set,nextStarted:new Set,depsDone:new Set},q=async()=>{let c=Math.min(Date.now()+U.y,!k&&o?a.deadline-2*L.d:a.deadline),d=l?[...k.next,...Object.entries(k.cut).filter(([,a])=>a>=2).map(([a])=>a)]:[],e=l?{first:i,skip:[...new Set(d)].filter(a=>!i.includes(a))}:{only:i},f=await b.nextCheck(c,e);for(let b of f.failed)a.errors.push(`security ${b}`);for(let a of f.done)p.nextDone.add(a);for(let a of i)f.listed.includes(a)||p.nextDone.add(a);for(let a of f.started)p.nextStarted.add(a);if(l){let a=new Set(f.done);for(let b of(k.next=X(k.next,f.done),f.started))a.has(b)||(k.cut[b]=Math.min((k.cut[b]??0)+1,2));k.nextDone=f.listed.every(b=>a.has(b)||(k.cut[b]??0)>=2)}},r=async()=>{let c=await b.depsStep(Math.min(Date.now()+L.o,a.deadline),m?{marked:j,onlyMarked:!1,skip:k.repos}:{marked:j,onlyMarked:!0});for(let b of(c.problem&&a.errors.push(`security deps: ${c.problem}`),c.settled))p.depsDone.add(b);m&&(k.repos=X(k.repos,c.done),k.depsDone=c.complete)};try{k&&k.runs++,k?(o&&await r(),n&&await q()):(n&&await q(),o&&await r())}finally{let a=null;if(k)try{await b.writeSlot(k)}catch(b){a=b}try{let a=function(a,b){let c={},d=[];for(let[e,f]of Object.entries(a.pending)){let a={...f};b.hosting&&!a.next&&(b.nextDone?.has(e)?a.next=!0:b.nextStarted?.has(e)&&(a.attempts=Math.min(a.attempts+1,3))),b.devops&&!a.deps&&b.depsDone?.has(e)&&(a.deps=!0),c[e]=a,((a.next||!b.hosting)&&(a.deps||!b.devops)||a.attempts>=3)&&d.push(e)}return S({pending:c,checked:a.checked},d)}(f,p);JSON.stringify(a)!==JSON.stringify(e)&&await b.write(a)}catch(b){a??=b}if(a)throw a}return{complete:!k||(k.nextDone||!g)&&(k.depsDone||!h)||k.runs>=20}}async function aa(a,b,c=$){if(!a.length)return!1;let{state:d,changed:e}=function(a,b,c){let d={pending:{...a.pending},checked:{...a.checked}},e=!1;for(let a of b)(0,N.f)(a.appId)&&Q(a.deploymentId)&&d.checked[a.appId]!==a.deploymentId&&d.pending[a.appId]?.id!==a.deploymentId&&(d.pending[a.appId]={id:a.deploymentId,at:c.toISOString(),attempts:0},e=!0);return{state:d,changed:e}}(R(await c.read()),a,b);return e&&await c.write(d),e}var ab=a.i(46396),ac=a.i(492665),ad=a.i(519051),ae=a.i(572134),af=a.i(646324),ag=a.i(443002),ah=a.i(900477),ai=a.i(639271),aj=a.i(514670),ak=a.i(354448),al=a.i(584897),am=a.i(697365);async function an(a){let b=[await (0,ag.I)(()=>ap(a)),await (0,ag.I)(()=>ar(a)),await (0,ag.I)(()=>as(a))].find(a=>null!==a);if(b)throw b}let ao=a=>a.toISOString();async function ap(a){for(let{acc:b,credential:c}of(await (0,ag.O)("turso"))){if((0,ag.s)(a),!c){a.errors.push(`turso/${b.label}: credential can't be read`);continue}let d=await (0,ag.e)(b.id,"turso_database");if(!d.length)continue;let e=await (0,ak.u)(c,(0,ag.s)(a));if(!e.ok){await (0,ag.w)("turso",b,d,e,a);continue}let f=new Set(d.map(a=>String(a.r.meta.org??""))),g=[];for(let h of e.data.filter(a=>f.has(a.slug))){let[e,f]=await Promise.all([(0,ak.X)(c,h.slug,(0,ag.s)(a)),(0,ak.d)(c,h.slug,(0,ag.s)(a))]),i=d.filter(a=>a.r.meta.org===h.slug);if(!e.ok){for(let b of i)await (0,ag.a)(b,{state:"unknown",label:"Unknown",patch:{}},a.now);a.errors.push(`turso/${b.label}: ${e.error}`);continue}let j=new Map(e.data.map(a=>[a.id,a]));for(let b of i)g.push(await aq(b,j.get(b.r.externalId),h,f,a))}let h=new Set(e.data.map(a=>a.slug));for(let b of d.filter(a=>!h.has(String(a.r.meta.org??""))))g.push(await (0,ag.a)(b,{state:"off",label:"Organization not visible to this token",patch:{}},a.now));await (0,ag.M)(g)}}async function aq(a,b,c,d,e){if(!b)return(0,ag.a)(a,{state:"off",label:"Not found",patch:{}},e.now);let f=(0,ai.i)({blockReads:b.blockReads,blockWrites:b.blockWrites,orgBlockedReads:c.blockedReads,orgBlockedWrites:c.blockedWrites}),g={org:c.slug,group:b.group,primaryRegion:b.primaryRegion,plan:c.plan,blockReads:b.blockReads,blockWrites:b.blockWrites};if(d.ok){let a=d.data.byDb.get(b.id);Object.assign(g,{rowsRead:a?.rowsRead??null,rowsWritten:a?.rowsWritten??null,storageBytes:a?.storageBytes??null,orgRowsRead:d.data.org.rowsRead,orgRowsWritten:d.data.org.rowsWritten,orgStorageBytes:d.data.org.storageBytes,orgDatabases:d.data.org.databases,usageAt:ao(e.now),usageError:null})}else"column"===(0,ah.t)(d,!1)?g.usageError=d.error:e.errors.push(`turso/${a.r.name} usage: ${d.error}`);return(0,ag.a)(a,{...f,patch:g},e.now)}async function ar(a){for(let{acc:b,credential:c}of(await (0,ag.O)("upstash"))){(0,ag.s)(a);let d=c?(0,al.L)(c):null;if(!d){a.errors.push(`upstash/${b.label}: credential can't be read`);continue}let e=await (0,ag.e)(b.id,"upstash_redis");if(!e.length)continue;let f=await (0,al.M)(d,(0,ag.s)(a));if(!f.ok){await (0,ag.w)("upstash",b,e,f,a);continue}let g=new Map(f.data.map(a=>[a.id,a])),{out:h,skipped:i}=await (0,ag.T)(a,e,(a,b)=>g.has(a.r.externalId)?(0,al.Z)(d,a.r.externalId,b):Promise.resolve(null)),j=[];for(let[b,c]of e.entries()){let d=g.get(c.r.externalId);if(!d){j.push(await (0,ag.a)(c,{state:"off",label:"Not found",patch:{}},a.now));continue}let e=(0,ai.t)(d.state),f={region:d.region,status:d.state,type:d.type},i=h[b];i?.ok?Object.assign(f,{...i.data,statsAt:ao(a.now),statsError:null}):i&&"column"===(0,ah.t)(i,!1)?f.statsError=i.error:i&&a.errors.push(`upstash/${c.r.name} stats: ${i.error}`),j.push(await (0,ag.a)(c,{...e,patch:f},a.now))}await (0,ag.M)(j),(0,ag.W)(i)}}async function as(a){let b={};for(let{acc:c,credential:d}of(await (0,ag.O)("cloudflare"))){if((0,ag.s)(a),!d)continue;let e=await au(c.id,d,a);if(!e.length){b[c.id]={d1:"error",analytics:null,at:ao(a.now),note:"No Cloudflare account found for this token"};continue}let f="ok",g=null;for(let b of e){let e=await (0,aj.L)(d,b,(0,ag.s)(a));if(!e.ok){"error"==(f="scope"===e.kind||"auth"===e.kind?"missing":"error")&&a.errors.push(`d1/${c.label}: ${e.error}`);continue}await av(c.id,b,e.data,a.now);let h=(await (0,ag.e)(c.id,"d1_database")).filter(a=>a.r.meta.accountId===b);if(!h.length)continue;let i=await (0,aj.t)(d,b,(0,aj.Y)(a.now),(0,ag.s)(a));g=i.ok?g??"ok":"scope"===i.kind?"missing":g??"error",i.ok||"scope"===i.kind||a.errors.push(`d1/${c.label} analytics: ${i.error}`);let{out:j,skipped:k}=await (0,ag.T)(a,h,(a,c)=>(0,aj.m)(d,b,a.r.externalId,c)),l=new Map((i.ok?i.data:[]).map(a=>[a.databaseId,a])),m=j.map(a=>a?.ok?a.data.sizeBytes??0:0),n={accountRowsRead:i.ok?i.data.reduce((a,b)=>a+b.rowsRead,0):null,accountRowsWritten:i.ok?i.data.reduce((a,b)=>a+b.rowsWritten,0):null,accountSizeBytes:j.every(a=>a?.ok)?m.reduce((a,b)=>a+b,0):null,accountDatabases:e.data.length},o=[];for(let[b,c]of h.entries()){let d=j[b];void 0!==d&&o.push(await at(c,d,l.get(c.r.externalId)??null,i.ok,i.ok?null:i.error,n,a))}await (0,ag.M)(o),(0,ag.W)(k)}b[c.id]={d1:f,analytics:g,at:ao(a.now),note:null}}await (0,d.f)().insert(e.settings).values({key:am.F,value:b}).onConflictDoUpdate({target:e.settings.key,set:{value:b,updatedAt:a.now}})}async function at(a,b,c,d,e,f,g){let h={accountId:a.r.meta.accountId??null,createdAt:a.r.meta.createdAt??null,accountDatabases:f.accountDatabases};if(b.ok?Object.assign(h,{sizeBytes:b.data.sizeBytes,numTables:b.data.numTables,readReplication:b.data.readReplication,detailsAt:ao(g.now),detailsError:null}):"scope"===b.kind?h.detailsError=b.error:g.errors.push(`d1/${a.r.name}: ${b.error}`),d?Object.assign(h,{rowsRead:c?.rowsRead??0,rowsWritten:c?.rowsWritten??0,readQueries:c?.readQueries??0,writeQueries:c?.writeQueries??0,accountRowsRead:f.accountRowsRead,accountRowsWritten:f.accountRowsWritten,usageDay:(0,aj.Y)(g.now),usageAt:ao(g.now),usageError:null}):h.usageError=e,null!==f.accountSizeBytes&&(h.accountSizeBytes=f.accountSizeBytes),!b.ok&&"transient"===b.kind)return(0,ag.a)(a,{state:"unknown",label:"Unknown",patch:{}},g.now);let i=(0,ai.c)(d?f:{accountRowsRead:null,accountRowsWritten:null});return(0,ag.a)(a,{...i,patch:h},g.now)}async function au(a,c,f){let g=new Set,h=await (0,aj.N)(c,(0,ag.s)(f));if(h.ok)for(let a of h.data)g.add(a.id);for(let c of(await (0,d.f)().select({meta:e.resources.meta}).from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,"zone"),(0,b.M)(e.resources.goneAt))).limit(200)))"string"==typeof c.meta.accountId&&/^[0-9a-f]{32}$/i.test(c.meta.accountId)&&g.add(c.meta.accountId);return[...g].slice(0,5)}async function av(a,c,f,g){let h=(await (0,d.f)().select({id:e.resources.id,externalId:e.resources.externalId,meta:e.resources.meta,goneAt:e.resources.goneAt}).from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,"d1_database")))).filter(a=>a.meta.accountId===c),i=new Map(h.map(a=>[a.externalId,a])),j=new Set(f.map(a=>a.uuid));await (0,d.f)().transaction(async d=>{for(let h of f){let f={accountId:c,createdAt:h.createdAt},j=i.get(h.uuid);j?await d.update(e.resources).set({name:h.name,meta:f,lastSeenAt:g,goneAt:null,updatedAt:g}).where((0,b.u)(e.resources.id,j.id)):await d.insert(e.resources).values({accountId:a,kind:"d1_database",externalId:h.uuid,name:h.name,meta:f,monitored:!0,lastSeenAt:g}).onConflictDoNothing({target:[e.resources.accountId,e.resources.kind,e.resources.externalId]})}let k=h.filter(a=>!j.has(a.externalId)&&!a.goneAt).map(a=>a.id);k.length&&await d.update(e.resources).set({goneAt:g,updatedAt:g}).where((0,b.y)(e.resources.id,k))})}var aw=a.i(666680),ax=a.i(263251);async function ay(a=new Date){let b=(0,aw.randomUUID)(),e=new Date(a.getTime()+K.d).toISOString(),f=await (0,d.f)().execute(c.B`
1
+ module.exports=[270432,a=>{"use strict";var b=a.i(93321),c=a.i(351674),d=a.i(548734),e=a.i(837137),f=a.i(601219);let g="collector.cpuDay";async function h(a,c=new Date){try{var i;let h,j,k,l,m,n,[o]=await (0,d.f)().select({value:e.settings.value}).from(e.settings).where((0,b.u)(e.settings.key,g)).limit(1),{next:p,crossed:q}=(i=o?.value,h=c.toISOString().slice(0,10),k=(j=i&&"object"==typeof i?i:{}).day===h&&Number.isFinite(j.ms)&&Number.isFinite(j.runs)?{day:h,ms:j.ms,runs:j.runs,warned:!0===j.warned}:{day:h,ms:0,runs:0,warned:!1},l=Number.isFinite(a)&&a>0?Math.round(a):0,m={...k,ms:k.ms+l,runs:k.runs+1},(n=!k.warned&&m.ms>24e4)&&(m.warned=!0),{next:m,crossed:n});await (0,d.f)().insert(e.settings).values({key:g,value:p}).onConflictDoUpdate({target:e.settings.key,set:{value:p,updatedAt:c}}),q&&await (0,f.f)([{type:"system",kind:"warn",message:"Collector CPU high today",detail:`${Math.round(p.ms/1e3)} s in ${p.runs} runs, over 4 min (Vercel Hobby allows about 8 min a day). Check the cron-job.org schedule.`,resourceId:null,at:c}])}catch(a){console.warn("collector cpu count failed:",a instanceof Error?a.name:"error")}}var i=a.i(436357),j=a.i(109068),k=a.i(678831),l=a.i(45617),m=a.i(455317),n=a.i(383487),o=a.i(714530),p=a.i(358179),q=a.i(292321),r=a.i(49146),s=a.i(396667),t=a.i(751263);async function u(a,f,g=new Map){if(!a.length)return 0;let h=await (0,d.f)().select({app:e.deployments.resourceId,id:e.deployments.externalId,source:e.deployments.source,branch:e.deployments.branch,sha:e.deployments.commitSha}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,a.map(a=>a.id)),(0,b.u)(e.deployments.isCurrent,!0))),i=0;for(let j of a){let a,k=h.find(a=>a.app===j.id);if(!k)continue;let l=(0,t.O)(j.meta?.productionSource),m=g.get(k.id),n={source:k.source??null,branch:k.branch??null,sha:k.sha??null};if(!(a=m?(0,t.s)({...n,branchFrom:m.branchFrom??null,gitDirty:!0===m.gitDirty}):l?.id===k.id?{kind:l.kind,...l.ref?{ref:l.ref}:{},...l.sha?{sha:l.sha}:{}}:"git"===n.source||"cli"===n.source?(0,t.s)(n):null)){if(l?.at&&l.id!==k.id){let a={...l};delete a.at,await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({productionSource:a})}::jsonb`}).where((0,b.u)(e.resources.id,j.id)),i++}continue}a={...a,id:k.id};let o=!!l?.at&&f.getTime()-Date.parse(l.at)<t.u;if((0,t.v)(l,a)&&o)continue;let p={...a,at:f.toISOString()};await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({productionSource:p})}::jsonb`}).where((0,b.u)(e.resources.id,j.id)),i++}return i}var v=a.i(33135),w=a.i(669943),x=a.i(26972),y=a.i(811365),z=a.i(689963),A=a.i(191179),B=a.i(427221),C=a.i(530174);let D=/not enabled/i,E=(a,b,c={})=>({ok:!1,kind:a,error:b,...c}),F="Vercel Web Analytics answered in a format the console doesn't recognise.",G=x.z.object({data:x.z.object({pageviews:y.z.number().finite().nonnegative(),visitors:y.z.number().finite().nonnegative()})}),H=x.z.object({data:z.z.array(A.z.unknown())}),I=x.z.object({timestamp:B.z.string().transform((a,b)=>{let c=Date.parse(a);return Number.isNaN(c)?(b.addIssue({code:"custom",message:"bad timestamp"}),C.z.NEVER):c}),pageviews:y.z.number().finite().nonnegative().nullish().catch(null)});async function J(a,b,c,d){let e=d.since.toISOString(),f=d.until.toISOString(),g=d.fetch??fetch,h=new AbortController,i=setTimeout(()=>h.abort(new DOMException("window","TimeoutError")),d.timeoutMs??8e3),j=d.signal?AbortSignal.any([h.signal,d.signal]):h.signal,k=(0,v.X)(j);async function l(i,l){let m=new URLSearchParams({projectId:c,teamId:b,...l,since:e,until:f});try{let b=await Promise.race([g(`https://api.vercel.com/v1/query/web-analytics/visits/${i}?${m}`,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"},signal:j,cache:"no-store"}),k]),c=null,d=!1;if(401===b.status||403===b.status)c=E("auth",`Vercel rejected this credential (${b.status}).`,{status:b.status});else if(429===b.status){let a=Number(b.headers.get("Retry-After"));c=E("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(a)&&a>0?a:60})}else if(400===b.status){let a=await Promise.race([b.text(),k]).catch(()=>"");D.test(a)?d=!0:c=E("transient","Vercel Web Analytics rejected the request (400).",{status:400})}else b.ok||(c=E("transient",`Vercel Web Analytics returned an error (${b.status}).`,{status:b.status}));if(d)return{kind:"off"};if(c)return await b.body?.cancel().catch(()=>void 0),{kind:"fail",fail:c};try{return{kind:"body",body:await Promise.race([b.json(),k])}}catch(a){if(j.aborted)throw a;return{kind:"fail",fail:E("format",F)}}}catch{return{kind:"fail",fail:j.aborted?h.signal.aborted&&!d.signal?.aborted?E("transient","Vercel Web Analytics didn't answer in time."):E("transient","Reading Vercel Web Analytics was cancelled."):E("transient","Couldn't reach Vercel Web Analytics.")}}}try{let[a,b]=await Promise.all([l("count",{}),l("aggregate",{by:"hour"})]);if("off"===a.kind||"off"===b.kind)return{ok:!0,enabled:!1};let c=[a,b].flatMap(a=>"fail"===a.kind?[a.fail]:[]),d=c.find(a=>"auth"===a.kind);if(d)return d;let e="body"===b.kind?H.safeParse(b.body):null,f="fail"===b.kind?b.fail:e?.success?null:E("format",F),g=c.find(a=>"transient"===a.kind);if(g)return g;if(f)return f;if(!e?.success)return E("format",F);let h="body"===a.kind?G.safeParse(a.body):null,i=e.data.data.flatMap(a=>{let b=I.safeParse(a);return b.success?[b.data]:[]});if(i.length>0&&i.every(a=>null==a.pageviews))return E("format",F);let j=new Map;for(let a of i){let b=36e5*Math.floor(a.timestamp/36e5);j.set(b,(j.get(b)??0)+(a.pageviews??0))}let k=[...j].sort((a,b)=>a[0]-b[0]).slice(-24).map(([a,b])=>({at:new Date(a),views:b}));if(h?.success)return{ok:!0,enabled:!0,total:h.data.data.pageviews,visitors:h.data.data.visitors,hourly:k};return{ok:!0,enabled:!0,total:k.reduce((a,b)=>a+b.views,0),visitors:null,hourly:k}}finally{clearTimeout(i),h.abort()}}var K=a.i(631107);async function L(a,b,c){let d=await (0,q.g)(null);if(!d.length)return;let e=new Date(36e5*Math.floor(a.getTime()/36e5)-828e5);await (0,v.P)(d,3,async d=>{if(Date.now()+8500>b)return;let f=await J(d.token,d.teamId,d.projectId,{since:e,until:a});if(!f.ok)return void c.push(`pageviews/${d.appName}: ${f.error}`);try{await (0,w.r)(d.appId,{pageviews:(0,K.a)(f,a)},a)}catch{c.push(`pageviews/${d.appName}: couldn't save the page views`)}})}var M=a.i(634418),N=a.i(930270),O=a.i(242605),P=a.i(683439);let Q="security.afterDeploy",R=a=>"object"==typeof a&&null!==a&&!Array.isArray(a),S=a=>"string"==typeof a&&a.length>0&&a.length<=100;function T(a){let b={pending:{},checked:{}};if(!R(a))return b;if(R(a.pending))for(let[c,d]of Object.entries(a.pending)){if(!(0,P.f)(c)||!R(d)||!S(d.id)||"string"!=typeof d.at||Number.isNaN(Date.parse(d.at)))continue;let a="number"==typeof d.attempts&&Number.isInteger(d.attempts)&&d.attempts>=0?Math.min(d.attempts,3):0;b.pending[c]={id:d.id,at:d.at,attempts:a,...!0===d.next?{next:!0}:{},...!0===d.deps?{deps:!0}:{}}}if(R(a.checked))for(let[c,d]of Object.entries(a.checked))(0,P.f)(c)&&S(d)&&(b.checked[c]=d);return b}function U(a,b){let c,d={...a.pending},e={...a.checked};for(let a of b){let b=d[a];b&&(delete d[a],delete e[a],e[a]=b.id)}return{pending:d,checked:(c=Object.entries(e)).length<=500?e:Object.fromEntries(c.slice(c.length-500))}}let V=(a,b)=>Object.entries(a.pending).filter(([,a])=>!a[b]).map(([a])=>a);var W=a.i(46126);let X="security.slot",Y=a=>Array.isArray(a)?a.filter(a=>"string"==typeof a&&a.length>0&&a.length<=100).slice(0,1e3):[],Z=(a,b)=>[...new Set([...a,...b])].slice(0,1e3),$=a=>async()=>{let[c]=await (0,d.f)().select({value:e.settings.value}).from(e.settings).where((0,b.u)(e.settings.key,a)).limit(1);return c?.value??null},_=a=>async b=>{await (0,d.f)().insert(e.settings).values({key:a,value:b}).onConflictDoUpdate({target:e.settings.key,set:{value:b,updatedAt:new Date}})},aa={read:$(Q),write:_(Q),readSlot:$(X),writeSlot:_(X),nextCheck:O.h,depsStep:(a,b)=>(0,N.O)(a,b)};async function ab(a,b=aa){var c;let d,e=T(await b.read()),f=(c=a.now,(d=Object.entries(e.pending).filter(([,a])=>c.getTime()-Date.parse(a.at)>216e5).map(([a])=>a)).length?U(e,d):e),g=!a.paused.has("hosting"),h=!a.paused.has("devops"),i=g?V(f,"next"):[],j=h?V(f,"deps"):[],k=a.early?null:function(a,b){let c=a&&"object"==typeof a&&!Array.isArray(a)?a:{};if(c.slot!==b)return{slot:b,runs:0,next:[],repos:[],cut:{},nextDone:!1,depsDone:!1};let d="number"==typeof c.runs&&Number.isInteger(c.runs)&&c.runs>=0?c.runs:0,e={};if(c.cut&&"object"==typeof c.cut&&!Array.isArray(c.cut))for(let[a,b]of Object.entries(c.cut).slice(0,1e3))a.length<=100&&"number"==typeof b&&Number.isInteger(b)&&b>0&&(e[a]=Math.min(b,2));return{slot:b,runs:d,next:Y(c.next),repos:Y(c.repos),cut:e,nextDone:!0===c.nextDone,depsDone:!0===c.depsDone}}(await b.readSlot(),new Date((0,M.G)("security",a.now)).toISOString()),l=!!k&&g&&!k.nextDone,m=!!k&&h&&!k.depsDone,n=g&&(i.length>0||l),o=h&&(j.length>0||m),p={hosting:g,devops:h,nextDone:new Set,nextStarted:new Set,depsDone:new Set},q=async()=>{let c=Math.min(Date.now()+W.y,!k&&o?a.deadline-2*N.d:a.deadline),d=l?[...k.next,...Object.entries(k.cut).filter(([,a])=>a>=2).map(([a])=>a)]:[],e=l?{first:i,skip:[...new Set(d)].filter(a=>!i.includes(a))}:{only:i},f=await b.nextCheck(c,e);for(let b of f.failed)a.errors.push(`security ${b}`);for(let a of f.done)p.nextDone.add(a);for(let a of i)f.listed.includes(a)||p.nextDone.add(a);for(let a of f.started)p.nextStarted.add(a);if(l){let a=new Set(f.done);for(let b of(k.next=Z(k.next,f.done),f.started))a.has(b)||(k.cut[b]=Math.min((k.cut[b]??0)+1,2));k.nextDone=f.listed.every(b=>a.has(b)||(k.cut[b]??0)>=2)}},r=async()=>{let c=await b.depsStep(Math.min(Date.now()+N.o,a.deadline),m?{marked:j,onlyMarked:!1,skip:k.repos}:{marked:j,onlyMarked:!0});for(let b of(c.problem&&a.errors.push(`security deps: ${c.problem}`),c.settled))p.depsDone.add(b);m&&(k.repos=Z(k.repos,c.done),k.depsDone=c.complete)};try{k&&k.runs++,k?(o&&await r(),n&&await q()):(n&&await q(),o&&await r())}finally{let a=null;if(k)try{await b.writeSlot(k)}catch(b){a=b}try{let a=function(a,b){let c={},d=[];for(let[e,f]of Object.entries(a.pending)){let a={...f};b.hosting&&!a.next&&(b.nextDone?.has(e)?a.next=!0:b.nextStarted?.has(e)&&(a.attempts=Math.min(a.attempts+1,3))),b.devops&&!a.deps&&b.depsDone?.has(e)&&(a.deps=!0),c[e]=a,((a.next||!b.hosting)&&(a.deps||!b.devops)||a.attempts>=3)&&d.push(e)}return U({pending:c,checked:a.checked},d)}(f,p);JSON.stringify(a)!==JSON.stringify(e)&&await b.write(a)}catch(b){a??=b}if(a)throw a}return{complete:!k||(k.nextDone||!g)&&(k.depsDone||!h)||k.runs>=20}}async function ac(a,b,c=aa){if(!a.length)return!1;let{state:d,changed:e}=function(a,b,c){let d={pending:{...a.pending},checked:{...a.checked}},e=!1;for(let a of b)(0,P.f)(a.appId)&&S(a.deploymentId)&&d.checked[a.appId]!==a.deploymentId&&d.pending[a.appId]?.id!==a.deploymentId&&(d.pending[a.appId]={id:a.deploymentId,at:c.toISOString(),attempts:0},e=!0);return{state:d,changed:e}}(T(await c.read()),a,b);return e&&await c.write(d),e}var ad=a.i(46396),ae=a.i(492665),af=a.i(519051),ag=a.i(572134),ah=a.i(646324),ai=a.i(443002),aj=a.i(900477),ak=a.i(639271),al=a.i(514670),am=a.i(354448),an=a.i(584897),ao=a.i(697365);async function ap(a){let b=[await (0,ai.I)(()=>ar(a)),await (0,ai.I)(()=>at(a)),await (0,ai.I)(()=>au(a))].find(a=>null!==a);if(b)throw b}let aq=a=>a.toISOString();async function ar(a){for(let{acc:b,credential:c}of(await (0,ai.O)("turso"))){if((0,ai.s)(a),!c){a.errors.push(`turso/${b.label}: credential can't be read`);continue}let d=await (0,ai.e)(b.id,"turso_database");if(!d.length)continue;let e=await (0,am.u)(c,(0,ai.s)(a));if(!e.ok){await (0,ai.w)("turso",b,d,e,a);continue}let f=new Set(d.map(a=>String(a.r.meta.org??""))),g=[];for(let h of e.data.filter(a=>f.has(a.slug))){let[e,f]=await Promise.all([(0,am.X)(c,h.slug,(0,ai.s)(a)),(0,am.d)(c,h.slug,(0,ai.s)(a))]),i=d.filter(a=>a.r.meta.org===h.slug);if(!e.ok){for(let b of i)await (0,ai.a)(b,{state:"unknown",label:"Unknown",patch:{}},a.now);a.errors.push(`turso/${b.label}: ${e.error}`);continue}let j=new Map(e.data.map(a=>[a.id,a]));for(let b of i)g.push(await as(b,j.get(b.r.externalId),h,f,a))}let h=new Set(e.data.map(a=>a.slug));for(let b of d.filter(a=>!h.has(String(a.r.meta.org??""))))g.push(await (0,ai.a)(b,{state:"off",label:"Organization not visible to this token",patch:{}},a.now));await (0,ai.M)(g)}}async function as(a,b,c,d,e){if(!b)return(0,ai.a)(a,{state:"off",label:"Not found",patch:{}},e.now);let f=(0,ak.i)({blockReads:b.blockReads,blockWrites:b.blockWrites,orgBlockedReads:c.blockedReads,orgBlockedWrites:c.blockedWrites}),g={org:c.slug,group:b.group,primaryRegion:b.primaryRegion,plan:c.plan,blockReads:b.blockReads,blockWrites:b.blockWrites};if(d.ok){let a=d.data.byDb.get(b.id);Object.assign(g,{rowsRead:a?.rowsRead??null,rowsWritten:a?.rowsWritten??null,storageBytes:a?.storageBytes??null,orgRowsRead:d.data.org.rowsRead,orgRowsWritten:d.data.org.rowsWritten,orgStorageBytes:d.data.org.storageBytes,orgDatabases:d.data.org.databases,usageAt:aq(e.now),usageError:null})}else"column"===(0,aj.t)(d,!1)?g.usageError=d.error:e.errors.push(`turso/${a.r.name} usage: ${d.error}`);return(0,ai.a)(a,{...f,patch:g},e.now)}async function at(a){for(let{acc:b,credential:c}of(await (0,ai.O)("upstash"))){(0,ai.s)(a);let d=c?(0,an.L)(c):null;if(!d){a.errors.push(`upstash/${b.label}: credential can't be read`);continue}let e=await (0,ai.e)(b.id,"upstash_redis");if(!e.length)continue;let f=await (0,an.M)(d,(0,ai.s)(a));if(!f.ok){await (0,ai.w)("upstash",b,e,f,a);continue}let g=new Map(f.data.map(a=>[a.id,a])),{out:h,skipped:i}=await (0,ai.T)(a,e,(a,b)=>g.has(a.r.externalId)?(0,an.Z)(d,a.r.externalId,b):Promise.resolve(null)),j=[];for(let[b,c]of e.entries()){let d=g.get(c.r.externalId);if(!d){j.push(await (0,ai.a)(c,{state:"off",label:"Not found",patch:{}},a.now));continue}let e=(0,ak.t)(d.state),f={region:d.region,status:d.state,type:d.type},i=h[b];i?.ok?Object.assign(f,{...i.data,statsAt:aq(a.now),statsError:null}):i&&"column"===(0,aj.t)(i,!1)?f.statsError=i.error:i&&a.errors.push(`upstash/${c.r.name} stats: ${i.error}`),j.push(await (0,ai.a)(c,{...e,patch:f},a.now))}await (0,ai.M)(j),(0,ai.W)(i)}}async function au(a){let b={};for(let{acc:c,credential:d}of(await (0,ai.O)("cloudflare"))){if((0,ai.s)(a),!d)continue;let e=await aw(c.id,d,a);if(!e.length){b[c.id]={d1:"error",analytics:null,at:aq(a.now),note:"No Cloudflare account found for this token"};continue}let f="ok",g=null;for(let b of e){let e=await (0,al.L)(d,b,(0,ai.s)(a));if(!e.ok){"error"==(f="scope"===e.kind||"auth"===e.kind?"missing":"error")&&a.errors.push(`d1/${c.label}: ${e.error}`);continue}await ax(c.id,b,e.data,a.now);let h=(await (0,ai.e)(c.id,"d1_database")).filter(a=>a.r.meta.accountId===b);if(!h.length)continue;let i=await (0,al.t)(d,b,(0,al.Y)(a.now),(0,ai.s)(a));g=i.ok?g??"ok":"scope"===i.kind?"missing":g??"error",i.ok||"scope"===i.kind||a.errors.push(`d1/${c.label} analytics: ${i.error}`);let{out:j,skipped:k}=await (0,ai.T)(a,h,(a,c)=>(0,al.m)(d,b,a.r.externalId,c)),l=new Map((i.ok?i.data:[]).map(a=>[a.databaseId,a])),m=j.map(a=>a?.ok?a.data.sizeBytes??0:0),n={accountRowsRead:i.ok?i.data.reduce((a,b)=>a+b.rowsRead,0):null,accountRowsWritten:i.ok?i.data.reduce((a,b)=>a+b.rowsWritten,0):null,accountSizeBytes:j.every(a=>a?.ok)?m.reduce((a,b)=>a+b,0):null,accountDatabases:e.data.length},o=[];for(let[b,c]of h.entries()){let d=j[b];void 0!==d&&o.push(await av(c,d,l.get(c.r.externalId)??null,i.ok,i.ok?null:i.error,n,a))}await (0,ai.M)(o),(0,ai.W)(k)}b[c.id]={d1:f,analytics:g,at:aq(a.now),note:null}}await (0,d.f)().insert(e.settings).values({key:ao.F,value:b}).onConflictDoUpdate({target:e.settings.key,set:{value:b,updatedAt:a.now}})}async function av(a,b,c,d,e,f,g){let h={accountId:a.r.meta.accountId??null,createdAt:a.r.meta.createdAt??null,accountDatabases:f.accountDatabases};if(b.ok?Object.assign(h,{sizeBytes:b.data.sizeBytes,numTables:b.data.numTables,readReplication:b.data.readReplication,detailsAt:aq(g.now),detailsError:null}):"scope"===b.kind?h.detailsError=b.error:g.errors.push(`d1/${a.r.name}: ${b.error}`),d?Object.assign(h,{rowsRead:c?.rowsRead??0,rowsWritten:c?.rowsWritten??0,readQueries:c?.readQueries??0,writeQueries:c?.writeQueries??0,accountRowsRead:f.accountRowsRead,accountRowsWritten:f.accountRowsWritten,usageDay:(0,al.Y)(g.now),usageAt:aq(g.now),usageError:null}):h.usageError=e,null!==f.accountSizeBytes&&(h.accountSizeBytes=f.accountSizeBytes),!b.ok&&"transient"===b.kind)return(0,ai.a)(a,{state:"unknown",label:"Unknown",patch:{}},g.now);let i=(0,ak.c)(d?f:{accountRowsRead:null,accountRowsWritten:null});return(0,ai.a)(a,{...i,patch:h},g.now)}async function aw(a,c,f){let g=new Set,h=await (0,al.N)(c,(0,ai.s)(f));if(h.ok)for(let a of h.data)g.add(a.id);for(let c of(await (0,d.f)().select({meta:e.resources.meta}).from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,"zone"),(0,b.M)(e.resources.goneAt))).limit(200)))"string"==typeof c.meta.accountId&&/^[0-9a-f]{32}$/i.test(c.meta.accountId)&&g.add(c.meta.accountId);return[...g].slice(0,5)}async function ax(a,c,f,g){let h=(await (0,d.f)().select({id:e.resources.id,externalId:e.resources.externalId,meta:e.resources.meta,goneAt:e.resources.goneAt}).from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,"d1_database")))).filter(a=>a.meta.accountId===c),i=new Map(h.map(a=>[a.externalId,a])),j=new Set(f.map(a=>a.uuid));await (0,d.f)().transaction(async d=>{for(let h of f){let f={accountId:c,createdAt:h.createdAt},j=i.get(h.uuid);j?await d.update(e.resources).set({name:h.name,meta:f,lastSeenAt:g,goneAt:null,updatedAt:g}).where((0,b.u)(e.resources.id,j.id)):await d.insert(e.resources).values({accountId:a,kind:"d1_database",externalId:h.uuid,name:h.name,meta:f,monitored:!0,lastSeenAt:g}).onConflictDoNothing({target:[e.resources.accountId,e.resources.kind,e.resources.externalId]})}let k=h.filter(a=>!j.has(a.externalId)&&!a.goneAt).map(a=>a.id);k.length&&await d.update(e.resources).set({goneAt:g,updatedAt:g}).where((0,b.y)(e.resources.id,k))})}var ay=a.i(666680),az=a.i(263251);async function aA(a=new Date){let b=(0,ay.randomUUID)(),e=new Date(a.getTime()+M.d).toISOString(),f=await (0,d.f)().execute(c.B`
2
2
  insert into ops.settings (key, value) values ('collector.lease', ${JSON.stringify({until:e,owner:b})}::jsonb)
3
3
  on conflict (key) do update set value = excluded.value, updated_at = now()
4
4
  where (ops.settings.value->>'until')::timestamptz < ${a.toISOString()}::timestamptz
5
- returning key`);return(0,ax.f)(f).length>0?b:null}async function az(a){await (0,d.f)().execute(c.B`
5
+ returning key`);return(0,az.f)(f).length>0?b:null}async function aB(a){await (0,d.f)().execute(c.B`
6
6
  update ops.settings set value = jsonb_build_object('until', '1970-01-01T00:00:00Z'), updated_at = now()
7
- where key = 'collector.lease' and value->>'owner' = ${a}`)}var aA=a.i(418864),aB=a.i(50908),aC=a.i(288950),aD=a.i(903816),aE=a.i(445710),aF=a.i(306556),aG=a.i(648338);a.i(569057);let aH="collector.lastRun",aI="vercel.backoffUntil",aJ="vercel.currentMiss",aK={supabase:ag.P,supabaseUsage:ag.y,neon:ag.f,firebase:ag.g,firebaseUsage:ag.x,extraDbs:an};async function aL(){let a=await (0,d.f)().select({key:e.settings.key,value:e.settings.value}).from(e.settings).where((0,b.y)(e.settings.key,[aH,O])).limit(2);return{lastRun:a.find(a=>a.key===aH)?.value??{},afterDeploy:a.find(a=>a.key===O)?.value??null}}async function aM(a){await (0,d.f)().insert(e.settings).values({key:aH,value:a}).onConflictDoUpdate({target:e.settings.key,set:{value:a,updatedAt:new Date}})}let aN=a=>(0,m.f)(a);async function aO(a,f,g,h,i=[]){let j=(await (0,d.f)().select({m:e.monitors,app:e.resources}).from(e.monitors).innerJoin(e.resources,(0,b.u)(e.resources.id,e.monitors.resourceId)).where((0,b.b)((0,b.u)(e.monitors.kind,"http"),(0,b.u)(e.monitors.paused,!1),(0,b.u)(e.monitors.ownerPaused,!1),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt))).orderBy(c.B`${e.monitors.lastCheckedAt} asc nulls first`,e.monitors.id)).filter(({m:b})=>(0,K.B)(b.lastCheckedAt,a,h));if(!j.length)return 0;let k=await (0,t.P)(j,6,({m:a})=>{let b=(0,K.P)(a.timeoutMs,f,Date.now());return null===b?Promise.resolve(null):(0,t.b)(a.url,{expectedStatus:a.expectedStatus,timeoutMs:b,body:(0,aD.C)(a)})}),l=j.flatMap((a,b)=>k[b]?[{...a,r:k[b]}]:[]);if(l.length<j.length&&g.push(`checks: ${j.length-l.length} monitors skipped, time budget used`),!l.length)return 0;let m=[];for(let b of l)await (0,aE.j)(b.m,b.r,a)&&m.push(b);return m.length?(await (0,d.f)().insert(e.checks).values(m.map(({m:b,app:c,r:d})=>({monitorId:b.id,at:a,ok:d.ok,statusCode:d.statusCode,latencyMs:d.latencyMs,error:d.error,inMaintenance:null!==(0,ad.x)(i,{monitorId:b.id,appId:c.id},a)}))),await aN(m.map(({m:b,app:c,r:d})=>(0,aF.F)({resourceId:c.id,path:(0,af.K)(b.url),prev:b.state,next:(0,aF.G)(b.failStreak,d).state,code:d.statusCode,error:d.error,at:a}))),m.length):0}let aP=["checks","heartbeats"];async function aQ(a,b,c=l.w){if(!aP.some(b=>a.includes(b)))return[];try{return await c()}catch(a){return b.push(`maintenance: ${(0,aG.f)(a)}`),[]}}async function aR(a){let[c]=await (0,d.f)().select().from(e.settings).where((0,b.u)(e.settings.key,aI)).limit(1),f=c?.value?.until;return!!f&&a.getTime()<new Date(f).getTime()}async function aS(a,b){if("transient"!==a.kind||!a.retryAfterS)return!1;let c={until:new Date(b.getTime()+1e3*Math.min(a.retryAfterS,3600)).toISOString()};return await (0,d.f)().insert(e.settings).values({key:aI,value:c}).onConflictDoUpdate({target:e.settings.key,set:{value:c,updatedAt:b}}),!0}let aT=a=>c.B`coalesce(${e.deployments.externalId} = ${a}::text, false)`;async function aU(a,f,g,h,i=aa){let j=[];try{for(let i of a){let a=f.filter(a=>a.resourceId===i.id),{currentId:k,previousId:l}=(0,af.a)(a.map(a=>({id:a.id,createdAt:a.createdAt??new Date(0)})),(i.externalId?g.get(i.externalId):null)??null),m=await (0,d.f)().update(e.deployments).set({isCurrent:aT(k),isPreviousProduction:aT(l),updatedAt:h.now}).where((0,b.b)((0,b.u)(e.deployments.resourceId,i.id),(0,b.F)(c.B`${e.deployments.isCurrent} is distinct from ${aT(k)}`,c.B`${e.deployments.isPreviousProduction} is distinct from ${aT(l)}`))).returning({id:e.deployments.externalId}),n=function(a){var b,c;let d=a.currentId;return d&&a.state.checked[a.appId]!==d&&a.state.pending[a.appId]?.id!==d&&(b=a.changedIds,((c=d)&&b.includes(c)?c:null)||a.createdAt&&a.now.getTime()-a.createdAt.getTime()<=216e5)?d:null}({appId:i.id,currentId:k,changedIds:m.map(a=>a.id),createdAt:a.find(a=>a.id===k)?.createdAt??null,state:h.afterDeploy,now:h.now});n&&j.push({appId:i.id,deploymentId:n})}}finally{if(j.length)try{await i(j,h.now)}catch(a){h.errors.push(`vercel/${h.label}: after-deploy security check not scheduled: ${(0,aG.f)(a)}`)}}}let aV=a=>new Map(a.map(a=>[a.id,{...a.branchFrom?{branchFrom:a.branchFrom}:{},...a.gitDirty?{gitDirty:!0}:{}}]));async function aW(a,b,c,d,e=new Map,f=s){try{await f(a,b,e)}catch(a){c.push(`vercel/${d}: production source not saved: ${(0,aG.f)(a)}`)}}async function aX(a,c,f,h){if(await aR(a))return;let i=(0,ac.f)().OPS_ENCRYPTION_KEY;for(let j of(await (0,d.f)().select().from(e.accounts).where((0,b.b)((0,b.u)(e.accounts.provider,"vercel"),(0,b.u)(e.accounts.status,"ok"))))){let k=(0,n.V)({ciphertext:j.credentialCiphertext,iv:j.credentialIv},i);if((0,g.A)(k)||!k){f.push(`vercel/${j.label}: credential can't be read`);continue}let l=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,j.id),(0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)));if(!l.length)continue;let m=new Map(l.map(a=>[a.externalId,a])),o=await (0,ae.X)(k);if(!o.ok){let c=(0,g.E)({ok:!1,kind:o.kind,error:o.error});if(c&&await (0,d.f)().update(e.accounts).set({...c,updatedAt:a}).where((0,b.u)(e.accounts.id,j.id)),f.push(`vercel/${j.label}: ${o.error}`),await aS(o,a))return;continue}let p=new Set(l.map(a=>String(a.meta.teamId)));for(let g of o.data.filter(a=>p.has(a.id))){if(Date.now()>c)return void f.push("vercel: skipped remaining teams, time budget used");let[i,j]=await Promise.all([(0,ae.W)(k,g),(0,ae.K)(k,g,{since:a.getTime()-6048e5,limit:100})]);if(!i.ok||!j.ok){let b=i.ok?j:i;if(f.push(`vercel/${g.name}: ${b.error}`),await aS(b,a))return;continue}let n=new Map(i.data.map(a=>[a.id,a.currentDeploymentId])),o=j.data.filter(a=>m.has(a.projectId)),p=aV(o),q=new Map((o.length?await (0,d.f)().select({externalId:e.deployments.externalId,state:e.deployments.state,target:e.deployments.target,branch:e.deployments.branch,commitSha:e.deployments.commitSha,commitMessage:e.deployments.commitMessage,source:e.deployments.source,url:e.deployments.url,buildingAt:e.deployments.buildingAt,readyAt:e.deployments.readyAt}).from(e.deployments).where((0,b.y)(e.deployments.externalId,o.map(a=>a.id))):[]).map(a=>[a.externalId,a])),r=[];for(let b of o){let c=m.get(b.projectId),f=q.get(b.id),g={state:b.state,target:b.target,branch:b.branch,commitSha:b.sha,commitMessage:b.message,source:b.source,url:b.url,buildingAt:b.buildingAt,readyAt:b.readyAt};if((0,af.E)(f,g)){let f={resourceId:c.id,externalId:b.id,...g,createdAtProvider:b.createdAt,updatedAt:a};await (0,d.f)().insert(e.deployments).values(f).onConflictDoUpdate({target:e.deployments.externalId,set:f})}r.push((0,aF.L)(f?.state,b,c.id,a))}await aN(r);let s=l.filter(a=>String(a.meta.teamId)===g.id),t=await (0,d.f)().select({resourceId:e.deployments.resourceId,id:e.deployments.externalId,createdAt:e.deployments.createdAtProvider}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,s.map(a=>a.id)),(0,b.u)(e.deployments.target,"production"),(0,b.u)(e.deployments.state,"ready"))),[u]=await (0,d.f)().select().from(e.settings).where((0,b.u)(e.settings.key,aJ)).limit(1),v=[],w=()=>v.length?(0,d.f)().insert(e.settings).values({key:aJ,value:(0,af.Y)(u?.value,v,a)}).onConflictDoUpdate({target:e.settings.key,set:{value:(0,af.Y)(u?.value,v,a),updatedAt:a}}):Promise.resolve();for(let b of(0,af.Q)(s,n,t,(0,af.S)(u?.value,a))){if(Date.now()>c)break;let h=await (0,ae.S)(k,g,b.deploymentId);if(!h.ok){if(f.push(`vercel/${g.name}: current deployment: ${h.error}`),await aS(h,a))return void await w();v.push(b.deploymentId);continue}let i=h.data;for(let[a,b]of aV([i]))p.set(a,b);let j={resourceId:b.appId,externalId:i.id,state:i.state,target:i.target,branch:i.branch,commitSha:i.sha,commitMessage:i.message,source:i.source,url:i.url,buildingAt:i.buildingAt,readyAt:i.readyAt,createdAtProvider:i.createdAt,updatedAt:a};await (0,d.f)().insert(e.deployments).values(j).onConflictDoUpdate({target:e.deployments.externalId,set:j}),"ready"===i.state&&"production"===i.target?t.push({resourceId:b.appId,id:i.id,createdAt:i.createdAt}):v.push(b.deploymentId)}await w(),await aU(s,t,n,{now:a,afterDeploy:h,errors:f,label:g.name}),await aW(s,a,f,g.name,p)}}}async function aY(a){let g=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)));if(!g.length)return;let h=await (0,d.f)().select().from(e.monitors).where((0,b.b)((0,b.y)(e.monitors.resourceId,g.map(a=>a.id)),(0,b.u)(e.monitors.paused,!1),(0,b.u)(e.monitors.ownerPaused,!1))),i=new Set((await (0,d.f)().select({r:e.deployments.resourceId}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,g.map(a=>a.id)),(0,b.u)(e.deployments.target,"production"),(0,b.u)(e.deployments.state,"building"),(0,b.B)(e.deployments.createdAtProvider,new Date(a.getTime()-36e5))))).map(a=>a.r)),j=await (0,ag.q)(g.map(a=>a.id)),k=new Map((await (0,d.f)().select().from(e.snapshots).where((0,b.y)(e.snapshots.resourceId,g.map(a=>a.id)))).map(a=>[a.resourceId,a])),l=new Map(g.map(a=>[a.id,a])),m=(0,f.P)(h.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.resourceId,appName:l.get(a.resourceId)?.name??"",appMeta:l.get(a.resourceId)?.meta,lastError:a.lastError})),g),n=a=>m.has(a.id)&&"err"===a.state?"warn":a.state;for(let[a,i]of(0,f.R)(h.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.resourceId,appName:l.get(a.resourceId)?.name??"",appMeta:l.get(a.resourceId)?.meta,lastError:a.lastError})),g))await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({pastDomains:i})}::jsonb`}).where((0,b.u)(e.resources.id,a));for(let b of g){let f=h.filter(a=>a.resourceId===b.id),g=(0,aF.V)({monitors:f.map(n),building:i.has(b.id),dbPaused:j.has(b.id)}),l=f.find(a=>"err"===a.state)??f.find(a=>"warn"===a.state),m={code:l?.lastStatus??null,latencyMs:f.find(a=>"heartbeat"!==a.kind)?.lastLatencyMs??null,dbPaused:j.has(b.id)},o=k.get(b.id);await (0,d.f)().insert(e.snapshots).values({resourceId:b.id,state:g,data:m,collectedAt:a,stateSince:a}).onConflictDoUpdate({target:e.snapshots.resourceId,set:{state:g,data:c.B`${e.snapshots.data} || ${JSON.stringify(m)}::jsonb`,collectedAt:a,...o?.state!==g?{stateSince:a}:{}}})}}async function aZ(a,b={}){let c={writeLastRun:aM,refreshApps:aY,refreshNetwork:aA.x,invalidate:h.D,...b};try{await c.writeLastRun({...a.lastRun,...Object.fromEntries(a.done.map(b=>[b,a.started.toISOString()]))});try{await c.refreshApps(new Date)}catch(b){a.errors.push(`app-snapshots: ${(0,aG.f)(b)}`)}if(a.done.some(a=>aA.p.includes(a)))try{await c.refreshNetwork(new Date)}catch(b){a.errors.push(`network-states: ${(0,aG.f)(b)}`)}}finally{c.invalidate((0,i.o)(a.tried??a.done))}}async function a$(a,b,c,d={evaluate:j.$,deliver:p.q,digest:p.J}){let e=[];if(a.includes("alerts"))if(Date.now()>b)c.push("alerts: skipped, time budget used");else{let a=!0;try{await d.evaluate(new Date),console.info("collector alerts evaluated")}catch(b){a=!1,c.push(`alerts: ${(0,aG.f)(b)}`)}try{await d.deliver(new Date,b),console.info("collector notifications delivered")}catch(b){a=!1,c.push(`notify: ${(0,aG.f)(b)}`)}a&&e.push("alerts")}if(a.includes("digest")&&(0,K.z)("digest",b,Date.now()))try{await d.digest(new Date),console.info("collector digest done"),e.push("digest")}catch(a){c.push(`digest: ${(0,aG.f)(a)}`)}return e}async function a_(a,b,c,d){let e=[],f=[];for(let g of a){if(Date.now()>b){c.push(`${g}: skipped, time budget used`);continue}if((0,K.z)(g,b,Date.now())){f.push(g);try{await d(g),e.push(g)}catch(a){c.push(`${g}: ${(0,aG.f)(a)}`)}}}return{done:e,tried:f}}async function a0(a){let c,f=new Date,g=await ay(f);if(!g)return{skipped:!0,ok:!0,tasks:[],checks:0,durationMs:0,errors:[]};try{[c]=await (0,d.f)().insert(e.collectorRuns).values({startedAt:f,trigger:"builtin"===a?"manual":a}).returning({id:e.collectorRuns.id})}catch(a){throw await az(g).catch(()=>void 0),a}let h=[],i=[],j=0,l=f.getTime()+K.p,m=a=>console.info(`collector ${a} +${Date.now()-f.getTime()}ms`);try{var n;m("start");let{lastRun:b,afterDeploy:c}=await aL(),d="cron_job_org"!==a&&"builtin"!==a,e=await (0,q.I)(),{due:g,early:p}=(0,K._)((0,K.S)(b,f,d,e),(n=R(c),Object.keys(n.pending).length>0),e),r=!1,s=a=>p||!r?a.filter(a=>"security"!==a):a,t=g.filter(a=>K.u.includes(a)),u=t.includes("alerts")?l-K.X:l,v=await aQ(g,h);m(`due ${g.join(",")}`);let{done:w,tried:x}=await a_(g.filter(a=>!K.u.includes(a)),u,h,async a=>{if(m(`task ${a}`),"heartbeats"===a){let a=new Date;j+=await (0,k.f)(a,(b,c)=>null!==(0,ad.x)(v,{monitorId:b,appId:c},a),d)}"checks"===a&&(j+=await aO(new Date,u,h,d,v)),"vercel"===a&&await aX(new Date,u,h,R(c));let b=aK[a];b&&await b({now:new Date,deadline:u,errors:h,protectOnly:(0,K.$)(a,e)}),"cloudflare"===a&&await (0,aA.h)(new Date,u,h),"domains"===a&&await (0,aA.H)(new Date,u,h),"tls"===a&&await (0,aA.V)(new Date,u,h),"rdap"===a&&await (0,aA.W)(new Date,u,h),"eol"===a&&await (0,aA.i)(new Date,u,h),"node"===a&&(await (0,aB.q)(new Date,u,h),await (0,aC.L)(new Date,u,h)),"status"===a&&await (0,ab.i)(new Date),"logs"===a&&await (0,o._)(new Date,u,h),"pageviews"===a&&await J(new Date,u,h),"security"===a&&(r=(await _({now:f,deadline:u,errors:h,paused:e,early:p})).complete)});i.push(...w),m("main done"),await aZ({lastRun:b,done:s(i),tried:x,started:f,errors:h}),m("settled");let y=await a$(t,l,h);m("post done"),y.length&&await aM({...b,...Object.fromEntries(s([...i,...y]).map(a=>[a,f.toISOString()]))}),i.push(...y)}catch(a){h.push(`run: ${(0,aG.f)(a)}`)}finally{let a=Date.now()-f.getTime();await (0,d.f)().update(e.collectorRuns).set({finishedAt:new Date,ok:0===h.length,errorSummary:h.join("\n").slice(0,2e3)||null,durationMs:a,tasks:i,checks:j}).where((0,b.u)(e.collectorRuns.id,c.id)).catch(()=>void 0),await az(g).catch(()=>void 0)}return{skipped:!1,ok:0===h.length,tasks:i,checks:j,durationMs:Date.now()-f.getTime(),errors:h}}a.s(["f",0,a0],270432)}];
7
+ where key = 'collector.lease' and value->>'owner' = ${a}`)}var aC=a.i(418864),aD=a.i(50908),aE=a.i(288950),aF=a.i(903816),aG=a.i(445710),aH=a.i(306556),aI=a.i(648338);a.i(569057);let aJ="collector.lastRun",aK="vercel.backoffUntil",aL="vercel.currentMiss",aM={supabase:ai.P,supabaseUsage:ai.y,neon:ai.f,firebase:ai.g,firebaseUsage:ai.x,extraDbs:ap};async function aN(){let a=await (0,d.f)().select({key:e.settings.key,value:e.settings.value}).from(e.settings).where((0,b.y)(e.settings.key,[aJ,Q])).limit(2);return{lastRun:a.find(a=>a.key===aJ)?.value??{},afterDeploy:a.find(a=>a.key===Q)?.value??null}}async function aO(a){await (0,d.f)().insert(e.settings).values({key:aJ,value:a}).onConflictDoUpdate({target:e.settings.key,set:{value:a,updatedAt:new Date}})}let aP=a=>(0,f.f)(a);async function aQ(a,f,g,h,i=[]){let j=(await (0,d.f)().select({m:e.monitors,app:e.resources}).from(e.monitors).innerJoin(e.resources,(0,b.u)(e.resources.id,e.monitors.resourceId)).where((0,b.b)((0,b.u)(e.monitors.kind,"http"),(0,b.u)(e.monitors.paused,!1),(0,b.u)(e.monitors.ownerPaused,!1),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt))).orderBy(c.B`${e.monitors.lastCheckedAt} asc nulls first`,e.monitors.id)).filter(({m:b})=>(0,M.B)(b.lastCheckedAt,a,h));if(!j.length)return 0;let k=await (0,v.P)(j,6,({m:a})=>{let b=(0,M.P)(a.timeoutMs,f,Date.now());return null===b?Promise.resolve(null):(0,v.b)(a.url,{expectedStatus:a.expectedStatus,timeoutMs:b,body:(0,aF.C)(a)})}),l=j.flatMap((a,b)=>k[b]?[{...a,r:k[b]}]:[]);if(l.length<j.length&&g.push(`checks: ${j.length-l.length} monitors skipped, time budget used`),!l.length)return 0;let m=[];for(let b of l)await (0,aG.j)(b.m,b.r,a)&&m.push(b);return m.length?(await (0,d.f)().insert(e.checks).values(m.map(({m:b,app:c,r:d})=>({monitorId:b.id,at:a,ok:d.ok,statusCode:d.statusCode,latencyMs:d.latencyMs,error:d.error,inMaintenance:null!==(0,af.x)(i,{monitorId:b.id,appId:c.id},a)}))),await aP(m.map(({m:b,app:c,r:d})=>(0,aH.F)({resourceId:c.id,path:(0,ah.K)(b.url),prev:b.state,next:(0,aH.G)(b.failStreak,d).state,code:d.statusCode,error:d.error,at:a}))),m.length):0}let aR=["checks","heartbeats"];async function aS(a,b,c=o.w){if(!aR.some(b=>a.includes(b)))return[];try{return await c()}catch(a){return b.push(`maintenance: ${(0,aI.f)(a)}`),[]}}async function aT(a){let[c]=await (0,d.f)().select().from(e.settings).where((0,b.u)(e.settings.key,aK)).limit(1),f=c?.value?.until;return!!f&&a.getTime()<new Date(f).getTime()}async function aU(a,b){if("transient"!==a.kind||!a.retryAfterS)return!1;let c={until:new Date(b.getTime()+1e3*Math.min(a.retryAfterS,3600)).toISOString()};return await (0,d.f)().insert(e.settings).values({key:aK,value:c}).onConflictDoUpdate({target:e.settings.key,set:{value:c,updatedAt:b}}),!0}let aV=a=>c.B`coalesce(${e.deployments.externalId} = ${a}::text, false)`;async function aW(a,f,g,h,i=ac){let j=[];try{for(let i of a){let a=f.filter(a=>a.resourceId===i.id),{currentId:k,previousId:l}=(0,ah.a)(a.map(a=>({id:a.id,createdAt:a.createdAt??new Date(0)})),(i.externalId?g.get(i.externalId):null)??null),m=await (0,d.f)().update(e.deployments).set({isCurrent:aV(k),isPreviousProduction:aV(l),updatedAt:h.now}).where((0,b.b)((0,b.u)(e.deployments.resourceId,i.id),(0,b.F)(c.B`${e.deployments.isCurrent} is distinct from ${aV(k)}`,c.B`${e.deployments.isPreviousProduction} is distinct from ${aV(l)}`))).returning({id:e.deployments.externalId}),n=function(a){var b,c;let d=a.currentId;return d&&a.state.checked[a.appId]!==d&&a.state.pending[a.appId]?.id!==d&&(b=a.changedIds,((c=d)&&b.includes(c)?c:null)||a.createdAt&&a.now.getTime()-a.createdAt.getTime()<=216e5)?d:null}({appId:i.id,currentId:k,changedIds:m.map(a=>a.id),createdAt:a.find(a=>a.id===k)?.createdAt??null,state:h.afterDeploy,now:h.now});n&&j.push({appId:i.id,deploymentId:n})}}finally{if(j.length)try{await i(j,h.now)}catch(a){h.errors.push(`vercel/${h.label}: after-deploy security check not scheduled: ${(0,aI.f)(a)}`)}}}let aX=a=>new Map(a.map(a=>[a.id,{...a.branchFrom?{branchFrom:a.branchFrom}:{},...a.gitDirty?{gitDirty:!0}:{}}]));async function aY(a,b,c,d,e=new Map,f=u){try{await f(a,b,e)}catch(a){c.push(`vercel/${d}: production source not saved: ${(0,aI.f)(a)}`)}}async function aZ(a,c,f,g){if(await aT(a))return;let h=(0,ae.f)().OPS_ENCRYPTION_KEY;for(let i of(await (0,d.f)().select().from(e.accounts).where((0,b.b)((0,b.u)(e.accounts.provider,"vercel"),(0,b.u)(e.accounts.status,"ok"))))){let k=(0,p.V)({ciphertext:i.credentialCiphertext,iv:i.credentialIv},h);if((0,j.A)(k)||!k){f.push(`vercel/${i.label}: credential can't be read`);continue}let l=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,i.id),(0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)));if(!l.length)continue;let m=new Map(l.map(a=>[a.externalId,a])),n=await (0,ag.X)(k);if(!n.ok){let c=(0,j.E)({ok:!1,kind:n.kind,error:n.error});if(c&&await (0,d.f)().update(e.accounts).set({...c,updatedAt:a}).where((0,b.u)(e.accounts.id,i.id)),f.push(`vercel/${i.label}: ${n.error}`),await aU(n,a))return;continue}let o=new Set(l.map(a=>String(a.meta.teamId)));for(let h of n.data.filter(a=>o.has(a.id))){if(Date.now()>c)return void f.push("vercel: skipped remaining teams, time budget used");let[i,j]=await Promise.all([(0,ag.W)(k,h),(0,ag.K)(k,h,{since:a.getTime()-6048e5,limit:100})]);if(!i.ok||!j.ok){let b=i.ok?j:i;if(f.push(`vercel/${h.name}: ${b.error}`),await aU(b,a))return;continue}let n=new Map(i.data.map(a=>[a.id,a.currentDeploymentId])),o=j.data.filter(a=>m.has(a.projectId)),p=aX(o),q=new Map((o.length?await (0,d.f)().select({externalId:e.deployments.externalId,state:e.deployments.state,target:e.deployments.target,branch:e.deployments.branch,commitSha:e.deployments.commitSha,commitMessage:e.deployments.commitMessage,source:e.deployments.source,url:e.deployments.url,buildingAt:e.deployments.buildingAt,readyAt:e.deployments.readyAt}).from(e.deployments).where((0,b.y)(e.deployments.externalId,o.map(a=>a.id))):[]).map(a=>[a.externalId,a])),r=[];for(let b of o){let c=m.get(b.projectId),f=q.get(b.id),g={state:b.state,target:b.target,branch:b.branch,commitSha:b.sha,commitMessage:b.message,source:b.source,url:b.url,buildingAt:b.buildingAt,readyAt:b.readyAt};if((0,ah.E)(f,g)){let f={resourceId:c.id,externalId:b.id,...g,createdAtProvider:b.createdAt,updatedAt:a};await (0,d.f)().insert(e.deployments).values(f).onConflictDoUpdate({target:e.deployments.externalId,set:f})}r.push((0,aH.L)(f?.state,b,c.id,a))}await aP(r);let s=l.filter(a=>String(a.meta.teamId)===h.id),t=await (0,d.f)().select({resourceId:e.deployments.resourceId,id:e.deployments.externalId,createdAt:e.deployments.createdAtProvider}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,s.map(a=>a.id)),(0,b.u)(e.deployments.target,"production"),(0,b.u)(e.deployments.state,"ready"))),[u]=await (0,d.f)().select().from(e.settings).where((0,b.u)(e.settings.key,aL)).limit(1),v=[],w=()=>v.length?(0,d.f)().insert(e.settings).values({key:aL,value:(0,ah.Y)(u?.value,v,a)}).onConflictDoUpdate({target:e.settings.key,set:{value:(0,ah.Y)(u?.value,v,a),updatedAt:a}}):Promise.resolve();for(let b of(0,ah.Q)(s,n,t,(0,ah.S)(u?.value,a))){if(Date.now()>c)break;let g=await (0,ag.S)(k,h,b.deploymentId);if(!g.ok){if(f.push(`vercel/${h.name}: current deployment: ${g.error}`),await aU(g,a))return void await w();v.push(b.deploymentId);continue}let i=g.data;for(let[a,b]of aX([i]))p.set(a,b);let j={resourceId:b.appId,externalId:i.id,state:i.state,target:i.target,branch:i.branch,commitSha:i.sha,commitMessage:i.message,source:i.source,url:i.url,buildingAt:i.buildingAt,readyAt:i.readyAt,createdAtProvider:i.createdAt,updatedAt:a};await (0,d.f)().insert(e.deployments).values(j).onConflictDoUpdate({target:e.deployments.externalId,set:j}),"ready"===i.state&&"production"===i.target?t.push({resourceId:b.appId,id:i.id,createdAt:i.createdAt}):v.push(b.deploymentId)}await w(),await aW(s,t,n,{now:a,afterDeploy:g,errors:f,label:h.name}),await aY(s,a,f,h.name,p)}}}async function a$(a){let f=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)));if(!f.length)return;let g=await (0,d.f)().select().from(e.monitors).where((0,b.b)((0,b.y)(e.monitors.resourceId,f.map(a=>a.id)),(0,b.u)(e.monitors.paused,!1),(0,b.u)(e.monitors.ownerPaused,!1))),h=new Set((await (0,d.f)().select({r:e.deployments.resourceId}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,f.map(a=>a.id)),(0,b.u)(e.deployments.target,"production"),(0,b.u)(e.deployments.state,"building"),(0,b.B)(e.deployments.createdAtProvider,new Date(a.getTime()-36e5))))).map(a=>a.r)),j=await (0,ai.q)(f.map(a=>a.id)),k=new Map((await (0,d.f)().select().from(e.snapshots).where((0,b.y)(e.snapshots.resourceId,f.map(a=>a.id)))).map(a=>[a.resourceId,a])),l=new Map(f.map(a=>[a.id,a])),m=(0,i.P)(g.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.resourceId,appName:l.get(a.resourceId)?.name??"",appMeta:l.get(a.resourceId)?.meta,lastError:a.lastError})),f),n=a=>m.has(a.id)&&"err"===a.state?"warn":a.state;for(let[a,h]of(0,i.R)(g.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.resourceId,appName:l.get(a.resourceId)?.name??"",appMeta:l.get(a.resourceId)?.meta,lastError:a.lastError})),f))await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({pastDomains:h})}::jsonb`}).where((0,b.u)(e.resources.id,a));for(let b of f){let f=g.filter(a=>a.resourceId===b.id),i=(0,aH.V)({monitors:f.map(n),building:h.has(b.id),dbPaused:j.has(b.id)}),l=f.find(a=>"err"===a.state)??f.find(a=>"warn"===a.state),m={code:l?.lastStatus??null,latencyMs:f.find(a=>"heartbeat"!==a.kind)?.lastLatencyMs??null,dbPaused:j.has(b.id)},o=k.get(b.id);await (0,d.f)().insert(e.snapshots).values({resourceId:b.id,state:i,data:m,collectedAt:a,stateSince:a}).onConflictDoUpdate({target:e.snapshots.resourceId,set:{state:i,data:c.B`${e.snapshots.data} || ${JSON.stringify(m)}::jsonb`,collectedAt:a,...o?.state!==i?{stateSince:a}:{}}})}}async function a_(a,b={}){let c={writeLastRun:aO,refreshApps:a$,refreshNetwork:aC.x,invalidate:k.D,...b};try{await c.writeLastRun({...a.lastRun,...Object.fromEntries(a.done.map(b=>[b,a.started.toISOString()]))});try{await c.refreshApps(new Date)}catch(b){a.errors.push(`app-snapshots: ${(0,aI.f)(b)}`)}if(a.done.some(a=>aC.p.includes(a)))try{await c.refreshNetwork(new Date)}catch(b){a.errors.push(`network-states: ${(0,aI.f)(b)}`)}}finally{c.invalidate((0,l.o)(a.tried??a.done))}}async function a0(a,b,c,d={evaluate:m.$,deliver:r.q,digest:r.J}){let e=[];if(a.includes("alerts"))if(Date.now()>b)c.push("alerts: skipped, time budget used");else{let a=!0;try{await d.evaluate(new Date),console.info("collector alerts evaluated")}catch(b){a=!1,c.push(`alerts: ${(0,aI.f)(b)}`)}try{await d.deliver(new Date,b),console.info("collector notifications delivered")}catch(b){a=!1,c.push(`notify: ${(0,aI.f)(b)}`)}a&&e.push("alerts")}if(a.includes("digest")&&(0,M.z)("digest",b,Date.now()))try{await d.digest(new Date),console.info("collector digest done"),e.push("digest")}catch(a){c.push(`digest: ${(0,aI.f)(a)}`)}return e}async function a1(a,b,c,d){let e=[],f=[];for(let g of a){if(Date.now()>b){c.push(`${g}: skipped, time budget used`);continue}if((0,M.z)(g,b,Date.now())){f.push(g);try{await d(g),e.push(g)}catch(a){c.push(`${g}: ${(0,aI.f)(a)}`)}}}return{done:e,tried:f}}async function a2(a){let c,f=new Date,g=await aA(f);if(!g)return{skipped:!0,ok:!0,tasks:[],checks:0,durationMs:0,errors:[]};try{[c]=await (0,d.f)().insert(e.collectorRuns).values({startedAt:f,trigger:"builtin"===a?"manual":a}).returning({id:e.collectorRuns.id})}catch(a){throw await aB(g).catch(()=>void 0),a}let i=[],j=[],k=0,l=f.getTime()+M.p,m=process.cpuUsage(),o=()=>{let a=process.cpuUsage(m);return Math.round((a.user+a.system)/1e3)},p=a=>console.info(`collector ${a} +${Date.now()-f.getTime()}ms cpu ${o()}ms`);try{var r;p("start");let{lastRun:b,afterDeploy:c}=await aN(),d="cron_job_org"!==a&&"builtin"!==a,e=await (0,s.I)(),{due:g,early:h}=(0,M._)((0,M.S)(b,f,d,e),(r=T(c),Object.keys(r.pending).length>0),e),m=!1,o=a=>h||!m?a.filter(a=>"security"!==a):a,t=g.filter(a=>M.u.includes(a)),u=t.includes("alerts")?l-M.X:l,v=await aS(g,i);p(`due ${g.join(",")}`);let{done:w,tried:x}=await a1(g.filter(a=>!M.u.includes(a)),u,i,async a=>{if(p(`task ${a}`),"heartbeats"===a){let a=new Date;k+=await (0,n.f)(a,(b,c)=>null!==(0,af.x)(v,{monitorId:b,appId:c},a),d)}"checks"===a&&(k+=await aQ(new Date,u,i,d,v)),"vercel"===a&&await aZ(new Date,u,i,T(c));let b=aM[a];b&&await b({now:new Date,deadline:u,errors:i,protectOnly:(0,M.$)(a,e)}),"cloudflare"===a&&await (0,aC.h)(new Date,u,i),"domains"===a&&await (0,aC.H)(new Date,u,i),"tls"===a&&await (0,aC.V)(new Date,u,i),"rdap"===a&&await (0,aC.W)(new Date,u,i),"eol"===a&&await (0,aC.i)(new Date,u,i),"node"===a&&(await (0,aD.q)(new Date,u,i),await (0,aE.L)(new Date,u,i)),"status"===a&&await (0,ad.i)(new Date),"logs"===a&&await (0,q._)(new Date,u,i),"pageviews"===a&&await L(new Date,u,i),"security"===a&&(m=(await ab({now:f,deadline:u,errors:i,paused:e,early:h})).complete)});j.push(...w),p("main done"),await a_({lastRun:b,done:o(j),tried:x,started:f,errors:i}),p("settled");let y=await a0(t,l,i);p("post done"),y.length&&await aO({...b,...Object.fromEntries(o([...j,...y]).map(a=>[a,f.toISOString()]))}),j.push(...y)}catch(a){i.push(`run: ${(0,aI.f)(a)}`)}finally{let a=Date.now()-f.getTime();await (0,d.f)().update(e.collectorRuns).set({finishedAt:new Date,ok:0===i.length,errorSummary:i.join("\n").slice(0,2e3)||null,durationMs:a,tasks:j,checks:k}).where((0,b.u)(e.collectorRuns.id,c.id)).catch(()=>void 0),await aB(g).catch(()=>void 0),process.env.VERCEL&&await h(o())}return{skipped:!1,ok:0===i.length,tasks:j,checks:k,durationMs:Date.now()-f.getTime(),errors:i}}a.s(["f",0,a2],270432)}];
8
8
 
9
9
  //# sourceMappingURL=src_lib_collector_run_ts_0-q8is8s0y9cq._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[579739,a=>{"use strict";let b,c=()=>b??=Promise.all([a.A(372153),a.A(106706)]);async function d(a){let[{currentDemoVisitor:b},{withDemoDb:d}]=await c(),e=await b();return d(e.seed,a,e.email)}async function e(){let[{readDemoVisitor:a},{withDemoDb:b}]=await c(),d=await a();d&&await b(d.seed,async()=>void 0,d.email)}a.s(["demoPglite",0,{query:(a,b,c)=>d(d=>d.query(a,b,c)),exec:(a,b)=>d(c=>c.exec(a,b)),transaction:a=>d(b=>b.transaction(a))},"openDemoDb",0,e])},106706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1_z273zso5at1._.js","server/chunks/ssr/src_db_pglite_ts_0r1r9wqxilnam._.js","server/chunks/ssr/src_lib_demo_0a5wqvhuj5hjh._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(601533)))}];
1
+ module.exports=[579739,a=>{"use strict";let b,c=()=>b??=Promise.all([a.A(372153),a.A(106706)]);async function d(a){let[{currentDemoVisitor:b},{withDemoDb:d}]=await c(),e=await b();return d(e.seed,a,e.email)}async function e(){let[{readDemoVisitor:a},{withDemoDb:b}]=await c(),d=await a();d&&await b(d.seed,async()=>void 0,d.email)}a.s(["demoPglite",0,{query:(a,b,c)=>d(d=>d.query(a,b,c)),exec:(a,b)=>d(c=>c.exec(a,b)),transaction:a=>d(b=>b.transaction(a))},"openDemoDb",0,e])},106706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0amfa4t2-in-x._.js","server/chunks/ssr/src_db_pglite_ts_0r1r9wqxilnam._.js","server/chunks/ssr/src_lib_demo_0a5wqvhuj5hjh._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(601533)))}];
2
2
 
3
- //# sourceMappingURL=src_lib_demo_0ftmf3wmtezvl._.js.map
3
+ //# sourceMappingURL=src_lib_demo_09ht4doed9eqi._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[505237,a=>{"use strict";var b=a.i(306556),c=a.i(133289),d=a.i(201516),e=a.i(221246),f=a.i(245710),g=a.i(556987),h=a.i(469762);let i=a=>a?.kind==="heartbeat";function j(a){let b=a.filter(a=>(0,d.i)(a)&&!a.maintUntil),c=b.filter(a=>!i(a)),e=b.filter(i);return c.find(a=>"err"===a.state)??c.find(a=>"warn"===a.state)??e.find(a=>"err"===a.state)??e.find(a=>"warn"===a.state)??null}let k=a=>(a&&(0,d.H)(a))??(a?.lastStatus?`HTTP ${a.lastStatus}`:"no answer");function l(a){let b=a.monitors.filter(d.i),c=b.filter(a=>a.maintUntil),e=b.some(a=>i(a)&&!a.maintUntil&&("err"===a.state||"warn"===a.state)),f=b.some(a=>!i(a)&&!a.maintUntil&&"err"===a.state),g="err"===a.state&&e&&!f?a.building||a.lastDeploy?.state==="building"?"build":"warn":a.state;if(a.gone||!c.length)return{state:g,maintEnd:null};let h=c.reduce((a,b)=>b.maintUntil>a?b.maintUntil:a,c[0].maintUntil),j=b.filter(a=>!a.maintUntil);return"err"===a.state||"warn"===a.state?j.some(a=>!i(a)&&"err"===a.state)?{state:"err",maintEnd:h}:a.building||a.lastDeploy?.state==="building"?{state:"build",maintEnd:h}:j.some(a=>"warn"===a.state||i(a)&&"err"===a.state)||a.dbPaused?{state:"warn",maintEnd:h}:{state:"maint",maintEnd:h}:j.length||"ok"!==a.state&&"unknown"!==a.state?{state:g,maintEnd:h}:{state:"maint",maintEnd:h}}let m={err:6,fail:6,warn:5,paused:5,build:4,unknown:3,idle:2,off:1,info:1,maint:1,ok:0};function n(a){return a.reduce((a,b)=>m[b]>m[a]?b:a,"ok")}let o=(a,b)=>`${a} ${b}${1===a?"":"s"}`,p=["ok","build","idle","paused","maint","warn","err","fail","unknown","off","info"];a.s(["q",0,[["ok","Running"],["build","Building"],["warn","Degraded"],["err","Down"]],"s",0,[["ok","Ready"],["build","Building"],["fail","Error"]],"D",0,{deployment:"Deployment",monitor:"Monitor",database:"Database",system:"System",action:"Action"},"g",0,[["ok","Up"],["warn","Degraded"],["err","Down"],["maint","Maintenance"]],"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,(...a)=>`Actions for ${a.filter(Boolean).join(" ")}`,"k",0,function(a){if(a.gone)return{state:"off",label:"Gone from Vercel"};let b=j(a.monitors),c=i(b)?b?.name??"heartbeat":null,{state:e,maintEnd:g}=l(a);return"maint"===e&&g?{state:"maint",label:`Maintenance \xb7 until ${(0,f.U)(g)}`}:"ok"===e?{state:"ok",label:"Running"}:"build"===e?{state:"build",label:"Building"}:"warn"===e?!b&&a.dbPaused?{state:"warn",label:"Degraded · DB paused"}:c?{state:"warn",label:b?.state==="err"?`Degraded \xb7 job ${c} not pinging`:`Degraded \xb7 job ${c} late`}:{state:"warn",label:`Degraded \xb7 ${k(b)}`}:"err"===e?{state:"err",label:c?`Down \xb7 ${c}`:`Down \xb7 ${k(b)}`}:a.monitors.some(d.i)?{state:"unknown",label:"Not checked yet"}:{state:"unknown",label:"No active monitors"}},"z",0,a=>(0,e.L)(a,"operator"),"f",0,function(a,b){if(!a)return{state:"unknown",sub:"Hasn't run yet"};let d=null===a.durationMs?"—":`${(a.durationMs/1e3).toFixed(1)} s`;return{state:(0,c.m)(a.finishedAt,b).state,sub:`${(0,f.$)(a.finishedAt,b)} \xb7 ${d} \xb7 ${o(a.checks,"check")}`}},"u",0,function(a,b){if(!a.length)return null;let c=a.length,d="viewer"===b?[...new Set(a.map(a=>a.provider))]:a.map(a=>`${a.provider} \xb7 ${(0,g.G)(a.label)}`);return{title:`${c} connection${c>1?"s need":" needs"} attention`,body:`${d.join(", ")}. Data from ${c>1?"these accounts is":"this account is"} not being updated.`}},"Y",0,function(a){return"ready"===a?{state:"ok",label:"Ready"}:"building"===a?{state:"build",label:"Building"}:"error"===a?{state:"fail",label:"Error"}:{state:"off",label:"Canceled"}},"M",0,function(a,b,c=new Date){if(a.appGone)return{state:"off",label:"App removed from Vercel"};if(a.ownerPaused)return{state:"paused",label:"Paused"};if(a.paused)return{state:"off",label:"App not watched"};let e=b?.end??a.maintUntil;if(e)return{state:"maint",label:`Maintenance \xb7 until ${(0,f.U)(e)}`};if(i(a))return"ok"===a.state?{state:"ok",label:a.lastPingAt?`Up \xb7 pinged ${(0,f.$)(a.lastPingAt,c)}`:"Up"}:"warn"===a.state?{state:"warn",label:"Late"}:"err"===a.state?{state:"err",label:a.lastError?.startsWith("Down · ")?a.lastError:"Down · no ping"}:{state:"unknown",label:"Waiting for the first ping"};if(a.move)return{state:"warn",label:`Domain changed: ${a.move.from} → ${a.move.to}`};let g=(0,d.H)(a)??(null===a.lastStatus?"no answer":String(a.lastStatus));return"ok"===a.state?{state:"ok",label:"Up"}:"warn"===a.state?{state:"warn",label:`Degraded \xb7 ${g}`}:"err"===a.state?{state:"err",label:`Down \xb7 ${g}`}:{state:"unknown",label:"Waiting for first check"}},"m",0,function(a,c){let e=[];for(let f of a){let a=l(f).state;if(f.gone||"err"!==a&&"warn"!==a)continue;let g=j(f.monitors);if("warn"===a&&!g&&f.dbPaused)continue;let k=g&&(0,d.H)(g)?(0,d.H)(g):g?.lastStatus?`HTTP ${g.lastStatus}`:"No answer",m={label:"Open app",href:`/apps/${f.id}`},n=i(g)?g?.name??"heartbeat":null;if(n&&g?.state==="err"){e.push({key:f.id,tone:"warning",title:`${f.name}: background job ${n} is down`,body:`The website is up; the job hasn't pinged${f.since?` for ${(0,h.o)(f.since,c)}`:""}.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if(n){e.push({key:f.id,tone:"warning",title:`${f.name} is degraded`,body:`The job ${n} is late. It's marked down once its grace time passes too.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if("err"===a){let a=f.lastDeploy?.state==="error"?f.lastDeploy:null;e.push({key:f.id,tone:"danger",title:`${f.name} is down`,body:`${k}${f.since?` for ${(0,h.o)(f.since,c)}`:""}.${a?` The last production deploy failed at ${(0,h.v)(a.readyAt??a.createdAt,c)}.`:""}`,action:a?{label:"View deployment",href:"/deployments"}:m})}else{let a=Math.max(1,g?.failStreak??1);e.push({key:f.id,tone:"warning",title:`${f.name} is degraded`,body:`${k} on ${o(a,"check")} in a row. It's marked down after ${b.I}.`,action:m})}}return[...e.filter(a=>"danger"===a.tone),...e.filter(a=>"warning"===a.tone)]},"R",0,function(a){return p.map(b=>({state:b,n:a.filter(a=>a===b).length})).filter(a=>a.n>0)},"E",0,function(a){if(!a.length)return{state:"unknown",sub:"No apps watched yet",empty:!0};let b=b=>a.filter(a=>a===b).length,c=[["err","down"],["warn","degraded"],["build","building"]].filter(([a])=>b(a)>0).map(([a,c])=>`${b(a)} ${c}`);return{state:n(a),sub:`${o(a.length,"app")}${c.length?` \xb7 ${c.join(", ")}`:""}`}},"S",0,n,"e",0,j])}];
1
+ module.exports=[505237,a=>{"use strict";var b=a.i(306556),c=a.i(133289),d=a.i(201516),e=a.i(221246),f=a.i(245710),g=a.i(556987),h=a.i(469762);let i=a=>a?.kind==="heartbeat";function j(a){let b=a.filter(a=>(0,d.i)(a)&&!a.maintUntil),c=b.filter(a=>!i(a)),e=b.filter(i);return c.find(a=>"err"===a.state)??c.find(a=>"warn"===a.state)??e.find(a=>"err"===a.state)??e.find(a=>"warn"===a.state)??null}let k=a=>(a&&(0,d.H)(a))??(a?.lastStatus?`HTTP ${a.lastStatus}`:"no answer");function l(a){let b=a.monitors.filter(d.i),c=b.filter(a=>a.maintUntil),e=b.some(a=>i(a)&&!a.maintUntil&&("err"===a.state||"warn"===a.state)),f=b.some(a=>!i(a)&&!a.maintUntil&&"err"===a.state),g="err"===a.state&&e&&!f?a.building||a.lastDeploy?.state==="building"?"build":"warn":a.state;if(a.gone||!c.length)return{state:g,maintEnd:null};let h=c.reduce((a,b)=>b.maintUntil>a?b.maintUntil:a,c[0].maintUntil),j=b.filter(a=>!a.maintUntil);return"err"===a.state||"warn"===a.state?j.some(a=>!i(a)&&"err"===a.state)?{state:"err",maintEnd:h}:a.building||a.lastDeploy?.state==="building"?{state:"build",maintEnd:h}:j.some(a=>"warn"===a.state||i(a)&&"err"===a.state)||a.dbPaused?{state:"warn",maintEnd:h}:{state:"maint",maintEnd:h}:j.length||"ok"!==a.state&&"unknown"!==a.state?{state:g,maintEnd:h}:{state:"maint",maintEnd:h}}let m={err:6,fail:6,warn:5,paused:5,build:4,unknown:3,idle:2,off:1,info:1,maint:1,ok:0};function n(a){return a.reduce((a,b)=>m[b]>m[a]?b:a,"ok")}let o=(a,b)=>`${a} ${b}${1===a?"":"s"}`,p=["ok","build","idle","paused","maint","warn","err","fail","unknown","off","info"];a.s(["q",0,[["ok","Running"],["build","Building"],["warn","Degraded"],["err","Down"]],"s",0,[["ok","Ready"],["build","Building"],["fail","Error"]],"D",0,{deployment:"Deployment",monitor:"Monitor",database:"Database",system:"System",action:"Action"},"g",0,[["ok","Up"],["warn","Degraded"],["err","Down"],["maint","Maintenance"]],"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,(...a)=>`Actions for ${a.filter(Boolean).join(" ")}`,"k",0,function(a){if(a.gone)return{state:"off",label:"Gone from Vercel"};let b=j(a.monitors),c=i(b)?b?.name??"heartbeat":null,{state:e,maintEnd:g}=l(a);return"maint"===e&&g?{state:"maint",label:`Maintenance \xb7 until ${(0,f.U)(g)}`}:"ok"===e?{state:"ok",label:"Running"}:"build"===e?{state:"build",label:"Building"}:"warn"===e?!b&&a.dbPaused?{state:"warn",label:"Degraded · DB paused"}:c?{state:"warn",label:b?.state==="err"?`Degraded \xb7 job ${c} not pinging`:`Degraded \xb7 job ${c} late`}:{state:"warn",label:`Degraded \xb7 ${k(b)}`}:"err"===e?{state:"err",label:c?`Down \xb7 ${c}`:`Down \xb7 ${k(b)}`}:a.monitors.some(d.i)?{state:"unknown",label:"Not checked yet"}:{state:"unknown",label:"No active monitors"}},"z",0,a=>(0,e.L)(a,"operator"),"f",0,function(a,b,d){if(!a)return{state:"unknown",sub:"Hasn't run yet"};let e=null===a.durationMs?"—":`${(a.durationMs/1e3).toFixed(1)} s`;return{state:(0,c.m)(a.finishedAt,b,d).state,sub:`${(0,f.$)(a.finishedAt,b)} \xb7 ${e} \xb7 ${o(a.checks,"check")}`}},"u",0,function(a,b){if(!a.length)return null;let c=a.length,d="viewer"===b?[...new Set(a.map(a=>a.provider))]:a.map(a=>`${a.provider} \xb7 ${(0,g.G)(a.label)}`);return{title:`${c} connection${c>1?"s need":" needs"} attention`,body:`${d.join(", ")}. Data from ${c>1?"these accounts is":"this account is"} not being updated.`}},"Y",0,function(a){return"ready"===a?{state:"ok",label:"Ready"}:"building"===a?{state:"build",label:"Building"}:"error"===a?{state:"fail",label:"Error"}:{state:"off",label:"Canceled"}},"M",0,function(a,b,c=new Date){if(a.appGone)return{state:"off",label:"App removed from Vercel"};if(a.ownerPaused)return{state:"paused",label:"Paused"};if(a.paused)return{state:"off",label:"App not watched"};let e=b?.end??a.maintUntil;if(e)return{state:"maint",label:`Maintenance \xb7 until ${(0,f.U)(e)}`};if(i(a))return"ok"===a.state?{state:"ok",label:a.lastPingAt?`Up \xb7 pinged ${(0,f.$)(a.lastPingAt,c)}`:"Up"}:"warn"===a.state?{state:"warn",label:"Late"}:"err"===a.state?{state:"err",label:a.lastError?.startsWith("Down · ")?a.lastError:"Down · no ping"}:{state:"unknown",label:"Waiting for the first ping"};if(a.move)return{state:"warn",label:`Domain changed: ${a.move.from} → ${a.move.to}`};let g=(0,d.H)(a)??(null===a.lastStatus?"no answer":String(a.lastStatus));return"ok"===a.state?{state:"ok",label:"Up"}:"warn"===a.state?{state:"warn",label:`Degraded \xb7 ${g}`}:"err"===a.state?{state:"err",label:`Down \xb7 ${g}`}:{state:"unknown",label:"Waiting for first check"}},"m",0,function(a,c){let e=[];for(let f of a){let a=l(f).state;if(f.gone||"err"!==a&&"warn"!==a)continue;let g=j(f.monitors);if("warn"===a&&!g&&f.dbPaused)continue;let k=g&&(0,d.H)(g)?(0,d.H)(g):g?.lastStatus?`HTTP ${g.lastStatus}`:"No answer",m={label:"Open app",href:`/apps/${f.id}`},n=i(g)?g?.name??"heartbeat":null;if(n&&g?.state==="err"){e.push({key:f.id,tone:"warning",title:`${f.name}: background job ${n} is down`,body:`The website is up; the job hasn't pinged${f.since?` for ${(0,h.o)(f.since,c)}`:""}.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if(n){e.push({key:f.id,tone:"warning",title:`${f.name} is degraded`,body:`The job ${n} is late. It's marked down once its grace time passes too.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if("err"===a){let a=f.lastDeploy?.state==="error"?f.lastDeploy:null;e.push({key:f.id,tone:"danger",title:`${f.name} is down`,body:`${k}${f.since?` for ${(0,h.o)(f.since,c)}`:""}.${a?` The last production deploy failed at ${(0,h.v)(a.readyAt??a.createdAt,c)}.`:""}`,action:a?{label:"View deployment",href:"/deployments"}:m})}else{let a=Math.max(1,g?.failStreak??1);e.push({key:f.id,tone:"warning",title:`${f.name} is degraded`,body:`${k} on ${o(a,"check")} in a row. It's marked down after ${b.I}.`,action:m})}}return[...e.filter(a=>"danger"===a.tone),...e.filter(a=>"warning"===a.tone)]},"R",0,function(a){return p.map(b=>({state:b,n:a.filter(a=>a===b).length})).filter(a=>a.n>0)},"E",0,function(a){if(!a.length)return{state:"unknown",sub:"No apps watched yet",empty:!0};let b=b=>a.filter(a=>a===b).length,c=[["err","down"],["warn","degraded"],["build","building"]].filter(([a])=>b(a)>0).map(([a,c])=>`${b(a)} ${c}`);return{state:n(a),sub:`${o(a.length,"app")}${c.length?` \xb7 ${c.join(", ")}`:""}`}},"S",0,n,"e",0,j])}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_view_labels_ts_1uxs84z7vclz5._.js.map
@@ -1,5 +1,5 @@
1
- (()=>{"use strict";module.exports=[779704,a=>{var b=a.i(93321),c=a.i(548734),d=a.i(837137),e=a.i(86657),f=a.i(502330),g=a.i(666680),h=a.i(26972),i=a.i(427221),j=a.i(811365);let k="advisor.ai_summary",l=h.z.object({text:i.z.string().min(1).max(1200),model:i.z.string().max(200),at:i.z.string(),count:j.z.number().int().min(0),hash:i.z.string().length(64)});function m(a){let b=a.map(a=>`${a.severity}\0${a.app}\0${a.title}`).sort();return(0,g.createHash)("sha256").update(b.join("\x01")).digest("hex")}async function n(){let[a]=await (0,c.f)().select({value:d.settings.value}).from(d.settings).where((0,b.u)(d.settings.key,k)).limit(1),e=l.safeParse(a?.value);return e.success?e.data:null}async function o(a,b){var g,h;if(!await e.f.provider())return{status:"no-provider"};let i=await e.f.advice(a),j=(g=await n(),h=b.force,i.length?!h&&g&&g.hash===m(i)?"skip-unchanged":"run":"skip-empty");if("skip-empty"===j)return{status:"empty"};if("skip-unchanged"===j)return{status:"unchanged"};let l=await e.f.complete((0,f.N)(i),{purpose:"summary",maxTokens:400}),o=l.text.trim().slice(0,1200);if(!o)throw Error("The model returned no text.");let p={text:o,model:l.model.slice(0,200),at:a.toISOString(),count:i.length,hash:m(i)};return await (0,c.f)().insert(d.settings).values({key:k,value:p}).onConflictDoUpdate({target:d.settings.key,set:{value:p,updatedAt:a}}),{status:"stored",summary:p}}a.s(["h",0,n,"E",0,o],779704)},920274,918962,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(548734),e=a.i(837137),f=a.i(142754);let g=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,h=a=>g.test(a);async function i(a,g=new Date){let j=null,k=new Map;if(void 0!==a){if(!h(a))return[];let[c]=await (0,d.f)().select({name:e.resources.name}).from(e.resources).where((0,b.u)(e.resources.id,a)).limit(1);j=c?[a,c.name]:[a],c&&(k=new Map([[a,c.name]]))}let l=new Date(g.getTime()-2592e6),m=(0,b.b)((0,b.M)(f.c.dismissedAt),(0,b.B)(f.c.createdAt,l)),n=await (0,d.f)().select({id:f.c.id,appId:f.c.appId,severity:f.c.severity,title:f.c.title,body:f.c.body,source:f.c.source,client:f.c.client,model:f.c.model,createdAt:f.c.createdAt}).from(f.c).where(j?(0,b.b)(m,(0,b.y)(f.c.appId,j)):m).orderBy((0,c.A)(f.c.createdAt)).limit(20);if(void 0===a){let a=[...new Set(n.map(a=>a.appId).filter(a=>!!a&&h(a)))];a.length&&(k=new Map((await (0,d.f)().select({id:e.resources.id,name:e.resources.name}).from(e.resources).where((0,b.y)(e.resources.id,a)).limit(a.length)).map(a=>[a.id,a.name])))}return n.map(a=>({id:a.id,appId:a.appId,appName:a.appId?k.get(a.appId)??(h(a.appId)?null:a.appId):null,severity:a.severity,title:a.title,body:a.body,from:a.client||a.source,model:a.model,at:a.createdAt}))}async function j(a,c,e){let[g]=await (0,d.f)().update(f.c).set({dismissedAt:e,dismissedBy:c}).where((0,b.b)((0,b.u)(f.c.id,a),(0,b.M)(f.c.dismissedAt))).returning({id:f.c.id,title:f.c.title,appId:f.c.appId,source:f.c.source,client:f.c.client});return g?{id:g.id,title:g.title,appId:g.appId,from:g.client||g.source}:null}a.s(["$",0,j,"b",0,h,"N",0,i],920274);var k=a.i(484458),l=a.i(363652),m=a.i(501634),n=a.i(502330);async function o(a,b={}){let c=b.now??new Date,d=(0,n.u)(await (0,m.V)(c),a);if(b.context){let a=d[d.length-1];a.content=`${a.content}
1
+ (()=>{"use strict";module.exports=[779704,a=>{var b=a.i(93321),c=a.i(548734),d=a.i(837137),e=a.i(86657),f=a.i(502330),g=a.i(666680),h=a.i(26972),i=a.i(427221),j=a.i(811365);let k="advisor.ai_summary",l=h.z.object({text:i.z.string().min(1).max(1200),model:i.z.string().max(200),at:i.z.string(),count:j.z.number().int().min(0),hash:i.z.string().length(64)});function m(a){let b=a.map(a=>`${a.severity}\0${a.app}\0${a.title}`).sort();return(0,g.createHash)("sha256").update(b.join("\x01")).digest("hex")}async function n(){let[a]=await (0,c.f)().select({value:d.settings.value}).from(d.settings).where((0,b.u)(d.settings.key,k)).limit(1),e=l.safeParse(a?.value);return e.success?e.data:null}async function o(a,b){var g,h;if(!await e.f.provider())return{status:"no-provider"};let i=await e.f.advice(a),j=(g=await n(),h=b.force,i.length?!h&&g&&g.hash===m(i)?"skip-unchanged":"run":"skip-empty");if("skip-empty"===j)return{status:"empty"};if("skip-unchanged"===j)return{status:"unchanged"};let l=await e.f.complete((0,f.N)(i),{purpose:"summary",maxTokens:400}),o=l.text.trim().slice(0,1200);if(!o)throw Error("The model returned no text.");let p={text:o,model:l.model.slice(0,200),at:a.toISOString(),count:i.length,hash:m(i)};return await (0,c.f)().insert(d.settings).values({key:k,value:p}).onConflictDoUpdate({target:d.settings.key,set:{value:p,updatedAt:a}}),{status:"stored",summary:p}}a.s(["h",0,n,"E",0,o],779704)},920274,918962,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(548734),e=a.i(837137),f=a.i(142754);let g=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,h=a=>g.test(a);async function i(a,g=new Date){let j=null,k=new Map;if(void 0!==a){if(!h(a))return[];let[c]=await (0,d.f)().select({name:e.resources.name}).from(e.resources).where((0,b.u)(e.resources.id,a)).limit(1);j=c?[a,c.name]:[a],c&&(k=new Map([[a,c.name]]))}let l=new Date(g.getTime()-2592e6),m=(0,b.b)((0,b.M)(f.c.dismissedAt),(0,b.B)(f.c.createdAt,l)),n=await (0,d.f)().select({id:f.c.id,appId:f.c.appId,severity:f.c.severity,title:f.c.title,body:f.c.body,source:f.c.source,client:f.c.client,model:f.c.model,createdAt:f.c.createdAt}).from(f.c).where(j?(0,b.b)(m,(0,b.y)(f.c.appId,j)):m).orderBy((0,c.A)(f.c.createdAt)).limit(20);if(void 0===a){let a=[...new Set(n.map(a=>a.appId).filter(a=>!!a&&h(a)))];a.length&&(k=new Map((await (0,d.f)().select({id:e.resources.id,name:e.resources.name}).from(e.resources).where((0,b.y)(e.resources.id,a)).limit(a.length)).map(a=>[a.id,a.name])))}return n.map(a=>({id:a.id,appId:a.appId,appName:a.appId?k.get(a.appId)??(h(a.appId)?null:a.appId):null,severity:a.severity,title:a.title,body:a.body,from:a.client||a.source,model:a.model,at:a.createdAt}))}async function j(a,c,e){let[g]=await (0,d.f)().update(f.c).set({dismissedAt:e,dismissedBy:c}).where((0,b.b)((0,b.u)(f.c.id,a),(0,b.M)(f.c.dismissedAt))).returning({id:f.c.id,title:f.c.title,appId:f.c.appId,source:f.c.source,client:f.c.client});return g?{id:g.id,title:g.title,appId:g.appId,from:g.client||g.source}:null}async function k(a,c,e){return a.length?(await (0,d.f)().update(f.c).set({dismissedAt:e,dismissedBy:c}).where((0,b.b)((0,b.y)(f.c.id,a.slice(0,20)),(0,b.M)(f.c.dismissedAt))).returning({id:f.c.id})).length:0}a.s(["Z",0,20,"$",0,j,"d",0,k,"b",0,h,"N",0,i],920274);var l=a.i(484458),m=a.i(363652),n=a.i(501634),o=a.i(502330);async function p(a,b={}){let c=b.now??new Date,d=(0,o.u)(await (0,n.V)(c),a);if(b.context){let a=d[d.length-1];a.content=`${a.content}
2
2
 
3
- Context: ${(0,n.O)(b.context,Math.min(b.contextMax??2e3,4e3))}`}let e=await (0,l.X)(d,{...b.model?{model:b.model,...b.fallback?{fallback:!0}:{}}:{},purpose:"console-chat",maxTokens:1500}),f=e.text.trim();if(!f)throw new p;return{text:f.length>8e3?`${f.slice(0,7999)}…`:f,model:e.model,ms:e.ms}}class p extends Error{constructor(){super("The model returned no text. Try again."),this.name="GatewayError"}}async function q(a=new Date){let[b,c]=await Promise.all([(0,k.y)(a).catch(()=>null),(0,l.M)().then(()=>!0,()=>!1)]),d=!!b&&(0,k.U)(b.report,a);return{agConnected:d,agEnabled:d&&b?(0,k._)(b.report,b.prefs,b.allowed):[],providerReady:c}}a.s(["q",0,"watchpost","L",0,o,"c",0,q],918962)}]})();
3
+ Context: ${(0,o.O)(b.context,Math.min(b.contextMax??2e3,4e3))}`}let e=await (0,m.X)(d,{...b.model?{model:b.model,...b.fallback?{fallback:!0}:{}}:{},purpose:"console-chat",maxTokens:1500}),f=e.text.trim();if(!f)throw new q;return{text:f.length>8e3?`${f.slice(0,7999)}…`:f,model:e.model,ms:e.ms}}class q extends Error{constructor(){super("The model returned no text. Try again."),this.name="GatewayError"}}async function r(a=new Date){let[b,c]=await Promise.all([(0,l.y)(a).catch(()=>null),(0,m.M)().then(()=>!0,()=>!1)]),d=!!b&&(0,l.U)(b.report,a);return{agConnected:d,agEnabled:d&&b?(0,l._)(b.report,b.prefs,b.allowed):[],providerReady:c}}a.s(["q",0,"watchpost","L",0,p,"c",0,r],918962)}]})();
4
4
 
5
5
  //# sourceMappingURL=src_private_04omlb_sgy-_r._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[338424,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(368114),g=a.i(271288),h=a.i(405050);let i=(0,h.createServerReference)("403088bf67ebad30dbea857c3e962c2e284ffac9ca",h.callServer,void 0,h.findSourceMapURL,"saveOfficeAutoRollback");a.s(["AutoRollbackForm",0,function({saved:a,choices:h}){let[j,k]=(0,c.useState)(a),[l,m]=(0,c.useTransition)(),n=a=>{k(b=>({...b,...a})),m(async()=>{try{let b=await i(a);b.ok?(b.data&&k(b.data),d.c.success(b.message??"Saved.")):(k(j),d.c.error(b.error))}catch{k(j),d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})};return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(g.f,{checked:j.enabled,disabled:l,label:"Auto-rollback when a new deploy errors",onChange:a=>n({enabled:a})}),(0,b.jsxs)("span",{className:"text-[13px]",children:["Auto-rollback when a new deploy errors (first ",(0,b.jsx)("span",{className:"font-mono",children:j.windowMin})," minutes)"]})]}),(0,b.jsxs)("label",{className:"inline-flex items-center gap-2 text-[13px] text-ink-soft",children:["Window",(0,b.jsx)("select",{className:(0,f.f)(e.S,"w-auto py-1"),value:j.windowMin,disabled:l,"aria-label":"Auto-rollback window in minutes",onChange:a=>n({windowMin:Number(a.target.value)}),children:h.map(a=>(0,b.jsxs)("option",{value:a,children:[a," min"]},a))})]})]})}],338424)},719354,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(462007),f=a.i(271288),g=a.i(405050);let h=(0,g.createServerReference)("40c545571afb463110a2846227eb11c343d1cf13e1",g.callServer,void 0,g.findSourceMapURL,"saveOfficeAutoRun");a.s(["AutoRunForm",0,function({saved:a,rows:g}){let[i,j]=(0,c.useState)(a),[k,l]=(0,c.useTransition)();return(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:["Action","Auto-run","What it does"]}),(0,b.jsx)("tbody",{children:g.map(a=>(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{className:e.z,children:a.label}),(0,b.jsx)("td",{className:e.z,children:a.risky?(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"selalu minta persetujuan"}):(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(f.f,{checked:i[a.kind],disabled:k,label:`Auto-run: ${a.label}`,onChange:b=>{var c;return c=a.kind,void(j(a=>({...a,[c]:b})),l(async()=>{try{let a=await h({[c]:b});a.ok?(a.data&&j(a.data),d.c.success(a.message??"Saved.")):(j(a=>({...a,[c]:!b})),d.c.error(a.error))}catch{j(a=>({...a,[c]:!b})),d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}))}}),(0,b.jsx)("span",{className:"text-[13px]",children:i[a.kind]?"On":"Off"})]})}),(0,b.jsx)("td",{className:`${e.z} whitespace-normal text-ink-soft`,children:a.what})]},a.kind))})]})})}],719354)},265758,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(271288),f=a.i(405050);let g=(0,f.createServerReference)("40b29d80ab43b135db8aaf2541a0595eb6b7bf06c1",f.callServer,void 0,f.findSourceMapURL,"saveOfficeAutoSecurity"),h=[{level:"critical",label:"Critical"},{level:"high",label:"High"},{level:"moderate",label:"Moderate"}];a.s(["AutoSecurityForm",0,function({saved:a,rollbackOn:f}){let[i,j]=(0,c.useState)(a),[k,l]=(0,c.useTransition)(),m=a=>{j(b=>({...b,...a})),l(async()=>{try{let b=await g(a);b.ok?(b.data&&j(b.data),d.c.success(b.message??"Saved.")):(j(i),d.c.error(b.error))}catch{j(i),d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})};return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(e.f,{checked:i.enabled,disabled:k,label:"Automatic security fixes",onChange:a=>m({enabled:a})}),(0,b.jsxs)("span",{className:"text-[13px]",children:["Automatic security fixes ",i.enabled?"on":"off"]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1.5 text-[13px] text-ink-soft",children:[(0,b.jsx)("span",{children:"For advisories:"}),h.map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(e.f,{checked:i.severities.includes(a.level),disabled:k||!i.enabled,label:`Severity ${a.label}`,onChange:b=>{let c;return c=a.level,m({severities:h.map(a=>a.level).filter(a=>a===c?b:i.severities.includes(a))})}}),a.label]},a.level)),(0,b.jsx)("span",{children:"· major updates always wait for you"})]}),i.enabled&&!f&&(0,b.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."})]})}],265758)},527955,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("4041d3ef96e5432dad0f877e9c7c28744c8aced495",f.callServer,void 0,f.findSourceMapURL,"dismissNote");a.s(["DismissNoteButton",0,function({id:a}){let[f,h]=(0,c.useTransition)();return(0,b.jsx)(e.K,{variant:"ghost",size:"sm",disabled:f,onClick:()=>h(async()=>{try{let b=await g(a);b.ok?d.c.success(b.message??"Dismissed."):d.c.error(b.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:f?"Dismissing…":"Dismiss"})}],527955)},61024,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("000c9d348ecbe2376452962941643afc4b4e227c55",f.callServer,void 0,f.findSourceMapURL,"regenerateSummary");a.s(["RegenerateButton",0,function({label:a}){let[f,h]=(0,c.useTransition)();return(0,b.jsx)(e.K,{variant:"ghost",size:"sm",disabled:f,className:"-my-0.5 px-1 py-0",onClick:()=>h(async()=>{try{let a=await g();a.ok?d.c.success(a.message??"Done."):d.c.error(a.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:f?"Working…":a})}],61024)},473944,a=>{var b=a.i(187924),c=a.i(402699);let d=(0,a.i(449862).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 e=a.i(572131),f=a.i(823292),g=a.i(619089),h=a.i(901615),i=a.i(405050);let j=(0,i.createServerReference)("40e125fc472c4b04dab848111ea1f124b3f2a2ba3a",i.callServer,void 0,i.findSourceMapURL,"askAntigravity"),k=(0,i.createServerReference)("40f1d424d76b652e17ae52c03ec063ced51b58a6f4",i.callServer,void 0,i.findSourceMapURL,"askWhy");var l=a.i(295914),m=a.i(147474),n=a.i(368114);let o={brand:"border-l-brand",err:"border-l-err",warn:"border-l-warn-icon"};function p({icon:a,tone:c="brand",meta:d,action:e,className:f,children:g}){return(0,b.jsxs)("div",{className:(0,n.f)("flex gap-2.5 rounded-md border border-line border-l-[3px] bg-surface-2 px-3 py-2.5 text-[13px]",o[c],f),children:[(0,b.jsx)("span",{className:"mt-px shrink-0 text-brand",children:a}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[g,d&&(0,b.jsx)("span",{className:"mt-1 block text-[12px] text-ink-faint",children:d})]}),e&&(0,b.jsx)("div",{className:"shrink-0",children:e})]})}var q=a.i(700629);a.s(["WhyAi",0,function({appId:a,provider:i,question:n,nowMs:o,agConnected:r=!1}){let[s,t]=(0,e.useTransition)(),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(null),A=new Date(o),B=n?.status==="pending",C=b=>{z(null),v(b),t(async()=>{try{if("now"===b){let b=await k(a);b.ok&&b.data?x(b.data):b.ok||z(b.error)}else{let b=await j(a);b.ok?b.data?.status==="answered"&&b.data.text?x({text:b.data.text,model:b.data.model??"",ms:b.data.ms??0}):f.c.success(b.message??"Sent."):z(b.error)}}catch{z("Watchbell didn't answer. Check that it's still running, then try again.")}})};return(0,b.jsxs)("div",{className:"border-t border-line pt-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[r?(0,b.jsxs)(b.Fragment,{children:[i&&(0,b.jsxs)(g.K,{size:"sm",disabled:s,onClick:()=>C("now"),children:[(0,b.jsx)(d,{size:15,"aria-hidden":!0}),s&&"now"===u?"Asking…":`Answer now with ${i.model}`]}),(0,b.jsxs)(g.K,{size:"sm",disabled:s||B,onClick:()=>C("ag"),children:[(0,b.jsx)(d,{size:15,"aria-hidden":!0}),s&&"ag"===u?"Sending…":n&&"pending"!==n.status?h.v.askAgain:h.v.ask]})]}):i?(0,b.jsxs)(g.K,{size:"sm",disabled:s,onClick:()=>C("ag"),children:[(0,b.jsx)(d,{size:15,"aria-hidden":!0}),s?"Asking…":`Ask ${i.model}`]}):(0,b.jsx)("span",{className:"text-[13px] text-ink-soft",children:"No AI provider is connected. Connect one under AI Gateway › Bring your own key."}),s&&(0,b.jsx)(q.f,{})]}),(0,b.jsxs)("p",{className:"mt-1.5 text-[12px] text-ink-faint",children:["Sends the problems above with names aliased. ",r?`${i?"Answer now stores nothing; ":""}${h.v.keptNote}`:"The question and its answer are kept for 7 days on AI › Ask."]}),y&&(0,b.jsx)("p",{role:"alert",className:"mt-2 text-[13px] text-err",children:y}),w&&(0,b.jsxs)(p,{className:"mt-2.5",icon:(0,b.jsx)(d,{size:18,"aria-hidden":!0}),meta:`AI \xb7 ${w.model} \xb7 ${(w.ms/1e3).toFixed(1)} s \xb7 sent: the problems above, names aliased \xb7 can be wrong`,children:[(0,b.jsx)("b",{className:"font-medium",children:"What’s likely going on"}),(0,b.jsx)(l.f,{source:w.text})]}),n?.status==="pending"&&(0,b.jsx)(p,{className:"mt-2.5",icon:(0,b.jsx)(c.f,{size:18,className:"animate-spin","aria-hidden":!0}),meta:`Asked ${(0,m.$)(new Date(n.createdAt),A)} \xb7 it answers when it next checks in; this page refreshes by itself`,children:(0,b.jsx)("p",{role:"status",children:h.I.waiting})}),n?.status==="answered"&&n.answer&&(0,b.jsxs)(p,{className:"mt-2.5",icon:(0,b.jsx)(d,{size:18,"aria-hidden":!0}),meta:`AI \xb7 ${[n.client,n.model].filter(Boolean).join(" · ")||h.v.answeredFallback} \xb7 ${n.answeredAt?(0,m.$)(new Date(n.answeredAt),A):""} \xb7 sent: the problems above, names aliased \xb7 written by an agent, can be wrong`,children:[(0,b.jsx)("b",{className:"font-medium",children:"watchpost"===n.client?"The answer":h.v.answerTitle}),(0,b.jsx)(l.f,{source:n.answer})]}),n?.status==="expired"&&(0,b.jsxs)("p",{className:"mt-2.5 text-[12.5px] text-ink-soft",children:[h.v.expired((0,m.$)(new Date(n.createdAt),A))," Check that an agent is connected under AI Gateway › Connect an agent."]})]})}],473944)}]})();
1
+ (()=>{"use strict";module.exports=[338424,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(368114),g=a.i(271288),h=a.i(405050);let i=(0,h.createServerReference)("40682ba8a28a431f2e657c558dfb82f395c43592d0",h.callServer,void 0,h.findSourceMapURL,"saveOfficeAutoRollback");a.s(["AutoRollbackForm",0,function({saved:a,choices:h}){let[j,k]=(0,c.useState)(a),[l,m]=(0,c.useTransition)(),n=a=>{k(b=>({...b,...a})),m(async()=>{try{let b=await i(a);b.ok?(b.data&&k(b.data),d.c.success(b.message??"Saved.")):(k(j),d.c.error(b.error))}catch{k(j),d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})};return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(g.f,{checked:j.enabled,disabled:l,label:"Auto-rollback when a new deploy errors",onChange:a=>n({enabled:a})}),(0,b.jsxs)("span",{className:"text-[13px]",children:["Auto-rollback when a new deploy errors (first ",(0,b.jsx)("span",{className:"font-mono",children:j.windowMin})," minutes)"]})]}),(0,b.jsxs)("label",{className:"inline-flex items-center gap-2 text-[13px] text-ink-soft",children:["Window",(0,b.jsx)("select",{className:(0,f.f)(e.S,"w-auto py-1"),value:j.windowMin,disabled:l,"aria-label":"Auto-rollback window in minutes",onChange:a=>n({windowMin:Number(a.target.value)}),children:h.map(a=>(0,b.jsxs)("option",{value:a,children:[a," min"]},a))})]})]})}],338424)},719354,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(462007),f=a.i(271288),g=a.i(405050);let h=(0,g.createServerReference)("40148874c05af4057e24edaba03b37b920ae65bbed",g.callServer,void 0,g.findSourceMapURL,"saveOfficeAutoRun");a.s(["AutoRunForm",0,function({saved:a,rows:g}){let[i,j]=(0,c.useState)(a),[k,l]=(0,c.useTransition)();return(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:["Action","Auto-run","What it does"]}),(0,b.jsx)("tbody",{children:g.map(a=>(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{className:e.z,children:a.label}),(0,b.jsx)("td",{className:e.z,children:a.risky?(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"selalu minta persetujuan"}):(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(f.f,{checked:i[a.kind],disabled:k,label:`Auto-run: ${a.label}`,onChange:b=>{var c;return c=a.kind,void(j(a=>({...a,[c]:b})),l(async()=>{try{let a=await h({[c]:b});a.ok?(a.data&&j(a.data),d.c.success(a.message??"Saved.")):(j(a=>({...a,[c]:!b})),d.c.error(a.error))}catch{j(a=>({...a,[c]:!b})),d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}))}}),(0,b.jsx)("span",{className:"text-[13px]",children:i[a.kind]?"On":"Off"})]})}),(0,b.jsx)("td",{className:`${e.z} whitespace-normal text-ink-soft`,children:a.what})]},a.kind))})]})})}],719354)},265758,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(271288),f=a.i(405050);let g=(0,f.createServerReference)("40693305696e570a9e62eeac1e01b15301901debaa",f.callServer,void 0,f.findSourceMapURL,"saveOfficeAutoSecurity"),h=[{level:"critical",label:"Critical"},{level:"high",label:"High"},{level:"moderate",label:"Moderate"}];a.s(["AutoSecurityForm",0,function({saved:a,rollbackOn:f}){let[i,j]=(0,c.useState)(a),[k,l]=(0,c.useTransition)(),m=a=>{j(b=>({...b,...a})),l(async()=>{try{let b=await g(a);b.ok?(b.data&&j(b.data),d.c.success(b.message??"Saved.")):(j(i),d.c.error(b.error))}catch{j(i),d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})};return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(e.f,{checked:i.enabled,disabled:k,label:"Automatic security fixes",onChange:a=>m({enabled:a})}),(0,b.jsxs)("span",{className:"text-[13px]",children:["Automatic security fixes ",i.enabled?"on":"off"]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1.5 text-[13px] text-ink-soft",children:[(0,b.jsx)("span",{children:"For advisories:"}),h.map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(e.f,{checked:i.severities.includes(a.level),disabled:k||!i.enabled,label:`Severity ${a.label}`,onChange:b=>{let c;return c=a.level,m({severities:h.map(a=>a.level).filter(a=>a===c?b:i.severities.includes(a))})}}),a.label]},a.level)),(0,b.jsx)("span",{children:"· major updates always wait for you"})]}),i.enabled&&!f&&(0,b.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."})]})}],265758)},527955,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("40d348a686685b6c41d45bd201145ab5593321934f",f.callServer,void 0,f.findSourceMapURL,"dismissAllNotes"),h=(0,f.createServerReference)("40afb05fcb02837269171008e42179d3fa3d20ad9e",f.callServer,void 0,f.findSourceMapURL,"dismissNote");a.s(["DismissAllNotesButton",0,function({ids:a}){let[f,h]=(0,c.useTransition)();return(0,b.jsx)(e.K,{variant:"ghost",size:"sm",disabled:f,onClick:()=>h(async()=>{try{let b=await g(a);b.ok?d.c.success(b.message??"Dismissed."):d.c.error(b.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:f?"Dismissing…":`Dismiss all (${a.length})`})},"DismissNoteButton",0,function({id:a}){let[f,g]=(0,c.useTransition)();return(0,b.jsx)(e.K,{variant:"ghost",size:"sm",disabled:f,onClick:()=>g(async()=>{try{let b=await h(a);b.ok?d.c.success(b.message??"Dismissed."):d.c.error(b.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:f?"Dismissing…":"Dismiss"})}],527955)},61024,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("00f91d3e3e9821c0f3c28bcffa51b180f5d2db798d",f.callServer,void 0,f.findSourceMapURL,"regenerateSummary");a.s(["RegenerateButton",0,function({label:a}){let[f,h]=(0,c.useTransition)();return(0,b.jsx)(e.K,{variant:"ghost",size:"sm",disabled:f,className:"-my-0.5 px-1 py-0",onClick:()=>h(async()=>{try{let a=await g();a.ok?d.c.success(a.message??"Done."):d.c.error(a.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:f?"Working…":a})}],61024)},473944,a=>{var b=a.i(187924),c=a.i(402699);let d=(0,a.i(449862).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 e=a.i(572131),f=a.i(823292),g=a.i(619089),h=a.i(901615),i=a.i(405050);let j=(0,i.createServerReference)("40170e8924094791a6435c13b6b044b33f39cf0395",i.callServer,void 0,i.findSourceMapURL,"askAntigravity"),k=(0,i.createServerReference)("4061aeb4bdc48a0ce7a23cac081352f53bb3d58ed7",i.callServer,void 0,i.findSourceMapURL,"askWhy");var l=a.i(295914),m=a.i(147474),n=a.i(368114);let o={brand:"border-l-brand",err:"border-l-err",warn:"border-l-warn-icon"};function p({icon:a,tone:c="brand",meta:d,action:e,className:f,children:g}){return(0,b.jsxs)("div",{className:(0,n.f)("flex gap-2.5 rounded-md border border-line border-l-[3px] bg-surface-2 px-3 py-2.5 text-[13px]",o[c],f),children:[(0,b.jsx)("span",{className:"mt-px shrink-0 text-brand",children:a}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[g,d&&(0,b.jsx)("span",{className:"mt-1 block text-[12px] text-ink-faint",children:d})]}),e&&(0,b.jsx)("div",{className:"shrink-0",children:e})]})}var q=a.i(700629);a.s(["WhyAi",0,function({appId:a,provider:i,question:n,nowMs:o,agConnected:r=!1}){let[s,t]=(0,e.useTransition)(),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(null),A=new Date(o),B=n?.status==="pending",C=b=>{z(null),v(b),t(async()=>{try{if("now"===b){let b=await k(a);b.ok&&b.data?x(b.data):b.ok||z(b.error)}else{let b=await j(a);b.ok?b.data?.status==="answered"&&b.data.text?x({text:b.data.text,model:b.data.model??"",ms:b.data.ms??0}):f.c.success(b.message??"Sent."):z(b.error)}}catch{z("Watchbell didn't answer. Check that it's still running, then try again.")}})};return(0,b.jsxs)("div",{className:"border-t border-line pt-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[r?(0,b.jsxs)(b.Fragment,{children:[i&&(0,b.jsxs)(g.K,{size:"sm",disabled:s,onClick:()=>C("now"),children:[(0,b.jsx)(d,{size:15,"aria-hidden":!0}),s&&"now"===u?"Asking…":`Answer now with ${i.model}`]}),(0,b.jsxs)(g.K,{size:"sm",disabled:s||B,onClick:()=>C("ag"),children:[(0,b.jsx)(d,{size:15,"aria-hidden":!0}),s&&"ag"===u?"Sending…":n&&"pending"!==n.status?h.v.askAgain:h.v.ask]})]}):i?(0,b.jsxs)(g.K,{size:"sm",disabled:s,onClick:()=>C("ag"),children:[(0,b.jsx)(d,{size:15,"aria-hidden":!0}),s?"Asking…":`Ask ${i.model}`]}):(0,b.jsx)("span",{className:"text-[13px] text-ink-soft",children:"No AI provider is connected. Connect one under AI Gateway › Bring your own key."}),s&&(0,b.jsx)(q.f,{})]}),(0,b.jsxs)("p",{className:"mt-1.5 text-[12px] text-ink-faint",children:["Sends the problems above with names aliased. ",r?`${i?"Answer now stores nothing; ":""}${h.v.keptNote}`:"The question and its answer are kept for 7 days on AI › Ask."]}),y&&(0,b.jsx)("p",{role:"alert",className:"mt-2 text-[13px] text-err",children:y}),w&&(0,b.jsxs)(p,{className:"mt-2.5",icon:(0,b.jsx)(d,{size:18,"aria-hidden":!0}),meta:`AI \xb7 ${w.model} \xb7 ${(w.ms/1e3).toFixed(1)} s \xb7 sent: the problems above, names aliased \xb7 can be wrong`,children:[(0,b.jsx)("b",{className:"font-medium",children:"What’s likely going on"}),(0,b.jsx)(l.f,{source:w.text})]}),n?.status==="pending"&&(0,b.jsx)(p,{className:"mt-2.5",icon:(0,b.jsx)(c.f,{size:18,className:"animate-spin","aria-hidden":!0}),meta:`Asked ${(0,m.$)(new Date(n.createdAt),A)} \xb7 it answers when it next checks in; this page refreshes by itself`,children:(0,b.jsx)("p",{role:"status",children:h.I.waiting})}),n?.status==="answered"&&n.answer&&(0,b.jsxs)(p,{className:"mt-2.5",icon:(0,b.jsx)(d,{size:18,"aria-hidden":!0}),meta:`AI \xb7 ${[n.client,n.model].filter(Boolean).join(" · ")||h.v.answeredFallback} \xb7 ${n.answeredAt?(0,m.$)(new Date(n.answeredAt),A):""} \xb7 sent: the problems above, names aliased \xb7 written by an agent, can be wrong`,children:[(0,b.jsx)("b",{className:"font-medium",children:"watchpost"===n.client?"The answer":h.v.answerTitle}),(0,b.jsx)(l.f,{source:n.answer})]}),n?.status==="expired"&&(0,b.jsxs)("p",{className:"mt-2.5 text-[12.5px] text-ink-soft",children:[h.v.expired((0,m.$)(new Date(n.createdAt),A))," Check that an agent is connected under AI Gateway › Connect an agent."]})]})}],473944)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_private_0iy_wyg2p1jkn._.js.map
@@ -0,0 +1,6 @@
1
+ (()=>{"use strict";module.exports=[484458,a=>{var b=a.i(708636),c=a.i(434711);let d=async()=>({report:null,prefs:{disabled:[],defaultModel:null},allowed:c._}),e=async()=>null,f=async()=>(0,b.C)(null),g=async()=>({conns:[],summary:{listed:0,added:0,removed:0,returned:0,tested:0,ready:0},pending:!1});a.s(["T",0,"ag/","S",0,{modelSync:!1},"d",0,()=>null,"_",0,()=>[],"U",0,()=>!1,"y",0,d,"b",0,f,"V",0,e,"X",0,g])},434711,a=>{let b=["gemini","antigravity","@cf/google/gemma","claude"];function c(a,d=b){if(!a)return!1;let e=a.toLowerCase();return d.some(a=>a.length>0&&e.startsWith(a.toLowerCase()))}let d=/^[A-Za-z0-9@._:/+ ()[\]-]{1,120}$/,e=/^[a-z0-9@._:/+-]{1,120}$/;function f(a){if("string"!=typeof a)return null;let b=a.trim();if(!d.test(b))return null;let c=b.toLowerCase().replace(/[\s()[\]]+/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"");return e.test(c)?c:null}function g(a){let b=a.trim();if(b.startsWith("@"))return b;let c=b.indexOf("/");return c<0?b:b.slice(c+1)}a.s(["_",0,b,"L",0,"ai.defaultModel","I",0,/^[a-z0-9@/._-]{1,80}$/,"e",0,e,"h",0,function(a,d=b){let e=f(a);return e&&c(g(e),d)?e:null},"S",0,c,"R",0,f,"M",0,g])},86657,a=>{var b=a.i(371289),c=a.i(363652),d=a.i(501634);let e={provider:async()=>{if((0,b.W)())return{name:"Demo",model:"demo"};try{let a=await (0,c.M)();return{name:a.conn.name,model:a.publicId}}catch{return null}},appSnapshot:d.w,advice:d.y,complete:c.X};a.s(["f",0,e])},502330,a=>{let b="You are the assistant inside Watchbell, a console that monitors the owner's web apps. Answer only from the data in the user's message. Say so plainly when the data does not cover the question. Never invent names, numbers, dates or causes. Names such as db-a or account-1 are aliases of private names: use them as written and do not guess what they stand for. Be brief and concrete. Short markdown is fine; no HTML.";function c(a,b=300){let d=String(a??"").replace(/[a-z][a-z0-9+.-]*:\/\/\S*/gi,"[url]").replace(/\b(?:wp|hb)_[A-Za-z0-9]{6,}/g,"[secret]").replace(/\b(?:sk-|gsk_|AIza|AQ\.)[A-Za-z0-9_.-]{6,}/g,"[secret]").replace(/postgres(?:ql)?/gi,"[db]").replace(/@/g,"(at)").replace(/\s+/g," ").trim();return d.length>b?`${d.slice(0,b-1)}…`:d}function d(a){let b=[`App: ${c(a.id,80)}`,`State: ${c(a.state,20)}`,`Uptime, last 30 days: ${null===a.uptime30d?"unknown":`${Math.round(100*a.uptime30d)/100}%`}`,`Database: ${a.database?c(a.database,40):"none"}`,`Last deploy: ${a.lastDeploy?c(a.lastDeploy,40):"unknown"}`];return a.problems.length?(b.push("Problems:"),a.problems.slice(0,10).forEach((a,d)=>{b.push(`${d+1}. [${c(a.kind,30)}] ${c(a.where,120)}: ${c(a.what)}${a.fix?` What the console suggests: ${c(a.fix)}`:""}`)})):b.push("Problems: none reported."),b}a.s(["o",0,b,"R",0,function(a){let b=[`Why is the app "${c(a.id,80)}" ${c(a.state,20)}, and what should the owner do first? Answer in short markdown (under 1,500 characters), only from this data; say so if it does not cover the cause.`,"",...d(a)].join("\n");return b.length>2e3?`${b.slice(0,1999)}…`:b},"u",0,function(a,d){let e=JSON.stringify(function a(b,d=0){return"string"==typeof b?c(b):d>4?null:Array.isArray(b)?b.slice(0,50).map(b=>a(b,d+1)):b&&"object"==typeof b?Object.fromEntries(Object.entries(b).slice(0,30).map(([b,e])=>[c(b,40),a(e,d+1)])):"number"==typeof b||"boolean"==typeof b||null===b?b:null}(a),null,1);return[{role:"system",content:b},{role:"user",content:`Console data (scrubbed, generated ${c(a.generatedAt,40)}):
2
+ ${e}
3
+
4
+ Question: ${c(d,2e3)}`}]},"O",0,c,"N",0,function(a){let d=a.slice(0,40).map(a=>`- [${c(a.severity,20)}] ${c(a.title)} (app: ${c(a.app,80)})`);return[{role:"system",content:b},{role:"user",content:[`Summarise these ${a.length} recommendations in two or three sentences, most urgent first. Name each app once.`,"",...d].join("\n")}]},"r",0,function(a){return[{role:"system",content:b},{role:"user",content:["Explain in at most five sentences what is likely going on with this app and what to do first.","",...d(a)].join("\n")}]}])}]})();
5
+
6
+ //# sourceMappingURL=src_private_1yzfhupl3rlpx._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[5862,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(619089),e=a.i(368114),f=a.i(405050);let g=(0,f.createServerReference)("6053025491d98baab6027ded0cc089b84bffa00fb1",f.callServer,void 0,f.findSourceMapURL,"decideProposalForm");a.s(["DecideForm",0,function({id:a}){let[f,h,i]=(0,c.useActionState)(g,null);return(0,b.jsxs)("form",{action:h,className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("input",{type:"hidden",name:"id",value:a}),(0,b.jsx)("button",{type:"submit",name:"decision",value:"approve",disabled:i,className:(0,d.R)({variant:"primary",size:"sm"}),children:"Approve"}),(0,b.jsx)("button",{type:"submit",name:"decision",value:"reject",disabled:i,className:(0,d.R)({size:"sm"}),children:"Reject"}),i&&(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",role:"status",children:"Working…"}),!i&&f&&(0,b.jsx)("span",{className:(0,e.f)("text-[12.5px]",f.ok?"text-ink-soft":"text-err"),role:f.ok?"status":"alert",children:f.ok?f.message:f.error})]})}],5862)}];
1
+ module.exports=[5862,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(619089),e=a.i(368114),f=a.i(405050);let g=(0,f.createServerReference)("60d122776d99a003fa16739f7845e4851c360a30c1",f.callServer,void 0,f.findSourceMapURL,"decideProposalForm");a.s(["DecideForm",0,function({id:a}){let[f,h,i]=(0,c.useActionState)(g,null);return(0,b.jsxs)("form",{action:h,className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("input",{type:"hidden",name:"id",value:a}),(0,b.jsx)("button",{type:"submit",name:"decision",value:"approve",disabled:i,className:(0,d.R)({variant:"primary",size:"sm"}),children:"Approve"}),(0,b.jsx)("button",{type:"submit",name:"decision",value:"reject",disabled:i,className:(0,d.R)({size:"sm"}),children:"Reject"}),i&&(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",role:"status",children:"Working…"}),!i&&f&&(0,b.jsx)("span",{className:(0,e.f)("text-[12.5px]",f.ok?"text-ink-soft":"text-err"),role:f.ok?"status":"alert",children:f.ok?f.message:f.error})]})}],5862)}];
2
2
 
3
3
  //# sourceMappingURL=src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[804224,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(379416),e=a.i(26972),f=a.i(427221),g=a.i(83931),h=a.i(600079),i=a.i(109307),j=a.i(312573),k=a.i(323878),l=a.i(601219),m=a.i(931256),n=a.i(711672),o=a.i(208683),p=a.i(713095);let q={requireActionMember:i.g},r=d.z.uuid(),s=e.z.object({apiKey:f.z.string().max(500).optional(),accountId:f.z.string().max(64).optional(),baseUrl:f.z.string().max(300).optional(),name:f.z.string().max(60).optional(),makeDefault:g.z.boolean().optional()});function t(){for(let a of["/ai","/ai/providers","/ai/models","/ai/quota","/ai/playground"])(0,c.revalidatePath)(a)}async function u(a,b,c,d){try{await (0,l.f)([{type:"action",kind:"ok",message:b.slice(0,200),detail:`provider ${c}`,resourceId:null,actorUserId:d,reason:a}])}catch{console.warn("provider audit failed")}}let v=a=>a.ok?{ok:!0,message:a.message}:{ok:!1,error:a.error,fieldErrors:a.fieldErrors},w={ok:!1,error:"That connection no longer exists."};async function x(a){let b=await (0,k.C)(j.t.credential,a);return b.allowed?null:{ok:!1,error:`Too many connection tests. Try again in ${(0,j.H)(b.retryAfter)}.`}}async function y(a,b){return(0,h.F)("owner",async c=>{let d=s.safeParse(b);if(!d.success)return{ok:!1,error:"Check the fields."};let e=await x(c.id);if(e)return e;let f=await n.u(a,d.data);if(f.ok){t();let b="custom"===a?d.data.name?.trim()||"Custom":(0,m.W)(a)?m.M[a].name:a;await u("AiProviderConnected",`AI provider connected: ${b}`,a,c.userId)}return f},q)}async function z(a,b){return(0,h.F)("owner",async c=>{let d=s.safeParse(b);if(!r.safeParse(a).success||!d.success)return w;let e=await x(c.id);if(e)return e;let f=await n.Q(a,d.data);return f.ok?(t(),f.data&&await u("AiProviderKeyReplaced",`AI provider key replaced: ${f.data.name}`,f.data.kind,c.userId),{ok:!0,message:f.message,data:{models:f.data?.models??[]}}):v(f)},q)}async function A(a){return(0,h.F)("owner",async b=>{if(!r.safeParse(a).success)return w;let c=await x(b.id);if(c)return c;let d=await n.q(a);return t(),d},q)}async function B(a,b){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success)return w;let c=await n.k(a,!0===b);return t(),c},q)}async function C(a){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success)return w;let b=await n.E(a);return t(),b},q)}async function D(a){return(0,h.F)("owner",async b=>{if(!r.safeParse(a).success)return w;let c=await n.s(a);return t(),c.ok&&c.data&&await u("AiProviderRemoved",`AI provider removed: ${c.data.name}`,c.data.kind,b.userId),v(c)},q)}async function E(a,b,c){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success||"string"!=typeof b||b.length>200)return w;let d=await n.V(a,b,!0===c);return t(),d},q)}async function F(a,b){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success)return w;let c=await n.F(a,b);return t(),c},q)}let G={ok:!1,error:"Use 1–120 letters, digits or . _ : / @ - for the model id."};async function H(a){let b=await (0,k.C)(j.t.monitorWrite,a);return b.allowed?null:{ok:!1,error:`Too many changes. Try again in ${(0,j.H)(b.retryAfter)}.`}}function I(a){let b="string"==typeof a?a.trim():"";return o.a.test(b)?b:null}async function J(a,b){return(0,h.F)("owner",async c=>{let d=I(b);if(!d)return G;if(!r.safeParse(a).success)return w;let e=await H(c.id);if(e)return e;let f=await n.z(a,d);return f.ok&&(t(),f.data&&await u("AiModelAdded",`AI model added on ${f.data.name}: ${d}`,"custom",c.userId)),v(f)},q)}async function K(a,b){return(0,h.F)("owner",async c=>{let d=I(b);if(!d)return G;if(!r.safeParse(a).success)return w;let e=await H(c.id);if(e)return e;let f=await n.O(a,d);return f.ok&&(t(),f.data&&await u("AiModelRemoved",`AI model removed from ${f.data.name}: ${d}`,"custom",c.userId)),v(f)},q)}(0,p.ensureServerEntryExports)([y,z,A,B,C,D,E,F,J,K]),(0,b.registerServerReference)(y,"60fe0f89cd4d0c8498faf0c81ce69da20b8d6c9ac0",null),(0,b.registerServerReference)(z,"60a44bc6bf022940a7e5e84a7454e58870ce1b2d17",null),(0,b.registerServerReference)(A,"40801e6978dba3a6b5fc710afcd823bfe7a8e4965a",null),(0,b.registerServerReference)(B,"604afb59a110e1dad1ab048382c788ae6f4e119282",null),(0,b.registerServerReference)(C,"404095c00162f635aba9a175585f9a199642e91fb6",null),(0,b.registerServerReference)(D,"4062ac90df61fb5fc971fad9c124c2585849aa2bae",null),(0,b.registerServerReference)(E,"707fe44fe96ff32be3f2d4e46cff688e3761377d4c",null),(0,b.registerServerReference)(F,"60d2febbd755bffb8c76447e309fa3e965e41bbf3a",null),(0,b.registerServerReference)(J,"60050f7d39c1cd4d89e8827f98342b9dde7b20214d",null),(0,b.registerServerReference)(K,"603f9e20a20006587f333b145fefb8c4856bcfb06d",null),a.s(["z",0,J,"E",0,y,"d",0,C,"O",0,K,"a",0,D,"g",0,z,"e",0,B,"N",0,A])}];
1
+ module.exports=[804224,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(379416),e=a.i(26972),f=a.i(427221),g=a.i(83931),h=a.i(600079),i=a.i(109307),j=a.i(312573),k=a.i(323878),l=a.i(601219),m=a.i(931256),n=a.i(711672),o=a.i(208683),p=a.i(713095);let q={requireActionMember:i.g},r=d.z.uuid(),s=e.z.object({apiKey:f.z.string().max(500).optional(),accountId:f.z.string().max(64).optional(),baseUrl:f.z.string().max(300).optional(),name:f.z.string().max(60).optional(),makeDefault:g.z.boolean().optional()});function t(){for(let a of["/ai","/ai/providers","/ai/models","/ai/quota","/ai/playground"])(0,c.revalidatePath)(a)}async function u(a,b,c,d){try{await (0,l.f)([{type:"action",kind:"ok",message:b.slice(0,200),detail:`provider ${c}`,resourceId:null,actorUserId:d,reason:a}])}catch{console.warn("provider audit failed")}}let v=a=>a.ok?{ok:!0,message:a.message}:{ok:!1,error:a.error,fieldErrors:a.fieldErrors},w={ok:!1,error:"That connection no longer exists."};async function x(a){let b=await (0,k.C)(j.t.credential,a);return b.allowed?null:{ok:!1,error:`Too many connection tests. Try again in ${(0,j.H)(b.retryAfter)}.`}}async function y(a,b){return(0,h.F)("owner",async c=>{let d=s.safeParse(b);if(!d.success)return{ok:!1,error:"Check the fields."};let e=await x(c.id);if(e)return e;let f=await n.u(a,d.data);if(f.ok){t();let b="custom"===a?d.data.name?.trim()||"Custom":(0,m.W)(a)?m.M[a].name:a;await u("AiProviderConnected",`AI provider connected: ${b}`,a,c.userId)}return f},q)}async function z(a,b){return(0,h.F)("owner",async c=>{let d=s.safeParse(b);if(!r.safeParse(a).success||!d.success)return w;let e=await x(c.id);if(e)return e;let f=await n.Q(a,d.data);return f.ok?(t(),f.data&&await u("AiProviderKeyReplaced",`AI provider key replaced: ${f.data.name}`,f.data.kind,c.userId),{ok:!0,message:f.message,data:{models:f.data?.models??[]}}):v(f)},q)}async function A(a){return(0,h.F)("owner",async b=>{if(!r.safeParse(a).success)return w;let c=await x(b.id);if(c)return c;let d=await n.q(a);return t(),d},q)}async function B(a,b){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success)return w;let c=await n.k(a,!0===b);return t(),c},q)}async function C(a){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success)return w;let b=await n.E(a);return t(),b},q)}async function D(a){return(0,h.F)("owner",async b=>{if(!r.safeParse(a).success)return w;let c=await n.s(a);return t(),c.ok&&c.data&&await u("AiProviderRemoved",`AI provider removed: ${c.data.name}`,c.data.kind,b.userId),v(c)},q)}async function E(a,b,c){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success||"string"!=typeof b||b.length>200)return w;let d=await n.V(a,b,!0===c);return t(),d},q)}async function F(a,b){return(0,h.F)("owner",async()=>{if(!r.safeParse(a).success)return w;let c=await n.F(a,b);return t(),c},q)}let G={ok:!1,error:"Use 1–120 letters, digits or . _ : / @ - for the model id."};async function H(a){let b=await (0,k.C)(j.t.monitorWrite,a);return b.allowed?null:{ok:!1,error:`Too many changes. Try again in ${(0,j.H)(b.retryAfter)}.`}}function I(a){let b="string"==typeof a?a.trim():"";return o.a.test(b)?b:null}async function J(a,b){return(0,h.F)("owner",async c=>{let d=I(b);if(!d)return G;if(!r.safeParse(a).success)return w;let e=await H(c.id);if(e)return e;let f=await n.z(a,d);return f.ok&&(t(),f.data&&await u("AiModelAdded",`AI model added on ${f.data.name}: ${d}`,"custom",c.userId)),v(f)},q)}async function K(a,b){return(0,h.F)("owner",async c=>{let d=I(b);if(!d)return G;if(!r.safeParse(a).success)return w;let e=await H(c.id);if(e)return e;let f=await n.O(a,d);return f.ok&&(t(),f.data&&await u("AiModelRemoved",`AI model removed from ${f.data.name}: ${d}`,"custom",c.userId)),v(f)},q)}(0,p.ensureServerEntryExports)([y,z,A,B,C,D,E,F,J,K]),(0,b.registerServerReference)(y,"60c204c3e0eed17c0703b5924dbddded8ce6846a1f",null),(0,b.registerServerReference)(z,"60178f95e56fc4ce26360ddffd664131c848e0bd3c",null),(0,b.registerServerReference)(A,"4030f0bda9064c3c87028f8a365e392cf7cd949165",null),(0,b.registerServerReference)(B,"60eedc1b79353a4c18e7b4583389df1b8aa0b0f1db",null),(0,b.registerServerReference)(C,"40661896ffd489fce1c0e5b7b7b66adccb0dcb3e96",null),(0,b.registerServerReference)(D,"402f8e63c2bacd0927432b019f7a300b20f2bdd54a",null),(0,b.registerServerReference)(E,"700a32dcec107708a274a46919ef57e9ccb1bbf28b",null),(0,b.registerServerReference)(F,"60f8fbba2cc4627ee396111f7518a191768f95d732",null),(0,b.registerServerReference)(J,"60408d7fe309e69adfc8e186be307ecde7e787517e",null),(0,b.registerServerReference)(K,"60183f97bf4ffc829dd489de3a8170ec212d33a765",null),a.s(["z",0,J,"E",0,y,"d",0,C,"O",0,K,"a",0,D,"g",0,z,"e",0,B,"N",0,A])}];
2
2
 
3
3
  //# sourceMappingURL=src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[861600,294965,598513,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(600079),e=a.i(109307),f=a.i(221084),g=a.i(312573),h=a.i(323878),i=a.i(920274),j=a.i(713095);async function k(a){return(0,d.F)("owner",async b=>{if("string"!=typeof a||!(0,i.b)(a))return{ok:!1,error:"Something in that request wasn't valid."};let d=await (0,h.C)(g.t.monitorWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,g.H)(d.retryAfter)}.`};let e=await (0,i.$)(a,b.userId,new Date);if(!e)return{ok:!1,error:"That note was already dismissed."};try{await (0,f.f)({kind:"ok",message:`AI note dismissed: ${e.title.slice(0,120)}`,detail:`AiNoteDismissed \xb7 from ${e.from.slice(0,60)}`,resourceId:e.appId&&(0,i.b)(e.appId)?e.appId:null,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,c.refresh)(),{ok:!0,message:"Note dismissed."}},{requireActionMember:e.g},"local")}(0,j.ensureServerEntryExports)([k]),(0,b.registerServerReference)(k,"4041d3ef96e5432dad0f877e9c7c28744c8aced495",null),a.s(["f",0,k],861600);var l=a.i(462820);let m={name:"ai-assist",max:20,windowSeconds:600};var n=a.i(86657),o=a.i(502330),p=a.i(425238);let q="That model isn't available. Pick another one or Default.";var r=a.i(918962),s=a.i(962230),t=a.i(779704);let u={ok:!1,error:"Something in that request wasn't valid."},v=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function w(a){let b=await (0,h.C)(m,a);return b.allowed?null:`Too many AI requests. Try again in ${(0,g.H)(b.retryAfter)}.`}function x(a){return a instanceof Error&&"GatewayError"===a.name?a.message.slice(0,300):"The AI provider couldn't answer. Try again."}async function y(a){return(0,d.F)("owner",async b=>{if("string"!=typeof a||!v.test(a))return u;let c=await w(b.id);if(c)return{ok:!1,error:c};if(!await n.f.provider())return{ok:!1,error:l.B.noProvider};let d=await n.f.appSnapshot(a,new Date);if(!d)return{ok:!1,error:"That application wasn't found."};try{let a=await n.f.complete((0,o.r)(d),{purpose:"ask-ai",maxTokens:500}),b=a.text.trim();if(!b)return{ok:!1,error:"The model returned no text. Try again."};return{ok:!0,data:{text:b,model:a.model,ms:a.ms}}}catch(a){return{ok:!1,error:x(a)}}},{requireActionMember:e.g},"local")}async function z(a){return(0,d.F)("owner",async b=>{if("string"!=typeof a||!v.test(a))return u;let d=await w(b.id);if(d)return{ok:!1,error:d};let e=new Date,g=await n.f.appSnapshot(a,e);if(!g)return{ok:!1,error:"That application wasn't found."};let h=(0,o.R)(g),i=await (0,r.c)(e);if(!i.agConnected)return i.providerReady?A({kind:"app",contextId:a,question:h,by:b.userId,askedAt:e}):{ok:!1,error:"No AI provider is connected. Connect one under AI Gateway › Bring your own key."};let j=await (0,s._)({kind:"app",contextId:a,question:h,by:b.userId,now:e});if(!j.ok)return{ok:!1,error:j.error};if(!j.reused)try{await (0,f.f)({kind:"ok",message:l.B.queuedAudit(g.id.slice(0,80)),resourceId:a,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,c.refresh)(),{ok:!0,message:j.reused?l.B.alreadyWaiting:l.B.sentApp,data:{id:j.id,status:"pending"}}},{requireActionMember:e.g})}async function A(a){let b;try{b=await (0,r.L)(a.question,{model:a.model,now:a.askedAt})}catch(a){return console.warn("ask: provider failed:",a instanceof Error?a.name:"unknown"),{ok:!1,error:x(a)}}let d=await (0,s.Y)({kind:a.kind,contextId:a.contextId,question:a.question,by:a.by,askedAt:a.askedAt,answeredAt:new Date,answer:b.text,client:r.q,model:b.model});return(0,c.refresh)(),{ok:!0,message:`Answered by ${b.model} in ${(b.ms/1e3).toFixed(1)} s.`,data:{id:d.id,status:"answered",text:b.text,model:b.model,ms:b.ms}}}async function B(a,b){return(0,d.F)("owner",async d=>{let e,g=(e="string"==typeof a?a.trim():"")?e.length>2e3?{ok:!1,error:"A question can be up to 2000 characters."}:(0,p.G)(e)?{ok:!1,error:"That looks like a key or token. Remove it before sending."}:{ok:!0,question:e}:{ok:!1,error:"Type a question first."};if(!g.ok)return{ok:!1,error:g.error};let h=new Date,i=function(a,b){let c="string"==typeof a?a.trim():"";if(!c)return b.providerReady?{via:"provider"}:b.agConnected?{via:"antigravity",model:null}:{via:"none",error:"No AI provider is connected. Connect one under AI Gateway › Bring your own key."};if(c.length>200)return{via:"none",error:q};if(c.startsWith("ag/")){let a=c.slice(3);return b.agConnected&&b.agEnabled.includes(a)?{via:"antigravity",model:a}:{via:"none",error:q}}return b.agConnected&&b.agEnabled.includes(c)?{via:"antigravity",model:c}:{via:"provider",model:c}}(b,await (0,r.c)(h));if("none"===i.via)return{ok:!1,error:i.error};let j=await w(d.id);if(j)return{ok:!1,error:j};if("provider"===i.via)return A({kind:"general",contextId:null,question:g.question,by:d.userId,askedAt:h,model:i.model});let k=i.model,m=await (0,s._)({kind:"general",contextId:null,question:g.question,by:d.userId,now:h,model:k});if(!m.ok)return{ok:!1,error:m.error};if(!m.reused)try{await (0,f.f)({kind:"ok",message:l.B.queuedAudit("general"),resourceId:null,actorUserId:d.userId})}catch{console.warn("audit event failed")}return(0,c.refresh)(),{ok:!0,message:m.reused?l.B.alreadyWaiting:l.B.sentGeneral,data:{id:m.id,status:"pending"}}},{requireActionMember:e.g})}async function C(a){return(0,d.F)("owner",async b=>{if("string"!=typeof a||!v.test(a))return u;let c=await (0,s.F)(a,b.userId,new Date);return c?{ok:!0,data:{status:c.status,answer:c.answer,model:c.model??c.requestedModel,answeredAt:c.answeredAt?c.answeredAt.toISOString():null}}:{ok:!1,error:"That question wasn't found. It may have been cleaned up."}},{requireActionMember:e.g})}async function D(){return(0,d.F)("owner",async a=>{let b=await w(a.id);if(b)return{ok:!1,error:b};try{let a=await (0,t.E)(new Date,{force:!0});if("no-provider"===a.status)return{ok:!1,error:"No AI provider is connected."};if("empty"===a.status)return{ok:!1,error:"There are no recommendations to summarise."}}catch(a){return{ok:!1,error:x(a)}}return(0,c.refresh)(),{ok:!0,message:"Summary updated."}},{requireActionMember:e.g})}(0,j.ensureServerEntryExports)([y,z,B,C,D]),(0,b.registerServerReference)(y,"40f1d424d76b652e17ae52c03ec063ced51b58a6f4",null),(0,b.registerServerReference)(z,"40e125fc472c4b04dab848111ea1f124b3f2a2ba3a",null),(0,b.registerServerReference)(B,"601b98cf9f43e5ceee452716a736561f1d25bdbbeb",null),(0,b.registerServerReference)(C,"409e7a258188b6cded6c7c6a9dd25a13da03238f13",null),(0,b.registerServerReference)(D,"000c9d348ecbe2376452962941643afc4b4e227c55",null),a.s(["G",0,z,"B",0,B,"T",0,y,"P",0,C,"E",0,D],294965);var E=a.i(94473),F=a.i(188282);let G={requireActionMember:a=>(0,e.g)(a)};async function H(a){return(0,d.F)("owner",async b=>{let d=await (0,h.C)(g.t.alertWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,g.H)(d.retryAfter)}.`};try{let d=await (0,E.m)(a,b);(0,c.revalidatePath)("/settings");let e=Object.keys(a??{}),f=1===e.length&&F.H[e[0]]?.risk==="safe"?`${F.H[e[0]].label}: auto-run ${d[e[0]]?"on":"off"}.`:l.X.autoRunSaved;return{ok:!0,message:f,data:d}}catch(a){if(a instanceof E.s)return{ok:!1,error:"Something in that request wasn't valid."};throw a}},G,"local")}async function I(a){return(0,d.F)("owner",async b=>{let d=await (0,h.C)(g.t.alertWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,g.H)(d.retryAfter)}.`};try{let d=await (0,E.C)(a,b);return(0,c.revalidatePath)("/settings"),{ok:!0,message:`Auto-rollback ${d.enabled?"on":"off"} \xb7 first ${d.windowMin} minutes.`,data:d}}catch(a){if(a instanceof E.s)return{ok:!1,error:"Something in that request wasn't valid."};throw a}},G,"local")}async function J(a){return(0,d.F)("owner",async b=>{let d=await (0,h.C)(g.t.alertWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,g.H)(d.retryAfter)}.`};try{let d=await (0,E.o)(a,b);return(0,c.revalidatePath)("/settings"),{ok:!0,message:`Automatic security fixes ${d.enabled?"on":"off"}.`,data:d}}catch(a){if(a instanceof E.s)return{ok:!1,error:"Something in that request wasn't valid."};throw a}},G,"local")}(0,j.ensureServerEntryExports)([H,I,J]),(0,b.registerServerReference)(H,"40c545571afb463110a2846227eb11c343d1cf13e1",null),(0,b.registerServerReference)(I,"403088bf67ebad30dbea857c3e962c2e284ffac9ca",null),(0,b.registerServerReference)(J,"40b29d80ab43b135db8aaf2541a0595eb6b7bf06c1",null),a.s(["G",0,I,"m",0,H,"F",0,J],598513)}];
1
+ module.exports=[861600,294965,598513,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(600079),e=a.i(109307),f=a.i(221084),g=a.i(312573),h=a.i(323878),i=a.i(920274),j=a.i(713095);async function k(a){return(0,d.F)("owner",async b=>{if("string"!=typeof a||!(0,i.b)(a))return{ok:!1,error:"Something in that request wasn't valid."};let d=await (0,h.C)(g.t.monitorWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,g.H)(d.retryAfter)}.`};let e=await (0,i.$)(a,b.userId,new Date);if(!e)return{ok:!1,error:"That note was already dismissed."};try{await (0,f.f)({kind:"ok",message:`AI note dismissed: ${e.title.slice(0,120)}`,detail:`AiNoteDismissed \xb7 from ${e.from.slice(0,60)}`,resourceId:e.appId&&(0,i.b)(e.appId)?e.appId:null,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,c.refresh)(),{ok:!0,message:"Note dismissed."}},{requireActionMember:e.g},"local")}async function l(a){return(0,d.F)("owner",async b=>{if(!Array.isArray(a)||!a.length||a.length>i.Z||!a.every(a=>"string"==typeof a&&(0,i.b)(a)))return{ok:!1,error:"Something in that request wasn't valid."};let d=await (0,h.C)(g.t.monitorWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,g.H)(d.retryAfter)}.`};let e=await (0,i.d)([...new Set(a)],b.userId,new Date);if(!e)return{ok:!1,error:"Those notes were already dismissed."};try{await (0,f.f)({kind:"ok",message:`${e} AI ${1===e?"note":"notes"} dismissed`,detail:"AiNotesDismissed",resourceId:null,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,c.refresh)(),{ok:!0,message:1===e?"Note dismissed.":`${e} notes dismissed.`}},{requireActionMember:e.g},"local")}(0,j.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40afb05fcb02837269171008e42179d3fa3d20ad9e",null),(0,b.registerServerReference)(l,"40d348a686685b6c41d45bd201145ab5593321934f",null),a.s(["R",0,l,"B",0,k],861600);var m=a.i(462820);let n={name:"ai-assist",max:20,windowSeconds:600};var o=a.i(86657),p=a.i(502330),q=a.i(425238);let r="That model isn't available. Pick another one or Default.";var s=a.i(918962),t=a.i(962230),u=a.i(779704);let v={ok:!1,error:"Something in that request wasn't valid."},w=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function x(a){let b=await (0,h.C)(n,a);return b.allowed?null:`Too many AI requests. Try again in ${(0,g.H)(b.retryAfter)}.`}function y(a){return a instanceof Error&&"GatewayError"===a.name?a.message.slice(0,300):"The AI provider couldn't answer. Try again."}async function z(a){return(0,d.F)("owner",async b=>{if("string"!=typeof a||!w.test(a))return v;let c=await x(b.id);if(c)return{ok:!1,error:c};if(!await o.f.provider())return{ok:!1,error:m.B.noProvider};let d=await o.f.appSnapshot(a,new Date);if(!d)return{ok:!1,error:"That application wasn't found."};try{let a=await o.f.complete((0,p.r)(d),{purpose:"ask-ai",maxTokens:500}),b=a.text.trim();if(!b)return{ok:!1,error:"The model returned no text. Try again."};return{ok:!0,data:{text:b,model:a.model,ms:a.ms}}}catch(a){return{ok:!1,error:y(a)}}},{requireActionMember:e.g},"local")}async function A(a){return(0,d.F)("owner",async b=>{if("string"!=typeof a||!w.test(a))return v;let d=await x(b.id);if(d)return{ok:!1,error:d};let e=new Date,g=await o.f.appSnapshot(a,e);if(!g)return{ok:!1,error:"That application wasn't found."};let h=(0,p.R)(g),i=await (0,s.c)(e);if(!i.agConnected)return i.providerReady?B({kind:"app",contextId:a,question:h,by:b.userId,askedAt:e}):{ok:!1,error:"No AI provider is connected. Connect one under AI Gateway › Bring your own key."};let j=await (0,t._)({kind:"app",contextId:a,question:h,by:b.userId,now:e});if(!j.ok)return{ok:!1,error:j.error};if(!j.reused)try{await (0,f.f)({kind:"ok",message:m.B.queuedAudit(g.id.slice(0,80)),resourceId:a,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,c.refresh)(),{ok:!0,message:j.reused?m.B.alreadyWaiting:m.B.sentApp,data:{id:j.id,status:"pending"}}},{requireActionMember:e.g})}async function B(a){let b;try{b=await (0,s.L)(a.question,{model:a.model,now:a.askedAt})}catch(a){return console.warn("ask: provider failed:",a instanceof Error?a.name:"unknown"),{ok:!1,error:y(a)}}let d=await (0,t.Y)({kind:a.kind,contextId:a.contextId,question:a.question,by:a.by,askedAt:a.askedAt,answeredAt:new Date,answer:b.text,client:s.q,model:b.model});return(0,c.refresh)(),{ok:!0,message:`Answered by ${b.model} in ${(b.ms/1e3).toFixed(1)} s.`,data:{id:d.id,status:"answered",text:b.text,model:b.model,ms:b.ms}}}async function C(a,b){return(0,d.F)("owner",async d=>{let e,g=(e="string"==typeof a?a.trim():"")?e.length>2e3?{ok:!1,error:"A question can be up to 2000 characters."}:(0,q.G)(e)?{ok:!1,error:"That looks like a key or token. Remove it before sending."}:{ok:!0,question:e}:{ok:!1,error:"Type a question first."};if(!g.ok)return{ok:!1,error:g.error};let h=new Date,i=function(a,b){let c="string"==typeof a?a.trim():"";if(!c)return b.providerReady?{via:"provider"}:b.agConnected?{via:"antigravity",model:null}:{via:"none",error:"No AI provider is connected. Connect one under AI Gateway › Bring your own key."};if(c.length>200)return{via:"none",error:r};if(c.startsWith("ag/")){let a=c.slice(3);return b.agConnected&&b.agEnabled.includes(a)?{via:"antigravity",model:a}:{via:"none",error:r}}return b.agConnected&&b.agEnabled.includes(c)?{via:"antigravity",model:c}:{via:"provider",model:c}}(b,await (0,s.c)(h));if("none"===i.via)return{ok:!1,error:i.error};let j=await x(d.id);if(j)return{ok:!1,error:j};if("provider"===i.via)return B({kind:"general",contextId:null,question:g.question,by:d.userId,askedAt:h,model:i.model});let k=i.model,l=await (0,t._)({kind:"general",contextId:null,question:g.question,by:d.userId,now:h,model:k});if(!l.ok)return{ok:!1,error:l.error};if(!l.reused)try{await (0,f.f)({kind:"ok",message:m.B.queuedAudit("general"),resourceId:null,actorUserId:d.userId})}catch{console.warn("audit event failed")}return(0,c.refresh)(),{ok:!0,message:l.reused?m.B.alreadyWaiting:m.B.sentGeneral,data:{id:l.id,status:"pending"}}},{requireActionMember:e.g})}async function D(a){return(0,d.F)("owner",async b=>{if("string"!=typeof a||!w.test(a))return v;let c=await (0,t.F)(a,b.userId,new Date);return c?{ok:!0,data:{status:c.status,answer:c.answer,model:c.model??c.requestedModel,answeredAt:c.answeredAt?c.answeredAt.toISOString():null}}:{ok:!1,error:"That question wasn't found. It may have been cleaned up."}},{requireActionMember:e.g})}async function E(){return(0,d.F)("owner",async a=>{let b=await x(a.id);if(b)return{ok:!1,error:b};try{let a=await (0,u.E)(new Date,{force:!0});if("no-provider"===a.status)return{ok:!1,error:"No AI provider is connected."};if("empty"===a.status)return{ok:!1,error:"There are no recommendations to summarise."}}catch(a){return{ok:!1,error:y(a)}}return(0,c.refresh)(),{ok:!0,message:"Summary updated."}},{requireActionMember:e.g})}(0,j.ensureServerEntryExports)([z,A,C,D,E]),(0,b.registerServerReference)(z,"4061aeb4bdc48a0ce7a23cac081352f53bb3d58ed7",null),(0,b.registerServerReference)(A,"40170e8924094791a6435c13b6b044b33f39cf0395",null),(0,b.registerServerReference)(C,"6014f0de7fffd8bb4e3ae7fa88b91384de46bd2109",null),(0,b.registerServerReference)(D,"40584cbe33c99b40d44a45839c07e58d66cb070813",null),(0,b.registerServerReference)(E,"00f91d3e3e9821c0f3c28bcffa51b180f5d2db798d",null),a.s(["G",0,A,"B",0,C,"T",0,z,"P",0,D,"E",0,E],294965);var F=a.i(94473),G=a.i(188282);let H={requireActionMember:a=>(0,e.g)(a)};async function I(a){return(0,d.F)("owner",async b=>{let d=await (0,h.C)(g.t.alertWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,g.H)(d.retryAfter)}.`};try{let d=await (0,F.m)(a,b);(0,c.revalidatePath)("/settings");let e=Object.keys(a??{}),f=1===e.length&&G.H[e[0]]?.risk==="safe"?`${G.H[e[0]].label}: auto-run ${d[e[0]]?"on":"off"}.`:m.X.autoRunSaved;return{ok:!0,message:f,data:d}}catch(a){if(a instanceof F.s)return{ok:!1,error:"Something in that request wasn't valid."};throw a}},H,"local")}async function J(a){return(0,d.F)("owner",async b=>{let d=await (0,h.C)(g.t.alertWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,g.H)(d.retryAfter)}.`};try{let d=await (0,F.C)(a,b);return(0,c.revalidatePath)("/settings"),{ok:!0,message:`Auto-rollback ${d.enabled?"on":"off"} \xb7 first ${d.windowMin} minutes.`,data:d}}catch(a){if(a instanceof F.s)return{ok:!1,error:"Something in that request wasn't valid."};throw a}},H,"local")}async function K(a){return(0,d.F)("owner",async b=>{let d=await (0,h.C)(g.t.alertWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,g.H)(d.retryAfter)}.`};try{let d=await (0,F.o)(a,b);return(0,c.revalidatePath)("/settings"),{ok:!0,message:`Automatic security fixes ${d.enabled?"on":"off"}.`,data:d}}catch(a){if(a instanceof F.s)return{ok:!1,error:"Something in that request wasn't valid."};throw a}},H,"local")}(0,j.ensureServerEntryExports)([I,J,K]),(0,b.registerServerReference)(I,"40148874c05af4057e24edaba03b37b920ae65bbed",null),(0,b.registerServerReference)(J,"40682ba8a28a431f2e657c558dfb82f395c43592d0",null),(0,b.registerServerReference)(K,"40693305696e570a9e62eeac1e01b15301901debaa",null),a.s(["G",0,J,"m",0,I,"F",0,K],598513)}];
2
2
 
3
3
  //# sourceMappingURL=src_private_notes_notes-actions_ts_1g63g8u965fhc._.js.map
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
7
7
  "static/chunks/0cz1d0mv5g_q7.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/00kxZsHPpI3WSDxVn1e4b/_buildManifest.js",
11
- "static/00kxZsHPpI3WSDxVn1e4b/_ssgManifest.js",
12
- "static/00kxZsHPpI3WSDxVn1e4b/_clientMiddlewareManifest.js"
10
+ "static/u0RcJ9L5FEEUdENisty65/_buildManifest.js",
11
+ "static/u0RcJ9L5FEEUdENisty65/_ssgManifest.js",
12
+ "static/u0RcJ9L5FEEUdENisty65/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/149lk0boxihnl.js",
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="XrSICW_variable XIXyIG_variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/1tg1mstvws8rj.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/149lk0boxihnl.js"/><script src="/_next/static/chunks/242x7dx0zu3hf.js" async=""></script><script src="/_next/static/chunks/37zqf9hef7g0k.js" async=""></script><script src="/_next/static/chunks/3mb_v650fie_i.js" async=""></script><script src="/_next/static/chunks/turbopack-3-ry682tkyiqk.js" async=""></script><script src="/_next/static/chunks/0a-rekt06v0sv.js" async=""></script><script src="/_next/static/chunks/2cbfp1_wsn0oh.js" async=""></script><script src="/_next/static/chunks/1j7e6cd8t5jar.js" async=""></script><script src="/_next/static/chunks/0iyozrryj1w49.js" async=""></script><script src="/_next/static/chunks/3odrzjmblvoxt.js" async=""></script><meta name="robots" content="noindex"/><title>Watchbell</title><meta name="description" content="Status of your apps, databases, and domains."/><meta name="robots" content="noindex, nofollow"/><link rel="icon" href="/icon.svg?icon.17zy5uxei5-yo.svg" sizes="any" type="image/svg+xml"/><meta name="next-size-adjust" content=""/><script>(function(){try{var s=localStorage.getItem("oc-theme");var d=window.matchMedia("(prefers-color-scheme: dark)").matches;document.documentElement.dataset.theme=(s==="light"||s==="dark")?s:(d?"dark":"light");}catch(e){document.documentElement.dataset.theme="light";}})();</script><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="bg-bg font-sans text-ink antialiased"><div hidden=""><!--$--><!--/$--></div><main class="mx-auto flex min-h-[70vh] max-w-[480px] flex-col items-center justify-center gap-3 px-4 text-center"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="36" height="36" class="shrink-0" aria-hidden="true" focusable="false"><rect x="0.5" y="0.5" width="31" height="31" rx="7" fill="#14213d" stroke-width="1" class="stroke-transparent dark:stroke-[#2f4372]"></rect><g transform="rotate(-14 15 16)" fill="#fcc419"><rect x="13.7" y="5.4" width="2.6" height="2.4" rx="1.1"></rect><path d="M15 7.2c-4.3 0-6.8 3.1-6.8 7.3v4.1l-2.4 3.3h18.4l-2.4-3.3v-4.1c0-4.2-2.5-7.3-6.8-7.3z"></path><circle cx="15" cy="24.3" r="2.3"></circle></g><g fill="none" stroke="#fcc419" stroke-width="2.2" stroke-linecap="round"><path d="M24.4 9.2c1.4 1.4 2.2 3.2 2.2 5.2"></path><path d="M22.8 11.1c.8.8 1.2 1.8 1.2 2.9"></path></g></svg><h1 class="m-0 text-[22px]">Nothing rings here</h1><p class="m-0 text-ink-soft">There&#x27;s no page at this address. It may have moved, or the link has a typo.</p><a class="inline-flex items-center gap-1.5 whitespace-nowrap rounded-md border transition-colors disabled:cursor-not-allowed disabled:opacity-60 hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40 px-[9px] py-[3px] text-[13px] border-brand bg-brand text-on-brand hover:bg-brand-hover" href="/">Back to Watchbell</a></main><!--$--><!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false" data-react-aria-top-layer="true"></section><!--$!--><template data-dgst=""></template><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/149lk0boxihnl.js","static/chunks/242x7dx0zu3hf.js","static/chunks/37zqf9hef7g0k.js","static/chunks/3mb_v650fie_i.js"],"runtimeModuleIds":[494553]});</script><script src="/_next/static/chunks/149lk0boxihnl.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/0a-rekt06v0sv.js\"\n3:\"/_next/static/chunks/2cbfp1_wsn0oh.js\"\n4:I[339756,[\"$2\",\"$3\"],\"default\"]\n5:\"/_next/static/chunks/1j7e6cd8t5jar.js\"\n6:\"/_next/static/chunks/0iyozrryj1w49.js\"\n7:I[758298,[\"$2\",\"$3\",\"$5\",\"$6\"],\"default\"]\n8:I[837457,[\"$2\",\"$3\"],\"default\"]\n9:I[522016,[\"$2\",\"$3\",\"$6\"],\"\"]\na:I[171209,[\"$2\",\"$3\"],\"ThemeKeeper\"]\nb:I[713354,[\"$2\",\"$3\"],\"Toaster\"]\nc:I[302355,[\"$2\",\"$3\"],\"Analytics\"]\n14:\"ViewportBoundary\"\n15:I[897367,[\"$2\",\"$3\"],\"$14\"]\n17:\"MetadataBoundary\"\n18:I[897367,[\"$2\",\"$3\"],\"$17\"]\n19:\"$Sreact.suspense\"\n1b:\"/_next/static/chunks/3odrzjmblvoxt.js\"\n1c:I[563491,[\"$2\",\"$3\",\"$1b\",\"$6\"],\"default\"]\n:HL[\"/_next/static/chunks/1tg1mstvws8rj.css\",\"style\"]\ne:X\nf:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"main\",null,{\"className\":\"mx-auto flex min-h-[70vh] max-w-[480px] flex-col items-center justify-center gap-3 px-4 text-center\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\",\"width\":36,\"height\":36,\"className\":\"shrink-0\",\"role\":\"$undefined\",\"aria-hidden\":true,\"focusable\":\"false\",\"children\":[null,[\"$\",\"rect\",null,{\"x\":\"0.5\",\"y\":\"0.5\",\"width\":\"31\",\"height\":\"31\",\"rx\":\"7\",\"fill\":\"#14213d\",\"strokeWidth\":\"1\",\"className\":\"stroke-transparent dark:stroke-[#2f4372]\"}],[\"$\",\"g\",null,{\"transform\":\"rotate(-14 15 16)\",\"fill\":\"#fcc419\",\"children\":[[\"$\",\"rect\",null,{\"x\":\"13.7\",\"y\":\"5.4\",\"width\":\"2.6\",\"height\":\"2.4\",\"rx\":\"1.1\"}],[\"$\",\"path\",null,{\"d\":\"M15 7.2c-4.3 0-6.8 3.1-6.8 7.3v4.1l-2.4 3.3h18.4l-2.4-3.3v-4.1c0-4.2-2.5-7.3-6.8-7.3z\"}],[\"$\",\"circle\",null,{\"cx\":\"15\",\"cy\":\"24.3\",\"r\":\"2.3\"}]]}],[\"$\",\"g\",null,{\"fill\":\"none\",\"stroke\":\"#fcc419\",\"strokeWidth\":\"2.2\",\"strokeLinecap\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M24.4 9.2c1.4 1.4 2.2 3.2 2.2 5.2\"}],[\"$\",\"path\",null,{\"d\":\"M22.8 11.1c.8.8 1.2 1.8 1.2 2.9\"}]]}]]}],[\"$\",\"h1\",null,{\"className\":\"m-0 text-[22px]\",\"children\":\"Nothing rings here\"}],\"$L10\",\"$L11\"]}],[\"$L12\"],\"$L13\"]}],\"p\":false,\"v\":null}}]]\nd:[[\"children\",{\"s\":\"/_not-found\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$e\"},\"c\":\"$Qf\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1tg1mstvws8rj.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0a-rekt06v0sv.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/2cbfp1_wsn0oh.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"XrSICW_variable XIXyIG_variable\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var s=localStorage.getItem(\\\"oc-theme\\\");var d=window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches;document.documentElement.dataset.theme=(s===\\\"light\\\"||s===\\\"dark\\\")?s:(d?\\\"dark\\\":\\\"light\\\");}catch(e){document.documentElement.dataset.theme=\\\"light\\\";}})();\"}}]}],[\"$\",\"body\",null,{\"className\":\"bg-bg font-sans text-ink antialiased\",\"children\":[[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$7\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/1j7e6cd8t5jar.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0iyozrryj1w49.js\",\"async\":true,\"nonce\":\"$undefined\"}]],\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"main\",null,{\"className\":\"mx-auto flex min-h-[70vh] max-w-[480px] flex-col items-center justify-center gap-3 px-4 text-center\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\",\"width\":36,\"height\":36,\"className\":\"shrink-0\",\"role\":\"$undefined\",\"aria-hidden\":true,\"focusable\":\"false\",\"children\":[null,[\"$\",\"rect\",null,{\"x\":\"0.5\",\"y\":\"0.5\",\"width\":\"31\",\"height\":\"31\",\"rx\":\"7\",\"fill\":\"#14213d\",\"strokeWidth\":\"1\",\"className\":\"stroke-transparent dark:stroke-[#2f4372]\"}],[\"$\",\"g\",null,{\"transform\":\"rotate(-14 15 16)\",\"fill\":\"#fcc419\",\"children\":[[\"$\",\"rect\",null,{\"x\":\"13.7\",\"y\":\"5.4\",\"width\":\"2.6\",\"height\":\"2.4\",\"rx\":\"1.1\"}],[\"$\",\"path\",null,{\"d\":\"M15 7.2c-4.3 0-6.8 3.1-6.8 7.3v4.1l-2.4 3.3h18.4l-2.4-3.3v-4.1c0-4.2-2.5-7.3-6.8-7.3z\"}],[\"$\",\"circle\",null,{\"cx\":\"15\",\"cy\":\"24.3\",\"r\":\"2.3\"}]]}],[\"$\",\"g\",null,{\"fill\":\"none\",\"stroke\":\"#fcc419\",\"strokeWidth\":\"2.2\",\"strokeLinecap\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M24.4 9.2c1.4 1.4 2.2 3.2 2.2 5.2\"}],[\"$\",\"path\",null,{\"d\":\"M22.8 11.1c.8.8 1.2 1.8 1.2 2.9\"}]]}]]}],[\"$\",\"h1\",null,{\"className\":\"m-0 text-[22px]\",\"children\":\"Nothing rings here\"}],[\"$\",\"p\",null,{\"className\":\"m-0 text-ink-soft\",\"children\":\"There's no page at this address. It may have moved, or the link has a typo.\"}],[\"$\",\"$L9\",null,{\"href\":\"/\",\"className\":\"inline-flex items-center gap-1.5 whitespace-nowrap rounded-md border transition-colors disabled:cursor-not-allowed disabled:opacity-60 hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40 px-[9px] py-[3px] text-[13px] border-brand bg-brand text-on-brand hover:bg-brand-hover\",\"children\":\"Back to Watchbell\"}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$La\",null,{}],[\"$\",\"$Lb\",null,{}],[\"$\",\"$Lc\",null,{}]]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Qd\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L15\",null,{\"children\":\"$L16\"}],[\"$\",\"$L18\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$19\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1a\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$1c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1tg1mstvws8rj.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"00kxZsHPpI3WSDxVn1e4b\"}\n1d:I[897367,[\"$2\",\"$3\"],\"OutletBoundary\"]\ne:C\n10:[\"$\",\"p\",null,{\"className\":\"m-0 text-ink-soft\",\"children\":\"There's no page at this address. It may have moved, or the link has a typo.\"}]\n11:[\"$\",\"$L9\",null,{\"href\":\"/\",\"className\":\"inline-flex items-center gap-1.5 whitespace-nowrap rounded-md border transition-colors disabled:cursor-not-allowed disabled:opacity-60 hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40 px-[9px] py-[3px] text-[13px] border-brand bg-brand text-on-brand hover:bg-brand-hover\",\"children\":\"Back to Watchbell\"}]\n12:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0iyozrryj1w49.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n13:[\"$\",\"$L1d\",null,{\"children\":[\"$\",\"$19\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1e\"}]}]\n16:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n1f:I[27201,[\"$2\",\"$3\"],\"IconMark\"]\n1a:[[\"$\",\"title\",\"0\",{\"children\":\"Watchbell\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Status of your apps, databases, and domains.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"robots\",\"content\":\"noindex, nofollow\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.17zy5uxei5-yo.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L1f\",\"4\",{}]]\n1e:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="XrSICW_variable XIXyIG_variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/1tg1mstvws8rj.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/149lk0boxihnl.js"/><script src="/_next/static/chunks/242x7dx0zu3hf.js" async=""></script><script src="/_next/static/chunks/37zqf9hef7g0k.js" async=""></script><script src="/_next/static/chunks/3mb_v650fie_i.js" async=""></script><script src="/_next/static/chunks/turbopack-3-ry682tkyiqk.js" async=""></script><script src="/_next/static/chunks/0a-rekt06v0sv.js" async=""></script><script src="/_next/static/chunks/2cbfp1_wsn0oh.js" async=""></script><script src="/_next/static/chunks/11_iva96ceble.js" async=""></script><script src="/_next/static/chunks/0iyozrryj1w49.js" async=""></script><script src="/_next/static/chunks/0x6eipkda93fh.js" async=""></script><meta name="robots" content="noindex"/><title>Watchbell</title><meta name="description" content="Status of your apps, databases, and domains."/><meta name="robots" content="noindex, nofollow"/><link rel="icon" href="/icon.svg?icon.17zy5uxei5-yo.svg" sizes="any" type="image/svg+xml"/><meta name="next-size-adjust" content=""/><script>(function(){try{var s=localStorage.getItem("oc-theme");var d=window.matchMedia("(prefers-color-scheme: dark)").matches;document.documentElement.dataset.theme=(s==="light"||s==="dark")?s:(d?"dark":"light");}catch(e){document.documentElement.dataset.theme="light";}})();</script><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="bg-bg font-sans text-ink antialiased"><div hidden=""><!--$--><!--/$--></div><main class="mx-auto flex min-h-[70vh] max-w-[480px] flex-col items-center justify-center gap-3 px-4 text-center"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="36" height="36" class="shrink-0" aria-hidden="true" focusable="false"><rect x="0.5" y="0.5" width="31" height="31" rx="7" fill="#14213d" stroke-width="1" class="stroke-transparent dark:stroke-[#2f4372]"></rect><g transform="rotate(-14 15 16)" fill="#fcc419"><rect x="13.7" y="5.4" width="2.6" height="2.4" rx="1.1"></rect><path d="M15 7.2c-4.3 0-6.8 3.1-6.8 7.3v4.1l-2.4 3.3h18.4l-2.4-3.3v-4.1c0-4.2-2.5-7.3-6.8-7.3z"></path><circle cx="15" cy="24.3" r="2.3"></circle></g><g fill="none" stroke="#fcc419" stroke-width="2.2" stroke-linecap="round"><path d="M24.4 9.2c1.4 1.4 2.2 3.2 2.2 5.2"></path><path d="M22.8 11.1c.8.8 1.2 1.8 1.2 2.9"></path></g></svg><h1 class="m-0 text-[22px]">Nothing rings here</h1><p class="m-0 text-ink-soft">There&#x27;s no page at this address. It may have moved, or the link has a typo.</p><a class="inline-flex items-center gap-1.5 whitespace-nowrap rounded-md border transition-colors disabled:cursor-not-allowed disabled:opacity-60 hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40 px-[9px] py-[3px] text-[13px] border-brand bg-brand text-on-brand hover:bg-brand-hover" href="/">Back to Watchbell</a></main><!--$--><!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false" data-react-aria-top-layer="true"></section><!--$!--><template data-dgst=""></template><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/149lk0boxihnl.js","static/chunks/242x7dx0zu3hf.js","static/chunks/37zqf9hef7g0k.js","static/chunks/3mb_v650fie_i.js"],"runtimeModuleIds":[494553]});</script><script src="/_next/static/chunks/149lk0boxihnl.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/0a-rekt06v0sv.js\"\n3:\"/_next/static/chunks/2cbfp1_wsn0oh.js\"\n4:I[339756,[\"$2\",\"$3\"],\"default\"]\n5:\"/_next/static/chunks/11_iva96ceble.js\"\n6:\"/_next/static/chunks/0iyozrryj1w49.js\"\n7:I[758298,[\"$2\",\"$3\",\"$5\",\"$6\"],\"default\"]\n8:I[837457,[\"$2\",\"$3\"],\"default\"]\n9:I[522016,[\"$2\",\"$3\",\"$6\"],\"\"]\na:I[171209,[\"$2\",\"$3\"],\"ThemeKeeper\"]\nb:I[713354,[\"$2\",\"$3\"],\"Toaster\"]\nc:I[302355,[\"$2\",\"$3\"],\"Analytics\"]\n14:\"ViewportBoundary\"\n15:I[897367,[\"$2\",\"$3\"],\"$14\"]\n17:\"MetadataBoundary\"\n18:I[897367,[\"$2\",\"$3\"],\"$17\"]\n19:\"$Sreact.suspense\"\n1b:\"/_next/static/chunks/0x6eipkda93fh.js\"\n1c:I[563491,[\"$2\",\"$3\",\"$1b\",\"$6\"],\"default\"]\n:HL[\"/_next/static/chunks/1tg1mstvws8rj.css\",\"style\"]\ne:X\nf:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"main\",null,{\"className\":\"mx-auto flex min-h-[70vh] max-w-[480px] flex-col items-center justify-center gap-3 px-4 text-center\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\",\"width\":36,\"height\":36,\"className\":\"shrink-0\",\"role\":\"$undefined\",\"aria-hidden\":true,\"focusable\":\"false\",\"children\":[null,[\"$\",\"rect\",null,{\"x\":\"0.5\",\"y\":\"0.5\",\"width\":\"31\",\"height\":\"31\",\"rx\":\"7\",\"fill\":\"#14213d\",\"strokeWidth\":\"1\",\"className\":\"stroke-transparent dark:stroke-[#2f4372]\"}],[\"$\",\"g\",null,{\"transform\":\"rotate(-14 15 16)\",\"fill\":\"#fcc419\",\"children\":[[\"$\",\"rect\",null,{\"x\":\"13.7\",\"y\":\"5.4\",\"width\":\"2.6\",\"height\":\"2.4\",\"rx\":\"1.1\"}],[\"$\",\"path\",null,{\"d\":\"M15 7.2c-4.3 0-6.8 3.1-6.8 7.3v4.1l-2.4 3.3h18.4l-2.4-3.3v-4.1c0-4.2-2.5-7.3-6.8-7.3z\"}],[\"$\",\"circle\",null,{\"cx\":\"15\",\"cy\":\"24.3\",\"r\":\"2.3\"}]]}],[\"$\",\"g\",null,{\"fill\":\"none\",\"stroke\":\"#fcc419\",\"strokeWidth\":\"2.2\",\"strokeLinecap\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M24.4 9.2c1.4 1.4 2.2 3.2 2.2 5.2\"}],[\"$\",\"path\",null,{\"d\":\"M22.8 11.1c.8.8 1.2 1.8 1.2 2.9\"}]]}]]}],[\"$\",\"h1\",null,{\"className\":\"m-0 text-[22px]\",\"children\":\"Nothing rings here\"}],\"$L10\",\"$L11\"]}],[\"$L12\"],\"$L13\"]}],\"p\":false,\"v\":null}}]]\nd:[[\"children\",{\"s\":\"/_not-found\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$e\"},\"c\":\"$Qf\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1tg1mstvws8rj.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0a-rekt06v0sv.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/2cbfp1_wsn0oh.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"XrSICW_variable XIXyIG_variable\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var s=localStorage.getItem(\\\"oc-theme\\\");var d=window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches;document.documentElement.dataset.theme=(s===\\\"light\\\"||s===\\\"dark\\\")?s:(d?\\\"dark\\\":\\\"light\\\");}catch(e){document.documentElement.dataset.theme=\\\"light\\\";}})();\"}}]}],[\"$\",\"body\",null,{\"className\":\"bg-bg font-sans text-ink antialiased\",\"children\":[[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$7\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/11_iva96ceble.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0iyozrryj1w49.js\",\"async\":true,\"nonce\":\"$undefined\"}]],\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"main\",null,{\"className\":\"mx-auto flex min-h-[70vh] max-w-[480px] flex-col items-center justify-center gap-3 px-4 text-center\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\",\"width\":36,\"height\":36,\"className\":\"shrink-0\",\"role\":\"$undefined\",\"aria-hidden\":true,\"focusable\":\"false\",\"children\":[null,[\"$\",\"rect\",null,{\"x\":\"0.5\",\"y\":\"0.5\",\"width\":\"31\",\"height\":\"31\",\"rx\":\"7\",\"fill\":\"#14213d\",\"strokeWidth\":\"1\",\"className\":\"stroke-transparent dark:stroke-[#2f4372]\"}],[\"$\",\"g\",null,{\"transform\":\"rotate(-14 15 16)\",\"fill\":\"#fcc419\",\"children\":[[\"$\",\"rect\",null,{\"x\":\"13.7\",\"y\":\"5.4\",\"width\":\"2.6\",\"height\":\"2.4\",\"rx\":\"1.1\"}],[\"$\",\"path\",null,{\"d\":\"M15 7.2c-4.3 0-6.8 3.1-6.8 7.3v4.1l-2.4 3.3h18.4l-2.4-3.3v-4.1c0-4.2-2.5-7.3-6.8-7.3z\"}],[\"$\",\"circle\",null,{\"cx\":\"15\",\"cy\":\"24.3\",\"r\":\"2.3\"}]]}],[\"$\",\"g\",null,{\"fill\":\"none\",\"stroke\":\"#fcc419\",\"strokeWidth\":\"2.2\",\"strokeLinecap\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M24.4 9.2c1.4 1.4 2.2 3.2 2.2 5.2\"}],[\"$\",\"path\",null,{\"d\":\"M22.8 11.1c.8.8 1.2 1.8 1.2 2.9\"}]]}]]}],[\"$\",\"h1\",null,{\"className\":\"m-0 text-[22px]\",\"children\":\"Nothing rings here\"}],[\"$\",\"p\",null,{\"className\":\"m-0 text-ink-soft\",\"children\":\"There's no page at this address. It may have moved, or the link has a typo.\"}],[\"$\",\"$L9\",null,{\"href\":\"/\",\"className\":\"inline-flex items-center gap-1.5 whitespace-nowrap rounded-md border transition-colors disabled:cursor-not-allowed disabled:opacity-60 hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40 px-[9px] py-[3px] text-[13px] border-brand bg-brand text-on-brand hover:bg-brand-hover\",\"children\":\"Back to Watchbell\"}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$La\",null,{}],[\"$\",\"$Lb\",null,{}],[\"$\",\"$Lc\",null,{}]]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Qd\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L15\",null,{\"children\":\"$L16\"}],[\"$\",\"$L18\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$19\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1a\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$1c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1tg1mstvws8rj.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"u0RcJ9L5FEEUdENisty65\"}\n1d:I[897367,[\"$2\",\"$3\"],\"OutletBoundary\"]\ne:C\n10:[\"$\",\"p\",null,{\"className\":\"m-0 text-ink-soft\",\"children\":\"There's no page at this address. It may have moved, or the link has a typo.\"}]\n11:[\"$\",\"$L9\",null,{\"href\":\"/\",\"className\":\"inline-flex items-center gap-1.5 whitespace-nowrap rounded-md border transition-colors disabled:cursor-not-allowed disabled:opacity-60 hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40 px-[9px] py-[3px] text-[13px] border-brand bg-brand text-on-brand hover:bg-brand-hover\",\"children\":\"Back to Watchbell\"}]\n12:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0iyozrryj1w49.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n13:[\"$\",\"$L1d\",null,{\"children\":[\"$\",\"$19\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1e\"}]}]\n16:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n1f:I[27201,[\"$2\",\"$3\"],\"IconMark\"]\n1a:[[\"$\",\"title\",\"0\",{\"children\":\"Watchbell\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Status of your apps, databases, and domains.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"robots\",\"content\":\"noindex, nofollow\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.17zy5uxei5-yo.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L1f\",\"4\",{}]]\n1e:null\n"])</script></body></html>