watchbell 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (906) hide show
  1. package/package.json +1 -1
  2. package/server/.next/BUILD_ID +1 -1
  3. package/server/.next/app-path-routes-manifest.json +1 -0
  4. package/server/.next/build-manifest.json +116 -105
  5. package/server/.next/prerender-manifest.json +3 -3
  6. package/server/.next/routes-manifest.json +6 -0
  7. package/server/.next/server/app/(console)/(private)/ai/agents/page/build-manifest.json +3 -3
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +11 -11
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +54 -52
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  11. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page/build-manifest.json +3 -3
  13. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +10 -10
  14. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +54 -52
  15. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  16. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page/build-manifest.json +3 -3
  18. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +9 -9
  19. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +54 -52
  20. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  21. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  22. package/server/.next/server/app/(console)/(private)/ai/keys/page/build-manifest.json +3 -3
  23. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +12 -12
  24. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +54 -52
  25. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  26. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  27. package/server/.next/server/app/(console)/(private)/ai/logs/page/build-manifest.json +3 -3
  28. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +10 -10
  29. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +54 -52
  30. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  31. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  32. package/server/.next/server/app/(console)/(private)/ai/models/page/build-manifest.json +3 -3
  33. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +19 -19
  34. package/server/.next/server/app/(console)/(private)/ai/models/page.js +54 -52
  35. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  37. package/server/.next/server/app/(console)/(private)/ai/page/build-manifest.json +3 -3
  38. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +9 -9
  39. package/server/.next/server/app/(console)/(private)/ai/page.js +54 -52
  40. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  41. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  42. package/server/.next/server/app/(console)/(private)/ai/playground/page/build-manifest.json +3 -3
  43. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +12 -12
  44. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +54 -52
  45. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  46. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  47. package/server/.next/server/app/(console)/(private)/ai/providers/page/build-manifest.json +3 -3
  48. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +15 -15
  49. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +54 -52
  50. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  51. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  52. package/server/.next/server/app/(console)/(private)/ai/quota/page/build-manifest.json +3 -3
  53. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +10 -10
  54. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +54 -52
  55. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  56. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  57. package/server/.next/server/app/(console)/(private)/ai/usage/page/build-manifest.json +3 -3
  58. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +10 -10
  59. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +54 -52
  60. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  61. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  62. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/build-manifest.json +3 -3
  63. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +9 -9
  64. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +54 -52
  65. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  66. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  67. package/server/.next/server/app/(console)/(private)/auto-actions/page/build-manifest.json +3 -3
  68. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +10 -10
  69. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +54 -52
  70. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  71. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  72. package/server/.next/server/app/(console)/[...slug]/page/build-manifest.json +3 -3
  73. package/server/.next/server/app/(console)/[...slug]/page/server-reference-manifest.json +9 -9
  74. package/server/.next/server/app/(console)/[...slug]/page.js +55 -53
  75. package/server/.next/server/app/(console)/[...slug]/page.js.nft.json +1 -1
  76. package/server/.next/server/app/(console)/[...slug]/page_client-reference-manifest.js +1 -1
  77. package/server/.next/server/app/(console)/alerts/page/build-manifest.json +3 -3
  78. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +22 -22
  79. package/server/.next/server/app/(console)/alerts/page.js +54 -52
  80. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  81. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  82. package/server/.next/server/app/(console)/apps/[id]/page/build-manifest.json +3 -3
  83. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +23 -23
  84. package/server/.next/server/app/(console)/apps/[id]/page.js +54 -52
  85. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  86. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  87. package/server/.next/server/app/(console)/apps/page/build-manifest.json +3 -3
  88. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +11 -11
  89. package/server/.next/server/app/(console)/apps/page.js +54 -52
  90. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  91. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  92. package/server/.next/server/app/(console)/backups/page/build-manifest.json +3 -3
  93. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +12 -12
  94. package/server/.next/server/app/(console)/backups/page.js +54 -52
  95. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  96. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  97. package/server/.next/server/app/(console)/catalog/page/build-manifest.json +3 -3
  98. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +9 -9
  99. package/server/.next/server/app/(console)/catalog/page.js +54 -52
  100. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  101. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  102. package/server/.next/server/app/(console)/connections/page/build-manifest.json +3 -3
  103. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +54 -54
  104. package/server/.next/server/app/(console)/connections/page.js +60 -58
  105. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  106. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  107. package/server/.next/server/app/(console)/d1/page/build-manifest.json +3 -3
  108. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +9 -9
  109. package/server/.next/server/app/(console)/d1/page.js +54 -52
  110. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  111. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  112. package/server/.next/server/app/(console)/deployments/page/build-manifest.json +3 -3
  113. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +14 -14
  114. package/server/.next/server/app/(console)/deployments/page.js +54 -52
  115. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  116. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  117. package/server/.next/server/app/(console)/dns/page/build-manifest.json +3 -3
  118. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +16 -16
  119. package/server/.next/server/app/(console)/dns/page.js +54 -52
  120. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  121. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  122. package/server/.next/server/app/(console)/domains/page/build-manifest.json +3 -3
  123. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +11 -11
  124. package/server/.next/server/app/(console)/domains/page.js +54 -52
  125. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  126. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  127. package/server/.next/server/app/(console)/events/page/build-manifest.json +3 -3
  128. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +9 -9
  129. package/server/.next/server/app/(console)/events/page.js +54 -52
  130. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  131. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  132. package/server/.next/server/app/(console)/firebase/page/build-manifest.json +3 -3
  133. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +15 -15
  134. package/server/.next/server/app/(console)/firebase/page.js +55 -53
  135. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  136. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  137. package/server/.next/server/app/(console)/logs/page/build-manifest.json +3 -3
  138. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +10 -10
  139. package/server/.next/server/app/(console)/logs/page.js +54 -52
  140. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  141. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  142. package/server/.next/server/app/(console)/manage/sections/page/app-paths-manifest.json +3 -0
  143. package/server/.next/server/app/(console)/manage/sections/page/build-manifest.json +22 -0
  144. package/server/.next/server/app/(console)/manage/sections/page/next-font-manifest.json +11 -0
  145. package/server/.next/server/app/(console)/manage/sections/page/react-loadable-manifest.json +1 -0
  146. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +105 -0
  147. package/server/.next/server/app/(console)/manage/sections/page.js +104 -0
  148. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -0
  149. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +3 -0
  150. package/server/.next/server/app/(console)/neon/page/build-manifest.json +3 -3
  151. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +20 -20
  152. package/server/.next/server/app/(console)/neon/page.js +54 -52
  153. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  154. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  155. package/server/.next/server/app/(console)/overview/page/build-manifest.json +3 -3
  156. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +18 -18
  157. package/server/.next/server/app/(console)/overview/page.js +54 -52
  158. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  159. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  160. package/server/.next/server/app/(console)/repos/[id]/page/build-manifest.json +3 -3
  161. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +10 -10
  162. package/server/.next/server/app/(console)/repos/[id]/page.js +54 -52
  163. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  164. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  165. package/server/.next/server/app/(console)/repos/page/build-manifest.json +3 -3
  166. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +9 -9
  167. package/server/.next/server/app/(console)/repos/page.js +54 -52
  168. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  169. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  170. package/server/.next/server/app/(console)/settings/page/build-manifest.json +3 -3
  171. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +19 -19
  172. package/server/.next/server/app/(console)/settings/page.js +54 -52
  173. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  174. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  175. package/server/.next/server/app/(console)/sql/page/build-manifest.json +3 -3
  176. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +16 -16
  177. package/server/.next/server/app/(console)/sql/page.js +54 -52
  178. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  179. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  180. package/server/.next/server/app/(console)/status/page/build-manifest.json +3 -3
  181. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +9 -9
  182. package/server/.next/server/app/(console)/status/page.js +54 -52
  183. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  184. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  185. package/server/.next/server/app/(console)/supabase/page/build-manifest.json +3 -3
  186. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +29 -29
  187. package/server/.next/server/app/(console)/supabase/page.js +54 -52
  188. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  189. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  190. package/server/.next/server/app/(console)/topology/page/build-manifest.json +3 -3
  191. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +9 -9
  192. package/server/.next/server/app/(console)/topology/page.js +54 -52
  193. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  194. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  195. package/server/.next/server/app/(console)/turso/page/build-manifest.json +3 -3
  196. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +9 -9
  197. package/server/.next/server/app/(console)/turso/page.js +54 -52
  198. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  199. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  200. package/server/.next/server/app/(console)/upstash/page/build-manifest.json +3 -3
  201. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +9 -9
  202. package/server/.next/server/app/(console)/upstash/page.js +54 -52
  203. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  204. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  205. package/server/.next/server/app/(console)/uptime/page/build-manifest.json +3 -3
  206. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +22 -22
  207. package/server/.next/server/app/(console)/uptime/page.js +54 -52
  208. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  209. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  210. package/server/.next/server/app/(console)/welcome/page/build-manifest.json +3 -3
  211. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +14 -14
  212. package/server/.next/server/app/(console)/welcome/page.js +55 -53
  213. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  214. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  215. package/server/.next/server/app/_global-error/page/build-manifest.json +3 -3
  216. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  217. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  218. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  219. package/server/.next/server/app/_global-error.html +1 -1
  220. package/server/.next/server/app/_global-error.rsc +3 -3
  221. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  222. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  223. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  224. package/server/.next/server/app/_not-found/page/build-manifest.json +3 -3
  225. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  226. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  227. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  228. package/server/.next/server/app/_not-found.html +1 -1
  229. package/server/.next/server/app/_not-found.rsc +4 -4
  230. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  231. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  232. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  233. package/server/.next/server/app/account/password/page/build-manifest.json +3 -3
  234. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  235. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  236. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  237. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  238. package/server/.next/server/app/api/collect/route.js +74 -71
  239. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  240. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  241. package/server/.next/server/app/api/daily/route.js +66 -63
  242. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  243. package/server/.next/server/app/api/health/route.js.nft.json +1 -1
  244. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  245. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  246. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
  247. package/server/.next/server/app/api/telegram/webhook/route.js +71 -68
  248. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  249. package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
  250. package/server/.next/server/app/api/v1/advice/route.js +4 -4
  251. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  252. package/server/.next/server/app/api/v1/ai/chat/completions/route.js +2 -2
  253. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  254. package/server/.next/server/app/api/v1/ai/models/route.js +2 -2
  255. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  256. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js +1 -1
  257. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  258. package/server/.next/server/app/api/v1/ai/questions/route.js +5 -5
  259. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  260. package/server/.next/server/app/api/v1/mcp/route.js +5 -5
  261. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  262. package/server/.next/server/app/api/v1/me/route.js +1 -1
  263. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  264. package/server/.next/server/app/api/v1/openapi.json/route.js +1 -1
  265. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  266. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +4 -4
  267. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  268. package/server/.next/server/app/api/v1/status/route.js +4 -4
  269. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  270. package/server/.next/server/app/api/watchdog/route.js +19 -18
  271. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  272. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  273. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  274. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  275. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  276. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  277. package/server/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  278. package/server/.next/server/app/invite/page/build-manifest.json +3 -3
  279. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  280. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  281. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  282. package/server/.next/server/app/mfa/page/build-manifest.json +3 -3
  283. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  284. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  285. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  286. package/server/.next/server/app/mfa/setup/page/build-manifest.json +3 -3
  287. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  288. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  289. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  290. package/server/.next/server/app/page/build-manifest.json +3 -3
  291. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  292. package/server/.next/server/app/page.js.nft.json +1 -1
  293. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  294. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  295. package/server/.next/server/app/s/[slug]/page/build-manifest.json +3 -3
  296. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  297. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  298. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  299. package/server/.next/server/app/setup/page/build-manifest.json +3 -3
  300. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  301. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  302. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  303. package/server/.next/server/app/signin/page/build-manifest.json +3 -3
  304. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  305. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  306. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  307. package/server/.next/server/app-paths-manifest.json +1 -0
  308. package/server/.next/server/chunks/{[externals]__0fbnlnnial7w5._.js → [externals]__0qo8lpb70m87u._.js} +1 -1
  309. package/server/.next/server/chunks/{[externals]__1e0dmqhilgze5._.js → [externals]__100hq0n2xtenb._.js} +1 -1
  310. package/server/.next/server/chunks/{[externals]__1jhautmcwmgii._.js → [externals]__1irgb5qz1s3gv._.js} +1 -1
  311. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  312. package/server/.next/server/chunks/[root-of-the-server]__049ykc067tlsv._.js +1 -1
  313. package/server/.next/server/chunks/[root-of-the-server]__04q-9779vl4kn._.js +3 -0
  314. package/server/.next/server/chunks/[root-of-the-server]__04rnior8cyxtx._.js +3 -0
  315. package/server/.next/server/chunks/{[root-of-the-server]__0hju4mctdmvz9._.js → [root-of-the-server]__06ek056i_j_uk._.js} +2 -2
  316. package/server/.next/server/chunks/[root-of-the-server]__06f9e4kpi0mw8._.js +1 -1
  317. package/server/.next/server/chunks/[root-of-the-server]__06jphm4auz_sh._.js +3 -0
  318. package/server/.next/server/chunks/{[root-of-the-server]__0rak0ce6prxwp._.js → [root-of-the-server]__06r-019fixp3f._.js} +1 -1
  319. package/server/.next/server/chunks/{[root-of-the-server]__1-q6_msattgcu._.js → [root-of-the-server]__07uknh5b-embq._.js} +1 -1
  320. package/server/.next/server/chunks/{[root-of-the-server]__0vctt_0kj1gz4._.js → [root-of-the-server]__07v5e0vzgl4n2._.js} +2 -2
  321. package/server/.next/server/chunks/{[root-of-the-server]__14zpwd7xntffk._.js → [root-of-the-server]__08fyoixg__c7n._.js} +1 -1
  322. package/server/.next/server/chunks/[root-of-the-server]__0_rfeg3389imx._.js +1 -1
  323. package/server/.next/server/chunks/[root-of-the-server]__0b2hzo6nez0we._.js +1 -1
  324. package/server/.next/server/chunks/[root-of-the-server]__0b9tciqdsctau._.js +3 -0
  325. package/server/.next/server/chunks/{[root-of-the-server]__15tt645jfx-br._.js → [root-of-the-server]__0b_4w-5x5u7ag._.js} +1 -1
  326. package/server/.next/server/chunks/{[root-of-the-server]__1-37ctpn8yw_m._.js → [root-of-the-server]__0bnasoi-x21jc._.js} +1 -1
  327. package/server/.next/server/chunks/{[root-of-the-server]__08i_or_xyqg4g._.js → [root-of-the-server]__0d8ypilha-el8._.js} +2 -2
  328. package/server/.next/server/chunks/{[root-of-the-server]__0f5l9--3_wjvx._.js → [root-of-the-server]__0flqwe7amc3mz._.js} +2 -2
  329. package/server/.next/server/chunks/{[root-of-the-server]__11kfkk5yxz4ge._.js → [root-of-the-server]__0fw19tsgp-vbq._.js} +2 -2
  330. package/server/.next/server/chunks/{[root-of-the-server]__1_l4gp3r2d-7x._.js → [root-of-the-server]__0fw7l5y58_xcd._.js} +2 -2
  331. package/server/.next/server/chunks/{[root-of-the-server]__0j68ia9q425ff._.js → [root-of-the-server]__0g1tldn4xjewd._.js} +2 -2
  332. package/server/.next/server/chunks/{[root-of-the-server]__03pc2mot62sow._.js → [root-of-the-server]__0h1qhdjpfq1d4._.js} +2 -2
  333. package/server/.next/server/chunks/{[root-of-the-server]__0hpdrg-m0n6ty._.js → [root-of-the-server]__0h4n81_nqdr4j._.js} +2 -2
  334. package/server/.next/server/chunks/{[root-of-the-server]__0i3n8l6ecdb4u._.js → [root-of-the-server]__0hty-wue10pro._.js} +2 -2
  335. package/server/.next/server/chunks/[root-of-the-server]__0jqgfbhrgi28s._.js +3 -0
  336. package/server/.next/server/chunks/[root-of-the-server]__0m7i0l3nkbdfm._.js +1 -1
  337. package/server/.next/server/chunks/[root-of-the-server]__0mwiq4mkf8pc5._.js +1 -1
  338. package/server/.next/server/chunks/{[root-of-the-server]__0mui3wh3lfb6m._.js → [root-of-the-server]__0npmbdrxybln5._.js} +1 -1
  339. package/server/.next/server/chunks/{[root-of-the-server]__010exlr_efe2h._.js → [root-of-the-server]__0nqw6z6fp8wad._.js} +2 -2
  340. package/server/.next/server/chunks/{[root-of-the-server]__0_iz9zh9e_mov._.js → [root-of-the-server]__0olmk-rbbhxlo._.js} +2 -2
  341. package/server/.next/server/chunks/{[root-of-the-server]__0nsie5dba69e6._.js → [root-of-the-server]__0owyb9lr5t5u-._.js} +2 -2
  342. package/server/.next/server/chunks/[root-of-the-server]__0p3lnkpxf2-xz._.js +1 -1
  343. package/server/.next/server/chunks/{[root-of-the-server]__0v1kcolrxwmob._.js → [root-of-the-server]__0si9k9jhdc0bm._.js} +2 -2
  344. package/server/.next/server/chunks/{[root-of-the-server]__0ul6-jnt2oco7._.js → [root-of-the-server]__0t8d8b4qkw3y-._.js} +1 -1
  345. package/server/.next/server/chunks/{[root-of-the-server]__0i1de88cj5y-p._.js → [root-of-the-server]__0tl5pxttllr4d._.js} +2 -2
  346. package/server/.next/server/chunks/{[root-of-the-server]__0m7_0rarf_x86._.js → [root-of-the-server]__0uyh4jgcd9092._.js} +2 -2
  347. package/server/.next/server/chunks/[root-of-the-server]__0v4-g6c-ls39_._.js +3 -0
  348. package/server/.next/server/chunks/[root-of-the-server]__0vgnlhvdoh3bn._.js +3 -0
  349. package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
  350. package/server/.next/server/chunks/{[root-of-the-server]__15j_u2bz3jc-a._.js → [root-of-the-server]__0wy38l7k36j6g._.js} +1 -1
  351. package/server/.next/server/chunks/{[root-of-the-server]__0j53mir12jire._.js → [root-of-the-server]__0xiz361p5kdhf._.js} +1 -1
  352. package/server/.next/server/chunks/{[root-of-the-server]__0ogbwvwpnlx0b._.js → [root-of-the-server]__0z-07azr3zk8s._.js} +1 -1
  353. package/server/.next/server/chunks/{[root-of-the-server]__0x0x6v75re5_e._.js → [root-of-the-server]__0zxyfd7u67hmv._.js} +1 -1
  354. package/server/.next/server/chunks/[root-of-the-server]__10c7apgidgs6x._.js +3 -0
  355. package/server/.next/server/chunks/{[root-of-the-server]__1czhdqbxj_3ov._.js → [root-of-the-server]__10x3lu8jeqgbt._.js} +2 -2
  356. package/server/.next/server/chunks/{[root-of-the-server]__0gs-x779qi1ba._.js → [root-of-the-server]__11-van59e9p2a._.js} +2 -2
  357. package/server/.next/server/chunks/[root-of-the-server]__110c-t3wz3nzm._.js +1 -1
  358. package/server/.next/server/chunks/[root-of-the-server]__116b4n13dv75t._.js +3 -0
  359. package/server/.next/server/chunks/[root-of-the-server]__11k46kam6tbia._.js +1 -1
  360. package/server/.next/server/chunks/[root-of-the-server]__11tte6au1b-z-._.js +3 -0
  361. package/server/.next/server/chunks/[root-of-the-server]__127dbd1prkw0n._.js +3 -0
  362. package/server/.next/server/chunks/[root-of-the-server]__12uj0887q1ayr._.js +1 -1
  363. package/server/.next/server/chunks/[root-of-the-server]__13_b24n_f4my4._.js +3 -0
  364. package/server/.next/server/chunks/[root-of-the-server]__13h--47xmg706._.js +5 -0
  365. package/server/.next/server/chunks/{[root-of-the-server]__1rf3slum5swk2._.js → [root-of-the-server]__145gadwk31inl._.js} +2 -2
  366. package/server/.next/server/chunks/{[root-of-the-server]__0qesn8t6k9y_n._.js → [root-of-the-server]__14luo1ecxoqh-._.js} +1 -1
  367. package/server/.next/server/chunks/{[root-of-the-server]__15ddlx_ma_1iu._.js → [root-of-the-server]__162cm9ds1c5y2._.js} +2 -2
  368. package/server/.next/server/chunks/[root-of-the-server]__19kwj690b37xf._.js +1 -1
  369. package/server/.next/server/chunks/[root-of-the-server]__19vsae2naddj5._.js +3 -0
  370. package/server/.next/server/chunks/[root-of-the-server]__1_l065umy451k._.js +3 -0
  371. package/server/.next/server/chunks/[root-of-the-server]__1_ow7lgy0u7st._.js +3 -0
  372. package/server/.next/server/chunks/[root-of-the-server]__1akvpmbiap6nf._.js +1 -1
  373. package/server/.next/server/chunks/{[root-of-the-server]__0292lwnmh4wtc._.js → [root-of-the-server]__1aza-7l2pl-pm._.js} +2 -2
  374. package/server/.next/server/chunks/[root-of-the-server]__1bsyavebtmd7w._.js +3 -0
  375. package/server/.next/server/chunks/[root-of-the-server]__1cju843cjyf1t._.js +3 -0
  376. package/server/.next/server/chunks/{[root-of-the-server]__1flvcyht5uk7h._.js → [root-of-the-server]__1cla4k3dqtcfb._.js} +2 -2
  377. package/server/.next/server/chunks/[root-of-the-server]__1fnsa-f0t7bxj._.js +3 -0
  378. package/server/.next/server/chunks/[root-of-the-server]__1g1176fer3j4e._.js +3 -0
  379. package/server/.next/server/chunks/[root-of-the-server]__1hqy35gww7ps2._.js +3 -0
  380. package/server/.next/server/chunks/[root-of-the-server]__1i92wg2yuvs4c._.js +3 -0
  381. package/server/.next/server/chunks/{[root-of-the-server]__03e141znq0hr-._.js → [root-of-the-server]__1iv6vg3z9ho81._.js} +1 -1
  382. package/server/.next/server/chunks/{[root-of-the-server]__1jh0el-zvg4hp._.js → [root-of-the-server]__1j3-sv7eqyhjb._.js} +2 -2
  383. package/server/.next/server/chunks/[root-of-the-server]__1j3w0-cp17tx4._.js +3 -0
  384. package/server/.next/server/chunks/{[root-of-the-server]__0alnp_0qkhzze._.js → [root-of-the-server]__1j_iy13gp2-on._.js} +2 -2
  385. package/server/.next/server/chunks/[root-of-the-server]__1kg91b3sadtoc._.js +3 -0
  386. package/server/.next/server/chunks/[root-of-the-server]__1kjndfodqqamq._.js +3 -0
  387. package/server/.next/server/chunks/[root-of-the-server]__1mami4vb3y5gd._.js +3 -0
  388. package/server/.next/server/chunks/[root-of-the-server]__1mse65-7gtj-n._.js +3 -0
  389. package/server/.next/server/chunks/[root-of-the-server]__1objhlwwrjfjk._.js +1 -1
  390. package/server/.next/server/chunks/[root-of-the-server]__1pscg7y0et34j._.js +3 -0
  391. package/server/.next/server/chunks/[root-of-the-server]__1rw0i4x2ake3x._.js +3 -0
  392. package/server/.next/server/chunks/[root-of-the-server]__1t9zp524wouer._.js +3 -0
  393. package/server/.next/server/chunks/[root-of-the-server]__1v-789ydxj30e._.js +3 -0
  394. package/server/.next/server/chunks/[root-of-the-server]__1vi0u2vkv3tk0._.js +1 -1
  395. package/server/.next/server/chunks/{[root-of-the-server]__1hw6s0e7p2-6g._.js → [root-of-the-server]__1w3svzao_gnxp._.js} +2 -2
  396. package/server/.next/server/chunks/[root-of-the-server]__1x7ucdyxuh2_k._.js +3 -0
  397. package/server/.next/server/chunks/{[root-of-the-server]__08l1x_plf4dil._.js → [root-of-the-server]__1xdi98xyay6bn._.js} +1 -1
  398. package/server/.next/server/chunks/{[root-of-the-server]__1qzor1nqajuyp._.js → [root-of-the-server]__20_1nfa6fiz-q._.js} +2 -2
  399. package/server/.next/server/chunks/[root-of-the-server]__20b_clyk74g5u._.js +3 -0
  400. package/server/.next/server/chunks/[root-of-the-server]__20ev6t8zggct2._.js +3 -0
  401. package/server/.next/server/chunks/_004c7-39glldb._.js +4 -4
  402. package/server/.next/server/chunks/_008zv66xvj7ey._.js +37 -0
  403. package/server/.next/server/chunks/{_12uzjq-fbcuvb._.js → _01s3_8ssosvqi._.js} +1 -1
  404. package/server/.next/server/chunks/_03qlijpos6a21._.js +3 -0
  405. package/server/.next/server/chunks/_09l75j3ey14tc._.js +1 -1
  406. package/server/.next/server/chunks/_0a7533vs89s78._.js +7 -0
  407. package/server/.next/server/chunks/_0ejcrge5k4quv._.js +1 -1
  408. package/server/.next/server/chunks/_0k4iqzwm6w5_c._.js +37 -0
  409. package/server/.next/server/chunks/_0kmhvts35imzs._.js +1 -1
  410. package/server/.next/server/chunks/_0m1ll2r1g77ii._.js +1 -1
  411. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  412. package/server/.next/server/chunks/_0nt4hve0bi30h._.js +37 -0
  413. package/server/.next/server/chunks/_0op74d4yyc3ma._.js +1 -1
  414. package/server/.next/server/chunks/_0pf2g5n_ko5dq._.js +3 -0
  415. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +1 -1
  416. package/server/.next/server/chunks/_0qr77omrkuewo._.js +3 -0
  417. package/server/.next/server/chunks/_0rjh9w2ih3j2h._.js +3 -0
  418. package/server/.next/server/chunks/_0sy878k2ywjbq._.js +3 -0
  419. package/server/.next/server/chunks/_0tz4o-qufnu3l._.js +4 -4
  420. package/server/.next/server/chunks/_0voowig3y32v1._.js +1 -1
  421. package/server/.next/server/chunks/_0wxm_716tjorj._.js +3 -0
  422. package/server/.next/server/chunks/_0xf7mtsrkgc9e._.js +1 -1
  423. package/server/.next/server/chunks/_0zkmkbrbc96-h._.js +3 -0
  424. package/server/.next/server/chunks/_1-pw7jw52sbti._.js +3 -0
  425. package/server/.next/server/chunks/_10vh_l3hht4_3._.js +4 -4
  426. package/server/.next/server/chunks/_14ymj3uzawde4._.js +7 -0
  427. package/server/.next/server/chunks/_15g-opioju_ju._.js +3 -0
  428. package/server/.next/server/chunks/_17aiz6zt-yv52._.js +1 -1
  429. package/server/.next/server/chunks/_1_son1yzo5xvl._.js +3 -0
  430. package/server/.next/server/chunks/_1b7pc6ohhqxs3._.js +1 -1
  431. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +1 -1
  432. package/server/.next/server/chunks/_1i7qkrp3fnx1a._.js +37 -0
  433. package/server/.next/server/chunks/_1luzeov9x87mg._.js +7 -0
  434. package/server/.next/server/chunks/{_1jz6k3wy_s8br._.js → _1p0ced3sr0i_8._.js} +1 -1
  435. package/server/.next/server/chunks/_1v7q0xdxbqawm._.js +1 -1
  436. package/server/.next/server/chunks/_1zx_54or1pubb._.js +1 -1
  437. package/server/.next/server/chunks/node_modules_next_dist_1i-_xribpwttd._.js +313 -0
  438. package/server/.next/server/chunks/src_01jp2f5qmh8e2._.js +3 -0
  439. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  440. package/server/.next/server/chunks/src_088gmyaew7ds0._.js +3 -0
  441. package/server/.next/server/chunks/{src_08bzavsfds295._.js → src_0kwnhwi77unm7._.js} +2 -2
  442. package/server/.next/server/chunks/src_0xqorb3-ef3ub._.js +1 -1
  443. package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +3 -0
  444. package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +1 -1
  445. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  446. package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +3 -0
  447. package/server/.next/server/chunks/{src_03umyw-p7jhaj._.js → src_1dsh9rzlos6-1._.js} +2 -2
  448. package/server/.next/server/chunks/src_1hy7u0jtydq_d._.js +3 -0
  449. package/server/.next/server/chunks/src_1j2o14j0-23xv._.js +3 -0
  450. package/server/.next/server/chunks/src_1j71dvub05y-4._.js +3 -0
  451. package/server/.next/server/chunks/{src_0k78ifotuztod._.js → src_1no_yh953mran._.js} +2 -2
  452. package/server/.next/server/chunks/src_1s7yll47_n_hy._.js +3 -0
  453. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +3 -3
  454. package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +3 -0
  455. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +3 -3
  456. package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
  457. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  458. package/server/.next/server/chunks/src_lib_0oz4gm8agoidh._.js +6 -0
  459. package/server/.next/server/chunks/src_lib_0s_txig7jm3ty._.js +3 -3
  460. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +15 -0
  461. package/server/.next/server/chunks/src_lib_0y-obfzqjj0c6._.js +6 -0
  462. package/server/.next/server/chunks/src_lib_10_w0ihgmx4e6._.js +6 -0
  463. package/server/.next/server/chunks/src_lib_15wd7ab4u5nrn._.js +3 -3
  464. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +15 -0
  465. package/server/.next/server/chunks/{src_lib_0vl2-zp4wzw7n._.js → src_lib_1p21oczr6lh5a._.js} +1 -1
  466. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +15 -0
  467. package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
  468. package/server/.next/server/chunks/src_lib_1yewk45thnv1h._.js +1 -1
  469. package/server/.next/server/chunks/src_lib_1z73euz6d3tus._.js +6 -0
  470. package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +4 -4
  471. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +6 -6
  472. package/server/.next/server/chunks/src_lib_data_logs-db_ts_1ddw07do12mmk._.js +2 -2
  473. package/server/.next/server/chunks/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +6 -0
  474. package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +1 -1
  475. package/server/.next/server/chunks/src_lib_providers_info_ts_02x6g30rg2hsp._.js +3 -0
  476. package/server/.next/server/chunks/src_lib_view_databases_ts_0fdc7jkjvyrxi._.js +3 -0
  477. package/server/.next/server/chunks/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  478. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  479. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_1q6nc5chwn5k4.js +1 -1
  480. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +1 -1
  481. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +1 -1
  482. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +1 -1
  483. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +1 -1
  484. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +1 -1
  485. package/server/.next/server/chunks/ssr/{[externals]__0vbbz7arebnub._.js → [externals]__0zvy4iicnrk95._.js} +1 -1
  486. package/server/.next/server/chunks/ssr/[root-of-the-server]__02qyxz9eh8_eh._.js +1 -1
  487. package/server/.next/server/chunks/ssr/[root-of-the-server]__04ovk2bqwu87z._.js +3 -0
  488. package/server/.next/server/chunks/ssr/{[root-of-the-server]__13rgl1h4g39l-._.js → [root-of-the-server]__052_cprs0alpy._.js} +1 -1
  489. package/server/.next/server/chunks/ssr/{[root-of-the-server]__18b1wk6-2gq4x._.js → [root-of-the-server]__0543ddliluvv3._.js} +2 -2
  490. package/server/.next/server/chunks/ssr/{[root-of-the-server]__168ahi_n-kf90._.js → [root-of-the-server]__08479d23kb1xv._.js} +1 -1
  491. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1drr27jyyhw7p._.js → [root-of-the-server]__08fqg76puqdfr._.js} +1 -1
  492. package/server/.next/server/chunks/ssr/[root-of-the-server]__09-0oydof-7uw._.js +1 -1
  493. package/server/.next/server/chunks/ssr/[root-of-the-server]__09nm_hn1c8zhf._.js +3 -0
  494. package/server/.next/server/chunks/ssr/{[root-of-the-server]__07n1hb3mk44lt._.js → [root-of-the-server]__0acmauri7z1sg._.js} +1 -1
  495. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ct71emqfru3b._.js +1 -1
  496. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ryl_hnreck66._.js → [root-of-the-server]__0e9m8up0h1qhl._.js} +2 -2
  497. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1xa91qls2i3j4._.js → [root-of-the-server]__0h9gtpapca7i_._.js} +1 -1
  498. package/server/.next/server/chunks/ssr/[root-of-the-server]__0hln97a4qcziv._.js +3 -0
  499. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ksvf4x4zcbpb._.js +1 -1
  500. package/server/.next/server/chunks/ssr/[root-of-the-server]__0lc7my3iqbrsu._.js +1 -1
  501. package/server/.next/server/chunks/ssr/[root-of-the-server]__0n7cj-oti5wct._.js +2 -2
  502. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ncef7_34ta3-._.js +1 -1
  503. package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +1 -1
  504. package/server/.next/server/chunks/ssr/[root-of-the-server]__1-o_iq-ed9vc8._.js +1 -1
  505. package/server/.next/server/chunks/ssr/[root-of-the-server]__10bkg3o65q6r4._.js +1 -1
  506. package/server/.next/server/chunks/ssr/[root-of-the-server]__12qymdfh83hht._.js +3 -0
  507. package/server/.next/server/chunks/ssr/[root-of-the-server]__13oi70jo-u731._.js +2 -2
  508. package/server/.next/server/chunks/ssr/[root-of-the-server]__146kj3-h6fkaq._.js +1 -1
  509. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0hbk3gqja86zp._.js → [root-of-the-server]__15n-r12rnj61t._.js} +1 -1
  510. package/server/.next/server/chunks/ssr/[root-of-the-server]__16o4p3l21rdq3._.js +3 -0
  511. package/server/.next/server/chunks/ssr/[root-of-the-server]__17kocbnwlcw6d._.js +1 -1
  512. package/server/.next/server/chunks/ssr/[root-of-the-server]__19_nr6j2w-in_._.js +3 -0
  513. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  514. package/server/.next/server/chunks/ssr/[root-of-the-server]__1gw6334w8y2my._.js +1 -1
  515. package/server/.next/server/chunks/ssr/[root-of-the-server]__1i69oli51is1u._.js +1 -1
  516. package/server/.next/server/chunks/ssr/{[root-of-the-server]__11y6b96ofb-c5._.js → [root-of-the-server]__1k1fmq0-rg3p0._.js} +2 -2
  517. package/server/.next/server/chunks/ssr/[root-of-the-server]__1lx2k37wgre3d._.js +1 -1
  518. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1n1pq5j5p4_qn._.js → [root-of-the-server]__1owrn7crnsybx._.js} +1 -1
  519. package/server/.next/server/chunks/ssr/[root-of-the-server]__1w1472ukyh58r._.js +1 -1
  520. package/server/.next/server/chunks/ssr/[root-of-the-server]__20ht054m5-_d6._.js +1 -1
  521. package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +2 -2
  522. package/server/.next/server/chunks/ssr/_026w_ig6vy9bt._.js +1 -1
  523. package/server/.next/server/chunks/ssr/{_1wu_8nu5allm0._.js → _05kq3r87s7p3q._.js} +1 -1
  524. package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +2 -2
  525. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  526. package/server/.next/server/chunks/ssr/_0_rtyc4t9xcdo._.js +1 -1
  527. package/server/.next/server/chunks/ssr/_0_tr9fol2yq33._.js +1 -1
  528. package/server/.next/server/chunks/ssr/_0_ul4mlc_pj5i._.js +2 -2
  529. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  530. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  531. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  532. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  533. package/server/.next/server/chunks/ssr/_0fnl7z-saj7nc._.js +1 -1
  534. package/server/.next/server/chunks/ssr/_0hykblvnwc2ar._.js +1 -1
  535. package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +2 -2
  536. package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +2 -2
  537. package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +2 -2
  538. package/server/.next/server/chunks/ssr/_0m1ll2r1g77ii._.js +1 -1
  539. package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +2 -2
  540. package/server/.next/server/chunks/ssr/{_08u2qnetu4ghm._.js → _0ooh0hh-r_12s._.js} +2 -2
  541. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  542. package/server/.next/server/chunks/ssr/{_06sp8cllu_ljh._.js → _0pn3dn9s9es51._.js} +2 -2
  543. package/server/.next/server/chunks/ssr/_0qnv1uc1_yv28._.js +2 -2
  544. package/server/.next/server/chunks/ssr/_0qo8tc43kjsf_._.js +1 -1
  545. package/server/.next/server/chunks/ssr/{_12348a3ug1-wo._.js → _0r04c1-snv6jw._.js} +2 -2
  546. package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +1 -1
  547. package/server/.next/server/chunks/ssr/_0tcmsw8hszixv._.js +1 -1
  548. package/server/.next/server/chunks/ssr/{_216rrmkts392q._.js → _0tnfblwwlyvq2._.js} +2 -2
  549. package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +2 -2
  550. package/server/.next/server/chunks/ssr/{_1exwj9ou5yh71._.js → _0x1vi7mal3bqd._.js} +2 -2
  551. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  552. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  553. package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +2 -2
  554. package/server/.next/server/chunks/ssr/{_1ibagew7zj8y6._.js → _11w5w9dpxcf1w._.js} +2 -2
  555. package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +2 -2
  556. package/server/.next/server/chunks/ssr/{_1p4i1e1kw70-_._.js → _14kop_5asppd8._.js} +2 -2
  557. package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +2 -2
  558. package/server/.next/server/chunks/ssr/_16t9k9e5cjvas._.js +1 -1
  559. package/server/.next/server/chunks/ssr/_18lgd6o04ugow._.js +2 -2
  560. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  561. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  562. package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +2 -2
  563. package/server/.next/server/chunks/ssr/_1b4uqc9fwt4dy._.js +1 -1
  564. package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +2 -2
  565. package/server/.next/server/chunks/ssr/_1c28jitsyufnt._.js +1 -1
  566. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  567. package/server/.next/server/chunks/ssr/_1dx207la592b7._.js +2 -2
  568. package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +2 -2
  569. package/server/.next/server/chunks/ssr/_1flla16o7o9ba._.js +1 -1
  570. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  571. package/server/.next/server/chunks/ssr/_1gl78598hz_ku._.js +1 -1
  572. package/server/.next/server/chunks/ssr/_1i77n2n-wb98v._.js +2 -2
  573. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  574. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  575. package/server/.next/server/chunks/ssr/_1nir32qtr99-r._.js +1 -1
  576. package/server/.next/server/chunks/ssr/_1sq12-1_02tzt._.js +2 -2
  577. package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +2 -2
  578. package/server/.next/server/chunks/ssr/_1ykxf4mi60jog._.js +2 -2
  579. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  580. package/server/.next/server/chunks/ssr/_1zr0t31h18f2p._.js +3 -0
  581. package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +2 -2
  582. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +1 -1
  583. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +1 -1
  584. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +1 -1
  585. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +1 -1
  586. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1uaicj0j8stji.js +1 -1
  587. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_06a1fnrawxlh1.js +3 -0
  588. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +1 -1
  589. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +1 -1
  590. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_215m-kkv06r4z.js +1 -1
  591. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +1 -1
  592. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_0ven9q46d3d7s.js +3 -0
  593. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +1 -1
  594. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +1 -1
  595. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +1 -1
  596. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  597. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  598. package/server/.next/server/chunks/ssr/node_modules_next_dist_0joxsz2q5dh6c._.js +2 -2
  599. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pz49shx663y1.js +3 -0
  600. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1b0g9w0uow3x5.js +1 -1
  601. package/server/.next/server/chunks/ssr/src_00wh1gv_h2pjs._.js +1 -1
  602. package/server/.next/server/chunks/ssr/src_01jp2f5qmh8e2._.js +3 -0
  603. package/server/.next/server/chunks/ssr/src_025wo6h30c00a._.js +1 -1
  604. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  605. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  606. package/server/.next/server/chunks/ssr/src_09atx_ns_mlan._.js +1 -1
  607. package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +1 -1
  608. package/server/.next/server/chunks/ssr/src_0_kumjlw3o034._.js +1 -1
  609. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  610. package/server/.next/server/chunks/ssr/src_0dl7jkqqm313f._.js +3 -0
  611. package/server/.next/server/chunks/ssr/src_0f_ip1ke7i9r7._.js +1 -1
  612. package/server/.next/server/chunks/ssr/src_0fdfz--89117z._.js +1 -1
  613. package/server/.next/server/chunks/ssr/src_0ho313o5cu3-h._.js +1 -1
  614. package/server/.next/server/chunks/ssr/src_0iefnjvaszvw_._.js +1 -1
  615. package/server/.next/server/chunks/ssr/src_0loe22pbn4cuu._.js +1 -1
  616. package/server/.next/server/chunks/ssr/src_0nylfis4--x5j._.js +1 -1
  617. package/server/.next/server/chunks/ssr/src_0ohsn5qzqqds_._.js +1 -1
  618. package/server/.next/server/chunks/ssr/src_0p0fk07bj9gpq._.js +1 -1
  619. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  620. package/server/.next/server/chunks/ssr/src_0t6-d5hmzrbp1._.js +1 -1
  621. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
  622. package/server/.next/server/chunks/ssr/src_0usxo7vu7o2cj._.js +1 -1
  623. package/server/.next/server/chunks/ssr/src_0widudneyf0oq._.js +1 -1
  624. package/server/.next/server/chunks/ssr/src_0xau6d5z5e_md._.js +1 -1
  625. package/server/.next/server/chunks/ssr/src_1-wu43p02yiel._.js +1 -1
  626. package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +1 -1
  627. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  628. package/server/.next/server/chunks/ssr/src_11iuy79j_finh._.js +3 -0
  629. package/server/.next/server/chunks/ssr/src_12x8sjp-qdw08._.js +1 -1
  630. package/server/.next/server/chunks/ssr/src_14aur12he3m2a._.js +1 -1
  631. package/server/.next/server/chunks/ssr/src_15aqc6akkqade._.js +1 -1
  632. package/server/.next/server/chunks/ssr/src_15zqi72ky6hi9._.js +1 -1
  633. package/server/.next/server/chunks/ssr/src_19evuexp67uty._.js +1 -1
  634. package/server/.next/server/chunks/ssr/src_1am4_ady64k2b._.js +1 -1
  635. package/server/.next/server/chunks/ssr/src_1cbawr4iw5h-x._.js +1 -1
  636. package/server/.next/server/chunks/ssr/src_1ccrc8twenijg._.js +1 -1
  637. package/server/.next/server/chunks/ssr/src_1ctx1an_a3k7g._.js +1 -1
  638. package/server/.next/server/chunks/ssr/src_1iyzhhf1u_gwo._.js +3 -0
  639. package/server/.next/server/chunks/ssr/{src_11_hakxhnybdd._.js → src_1ottjkdvhje3g._.js} +2 -2
  640. package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +1 -1
  641. package/server/.next/server/chunks/ssr/src_1xsg-zd4lt_d4._.js +1 -1
  642. package/server/.next/server/chunks/ssr/src_1y0xvj1obxu7i._.js +1 -1
  643. package/server/.next/server/chunks/ssr/src_1zpftf1xj-30l._.js +1 -1
  644. package/server/.next/server/chunks/ssr/src_20hs1ilkxmap0._.js +1 -1
  645. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  646. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1lhfs18es1mqc._.js +1 -1
  647. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_loading_tsx_1qyzywm3br5h2._.js +1 -1
  648. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_06n-9cjmbb-vu._.js +1 -1
  649. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  650. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_loading_tsx_1niopfalguzs6._.js +1 -1
  651. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_connect_loading_tsx_0q7g8dpf7-vgo._.js +1 -1
  652. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_keys_04ypt31p11eq7._.js +1 -1
  653. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_keys_loading_tsx_1hc7x_jx0xx0_._.js +1 -1
  654. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_0261l8yb2z9x1._.js +1 -1
  655. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  656. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_loading_tsx_1dwhza0ud8asg._.js +1 -1
  657. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  658. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0hla-5y3iresx._.js +1 -1
  659. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_loading_tsx_1qtp-lo_o41cr._.js +1 -1
  660. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_1o1z2qp3tik5x._.js +1 -1
  661. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_loading_tsx_02umaieh-00pu._.js +1 -1
  662. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  663. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_0jamu-nm6x-dh._.js +1 -1
  664. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  665. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_loading_tsx_0u2pi0tk7s3ch._.js +1 -1
  666. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_1kor9sy67qpiw._.js +1 -1
  667. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  668. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_loading_tsx_1hhnum-g2eq3n._.js +1 -1
  669. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_1v003vrkwk19w._.js +1 -1
  670. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  671. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_loading_tsx_0pjvu-xuxbxmh._.js +1 -1
  672. package/server/.next/server/chunks/ssr/{src_app_(console)_1olpa0osy74mq._.js → src_app_(console)_1l7irblrb5fae._.js} +2 -2
  673. package/server/.next/server/chunks/ssr/src_app_(console)_[___slug]_page_tsx_0b007i3c1v_vg._.js +1 -1
  674. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +1 -1
  675. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_1t61z2wktki-v._.js +1 -1
  676. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  677. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  678. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  679. package/server/.next/server/chunks/ssr/src_app_(console)_backups_page_tsx_0o082iagq_14b._.js +1 -1
  680. package/server/.next/server/chunks/ssr/src_app_(console)_catalog_page_tsx_1u2_-bv4yi5oo._.js +1 -1
  681. package/server/.next/server/chunks/ssr/src_app_(console)_connections_02upf_c41dauw._.js +3 -0
  682. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  683. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +3 -0
  684. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  685. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  686. package/server/.next/server/chunks/ssr/src_app_(console)_d1_page_tsx_167hwnq_9uh81._.js +1 -1
  687. package/server/.next/server/chunks/ssr/src_app_(console)_dns_0d1uyir4fe7pc._.js +1 -1
  688. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  689. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  690. package/server/.next/server/chunks/ssr/src_app_(console)_domains_1ut499n11u8_r._.js +1 -1
  691. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_page_tsx_0g20hm13dvbc-._.js +1 -1
  692. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  693. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_17htk-vea5fna._.js +3 -0
  694. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +3 -0
  695. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  696. package/server/.next/server/chunks/ssr/src_app_(console)_neon_1ubea__gt06o0._.js +1 -1
  697. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  698. package/server/.next/server/chunks/ssr/src_app_(console)_repos_[id]_page_tsx_1nkxthc4ethrj._.js +1 -1
  699. package/server/.next/server/chunks/ssr/src_app_(console)_sql_16-sh45tpob8n._.js +1 -1
  700. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  701. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  702. package/server/.next/server/chunks/ssr/src_app_(console)_status_page_tsx_1zvj799nv4kah._.js +1 -1
  703. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  704. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_1ofufib3-zzt-._.js +1 -1
  705. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  706. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_148phfjye0539._.js +1 -1
  707. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  708. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  709. package/server/.next/server/chunks/ssr/src_app_(console)_welcome_page_tsx_1bw0x0riq-oem._.js +1 -1
  710. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  711. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  712. package/server/.next/server/chunks/ssr/{src_app_signin_1y1xla7bcc5a1._.js → src_app_signin_1tg6pswa99jbe._.js} +2 -2
  713. package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.js +1 -1
  714. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  715. package/server/.next/server/chunks/ssr/src_components_ui_dialog_tsx_1tn-i_6d3rhzt._.js +1 -1
  716. package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +1 -1
  717. package/server/.next/server/chunks/ssr/{src_lib_0vl2-zp4wzw7n._.js → src_lib_1p21oczr6lh5a._.js} +1 -1
  718. package/server/.next/server/chunks/ssr/src_lib_1yewk45thnv1h._.js +1 -1
  719. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
  720. package/server/.next/server/chunks/ssr/src_lib_copy_edition_ts_1y6lsdbj64t9p._.js +1 -1
  721. package/server/.next/server/chunks/ssr/src_lib_data_keep-active-db_ts_0p07g9b74uu3e._.js +1 -1
  722. package/server/.next/server/chunks/ssr/src_lib_data_logs-db_ts_1ddw07do12mmk._.js +2 -2
  723. package/server/.next/server/chunks/ssr/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +6 -0
  724. package/server/.next/server/chunks/ssr/{src_lib_demo_20zjotuzm1lm8._.js → src_lib_demo_0hdl7pzdqejqx._.js} +2 -2
  725. package/server/.next/server/chunks/ssr/src_lib_providers_info_ts_02x6g30rg2hsp._.js +3 -0
  726. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  727. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  728. package/server/.next/server/chunks/ssr/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  729. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  730. package/server/.next/server/chunks/ssr/src_private_assist_advisor-notes_ts_0qkpm5c3la7fo._.js +1 -1
  731. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  732. package/server/.next/server/middleware-build-manifest.js +116 -105
  733. package/server/.next/server/next-font-manifest.js +1 -1
  734. package/server/.next/server/next-font-manifest.json +4 -0
  735. package/server/.next/server/pages/404.html +1 -1
  736. package/server/.next/server/pages/500.html +1 -1
  737. package/server/.next/server/preview-props.json +3 -3
  738. package/server/.next/server/server-reference-manifest.js +1 -1
  739. package/server/.next/server/server-reference-manifest.json +212 -166
  740. package/server/.next/static/chunks/{3w445wy3mpp2f.js → 08dak2kh1c6_7.js} +1 -1
  741. package/server/.next/static/chunks/{2-8ra6gmaw_pb.js → 0b9slopuz4e8a.js} +1 -1
  742. package/server/.next/static/chunks/{3col9buetdxvh.js → 0dp-tuwkw7xf8.js} +2 -2
  743. package/server/.next/static/chunks/0fhj_pu5ntcfo.js +1 -0
  744. package/server/.next/static/chunks/{010bc8dzhxd_0.js → 0h9i512dn01kj.js} +1 -1
  745. package/server/.next/static/chunks/0ic6_-0gkd6p7.js +1 -0
  746. package/server/.next/static/chunks/{3s7hj7g12rmuh.js → 0icohez16w-ei.js} +1 -1
  747. package/server/.next/static/chunks/{08w0t5q93_9mu.js → 0j1wzqg4ukm70.js} +1 -1
  748. package/server/.next/static/chunks/{2cmw27buw9oce.js → 0kscmnb071fci.js} +1 -1
  749. package/server/.next/static/chunks/0ld78j1d4j201.js +1 -0
  750. package/server/.next/static/chunks/{1yb4_s_96v9tf.js → 0qlb-l1uyqku5.js} +1 -1
  751. package/server/.next/static/chunks/0udh0u8c6ovgf.css +3 -0
  752. package/server/.next/static/chunks/0y1ss0tjq0nq0.js +1 -0
  753. package/server/.next/static/chunks/{0dhgqjjm0zj6_.js → 1-oetq3mwlhds.js} +1 -1
  754. package/server/.next/static/chunks/{3uujo4bht1tqo.js → 11ywzwmfd_pt0.js} +1 -1
  755. package/server/.next/static/chunks/{1aoqsoecu-fy_.js → 1jaozq01v9r6e.js} +1 -1
  756. package/server/.next/static/chunks/1ky5exl-c1kbo.js +1 -0
  757. package/server/.next/static/chunks/{3o7se0ypyiqmz.js → 1lsu_fxiyaeiz.js} +1 -1
  758. package/server/.next/static/chunks/{1endj3d7bewa1.js → 1o3_amrh-sxr3.js} +1 -1
  759. package/server/.next/static/chunks/{1vi8tyc1ou2o3.js → 1w9o_jo_pejc5.js} +1 -1
  760. package/server/.next/static/chunks/{0nx0h-723nd_u.js → 1yvbs41m8_4nc.js} +2 -2
  761. package/server/.next/static/chunks/{0unx038_2rfsp.js → 22alexnun_rdm.js} +1 -1
  762. package/server/.next/static/chunks/{06lmwdlx-fkr8.js → 27qwmt1w6-iri.js} +1 -1
  763. package/server/.next/static/chunks/{02uvde7i-78p5.js → 29humkd2-_1oo.js} +1 -1
  764. package/server/.next/static/chunks/{0-7by9f00qb4d.js → 29j96yfhxsf41.js} +1 -1
  765. package/server/.next/static/chunks/{1483hxa9hair1.js → 29qnnsjsgsia6.js} +1 -1
  766. package/server/.next/static/chunks/{2pbnh717ldzfl.js → 2ii8j9xuvv604.js} +1 -1
  767. package/server/.next/static/chunks/{2ufr23d_eyosj.js → 2m0ftj__ody0m.js} +1 -1
  768. package/server/.next/static/chunks/{201zah03wlibg.js → 2q88116332v43.js} +1 -1
  769. package/server/.next/static/chunks/2rbtw3em5hkt4.js +1 -0
  770. package/server/.next/static/chunks/2sdyov_lz1uj4.js +1 -0
  771. package/server/.next/static/chunks/{1o4mdgq5lu1g_.js → 2toeyr9b_nk0e.js} +1 -1
  772. package/server/.next/static/chunks/{2zdjxqgm-44u1.js → 2w7qxt7ux-m1-.js} +1 -1
  773. package/server/.next/static/chunks/{18gwem_5y9wnt.js → 2zc1osymeruya.js} +1 -1
  774. package/server/.next/static/chunks/33fbppn5fotpk.js +1 -0
  775. package/server/.next/static/chunks/3auw1gobgv94g.js +1 -0
  776. package/server/.next/static/chunks/3b1p-xm7iow1_.js +1 -0
  777. package/server/.next/static/chunks/{2z6a725ntvlr6.js → 3gl2k6v182lli.js} +2 -2
  778. package/server/.next/static/chunks/{2lv5qmgi8nm4h.js → 3gurl_36kr7sg.js} +1 -1
  779. package/server/.next/static/chunks/{2n-h6_0i3mpxo.js → 3h-i_hcaaf7vs.js} +1 -1
  780. package/server/.next/static/chunks/{0dnjs3de2e_d1.js → 3kznplgmzot89.js} +1 -1
  781. package/server/.next/static/chunks/{0du6qnm4ee-qx.js → 3mb_v650fie_i.js} +1 -1
  782. package/server/.next/static/chunks/{1t2iu6ufyxecz.js → 3n_n6yeienmn-.js} +1 -1
  783. package/server/.next/static/chunks/{01oee9tptcjdb.js → 3nqciag05fif0.js} +1 -1
  784. package/server/.next/static/chunks/3r3mt51wqymgs.js +1 -0
  785. package/server/.next/static/chunks/3sg_npfod25zq.js +1 -0
  786. package/server/.next/static/chunks/{03fjh6klyhqv4.js → 3shbvizselyoq.js} +1 -1
  787. package/server/.next/static/chunks/3xxagngfonh62.js +1 -0
  788. package/server/.next/static/chunks/{3alfhqlczff2s.js → 3yv-enyk37whg.js} +1 -1
  789. package/server/node_modules/@next/env/package.json +1 -1
  790. package/server/node_modules/next/dist/build/analyze/snapshot.js +1 -1
  791. package/server/node_modules/next/dist/build/index.js +3 -3
  792. package/server/node_modules/next/dist/build/swc/index.js +1 -1
  793. package/server/node_modules/next/dist/build/turbopack-analyze/index.js +1 -1
  794. package/server/node_modules/next/dist/build/turbopack-build/impl.js +1 -1
  795. package/server/node_modules/next/dist/build/webpack-config.js +3 -3
  796. package/server/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +2 -2
  797. package/server/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +2 -2
  798. package/server/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +1 -1
  799. package/server/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  800. package/server/node_modules/next/dist/server/app-render/async-local-storage.js +1 -1
  801. package/server/node_modules/next/dist/server/config.js +1 -1
  802. package/server/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  803. package/server/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  804. package/server/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  805. package/server/node_modules/next/dist/server/lib/generate-agent-files.js +3 -3
  806. package/server/node_modules/next/dist/server/lib/router-server.js +1 -1
  807. package/server/node_modules/next/dist/server/lib/start-server.js +1 -1
  808. package/server/node_modules/next/dist/server/lib/trace/tracer.js +1 -1
  809. package/server/node_modules/next/dist/server/typescript/rules/config.js +2 -2
  810. package/server/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1 -1
  811. package/server/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  812. package/server/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  813. package/server/node_modules/next/dist/telemetry/events/version.js +2 -2
  814. package/server/node_modules/next/package.json +11 -11
  815. package/server/.next/server/chunks/[root-of-the-server]__03zcy67tjxii8._.js +0 -3
  816. package/server/.next/server/chunks/[root-of-the-server]__08j1jeemvo-th._.js +0 -3
  817. package/server/.next/server/chunks/[root-of-the-server]__0abdjgj-muln9._.js +0 -3
  818. package/server/.next/server/chunks/[root-of-the-server]__0b_bj-_t8b0b-._.js +0 -3
  819. package/server/.next/server/chunks/[root-of-the-server]__0rxrv00e5e6fj._.js +0 -3
  820. package/server/.next/server/chunks/[root-of-the-server]__0xyzhdj3z_1ro._.js +0 -3
  821. package/server/.next/server/chunks/[root-of-the-server]__0zd61mh-juh2i._.js +0 -3
  822. package/server/.next/server/chunks/[root-of-the-server]__13scfgchwlitx._.js +0 -3
  823. package/server/.next/server/chunks/[root-of-the-server]__15zbj_ehkvv-n._.js +0 -3
  824. package/server/.next/server/chunks/[root-of-the-server]__16dyxwm6pzumx._.js +0 -3
  825. package/server/.next/server/chunks/[root-of-the-server]__16sp8qurcwsnf._.js +0 -3
  826. package/server/.next/server/chunks/[root-of-the-server]__18qf1s7o0ia89._.js +0 -3
  827. package/server/.next/server/chunks/[root-of-the-server]__1951xb3jdzdop._.js +0 -3
  828. package/server/.next/server/chunks/[root-of-the-server]__1_1-jgxiadvs0._.js +0 -3
  829. package/server/.next/server/chunks/[root-of-the-server]__1_2akhn6c9eqq._.js +0 -3
  830. package/server/.next/server/chunks/[root-of-the-server]__1a9cd4d9ohf69._.js +0 -3
  831. package/server/.next/server/chunks/[root-of-the-server]__1c2u-bg524-_w._.js +0 -3
  832. package/server/.next/server/chunks/[root-of-the-server]__1c8_e0jqh_8na._.js +0 -3
  833. package/server/.next/server/chunks/[root-of-the-server]__1g-be2zoiz2tf._.js +0 -3
  834. package/server/.next/server/chunks/[root-of-the-server]__1h96ebyza_vlh._.js +0 -3
  835. package/server/.next/server/chunks/[root-of-the-server]__1hxhj2o7lea8i._.js +0 -3
  836. package/server/.next/server/chunks/[root-of-the-server]__1i4bqqne6vibf._.js +0 -3
  837. package/server/.next/server/chunks/[root-of-the-server]__1i83m8i-3yn72._.js +0 -3
  838. package/server/.next/server/chunks/[root-of-the-server]__1jrcnhad_b53j._.js +0 -3
  839. package/server/.next/server/chunks/[root-of-the-server]__1ldcwvd42rpuz._.js +0 -3
  840. package/server/.next/server/chunks/[root-of-the-server]__1pgtip37umn35._.js +0 -3
  841. package/server/.next/server/chunks/[root-of-the-server]__1rl43iilsc-je._.js +0 -3
  842. package/server/.next/server/chunks/[root-of-the-server]__1sj7uwyq1gpet._.js +0 -3
  843. package/server/.next/server/chunks/[root-of-the-server]__1ta7-xvmtkjwr._.js +0 -3
  844. package/server/.next/server/chunks/[root-of-the-server]__1voiad6r-u931._.js +0 -3
  845. package/server/.next/server/chunks/[root-of-the-server]__1wlilsfzjqdw9._.js +0 -3
  846. package/server/.next/server/chunks/[root-of-the-server]__1wonw7ft4hset._.js +0 -3
  847. package/server/.next/server/chunks/[root-of-the-server]__202r0hxhr5bnu._.js +0 -3
  848. package/server/.next/server/chunks/[root-of-the-server]__2196hxm-s7u6e._.js +0 -3
  849. package/server/.next/server/chunks/_01vdbh009dk-w._.js +0 -5
  850. package/server/.next/server/chunks/_061mqfu1rkl7g._.js +0 -34
  851. package/server/.next/server/chunks/_0c_vrxu6rin-k._.js +0 -3
  852. package/server/.next/server/chunks/_0qawxzcf--lyq._.js +0 -4
  853. package/server/.next/server/chunks/_0qrn1v02iivm8._.js +0 -3
  854. package/server/.next/server/chunks/_0s30ac32b7prb._.js +0 -3
  855. package/server/.next/server/chunks/_0vfrh5u-u4mis._.js +0 -3
  856. package/server/.next/server/chunks/_0vgojnnkcf1vu._.js +0 -4
  857. package/server/.next/server/chunks/_0vz0de4gz70-e._.js +0 -4
  858. package/server/.next/server/chunks/_1-mixh9aeqh7f._.js +0 -3
  859. package/server/.next/server/chunks/_1b63jfweu0o04._.js +0 -3
  860. package/server/.next/server/chunks/_1i57ar6zvd7yb._.js +0 -34
  861. package/server/.next/server/chunks/_1k2cwp1_wt6qm._.js +0 -3
  862. package/server/.next/server/chunks/_1kj2yv4-wk2kp._.js +0 -34
  863. package/server/.next/server/chunks/_1l82x0z8bo4pt._.js +0 -3
  864. package/server/.next/server/chunks/_1ozrnl_on86u7._.js +0 -34
  865. package/server/.next/server/chunks/_1xeuk6g48m3_1._.js +0 -3
  866. package/server/.next/server/chunks/src_0d5xqe2zx_935._.js +0 -3
  867. package/server/.next/server/chunks/src_0v4pdrc1yxyl8._.js +0 -3
  868. package/server/.next/server/chunks/src_0vva87j3z99p9._.js +0 -3
  869. package/server/.next/server/chunks/src_1zo6so07lgcdj._.js +0 -3
  870. package/server/.next/server/chunks/src_db_rows_ts_15b286wn1kn1e._.js +0 -3
  871. package/server/.next/server/chunks/src_lib_0485hz-c7h7dr._.js +0 -15
  872. package/server/.next/server/chunks/src_lib_0qcyomi01xvf1._.js +0 -15
  873. package/server/.next/server/chunks/src_lib_1d6edz_ucj01w._.js +0 -3
  874. package/server/.next/server/chunks/src_lib_1ryt-36ohhnm6._.js +0 -15
  875. package/server/.next/server/chunks/src_lib_1suc_xwzxtuej._.js +0 -3
  876. package/server/.next/server/chunks/src_lib_1uh73ofc-pe92._.js +0 -3
  877. package/server/.next/server/chunks/src_private_1yzfhupl3rlpx._.js +0 -6
  878. package/server/.next/server/chunks/ssr/[root-of-the-server]__004r8ubf3fp_i._.js +0 -3
  879. package/server/.next/server/chunks/ssr/[root-of-the-server]__04a21b9fkrqs3._.js +0 -3
  880. package/server/.next/server/chunks/ssr/[root-of-the-server]__0q36f5xjkzf4z._.js +0 -3
  881. package/server/.next/server/chunks/ssr/[root-of-the-server]__0wf8q7-o-4n8y._.js +0 -3
  882. package/server/.next/server/chunks/ssr/[root-of-the-server]__1e-xqsuqsd4ub._.js +0 -3
  883. package/server/.next/server/chunks/ssr/[root-of-the-server]__204_t7bzma353._.js +0 -3
  884. package/server/.next/server/chunks/ssr/_04e0uk5aqrgc3._.js +0 -3
  885. package/server/.next/server/chunks/ssr/_11o43qq2eyx_r._.js +0 -3
  886. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_03amng1-xhfd1.js +0 -3
  887. package/server/.next/server/chunks/ssr/src_0qu78tivj78-x._.js +0 -3
  888. package/server/.next/server/chunks/ssr/src_app_(console)_connections_0gm1y-wtw5gyd._.js +0 -3
  889. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1qigx20w8bk53._.js +0 -3
  890. package/server/.next/server/chunks/ssr/src_lib_data_settings-db_ts_1to3jtggxlaz4._.js +0 -3
  891. package/server/.next/static/chunks/0anet8wttkax1.js +0 -1
  892. package/server/.next/static/chunks/0ao7kjrp6bp3l.js +0 -1
  893. package/server/.next/static/chunks/0b0rwd99q942r.js +0 -1
  894. package/server/.next/static/chunks/0dmi-v53phuqn.js +0 -1
  895. package/server/.next/static/chunks/0ilml-p3iktnr.js +0 -1
  896. package/server/.next/static/chunks/0y_0w1ek5fakj.js +0 -1
  897. package/server/.next/static/chunks/1fxuyn0k52n4v.css +0 -3
  898. package/server/.next/static/chunks/1k01h6men2hvb.js +0 -1
  899. package/server/.next/static/chunks/1mdaf7mwcfafr.js +0 -1
  900. package/server/.next/static/chunks/2mj8z5a9dz7bh.js +0 -1
  901. package/server/.next/static/chunks/2qltilq3pn4ia.js +0 -1
  902. package/server/.next/static/chunks/2wqgz94tksucm.js +0 -1
  903. package/server/.next/static/chunks/3ypdfkwyovory.js +0 -1
  904. /package/server/.next/static/{n3Kt7dFNHr9KDw7DgGz0m → 00CFAqN6pFBVkqJyXSd78}/_buildManifest.js +0 -0
  905. /package/server/.next/static/{n3Kt7dFNHr9KDw7DgGz0m → 00CFAqN6pFBVkqJyXSd78}/_clientMiddlewareManifest.js +0 -0
  906. /package/server/.next/static/{n3Kt7dFNHr9KDw7DgGz0m → 00CFAqN6pFBVkqJyXSd78}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[[726947,a=>{var b=a.i(907997),c=a.i(377269);let d=(0,c.f)("outline","download","Download",[["path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2",key:"svg-0"}],["path",{d:"M7 11l5 5l5 -5",key:"svg-1"}],["path",{d:"M12 4l0 12",key:"svg-2"}]]),e=(0,c.f)("outline","key","Key",[["path",{d:"M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0",key:"svg-0"}],["path",{d:"M15 9h.01",key:"svg-1"}]]);var f=a.i(905246),g=a.i(395936);a.i(570396);var h=a.i(673727),i=a.i(803681),j=a.i(462820),k=a.i(492665),l=a.i(484458),m=a.i(263972),n=a.i(126357),o=a.i(139138),p=a.i(245710);let q={name:"X-Client",in:"header",type:"string",required:!1,default:"api-explorer",example:"my-agent/1.0",description:"Names the caller as an agent (name/version) when the request doesn't say it otherwise. The API explorer sends api-explorer."},r=JSON.stringify({model:"gemini/gemini-3.8-flash",messages:[{role:"user",content:"Say hello in five words."}],stream:!1},null,2),s=JSON.stringify({generatedAt:"2026-10-13T00:41:12.000Z",apps:[{id:"orbit-blog",state:"down",uptime30d:98.71,database:null,lastDeploy:"abc1234 · failed 19:41",problems:[{kind:"monitor",where:"Monitor /",what:"HTTP 502",fix:"Open Logs (last hour) for errors; Check the latest deployment; roll back if it started after the deploy"}]},{id:"acme-shop",state:"degraded",uptime30d:99.9,database:"db-b",lastDeploy:"9f3c2a1 · 3 days ago",problems:[{kind:"database",where:"Database db-b",what:"Paused",fix:"Restore the database from its provider (Supabase restore)"}]}],monitors:{up:6,degraded:1,down:1,paused:0,items:[{app:"orbit-blog",path:"/",kind:"http",state:"down",lastStatus:502,latencyMs:311,uptime30d:98.71,lastCheckedAt:"2026-10-13T00:41:00.000Z"}]},alerts:{open:5,critical:1,items:[{title:"orbit-blog is down",severity:"critical",app:"orbit-blog",since:"2026-10-13T00:37:00.000Z",message:"HTTP 502 on /."}]},advisor:[{title:"Next.js 15 reaches end of life on 21 Oct 2026",app:"acme-shop",severity:"warning"}]},null,2),t=JSON.stringify({id:"orbit-blog",state:"down",uptime30d:98.71,database:null,lastDeploy:"abc1234 · failed 19:41",problems:[{kind:"monitor",where:"Monitor /",what:"HTTP 502",fix:"Open Logs (last hour) for errors; Check the latest deployment; roll back if it started after the deploy"}],monitors:[{path:"/",kind:"http",state:"down",lastStatus:502,latencyMs:311,uptime30d:98.71}]},null,2),u=JSON.stringify({app:"orbit-blog",notes:[{id:"5b0f8e0c-2f0a-4b53-9d54-6c1f0d6f6a11",severity:"warn",title:"Deploy failed twice today",body:"The last two production deploys failed at the build step. Roll back to the previous deployment, then fix the build and redeploy.",source:j.U.noteSource,model:"gemini-3.8-flash",createdAt:"2026-10-13T01:02:03.000Z"}]},null,2),v=[{id:"ai-chat",operationId:"createChatCompletion",tag:"AI",method:"post",path:"/api/v1/ai/chat/completions",access:"key",scope:"ai:invoke",scopeLabel:"ai:invoke",summary:"Chat completion (OpenAI-compatible)",description:"Forwards to the provider that owns the model (provider/model, or the default provider for a bare id), over its OpenAI-compatible endpoint. stream: true answers text/event-stream. Fields outside the OpenAI chat schema are rejected.",docsOnly:!1,params:[q],body:r,bodyDescription:"An OpenAI chat completion request.",response:{status:200,contentType:"application/json",description:"The provider's answer, with the model id as Watchbell names it.",example:JSON.stringify({id:"chatcmpl-wp-01JA8",object:"chat.completion",created:0x6ad01318,model:"gemini/gemini-3.8-flash",choices:[{index:0,finish_reason:"stop",message:{role:"assistant",content:"Hello there, nice to meet!"}}],usage:{prompt_tokens:9,completion_tokens:7,total_tokens:16}},null,2)},examples:[{name:"Hello in five words",body:r},{name:"Streaming (SSE)",body:JSON.stringify({model:"gemini/gemini-3.8-flash",messages:[{role:"user",content:"Count to five."}],stream:!0},null,2)},{name:j.U.advisorExample.name,body:JSON.stringify({model:"gemini/gemini-3.8-flash",messages:[{role:"system",content:j.U.advisorExample.system},{role:"user",content:j.U.advisorExample.user}],max_tokens:400},null,2)}]},{id:"ai-models",operationId:"listModels",tag:"AI",method:"get",path:"/api/v1/ai/models",access:"key",scope:"ai:invoke",scopeLabel:"ai:invoke",summary:"List enabled models",description:`The models turned on under AI Gateway › Models, in OpenAI's list format. Provider models are provider/model, owned_by watchbell, and work with /api/v1/ai/chat/completions. ${j.U.modelsAgSentence}A key pinned to a provider or model sees only that.`,docsOnly:!1,params:[q],response:{status:200,contentType:"application/json",description:"An OpenAI-style model list.",example:JSON.stringify({object:"list",data:[{id:"gemini/gemini-3.8-flash",object:"model",created:0,owned_by:"watchbell"},...j.U.agModelExamples]},null,2)}},{id:"ai-questions",operationId:"askQuestion",tag:"AI",method:"post",path:"/api/v1/ai/questions",access:"key",scope:"ai:invoke",scopeLabel:"ai:invoke",summary:"Ask a question about the console",description:`Asks a question about the console, answered from scrubbed console data (names aliased, no URLs, emails or keys). 1-2000 characters; text that looks like a key or token is refused with 400. Optional model from GET /api/v1/ai/models. Left out, or a provider model id (provider/model, e.g. test/prrojects): the owner's own provider answers in this request (a router combo can take ~25 s) and you get 201 with the answer; the question and answer are kept 7 days (GET pollUrl reads them back, the owner sees them under AI › Ask). A provider error answers with the gateway's message (400 model_not_enabled, 429, 502 upstream_error, 503 provider_not_connected) and nothing is stored.${j.U.askAgSentence}`,docsOnly:!1,params:[q],body:JSON.stringify({question:"Is anything about to run out this week?"},null,2),bodyDescription:"question: 1-2000 characters, plain text or markdown. model (optional): a provider model id or an ag/<id> from GET /api/v1/ai/models; left out = the default provider's default model.",response:{status:201,contentType:"application/json",description:"Answered now by the owner's provider. pollUrl reads the stored question back.",example:JSON.stringify({id:"8c1f2e0a-5b7d-4f3e-9a21-6d4c0b9e7f12",status:"answered",answer:"Nothing runs out this week. db-a is at 81% of its storage; plan a cleanup within a month.",answeredBy:{client:"watchpost",model:"test/prrojects"},askedAt:"2026-10-14T00:40:00.000Z",answeredAt:"2026-10-14T00:40:24.000Z",pollUrl:"https://ops.example.com/api/v1/ai/questions/8c1f2e0a-5b7d-4f3e-9a21-6d4c0b9e7f12"},null,2)},alsoResponses:[{status:202,contentType:"application/json",description:j.U.queued,example:JSON.stringify({id:"8c1f2e0a-5b7d-4f3e-9a21-6d4c0b9e7f12",status:"pending",askedAt:"2026-10-13T07:40:00.000Z",requestedModel:"ag/gemini-3.8-flash-high",pollUrl:"https://ops.example.com/api/v1/ai/questions/8c1f2e0a-5b7d-4f3e-9a21-6d4c0b9e7f12"},null,2)}]},{id:"ai-question",operationId:"getQuestion",tag:"AI",method:"get",path:"/api/v1/ai/questions/{id}",access:"key",scope:"ai:invoke",scopeLabel:"ai:invoke",summary:"A question and its answer",description:`One question this key asked with POST /api/v1/ai/questions, for 7 days. status is pending, answered or expired (no answer within 7 days). answer is the markdown answer (up to 8000 characters) from the owner's provider (answeredBy.client watchbell) or ${j.U.answeredByAgent}. Another key's or the owner's questions answer 404 like an unknown id. requestedModel is the ag/<id> asked for, or null (default).`,docsOnly:!1,params:[{name:"id",in:"path",type:"string",required:!0,example:"8c1f2e0a-5b7d-4f3e-9a21-6d4c0b9e7f12",description:"The id from POST /api/v1/ai/questions."},q],response:{status:200,contentType:"application/json",description:"The question; answer and answeredBy are null until it is answered.",example:JSON.stringify({id:"8c1f2e0a-5b7d-4f3e-9a21-6d4c0b9e7f12",status:"answered",question:"Is anything about to run out this week?",requestedModel:"ag/gemini-3.8-flash-high",answer:"Two things: the **db-b** Supabase project pauses on Friday without traffic, and the certificate of app-a renews automatically.",answeredBy:{client:j.U.answeredByClient,model:"gemini-3.8-flash-high"},askedAt:"2026-10-13T07:40:00.000Z",answeredAt:"2026-10-13T07:41:12.000Z"},null,2)}},{id:"status",operationId:"getStatus",tag:"Console",method:"get",path:"/api/v1/status",access:"key",scope:"read:status",scopeLabel:"read:status",summary:"Console summary",description:"Apps, monitors, open alerts and the advisor, scrubbed: database aliases, no URLs, emails or secrets.",docsOnly:!1,params:[{name:"include",in:"query",type:"string",required:!1,example:"apps,alerts",description:"Comma-separated sections to return: apps, monitors, alerts, advisor. Default: all four."},q],response:{status:200,contentType:"application/json",description:"The requested sections of the console snapshot.",example:s},examples:[{name:"Everything"},{name:"Only alerts",query:{include:"alerts"}}]},{id:"status-app",operationId:"getAppStatus",tag:"Console",method:"get",path:"/api/v1/status/apps/{app}",access:"key",scope:"read:status",scopeLabel:"read:status",summary:"One app with its Why problems",description:"Same shape as one entry of apps[], plus its monitors and the remedies. The app is its name or console id; 404 not_found when it isn't a watched app.",docsOnly:!1,params:[{name:"app",in:"path",type:"string",required:!0,example:"orbit-blog",description:"The app's name (as in apps[].id) or console id."},q],response:{status:200,contentType:"application/json",description:"One app.",example:t}},{id:"advice",operationId:"getAppAdvice",tag:"Console",method:"get",path:"/api/v1/advice",access:"key",scope:"read:status",scopeLabel:"read:status",summary:"Latest AI notes for one app",description:`The newest AI notes (up to 5, not dismissed) that ${j.U.adviceAgent} wrote about the app, scrubbed like /status. ${j.U.adviceFor} for the app by name or id; 404 not_found when it isn't a watched app.`,docsOnly:!1,params:[{name:"app",in:"query",type:"string",required:!0,example:"orbit-blog",description:"The app's name or console id."},q],response:{status:200,contentType:"application/json",description:"The app and its latest notes, newest first (an empty list when there are none).",example:u}},{id:"me",operationId:"getMe",tag:"Console",method:"get",path:"/api/v1/me",access:"key",scope:"any",scopeLabel:"any key",summary:"The calling key",description:"Name, prefix, scopes, rate limit and expiry of the key you send. Handy to test a key.",docsOnly:!1,params:[q],response:{status:200,contentType:"application/json",description:"The key's public details (never the key or its hash).",example:JSON.stringify({name:"laptop-agents",prefix:"wb_Lm9x",scopes:["ai:invoke","read:status"],rateLimitPerMin:30,expiresAt:null},null,2)}},{id:"openapi",operationId:"getOpenApi",tag:"Console",method:"get",path:"/api/v1/openapi.json",access:"keyOrOwner",scope:"any",scopeLabel:"any key or owner session",summary:"This OpenAPI 3.1 document",description:"The description every endpoint of this page is built from. Needs any valid key, or the owner's signed-in session (so the download button works).",docsOnly:!1,params:[q],response:{status:200,contentType:"application/json",description:"An OpenAPI 3.1 document.",example:JSON.stringify({openapi:"3.1.0",info:{title:"Watchbell API",version:"1.0.0"},paths:{"/api/v1/status":{get:{operationId:"getStatus"}}}},null,2)}},{id:"mcp",operationId:"mcpRpc",tag:"MCP",method:"post",path:"/api/v1/mcp",access:"key",scope:"read:status",scopeLabel:"read:status",summary:"MCP server (Streamable HTTP)",description:`JSON-RPC 2.0 for Model Context Protocol clients (${j.U.mcpClients}). initialize, tools/list and tools/call for the read-only tools; submit_ai_note needs write:notes. Answers JSON (no server-sent stream needed); GET and DELETE answer 405.`,docsOnly:!1,params:[{name:"Accept",in:"header",type:"string",required:!0,default:"application/json, text/event-stream",description:"Both types, as the MCP transport requires."},{name:"MCP-Protocol-Version",in:"header",type:"string",required:!1,default:"2025-06-18",description:"The protocol revision the client speaks."},q],body:JSON.stringify({jsonrpc:"2.0",id:1,method:"tools/list"},null,2),bodyDescription:"One JSON-RPC 2.0 message (batches are rejected).",response:{status:200,contentType:"application/json",description:"The JSON-RPC response.",example:JSON.stringify({jsonrpc:"2.0",id:1,result:{tools:[{name:"list_apps",description:"Every app with its state …"},{name:"get_app",description:"One app with its Why problems …"}]}},null,2)},examples:[{name:"tools/list",body:JSON.stringify({jsonrpc:"2.0",id:1,method:"tools/list"},null,2)},{name:"tools/call get_app",body:JSON.stringify({jsonrpc:"2.0",id:2,method:"tools/call",params:{name:"get_app",arguments:{app:"orbit-blog"}}},null,2)},{name:"initialize",body:JSON.stringify({jsonrpc:"2.0",id:0,method:"initialize",params:{protocolVersion:"2025-06-18",capabilities:{},clientInfo:{name:"api-explorer",version:"1.0"}}},null,2)}]},{id:"health",operationId:"getHealth",tag:"Health",method:"get",path:"/api/health",access:"none",scope:null,scopeLabel:"no key",summary:"Liveness check",description:"Answers 200 while the console is up. Public, no database read; point an uptime checker at it.",docsOnly:!1,params:[],response:{status:200,contentType:"application/json",description:"Always ok while the console answers.",example:JSON.stringify({ok:!0,service:"watchbell"},null,2)}},{id:"ping",operationId:"pingHeartbeat",tag:"Heartbeats",method:"post",path:"/api/ping/{token}",access:"token",scope:null,scopeLabel:"heartbeat token",summary:"Heartbeat ping (GET and HEAD work too)",description:"A job tells Watchbell it ran. The token is shown once when the heartbeat monitor is created; Watchbell keeps only its hash, so this page can't fill it in. Paste it below to try a ping: it is used for this request only and never stored. A real ping changes the monitor's state.",docsOnly:!1,params:[{name:"token",in:"path",type:"string",required:!0,secret:!0,example:"hb_0123456789abcdef0123456789abcdef",description:"The heartbeat token (hb_ and 32 hex characters)."}],response:{status:200,contentType:"text/plain",description:"OK; 404 for an unknown token, 429 when pinged too often.",example:"OK"}},{id:"ping-start",operationId:"pingHeartbeatStart",tag:"Heartbeats",method:"post",path:"/api/ping/{token}/start",access:"token",scope:null,scopeLabel:"heartbeat token",summary:"Heartbeat: the job started",description:"Marks the start of a run. If no OK ping follows within the grace time the monitor is down. Same token rules as /api/ping/{token}.",docsOnly:!1,params:[{name:"token",in:"path",type:"string",required:!0,secret:!0,example:"hb_0123456789abcdef0123456789abcdef",description:"The heartbeat token."}],response:{status:200,contentType:"text/plain",description:"OK.",example:"OK"}},{id:"ping-fail",operationId:"pingHeartbeatFail",tag:"Heartbeats",method:"post",path:"/api/ping/{token}/fail",access:"token",scope:null,scopeLabel:"heartbeat token",summary:"Heartbeat: the job failed",description:"Reports a failure; the monitor goes down at once. Same token rules as /api/ping/{token}.",docsOnly:!1,params:[{name:"token",in:"path",type:"string",required:!0,secret:!0,example:"hb_0123456789abcdef0123456789abcdef",description:"The heartbeat token."}],response:{status:200,contentType:"text/plain",description:"OK.",example:"OK"}},{id:"collect",operationId:"runCollector",tag:"Scheduler",method:"post",path:"/api/collect",access:"secret",scope:null,scopeLabel:"scheduler secret",summary:"Collector run",description:"Called every minute by cron-job.org with Authorization: Bearer <COLLECTOR_SECRET>. Docs only: Try it would need the secret.",docsOnly:!0,bearerEnv:"COLLECTOR_SECRET",params:[],response:{status:200,contentType:"application/json",description:"The run's summary.",example:JSON.stringify({ok:!0,ran:["monitors","deployments"],errors:[]},null,2)}},{id:"watchdog",operationId:"runWatchdog",tag:"Scheduler",method:"post",path:"/api/watchdog",access:"secret",scope:null,scopeLabel:"QStash signature",summary:"Watchdog",description:"Called by Upstash QStash every 5 minutes with an Upstash-Signature header. Docs only.",docsOnly:!0,params:[],response:{status:200,contentType:"application/json",description:"Whether the collector looked stale.",example:JSON.stringify({stale:!1},null,2)}},{id:"daily",operationId:"runDaily",tag:"Scheduler",method:"get",path:"/api/daily",access:"secret",scope:null,scopeLabel:"cron secret",summary:"Daily job",get description(){return`Vercel Cron at ${(0,p.Q)()} with Authorization: Bearer <CRON_SECRET>. Docs only.`},docsOnly:!0,bearerEnv:"CRON_SECRET",params:[],response:{status:200,contentType:"application/json",description:"The job's summary.",example:JSON.stringify({ok:!0,errors:[]},null,2)}}],w=["AI","Console","MCP","Health","Heartbeats","Scheduler"],x={get:"bg-teal-soft text-teal",post:"bg-brand-soft text-brand",head:"bg-gray-soft text-ink-soft"};function y({method:a,className:c}){return(0,b.jsx)("span",{className:(0,o.f)("inline-block min-w-[46px] rounded-[4px] px-[5px] py-px text-center font-mono text-[11px] font-medium",x[a],c),children:a.toUpperCase()})}function z({activeId:a}){return(0,b.jsx)("nav",{"aria-label":"Endpoints",className:"pb-2 pt-1",children:w.map(c=>{let d=v.filter(a=>a.tag===c);return d.length?(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"px-3 pb-1 pt-2.5 text-[11.5px] uppercase tracking-[.04em] text-ink-faint",children:c}),d.map(c=>(0,b.jsxs)(g.default,{href:`/api-docs/${c.id}`,title:c.summary,"aria-current":c.id===a?"page":void 0,className:(0,o.f)("flex items-center gap-2 px-3 py-[5px] font-mono text-[12.5px] text-ink hover:bg-hover hover:no-underline",c.id===a&&"bg-nav-active text-nav-active-text hover:bg-nav-active"),children:[(0,b.jsx)(y,{method:c.method}),(0,b.jsx)("span",{className:"min-w-0 overflow-hidden text-ellipsis whitespace-nowrap",children:c.path.startsWith("/api/v1")?c.path.slice(7):c.path}),c.docsOnly&&(0,b.jsx)(n.f,{size:14,"aria-label":"Docs only",className:"ml-auto shrink-0 text-ink-faint"})]},c.id))]},c):null})})}var A=a.i(18766);let B={defaultModel:null,options:[]};var C=a.i(208683),D=a.i(75148),E=a.i(109307),F=a.i(68381),G=a.i(214758);async function H(){let a=async()=>{try{let a=new Date,{report:b,prefs:c,allowed:d}=await (0,l.y)(a);return(0,l.U)(b,a)?{connected:!0,ids:(0,l._)(b,c,d)}:{connected:!1,ids:[]}}catch{return console.warn(j.I.modelsReadFailed),{connected:!1,ids:[]}}};try{let[{rows:b,defaultModel:c},d]=await Promise.all([(0,m.Y)(),a()]);return function(a){let b=[...new Set(a.rows.filter(a=>a.enabled&&a.providerEnabled&&(0,C.W)({upstream:a.upstream,manual:a.manual},a.providerKind)).map(a=>a.publicId))],c=a.defaultModel&&b.includes(a.defaultModel)?a.defaultModel:b[0]??null,d=(c?[c,...b.filter(a=>a!==c)]:b).map(a=>({id:a,isDefault:a===c,async:!1}));if(a.ag.connected)for(let b of new Set(a.ag.ids))d.push({id:`${l.T}${b}`,isDefault:!1,async:!0});return{defaultModel:c,options:d}}({rows:b,defaultModel:c,ag:d})}catch{return console.warn("reading the models for the API explorer failed"),B}}async function I({params:a}){let c,j=await (0,E.B)("owner");if(!j.ok)return(0,b.jsx)(D.f,{role:j.member.role});let{op:l}=await a;l&&l.length>1&&(0,h.notFound)();let m=l?.length?(c=l[0])?v.find(a=>a.id===c):void 0:v[0];m||(0,h.notFound)();let[n,o]=await Promise.all([(0,f.headers)().then(a=>(function(a,b,c=!1){let d=(a.get("x-forwarded-host")??a.get("host")??"").split(",")[0].trim();if(!/^[a-z0-9.-]+(:\d{1,5})?$/i.test(d))return b.replace(/\/+$/,"");let e=(a.get("x-forwarded-proto")??"").split(",")[0].trim().toLowerCase(),f="http"===e||"https"===e?e:c&&/^(localhost|127\.0\.0\.1)(:|$)/.test(d)?"http":"https";return`${f}://${d}`})(a,function(){try{return(0,k.f)().SITE_URL}catch{return(0,F.F)()?G.L:G.l}}())),H()]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.L,{crumbs:[{label:"AI & API"},{label:"API explorer",href:"/api-docs"},{label:m.path}],title:"API explorer",sub:"Every endpoint from one OpenAPI 3.1 file. Try a request with a console API key; it runs against this deployment with that key's scopes and rate limit.",actions:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("a",{href:"/api/v1/openapi.json",download:"openapi.json",className:(0,i.R)(),children:[(0,b.jsx)(d,{size:16,"aria-hidden":!0}),"openapi.json"]}),(0,b.jsxs)(g.default,{href:"/ai/keys",className:(0,i.R)(),children:[(0,b.jsx)(e,{size:16,"aria-hidden":!0}),"API keys"]})]})}),(0,b.jsxs)("div",{className:"mt-4 grid grid-cols-1 items-start gap-4 min-[960px]:grid-cols-[268px_minmax(0,1fr)]",children:[(0,b.jsx)(i.N,{flush:!0,children:(0,b.jsx)(z,{activeId:m.id})}),(0,b.jsx)(A.Explorer,{opId:m.id,origin:n,models:o},m.id)]})]})}a.s(["default",0,I],726947)},384125,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call Explorer() from the server but Explorer is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/explorer/explorer.tsx","Explorer");a.s(["Explorer",0,b])},18766,a=>{var b=a.i(384125);a.n(b)}],307776,function(a){a.n(a.i(726947))}];
1
+ module.exports=[[726947,a=>{var b=a.i(907997),c=a.i(377269);let d=(0,c.f)("outline","download","Download",[["path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2",key:"svg-0"}],["path",{d:"M7 11l5 5l5 -5",key:"svg-1"}],["path",{d:"M12 4l0 12",key:"svg-2"}]]),e=(0,c.f)("outline","key","Key",[["path",{d:"M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0",key:"svg-0"}],["path",{d:"M15 9h.01",key:"svg-1"}]]);var f=a.i(905246),g=a.i(395936);a.i(570396);var h=a.i(673727),i=a.i(803681),j=a.i(462820),k=a.i(492665),l=a.i(484458),m=a.i(263972),n=a.i(126357),o=a.i(139138),p=a.i(245710);let q={name:"X-Client",in:"header",type:"string",required:!1,default:"api-explorer",example:"my-agent/1.0",description:"Names the caller as an agent (name/version) when the request doesn't say it otherwise. The API explorer sends api-explorer."},r=JSON.stringify({model:"gemini/gemini-3.8-flash",messages:[{role:"user",content:"Say hello in five words."}],stream:!1},null,2),s=JSON.stringify({generatedAt:"2026-10-13T00:41:12.000Z",apps:[{id:"orbit-blog",state:"down",uptime30d:98.71,database:null,lastDeploy:"abc1234 · failed 19:41",problems:[{kind:"monitor",where:"Monitor /",what:"HTTP 502",fix:"Open Logs (last hour) for errors; Check the latest deployment; roll back if it started after the deploy"}]},{id:"acme-shop",state:"degraded",uptime30d:99.9,database:"db-b",lastDeploy:"9f3c2a1 · 3 days ago",problems:[{kind:"database",where:"Database db-b",what:"Paused",fix:"Restore the database from its provider (Supabase restore)"}]}],monitors:{up:6,degraded:1,down:1,paused:0,items:[{app:"orbit-blog",path:"/",kind:"http",state:"down",lastStatus:502,latencyMs:311,uptime30d:98.71,lastCheckedAt:"2026-10-13T00:41:00.000Z"}]},alerts:{open:5,critical:1,items:[{title:"orbit-blog is down",severity:"critical",app:"orbit-blog",since:"2026-10-13T00:37:00.000Z",message:"HTTP 502 on /."}]},advisor:[{title:"Next.js 15 reaches end of life on 21 Oct 2026",app:"acme-shop",severity:"warning"}]},null,2),t=JSON.stringify({id:"orbit-blog",state:"down",uptime30d:98.71,database:null,lastDeploy:"abc1234 · failed 19:41",problems:[{kind:"monitor",where:"Monitor /",what:"HTTP 502",fix:"Open Logs (last hour) for errors; Check the latest deployment; roll back if it started after the deploy"}],monitors:[{path:"/",kind:"http",state:"down",lastStatus:502,latencyMs:311,uptime30d:98.71}]},null,2),u=JSON.stringify({app:"orbit-blog",notes:[{id:"5b0f8e0c-2f0a-4b53-9d54-6c1f0d6f6a11",severity:"warn",title:"Deploy failed twice today",body:"The last two production deploys failed at the build step. Roll back to the previous deployment, then fix the build and redeploy.",source:j.U.noteSource,model:"gemini-3.8-flash",createdAt:"2026-10-13T01:02:03.000Z"}]},null,2),v=[{id:"ai-chat",operationId:"createChatCompletion",tag:"AI",method:"post",path:"/api/v1/ai/chat/completions",access:"key",scope:"ai:invoke",scopeLabel:"ai:invoke",summary:"Chat completion (OpenAI-compatible)",description:"Forwards to the provider that owns the model (provider/model, or the default provider for a bare id), over its OpenAI-compatible endpoint. stream: true answers text/event-stream. Fields outside the OpenAI chat schema are rejected.",docsOnly:!1,params:[q],body:r,bodyDescription:"An OpenAI chat completion request.",response:{status:200,contentType:"application/json",description:"The provider's answer, with the model id as Watchbell names it.",example:JSON.stringify({id:"chatcmpl-wp-01JA8",object:"chat.completion",created:0x6ad01318,model:"gemini/gemini-3.8-flash",choices:[{index:0,finish_reason:"stop",message:{role:"assistant",content:"Hello there, nice to meet!"}}],usage:{prompt_tokens:9,completion_tokens:7,total_tokens:16}},null,2)},examples:[{name:"Hello in five words",body:r},{name:"Streaming (SSE)",body:JSON.stringify({model:"gemini/gemini-3.8-flash",messages:[{role:"user",content:"Count to five."}],stream:!0},null,2)},{name:j.U.advisorExample.name,body:JSON.stringify({model:"gemini/gemini-3.8-flash",messages:[{role:"system",content:j.U.advisorExample.system},{role:"user",content:j.U.advisorExample.user}],max_tokens:400},null,2)}]},{id:"ai-models",operationId:"listModels",tag:"AI",method:"get",path:"/api/v1/ai/models",access:"key",scope:"ai:invoke",scopeLabel:"ai:invoke",summary:"List enabled models",description:`The models turned on under AI Gateway › Models, in OpenAI's list format. Provider models are provider/model, owned_by watchbell, and work with /api/v1/ai/chat/completions. ${j.U.modelsAgSentence}A key pinned to a provider or model sees only that.`,docsOnly:!1,params:[q],response:{status:200,contentType:"application/json",description:"An OpenAI-style model list.",example:JSON.stringify({object:"list",data:[{id:"gemini/gemini-3.8-flash",object:"model",created:0,owned_by:"watchbell"},...j.U.agModelExamples]},null,2)}},{id:"ai-questions",operationId:"askQuestion",tag:"AI",method:"post",path:"/api/v1/ai/questions",access:"key",scope:"ai:invoke",scopeLabel:"ai:invoke",summary:"Ask a question about the console",description:`Asks a question about the console, answered from scrubbed console data (names aliased, no URLs, emails or keys). 1-2000 characters; text that looks like a key or token is refused with 400. Optional model from GET /api/v1/ai/models. Left out, or a provider model id (provider/model, e.g. test/prrojects): the owner's own provider answers in this request (a router combo can take ~25 s) and you get 201 with the answer; the question and answer are kept 7 days (GET pollUrl reads them back, the owner sees them under AI › Ask). A provider error answers with the gateway's message (400 model_not_enabled, 429, 502 upstream_error, 503 provider_not_connected) and nothing is stored.${j.U.askAgSentence}`,docsOnly:!1,params:[q],body:JSON.stringify({question:"Is anything about to run out this week?"},null,2),bodyDescription:"question: 1-2000 characters, plain text or markdown. model (optional): a provider model id or an ag/<id> from GET /api/v1/ai/models; left out = the default provider's default model.",response:{status:201,contentType:"application/json",description:"Answered now by the owner's provider. pollUrl reads the stored question back.",example:JSON.stringify({id:"8c1f2e0a-5b7d-4f3e-9a21-6d4c0b9e7f12",status:"answered",answer:"Nothing runs out this week. db-a is at 81% of its storage; plan a cleanup within a month.",answeredBy:{client:"watchpost",model:"test/prrojects"},askedAt:"2026-10-14T00:40:00.000Z",answeredAt:"2026-10-14T00:40:24.000Z",pollUrl:"https://ops.example.com/api/v1/ai/questions/8c1f2e0a-5b7d-4f3e-9a21-6d4c0b9e7f12"},null,2)},alsoResponses:[{status:202,contentType:"application/json",description:j.U.queued,example:JSON.stringify({id:"8c1f2e0a-5b7d-4f3e-9a21-6d4c0b9e7f12",status:"pending",askedAt:"2026-10-13T07:40:00.000Z",requestedModel:"ag/gemini-3.8-flash-high",pollUrl:"https://ops.example.com/api/v1/ai/questions/8c1f2e0a-5b7d-4f3e-9a21-6d4c0b9e7f12"},null,2)}]},{id:"ai-question",operationId:"getQuestion",tag:"AI",method:"get",path:"/api/v1/ai/questions/{id}",access:"key",scope:"ai:invoke",scopeLabel:"ai:invoke",summary:"A question and its answer",description:`One question this key asked with POST /api/v1/ai/questions, for 7 days. status is pending, answered or expired (no answer within 7 days). answer is the markdown answer (up to 8000 characters) from the owner's provider (answeredBy.client watchbell) or ${j.U.answeredByAgent}. Another key's or the owner's questions answer 404 like an unknown id. requestedModel is the ag/<id> asked for, or null (default).`,docsOnly:!1,params:[{name:"id",in:"path",type:"string",required:!0,example:"8c1f2e0a-5b7d-4f3e-9a21-6d4c0b9e7f12",description:"The id from POST /api/v1/ai/questions."},q],response:{status:200,contentType:"application/json",description:"The question; answer and answeredBy are null until it is answered.",example:JSON.stringify({id:"8c1f2e0a-5b7d-4f3e-9a21-6d4c0b9e7f12",status:"answered",question:"Is anything about to run out this week?",requestedModel:"ag/gemini-3.8-flash-high",answer:"Two things: the **db-b** Supabase project pauses on Friday without traffic, and the certificate of app-a renews automatically.",answeredBy:{client:j.U.answeredByClient,model:"gemini-3.8-flash-high"},askedAt:"2026-10-13T07:40:00.000Z",answeredAt:"2026-10-13T07:41:12.000Z"},null,2)}},{id:"status",operationId:"getStatus",tag:"Console",method:"get",path:"/api/v1/status",access:"key",scope:"read:status",scopeLabel:"read:status",summary:"Console summary",description:"Apps, monitors, open alerts and the advisor, scrubbed: database aliases, no URLs, emails or secrets.",docsOnly:!1,params:[{name:"include",in:"query",type:"string",required:!1,example:"apps,alerts",description:"Comma-separated sections to return: apps, monitors, alerts, advisor. Default: all four."},q],response:{status:200,contentType:"application/json",description:"The requested sections of the console snapshot.",example:s},examples:[{name:"Everything"},{name:"Only alerts",query:{include:"alerts"}}]},{id:"status-app",operationId:"getAppStatus",tag:"Console",method:"get",path:"/api/v1/status/apps/{app}",access:"key",scope:"read:status",scopeLabel:"read:status",summary:"One app with its Why problems",description:"Same shape as one entry of apps[], plus its monitors and the remedies. The app is its name or console id; 404 not_found when it isn't a watched app.",docsOnly:!1,params:[{name:"app",in:"path",type:"string",required:!0,example:"orbit-blog",description:"The app's name (as in apps[].id) or console id."},q],response:{status:200,contentType:"application/json",description:"One app.",example:t}},{id:"advice",operationId:"getAppAdvice",tag:"Console",method:"get",path:"/api/v1/advice",access:"key",scope:"read:status",scopeLabel:"read:status",summary:"Latest AI notes for one app",description:`The newest AI notes (up to 5, not dismissed) that ${j.U.adviceAgent} wrote about the app, scrubbed like /status. ${j.U.adviceFor} for the app by name or id; 404 not_found when it isn't a watched app.`,docsOnly:!1,params:[{name:"app",in:"query",type:"string",required:!0,example:"orbit-blog",description:"The app's name or console id."},q],response:{status:200,contentType:"application/json",description:"The app and its latest notes, newest first (an empty list when there are none).",example:u}},{id:"me",operationId:"getMe",tag:"Console",method:"get",path:"/api/v1/me",access:"key",scope:"any",scopeLabel:"any key",summary:"The calling key",description:"Name, prefix, scopes, rate limit and expiry of the key you send. Handy to test a key.",docsOnly:!1,params:[q],response:{status:200,contentType:"application/json",description:"The key's public details (never the key or its hash).",example:JSON.stringify({name:"laptop-agents",prefix:"wb_Lm9x",scopes:["ai:invoke","read:status"],rateLimitPerMin:30,expiresAt:null},null,2)}},{id:"openapi",operationId:"getOpenApi",tag:"Console",method:"get",path:"/api/v1/openapi.json",access:"keyOrOwner",scope:"any",scopeLabel:"any key or owner session",summary:"This OpenAPI 3.1 document",description:"The description every endpoint of this page is built from. Needs any valid key, or the owner's signed-in session (so the download button works).",docsOnly:!1,params:[q],response:{status:200,contentType:"application/json",description:"An OpenAPI 3.1 document.",example:JSON.stringify({openapi:"3.1.0",info:{title:"Watchbell API",version:"1.0.0"},paths:{"/api/v1/status":{get:{operationId:"getStatus"}}}},null,2)}},{id:"mcp",operationId:"mcpRpc",tag:"MCP",method:"post",path:"/api/v1/mcp",access:"key",scope:"read:status",scopeLabel:"read:status",summary:"MCP server (Streamable HTTP)",description:`JSON-RPC 2.0 for Model Context Protocol clients (${j.U.mcpClients}). initialize, tools/list and tools/call for the read-only tools; submit_ai_note needs write:notes. Answers JSON (no server-sent stream needed); GET and DELETE answer 405.`,docsOnly:!1,params:[{name:"Accept",in:"header",type:"string",required:!0,default:"application/json, text/event-stream",description:"Both types, as the MCP transport requires."},{name:"MCP-Protocol-Version",in:"header",type:"string",required:!1,default:"2025-06-18",description:"The protocol revision the client speaks."},q],body:JSON.stringify({jsonrpc:"2.0",id:1,method:"tools/list"},null,2),bodyDescription:"One JSON-RPC 2.0 message (batches are rejected).",response:{status:200,contentType:"application/json",description:"The JSON-RPC response.",example:JSON.stringify({jsonrpc:"2.0",id:1,result:{tools:[{name:"list_apps",description:"Every app with its state …"},{name:"get_app",description:"One app with its Why problems …"}]}},null,2)},examples:[{name:"tools/list",body:JSON.stringify({jsonrpc:"2.0",id:1,method:"tools/list"},null,2)},{name:"tools/call get_app",body:JSON.stringify({jsonrpc:"2.0",id:2,method:"tools/call",params:{name:"get_app",arguments:{app:"orbit-blog"}}},null,2)},{name:"initialize",body:JSON.stringify({jsonrpc:"2.0",id:0,method:"initialize",params:{protocolVersion:"2025-06-18",capabilities:{},clientInfo:{name:"api-explorer",version:"1.0"}}},null,2)}]},{id:"health",operationId:"getHealth",tag:"Health",method:"get",path:"/api/health",access:"none",scope:null,scopeLabel:"no key",summary:"Liveness check",description:"Answers 200 while the console is up. Public, no database read; point an uptime checker at it.",docsOnly:!1,params:[],response:{status:200,contentType:"application/json",description:"Always ok while the console answers.",example:JSON.stringify({ok:!0,service:"watchbell"},null,2)}},{id:"ping",operationId:"pingHeartbeat",tag:"Heartbeats",method:"post",path:"/api/ping/{token}",access:"token",scope:null,scopeLabel:"heartbeat token",summary:"Heartbeat ping (GET and HEAD work too)",description:"A job tells Watchbell it ran. The token is shown once when the heartbeat monitor is created; Watchbell keeps only its hash, so this page can't fill it in. Paste it below to try a ping: it is used for this request only and never stored. A real ping changes the monitor's state.",docsOnly:!1,params:[{name:"token",in:"path",type:"string",required:!0,secret:!0,example:"hb_0123456789abcdef0123456789abcdef",description:"The heartbeat token (hb_ and 32 hex characters)."}],response:{status:200,contentType:"text/plain",description:"OK; 404 for an unknown token, 429 when pinged too often.",example:"OK"}},{id:"ping-start",operationId:"pingHeartbeatStart",tag:"Heartbeats",method:"post",path:"/api/ping/{token}/start",access:"token",scope:null,scopeLabel:"heartbeat token",summary:"Heartbeat: the job started",description:"Marks the start of a run. If no OK ping follows within the grace time the monitor is down. Same token rules as /api/ping/{token}.",docsOnly:!1,params:[{name:"token",in:"path",type:"string",required:!0,secret:!0,example:"hb_0123456789abcdef0123456789abcdef",description:"The heartbeat token."}],response:{status:200,contentType:"text/plain",description:"OK.",example:"OK"}},{id:"ping-fail",operationId:"pingHeartbeatFail",tag:"Heartbeats",method:"post",path:"/api/ping/{token}/fail",access:"token",scope:null,scopeLabel:"heartbeat token",summary:"Heartbeat: the job failed",description:"Reports a failure; the monitor goes down at once. Same token rules as /api/ping/{token}.",docsOnly:!1,params:[{name:"token",in:"path",type:"string",required:!0,secret:!0,example:"hb_0123456789abcdef0123456789abcdef",description:"The heartbeat token."}],response:{status:200,contentType:"text/plain",description:"OK.",example:"OK"}},{id:"collect",operationId:"runCollector",tag:"Scheduler",method:"post",path:"/api/collect",access:"secret",scope:null,scopeLabel:"scheduler secret",summary:"Collector run",description:"Called every minute by cron-job.org with Authorization: Bearer <COLLECTOR_SECRET>. Docs only: Try it would need the secret.",docsOnly:!0,bearerEnv:"COLLECTOR_SECRET",params:[],response:{status:200,contentType:"application/json",description:"The run's summary.",example:JSON.stringify({ok:!0,ran:["monitors","deployments"],errors:[]},null,2)}},{id:"watchdog",operationId:"runWatchdog",tag:"Scheduler",method:"post",path:"/api/watchdog",access:"secret",scope:null,scopeLabel:"QStash signature",summary:"Watchdog",description:"Called by Upstash QStash every 5 minutes with an Upstash-Signature header. Docs only.",docsOnly:!0,params:[],response:{status:200,contentType:"application/json",description:"Whether the collector looked stale.",example:JSON.stringify({stale:!1},null,2)}},{id:"daily",operationId:"runDaily",tag:"Scheduler",method:"get",path:"/api/daily",access:"secret",scope:null,scopeLabel:"cron secret",summary:"Daily job",get description(){return`Vercel Cron at ${(0,p.Q)()} with Authorization: Bearer <CRON_SECRET>. Docs only.`},docsOnly:!0,bearerEnv:"CRON_SECRET",params:[],response:{status:200,contentType:"application/json",description:"The job's summary.",example:JSON.stringify({ok:!0,errors:[]},null,2)}}],w=["AI","Console","MCP","Health","Heartbeats","Scheduler"],x={get:"bg-teal-soft text-teal",post:"bg-brand-soft text-brand",head:"bg-gray-soft text-ink-soft"};function y({method:a,className:c}){return(0,b.jsx)("span",{className:(0,o.f)("inline-block min-w-[46px] rounded-[4px] px-[5px] py-px text-center font-mono text-[11px] font-medium",x[a],c),children:a.toUpperCase()})}function z({activeId:a}){return(0,b.jsx)("nav",{"aria-label":"Endpoints",className:"pb-2 pt-1",children:w.map(c=>{let d=v.filter(a=>a.tag===c);return d.length?(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"px-3 pb-1 pt-2.5 text-[11.5px] uppercase tracking-[.04em] text-ink-faint",children:c}),d.map(c=>(0,b.jsxs)(g.default,{href:`/api-docs/${c.id}`,title:c.summary,"aria-current":c.id===a?"page":void 0,className:(0,o.f)("flex items-center gap-2 px-3 py-[5px] font-mono text-[12.5px] text-ink hover:bg-hover hover:no-underline",c.id===a&&"bg-nav-active text-nav-active-text hover:bg-nav-active"),children:[(0,b.jsx)(y,{method:c.method}),(0,b.jsx)("span",{className:"min-w-0 overflow-hidden text-ellipsis whitespace-nowrap",children:c.path.startsWith("/api/v1")?c.path.slice(7):c.path}),c.docsOnly&&(0,b.jsx)(n.f,{size:14,"aria-label":"Docs only",className:"ml-auto shrink-0 text-ink-faint"})]},c.id))]},c):null})})}var A=a.i(18766);let B={defaultModel:null,options:[]};var C=a.i(208683),D=a.i(75148),E=a.i(109307),F=a.i(68381),G=a.i(214758);async function H(){let a=async()=>{try{let a=new Date,{report:b,prefs:c,allowed:d}=await (0,l.y)(a);return(0,l.U)(b,a)?{connected:!0,ids:(0,l._)(b,c,d)}:{connected:!1,ids:[]}}catch{return console.warn(j.I.modelsReadFailed),{connected:!1,ids:[]}}};try{let[{rows:b,defaultModel:c},d]=await Promise.all([(0,m.Y)(),a()]);return function(a){let b=[...new Set(a.rows.filter(a=>a.enabled&&a.providerEnabled&&(0,C.W)({upstream:a.upstream,manual:a.manual},a.providerKind)).map(a=>a.publicId))],c=a.defaultModel&&b.includes(a.defaultModel)?a.defaultModel:b[0]??null,d=(c?[c,...b.filter(a=>a!==c)]:b).map(a=>({id:a,isDefault:a===c,async:!1}));if(a.ag.connected)for(let b of new Set(a.ag.ids))d.push({id:`${l.T}${b}`,isDefault:!1,async:!0});return{defaultModel:c,options:d}}({rows:b,defaultModel:c,ag:d})}catch{return console.warn("reading the models for the API explorer failed"),B}}async function I({params:a}){let c,j=await (0,E.B)("owner");if(!j.ok)return(0,b.jsx)(D.f,{role:j.member.role});let{op:l}=await a;l&&l.length>1&&(0,h.notFound)();let m=l?.length?(c=l[0])?v.find(a=>a.id===c):void 0:v[0];m||(0,h.notFound)();let[n,o]=await Promise.all([(0,f.headers)().then(a=>(function(a,b,c=!1){let d=(a.get("x-forwarded-host")??a.get("host")??"").split(",")[0].trim();if(!/^[a-z0-9.-]+(:\d{1,5})?$/i.test(d))return b.replace(/\/+$/,"");let e=(a.get("x-forwarded-proto")??"").split(",")[0].trim().toLowerCase(),f="http"===e||"https"===e?e:c&&/^(localhost|127\.0\.0\.1)(:|$)/.test(d)?"http":"https";return`${f}://${d}`})(a,function(){try{return(0,k.f)().SITE_URL}catch{return(0,F.F)()?G.L:G.l}}())),H()]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.L,{crumbs:[{label:"Manage"},{label:"API explorer",href:"/api-docs"},{label:m.path}],title:"API explorer",sub:"Every endpoint from one OpenAPI 3.1 file. Try a request with a console API key; it runs against this deployment with that key's scopes and rate limit.",actions:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("a",{href:"/api/v1/openapi.json",download:"openapi.json",className:(0,i.R)(),children:[(0,b.jsx)(d,{size:16,"aria-hidden":!0}),"openapi.json"]}),(0,b.jsxs)(g.default,{href:"/ai/keys",className:(0,i.R)(),children:[(0,b.jsx)(e,{size:16,"aria-hidden":!0}),"API keys"]})]})}),(0,b.jsxs)("div",{className:"mt-4 grid grid-cols-1 items-start gap-4 min-[960px]:grid-cols-[268px_minmax(0,1fr)]",children:[(0,b.jsx)(i.N,{flush:!0,children:(0,b.jsx)(z,{activeId:m.id})}),(0,b.jsx)(A.Explorer,{opId:m.id,origin:n,models:o},m.id)]})]})}a.s(["default",0,I],726947)},384125,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call Explorer() from the server but Explorer is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/explorer/explorer.tsx","Explorer");a.s(["Explorer",0,b])},18766,a=>{var b=a.i(384125);a.n(b)}],307776,function(a){a.n(a.i(726947))}];
2
2
 
3
3
  //# sourceMappingURL=src_0iefnjvaszvw_._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[629804,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Automation","Auto-actions"]})}])},567582,function(a){a.n(a.i(629804))},791444,a=>{"use strict";var b=a.i(907997);let c="whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[629804,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Manage","Auto-actions"]})}])},567582,function(a){a.n(a.i(629804))},791444,a=>{"use strict";var b=a.i(907997);let c="whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_0loe22pbn4cuu._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[401873,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Observe","Provider status"],title:"Provider status",sub:!0,children:(0,b.jsx)(c.G,{rows:6,cols:4})})}])},868714,function(a){a.n(a.i(401873))},791444,a=>{"use strict";var b=a.i(907997);let c="whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[401873,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Home","Provider status"],title:"Provider status",sub:!0,children:(0,b.jsx)(c.G,{rows:6,cols:4})})}])},868714,function(a){a.n(a.i(401873))},791444,a=>{"use strict";var b=a.i(907997);let c="whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_0nylfis4--x5j._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[640639,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Databases","Firebase"],title:"Firebase",sub:!0,children:(0,b.jsx)(c.G,{rows:4,cols:9})})}])},507494,function(a){a.n(a.i(640639))},791444,a=>{"use strict";var b=a.i(907997);let c="whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[640639,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsx)(c.F,{crumbs:["Database","Firebase"],title:"Firebase",sub:!0,children:(0,b.jsx)(c.G,{rows:4,cols:9})})}])},507494,function(a){a.n(a.i(640639))},791444,a=>{"use strict";var b=a.i(907997);let c="whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_0ohsn5qzqqds_._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[925345,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call DepsScanButton() from the server but DepsScanButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/apps/[id]/deps-scan-button.tsx","DepsScanButton");a.s(["DepsScanButton",0,b])},67400,a=>{var b=a.i(925345);a.n(b)},414280,718064,a=>{var b=a.i(907997),c=a.i(863858);function d({href:a,children:e,className:f,...g}){return(0,c.f)()?(0,b.jsx)("a",{href:a,className:f,...g,children:e}):(0,b.jsx)("span",{className:f,children:e})}a.s(["f",0,d],414280);var e=a.i(395936),f=a.i(803681),g=a.i(605826),h=a.i(293167),i=a.i(954296),j=a.i(686251),k=a.i(791444),l=a.i(852539),m=a.i(120213),n=a.i(245710),o=a.i(139138),p=a.i(462820),q=a.i(67400);let r="font-mono text-[12.5px]",s={critical:"CRITICAL",high:"HIGH",moderate:"MODERATE",low:"LOW",unknown:"UNKNOWN"};a.s(["f",0,function({app:a,view:c,canAct:t,owner:u,now:v}){let{repo:w,scan:x,vulns:y}=c,z=(0,m.Z)(y),A=(0,m.B)(y).length;return(0,b.jsxs)(f.N,{title:"Dependencies",meta:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Src,{kind:"api",children:"OSV.dev"}),t&&w&&(0,b.jsx)(q.DepsScanButton,{appId:a.id,appName:a.name})]}),flush:!0,children:[(0,b.jsx)("div",{className:"px-[18px] pb-4 pt-2",children:w?x?.scannedAt?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("dl",{className:"grid grid-cols-[170px_minmax(0,1fr)] gap-x-4 gap-y-2.5 max-[720px]:grid-cols-1 max-[720px]:gap-y-1 [&_dd]:min-w-0 [&_dd]:[overflow-wrap:anywhere] [&_dt]:text-ink-soft",children:[(0,b.jsx)("dt",{children:"Open advisories"}),(0,b.jsx)("dd",{children:0===y.length?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(j.Z,{state:"ok"}),"None known"]}):(0,b.jsx)("span",{className:"flex flex-wrap gap-x-3 gap-y-1",children:m.u.filter(a=>z[a]>0).map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:r,children:z[a]}),(0,b.jsx)(h.s,{severity:s[a]})]},a))})}),(0,b.jsx)("dt",{children:"Lockfile"}),(0,b.jsx)("dd",{children:x.lockfilePath?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:r,children:x.lockfilePath}),(0,b.jsxs)("span",{className:"text-ink-faint",children:[" · ",x.packageCount," packages"]})]}):(0,b.jsx)("span",{className:"text-ink-faint",children:"None at the repository root"})}),(0,b.jsx)("dt",{children:"Last scan"}),(0,b.jsx)("dd",{children:(0,n.$)(x.scannedAt,v)})]}),x.error&&(0,b.jsxs)("p",{className:"mt-3 flex items-start gap-1.5 text-ink-soft",children:[(0,b.jsx)(j.Z,{state:"warn"}),(0,b.jsxs)("span",{children:["The last scan failed: ",x.error," The list below is from the scan before."]})]}),x.note&&(0,b.jsx)("p",{className:"mt-2 text-[12.5px] text-ink-faint",children:x.note}),c.prs&&c.prs.length>0&&(0,b.jsx)("ul",{className:"mt-2 flex flex-col gap-0.5 text-[13px]",children:c.prs.map(a=>(0,b.jsxs)("li",{children:[(0,b.jsx)(d,{href:`https://github.com/${a.fullName}/pull/${a.number}`,target:"_blank",rel:"noopener",children:a.stageText??`PR #${a.number}`}),(0,b.jsxs)("span",{className:"text-ink-faint",children:[" · ",(0,n.$)(a.openedAt,v)]})]},a.number))}),A>0&&(0,b.jsxs)("p",{className:"mt-2 text-[12.5px] text-ink-soft",children:[A," direct package",1===A?" has":"s have"," a fixed version. ",p.K.cardProposes,u&&!c.writeConnected&&(0,b.jsxs)(b.Fragment,{children:[" It needs the ",(0,b.jsx)(e.default,{href:"/connections",children:"GitHub (PR write)"})," token."]})]})]}):(0,b.jsx)("p",{className:"text-ink-soft",children:"Not scanned yet. The daily run scans linked repositories; Scan now does it at once."}):(0,b.jsx)("p",{className:"text-ink-soft",children:"Link a repository (Repository card below) to scan its lockfile for known vulnerabilities."})}),y.length>0&&(0,b.jsx)(g.PlainTable,{head:["Package","Version","Severity","Advisory"],rows:y.map(a=>{let c=(0,l.m)(a.aliases);return{key:`${a.package}@${a.installedVersion}|${a.vulnId}`,state:s[a.severity],text:[a.package,a.vulnId,c,a.summary].filter(Boolean).join(" "),row:(0,b.jsxs)("tr",{className:k.C,children:[(0,b.jsxs)("td",{className:k.z,children:[(0,b.jsx)("span",{className:r,children:a.package}),(a.dev||!a.direct)&&(0,b.jsx)("div",{className:"mt-0.5 text-xs text-ink-faint",children:[a.direct?null:"transitive",a.dev?"dev only":null].filter(Boolean).join(" · ")})]}),(0,b.jsxs)("td",{className:(0,o.f)(k.z,r,"whitespace-nowrap"),children:[a.installedVersion," ",a.fixedVersion?(0,b.jsxs)(b.Fragment,{children:["→ ",a.fixedVersion]}):(0,b.jsx)("span",{className:"font-sans text-ink-faint",children:"· no fix yet"})]}),(0,b.jsx)("td",{className:k.z,children:(0,b.jsx)(h.s,{severity:s[a.severity]})}),(0,b.jsxs)("td",{className:(0,o.f)(k.z,k.M),children:[(0,b.jsx)("a",{href:`https://osv.dev/vulnerability/${encodeURIComponent(c??a.vulnId)}`,target:"_blank",rel:"noopener",className:r,children:c??a.vulnId}),c&&(0,b.jsx)("span",{className:(0,o.f)(r,"ml-1.5 text-xs text-ink-faint"),children:a.vulnId}),a.summary&&(0,b.jsx)("div",{className:"mt-0.5 text-ink-soft",children:a.summary})]})]})}})})]})}],718064)}]})();
1
+ (()=>{"use strict";module.exports=[925345,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call DepsScanButton() from the server but DepsScanButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/apps/[id]/deps-scan-button.tsx","DepsScanButton");a.s(["DepsScanButton",0,b])},67400,a=>{var b=a.i(925345);a.n(b)},414280,718064,a=>{var b=a.i(907997),c=a.i(863858);function d({href:a,children:e,className:f,...g}){return(0,c.f)()?(0,b.jsx)("a",{href:a,className:f,...g,children:e}):(0,b.jsx)("span",{className:f,children:e})}a.s(["f",0,d],414280);var e=a.i(395936),f=a.i(803681),g=a.i(605826),h=a.i(293167),i=a.i(954296),j=a.i(686251),k=a.i(791444),l=a.i(852539),m=a.i(120213),n=a.i(245710),o=a.i(139138),p=a.i(462820),q=a.i(67400);let r="font-mono text-[12.5px]",s={critical:"CRITICAL",high:"HIGH",moderate:"MODERATE",low:"LOW",unknown:"UNKNOWN"};a.s(["f",0,function({app:a,view:c,canAct:t,owner:u,now:v}){let{repo:w,scan:x,vulns:y}=c,z=(0,m.Z)(y),A=(0,m.B)(y).length;return(0,b.jsxs)(f.N,{title:"Dependencies",meta:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Src,{kind:"api",children:"OSV.dev"}),t&&w&&(0,b.jsx)(q.DepsScanButton,{appId:a.id,appName:a.name})]}),flush:!0,children:[(0,b.jsx)("div",{className:"px-[18px] pb-4 pt-2",children:w?x?.scannedAt?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("dl",{className:"grid grid-cols-[170px_minmax(0,1fr)] gap-x-4 gap-y-2.5 max-[720px]:grid-cols-1 max-[720px]:gap-y-1 [&_dd]:min-w-0 [&_dd]:[overflow-wrap:anywhere] [&_dt]:text-ink-soft",children:[(0,b.jsx)("dt",{children:"Open advisories"}),(0,b.jsx)("dd",{children:0===y.length?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(j.Z,{state:"ok"}),"None known"]}):(0,b.jsx)("span",{className:"flex flex-wrap gap-x-3 gap-y-1",children:m.u.filter(a=>z[a]>0).map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:r,children:z[a]}),(0,b.jsx)(h.s,{severity:s[a]})]},a))})}),(0,b.jsx)("dt",{children:"Lockfile"}),(0,b.jsx)("dd",{children:x.lockfilePath?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:r,children:x.lockfilePath}),(0,b.jsxs)("span",{className:"text-ink-faint",children:[" · ",x.packageCount," packages"]})]}):(0,b.jsx)("span",{className:"text-ink-faint",children:"None at the repository root"})}),(0,b.jsx)("dt",{children:"Last scan"}),(0,b.jsx)("dd",{children:(0,n.$)(x.scannedAt,v)})]}),x.error&&(0,b.jsxs)("p",{className:"mt-3 flex items-start gap-1.5 text-ink-soft",children:[(0,b.jsx)(j.Z,{state:"warn"}),(0,b.jsxs)("span",{children:["The last scan failed: ",x.error," The list below is from the scan before."]})]}),x.note&&(0,b.jsx)("p",{className:"mt-2 text-[12.5px] text-ink-faint",children:x.note}),c.prs&&c.prs.length>0&&(0,b.jsx)("ul",{className:"mt-2 flex flex-col gap-0.5 text-[13px]",children:c.prs.map(a=>(0,b.jsxs)("li",{children:[(0,b.jsx)(d,{href:`https://github.com/${a.fullName}/pull/${a.number}`,target:"_blank",rel:"noopener",children:a.stageText??`PR #${a.number}`}),(0,b.jsxs)("span",{className:"text-ink-faint",children:[" · ",(0,n.$)(a.openedAt,v)]})]},a.number))}),A>0&&(0,b.jsxs)("p",{className:"mt-2 text-[12.5px] text-ink-soft",children:[A," direct package",1===A?" has":"s have"," a fixed version. ",p.K.cardProposes,u&&!c.writeConnected&&(0,b.jsxs)(b.Fragment,{children:[" It needs the ",(0,b.jsx)(e.default,{href:"/connections?provider=github_write",children:"GitHub (PR write)"})," token."]})]})]}):(0,b.jsx)("p",{className:"text-ink-soft",children:"Not scanned yet. The daily run scans linked repositories; Scan now does it at once."}):(0,b.jsx)("p",{className:"text-ink-soft",children:"Link a repository (Repository card below) to scan its lockfile for known vulnerabilities."})}),y.length>0&&(0,b.jsx)(g.PlainTable,{head:["Package","Version","Severity","Advisory"],rows:y.map(a=>{let c=(0,l.m)(a.aliases);return{key:`${a.package}@${a.installedVersion}|${a.vulnId}`,state:s[a.severity],text:[a.package,a.vulnId,c,a.summary].filter(Boolean).join(" "),row:(0,b.jsxs)("tr",{className:k.C,children:[(0,b.jsxs)("td",{className:k.z,children:[(0,b.jsx)("span",{className:r,children:a.package}),(a.dev||!a.direct)&&(0,b.jsx)("div",{className:"mt-0.5 text-xs text-ink-faint",children:[a.direct?null:"transitive",a.dev?"dev only":null].filter(Boolean).join(" · ")})]}),(0,b.jsxs)("td",{className:(0,o.f)(k.z,r,"whitespace-nowrap"),children:[a.installedVersion," ",a.fixedVersion?(0,b.jsxs)(b.Fragment,{children:["→ ",a.fixedVersion]}):(0,b.jsx)("span",{className:"font-sans text-ink-faint",children:"· no fix yet"})]}),(0,b.jsx)("td",{className:k.z,children:(0,b.jsx)(h.s,{severity:s[a.severity]})}),(0,b.jsxs)("td",{className:(0,o.f)(k.z,k.M),children:[(0,b.jsx)("a",{href:`https://osv.dev/vulnerability/${encodeURIComponent(c??a.vulnId)}`,target:"_blank",rel:"noopener",className:r,children:c??a.vulnId}),c&&(0,b.jsx)("span",{className:(0,o.f)(r,"ml-1.5 text-xs text-ink-faint"),children:a.vulnId}),a.summary&&(0,b.jsx)("div",{className:"mt-0.5 text-ink-soft",children:a.summary})]})]})}})})]})}],718064)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_0p0fk07bj9gpq._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[630718,a=>{var b=a.i(187924),c=a.i(218024),d=a.i(572131),e=a.i(823292),f=a.i(405050);let g=(0,f.createServerReference)("608c520693667e7a0f75c7fa8a5b01776ce99d2af3",f.callServer,void 0,f.findSourceMapURL,"approveCreateAction"),h=(0,f.createServerReference)("40ba62992cdd20edac8eed4d34972ad9e70c7ea789",f.callServer,void 0,f.findSourceMapURL,"rejectCreateAction");var i=a.i(771378),j=a.i(611619),k=a.i(619089),l=a.i(507504),m=a.i(814574),n=a.i(486583);let o=new Set(["requested","approved","running"]),p=a=>o.has(a.status);var q=a.i(147474),r=a.i(368114);let s={requested:"Waiting for approval",approved:"Approved",running:"Creating…",done:"Created",failed:"Failed",rejected:"Rejected",expired:"Expired"};function t({items:a,owner:c,focus:d,quiet:e}){let f=(0,i.useMask)();return(0,b.jsx)("ul",{className:"divide-y divide-line",children:a.map(a=>{var g;let h;return(0,b.jsxs)("li",{id:`create-${a.id}`,className:(0,r.f)("flex flex-wrap items-center gap-x-3 gap-y-1.5 px-[18px] py-2.5",e&&"py-2 text-[13px]",d===a.id&&"bg-brand-soft"),children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("b",{className:(0,r.f)("font-medium",e&&"text-ink-soft"),children:n.S[a.type]}),(0,b.jsx)(k.E,{children:n.E[a.type]}),(0,b.jsx)("span",{className:(0,r.f)("text-[12.5px]","failed"===a.status?"text-err":"text-ink-soft"),children:s[a.status]})]}),(0,b.jsx)("p",{className:"font-mono text-[12.5px] text-ink-soft [overflow-wrap:anywhere]",children:f("text",a.summary)}),"requested"===a.status&&(0,b.jsxs)("p",{className:"text-[12px] text-ink-faint",children:[a.mine?"You asked":"Another member asked"," · expires ",(g=new Date(a.expiresAt),h=(0,q.e)(g),`${h.day} ${h.month} ${h.year}, ${(0,q.U)(g)}`)]}),a.error&&"requested"!==a.status&&(0,b.jsx)("p",{className:"text-[12.5px] text-err",children:f("text",a.error)}),a.result?.id&&"done"===a.status&&(0,b.jsxs)("p",{className:"text-[12px] text-ink-faint",children:["Created: ",(0,b.jsx)("span",{className:"font-mono",children:f("text",a.result.id)}),"firebase-pending"===a.result.note?" · Firebase still needs adding in the Firebase console":""]})]}),c&&"requested"===a.status&&(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)(u,{item:a}),(0,b.jsx)(v,{item:a})]})]},a.id)})})}function u({item:a}){return(0,b.jsx)(j.f,{trigger:(0,b.jsx)(k.K,{size:"sm",children:"Reject"}),title:`Reject this ${n.S[a.type]}?`,body:"Nothing is created. The person who asked can ask again.",cta:"Reject",onConfirm:async()=>{let b=await h(a.id);return b.ok?{ok:!0,message:b.message??"Rejected."}:{ok:!1,message:b.error}}})}function v({item:a}){let[c,e]=(0,d.useState)(!1);return(0,l.useHoldRefresh)(c),(0,b.jsxs)(m.N,{open:c,onOpenChange:e,children:[(0,b.jsx)(m.a,{render:(0,b.jsx)(k.K,{size:"sm",variant:"primary"}),children:"Approve…"}),(0,b.jsx)(m.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:c&&(0,b.jsx)(w,{item:a,onDone:()=>e(!1)})})]})}function w({item:a,onDone:c}){let f=(0,i.useMask)(),[h,j]=(0,d.useState)(""),[l,o]=(0,d.useState)(null),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)(null),[t,u]=(0,d.useTransition)();return p?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(m.F,{className:"text-base",children:"Copy the database password now"}),(0,b.jsxs)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:[r," It is shown only here, only once."]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsx)(x,{value:p}),(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(k.M,{tone:"warning",title:"The console doesn't keep it",children:"Save it in your password manager. If it's lost, reset it in Supabase → Project settings → Database."})})]}),(0,b.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,b.jsx)(k.K,{variant:"primary",onClick:()=>{q(null),c()},children:"I've saved it"})})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(m.F,{className:"text-base",children:f("text",`Create ${n.S[a.type]} ${a.confirmName}?`)}),(0,b.jsxs)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["The console checks the free tier at ",n.E[a.type]," again now, then makes one create call. ",(0,n.d)(a.type)]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-2",children:[(0,b.jsx)("p",{className:"mb-3 rounded-md border border-line bg-sunken px-3 py-2 font-mono text-[12.5px] [overflow-wrap:anywhere]",children:f("text",a.summary)}),(0,b.jsx)(k.O,{id:`ap-${a.id}`,label:(0,b.jsxs)(b.Fragment,{children:["Type ",(0,b.jsx)("span",{className:"font-mono",children:f("text",a.confirmName)})," to approve"]}),error:l??void 0,children:(0,b.jsx)("input",{id:`ap-${a.id}`,className:k.S,value:h,autoComplete:"off",spellCheck:!1,onChange:a=>j(a.target.value)})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(k.K,{onClick:c,disabled:t,children:"Cancel"}),(0,b.jsx)(k.K,{variant:"primary",onClick:function(){u(async()=>{try{let b=await g(a.id,h);if(!b.ok)return o(f("text",b.error));o(null),b.data?.secret?(q(b.data.secret),s(f("text",b.message??"Created."))):(e.c.success(f("text",b.message??"Created.")),c())}catch{o("Something went wrong. Check the provider's dashboard before trying again.")}})},disabled:t||h.trim()!==a.confirmName,children:t?"Checking and creating…":"Approve and create"})]})]})}function x({value:a}){let[f,g]=(0,d.useState)(!1),{shot:h}=(0,i.usePrivacy)(),[j,l]=(0,d.useState)(!1);return(0,b.jsxs)("div",{className:"mb-3 flex items-center gap-2 rounded-md border border-line-strong bg-sunken px-3 py-2",children:[h&&!j?(0,b.jsx)("button",{type:"button",className:"min-w-0 flex-1 text-left text-[13px] text-ink-soft",onClick:()=>l(!0),children:"Hidden in screenshot mode. Click to show it."}):(0,b.jsx)("code",{className:"min-w-0 flex-1 select-all font-mono text-[13px] [overflow-wrap:anywhere]",children:a}),(0,b.jsxs)(k.K,{size:"sm",onClick:()=>{navigator.clipboard.writeText(a).then(()=>g(!0),()=>e.c.error("Copy didn't work; select the text and copy it."))},children:[(0,b.jsx)(c.f,{size:14,"aria-hidden":!0,className:"mr-1 inline"}),f?"Copied":"Copy"]})]})}a.s(["CreateRequestList",0,function({items:a,owner:c,focus:d,title:e="Waiting for approval"}){let{pending:f,finished:g}={pending:a.filter(p),finished:a.filter(a=>!p(a))};if(!f.length&&!g.length)return null;let h=f.filter(a=>"requested"===a.status).length;return(0,b.jsxs)(b.Fragment,{children:[f.length>0&&(0,b.jsx)(k.N,{title:e,meta:h?`${h} waiting`:void 0,flush:!0,children:(0,b.jsx)(t,{items:f,owner:c,focus:d})}),g.length>0&&(0,b.jsx)(k.N,{title:"Recent requests",flush:!0,children:(0,b.jsx)(t,{items:g,owner:!1,focus:d,quiet:!0})})]})}],630718)},486583,a=>{let b={dns_record:"Cloudflare",neon_branch:"Neon",supabase_project:"Supabase",firebase_project:"Firebase"};a.s(["E",0,b,"S",0,{dns_record:"DNS record",neon_branch:"Neon branch",supabase_project:"Supabase project",firebase_project:"Firebase project"},"d",0,a=>`The console can't remove this later; remove it in ${b[a]}'s dashboard.`])}]})();
1
+ (()=>{"use strict";module.exports=[630718,a=>{var b=a.i(187924),c=a.i(218024),d=a.i(572131),e=a.i(823292),f=a.i(405050);let g=(0,f.createServerReference)("60ac2fa6a2d11f6df092c72f15fc4c8f31c20df9fc",f.callServer,void 0,f.findSourceMapURL,"approveCreateAction"),h=(0,f.createServerReference)("406d20b064b7623f41d79629ea46be19fbfb679858",f.callServer,void 0,f.findSourceMapURL,"rejectCreateAction");var i=a.i(771378),j=a.i(611619),k=a.i(619089),l=a.i(507504),m=a.i(814574),n=a.i(486583);let o=new Set(["requested","approved","running"]),p=a=>o.has(a.status);var q=a.i(147474),r=a.i(368114);let s={requested:"Waiting for approval",approved:"Approved",running:"Creating…",done:"Created",failed:"Failed",rejected:"Rejected",expired:"Expired"};function t({items:a,owner:c,focus:d,quiet:e}){let f=(0,i.useMask)();return(0,b.jsx)("ul",{className:"divide-y divide-line",children:a.map(a=>{var g;let h;return(0,b.jsxs)("li",{id:`create-${a.id}`,className:(0,r.f)("flex flex-wrap items-center gap-x-3 gap-y-1.5 px-[18px] py-2.5",e&&"py-2 text-[13px]",d===a.id&&"bg-brand-soft"),children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("b",{className:(0,r.f)("font-medium",e&&"text-ink-soft"),children:n.S[a.type]}),(0,b.jsx)(k.E,{children:n.E[a.type]}),(0,b.jsx)("span",{className:(0,r.f)("text-[12.5px]","failed"===a.status?"text-err":"text-ink-soft"),children:s[a.status]})]}),(0,b.jsx)("p",{className:"font-mono text-[12.5px] text-ink-soft [overflow-wrap:anywhere]",children:f("text",a.summary)}),"requested"===a.status&&(0,b.jsxs)("p",{className:"text-[12px] text-ink-faint",children:[a.mine?"You asked":"Another member asked"," · expires ",(g=new Date(a.expiresAt),h=(0,q.e)(g),`${h.day} ${h.month} ${h.year}, ${(0,q.U)(g)}`)]}),a.error&&"requested"!==a.status&&(0,b.jsx)("p",{className:"text-[12.5px] text-err",children:f("text",a.error)}),a.result?.id&&"done"===a.status&&(0,b.jsxs)("p",{className:"text-[12px] text-ink-faint",children:["Created: ",(0,b.jsx)("span",{className:"font-mono",children:f("text",a.result.id)}),"firebase-pending"===a.result.note?" · Firebase still needs adding in the Firebase console":""]})]}),c&&"requested"===a.status&&(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)(u,{item:a}),(0,b.jsx)(v,{item:a})]})]},a.id)})})}function u({item:a}){return(0,b.jsx)(j.f,{trigger:(0,b.jsx)(k.K,{size:"sm",children:"Reject"}),title:`Reject this ${n.S[a.type]}?`,body:"Nothing is created. The person who asked can ask again.",cta:"Reject",onConfirm:async()=>{let b=await h(a.id);return b.ok?{ok:!0,message:b.message??"Rejected."}:{ok:!1,message:b.error}}})}function v({item:a}){let[c,e]=(0,d.useState)(!1);return(0,l.useHoldRefresh)(c),(0,b.jsxs)(m.N,{open:c,onOpenChange:e,children:[(0,b.jsx)(m.a,{render:(0,b.jsx)(k.K,{size:"sm",variant:"primary"}),children:"Approve…"}),(0,b.jsx)(m.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:c&&(0,b.jsx)(w,{item:a,onDone:()=>e(!1)})})]})}function w({item:a,onDone:c}){let f=(0,i.useMask)(),[h,j]=(0,d.useState)(""),[l,o]=(0,d.useState)(null),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)(null),[t,u]=(0,d.useTransition)();return p?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(m.F,{className:"text-base",children:"Copy the database password now"}),(0,b.jsxs)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:[r," It is shown only here, only once."]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsx)(x,{value:p}),(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(k.M,{tone:"warning",title:"The console doesn't keep it",children:"Save it in your password manager. If it's lost, reset it in Supabase → Project settings → Database."})})]}),(0,b.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,b.jsx)(k.K,{variant:"primary",onClick:()=>{q(null),c()},children:"I've saved it"})})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(m.F,{className:"text-base",children:f("text",`Create ${n.S[a.type]} ${a.confirmName}?`)}),(0,b.jsxs)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["The console checks the free tier at ",n.E[a.type]," again now, then makes one create call. ",(0,n.d)(a.type)]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-2",children:[(0,b.jsx)("p",{className:"mb-3 rounded-md border border-line bg-sunken px-3 py-2 font-mono text-[12.5px] [overflow-wrap:anywhere]",children:f("text",a.summary)}),(0,b.jsx)(k.O,{id:`ap-${a.id}`,label:(0,b.jsxs)(b.Fragment,{children:["Type ",(0,b.jsx)("span",{className:"font-mono",children:f("text",a.confirmName)})," to approve"]}),error:l??void 0,children:(0,b.jsx)("input",{id:`ap-${a.id}`,className:k.S,value:h,autoComplete:"off",spellCheck:!1,onChange:a=>j(a.target.value)})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(k.K,{onClick:c,disabled:t,children:"Cancel"}),(0,b.jsx)(k.K,{variant:"primary",onClick:function(){u(async()=>{try{let b=await g(a.id,h);if(!b.ok)return o(f("text",b.error));o(null),b.data?.secret?(q(b.data.secret),s(f("text",b.message??"Created."))):(e.c.success(f("text",b.message??"Created.")),c())}catch{o("Something went wrong. Check the provider's dashboard before trying again.")}})},disabled:t||h.trim()!==a.confirmName,children:t?"Checking and creating…":"Approve and create"})]})]})}function x({value:a}){let[f,g]=(0,d.useState)(!1),{shot:h}=(0,i.usePrivacy)(),[j,l]=(0,d.useState)(!1);return(0,b.jsxs)("div",{className:"mb-3 flex items-center gap-2 rounded-md border border-line-strong bg-sunken px-3 py-2",children:[h&&!j?(0,b.jsx)("button",{type:"button",className:"min-w-0 flex-1 text-left text-[13px] text-ink-soft",onClick:()=>l(!0),children:"Hidden in screenshot mode. Click to show it."}):(0,b.jsx)("code",{className:"min-w-0 flex-1 select-all font-mono text-[13px] [overflow-wrap:anywhere]",children:a}),(0,b.jsxs)(k.K,{size:"sm",onClick:()=>{navigator.clipboard.writeText(a).then(()=>g(!0),()=>e.c.error("Copy didn't work; select the text and copy it."))},children:[(0,b.jsx)(c.f,{size:14,"aria-hidden":!0,className:"mr-1 inline"}),f?"Copied":"Copy"]})]})}a.s(["CreateRequestList",0,function({items:a,owner:c,focus:d,title:e="Waiting for approval"}){let{pending:f,finished:g}={pending:a.filter(p),finished:a.filter(a=>!p(a))};if(!f.length&&!g.length)return null;let h=f.filter(a=>"requested"===a.status).length;return(0,b.jsxs)(b.Fragment,{children:[f.length>0&&(0,b.jsx)(k.N,{title:e,meta:h?`${h} waiting`:void 0,flush:!0,children:(0,b.jsx)(t,{items:f,owner:c,focus:d})}),g.length>0&&(0,b.jsx)(k.N,{title:"Recent requests",flush:!0,children:(0,b.jsx)(t,{items:g,owner:!1,focus:d,quiet:!0})})]})}],630718)},486583,a=>{let b={dns_record:"Cloudflare",neon_branch:"Neon",supabase_project:"Supabase",firebase_project:"Firebase"};a.s(["E",0,b,"S",0,{dns_record:"DNS record",neon_branch:"Neon branch",supabase_project:"Supabase project",firebase_project:"Firebase project"},"d",0,a=>`The console can't remove this later; remove it in ${b[a]}'s dashboard.`])}]})();
2
2
 
3
3
  //# sourceMappingURL=src_0ph020gy78gi9._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[762253,a=>{var b=a.i(187924),c=a.i(771378),d=a.i(619089),e=a.i(54901),f=a.i(188406),g=a.i(87674),h=a.i(742680),i=a.i(405050);let j=(0,i.createServerReference)("609b96b36941d0c0b1f097f5c76f20e7f86699fc9c",i.callServer,void 0,i.findSourceMapURL,"cancelAction");var k=a.i(114033);let l=(0,i.createServerReference)("60df4931f0a0816976207881d81c34c8852e770838",i.callServer,void 0,i.findSourceMapURL,"promotePreviewAction");var m=a.i(269197),n=a.i(98291);a.s(["DeployRowActions",0,function({d:a,actions:i,logs:o}){let p=(0,c.useMask)(),{open:q,dialog:r}=(0,e.W)(),s=a.sha?a.sha.slice(0,7):"",t=a.url?`https://${a.url}`:"",u=[...a.url&&a.visit&&!o?[{label:"Visit",kind:"visit"}]:[],...i.map(a=>({label:a,kind:"action",action:a})),...o?[{label:"View build logs",kind:"logs"}]:[]],v=b=>q({...(0,g.f)(b,p("app",a.appName),s),run:function(a,b,c){switch(a){case"Redeploy":return()=>(0,m.f)(b,c);case"Roll back to this":return()=>(0,n.f)(b,c);case"Promote":return()=>(0,k.f)(b,c);case"Cancel":return()=>j(b,c);case"Promote to production":return()=>l(b,c)}}(b,a.appId,a.externalId)});if(u.length>2){let c=u.map(a=>"visit"===a.kind?{label:a.label,href:t}:"logs"===a.kind?{label:a.label,later:5}:{label:a.label,onSelect:()=>v(a.action)});return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.RowMenu,{label:(0,h.J)(p("app",a.appName),s||a.url||a.externalId),items:c}),r]})}return(0,b.jsxs)("div",{className:"flex gap-1.5",children:[u.map(a=>"visit"===a.kind?(0,b.jsx)("a",{href:t,target:"_blank",rel:"noreferrer",className:(0,d.R)({size:"sm"}),children:"Visit"},a.label):"logs"===a.kind?(0,b.jsx)(d.l,{label:a.label,stage:5},a.label):(0,b.jsx)(d.K,{size:"sm",onClick:()=>v(a.action),children:a.label},a.label)),r]})}],762253)},87674,114033,269197,98291,a=>{a.s(["f",0,function(a,b,c){switch(a){case"Redeploy":return{title:`Redeploy ${b}?`,cta:"Redeploy",danger:!1,body:"Vercel builds the current production deployment again (same commit, today's environment variables) and makes it live when the build is ready. It counts toward the 100 deployments a day on Hobby."};case"Roll back":return{title:`Roll back ${b}?`,cta:"Roll back",danger:!0,body:"Production goes back to the previous production deployment. Hobby can't go further back. Vercel then stops sending new pushes to production until you promote one again."};case"Roll back to this":return{title:`Roll back ${b} to ${c||"this deployment"}?`,cta:"Roll back",danger:!0,body:"Production goes back to this deployment. Hobby only allows the previous production deployment. Vercel then stops sending new pushes to production until you promote one again."};case"Promote":return{title:`Promote ${b} ${c}?`.replace(" ?","?"),cta:"Promote",danger:!1,body:"Production traffic moves to this production deployment and new pushes go live again (this undoes a roll back). Nothing is rebuilt."};case"Promote to production":return{title:`Promote ${b} ${c} to production?`.replace(" "," "),cta:"Promote to production",danger:!0,body:"Vercel builds this preview's commit again as a production deployment, with the production environment variables (preview-only values aren't used), and makes it live when the build is ready. It counts toward the 100 deployments a day on Hobby."};case"Cancel":return{title:"Cancel this build?",cta:"Cancel build",danger:!0,body:`The running build of ${`${b} ${c}`.trim()} stops. The current production deployment stays live.`}}}],87674);var b=a.i(405050);let c=(0,b.createServerReference)("606099ae89a34d41e35ca98354adcc6aff9f40fa75",b.callServer,void 0,b.findSourceMapURL,"promoteAction");a.s(["f",0,c],114033);let d=(0,b.createServerReference)("60bd9f9504135c45447432463c5937b0d0ed02c686",b.callServer,void 0,b.findSourceMapURL,"redeployAction");a.s(["f",0,d],269197);let e=(0,b.createServerReference)("604f882fb43dd09b09effb94531940a216059cba1f",b.callServer,void 0,b.findSourceMapURL,"rollbackAction");a.s(["f",0,e],98291)}]})();
1
+ (()=>{"use strict";module.exports=[762253,a=>{var b=a.i(187924),c=a.i(771378),d=a.i(619089),e=a.i(54901),f=a.i(188406),g=a.i(87674),h=a.i(742680),i=a.i(405050);let j=(0,i.createServerReference)("60f88edbe9d04d343610a9eb3971c358e8934267c2",i.callServer,void 0,i.findSourceMapURL,"cancelAction");var k=a.i(92303);let l=(0,i.createServerReference)("60900dc807cd048f30b0552898a2052a24b44d55a3",i.callServer,void 0,i.findSourceMapURL,"promotePreviewAction");var m=a.i(43442),n=a.i(60432);a.s(["DeployRowActions",0,function({d:a,actions:i,logs:o}){let p=(0,c.useMask)(),{open:q,dialog:r}=(0,e.W)(),s=a.sha?a.sha.slice(0,7):"",t=a.url?`https://${a.url}`:"",u=[...a.url&&a.visit&&!o?[{label:"Visit",kind:"visit"}]:[],...i.map(a=>({label:a,kind:"action",action:a})),...o?[{label:"View build logs",kind:"logs"}]:[]],v=b=>q({...(0,g.f)(b,p("app",a.appName),s),run:function(a,b,c){switch(a){case"Redeploy":return()=>(0,m.f)(b,c);case"Roll back to this":return()=>(0,n.f)(b,c);case"Promote":return()=>(0,k.f)(b,c);case"Cancel":return()=>j(b,c);case"Promote to production":return()=>l(b,c)}}(b,a.appId,a.externalId)});if(u.length>2){let c=u.map(a=>"visit"===a.kind?{label:a.label,href:t}:"logs"===a.kind?{label:a.label,later:5}:{label:a.label,onSelect:()=>v(a.action)});return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.RowMenu,{label:(0,h.J)(p("app",a.appName),s||a.url||a.externalId),items:c}),r]})}return(0,b.jsxs)("div",{className:"flex gap-1.5",children:[u.map(a=>"visit"===a.kind?(0,b.jsx)("a",{href:t,target:"_blank",rel:"noreferrer",className:(0,d.R)({size:"sm"}),children:"Visit"},a.label):"logs"===a.kind?(0,b.jsx)(d.l,{label:a.label,stage:5},a.label):(0,b.jsx)(d.K,{size:"sm",onClick:()=>v(a.action),children:a.label},a.label)),r]})}],762253)},87674,92303,43442,60432,a=>{a.s(["f",0,function(a,b,c){switch(a){case"Redeploy":return{title:`Redeploy ${b}?`,cta:"Redeploy",danger:!1,body:"Vercel builds the current production deployment again (same commit, today's environment variables) and makes it live when the build is ready. It counts toward the 100 deployments a day on Hobby."};case"Roll back":return{title:`Roll back ${b}?`,cta:"Roll back",danger:!0,body:"Production goes back to the previous production deployment. Hobby can't go further back. Vercel then stops sending new pushes to production until you promote one again."};case"Roll back to this":return{title:`Roll back ${b} to ${c||"this deployment"}?`,cta:"Roll back",danger:!0,body:"Production goes back to this deployment. Hobby only allows the previous production deployment. Vercel then stops sending new pushes to production until you promote one again."};case"Promote":return{title:`Promote ${b} ${c}?`.replace(" ?","?"),cta:"Promote",danger:!1,body:"Production traffic moves to this production deployment and new pushes go live again (this undoes a roll back). Nothing is rebuilt."};case"Promote to production":return{title:`Promote ${b} ${c} to production?`.replace(" "," "),cta:"Promote to production",danger:!0,body:"Vercel builds this preview's commit again as a production deployment, with the production environment variables (preview-only values aren't used), and makes it live when the build is ready. It counts toward the 100 deployments a day on Hobby."};case"Cancel":return{title:"Cancel this build?",cta:"Cancel build",danger:!0,body:`The running build of ${`${b} ${c}`.trim()} stops. The current production deployment stays live.`}}}],87674);var b=a.i(405050);let c=(0,b.createServerReference)("60190bc2454975374ef46c785042fef3fdb03fcd26",b.callServer,void 0,b.findSourceMapURL,"promoteAction");a.s(["f",0,c],92303);let d=(0,b.createServerReference)("607ba5e62444be676f64d720074d884a9afa6ed7e3",b.callServer,void 0,b.findSourceMapURL,"redeployAction");a.s(["f",0,d],43442);let e=(0,b.createServerReference)("60e653b49ada64c82143095960364cd8a311c5ac3d",b.callServer,void 0,b.findSourceMapURL,"rollbackAction");a.s(["f",0,e],60432)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_0t6-d5hmzrbp1._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[534908,a=>{let b;var c,d,e=a.i(462820),f=a.i(411350),g=a.i(61017),h=a.i(330863),i=a.i(779704);async function j(a){await (0,i.E)(a,{force:!1})}var k=a.i(907997),l=a.i(109307),m=a.i(920274);let n=(0,a.i(377269).f)("outline","notes","Notes",[["path",{d:"M5 5a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2l0 -14",key:"svg-0"}],["path",{d:"M9 7l6 0",key:"svg-1"}],["path",{d:"M9 11l6 0",key:"svg-2"}],["path",{d:"M9 15l4 0",key:"svg-3"}]]);var o=a.i(701702),p=a.i(245710),q=a.i(668495),r=a.i(191397),s=a.i(791450);let t={crit:"err",warn:"warn",info:"brand"};function u({note:a,now:b,showApp:c}){let d=["AI note",`from ${a.from}`,a.model,(0,p.$)(a.at,b),c&&a.appName?a.appName:null,"written by an agent, can be wrong"].filter(Boolean).join(" · ");return(0,k.jsxs)(r.f,{icon:(0,k.jsx)(n,{size:18,"aria-hidden":!0}),tone:t[a.severity]??"brand",meta:d,action:(0,k.jsx)(s.DismissNoteButton,{id:a.id}),children:[(0,k.jsx)("b",{className:"font-medium",children:(0,k.jsx)(o.MaskedText,{text:a.title})}),(0,k.jsx)(q.f,{source:a.body})]})}async function v({appId:a}){let{ok:b}=await (0,l.B)("owner");if(!b)return null;let c=new Date,d=await (0,m.N)(a,c).catch(()=>[]);return d.length?(0,k.jsx)("div",{className:"mb-3 flex flex-col gap-2.5",children:d.map(b=>(0,k.jsx)(u,{note:b,now:c,showApp:void 0===a},b.id))}):null}var w=a.i(694874),x=a.i(395936),y=a.i(86657),z=a.i(185538);async function A({count:a}){let{ok:b}=await (0,l.B)("owner");if(!b)return null;if(!await y.f.provider().catch(()=>null))return(await (0,m.N)(void 0,new Date).catch(()=>[])).length?null:(0,k.jsxs)("p",{className:"mb-3 flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,k.jsx)(n,{size:16,"aria-hidden":!0,className:"text-ink-faint"}),(0,k.jsx)(x.default,{href:"/ai/connect",children:e.v.recConnect})]});if(0===a)return null;let c=await (0,i.h)().catch(()=>null);if(!c)return(0,k.jsxs)("p",{className:"mb-3 flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,k.jsx)(w.f,{size:16,"aria-hidden":!0,className:"text-ink-faint"}),"No AI summary yet. ",(0,k.jsx)(z.RegenerateButton,{label:"Summarise"})]});let d=new Date;return(0,k.jsxs)(r.f,{className:"mb-3",icon:(0,k.jsx)(w.f,{size:18,"aria-hidden":!0}),meta:(0,k.jsxs)(k.Fragment,{children:[`AI \xb7 ${c.model} \xb7 ${(0,p.$)(new Date(c.at),d)} \xb7 from ${c.count} items, names aliased \xb7 can be wrong, check the items below \xb7 `,(0,k.jsx)(z.RegenerateButton,{label:"Regenerate"})]}),children:[(0,k.jsx)("b",{className:"font-medium",children:"Summary"}),(0,k.jsx)(q.f,{source:c.text})]})}var B=a.i(918962),C=a.i(962230),D=a.i(976517);async function E({appId:a}){let{ok:b}=await (0,l.B)("owner");if(!b)return null;let c=new Date,[d,e,f]=await Promise.all([y.f.provider().catch(()=>null),(0,C.N)("app",a,c).catch(()=>null),(0,B.c)(c).catch(()=>null)]),g=e?{...e,createdAt:e.createdAt.toISOString(),answeredAt:e.answeredAt?.toISOString()??null}:null;return(0,k.jsx)(D.WhyAi,{appId:a,provider:d?{model:d.model}:null,question:g,nowMs:c.getTime(),agConnected:f?.agConnected??!1})}var F=a.i(243446),G=a.i(803681),H=a.i(581156),I=a.i(411642),J=a.i(65932),K=a.i(94473),L=a.i(188282);let M={recheck:"Runs the monitor's check once, like Check now on the monitor.",neon_wake:"Wakes a suspended Neon compute, like Wake on the database page.",supabase_keepalive:"Sends one keep-alive query to a Supabase project close to auto-pause, like Keep active.",supabase_restore:"Restores a paused Supabase project.",vercel_redeploy:"Redeploys the current production deployment.",vercel_rollback:"Rolls production back to the previous ready deployment.",github_bump_pr:"Opens a pull request on a new branch that raises vulnerable packages to their fixed versions (needs the GitHub PR-write token).",daily_rerun:"Calls the console's daily job again when its heartbeat is down. Always asks for approval.",domain_recheck:"Re-reads a domain's TLS certificate and expiry when its certificate looks close to expiry, like Re-check on Domains."};async function N(){let[a,b,c]=await Promise.all([(0,K.I)(),(0,K.K)(),(0,K.X)()]),d=[10,15,20,30,45,60,90,120].filter(a=>a>=K.l&&a<=K.n),e=K.r.map(a=>({kind:a,label:L.H[a].label,risky:"risky"===L.H[a].risk,what:M[a]}));return(0,k.jsxs)(G.N,{title:"Auto-actions",flush:!0,meta:"All off by default",children:[(0,k.jsxs)("p",{className:"px-[18px] pb-3 text-ink-soft",children:["When a firing alert brings a proposal for one of these actions, a switched-on kind runs without asking and you get a short Telegram line afterwards. Everything else waits for you on ",(0,k.jsx)(x.default,{href:"/auto-actions",children:"Auto-actions"}),". Auto-run only does what the console button does, through the same checks, and every run is in the audit log (Events)."]}),(0,k.jsx)(H.AutoRunForm,{saved:a,rows:e}),(0,k.jsxs)("div",{className:"border-t border-line px-[18px] pb-4 pt-3.5",children:[(0,k.jsx)("h3",{className:"mb-1.5 text-[14px]",children:"Auto-rollback after a bad deploy"}),(0,k.jsxs)("p",{className:"mb-2.5 text-ink-soft",children:["Off by default. When on, a new production deploy that breaks the app is rolled back to the previous one without asking. Only ",(0,k.jsx)("span",{className:"font-mono text-[12.5px]",children:"vercel_rollback"}),", only within the first N minutes after a new production deploy goes live, only when a monitor is down or the logs show an error spike, at most once per deployment (and never twice for one app within 2 hours), and every run is reported on Telegram and in Events. Failed builds never go live on Vercel, so this is for builds that succeed but break at runtime."]}),(0,k.jsx)(I.AutoRollbackForm,{saved:b,choices:d})]}),(0,k.jsxs)("div",{className:"border-t border-line px-[18px] pb-4 pt-3.5",children:[(0,k.jsx)("h3",{className:"mb-1.5 text-[14px]",children:"Automatic security fixes"}),(0,k.jsx)("p",{className:"mb-2 text-ink-soft",children:"On by default. When a dependency scan finds a critical or high advisory with a fix, Watchbell fixes it end to end:"}),(0,k.jsxs)("ol",{className:"mb-2.5 list-decimal pl-5 text-ink-soft [&_li]:mt-0.5",children:[(0,k.jsx)("li",{children:"opens the update PR itself (package.json only, on a new watchpost/deps-… branch), only for direct packages that stay in their major version, never twice for the same package while a PR is open;"}),(0,k.jsx)("li",{children:"waits for GitHub's checks (all green), then Vercel's preview of the PR (READY);"}),(0,k.jsx)("li",{children:'tests the preview: "/" and up to 3 monitor paths must answer 200–399 within 15 s (behind Vercel Authentication: 3 minutes without error lines in the preview\'s logs);'}),(0,k.jsx)("li",{children:"squash-merges it, only while auto-rollback is on: the production deploy then runs on Vercel and auto-rollback guards its first minutes."})]}),(0,k.jsx)("p",{className:"mb-2.5 text-ink-soft",children:'Anything failing, or not done within 45 minutes, leaves the PR open marked "needs a look". A major update, a transitive package or a severity you switched off waits for your approval on Auto-actions, as before. Every PR opened and every merge or stop is sent to Telegram and logged in Events. Needs the GitHub PR-write token on Connections.'}),(0,k.jsx)(J.AutoSecurityForm,{saved:c,rollbackOn:b.enabled})]})]})}var O=a.i(93321),P=a.i(530385),Q=a.i(548734),R=a.i(837137),S=a.i(247730),T=a.i(221084),U=a.i(976937),V=a.i(736780),W=a.i(944571),X=a.i(322145),Y=a.i(664892),Z=a.i(760417),$=a.i(812092),_=a.i(572134),aa=a.i(658739),ab=a.i(556987),ac=a.i(142754),ad=a.i(342634),ae=a.i(381544);async function af(a){let b=Date.now();try{let c=await fetch(a,{redirect:"manual",signal:AbortSignal.timeout(Y.w),cache:"no-store",headers:{"User-Agent":"Watchbell smoke test"}}),d=401===c.status||403===c.status?(await c.text().catch(()=>"")).slice(0,8192):"";return{status:c.status,ms:Date.now()-b,authWall:(0,Y.S)(c.status,d,c.headers)}}catch{return{status:null,ms:Date.now()-b,authWall:!1}}}async function ag(b,c){let{extensions:d}=await a.A(414785);return await d.runner?.lockfileJobActive(b,c).catch(()=>!1)??!1}let ah={rows:async()=>await (0,Q.f)().select({id:R.dependencyPrs.id,repoId:R.dependencyPrs.repoId,appId:R.dependencyPrs.appId,proposalId:R.dependencyPrs.proposalId,number:R.dependencyPrs.number,branch:R.dependencyPrs.branch,baseBranch:R.dependencyPrs.baseBranch,headSha:R.dependencyPrs.headSha,title:R.dependencyPrs.title,packages:R.dependencyPrs.packages,auto:R.dependencyPrs.auto,stage:R.dependencyPrs.stage,smokeMode:R.dependencyPrs.smokeMode,previewReadyAt:R.dependencyPrs.previewReadyAt,openedAt:R.dependencyPrs.openedAt,fullName:R.githubRepos.fullName,appName:R.resources.name}).from(R.dependencyPrs).innerJoin(R.githubRepos,(0,O.u)(R.githubRepos.id,R.dependencyPrs.repoId)).leftJoin(R.resources,(0,O.u)(R.resources.id,R.dependencyPrs.appId)).where((0,O.y)(R.dependencyPrs.stage,[...Y.X])).orderBy((0,P.M)(R.dependencyPrs.openedAt)).limit(10),security:K.X,rollback:K.K,writeToken:async()=>{let a=await (0,V.G)();return a&&"unreadable"!==a?a.token:null},readToken:async a=>{let b=await (0,W.l)(a);return b.ok?b.token:null},vercel:async a=>{let b=await (0,X.p)(a,"app"),c=b?.resource.meta.teamId;return b&&"string"==typeof c&&b.resource.externalId?{token:b.token,teamId:c,projectId:b.resource.externalId}:null},monitorUrls:async a=>(await (0,Q.f)().select({url:R.monitors.url}).from(R.monitors).where((0,O.b)((0,O.u)(R.monitors.resourceId,a),(0,O.u)(R.monitors.kind,"http"))).limit(10)).map(a=>a.url),pull:$.b,checks:$.s,runs:Z.L,previews:_.C,probe:af,errorLogs:async(a,b,c,d)=>{let e=await (0,aa.f)(a.token,a.teamId,a.projectId,{since:c,until:d,now:d,deploymentId:b,levels:["error","fatal"],maxRows:20,timeoutMs:8e3});return e.ok?e.lines.length:null},merge:$.C,save:async(a,b,c,d)=>{await (0,Q.f)().update(R.dependencyPrs).set({...b,stageText:d,checkedAt:new Date}).where((0,O.u)(R.dependencyPrs.id,a)),c&&await (0,Q.f)().update(ac.O).set({result:d}).where((0,O.u)(ac.O.id,c)).catch(()=>void 0)},notify:a=>(0,ae.y)(a),lockfileBusy:async(a,b,c)=>await ag(a,b)||await (0,U.W)(c,b),audit:(a,b)=>(0,T.f)({kind:"ok",message:a,resourceId:b,actorUserId:null}),book:()=>(0,S.f)()};async function ai(a,b,c=ah){let d={watched:0,merged:0,stopped:0},e=()=>b-Date.now(),f=await c.rows();if(!f.length)return d;let[g,h,i]=await Promise.all([c.security().catch(()=>null),c.rollback().catch(()=>null),c.writeToken().catch(()=>null)]);if(!i)return d;let j=await c.book().catch(()=>ab.a);for(let b of f){if(15e3>e())break;if(b.auto||g?.enabled)try{let e=await aj(b,a,i,h?.enabled===!0,c);if(!e)continue;d.watched++;let f=b.appName?(0,ab.r)(j,b.appName):"app";await ak(b,e,f,h?.windowMin??30,a,i,c,d)}catch(a){console.warn("deps/watch failed:",a instanceof Error?a.name:"error")}}return d}async function aj(a,b,c,d,e){let f=await e.pull(c,a.fullName,a.number);if(!f.ok)return null;let g=await e.checks(c,a.fullName,f.data.headSha),h=null;if(g.ok&&null===g.data.checkRuns&&a.appId){let b=await e.readToken(a.appId),c=b?await e.runs(b,a.fullName,f.data.headSha):null;h=c?.ok?c.data:null}g.ok||(g={ok:!0,data:{checkRuns:[{status:"queued",conclusion:null}],combined:null}});let i=(0,Y.j)({...g.data,actionRuns:h}),j={state:null,readyAt:null},k=null,l=a.appId?await e.vercel(a.appId):null;if(l&&"success"===i&&f.data.headSha===a.headSha){let c=await e.previews(l.token,l.teamId,l.projectId,f.data.headSha),d=c.ok?c.data.find(a=>"preview"===a.target)??c.data[0]??null:null;if(d&&(j={state:d.state,readyAt:d.readyAt??("ready"===d.state?b:null)},"ready"===d.state&&d.url)){let c=a.previewReadyAt??j.readyAt??b;if("logs"!==a.smokeMode){let b=(0,Y.E)(a.appId?await e.monitorUrls(a.appId):[]),c=await Promise.all(b.map(async a=>({path:a,...await e.probe(`https://${d.url}${a}`)})));k=(0,Y.L)(c)}k||(k=(0,Y.n)(c,b,await e.errorLogs(l,d.id,c,b).catch(()=>null))),j.readyAt=c}}return{step:(0,Y.M)({now:b,openedAt:a.openedAt,pr:{state:f.data.state,merged:f.data.merged,mergeable:f.data.mergeable,headSha:f.data.headSha},recordedSha:a.headSha,checks:i,preview:j,smoke:k,autoRollbackOn:d}),smoke:k,previewReadyAt:j.readyAt,headSha:f.data.headSha}}async function ak(a,b,c,d,e,f,g,h){let{step:i}=b,j=b.smoke?{smokeMode:b.smoke.mode}:{},k=b.previewReadyAt?{previewReadyAt:b.previewReadyAt}:{},l={app:c,number:a.number,packages:a.packages};if("wait"===i.kind)return void await g.save(a.id,{stage:i.stage,...j,...k,...i.resetSha?{headSha:i.resetSha,previewReadyAt:null,smokeMode:null}:{}},a.proposalId,(0,Y.m)(a.number,i.stage,i.reason));if("done"===i.kind)return void await g.save(a.id,{stage:i.stage,finishedAt:e},a.proposalId,(0,Y.m)(a.number,i.stage));if("stop"===i.kind&&("CI gagal"===i.reason||"CI failed"===i.reason)&&await g.lockfileBusy?.(a.repoId,a.branch,a.fullName).catch(()=>!1))return void await g.save(a.id,{stage:"checks"},a.proposalId,(0,Y.m)(a.number,"checks","waiting for the lockfile from the runner"));if("stop"===i.kind){await g.save(a.id,{stage:i.stage,finishedAt:e,...j},a.proposalId,(0,Y.m)(a.number,i.stage,"ready-manual"===i.stage?null:i.reason)),h.stopped++,await g.notify({...l,kind:"ready-manual"===i.stage?"ready-manual":"stopped",reason:i.reason}).catch(()=>void 0);return}await g.save(a.id,{stage:"merging",...j,...k},a.proposalId,(0,Y.m)(a.number,"merging"));let m=await g.merge(f,a.fullName,a.number,a.branch,a.baseBranch,a.headSha,a.title);if(m.ok){await g.save(a.id,{stage:"merged",mergedSha:m.data.sha,finishedAt:e},a.proposalId,(0,Y.m)(a.number,"merged")),h.merged++,await g.audit(`${ad.v}PR #${a.number} merged \xb7 ${a.packages.join(", ")}`.slice(0,200),a.appId).catch(()=>void 0),await g.notify({...l,kind:"merged",windowMin:d}).catch(()=>void 0);return}if(409===m.status)return void await g.save(a.id,{stage:"checks"},a.proposalId,(0,Y.m)(a.number,"checks","new commit on the PR branch, checking again"));let n=405===m.status?"GitHub refused the merge (cannot be merged)":`merge failed: ${m.error}`.slice(0,150);await g.save(a.id,{stage:"failed",finishedAt:e},a.proposalId,(0,Y.m)(a.number,"failed",n)),h.stopped++,await g.notify({...l,kind:"stopped",reason:n}).catch(()=>void 0)}let al=null;async function am(a,b){if((0,Y.f)(a,al)){al=a.getTime();try{let c=await ai(a,b?.deadline??a.getTime()+5e4);c.watched&&console.log(`deps/watch: ${c.watched} PR, ${c.merged} merged, ${c.stopped} stopped`)}catch(a){console.warn("deps/watch failed:",a instanceof Error?a.name:"error")}}}var an=a.i(691100),ao=a.i(624065);let ap={nav:[{group:"AI & API",after:"Observe",items:[{key:"ai",label:"AI Gateway",href:"/ai",icon:"route",stage:5,ownerOnly:!0},{key:"api-docs",label:"API explorer",href:"/api-docs",icon:"api",stage:5,ownerOnly:!0}]}],palette:[{label:"AI Gateway",href:"/ai",keywords:["ai","gateway","overview"]},{label:"API keys",href:"/ai/keys",keywords:["key","token","wb_","wp_"]},{label:"Agents",href:"/ai/agents",keywords:["agent","client","mcp"]},{label:"Connect an agent",href:"/ai/connect",keywords:["mcp",...e.I.palette.connectKeywords,"gemini cli","quick start"]},{label:"Bring your own key",href:"/ai/providers",keywords:["provider","byok","cloudflare","groq","openrouter","gemini"]},{label:"Quota",href:"/ai/quota",keywords:["limit","usage","rate"]},{label:"AI logs",href:"/ai/logs",keywords:["logs","requests","usage"]},{label:"Models",href:"/ai/models",keywords:["model","llm"]},{label:"Playground",href:"/ai/playground",keywords:["chat","try","prompt"]},{label:"API explorer",href:"/api-docs",keywords:["openapi","swagger","api","v1"]}]},aq={dailySteps:[{name:"ai-usage-retention",run:g.$}]},ar={WhyAiSlot:E,RecSummarySlot:A,AiNotesSlot:v,dailySteps:[{name:"advisor-summary",run:j}],minuteSteps:[{name:"advisor-notes",run:h.I}]},as={dailySteps:[{name:"ai-notes-retention",run:F.v}]},at={nav:[{group:"Automation",after:"Observe",items:[{key:"auto-actions",label:"Auto-actions",href:"/auto-actions",icon:"bolt",stage:9,ownerOnly:!0}]}],palette:[{label:"Auto-actions",href:"/auto-actions",keywords:["proposal","approve","reject","auto-run","rollback"]}],dailySteps:[{name:"auto-actions-retention",run:an.t}],minuteSteps:[{name:"auto-actions",run:an.Z},{name:"deps-pr-watch",run:am}],settingsTabs:[{key:"office-auto-run",label:"Auto-actions",Tab:N}]},au={telegramCallback:ao.proposalCallback},av=function(...a){let b={nav:[],palette:[]};for(let c of a){for(let a of c.nav??[]){let c=b.nav.find(b=>b.group===a.group);c?c.items=[...c.items,...a.items]:b.nav.push({...a,items:[...a.items]})}b.palette.push(...c.palette??[]),c.dailySteps?.length&&(b.dailySteps=[...b.dailySteps??[],...c.dailySteps]),c.minuteSteps?.length&&(b.minuteSteps=[...b.minuteSteps??[],...c.minuteSteps]),c.WhyAiSlot&&(b.WhyAiSlot=c.WhyAiSlot),c.RecSummarySlot&&(b.RecSummarySlot=c.RecSummarySlot),c.AiNotesSlot&&(b.AiNotesSlot=c.AiNotesSlot),c.DevNotesSlot&&(b.DevNotesSlot=c.DevNotesSlot),c.office&&(b.office=c.office),c.settingsTabs?.length&&(b.settingsTabs=[...b.settingsTabs??[],...c.settingsTabs]),c.telegramCallback&&(b.telegramCallback=c.telegramCallback),c.runner&&(b.runner=c.runner),c.RepoPreviewSlot&&(b.RepoPreviewSlot=c.RepoPreviewSlot)}return b}({...ap,palette:(c=ap.palette??[],d={label:"Ask AI",href:"/ai/ask",keywords:["ask","question","answer"]},(b=c.findIndex(a=>"/ai"===a.href))<0?[...c,d]:[...c.slice(0,b+1),d,...c.slice(b+1)])},{dailySteps:[{name:"ai-agents-prune",run:()=>(0,f.w)()}]},aq,{},{},as,at,ar,au);a.s(["extensions",0,av],534908)},285138,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AutoRollbackForm() from the server but AutoRollbackForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/auto-rollback-form.tsx","AutoRollbackForm");a.s(["AutoRollbackForm",0,b])},411642,a=>{var b=a.i(285138);a.n(b)},305093,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AutoRunForm() from the server but AutoRunForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/auto-run-form.tsx","AutoRunForm");a.s(["AutoRunForm",0,b])},581156,a=>{var b=a.i(305093);a.n(b)},173666,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AutoSecurityForm() from the server but AutoSecurityForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/auto-security-form.tsx","AutoSecurityForm");a.s(["AutoSecurityForm",0,b])},65932,a=>{var b=a.i(173666);a.n(b)},140025,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call DismissNoteButton() from the server but DismissNoteButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/slots/dismiss-note-button.tsx","DismissNoteButton");a.s(["DismissNoteButton",0,b])},791450,a=>{var b=a.i(140025);a.n(b)},581542,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call RegenerateButton() from the server but RegenerateButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/slots/regenerate-button.tsx","RegenerateButton");a.s(["RegenerateButton",0,b])},185538,a=>{var b=a.i(581542);a.n(b)},402242,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call WhyAi() from the server but WhyAi is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/slots/why-ai.tsx","WhyAi");a.s(["WhyAi",0,b])},976517,a=>{var b=a.i(402242);a.n(b)}]})();
1
+ (()=>{"use strict";module.exports=[534908,a=>{let b;var c,d,e=a.i(462820),f=a.i(411350),g=a.i(61017),h=a.i(330863),i=a.i(779704);async function j(a){await (0,i.E)(a,{force:!1})}var k=a.i(907997),l=a.i(109307),m=a.i(920274);let n=(0,a.i(377269).f)("outline","notes","Notes",[["path",{d:"M5 5a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2l0 -14",key:"svg-0"}],["path",{d:"M9 7l6 0",key:"svg-1"}],["path",{d:"M9 11l6 0",key:"svg-2"}],["path",{d:"M9 15l4 0",key:"svg-3"}]]);var o=a.i(701702),p=a.i(245710),q=a.i(668495),r=a.i(191397),s=a.i(791450);let t={crit:"err",warn:"warn",info:"brand"};function u({note:a,now:b,showApp:c}){let d=["AI note",`from ${a.from}`,a.model,(0,p.$)(a.at,b),c&&a.appName?a.appName:null,"written by an agent, can be wrong"].filter(Boolean).join(" · ");return(0,k.jsxs)(r.f,{icon:(0,k.jsx)(n,{size:18,"aria-hidden":!0}),tone:t[a.severity]??"brand",meta:d,action:(0,k.jsx)(s.DismissNoteButton,{id:a.id}),children:[(0,k.jsx)("b",{className:"font-medium",children:(0,k.jsx)(o.MaskedText,{text:a.title})}),(0,k.jsx)(q.f,{source:a.body})]})}async function v({appId:a}){let{ok:b}=await (0,l.B)("owner");if(!b)return null;let c=new Date,d=await (0,m.N)(a,c).catch(()=>[]);return d.length?(0,k.jsx)("div",{className:"mb-3 flex flex-col gap-2.5",children:d.map(b=>(0,k.jsx)(u,{note:b,now:c,showApp:void 0===a},b.id))}):null}var w=a.i(694874),x=a.i(395936),y=a.i(86657),z=a.i(185538);async function A({count:a}){let{ok:b}=await (0,l.B)("owner");if(!b)return null;if(!await y.f.provider().catch(()=>null))return(await (0,m.N)(void 0,new Date).catch(()=>[])).length?null:(0,k.jsxs)("p",{className:"mb-3 flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,k.jsx)(n,{size:16,"aria-hidden":!0,className:"text-ink-faint"}),(0,k.jsx)(x.default,{href:"/ai/connect",children:e.v.recConnect})]});if(0===a)return null;let c=await (0,i.h)().catch(()=>null);if(!c)return(0,k.jsxs)("p",{className:"mb-3 flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,k.jsx)(w.f,{size:16,"aria-hidden":!0,className:"text-ink-faint"}),"No AI summary yet. ",(0,k.jsx)(z.RegenerateButton,{label:"Summarise"})]});let d=new Date;return(0,k.jsxs)(r.f,{className:"mb-3",icon:(0,k.jsx)(w.f,{size:18,"aria-hidden":!0}),meta:(0,k.jsxs)(k.Fragment,{children:[`AI \xb7 ${c.model} \xb7 ${(0,p.$)(new Date(c.at),d)} \xb7 from ${c.count} items, names aliased \xb7 can be wrong, check the items below \xb7 `,(0,k.jsx)(z.RegenerateButton,{label:"Regenerate"})]}),children:[(0,k.jsx)("b",{className:"font-medium",children:"Summary"}),(0,k.jsx)(q.f,{source:c.text})]})}var B=a.i(918962),C=a.i(962230),D=a.i(976517);async function E({appId:a}){let{ok:b}=await (0,l.B)("owner");if(!b)return null;let c=new Date,[d,e,f]=await Promise.all([y.f.provider().catch(()=>null),(0,C.N)("app",a,c).catch(()=>null),(0,B.c)(c).catch(()=>null)]),g=e?{...e,createdAt:e.createdAt.toISOString(),answeredAt:e.answeredAt?.toISOString()??null}:null;return(0,k.jsx)(D.WhyAi,{appId:a,provider:d?{model:d.model}:null,question:g,nowMs:c.getTime(),agConnected:f?.agConnected??!1})}var F=a.i(243446),G=a.i(803681),H=a.i(581156),I=a.i(411642),J=a.i(65932),K=a.i(94473),L=a.i(188282);let M={recheck:"Runs the monitor's check once, like Check now on the monitor.",neon_wake:"Wakes a suspended Neon compute, like Wake on the database page.",supabase_keepalive:"Sends one keep-alive query to a Supabase project close to auto-pause, like Keep active.",supabase_restore:"Restores a paused Supabase project.",vercel_redeploy:"Redeploys the current production deployment.",vercel_rollback:"Rolls production back to the previous ready deployment.",github_bump_pr:"Opens a pull request on a new branch that raises vulnerable packages to their fixed versions (needs the GitHub PR-write token).",daily_rerun:"Calls the console's daily job again when its heartbeat is down. Always asks for approval.",domain_recheck:"Re-reads a domain's TLS certificate and expiry when its certificate looks close to expiry, like Re-check on Domains."};async function N(){let[a,b,c]=await Promise.all([(0,K.I)(),(0,K.K)(),(0,K.X)()]),d=[10,15,20,30,45,60,90,120].filter(a=>a>=K.l&&a<=K.n),e=K.r.map(a=>({kind:a,label:L.H[a].label,risky:"risky"===L.H[a].risk,what:M[a]}));return(0,k.jsxs)(G.N,{title:"Auto-actions",flush:!0,meta:"All off by default",children:[(0,k.jsxs)("p",{className:"px-[18px] pb-3 text-ink-soft",children:["When a firing alert brings a proposal for one of these actions, a switched-on kind runs without asking and you get a short Telegram line afterwards. Everything else waits for you on ",(0,k.jsx)(x.default,{href:"/auto-actions",children:"Auto-actions"}),". Auto-run only does what the console button does, through the same checks, and every run is in the audit log (Events)."]}),(0,k.jsx)(H.AutoRunForm,{saved:a,rows:e}),(0,k.jsxs)("div",{className:"border-t border-line px-[18px] pb-4 pt-3.5",children:[(0,k.jsx)("h3",{className:"mb-1.5 text-[14px]",children:"Auto-rollback after a bad deploy"}),(0,k.jsxs)("p",{className:"mb-2.5 text-ink-soft",children:["Off by default. When on, a new production deploy that breaks the app is rolled back to the previous one without asking. Only ",(0,k.jsx)("span",{className:"font-mono text-[12.5px]",children:"vercel_rollback"}),", only within the first N minutes after a new production deploy goes live, only when a monitor is down or the logs show an error spike, at most once per deployment (and never twice for one app within 2 hours), and every run is reported on Telegram and in Events. Failed builds never go live on Vercel, so this is for builds that succeed but break at runtime."]}),(0,k.jsx)(I.AutoRollbackForm,{saved:b,choices:d})]}),(0,k.jsxs)("div",{className:"border-t border-line px-[18px] pb-4 pt-3.5",children:[(0,k.jsx)("h3",{className:"mb-1.5 text-[14px]",children:"Automatic security fixes"}),(0,k.jsx)("p",{className:"mb-2 text-ink-soft",children:"On by default. When a dependency scan finds a critical or high advisory with a fix, Watchbell fixes it end to end:"}),(0,k.jsxs)("ol",{className:"mb-2.5 list-decimal pl-5 text-ink-soft [&_li]:mt-0.5",children:[(0,k.jsx)("li",{children:"opens the update PR itself (package.json only, on a new watchpost/deps-… branch), only for direct packages that stay in their major version, never twice for the same package while a PR is open;"}),(0,k.jsx)("li",{children:"waits for GitHub's checks (all green), then Vercel's preview of the PR (READY);"}),(0,k.jsx)("li",{children:'tests the preview: "/" and up to 3 monitor paths must answer 200–399 within 15 s (behind Vercel Authentication: 3 minutes without error lines in the preview\'s logs);'}),(0,k.jsx)("li",{children:"squash-merges it, only while auto-rollback is on: the production deploy then runs on Vercel and auto-rollback guards its first minutes."})]}),(0,k.jsx)("p",{className:"mb-2.5 text-ink-soft",children:'Anything failing, or not done within 45 minutes, leaves the PR open marked "needs a look". A major update, a transitive package or a severity you switched off waits for your approval on Auto-actions, as before. Every PR opened and every merge or stop is sent to Telegram and logged in Events. Needs the GitHub PR-write token on Connections.'}),(0,k.jsx)(J.AutoSecurityForm,{saved:c,rollbackOn:b.enabled})]})]})}var O=a.i(93321),P=a.i(530385),Q=a.i(548734),R=a.i(837137),S=a.i(247730),T=a.i(221084),U=a.i(396667),V=a.i(976937),W=a.i(736780),X=a.i(944571),Y=a.i(322145),Z=a.i(664892),$=a.i(760417),_=a.i(812092),aa=a.i(572134),ab=a.i(658739),ac=a.i(556987),ad=a.i(142754),ae=a.i(342634),af=a.i(381544);async function ag(a){let b=Date.now();try{let c=await fetch(a,{redirect:"manual",signal:AbortSignal.timeout(Z.w),cache:"no-store",headers:{"User-Agent":"Watchbell smoke test"}}),d=401===c.status||403===c.status?(await c.text().catch(()=>"")).slice(0,8192):"";return{status:c.status,ms:Date.now()-b,authWall:(0,Z.S)(c.status,d,c.headers)}}catch{return{status:null,ms:Date.now()-b,authWall:!1}}}async function ah(b,c){let{extensions:d}=await a.A(414785);return await d.runner?.lockfileJobActive(b,c).catch(()=>!1)??!1}let ai={rows:async()=>await (0,Q.f)().select({id:R.dependencyPrs.id,repoId:R.dependencyPrs.repoId,appId:R.dependencyPrs.appId,proposalId:R.dependencyPrs.proposalId,number:R.dependencyPrs.number,branch:R.dependencyPrs.branch,baseBranch:R.dependencyPrs.baseBranch,headSha:R.dependencyPrs.headSha,title:R.dependencyPrs.title,packages:R.dependencyPrs.packages,auto:R.dependencyPrs.auto,stage:R.dependencyPrs.stage,smokeMode:R.dependencyPrs.smokeMode,previewReadyAt:R.dependencyPrs.previewReadyAt,openedAt:R.dependencyPrs.openedAt,fullName:R.githubRepos.fullName,appName:R.resources.name}).from(R.dependencyPrs).innerJoin(R.githubRepos,(0,O.u)(R.githubRepos.id,R.dependencyPrs.repoId)).leftJoin(R.resources,(0,O.u)(R.resources.id,R.dependencyPrs.appId)).where((0,O.y)(R.dependencyPrs.stage,[...Z.X])).orderBy((0,P.M)(R.dependencyPrs.openedAt)).limit(10),security:K.X,rollback:K.K,writeToken:async()=>{let a=await (0,W.G)();return a&&"unreadable"!==a?a.token:null},readToken:async a=>{let b=await (0,X.l)(a);return b.ok?b.token:null},vercel:async a=>{let b=await (0,Y.p)(a,"app"),c=b?.resource.meta.teamId;return b&&"string"==typeof c&&b.resource.externalId?{token:b.token,teamId:c,projectId:b.resource.externalId}:null},monitorUrls:async a=>(await (0,Q.f)().select({url:R.monitors.url}).from(R.monitors).where((0,O.b)((0,O.u)(R.monitors.resourceId,a),(0,O.u)(R.monitors.kind,"http"))).limit(10)).map(a=>a.url),pull:_.b,checks:_.s,runs:$.L,previews:aa.C,probe:ag,errorLogs:async(a,b,c,d)=>{let e=await (0,ab.f)(a.token,a.teamId,a.projectId,{since:c,until:d,now:d,deploymentId:b,levels:["error","fatal"],maxRows:20,timeoutMs:8e3});return e.ok?e.lines.length:null},merge:_.C,save:async(a,b,c,d)=>{await (0,Q.f)().update(R.dependencyPrs).set({...b,stageText:d,checkedAt:new Date}).where((0,O.u)(R.dependencyPrs.id,a)),c&&await (0,Q.f)().update(ad.O).set({result:d}).where((0,O.u)(ad.O.id,c)).catch(()=>void 0)},notify:a=>(0,af.y)(a),lockfileBusy:async(a,b,c)=>await ah(a,b)||await (0,V.W)(c,b),audit:(a,b)=>(0,T.f)({kind:"ok",message:a,resourceId:b,actorUserId:null}),book:()=>(0,S.f)()};async function aj(a,b,c=ai){let d={watched:0,merged:0,stopped:0},e=()=>b-Date.now(),f=await c.rows();if(!f.length)return d;let[g,h,i]=await Promise.all([c.security().catch(()=>null),c.rollback().catch(()=>null),c.writeToken().catch(()=>null)]);if(!i)return d;let j=await c.book().catch(()=>ac.a);for(let b of f){if(15e3>e())break;if(b.auto||g?.enabled)try{let e=await ak(b,a,i,h?.enabled===!0,c);if(!e)continue;d.watched++;let f=b.appName?(0,ac.r)(j,b.appName):"app";await al(b,e,f,h?.windowMin??30,a,i,c,d)}catch(a){console.warn("deps/watch failed:",a instanceof Error?a.name:"error")}}return d}async function ak(a,b,c,d,e){let f=await e.pull(c,a.fullName,a.number);if(!f.ok)return null;let g=await e.checks(c,a.fullName,f.data.headSha),h=null;if(g.ok&&null===g.data.checkRuns&&a.appId){let b=await e.readToken(a.appId),c=b?await e.runs(b,a.fullName,f.data.headSha):null;h=c?.ok?c.data:null}g.ok||(g={ok:!0,data:{checkRuns:[{status:"queued",conclusion:null}],combined:null}});let i=(0,Z.j)({...g.data,actionRuns:h}),j={state:null,readyAt:null},k=null,l=a.appId?await e.vercel(a.appId):null;if(l&&"success"===i&&f.data.headSha===a.headSha){let c=await e.previews(l.token,l.teamId,l.projectId,f.data.headSha),d=c.ok?c.data.find(a=>"preview"===a.target)??c.data[0]??null:null;if(d&&(j={state:d.state,readyAt:d.readyAt??("ready"===d.state?b:null)},"ready"===d.state&&d.url)){let c=a.previewReadyAt??j.readyAt??b;if("logs"!==a.smokeMode){let b=(0,Z.E)(a.appId?await e.monitorUrls(a.appId):[]),c=await Promise.all(b.map(async a=>({path:a,...await e.probe(`https://${d.url}${a}`)})));k=(0,Z.L)(c)}k||(k=(0,Z.n)(c,b,await e.errorLogs(l,d.id,c,b).catch(()=>null))),j.readyAt=c}}return{step:(0,Z.M)({now:b,openedAt:a.openedAt,pr:{state:f.data.state,merged:f.data.merged,mergeable:f.data.mergeable,headSha:f.data.headSha},recordedSha:a.headSha,checks:i,preview:j,smoke:k,autoRollbackOn:d}),smoke:k,previewReadyAt:j.readyAt,headSha:f.data.headSha}}async function al(a,b,c,d,e,f,g,h){let{step:i}=b,j=b.smoke?{smokeMode:b.smoke.mode}:{},k=b.previewReadyAt?{previewReadyAt:b.previewReadyAt}:{},l={app:c,number:a.number,packages:a.packages};if("wait"===i.kind)return void await g.save(a.id,{stage:i.stage,...j,...k,...i.resetSha?{headSha:i.resetSha,previewReadyAt:null,smokeMode:null}:{}},a.proposalId,(0,Z.m)(a.number,i.stage,i.reason));if("done"===i.kind)return void await g.save(a.id,{stage:i.stage,finishedAt:e},a.proposalId,(0,Z.m)(a.number,i.stage));if("stop"===i.kind&&("CI gagal"===i.reason||"CI failed"===i.reason)&&await g.lockfileBusy?.(a.repoId,a.branch,a.fullName).catch(()=>!1))return void await g.save(a.id,{stage:"checks"},a.proposalId,(0,Z.m)(a.number,"checks","waiting for the lockfile from the runner"));if("stop"===i.kind){await g.save(a.id,{stage:i.stage,finishedAt:e,...j},a.proposalId,(0,Z.m)(a.number,i.stage,"ready-manual"===i.stage?null:i.reason)),h.stopped++,await g.notify({...l,kind:"ready-manual"===i.stage?"ready-manual":"stopped",reason:i.reason}).catch(()=>void 0);return}await g.save(a.id,{stage:"merging",...j,...k},a.proposalId,(0,Z.m)(a.number,"merging"));let m=await g.merge(f,a.fullName,a.number,a.branch,a.baseBranch,a.headSha,a.title);if(m.ok){await g.save(a.id,{stage:"merged",mergedSha:m.data.sha,finishedAt:e},a.proposalId,(0,Z.m)(a.number,"merged")),h.merged++,await g.audit(`${ae.v}PR #${a.number} merged \xb7 ${a.packages.join(", ")}`.slice(0,200),a.appId).catch(()=>void 0),await g.notify({...l,kind:"merged",windowMin:d}).catch(()=>void 0);return}if(409===m.status)return void await g.save(a.id,{stage:"checks"},a.proposalId,(0,Z.m)(a.number,"checks","new commit on the PR branch, checking again"));let n=405===m.status?"GitHub refused the merge (cannot be merged)":`merge failed: ${m.error}`.slice(0,150);await g.save(a.id,{stage:"failed",finishedAt:e},a.proposalId,(0,Z.m)(a.number,"failed",n)),h.stopped++,await g.notify({...l,kind:"stopped",reason:n}).catch(()=>void 0)}let am=null;async function an(a,b,c=U.I){if((0,Z.f)(a,am)&&!(await c()).has("devops")){am=a.getTime();try{let c=await aj(a,b?.deadline??a.getTime()+5e4);c.watched&&console.log(`deps/watch: ${c.watched} PR, ${c.merged} merged, ${c.stopped} stopped`)}catch(a){console.warn("deps/watch failed:",a instanceof Error?a.name:"error")}}}var ao=a.i(691100),ap=a.i(624065);let aq={nav:[{section:"manage",after:"settings",items:[{key:"ai",label:"AI Gateway",href:"/ai",icon:"route",stage:5,ownerOnly:!0},{key:"api-docs",label:"API explorer",href:"/api-docs",icon:"api",stage:5,ownerOnly:!0}]}],palette:[{label:"AI Gateway",href:"/ai",keywords:["ai","gateway","overview"]},{label:"API keys",href:"/ai/keys",keywords:["key","token","wb_","wp_"]},{label:"Agents",href:"/ai/agents",keywords:["agent","client","mcp"]},{label:"Connect an agent",href:"/ai/connect",keywords:["mcp",...e.I.palette.connectKeywords,"gemini cli","quick start"]},{label:"Bring your own key",href:"/ai/providers",keywords:["provider","byok","cloudflare","groq","openrouter","gemini"]},{label:"Quota",href:"/ai/quota",keywords:["limit","usage","rate"]},{label:"AI logs",href:"/ai/logs",keywords:["logs","requests","usage"]},{label:"Models",href:"/ai/models",keywords:["model","llm"]},{label:"Playground",href:"/ai/playground",keywords:["chat","try","prompt"]},{label:"API explorer",href:"/api-docs",keywords:["openapi","swagger","api","v1"]}]},ar={dailySteps:[{name:"ai-usage-retention",run:g.$}]},as={WhyAiSlot:E,RecSummarySlot:A,AiNotesSlot:v,dailySteps:[{name:"advisor-summary",run:j}],minuteSteps:[{name:"advisor-notes",run:h.I}]},at={dailySteps:[{name:"ai-notes-retention",run:F.v}]},au={nav:[{section:"manage",after:"alerts",items:[{key:"auto-actions",label:"Auto-actions",href:"/auto-actions",icon:"bolt",stage:9,ownerOnly:!0}]}],palette:[{label:"Auto-actions",href:"/auto-actions",keywords:["proposal","approve","reject","auto-run","rollback"]}],dailySteps:[{name:"auto-actions-retention",run:ao.t}],minuteSteps:[{name:"auto-actions",run:ao.Z},{name:"deps-pr-watch",run:an}],settingsTabs:[{key:"office-auto-run",label:"Auto-actions",Tab:N}]},av={telegramCallback:ap.proposalCallback},aw=function(...a){let b={nav:[],palette:[]};for(let c of a){for(let a of c.nav??[]){let c=b.nav.find(b=>b.section===a.section&&b.after===a.after);c?c.items=[...c.items,...a.items]:b.nav.push({...a,items:[...a.items]})}b.palette.push(...c.palette??[]),c.dailySteps?.length&&(b.dailySteps=[...b.dailySteps??[],...c.dailySteps]),c.minuteSteps?.length&&(b.minuteSteps=[...b.minuteSteps??[],...c.minuteSteps]),c.WhyAiSlot&&(b.WhyAiSlot=c.WhyAiSlot),c.RecSummarySlot&&(b.RecSummarySlot=c.RecSummarySlot),c.AiNotesSlot&&(b.AiNotesSlot=c.AiNotesSlot),c.DevNotesSlot&&(b.DevNotesSlot=c.DevNotesSlot),c.office&&(b.office=c.office),c.settingsTabs?.length&&(b.settingsTabs=[...b.settingsTabs??[],...c.settingsTabs]),c.telegramCallback&&(b.telegramCallback=c.telegramCallback),c.runner&&(b.runner=c.runner),c.RepoPreviewSlot&&(b.RepoPreviewSlot=c.RepoPreviewSlot)}return b}({...aq,palette:(c=aq.palette??[],d={label:"Ask AI",href:"/ai/ask",keywords:["ask","question","answer"]},(b=c.findIndex(a=>"/ai"===a.href))<0?[...c,d]:[...c.slice(0,b+1),d,...c.slice(b+1)])},{dailySteps:[{name:"ai-agents-prune",run:()=>(0,f.w)()}]},ar,{},{},at,au,as,av);a.s(["extensions",0,aw],534908)},285138,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AutoRollbackForm() from the server but AutoRollbackForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/auto-rollback-form.tsx","AutoRollbackForm");a.s(["AutoRollbackForm",0,b])},411642,a=>{var b=a.i(285138);a.n(b)},305093,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AutoRunForm() from the server but AutoRunForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/auto-run-form.tsx","AutoRunForm");a.s(["AutoRunForm",0,b])},581156,a=>{var b=a.i(305093);a.n(b)},173666,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AutoSecurityForm() from the server but AutoSecurityForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/auto-security-form.tsx","AutoSecurityForm");a.s(["AutoSecurityForm",0,b])},65932,a=>{var b=a.i(173666);a.n(b)},140025,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call DismissNoteButton() from the server but DismissNoteButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/slots/dismiss-note-button.tsx","DismissNoteButton");a.s(["DismissNoteButton",0,b])},791450,a=>{var b=a.i(140025);a.n(b)},581542,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call RegenerateButton() from the server but RegenerateButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/slots/regenerate-button.tsx","RegenerateButton");a.s(["RegenerateButton",0,b])},185538,a=>{var b=a.i(581542);a.n(b)},402242,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call WhyAi() from the server but WhyAi is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/slots/why-ai.tsx","WhyAi");a.s(["WhyAi",0,b])},976517,a=>{var b=a.i(402242);a.n(b)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_0uitfl3c1mdqb._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[[157220,a=>{var b=a.i(907997),c=a.i(395936),d=a.i(701702),e=a.i(803681),f=a.i(685865),g=a.i(75148),h=a.i(686251),i=a.i(791444),j=a.i(109307),k=a.i(245710),l=a.i(139138),m=a.i(313235),n=a.i(119502),o=a.i(342634),p=a.i(691100),q=a.i(94473);let r={pending:"info",approved:"build",running:"build",done:"ok",failed:"fail",rejected:"off",expired:"idle"},s=["Proposal","Status","Result","Decided by","When"];async function t({searchParams:a}){var h;let r,w,x,y=await (0,j.B)("owner");if(!y.ok)return(0,b.jsx)(g.f,{role:y.member.role});let z=new Date,{proposal:A}=await a,B=(0,o.b)(A)?A:null,[C,D]=await Promise.all([(0,p.Q)(z,50),(0,q.I)()]),E=B&&!C.some(a=>a.id===B)?await (0,p.K)(B):null,{pending:F,history:G,focus:H}=(h=E?[...C,E]:C,r=new Set,{pending:(x=[...w=h.filter(a=>!r.has(a.id)&&r.add(a.id))].sort((a,b)=>b.createdAt.localeCompare(a.createdAt))).filter(a=>"pending"===a.status),history:x.filter(a=>"pending"!==a.status),focus:B&&w.find(a=>a.id===B)||null}),I=q.r.filter(a=>D[a]).length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.AutoRefresh,{at:z.getTime()}),(0,b.jsx)(e.L,{crumbs:[{label:"Automation"},{label:"Auto-actions"}],title:"Auto-actions",sub:"Console actions proposed for firing alerts. Approve runs the console's own action with you as the actor, and every run is in Events. Risky actions always wait for you.",actions:(0,b.jsx)(c.default,{href:"/settings?tab=office-auto-run",className:(0,e.R)(),children:"Settings › Auto-actions"})}),(0,b.jsxs)("p",{className:"text-[13px] text-ink-soft",children:["Auto-run is ",I?`on for ${I} safe kind${1===I?"":"s"}`:"off for every kind","."]}),B&&!H&&(0,b.jsx)(e.M,{tone:"info",title:"That proposal is gone",children:"Proposals are kept 30 days."}),(0,b.jsx)(e.N,{title:"Waiting for you",meta:F.length?`${F.length} waiting`:void 0,flush:!0,children:0===F.length?(0,b.jsx)(e.k,{title:"Nothing waits for you",children:"New proposals appear here when an alert fires."}):(0,b.jsx)("ul",{className:"border-t border-line",children:F.map(a=>(0,b.jsxs)("li",{id:`proposal-${a.id}`,className:(0,l.f)("border-b border-line px-[18px] py-3 last:border-b-0",a.id===B&&"border-l-[3px] border-l-brand bg-brand-soft/40"),children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("b",{className:"font-medium",children:(0,b.jsx)(d.MaskedText,{text:a.title})}),(0,b.jsx)(u,{risk:a.risk})]}),(0,b.jsx)("p",{className:"mt-0.5 text-ink-soft",children:(0,b.jsx)(d.MaskedText,{text:a.reason})}),(0,b.jsxs)("p",{className:"mt-0.5 text-[12.5px] text-ink-faint",children:[m.H[a.room]," · ",a.actionLabel," · proposed ",(0,k.$)(new Date(a.createdAt),z)]}),(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsx)(n.DecideForm,{id:a.id})})]},a.id))})}),(0,b.jsx)(e.N,{title:"History",meta:"Recent decisions",flush:!0,children:0===G.length?(0,b.jsx)(e.k,{title:"No decisions yet",children:"Approved, rejected, expired and auto-run proposals are listed here."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:i.o,children:[(0,b.jsx)(i.U,{head:s}),(0,b.jsx)("tbody",{children:G.map(a=>(0,b.jsx)(v,{p:a,focused:a.id===B,now:z},a.id))})]})})})]})}function u({risk:a}){return(0,b.jsx)("span",{className:(0,l.f)("rounded border px-1.5 py-px text-[11.5px]","risky"===a?"border-warn-icon/40 bg-warn-soft text-warn":"border-transparent bg-ok-soft text-ok"),children:a})}function v({p:a,focused:c,now:f}){return(0,b.jsxs)("tr",{id:`proposal-${a.id}`,className:(0,l.f)(i.C,c&&"bg-brand-soft/40 [&>td:first-child]:border-l-[3px] [&>td:first-child]:border-l-brand"),children:[(0,b.jsxs)("td",{className:(0,l.f)(i.z,i.M),children:[(0,b.jsx)("b",{className:"block font-medium",children:(0,b.jsx)(d.MaskedText,{text:a.title})}),(0,b.jsxs)("span",{className:"text-[12.5px] text-ink-soft",children:[m.H[a.room]," · ",a.risk]})]}),(0,b.jsx)("td",{className:i.z,children:(0,b.jsx)(h.F,{state:r[a.status],children:a.status})}),(0,b.jsx)("td",{className:(0,l.f)(i.z,i.M,"text-ink-soft"),children:a.result?(0,b.jsx)(d.MaskedText,{text:a.result}):"—"}),(0,b.jsx)("td",{className:i.z,children:a.auto?(0,b.jsx)(e.E,{children:"Auto"}):"expired"===a.status?"—":"Owner"}),(0,b.jsx)("td",{className:(0,l.f)(i.z,"text-ink-soft"),children:(0,k.$)(new Date(a.decidedAt??a.createdAt),f)})]})}a.s(["default",0,t,"maxDuration",0,60],157220)},304470,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call DecideForm() from the server but DecideForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/decide-form.tsx","DecideForm");a.s(["DecideForm",0,b])},119502,a=>{var b=a.i(304470);a.n(b)}],661137,function(a){a.n(a.i(157220))}];
1
+ module.exports=[[157220,a=>{var b=a.i(907997),c=a.i(395936),d=a.i(701702),e=a.i(803681),f=a.i(685865),g=a.i(75148),h=a.i(686251),i=a.i(791444),j=a.i(109307),k=a.i(245710),l=a.i(139138),m=a.i(313235),n=a.i(119502),o=a.i(342634),p=a.i(691100),q=a.i(94473);let r={pending:"info",approved:"build",running:"build",done:"ok",failed:"fail",rejected:"off",expired:"idle"},s=["Proposal","Status","Result","Decided by","When"];async function t({searchParams:a}){var h;let r,w,x,y=await (0,j.B)("owner");if(!y.ok)return(0,b.jsx)(g.f,{role:y.member.role});let z=new Date,{proposal:A}=await a,B=(0,o.b)(A)?A:null,[C,D]=await Promise.all([(0,p.Q)(z,50),(0,q.I)()]),E=B&&!C.some(a=>a.id===B)?await (0,p.K)(B):null,{pending:F,history:G,focus:H}=(h=E?[...C,E]:C,r=new Set,{pending:(x=[...w=h.filter(a=>!r.has(a.id)&&r.add(a.id))].sort((a,b)=>b.createdAt.localeCompare(a.createdAt))).filter(a=>"pending"===a.status),history:x.filter(a=>"pending"!==a.status),focus:B&&w.find(a=>a.id===B)||null}),I=q.r.filter(a=>D[a]).length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.AutoRefresh,{at:z.getTime()}),(0,b.jsx)(e.L,{crumbs:[{label:"Manage"},{label:"Auto-actions"}],title:"Auto-actions",sub:"Console actions proposed for firing alerts. Approve runs the console's own action with you as the actor, and every run is in Events. Risky actions always wait for you.",actions:(0,b.jsx)(c.default,{href:"/settings?tab=office-auto-run",className:(0,e.R)(),children:"Settings › Auto-actions"})}),(0,b.jsxs)("p",{className:"text-[13px] text-ink-soft",children:["Auto-run is ",I?`on for ${I} safe kind${1===I?"":"s"}`:"off for every kind","."]}),B&&!H&&(0,b.jsx)(e.M,{tone:"info",title:"That proposal is gone",children:"Proposals are kept 30 days."}),(0,b.jsx)(e.N,{title:"Waiting for you",meta:F.length?`${F.length} waiting`:void 0,flush:!0,children:0===F.length?(0,b.jsx)(e.k,{title:"Nothing waits for you",children:"New proposals appear here when an alert fires."}):(0,b.jsx)("ul",{className:"border-t border-line",children:F.map(a=>(0,b.jsxs)("li",{id:`proposal-${a.id}`,className:(0,l.f)("border-b border-line px-[18px] py-3 last:border-b-0",a.id===B&&"border-l-[3px] border-l-brand bg-brand-soft/40"),children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("b",{className:"font-medium",children:(0,b.jsx)(d.MaskedText,{text:a.title})}),(0,b.jsx)(u,{risk:a.risk})]}),(0,b.jsx)("p",{className:"mt-0.5 text-ink-soft",children:(0,b.jsx)(d.MaskedText,{text:a.reason})}),(0,b.jsxs)("p",{className:"mt-0.5 text-[12.5px] text-ink-faint",children:[m.H[a.room]," · ",a.actionLabel," · proposed ",(0,k.$)(new Date(a.createdAt),z)]}),(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsx)(n.DecideForm,{id:a.id})})]},a.id))})}),(0,b.jsx)(e.N,{title:"History",meta:"Recent decisions",flush:!0,children:0===G.length?(0,b.jsx)(e.k,{title:"No decisions yet",children:"Approved, rejected, expired and auto-run proposals are listed here."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:i.o,children:[(0,b.jsx)(i.U,{head:s}),(0,b.jsx)("tbody",{children:G.map(a=>(0,b.jsx)(v,{p:a,focused:a.id===B,now:z},a.id))})]})})})]})}function u({risk:a}){return(0,b.jsx)("span",{className:(0,l.f)("rounded border px-1.5 py-px text-[11.5px]","risky"===a?"border-warn-icon/40 bg-warn-soft text-warn":"border-transparent bg-ok-soft text-ok"),children:a})}function v({p:a,focused:c,now:f}){return(0,b.jsxs)("tr",{id:`proposal-${a.id}`,className:(0,l.f)(i.C,c&&"bg-brand-soft/40 [&>td:first-child]:border-l-[3px] [&>td:first-child]:border-l-brand"),children:[(0,b.jsxs)("td",{className:(0,l.f)(i.z,i.M),children:[(0,b.jsx)("b",{className:"block font-medium",children:(0,b.jsx)(d.MaskedText,{text:a.title})}),(0,b.jsxs)("span",{className:"text-[12.5px] text-ink-soft",children:[m.H[a.room]," · ",a.risk]})]}),(0,b.jsx)("td",{className:i.z,children:(0,b.jsx)(h.F,{state:r[a.status],children:a.status})}),(0,b.jsx)("td",{className:(0,l.f)(i.z,i.M,"text-ink-soft"),children:a.result?(0,b.jsx)(d.MaskedText,{text:a.result}):"—"}),(0,b.jsx)("td",{className:i.z,children:a.auto?(0,b.jsx)(e.E,{children:"Auto"}):"expired"===a.status?"—":"Owner"}),(0,b.jsx)("td",{className:(0,l.f)(i.z,"text-ink-soft"),children:(0,k.$)(new Date(a.decidedAt??a.createdAt),f)})]})}a.s(["default",0,t,"maxDuration",0,60],157220)},304470,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call DecideForm() from the server but DecideForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/decide-form.tsx","DecideForm");a.s(["DecideForm",0,b])},119502,a=>{var b=a.i(304470);a.n(b)}],661137,function(a){a.n(a.i(157220))}];
2
2
 
3
3
  //# sourceMappingURL=src_0usxo7vu7o2cj._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[[18617,a=>{var b=a.i(907997),c=a.i(649247),d=a.i(803681),e=a.i(959581),f=a.i(685865),g=a.i(421911),h=a.i(109307),i=a.i(840784),j=a.i(532620),k=a.i(505237),l=a.i(228173);async function m(){let a=await (0,h.I)(),m=new Date,n=(0,k.z)(a.role),[o,p]=await Promise.all([(0,i.G)(m),(0,j.e)()]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.AutoRefresh,{at:m.getTime()}),(0,b.jsx)(d.L,{crumbs:[{label:"Workloads"},{label:"Applications"}],title:"Applications",sub:"Vercel projects with their database, domain, and uptime.",actions:n?(0,b.jsx)(g.RefreshButton,{}):void 0}),(0,b.jsx)(d.N,{flush:!0,children:0===o.length?(0,b.jsx)(c.c,{owner:"owner"===a.role}):(0,b.jsx)(e.ListFilter,{placeholder:"Filter by name",states:k.q,head:(0,l.j)(!1),rows:(0,l.A)(o,{compact:!1,canAct:n,now:m,book:p})})})]})}a.s(["default",0,m,"maxDuration",0,30])},110434,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call ListFilter() from the server but ListFilter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/list-filter.tsx","ListFilter");a.s(["ListFilter",0,b])},959581,a=>{var b=a.i(110434);a.n(b)},745374,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AutoRefresh() from the server but AutoRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","AutoRefresh");(0,b.registerClientReference)(function(){throw Error("Attempted to call LiveIndicator() from the server but LiveIndicator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","LiveIndicator"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdCount() from the server but holdCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdCount"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdRefresh() from the server but holdRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdRefresh"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdWhile() from the server but holdWhile is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdWhile"),(0,b.registerClientReference)(function(){throw Error("Attempted to call useHoldRefresh() from the server but useHoldRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","useHoldRefresh"),a.s(["AutoRefresh",0,c])},685865,a=>{var b=a.i(745374);a.n(b)},863858,a=>{var b=a.i(371289);a.s(["f",0,function(a=process.env){return!(0,b.W)(a)}])}],714557,function(a){a.n(a.i(18617))}];
1
+ module.exports=[[18617,a=>{var b=a.i(907997),c=a.i(649247),d=a.i(803681),e=a.i(959581),f=a.i(685865),g=a.i(421911),h=a.i(109307),i=a.i(840784),j=a.i(532620),k=a.i(505237),l=a.i(228173);async function m(){let a=await (0,h.I)(),m=new Date,n=(0,k.z)(a.role),[o,p]=await Promise.all([(0,i.G)(m),(0,j.e)()]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.AutoRefresh,{at:m.getTime()}),(0,b.jsx)(d.L,{crumbs:[{label:"Hosting"},{label:"Applications"}],title:"Applications",sub:"Vercel projects with their database, domain, and uptime.",actions:n?(0,b.jsx)(g.RefreshButton,{}):void 0}),(0,b.jsx)(d.N,{flush:!0,children:0===o.length?(0,b.jsx)(c.c,{owner:"owner"===a.role}):(0,b.jsx)(e.ListFilter,{placeholder:"Filter by name",states:k.q,head:(0,l.j)(!1),rows:(0,l.A)(o,{compact:!1,canAct:n,now:m,book:p})})})]})}a.s(["default",0,m,"maxDuration",0,30])},110434,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call ListFilter() from the server but ListFilter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/list-filter.tsx","ListFilter");a.s(["ListFilter",0,b])},959581,a=>{var b=a.i(110434);a.n(b)},745374,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AutoRefresh() from the server but AutoRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","AutoRefresh");(0,b.registerClientReference)(function(){throw Error("Attempted to call LiveIndicator() from the server but LiveIndicator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","LiveIndicator"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdCount() from the server but holdCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdCount"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdRefresh() from the server but holdRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdRefresh"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdWhile() from the server but holdWhile is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdWhile"),(0,b.registerClientReference)(function(){throw Error("Attempted to call useHoldRefresh() from the server but useHoldRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","useHoldRefresh"),a.s(["AutoRefresh",0,c])},685865,a=>{var b=a.i(745374);a.n(b)},863858,a=>{var b=a.i(371289);a.s(["f",0,function(a=process.env){return!(0,b.W)(a)}])}],714557,function(a){a.n(a.i(18617))}];
2
2
 
3
3
  //# sourceMappingURL=src_0widudneyf0oq._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[916421,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Databases","Neon"],title:"Neon",sub:!0,children:[(0,b.jsx)(c.i,{className:"h-5 w-48"}),(0,b.jsx)(c.d,{count:4,className:"min-[721px]:grid-cols-2 min-[1001px]:grid-cols-2 min-[1281px]:grid-cols-4"}),(0,b.jsx)(c.G,{title:!0,rows:2,cols:7})]})}])},74067,function(a){a.n(a.i(916421))},791444,a=>{"use strict";var b=a.i(907997);let c="whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[916421,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Database","Neon"],title:"Neon",sub:!0,children:[(0,b.jsx)(c.i,{className:"h-5 w-48"}),(0,b.jsx)(c.d,{count:4,className:"min-[721px]:grid-cols-2 min-[1001px]:grid-cols-2 min-[1281px]:grid-cols-4"}),(0,b.jsx)(c.G,{title:!0,rows:2,cols:7})]})}])},74067,function(a){a.n(a.i(916421))},791444,a=>{"use strict";var b=a.i(907997);let c="whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_0xau6d5z5e_md._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[109295,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Databases","SQL console"],title:"SQL console",sub:!0,children:[(0,b.jsx)(c.i,{className:"h-8 w-72"}),(0,b.jsx)(c.i,{className:"h-[260px] w-full"})]})}])},127643,function(a){a.n(a.i(109295))},791444,a=>{"use strict";var b=a.i(907997);let c="whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5","M",0,"min-w-40 whitespace-normal","I",0,c])}];
1
+ module.exports=[109295,a=>{"use strict";var b=a.i(907997),c=a.i(411182);a.s(["default",0,function(){return(0,b.jsxs)(c.F,{crumbs:["Database","SQL console"],title:"SQL console",sub:!0,children:[(0,b.jsx)(c.i,{className:"h-8 w-72"}),(0,b.jsx)(c.i,{className:"h-[260px] w-full"})]})}])},127643,function(a){a.n(a.i(109295))},791444,a=>{"use strict";var b=a.i(907997);let c="whitespace-nowrap border-y border-line bg-surface-2 px-3 py-2 text-left text-[12.5px] font-medium text-ink-soft first:pl-[18px] last:pr-3.5";a.s(["U",0,function({head:a}){return(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("th",{className:c,children:a},d))})})},"C",0,"hover:bg-hover","o",0,"w-full border-collapse [&_tbody_tr:last-child_td]:border-b-0","z",0,"whitespace-nowrap border-b border-line px-3 py-[9px] align-middle first:pl-[18px] last:pr-3.5","M",0,"min-w-40 whitespace-normal","I",0,c])}];
2
2
 
3
3
  //# sourceMappingURL=src_1-wu43p02yiel._.js.map