watchbell 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1030) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +123 -84
  3. package/bin/watchbell.mjs +593 -23
  4. package/package.json +1 -1
  5. package/server/.next/BUILD_ID +1 -1
  6. package/server/.next/app-path-routes-manifest.json +1 -0
  7. package/server/.next/build-manifest.json +116 -105
  8. package/server/.next/prerender-manifest.json +3 -3
  9. package/server/.next/routes-manifest.json +6 -0
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page/build-manifest.json +3 -3
  11. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +11 -11
  12. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +61 -58
  13. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  14. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  15. package/server/.next/server/app/(console)/(private)/ai/ask/page/build-manifest.json +3 -3
  16. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +10 -10
  17. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +61 -58
  18. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  19. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/connect/page/build-manifest.json +3 -3
  21. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +9 -9
  22. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +61 -58
  23. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  25. package/server/.next/server/app/(console)/(private)/ai/keys/page/build-manifest.json +3 -3
  26. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +12 -12
  27. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +61 -58
  28. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  29. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  30. package/server/.next/server/app/(console)/(private)/ai/logs/page/build-manifest.json +3 -3
  31. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +10 -10
  32. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +61 -58
  33. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  34. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  35. package/server/.next/server/app/(console)/(private)/ai/models/page/build-manifest.json +3 -3
  36. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +19 -19
  37. package/server/.next/server/app/(console)/(private)/ai/models/page.js +61 -58
  38. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  39. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/page/build-manifest.json +3 -3
  41. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +9 -9
  42. package/server/.next/server/app/(console)/(private)/ai/page.js +61 -58
  43. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  44. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  45. package/server/.next/server/app/(console)/(private)/ai/playground/page/build-manifest.json +3 -3
  46. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +12 -12
  47. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +61 -58
  48. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  49. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  50. package/server/.next/server/app/(console)/(private)/ai/providers/page/build-manifest.json +3 -3
  51. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +15 -15
  52. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +61 -58
  53. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  54. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  55. package/server/.next/server/app/(console)/(private)/ai/quota/page/build-manifest.json +3 -3
  56. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +10 -10
  57. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +61 -58
  58. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  59. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  60. package/server/.next/server/app/(console)/(private)/ai/usage/page/build-manifest.json +3 -3
  61. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +10 -10
  62. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +61 -58
  63. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  64. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  65. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/build-manifest.json +3 -3
  66. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +9 -9
  67. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +61 -58
  68. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  69. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  70. package/server/.next/server/app/(console)/(private)/auto-actions/page/build-manifest.json +3 -3
  71. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +10 -10
  72. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +61 -58
  73. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  74. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  75. package/server/.next/server/app/(console)/[...slug]/page/build-manifest.json +3 -3
  76. package/server/.next/server/app/(console)/[...slug]/page/server-reference-manifest.json +9 -9
  77. package/server/.next/server/app/(console)/[...slug]/page.js +62 -59
  78. package/server/.next/server/app/(console)/[...slug]/page.js.nft.json +1 -1
  79. package/server/.next/server/app/(console)/[...slug]/page_client-reference-manifest.js +1 -1
  80. package/server/.next/server/app/(console)/alerts/page/build-manifest.json +3 -3
  81. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +22 -22
  82. package/server/.next/server/app/(console)/alerts/page.js +61 -58
  83. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  84. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  85. package/server/.next/server/app/(console)/apps/[id]/page/build-manifest.json +3 -3
  86. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +23 -23
  87. package/server/.next/server/app/(console)/apps/[id]/page.js +61 -58
  88. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  89. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  90. package/server/.next/server/app/(console)/apps/page/build-manifest.json +3 -3
  91. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +11 -11
  92. package/server/.next/server/app/(console)/apps/page.js +61 -58
  93. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  94. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  95. package/server/.next/server/app/(console)/backups/page/build-manifest.json +3 -3
  96. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +12 -12
  97. package/server/.next/server/app/(console)/backups/page.js +61 -58
  98. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  99. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  100. package/server/.next/server/app/(console)/catalog/page/build-manifest.json +3 -3
  101. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +9 -9
  102. package/server/.next/server/app/(console)/catalog/page.js +61 -58
  103. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  104. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  105. package/server/.next/server/app/(console)/connections/page/build-manifest.json +3 -3
  106. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +54 -54
  107. package/server/.next/server/app/(console)/connections/page.js +67 -64
  108. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  109. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  110. package/server/.next/server/app/(console)/d1/page/build-manifest.json +3 -3
  111. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +9 -9
  112. package/server/.next/server/app/(console)/d1/page.js +61 -58
  113. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  114. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  115. package/server/.next/server/app/(console)/deployments/page/build-manifest.json +3 -3
  116. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +14 -14
  117. package/server/.next/server/app/(console)/deployments/page.js +61 -58
  118. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  119. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  120. package/server/.next/server/app/(console)/dns/page/build-manifest.json +3 -3
  121. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +16 -16
  122. package/server/.next/server/app/(console)/dns/page.js +61 -58
  123. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  124. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  125. package/server/.next/server/app/(console)/domains/page/build-manifest.json +3 -3
  126. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +11 -11
  127. package/server/.next/server/app/(console)/domains/page.js +61 -58
  128. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  129. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  130. package/server/.next/server/app/(console)/events/page/build-manifest.json +3 -3
  131. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +9 -9
  132. package/server/.next/server/app/(console)/events/page.js +61 -58
  133. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  134. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  135. package/server/.next/server/app/(console)/firebase/page/build-manifest.json +3 -3
  136. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +15 -15
  137. package/server/.next/server/app/(console)/firebase/page.js +62 -59
  138. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  139. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  140. package/server/.next/server/app/(console)/logs/page/build-manifest.json +3 -3
  141. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +10 -10
  142. package/server/.next/server/app/(console)/logs/page.js +61 -58
  143. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  144. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  145. package/server/.next/server/app/(console)/manage/sections/page/app-paths-manifest.json +3 -0
  146. package/server/.next/server/app/(console)/manage/sections/page/build-manifest.json +22 -0
  147. package/server/.next/server/app/(console)/manage/sections/page/next-font-manifest.json +11 -0
  148. package/server/.next/server/app/(console)/manage/sections/page/react-loadable-manifest.json +1 -0
  149. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +105 -0
  150. package/server/.next/server/app/(console)/manage/sections/page.js +104 -0
  151. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -0
  152. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +3 -0
  153. package/server/.next/server/app/(console)/neon/page/build-manifest.json +3 -3
  154. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +20 -20
  155. package/server/.next/server/app/(console)/neon/page.js +61 -58
  156. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  157. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  158. package/server/.next/server/app/(console)/overview/page/build-manifest.json +3 -3
  159. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +16 -16
  160. package/server/.next/server/app/(console)/overview/page.js +61 -58
  161. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  162. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  163. package/server/.next/server/app/(console)/repos/[id]/page/build-manifest.json +3 -3
  164. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +10 -10
  165. package/server/.next/server/app/(console)/repos/[id]/page.js +61 -58
  166. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  167. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  168. package/server/.next/server/app/(console)/repos/page/build-manifest.json +3 -3
  169. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +9 -9
  170. package/server/.next/server/app/(console)/repos/page.js +61 -58
  171. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  172. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  173. package/server/.next/server/app/(console)/settings/page/build-manifest.json +3 -3
  174. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +19 -19
  175. package/server/.next/server/app/(console)/settings/page.js +61 -58
  176. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  177. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  178. package/server/.next/server/app/(console)/sql/page/build-manifest.json +3 -3
  179. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +16 -16
  180. package/server/.next/server/app/(console)/sql/page.js +61 -58
  181. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  182. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  183. package/server/.next/server/app/(console)/status/page/build-manifest.json +3 -3
  184. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +9 -9
  185. package/server/.next/server/app/(console)/status/page.js +61 -58
  186. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  187. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  188. package/server/.next/server/app/(console)/supabase/page/build-manifest.json +3 -3
  189. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +27 -27
  190. package/server/.next/server/app/(console)/supabase/page.js +61 -58
  191. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  192. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  193. package/server/.next/server/app/(console)/topology/page/build-manifest.json +3 -3
  194. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +9 -9
  195. package/server/.next/server/app/(console)/topology/page.js +61 -58
  196. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  197. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  198. package/server/.next/server/app/(console)/turso/page/build-manifest.json +3 -3
  199. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +9 -9
  200. package/server/.next/server/app/(console)/turso/page.js +61 -58
  201. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  202. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  203. package/server/.next/server/app/(console)/upstash/page/build-manifest.json +3 -3
  204. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +9 -9
  205. package/server/.next/server/app/(console)/upstash/page.js +61 -58
  206. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  207. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  208. package/server/.next/server/app/(console)/uptime/page/build-manifest.json +3 -3
  209. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +22 -22
  210. package/server/.next/server/app/(console)/uptime/page.js +61 -58
  211. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  212. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  213. package/server/.next/server/app/(console)/welcome/page/build-manifest.json +3 -3
  214. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +14 -14
  215. package/server/.next/server/app/(console)/welcome/page.js +62 -59
  216. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  217. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  218. package/server/.next/server/app/_global-error/page/build-manifest.json +3 -3
  219. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  220. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  221. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  222. package/server/.next/server/app/_global-error.html +1 -1
  223. package/server/.next/server/app/_global-error.rsc +3 -3
  224. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  225. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  226. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  227. package/server/.next/server/app/_not-found/page/build-manifest.json +3 -3
  228. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  229. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  230. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  231. package/server/.next/server/app/_not-found.html +1 -1
  232. package/server/.next/server/app/_not-found.rsc +4 -4
  233. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  234. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  235. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  236. package/server/.next/server/app/account/password/page/build-manifest.json +3 -3
  237. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  238. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  239. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  240. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  241. package/server/.next/server/app/api/collect/route.js +78 -73
  242. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  243. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  244. package/server/.next/server/app/api/daily/route.js +77 -72
  245. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  246. package/server/.next/server/app/api/health/route.js.nft.json +1 -1
  247. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  248. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  249. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
  250. package/server/.next/server/app/api/telegram/webhook/route.js +75 -70
  251. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  252. package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
  253. package/server/.next/server/app/api/v1/advice/route.js +20 -19
  254. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  255. package/server/.next/server/app/api/v1/ai/chat/completions/route.js +2 -2
  256. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  257. package/server/.next/server/app/api/v1/ai/models/route.js +2 -2
  258. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  259. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js +1 -1
  260. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  261. package/server/.next/server/app/api/v1/ai/questions/route.js +24 -23
  262. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  263. package/server/.next/server/app/api/v1/mcp/route.js +22 -21
  264. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  265. package/server/.next/server/app/api/v1/me/route.js +1 -1
  266. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  267. package/server/.next/server/app/api/v1/openapi.json/route.js +10 -9
  268. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  269. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +20 -19
  270. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  271. package/server/.next/server/app/api/v1/status/route.js +20 -19
  272. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  273. package/server/.next/server/app/api/watchdog/route.js +21 -19
  274. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  275. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  276. package/server/.next/server/app/auth/google/callback/route.js +18 -17
  277. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  278. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  279. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  280. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  281. package/server/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  282. package/server/.next/server/app/invite/page/build-manifest.json +3 -3
  283. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  284. package/server/.next/server/app/invite/page.js +4 -3
  285. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  286. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  287. package/server/.next/server/app/mfa/page/build-manifest.json +3 -3
  288. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  289. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  290. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  291. package/server/.next/server/app/mfa/setup/page/build-manifest.json +3 -3
  292. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  293. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  294. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  295. package/server/.next/server/app/page/build-manifest.json +3 -3
  296. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  297. package/server/.next/server/app/page.js.nft.json +1 -1
  298. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  299. package/server/.next/server/app/s/[slug]/badge/[file]/route.js +9 -8
  300. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  301. package/server/.next/server/app/s/[slug]/page/build-manifest.json +3 -3
  302. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  303. package/server/.next/server/app/s/[slug]/page.js +8 -8
  304. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  305. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  306. package/server/.next/server/app/setup/page/build-manifest.json +3 -3
  307. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  308. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  309. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  310. package/server/.next/server/app/signin/page/build-manifest.json +3 -3
  311. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  312. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  313. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  314. package/server/.next/server/app-paths-manifest.json +1 -0
  315. package/server/.next/server/chunks/{[externals]__0fbnlnnial7w5._.js → [externals]__0qo8lpb70m87u._.js} +1 -1
  316. package/server/.next/server/chunks/{[externals]__1e0dmqhilgze5._.js → [externals]__100hq0n2xtenb._.js} +1 -1
  317. package/server/.next/server/chunks/{[externals]__1jhautmcwmgii._.js → [externals]__1irgb5qz1s3gv._.js} +1 -1
  318. package/server/.next/server/chunks/{[root-of-the-server]__0_6eq1806attx._.js → [root-of-the-server]__00hb7hqa7qktx._.js} +1 -1
  319. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  320. package/server/.next/server/chunks/[root-of-the-server]__049ykc067tlsv._.js +1 -1
  321. package/server/.next/server/chunks/[root-of-the-server]__04q-9779vl4kn._.js +3 -0
  322. package/server/.next/server/chunks/[root-of-the-server]__04rnior8cyxtx._.js +3 -0
  323. package/server/.next/server/chunks/{[root-of-the-server]__010exlr_efe2h._.js → [root-of-the-server]__06ek056i_j_uk._.js} +2 -2
  324. package/server/.next/server/chunks/[root-of-the-server]__06f9e4kpi0mw8._.js +1 -1
  325. package/server/.next/server/chunks/[root-of-the-server]__06jphm4auz_sh._.js +3 -0
  326. package/server/.next/server/chunks/{[root-of-the-server]__06iz-tlpv7pqm._.js → [root-of-the-server]__06r-019fixp3f._.js} +1 -1
  327. package/server/.next/server/chunks/{[root-of-the-server]__0mtlynfv-vklo._.js → [root-of-the-server]__07uknh5b-embq._.js} +1 -1
  328. package/server/.next/server/chunks/{[root-of-the-server]__0j0medewrv95l._.js → [root-of-the-server]__07v5e0vzgl4n2._.js} +2 -2
  329. package/server/.next/server/chunks/{[root-of-the-server]__0ul6-jnt2oco7._.js → [root-of-the-server]__08fyoixg__c7n._.js} +1 -1
  330. package/server/.next/server/chunks/[root-of-the-server]__0_rfeg3389imx._.js +1 -1
  331. package/server/.next/server/chunks/[root-of-the-server]__0b2hzo6nez0we._.js +1 -1
  332. package/server/.next/server/chunks/[root-of-the-server]__0b9tciqdsctau._.js +3 -0
  333. package/server/.next/server/chunks/{[root-of-the-server]__09qqv-zsz9qhr._.js → [root-of-the-server]__0b_4w-5x5u7ag._.js} +1 -1
  334. package/server/.next/server/chunks/{[root-of-the-server]__1-37ctpn8yw_m._.js → [root-of-the-server]__0bnasoi-x21jc._.js} +1 -1
  335. package/server/.next/server/chunks/[root-of-the-server]__0c5w5y-db0jkb._.js +3 -0
  336. package/server/.next/server/chunks/{[root-of-the-server]__08i_or_xyqg4g._.js → [root-of-the-server]__0d8ypilha-el8._.js} +2 -2
  337. package/server/.next/server/chunks/{[root-of-the-server]__0znb_m_wygjdc._.js → [root-of-the-server]__0erdelc9_06nk._.js} +2 -2
  338. package/server/.next/server/chunks/{[root-of-the-server]__018ux7xja83l6._.js → [root-of-the-server]__0flqwe7amc3mz._.js} +2 -2
  339. package/server/.next/server/chunks/{[root-of-the-server]__0f5l9--3_wjvx._.js → [root-of-the-server]__0fw19tsgp-vbq._.js} +2 -2
  340. package/server/.next/server/chunks/{[root-of-the-server]__1_l4gp3r2d-7x._.js → [root-of-the-server]__0fw7l5y58_xcd._.js} +2 -2
  341. package/server/.next/server/chunks/{[root-of-the-server]__02ihdvnmhshoe._.js → [root-of-the-server]__0g1tldn4xjewd._.js} +2 -2
  342. package/server/.next/server/chunks/{[root-of-the-server]__0ogbwvwpnlx0b._.js → [root-of-the-server]__0grtjjr51j6xe._.js} +1 -1
  343. package/server/.next/server/chunks/{[root-of-the-server]__1jrqehmo6kq8x._.js → [root-of-the-server]__0h1qhdjpfq1d4._.js} +2 -2
  344. package/server/.next/server/chunks/{[root-of-the-server]__08801yoxfe_os._.js → [root-of-the-server]__0h4n81_nqdr4j._.js} +2 -2
  345. package/server/.next/server/chunks/{[root-of-the-server]__081ywec7cjq3d._.js → [root-of-the-server]__0hty-wue10pro._.js} +2 -2
  346. package/server/.next/server/chunks/[root-of-the-server]__0jqgfbhrgi28s._.js +3 -0
  347. package/server/.next/server/chunks/[root-of-the-server]__0m7i0l3nkbdfm._.js +1 -1
  348. package/server/.next/server/chunks/[root-of-the-server]__0mwiq4mkf8pc5._.js +1 -1
  349. package/server/.next/server/chunks/{[root-of-the-server]__0mui3wh3lfb6m._.js → [root-of-the-server]__0npmbdrxybln5._.js} +1 -1
  350. package/server/.next/server/chunks/{[root-of-the-server]__0-ok-3r9xtz0y._.js → [root-of-the-server]__0nqw6z6fp8wad._.js} +2 -2
  351. package/server/.next/server/chunks/{[root-of-the-server]__0_iz9zh9e_mov._.js → [root-of-the-server]__0olmk-rbbhxlo._.js} +2 -2
  352. package/server/.next/server/chunks/{[root-of-the-server]__0nsie5dba69e6._.js → [root-of-the-server]__0owyb9lr5t5u-._.js} +2 -2
  353. package/server/.next/server/chunks/[root-of-the-server]__0p3lnkpxf2-xz._.js +1 -1
  354. package/server/.next/server/chunks/[root-of-the-server]__0qmkpydmx3ljf._.js +3 -0
  355. package/server/.next/server/chunks/[root-of-the-server]__0r-zdzq6ki5gr._.js +3 -0
  356. package/server/.next/server/chunks/{[root-of-the-server]__0mhtnnebbepzx._.js → [root-of-the-server]__0si9k9jhdc0bm._.js} +2 -2
  357. package/server/.next/server/chunks/{[root-of-the-server]__0u66-8g4ql645._.js → [root-of-the-server]__0sivlmcvkc1uq._.js} +1 -1
  358. package/server/.next/server/chunks/[root-of-the-server]__0t8d8b4qkw3y-._.js +3 -0
  359. package/server/.next/server/chunks/{[root-of-the-server]__0i1de88cj5y-p._.js → [root-of-the-server]__0tl5pxttllr4d._.js} +2 -2
  360. package/server/.next/server/chunks/{[root-of-the-server]__1z3-s7wc9-uc6._.js → [root-of-the-server]__0uyh4jgcd9092._.js} +2 -2
  361. package/server/.next/server/chunks/[root-of-the-server]__0v4-g6c-ls39_._.js +3 -0
  362. package/server/.next/server/chunks/[root-of-the-server]__0vgnlhvdoh3bn._.js +3 -0
  363. package/server/.next/server/chunks/{[root-of-the-server]__1x9tt_2yhozwe._.js → [root-of-the-server]__0vp-x4ifpr3p9._.js} +2 -2
  364. package/server/.next/server/chunks/{[root-of-the-server]__15j_u2bz3jc-a._.js → [root-of-the-server]__0wy38l7k36j6g._.js} +1 -1
  365. package/server/.next/server/chunks/{[root-of-the-server]__0qesn8t6k9y_n._.js → [root-of-the-server]__0xiz361p5kdhf._.js} +1 -1
  366. package/server/.next/server/chunks/[root-of-the-server]__0z-07azr3zk8s._.js +3 -0
  367. package/server/.next/server/chunks/[root-of-the-server]__0z-41cwvkliev._.js +3 -0
  368. package/server/.next/server/chunks/[root-of-the-server]__0zxyfd7u67hmv._.js +3 -0
  369. package/server/.next/server/chunks/[root-of-the-server]__1-rqermjb77se._.js +3 -0
  370. package/server/.next/server/chunks/[root-of-the-server]__10c7apgidgs6x._.js +3 -0
  371. package/server/.next/server/chunks/{[root-of-the-server]__03pc2mot62sow._.js → [root-of-the-server]__10x3lu8jeqgbt._.js} +2 -2
  372. package/server/.next/server/chunks/{[root-of-the-server]__0gs-x779qi1ba._.js → [root-of-the-server]__11-van59e9p2a._.js} +2 -2
  373. package/server/.next/server/chunks/[root-of-the-server]__110c-t3wz3nzm._.js +1 -1
  374. package/server/.next/server/chunks/[root-of-the-server]__116b4n13dv75t._.js +3 -0
  375. package/server/.next/server/chunks/[root-of-the-server]__11k46kam6tbia._.js +1 -1
  376. package/server/.next/server/chunks/[root-of-the-server]__11tte6au1b-z-._.js +3 -0
  377. package/server/.next/server/chunks/[root-of-the-server]__127dbd1prkw0n._.js +3 -0
  378. package/server/.next/server/chunks/[root-of-the-server]__12uj0887q1ayr._.js +1 -1
  379. package/server/.next/server/chunks/[root-of-the-server]__13_b24n_f4my4._.js +3 -0
  380. package/server/.next/server/chunks/[root-of-the-server]__13be7gbo81td4._.js +3 -0
  381. package/server/.next/server/chunks/[root-of-the-server]__13h--47xmg706._.js +5 -0
  382. package/server/.next/server/chunks/{[root-of-the-server]__0wt74rsaz-308._.js → [root-of-the-server]__145gadwk31inl._.js} +2 -2
  383. package/server/.next/server/chunks/{[root-of-the-server]__0j53mir12jire._.js → [root-of-the-server]__14luo1ecxoqh-._.js} +1 -1
  384. package/server/.next/server/chunks/{[root-of-the-server]__15ddlx_ma_1iu._.js → [root-of-the-server]__162cm9ds1c5y2._.js} +2 -2
  385. package/server/.next/server/chunks/[root-of-the-server]__19kwj690b37xf._.js +1 -1
  386. package/server/.next/server/chunks/[root-of-the-server]__19vsae2naddj5._.js +3 -0
  387. package/server/.next/server/chunks/[root-of-the-server]__1_l065umy451k._.js +3 -0
  388. package/server/.next/server/chunks/[root-of-the-server]__1_ow7lgy0u7st._.js +3 -0
  389. package/server/.next/server/chunks/[root-of-the-server]__1akvpmbiap6nf._.js +1 -1
  390. package/server/.next/server/chunks/{[root-of-the-server]__0292lwnmh4wtc._.js → [root-of-the-server]__1aza-7l2pl-pm._.js} +2 -2
  391. package/server/.next/server/chunks/[root-of-the-server]__1bsyavebtmd7w._.js +3 -0
  392. package/server/.next/server/chunks/[root-of-the-server]__1cju843cjyf1t._.js +3 -0
  393. package/server/.next/server/chunks/{[root-of-the-server]__0qpf0qusq792k._.js → [root-of-the-server]__1cla4k3dqtcfb._.js} +2 -2
  394. package/server/.next/server/chunks/[root-of-the-server]__1fnsa-f0t7bxj._.js +3 -0
  395. package/server/.next/server/chunks/[root-of-the-server]__1g1176fer3j4e._.js +3 -0
  396. package/server/.next/server/chunks/[root-of-the-server]__1hqy35gww7ps2._.js +3 -0
  397. package/server/.next/server/chunks/[root-of-the-server]__1i92wg2yuvs4c._.js +3 -0
  398. package/server/.next/server/chunks/{[root-of-the-server]__03e141znq0hr-._.js → [root-of-the-server]__1iv6vg3z9ho81._.js} +1 -1
  399. package/server/.next/server/chunks/[root-of-the-server]__1j26i51ankv-z._.js +3 -0
  400. package/server/.next/server/chunks/{[root-of-the-server]__1jh0el-zvg4hp._.js → [root-of-the-server]__1j3-sv7eqyhjb._.js} +2 -2
  401. package/server/.next/server/chunks/[root-of-the-server]__1j3w0-cp17tx4._.js +3 -0
  402. package/server/.next/server/chunks/{[root-of-the-server]__1czhdqbxj_3ov._.js → [root-of-the-server]__1j_iy13gp2-on._.js} +2 -2
  403. package/server/.next/server/chunks/[root-of-the-server]__1kg91b3sadtoc._.js +3 -0
  404. package/server/.next/server/chunks/[root-of-the-server]__1kjndfodqqamq._.js +3 -0
  405. package/server/.next/server/chunks/[root-of-the-server]__1mami4vb3y5gd._.js +3 -0
  406. package/server/.next/server/chunks/[root-of-the-server]__1mse65-7gtj-n._.js +3 -0
  407. package/server/.next/server/chunks/{[root-of-the-server]__0q691wec2busx._.js → [root-of-the-server]__1objhlwwrjfjk._.js} +2 -2
  408. package/server/.next/server/chunks/[root-of-the-server]__1pscg7y0et34j._.js +3 -0
  409. package/server/.next/server/chunks/[root-of-the-server]__1rw0i4x2ake3x._.js +3 -0
  410. package/server/.next/server/chunks/[root-of-the-server]__1t9zp524wouer._.js +3 -0
  411. package/server/.next/server/chunks/{[root-of-the-server]__0tb-63ts77gqd._.js → [root-of-the-server]__1tefe1f5835t_._.js} +2 -2
  412. package/server/.next/server/chunks/[root-of-the-server]__1u1b3a58anm3f._.js +3 -0
  413. package/server/.next/server/chunks/[root-of-the-server]__1v-789ydxj30e._.js +3 -0
  414. package/server/.next/server/chunks/{[root-of-the-server]__132wlw6sbwt1d._.js → [root-of-the-server]__1vi0u2vkv3tk0._.js} +2 -2
  415. package/server/.next/server/chunks/{[root-of-the-server]__0j68ia9q425ff._.js → [root-of-the-server]__1w3svzao_gnxp._.js} +2 -2
  416. package/server/.next/server/chunks/[root-of-the-server]__1w_73psnce1dd._.js +3 -0
  417. package/server/.next/server/chunks/[root-of-the-server]__1x7ucdyxuh2_k._.js +3 -0
  418. package/server/.next/server/chunks/{[root-of-the-server]__08l1x_plf4dil._.js → [root-of-the-server]__1xdi98xyay6bn._.js} +1 -1
  419. package/server/.next/server/chunks/{[root-of-the-server]__18mztbxkzaxjs._.js → [root-of-the-server]__20_1nfa6fiz-q._.js} +2 -2
  420. package/server/.next/server/chunks/[root-of-the-server]__20b_clyk74g5u._.js +3 -0
  421. package/server/.next/server/chunks/[root-of-the-server]__20ev6t8zggct2._.js +3 -0
  422. package/server/.next/server/chunks/_004c7-39glldb._.js +4 -4
  423. package/server/.next/server/chunks/_008zv66xvj7ey._.js +37 -0
  424. package/server/.next/server/chunks/{_12uzjq-fbcuvb._.js → _01s3_8ssosvqi._.js} +1 -1
  425. package/server/.next/server/chunks/_03qlijpos6a21._.js +3 -0
  426. package/server/.next/server/chunks/_09l75j3ey14tc._.js +1 -1
  427. package/server/.next/server/chunks/_0a7533vs89s78._.js +7 -0
  428. package/server/.next/server/chunks/_0ejcrge5k4quv._.js +9 -9
  429. package/server/.next/server/chunks/_0k4iqzwm6w5_c._.js +37 -0
  430. package/server/.next/server/chunks/_0kmhvts35imzs._.js +1 -1
  431. package/server/.next/server/chunks/_0m1ll2r1g77ii._.js +1 -1
  432. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +3 -0
  433. package/server/.next/server/chunks/_0nt4hve0bi30h._.js +37 -0
  434. package/server/.next/server/chunks/_0op74d4yyc3ma._.js +1 -1
  435. package/server/.next/server/chunks/_0pf2g5n_ko5dq._.js +3 -0
  436. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +3 -3
  437. package/server/.next/server/chunks/_0qr77omrkuewo._.js +3 -0
  438. package/server/.next/server/chunks/_0rjh9w2ih3j2h._.js +3 -0
  439. package/server/.next/server/chunks/_0sy878k2ywjbq._.js +3 -0
  440. package/server/.next/server/chunks/_0tz4o-qufnu3l._.js +4 -4
  441. package/server/.next/server/chunks/_0voowig3y32v1._.js +1 -1
  442. package/server/.next/server/chunks/_0wxm_716tjorj._.js +3 -0
  443. package/server/.next/server/chunks/_0xf7mtsrkgc9e._.js +1 -1
  444. package/server/.next/server/chunks/_0zkmkbrbc96-h._.js +3 -0
  445. package/server/.next/server/chunks/_1-pw7jw52sbti._.js +3 -0
  446. package/server/.next/server/chunks/_103ai6ybnpq1k._.js +1 -1
  447. package/server/.next/server/chunks/_108e86rhye0o1._.js +1 -1
  448. package/server/.next/server/chunks/_10vh_l3hht4_3._.js +4 -4
  449. package/server/.next/server/chunks/_1476vtrt9101m._.js +1 -1
  450. package/server/.next/server/chunks/_14ymj3uzawde4._.js +7 -0
  451. package/server/.next/server/chunks/_15g-opioju_ju._.js +3 -0
  452. package/server/.next/server/chunks/_17aiz6zt-yv52._.js +1 -1
  453. package/server/.next/server/chunks/_1_son1yzo5xvl._.js +3 -0
  454. package/server/.next/server/chunks/_1b7pc6ohhqxs3._.js +9 -9
  455. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +3 -3
  456. package/server/.next/server/chunks/_1i7qkrp3fnx1a._.js +37 -0
  457. package/server/.next/server/chunks/_1kcmwgs544mo-._.js +1 -1
  458. package/server/.next/server/chunks/_1lq5m27p-ilrw._.js +1 -1
  459. package/server/.next/server/chunks/_1luzeov9x87mg._.js +7 -0
  460. package/server/.next/server/chunks/_1mnwzh3z9y4th._.js +3 -0
  461. package/server/.next/server/chunks/_1nuf-l7izvfl_._.js +1 -1
  462. package/server/.next/server/chunks/{_1jz6k3wy_s8br._.js → _1p0ced3sr0i_8._.js} +1 -1
  463. package/server/.next/server/chunks/_1ptcxyn1tzm9r._.js +1 -1
  464. package/server/.next/server/chunks/_1v7q0xdxbqawm._.js +1 -1
  465. package/server/.next/server/chunks/_1zx_54or1pubb._.js +1 -1
  466. package/server/.next/server/chunks/node_modules_next_dist_1i-_xribpwttd._.js +313 -0
  467. package/server/.next/server/chunks/{src_0uxqs7150nhx2._.js → src_014zbodp4djeb._.js} +2 -2
  468. package/server/.next/server/chunks/src_01jp2f5qmh8e2._.js +3 -0
  469. package/server/.next/server/chunks/{src_0n42os1q41rha._.js → src_04pgj--n_d4w5._.js} +2 -2
  470. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  471. package/server/.next/server/chunks/src_088gmyaew7ds0._.js +3 -0
  472. package/server/.next/server/chunks/src_0c-owt8q0lyj3._.js +3 -0
  473. package/server/.next/server/chunks/{src_01wdnb4skk1wz._.js → src_0kwnhwi77unm7._.js} +2 -2
  474. package/server/.next/server/chunks/src_0o4-snj7wkaav._.js +1 -1
  475. package/server/.next/server/chunks/{src_0d-zi077mzm6v._.js → src_0xqorb3-ef3ub._.js} +2 -2
  476. package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +3 -0
  477. package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +1 -1
  478. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  479. package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +3 -0
  480. package/server/.next/server/chunks/{src_03umyw-p7jhaj._.js → src_1dsh9rzlos6-1._.js} +2 -2
  481. package/server/.next/server/chunks/src_1hy7u0jtydq_d._.js +3 -0
  482. package/server/.next/server/chunks/src_1j2o14j0-23xv._.js +3 -0
  483. package/server/.next/server/chunks/src_1j71dvub05y-4._.js +3 -0
  484. package/server/.next/server/chunks/{src_1-r51arho90p7._.js → src_1no_yh953mran._.js} +2 -2
  485. package/server/.next/server/chunks/src_1s7yll47_n_hy._.js +3 -0
  486. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +3 -3
  487. package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +3 -0
  488. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +3 -3
  489. package/server/.next/server/chunks/src_instrumentation-node_ts_1c--sr1k7_8k2._.js +3 -0
  490. package/server/.next/server/chunks/src_lib_08u7n7-yunfvd._.js +2 -2
  491. package/server/.next/server/chunks/src_lib_0cbs2jlrw1qbh._.js +3 -0
  492. package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
  493. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  494. package/server/.next/server/chunks/src_lib_0oz4gm8agoidh._.js +6 -0
  495. package/server/.next/server/chunks/src_lib_0s_txig7jm3ty._.js +3 -3
  496. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +15 -0
  497. package/server/.next/server/chunks/src_lib_0x4n8swwa3zn7._.js +1 -1
  498. package/server/.next/server/chunks/src_lib_0y-obfzqjj0c6._.js +6 -0
  499. package/server/.next/server/chunks/src_lib_10_w0ihgmx4e6._.js +6 -0
  500. package/server/.next/server/chunks/src_lib_10vqn6q0h8kls._.js +2 -2
  501. package/server/.next/server/chunks/src_lib_13g9xjx8ci00z._.js +3 -0
  502. package/server/.next/server/chunks/src_lib_15wd7ab4u5nrn._.js +3 -3
  503. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +15 -0
  504. package/server/.next/server/chunks/src_lib_1p21oczr6lh5a._.js +3 -0
  505. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +15 -0
  506. package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
  507. package/server/.next/server/chunks/src_lib_1tzoqx44yogsk._.js +2 -2
  508. package/server/.next/server/chunks/src_lib_1yd94hta5y1hx._.js +3 -0
  509. package/server/.next/server/chunks/src_lib_1yewk45thnv1h._.js +1 -1
  510. package/server/.next/server/chunks/src_lib_1z73euz6d3tus._.js +6 -0
  511. package/server/.next/server/chunks/src_lib_brand-env_ts_1wcm1bjuismq_._.js +3 -0
  512. package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +4 -4
  513. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +6 -6
  514. package/server/.next/server/chunks/src_lib_data_0ask_rbmgwlf3._.js +1 -1
  515. package/server/.next/server/chunks/src_lib_data_0e155tkqeoojm._.js +1 -1
  516. package/server/.next/server/chunks/src_lib_data_backup-db_ts_19rtzbv84xz_h._.js +2 -2
  517. package/server/.next/server/chunks/src_lib_data_logs-db_ts_1ddw07do12mmk._.js +1 -1
  518. package/server/.next/server/chunks/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +6 -0
  519. package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
  520. package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +9 -9
  521. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +13 -13
  522. package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +9 -9
  523. package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +1 -1
  524. package/server/.next/server/chunks/src_lib_providers_info_ts_02x6g30rg2hsp._.js +3 -0
  525. package/server/.next/server/chunks/src_lib_time_ts_1__07rt8x18k-._.js +3 -0
  526. package/server/.next/server/chunks/src_lib_time_ts_1a27wp71yhgti._.js +3 -0
  527. package/server/.next/server/chunks/src_lib_time_ts_1qlwgp7nprvbi._.js +3 -0
  528. package/server/.next/server/chunks/src_lib_view_databases_ts_0fdc7jkjvyrxi._.js +3 -0
  529. package/server/.next/server/chunks/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  530. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  531. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_1q6nc5chwn5k4.js +1 -1
  532. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +1 -1
  533. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +1 -1
  534. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +1 -1
  535. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +1 -1
  536. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +1 -1
  537. package/server/.next/server/chunks/ssr/{[externals]__1u-jgivpw0_oh._.js → [externals]__0zvy4iicnrk95._.js} +1 -1
  538. package/server/.next/server/chunks/ssr/[root-of-the-server]__02cq5r26w4itc._.js +1 -1
  539. package/server/.next/server/chunks/ssr/[root-of-the-server]__02qyxz9eh8_eh._.js +1 -1
  540. package/server/.next/server/chunks/ssr/[root-of-the-server]__04ovk2bqwu87z._.js +3 -0
  541. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0aahjz4fnt4c_._.js → [root-of-the-server]__052_cprs0alpy._.js} +2 -2
  542. package/server/.next/server/chunks/ssr/{[root-of-the-server]__11-ssp_43878t._.js → [root-of-the-server]__0543ddliluvv3._.js} +2 -2
  543. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ijk9z1ot_xi4._.js → [root-of-the-server]__08479d23kb1xv._.js} +2 -2
  544. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1csz822qejxk-._.js → [root-of-the-server]__08fqg76puqdfr._.js} +2 -2
  545. package/server/.next/server/chunks/ssr/[root-of-the-server]__09-0oydof-7uw._.js +1 -1
  546. package/server/.next/server/chunks/ssr/[root-of-the-server]__09nm_hn1c8zhf._.js +3 -0
  547. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0lks-6wz-rmk5._.js → [root-of-the-server]__0acmauri7z1sg._.js} +2 -2
  548. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ct71emqfru3b._.js +1 -1
  549. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1tkmutq84zkeh._.js → [root-of-the-server]__0e9m8up0h1qhl._.js} +2 -2
  550. package/server/.next/server/chunks/ssr/[root-of-the-server]__0h9gtpapca7i_._.js +3 -0
  551. package/server/.next/server/chunks/ssr/[root-of-the-server]__0hln97a4qcziv._.js +3 -0
  552. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ksvf4x4zcbpb._.js +1 -1
  553. package/server/.next/server/chunks/ssr/[root-of-the-server]__0lc7my3iqbrsu._.js +1 -1
  554. package/server/.next/server/chunks/ssr/[root-of-the-server]__0n7cj-oti5wct._.js +2 -2
  555. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ncef7_34ta3-._.js +1 -1
  556. package/server/.next/server/chunks/ssr/[root-of-the-server]__0op0kqh43wd-a._.js +3 -0
  557. package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +1 -1
  558. package/server/.next/server/chunks/ssr/[root-of-the-server]__1-o_iq-ed9vc8._.js +1 -1
  559. package/server/.next/server/chunks/ssr/[root-of-the-server]__10bkg3o65q6r4._.js +1 -1
  560. package/server/.next/server/chunks/ssr/[root-of-the-server]__12qymdfh83hht._.js +3 -0
  561. package/server/.next/server/chunks/ssr/[root-of-the-server]__13oi70jo-u731._.js +2 -2
  562. package/server/.next/server/chunks/ssr/[root-of-the-server]__146kj3-h6fkaq._.js +1 -1
  563. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1fdzriy6yyu5d._.js → [root-of-the-server]__15n-r12rnj61t._.js} +1 -1
  564. package/server/.next/server/chunks/ssr/[root-of-the-server]__16o4p3l21rdq3._.js +3 -0
  565. package/server/.next/server/chunks/ssr/[root-of-the-server]__17kocbnwlcw6d._.js +1 -1
  566. package/server/.next/server/chunks/ssr/[root-of-the-server]__19_nr6j2w-in_._.js +3 -0
  567. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  568. package/server/.next/server/chunks/ssr/[root-of-the-server]__1gw6334w8y2my._.js +1 -1
  569. package/server/.next/server/chunks/ssr/[root-of-the-server]__1i69oli51is1u._.js +1 -1
  570. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ryb947ux5cq7._.js → [root-of-the-server]__1k1fmq0-rg3p0._.js} +2 -2
  571. package/server/.next/server/chunks/ssr/[root-of-the-server]__1lx2k37wgre3d._.js +1 -1
  572. package/server/.next/server/chunks/ssr/[root-of-the-server]__1owrn7crnsybx._.js +3 -0
  573. package/server/.next/server/chunks/ssr/[root-of-the-server]__1qltiqn0htqnx._.js +1 -1
  574. package/server/.next/server/chunks/ssr/[root-of-the-server]__1w1472ukyh58r._.js +1 -1
  575. package/server/.next/server/chunks/ssr/[root-of-the-server]__20ht054m5-_d6._.js +1 -1
  576. package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +2 -2
  577. package/server/.next/server/chunks/ssr/_026w_ig6vy9bt._.js +1 -1
  578. package/server/.next/server/chunks/ssr/{_1wu_8nu5allm0._.js → _05kq3r87s7p3q._.js} +1 -1
  579. package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +2 -2
  580. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  581. package/server/.next/server/chunks/ssr/_0_rtyc4t9xcdo._.js +1 -1
  582. package/server/.next/server/chunks/ssr/_0_tr9fol2yq33._.js +1 -1
  583. package/server/.next/server/chunks/ssr/_0_ul4mlc_pj5i._.js +2 -2
  584. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  585. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  586. package/server/.next/server/chunks/ssr/_0cukja7zcxh7e._.js +1 -1
  587. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  588. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  589. package/server/.next/server/chunks/ssr/_0fnl7z-saj7nc._.js +1 -1
  590. package/server/.next/server/chunks/ssr/_0hykblvnwc2ar._.js +1 -1
  591. package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +2 -2
  592. package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +2 -2
  593. package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +2 -2
  594. package/server/.next/server/chunks/ssr/_0m1ll2r1g77ii._.js +1 -1
  595. package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +2 -2
  596. package/server/.next/server/chunks/ssr/{_18t7ov64ycb-w._.js → _0ooh0hh-r_12s._.js} +2 -2
  597. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  598. package/server/.next/server/chunks/ssr/{_14bz_443syxhi._.js → _0pn3dn9s9es51._.js} +2 -2
  599. package/server/.next/server/chunks/ssr/_0qnv1uc1_yv28._.js +2 -2
  600. package/server/.next/server/chunks/ssr/_0qo8tc43kjsf_._.js +1 -1
  601. package/server/.next/server/chunks/ssr/{_06_f735j-1i20._.js → _0r04c1-snv6jw._.js} +2 -2
  602. package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +1 -1
  603. package/server/.next/server/chunks/ssr/_0tcmsw8hszixv._.js +1 -1
  604. package/server/.next/server/chunks/ssr/{_0i6y4bkm-0cm3._.js → _0tnfblwwlyvq2._.js} +2 -2
  605. package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +2 -2
  606. package/server/.next/server/chunks/ssr/{_0o0-2ela2_qqd._.js → _0x1vi7mal3bqd._.js} +2 -2
  607. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  608. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  609. package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +2 -2
  610. package/server/.next/server/chunks/ssr/_11w5w9dpxcf1w._.js +3 -0
  611. package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +2 -2
  612. package/server/.next/server/chunks/ssr/_1476vtrt9101m._.js +1 -1
  613. package/server/.next/server/chunks/ssr/{_1p4i1e1kw70-_._.js → _14kop_5asppd8._.js} +2 -2
  614. package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +2 -2
  615. package/server/.next/server/chunks/ssr/_16t9k9e5cjvas._.js +1 -1
  616. package/server/.next/server/chunks/ssr/_18lgd6o04ugow._.js +2 -2
  617. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  618. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  619. package/server/.next/server/chunks/ssr/{_08y82qdosn7ga._.js → _1_ojvke28lw3y._.js} +2 -2
  620. package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +2 -2
  621. package/server/.next/server/chunks/ssr/_1b4uqc9fwt4dy._.js +1 -1
  622. package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +2 -2
  623. package/server/.next/server/chunks/ssr/_1c28jitsyufnt._.js +1 -1
  624. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  625. package/server/.next/server/chunks/ssr/_1dx207la592b7._.js +2 -2
  626. package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +2 -2
  627. package/server/.next/server/chunks/ssr/_1flla16o7o9ba._.js +1 -1
  628. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  629. package/server/.next/server/chunks/ssr/_1gl78598hz_ku._.js +1 -1
  630. package/server/.next/server/chunks/ssr/_1i77n2n-wb98v._.js +2 -2
  631. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  632. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  633. package/server/.next/server/chunks/ssr/_1nir32qtr99-r._.js +1 -1
  634. package/server/.next/server/chunks/ssr/_1qt1czw3w8dww._.js +3 -0
  635. package/server/.next/server/chunks/ssr/_1sq12-1_02tzt._.js +2 -2
  636. package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +2 -2
  637. package/server/.next/server/chunks/ssr/_1ykxf4mi60jog._.js +2 -2
  638. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  639. package/server/.next/server/chunks/ssr/_1zr0t31h18f2p._.js +3 -0
  640. package/server/.next/server/chunks/ssr/_20ln-4gu85-yt._.js +3 -0
  641. package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +2 -2
  642. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +1 -1
  643. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +1 -1
  644. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +1 -1
  645. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +1 -1
  646. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1uaicj0j8stji.js +1 -1
  647. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_06a1fnrawxlh1.js +3 -0
  648. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +1 -1
  649. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +1 -1
  650. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_215m-kkv06r4z.js +1 -1
  651. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +1 -1
  652. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_0ven9q46d3d7s.js +3 -0
  653. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +1 -1
  654. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +1 -1
  655. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +1 -1
  656. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  657. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  658. package/server/.next/server/chunks/ssr/node_modules_next_dist_0joxsz2q5dh6c._.js +2 -2
  659. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pz49shx663y1.js +3 -0
  660. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1b0g9w0uow3x5.js +1 -1
  661. package/server/.next/server/chunks/ssr/src_00wh1gv_h2pjs._.js +1 -1
  662. package/server/.next/server/chunks/ssr/src_00ze92e3aolj8._.js +1 -1
  663. package/server/.next/server/chunks/ssr/src_01jp2f5qmh8e2._.js +3 -0
  664. package/server/.next/server/chunks/ssr/src_025wo6h30c00a._.js +1 -1
  665. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  666. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  667. package/server/.next/server/chunks/ssr/src_09atx_ns_mlan._.js +1 -1
  668. package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +1 -1
  669. package/server/.next/server/chunks/ssr/src_0_kumjlw3o034._.js +1 -1
  670. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  671. package/server/.next/server/chunks/ssr/src_0dl7jkqqm313f._.js +3 -0
  672. package/server/.next/server/chunks/ssr/src_0f_ip1ke7i9r7._.js +3 -0
  673. package/server/.next/server/chunks/ssr/src_0fdfz--89117z._.js +1 -1
  674. package/server/.next/server/chunks/ssr/src_0ho313o5cu3-h._.js +1 -1
  675. package/server/.next/server/chunks/ssr/src_0iefnjvaszvw_._.js +1 -1
  676. package/server/.next/server/chunks/ssr/src_0loe22pbn4cuu._.js +1 -1
  677. package/server/.next/server/chunks/ssr/src_0nylfis4--x5j._.js +1 -1
  678. package/server/.next/server/chunks/ssr/src_0ohsn5qzqqds_._.js +1 -1
  679. package/server/.next/server/chunks/ssr/src_0p0fk07bj9gpq._.js +1 -1
  680. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  681. package/server/.next/server/chunks/ssr/src_0t6-d5hmzrbp1._.js +1 -1
  682. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
  683. package/server/.next/server/chunks/ssr/src_0usxo7vu7o2cj._.js +1 -1
  684. package/server/.next/server/chunks/ssr/src_0widudneyf0oq._.js +1 -1
  685. package/server/.next/server/chunks/ssr/src_0xau6d5z5e_md._.js +1 -1
  686. package/server/.next/server/chunks/ssr/src_0xh3xicmff6ws._.js +1 -1
  687. package/server/.next/server/chunks/ssr/src_1-wu43p02yiel._.js +1 -1
  688. package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +1 -1
  689. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  690. package/server/.next/server/chunks/ssr/src_11iuy79j_finh._.js +3 -0
  691. package/server/.next/server/chunks/ssr/src_12x8sjp-qdw08._.js +1 -1
  692. package/server/.next/server/chunks/ssr/src_14aur12he3m2a._.js +1 -1
  693. package/server/.next/server/chunks/ssr/src_15aqc6akkqade._.js +1 -1
  694. package/server/.next/server/chunks/ssr/src_15zqi72ky6hi9._.js +1 -1
  695. package/server/.next/server/chunks/ssr/src_19evuexp67uty._.js +1 -1
  696. package/server/.next/server/chunks/ssr/src_1am4_ady64k2b._.js +1 -1
  697. package/server/.next/server/chunks/ssr/src_1cbawr4iw5h-x._.js +1 -1
  698. package/server/.next/server/chunks/ssr/src_1ccrc8twenijg._.js +1 -1
  699. package/server/.next/server/chunks/ssr/src_1ctx1an_a3k7g._.js +1 -1
  700. package/server/.next/server/chunks/ssr/src_1iyzhhf1u_gwo._.js +3 -0
  701. package/server/.next/server/chunks/ssr/{src_1eermasnm2cgy._.js → src_1ottjkdvhje3g._.js} +2 -2
  702. package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +1 -1
  703. package/server/.next/server/chunks/ssr/src_1xsg-zd4lt_d4._.js +1 -1
  704. package/server/.next/server/chunks/ssr/src_1y0xvj1obxu7i._.js +1 -1
  705. package/server/.next/server/chunks/ssr/src_1zpftf1xj-30l._.js +1 -1
  706. package/server/.next/server/chunks/ssr/src_20hs1ilkxmap0._.js +1 -1
  707. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  708. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1lhfs18es1mqc._.js +1 -1
  709. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_loading_tsx_1qyzywm3br5h2._.js +1 -1
  710. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_06n-9cjmbb-vu._.js +1 -1
  711. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  712. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_loading_tsx_1niopfalguzs6._.js +1 -1
  713. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_connect_connect-view_tsx_04abz05n7hdsd._.js +15 -15
  714. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_connect_loading_tsx_0q7g8dpf7-vgo._.js +1 -1
  715. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_keys_04ypt31p11eq7._.js +1 -1
  716. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_keys_loading_tsx_1hc7x_jx0xx0_._.js +1 -1
  717. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_0261l8yb2z9x1._.js +1 -1
  718. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  719. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_loading_tsx_1dwhza0ud8asg._.js +1 -1
  720. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  721. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0hla-5y3iresx._.js +1 -1
  722. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_loading_tsx_1qtp-lo_o41cr._.js +1 -1
  723. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_1o1z2qp3tik5x._.js +1 -1
  724. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_loading_tsx_02umaieh-00pu._.js +1 -1
  725. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  726. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_0jamu-nm6x-dh._.js +1 -1
  727. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  728. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_loading_tsx_0u2pi0tk7s3ch._.js +1 -1
  729. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_1kor9sy67qpiw._.js +1 -1
  730. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  731. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_loading_tsx_1hhnum-g2eq3n._.js +1 -1
  732. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_1v003vrkwk19w._.js +1 -1
  733. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  734. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_loading_tsx_0pjvu-xuxbxmh._.js +1 -1
  735. package/server/.next/server/chunks/ssr/{src_app_(console)_1ppp9j5e2rtqf._.js → src_app_(console)_1l7irblrb5fae._.js} +2 -2
  736. package/server/.next/server/chunks/ssr/src_app_(console)_[___slug]_page_tsx_0b007i3c1v_vg._.js +1 -1
  737. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +1 -1
  738. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_1t61z2wktki-v._.js +1 -1
  739. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_088bs149wsgca._.js +1 -1
  740. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  741. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  742. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  743. package/server/.next/server/chunks/ssr/src_app_(console)_backups_page_tsx_0o082iagq_14b._.js +1 -1
  744. package/server/.next/server/chunks/ssr/src_app_(console)_catalog_page_tsx_1u2_-bv4yi5oo._.js +1 -1
  745. package/server/.next/server/chunks/ssr/src_app_(console)_connections_02upf_c41dauw._.js +3 -0
  746. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  747. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +3 -0
  748. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  749. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  750. package/server/.next/server/chunks/ssr/src_app_(console)_d1_page_tsx_167hwnq_9uh81._.js +1 -1
  751. package/server/.next/server/chunks/ssr/src_app_(console)_dns_0d1uyir4fe7pc._.js +1 -1
  752. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  753. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  754. package/server/.next/server/chunks/ssr/src_app_(console)_domains_1ut499n11u8_r._.js +1 -1
  755. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_page_tsx_0g20hm13dvbc-._.js +1 -1
  756. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  757. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_17htk-vea5fna._.js +3 -0
  758. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +3 -0
  759. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  760. package/server/.next/server/chunks/ssr/src_app_(console)_neon_1ubea__gt06o0._.js +1 -1
  761. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  762. package/server/.next/server/chunks/ssr/src_app_(console)_repos_[id]_page_tsx_1nkxthc4ethrj._.js +1 -1
  763. package/server/.next/server/chunks/ssr/src_app_(console)_repos_repo-list_tsx_1n1gcm4qfrfdt._.js +1 -1
  764. package/server/.next/server/chunks/ssr/src_app_(console)_sql_16-sh45tpob8n._.js +1 -1
  765. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  766. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  767. package/server/.next/server/chunks/ssr/src_app_(console)_status_page_tsx_1zvj799nv4kah._.js +1 -1
  768. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  769. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_1ofufib3-zzt-._.js +1 -1
  770. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  771. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_148phfjye0539._.js +1 -1
  772. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  773. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  774. package/server/.next/server/chunks/ssr/src_app_(console)_welcome_page_tsx_1bw0x0riq-oem._.js +1 -1
  775. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  776. package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
  777. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  778. package/server/.next/server/chunks/ssr/{src_app_signin_124xn9wb2fasu._.js → src_app_signin_1tg6pswa99jbe._.js} +2 -2
  779. package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.js +3 -0
  780. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  781. package/server/.next/server/chunks/ssr/src_components_ui_dialog_tsx_1tn-i_6d3rhzt._.js +1 -1
  782. package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +3 -3
  783. package/server/.next/server/chunks/ssr/src_lib_05ai1oj91p9w2._.js +2 -2
  784. package/server/.next/server/chunks/ssr/src_lib_0x4n8swwa3zn7._.js +1 -1
  785. package/server/.next/server/chunks/ssr/src_lib_1nkahiclbn55q._.js +1 -1
  786. package/server/.next/server/chunks/ssr/{src_lib_1l8ej-zoyyegd._.js → src_lib_1p21oczr6lh5a._.js} +2 -2
  787. package/server/.next/server/chunks/ssr/src_lib_1yewk45thnv1h._.js +1 -1
  788. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
  789. package/server/.next/server/chunks/ssr/src_lib_copy_edition_ts_1y6lsdbj64t9p._.js +1 -1
  790. package/server/.next/server/chunks/ssr/src_lib_data_keep-active-db_ts_0p07g9b74uu3e._.js +1 -1
  791. package/server/.next/server/chunks/ssr/src_lib_data_logs-db_ts_1ddw07do12mmk._.js +1 -1
  792. package/server/.next/server/chunks/ssr/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +6 -0
  793. package/server/.next/server/chunks/ssr/{src_lib_demo_20hj85e_64pp1._.js → src_lib_demo_0hdl7pzdqejqx._.js} +2 -2
  794. package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
  795. package/server/.next/server/chunks/ssr/src_lib_providers_info_ts_02x6g30rg2hsp._.js +3 -0
  796. package/server/.next/server/chunks/ssr/src_lib_time_ts_1qlwgp7nprvbi._.js +3 -0
  797. package/server/.next/server/chunks/ssr/src_lib_time_ts_1ualgyi3irm1z._.js +3 -0
  798. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  799. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  800. package/server/.next/server/chunks/ssr/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  801. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  802. package/server/.next/server/chunks/ssr/src_private_ai_usage-analytics_ts_1bxba3xarzol0._.js +1 -1
  803. package/server/.next/server/chunks/ssr/src_private_ai_views-db_ts_1jbnr41mskha2._.js +1 -1
  804. package/server/.next/server/chunks/ssr/src_private_assist_advisor-notes_ts_0qkpm5c3la7fo._.js +3 -3
  805. package/server/.next/server/chunks/ssr/src_private_explorer_explorer_tsx_04m_tdottspjs._.js +1 -1
  806. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  807. package/server/.next/server/middleware-build-manifest.js +116 -105
  808. package/server/.next/server/next-font-manifest.js +1 -1
  809. package/server/.next/server/next-font-manifest.json +4 -0
  810. package/server/.next/server/pages/404.html +1 -1
  811. package/server/.next/server/pages/500.html +1 -1
  812. package/server/.next/server/preview-props.json +3 -3
  813. package/server/.next/server/server-reference-manifest.js +1 -1
  814. package/server/.next/server/server-reference-manifest.json +210 -164
  815. package/server/.next/static/chunks/08dak2kh1c6_7.js +1 -0
  816. package/server/.next/static/chunks/{2v14aqfx8wv9o.js → 0b9slopuz4e8a.js} +1 -1
  817. package/server/.next/static/chunks/{36ureqoyz5e06.js → 0dp-tuwkw7xf8.js} +2 -2
  818. package/server/.next/static/chunks/0fhj_pu5ntcfo.js +1 -0
  819. package/server/.next/static/chunks/{2k9ytb8jmg14_.js → 0h9i512dn01kj.js} +1 -1
  820. package/server/.next/static/chunks/0ic6_-0gkd6p7.js +1 -0
  821. package/server/.next/static/chunks/0icohez16w-ei.js +1 -0
  822. package/server/.next/static/chunks/{1ieazx9t3vl5p.js → 0j1wzqg4ukm70.js} +1 -1
  823. package/server/.next/static/chunks/{43_va15lk2zc1.js → 0j_5norjm-kef.js} +1 -1
  824. package/server/.next/static/chunks/{1-1hfgat2l_o9.js → 0kscmnb071fci.js} +1 -1
  825. package/server/.next/static/chunks/{0c7pskzfstcdh.js → 0ld78j1d4j201.js} +1 -1
  826. package/server/.next/static/chunks/0qlb-l1uyqku5.js +1 -0
  827. package/server/.next/static/chunks/0udh0u8c6ovgf.css +3 -0
  828. package/server/.next/static/chunks/0y1ss0tjq0nq0.js +1 -0
  829. package/server/.next/static/chunks/{1ts_fd_r1kcrv.js → 1-oetq3mwlhds.js} +1 -1
  830. package/server/.next/static/chunks/{2fj4o7-stsvht.js → 11ywzwmfd_pt0.js} +1 -1
  831. package/server/.next/static/chunks/1j18pg23fzwv_.js +1 -0
  832. package/server/.next/static/chunks/1jaozq01v9r6e.js +1 -0
  833. package/server/.next/static/chunks/1ky5exl-c1kbo.js +1 -0
  834. package/server/.next/static/chunks/{0cannaigw8lhi.js → 1lsu_fxiyaeiz.js} +1 -1
  835. package/server/.next/static/chunks/1o3_amrh-sxr3.js +1 -0
  836. package/server/.next/static/chunks/{0wtboeftyamyk.js → 1w9o_jo_pejc5.js} +1 -1
  837. package/server/.next/static/chunks/1xy80z39ducub.js +1 -0
  838. package/server/.next/static/chunks/1yvbs41m8_4nc.js +7 -0
  839. package/server/.next/static/chunks/22alexnun_rdm.js +1 -0
  840. package/server/.next/static/chunks/{1o_q7_4ulcq9x.js → 27qwmt1w6-iri.js} +1 -1
  841. package/server/.next/static/chunks/29humkd2-_1oo.js +1 -0
  842. package/server/.next/static/chunks/29j96yfhxsf41.js +1 -0
  843. package/server/.next/static/chunks/29qnnsjsgsia6.js +1 -0
  844. package/server/.next/static/chunks/{2cjfogw85k3h-.js → 2ii8j9xuvv604.js} +1 -1
  845. package/server/.next/static/chunks/{30fczssqw6xys.js → 2m0ftj__ody0m.js} +1 -1
  846. package/server/.next/static/chunks/{201zah03wlibg.js → 2q88116332v43.js} +1 -1
  847. package/server/.next/static/chunks/2rbtw3em5hkt4.js +1 -0
  848. package/server/.next/static/chunks/2sdyov_lz1uj4.js +1 -0
  849. package/server/.next/static/chunks/{0li9-xjc40g51.js → 2toeyr9b_nk0e.js} +1 -1
  850. package/server/.next/static/chunks/{2fo6iuxb0ec7f.js → 2w7qxt7ux-m1-.js} +1 -1
  851. package/server/.next/static/chunks/{1gmof0n5nswkk.js → 2zc1osymeruya.js} +1 -1
  852. package/server/.next/static/chunks/33fbppn5fotpk.js +1 -0
  853. package/server/.next/static/chunks/{026asl66kuq3f.js → 340ecjh1jzqjd.js} +15 -15
  854. package/server/.next/static/chunks/3auw1gobgv94g.js +1 -0
  855. package/server/.next/static/chunks/3b1p-xm7iow1_.js +1 -0
  856. package/server/.next/static/chunks/{3tqh7fwtd_k_l.js → 3gl2k6v182lli.js} +2 -2
  857. package/server/.next/static/chunks/{3f5sxz8awpdog.js → 3gurl_36kr7sg.js} +1 -1
  858. package/server/.next/static/chunks/{1gb8jvw-g7fr7.js → 3h-i_hcaaf7vs.js} +1 -1
  859. package/server/.next/static/chunks/{2jlv5ekbb0wu2.js → 3kznplgmzot89.js} +1 -1
  860. package/server/.next/static/chunks/{0du6qnm4ee-qx.js → 3mb_v650fie_i.js} +1 -1
  861. package/server/.next/static/chunks/{3dokgd9nungcr.js → 3n_n6yeienmn-.js} +1 -1
  862. package/server/.next/static/chunks/3nqciag05fif0.js +1 -0
  863. package/server/.next/static/chunks/{1zi37go-xtasg.js → 3o45i7xbzm0w-.js} +1 -1
  864. package/server/.next/static/chunks/{1c4fx4kipvnqz.js → 3oe302ug_esoe.js} +1 -1
  865. package/server/.next/static/chunks/3r3mt51wqymgs.js +1 -0
  866. package/server/.next/static/chunks/3sg_npfod25zq.js +1 -0
  867. package/server/.next/static/chunks/{2rdmebof0d_c4.js → 3shbvizselyoq.js} +1 -1
  868. package/server/.next/static/chunks/3xxagngfonh62.js +1 -0
  869. package/server/.next/static/chunks/{2z1xy8l4s3usi.js → 3yv-enyk37whg.js} +1 -1
  870. package/server/node_modules/@next/env/package.json +1 -1
  871. package/server/node_modules/next/dist/build/analyze/snapshot.js +1 -1
  872. package/server/node_modules/next/dist/build/index.js +3 -3
  873. package/server/node_modules/next/dist/build/swc/index.js +1 -1
  874. package/server/node_modules/next/dist/build/turbopack-analyze/index.js +1 -1
  875. package/server/node_modules/next/dist/build/turbopack-build/impl.js +1 -1
  876. package/server/node_modules/next/dist/build/webpack-config.js +3 -3
  877. package/server/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +2 -2
  878. package/server/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +2 -2
  879. package/server/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +1 -1
  880. package/server/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  881. package/server/node_modules/next/dist/server/app-render/async-local-storage.js +1 -1
  882. package/server/node_modules/next/dist/server/config.js +1 -1
  883. package/server/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  884. package/server/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  885. package/server/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  886. package/server/node_modules/next/dist/server/lib/generate-agent-files.js +3 -3
  887. package/server/node_modules/next/dist/server/lib/router-server.js +1 -1
  888. package/server/node_modules/next/dist/server/lib/start-server.js +1 -1
  889. package/server/node_modules/next/dist/server/lib/trace/tracer.js +1 -1
  890. package/server/node_modules/next/dist/server/typescript/rules/config.js +2 -2
  891. package/server/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1 -1
  892. package/server/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  893. package/server/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  894. package/server/node_modules/next/dist/telemetry/events/version.js +2 -2
  895. package/server/node_modules/next/package.json +11 -11
  896. package/server/.next/server/chunks/[root-of-the-server]__03zcy67tjxii8._.js +0 -3
  897. package/server/.next/server/chunks/[root-of-the-server]__08j1jeemvo-th._.js +0 -3
  898. package/server/.next/server/chunks/[root-of-the-server]__08n3x1x850wqc._.js +0 -3
  899. package/server/.next/server/chunks/[root-of-the-server]__0b_bj-_t8b0b-._.js +0 -3
  900. package/server/.next/server/chunks/[root-of-the-server]__0grnl7ncqcjft._.js +0 -3
  901. package/server/.next/server/chunks/[root-of-the-server]__0hju4mctdmvz9._.js +0 -3
  902. package/server/.next/server/chunks/[root-of-the-server]__0i3n8l6ecdb4u._.js +0 -3
  903. package/server/.next/server/chunks/[root-of-the-server]__0m8w2-7618scn._.js +0 -3
  904. package/server/.next/server/chunks/[root-of-the-server]__0p_b0m2cstlrl._.js +0 -3
  905. package/server/.next/server/chunks/[root-of-the-server]__0uyagcs61c0t_._.js +0 -3
  906. package/server/.next/server/chunks/[root-of-the-server]__0v1kcolrxwmob._.js +0 -3
  907. package/server/.next/server/chunks/[root-of-the-server]__0vctt_0kj1gz4._.js +0 -3
  908. package/server/.next/server/chunks/[root-of-the-server]__0x0x6v75re5_e._.js +0 -3
  909. package/server/.next/server/chunks/[root-of-the-server]__0xyzhdj3z_1ro._.js +0 -3
  910. package/server/.next/server/chunks/[root-of-the-server]__0ymon9r-17xe_._.js +0 -3
  911. package/server/.next/server/chunks/[root-of-the-server]__0zxjft8y2r575._.js +0 -3
  912. package/server/.next/server/chunks/[root-of-the-server]__114vjjaqb2wyv._.js +0 -3
  913. package/server/.next/server/chunks/[root-of-the-server]__12uyws-qe6wxs._.js +0 -3
  914. package/server/.next/server/chunks/[root-of-the-server]__139pgc0wpc7kg._.js +0 -3
  915. package/server/.next/server/chunks/[root-of-the-server]__157yb_wl7w4ly._.js +0 -3
  916. package/server/.next/server/chunks/[root-of-the-server]__16dyxwm6pzumx._.js +0 -3
  917. package/server/.next/server/chunks/[root-of-the-server]__18qf1s7o0ia89._.js +0 -3
  918. package/server/.next/server/chunks/[root-of-the-server]__1951xb3jdzdop._.js +0 -3
  919. package/server/.next/server/chunks/[root-of-the-server]__1_5q9zgl6p5_3._.js +0 -3
  920. package/server/.next/server/chunks/[root-of-the-server]__1a9cd4d9ohf69._.js +0 -3
  921. package/server/.next/server/chunks/[root-of-the-server]__1bwgi7nn5-hc3._.js +0 -3
  922. package/server/.next/server/chunks/[root-of-the-server]__1hxhj2o7lea8i._.js +0 -3
  923. package/server/.next/server/chunks/[root-of-the-server]__1i4bqqne6vibf._.js +0 -3
  924. package/server/.next/server/chunks/[root-of-the-server]__1i83m8i-3yn72._.js +0 -3
  925. package/server/.next/server/chunks/[root-of-the-server]__1jrcnhad_b53j._.js +0 -3
  926. package/server/.next/server/chunks/[root-of-the-server]__1k8s02gwythps._.js +0 -3
  927. package/server/.next/server/chunks/[root-of-the-server]__1lf_lo1wqcbcg._.js +0 -3
  928. package/server/.next/server/chunks/[root-of-the-server]__1n32c8l_j8jt4._.js +0 -3
  929. package/server/.next/server/chunks/[root-of-the-server]__1niiijc82bgoj._.js +0 -3
  930. package/server/.next/server/chunks/[root-of-the-server]__1on_3p53yn6fs._.js +0 -3
  931. package/server/.next/server/chunks/[root-of-the-server]__1pgtip37umn35._.js +0 -3
  932. package/server/.next/server/chunks/[root-of-the-server]__1q90luznbe9-l._.js +0 -3
  933. package/server/.next/server/chunks/[root-of-the-server]__1r15vmrh2r06l._.js +0 -3
  934. package/server/.next/server/chunks/[root-of-the-server]__1rl43iilsc-je._.js +0 -3
  935. package/server/.next/server/chunks/[root-of-the-server]__1ta7-xvmtkjwr._.js +0 -3
  936. package/server/.next/server/chunks/[root-of-the-server]__1voiad6r-u931._.js +0 -3
  937. package/server/.next/server/chunks/[root-of-the-server]__1wlilsfzjqdw9._.js +0 -3
  938. package/server/.next/server/chunks/[root-of-the-server]__1woerg3tb4ls3._.js +0 -3
  939. package/server/.next/server/chunks/[root-of-the-server]__1wonw7ft4hset._.js +0 -3
  940. package/server/.next/server/chunks/[root-of-the-server]__1zaomh_4901_f._.js +0 -3
  941. package/server/.next/server/chunks/[root-of-the-server]__20lwsd6a4wnpe._.js +0 -3
  942. package/server/.next/server/chunks/_01vdbh009dk-w._.js +0 -5
  943. package/server/.next/server/chunks/_03bua_9n4apok._.js +0 -3
  944. package/server/.next/server/chunks/_0594j_bb0l80e._.js +0 -3
  945. package/server/.next/server/chunks/_076dwl7r_5vcl._.js +0 -34
  946. package/server/.next/server/chunks/_08tppw9ujlpke._.js +0 -34
  947. package/server/.next/server/chunks/_08y82qdosn7ga._.js +0 -3
  948. package/server/.next/server/chunks/_0m49djgc1t4wg._.js +0 -3
  949. package/server/.next/server/chunks/_0n5m3o7at0adm._.js +0 -34
  950. package/server/.next/server/chunks/_0qawxzcf--lyq._.js +0 -4
  951. package/server/.next/server/chunks/_0r4am1mgz4dg_._.js +0 -3
  952. package/server/.next/server/chunks/_0s30ac32b7prb._.js +0 -3
  953. package/server/.next/server/chunks/_0vfrh5u-u4mis._.js +0 -3
  954. package/server/.next/server/chunks/_0vgojnnkcf1vu._.js +0 -4
  955. package/server/.next/server/chunks/_0vz0de4gz70-e._.js +0 -4
  956. package/server/.next/server/chunks/_1-mixh9aeqh7f._.js +0 -3
  957. package/server/.next/server/chunks/_11p2ejgai2a78._.js +0 -3
  958. package/server/.next/server/chunks/_1bcsmpznxhk9h._.js +0 -3
  959. package/server/.next/server/chunks/_1he3nioua8ee5._.js +0 -3
  960. package/server/.next/server/chunks/_1l82x0z8bo4pt._.js +0 -3
  961. package/server/.next/server/chunks/_1lpcbqj4uzrsh._.js +0 -3
  962. package/server/.next/server/chunks/_1rw6_0nf-3sxs._.js +0 -34
  963. package/server/.next/server/chunks/src_0d5xqe2zx_935._.js +0 -3
  964. package/server/.next/server/chunks/src_0l-no1yc1_izn._.js +0 -3
  965. package/server/.next/server/chunks/src_0v4pdrc1yxyl8._.js +0 -3
  966. package/server/.next/server/chunks/src_0vva87j3z99p9._.js +0 -3
  967. package/server/.next/server/chunks/src_156ewlek-4a4z._.js +0 -3
  968. package/server/.next/server/chunks/src_1zo6so07lgcdj._.js +0 -3
  969. package/server/.next/server/chunks/src_db_rows_ts_15b286wn1kn1e._.js +0 -3
  970. package/server/.next/server/chunks/src_lib_0-ylqsh7whlj2._.js +0 -3
  971. package/server/.next/server/chunks/src_lib_0485hz-c7h7dr._.js +0 -15
  972. package/server/.next/server/chunks/src_lib_0f0p6-l5vvduu._.js +0 -3
  973. package/server/.next/server/chunks/src_lib_0qcyomi01xvf1._.js +0 -15
  974. package/server/.next/server/chunks/src_lib_15a3m-j_urkkp._.js +0 -3
  975. package/server/.next/server/chunks/src_lib_1d6edz_ucj01w._.js +0 -3
  976. package/server/.next/server/chunks/src_lib_1ryt-36ohhnm6._.js +0 -15
  977. package/server/.next/server/chunks/src_lib_1suc_xwzxtuej._.js +0 -3
  978. package/server/.next/server/chunks/src_lib_1uh73ofc-pe92._.js +0 -3
  979. package/server/.next/server/chunks/src_private_1yzfhupl3rlpx._.js +0 -6
  980. package/server/.next/server/chunks/ssr/[root-of-the-server]__004r8ubf3fp_i._.js +0 -3
  981. package/server/.next/server/chunks/ssr/[root-of-the-server]__06s-dfcfuperv._.js +0 -3
  982. package/server/.next/server/chunks/ssr/[root-of-the-server]__07or1m2vwon1m._.js +0 -3
  983. package/server/.next/server/chunks/ssr/[root-of-the-server]__0d9lwldljqtvx._.js +0 -3
  984. package/server/.next/server/chunks/ssr/[root-of-the-server]__0q36f5xjkzf4z._.js +0 -3
  985. package/server/.next/server/chunks/ssr/[root-of-the-server]__0uklr553mp86_._.js +0 -3
  986. package/server/.next/server/chunks/ssr/[root-of-the-server]__1cykncw1_xcno._.js +0 -3
  987. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ih2a_fbqu7ko._.js +0 -3
  988. package/server/.next/server/chunks/ssr/[root-of-the-server]__1j7_a902k_8es._.js +0 -3
  989. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ofzjllv-b0o0._.js +0 -3
  990. package/server/.next/server/chunks/ssr/_040ixxsgfs0vi._.js +0 -3
  991. package/server/.next/server/chunks/ssr/_04e0uk5aqrgc3._.js +0 -3
  992. package/server/.next/server/chunks/ssr/_0ux6eo_w1x155._.js +0 -3
  993. package/server/.next/server/chunks/ssr/_12o9qqjoik4q4._.js +0 -3
  994. package/server/.next/server/chunks/ssr/_1k2q3yt1h6cfs._.js +0 -3
  995. package/server/.next/server/chunks/ssr/_1zhtvg8t3jtxe._.js +0 -3
  996. package/server/.next/server/chunks/ssr/_200p6me5_kp2j._.js +0 -3
  997. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_03amng1-xhfd1.js +0 -3
  998. package/server/.next/server/chunks/ssr/src_00s82lfm2ga7-._.js +0 -3
  999. package/server/.next/server/chunks/ssr/src_13hsrg6rdvh-d._.js +0 -3
  1000. package/server/.next/server/chunks/ssr/src_1xgsz_do2xpr2._.js +0 -3
  1001. package/server/.next/server/chunks/ssr/src_app_(console)_connections_0gm1y-wtw5gyd._.js +0 -3
  1002. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1qigx20w8bk53._.js +0 -3
  1003. package/server/.next/server/chunks/ssr/src_components_shell_shell_tsx_1cpq-hbch_dvj._.js +0 -3
  1004. package/server/.next/server/chunks/ssr/src_lib_0y40wht-o-oc2._.js +0 -3
  1005. package/server/.next/server/chunks/ssr/src_lib_data_settings-db_ts_1to3jtggxlaz4._.js +0 -3
  1006. package/server/.next/static/chunks/03qto0oyf2r1n.js +0 -1
  1007. package/server/.next/static/chunks/0dmi-v53phuqn.js +0 -1
  1008. package/server/.next/static/chunks/0n_l4a3za5-q8.js +0 -1
  1009. package/server/.next/static/chunks/0t96fqp1vsmrp.js +0 -1
  1010. package/server/.next/static/chunks/0wlc502815llk.js +0 -1
  1011. package/server/.next/static/chunks/158-i6phe17yl.js +0 -1
  1012. package/server/.next/static/chunks/1fxuyn0k52n4v.css +0 -3
  1013. package/server/.next/static/chunks/1mlvn70-zqjvi.js +0 -1
  1014. package/server/.next/static/chunks/1sm8wxvlpowwg.js +0 -1
  1015. package/server/.next/static/chunks/1teh52nh5dujq.js +0 -1
  1016. package/server/.next/static/chunks/1v4hl1z0y1npd.js +0 -1
  1017. package/server/.next/static/chunks/1vh2psoqw3ddc.js +0 -1
  1018. package/server/.next/static/chunks/1xau8pf40_upi.js +0 -7
  1019. package/server/.next/static/chunks/1z2rcngn3-7i5.js +0 -1
  1020. package/server/.next/static/chunks/210qrsqvmgaet.js +0 -1
  1021. package/server/.next/static/chunks/29p15vj15jcsb.js +0 -1
  1022. package/server/.next/static/chunks/2kmerzslng988.js +0 -1
  1023. package/server/.next/static/chunks/2llric-1orr3y.js +0 -1
  1024. package/server/.next/static/chunks/2wb9a1xth0yhf.js +0 -1
  1025. package/server/.next/static/chunks/34gs6c2dsgtqy.js +0 -1
  1026. package/server/.next/static/chunks/3ag6t3ta58rih.js +0 -1
  1027. package/server/.next/static/chunks/3gkta99h3_5i2.js +0 -1
  1028. /package/server/.next/static/{xCga6YpZus71dK3aq8Q4H → 00CFAqN6pFBVkqJyXSd78}/_buildManifest.js +0 -0
  1029. /package/server/.next/static/{xCga6YpZus71dK3aq8Q4H → 00CFAqN6pFBVkqJyXSd78}/_clientMiddlewareManifest.js +0 -0
  1030. /package/server/.next/static/{xCga6YpZus71dK3aq8Q4H → 00CFAqN6pFBVkqJyXSd78}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[239186,a=>{"use strict";var b=a.i(907997),c=a.i(906974),d=a.i(395936);a.i(570396);var e=a.i(673727),f=a.i(701702),g=a.i(414280),h=a.i(803681),i=a.i(605826),j=a.i(154756),k=a.i(954296),l=a.i(686251),m=a.i(791444),n=a.i(109307),o=a.i(534908),p=a.i(863858),q=a.i(450278);let r="«redacted»",s=[[/-----BEGIN [A-Z0-9 ]*(?:PRIVATE KEY|KEY)-----[\s\S]*?(?:-----END [A-Z0-9 ]*(?:PRIVATE KEY|KEY)-----|$)/g,r],[/\b(?:postgres(?:ql)?|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?|mssql|sqlserver|clickhouse|libsql):\/\/[^\s'"`<>]+/gi,r],[/\b[a-z][a-z0-9+.-]*:\/\/[^\s'"`<>/:@]+:[^\s'"`<>@]+@[^\s'"`<>]+/gi,r],[/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{6,}/g,r],[/\b(?:gh[pousr]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,})/g,r],[/\b(?:sk|pk|rk)_(?:live|test)_[A-Za-z0-9]{10,}/g,r],[/\bsk-(?:proj-|ant-)?[A-Za-z0-9_-]{16,}/g,r],[/\bxox[abposr]-[A-Za-z0-9-]{10,}/g,r],[/\b(?:AKIA|ASIA)[0-9A-Z]{16}\b/g,r],[/\bAIza[0-9A-Za-z_-]{30,}/g,r],[/\b(?:glpat|npm|hf|gsk|whsec|shpat|shpss|dop_v1|sbp|sb_secret|sb_publishable|re|wb|wp|hb|wr|xai|pplx)[-_][A-Za-z0-9_-]{16,}/g,r],[/\bSG\.[A-Za-z0-9_-]{16,}\.[A-Za-z0-9_-]{16,}/g,r],[/\b(Bearer|Basic|Token)\s+[A-Za-z0-9._~+/=-]{12,}/g,(a,b)=>`${b} ${r}`],[/\b([A-Za-z0-9_$.-]*(?:key|token|secret|passw(?:or)?d|passwd|pwd|credential|auth|dsn|signature|salt)[A-Za-z0-9_$-]*["']?\]?\s*(?:=|:|=>)\s*)(["'`])([^"'`\n]{4,})\2/gi,(a,b,c)=>`${b}${c}${r}${c}`],[/^(\s*(?:export\s+)?[A-Z0-9_]*(?:KEY|TOKEN|SECRET|PASSWORD|PASSWD|PWD|DSN|URL|AUTH|CREDENTIALS?)[A-Z0-9_]*\s*=\s*)(?!["'`])(\S{4,})/gm,(a,b)=>`${b}${r}`],[/(["'`])((?=[A-Za-z0-9+/_=-]*[0-9])(?=[A-Za-z0-9+/_=-]*[A-Za-z])[A-Za-z0-9+/_=-]{32,})\1/g,(a,b)=>`${b}${r}${b}`],[/[A-Za-z0-9._%+-]+@[A-Za-z0-9-]+(?:\.[A-Za-z0-9-]+)*\.[A-Za-z]{2,}/g,r]];function t(a){let b=String(a??"");for(let[a,c]of s)b=b.replace(a,c);return b}var u=a.i(476435),v=a.i(751931);function w(a,b){let c=b.startsWith("/")?[]:a.split("/").filter(Boolean);for(let a of b.replace(/^\/+/,"").split("/"))if(a&&"."!==a)if(".."===a){if(!c.length)return null;c.pop()}else c.push(a);return c.join("/")}let x=a=>a.split("/").map(a=>encodeURIComponent(function(a){try{return decodeURIComponent(a)}catch{return a}}(a))).join("/"),y=/^[a-z][a-z0-9+.-]*:/i;function z(a,b){let c=a.trim();if(!c||c.startsWith("#")||c.startsWith("//"))return null;if(y.test(c))try{let a=new URL(c);return"https:"===a.protocol||"http:"===a.protocol?a.toString():null}catch{return null}let[d,e]=c.split("#",2),f=w(b.dir,d.split("?")[0]);return null===f?null:`https://github.com/${x(b.fullName)}/blob/${x(b.ref)}/${x(f)}${e?`#${encodeURIComponent(e)}`:""}`}let A={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" ",copy:"©",reg:"®",trade:"™",hellip:"…",mdash:"—",ndash:"–",middot:"·",rarr:"→",larr:"←"};function B(a){return a.replace(/&(#x[0-9a-f]{1,6}|#[0-9]{1,7}|[a-z]{2,8});/gi,(a,b)=>{if("#"===b[0]){let a="x"===b[1]||"X"===b[1]?parseInt(b.slice(2),16):parseInt(b.slice(1),10);return a>0&&a<1114112&&!(a>=55296&&a<=57343)?String.fromCodePoint(a):""}return A[b.toLowerCase()]??a})}let C=(a,b)=>{let c=RegExp(`\\s${b}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s>]+))`,"i").exec(a);return c?c[1]??c[2]??c[3]??"":null},D=/^ {0,3}(`{3,}|~{3,})\s*([^`\s]*)/,E=/^ {0,3}(#{1,6})(?:\s+(.*?))?\s*#*\s*$/,F=/^ {0,3}([-*_])(?:\s*\1){2,}\s*$/,G=/^ {0,3}>\s?/,H=/^( {0,3})([-*+])(\s+|$)(.*)$/,I=/^( {0,3})(\d{1,9})[.)](\s+|$)(.*)$/,J=/^\s*\|?\s*:?-+:?\s*(\|\s*:?-+:?\s*)*\|?\s*$/,K=/^ {0,3}\[([^\]]{1,200})\]:\s*<?([^\s>]+)>?(?:\s+.*)?$/,L=a=>a.trim().toLowerCase().replace(/\s+/g," "),M=a=>D.test(a)||E.test(a)||F.test(a)||G.test(a)||H.test(a)||/^ {0,3}1[.)]\s/.test(a);function N(a){let b=a.trim();b.startsWith("|")&&(b=b.slice(1)),b.endsWith("|")&&!b.endsWith("\\|")&&(b=b.slice(0,-1));let c=[],d="",e=!1;for(let a=0;a<b.length;a++){let f=b[a];if("\\"===f&&"|"===b[a+1]){d+="|",a++;continue}if("`"===f&&(e=!e),"|"===f&&!e){c.push(d.trim()),d="";continue}d+=f}return c.push(d.trim()),c}let O=a=>a.length-a.replace(/^\s+/,"").length;function P(a,b,c,d){let e=0;for(let f=b;f<a.length;f++){let b=a[f];if("\\"===b){f++;continue}if("`"===b){let b=/^`+/.exec(a.slice(f))[0],c=a.indexOf(b,f+b.length);if(c>0){f=c+b.length-1;continue}}if(b===c)e++;else if(b===d&&0==--e)return f}return -1}let Q=/[!-/:-@[-`{-~]/,R=/^https?:\/\/[^\s<>"'`]+/i;var S=a.i(793379),T=a.i(245710),U=a.i(139138),V=a.i(469762),W=a.i(27522),X=a.i(556987),Y=a.i(718064),Z=a.i(247482),$=a.i(377269);let _=(0,$.f)("outline","file","File",[["path",{d:"M14 3v4a1 1 0 0 0 1 1h4",key:"svg-0"}],["path",{d:"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2",key:"svg-1"}]]),aa=(0,$.f)("outline","file-off","FileOff",[["path",{d:"M3 3l18 18",key:"svg-0"}],["path",{d:"M7 3h7l5 5v7m0 4a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-14",key:"svg-1"}]]),ab=(0,$.f)("outline","folder","Folder",[["path",{d:"M5 4h4l3 3h7a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-11a2 2 0 0 1 2 -2",key:"svg-0"}]]);var ac=a.i(126357);let ad="flex min-w-0 items-center gap-1.5 rounded px-1.5 py-[3px] text-[13px]";function ae({node:a,href:c,open:e,current:f}){if("dir"===a.kind)return a.hidden?(0,b.jsxs)("li",{className:(0,U.f)(ad,"text-ink-faint"),title:q.M[a.hidden],children:[(0,b.jsx)(ab,{size:15,"aria-hidden":!0,className:"shrink-0"}),(0,b.jsxs)("span",{className:"truncate",children:[a.name,"/"]}),(0,b.jsx)("span",{className:"ml-auto shrink-0 text-[11.5px]",children:q.M[a.hidden]})]}):(0,b.jsx)("li",{children:(0,b.jsxs)("details",{open:e.has(a.path),children:[(0,b.jsxs)("summary",{className:(0,U.f)(ad,"cursor-pointer select-none hover:bg-hover"),children:[(0,b.jsx)(ab,{size:15,"aria-hidden":!0,className:"shrink-0 text-ink-soft"}),(0,b.jsx)("span",{className:"truncate",children:a.name})]}),(0,b.jsx)("ul",{className:"ml-3 border-l border-line pl-1.5",children:a.children.map(a=>(0,b.jsx)(ae,{node:a,href:c,open:e,current:f},a.path))})]})});if(a.hidden){let c="secret"===a.hidden?ac.f:aa;return(0,b.jsxs)("li",{className:(0,U.f)(ad,"text-ink-faint"),title:q.M[a.hidden],children:[(0,b.jsx)(c,{size:15,"aria-hidden":!0,className:"shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.name}),(0,b.jsx)("span",{className:"ml-auto shrink-0 text-[11.5px]",children:q.M[a.hidden]})]})}let g=a.path===f;return(0,b.jsx)("li",{children:(0,b.jsxs)(d.default,{href:c(a.path),"aria-current":g?"page":void 0,className:(0,U.f)(ad,"text-ink hover:bg-hover",g&&"bg-brand-soft text-brand"),children:[(0,b.jsx)(_,{size:15,"aria-hidden":!0,className:"shrink-0 text-ink-faint"}),(0,b.jsx)("span",{className:"truncate",children:a.name})]})})}function af({root:a,href:c,open:d,current:e}){let f=new Set(d);return(0,b.jsx)("ul",{className:"font-mono",children:a.children.map(a=>(0,b.jsx)(ae,{node:a,href:c,open:f,current:e},a.path))})}let ag={target:"_blank",rel:"noopener noreferrer nofollow"};function ah(a){return a.map((a,c)=>{switch(a.t){case"text":return a.v;case"code":return(0,b.jsx)("code",{className:"rounded bg-sunken px-1 py-px font-mono text-[12.5px]",children:a.v},c);case"em":return(0,b.jsx)("em",{children:ah(a.c)},c);case"strong":return(0,b.jsx)("strong",{className:"font-semibold",children:ah(a.c)},c);case"del":return(0,b.jsx)("del",{children:ah(a.c)},c);case"a":return(0,b.jsx)(g.f,{href:a.href,...ag,children:ah(a.c)},c);case"img":return(0,b.jsx)("img",{src:a.src,alt:a.alt,loading:"lazy",referrerPolicy:"no-referrer",className:"inline max-w-full align-middle"},c);case"br":return(0,b.jsx)("br",{},c)}})}let ai=["text-[22px] border-b border-line pb-1.5","text-[18px] border-b border-line pb-1","text-[16px]","text-[15px]","text-[14px]","text-[13px] text-ink-soft"];function aj({tree:a}){return(0,b.jsx)("div",{className:"min-w-0 break-words text-[14px] [&_a]:text-brand [&_a:hover]:underline",children:function a(c){return c.map((c,d)=>{switch(c.t){case"h":{let a=`h${c.level}`;return(0,b.jsx)(a,{className:(0,U.f)("mb-2 mt-5 font-semibold first:mt-0",ai[c.level-1]),children:ah(c.c)},d)}case"p":return(0,b.jsx)("p",{className:"my-2.5 leading-relaxed",children:ah(c.c)},d);case"code":return(0,b.jsx)("pre",{className:"my-3 overflow-x-auto rounded-md border border-line bg-sunken p-3 font-mono text-[12.5px] leading-snug",children:(0,b.jsx)("code",{children:c.text})},d);case"hr":return(0,b.jsx)("hr",{className:"my-4 border-line"},d);case"quote":return(0,b.jsx)("blockquote",{className:"my-3 border-l-[3px] border-line-strong pl-3 text-ink-soft",children:a(c.c)},d);case"list":{let e=c.items.map((c,d)=>(0,b.jsx)("li",{className:"my-1 [&>p]:my-0",children:a(c)},d));return c.ordered?(0,b.jsx)("ol",{start:c.start,className:"my-2.5 list-decimal pl-6",children:e},d):(0,b.jsx)("ul",{className:"my-2.5 list-disc pl-6",children:e},d)}case"table":return(0,b.jsx)("div",{className:"my-3 overflow-x-auto",children:(0,b.jsxs)("table",{className:"border-collapse text-[13px]",children:[(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:c.head.map((a,d)=>(0,b.jsx)("th",{style:{textAlign:c.align[d]??void 0},className:"border border-line bg-surface-2 px-2.5 py-1.5 font-medium",children:ah(a)},d))})}),(0,b.jsx)("tbody",{children:c.rows.map((a,d)=>(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("td",{style:{textAlign:c.align[d]??void 0},className:"border border-line px-2.5 py-1.5 align-top",children:ah(a)},d))},d))})]})},d)}})}(a)})}let ak=[["readme","README"],["files","Files"],["commits","Commits"],["branches","Branches"],["actions","Actions"],["deps","Dependencies"]],al="font-mono text-[12.5px]",am=(0,b.jsx)(c.f,{size:13,"aria-hidden":!0,className:"inline align-[-2px]"}),an=a=>Array.isArray(a)?a[0]:a;function ao({f:a}){return(0,S.i)(a)?(0,b.jsx)(h.M,{tone:"warning",title:"Rate limited, try later.",children:"GitHub's rate limit for the token is used up. Cached pages still show; the rest come back when it resets."}):(0,b.jsx)(h.M,{tone:"danger",title:"GitHub couldn't be read.",children:a.error})}async function ap({params:a,searchParams:c}){let[{id:i},m]=await Promise.all([a,c]),q=await (0,n.I)(),r=await (0,u.O)(i);r||(0,e.notFound)();let s=new Date,t=an(m.tab),v=ak.some(([a])=>a===t)?t:"readme",{repo:w,apps:x}=r,y=w.htmlUrl?.startsWith("https://github.com/")?w.htmlUrl:`https://github.com/${w.fullName}`,z=await (0,u.U)(r),A=w.actions?(0,W.N)(w.actions,w.defaultBranch):null,B=o.extensions.RepoPreviewSlot;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.L,{crumbs:[{label:"GitHub"},{label:"Repositories",href:"/repos"},{label:w.name}],title:(0,b.jsx)("span",{className:"font-mono text-[20px]",children:(0,b.jsx)(f.Masked,{kind:"repo",real:w.fullName})}),actions:(0,p.f)()&&(0,b.jsxs)("a",{href:y,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 rounded-md border border-line-strong bg-surface px-3 py-1.5 text-[13px] text-ink hover:bg-hover",children:["Open on GitHub ",am]})}),(0,b.jsxs)("div",{className:"mt-4 flex flex-col gap-4",children:[w.goneAt&&(0,b.jsx)(h.M,{tone:"warning",title:"This repository is no longer shared with the GitHub token.",children:"The details below are from the last sync."}),!z.ok&&!w.goneAt&&(0,b.jsx)(ao,{f:z}),(0,b.jsx)(h.N,{title:"Repository",meta:(0,b.jsx)(k.Src,{kind:"api",children:"GitHub"}),children:(0,b.jsxs)("dl",{className:"grid grid-cols-[150px_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:"Visibility"}),(0,b.jsx)("dd",{children:(0,b.jsx)(Z.VisibilityTag,{isPrivate:w.private,archived:w.archived})}),z.ok&&z.data.description&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{children:"Description"}),(0,b.jsx)("dd",{children:(0,X.G)(z.data.description)})]}),(0,b.jsx)("dt",{children:"Linked apps"}),(0,b.jsx)("dd",{children:x.length?(0,b.jsx)("span",{className:"flex flex-wrap gap-x-4 gap-y-1",children:x.map(a=>(0,b.jsx)(j.F,{kind:"app",name:a.name,href:`/apps/${a.id}`},a.id))}):(0,b.jsx)("span",{className:"text-ink-faint",children:"None. An owner links a repository on the app's page."})}),(0,b.jsx)("dt",{children:"Default branch"}),(0,b.jsx)("dd",{className:al,children:w.defaultBranch??"—"}),(0,b.jsx)("dt",{children:"Last push"}),(0,b.jsx)("dd",{children:w.pushedAt?(0,T.$)(w.pushedAt,s):"—"}),z.ok&&z.data.language&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{children:"Language"}),(0,b.jsx)("dd",{children:z.data.language})]}),(0,b.jsx)("dt",{children:"Open"}),(0,b.jsx)("dd",{children:z.ok?(0,b.jsxs)("span",{className:"flex flex-wrap gap-x-4",children:[(0,b.jsxs)(g.f,{href:`${y}/pulls`,target:"_blank",rel:"noopener noreferrer",children:[(0,b.jsx)("span",{className:al,children:z.data.openPulls})," pull request",1===z.data.openPulls?"":"s"," ",(0,p.f)()&&am]}),(0,b.jsxs)(g.f,{href:`${y}/issues`,target:"_blank",rel:"noopener noreferrer",children:[(0,b.jsx)("span",{className:al,children:Math.max(0,z.data.openIssuesAndPulls-z.data.openPulls)})," issue",z.data.openIssuesAndPulls-z.data.openPulls==1?"":"s"," ",(0,p.f)()&&am]})]}):(0,b.jsx)("span",{className:"text-ink-faint",children:"—"})}),A&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{children:"Latest Actions"}),(0,b.jsxs)("dd",{children:[(0,b.jsx)(l.F,{state:A.state,children:A.label}),w.actionsCheckedAt&&(0,b.jsxs)("span",{className:"text-ink-faint",children:[" · read ",(0,T.$)(w.actionsCheckedAt,s)]})]})]})]})}),B&&"owner"===q.role&&!w.goneAt&&(0,b.jsx)(B,{repoId:w.id}),(0,b.jsx)("nav",{"aria-label":"Repository sections",className:"flex gap-1 overflow-x-auto shadow-[inset_0_-1px_0_var(--oc-line)]",children:ak.map(([a,c])=>(0,b.jsx)(d.default,{href:`/repos/${w.id}?tab=${a}`,"aria-current":v===a?"page":void 0,scroll:!1,className:(0,U.f)("relative whitespace-nowrap px-3 py-2 text-sm text-ink-soft hover:text-ink",v===a&&"font-medium text-ink after:absolute after:inset-x-0 after:bottom-0 after:h-0.5 after:bg-brand"),children:c},a))}),"readme"===v&&(0,b.jsx)(aq,{head:r}),"files"===v&&(0,b.jsx)(ar,{head:r,file:an(m.file)??null}),"commits"===v&&(0,b.jsx)(at,{head:r,now:s}),"branches"===v&&(0,b.jsx)(au,{head:r,gh:y}),"actions"===v&&(0,b.jsx)(av,{head:r,now:s}),"deps"===v&&(0,b.jsx)(Y.f,{app:{id:w.id,name:w.name},view:await (0,u.Z)(w),canAct:!1,owner:!1,now:s})]})]})}async function aq({head:a}){let c=await (0,u.P)(a);if(!c.ok)return(0,b.jsx)(ao,{f:c});if(!c.data)return(0,b.jsx)(h.N,{children:(0,b.jsxs)(h.k,{title:"No README",children:["This repository has no README on ",a.ref,"."]})});let{path:d,text:e,size:f}=c.data;if(null===e)return(0,b.jsx)(h.N,{title:d,children:(0,b.jsxs)("p",{className:"text-ink-soft",children:["The README is ",(0,v.e)(f),"; over ",(0,v.e)(v.B)," it isn't shown here."]})});let g=d.includes("/")?d.slice(0,d.lastIndexOf("/")):"",i=function(a,b){let c=a.slice(0,204800).replace(/\u0000/g,"").replace(/\r\n?/g,"\n").replace(/\t/g," ").split("\n"),d=new Map,e=[],f=[],g=null,h=()=>{if(!e.length)return;let a=[];for(let b of e.join("\n").replace(/(`+)([^\n]*?[^`\n])\1(?!`)/g,b=>`\0${a.push(b)-1}\0`).replace(/<!--[\s\S]*?(?:-->|$)/g,"").replace(/<(script|style|iframe|object|embed|noscript|template|textarea|svg|math|form|select)\b[\s\S]*?(?:<\/\1\s*>|$)/gi,"").replace(/<img\b[^>]*>/gi,a=>{let b=C(a,"src");return b?`![${(C(a,"alt")??"").replace(/[[\]()]/g,"")}](<${b.replace(/[<>\s]/g,"")}>)`:""}).replace(/<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,(a,b,c)=>{let d=C(` ${b}`,"href");return d?`[${c}](<${d.replace(/[<>\s]/g,"")}>)`:c}).replace(/<h([1-6])\b[^>]*>([\s\S]*?)<\/h\1\s*>/gi,(a,b,c)=>`
1
+ module.exports=[239186,a=>{"use strict";var b=a.i(907997),c=a.i(906974),d=a.i(395936);a.i(570396);var e=a.i(673727),f=a.i(701702),g=a.i(414280),h=a.i(803681),i=a.i(605826),j=a.i(154756),k=a.i(954296),l=a.i(686251),m=a.i(791444),n=a.i(109307),o=a.i(534908),p=a.i(863858),q=a.i(450278);let r="«redacted»",s=[[/-----BEGIN [A-Z0-9 ]*(?:PRIVATE KEY|KEY)-----[\s\S]*?(?:-----END [A-Z0-9 ]*(?:PRIVATE KEY|KEY)-----|$)/g,r],[/\b(?:postgres(?:ql)?|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?|mssql|sqlserver|clickhouse|libsql):\/\/[^\s'"`<>]+/gi,r],[/\b[a-z][a-z0-9+.-]*:\/\/[^\s'"`<>/:@]+:[^\s'"`<>@]+@[^\s'"`<>]+/gi,r],[/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{6,}/g,r],[/\b(?:gh[pousr]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,})/g,r],[/\b(?:sk|pk|rk)_(?:live|test)_[A-Za-z0-9]{10,}/g,r],[/\bsk-(?:proj-|ant-)?[A-Za-z0-9_-]{16,}/g,r],[/\bxox[abposr]-[A-Za-z0-9-]{10,}/g,r],[/\b(?:AKIA|ASIA)[0-9A-Z]{16}\b/g,r],[/\bAIza[0-9A-Za-z_-]{30,}/g,r],[/\b(?:glpat|npm|hf|gsk|whsec|shpat|shpss|dop_v1|sbp|sb_secret|sb_publishable|re|wb|wp|hb|wr|xai|pplx)[-_][A-Za-z0-9_-]{16,}/g,r],[/\bSG\.[A-Za-z0-9_-]{16,}\.[A-Za-z0-9_-]{16,}/g,r],[/\b(Bearer|Basic|Token)\s+[A-Za-z0-9._~+/=-]{12,}/g,(a,b)=>`${b} ${r}`],[/\b([A-Za-z0-9_$.-]*(?:key|token|secret|passw(?:or)?d|passwd|pwd|credential|auth|dsn|signature|salt)[A-Za-z0-9_$-]*["']?\]?\s*(?:=|:|=>)\s*)(["'`])([^"'`\n]{4,})\2/gi,(a,b,c)=>`${b}${c}${r}${c}`],[/^(\s*(?:export\s+)?[A-Z0-9_]*(?:KEY|TOKEN|SECRET|PASSWORD|PASSWD|PWD|DSN|URL|AUTH|CREDENTIALS?)[A-Z0-9_]*\s*=\s*)(?!["'`])(\S{4,})/gm,(a,b)=>`${b}${r}`],[/(["'`])((?=[A-Za-z0-9+/_=-]*[0-9])(?=[A-Za-z0-9+/_=-]*[A-Za-z])[A-Za-z0-9+/_=-]{32,})\1/g,(a,b)=>`${b}${r}${b}`],[/[A-Za-z0-9._%+-]+@[A-Za-z0-9-]+(?:\.[A-Za-z0-9-]+)*\.[A-Za-z]{2,}/g,r]];function t(a){let b=String(a??"");for(let[a,c]of s)b=b.replace(a,c);return b}var u=a.i(476435),v=a.i(751931);function w(a,b){let c=b.startsWith("/")?[]:a.split("/").filter(Boolean);for(let a of b.replace(/^\/+/,"").split("/"))if(a&&"."!==a)if(".."===a){if(!c.length)return null;c.pop()}else c.push(a);return c.join("/")}let x=a=>a.split("/").map(a=>encodeURIComponent(function(a){try{return decodeURIComponent(a)}catch{return a}}(a))).join("/"),y=/^[a-z][a-z0-9+.-]*:/i;function z(a,b){let c=a.trim();if(!c||c.startsWith("#")||c.startsWith("//"))return null;if(y.test(c))try{let a=new URL(c);return"https:"===a.protocol||"http:"===a.protocol?a.toString():null}catch{return null}let[d,e]=c.split("#",2),f=w(b.dir,d.split("?")[0]);return null===f?null:`https://github.com/${x(b.fullName)}/blob/${x(b.ref)}/${x(f)}${e?`#${encodeURIComponent(e)}`:""}`}let A={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" ",copy:"©",reg:"®",trade:"™",hellip:"…",mdash:"—",ndash:"–",middot:"·",rarr:"→",larr:"←"};function B(a){return a.replace(/&(#x[0-9a-f]{1,6}|#[0-9]{1,7}|[a-z]{2,8});/gi,(a,b)=>{if("#"===b[0]){let a="x"===b[1]||"X"===b[1]?parseInt(b.slice(2),16):parseInt(b.slice(1),10);return a>0&&a<1114112&&!(a>=55296&&a<=57343)?String.fromCodePoint(a):""}return A[b.toLowerCase()]??a})}let C=(a,b)=>{let c=RegExp(`\\s${b}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s>]+))`,"i").exec(a);return c?c[1]??c[2]??c[3]??"":null},D=/^ {0,3}(`{3,}|~{3,})\s*([^`\s]*)/,E=/^ {0,3}(#{1,6})(?:\s+(.*?))?\s*#*\s*$/,F=/^ {0,3}([-*_])(?:\s*\1){2,}\s*$/,G=/^ {0,3}>\s?/,H=/^( {0,3})([-*+])(\s+|$)(.*)$/,I=/^( {0,3})(\d{1,9})[.)](\s+|$)(.*)$/,J=/^\s*\|?\s*:?-+:?\s*(\|\s*:?-+:?\s*)*\|?\s*$/,K=/^ {0,3}\[([^\]]{1,200})\]:\s*<?([^\s>]+)>?(?:\s+.*)?$/,L=a=>a.trim().toLowerCase().replace(/\s+/g," "),M=a=>D.test(a)||E.test(a)||F.test(a)||G.test(a)||H.test(a)||/^ {0,3}1[.)]\s/.test(a);function N(a){let b=a.trim();b.startsWith("|")&&(b=b.slice(1)),b.endsWith("|")&&!b.endsWith("\\|")&&(b=b.slice(0,-1));let c=[],d="",e=!1;for(let a=0;a<b.length;a++){let f=b[a];if("\\"===f&&"|"===b[a+1]){d+="|",a++;continue}if("`"===f&&(e=!e),"|"===f&&!e){c.push(d.trim()),d="";continue}d+=f}return c.push(d.trim()),c}let O=a=>a.length-a.replace(/^\s+/,"").length;function P(a,b,c,d){let e=0;for(let f=b;f<a.length;f++){let b=a[f];if("\\"===b){f++;continue}if("`"===b){let b=/^`+/.exec(a.slice(f))[0],c=a.indexOf(b,f+b.length);if(c>0){f=c+b.length-1;continue}}if(b===c)e++;else if(b===d&&0==--e)return f}return -1}let Q=/[!-/:-@[-`{-~]/,R=/^https?:\/\/[^\s<>"'`]+/i;var S=a.i(793379),T=a.i(245710),U=a.i(139138),V=a.i(469762),W=a.i(27522),X=a.i(556987),Y=a.i(718064),Z=a.i(247482),$=a.i(377269);let _=(0,$.f)("outline","file","File",[["path",{d:"M14 3v4a1 1 0 0 0 1 1h4",key:"svg-0"}],["path",{d:"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2",key:"svg-1"}]]),aa=(0,$.f)("outline","file-off","FileOff",[["path",{d:"M3 3l18 18",key:"svg-0"}],["path",{d:"M7 3h7l5 5v7m0 4a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-14",key:"svg-1"}]]),ab=(0,$.f)("outline","folder","Folder",[["path",{d:"M5 4h4l3 3h7a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-11a2 2 0 0 1 2 -2",key:"svg-0"}]]);var ac=a.i(126357);let ad="flex min-w-0 items-center gap-1.5 rounded px-1.5 py-[3px] text-[13px]";function ae({node:a,href:c,open:e,current:f}){if("dir"===a.kind)return a.hidden?(0,b.jsxs)("li",{className:(0,U.f)(ad,"text-ink-faint"),title:q.M[a.hidden],children:[(0,b.jsx)(ab,{size:15,"aria-hidden":!0,className:"shrink-0"}),(0,b.jsxs)("span",{className:"truncate",children:[a.name,"/"]}),(0,b.jsx)("span",{className:"ml-auto shrink-0 text-[11.5px]",children:q.M[a.hidden]})]}):(0,b.jsx)("li",{children:(0,b.jsxs)("details",{open:e.has(a.path),children:[(0,b.jsxs)("summary",{className:(0,U.f)(ad,"cursor-pointer select-none hover:bg-hover"),children:[(0,b.jsx)(ab,{size:15,"aria-hidden":!0,className:"shrink-0 text-ink-soft"}),(0,b.jsx)("span",{className:"truncate",children:a.name})]}),(0,b.jsx)("ul",{className:"ml-3 border-l border-line pl-1.5",children:a.children.map(a=>(0,b.jsx)(ae,{node:a,href:c,open:e,current:f},a.path))})]})});if(a.hidden){let c="secret"===a.hidden?ac.f:aa;return(0,b.jsxs)("li",{className:(0,U.f)(ad,"text-ink-faint"),title:q.M[a.hidden],children:[(0,b.jsx)(c,{size:15,"aria-hidden":!0,className:"shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.name}),(0,b.jsx)("span",{className:"ml-auto shrink-0 text-[11.5px]",children:q.M[a.hidden]})]})}let g=a.path===f;return(0,b.jsx)("li",{children:(0,b.jsxs)(d.default,{href:c(a.path),"aria-current":g?"page":void 0,className:(0,U.f)(ad,"text-ink hover:bg-hover",g&&"bg-brand-soft text-brand"),children:[(0,b.jsx)(_,{size:15,"aria-hidden":!0,className:"shrink-0 text-ink-faint"}),(0,b.jsx)("span",{className:"truncate",children:a.name})]})})}function af({root:a,href:c,open:d,current:e}){let f=new Set(d);return(0,b.jsx)("ul",{className:"font-mono",children:a.children.map(a=>(0,b.jsx)(ae,{node:a,href:c,open:f,current:e},a.path))})}let ag={target:"_blank",rel:"noopener noreferrer nofollow"};function ah(a){return a.map((a,c)=>{switch(a.t){case"text":return a.v;case"code":return(0,b.jsx)("code",{className:"rounded bg-sunken px-1 py-px font-mono text-[12.5px]",children:a.v},c);case"em":return(0,b.jsx)("em",{children:ah(a.c)},c);case"strong":return(0,b.jsx)("strong",{className:"font-semibold",children:ah(a.c)},c);case"del":return(0,b.jsx)("del",{children:ah(a.c)},c);case"a":return(0,b.jsx)(g.f,{href:a.href,...ag,children:ah(a.c)},c);case"img":return(0,b.jsx)("img",{src:a.src,alt:a.alt,loading:"lazy",referrerPolicy:"no-referrer",className:"inline max-w-full align-middle"},c);case"br":return(0,b.jsx)("br",{},c)}})}let ai=["text-[22px] border-b border-line pb-1.5","text-[18px] border-b border-line pb-1","text-[16px]","text-[15px]","text-[14px]","text-[13px] text-ink-soft"];function aj({tree:a}){return(0,b.jsx)("div",{className:"min-w-0 break-words text-[14px] [&_a]:text-brand [&_a:hover]:underline",children:function a(c){return c.map((c,d)=>{switch(c.t){case"h":{let a=`h${c.level}`;return(0,b.jsx)(a,{className:(0,U.f)("mb-2 mt-5 font-semibold first:mt-0",ai[c.level-1]),children:ah(c.c)},d)}case"p":return(0,b.jsx)("p",{className:"my-2.5 leading-relaxed",children:ah(c.c)},d);case"code":return(0,b.jsx)("pre",{className:"my-3 overflow-x-auto rounded-md border border-line bg-sunken p-3 font-mono text-[12.5px] leading-snug",children:(0,b.jsx)("code",{children:c.text})},d);case"hr":return(0,b.jsx)("hr",{className:"my-4 border-line"},d);case"quote":return(0,b.jsx)("blockquote",{className:"my-3 border-l-[3px] border-line-strong pl-3 text-ink-soft",children:a(c.c)},d);case"list":{let e=c.items.map((c,d)=>(0,b.jsx)("li",{className:"my-1 [&>p]:my-0",children:a(c)},d));return c.ordered?(0,b.jsx)("ol",{start:c.start,className:"my-2.5 list-decimal pl-6",children:e},d):(0,b.jsx)("ul",{className:"my-2.5 list-disc pl-6",children:e},d)}case"table":return(0,b.jsx)("div",{className:"my-3 overflow-x-auto",children:(0,b.jsxs)("table",{className:"border-collapse text-[13px]",children:[(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{children:c.head.map((a,d)=>(0,b.jsx)("th",{style:{textAlign:c.align[d]??void 0},className:"border border-line bg-surface-2 px-2.5 py-1.5 font-medium",children:ah(a)},d))})}),(0,b.jsx)("tbody",{children:c.rows.map((a,d)=>(0,b.jsx)("tr",{children:a.map((a,d)=>(0,b.jsx)("td",{style:{textAlign:c.align[d]??void 0},className:"border border-line px-2.5 py-1.5 align-top",children:ah(a)},d))},d))})]})},d)}})}(a)})}let ak=[["readme","README"],["files","Files"],["commits","Commits"],["branches","Branches"],["actions","Actions"],["deps","Dependencies"]],al="font-mono text-[12.5px]",am=(0,b.jsx)(c.f,{size:13,"aria-hidden":!0,className:"inline align-[-2px]"}),an=a=>Array.isArray(a)?a[0]:a;function ao({f:a}){return(0,S.i)(a)?(0,b.jsx)(h.M,{tone:"warning",title:"Rate limited, try later.",children:"GitHub's rate limit for the token is used up. Cached pages still show; the rest come back when it resets."}):(0,b.jsx)(h.M,{tone:"danger",title:"GitHub couldn't be read.",children:a.error})}async function ap({params:a,searchParams:c}){let[{id:i},m]=await Promise.all([a,c]),q=await (0,n.I)(),r=await (0,u.O)(i);r||(0,e.notFound)();let s=new Date,t=an(m.tab),v=ak.some(([a])=>a===t)?t:"readme",{repo:w,apps:x}=r,y=w.htmlUrl?.startsWith("https://github.com/")?w.htmlUrl:`https://github.com/${w.fullName}`,z=await (0,u.U)(r),A=w.actions?(0,W.N)(w.actions,w.defaultBranch):null,B=o.extensions.RepoPreviewSlot;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.L,{crumbs:[{label:"DevOps"},{label:"Repositories",href:"/repos"},{label:w.name}],title:(0,b.jsx)("span",{className:"font-mono text-[20px]",children:(0,b.jsx)(f.Masked,{kind:"repo",real:w.fullName})}),actions:(0,p.f)()&&(0,b.jsxs)("a",{href:y,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 rounded-md border border-line-strong bg-surface px-3 py-1.5 text-[13px] text-ink hover:bg-hover",children:["Open on GitHub ",am]})}),(0,b.jsxs)("div",{className:"mt-4 flex flex-col gap-4",children:[w.goneAt&&(0,b.jsx)(h.M,{tone:"warning",title:"This repository is no longer shared with the GitHub token.",children:"The details below are from the last sync."}),!z.ok&&!w.goneAt&&(0,b.jsx)(ao,{f:z}),(0,b.jsx)(h.N,{title:"Repository",meta:(0,b.jsx)(k.Src,{kind:"api",children:"GitHub"}),children:(0,b.jsxs)("dl",{className:"grid grid-cols-[150px_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:"Visibility"}),(0,b.jsx)("dd",{children:(0,b.jsx)(Z.VisibilityTag,{isPrivate:w.private,archived:w.archived})}),z.ok&&z.data.description&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{children:"Description"}),(0,b.jsx)("dd",{children:(0,X.G)(z.data.description)})]}),(0,b.jsx)("dt",{children:"Linked apps"}),(0,b.jsx)("dd",{children:x.length?(0,b.jsx)("span",{className:"flex flex-wrap gap-x-4 gap-y-1",children:x.map(a=>(0,b.jsx)(j.F,{kind:"app",name:a.name,href:`/apps/${a.id}`},a.id))}):(0,b.jsx)("span",{className:"text-ink-faint",children:"None. An owner links a repository on the app's page."})}),(0,b.jsx)("dt",{children:"Default branch"}),(0,b.jsx)("dd",{className:al,children:w.defaultBranch??"—"}),(0,b.jsx)("dt",{children:"Last push"}),(0,b.jsx)("dd",{children:w.pushedAt?(0,T.$)(w.pushedAt,s):"—"}),z.ok&&z.data.language&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{children:"Language"}),(0,b.jsx)("dd",{children:z.data.language})]}),(0,b.jsx)("dt",{children:"Open"}),(0,b.jsx)("dd",{children:z.ok?(0,b.jsxs)("span",{className:"flex flex-wrap gap-x-4",children:[(0,b.jsxs)(g.f,{href:`${y}/pulls`,target:"_blank",rel:"noopener noreferrer",children:[(0,b.jsx)("span",{className:al,children:z.data.openPulls})," pull request",1===z.data.openPulls?"":"s"," ",(0,p.f)()&&am]}),(0,b.jsxs)(g.f,{href:`${y}/issues`,target:"_blank",rel:"noopener noreferrer",children:[(0,b.jsx)("span",{className:al,children:Math.max(0,z.data.openIssuesAndPulls-z.data.openPulls)})," issue",z.data.openIssuesAndPulls-z.data.openPulls==1?"":"s"," ",(0,p.f)()&&am]})]}):(0,b.jsx)("span",{className:"text-ink-faint",children:"—"})}),A&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{children:"Latest Actions"}),(0,b.jsxs)("dd",{children:[(0,b.jsx)(l.F,{state:A.state,children:A.label}),w.actionsCheckedAt&&(0,b.jsxs)("span",{className:"text-ink-faint",children:[" · read ",(0,T.$)(w.actionsCheckedAt,s)]})]})]})]})}),B&&"owner"===q.role&&!w.goneAt&&(0,b.jsx)(B,{repoId:w.id}),(0,b.jsx)("nav",{"aria-label":"Repository sections",className:"flex gap-1 overflow-x-auto shadow-[inset_0_-1px_0_var(--oc-line)]",children:ak.map(([a,c])=>(0,b.jsx)(d.default,{href:`/repos/${w.id}?tab=${a}`,"aria-current":v===a?"page":void 0,scroll:!1,className:(0,U.f)("relative whitespace-nowrap px-3 py-2 text-sm text-ink-soft hover:text-ink",v===a&&"font-medium text-ink after:absolute after:inset-x-0 after:bottom-0 after:h-0.5 after:bg-brand"),children:c},a))}),"readme"===v&&(0,b.jsx)(aq,{head:r}),"files"===v&&(0,b.jsx)(ar,{head:r,file:an(m.file)??null}),"commits"===v&&(0,b.jsx)(at,{head:r,now:s}),"branches"===v&&(0,b.jsx)(au,{head:r,gh:y}),"actions"===v&&(0,b.jsx)(av,{head:r,now:s}),"deps"===v&&(0,b.jsx)(Y.f,{app:{id:w.id,name:w.name},view:await (0,u.Z)(w),canAct:!1,owner:!1,now:s})]})]})}async function aq({head:a}){let c=await (0,u.P)(a);if(!c.ok)return(0,b.jsx)(ao,{f:c});if(!c.data)return(0,b.jsx)(h.N,{children:(0,b.jsxs)(h.k,{title:"No README",children:["This repository has no README on ",a.ref,"."]})});let{path:d,text:e,size:f}=c.data;if(null===e)return(0,b.jsx)(h.N,{title:d,children:(0,b.jsxs)("p",{className:"text-ink-soft",children:["The README is ",(0,v.e)(f),"; over ",(0,v.e)(v.B)," it isn't shown here."]})});let g=d.includes("/")?d.slice(0,d.lastIndexOf("/")):"",i=function(a,b){let c=a.slice(0,204800).replace(/\u0000/g,"").replace(/\r\n?/g,"\n").replace(/\t/g," ").split("\n"),d=new Map,e=[],f=[],g=null,h=()=>{if(!e.length)return;let a=[];for(let b of e.join("\n").replace(/(`+)([^\n]*?[^`\n])\1(?!`)/g,b=>`\0${a.push(b)-1}\0`).replace(/<!--[\s\S]*?(?:-->|$)/g,"").replace(/<(script|style|iframe|object|embed|noscript|template|textarea|svg|math|form|select)\b[\s\S]*?(?:<\/\1\s*>|$)/gi,"").replace(/<img\b[^>]*>/gi,a=>{let b=C(a,"src");return b?`![${(C(a,"alt")??"").replace(/[[\]()]/g,"")}](<${b.replace(/[<>\s]/g,"")}>)`:""}).replace(/<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,(a,b,c)=>{let d=C(` ${b}`,"href");return d?`[${c}](<${d.replace(/[<>\s]/g,"")}>)`:c}).replace(/<h([1-6])\b[^>]*>([\s\S]*?)<\/h\1\s*>/gi,(a,b,c)=>`
2
2
 
3
3
  ${"#".repeat(Number(b))} ${c.replace(/\n+/g," ").trim()}
4
4
 
@@ -1,3 +1,3 @@
1
- module.exports=[545321,a=>{"use strict";var b=a.i(187924),c=a.i(928794),d=a.i(238246),e=a.i(50944),f=a.i(572131),g=a.i(771378),h=a.i(619089),i=a.i(486747),j=a.i(683874),k=a.i(286597),l=a.i(462007);let m={q:"",linked:"",visibility:""},n=a=>a.pushedAt&&Date.parse(a.pushedAt)||0;var o=a.i(147474),p=a.i(773998),q=a.i(427110),r=a.i(368114);let s=["Repository","Apps","Branch","Last push","Language","Advisories","Actions"],t="font-mono text-[12.5px]";function u({isPrivate:a,archived:c}){return(0,b.jsxs)("span",{className:"inline-flex gap-1",children:[(0,b.jsx)("span",{className:(0,r.f)("rounded-[5px] border px-1.5 text-xs",a?"border-line bg-sunken text-ink-soft":"border-brand/30 bg-brand-soft text-brand"),children:a?"private":"public"}),c&&(0,b.jsx)("span",{className:"rounded-[5px] border border-line bg-surface-2 px-1.5 text-xs text-ink-faint",children:"archived"})]})}a.s(["RepoList",0,function({items:a,nowMs:v}){let w,x=(0,e.useRouter)(),[y,z]=(0,f.useState)(m),[A,B]=(0,f.useState)(1),C=new Date(v),D=(w=y.q.trim().toLowerCase(),a.filter(a=>!y.linked||"linked"===y.linked==a.apps.length>0).filter(a=>!y.visibility||"private"===y.visibility===a.private).filter(a=>!w||a.fullName.toLowerCase().includes(w)||a.apps.some(a=>a.name.toLowerCase().includes(w))||(a.language??"").toLowerCase()===w).sort((a,b)=>n(b)-n(a)||a.fullName.localeCompare(b.fullName))),E=(0,q.$)(D,A);E.page!==A&&B(E.page);let F=a=>{z({...y,...a}),B(1)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-[18px] pb-3 pt-3.5 max-[720px]:px-3.5",children:[(0,b.jsx)("input",{className:(0,r.f)(h.S,"w-[240px] max-[720px]:w-full"),placeholder:"Filter by name","aria-label":"Filter by name",value:y.q,onChange:a=>F({q:a.target.value})}),(0,b.jsxs)("select",{className:(0,r.f)(h.S,"w-auto"),"aria-label":"Linked to an app",value:y.linked,onChange:a=>F({linked:a.target.value}),children:[(0,b.jsx)("option",{value:"",children:"Linked and unlinked"}),(0,b.jsx)("option",{value:"linked",children:"Linked to an app"}),(0,b.jsx)("option",{value:"unlinked",children:"Not linked"})]}),(0,b.jsxs)("select",{className:(0,r.f)(h.S,"w-auto"),"aria-label":"Visibility",value:y.visibility,onChange:a=>F({visibility:a.target.value}),children:[(0,b.jsx)("option",{value:"",children:"Private and public"}),(0,b.jsx)("option",{value:"private",children:"Private"}),(0,b.jsx)("option",{value:"public",children:"Public"})]}),(0,b.jsxs)("span",{role:"status",className:"ml-auto text-[12.5px] text-ink-soft",children:[(0,p.f)(D.length)," · newest push first"]})]}),(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:l.o,children:[(0,b.jsx)(l.U,{head:s}),(0,b.jsx)("tbody",{children:E.rows.map(a=>(0,b.jsxs)("tr",{className:(0,r.f)(l.C,"cursor-pointer"),onClick:()=>{let b;return b=a.id,x.push(`/repos/${b}`)},children:[(0,b.jsx)("td",{className:l.z,children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(d.default,{href:`/repos/${a.id}`,className:t,onClick:a=>a.stopPropagation(),children:(0,b.jsx)(g.Masked,{kind:"repo",real:a.fullName,inLink:!0})}),(0,b.jsx)(u,{isPrivate:a.private,archived:a.archived})]})}),(0,b.jsx)("td",{className:l.z,children:a.apps.length?(0,b.jsx)("span",{className:"flex flex-wrap gap-1",children:a.apps.map(a=>(0,b.jsxs)(d.default,{href:`/apps/${a.id}`,onClick:a=>a.stopPropagation(),className:"inline-flex items-center gap-1 rounded-[5px] border border-line px-1.5 py-px text-xs hover:bg-hover",children:[(0,b.jsx)(j.f,{kind:"app"}),(0,b.jsx)(g.Masked,{kind:"app",real:a.name,inLink:!0})]},a.id))}):(0,b.jsx)("span",{className:"text-ink-faint",children:"—"})}),(0,b.jsx)("td",{className:(0,r.f)(l.z,t),children:a.defaultBranch??"—"}),(0,b.jsx)("td",{className:l.z,children:a.pushedAt?(0,o.f)(new Date(a.pushedAt),C):(0,b.jsx)("span",{className:"text-ink-faint",children:"never"})}),(0,b.jsx)("td",{className:(0,r.f)(l.z,!a.language&&"text-ink-faint"),children:a.language??"—"}),(0,b.jsx)("td",{className:l.z,children:null===a.advisories?(0,b.jsx)("span",{className:"text-ink-faint",title:"Not scanned",children:"—"}):0===a.advisories?(0,b.jsx)(k.F,{state:"ok",children:"None"}):(0,b.jsxs)(k.F,{state:"warn",children:[(0,b.jsx)("span",{className:t,children:a.advisories})," open"]})}),(0,b.jsx)("td",{className:l.z,children:a.actions?(0,b.jsx)(k.F,{state:a.actions.state,children:a.actions.label}):(0,b.jsx)("span",{className:"text-ink-faint",children:"—"})})]},a.id))})]})}),0===D.length&&a.length>0&&(0,b.jsxs)(h.k,{icon:c.f,title:"No results",children:["Nothing matches these filters."," ",(0,b.jsx)("button",{type:"button",className:"text-brand hover:underline",onClick:()=>{z(m),B(1)},children:"Clear filters"})]}),(0,b.jsx)(i.f,{page:E.page,pages:E.pages,text:(0,q.z)(E),onPage:B})]})},"VisibilityTag",0,u],545321)}];
1
+ module.exports=[545321,a=>{"use strict";var b=a.i(187924),c=a.i(928794),d=a.i(238246),e=a.i(50944),f=a.i(572131),g=a.i(771378),h=a.i(619089),i=a.i(486747),j=a.i(683874),k=a.i(286597),l=a.i(462007);let m={q:"",linked:"",visibility:""},n=a=>a.pushedAt&&Date.parse(a.pushedAt)||0;var o=a.i(147474),p=a.i(773998),q=a.i(427110),r=a.i(368114);let s=["Repository","Apps","Branch","Last push","Language","Advisories","Actions"],t="font-mono text-[12.5px]";function u({isPrivate:a,archived:c}){return(0,b.jsxs)("span",{className:"inline-flex gap-1",children:[(0,b.jsx)("span",{className:(0,r.f)("rounded-[5px] border px-1.5 text-xs",a?"border-line bg-sunken text-ink-soft":"border-brand/30 bg-brand-soft text-brand"),children:a?"private":"public"}),c&&(0,b.jsx)("span",{className:"rounded-[5px] border border-line bg-surface-2 px-1.5 text-xs text-ink-faint",children:"archived"})]})}a.s(["RepoList",0,function({items:a,nowMs:v}){let w,x=(0,e.useRouter)(),[y,z]=(0,f.useState)(m),[A,B]=(0,f.useState)(1),C=new Date(v),D=(w=y.q.trim().toLowerCase(),a.filter(a=>!y.linked||"linked"===y.linked==a.apps.length>0).filter(a=>!y.visibility||"private"===y.visibility===a.private).filter(a=>!w||a.fullName.toLowerCase().includes(w)||a.apps.some(a=>a.name.toLowerCase().includes(w))||(a.language??"").toLowerCase()===w).sort((a,b)=>n(b)-n(a)||a.fullName.localeCompare(b.fullName))),E=(0,q.$)(D,A);E.page!==A&&B(E.page);let F=a=>{z({...y,...a}),B(1)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-[18px] pb-3 pt-3.5 max-[720px]:px-3.5",children:[(0,b.jsx)("input",{className:(0,r.f)(h.S,"w-[240px] max-[720px]:w-full"),placeholder:"Filter by name","aria-label":"Filter by name",value:y.q,onChange:a=>F({q:a.target.value})}),(0,b.jsxs)("select",{className:(0,r.f)(h.S,"w-auto"),"aria-label":"Linked to an app",value:y.linked,onChange:a=>F({linked:a.target.value}),children:[(0,b.jsx)("option",{value:"",children:"Linked and unlinked"}),(0,b.jsx)("option",{value:"linked",children:"Linked to an app"}),(0,b.jsx)("option",{value:"unlinked",children:"Not linked"})]}),(0,b.jsxs)("select",{className:(0,r.f)(h.S,"w-auto"),"aria-label":"Visibility",value:y.visibility,onChange:a=>F({visibility:a.target.value}),children:[(0,b.jsx)("option",{value:"",children:"Private and public"}),(0,b.jsx)("option",{value:"private",children:"Private"}),(0,b.jsx)("option",{value:"public",children:"Public"})]}),(0,b.jsxs)("span",{role:"status",className:"ml-auto text-[12.5px] text-ink-soft",children:[(0,p.f)(D.length)," · newest push first"]})]}),(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:l.o,children:[(0,b.jsx)(l.U,{head:s}),(0,b.jsx)("tbody",{children:E.rows.map(a=>(0,b.jsxs)("tr",{className:(0,r.f)(l.C,"cursor-pointer"),onClick:()=>{let b;return b=a.id,x.push(`/repos/${b}`)},children:[(0,b.jsx)("td",{className:l.z,children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(d.default,{href:`/repos/${a.id}`,className:t,onClick:a=>a.stopPropagation(),children:(0,b.jsx)(g.Masked,{kind:"repo",real:a.fullName,inLink:!0})}),(0,b.jsx)(u,{isPrivate:a.private,archived:a.archived})]})}),(0,b.jsx)("td",{className:l.z,children:a.apps.length?(0,b.jsx)("span",{className:"flex flex-wrap gap-1",children:a.apps.map(a=>(0,b.jsxs)(d.default,{href:`/apps/${a.id}`,onClick:a=>a.stopPropagation(),className:"inline-flex items-center gap-1 rounded-[5px] border border-line px-1.5 py-px text-xs hover:bg-hover",children:[(0,b.jsx)(j.f,{kind:"app"}),(0,b.jsx)(g.Masked,{kind:"app",real:a.name,inLink:!0})]},a.id))}):(0,b.jsx)("span",{className:"text-ink-faint",children:"—"})}),(0,b.jsx)("td",{className:(0,r.f)(l.z,t),children:a.defaultBranch??"—"}),(0,b.jsx)("td",{className:l.z,children:a.pushedAt?(0,o.$)(new Date(a.pushedAt),C):(0,b.jsx)("span",{className:"text-ink-faint",children:"never"})}),(0,b.jsx)("td",{className:(0,r.f)(l.z,!a.language&&"text-ink-faint"),children:a.language??"—"}),(0,b.jsx)("td",{className:l.z,children:null===a.advisories?(0,b.jsx)("span",{className:"text-ink-faint",title:"Not scanned",children:"—"}):0===a.advisories?(0,b.jsx)(k.F,{state:"ok",children:"None"}):(0,b.jsxs)(k.F,{state:"warn",children:[(0,b.jsx)("span",{className:t,children:a.advisories})," open"]})}),(0,b.jsx)("td",{className:l.z,children:a.actions?(0,b.jsx)(k.F,{state:a.actions.state,children:a.actions.label}):(0,b.jsx)("span",{className:"text-ink-faint",children:"—"})})]},a.id))})]})}),0===D.length&&a.length>0&&(0,b.jsxs)(h.k,{icon:c.f,title:"No results",children:["Nothing matches these filters."," ",(0,b.jsx)("button",{type:"button",className:"text-brand hover:underline",onClick:()=>{z(m),B(1)},children:"Clear filters"})]}),(0,b.jsx)(i.f,{page:E.page,pages:E.pages,text:(0,q.z)(E),onPage:B})]})},"VisibilityTag",0,u],545321)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_repos_repo-list_tsx_1n1gcm4qfrfdt._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[[161762,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call FirestoreConsole() from the server but FirestoreConsole 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)/sql/firestore-console.tsx","FirestoreConsole");a.s(["FirestoreConsole",0,b])},730358,a=>{var b=a.i(161762);a.n(b)},958216,a=>{var b=a.i(907997),c=a.i(607566),d=a.i(395936),e=a.i(803681),f=a.i(75148),g=a.i(686251),h=a.i(791444),i=a.i(473083),j=a.i(109307),k=a.i(532620),l=a.i(367623),m=a.i(139138),n=a.i(715208),o=a.i(469762),p=a.i(730358),q=a.i(887923),r=a.i(678862);let s={idle:"Compute idle",active:"Compute active",unknown:"Compute state unknown"};async function t(){let a=await (0,j.B)("owner");if(!a.ok)return(0,b.jsx)(f.f,{role:a.member.role});let t=new Date,[u,v,w]=await Promise.all([(0,l.f)(),(0,k.R)("firestore"),(0,k.e)()]),x=u.filter(a=>a.connected&&!a.paused).map(a=>({id:a.id,alias:a.alias,provider:a.provider,wake:a.wake})),y=(0,n.U)(v,w).map(a=>({id:a.id,alias:a.alias,readsToday:"note"in a.ops?null:a.ops.reads?.n??null}));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(e.L,{crumbs:[{label:"Databases"},{label:"SQL console"}],title:"SQL console",sub:"Read-only queries against your app databases, run with a role you create for the console. Every run is checked on the server, rolled back, capped and audited (database alias and a fingerprint, never the query text)."}),(0,b.jsxs)(i.Tabs,{defaultValue:"postgres",className:"gap-4",children:[(0,b.jsxs)(i.TabsList,{variant:"line",children:[(0,b.jsx)(i.TabsTrigger,{value:"postgres",children:"Postgres"}),(0,b.jsx)(i.TabsTrigger,{value:"firestore",children:"Firestore"}),(0,b.jsx)(i.TabsTrigger,{value:"access",children:"SQL access"})]}),(0,b.jsx)(i.TabsContent,{value:"postgres",className:"flex flex-col gap-4",children:(0,b.jsx)(e.N,{children:x.length?(0,b.jsx)(r.SqlConsole,{targets:x}):(0,b.jsx)(e.k,{icon:c.f,title:"No database has SQL access yet",children:"Add a read-only connection string under SQL access, or on a Supabase or Neon row."})})}),(0,b.jsx)(i.TabsContent,{value:"firestore",className:"flex flex-col gap-4",children:(0,b.jsx)(e.N,{children:y.length?(0,b.jsx)(p.FirestoreConsole,{targets:y}):(0,b.jsx)(e.k,{icon:c.f,title:"No Firebase projects watched",action:(0,b.jsx)(d.default,{href:"/connections",className:(0,e.R)({size:"sm"}),children:"Open connections"}),children:"The query builder uses the Firebase account's service account (it needs datastore.viewer on the project)."})})}),(0,b.jsx)(i.TabsContent,{value:"access",className:"flex flex-col gap-4",children:(0,b.jsx)(e.N,{flush:!0,title:"Read-only connections",meta:"Owner only · stored encrypted, never shown again",children:0===u.length?(0,b.jsx)(e.k,{icon:c.f,title:"No Supabase or Neon databases watched",children:"Pick databases to watch in Connections first."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:h.o,children:[(0,b.jsx)(h.U,{head:["Database","Provider","SQL access","Last run",""]}),(0,b.jsx)("tbody",{children:u.map(a=>(0,b.jsxs)("tr",{className:h.C,children:[(0,b.jsx)("td",{className:(0,m.f)(h.z,"font-mono"),children:a.alias}),(0,b.jsxs)("td",{className:h.z,children:["supabase"===a.provider?"Supabase":"Neon",a.wake&&(0,b.jsx)("div",{className:"text-[12px] text-ink-faint",children:s[a.wake]}),a.paused&&(0,b.jsx)("div",{className:"text-[12px] text-ink-faint",children:"Paused"})]}),(0,b.jsx)("td",{className:h.z,children:a.connected?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(g.F,{state:"ok",children:["Role ",(0,b.jsx)("span",{className:"font-mono",children:a.role})]}),a.verifiedAt&&(0,b.jsxs)("div",{className:"text-[12px] text-ink-faint",children:["checked ",(0,o.J)(a.verifiedAt,t)]})]}):(0,b.jsx)("span",{className:"text-ink-faint",children:"Not added"})}),(0,b.jsx)("td",{className:(0,m.f)(h.z,"text-ink-soft"),children:a.lastRunAt?(0,o.J)(a.lastRunAt,t):"—"}),(0,b.jsx)("td",{className:h.z,children:(0,b.jsx)(q.SqlAccessButtons,{id:a.id,alias:a.alias,provider:a.provider,connected:a.connected})})]},a.id))})]})})})})]})]})}a.s(["default",0,t,"maxDuration",0,60])},867241,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call SqlConsole() from the server but SqlConsole 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)/sql/sql-console.tsx","SqlConsole");a.s(["SqlConsole",0,b])},678862,a=>{var b=a.i(867241);a.n(b)}],843060,function(a){a.n(a.i(958216))}];
1
+ module.exports=[[161762,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call FirestoreConsole() from the server but FirestoreConsole 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)/sql/firestore-console.tsx","FirestoreConsole");a.s(["FirestoreConsole",0,b])},730358,a=>{var b=a.i(161762);a.n(b)},958216,a=>{var b=a.i(907997),c=a.i(607566),d=a.i(395936),e=a.i(803681),f=a.i(75148),g=a.i(686251),h=a.i(791444),i=a.i(473083),j=a.i(109307),k=a.i(532620),l=a.i(367623),m=a.i(139138),n=a.i(715208),o=a.i(469762),p=a.i(730358),q=a.i(887923),r=a.i(678862);let s={idle:"Compute idle",active:"Compute active",unknown:"Compute state unknown"};async function t(){let a=await (0,j.B)("owner");if(!a.ok)return(0,b.jsx)(f.f,{role:a.member.role});let t=new Date,[u,v,w]=await Promise.all([(0,l.f)(),(0,k.R)("firestore"),(0,k.e)()]),x=u.filter(a=>a.connected&&!a.paused).map(a=>({id:a.id,alias:a.alias,provider:a.provider,wake:a.wake})),y=(0,n.U)(v,w).map(a=>({id:a.id,alias:a.alias,readsToday:"note"in a.ops?null:a.ops.reads?.n??null}));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(e.L,{crumbs:[{label:"Database"},{label:"SQL console"}],title:"SQL console",sub:"Read-only queries against your app databases, run with a role you create for the console. Every run is checked on the server, rolled back, capped and audited (database alias and a fingerprint, never the query text)."}),(0,b.jsxs)(i.Tabs,{defaultValue:"postgres",className:"gap-4",children:[(0,b.jsxs)(i.TabsList,{variant:"line",children:[(0,b.jsx)(i.TabsTrigger,{value:"postgres",children:"Postgres"}),(0,b.jsx)(i.TabsTrigger,{value:"firestore",children:"Firestore"}),(0,b.jsx)(i.TabsTrigger,{value:"access",children:"SQL access"})]}),(0,b.jsx)(i.TabsContent,{value:"postgres",className:"flex flex-col gap-4",children:(0,b.jsx)(e.N,{children:x.length?(0,b.jsx)(r.SqlConsole,{targets:x}):(0,b.jsx)(e.k,{icon:c.f,title:"No database has SQL access yet",children:"Add a read-only connection string under SQL access, or on a Supabase or Neon row."})})}),(0,b.jsx)(i.TabsContent,{value:"firestore",className:"flex flex-col gap-4",children:(0,b.jsx)(e.N,{children:y.length?(0,b.jsx)(p.FirestoreConsole,{targets:y}):(0,b.jsx)(e.k,{icon:c.f,title:"No Firebase projects watched",action:(0,b.jsx)(d.default,{href:"/connections",className:(0,e.R)({size:"sm"}),children:"Open connections"}),children:"The query builder uses the Firebase account's service account (it needs datastore.viewer on the project)."})})}),(0,b.jsx)(i.TabsContent,{value:"access",className:"flex flex-col gap-4",children:(0,b.jsx)(e.N,{flush:!0,title:"Read-only connections",meta:"Owner only · stored encrypted, never shown again",children:0===u.length?(0,b.jsx)(e.k,{icon:c.f,title:"No Supabase or Neon databases watched",children:"Pick databases to watch in Connections first."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:h.o,children:[(0,b.jsx)(h.U,{head:["Database","Provider","SQL access","Last run",""]}),(0,b.jsx)("tbody",{children:u.map(a=>(0,b.jsxs)("tr",{className:h.C,children:[(0,b.jsx)("td",{className:(0,m.f)(h.z,"font-mono"),children:a.alias}),(0,b.jsxs)("td",{className:h.z,children:["supabase"===a.provider?"Supabase":"Neon",a.wake&&(0,b.jsx)("div",{className:"text-[12px] text-ink-faint",children:s[a.wake]}),a.paused&&(0,b.jsx)("div",{className:"text-[12px] text-ink-faint",children:"Paused"})]}),(0,b.jsx)("td",{className:h.z,children:a.connected?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(g.F,{state:"ok",children:["Role ",(0,b.jsx)("span",{className:"font-mono",children:a.role})]}),a.verifiedAt&&(0,b.jsxs)("div",{className:"text-[12px] text-ink-faint",children:["checked ",(0,o.J)(a.verifiedAt,t)]})]}):(0,b.jsx)("span",{className:"text-ink-faint",children:"Not added"})}),(0,b.jsx)("td",{className:(0,m.f)(h.z,"text-ink-soft"),children:a.lastRunAt?(0,o.J)(a.lastRunAt,t):"—"}),(0,b.jsx)("td",{className:h.z,children:(0,b.jsx)(q.SqlAccessButtons,{id:a.id,alias:a.alias,provider:a.provider,connected:a.connected})})]},a.id))})]})})})})]})]})}a.s(["default",0,t,"maxDuration",0,60])},867241,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call SqlConsole() from the server but SqlConsole 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)/sql/sql-console.tsx","SqlConsole");a.s(["SqlConsole",0,b])},678862,a=>{var b=a.i(867241);a.n(b)}],843060,function(a){a.n(a.i(958216))}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_sql_16-sh45tpob8n._.js.map
@@ -1,4 +1,4 @@
1
- (()=>{"use strict";module.exports=[258401,a=>{var b=a.i(187924),c=a.i(908161),d=a.i(817748),e=a.i(851519),f=a.i(572131),g=a.i(619089),h=a.i(246059),i=a.i(998868),j=a.i(861954),k=a.i(57441),k=k,l=a.i(332485),m=k,n=k,o=k,m=k,k=k;h.z.object({error:h.z.object({status:i.z.string().optional(),message:i.z.string().optional(),details:j.z.array(m.looseObject({reason:i.z.string().optional()})).optional()})}),h.z.object({message:i.z.string()}),h.z.object({missing_permissions:j.z.array(i.z.string()).min(1)}),h.z.object({error:k.enum(["invalid_grant","invalid_client","unauthorized_client"])});let p={"==":"EQUAL","!=":"NOT_EQUAL","<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},q=["string","number","boolean","null"],r=/^(?:__name__|[A-Za-z_][A-Za-z0-9_]{0,99}(?:\.[A-Za-z_][A-Za-z0-9_]{0,99}){0,9})$/;h.z.object({collection:i.z.string().regex(/^(?!__.*__$)(?!\.\.?$)[^/\s][^/]{0,199}$/),where:j.z.array(h.z.object({field:i.z.string().regex(r),op:k.enum(Object.keys(p)),type:k.enum(q),value:i.z.string().max(500)})).max(5),orderBy:h.z.object({field:i.z.string().regex(r),dir:k.enum(["asc","desc"])}).nullable(),limit:l.z.number().int().min(1).max(100)}),j.z.array(m.looseObject({document:h.z.object({name:i.z.string(),fields:n.record(i.z.string(),o.unknown()).optional()}).optional()}));var s=a.i(368114),t=a.i(405050);let u=(0,t.createServerReference)("400601908317a31f5d55cf8455582b67e7464d6479",t.callServer,void 0,t.findSourceMapURL,"firestoreCollectionsAction"),v=(0,t.createServerReference)("60a47cd8c93422e94a0ee673fd3580804882903976",t.callServer,void 0,t.findSourceMapURL,"firestoreQueryAction");a.s(["FirestoreConsole",0,function({targets:a}){let[h,i]=(0,f.useState)(a[0]?.id??""),[j,k]=(0,f.useState)(null),[l,m]=(0,f.useState)(!1),[n,o]=(0,f.useState)(""),[r,t]=(0,f.useState)([]),[w,x]=(0,f.useState)(""),[y,z]=(0,f.useState)("asc"),[A,B]=(0,f.useState)(20),[C,D]=(0,f.useState)(null),[E,F]=(0,f.useState)(null),[G,H]=(0,f.useTransition)(),I=a.find(a=>a.id===h),J=(a,b)=>t(c=>c.map(c=>c.key===a?{...c,...b}:c));return(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsxs)(g.M,{tone:"warning",title:"Every query costs Firestore reads",children:["One read per document returned (at least one per query), from the free 50,000 a day. Listing collections costs one read.",I?.readsToday!=null?` This project has used ${I.readsToday.toLocaleString("en")} today.`:""]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[13px] font-medium",children:["Project",(0,b.jsx)("select",{className:(0,s.f)(g.S,"w-56"),value:h,onChange:a=>{i(a.target.value),k(null),o(""),D(null)},children:a.map(a=>(0,b.jsx)("option",{value:a.id,children:a.alias},a.id))})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[13px] font-medium",children:["Collection",j?(0,b.jsxs)("select",{className:(0,s.f)(g.S,"w-56 font-mono"),value:n,onChange:a=>o(a.target.value),children:[0===j.length&&(0,b.jsx)("option",{value:"",children:"No collections"}),j.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]}):(0,b.jsx)(g.K,{onClick:function(){H(async()=>{try{let a=await u(h);if(!a.ok)return void F(a.error);k(a.data?.collections??[]),m(!!a.data?.more),o(a.data?.collections?.[0]??""),F(null)}catch{F("Something went wrong. Try again.")}})},disabled:G||!h,children:G?"Loading…":"List root collections"})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[13px] font-medium",children:["Order by",(0,b.jsx)("input",{className:(0,s.f)(g.S,"w-40 font-mono"),placeholder:"field (optional)",value:w,onChange:a=>x(a.target.value)})]}),(0,b.jsxs)("select",{"aria-label":"Direction",className:(0,s.f)(g.S,"w-24"),value:y,onChange:a=>z("desc"===a.target.value?"desc":"asc"),children:[(0,b.jsx)("option",{value:"asc",children:"asc"}),(0,b.jsx)("option",{value:"desc",children:"desc"})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[13px] font-medium",children:["Limit",(0,b.jsx)("input",{type:"number",min:1,max:100,className:(0,s.f)(g.S,"w-20 font-mono"),value:A,onChange:a=>B(Math.max(1,Math.min(100,Math.round(Number(a.target.value)||1))))})]}),(0,b.jsxs)(g.K,{variant:"primary",className:"ml-auto",onClick:function(){H(async()=>{try{let a=await v(h,{collection:n,where:r.map(({field:a,op:b,type:c,value:d})=>({field:a.trim(),op:b,type:c,value:d})),orderBy:w.trim()?{field:w.trim(),dir:y}:null,limit:A});if(!a.ok){F(a.error),D(null);return}D(a.data?.run??null),F(null)}catch{F("Something went wrong. Try again.")}})},disabled:G||!n,children:[(0,b.jsx)(c.f,{size:15})," ",G?"Running…":"Run query"]})]}),l&&(0,b.jsx)("p",{className:"text-[12.5px] text-ink-soft",children:"Showing the first 100 collections."}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[r.map(a=>(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("span",{className:"w-12 text-[12.5px] text-ink-soft",children:"where"}),(0,b.jsx)("input",{"aria-label":"Field",className:(0,s.f)(g.S,"w-44 font-mono"),placeholder:"field",value:a.field,onChange:b=>J(a.key,{field:b.target.value})}),(0,b.jsx)("select",{"aria-label":"Operator",className:(0,s.f)(g.S,"w-44 font-mono"),value:a.op,onChange:b=>J(a.key,{op:b.target.value}),children:Object.keys(p).map(a=>(0,b.jsx)("option",{value:a,children:a},a))}),(0,b.jsx)("select",{"aria-label":"Value type",className:(0,s.f)(g.S,"w-28"),value:a.type,onChange:b=>J(a.key,{type:b.target.value}),children:q.map(a=>(0,b.jsx)("option",{value:a,children:a},a))}),(0,b.jsx)("input",{"aria-label":"Value",className:(0,s.f)(g.S,"w-56 font-mono"),disabled:"null"===a.type,placeholder:"in"===a.op||"not-in"===a.op||"array-contains-any"===a.op?"a, b, c":"value",value:a.value,onChange:b=>J(a.key,{value:b.target.value})}),(0,b.jsx)(g.K,{size:"sm",variant:"ghost","aria-label":"Remove condition",onClick:()=>t(b=>b.filter(b=>b.key!==a.key)),children:(0,b.jsx)(e.f,{size:14})})]},a.key)),r.length<5&&(0,b.jsx)("div",{children:(0,b.jsxs)(g.K,{size:"sm",variant:"ghost",onClick:()=>t(a=>[...a,{key:Date.now(),field:"",op:"==",type:"string",value:""}]),children:[(0,b.jsx)(d.f,{size:14})," Add where"]})})]}),E&&(0,b.jsx)(g.M,{tone:"danger",title:"The query didn't run",children:E}),C&&(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-3 text-[12.5px] text-ink-soft",children:[(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-mono font-medium text-ink",children:C.docs.length})," document",1===C.docs.length?"":"s"]}),(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-mono font-medium text-ink",children:C.reads})," read",1===C.reads?"":"s"," used"]}),(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-mono font-medium text-ink",children:C.durationMs})," ms"]}),C.truncated&&(0,b.jsx)("span",{className:"rounded border border-warn-icon/40 bg-warn-soft px-1.5 text-ink",children:"Truncated"})]}),(0,b.jsx)("div",{className:"max-h-[520px] overflow-auto rounded-md border border-line",children:0===C.docs.length?(0,b.jsx)("p",{className:"px-3 py-2 text-[13px] text-ink-soft",children:"No documents matched."}):C.docs.map(a=>(0,b.jsxs)("div",{className:"border-b border-line px-3 py-2 last:border-b-0",children:[(0,b.jsx)("div",{className:"font-mono text-[12.5px] font-medium text-ink",children:a.id}),(0,b.jsx)("pre",{className:"mt-1 overflow-x-auto whitespace-pre-wrap break-all font-mono text-[12px] text-ink-soft",children:a.json})]},a.id))})]})]})}],258401)},366550,a=>{var b=a.i(187924),c=a.i(908161),d=a.i(572131),e=a.i(823292),f=a.i(611619),g=a.i(619089),h=a.i(462007),i=a.i(368114);let j=[{id:"tables-by-size",label:"Tables by size",sql:`select n.nspname as schema, c.relname as table,
1
+ (()=>{"use strict";module.exports=[258401,a=>{var b=a.i(187924),c=a.i(908161),d=a.i(817748),e=a.i(851519),f=a.i(572131),g=a.i(619089),h=a.i(246059),i=a.i(998868),j=a.i(861954),k=a.i(57441),k=k,l=a.i(332485),m=k,n=k,o=k,m=k,k=k;h.z.object({error:h.z.object({status:i.z.string().optional(),message:i.z.string().optional(),details:j.z.array(m.looseObject({reason:i.z.string().optional()})).optional()})}),h.z.object({message:i.z.string()}),h.z.object({missing_permissions:j.z.array(i.z.string()).min(1)}),h.z.object({error:k.enum(["invalid_grant","invalid_client","unauthorized_client"])});let p={"==":"EQUAL","!=":"NOT_EQUAL","<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},q=["string","number","boolean","null"],r=/^(?:__name__|[A-Za-z_][A-Za-z0-9_]{0,99}(?:\.[A-Za-z_][A-Za-z0-9_]{0,99}){0,9})$/;h.z.object({collection:i.z.string().regex(/^(?!__.*__$)(?!\.\.?$)[^/\s][^/]{0,199}$/),where:j.z.array(h.z.object({field:i.z.string().regex(r),op:k.enum(Object.keys(p)),type:k.enum(q),value:i.z.string().max(500)})).max(5),orderBy:h.z.object({field:i.z.string().regex(r),dir:k.enum(["asc","desc"])}).nullable(),limit:l.z.number().int().min(1).max(100)}),j.z.array(m.looseObject({document:h.z.object({name:i.z.string(),fields:n.record(i.z.string(),o.unknown()).optional()}).optional()}));var s=a.i(368114),t=a.i(405050);let u=(0,t.createServerReference)("40f5eab32cd382b285ae8d2285a2ddd4b7b921e732",t.callServer,void 0,t.findSourceMapURL,"firestoreCollectionsAction"),v=(0,t.createServerReference)("60d8c86a9ba13914cc8ab3299a3c6052c822b05b06",t.callServer,void 0,t.findSourceMapURL,"firestoreQueryAction");a.s(["FirestoreConsole",0,function({targets:a}){let[h,i]=(0,f.useState)(a[0]?.id??""),[j,k]=(0,f.useState)(null),[l,m]=(0,f.useState)(!1),[n,o]=(0,f.useState)(""),[r,t]=(0,f.useState)([]),[w,x]=(0,f.useState)(""),[y,z]=(0,f.useState)("asc"),[A,B]=(0,f.useState)(20),[C,D]=(0,f.useState)(null),[E,F]=(0,f.useState)(null),[G,H]=(0,f.useTransition)(),I=a.find(a=>a.id===h),J=(a,b)=>t(c=>c.map(c=>c.key===a?{...c,...b}:c));return(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsxs)(g.M,{tone:"warning",title:"Every query costs Firestore reads",children:["One read per document returned (at least one per query), from the free 50,000 a day. Listing collections costs one read.",I?.readsToday!=null?` This project has used ${I.readsToday.toLocaleString("en")} today.`:""]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[13px] font-medium",children:["Project",(0,b.jsx)("select",{className:(0,s.f)(g.S,"w-56"),value:h,onChange:a=>{i(a.target.value),k(null),o(""),D(null)},children:a.map(a=>(0,b.jsx)("option",{value:a.id,children:a.alias},a.id))})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[13px] font-medium",children:["Collection",j?(0,b.jsxs)("select",{className:(0,s.f)(g.S,"w-56 font-mono"),value:n,onChange:a=>o(a.target.value),children:[0===j.length&&(0,b.jsx)("option",{value:"",children:"No collections"}),j.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]}):(0,b.jsx)(g.K,{onClick:function(){H(async()=>{try{let a=await u(h);if(!a.ok)return void F(a.error);k(a.data?.collections??[]),m(!!a.data?.more),o(a.data?.collections?.[0]??""),F(null)}catch{F("Something went wrong. Try again.")}})},disabled:G||!h,children:G?"Loading…":"List root collections"})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[13px] font-medium",children:["Order by",(0,b.jsx)("input",{className:(0,s.f)(g.S,"w-40 font-mono"),placeholder:"field (optional)",value:w,onChange:a=>x(a.target.value)})]}),(0,b.jsxs)("select",{"aria-label":"Direction",className:(0,s.f)(g.S,"w-24"),value:y,onChange:a=>z("desc"===a.target.value?"desc":"asc"),children:[(0,b.jsx)("option",{value:"asc",children:"asc"}),(0,b.jsx)("option",{value:"desc",children:"desc"})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[13px] font-medium",children:["Limit",(0,b.jsx)("input",{type:"number",min:1,max:100,className:(0,s.f)(g.S,"w-20 font-mono"),value:A,onChange:a=>B(Math.max(1,Math.min(100,Math.round(Number(a.target.value)||1))))})]}),(0,b.jsxs)(g.K,{variant:"primary",className:"ml-auto",onClick:function(){H(async()=>{try{let a=await v(h,{collection:n,where:r.map(({field:a,op:b,type:c,value:d})=>({field:a.trim(),op:b,type:c,value:d})),orderBy:w.trim()?{field:w.trim(),dir:y}:null,limit:A});if(!a.ok){F(a.error),D(null);return}D(a.data?.run??null),F(null)}catch{F("Something went wrong. Try again.")}})},disabled:G||!n,children:[(0,b.jsx)(c.f,{size:15})," ",G?"Running…":"Run query"]})]}),l&&(0,b.jsx)("p",{className:"text-[12.5px] text-ink-soft",children:"Showing the first 100 collections."}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[r.map(a=>(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("span",{className:"w-12 text-[12.5px] text-ink-soft",children:"where"}),(0,b.jsx)("input",{"aria-label":"Field",className:(0,s.f)(g.S,"w-44 font-mono"),placeholder:"field",value:a.field,onChange:b=>J(a.key,{field:b.target.value})}),(0,b.jsx)("select",{"aria-label":"Operator",className:(0,s.f)(g.S,"w-44 font-mono"),value:a.op,onChange:b=>J(a.key,{op:b.target.value}),children:Object.keys(p).map(a=>(0,b.jsx)("option",{value:a,children:a},a))}),(0,b.jsx)("select",{"aria-label":"Value type",className:(0,s.f)(g.S,"w-28"),value:a.type,onChange:b=>J(a.key,{type:b.target.value}),children:q.map(a=>(0,b.jsx)("option",{value:a,children:a},a))}),(0,b.jsx)("input",{"aria-label":"Value",className:(0,s.f)(g.S,"w-56 font-mono"),disabled:"null"===a.type,placeholder:"in"===a.op||"not-in"===a.op||"array-contains-any"===a.op?"a, b, c":"value",value:a.value,onChange:b=>J(a.key,{value:b.target.value})}),(0,b.jsx)(g.K,{size:"sm",variant:"ghost","aria-label":"Remove condition",onClick:()=>t(b=>b.filter(b=>b.key!==a.key)),children:(0,b.jsx)(e.f,{size:14})})]},a.key)),r.length<5&&(0,b.jsx)("div",{children:(0,b.jsxs)(g.K,{size:"sm",variant:"ghost",onClick:()=>t(a=>[...a,{key:Date.now(),field:"",op:"==",type:"string",value:""}]),children:[(0,b.jsx)(d.f,{size:14})," Add where"]})})]}),E&&(0,b.jsx)(g.M,{tone:"danger",title:"The query didn't run",children:E}),C&&(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-3 text-[12.5px] text-ink-soft",children:[(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-mono font-medium text-ink",children:C.docs.length})," document",1===C.docs.length?"":"s"]}),(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-mono font-medium text-ink",children:C.reads})," read",1===C.reads?"":"s"," used"]}),(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-mono font-medium text-ink",children:C.durationMs})," ms"]}),C.truncated&&(0,b.jsx)("span",{className:"rounded border border-warn-icon/40 bg-warn-soft px-1.5 text-ink",children:"Truncated"})]}),(0,b.jsx)("div",{className:"max-h-[520px] overflow-auto rounded-md border border-line",children:0===C.docs.length?(0,b.jsx)("p",{className:"px-3 py-2 text-[13px] text-ink-soft",children:"No documents matched."}):C.docs.map(a=>(0,b.jsxs)("div",{className:"border-b border-line px-3 py-2 last:border-b-0",children:[(0,b.jsx)("div",{className:"font-mono text-[12.5px] font-medium text-ink",children:a.id}),(0,b.jsx)("pre",{className:"mt-1 overflow-x-auto whitespace-pre-wrap break-all font-mono text-[12px] text-ink-soft",children:a.json})]},a.id))})]})]})}],258401)},366550,a=>{var b=a.i(187924),c=a.i(908161),d=a.i(572131),e=a.i(823292),f=a.i(611619),g=a.i(619089),h=a.i(462007),i=a.i(368114);let j=[{id:"tables-by-size",label:"Tables by size",sql:`select n.nspname as schema, c.relname as table,
2
2
  pg_size_pretty(pg_total_relation_size(c.oid)) as total,
3
3
  pg_size_pretty(pg_relation_size(c.oid)) as data,
4
4
  pg_total_relation_size(c.oid) as bytes
@@ -30,6 +30,6 @@ from pg_statio_user_indexes`},{id:"row-estimates",label:"Row counts (estimate)",
30
30
  last_autoanalyze, last_autovacuum
31
31
  from pg_stat_user_tables
32
32
  order by n_live_tup desc
33
- limit 100`}],k="watchpost.sql.snippets.v1";var l=a.i(746097),m=a.i(405050);let n=(0,m.createServerReference)("70f439e21d260faafae81d26bf3764bbdc11f69182",m.callServer,void 0,m.findSourceMapURL,"runSqlAction");function o(a){try{return window.localStorage.setItem(k,JSON.stringify(a)),!0}catch{return!1}}let p=a=>null===a?"NULL":"string"==typeof a?a:String(a);function q({run:a}){return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 text-[12.5px] text-ink-soft",children:[(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-mono font-medium text-ink",children:a.rowCount})," row",1===a.rowCount?"":"s"]}),(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-mono font-medium text-ink",children:a.durationMs})," ms"]}),a.truncated&&(0,b.jsx)("span",{className:"rounded border border-warn-icon/40 bg-warn-soft px-1.5 text-ink",children:"Truncated: more rows or data than the console shows"})]}),0===a.columns.length?(0,b.jsx)("p",{className:"text-[13px] text-ink-soft",children:"The statement returned no columns."}):(0,b.jsx)("div",{className:"max-h-[520px] overflow-auto rounded-md border border-line",children:(0,b.jsxs)("table",{className:(0,i.f)(h.o,"font-mono text-[12.5px]"),children:[(0,b.jsx)(h.U,{head:a.columns}),(0,b.jsx)("tbody",{children:a.rows.map((a,c)=>(0,b.jsx)("tr",{children:a.map((a,c)=>(0,b.jsx)("td",{className:(0,i.f)(h.z,"max-w-[420px] overflow-hidden text-ellipsis",null===a&&"text-ink-faint"),title:p(a).length>60?p(a):void 0,children:p(a)},c))},c))})]})})]})}a.s(["SqlConsole",0,function({targets:a}){let[h,m]=(0,d.useState)(a[0]?.id??""),[p,r]=(0,d.useState)(j[0].sql),[s,t]=(0,d.useState)([]),[u,v]=(0,d.useState)(null),[w,x]=(0,d.useState)(null),[y,z]=(0,d.useState)(!1),[A,B]=(0,d.useTransition)();(0,d.useEffect)(()=>{let a=setTimeout(()=>t(function(){try{var a=window.localStorage.getItem(k);if(!a)return[];try{let b=JSON.parse(a);if(!Array.isArray(b))return[];return b.filter(a=>!!a&&"object"==typeof a&&"string"==typeof a.id&&"string"==typeof a.label&&"string"==typeof a.sql).slice(0,30).map(a=>({id:a.id.slice(0,40),label:a.label.slice(0,60),sql:a.sql.slice(0,2e4)}))}catch{return[]}}catch{return[]}}()),0);return()=>clearTimeout(a)},[]);let C=a.find(a=>a.id===h);async function D(a){let b=await n(h,p,a);return b.ok&&b.data?.run?(v(b.data.run),x(null),{ok:!0,message:`${b.data.run.rowCount} row${1===b.data.run.rowCount?"":"s"} in ${b.data.run.durationMs} ms`}):!b.ok&&b.data?.needsWake?(z(!0),{ok:!1,message:l.f}):(v(null),x(b.ok?"No result.":b.error),{ok:!1,message:b.ok?"No result.":b.error})}function E(){if(h&&p.trim()&&!A){if(C?.provider==="neon"&&"active"!==C.wake)return void z(!0);B(async()=>{try{await D(!1)}catch{x("Something went wrong. Try again.")}})}}let F=[...j,...s];return(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[13px] font-medium",children:["Database",(0,b.jsx)("select",{className:(0,i.f)(g.S,"w-56"),value:h,onChange:a=>{m(a.target.value),v(null),x(null)},children:a.map(a=>(0,b.jsxs)("option",{value:a.id,children:[a.alias," · ","supabase"===a.provider?"Supabase":"Neon","idle"===a.wake?" (idle)":""]},a.id))})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[13px] font-medium",children:["Snippet",(0,b.jsxs)("select",{className:(0,i.f)(g.S,"w-64"),value:"",onChange:a=>{let b=F.find(b=>b.id===a.target.value);b&&r(b.sql)},children:[(0,b.jsx)("option",{value:"",disabled:!0,children:"Insert a snippet…"}),(0,b.jsx)("optgroup",{label:"Built in",children:j.map(a=>(0,b.jsx)("option",{value:a.id,children:a.label},a.id))}),s.length>0&&(0,b.jsx)("optgroup",{label:"Saved in this browser",children:s.map(a=>(0,b.jsx)("option",{value:a.id,children:a.label},a.id))})]})]}),(0,b.jsxs)("div",{className:"ml-auto flex gap-2",children:[(0,b.jsx)(g.K,{size:"sm",variant:"ghost",onClick:function(){let a=window.prompt("Name this snippet (saved in this browser only)")?.trim();if(!a)return;let b=[{id:`local-${Date.now()}`,label:a.slice(0,60),sql:p},...s].slice(0,30);o(b)?(t(b),e.c.success("Snippet saved in this browser")):e.c.error("This browser didn't let the console save it.")},disabled:!p.trim(),children:"Save as snippet"}),(0,b.jsxs)(g.K,{variant:"primary",onClick:E,disabled:A||!h||!p.trim(),children:[(0,b.jsx)(c.f,{size:15})," ",A?"Running…":"Run"]})]})]}),(0,b.jsx)("textarea",{"aria-label":"SQL query",spellCheck:!1,rows:10,value:p,className:(0,i.f)(g.S,"min-h-[180px] resize-y font-mono text-[13px] leading-relaxed"),onChange:a=>r(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.ctrlKey||a.metaKey)&&(a.preventDefault(),E())}}),(0,b.jsxs)("p",{className:"text-[12.5px] text-ink-soft",children:["One SELECT, WITH, EXPLAIN, SHOW or TABLE statement. It runs in a read-only transaction that is always rolled back, with a 5 s timeout and at most ",500," rows. Ctrl+Enter runs it. 20 runs per 10 minutes."]}),s.length>0&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-1.5 text-[12.5px] text-ink-soft",children:["Saved here:",s.map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded border border-line px-1.5",children:[(0,b.jsx)("button",{type:"button",className:"text-ink hover:underline",onClick:()=>r(a.sql),children:a.label}),(0,b.jsx)("button",{type:"button","aria-label":`Delete snippet ${a.label}`,className:"text-ink-faint hover:text-err",onClick:()=>{var b;let c;return b=a.id,void(o(c=s.filter(a=>a.id!==b))&&t(c))},children:"×"})]},a.id))]}),w&&(0,b.jsx)(g.M,{tone:"danger",title:"The query didn't run",children:w}),u&&(0,b.jsx)(q,{run:u}),(0,b.jsx)(f.f,{open:y,onOpenChange:z,title:`Wake ${C?.alias??"the database"}?`,cta:"Run anyway",body:l.f,onConfirm:async()=>{try{return await D(!0)}catch{return{ok:!1,message:"Something went wrong. Try again."}}}})]})}],366550)}]})();
33
+ limit 100`}],k="watchpost.sql.snippets.v1";var l=a.i(746097),m=a.i(405050);let n=(0,m.createServerReference)("7078423f4c8d343df20984b21ffbb1a4734d2311be",m.callServer,void 0,m.findSourceMapURL,"runSqlAction");function o(a){try{return window.localStorage.setItem(k,JSON.stringify(a)),!0}catch{return!1}}let p=a=>null===a?"NULL":"string"==typeof a?a:String(a);function q({run:a}){return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 text-[12.5px] text-ink-soft",children:[(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-mono font-medium text-ink",children:a.rowCount})," row",1===a.rowCount?"":"s"]}),(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-mono font-medium text-ink",children:a.durationMs})," ms"]}),a.truncated&&(0,b.jsx)("span",{className:"rounded border border-warn-icon/40 bg-warn-soft px-1.5 text-ink",children:"Truncated: more rows or data than the console shows"})]}),0===a.columns.length?(0,b.jsx)("p",{className:"text-[13px] text-ink-soft",children:"The statement returned no columns."}):(0,b.jsx)("div",{className:"max-h-[520px] overflow-auto rounded-md border border-line",children:(0,b.jsxs)("table",{className:(0,i.f)(h.o,"font-mono text-[12.5px]"),children:[(0,b.jsx)(h.U,{head:a.columns}),(0,b.jsx)("tbody",{children:a.rows.map((a,c)=>(0,b.jsx)("tr",{children:a.map((a,c)=>(0,b.jsx)("td",{className:(0,i.f)(h.z,"max-w-[420px] overflow-hidden text-ellipsis",null===a&&"text-ink-faint"),title:p(a).length>60?p(a):void 0,children:p(a)},c))},c))})]})})]})}a.s(["SqlConsole",0,function({targets:a}){let[h,m]=(0,d.useState)(a[0]?.id??""),[p,r]=(0,d.useState)(j[0].sql),[s,t]=(0,d.useState)([]),[u,v]=(0,d.useState)(null),[w,x]=(0,d.useState)(null),[y,z]=(0,d.useState)(!1),[A,B]=(0,d.useTransition)();(0,d.useEffect)(()=>{let a=setTimeout(()=>t(function(){try{var a=window.localStorage.getItem(k);if(!a)return[];try{let b=JSON.parse(a);if(!Array.isArray(b))return[];return b.filter(a=>!!a&&"object"==typeof a&&"string"==typeof a.id&&"string"==typeof a.label&&"string"==typeof a.sql).slice(0,30).map(a=>({id:a.id.slice(0,40),label:a.label.slice(0,60),sql:a.sql.slice(0,2e4)}))}catch{return[]}}catch{return[]}}()),0);return()=>clearTimeout(a)},[]);let C=a.find(a=>a.id===h);async function D(a){let b=await n(h,p,a);return b.ok&&b.data?.run?(v(b.data.run),x(null),{ok:!0,message:`${b.data.run.rowCount} row${1===b.data.run.rowCount?"":"s"} in ${b.data.run.durationMs} ms`}):!b.ok&&b.data?.needsWake?(z(!0),{ok:!1,message:l.f}):(v(null),x(b.ok?"No result.":b.error),{ok:!1,message:b.ok?"No result.":b.error})}function E(){if(h&&p.trim()&&!A){if(C?.provider==="neon"&&"active"!==C.wake)return void z(!0);B(async()=>{try{await D(!1)}catch{x("Something went wrong. Try again.")}})}}let F=[...j,...s];return(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[13px] font-medium",children:["Database",(0,b.jsx)("select",{className:(0,i.f)(g.S,"w-56"),value:h,onChange:a=>{m(a.target.value),v(null),x(null)},children:a.map(a=>(0,b.jsxs)("option",{value:a.id,children:[a.alias," · ","supabase"===a.provider?"Supabase":"Neon","idle"===a.wake?" (idle)":""]},a.id))})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[13px] font-medium",children:["Snippet",(0,b.jsxs)("select",{className:(0,i.f)(g.S,"w-64"),value:"",onChange:a=>{let b=F.find(b=>b.id===a.target.value);b&&r(b.sql)},children:[(0,b.jsx)("option",{value:"",disabled:!0,children:"Insert a snippet…"}),(0,b.jsx)("optgroup",{label:"Built in",children:j.map(a=>(0,b.jsx)("option",{value:a.id,children:a.label},a.id))}),s.length>0&&(0,b.jsx)("optgroup",{label:"Saved in this browser",children:s.map(a=>(0,b.jsx)("option",{value:a.id,children:a.label},a.id))})]})]}),(0,b.jsxs)("div",{className:"ml-auto flex gap-2",children:[(0,b.jsx)(g.K,{size:"sm",variant:"ghost",onClick:function(){let a=window.prompt("Name this snippet (saved in this browser only)")?.trim();if(!a)return;let b=[{id:`local-${Date.now()}`,label:a.slice(0,60),sql:p},...s].slice(0,30);o(b)?(t(b),e.c.success("Snippet saved in this browser")):e.c.error("This browser didn't let the console save it.")},disabled:!p.trim(),children:"Save as snippet"}),(0,b.jsxs)(g.K,{variant:"primary",onClick:E,disabled:A||!h||!p.trim(),children:[(0,b.jsx)(c.f,{size:15})," ",A?"Running…":"Run"]})]})]}),(0,b.jsx)("textarea",{"aria-label":"SQL query",spellCheck:!1,rows:10,value:p,className:(0,i.f)(g.S,"min-h-[180px] resize-y font-mono text-[13px] leading-relaxed"),onChange:a=>r(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.ctrlKey||a.metaKey)&&(a.preventDefault(),E())}}),(0,b.jsxs)("p",{className:"text-[12.5px] text-ink-soft",children:["One SELECT, WITH, EXPLAIN, SHOW or TABLE statement. It runs in a read-only transaction that is always rolled back, with a 5 s timeout and at most ",500," rows. Ctrl+Enter runs it. 20 runs per 10 minutes."]}),s.length>0&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-1.5 text-[12.5px] text-ink-soft",children:["Saved here:",s.map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded border border-line px-1.5",children:[(0,b.jsx)("button",{type:"button",className:"text-ink hover:underline",onClick:()=>r(a.sql),children:a.label}),(0,b.jsx)("button",{type:"button","aria-label":`Delete snippet ${a.label}`,className:"text-ink-faint hover:text-err",onClick:()=>{var b;let c;return b=a.id,void(o(c=s.filter(a=>a.id!==b))&&t(c))},children:"×"})]},a.id))]}),w&&(0,b.jsx)(g.M,{tone:"danger",title:"The query didn't run",children:w}),u&&(0,b.jsx)(q,{run:u}),(0,b.jsx)(f.f,{open:y,onOpenChange:z,title:`Wake ${C?.alias??"the database"}?`,cta:"Run anyway",body:l.f,onConfirm:async()=>{try{return await D(!0)}catch{return{ok:!1,message:"Something went wrong. Try again."}}}})]})}],366550)}]})();
34
34
 
35
35
  //# sourceMappingURL=src_app_%28console%29_sql_1icfsti04djqe._.js.map
@@ -2,6 +2,6 @@ module.exports=[719825,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(60
2
2
  begin
3
3
  ${a.map(a=>` ${a}`).join("\n")}
4
4
  end
5
- $watchpost$;`,ac=[`revoke select on all tables in schema public from ${X};`,`alter default privileges for role postgres in schema public revoke select on tables from ${X};`,`revoke usage on schema public from ${X};`,`revoke connect on database postgres from ${X};`,`revoke pg_read_all_stats from ${X};`,`alter role ${X} nologin;`].map(a=>`begin ${a} exception when others then null; end;`);var ad=a.i(367623);let ae={target:async function(a){let b=await (0,ad.i)(a);if(!b||"supabase"!==b.provider)return null;let c=await (0,P.p)(a,"supabase_project");return c&&c.resource.externalId===b.externalId?{ref:b.externalId,token:c.token,paused:"paused"===b.state}:null},pooler:(a,b)=>V(a,b),run:(a,b,c,d)=>T(a,b,c,d),access:(a,b)=>W(a,b),save:(a,b,c)=>(0,ad.o)(a,b,!1,c),alias:async a=>(0,I.X)(await (0,J.e)(),a),password:()=>(function(a=g.randomBytes){return a(32).toString("base64url")})(),verifier:a=>(function(a,b=(0,g.randomBytes)(16),c=4096){let d=(0,g.pbkdf2Sync)(a.normalize("NFKC"),b,c,32,"sha256"),e=(0,g.createHash)("sha256").update(_(d,"Client Key")).digest(),f=_(d,"Server Key");return`SCRAM-SHA-256$${c}:${b.toString("base64")}$${e.toString("base64")}:${f.toString("base64")}`})(a),sleep:a=>new Promise(b=>setTimeout(b,a))},af="That Supabase project is no longer watched, or its token can't be read.",ag="This project is paused. Restore it first, then add SQL access.",ah=new Set([{code:"28P01"},{code:"08006"},{code:"CONNECT_TIMEOUT"}].map(Y.E));function ai(a){if("scope"===a.kind){let b;return b=a.missing??["database_write"],`This project's token can't set the role up (missing ${b.join(", ")}). It needs Database: Read-write and Connection pooling: Read; replace the token on Connections, or create the role by hand below.`}return a.error}async function aj(a,b=ae){if(!(0,n.f)(a))return{can:!1,reason:"other",error:"Something in that request wasn't valid."};let c=await b.target(a);return c?c.paused?{can:!1,reason:"other",error:ag}:b.access(c.token,c.ref):{can:!1,reason:"other",error:af}}async function ak(a,b,c=ae){if(!(0,n.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let d=await c.target(a);if(!d)return{ok:!1,error:af};if(d.paused)return{ok:!1,error:ag};let e=await c.pooler(d.token,d.ref);if(!e.ok)return{ok:!1,error:ai(e)};let f=c.password(),g=function(a,b,c){if(!Z.k.test(b))return{ok:!1,error:"This project's ref doesn't look right."};if(!$.test(c))return{ok:!1,error:"The generated password isn't valid."};let d=a.filter(a=>!a.database_type||"PRIMARY"===a.database_type),e=d.map(a=>(a.db_host??"").toLowerCase()).find(a=>Z.J.test(a));if(!e)return{ok:!1,error:"This project has no shared Supavisor pooler host (…pooler.supabase.com). Use the manual steps."};let f=d.find(a=>a.db_name&&/^[A-Za-z_][A-Za-z0-9_]{0,62}$/.test(a.db_name))?.db_name??"postgres";return{ok:!0,dsn:`postgresql://${X}.${b}:${encodeURIComponent(c)}@${e}:6543/${f}?sslmode=require`}}(e.data,d.ref,f);if(!g.ok)return{ok:!1,error:g.error};let h=await c.alias(a),i={kind:"err",message:`SQL access automatic setup failed \xb7 ${h}`,resourceId:a},j=async()=>(await c.run(d.token,d.ref,ab(ac),!1)).ok,k=await c.run(d.token,d.ref,ab(function(a){if(!aa.test(a))throw Error("bad verifier");return[`if not exists (select 1 from pg_catalog.pg_roles where rolname = '${X}') then create role ${X} login password '${a}'; else alter role ${X} with login password '${a}'; end if;`,`alter role ${X} set default_transaction_read_only = on;`,`alter role ${X} set statement_timeout = '5s';`,`grant connect on database postgres to ${X};`,`grant usage on schema public to ${X};`,`grant select on all tables in schema public to ${X};`,`alter default privileges for role postgres in schema public grant select on tables to ${X};`,`begin grant pg_read_all_stats to ${X}; exception when others then null; end;`]}(c.verifier(f))),!1);if(!k.ok){if("transient"===k.kind&&void 0===k.status){let a=await j();return{ok:!1,error:`${k.error} ${a?"Any grants it may have given were revoked.":`Check the ${X} role in the Supabase SQL Editor.`}`,audit:i}}return{ok:!1,error:ai(k),audit:i}}let l={ok:!1,error:"Not checked."};for(let d=0;d<3&&(d>0&&await c.sleep(2e3),!(l=await c.save(a,g.dsn,b)).ok&&ah.has(l.error));d++);if(!l.ok){let a=await j();return{ok:!1,error:`The new role didn't pass the read-only check, so nothing was saved: ${l.error} ${a?`Its grants were revoked and its login turned off (the role ${X} stays; nothing was dropped).`:`Revoking its grants failed too: run "revoke all on all tables in schema public from ${X}; alter role ${X} nologin;" in the Supabase SQL Editor.`}`,audit:i}}return{ok:!0,message:`SQL access created for ${h}: read-only role ${X} checked and saved.`,audit:{kind:"ok",message:`SQL access created automatically for ${h} (read-only role ${X})`,resourceId:a}}}var al=a.i(75105),am=a.i(312573),an=a.i(323878),ao=a.i(530175),ap=a.i(713095);let aq={requireActionMember:e.g};async function ar(a,b){if(a)try{await (0,f.f)({kind:a.kind,message:a.message,detail:a.detail,resourceId:a.resourceId,actorUserId:b.userId})}catch{console.warn("audit event failed")}}let as=(a,b,c)=>async()=>{let d=await (0,an.C)(a,b.id);return d.allowed?null:`Too many ${c}. Try again in ${(0,am.H)(d.retryAfter)}.`};async function at(a,b,c){return(0,d.F)("owner",async d=>{if(!(0,n.f)(a)||"boolean"!=typeof c)return{ok:!1,error:al.w};let e=(0,ao.E)(b);if(!e.ok)return{ok:!1,error:e.error,fieldErrors:{sql:e.error}};let f=await (0,ad.A)(a,e.text,c,as(am.t.sqlRun,d,"runs"));if(await ar(f.audit,d),!f.ok)return{ok:!1,error:f.error,...f.needsWake?{data:{needsWake:!0}}:{}};let{columns:g,rows:h,rowCount:i,truncated:j,durationMs:k}=f.result;return{ok:!0,data:{run:{columns:g,rows:h,rowCount:i,truncated:j,durationMs:k}}}},aq)}async function au(a,b){if(!a.ok)return{ok:!1,error:a.error,..."needsWake"in a&&a.needsWake?{data:{needsWake:!0}}:{}};if(a.audit)try{await (0,f.f)({kind:"ok",...a.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,c.refresh)(),{ok:!0,message:a.message}}async function av(a,b,c){return(0,d.F)("owner",async d=>{if(!(0,n.f)(a)||"string"!=typeof b||"boolean"!=typeof c)return{ok:!1,error:al.w};if(!b.trim())return{ok:!1,error:"Paste a connection string.",fieldErrors:{dsn:"Paste a connection string."}};let e=await as(am.t.credential,d,"connection tests")();return e?{ok:!1,error:e}:au(await (0,ad.o)(a,b,c,d.userId),d)},aq)}async function aw(a){return(0,d.F)("owner",async b=>{if(!(0,n.f)(a))return{ok:!1,error:al.w};let c=await as(am.t.credential,b,"connection tests")();return c?{ok:!1,error:c}:{ok:!0,data:await aj(a)}},aq)}async function ax(a){return(0,d.F)("owner",async b=>{if(!(0,n.f)(a))return{ok:!1,error:al.w};let d=await (0,P.q)(b.id,"sql-auto",a);if(d)return{ok:!1,error:d};let e=await ak(a,b.userId);if(e.audit)try{await (0,f.f)({kind:e.audit.kind,message:e.audit.message,resourceId:e.audit.resourceId,actorUserId:b.userId})}catch{console.warn("audit event failed")}return e.ok?((0,c.refresh)(),{ok:!0,message:e.message}):{ok:!1,error:e.error}},aq)}async function ay(a){return(0,d.F)("owner",async b=>{if(!(0,n.f)(a))return{ok:!1,error:al.w};let c=await as(am.t.monitorWrite,b,"changes")();return c?{ok:!1,error:c}:au(await (0,ad.y)(a),b)},aq)}async function az(a){return(0,d.F)("owner",async b=>{if(!(0,n.f)(a))return{ok:!1,error:al.w};let c=await as(am.t.firestoreQuery,b,"Firestore queries")();if(c)return{ok:!1,error:c};let d=await N(a);return d.ok?{ok:!0,data:{collections:d.ids,more:d.more}}:{ok:!1,error:d.error}},aq)}async function aA(a,b){return(0,d.F)("owner",async c=>{if(!(0,n.f)(a))return{ok:!1,error:al.w};let d=await O(a,b,as(am.t.firestoreQuery,c,"Firestore queries"));return await ar(d.audit,c),d.ok?{ok:!0,data:{run:d.result}}:{ok:!1,error:d.error}},aq)}(0,ap.ensureServerEntryExports)([at,av,aw,ax,ay,az,aA]),(0,b.registerServerReference)(at,"70f439e21d260faafae81d26bf3764bbdc11f69182",null),(0,b.registerServerReference)(av,"70a0e9b1bf76f549682d6460a27205341e26523161",null),(0,b.registerServerReference)(aw,"40105f5deebe716d0111c6bdeee6285cc83fc8fa5c",null),(0,b.registerServerReference)(ax,"404154a0c6efe51844e31bb587feadf67f5b0e51e8",null),(0,b.registerServerReference)(ay,"404b564c8f5e5d407e0393a5c961703a05ded653e9",null),(0,b.registerServerReference)(az,"400601908317a31f5d55cf8455582b67e7464d6479",null),(0,b.registerServerReference)(aA,"60a47cd8c93422e94a0ee673fd3580804882903976",null),a.s(["u",0,ax,"o",0,ay,"L",0,az,"n",0,aA,"S",0,at,"$",0,av,"M",0,aw],719825)}];
5
+ $watchpost$;`,ac=[`revoke select on all tables in schema public from ${X};`,`alter default privileges for role postgres in schema public revoke select on tables from ${X};`,`revoke usage on schema public from ${X};`,`revoke connect on database postgres from ${X};`,`revoke pg_read_all_stats from ${X};`,`alter role ${X} nologin;`].map(a=>`begin ${a} exception when others then null; end;`);var ad=a.i(367623);let ae={target:async function(a){let b=await (0,ad.i)(a);if(!b||"supabase"!==b.provider)return null;let c=await (0,P.p)(a,"supabase_project");return c&&c.resource.externalId===b.externalId?{ref:b.externalId,token:c.token,paused:"paused"===b.state}:null},pooler:(a,b)=>V(a,b),run:(a,b,c,d)=>T(a,b,c,d),access:(a,b)=>W(a,b),save:(a,b,c)=>(0,ad.o)(a,b,!1,c),alias:async a=>(0,I.X)(await (0,J.e)(),a),password:()=>(function(a=g.randomBytes){return a(32).toString("base64url")})(),verifier:a=>(function(a,b=(0,g.randomBytes)(16),c=4096){let d=(0,g.pbkdf2Sync)(a.normalize("NFKC"),b,c,32,"sha256"),e=(0,g.createHash)("sha256").update(_(d,"Client Key")).digest(),f=_(d,"Server Key");return`SCRAM-SHA-256$${c}:${b.toString("base64")}$${e.toString("base64")}:${f.toString("base64")}`})(a),sleep:a=>new Promise(b=>setTimeout(b,a))},af="That Supabase project is no longer watched, or its token can't be read.",ag="This project is paused. Restore it first, then add SQL access.",ah=new Set([{code:"28P01"},{code:"08006"},{code:"CONNECT_TIMEOUT"}].map(Y.E));function ai(a){if("scope"===a.kind){let b;return b=a.missing??["database_write"],`This project's token can't set the role up (missing ${b.join(", ")}). It needs Database: Read-write and Connection pooling: Read; replace the token on Connections, or create the role by hand below.`}return a.error}async function aj(a,b=ae){if(!(0,n.f)(a))return{can:!1,reason:"other",error:"Something in that request wasn't valid."};let c=await b.target(a);return c?c.paused?{can:!1,reason:"other",error:ag}:b.access(c.token,c.ref):{can:!1,reason:"other",error:af}}async function ak(a,b,c=ae){if(!(0,n.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let d=await c.target(a);if(!d)return{ok:!1,error:af};if(d.paused)return{ok:!1,error:ag};let e=await c.pooler(d.token,d.ref);if(!e.ok)return{ok:!1,error:ai(e)};let f=c.password(),g=function(a,b,c){if(!Z.k.test(b))return{ok:!1,error:"This project's ref doesn't look right."};if(!$.test(c))return{ok:!1,error:"The generated password isn't valid."};let d=a.filter(a=>!a.database_type||"PRIMARY"===a.database_type),e=d.map(a=>(a.db_host??"").toLowerCase()).find(a=>Z.J.test(a));if(!e)return{ok:!1,error:"This project has no shared Supavisor pooler host (…pooler.supabase.com). Use the manual steps."};let f=d.find(a=>a.db_name&&/^[A-Za-z_][A-Za-z0-9_]{0,62}$/.test(a.db_name))?.db_name??"postgres";return{ok:!0,dsn:`postgresql://${X}.${b}:${encodeURIComponent(c)}@${e}:6543/${f}?sslmode=require`}}(e.data,d.ref,f);if(!g.ok)return{ok:!1,error:g.error};let h=await c.alias(a),i={kind:"err",message:`SQL access automatic setup failed \xb7 ${h}`,resourceId:a},j=async()=>(await c.run(d.token,d.ref,ab(ac),!1)).ok,k=await c.run(d.token,d.ref,ab(function(a){if(!aa.test(a))throw Error("bad verifier");return[`if not exists (select 1 from pg_catalog.pg_roles where rolname = '${X}') then create role ${X} login password '${a}'; else alter role ${X} with login password '${a}'; end if;`,`alter role ${X} set default_transaction_read_only = on;`,`alter role ${X} set statement_timeout = '5s';`,`grant connect on database postgres to ${X};`,`grant usage on schema public to ${X};`,`grant select on all tables in schema public to ${X};`,`alter default privileges for role postgres in schema public grant select on tables to ${X};`,`begin grant pg_read_all_stats to ${X}; exception when others then null; end;`]}(c.verifier(f))),!1);if(!k.ok){if("transient"===k.kind&&void 0===k.status){let a=await j();return{ok:!1,error:`${k.error} ${a?"Any grants it may have given were revoked.":`Check the ${X} role in the Supabase SQL Editor.`}`,audit:i}}return{ok:!1,error:ai(k),audit:i}}let l={ok:!1,error:"Not checked."};for(let d=0;d<3&&(d>0&&await c.sleep(2e3),!(l=await c.save(a,g.dsn,b)).ok&&ah.has(l.error));d++);if(!l.ok){let a=await j();return{ok:!1,error:`The new role didn't pass the read-only check, so nothing was saved: ${l.error} ${a?`Its grants were revoked and its login turned off (the role ${X} stays; nothing was dropped).`:`Revoking its grants failed too: run "revoke all on all tables in schema public from ${X}; alter role ${X} nologin;" in the Supabase SQL Editor.`}`,audit:i}}return{ok:!0,message:`SQL access created for ${h}: read-only role ${X} checked and saved.`,audit:{kind:"ok",message:`SQL access created automatically for ${h} (read-only role ${X})`,resourceId:a}}}var al=a.i(75105),am=a.i(312573),an=a.i(323878),ao=a.i(530175),ap=a.i(713095);let aq={requireActionMember:e.g};async function ar(a,b){if(a)try{await (0,f.f)({kind:a.kind,message:a.message,detail:a.detail,resourceId:a.resourceId,actorUserId:b.userId})}catch{console.warn("audit event failed")}}let as=(a,b,c)=>async()=>{let d=await (0,an.C)(a,b.id);return d.allowed?null:`Too many ${c}. Try again in ${(0,am.H)(d.retryAfter)}.`};async function at(a,b,c){return(0,d.F)("owner",async d=>{if(!(0,n.f)(a)||"boolean"!=typeof c)return{ok:!1,error:al.w};let e=(0,ao.E)(b);if(!e.ok)return{ok:!1,error:e.error,fieldErrors:{sql:e.error}};let f=await (0,ad.A)(a,e.text,c,as(am.t.sqlRun,d,"runs"));if(await ar(f.audit,d),!f.ok)return{ok:!1,error:f.error,...f.needsWake?{data:{needsWake:!0}}:{}};let{columns:g,rows:h,rowCount:i,truncated:j,durationMs:k}=f.result;return{ok:!0,data:{run:{columns:g,rows:h,rowCount:i,truncated:j,durationMs:k}}}},aq)}async function au(a,b){if(!a.ok)return{ok:!1,error:a.error,..."needsWake"in a&&a.needsWake?{data:{needsWake:!0}}:{}};if(a.audit)try{await (0,f.f)({kind:"ok",...a.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,c.refresh)(),{ok:!0,message:a.message}}async function av(a,b,c){return(0,d.F)("owner",async d=>{if(!(0,n.f)(a)||"string"!=typeof b||"boolean"!=typeof c)return{ok:!1,error:al.w};if(!b.trim())return{ok:!1,error:"Paste a connection string.",fieldErrors:{dsn:"Paste a connection string."}};let e=await as(am.t.credential,d,"connection tests")();return e?{ok:!1,error:e}:au(await (0,ad.o)(a,b,c,d.userId),d)},aq)}async function aw(a){return(0,d.F)("owner",async b=>{if(!(0,n.f)(a))return{ok:!1,error:al.w};let c=await as(am.t.credential,b,"connection tests")();return c?{ok:!1,error:c}:{ok:!0,data:await aj(a)}},aq)}async function ax(a){return(0,d.F)("owner",async b=>{if(!(0,n.f)(a))return{ok:!1,error:al.w};let d=await (0,P.q)(b.id,"sql-auto",a);if(d)return{ok:!1,error:d};let e=await ak(a,b.userId);if(e.audit)try{await (0,f.f)({kind:e.audit.kind,message:e.audit.message,resourceId:e.audit.resourceId,actorUserId:b.userId})}catch{console.warn("audit event failed")}return e.ok?((0,c.refresh)(),{ok:!0,message:e.message}):{ok:!1,error:e.error}},aq)}async function ay(a){return(0,d.F)("owner",async b=>{if(!(0,n.f)(a))return{ok:!1,error:al.w};let c=await as(am.t.monitorWrite,b,"changes")();return c?{ok:!1,error:c}:au(await (0,ad.y)(a),b)},aq)}async function az(a){return(0,d.F)("owner",async b=>{if(!(0,n.f)(a))return{ok:!1,error:al.w};let c=await as(am.t.firestoreQuery,b,"Firestore queries")();if(c)return{ok:!1,error:c};let d=await N(a);return d.ok?{ok:!0,data:{collections:d.ids,more:d.more}}:{ok:!1,error:d.error}},aq)}async function aA(a,b){return(0,d.F)("owner",async c=>{if(!(0,n.f)(a))return{ok:!1,error:al.w};let d=await O(a,b,as(am.t.firestoreQuery,c,"Firestore queries"));return await ar(d.audit,c),d.ok?{ok:!0,data:{run:d.result}}:{ok:!1,error:d.error}},aq)}(0,ap.ensureServerEntryExports)([at,av,aw,ax,ay,az,aA]),(0,b.registerServerReference)(at,"7078423f4c8d343df20984b21ffbb1a4734d2311be",null),(0,b.registerServerReference)(av,"70b4e03c24488e8234e5e38cd2a7dde6e617e23432",null),(0,b.registerServerReference)(aw,"4024a23ecb41de0935162749ac527021fd56b1cbe9",null),(0,b.registerServerReference)(ax,"408b5c24481affd6b9646b8c5cb20648076cf0995f",null),(0,b.registerServerReference)(ay,"4081a9aa4f92916ed3f3f44e8af9567ec41cb9e089",null),(0,b.registerServerReference)(az,"40f5eab32cd382b285ae8d2285a2ddd4b7b921e732",null),(0,b.registerServerReference)(aA,"60d8c86a9ba13914cc8ab3299a3c6052c822b05b06",null),a.s(["u",0,ax,"o",0,ay,"L",0,az,"n",0,aA,"S",0,at,"$",0,av,"M",0,aw],719825)}];
6
6
 
7
7
  //# sourceMappingURL=src_app_%28console%29_sql_actions_ts_1oqco02hw-3vp._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[856951,a=>{"use strict";var b=a.i(907997),c=a.i(803681),d=a.i(685865),e=a.i(605826),f=a.i(954296),g=a.i(686251),h=a.i(791444),i=a.i(109307),j=a.i(532620),k=a.i(46396),l=a.i(139138);let m=["Provider",(0,b.jsxs)("span",{children:["Status",(0,b.jsx)(f.Src,{kind:"api"})]},"s"),"Feed","Checked"];async function n(){await (0,i.I)();let a=new Date,f=(0,k.u)(await (0,j.B)(),a);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.AutoRefresh,{at:a.getTime()}),(0,b.jsx)(c.L,{crumbs:[{label:"Observe"},{label:"Provider status"}],title:"Provider status",sub:"Public status feeds, polled every 5 minutes. When a provider has an incident, its alerts are labelled so you know the problem isn't your app. Cloudflare data centres (outages and maintenance) count only for SIN and CGK; an open incident is coloured by its own impact."}),(0,b.jsx)(c.N,{flush:!0,children:(0,b.jsx)(e.PlainTable,{head:m,rows:f.map(a=>({key:a.provider,state:a.state,text:`${a.label} ${a.text}`,row:(0,b.jsxs)("tr",{className:h.C,children:[(0,b.jsx)("td",{className:h.z,children:(0,b.jsx)("b",{className:"font-medium",children:a.label})}),(0,b.jsxs)("td",{className:(0,l.f)(h.z,h.M),children:[(0,b.jsx)(g.F,{state:a.state,children:a.text}),a.incidents.map(a=>(0,b.jsxs)("div",{className:"mt-0.5 text-[12.5px] text-ink-faint",children:[a.name,a.url&&(0,b.jsxs)(b.Fragment,{children:[" · ",(0,b.jsx)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"text-brand hover:underline",children:"Open status page"})]})]},`${a.name}${a.startedAt}`))]}),(0,b.jsx)("td",{className:(0,l.f)(h.z,"text-ink-soft"),children:a.feedText}),(0,b.jsx)("td",{className:(0,l.f)(h.z,"text-ink-soft"),children:a.checked})]})}))})})]})}a.s(["default",0,n])},399924,function(a){a.n(a.i(856951))}];
1
+ module.exports=[856951,a=>{"use strict";var b=a.i(907997),c=a.i(803681),d=a.i(685865),e=a.i(605826),f=a.i(954296),g=a.i(686251),h=a.i(791444),i=a.i(109307),j=a.i(532620),k=a.i(46396),l=a.i(139138);let m=["Provider",(0,b.jsxs)("span",{children:["Status",(0,b.jsx)(f.Src,{kind:"api"})]},"s"),"Feed","Checked"];async function n(){await (0,i.I)();let a=new Date,f=(0,k.u)(await (0,j.B)(),a);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.AutoRefresh,{at:a.getTime()}),(0,b.jsx)(c.L,{crumbs:[{label:"Home"},{label:"Provider status"}],title:"Provider status",sub:"Public status feeds, polled every 5 minutes. When a provider has an incident, its alerts are labelled so you know the problem isn't your app. Cloudflare data centres (outages and maintenance) count only for SIN and CGK; an open incident is coloured by its own impact."}),(0,b.jsx)(c.N,{flush:!0,children:(0,b.jsx)(e.PlainTable,{head:m,rows:f.map(a=>({key:a.provider,state:a.state,text:`${a.label} ${a.text}`,row:(0,b.jsxs)("tr",{className:h.C,children:[(0,b.jsx)("td",{className:h.z,children:(0,b.jsx)("b",{className:"font-medium",children:a.label})}),(0,b.jsxs)("td",{className:(0,l.f)(h.z,h.M),children:[(0,b.jsx)(g.F,{state:a.state,children:a.text}),a.incidents.map(a=>(0,b.jsxs)("div",{className:"mt-0.5 text-[12.5px] text-ink-faint",children:[a.name,a.url&&(0,b.jsxs)(b.Fragment,{children:[" · ",(0,b.jsx)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"text-brand hover:underline",children:"Open status page"})]})]},`${a.name}${a.startedAt}`))]}),(0,b.jsx)("td",{className:(0,l.f)(h.z,"text-ink-soft"),children:a.feedText}),(0,b.jsx)("td",{className:(0,l.f)(h.z,"text-ink-soft"),children:a.checked})]})}))})})]})}a.s(["default",0,n])},399924,function(a){a.n(a.i(856951))}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_status_page_tsx_1zvj799nv4kah._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[28358,a=>{var b=a.i(187924),c=a.i(196790),d=a.i(572131),e=a.i(823292),f=a.i(611619),g=a.i(619089),h=a.i(507504),i=a.i(814574),j=a.i(405050);let k=(0,j.createServerReference)("40c554a1865ad7f9ff0ec4b9aac5fd7549d5f954da",j.callServer,void 0,j.findSourceMapURL,"deleteMetricsKey"),l=(0,j.createServerReference)("7009e73c344d9c4102e0cabf32a1c14016a54d74ff",j.callServer,void 0,j.findSourceMapURL,"setMetricsKey");function m({id:a,projectRef:f,alias:j,hasKey:k,open:n,onOpenChange:o,trigger:p}){let[q,r]=(0,d.useState)(!1),s=n??q,[t,u]=(0,d.useState)(""),[v,w]=(0,d.useState)(),[x,y]=(0,d.useTransition)();function z(a){x||(u(""),w(void 0),void 0===n&&r(a),o?.(a))}return(0,h.useHoldRefresh)(s),(0,b.jsxs)(i.N,{open:s,onOpenChange:z,children:[p&&(0,b.jsx)(i.a,{render:p}),(0,b.jsxs)(i.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsxs)(i.F,{className:"text-base",children:[k?"Replace":"Add"," metrics key for ",j]}),(0,b.jsx)(i.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"CPU, RAM, disk and connections come from Supabase's Metrics API (beta), which needs a Secret API key of this project."})]})]}),(0,b.jsxs)("form",{onSubmit:b=>{b.preventDefault(),y(async()=>{try{let b=await l(a,f,t);if(!b.ok){w(b.fieldErrors?.key??b.error),e.c.error(b.error);return}let c=b.message?.includes("test call failed");e.c.success(`Metrics key saved for ${j}`,{description:c?"The test call failed; the Compute panel shows why.":"CPU shows after the next scrape, in about 5 minutes."}),u(""),z(!1)}catch{e.c.error("Something went wrong. Try again.")}})},children:[(0,b.jsxs)("div",{className:"px-[18px] pt-2 text-[13px] text-ink-soft",children:[(0,b.jsxs)("ol",{className:"mb-3 list-decimal space-y-1 pl-5",children:[(0,b.jsxs)("li",{children:["In Supabase, open ",(0,b.jsx)("b",{className:"font-medium text-ink",children:"Project Settings → API Keys"})," for this project and create a new Secret API key named ",(0,b.jsx)("span",{className:"font-mono text-ink",children:"watchbell-metrics"}),"."]}),(0,b.jsx)("li",{children:"Paste it below. A secret key has full database power, so the console stores it encrypted, never shows it again and only sends it to this project's metrics endpoint."}),(0,b.jsx)("li",{children:"You can revoke it in Supabase at any time; the panel then shows the error and you can add a new one."})]}),(0,b.jsx)(g.O,{id:`mk-${a}`,label:"Secret API key",error:v,help:"Starts with sb_secret_. Saving makes one test call to the metrics endpoint.",children:(0,b.jsx)("input",{id:`mk-${a}`,type:"password",className:`${g.S} font-mono`,autoComplete:"off",spellCheck:!1,placeholder:"sb_secret_…",value:t,onChange:a=>{u(a.target.value),w(void 0)}})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(g.K,{type:"button",onClick:()=>z(!1),disabled:x,children:"Cancel"}),(0,b.jsx)(g.K,{type:"submit",variant:"primary",disabled:x||!t.trim(),children:x?"Testing…":k?"Replace key":"Save key"})]})]})]})]})}a.s(["MetricsKeyButtons",0,function({id:a,projectRef:c,alias:d,hasKey:e}){return(0,b.jsxs)("span",{className:"inline-flex gap-1.5",children:[(0,b.jsx)(m,{id:a,projectRef:c,alias:d,hasKey:e,trigger:(0,b.jsx)(g.K,{size:"sm",children:e?"Replace key":"Add metrics key"})}),e&&(0,b.jsx)(f.f,{trigger:(0,b.jsx)(g.K,{size:"sm",variant:"ghost",children:"Remove"}),danger:!0,title:`Remove the metrics key of ${d}?`,cta:"Remove key",body:"The console deletes the stored key and this project's compute history. Revoke the key in Supabase (Project Settings → API Keys) too.",onConfirm:async()=>{let b=await k(a);return b.ok?{ok:!0,message:`Metrics key removed for ${d}.`}:{ok:!1,message:b.error}}})]})},"MetricsKeyDialog",0,m],28358)},103113,a=>{var b=a.i(187924),c=a.i(908161),d=a.i(572131),e=a.i(823292),f=a.i(771378),g=a.i(611619),h=a.i(619089),i=a.i(507504),j=a.i(54901),k=a.i(188406),l=a.i(814574),m=a.i(405050);let n=(0,m.createServerReference)("602d7bed70b158d7bb0cdda707a17f56c84ba98d46",m.callServer,void 0,m.findSourceMapURL,"pauseAction"),o=(0,m.createServerReference)("60d3b5193df175278ce72bf3d162ac9e881403bd2d",m.callServer,void 0,m.findSourceMapURL,"restoreAction"),p=(0,m.createServerReference)("60b738b50670b935056450df0ad4794245dd65daa5",m.callServer,void 0,m.findSourceMapURL,"setAutoRestore"),q=(0,m.createServerReference)("607c42abf0b3ed8e74424e16a8e2bb5753dddf5d00",m.callServer,void 0,m.findSourceMapURL,"setKeepActive");var r=a.i(28358);function s({alias:a,account:g,choices:j}){let[k,m]=(0,d.useState)(!1),[o,p]=(0,d.useState)(j.at(-1)?.id??""),[q,r]=(0,d.useTransition)(),t=(0,f.useMask)();(0,i.useHoldRefresh)(k);let u=j.find(a=>a.id===o);return(0,b.jsxs)(l.N,{open:k,onOpenChange:a=>{!q&&(m(a),a&&p(j.at(-1)?.id??""))},children:[(0,b.jsx)(l.a,{render:(0,b.jsx)(h.K,{size:"sm",children:"Restore"})}),(0,b.jsxs)(l.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsxs)(l.F,{className:"text-base",children:["Restore ",a,"?"]}),(0,b.jsxs)(l.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["Account ",(0,b.jsx)(f.Masked,{kind:"account",real:g})," already uses both free slots. Pick a project to pause first."]})]})]}),(0,b.jsxs)("div",{className:"px-[18px] pb-2",children:[j.length?(0,b.jsx)("div",{className:"max-h-[260px] overflow-y-auto",children:j.map(a=>(0,b.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 border-b border-line px-1 py-[9px] last:border-b-0 hover:bg-hover",children:[(0,b.jsx)("input",{type:"radio",name:"pause-first",className:"size-4 accent-brand",checked:o===a.id,onChange:()=>p(a.id)}),(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"block truncate",children:["Pause ",a.alias]}),(0,b.jsxs)("span",{className:"block truncate text-[12px] text-ink-faint",children:["Last API traffic ",a.traffic,a.usedBy.length?` \xb7 used by ${a.usedBy.map(a=>t("app",a)).join(", ")}`:""]})]})]},a.id))}):(0,b.jsx)("p",{className:"my-2 text-[13px] text-ink-soft",children:"The console doesn't watch this account's active projects, so pause one in Supabase first."}),(0,b.jsxs)("p",{className:"mb-2 mt-3 text-[13px] text-ink-soft",children:["Apps that use the paused project get errors until you restore it. You can also move ",a," to another account with a free slot instead."]}),(0,b.jsx)("p",{className:"mb-3 text-[13px] text-ink-soft",children:"Restore stays blocked until the project you pause shows Paused (about 2 minutes). Then press Restore again."})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(h.K,{onClick:()=>m(!1),disabled:q,children:"Cancel"}),(0,b.jsx)(h.K,{variant:"danger",disabled:q||!u,onClick:function(){u&&r(async()=>{try{let b=await n(u.id,u.ref);if(!b.ok)return void e.c.error(b.error);e.c.success("Pause started",{description:`Pausing ${u.alias}. Restore ${a} once ${u.alias} shows Paused, about 2 minutes.`}),m(!1)}catch{e.c.error("Something went wrong. Try again.")}})},children:q?"Working…":"Pause selected"})]})]})]})}let t={keep:(a,b)=>b?`${a}: warning from day 5 without API traffic, and one keep-alive query a day.`:`${a} may pause after 7 idle days.`,autoRestore:(a,b)=>b?`${a} is restored automatically when its account has a free slot.`:`${a} is no longer restored automatically.`};a.s(["ActiveRowMenu",0,function({id:a,projectRef:c,alias:e,label:f,metrics:g,dashboard:h=!0}){let{open:i,dialog:l}=(0,j.W)(),[m,o]=(0,d.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(k.RowMenu,{label:f,items:[...h?[{label:"Open in Supabase",href:`https://supabase.com/dashboard/project/${encodeURIComponent(c)}`}]:[],{label:"Check services",later:6},...g?[{label:g.hasKey?"Replace metrics key":"Add metrics key",onSelect:()=>o(!0)}]:[],"---",{label:"Pause project",danger:!0,onSelect:()=>i({title:`Pause ${e}?`,body:"Supabase stops the project in about 2 minutes. Apps that use this database get errors until it's restored (possible for 1 year). Pausing frees one of this account's 2 free slots. Nothing is deleted.",cta:"Pause project",danger:!0,run:async()=>{let b;return(b=`Pausing ${e}. It takes about 2 minutes.`,a=>a.ok?{ok:!0,message:b}:a)(await n(a,c))}})}]}),l,g&&(0,b.jsx)(r.MetricsKeyDialog,{id:a,projectRef:c,alias:e,hasKey:g.hasKey,open:m,onOpenChange:o})]})},"KeepActiveBoxes",0,function({id:a,alias:c,keep:f,autoRestore:g,owner:h,sent:i}){let[j,k]=(0,d.useState)({keep:f,autoRestore:g}),[l,m]=(0,d.useTransition)(),n=(d,f)=>(0,b.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",title:h?void 0:"Owner only",children:[(0,b.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:j[d],disabled:!h||l,onChange:b=>{var f;return f=b.target.checked,void(k({...j,[d]:f}),m(async()=>{try{let b=await ("keep"===d?q:p)(a,f);if(!b.ok){k(j),e.c.error(b.error);return}e.c.success("Keep active saved",{description:t[d](c,f)})}catch{k(j),e.c.error("Something went wrong. Try again.")}}))}}),f]});return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[n("keep","Keep active"),n("autoRestore","Auto-restore")]}),i&&(0,b.jsxs)("div",{className:"text-[12px] text-ink-faint",children:["Keep-alive sent ",i]})]})},"RestoreButton",0,function({id:a,projectRef:c,alias:d,account:e,slotsLeft:f,choices:i}){return f>0?(0,b.jsx)(g.f,{trigger:(0,b.jsx)(h.K,{size:"sm",children:"Restore"}),title:`Restore ${d}?`,body:"Supabase brings the project back in about 2 minutes. Apps that use it start working again after that.",cta:"Restore",onConfirm:async()=>{let b=await o(a,c);return b.ok?{ok:!0,message:`Restoring ${d}. It takes about 2 minutes.`}:{ok:!1,message:b.error}}}):(0,b.jsx)(s,{alias:d,account:e,choices:i})}],103113)}]})();
1
+ (()=>{"use strict";module.exports=[28358,a=>{var b=a.i(187924),c=a.i(196790),d=a.i(572131),e=a.i(823292),f=a.i(611619),g=a.i(619089),h=a.i(507504),i=a.i(814574),j=a.i(405050);let k=(0,j.createServerReference)("406bf958e64f91452b8f85475f220c94a216a87558",j.callServer,void 0,j.findSourceMapURL,"deleteMetricsKey"),l=(0,j.createServerReference)("70b47ce53b37cdb18f7fd404d363335ce6dd37c787",j.callServer,void 0,j.findSourceMapURL,"setMetricsKey");function m({id:a,projectRef:f,alias:j,hasKey:k,open:n,onOpenChange:o,trigger:p}){let[q,r]=(0,d.useState)(!1),s=n??q,[t,u]=(0,d.useState)(""),[v,w]=(0,d.useState)(),[x,y]=(0,d.useTransition)();function z(a){x||(u(""),w(void 0),void 0===n&&r(a),o?.(a))}return(0,h.useHoldRefresh)(s),(0,b.jsxs)(i.N,{open:s,onOpenChange:z,children:[p&&(0,b.jsx)(i.a,{render:p}),(0,b.jsxs)(i.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsxs)(i.F,{className:"text-base",children:[k?"Replace":"Add"," metrics key for ",j]}),(0,b.jsx)(i.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"CPU, RAM, disk and connections come from Supabase's Metrics API (beta), which needs a Secret API key of this project."})]})]}),(0,b.jsxs)("form",{onSubmit:b=>{b.preventDefault(),y(async()=>{try{let b=await l(a,f,t);if(!b.ok){w(b.fieldErrors?.key??b.error),e.c.error(b.error);return}let c=b.message?.includes("test call failed");e.c.success(`Metrics key saved for ${j}`,{description:c?"The test call failed; the Compute panel shows why.":"CPU shows after the next scrape, in about 5 minutes."}),u(""),z(!1)}catch{e.c.error("Something went wrong. Try again.")}})},children:[(0,b.jsxs)("div",{className:"px-[18px] pt-2 text-[13px] text-ink-soft",children:[(0,b.jsxs)("ol",{className:"mb-3 list-decimal space-y-1 pl-5",children:[(0,b.jsxs)("li",{children:["In Supabase, open ",(0,b.jsx)("b",{className:"font-medium text-ink",children:"Project Settings → API Keys"})," for this project and create a new Secret API key named ",(0,b.jsx)("span",{className:"font-mono text-ink",children:"watchbell-metrics"}),"."]}),(0,b.jsx)("li",{children:"Paste it below. A secret key has full database power, so the console stores it encrypted, never shows it again and only sends it to this project's metrics endpoint."}),(0,b.jsx)("li",{children:"You can revoke it in Supabase at any time; the panel then shows the error and you can add a new one."})]}),(0,b.jsx)(g.O,{id:`mk-${a}`,label:"Secret API key",error:v,help:"Starts with sb_secret_. Saving makes one test call to the metrics endpoint.",children:(0,b.jsx)("input",{id:`mk-${a}`,type:"password",className:`${g.S} font-mono`,autoComplete:"off",spellCheck:!1,placeholder:"sb_secret_…",value:t,onChange:a=>{u(a.target.value),w(void 0)}})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(g.K,{type:"button",onClick:()=>z(!1),disabled:x,children:"Cancel"}),(0,b.jsx)(g.K,{type:"submit",variant:"primary",disabled:x||!t.trim(),children:x?"Testing…":k?"Replace key":"Save key"})]})]})]})]})}a.s(["MetricsKeyButtons",0,function({id:a,projectRef:c,alias:d,hasKey:e}){return(0,b.jsxs)("span",{className:"inline-flex gap-1.5",children:[(0,b.jsx)(m,{id:a,projectRef:c,alias:d,hasKey:e,trigger:(0,b.jsx)(g.K,{size:"sm",children:e?"Replace key":"Add metrics key"})}),e&&(0,b.jsx)(f.f,{trigger:(0,b.jsx)(g.K,{size:"sm",variant:"ghost",children:"Remove"}),danger:!0,title:`Remove the metrics key of ${d}?`,cta:"Remove key",body:"The console deletes the stored key and this project's compute history. Revoke the key in Supabase (Project Settings → API Keys) too.",onConfirm:async()=>{let b=await k(a);return b.ok?{ok:!0,message:`Metrics key removed for ${d}.`}:{ok:!1,message:b.error}}})]})},"MetricsKeyDialog",0,m],28358)},103113,a=>{var b=a.i(187924),c=a.i(908161),d=a.i(572131),e=a.i(823292),f=a.i(771378),g=a.i(611619),h=a.i(619089),i=a.i(507504),j=a.i(54901),k=a.i(188406),l=a.i(814574),m=a.i(405050);let n=(0,m.createServerReference)("6092496daace0491c99105f672e6d9587f7d3673f4",m.callServer,void 0,m.findSourceMapURL,"pauseAction"),o=(0,m.createServerReference)("60f93dc70a9244b3590cdcd0840faa30be028d5b99",m.callServer,void 0,m.findSourceMapURL,"restoreAction"),p=(0,m.createServerReference)("60cfea148fd689403a67dc92b60cbce0d180d39aa2",m.callServer,void 0,m.findSourceMapURL,"setAutoRestore"),q=(0,m.createServerReference)("6001e418c2b1b2cfeb7e7083f75f04127facfab4ac",m.callServer,void 0,m.findSourceMapURL,"setKeepActive");var r=a.i(28358);function s({alias:a,account:g,choices:j}){let[k,m]=(0,d.useState)(!1),[o,p]=(0,d.useState)(j.at(-1)?.id??""),[q,r]=(0,d.useTransition)(),t=(0,f.useMask)();(0,i.useHoldRefresh)(k);let u=j.find(a=>a.id===o);return(0,b.jsxs)(l.N,{open:k,onOpenChange:a=>{!q&&(m(a),a&&p(j.at(-1)?.id??""))},children:[(0,b.jsx)(l.a,{render:(0,b.jsx)(h.K,{size:"sm",children:"Restore"})}),(0,b.jsxs)(l.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsxs)(l.F,{className:"text-base",children:["Restore ",a,"?"]}),(0,b.jsxs)(l.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["Account ",(0,b.jsx)(f.Masked,{kind:"account",real:g})," already uses both free slots. Pick a project to pause first."]})]})]}),(0,b.jsxs)("div",{className:"px-[18px] pb-2",children:[j.length?(0,b.jsx)("div",{className:"max-h-[260px] overflow-y-auto",children:j.map(a=>(0,b.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 border-b border-line px-1 py-[9px] last:border-b-0 hover:bg-hover",children:[(0,b.jsx)("input",{type:"radio",name:"pause-first",className:"size-4 accent-brand",checked:o===a.id,onChange:()=>p(a.id)}),(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"block truncate",children:["Pause ",a.alias]}),(0,b.jsxs)("span",{className:"block truncate text-[12px] text-ink-faint",children:["Last API traffic ",a.traffic,a.usedBy.length?` \xb7 used by ${a.usedBy.map(a=>t("app",a)).join(", ")}`:""]})]})]},a.id))}):(0,b.jsx)("p",{className:"my-2 text-[13px] text-ink-soft",children:"The console doesn't watch this account's active projects, so pause one in Supabase first."}),(0,b.jsxs)("p",{className:"mb-2 mt-3 text-[13px] text-ink-soft",children:["Apps that use the paused project get errors until you restore it. You can also move ",a," to another account with a free slot instead."]}),(0,b.jsx)("p",{className:"mb-3 text-[13px] text-ink-soft",children:"Restore stays blocked until the project you pause shows Paused (about 2 minutes). Then press Restore again."})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(h.K,{onClick:()=>m(!1),disabled:q,children:"Cancel"}),(0,b.jsx)(h.K,{variant:"danger",disabled:q||!u,onClick:function(){u&&r(async()=>{try{let b=await n(u.id,u.ref);if(!b.ok)return void e.c.error(b.error);e.c.success("Pause started",{description:`Pausing ${u.alias}. Restore ${a} once ${u.alias} shows Paused, about 2 minutes.`}),m(!1)}catch{e.c.error("Something went wrong. Try again.")}})},children:q?"Working…":"Pause selected"})]})]})]})}let t={keep:(a,b)=>b?`${a}: warning from day 5 without API traffic, and one keep-alive query a day.`:`${a} may pause after 7 idle days.`,autoRestore:(a,b)=>b?`${a} is restored automatically when its account has a free slot.`:`${a} is no longer restored automatically.`};a.s(["ActiveRowMenu",0,function({id:a,projectRef:c,alias:e,label:f,metrics:g,dashboard:h=!0}){let{open:i,dialog:l}=(0,j.W)(),[m,o]=(0,d.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(k.RowMenu,{label:f,items:[...h?[{label:"Open in Supabase",href:`https://supabase.com/dashboard/project/${encodeURIComponent(c)}`}]:[],{label:"Check services",later:6},...g?[{label:g.hasKey?"Replace metrics key":"Add metrics key",onSelect:()=>o(!0)}]:[],"---",{label:"Pause project",danger:!0,onSelect:()=>i({title:`Pause ${e}?`,body:"Supabase stops the project in about 2 minutes. Apps that use this database get errors until it's restored (possible for 1 year). Pausing frees one of this account's 2 free slots. Nothing is deleted.",cta:"Pause project",danger:!0,run:async()=>{let b;return(b=`Pausing ${e}. It takes about 2 minutes.`,a=>a.ok?{ok:!0,message:b}:a)(await n(a,c))}})}]}),l,g&&(0,b.jsx)(r.MetricsKeyDialog,{id:a,projectRef:c,alias:e,hasKey:g.hasKey,open:m,onOpenChange:o})]})},"KeepActiveBoxes",0,function({id:a,alias:c,keep:f,autoRestore:g,owner:h,sent:i}){let[j,k]=(0,d.useState)({keep:f,autoRestore:g}),[l,m]=(0,d.useTransition)(),n=(d,f)=>(0,b.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",title:h?void 0:"Owner only",children:[(0,b.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:j[d],disabled:!h||l,onChange:b=>{var f;return f=b.target.checked,void(k({...j,[d]:f}),m(async()=>{try{let b=await ("keep"===d?q:p)(a,f);if(!b.ok){k(j),e.c.error(b.error);return}e.c.success("Keep active saved",{description:t[d](c,f)})}catch{k(j),e.c.error("Something went wrong. Try again.")}}))}}),f]});return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[n("keep","Keep active"),n("autoRestore","Auto-restore")]}),i&&(0,b.jsxs)("div",{className:"text-[12px] text-ink-faint",children:["Keep-alive sent ",i]})]})},"RestoreButton",0,function({id:a,projectRef:c,alias:d,account:e,slotsLeft:f,choices:i}){return f>0?(0,b.jsx)(g.f,{trigger:(0,b.jsx)(h.K,{size:"sm",children:"Restore"}),title:`Restore ${d}?`,body:"Supabase brings the project back in about 2 minutes. Apps that use it start working again after that.",cta:"Restore",onConfirm:async()=>{let b=await o(a,c);return b.ok?{ok:!0,message:`Restoring ${d}. It takes about 2 minutes.`}:{ok:!1,message:b.error}}}):(0,b.jsx)(s,{alias:d,account:e,choices:i})}],103113)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_supabase_0ib3m2ch9gu-4._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[[758173,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call MetricsKeyButtons() from the server but MetricsKeyButtons 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)/supabase/metrics-key-dialog.tsx","MetricsKeyButtons");(0,b.registerClientReference)(function(){throw Error("Attempted to call MetricsKeyDialog() from the server but MetricsKeyDialog 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)/supabase/metrics-key-dialog.tsx","MetricsKeyDialog"),a.s(["MetricsKeyButtons",0,c])},140698,a=>{var b=a.i(758173);a.n(b)},491641,a=>{var b=a.i(907997),c=a.i(175038),d=a.i(395936),e=a.i(701702),f=a.i(803681),g=a.i(959581),h=a.i(685865),i=a.i(154756),j=a.i(954296),k=a.i(686251),l=a.i(791444),m=a.i(109307),n=a.i(532620),o=a.i(560954),p=a.i(612990),q=a.i(863858),r=a.i(371289),s=a.i(658932),t=a.i(367623),u=a.i(367247),v=a.i(245710),w=a.i(139138),x=a.i(887923),y=a.i(715208),z=a.i(556987),A=a.i(505237),B=a.i(179806),C=a.i(252302),D=a.i(140698);let E="text-[12px] text-ink-faint";function F({blocks:a,owner:c}){return a.length?(0,b.jsxs)(f.N,{title:"Compute",meta:(0,b.jsx)(j.Src,{kind:"api",children:"Metrics API · 5 min"}),children:[(0,b.jsx)("p",{className:"mb-3 text-[12.5px] text-ink-soft",children:"From Supabase's Metrics API (beta) with a per-project Secret API key the owner adds. Bars are now; the line is the hourly average over 24 h. Egress and monthly active users aren't readable per project through the Management API: see Usage in the Supabase dashboard."}),(0,b.jsx)("div",{className:"flex flex-col divide-y divide-line",children:a.map(a=>(0,b.jsx)(G,{b:a,owner:c},a.id))})]}):null}function G({b:a,owner:c}){let d=a.panel,e="none"!==d.kind;return(0,b.jsxs)("div",{className:"py-3 first:pt-0 last:pb-0",children:[(0,b.jsxs)("div",{className:"mb-2 flex flex-wrap items-center gap-x-3 gap-y-1",children:[(0,b.jsx)(i.F,{kind:"db",name:a.name,dbId:a.id}),"ok"===d.kind&&(0,b.jsxs)("span",{className:(0,w.f)(E,d.stale&&"text-warn"),children:["as of ",d.asOf,d.stale?" · not updating":""]}),c&&(0,b.jsx)("span",{className:"ml-auto",children:(0,b.jsx)(D.MetricsKeyButtons,{id:a.id,projectRef:a.ref,alias:a.alias,hasKey:e})})]}),"none"===d.kind&&(0,b.jsxs)("p",{className:"text-[13px] text-ink-soft",children:[a.paused?"Paused: no compute to read. ":"","No metrics key yet",c?". Add one to see CPU, RAM, disk and connections.":". An owner can add one."]}),"waiting"===d.kind&&(0,b.jsx)("p",{className:"text-[13px] text-ink-soft",children:d.note}),"ok"===d.kind&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"grid grid-cols-2 gap-x-6 gap-y-3 min-[1001px]:grid-cols-4",children:d.gauges.map(a=>(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:a.label}),(0,b.jsx)("span",{className:"ml-auto font-mono text-[15px] font-semibold",children:a.value})]}),(0,b.jsx)(f.e,{pct:a.pct??0,tone:a.tone}),(0,b.jsx)("div",{className:"mt-1.5",children:(0,b.jsx)(C.t,{values:a.series,width:160,height:28,fluid:!0,label:`${a.label}, hourly average over the last 24 hours`})}),(0,b.jsx)("div",{className:E,children:a.peak??"24 h"})]},a.label))}),d.error&&(0,b.jsxs)("p",{className:"mt-2 text-[12.5px] text-warn",children:["Last scrape failed: ",d.error]})]})]})}var H=a.i(228796),I=a.i(722061),J=a.i(221802);let K="text-[12px] text-ink-faint";async function L({searchParams:a}){let C=await (0,m.I)(),{create:D}=await a,E=new Date,G=(0,A.z)(C.role),[M,N,O]=await Promise.all([(0,n.R)("supabase_project"),(0,n.V)(),(0,n.e)()]),P=(0,y.Y)(M,E,O),Q=(0,y.d)(N),R=(0,y.i)(P),S="owner"===C.role,[T,U,V,W]=await Promise.all([(0,o.A)(P.map(a=>a.id)),(0,u.d)(P.map(a=>a.id),E),S?(0,t.Q)(P.map(a=>a.id)):new Set,(0,r.r)()?(0,p.H)():Promise.resolve(null)]),X=P.filter(a=>S||U.has(a.id)).map(a=>({id:a.id,name:a.name,alias:a.alias,ref:a.ref,paused:a.paused,panel:(0,B.j)(U.get(a.id),E)}));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.AutoRefresh,{at:E.getTime()}),(0,b.jsx)(f.L,{crumbs:[{label:"Databases"},{label:"Supabase"}],title:"Supabase",sub:"Status comes from the Management API, which doesn't touch your database. Database size is read once a day, and only while a project is already active. Keep active (owner, per project): warns from day 5 without API traffic and sends one keep-alive query a day. Auto-restore brings a paused project back only when its account has a free slot.",actions:"owner"===C.role?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.default,{href:"/connections",className:(0,f.R)(),children:"Manage accounts"}),(0,b.jsx)(H.CreateButton,{type:"supabase_project",target:"",targetName:"Supabase",label:"New project"})]}):void 0}),(0,b.jsx)(I.f,{member:C,types:["supabase_project"],focus:D??null}),Q.length>0&&(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-4 min-[1001px]:grid-cols-3",children:[Q.map(a=>(0,b.jsxs)(f.N,{title:(0,b.jsxs)(b.Fragment,{children:["Account ",(0,b.jsx)(e.Masked,{kind:"account",real:a.account})]}),children:[(0,b.jsxs)("span",{className:"text-[26px] font-semibold tracking-tight",children:[a.used,(0,b.jsxs)("small",{className:"ml-1 text-[13px] font-normal text-ink-soft",children:["of ",a.total," free slots"]})]}),(0,b.jsx)(f.e,{pct:Math.min(a.used,a.total)/a.total*100,tone:0===a.left?"warn":void 0}),(0,b.jsxs)("p",{className:"mt-2 text-[12.5px] text-ink-soft",children:["Paused projects don't use a slot. Counted from the projects this token can see",a.planUnknown?"; plan unknown, counted as free":"","."]})]},a.account)),W&&(0,b.jsx)(s.f,{pool:W,owner:S}),(0,b.jsxs)(f.N,{title:"Storage",children:[(0,b.jsxs)("span",{className:"text-[26px] font-semibold tracking-tight",children:[R.text,(0,b.jsxs)("small",{className:"ml-1 text-[13px] font-normal text-ink-soft",children:["across ",R.count," project",1===R.count?"":"s"]})]}),(0,b.jsx)("p",{className:"mt-2 text-[12.5px] text-ink-soft",children:"Free limit is 500 MB per project."})]})]}),(0,b.jsx)(f.N,{flush:!0,children:0===P.length?(0,b.jsx)(f.k,{icon:c.f,title:"No Supabase projects watched yet",action:"owner"===C.role?(0,b.jsx)(d.default,{href:"/connections",className:(0,f.R)({size:"sm"}),children:"Open connections"}):void 0,children:"owner"===C.role?"Connect a Supabase account, then press Sync and tick the projects to watch.":"An owner picks the projects to watch in Connections."}):(0,b.jsx)(g.ListFilter,{placeholder:"Filter by name",states:[["ok","Active"],["paused","Paused"]],groups:[...new Set(P.map(a=>a.account))].sort(),head:["Project","Account",(0,b.jsxs)("span",{children:["Status",(0,b.jsx)(j.Src,{kind:"api"})]},"s"),(0,b.jsxs)("span",{children:["Database size",(0,b.jsx)(j.Src,{kind:"api",children:"API · daily"})]},"z"),(0,b.jsxs)("span",{children:["Last API traffic",(0,b.jsx)(j.Src,{kind:"api"})]},"t"),(0,b.jsxs)("span",{children:["Auto-pause risk",(0,b.jsx)(j.Src,{kind:"calc"})]},"r"),"Used by",(0,b.jsxs)("span",{children:["Keep active",(0,b.jsx)(j.Src,{kind:"calc",children:"Owner"})]},"k"),""],rows:P.map(a=>{var c,d;let e,g,h;return{key:a.id,state:a.status.state,group:a.account,text:(0,z.h)([a.alias,(0,z.G)(a.account),a.status.label,a.risk.text,...a.usedBy.map(a=>a.name)],[a.name,a.account]),row:(0,b.jsxs)("tr",{className:(0,w.f)(l.C,a.stale&&"opacity-60"),children:[(0,b.jsxs)("td",{className:l.z,children:[(0,b.jsx)(i.F,{kind:"db",name:a.name,dbId:a.id}),(0,b.jsx)("div",{className:K,children:a.sub})]}),(0,b.jsx)("td",{className:l.z,children:(0,b.jsx)(i.c,{name:a.account})}),(0,b.jsxs)("td",{className:l.z,children:[(0,b.jsx)(k.F,{state:a.status.state,children:a.status.label}),a.since&&(0,b.jsxs)("div",{className:K,children:["since ",a.since]})]}),(0,b.jsx)("td",{className:l.z,children:a.size?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"font-mono",children:a.size.text})," ",(0,b.jsx)("span",{className:"text-ink-faint",children:"/ 500 MB"}),(0,b.jsx)(f.e,{pct:a.size.pct,tone:a.size.pct>=80?"warn":void 0}),(0,b.jsxs)("div",{className:K,children:["as of ",a.size.asOf]})]}):(0,b.jsx)("span",{className:(0,w.f)(K,"whitespace-normal"),children:a.sizeNote})}),(0,b.jsx)("td",{className:(0,w.f)(l.z,"text-ink-soft"),title:a.trafficNote??void 0,children:a.traffic}),(0,b.jsxs)("td",{className:(0,w.f)(l.z,l.M),children:[(0,b.jsx)(k.F,{state:a.risk.state,children:a.risk.text}),a.risk.note&&(0,b.jsx)("div",{className:K,children:a.risk.note})]}),(0,b.jsx)("td",{className:l.z,children:a.usedBy.length?a.usedBy.map(a=>(0,b.jsx)("div",{children:(0,b.jsx)(i.F,{kind:"app",name:a.name,href:`/apps/${a.id}`})},a.id)):(0,b.jsx)("span",{className:"text-ink-faint",children:"Not linked"})}),(0,b.jsx)("td",{className:(0,w.f)(l.z,l.M),children:(0,b.jsx)(J.KeepActiveBoxes,{id:a.id,alias:a.alias,owner:S,...(c=a.id,e=T.get(c),{keep:e?.keep??!1,autoRestore:e?.autoRestore??!1,sent:e?.keep&&e.lastKeepAliveAt?(0,v.$)(e.lastKeepAliveAt,E):null})})}),(0,b.jsxs)("td",{className:l.z,children:[S&&!a.paused&&(0,b.jsx)("div",{className:"mb-1",children:(0,b.jsx)(x.SqlAccessButtons,{id:a.id,alias:a.alias,provider:"supabase",connected:V.has(a.id)})}),G&&(a.paused?(0,b.jsx)(J.RestoreButton,{id:a.id,projectRef:a.ref,alias:a.alias,account:a.account,slotsLeft:(g=a.account,Q.find(a=>a.account===g)?.left??1),choices:(d=a.account,h=new Set(Q.find(a=>a.account===d)?.activeIds??[]),P.filter(a=>h.has(a.id)&&!a.paused).map(a=>({id:a.id,ref:a.ref,alias:a.alias,traffic:a.traffic,usedBy:a.usedBy.map(a=>a.name)})))}):(0,b.jsx)(J.ActiveRowMenu,{id:a.id,projectRef:a.ref,alias:a.alias,label:(0,A.J)(a.alias),metrics:S?{hasKey:U.has(a.id)}:void 0,dashboard:(0,q.f)()}))]})]})}})})}),(0,b.jsx)(F,{blocks:X,owner:S})]})}a.s(["default",0,L,"maxDuration",0,60],491641)},841701,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ActiveRowMenu() from the server but ActiveRowMenu 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)/supabase/row-actions.tsx","ActiveRowMenu"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call KeepActiveBoxes() from the server but KeepActiveBoxes 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)/supabase/row-actions.tsx","KeepActiveBoxes"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call RestoreButton() from the server but RestoreButton 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)/supabase/row-actions.tsx","RestoreButton");a.s(["ActiveRowMenu",0,c,"KeepActiveBoxes",0,d,"RestoreButton",0,e])},221802,a=>{var b=a.i(841701);a.n(b)}],587058,function(a){a.n(a.i(491641))}];
1
+ module.exports=[[758173,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call MetricsKeyButtons() from the server but MetricsKeyButtons 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)/supabase/metrics-key-dialog.tsx","MetricsKeyButtons");(0,b.registerClientReference)(function(){throw Error("Attempted to call MetricsKeyDialog() from the server but MetricsKeyDialog 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)/supabase/metrics-key-dialog.tsx","MetricsKeyDialog"),a.s(["MetricsKeyButtons",0,c])},140698,a=>{var b=a.i(758173);a.n(b)},491641,a=>{var b=a.i(907997),c=a.i(175038),d=a.i(395936),e=a.i(701702),f=a.i(803681),g=a.i(959581),h=a.i(685865),i=a.i(154756),j=a.i(954296),k=a.i(686251),l=a.i(791444),m=a.i(109307),n=a.i(532620),o=a.i(560954),p=a.i(612990),q=a.i(863858),r=a.i(371289),s=a.i(658932),t=a.i(367623),u=a.i(367247),v=a.i(245710),w=a.i(139138),x=a.i(887923),y=a.i(715208),z=a.i(556987),A=a.i(505237),B=a.i(179806),C=a.i(252302),D=a.i(140698);let E="text-[12px] text-ink-faint";function F({blocks:a,owner:c}){return a.length?(0,b.jsxs)(f.N,{title:"Compute",meta:(0,b.jsx)(j.Src,{kind:"api",children:"Metrics API · 5 min"}),children:[(0,b.jsx)("p",{className:"mb-3 text-[12.5px] text-ink-soft",children:"From Supabase's Metrics API (beta) with a per-project Secret API key the owner adds. Bars are now; the line is the hourly average over 24 h. Egress and monthly active users aren't readable per project through the Management API: see Usage in the Supabase dashboard."}),(0,b.jsx)("div",{className:"flex flex-col divide-y divide-line",children:a.map(a=>(0,b.jsx)(G,{b:a,owner:c},a.id))})]}):null}function G({b:a,owner:c}){let d=a.panel,e="none"!==d.kind;return(0,b.jsxs)("div",{className:"py-3 first:pt-0 last:pb-0",children:[(0,b.jsxs)("div",{className:"mb-2 flex flex-wrap items-center gap-x-3 gap-y-1",children:[(0,b.jsx)(i.F,{kind:"db",name:a.name,dbId:a.id}),"ok"===d.kind&&(0,b.jsxs)("span",{className:(0,w.f)(E,d.stale&&"text-warn"),children:["as of ",d.asOf,d.stale?" · not updating":""]}),c&&(0,b.jsx)("span",{className:"ml-auto",children:(0,b.jsx)(D.MetricsKeyButtons,{id:a.id,projectRef:a.ref,alias:a.alias,hasKey:e})})]}),"none"===d.kind&&(0,b.jsxs)("p",{className:"text-[13px] text-ink-soft",children:[a.paused?"Paused: no compute to read. ":"","No metrics key yet",c?". Add one to see CPU, RAM, disk and connections.":". An owner can add one."]}),"waiting"===d.kind&&(0,b.jsx)("p",{className:"text-[13px] text-ink-soft",children:d.note}),"ok"===d.kind&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"grid grid-cols-2 gap-x-6 gap-y-3 min-[1001px]:grid-cols-4",children:d.gauges.map(a=>(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:a.label}),(0,b.jsx)("span",{className:"ml-auto font-mono text-[15px] font-semibold",children:a.value})]}),(0,b.jsx)(f.e,{pct:a.pct??0,tone:a.tone}),(0,b.jsx)("div",{className:"mt-1.5",children:(0,b.jsx)(C.t,{values:a.series,width:160,height:28,fluid:!0,label:`${a.label}, hourly average over the last 24 hours`})}),(0,b.jsx)("div",{className:E,children:a.peak??"24 h"})]},a.label))}),d.error&&(0,b.jsxs)("p",{className:"mt-2 text-[12.5px] text-warn",children:["Last scrape failed: ",d.error]})]})]})}var H=a.i(228796),I=a.i(722061),J=a.i(221802);let K="text-[12px] text-ink-faint";async function L({searchParams:a}){let C=await (0,m.I)(),{create:D}=await a,E=new Date,G=(0,A.z)(C.role),[M,N,O]=await Promise.all([(0,n.R)("supabase_project"),(0,n.V)(),(0,n.e)()]),P=(0,y.Y)(M,E,O),Q=(0,y.d)(N),R=(0,y.i)(P),S="owner"===C.role,[T,U,V,W]=await Promise.all([(0,o.A)(P.map(a=>a.id)),(0,u.d)(P.map(a=>a.id),E),S?(0,t.Q)(P.map(a=>a.id)):new Set,(0,r.r)()?(0,p.H)():Promise.resolve(null)]),X=P.filter(a=>S||U.has(a.id)).map(a=>({id:a.id,name:a.name,alias:a.alias,ref:a.ref,paused:a.paused,panel:(0,B.j)(U.get(a.id),E)}));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.AutoRefresh,{at:E.getTime()}),(0,b.jsx)(f.L,{crumbs:[{label:"Database"},{label:"Supabase"}],title:"Supabase",sub:"Status comes from the Management API, which doesn't touch your database. Database size is read once a day, and only while a project is already active. Keep active (owner, per project): warns from day 5 without API traffic and sends one keep-alive query a day. Auto-restore brings a paused project back only when its account has a free slot.",actions:"owner"===C.role?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.default,{href:"/connections",className:(0,f.R)(),children:"Manage accounts"}),(0,b.jsx)(H.CreateButton,{type:"supabase_project",target:"",targetName:"Supabase",label:"New project"})]}):void 0}),(0,b.jsx)(I.f,{member:C,types:["supabase_project"],focus:D??null}),Q.length>0&&(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-4 min-[1001px]:grid-cols-3",children:[Q.map(a=>(0,b.jsxs)(f.N,{title:(0,b.jsxs)(b.Fragment,{children:["Account ",(0,b.jsx)(e.Masked,{kind:"account",real:a.account})]}),children:[(0,b.jsxs)("span",{className:"text-[26px] font-semibold tracking-tight",children:[a.used,(0,b.jsxs)("small",{className:"ml-1 text-[13px] font-normal text-ink-soft",children:["of ",a.total," free slots"]})]}),(0,b.jsx)(f.e,{pct:Math.min(a.used,a.total)/a.total*100,tone:0===a.left?"warn":void 0}),(0,b.jsxs)("p",{className:"mt-2 text-[12.5px] text-ink-soft",children:["Paused projects don't use a slot. Counted from the projects this token can see",a.planUnknown?"; plan unknown, counted as free":"","."]})]},a.account)),W&&(0,b.jsx)(s.f,{pool:W,owner:S}),(0,b.jsxs)(f.N,{title:"Storage",children:[(0,b.jsxs)("span",{className:"text-[26px] font-semibold tracking-tight",children:[R.text,(0,b.jsxs)("small",{className:"ml-1 text-[13px] font-normal text-ink-soft",children:["across ",R.count," project",1===R.count?"":"s"]})]}),(0,b.jsx)("p",{className:"mt-2 text-[12.5px] text-ink-soft",children:"Free limit is 500 MB per project."})]})]}),(0,b.jsx)(f.N,{flush:!0,children:0===P.length?(0,b.jsx)(f.k,{icon:c.f,title:"No Supabase projects watched yet",action:"owner"===C.role?(0,b.jsx)(d.default,{href:"/connections",className:(0,f.R)({size:"sm"}),children:"Open connections"}):void 0,children:"owner"===C.role?"Connect a Supabase account, then press Sync and tick the projects to watch.":"An owner picks the projects to watch in Connections."}):(0,b.jsx)(g.ListFilter,{placeholder:"Filter by name",states:[["ok","Active"],["paused","Paused"]],groups:[...new Set(P.map(a=>a.account))].sort(),head:["Project","Account",(0,b.jsxs)("span",{children:["Status",(0,b.jsx)(j.Src,{kind:"api"})]},"s"),(0,b.jsxs)("span",{children:["Database size",(0,b.jsx)(j.Src,{kind:"api",children:"API · daily"})]},"z"),(0,b.jsxs)("span",{children:["Last API traffic",(0,b.jsx)(j.Src,{kind:"api"})]},"t"),(0,b.jsxs)("span",{children:["Auto-pause risk",(0,b.jsx)(j.Src,{kind:"calc"})]},"r"),"Used by",(0,b.jsxs)("span",{children:["Keep active",(0,b.jsx)(j.Src,{kind:"calc",children:"Owner"})]},"k"),""],rows:P.map(a=>{var c,d;let e,g,h;return{key:a.id,state:a.status.state,group:a.account,text:(0,z.h)([a.alias,(0,z.G)(a.account),a.status.label,a.risk.text,...a.usedBy.map(a=>a.name)],[a.name,a.account]),row:(0,b.jsxs)("tr",{className:(0,w.f)(l.C,a.stale&&"opacity-60"),children:[(0,b.jsxs)("td",{className:l.z,children:[(0,b.jsx)(i.F,{kind:"db",name:a.name,dbId:a.id}),(0,b.jsx)("div",{className:K,children:a.sub})]}),(0,b.jsx)("td",{className:l.z,children:(0,b.jsx)(i.c,{name:a.account})}),(0,b.jsxs)("td",{className:l.z,children:[(0,b.jsx)(k.F,{state:a.status.state,children:a.status.label}),a.since&&(0,b.jsxs)("div",{className:K,children:["since ",a.since]})]}),(0,b.jsx)("td",{className:l.z,children:a.size?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"font-mono",children:a.size.text})," ",(0,b.jsx)("span",{className:"text-ink-faint",children:"/ 500 MB"}),(0,b.jsx)(f.e,{pct:a.size.pct,tone:a.size.pct>=80?"warn":void 0}),(0,b.jsxs)("div",{className:K,children:["as of ",a.size.asOf]})]}):(0,b.jsx)("span",{className:(0,w.f)(K,"whitespace-normal"),children:a.sizeNote})}),(0,b.jsx)("td",{className:(0,w.f)(l.z,"text-ink-soft"),title:a.trafficNote??void 0,children:a.traffic}),(0,b.jsxs)("td",{className:(0,w.f)(l.z,l.M),children:[(0,b.jsx)(k.F,{state:a.risk.state,children:a.risk.text}),a.risk.note&&(0,b.jsx)("div",{className:K,children:a.risk.note})]}),(0,b.jsx)("td",{className:l.z,children:a.usedBy.length?a.usedBy.map(a=>(0,b.jsx)("div",{children:(0,b.jsx)(i.F,{kind:"app",name:a.name,href:`/apps/${a.id}`})},a.id)):(0,b.jsx)("span",{className:"text-ink-faint",children:"Not linked"})}),(0,b.jsx)("td",{className:(0,w.f)(l.z,l.M),children:(0,b.jsx)(J.KeepActiveBoxes,{id:a.id,alias:a.alias,owner:S,...(c=a.id,e=T.get(c),{keep:e?.keep??!1,autoRestore:e?.autoRestore??!1,sent:e?.keep&&e.lastKeepAliveAt?(0,v.$)(e.lastKeepAliveAt,E):null})})}),(0,b.jsxs)("td",{className:l.z,children:[S&&!a.paused&&(0,b.jsx)("div",{className:"mb-1",children:(0,b.jsx)(x.SqlAccessButtons,{id:a.id,alias:a.alias,provider:"supabase",connected:V.has(a.id)})}),G&&(a.paused?(0,b.jsx)(J.RestoreButton,{id:a.id,projectRef:a.ref,alias:a.alias,account:a.account,slotsLeft:(g=a.account,Q.find(a=>a.account===g)?.left??1),choices:(d=a.account,h=new Set(Q.find(a=>a.account===d)?.activeIds??[]),P.filter(a=>h.has(a.id)&&!a.paused).map(a=>({id:a.id,ref:a.ref,alias:a.alias,traffic:a.traffic,usedBy:a.usedBy.map(a=>a.name)})))}):(0,b.jsx)(J.ActiveRowMenu,{id:a.id,projectRef:a.ref,alias:a.alias,label:(0,A.J)(a.alias),metrics:S?{hasKey:U.has(a.id)}:void 0,dashboard:(0,q.f)()}))]})]})}})})}),(0,b.jsx)(F,{blocks:X,owner:S})]})}a.s(["default",0,L,"maxDuration",0,60],491641)},841701,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ActiveRowMenu() from the server but ActiveRowMenu 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)/supabase/row-actions.tsx","ActiveRowMenu"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call KeepActiveBoxes() from the server but KeepActiveBoxes 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)/supabase/row-actions.tsx","KeepActiveBoxes"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call RestoreButton() from the server but RestoreButton 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)/supabase/row-actions.tsx","RestoreButton");a.s(["ActiveRowMenu",0,c,"KeepActiveBoxes",0,d,"RestoreButton",0,e])},221802,a=>{var b=a.i(841701);a.n(b)}],587058,function(a){a.n(a.i(491641))}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_supabase_1ofufib3-zzt-._.js.map
@@ -5,6 +5,6 @@ module.exports=[953685,612990,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d
5
5
  select state, extract(epoch from now() - state_change)::int as idle_s, extract(epoch from now() - backend_start)::int as age_s,
6
6
  left(query, 400) as query
7
7
  from pg_stat_activity where usename = current_user and pid <> pg_backend_pid()
8
- order by state_change asc limit 20`),b=(0,i.f)(a).map(a=>({busy:"idle"!==a.state,idleS:Number(a.idle_s),table:l(a.query),ageS:Number(a.age_s)}));return{used:b.length+1,active:b.filter(a=>a.busy).length+1,conns:b}}catch{return null}}a.s(["Y",0,10,"X",0,15,"R",0,k,"H",0,m,"g",0,a=>({pct:Math.min(100,Math.round(a.used/15*100)),warn:a.used>=10})],612990);var n=a.i(371289),o=a.i(312573),p=a.i(323878),q=a.i(713095);let r={requireActionMember:e.g};async function s(){return(0,d.F)("owner",async a=>{if(!(0,n.r)())return{ok:!1,error:"Not available in this mode."};let b=await (0,p.C)(o.t.monitorWrite,a.id);if(!b.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,o.H)(b.retryAfter)}.`};let d=await k(1,5);return await (0,f.f)({kind:"ok",message:`Closed ${d.trimmed} idle database connection${1===d.trimmed?"":"s"} (pool ${d.total}/15)`,resourceId:null,actorUserId:a.userId}).catch(()=>console.warn("audit event failed")),(0,c.refresh)(),{ok:!0,message:`Closed ${d.trimmed} idle connection${1===d.trimmed?"":"s"}.`}},r)}async function t(){await s()}(0,q.ensureServerEntryExports)([s,t]),(0,b.registerServerReference)(s,"00f5f49abfbea290ae4139c5f77ef53f2ba7ac64f0",null),(0,b.registerServerReference)(t,"00e6ff9e2b8ed1bcd2b52a2f51b6fcc4832cd7b817",null),a.s(["w",0,s,"n",0,t],953685)}];
8
+ order by state_change asc limit 20`),b=(0,i.f)(a).map(a=>({busy:"idle"!==a.state,idleS:Number(a.idle_s),table:l(a.query),ageS:Number(a.age_s)}));return{used:b.length+1,active:b.filter(a=>a.busy).length+1,conns:b}}catch{return null}}a.s(["Y",0,10,"X",0,15,"R",0,k,"H",0,m,"g",0,a=>({pct:Math.min(100,Math.round(a.used/15*100)),warn:a.used>=10})],612990);var n=a.i(371289),o=a.i(312573),p=a.i(323878),q=a.i(713095);let r={requireActionMember:e.g};async function s(){return(0,d.F)("owner",async a=>{if(!(0,n.r)())return{ok:!1,error:"Not available in this mode."};let b=await (0,p.C)(o.t.monitorWrite,a.id);if(!b.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,o.H)(b.retryAfter)}.`};let d=await k(1,5);return await (0,f.f)({kind:"ok",message:`Closed ${d.trimmed} idle database connection${1===d.trimmed?"":"s"} (pool ${d.total}/15)`,resourceId:null,actorUserId:a.userId}).catch(()=>console.warn("audit event failed")),(0,c.refresh)(),{ok:!0,message:`Closed ${d.trimmed} idle connection${1===d.trimmed?"":"s"}.`}},r)}async function t(){await s()}(0,q.ensureServerEntryExports)([s,t]),(0,b.registerServerReference)(s,"00f3a3a47c192358c0bd875ec16eb1b0246cb34ca2",null),(0,b.registerServerReference)(t,"00cf92c41cd4015764857af49220315b56632b1cf4",null),a.s(["w",0,s,"n",0,t],953685)}];
9
9
 
10
10
  //# sourceMappingURL=src_app_%28console%29_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[[180626,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call MaintenanceDialog() from the server but MaintenanceDialog 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)/uptime/maintenance-dialog.tsx","MaintenanceDialog");a.s(["MaintenanceDialog",0,b])},739243,a=>{var b=a.i(180626);a.n(b)},725849,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call MaintenanceMenu() from the server but MaintenanceMenu 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)/uptime/maintenance-menu.tsx","MaintenanceMenu");a.s(["MaintenanceMenu",0,b])},316754,a=>{var b=a.i(725849);a.n(b)},287563,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call MonitorDialog() from the server but MonitorDialog 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)/uptime/monitor-dialog.tsx","MonitorDialog");a.s(["MonitorDialog",0,b])},215312,a=>{var b=a.i(287563);a.n(b)},244293,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call MonitorMenu() from the server but MonitorMenu 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)/uptime/monitor-menu.tsx","MonitorMenu");a.s(["MonitorMenu",0,b])},538793,a=>{var b=a.i(244293);a.n(b)},713064,a=>{var b=a.i(907997),c=a.i(252302),d=a.i(649247),e=a.i(803681),f=a.i(959581),g=a.i(685865),h=a.i(154756),i=a.i(954296),j=a.i(686251),k=a.i(605826),l=a.i(421911),m=a.i(791444),n=a.i(109307),o=a.i(714530),p=a.i(895176),q=a.i(149396),r=a.i(767163),s=a.i(519051),t=a.i(139138),u=a.i(469762),v=a.i(505237),w=a.i(968715),x=a.i(739243),y=a.i(316754),z=a.i(215312),A=a.i(538793),B=a.i(701702);let C="font-mono text-[12.5px]",D=["Monitor","Status",(0,b.jsxs)("span",{children:["Last 90 days",(0,b.jsx)(i.Src,{kind:"calc"})]},"bars"),"Uptime","Response","Interval",""],E=[["Up","ok"],["Degraded","warn"],["Down","err"],["Maintenance","maint"],["Paused","paused"]],F=["Applies to","When","Note","Status",""];async function G(){let a=await (0,n.I)(),i=new Date,G=(0,v.z)(a.role),[H,I,J,K]=await Promise.all([(0,p.d)(i),G?(0,p.b)():Promise.resolve([]),(0,o.A)(),(0,q.u)()]),L=H.map(a=>({m:a,s:(0,v.M)(a,(0,s.x)(J,{monitorId:a.id,appId:a.appId},i),i)})),M=(0,w.j)(L.map(({m:a,s:b})=>({state:b.state,appGone:a.appGone}))),N=L.map(({m:a,s:d})=>{let f,g="heartbeat"===a.kind,k=g?null:a.bodyContains??(a.jsonPath?`JSON ${a.jsonPath} equals "${a.jsonEquals??""}"`:null),l=g?`${a.appName} \xb7 ${a.path}`:`${a.appName}${a.path}`;return{key:a.id,state:d.state,text:[l,g?"Heartbeat":k?"Keyword":"",K.has(a.id)?"Public":"",d.label,(0,u.C)(a.uptime30)].join(" "),row:(0,b.jsxs)("tr",{className:m.C,children:[(0,b.jsx)("td",{className:m.z,children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-[7px]",children:[(0,b.jsx)(h.g,{kind:"mon"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(B.Masked,{kind:"app",real:a.appName}),(0,b.jsx)("span",{className:"text-ink-faint",children:g?` \xb7 ${a.path}`:a.path})]}),g&&(0,b.jsx)(e.E,{children:"Heartbeat"}),k&&(0,b.jsx)("span",{title:k,children:(0,b.jsx)(e.E,{children:"Keyword"})}),K.has(a.id)&&(0,b.jsx)("span",{title:"Shown on the public status page",children:(0,b.jsx)(e.E,{children:"Public"})})]})}),(0,b.jsx)("td",{className:m.z,children:(0,b.jsx)(j.F,{state:d.state,children:d.label})}),(0,b.jsx)("td",{className:m.z,children:(0,b.jsx)(c.n,{bars:(0,w.h)(a.days,i)})}),(0,b.jsx)("td",{className:(0,t.f)(m.z,C),children:(0,u.C)(a.uptime30)}),(0,b.jsx)("td",{className:(0,t.f)(m.z,C),children:g||"err"===a.state||null===a.lastLatencyMs?"—":`${a.lastLatencyMs} ms`}),(0,b.jsx)("td",{className:(0,t.f)(m.z,"text-ink-soft"),children:"heartbeat"===(f=a).kind?`${(0,r.v)(f.periodS??3600)} + ${(0,r.v)(f.graceS??600)}`:`${Math.max(1,Math.round(f.intervalS/60))} min`}),(0,b.jsx)("td",{className:m.z,children:G&&(0,b.jsx)(A.MonitorMenu,{monitor:{id:a.id,appName:a.appName,path:a.path,url:a.url,expectedStatus:a.expectedStatus,timeoutMs:a.timeoutMs,bodyContains:a.bodyContains,jsonPath:a.jsonPath,jsonEquals:a.jsonEquals,ownerPaused:a.ownerPaused,kind:a.kind,name:a.name,periodS:a.periodS,graceS:a.graceS}})})]})}}),O={apps:I.map(a=>({id:a.id,name:a.name})),monitors:H.filter(a=>!a.appGone).map(a=>({id:a.id,label:"heartbeat"===a.kind?`${a.appName} \xb7 ${a.path}`:`${a.appName}${a.path}`}))},P=J.map(a=>{let c=(0,s.y)(a,i);return{key:a.id,state:c.status.state,text:[a.target,c.when,a.note??""].join(" "),row:(0,b.jsxs)("tr",{className:m.C,children:[(0,b.jsx)("td",{className:m.z,children:(0,b.jsx)(B.MaskedText,{text:a.target})}),(0,b.jsx)("td",{className:m.z,children:c.when}),(0,b.jsx)("td",{className:(0,t.f)(m.z,m.M,"text-ink-soft"),children:a.note?(0,b.jsx)(B.MaskedText,{text:a.note}):"—"}),(0,b.jsx)("td",{className:m.z,children:(0,b.jsx)(j.F,{state:c.status.state,children:c.status.text})}),(0,b.jsx)("td",{className:m.z,children:G&&(0,b.jsx)(y.MaintenanceMenu,{win:a,options:O})})]})}});return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.AutoRefresh,{at:i.getTime()}),(0,b.jsx)(e.L,{crumbs:[{label:"Observe"},{label:"Uptime"}],title:"Uptime",sub:"HTTP checks run every minute; heartbeats wait for your own jobs to ping. cron-job.org calls the collector, and Upstash QStash checks every 5 minutes that it is still running.",actions:G?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l.RefreshButton,{}),(0,b.jsx)(x.MaintenanceDialog,{mode:"add",options:O}),(0,b.jsx)(z.MonitorDialog,{mode:"add",apps:I})]}):void 0}),(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 min-[721px]:grid-cols-2 min-[1281px]:grid-cols-5",children:E.map(([a,c])=>(0,b.jsx)(e.N,{title:a,children:(0,b.jsx)("span",{className:"text-[26px] font-semibold tracking-[-0.02em]",children:M[c]})},a))}),(0,b.jsx)(e.N,{flush:!0,children:0===H.length?(0,b.jsx)(d.x,{canAct:G}):(0,b.jsx)(f.ListFilter,{placeholder:"Filter by name",states:v.g,head:D,rows:N})}),(0,b.jsxs)(e.N,{title:"Maintenance windows",flush:!0,children:[(0,b.jsx)("p",{className:"mx-[18px] mb-2.5 text-[12.5px] text-ink-soft",children:"Checks keep running inside a window, but they are left out of uptime % and open no alerts. Times are WIB."}),P.length?(0,b.jsx)(k.PlainTable,{head:F,rows:P}):(0,b.jsxs)("p",{className:"mx-[18px] mb-4 text-[13px] text-ink-faint",children:["No maintenance windows.",G?" Add one before planned work, so it doesn't count as downtime.":""]})]})]})}a.s(["default",0,G,"maxDuration",0,30])}],603768,function(a){a.n(a.i(713064))}];
1
+ module.exports=[[180626,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call MaintenanceDialog() from the server but MaintenanceDialog 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)/uptime/maintenance-dialog.tsx","MaintenanceDialog");a.s(["MaintenanceDialog",0,b])},739243,a=>{var b=a.i(180626);a.n(b)},725849,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call MaintenanceMenu() from the server but MaintenanceMenu 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)/uptime/maintenance-menu.tsx","MaintenanceMenu");a.s(["MaintenanceMenu",0,b])},316754,a=>{var b=a.i(725849);a.n(b)},287563,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call MonitorDialog() from the server but MonitorDialog 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)/uptime/monitor-dialog.tsx","MonitorDialog");a.s(["MonitorDialog",0,b])},215312,a=>{var b=a.i(287563);a.n(b)},244293,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call MonitorMenu() from the server but MonitorMenu 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)/uptime/monitor-menu.tsx","MonitorMenu");a.s(["MonitorMenu",0,b])},538793,a=>{var b=a.i(244293);a.n(b)},713064,a=>{var b=a.i(907997),c=a.i(252302),d=a.i(649247),e=a.i(803681),f=a.i(959581),g=a.i(685865),h=a.i(154756),i=a.i(954296),j=a.i(686251),k=a.i(605826),l=a.i(421911),m=a.i(791444),n=a.i(109307),o=a.i(714530),p=a.i(895176),q=a.i(149396),r=a.i(767163),s=a.i(519051),t=a.i(245710),u=a.i(139138),v=a.i(469762),w=a.i(505237),x=a.i(968715),y=a.i(739243),z=a.i(316754),A=a.i(215312),B=a.i(538793),C=a.i(701702);let D="font-mono text-[12.5px]",E=["Monitor","Status",(0,b.jsxs)("span",{children:["Last 90 days",(0,b.jsx)(i.Src,{kind:"calc"})]},"bars"),"Uptime","Response","Interval",""],F=[["Up","ok"],["Degraded","warn"],["Down","err"],["Maintenance","maint"],["Paused","paused"]],G=["Applies to","When","Note","Status",""];async function H(){let a=await (0,n.I)(),i=new Date,H=(0,w.z)(a.role),[I,J,K,L]=await Promise.all([(0,p.d)(i),H?(0,p.b)():Promise.resolve([]),(0,o.A)(),(0,q.u)()]),M=I.map(a=>({m:a,s:(0,w.M)(a,(0,s.x)(K,{monitorId:a.id,appId:a.appId},i),i)})),N=(0,x.j)(M.map(({m:a,s:b})=>({state:b.state,appGone:a.appGone}))),O=M.map(({m:a,s:d})=>{let f,g="heartbeat"===a.kind,k=g?null:a.bodyContains??(a.jsonPath?`JSON ${a.jsonPath} equals "${a.jsonEquals??""}"`:null),l=g?`${a.appName} \xb7 ${a.path}`:`${a.appName}${a.path}`;return{key:a.id,state:d.state,text:[l,g?"Heartbeat":k?"Keyword":"",L.has(a.id)?"Public":"",d.label,(0,v.C)(a.uptime30)].join(" "),row:(0,b.jsxs)("tr",{className:m.C,children:[(0,b.jsx)("td",{className:m.z,children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-[7px]",children:[(0,b.jsx)(h.g,{kind:"mon"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(C.Masked,{kind:"app",real:a.appName}),(0,b.jsx)("span",{className:"text-ink-faint",children:g?` \xb7 ${a.path}`:a.path})]}),g&&(0,b.jsx)(e.E,{children:"Heartbeat"}),k&&(0,b.jsx)("span",{title:k,children:(0,b.jsx)(e.E,{children:"Keyword"})}),L.has(a.id)&&(0,b.jsx)("span",{title:"Shown on the public status page",children:(0,b.jsx)(e.E,{children:"Public"})})]})}),(0,b.jsx)("td",{className:m.z,children:(0,b.jsx)(j.F,{state:d.state,children:d.label})}),(0,b.jsx)("td",{className:m.z,children:(0,b.jsx)(c.n,{bars:(0,x.h)(a.days,i)})}),(0,b.jsx)("td",{className:(0,u.f)(m.z,D),children:(0,v.C)(a.uptime30)}),(0,b.jsx)("td",{className:(0,u.f)(m.z,D),children:g||"err"===a.state||null===a.lastLatencyMs?"—":`${a.lastLatencyMs} ms`}),(0,b.jsx)("td",{className:(0,u.f)(m.z,"text-ink-soft"),children:"heartbeat"===(f=a).kind?`${(0,r.v)(f.periodS??3600)} + ${(0,r.v)(f.graceS??600)}`:`${Math.max(1,Math.round(f.intervalS/60))} min`}),(0,b.jsx)("td",{className:m.z,children:H&&(0,b.jsx)(B.MonitorMenu,{monitor:{id:a.id,appName:a.appName,path:a.path,url:a.url,expectedStatus:a.expectedStatus,timeoutMs:a.timeoutMs,bodyContains:a.bodyContains,jsonPath:a.jsonPath,jsonEquals:a.jsonEquals,ownerPaused:a.ownerPaused,kind:a.kind,name:a.name,periodS:a.periodS,graceS:a.graceS}})})]})}}),P={apps:J.map(a=>({id:a.id,name:a.name})),monitors:I.filter(a=>!a.appGone).map(a=>({id:a.id,label:"heartbeat"===a.kind?`${a.appName} \xb7 ${a.path}`:`${a.appName}${a.path}`}))},Q=K.map(a=>{let c=(0,s.y)(a,i);return{key:a.id,state:c.status.state,text:[a.target,c.when,a.note??""].join(" "),row:(0,b.jsxs)("tr",{className:m.C,children:[(0,b.jsx)("td",{className:m.z,children:(0,b.jsx)(C.MaskedText,{text:a.target})}),(0,b.jsx)("td",{className:m.z,children:c.when}),(0,b.jsx)("td",{className:(0,u.f)(m.z,m.M,"text-ink-soft"),children:a.note?(0,b.jsx)(C.MaskedText,{text:a.note}):"—"}),(0,b.jsx)("td",{className:m.z,children:(0,b.jsx)(j.F,{state:c.status.state,children:c.status.text})}),(0,b.jsx)("td",{className:m.z,children:H&&(0,b.jsx)(z.MaintenanceMenu,{win:a,options:P})})]})}});return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.AutoRefresh,{at:i.getTime()}),(0,b.jsx)(e.L,{crumbs:[{label:"Hosting"},{label:"Uptime"}],title:"Uptime",sub:"HTTP checks run every minute; heartbeats wait for your own jobs to ping. cron-job.org calls the collector, and Upstash QStash checks every 5 minutes that it is still running.",actions:H?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l.RefreshButton,{}),(0,b.jsx)(y.MaintenanceDialog,{mode:"add",options:P}),(0,b.jsx)(A.MonitorDialog,{mode:"add",apps:J})]}):void 0}),(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 min-[721px]:grid-cols-2 min-[1281px]:grid-cols-5",children:F.map(([a,c])=>(0,b.jsx)(e.N,{title:a,children:(0,b.jsx)("span",{className:"text-[26px] font-semibold tracking-[-0.02em]",children:N[c]})},a))}),(0,b.jsx)(e.N,{flush:!0,children:0===I.length?(0,b.jsx)(d.x,{canAct:H}):(0,b.jsx)(f.ListFilter,{placeholder:"Filter by name",states:w.g,head:E,rows:O})}),(0,b.jsxs)(e.N,{title:"Maintenance windows",flush:!0,children:[(0,b.jsxs)("p",{className:"mx-[18px] mb-2.5 text-[12.5px] text-ink-soft",children:["Checks keep running inside a window, but they are left out of uptime % and open no alerts. ",(0,t.n)()]}),Q.length?(0,b.jsx)(k.PlainTable,{head:G,rows:Q}):(0,b.jsxs)("p",{className:"mx-[18px] mb-4 text-[13px] text-ink-faint",children:["No maintenance windows.",H?" Add one before planned work, so it doesn't count as downtime.":""]})]})]})}a.s(["default",0,H,"maxDuration",0,30])}],603768,function(a){a.n(a.i(713064))}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_uptime_148phfjye0539._.js.map