watchbell 1.7.0 → 1.7.1

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 (756) hide show
  1. package/package.json +1 -1
  2. package/server/.next/BUILD_ID +1 -1
  3. package/server/.next/build-manifest.json +3 -3
  4. package/server/.next/prerender-manifest.json +3 -3
  5. package/server/.next/required-server-files.json +1 -1
  6. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +13 -13
  7. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +52 -51
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  10. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +12 -12
  11. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +52 -51
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  13. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  14. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +11 -11
  15. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +52 -51
  16. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  18. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +14 -14
  19. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +52 -51
  20. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  21. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  22. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +12 -12
  23. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +52 -51
  24. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  25. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  26. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +21 -21
  27. package/server/.next/server/app/(console)/(private)/ai/models/page.js +52 -51
  28. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  29. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  30. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +11 -11
  31. package/server/.next/server/app/(console)/(private)/ai/page.js +52 -51
  32. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  33. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  34. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +14 -14
  35. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +52 -51
  36. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  37. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  38. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +17 -17
  39. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +52 -51
  40. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  41. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  42. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +12 -12
  43. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +52 -51
  44. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  45. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  46. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +12 -12
  47. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +52 -51
  48. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  49. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  50. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +11 -11
  51. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +52 -51
  52. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  53. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  54. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +12 -12
  55. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +52 -51
  56. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  57. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  58. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +27 -27
  59. package/server/.next/server/app/(console)/alerts/page.js +52 -51
  60. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  61. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  62. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +34 -34
  63. package/server/.next/server/app/(console)/apps/[id]/page.js +52 -51
  64. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  65. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  66. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +14 -14
  67. package/server/.next/server/app/(console)/apps/page.js +52 -51
  68. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  69. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  70. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +14 -14
  71. package/server/.next/server/app/(console)/backups/page.js +52 -51
  72. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  73. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  74. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +11 -11
  75. package/server/.next/server/app/(console)/catalog/page.js +52 -51
  76. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  77. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  78. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +22 -22
  79. package/server/.next/server/app/(console)/connections/page.js +52 -51
  80. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  81. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  82. package/server/.next/server/app/(console)/containers/page/server-reference-manifest.json +14 -14
  83. package/server/.next/server/app/(console)/containers/page.js +52 -51
  84. package/server/.next/server/app/(console)/containers/page.js.nft.json +1 -1
  85. package/server/.next/server/app/(console)/containers/page_client-reference-manifest.js +1 -1
  86. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +11 -11
  87. package/server/.next/server/app/(console)/d1/page.js +52 -51
  88. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  89. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  90. package/server/.next/server/app/(console)/deploy/page/server-reference-manifest.json +11 -11
  91. package/server/.next/server/app/(console)/deploy/page.js +52 -51
  92. package/server/.next/server/app/(console)/deploy/page.js.nft.json +1 -1
  93. package/server/.next/server/app/(console)/deploy/page_client-reference-manifest.js +1 -1
  94. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +19 -19
  95. package/server/.next/server/app/(console)/deployments/page.js +52 -51
  96. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  97. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  98. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +18 -18
  99. package/server/.next/server/app/(console)/dns/page.js +52 -51
  100. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  101. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  102. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +13 -13
  103. package/server/.next/server/app/(console)/domains/page.js +52 -51
  104. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  105. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  106. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +11 -11
  107. package/server/.next/server/app/(console)/events/page.js +52 -51
  108. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  109. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  110. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +18 -18
  111. package/server/.next/server/app/(console)/firebase/page.js +52 -51
  112. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  113. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  114. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +12 -12
  115. package/server/.next/server/app/(console)/logs/page.js +52 -51
  116. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  117. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  118. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +12 -12
  119. package/server/.next/server/app/(console)/manage/sections/page.js +52 -51
  120. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  121. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  122. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +22 -22
  123. package/server/.next/server/app/(console)/neon/page.js +52 -51
  124. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  125. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  126. package/server/.next/server/app/(console)/os/page/server-reference-manifest.json +12 -12
  127. package/server/.next/server/app/(console)/os/page.js +52 -51
  128. package/server/.next/server/app/(console)/os/page.js.nft.json +1 -1
  129. package/server/.next/server/app/(console)/os/page_client-reference-manifest.js +1 -1
  130. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +19 -19
  131. package/server/.next/server/app/(console)/overview/page.js +52 -51
  132. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  133. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  134. package/server/.next/server/app/(console)/reports/[id]/pdf/route.js +5 -5
  135. package/server/.next/server/app/(console)/reports/[id]/pdf/route.js.nft.json +1 -1
  136. package/server/.next/server/app/(console)/reports/page/server-reference-manifest.json +35 -15
  137. package/server/.next/server/app/(console)/reports/page.js +52 -51
  138. package/server/.next/server/app/(console)/reports/page.js.nft.json +1 -1
  139. package/server/.next/server/app/(console)/reports/page_client-reference-manifest.js +1 -1
  140. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +12 -12
  141. package/server/.next/server/app/(console)/repos/[id]/page.js +52 -51
  142. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  143. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  144. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +11 -11
  145. package/server/.next/server/app/(console)/repos/page.js +52 -51
  146. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  147. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  148. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +23 -23
  149. package/server/.next/server/app/(console)/settings/page.js +52 -51
  150. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  151. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  152. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +18 -18
  153. package/server/.next/server/app/(console)/sql/page.js +52 -51
  154. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  155. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  156. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +11 -11
  157. package/server/.next/server/app/(console)/status/page.js +52 -51
  158. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  159. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  160. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +30 -30
  161. package/server/.next/server/app/(console)/supabase/page.js +52 -51
  162. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  163. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  164. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +11 -11
  165. package/server/.next/server/app/(console)/topology/page.js +52 -51
  166. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  167. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  168. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +11 -11
  169. package/server/.next/server/app/(console)/turso/page.js +52 -51
  170. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  171. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  172. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +11 -11
  173. package/server/.next/server/app/(console)/upstash/page.js +52 -51
  174. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  175. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  176. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +25 -25
  177. package/server/.next/server/app/(console)/uptime/page.js +52 -51
  178. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  179. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  180. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +16 -16
  181. package/server/.next/server/app/(console)/welcome/page.js +52 -51
  182. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  183. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  184. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  185. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  186. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  187. package/server/.next/server/app/_global-error.html +1 -1
  188. package/server/.next/server/app/_global-error.rsc +2 -2
  189. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  190. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  191. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  192. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  193. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  194. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  195. package/server/.next/server/app/_not-found.html +1 -1
  196. package/server/.next/server/app/_not-found.rsc +3 -3
  197. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  198. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  199. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  200. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  201. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  202. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  203. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +8 -8
  204. package/server/.next/server/app/api/collect/route.js +59 -59
  205. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  206. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +8 -8
  207. package/server/.next/server/app/api/daily/route.js +66 -66
  208. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  209. package/server/.next/server/app/api/ping/[...parts]/route.js +1 -1
  210. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  211. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  212. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +8 -8
  213. package/server/.next/server/app/api/telegram/webhook/route.js +50 -49
  214. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  215. package/server/.next/server/app/api/v1/advice/route.js +9 -9
  216. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  217. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  218. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  219. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  220. package/server/.next/server/app/api/v1/ai/questions/route.js +8 -8
  221. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  222. package/server/.next/server/app/api/v1/mcp/route.js +7 -7
  223. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  224. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  225. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  226. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +10 -10
  227. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  228. package/server/.next/server/app/api/v1/status/route.js +10 -10
  229. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  230. package/server/.next/server/app/api/watchdog/route.js +4 -4
  231. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  232. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  233. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  234. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  235. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  236. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  237. package/server/.next/server/app/brand-icon/route.js +6 -6
  238. package/server/.next/server/app/brand-icon/route.js.nft.json +1 -1
  239. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  240. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  241. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  242. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  243. package/server/.next/server/app/mfa/page.js +27 -26
  244. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  245. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  246. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  247. package/server/.next/server/app/mfa/setup/page.js +27 -26
  248. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  249. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  250. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  251. package/server/.next/server/app/page.js.nft.json +1 -1
  252. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  253. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  254. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  255. package/server/.next/server/app/s/[slug]/page.js +1 -1
  256. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  257. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  258. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  259. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  260. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  261. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  262. package/server/.next/server/app/signin/page.js +25 -24
  263. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  264. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  265. package/server/.next/server/chunks/{[externals]__0oqc6ym5k457v._.js → [externals]__0ws552tlu2170._.js} +1 -1
  266. package/server/.next/server/chunks/{[externals]__1aervsuoo1qe_._.js → [externals]__14rgrk9t-kxa1._.js} +1 -1
  267. package/server/.next/server/chunks/{[externals]__1oag9t_9gex2-._.js → [externals]__1pdwh-htbnox8._.js} +1 -1
  268. package/server/.next/server/chunks/[root-of-the-server]__0-amtx67pqi56._.js +3 -0
  269. package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +1 -1
  270. package/server/.next/server/chunks/{[root-of-the-server]__0_2fr1g7uby1m._.js → [root-of-the-server]__01nlh4ps9u-65._.js} +2 -2
  271. package/server/.next/server/chunks/{[root-of-the-server]__016wnct3b5iby._.js → [root-of-the-server]__01ur0kf75ampv._.js} +2 -2
  272. package/server/.next/server/chunks/{[root-of-the-server]__0ra_bw8zg6kmk._.js → [root-of-the-server]__028m_6oqyqmyy._.js} +2 -2
  273. package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.js +1 -1
  274. package/server/.next/server/chunks/{[root-of-the-server]__1hcn00gn9mapd._.js → [root-of-the-server]__02wzui3ksepqf._.js} +2 -2
  275. package/server/.next/server/chunks/[root-of-the-server]__0326wv5xmnp48._.js +3 -0
  276. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  277. package/server/.next/server/chunks/{[root-of-the-server]__0tsly874_mafr._.js → [root-of-the-server]__03537tx7cun49._.js} +2 -2
  278. package/server/.next/server/chunks/{[root-of-the-server]__1p1e6x-mb7ro2._.js → [root-of-the-server]__0400g-0wvq3uf._.js} +2 -2
  279. package/server/.next/server/chunks/[root-of-the-server]__04htuwoulmp21._.js +3 -0
  280. package/server/.next/server/chunks/[root-of-the-server]__05qcc-0e8z1u8._.js +1 -1
  281. package/server/.next/server/chunks/{[root-of-the-server]__0ux78ppoct5b_._.js → [root-of-the-server]__06bn4cfh-g8-d._.js} +2 -2
  282. package/server/.next/server/chunks/{[root-of-the-server]__1ia-rts7ilt7c._.js → [root-of-the-server]__06ty1ktg427pm._.js} +2 -2
  283. package/server/.next/server/chunks/{[root-of-the-server]__0afpn-tk2qlu0._.js → [root-of-the-server]__076yrld-lo25r._.js} +2 -2
  284. package/server/.next/server/chunks/[root-of-the-server]__07eo--c90cju2._.js +1 -1
  285. package/server/.next/server/chunks/{[root-of-the-server]__0xnag1k7mnvoh._.js → [root-of-the-server]__081k4lp976vd7._.js} +2 -2
  286. package/server/.next/server/chunks/[root-of-the-server]__08i6b8tzxads4._.js +3 -0
  287. package/server/.next/server/chunks/[root-of-the-server]__09oipjf2ew_pn._.js +3 -0
  288. package/server/.next/server/chunks/{[root-of-the-server]__1-bbb_srnbm5x._.js → [root-of-the-server]__0_c_c1bv7sopk._.js} +1 -1
  289. package/server/.next/server/chunks/{[root-of-the-server]__0mg6rmq22tf26._.js → [root-of-the-server]__0a34twsor45ml._.js} +1 -1
  290. package/server/.next/server/chunks/{[root-of-the-server]__07gjmfv5mi33j._.js → [root-of-the-server]__0bjh2kw90a-m_._.js} +1 -1
  291. package/server/.next/server/chunks/{[root-of-the-server]__0pm83e1a3wwlw._.js → [root-of-the-server]__0c41pzboxtjvz._.js} +1 -1
  292. package/server/.next/server/chunks/{[root-of-the-server]__0ng-t81zeeipc._.js → [root-of-the-server]__0dahxh87cvyn2._.js} +2 -2
  293. package/server/.next/server/chunks/[root-of-the-server]__0dd4hulw1w-4i._.js +3 -0
  294. package/server/.next/server/chunks/{[root-of-the-server]__0nyxfjn368366._.js → [root-of-the-server]__0dfkxg4ax2hqz._.js} +1 -1
  295. package/server/.next/server/chunks/[root-of-the-server]__0e3hcgbyb09-p._.js +3 -0
  296. package/server/.next/server/chunks/{[root-of-the-server]__0gv3v5775wfmw._.js → [root-of-the-server]__0fk1609_5zg7g._.js} +2 -2
  297. package/server/.next/server/chunks/[root-of-the-server]__0fl1uspuemkzr._.js +3 -0
  298. package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +1 -1
  299. package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +1 -1
  300. package/server/.next/server/chunks/{[root-of-the-server]__0jz91oppmwtiq._.js → [root-of-the-server]__0hm5-0_rh9r6m._.js} +2 -2
  301. package/server/.next/server/chunks/{[root-of-the-server]__1qelr0qe50xap._.js → [root-of-the-server]__0hwm4j4o2v8nc._.js} +2 -2
  302. package/server/.next/server/chunks/[root-of-the-server]__0k73a-s2lcpoz._.js +3 -0
  303. package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +1 -1
  304. package/server/.next/server/chunks/{[root-of-the-server]__0jevd1p5unnre._.js → [root-of-the-server]__0kzgu06ee59vd._.js} +2 -2
  305. package/server/.next/server/chunks/[root-of-the-server]__0mrbo2p5fy4ji._.js +3 -0
  306. package/server/.next/server/chunks/[root-of-the-server]__0nw8jgr3bsi8b._.js +3 -0
  307. package/server/.next/server/chunks/{[root-of-the-server]__0g0-q56cumuup._.js → [root-of-the-server]__0o4e39mvq8_el._.js} +1 -1
  308. package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.js +1 -1
  309. package/server/.next/server/chunks/{[root-of-the-server]__1le7r_1_00km1._.js → [root-of-the-server]__0opds07bp1fnb._.js} +2 -2
  310. package/server/.next/server/chunks/{[root-of-the-server]__070v8547b4qpa._.js → [root-of-the-server]__0pfcnbr0br6li._.js} +1 -1
  311. package/server/.next/server/chunks/{[root-of-the-server]__1-9vvc9y0qqhf._.js → [root-of-the-server]__0pi9id-ywuq6g._.js} +2 -2
  312. package/server/.next/server/chunks/{[root-of-the-server]__0aazgg7203ez1._.js → [root-of-the-server]__0s3zxs-_ayd-6._.js} +1 -1
  313. package/server/.next/server/chunks/{[root-of-the-server]__0eyd4kffoz9ex._.js → [root-of-the-server]__0sgy49rgsxyvy._.js} +1 -1
  314. package/server/.next/server/chunks/[root-of-the-server]__0sp5xoed3-994._.js +3 -0
  315. package/server/.next/server/chunks/{[root-of-the-server]__03y8yvaulshnn._.js → [root-of-the-server]__0swji6flwxtbv._.js} +2 -2
  316. package/server/.next/server/chunks/{[root-of-the-server]__0p_rkszoindlf._.js → [root-of-the-server]__0tyilr06jn8nb._.js} +1 -1
  317. package/server/.next/server/chunks/[root-of-the-server]__0uss50b85q1j1._.js +3 -0
  318. package/server/.next/server/chunks/{[root-of-the-server]__0w1iqt-rpp_3h._.js → [root-of-the-server]__0vco1v37du1ez._.js} +1 -1
  319. package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
  320. package/server/.next/server/chunks/{[root-of-the-server]__05s9-538s47_e._.js → [root-of-the-server]__0w_hiz5nrm8-4._.js} +1 -1
  321. package/server/.next/server/chunks/[root-of-the-server]__0xzl28izr2tiq._.js +3 -0
  322. package/server/.next/server/chunks/[root-of-the-server]__0xzreqng-t2g8._.js +3 -0
  323. package/server/.next/server/chunks/{[root-of-the-server]__0b7xflnrk4amk._.js → [root-of-the-server]__0z9of310ruzug._.js} +2 -2
  324. package/server/.next/server/chunks/[root-of-the-server]__0zu1odpvrptrt._.js +3 -0
  325. package/server/.next/server/chunks/{[root-of-the-server]__14cb1pomeg0x7._.js → [root-of-the-server]__1-3u16rnk101p._.js} +2 -2
  326. package/server/.next/server/chunks/[root-of-the-server]__1-pe9ipc3y6rn._.js +3 -0
  327. package/server/.next/server/chunks/[root-of-the-server]__1-tqm3jzny4zd._.js +3 -0
  328. package/server/.next/server/chunks/{[root-of-the-server]__1mqv7anx5l3yq._.js → [root-of-the-server]__108g59p2fl8tw._.js} +2 -2
  329. package/server/.next/server/chunks/[root-of-the-server]__12_wmn5mkj9v7._.js +3 -0
  330. package/server/.next/server/chunks/{[root-of-the-server]__0vuirlylhcyzm._.js → [root-of-the-server]__12bo9op0qkw9d._.js} +2 -2
  331. package/server/.next/server/chunks/{[root-of-the-server]__0p955ekgdwy_c._.js → [root-of-the-server]__12tontjm90s-j._.js} +2 -2
  332. package/server/.next/server/chunks/[root-of-the-server]__13-qqkdecmwba._.js +1 -1
  333. package/server/.next/server/chunks/{[root-of-the-server]__1qxm3lqqdbyy7._.js → [root-of-the-server]__140ixflf83vxj._.js} +2 -2
  334. package/server/.next/server/chunks/{[root-of-the-server]__1qqdsrhuw0z-w._.js → [root-of-the-server]__152e1b97gc8hw._.js} +2 -2
  335. package/server/.next/server/chunks/[root-of-the-server]__153lxhkj8-_vf._.js +3 -0
  336. package/server/.next/server/chunks/{[root-of-the-server]__1rusbj8ktmzj0._.js → [root-of-the-server]__15tr3yx8k9lyt._.js} +2 -2
  337. package/server/.next/server/chunks/{[root-of-the-server]__029099rqwqwff._.js → [root-of-the-server]__16-0nul8mfe2m._.js} +2 -2
  338. package/server/.next/server/chunks/{[root-of-the-server]__0qhyj1r9qcxp3._.js → [root-of-the-server]__172vz80sdr5ny._.js} +2 -2
  339. package/server/.next/server/chunks/[root-of-the-server]__177l2p7kcj-16._.js +1 -1
  340. package/server/.next/server/chunks/{[root-of-the-server]__0u4o6oo428rvf._.js → [root-of-the-server]__17bz0jxsns742._.js} +2 -2
  341. package/server/.next/server/chunks/{[root-of-the-server]__1gl0-1oziw-g0._.js → [root-of-the-server]__17jjm80vttqmq._.js} +2 -2
  342. package/server/.next/server/chunks/{[root-of-the-server]__1pu84qy7loc8o._.js → [root-of-the-server]__18eqxi2vwpdjm._.js} +2 -2
  343. package/server/.next/server/chunks/[root-of-the-server]__194y_mcnn0zs3._.js +3 -0
  344. package/server/.next/server/chunks/[root-of-the-server]__1_iy7tzpesarf._.js +1 -1
  345. package/server/.next/server/chunks/[root-of-the-server]__1_vfu21n1zq17._.js +3 -0
  346. package/server/.next/server/chunks/[root-of-the-server]__1akvpmbiap6nf._.js +1 -1
  347. package/server/.next/server/chunks/[root-of-the-server]__1c78cu7kb9vkl._.js +1 -1
  348. package/server/.next/server/chunks/[root-of-the-server]__1cy1k8jbwoull._.js +3 -0
  349. package/server/.next/server/chunks/[root-of-the-server]__1d4wmw2wohveb._.js +3 -0
  350. package/server/.next/server/chunks/{[root-of-the-server]__02ctwy1u4z3fj._.js → [root-of-the-server]__1dp_mz2p02ze6._.js} +2 -2
  351. package/server/.next/server/chunks/{[root-of-the-server]__11yn1ky7yixd7._.js → [root-of-the-server]__1eng6c6q52y-6._.js} +2 -2
  352. package/server/.next/server/chunks/[root-of-the-server]__1etg41llk7f09._.js +3 -0
  353. package/server/.next/server/chunks/[root-of-the-server]__1f-rkijnm8me7._.js +3 -0
  354. package/server/.next/server/chunks/{[root-of-the-server]__0t6rge6laz89-._.js → [root-of-the-server]__1gfuhug61s-qy._.js} +2 -2
  355. package/server/.next/server/chunks/{[root-of-the-server]__1ywvdsk_bmws0._.js → [root-of-the-server]__1git7o20yf9nn._.js} +2 -2
  356. package/server/.next/server/chunks/[root-of-the-server]__1h496oc8wu4s6._.js +3 -0
  357. package/server/.next/server/chunks/[root-of-the-server]__1hertcbqi_w97._.js +3 -0
  358. package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +1 -1
  359. package/server/.next/server/chunks/[root-of-the-server]__1j-nkcwy3w6sy._.js +3 -0
  360. package/server/.next/server/chunks/[root-of-the-server]__1jcr8cc_tlvfc._.js +1 -1
  361. package/server/.next/server/chunks/[root-of-the-server]__1l3uz57-1a35s._.js +3 -0
  362. package/server/.next/server/chunks/[root-of-the-server]__1l9pn8y-o6xyp._.js +3 -0
  363. package/server/.next/server/chunks/[root-of-the-server]__1lp_rypkkdjp9._.js +3 -0
  364. package/server/.next/server/chunks/[root-of-the-server]__1m-z1ne4p7pi5._.js +3 -0
  365. package/server/.next/server/chunks/{[root-of-the-server]__12w6gylk59cym._.js → [root-of-the-server]__1ma2tpf6wh9p6._.js} +2 -2
  366. package/server/.next/server/chunks/[root-of-the-server]__1nohrxjajgm5c._.js +3 -0
  367. package/server/.next/server/chunks/[root-of-the-server]__1o2km61kftkj1._.js +3 -0
  368. package/server/.next/server/chunks/[root-of-the-server]__1pn773t93gvn-._.js +3 -0
  369. package/server/.next/server/chunks/[root-of-the-server]__1q0h-x-7ob6cu._.js +3 -0
  370. package/server/.next/server/chunks/[root-of-the-server]__1q2e13halne9s._.js +3 -0
  371. package/server/.next/server/chunks/[root-of-the-server]__1q7xy_u4inf4h._.js +3 -0
  372. package/server/.next/server/chunks/[root-of-the-server]__1qtorf4s2dfeg._.js +3 -0
  373. package/server/.next/server/chunks/[root-of-the-server]__1sm4p209f_yie._.js +3 -0
  374. package/server/.next/server/chunks/[root-of-the-server]__1uhgqik99k1y6._.js +3 -0
  375. package/server/.next/server/chunks/[root-of-the-server]__1uq4f0bdphqs2._.js +3 -0
  376. package/server/.next/server/chunks/{[root-of-the-server]__1gufo2kz88z04._.js → [root-of-the-server]__1usilhckla3wj._.js} +1 -1
  377. package/server/.next/server/chunks/[root-of-the-server]__1v_8mu8mt1n5i._.js +3 -0
  378. package/server/.next/server/chunks/{[root-of-the-server]__1yk1psrx0yy4n._.js → [root-of-the-server]__1vtlx_63lj4tg._.js} +2 -2
  379. package/server/.next/server/chunks/[root-of-the-server]__1wxj0f-l93gkh._.js +3 -0
  380. package/server/.next/server/chunks/[root-of-the-server]__1x4u0cdsl_81t._.js +1 -1
  381. package/server/.next/server/chunks/{[root-of-the-server]__1lvf4tk_1td0a._.js → [root-of-the-server]__1x7en4waq21dd._.js} +2 -2
  382. package/server/.next/server/chunks/[root-of-the-server]__1xzg_370-w-6t._.js +3 -0
  383. package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +1 -1
  384. package/server/.next/server/chunks/_01epotkqa90nv._.js +1 -1
  385. package/server/.next/server/chunks/_03wces6vk33l0._.js +3 -0
  386. package/server/.next/server/chunks/_08q7x7rdbiaql._.js +9 -9
  387. package/server/.next/server/chunks/_09iin0yvuppj0._.js +3 -0
  388. package/server/.next/server/chunks/{_1w9di5m91vtjk._.js → _0buibatfr6-k_._.js} +3 -3
  389. package/server/.next/server/chunks/_0d29nzne5jrwy._.js +9 -9
  390. package/server/.next/server/chunks/{_1txqs5b7jg9so._.js → _0hekve2tk2eyv._.js} +3 -3
  391. package/server/.next/server/chunks/_0huryxihjw6tl._.js +9 -9
  392. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  393. package/server/.next/server/chunks/_0ou2tylxx1ltw._.js +2 -2
  394. package/server/.next/server/chunks/{_0lboyl6w4kfx4._.js → _0s_2fgaxby9fy._.js} +3 -3
  395. package/server/.next/server/chunks/_0z4b07-oa6ms9._.js +3 -0
  396. package/server/.next/server/chunks/_10mj3f1wis1ld._.js +1 -1
  397. package/server/.next/server/chunks/_139_9h76gakgh._.js +3 -0
  398. package/server/.next/server/chunks/_14jiq00zwwqdl._.js +3 -0
  399. package/server/.next/server/chunks/_15f0c7f46zkh3._.js +1 -1
  400. package/server/.next/server/chunks/_1e4rch26scbhq._.js +9 -9
  401. package/server/.next/server/chunks/_1iunyzyr-tfdj._.js +9 -9
  402. package/server/.next/server/chunks/_1jor4_sz1x8mt._.js +3 -0
  403. package/server/.next/server/chunks/_1m3zrm9-rc926._.js +3 -0
  404. package/server/.next/server/chunks/_1mwwg18ni-phb._.js +3 -0
  405. package/server/.next/server/chunks/_1ohb_bmawpjlz._.js +2 -2
  406. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  407. package/server/.next/server/chunks/src_0071b0w5aco6_._.js +3 -0
  408. package/server/.next/server/chunks/src_1-6a00bmwlymu._.js +3 -0
  409. package/server/.next/server/chunks/src_1-dy6ie3_ezvm._.js +3 -0
  410. package/server/.next/server/chunks/{src_1s913pql1_n-f._.js → src_13ij0feyzy7me._.js} +2 -2
  411. package/server/.next/server/chunks/{src_1_y0pxtbr6e04._.js → src_14vh1kj98t0xu._.js} +2 -2
  412. package/server/.next/server/chunks/src_1_s_jyur8tzy3._.js +3 -0
  413. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  414. package/server/.next/server/chunks/src_1dio7z4_so000._.js +3 -0
  415. package/server/.next/server/chunks/src_1hpbxjbqlnuob._.js +3 -0
  416. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  417. package/server/.next/server/chunks/{src_1mwttl5ainte0._.js → src_20eae99bkrgpt._.js} +2 -2
  418. package/server/.next/server/chunks/src_lib_0-fln6xaazo-9._.js +12 -0
  419. package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +1 -1
  420. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  421. package/server/.next/server/chunks/src_lib_0pyyxm3m1rttg._.js +1 -1
  422. package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +1 -1
  423. package/server/.next/server/chunks/src_lib_1jlvdx5ho171c._.js +12 -0
  424. package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  425. package/server/.next/server/chunks/src_lib_branding_ts_03ns4y_8z0-6e._.js +1 -1
  426. package/server/.next/server/chunks/src_lib_branding_ts_0jfv9nur5alvy._.js +1 -1
  427. package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +4 -4
  428. package/server/.next/server/chunks/src_lib_data_report-db_ts_0b5f4dpxn08gk._.js +1 -1
  429. package/server/.next/server/chunks/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +4 -4
  430. package/server/.next/server/chunks/src_lib_data_settings-db_ts_1to3jtggxlaz4._.js +3 -0
  431. package/server/.next/server/chunks/src_lib_data_settings-db_ts_2060-w9nbvitr._.js +3 -0
  432. package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +8 -8
  433. package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +1 -1
  434. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +1 -1
  435. package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +1 -1
  436. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  437. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
  438. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
  439. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
  440. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
  441. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
  442. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
  443. package/server/.next/server/chunks/ssr/{[externals]__0byytapt83qke._.js → [externals]__1299yq-rye4ww._.js} +1 -1
  444. package/server/.next/server/chunks/ssr/{[externals]__1baveo0r8_hf1._.js → [externals]__134px-n77ygse._.js} +1 -1
  445. package/server/.next/server/chunks/ssr/{[externals]__02peoq6kft9oz._.js → [externals]__1s9zy_6f7xfd5._.js} +1 -1
  446. package/server/.next/server/chunks/ssr/{[externals]__0gb_9a2m3eqk5._.js → [externals]__1t5grpj1lrsbr._.js} +1 -1
  447. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
  448. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1pr-neo8jutji._.js → [root-of-the-server]__03iw2anbe7pxg._.js} +2 -2
  449. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_axyb404w3bf._.js → [root-of-the-server]__059q8f4tia03z._.js} +2 -2
  450. package/server/.next/server/chunks/ssr/{[root-of-the-server]__05uxv6qwfpp79._.js → [root-of-the-server]__05ot6j41b9i8j._.js} +2 -2
  451. package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
  452. package/server/.next/server/chunks/ssr/{[root-of-the-server]__12c2r19g75dyy._.js → [root-of-the-server]__0_wsm-adqpmgy._.js} +1 -1
  453. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_q3kww244pif._.js → [root-of-the-server]__0buxkrf7nrji8._.js} +2 -2
  454. package/server/.next/server/chunks/ssr/{[root-of-the-server]__041mpme_x36vq._.js → [root-of-the-server]__0f6ao2fs70kab._.js} +1 -1
  455. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0rrnk3_fb0l_9._.js → [root-of-the-server]__0f8ibnqfh_mp0._.js} +2 -2
  456. package/server/.next/server/chunks/ssr/[root-of-the-server]__0h8-rlmhjyebb._.js +3 -0
  457. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
  458. package/server/.next/server/chunks/ssr/[root-of-the-server]__0kejvdc7h-pgz._.js +3 -0
  459. package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
  460. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ev5rocipbkjw._.js → [root-of-the-server]__0kjdpn_g9gvwr._.js} +2 -2
  461. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
  462. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1z_pt3d8lty_n._.js → [root-of-the-server]__0msczl_qf2eml._.js} +2 -2
  463. package/server/.next/server/chunks/ssr/[root-of-the-server]__0mvauw9r_4qss._.js +1 -1
  464. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
  465. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
  466. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1xkfr7qk7oxjf._.js → [root-of-the-server]__0s9z1kusbxvae._.js} +2 -2
  467. package/server/.next/server/chunks/ssr/{[root-of-the-server]__13x0qmv4fm_1p._.js → [root-of-the-server]__0wlctoz_-yuyh._.js} +1 -1
  468. package/server/.next/server/chunks/ssr/[root-of-the-server]__0y6psx1_d7fkt._.js +3 -0
  469. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1zsqu1mecqptt._.js → [root-of-the-server]__0yr0heg1b0y5t._.js} +2 -2
  470. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1z3vauqrf2l-_._.js → [root-of-the-server]__0yvm5q_auexh3._.js} +2 -2
  471. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0qhbs-or7q-om._.js → [root-of-the-server]__0zgo5h9mstjc8._.js} +1 -1
  472. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1mbb917mrz5c-._.js → [root-of-the-server]__107qfgl2c58q0._.js} +1 -1
  473. package/server/.next/server/chunks/ssr/[root-of-the-server]__10ahcnczmy5hx._.js +3 -0
  474. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1n-rcmbkk7duv._.js → [root-of-the-server]__12cdcpj45tu6j._.js} +2 -2
  475. package/server/.next/server/chunks/ssr/[root-of-the-server]__18dcfrlpoapw9._.js +1 -1
  476. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  477. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1k8mxdm-cxfg_._.js → [root-of-the-server]__1a3_aiqflmt4f._.js} +2 -2
  478. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0vqae5m2ntd34._.js → [root-of-the-server]__1brzt_134_2iy._.js} +2 -2
  479. package/server/.next/server/chunks/ssr/[root-of-the-server]__1g6kynby65m0v._.js +1 -1
  480. package/server/.next/server/chunks/ssr/[root-of-the-server]__1sw2q1p1t59y8._.js +1 -1
  481. package/server/.next/server/chunks/ssr/[root-of-the-server]__1t9_ue4abugtn._.js +3 -0
  482. package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
  483. package/server/.next/server/chunks/ssr/[root-of-the-server]__1vgliw2256_6l._.js +1 -1
  484. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1gkcoq0cmmax1._.js → [root-of-the-server]__1zki66ic3cluq._.js} +2 -2
  485. package/server/.next/server/chunks/ssr/_008i8a0_8skrp._.js +1 -1
  486. package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
  487. package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
  488. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  489. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  490. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  491. package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
  492. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  493. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
  494. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  495. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
  496. package/server/.next/server/chunks/ssr/_0gmw45sb1llld._.js +1 -1
  497. package/server/.next/server/chunks/ssr/_0hqya_yuov5jw._.js +1 -1
  498. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
  499. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
  500. package/server/.next/server/chunks/ssr/_0iy27gi4y9-fe._.js +1 -1
  501. package/server/.next/server/chunks/ssr/{_0xkl4rb1wydtd._.js → _0k6kbi721s28p._.js} +2 -2
  502. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
  503. package/server/.next/server/chunks/ssr/_0kk0of-t4vhyh._.js +1 -1
  504. package/server/.next/server/chunks/ssr/{_0lg6_we0pe3nk._.js → _0l0eho21fo-8l._.js} +2 -2
  505. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  506. package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
  507. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
  508. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
  509. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
  510. package/server/.next/server/chunks/ssr/_0uz60lk-7e_cj._.js +2 -2
  511. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  512. package/server/.next/server/chunks/ssr/{_1ge8mluhma23o._.js → _0x4ybc829r3ta._.js} +2 -2
  513. package/server/.next/server/chunks/ssr/_0xmud7u5hdnqu._.js +2 -2
  514. package/server/.next/server/chunks/ssr/_1-4401bfn50mf._.js +1 -1
  515. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  516. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  517. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  518. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
  519. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  520. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  521. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
  522. package/server/.next/server/chunks/ssr/{_0kq3wqx86yyhb._.js → _1cdlzhw6tkrhd._.js} +2 -2
  523. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  524. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
  525. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
  526. package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
  527. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  528. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
  529. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  530. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  531. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
  532. package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
  533. package/server/.next/server/chunks/ssr/_1ong0a252wcvc._.js +8 -8
  534. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
  535. package/server/.next/server/chunks/ssr/_1q3fi6a4gklq6._.js +1 -1
  536. package/server/.next/server/chunks/ssr/_1ul3og9l7vp32._.js +2 -2
  537. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
  538. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  539. package/server/.next/server/chunks/ssr/{_170okt24rw1yx._.js → _1zsfeuyrhcwmh._.js} +2 -2
  540. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
  541. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
  542. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
  543. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_1myo_rodrlg3a.js +2 -2
  544. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
  545. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
  546. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_containers_page_actions_1ainjsbrnl360.js +1 -1
  547. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
  548. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
  549. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
  550. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
  551. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
  552. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1363m-cfkgyvr.js +1 -1
  553. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
  554. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
  555. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  556. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  557. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1q6iypbn6yagc._.js → src_000iv6actp3t_._.js} +2 -2
  558. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
  559. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  560. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  561. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  562. package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
  563. package/server/.next/server/chunks/ssr/src_0ovx2ogvlz2eh._.js +1 -1
  564. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  565. package/server/.next/server/chunks/ssr/{src_18ofj2_oxqb0g._.js → src_0torilf0s7p-e._.js} +2 -2
  566. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  567. package/server/.next/server/chunks/ssr/{src_1ldp01vcphvw5._.js → src_1_b884ul0envr._.js} +2 -2
  568. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  569. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  570. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  571. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  572. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  573. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  574. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  575. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  576. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  577. package/server/.next/server/chunks/ssr/{src_app_(console)_0eh38ymzn-s-m._.js → src_app_(console)_0e1l3e9r_60s4._.js} +2 -2
  578. package/server/.next/server/chunks/ssr/{src_app_(console)_03s-e0b0zsqqr._.js → src_app_(console)_124kgxvmqm7j4._.js} +2 -2
  579. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
  580. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_08in-j3xp5mbn._.js +1 -1
  581. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  582. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  583. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  584. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  585. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  586. package/server/.next/server/chunks/ssr/src_app_(console)_containers_containers-view_tsx_1xkcrw5gx53xo._.js +1 -1
  587. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  588. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  589. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  590. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  591. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  592. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  593. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  594. package/server/.next/server/chunks/ssr/src_app_(console)_os_os-view_tsx_0xr69f5vtstls._.js +1 -1
  595. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  596. package/server/.next/server/chunks/ssr/src_app_(console)_reports_reports-view_tsx_1l0apba6g810q._.js +1 -1
  597. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  598. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  599. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  600. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_1ofufib3-zzt-._.js +1 -1
  601. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  602. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  603. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  604. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  605. package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
  606. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  607. package/server/.next/server/chunks/ssr/src_app_signin_1_sp0qx8_z7c9._.js +1 -1
  608. package/server/.next/server/chunks/ssr/{src_app_signin_1-h17es4-y1-k._.js → src_app_signin_1qq0_77_vdutm._.js} +2 -2
  609. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  610. package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +1 -1
  611. package/server/.next/server/chunks/ssr/src_lib_0jnv54-8idu07._.js +1 -1
  612. package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
  613. package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  614. package/server/.next/server/chunks/ssr/src_lib_branding_ts_03ns4y_8z0-6e._.js +1 -1
  615. package/server/.next/server/chunks/ssr/src_lib_branding_ts_1p22ju9pii41w._.js +3 -0
  616. package/server/.next/server/chunks/ssr/src_lib_collector_self-update_ts_18m5vmptpjhtg._.js +1 -1
  617. package/server/.next/server/chunks/ssr/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +2 -2
  618. package/server/.next/server/chunks/ssr/src_lib_data_settings-db_ts_1to3jtggxlaz4._.js +3 -0
  619. package/server/.next/server/chunks/ssr/{src_lib_demo_0r3c3k5102jja._.js → src_lib_demo_03sepqqjq9usk._.js} +2 -2
  620. package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +5 -5
  621. package/server/.next/server/chunks/ssr/src_lib_view_usage_ts_1h1tj0m3n2vul._.js +1 -1
  622. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  623. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  624. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  625. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  626. package/server/.next/server/middleware-build-manifest.js +3 -3
  627. package/server/.next/server/pages/404.html +1 -1
  628. package/server/.next/server/pages/500.html +1 -1
  629. package/server/.next/server/preview-props.json +3 -3
  630. package/server/.next/server/server-reference-manifest.js +1 -1
  631. package/server/.next/server/server-reference-manifest.json +178 -158
  632. package/server/.next/static/chunks/{2co8kv2tj776w.js → 0-v128fmc05bf.js} +1 -1
  633. package/server/.next/static/chunks/{1416wraxs5p8g.js → 02db293pqegsb.js} +1 -1
  634. package/server/.next/static/chunks/{2i5_2zcei6rqr.js → 03t36gu4t__cw.js} +1 -1
  635. package/server/.next/static/chunks/{3bvj3-0xltkjo.js → 07p13q6tuqr2r.js} +1 -1
  636. package/server/.next/static/chunks/{3ic9vbadne9of.js → 09qtiybhnydd3.js} +1 -1
  637. package/server/.next/static/chunks/{2txgb9zusks-w.js → 0_5leiwhgv7d6.js} +1 -1
  638. package/server/.next/static/chunks/{1nv_9c1bate-f.js → 0_ebioh9utve_.js} +1 -1
  639. package/server/.next/static/chunks/{1_uuog1-u6y0t.js → 0_hd-kx6h59a8.js} +1 -1
  640. package/server/.next/static/chunks/{2azwg3my8wh40.js → 0if7r4ximmzwb.js} +1 -1
  641. package/server/.next/static/chunks/{2n198u7xx1koh.js → 0ohm_qoe5thrr.js} +1 -1
  642. package/server/.next/static/chunks/0ssmmtio659vh.js +1 -0
  643. package/server/.next/static/chunks/{07_cb192ydsaj.js → 0t0igs6uqhbf0.js} +1 -1
  644. package/server/.next/static/chunks/{0zwq-z8jt5hpz.js → 0ut06v9sng9g4.js} +1 -1
  645. package/server/.next/static/chunks/{0s00_-em3cj00.js → 0w--mj7tf-9f-.js} +1 -1
  646. package/server/.next/static/chunks/131egbz-4xsjl.js +1 -0
  647. package/server/.next/static/chunks/{3ic7ri5b4ifjp.js → 14dbn6_jif37v.js} +2 -2
  648. package/server/.next/static/chunks/{1vt_t7dg_-pyu.js → 15l58okvbrc4_.js} +1 -1
  649. package/server/.next/static/chunks/{378ttzg87hows.js → 1_nuygyg_kes5.js} +2 -2
  650. package/server/.next/static/chunks/{3-us-wg44ohoc.js → 1bsq3x1wh49bp.js} +1 -1
  651. package/server/.next/static/chunks/{3n98m8tj20wcf.js → 1esunqtpnjwkw.js} +1 -1
  652. package/server/.next/static/chunks/{1j_hduntj28ij.js → 1gizey8idqrkt.js} +1 -1
  653. package/server/.next/static/chunks/{0gxxyq5l_0rp2.js → 1itgjll79qm1l.js} +1 -1
  654. package/server/.next/static/chunks/{3dktq-qmj2q5b.js → 1o27sfcuph25w.js} +1 -1
  655. package/server/.next/static/chunks/{31fs88f_h861n.js → 1pz19kzjaj8uw.js} +1 -1
  656. package/server/.next/static/chunks/{0a9mqrzg8420n.js → 1qzun1-bna-sy.js} +1 -1
  657. package/server/.next/static/chunks/{3mgd5b39ghc-w.js → 1ugo5ye01racz.js} +1 -1
  658. package/server/.next/static/chunks/{2gk24b05q4q57.js → 1z5s55o29xqyu.js} +1 -1
  659. package/server/.next/static/chunks/21gu7xcv8ix3_.js +1 -0
  660. package/server/.next/static/chunks/{3aglnkhgcl_kq.js → 21p4xz6ysy8mv.js} +1 -1
  661. package/server/.next/static/chunks/{0ynyx3s7s4mv7.js → 22bdke6t-doqh.js} +1 -1
  662. package/server/.next/static/chunks/{1nqpnndfmw0tc.js → 28ljlwfuuz5a1.js} +1 -1
  663. package/server/.next/static/chunks/29lr_ae0uli9o.js +1 -0
  664. package/server/.next/static/chunks/{1yyigrxptb7jm.js → 2jkqfajf-i0r6.js} +2 -2
  665. package/server/.next/static/chunks/{2sr03gtef27q0.js → 2mhli3hpy5vr9.js} +1 -1
  666. package/server/.next/static/chunks/{3u1v2wpzthilq.js → 2ns8p-8ngmi9h.js} +1 -1
  667. package/server/.next/static/chunks/{0valedxcn7j8k.js → 2vdwhg5fnxmu-.js} +2 -2
  668. package/server/.next/static/chunks/{1azdri14ocjgg.js → 2xgya43mybqsr.js} +11 -11
  669. package/server/.next/static/chunks/{3cti7pgg_jjlx.js → 2yv02i0h6tppe.js} +1 -1
  670. package/server/.next/static/chunks/{3-789qaoce7ff.js → 31gsdl-_t96jr.js} +1 -1
  671. package/server/.next/static/chunks/{2db0smm21dva_.js → 3_lq_n61v4j3r.js} +1 -1
  672. package/server/.next/static/chunks/{0_xoojw9q_nof.js → 3a11wypkvc5ey.js} +1 -1
  673. package/server/.next/static/chunks/{0dn6fty1ilg-n.js → 3g0p8ugqre9ft.js} +1 -1
  674. package/server/.next/static/chunks/{28_88x_e_ynaj.js → 3jq1ae0_9wu-o.js} +1 -1
  675. package/server/.next/static/chunks/3o358k-0653gr.js +1 -0
  676. package/server/.next/static/chunks/{05c15dcfh7cxm.js → 3pnzdk7snuzti.js} +1 -1
  677. package/server/.next/static/chunks/4114b2ynqr24j.js +1 -0
  678. package/server/.next/static/chunks/{28qjoy38cp5by.js → 41r6z31pmixbr.js} +1 -1
  679. package/server/.next/static/chunks/{3lw5n6yzs0665.js → 43wc7pgukn2dp.js} +1 -1
  680. package/server/.next/static/chunks/{1cd-2y1kwqosv.js → 4451kr05p691g.js} +1 -1
  681. package/server/.next/static/chunks/{1w51uxl19faw3.js → 44t_7rpq23-bz.js} +1 -1
  682. package/server/server.js +1 -1
  683. package/server/.next/server/chunks/[root-of-the-server]__00s0famyfjv1y._.js +0 -3
  684. package/server/.next/server/chunks/[root-of-the-server]__03z520-siwkv_._.js +0 -3
  685. package/server/.next/server/chunks/[root-of-the-server]__06od3qx7q00rc._.js +0 -3
  686. package/server/.next/server/chunks/[root-of-the-server]__09bwtkv2iniyt._.js +0 -3
  687. package/server/.next/server/chunks/[root-of-the-server]__0bb8xnocnnbt8._.js +0 -3
  688. package/server/.next/server/chunks/[root-of-the-server]__0c0drtvym6hf4._.js +0 -3
  689. package/server/.next/server/chunks/[root-of-the-server]__0frz3wu-qcv-d._.js +0 -3
  690. package/server/.next/server/chunks/[root-of-the-server]__0hm-azhxs9ted._.js +0 -3
  691. package/server/.next/server/chunks/[root-of-the-server]__0n-u6p8-hd-89._.js +0 -3
  692. package/server/.next/server/chunks/[root-of-the-server]__0p2n1_qp53y51._.js +0 -3
  693. package/server/.next/server/chunks/[root-of-the-server]__0p8j8b2tg73dq._.js +0 -3
  694. package/server/.next/server/chunks/[root-of-the-server]__0q9s7rbt0e-cf._.js +0 -3
  695. package/server/.next/server/chunks/[root-of-the-server]__0ra3lgjt0yuyy._.js +0 -3
  696. package/server/.next/server/chunks/[root-of-the-server]__0sgumm0843o2j._.js +0 -3
  697. package/server/.next/server/chunks/[root-of-the-server]__0vjvvirn6-fx-._.js +0 -3
  698. package/server/.next/server/chunks/[root-of-the-server]__0welpj78704um._.js +0 -3
  699. package/server/.next/server/chunks/[root-of-the-server]__0ymf9ppvpsffe._.js +0 -3
  700. package/server/.next/server/chunks/[root-of-the-server]__0zxrhqtvpoio4._.js +0 -3
  701. package/server/.next/server/chunks/[root-of-the-server]__10-4cctiab73h._.js +0 -3
  702. package/server/.next/server/chunks/[root-of-the-server]__11300e77grhx6._.js +0 -3
  703. package/server/.next/server/chunks/[root-of-the-server]__11tzj3jzqzk6v._.js +0 -3
  704. package/server/.next/server/chunks/[root-of-the-server]__12m0p1vyef6d5._.js +0 -3
  705. package/server/.next/server/chunks/[root-of-the-server]__13i4zx_j8zugt._.js +0 -3
  706. package/server/.next/server/chunks/[root-of-the-server]__1420nm1i823v8._.js +0 -3
  707. package/server/.next/server/chunks/[root-of-the-server]__1cnmxehqzmqq_._.js +0 -3
  708. package/server/.next/server/chunks/[root-of-the-server]__1f84fftr_6_6n._.js +0 -3
  709. package/server/.next/server/chunks/[root-of-the-server]__1i_vd8w3df3i6._.js +0 -3
  710. package/server/.next/server/chunks/[root-of-the-server]__1igmx9-fdh2wd._.js +0 -3
  711. package/server/.next/server/chunks/[root-of-the-server]__1kp2wois-47bg._.js +0 -3
  712. package/server/.next/server/chunks/[root-of-the-server]__1lcszcm98v484._.js +0 -3
  713. package/server/.next/server/chunks/[root-of-the-server]__1mufebnwyxlwx._.js +0 -3
  714. package/server/.next/server/chunks/[root-of-the-server]__1o0lvy6ek0v5d._.js +0 -3
  715. package/server/.next/server/chunks/[root-of-the-server]__1qwy7s_95k9k-._.js +0 -3
  716. package/server/.next/server/chunks/[root-of-the-server]__1rxaooz-d8jfs._.js +0 -3
  717. package/server/.next/server/chunks/[root-of-the-server]__1s8f1ovcj5r99._.js +0 -3
  718. package/server/.next/server/chunks/[root-of-the-server]__1tdb11b6vn4qm._.js +0 -3
  719. package/server/.next/server/chunks/[root-of-the-server]__1ti5-6okt7fur._.js +0 -3
  720. package/server/.next/server/chunks/[root-of-the-server]__1w_ga9n2lj53n._.js +0 -3
  721. package/server/.next/server/chunks/[root-of-the-server]__1xe_98y-j38aq._.js +0 -3
  722. package/server/.next/server/chunks/[root-of-the-server]__1z9kl-irij2lu._.js +0 -3
  723. package/server/.next/server/chunks/[root-of-the-server]__1zmoy4u_xb_yi._.js +0 -3
  724. package/server/.next/server/chunks/[root-of-the-server]__1zq2zv2ogn3ot._.js +0 -3
  725. package/server/.next/server/chunks/[root-of-the-server]__202mmzv3u-hk1._.js +0 -3
  726. package/server/.next/server/chunks/[root-of-the-server]__20tvyorpg49kd._.js +0 -3
  727. package/server/.next/server/chunks/_04oi0m63biyjd._.js +0 -3
  728. package/server/.next/server/chunks/_0bki3kju_1u1f._.js +0 -3
  729. package/server/.next/server/chunks/_0djze-128wsu0._.js +0 -3
  730. package/server/.next/server/chunks/_0hm72d9am2vfs._.js +0 -3
  731. package/server/.next/server/chunks/_1nuny071s602h._.js +0 -3
  732. package/server/.next/server/chunks/_1sx70w_rurjin._.js +0 -3
  733. package/server/.next/server/chunks/_1tl0532dffdm-._.js +0 -3
  734. package/server/.next/server/chunks/src_0frmhaaejchbk._.js +0 -3
  735. package/server/.next/server/chunks/src_0kihmyo3yghxy._.js +0 -3
  736. package/server/.next/server/chunks/src_16t2uefmdlh8d._.js +0 -3
  737. package/server/.next/server/chunks/src_17j4dgvb7rx7k._.js +0 -3
  738. package/server/.next/server/chunks/src_20xyhmuf0y6_v._.js +0 -3
  739. package/server/.next/server/chunks/src_lib_0hw2g5g295xx0._.js +0 -12
  740. package/server/.next/server/chunks/src_lib_1hveabvnpk83x._.js +0 -12
  741. package/server/.next/server/chunks/src_lib_collector_deploy-days_ts_087kwe68m4i93._.js +0 -3
  742. package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +0 -3
  743. package/server/.next/server/chunks/ssr/[root-of-the-server]__01o65-2jgmg9x._.js +0 -3
  744. package/server/.next/server/chunks/ssr/[root-of-the-server]__0q7rssq_3unbc._.js +0 -3
  745. package/server/.next/server/chunks/ssr/[root-of-the-server]__11yadiuejywcz._.js +0 -3
  746. package/server/.next/server/chunks/ssr/_0j_qqta7rirh5._.js +0 -3
  747. package/server/.next/server/chunks/ssr/src_09q8lx_19nta6._.js +0 -3
  748. package/server/.next/static/chunks/10y41_ed7ty6e.js +0 -1
  749. package/server/.next/static/chunks/16gt7hkgltvf7.js +0 -1
  750. package/server/.next/static/chunks/1sjgdu3r0baj-.js +0 -1
  751. package/server/.next/static/chunks/1velx-cd3d5y1.js +0 -1
  752. package/server/.next/static/chunks/1xydxxektmjgr.js +0 -1
  753. package/server/.next/static/chunks/2jflssspiz3-i.js +0 -1
  754. /package/server/.next/static/{NUZVcU60U-vXVedu_GB0w → GBOxoOLq1PhjMCzrjHGdg}/_buildManifest.js +0 -0
  755. /package/server/.next/static/{NUZVcU60U-vXVedu_GB0w → GBOxoOLq1PhjMCzrjHGdg}/_clientMiddlewareManifest.js +0 -0
  756. /package/server/.next/static/{NUZVcU60U-vXVedu_GB0w → GBOxoOLq1PhjMCzrjHGdg}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,399582,e=>{let t=(0,e.i(33550).f)("outline","copy","Copy",[["path",{d:"M7 9.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667l0 -8.666",key:"svg-0"}],["path",{d:"M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1",key:"svg-1"}]]);e.s(["f",0,t],399582)},531219,e=>{let t=(0,e.i(33550).f)("outline","filter-off","FilterOff",[["path",{d:"M8 4h12v2.172a2 2 0 0 1 -.586 1.414l-3.914 3.914m-.5 3.5v4l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227",key:"svg-0"}],["path",{d:"M3 3l18 18",key:"svg-1"}]]);e.s(["f",0,t],531219)},617708,e=>{let t=(0,e.i(33550).f)("outline","plus","Plus",[["path",{d:"M12 5l0 14",key:"svg-0"}],["path",{d:"M5 12l14 0",key:"svg-1"}]]);e.s(["f",0,t],617708)},225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.f;e.s(["f",0,(e,t)=>s=>{var i;if((null==t?void 0:t.variants)==null)return n(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:r,defaultVariants:l}=t,o=Object.keys(r).map(e=>{let t=null==s?void 0:s[e],n=null==l?void 0:l[e];if(null===t)return null;let i=a(t)||a(n);return r[e][i]}),d=s&&Object.entries(s).reduce((e,t)=>{let[a,n]=t;return void 0===n||(e[a]=n),e},{});return n(e,o,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:a,className:n,...s}=t;return Object.entries(s).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...l,...d}[t]):({...l,...d})[t]===a})?[...e,a,n]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}])},477691,e=>{var t=e.i(843476),a=e.i(785642),n=e.i(399582),s=e.i(23990),i=e.i(617708),r=e.i(944971),l=e.i(522016),o=e.i(271645),d=e.i(846696),c=e.i(428325),u=e.i(500443),p=e.i(776639),x=e.i(95187);let h=(0,x.createServerReference)("40c5aeb904258c92a996947f1a161181b61e4c2408",x.callServer,void 0,x.findSourceMapURL,"createKeyAction");function m({scopes:e}){return(0,t.jsx)(t.Fragment,{children:e.map(e=>(0,t.jsx)("span",{className:"mr-1 inline-block whitespace-nowrap rounded-[4px] border border-line bg-surface-2 px-[5px] font-mono text-xs text-ink-soft",children:e},e))})}var f=e.i(898121);function g({icon:e,title:a,sub:n}){return(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:e}),(0,t.jsxs)("div",{children:[(0,t.jsx)(p.F,{className:"text-base",children:a}),(0,t.jsx)(p.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:n})]})]})}function v({onCreated:e,onCancel:a}){let[n,i]=(0,o.useState)(""),[l,u]=(0,o.useState)(f.J),[p,x]=(0,o.useState)(f.j),[b,j]=(0,o.useState)(String(f.D)),[y,k]=(0,o.useState)({}),[N,C]=(0,o.useState)(""),[w,S]=(0,o.useTransition)();return(0,t.jsxs)("form",{onSubmit:function(t){t.preventDefault(),S(async()=>{k({}),C("");try{let t=await h({name:n.trim(),scopes:f.B.filter(e=>l.includes(e)),expiry:p,ratePerMin:b.trim()});t.ok&&t.data?(d.c.success(t.message??"Key created."),e(t.data)):t.ok||(t.fieldErrors?k(t.fieldErrors):C(t.error))}catch{C("Watchbell didn't answer. Check that it's still running, then try again.")}})},noValidate:!0,children:[(0,t.jsx)(g,{icon:(0,t.jsx)(s.f,{size:19}),title:"Create API key",sub:"For one app or agent. Shown once."}),(0,t.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,t.jsx)(c.O,{id:"key-name",label:"Name",help:"Lowercase letters, digits and dashes. Agents and Logs show it.",error:y.name,children:(0,t.jsx)("input",{id:"key-name",value:n,onChange:e=>i(e.target.value),placeholder:r.C.namePlaceholder,autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:c.S})}),(0,t.jsxs)("fieldset",{className:"mb-3.5",children:[(0,t.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Scopes"}),(0,t.jsx)("div",{className:"flex flex-col gap-1.5",children:f.B.map(e=>(0,t.jsxs)("label",{className:"flex cursor-pointer items-start gap-2",children:[(0,t.jsx)("input",{type:"checkbox",checked:l.includes(e),onChange:()=>u(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),className:"mt-[3px] accent-brand"}),(0,t.jsxs)("span",{children:[(0,t.jsx)(m,{scopes:[e]})," ",(0,t.jsx)("span",{className:"text-[13px] text-ink-soft",children:f.h[e].short})]})]},e))}),y.scopes&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:y.scopes})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3 max-[560px]:grid-cols-1",children:[(0,t.jsx)(c.O,{id:"key-expiry",label:"Expires",error:y.expiry,children:(0,t.jsx)("select",{id:"key-expiry",value:p,onChange:e=>x(e.target.value),className:c.S,children:f.W.map(e=>(0,t.jsx)("option",{value:e,children:f.o[e]},e))})}),(0,t.jsx)(c.O,{id:"key-rate",label:"Rate limit",help:"Requests per minute, 1–600. Applies before the provider's own limits.",error:y.ratePerMin,children:(0,t.jsx)("input",{id:"key-rate",inputMode:"numeric",value:b,onChange:e=>j(e.target.value),className:`${c.S} font-mono`})})]}),N&&(0,t.jsx)("p",{className:"mb-3 text-[13px] text-err",role:"alert",children:N})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(c.K,{onClick:a,disabled:w,children:"Cancel"}),(0,t.jsx)(c.K,{type:"submit",variant:"primary",disabled:w,children:w?"Creating…":"Create key"})]})]})}function b({created:e,onDone:s}){async function i(){try{await navigator.clipboard.writeText(e.key),d.c.success("Copied.")}catch{d.c.error("Couldn't copy. Select the key and copy it by hand.")}}return(0,t.jsxs)("div",{children:[(0,t.jsx)(g,{icon:(0,t.jsx)(a.f,{size:19}),title:`Key ${e.name} created`,sub:"Copy it now."}),(0,t.jsxs)("div",{className:"px-[18px] pb-3 pt-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("code",{className:"min-w-0 flex-1 overflow-x-auto whitespace-nowrap rounded-md border border-line bg-sunken px-2 py-1.5 font-mono text-[12.5px]","data-testid":"new-key",children:e.key}),(0,t.jsxs)(c.K,{size:"sm",onClick:i,children:[(0,t.jsx)(n.f,{size:15,"aria-hidden":!0}),"Copy"]})]}),(0,t.jsx)("p",{className:"mt-2.5 rounded-md border border-warn-icon bg-warn-soft px-2.5 py-2 text-[13px] text-warn",children:"Watchbell keeps only a SHA-256 hash of this key, so it can't show it again. Lost it? Revoke it and create a new one."}),(0,t.jsxs)("p",{className:"mb-0 mt-3 text-[13px] text-ink-soft",children:["Next: put it in the app's environment as ",(0,t.jsx)("span",{className:"font-mono",children:"WATCHBELL_API_KEY"}),", then follow ",(0,t.jsx)(l.default,{href:"/ai",className:"text-brand",children:"Quick start"})," or ",(0,t.jsx)(l.default,{href:"/ai/connect",className:"text-brand",children:"Connect an agent"}),"."]})]}),(0,t.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,t.jsx)(c.K,{variant:"primary",onClick:s,children:"Done"})})]})}e.s(["CreateKeyDialog",0,function(){let[e,a]=(0,o.useState)(!1),[n,s]=(0,o.useState)(null);function r(e){a(e),e||s(null)}return(0,u.useHoldRefresh)(e),(0,t.jsxs)(p.N,{open:e,onOpenChange:r,children:[(0,t.jsxs)(p.a,{render:(0,t.jsx)(c.K,{variant:"primary"}),children:[(0,t.jsx)(i.f,{size:16,"aria-hidden":!0}),"Create key"]}),(0,t.jsx)(p.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:n?(0,t.jsx)(b,{created:n,onDone:()=>r(!1)}):(0,t.jsx)(v,{onCreated:s,onCancel:()=>r(!1)})})]})}],477691)},211541,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(846696),s=e.i(46200),i=e.i(428325),r=e.i(500443),l=e.i(177106),o=e.i(776639),d=e.i(95187);let c=(0,d.createServerReference)("607f39ccc30b68e92ae33113559a98d6cbfb3c2613",d.callServer,void 0,d.findSourceMapURL,"changeKeyAction"),u=(0,d.createServerReference)("407b40291541738a880a0c98c5de80308a1b9efd3a",d.callServer,void 0,d.findSourceMapURL,"revokeKeyAction");var p=e.i(898121);let x={rename:{title:e=>`Rename ${e}`,sub:"Agents and Logs show the name. Lowercase letters, digits and dashes.",cta:"Save name"},rate:{title:()=>"Change rate limit",sub:"Requests per minute, 1–600. Applies before the provider's own limits, within a minute.",cta:"Save limit"},expiry:{title:()=>"Change expiry",sub:"Counted from today. The key stops working at that date.",cta:"Save expiry"},routing:{title:()=>"Change routing",sub:"Pin this key to one provider and, if you like, one model. Without a pin it uses the default provider.",cta:"Save routing"}};function h({mode:e,k:s,providers:r,onDone:l}){let[d,u]=(0,a.useState)(s.name),[m,f]=(0,a.useState)(String(s.ratePerMin)),[g,v]=(0,a.useState)(s.expiresAt?"90d":"never"),[b,j]=(0,a.useState)(s.providerId??""),[y,k]=(0,a.useState)(s.model??""),[N,C]=(0,a.useState)({}),[w,S]=(0,a.useState)(""),[z,M]=(0,a.useTransition)(),R=x[e];return(0,t.jsxs)("form",{onSubmit:function(t){t.preventDefault(),M(async()=>{C({}),S("");try{let t=await c(s.id,"rename"===e?{kind:"rename",name:d.trim()}:"rate"===e?{kind:"rate",ratePerMin:m.trim()}:"expiry"===e?{kind:"expiry",expiry:g}:{kind:"routing",providerId:b||null,model:b?y.trim():null});t.ok?(n.c.success(t.message??"Key updated."),l()):t.fieldErrors?C(t.fieldErrors):S(t.error)}catch{S("Watchbell didn't answer. Check that it's still running, then try again.")}})},noValidate:!0,children:[(0,t.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,t.jsx)(o.F,{className:"text-base",children:R.title(s.name)}),(0,t.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:R.sub})]}),(0,t.jsxs)("div",{className:"px-[18px] pt-1.5",children:["rename"===e&&(0,t.jsx)(i.O,{id:"edit-name",label:"Name",error:N.name,children:(0,t.jsx)("input",{id:"edit-name",value:d,onChange:e=>u(e.target.value),autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:i.S})}),"rate"===e&&(0,t.jsx)(i.O,{id:"edit-rate",label:"Rate limit",help:"Requests per minute.",error:N.ratePerMin,children:(0,t.jsx)("input",{id:"edit-rate",inputMode:"numeric",value:m,onChange:e=>f(e.target.value),className:`${i.S} font-mono`})}),"expiry"===e&&(0,t.jsx)(i.O,{id:"edit-expiry",label:"Expires",error:N.expiry,children:(0,t.jsx)("select",{id:"edit-expiry",value:g,onChange:e=>v(e.target.value),className:i.S,children:p.W.map(e=>(0,t.jsx)("option",{value:e,children:p.o[e]},e))})}),"routing"===e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.O,{id:"edit-provider",label:"Provider",help:r.length?void 0:"No provider is connected yet. Until one is, this key has nothing to pin to.",error:N.providerId,children:(0,t.jsxs)("select",{id:"edit-provider",value:b,onChange:e=>j(e.target.value),className:i.S,children:[(0,t.jsx)("option",{value:"",children:"No pin (default provider)"}),r.map(e=>(0,t.jsxs)("option",{value:e.id,children:[e.name,e.enabled?"":" (off)"]},e.id))]})}),(0,t.jsx)(i.O,{id:"edit-model",label:"Model",help:"Optional. A Gemini model id, for example gemini-3.8-flash. Empty uses the provider's default.",error:N.model,children:(0,t.jsx)("input",{id:"edit-model",value:y,onChange:e=>k(e.target.value),disabled:!b,placeholder:"gemini-3.8-flash",autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:`${i.S} font-mono`})})]}),w&&(0,t.jsx)("p",{className:"mb-3 text-[13px] text-err",role:"alert",children:w})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(i.K,{onClick:l,disabled:z,children:"Cancel"}),(0,t.jsx)(i.K,{type:"submit",variant:"primary",disabled:z,children:z?"Saving…":R.cta})]})]})}e.s(["KeyActions",0,function({k:e,providers:n}){let[d,c]=(0,a.useState)(null);return(0,r.useHoldRefresh)(null!==d),(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)(s.f,{trigger:(0,t.jsx)(i.K,{size:"sm",children:"Revoke"}),title:`Revoke ${e.name}?`,body:`Calls with ${e.prefix}… answer 401 within a minute. Agents using it show "Key revoked". This can't be undone; create a new key instead.`,cta:"Revoke key",danger:!0,onConfirm:async()=>{let t=await u(e.id);return{ok:t.ok,message:(t.ok?t.message:t.error)??""}}}),(0,t.jsx)(l.RowMenu,{label:`Actions for ${e.name}`,items:[{label:"Rename",onSelect:()=>c("rename")},{label:"Change rate limit",onSelect:()=>c("rate")},{label:"Change expiry",onSelect:()=>c("expiry")},{label:"Change routing",onSelect:()=>c("routing")}]}),(0,t.jsx)(o.N,{open:null!==d,onOpenChange:e=>{e||c(null)},children:(0,t.jsx)(o.d,{className:"gap-0 p-0 sm:max-w-[520px]",showCloseButton:!1,children:d&&(0,t.jsx)(h,{mode:d,k:e,providers:n,onDone:()=>c(null)})})})]})}],211541)},46200,e=>{var t=e.i(843476),a=e.i(146874),n=e.i(239692),s=e.i(271645),i=e.i(846696),r=e.i(428325),l=e.i(500443),o=e.i(776639);e.s(["f",0,function({trigger:e,open:d,onOpenChange:c,title:u,body:p,cta:x,danger:h=!1,onConfirm:m}){let[f,g]=(0,s.useState)(!1),v=d??f,[b,j]=(0,s.useTransition)();function y(e){void 0===d&&g(e),c?.(e)}return(0,l.useHoldRefresh)(v),(0,t.jsxs)(o.N,{open:v,onOpenChange:e=>{b||y(e)},children:[void 0!==e&&((0,s.isValidElement)(e)?(0,t.jsx)(o.a,{render:e}):(0,t.jsx)(o.a,{children:e})),(0,t.jsxs)(o.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${h?"text-err":"text-ink-soft"}`,children:h?(0,t.jsx)(a.f,{size:19}):(0,t.jsx)(n.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.F,{className:"text-base",children:u}),(0,t.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:p})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(r.K,{onClick:()=>y(!1),disabled:b,children:"Keep as is"}),(0,t.jsx)(r.K,{variant:h?"danger":"primary",onClick:function(){j(async()=>{try{let e=await m();e.ok?(i.c.success(e.message),y(!1)):i.c.error(e.message)}catch{i.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:b,children:b?"Working…":x})]})]})]})}])},374931,e=>{var t=e.i(843476),a=e.i(531219),n=e.i(357772),s=e.i(271645),i=e.i(54131),r=e.i(428325),l=e.i(541299),o=e.i(691106),d=e.i(975157),c=e.i(322534),u=e.i(495784);e.s(["ListFilter",0,function({placeholder:e,states:p,groups:x,head:h,rows:m,chips:f}){var g,v;let b,[j,y]=(0,s.useState)(""),[k,N]=(0,s.useState)(""),[C,w]=(0,s.useState)(""),[S,z]=(0,s.useState)(""),[M,R]=(0,s.useState)(1),A=(0,i.useMask)(),K=(g=m.map(e=>({...e,text:`${e.text} ${A("text",e.text)}`})),b=(v={text:j,state:k,group:S,tag:C}).text.trim().toLowerCase(),g.filter(e=>(!v.state||e.state===v.state)&&(!v.group||e.group===v.group)&&(!v.tag||(e.tags??[]).includes(v.tag))&&(!b||e.text.toLowerCase().includes(b)))),$=(0,u.$)(K,M),O=$.rows;$.page!==M&&R($.page);let P=p?.find(([e])=>e===k)?.[1];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-[18px] pb-3 pt-3.5 max-[720px]:px-3.5",children:[(0,t.jsx)("input",{className:(0,d.f)(r.S,"w-[240px] max-[720px]:w-full"),placeholder:e,"aria-label":e,value:j,onChange:e=>{y(e.target.value),R(1)}}),p&&(0,t.jsxs)("select",{className:(0,d.f)(r.S,"w-auto"),"aria-label":"State",value:k,onChange:e=>{N(e.target.value),R(1)},children:[(0,t.jsx)("option",{value:"",children:"All states"}),p.map(([e,a])=>(0,t.jsx)("option",{value:e,children:a},e))]}),x&&x.length>1&&(0,t.jsxs)("select",{className:(0,d.f)(r.S,"w-auto"),"aria-label":"Account",value:S,onChange:e=>{z(e.target.value),R(1)},children:[(0,t.jsx)("option",{value:"",children:"All accounts"}),x.map(e=>(0,t.jsx)("option",{value:e,children:A("account",e)},e))]}),f?.map(([e,a])=>(0,t.jsx)("button",{type:"button","aria-pressed":C===e,onClick:()=>{w(C===e?"":e),R(1)},className:(0,d.f)("rounded-[5px] border px-2 py-0.5 text-[12.5px]",C===e?"border-brand bg-brand-soft text-brand":"border-line text-ink-soft hover:bg-hover"),children:a},e)),P&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] bg-brand-soft py-px pl-2 pr-1 text-[12.5px] text-brand",children:["State: ",P,(0,t.jsx)("button",{type:"button","aria-label":"Remove filter",className:"px-0.5",onClick:()=>{N(""),R(1)},children:(0,t.jsx)(n.f,{size:13})})]}),S&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] bg-brand-soft py-px pl-2 pr-1 text-[12.5px] text-brand",children:["Account: ",(0,t.jsx)(i.Masked,{kind:"account",real:S}),(0,t.jsx)("button",{type:"button","aria-label":"Remove account filter",className:"px-0.5",onClick:()=>{z(""),R(1)},children:(0,t.jsx)(n.f,{size:13})})]}),(0,t.jsx)("span",{role:"status",className:"ml-auto text-[12.5px] text-ink-soft",children:(0,c.O)(K.length)})]}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:o.o,children:[(0,t.jsx)(o.U,{head:h}),(0,t.jsx)("tbody",{children:O.map(e=>(0,t.jsx)(s.Fragment,{children:e.row},e.key))})]})}),0===K.length&&m.length>0&&(0,t.jsxs)(r.k,{icon:a.f,title:"No results",children:["Nothing matches these filters."," ",(0,t.jsx)("button",{type:"button",className:"text-brand hover:underline",onClick:()=>{y(""),N(""),z(""),w(""),R(1)},children:"Clear filters"})]}),(0,t.jsx)(l.f,{page:$.page,pages:$.pages,text:(0,u.z)($),onPage:R})]})}],374931)},541299,495784,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(428325),s=e.i(975157);function i(e,t,a=25){let n=e.length,s=Math.max(1,Math.ceil(n/a)),r=Math.min(Math.max(Number.isFinite(t)?Math.floor(t):1,1),s),l=(r-1)*a,o=e.slice(l,l+a);return{rows:o,page:r,pages:s,from:0===n?0:l+1,to:l+o.length,total:n}}e.s(["f",0,function({page:e,pages:i,text:r,onPage:l,bleed:o=!1}){let d=(0,a.useRef)(null),c=(0,a.useRef)(null);if((0,a.useEffect)(()=>{null!==c.current&&(d.current?.querySelectorAll("button")[c.current]?.focus(),c.current=null)},[e]),i<=1)return null;let u=(e,t)=>{(e<=1||e>=i)&&(c.current=t),l(e)};return(0,t.jsxs)("div",{className:(0,s.f)("flex items-center gap-2 border-t border-line px-[18px] py-2.5 text-[12.5px] text-ink-soft",o?"-mx-[18px] -mb-4 mt-2":"max-[720px]:px-3.5"),children:[(0,t.jsx)("span",{role:"status",children:r}),(0,t.jsxs)("span",{ref:d,className:"ml-auto flex gap-1.5",children:[(0,t.jsx)(n.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Previous page",disabled:e<=1,onClick:()=>u(e-1,1),children:"‹ Previous"}),(0,t.jsx)(n.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Next page",disabled:e>=i,onClick:()=>u(e+1,0),children:"Next ›"})]})]})}],541299),e.s(["k",0,function(e,t,a,n){return n<=1?null:t>0&&null!==a?a:e[0]?.id??null},"$",0,i,"f",0,function(e,t,a,n=25){let s=null===a?0:Math.max(0,e.findIndex(e=>e.id===a)),r=i(e.slice(s),t,n);return 0===s||r.page>1?{...r,shift:s}:{...i(e,1,n),shift:0}},"z",0,function(e,t=0,a=e.total){return`${e.from+t}–${e.to+t} of ${a}`}],495784)},177106,e=>{var t=e.i(843476),a=e.i(33550);let n=(0,a.f)("outline","chevron-down","ChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),s=(0,a.f)("outline","dots-vertical","DotsVertical",[["path",{d:"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]);var i=e.i(271645),r=e.i(428325),l=e.i(500443),o=e.i(755146);e.s(["RowMenu",0,function({items:e,button:a=!1,label:d="Actions"}){let[c,u]=(0,i.useState)(!1);return(0,l.useHoldRefresh)(c),(0,t.jsxs)(o.G,{open:c,onOpenChange:u,children:[a?(0,t.jsxs)(o.X,{className:(0,r.R)(),children:[d," ",(0,t.jsx)(n,{size:16,"aria-hidden":!0})]}):(0,t.jsx)(o.X,{"aria-label":d,className:"rounded-[5px] px-1.5 py-1 text-ink-faint hover:bg-sunken hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:(0,t.jsx)(s,{size:17})}),(0,t.jsx)(o.L,{align:"end",className:"min-w-[200px] rounded-[8px] border border-line-strong bg-surface p-1 shadow-[0_8px_24px_rgba(0,0,0,.14)] ring-0",children:e.map((e,a)=>"---"===e?(0,t.jsx)(o.U,{},`sep-${a}`):(0,t.jsxs)(o.r,{disabled:void 0!==e.disabled,variant:e.danger?"destructive":"default",className:"rounded-[5px] px-2.5 py-[7px]",onClick:()=>{e.href?window.open(e.href,"_blank","noopener,noreferrer"):e.onSelect?.()},children:[e.label,void 0!==e.disabled&&(0,t.jsx)("span",{className:"ml-auto pl-3 text-[11px] text-ink-faint",children:e.disabled})]},e.label))})]})}],177106)},776639,998218,152744,e=>{var t=e.i(843476),a=e.i(526323),n=e.i(828376);e.s(["f",0,n],998218);var n=n,s=e.i(209977),i=e.i(921637),r=e.i(141708),l=e.i(593480),o=e.i(309169),d=n;e.s(["f",0,d],152744);var d=n,c=e.i(975157),u=e.i(271645),p=e.i(540886),x=e.i(552245);let h=u.forwardRef(function(e,t){let{render:a,className:n,disabled:s=!1,focusableWhenDisabled:i=!1,nativeButton:r=!0,style:l,...o}=e,{getButtonProps:d,buttonRef:c}=(0,p.f)({disabled:s,focusableWhenDisabled:i,native:r});return(0,x.a)("button",e,{state:{disabled:s},ref:[t,c],props:[o,d]})}),m=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function f({className:e,variant:a="default",size:n="default",...s}){return(0,t.jsx)(h,{"data-slot":"button",className:(0,c.f)(m({variant:a,size:n,className:e})),...s})}var g=e.i(456420);let v={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};v.node;let b=(0,g.f)(v);function j({...e}){return(0,t.jsx)(s.f.Portal,{"data-slot":"dialog-portal",...e})}function y({className:e,...a}){return(0,t.jsx)(r.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}e.s(["N",0,function({...e}){return(0,t.jsx)(a.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:a,showCloseButton:n=!0,...s}){return(0,t.jsxs)(j,{children:[(0,t.jsx)(y,{}),(0,t.jsxs)(l.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...s,children:[a,n&&(0,t.jsxs)(i.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(f,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(b,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...a}){return(0,t.jsx)(d.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...a})},"F",0,function({className:e,...a}){return(0,t.jsx)(o.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...a})},"a",0,function({...e}){return(0,t.jsx)(n.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)},322534,e=>{e.i(684496),e.s(["O",0,e=>`${e} item${1===e?"":"s"}`,"J",0,function(e,t){let a=Math.max(0,t.getTime()-e.getTime());return a<6e4?"now":a<36e5?`${Math.floor(a/6e4)} min ago`:a<864e5?`${Math.floor(a/36e5)} h ago`:`${Math.floor(a/864e5)} d ago`}])},898121,e=>{let t={"ai:invoke":{short:"models",long:"Chat completions and the model list through your provider connections."},"read:status":{short:"console data, MCP",long:"Read-only console data: GET /api/v1/status and the MCP server. Database names are aliases; no URLs, emails or secrets."},"write:notes":{short:"post AI notes",long:e.i(944971).C.writeNotesLong}};e.s(["j",0,"90d","D",0,20,"J",0,["ai:invoke"],"W",0,["7d","30d","90d","1y","never"],"o",0,{"7d":"In 7 days","30d":"In 30 days","90d":"In 90 days","1y":"In 1 year",never:"Never"},"B",0,["ai:invoke","read:status","write:notes"],"h",0,t])}])})();
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,399582,e=>{let t=(0,e.i(33550).f)("outline","copy","Copy",[["path",{d:"M7 9.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667l0 -8.666",key:"svg-0"}],["path",{d:"M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1",key:"svg-1"}]]);e.s(["f",0,t],399582)},531219,e=>{let t=(0,e.i(33550).f)("outline","filter-off","FilterOff",[["path",{d:"M8 4h12v2.172a2 2 0 0 1 -.586 1.414l-3.914 3.914m-.5 3.5v4l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227",key:"svg-0"}],["path",{d:"M3 3l18 18",key:"svg-1"}]]);e.s(["f",0,t],531219)},617708,e=>{let t=(0,e.i(33550).f)("outline","plus","Plus",[["path",{d:"M12 5l0 14",key:"svg-0"}],["path",{d:"M5 12l14 0",key:"svg-1"}]]);e.s(["f",0,t],617708)},225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.f;e.s(["f",0,(e,t)=>s=>{var i;if((null==t?void 0:t.variants)==null)return n(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:r,defaultVariants:l}=t,o=Object.keys(r).map(e=>{let t=null==s?void 0:s[e],n=null==l?void 0:l[e];if(null===t)return null;let i=a(t)||a(n);return r[e][i]}),d=s&&Object.entries(s).reduce((e,t)=>{let[a,n]=t;return void 0===n||(e[a]=n),e},{});return n(e,o,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:a,className:n,...s}=t;return Object.entries(s).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...l,...d}[t]):({...l,...d})[t]===a})?[...e,a,n]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}])},477691,e=>{var t=e.i(843476),a=e.i(785642),n=e.i(399582),s=e.i(23990),i=e.i(617708),r=e.i(944971),l=e.i(522016),o=e.i(271645),d=e.i(846696),c=e.i(428325),u=e.i(500443),p=e.i(776639),x=e.i(95187);let h=(0,x.createServerReference)("40f21df6dafbabab52a881bf477028c5d9ca7ed4ad",x.callServer,void 0,x.findSourceMapURL,"createKeyAction");function m({scopes:e}){return(0,t.jsx)(t.Fragment,{children:e.map(e=>(0,t.jsx)("span",{className:"mr-1 inline-block whitespace-nowrap rounded-[4px] border border-line bg-surface-2 px-[5px] font-mono text-xs text-ink-soft",children:e},e))})}var f=e.i(898121);function g({icon:e,title:a,sub:n}){return(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:e}),(0,t.jsxs)("div",{children:[(0,t.jsx)(p.F,{className:"text-base",children:a}),(0,t.jsx)(p.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:n})]})]})}function v({onCreated:e,onCancel:a}){let[n,i]=(0,o.useState)(""),[l,u]=(0,o.useState)(f.J),[p,x]=(0,o.useState)(f.j),[b,j]=(0,o.useState)(String(f.D)),[y,k]=(0,o.useState)({}),[N,C]=(0,o.useState)(""),[w,S]=(0,o.useTransition)();return(0,t.jsxs)("form",{onSubmit:function(t){t.preventDefault(),S(async()=>{k({}),C("");try{let t=await h({name:n.trim(),scopes:f.B.filter(e=>l.includes(e)),expiry:p,ratePerMin:b.trim()});t.ok&&t.data?(d.c.success(t.message??"Key created."),e(t.data)):t.ok||(t.fieldErrors?k(t.fieldErrors):C(t.error))}catch{C("Watchbell didn't answer. Check that it's still running, then try again.")}})},noValidate:!0,children:[(0,t.jsx)(g,{icon:(0,t.jsx)(s.f,{size:19}),title:"Create API key",sub:"For one app or agent. Shown once."}),(0,t.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,t.jsx)(c.O,{id:"key-name",label:"Name",help:"Lowercase letters, digits and dashes. Agents and Logs show it.",error:y.name,children:(0,t.jsx)("input",{id:"key-name",value:n,onChange:e=>i(e.target.value),placeholder:r.C.namePlaceholder,autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:c.S})}),(0,t.jsxs)("fieldset",{className:"mb-3.5",children:[(0,t.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Scopes"}),(0,t.jsx)("div",{className:"flex flex-col gap-1.5",children:f.B.map(e=>(0,t.jsxs)("label",{className:"flex cursor-pointer items-start gap-2",children:[(0,t.jsx)("input",{type:"checkbox",checked:l.includes(e),onChange:()=>u(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),className:"mt-[3px] accent-brand"}),(0,t.jsxs)("span",{children:[(0,t.jsx)(m,{scopes:[e]})," ",(0,t.jsx)("span",{className:"text-[13px] text-ink-soft",children:f.h[e].short})]})]},e))}),y.scopes&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:y.scopes})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3 max-[560px]:grid-cols-1",children:[(0,t.jsx)(c.O,{id:"key-expiry",label:"Expires",error:y.expiry,children:(0,t.jsx)("select",{id:"key-expiry",value:p,onChange:e=>x(e.target.value),className:c.S,children:f.W.map(e=>(0,t.jsx)("option",{value:e,children:f.o[e]},e))})}),(0,t.jsx)(c.O,{id:"key-rate",label:"Rate limit",help:"Requests per minute, 1–600. Applies before the provider's own limits.",error:y.ratePerMin,children:(0,t.jsx)("input",{id:"key-rate",inputMode:"numeric",value:b,onChange:e=>j(e.target.value),className:`${c.S} font-mono`})})]}),N&&(0,t.jsx)("p",{className:"mb-3 text-[13px] text-err",role:"alert",children:N})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(c.K,{onClick:a,disabled:w,children:"Cancel"}),(0,t.jsx)(c.K,{type:"submit",variant:"primary",disabled:w,children:w?"Creating…":"Create key"})]})]})}function b({created:e,onDone:s}){async function i(){try{await navigator.clipboard.writeText(e.key),d.c.success("Copied.")}catch{d.c.error("Couldn't copy. Select the key and copy it by hand.")}}return(0,t.jsxs)("div",{children:[(0,t.jsx)(g,{icon:(0,t.jsx)(a.f,{size:19}),title:`Key ${e.name} created`,sub:"Copy it now."}),(0,t.jsxs)("div",{className:"px-[18px] pb-3 pt-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("code",{className:"min-w-0 flex-1 overflow-x-auto whitespace-nowrap rounded-md border border-line bg-sunken px-2 py-1.5 font-mono text-[12.5px]","data-testid":"new-key",children:e.key}),(0,t.jsxs)(c.K,{size:"sm",onClick:i,children:[(0,t.jsx)(n.f,{size:15,"aria-hidden":!0}),"Copy"]})]}),(0,t.jsx)("p",{className:"mt-2.5 rounded-md border border-warn-icon bg-warn-soft px-2.5 py-2 text-[13px] text-warn",children:"Watchbell keeps only a SHA-256 hash of this key, so it can't show it again. Lost it? Revoke it and create a new one."}),(0,t.jsxs)("p",{className:"mb-0 mt-3 text-[13px] text-ink-soft",children:["Next: put it in the app's environment as ",(0,t.jsx)("span",{className:"font-mono",children:"WATCHBELL_API_KEY"}),", then follow ",(0,t.jsx)(l.default,{href:"/ai",className:"text-brand",children:"Quick start"})," or ",(0,t.jsx)(l.default,{href:"/ai/connect",className:"text-brand",children:"Connect an agent"}),"."]})]}),(0,t.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,t.jsx)(c.K,{variant:"primary",onClick:s,children:"Done"})})]})}e.s(["CreateKeyDialog",0,function(){let[e,a]=(0,o.useState)(!1),[n,s]=(0,o.useState)(null);function r(e){a(e),e||s(null)}return(0,u.useHoldRefresh)(e),(0,t.jsxs)(p.N,{open:e,onOpenChange:r,children:[(0,t.jsxs)(p.a,{render:(0,t.jsx)(c.K,{variant:"primary"}),children:[(0,t.jsx)(i.f,{size:16,"aria-hidden":!0}),"Create key"]}),(0,t.jsx)(p.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:n?(0,t.jsx)(b,{created:n,onDone:()=>r(!1)}):(0,t.jsx)(v,{onCreated:s,onCancel:()=>r(!1)})})]})}],477691)},211541,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(846696),s=e.i(46200),i=e.i(428325),r=e.i(500443),l=e.i(177106),o=e.i(776639),d=e.i(95187);let c=(0,d.createServerReference)("607652a454c471076feb753b0260df4e738dbaa23c",d.callServer,void 0,d.findSourceMapURL,"changeKeyAction"),u=(0,d.createServerReference)("40e9750b90e1c558db1a0ee034d383a1d7388e1113",d.callServer,void 0,d.findSourceMapURL,"revokeKeyAction");var p=e.i(898121);let x={rename:{title:e=>`Rename ${e}`,sub:"Agents and Logs show the name. Lowercase letters, digits and dashes.",cta:"Save name"},rate:{title:()=>"Change rate limit",sub:"Requests per minute, 1–600. Applies before the provider's own limits, within a minute.",cta:"Save limit"},expiry:{title:()=>"Change expiry",sub:"Counted from today. The key stops working at that date.",cta:"Save expiry"},routing:{title:()=>"Change routing",sub:"Pin this key to one provider and, if you like, one model. Without a pin it uses the default provider.",cta:"Save routing"}};function h({mode:e,k:s,providers:r,onDone:l}){let[d,u]=(0,a.useState)(s.name),[m,f]=(0,a.useState)(String(s.ratePerMin)),[g,v]=(0,a.useState)(s.expiresAt?"90d":"never"),[b,j]=(0,a.useState)(s.providerId??""),[y,k]=(0,a.useState)(s.model??""),[N,C]=(0,a.useState)({}),[w,S]=(0,a.useState)(""),[z,M]=(0,a.useTransition)(),R=x[e];return(0,t.jsxs)("form",{onSubmit:function(t){t.preventDefault(),M(async()=>{C({}),S("");try{let t=await c(s.id,"rename"===e?{kind:"rename",name:d.trim()}:"rate"===e?{kind:"rate",ratePerMin:m.trim()}:"expiry"===e?{kind:"expiry",expiry:g}:{kind:"routing",providerId:b||null,model:b?y.trim():null});t.ok?(n.c.success(t.message??"Key updated."),l()):t.fieldErrors?C(t.fieldErrors):S(t.error)}catch{S("Watchbell didn't answer. Check that it's still running, then try again.")}})},noValidate:!0,children:[(0,t.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,t.jsx)(o.F,{className:"text-base",children:R.title(s.name)}),(0,t.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:R.sub})]}),(0,t.jsxs)("div",{className:"px-[18px] pt-1.5",children:["rename"===e&&(0,t.jsx)(i.O,{id:"edit-name",label:"Name",error:N.name,children:(0,t.jsx)("input",{id:"edit-name",value:d,onChange:e=>u(e.target.value),autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:i.S})}),"rate"===e&&(0,t.jsx)(i.O,{id:"edit-rate",label:"Rate limit",help:"Requests per minute.",error:N.ratePerMin,children:(0,t.jsx)("input",{id:"edit-rate",inputMode:"numeric",value:m,onChange:e=>f(e.target.value),className:`${i.S} font-mono`})}),"expiry"===e&&(0,t.jsx)(i.O,{id:"edit-expiry",label:"Expires",error:N.expiry,children:(0,t.jsx)("select",{id:"edit-expiry",value:g,onChange:e=>v(e.target.value),className:i.S,children:p.W.map(e=>(0,t.jsx)("option",{value:e,children:p.o[e]},e))})}),"routing"===e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.O,{id:"edit-provider",label:"Provider",help:r.length?void 0:"No provider is connected yet. Until one is, this key has nothing to pin to.",error:N.providerId,children:(0,t.jsxs)("select",{id:"edit-provider",value:b,onChange:e=>j(e.target.value),className:i.S,children:[(0,t.jsx)("option",{value:"",children:"No pin (default provider)"}),r.map(e=>(0,t.jsxs)("option",{value:e.id,children:[e.name,e.enabled?"":" (off)"]},e.id))]})}),(0,t.jsx)(i.O,{id:"edit-model",label:"Model",help:"Optional. A Gemini model id, for example gemini-3.8-flash. Empty uses the provider's default.",error:N.model,children:(0,t.jsx)("input",{id:"edit-model",value:y,onChange:e=>k(e.target.value),disabled:!b,placeholder:"gemini-3.8-flash",autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:`${i.S} font-mono`})})]}),w&&(0,t.jsx)("p",{className:"mb-3 text-[13px] text-err",role:"alert",children:w})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(i.K,{onClick:l,disabled:z,children:"Cancel"}),(0,t.jsx)(i.K,{type:"submit",variant:"primary",disabled:z,children:z?"Saving…":R.cta})]})]})}e.s(["KeyActions",0,function({k:e,providers:n}){let[d,c]=(0,a.useState)(null);return(0,r.useHoldRefresh)(null!==d),(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)(s.f,{trigger:(0,t.jsx)(i.K,{size:"sm",children:"Revoke"}),title:`Revoke ${e.name}?`,body:`Calls with ${e.prefix}… answer 401 within a minute. Agents using it show "Key revoked". This can't be undone; create a new key instead.`,cta:"Revoke key",danger:!0,onConfirm:async()=>{let t=await u(e.id);return{ok:t.ok,message:(t.ok?t.message:t.error)??""}}}),(0,t.jsx)(l.RowMenu,{label:`Actions for ${e.name}`,items:[{label:"Rename",onSelect:()=>c("rename")},{label:"Change rate limit",onSelect:()=>c("rate")},{label:"Change expiry",onSelect:()=>c("expiry")},{label:"Change routing",onSelect:()=>c("routing")}]}),(0,t.jsx)(o.N,{open:null!==d,onOpenChange:e=>{e||c(null)},children:(0,t.jsx)(o.d,{className:"gap-0 p-0 sm:max-w-[520px]",showCloseButton:!1,children:d&&(0,t.jsx)(h,{mode:d,k:e,providers:n,onDone:()=>c(null)})})})]})}],211541)},46200,e=>{var t=e.i(843476),a=e.i(146874),n=e.i(239692),s=e.i(271645),i=e.i(846696),r=e.i(428325),l=e.i(500443),o=e.i(776639);e.s(["f",0,function({trigger:e,open:d,onOpenChange:c,title:u,body:p,cta:x,danger:h=!1,onConfirm:m}){let[f,g]=(0,s.useState)(!1),v=d??f,[b,j]=(0,s.useTransition)();function y(e){void 0===d&&g(e),c?.(e)}return(0,l.useHoldRefresh)(v),(0,t.jsxs)(o.N,{open:v,onOpenChange:e=>{b||y(e)},children:[void 0!==e&&((0,s.isValidElement)(e)?(0,t.jsx)(o.a,{render:e}):(0,t.jsx)(o.a,{children:e})),(0,t.jsxs)(o.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${h?"text-err":"text-ink-soft"}`,children:h?(0,t.jsx)(a.f,{size:19}):(0,t.jsx)(n.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.F,{className:"text-base",children:u}),(0,t.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:p})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(r.K,{onClick:()=>y(!1),disabled:b,children:"Keep as is"}),(0,t.jsx)(r.K,{variant:h?"danger":"primary",onClick:function(){j(async()=>{try{let e=await m();e.ok?(i.c.success(e.message),y(!1)):i.c.error(e.message)}catch{i.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:b,children:b?"Working…":x})]})]})]})}])},374931,e=>{var t=e.i(843476),a=e.i(531219),n=e.i(357772),s=e.i(271645),i=e.i(54131),r=e.i(428325),l=e.i(541299),o=e.i(691106),d=e.i(975157),c=e.i(322534),u=e.i(495784);e.s(["ListFilter",0,function({placeholder:e,states:p,groups:x,head:h,rows:m,chips:f}){var g,v;let b,[j,y]=(0,s.useState)(""),[k,N]=(0,s.useState)(""),[C,w]=(0,s.useState)(""),[S,z]=(0,s.useState)(""),[M,R]=(0,s.useState)(1),A=(0,i.useMask)(),K=(g=m.map(e=>({...e,text:`${e.text} ${A("text",e.text)}`})),b=(v={text:j,state:k,group:S,tag:C}).text.trim().toLowerCase(),g.filter(e=>(!v.state||e.state===v.state)&&(!v.group||e.group===v.group)&&(!v.tag||(e.tags??[]).includes(v.tag))&&(!b||e.text.toLowerCase().includes(b)))),$=(0,u.$)(K,M),O=$.rows;$.page!==M&&R($.page);let P=p?.find(([e])=>e===k)?.[1];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-[18px] pb-3 pt-3.5 max-[720px]:px-3.5",children:[(0,t.jsx)("input",{className:(0,d.f)(r.S,"w-[240px] max-[720px]:w-full"),placeholder:e,"aria-label":e,value:j,onChange:e=>{y(e.target.value),R(1)}}),p&&(0,t.jsxs)("select",{className:(0,d.f)(r.S,"w-auto"),"aria-label":"State",value:k,onChange:e=>{N(e.target.value),R(1)},children:[(0,t.jsx)("option",{value:"",children:"All states"}),p.map(([e,a])=>(0,t.jsx)("option",{value:e,children:a},e))]}),x&&x.length>1&&(0,t.jsxs)("select",{className:(0,d.f)(r.S,"w-auto"),"aria-label":"Account",value:S,onChange:e=>{z(e.target.value),R(1)},children:[(0,t.jsx)("option",{value:"",children:"All accounts"}),x.map(e=>(0,t.jsx)("option",{value:e,children:A("account",e)},e))]}),f?.map(([e,a])=>(0,t.jsx)("button",{type:"button","aria-pressed":C===e,onClick:()=>{w(C===e?"":e),R(1)},className:(0,d.f)("rounded-[5px] border px-2 py-0.5 text-[12.5px]",C===e?"border-brand bg-brand-soft text-brand":"border-line text-ink-soft hover:bg-hover"),children:a},e)),P&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] bg-brand-soft py-px pl-2 pr-1 text-[12.5px] text-brand",children:["State: ",P,(0,t.jsx)("button",{type:"button","aria-label":"Remove filter",className:"px-0.5",onClick:()=>{N(""),R(1)},children:(0,t.jsx)(n.f,{size:13})})]}),S&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] bg-brand-soft py-px pl-2 pr-1 text-[12.5px] text-brand",children:["Account: ",(0,t.jsx)(i.Masked,{kind:"account",real:S}),(0,t.jsx)("button",{type:"button","aria-label":"Remove account filter",className:"px-0.5",onClick:()=>{z(""),R(1)},children:(0,t.jsx)(n.f,{size:13})})]}),(0,t.jsx)("span",{role:"status",className:"ml-auto text-[12.5px] text-ink-soft",children:(0,c.O)(K.length)})]}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:o.o,children:[(0,t.jsx)(o.U,{head:h}),(0,t.jsx)("tbody",{children:O.map(e=>(0,t.jsx)(s.Fragment,{children:e.row},e.key))})]})}),0===K.length&&m.length>0&&(0,t.jsxs)(r.k,{icon:a.f,title:"No results",children:["Nothing matches these filters."," ",(0,t.jsx)("button",{type:"button",className:"text-brand hover:underline",onClick:()=>{y(""),N(""),z(""),w(""),R(1)},children:"Clear filters"})]}),(0,t.jsx)(l.f,{page:$.page,pages:$.pages,text:(0,u.z)($),onPage:R})]})}],374931)},541299,495784,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(428325),s=e.i(975157);function i(e,t,a=25){let n=e.length,s=Math.max(1,Math.ceil(n/a)),r=Math.min(Math.max(Number.isFinite(t)?Math.floor(t):1,1),s),l=(r-1)*a,o=e.slice(l,l+a);return{rows:o,page:r,pages:s,from:0===n?0:l+1,to:l+o.length,total:n}}e.s(["f",0,function({page:e,pages:i,text:r,onPage:l,bleed:o=!1}){let d=(0,a.useRef)(null),c=(0,a.useRef)(null);if((0,a.useEffect)(()=>{null!==c.current&&(d.current?.querySelectorAll("button")[c.current]?.focus(),c.current=null)},[e]),i<=1)return null;let u=(e,t)=>{(e<=1||e>=i)&&(c.current=t),l(e)};return(0,t.jsxs)("div",{className:(0,s.f)("flex items-center gap-2 border-t border-line px-[18px] py-2.5 text-[12.5px] text-ink-soft",o?"-mx-[18px] -mb-4 mt-2":"max-[720px]:px-3.5"),children:[(0,t.jsx)("span",{role:"status",children:r}),(0,t.jsxs)("span",{ref:d,className:"ml-auto flex gap-1.5",children:[(0,t.jsx)(n.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Previous page",disabled:e<=1,onClick:()=>u(e-1,1),children:"‹ Previous"}),(0,t.jsx)(n.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Next page",disabled:e>=i,onClick:()=>u(e+1,0),children:"Next ›"})]})]})}],541299),e.s(["k",0,function(e,t,a,n){return n<=1?null:t>0&&null!==a?a:e[0]?.id??null},"$",0,i,"f",0,function(e,t,a,n=25){let s=null===a?0:Math.max(0,e.findIndex(e=>e.id===a)),r=i(e.slice(s),t,n);return 0===s||r.page>1?{...r,shift:s}:{...i(e,1,n),shift:0}},"z",0,function(e,t=0,a=e.total){return`${e.from+t}–${e.to+t} of ${a}`}],495784)},177106,e=>{var t=e.i(843476),a=e.i(33550);let n=(0,a.f)("outline","chevron-down","ChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),s=(0,a.f)("outline","dots-vertical","DotsVertical",[["path",{d:"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]);var i=e.i(271645),r=e.i(428325),l=e.i(500443),o=e.i(755146);e.s(["RowMenu",0,function({items:e,button:a=!1,label:d="Actions"}){let[c,u]=(0,i.useState)(!1);return(0,l.useHoldRefresh)(c),(0,t.jsxs)(o.G,{open:c,onOpenChange:u,children:[a?(0,t.jsxs)(o.X,{className:(0,r.R)(),children:[d," ",(0,t.jsx)(n,{size:16,"aria-hidden":!0})]}):(0,t.jsx)(o.X,{"aria-label":d,className:"rounded-[5px] px-1.5 py-1 text-ink-faint hover:bg-sunken hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:(0,t.jsx)(s,{size:17})}),(0,t.jsx)(o.L,{align:"end",className:"min-w-[200px] rounded-[8px] border border-line-strong bg-surface p-1 shadow-[0_8px_24px_rgba(0,0,0,.14)] ring-0",children:e.map((e,a)=>"---"===e?(0,t.jsx)(o.U,{},`sep-${a}`):(0,t.jsxs)(o.r,{disabled:void 0!==e.disabled,variant:e.danger?"destructive":"default",className:"rounded-[5px] px-2.5 py-[7px]",onClick:()=>{e.href?window.open(e.href,"_blank","noopener,noreferrer"):e.onSelect?.()},children:[e.label,void 0!==e.disabled&&(0,t.jsx)("span",{className:"ml-auto pl-3 text-[11px] text-ink-faint",children:e.disabled})]},e.label))})]})}],177106)},776639,998218,152744,e=>{var t=e.i(843476),a=e.i(526323),n=e.i(828376);e.s(["f",0,n],998218);var n=n,s=e.i(209977),i=e.i(921637),r=e.i(141708),l=e.i(593480),o=e.i(309169),d=n;e.s(["f",0,d],152744);var d=n,c=e.i(975157),u=e.i(271645),p=e.i(540886),x=e.i(552245);let h=u.forwardRef(function(e,t){let{render:a,className:n,disabled:s=!1,focusableWhenDisabled:i=!1,nativeButton:r=!0,style:l,...o}=e,{getButtonProps:d,buttonRef:c}=(0,p.f)({disabled:s,focusableWhenDisabled:i,native:r});return(0,x.a)("button",e,{state:{disabled:s},ref:[t,c],props:[o,d]})}),m=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function f({className:e,variant:a="default",size:n="default",...s}){return(0,t.jsx)(h,{"data-slot":"button",className:(0,c.f)(m({variant:a,size:n,className:e})),...s})}var g=e.i(456420);let v={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};v.node;let b=(0,g.f)(v);function j({...e}){return(0,t.jsx)(s.f.Portal,{"data-slot":"dialog-portal",...e})}function y({className:e,...a}){return(0,t.jsx)(r.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}e.s(["N",0,function({...e}){return(0,t.jsx)(a.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:a,showCloseButton:n=!0,...s}){return(0,t.jsxs)(j,{children:[(0,t.jsx)(y,{}),(0,t.jsxs)(l.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...s,children:[a,n&&(0,t.jsxs)(i.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(f,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(b,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...a}){return(0,t.jsx)(d.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...a})},"F",0,function({className:e,...a}){return(0,t.jsx)(o.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...a})},"a",0,function({...e}){return(0,t.jsx)(n.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)},322534,e=>{e.i(684496),e.s(["O",0,e=>`${e} item${1===e?"":"s"}`,"J",0,function(e,t){let a=Math.max(0,t.getTime()-e.getTime());return a<6e4?"now":a<36e5?`${Math.floor(a/6e4)} min ago`:a<864e5?`${Math.floor(a/36e5)} h ago`:`${Math.floor(a/864e5)} d ago`}])},898121,e=>{let t={"ai:invoke":{short:"models",long:"Chat completions and the model list through your provider connections."},"read:status":{short:"console data, MCP",long:"Read-only console data: GET /api/v1/status and the MCP server. Database names are aliases; no URLs, emails or secrets."},"write:notes":{short:"post AI notes",long:e.i(944971).C.writeNotesLong}};e.s(["j",0,"90d","D",0,20,"J",0,["ai:invoke"],"W",0,["7d","30d","90d","1y","never"],"o",0,{"7d":"In 7 days","30d":"In 30 days","90d":"In 90 days","1y":"In 1 year",never:"Never"},"B",0,["ai:invoke","read:status","write:notes"],"h",0,t])}])})();
@@ -1 +1 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,771560,296457,889942,e=>{var t=e.i(95187);let n=(0,t.createServerReference)("60ff9b1575f1296edb05f83e2766844a12005e4f6f",t.callServer,void 0,t.findSourceMapURL,"promoteAction");e.s(["f",0,n],771560);let r=(0,t.createServerReference)("6039ee8f5be515b1c179704a7502bc1eb8427232e9",t.callServer,void 0,t.findSourceMapURL,"redeployAction");e.s(["f",0,r],296457);let l=(0,t.createServerReference)("604e9312735cbb643509f24bc94e1740bb2d2ae7ee",t.callServer,void 0,t.findSourceMapURL,"rollbackAction");e.s(["f",0,l],889942)},523135,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(54131),l=e.i(428325),a=e.i(799589),o=e.i(177106),i=e.i(856033),s=e.i(452842),c=e.i(95187);let d=(0,c.createServerReference)("60eb82fd1c21cc597a6f8d0eec97005a558265f158",c.callServer,void 0,c.findSourceMapURL,"cancelAction");var u=e.i(771560);let p=(0,c.createServerReference)("60086dc2c60f0d91334393d80f73b796ae9e95aeae",c.callServer,void 0,c.findSourceMapURL,"promotePreviewAction");var m=e.i(296457),h=e.i(889942),x=e.i(39626),f=e.i(776639),b=e.i(500443);let g=/(\berror(?![-\w])|\bERR!|\bERR_[A-Z_]+|\bfailed\b|exited with (?:code )?[1-9]|Module not found|command not found)/i,k=/^\s*(?:npm |pnpm |yarn )?(?:warn|warning)\b|\b0 (?:errors?|failed)\b/i;function y(e){return"command"!==e.kind&&"delimiter"!==e.kind&&g.test(e.text)&&!k.test(e.text)}var v=e.i(975157);let j=(0,c.createServerReference)("601b652c632727432a23d7d87b2fad44676f76119c",c.callServer,void 0,c.findSourceMapURL,"buildLogsAction"),w=(0,c.createServerReference)("603a39ca361b891f07890fcc44aed4302cb46e488a",c.callServer,void 0,c.findSourceMapURL,"explainBuildAction"),N={stdout:"",stderr:"text-code-warn",command:"text-code-info",delimiter:"text-code-dim"},S=e=>`build-line-${e}`;function $({log:e}){let n=e.lines.findIndex(y),r=e.lines.filter(y).length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 px-[18px] pb-2 text-[12.5px] text-ink-soft",children:[(0,t.jsxs)("span",{children:[e.lines.length," lines",e.truncated?` (the last ${2e3.toLocaleString("en-US")})`:""]}),n>=0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"text-err",children:[r," error line",1===r?"":"s"]}),(0,t.jsx)("button",{type:"button","data-line":S(n),className:"text-brand hover:underline",onClick:()=>document.getElementById(S(n))?.scrollIntoView({block:"center"}),children:"Jump to first error"})]}):(0,t.jsx)("span",{children:"No error lines"})]}),(0,t.jsx)("div",{tabIndex:0,"aria-label":"Build log lines",className:"min-h-0 flex-1 overflow-auto bg-code-bg px-4 py-3 font-mono text-[12.5px] leading-[1.7] text-code-text",children:0===e.lines.length?(0,t.jsx)("div",{className:"text-code-dim",children:"Vercel returned no build output for this deployment."}):e.lines.map((e,n)=>{let r=y(e);return(0,t.jsx)("div",{id:S(n),"data-error":r?"":void 0,className:(0,v.f)("whitespace-pre-wrap [overflow-wrap:anywhere]",r?"-mx-4 border-l-2 border-err bg-err/15 px-[14px] text-code-err":N[e.kind],"delimiter"===e.kind&&"mt-1.5 font-medium"),children:"command"===e.kind?`$ ${e.text}`:e.text||" "},n)})})]})}function R({answer:e}){return"asking"===e?(0,t.jsx)("p",{className:"px-[18px] pb-3 text-[13px] text-ink-soft",children:"Asking the AI provider…"}):"error"in e?(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-3 text-[13px] text-err",children:e.error}):(0,t.jsxs)("section",{"aria-label":"Explanation",className:"mx-[18px] mb-3 rounded-lg border border-line px-3.5 py-2.5",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2 text-[12.5px]",children:[(0,t.jsx)("b",{className:"font-medium",children:"Explanation"}),(0,t.jsx)("span",{className:"font-mono text-xs text-ink-faint",children:e.model})]}),(0,t.jsx)("p",{className:"mt-1 whitespace-pre-wrap text-[13px] [overflow-wrap:anywhere]",children:e.text}),(0,t.jsx)("p",{className:"mt-1.5 text-xs text-ink-faint",children:"Written by a model from the log below. Check it against the log before you change code."})]})}function C({appId:e,deploymentId:r,title:a,open:o,onOpenChange:i,explain:s=!1,read:c=j,ask:d=w}){let[u,p]=(0,n.useState)(null),[m,h]=(0,n.useState)(null);(0,b.useHoldRefresh)(o),(0,n.useEffect)(()=>{if(!o)return;let t=!0;return c(e,r).then(e=>{t&&p(e.ok&&e.data?{log:e.data}:{error:e.ok?"No build log came back.":e.error})}).catch(()=>{t&&p({error:"Watchbell didn't answer. Check that it's still running, then try again."})}),()=>{t=!1,p(null),h(null)}},[o,e,r,c]);let g=s&&null!==u&&"log"in u&&"asking"!==m;return(0,t.jsx)(f.N,{open:o,onOpenChange:i,children:(0,t.jsxs)(f.d,{className:"top-0 right-0 left-auto flex h-dvh max-w-full translate-x-0 translate-y-0 flex-col gap-0 rounded-none p-0 sm:max-w-[780px]",children:[(0,t.jsxs)("div",{className:"px-[18px] pb-2 pt-4 pr-12",children:[(0,t.jsxs)(f.F,{className:"text-base",children:["Build log · ",a]}),(0,t.jsxs)(f.C,{className:"mt-0.5 text-[12.5px] text-ink-soft",children:["Newest build, read from Vercel now",(0,t.jsx)(x.Src,{kind:"api"})]}),s&&(0,t.jsx)(l.K,{size:"sm",className:"mt-2",disabled:!g,onClick:()=>{h("asking"),d(e,r).then(e=>h(e.ok&&e.data?e.data:{error:e.ok?"No explanation came back.":e.error})).catch(()=>h({error:"Watchbell didn't answer. Check that it's still running, then try again."}))},children:!m||"asking"===m||"error"in m?"Explain with AI":"Explain again"})]}),m&&(0,t.jsx)(R,{answer:m}),null===u?(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"Reading the build log…"}):"error"in u?(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-4 text-[13px] text-err",children:u.error}):(0,t.jsx)($,{log:u.log})]})})}var P=e.i(322534);let A=(0,c.createServerReference)("60ae0e10257929cf5ba61cb815591eee6059b20faf",c.callServer,void 0,c.findSourceMapURL,"releaseNotesAction"),E=/^(https:\/\/github\.com\/[^/]+\/[^/]+)\/commit\/[0-9a-f]+$/,I="text-brand underline-offset-2 hover:underline";function M({c:e,now:n}){var l;let a,o,i=(l=e.title,(a=/\(#(\d{1,7})\)\s*$/.exec(l)??/^Merge pull request #(\d{1,7})\b/.exec(l))?Number(a[1]):null),s=null===i?null:(o=e.url?E.exec(e.url):null)?`${o[1]}/pull/${i}`:null,c=e.sha.slice(0,7);return(0,t.jsxs)("li",{className:"border-b border-line px-[18px] py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"text-[13px] [overflow-wrap:anywhere]",children:[(0,t.jsx)(r.MaskedText,{text:e.title}),s&&(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsxs)("a",{href:s,target:"_blank",rel:"noreferrer",className:I,children:["#",i]})]})]}),(0,t.jsxs)("div",{className:"mt-0.5 font-mono text-xs text-ink-faint",children:[e.url?(0,t.jsx)("a",{href:e.url,target:"_blank",rel:"noreferrer",className:I,children:c}):c,e.author&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,t.jsx)(r.MaskedText,{text:e.author})]}),e.at&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,P.J)(new Date(e.at),n)]})]})]})}function L({notes:e,now:n}){if(e.note)return(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:e.note});if(0===e.commits.length)return(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"GitHub found no commits between these deployments."});let r=e.total-e.commits.length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"px-[18px] pb-2 text-[12.5px] text-ink-soft",children:[e.total," commit",1===e.total?"":"s",e.from?(0,t.jsxs)(t.Fragment,{children:[" since ",(0,t.jsx)("span",{className:"font-mono",children:e.from.slice(0,7)})]}):null]}),(0,t.jsxs)("ul",{className:"min-h-0 flex-1 overflow-auto border-t border-line",children:[e.commits.map(e=>(0,t.jsx)(M,{c:e,now:n},e.sha)),e.cut&&r>0&&(0,t.jsxs)("li",{className:"px-[18px] py-2.5 text-[12.5px] text-ink-soft",children:["+",r," more, older, not shown"]})]})]})}function O({appId:e,deploymentId:r,title:l,open:a,onOpenChange:o,read:i=A}){let[s,c]=(0,n.useState)(null);return(0,b.useHoldRefresh)(a),(0,n.useEffect)(()=>{if(!a)return;let t=!0;return i(e,r).then(e=>{t&&c(e.ok&&e.data?{notes:e.data,at:new Date}:{error:e.ok?"Nothing came back.":e.error})}).catch(()=>{t&&c({error:"Watchbell didn't answer. Check that it's still running, then try again."})}),()=>{t=!1,c(null)}},[a,e,r,i]),(0,t.jsx)(f.N,{open:a,onOpenChange:o,children:(0,t.jsxs)(f.d,{className:"top-0 right-0 left-auto flex h-dvh max-w-full translate-x-0 translate-y-0 flex-col gap-0 rounded-none p-0 sm:max-w-[620px]",children:[(0,t.jsxs)("div",{className:"px-[18px] pb-2 pt-4 pr-12",children:[(0,t.jsxs)(f.F,{className:"text-base",children:["What changed · ",l]}),(0,t.jsxs)(f.C,{className:"mt-0.5 text-[12.5px] text-ink-soft",children:["Since the previous production deployment, compared on GitHub now",(0,t.jsx)(x.Src,{kind:"api"})]})]}),null===s?(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"Reading the commits…"}):"error"in s?(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-4 text-[13px] text-err",children:s.error}):(0,t.jsx)(L,{notes:s.notes,now:s.at})]})})}let U={label:"View build logs",kind:"logs"},_={label:"What changed",kind:"changes"};e.s(["DeployRowActions",0,function({d:e,actions:c,logs:x,changes:f=!1,explain:b=!1}){var g;let k,y,v,j=(0,r.useMask)(),{open:w,dialog:N}=(0,a.W)(),[S,$]=(0,n.useState)(!1),[R,P]=(0,n.useState)(!1),A=e.sha?e.sha.slice(0,7):"",{visit:E,deployment:I}=(k=e.url?`https://${e.url}`:null,e.primaryDomain?{visit:`https://${e.primaryDomain}`,deployment:k}:{visit:k??"",deployment:null}),{buttons:M,menu:L}=(y=[...(g={actions:c,logs:x,changes:f,visit:!!E&&e.visit}).visit&&"button"!==g.logs?[{label:"Visit",kind:"visit"}]:[],...g.actions.map(e=>({label:e,kind:"action",action:e})),..."button"===g.logs?[U]:[]],v=[..."menu"===g.logs?[U]:[],...g.changes?[_]:[]],y.length>2?{buttons:[],menu:[...y,...v]}:{buttons:y,menu:v}),T=t=>w({...(0,i.f)(t,j("app",e.appName),A),run:function(e,t,n){switch(e){case"Redeploy":return()=>(0,m.f)(t,n);case"Roll back to this":return()=>(0,h.f)(t,n);case"Promote":return()=>(0,u.f)(t,n);case"Cancel":return()=>d(t,n);case"Promote to production":return()=>p(t,n)}}(t,e.appId,e.externalId)});return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[M.map(e=>"visit"===e.kind?(0,t.jsx)("a",{href:E,target:"_blank",rel:"noreferrer",className:(0,l.R)({size:"sm"}),children:"Visit"},e.label):"logs"===e.kind?(0,t.jsx)(l.K,{size:"sm",onClick:()=>$(!0),children:e.label},e.label):(0,t.jsx)(l.K,{size:"sm",onClick:()=>T(e.action),children:e.label},e.label)),I&&e.visit&&"button"!==x&&(0,t.jsx)("a",{href:I,target:"_blank",rel:"noreferrer",className:"text-xs text-ink-faint underline-offset-2 hover:text-ink hover:underline",children:"Deployment URL"}),L.length>0&&(0,t.jsx)(o.RowMenu,{label:(0,s.J)(j("app",e.appName),A||e.url||e.externalId),items:L.map(e=>"visit"===e.kind?{label:e.label,href:E}:"logs"===e.kind?{label:e.label,onSelect:()=>$(!0)}:"changes"===e.kind?{label:e.label,onSelect:()=>P(!0)}:{label:e.label,onSelect:()=>T(e.action)})}),N,x&&(0,t.jsx)(C,{appId:e.appId,deploymentId:e.externalId,title:`${j("app",e.appName)}${A?` ${A}`:""}`,open:S,onOpenChange:$,explain:b}),f&&(0,t.jsx)(O,{appId:e.appId,deploymentId:e.externalId,title:`${j("app",e.appName)}${A?` ${A}`:""}`,open:R,onOpenChange:P})]})}],523135)},799589,225794,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(54131),l=e.i(46200),a=e.i(428325);function o(e,t=e=>e){return e.ok?{ok:!0,message:t(e.message??"Done.")}:{ok:!1,message:t(e.error)}}function i(){let e=(0,r.useMask)();return t=>o(t,t=>e("text",t))}e.s(["f",0,o],225794),e.s(["p",0,function({label:e,title:n,body:r,cta:o,danger:s=!1,run:c}){let d=i();return(0,t.jsx)(l.f,{trigger:(0,t.jsx)(a.K,{variant:s?"danger":"secondary",children:e}),title:n,body:r,cta:o,danger:s,onConfirm:async()=>d(await c())})},"W",0,function(){let[e,r]=(0,n.useState)(null),a=i(),o=e?(0,t.jsx)(l.f,{open:!0,onOpenChange:e=>{e||r(null)},title:e.title,body:e.body,cta:e.cta,danger:e.danger,onConfirm:async()=>a(await e.run())}):null;return{open:r,dialog:o}}],799589)},70528,876195,e=>{let t=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\[\d{1,6}\])*$/,n=new Set(["__proto__","prototype","constructor"]),r=[300,3600,86400,604800],l=[300,3600,21600];e.s(["q",0,l,"Q",0,r,"v",0,function(e){return e%604800==0?604800===e?"1 week":`${e/604800} weeks`:e%86400==0?86400===e?"1 day":`${e/86400} days`:e%3600==0?`${e/3600} h`:`${Math.max(1,Math.round(e/60))} min`}],876195);let a=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;function o(e){let t=a.exec(e);if(!t)return null;let n=t.slice(1).map(Number);return n.every(e=>e<=255)?n:null}function i([e,t,n]){return 0===e||10===e||127===e||e>=224||100===e&&t>=64&&t<=127||169===e&&254===t||172===e&&t>=16&&t<=31||192===e&&0===t&&0===n||192===e&&168===t||198===e&&(18===t||19===t)}function s(e){return"https:"!==e.protocol||e.username||e.password?"scheme":""!==e.port&&"443"!==e.port?"blocked":!function(e){let t=e.trim().toLowerCase();if(t.startsWith("[")&&t.endsWith("]")){let e=function(e){let t=e.split("%")[0].toLowerCase();if(!t.includes(":"))return null;if(-1!==t.lastIndexOf(".")){let e=t.lastIndexOf(":"),n=o(t.slice(e+1));if(!n)return null;t=`${t.slice(0,e+1)}${(n[0]<<8|n[1]).toString(16)}:${(n[2]<<8|n[3]).toString(16)}`}let n=t.split("::");if(n.length>2)return null;let r=e=>""===e?[]:e.split(":"),l=r(n[0]),a=2===n.length?r(n[1]):[],i=8-l.length-a.length;if(1===n.length?0!==i:i<1)return null;let s=[...l,...Array(2===n.length?i:0).fill("0"),...a];return 8===s.length&&s.every(e=>/^[0-9a-f]{1,4}$/.test(e))?s.map(e=>parseInt(e,16)):null}(t.slice(1,-1));return!e||function(e){if(e.slice(0,6).every(e=>0===e)||e.slice(0,5).every(e=>0===e)&&65535===e[5]||e.slice(0,4).every(e=>0===e)&&65535===e[4]&&0===e[5]||100===e[0]&&65435===e[1]&&e.slice(2,6).every(e=>0===e)||100===e[0]&&65435===e[1]&&1===e[2])return!0;if(8194===e[0]){let t,n;return i([(t=e[1])>>8,255&t,(n=e[2])>>8,255&n])}return(65024&e[0])==64512||(65472&e[0])==65152||(65472&e[0])==65216||(65280&e[0])==65280}(e)}if(t.endsWith(".")&&(t=t.slice(0,-1)),!t)return!0;let n=o(t);if(n)return i(n);let r=t.slice(t.lastIndexOf(".")+1);return!(!/^(\d+|0x[0-9a-f]*)$/.test(r)&&t.includes("."))||"localhost"===t||/\.(localhost|local|internal)$/.test(t)||t.endsWith(".home.arpa")}(e.hostname)?null:"blocked"}e.i(684496);let c=[3,5,10],d=/[\u0000-\u001f\u007f-\u009f]/,u=/[­؜᠎​-‏‪-‮⁠-⁤⁦-⁩]/;e.s(["L",0,c,"G",0,function(e){return null!==e.lastStatus&&e.lastError&&!/^HTTP \d{3}( · DEPLOYMENT_NOT_FOUND)?$/.test(e.lastError)?e.lastError:null},"a",0,function(e){let t={},n=String(e?.name??""),a=n.trim().replace(/\s+/g," ");!/[\p{L}\p{N}]/u.test(a)||d.test(a)||u.test(n)?t.name="Name the job, like backup job.":a.length>60&&(t.name="Keep the name to 60 characters.");let o=Number(e?.periodS);r.includes(o)||(t.periodS="Pick how often the job runs.");let i=Number(e?.graceS);return(l.includes(i)||(t.graceS="Pick a grace time."),Object.keys(t).length)?{ok:!1,fieldErrors:t}:{ok:!0,value:{name:a,periodS:o,graceS:i}}},"X",0,function(e){let r={},l=String(e?.url??"").trim(),a=null;try{a=new URL(l)}catch{a=null}a&&a.hostname&&!(l.length>2048)&&"scheme"!==s(a)?"blocked"===s(a)&&(r.url="Use a public https address."):r.url="Enter a full https:// address.";let o=String(e?.expectedStatus??"").trim();/^[1-5]\d\d$/.test(o)||(r.expectedStatus="Enter an HTTP status between 100 and 599.");let i=Number(e?.timeoutS);c.includes(i)||(r.timeoutS="Pick a timeout.");let d=String(e?.bodyContains??"").trim(),u=String(e?.jsonPath??"").trim(),p=String(e?.jsonEquals??"").trim();return(d.length>200&&(r.bodyContains="Keep the keyword under 200 characters."),!u&&p&&(r.jsonPath="Add a JSON path for the value."),u&&(u.length>100||!function(e){if(!t.test(e))return null;let r=[];for(let t of e.matchAll(/([A-Za-z_$][\w$]*)|\[(\d+)\]/g))r.push(void 0!==t[1]?t[1]:Number(t[2]));return r.some(e=>"string"==typeof e&&n.has(e))?null:r}(u)?r.jsonPath="Use dots and [0] only, like checks.db or items[0].state.":p?p.length>200&&(r.jsonEquals="Keep the value under 200 characters."):r.jsonEquals="Enter the value it must equal.",d&&!r.bodyContains&&(r.bodyContains="Use either a keyword or a JSON field.")),Object.keys(r).length||!a)?{ok:!1,fieldErrors:r}:(a.hash="",{ok:!0,value:{url:a.toString(),expectedStatus:Number(o),timeoutMs:1e3*i,bodyContains:d||null,jsonPath:u||null,jsonEquals:u?p:null}})}],70528)},856033,e=>{e.s(["f",0,function(e,t,n){switch(e){case"Redeploy":return{title:`Redeploy ${t}?`,cta:"Redeploy",danger:!1,body:"Vercel builds the current production deployment again (same commit, today's environment variables) and makes it live when the build is ready. It counts toward the 100 deployments a day on Hobby."};case"Roll back":return{title:`Roll back ${t}?`,cta:"Roll back",danger:!0,body:"Production goes back to the previous production deployment. Hobby can't go further back. Vercel then stops sending new pushes to production until you promote one again."};case"Roll back to this":return{title:`Roll back ${t} to ${n||"this deployment"}?`,cta:"Roll back",danger:!0,body:"Production goes back to this deployment. Hobby only allows the previous production deployment. Vercel then stops sending new pushes to production until you promote one again."};case"Promote":return{title:`Promote ${t} ${n}?`.replace(" ?","?"),cta:"Promote",danger:!1,body:"Production traffic moves to this production deployment and new pushes go live again (this undoes a roll back). Nothing is rebuilt."};case"Promote to production":return{title:`Promote ${t} ${n} to production?`.replace(" "," "),cta:"Promote to production",danger:!0,body:"Vercel builds this preview's commit again as a production deployment, with the production environment variables (preview-only values aren't used), and makes it live when the build is ready. It counts toward the 100 deployments a day on Hobby."};case"Cancel":return{title:"Cancel this build?",cta:"Cancel build",danger:!0,body:`The running build of ${`${t} ${n}`.trim()} stops. The current production deployment stays live.`}}}])},452842,e=>{e.i(203709),e.i(70528),e.i(684496),e.i(322534),e.s(["p",0,[["deployment","Deployment"],["monitor","Monitor"],["database","Database"],["system","System"],["action","Action"]],"X",0,{ok:"healthy",warn:"degraded",err:"down",idle:"idle",build:"building",paused:"paused",info:"info",fail:"failed",off:"off",unknown:"unknown",maint:"maintenance"},"J",0,(...e)=>`Actions for ${e.filter(Boolean).join(" ")}`],452842)}])})();
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,801001,347271,565215,e=>{var t=e.i(95187);let n=(0,t.createServerReference)("60a58057b2a42eefc03e1c0603094c1306e022a436",t.callServer,void 0,t.findSourceMapURL,"promoteAction");e.s(["f",0,n],801001);let r=(0,t.createServerReference)("60d8252c7bc357fcb0d1cbea8fa8d285598fc34526",t.callServer,void 0,t.findSourceMapURL,"redeployAction");e.s(["f",0,r],347271);let l=(0,t.createServerReference)("60ba1d94aa50f84773a95238d64f62aca68f152f2a",t.callServer,void 0,t.findSourceMapURL,"rollbackAction");e.s(["f",0,l],565215)},523135,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(54131),l=e.i(428325),a=e.i(799589),o=e.i(177106),i=e.i(856033),s=e.i(452842),c=e.i(95187);let d=(0,c.createServerReference)("6051a6f8308ddb6a5d3bf227d295e318dc5b51fd87",c.callServer,void 0,c.findSourceMapURL,"cancelAction");var u=e.i(801001);let p=(0,c.createServerReference)("60009a2992545d28afbeaaff5212bb5a77843a9a5d",c.callServer,void 0,c.findSourceMapURL,"promotePreviewAction");var m=e.i(347271),h=e.i(565215),x=e.i(39626),f=e.i(776639),b=e.i(500443);let g=/(\berror(?![-\w])|\bERR!|\bERR_[A-Z_]+|\bfailed\b|exited with (?:code )?[1-9]|Module not found|command not found)/i,k=/^\s*(?:npm |pnpm |yarn )?(?:warn|warning)\b|\b0 (?:errors?|failed)\b/i;function y(e){return"command"!==e.kind&&"delimiter"!==e.kind&&g.test(e.text)&&!k.test(e.text)}var v=e.i(975157);let j=(0,c.createServerReference)("608b66f45a41c041c04a0fb84a8df27b24fa929b85",c.callServer,void 0,c.findSourceMapURL,"buildLogsAction"),w=(0,c.createServerReference)("60ae39a73d91a8e143b6b8879748d95a20f2d82379",c.callServer,void 0,c.findSourceMapURL,"explainBuildAction"),N={stdout:"",stderr:"text-code-warn",command:"text-code-info",delimiter:"text-code-dim"},S=e=>`build-line-${e}`;function $({log:e}){let n=e.lines.findIndex(y),r=e.lines.filter(y).length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 px-[18px] pb-2 text-[12.5px] text-ink-soft",children:[(0,t.jsxs)("span",{children:[e.lines.length," lines",e.truncated?` (the last ${2e3.toLocaleString("en-US")})`:""]}),n>=0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"text-err",children:[r," error line",1===r?"":"s"]}),(0,t.jsx)("button",{type:"button","data-line":S(n),className:"text-brand hover:underline",onClick:()=>document.getElementById(S(n))?.scrollIntoView({block:"center"}),children:"Jump to first error"})]}):(0,t.jsx)("span",{children:"No error lines"})]}),(0,t.jsx)("div",{tabIndex:0,"aria-label":"Build log lines",className:"min-h-0 flex-1 overflow-auto bg-code-bg px-4 py-3 font-mono text-[12.5px] leading-[1.7] text-code-text",children:0===e.lines.length?(0,t.jsx)("div",{className:"text-code-dim",children:"Vercel returned no build output for this deployment."}):e.lines.map((e,n)=>{let r=y(e);return(0,t.jsx)("div",{id:S(n),"data-error":r?"":void 0,className:(0,v.f)("whitespace-pre-wrap [overflow-wrap:anywhere]",r?"-mx-4 border-l-2 border-err bg-err/15 px-[14px] text-code-err":N[e.kind],"delimiter"===e.kind&&"mt-1.5 font-medium"),children:"command"===e.kind?`$ ${e.text}`:e.text||" "},n)})})]})}function R({answer:e}){return"asking"===e?(0,t.jsx)("p",{className:"px-[18px] pb-3 text-[13px] text-ink-soft",children:"Asking the AI provider…"}):"error"in e?(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-3 text-[13px] text-err",children:e.error}):(0,t.jsxs)("section",{"aria-label":"Explanation",className:"mx-[18px] mb-3 rounded-lg border border-line px-3.5 py-2.5",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2 text-[12.5px]",children:[(0,t.jsx)("b",{className:"font-medium",children:"Explanation"}),(0,t.jsx)("span",{className:"font-mono text-xs text-ink-faint",children:e.model})]}),(0,t.jsx)("p",{className:"mt-1 whitespace-pre-wrap text-[13px] [overflow-wrap:anywhere]",children:e.text}),(0,t.jsx)("p",{className:"mt-1.5 text-xs text-ink-faint",children:"Written by a model from the log below. Check it against the log before you change code."})]})}function C({appId:e,deploymentId:r,title:a,open:o,onOpenChange:i,explain:s=!1,read:c=j,ask:d=w}){let[u,p]=(0,n.useState)(null),[m,h]=(0,n.useState)(null);(0,b.useHoldRefresh)(o),(0,n.useEffect)(()=>{if(!o)return;let t=!0;return c(e,r).then(e=>{t&&p(e.ok&&e.data?{log:e.data}:{error:e.ok?"No build log came back.":e.error})}).catch(()=>{t&&p({error:"Watchbell didn't answer. Check that it's still running, then try again."})}),()=>{t=!1,p(null),h(null)}},[o,e,r,c]);let g=s&&null!==u&&"log"in u&&"asking"!==m;return(0,t.jsx)(f.N,{open:o,onOpenChange:i,children:(0,t.jsxs)(f.d,{className:"top-0 right-0 left-auto flex h-dvh max-w-full translate-x-0 translate-y-0 flex-col gap-0 rounded-none p-0 sm:max-w-[780px]",children:[(0,t.jsxs)("div",{className:"px-[18px] pb-2 pt-4 pr-12",children:[(0,t.jsxs)(f.F,{className:"text-base",children:["Build log · ",a]}),(0,t.jsxs)(f.C,{className:"mt-0.5 text-[12.5px] text-ink-soft",children:["Newest build, read from Vercel now",(0,t.jsx)(x.Src,{kind:"api"})]}),s&&(0,t.jsx)(l.K,{size:"sm",className:"mt-2",disabled:!g,onClick:()=>{h("asking"),d(e,r).then(e=>h(e.ok&&e.data?e.data:{error:e.ok?"No explanation came back.":e.error})).catch(()=>h({error:"Watchbell didn't answer. Check that it's still running, then try again."}))},children:!m||"asking"===m||"error"in m?"Explain with AI":"Explain again"})]}),m&&(0,t.jsx)(R,{answer:m}),null===u?(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"Reading the build log…"}):"error"in u?(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-4 text-[13px] text-err",children:u.error}):(0,t.jsx)($,{log:u.log})]})})}var P=e.i(322534);let A=(0,c.createServerReference)("60eaea44582a1ddb6f88268d47f83052573c156b4e",c.callServer,void 0,c.findSourceMapURL,"releaseNotesAction"),E=/^(https:\/\/github\.com\/[^/]+\/[^/]+)\/commit\/[0-9a-f]+$/,I="text-brand underline-offset-2 hover:underline";function M({c:e,now:n}){var l;let a,o,i=(l=e.title,(a=/\(#(\d{1,7})\)\s*$/.exec(l)??/^Merge pull request #(\d{1,7})\b/.exec(l))?Number(a[1]):null),s=null===i?null:(o=e.url?E.exec(e.url):null)?`${o[1]}/pull/${i}`:null,c=e.sha.slice(0,7);return(0,t.jsxs)("li",{className:"border-b border-line px-[18px] py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"text-[13px] [overflow-wrap:anywhere]",children:[(0,t.jsx)(r.MaskedText,{text:e.title}),s&&(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsxs)("a",{href:s,target:"_blank",rel:"noreferrer",className:I,children:["#",i]})]})]}),(0,t.jsxs)("div",{className:"mt-0.5 font-mono text-xs text-ink-faint",children:[e.url?(0,t.jsx)("a",{href:e.url,target:"_blank",rel:"noreferrer",className:I,children:c}):c,e.author&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,t.jsx)(r.MaskedText,{text:e.author})]}),e.at&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,P.J)(new Date(e.at),n)]})]})]})}function L({notes:e,now:n}){if(e.note)return(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:e.note});if(0===e.commits.length)return(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"GitHub found no commits between these deployments."});let r=e.total-e.commits.length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"px-[18px] pb-2 text-[12.5px] text-ink-soft",children:[e.total," commit",1===e.total?"":"s",e.from?(0,t.jsxs)(t.Fragment,{children:[" since ",(0,t.jsx)("span",{className:"font-mono",children:e.from.slice(0,7)})]}):null]}),(0,t.jsxs)("ul",{className:"min-h-0 flex-1 overflow-auto border-t border-line",children:[e.commits.map(e=>(0,t.jsx)(M,{c:e,now:n},e.sha)),e.cut&&r>0&&(0,t.jsxs)("li",{className:"px-[18px] py-2.5 text-[12.5px] text-ink-soft",children:["+",r," more, older, not shown"]})]})]})}function O({appId:e,deploymentId:r,title:l,open:a,onOpenChange:o,read:i=A}){let[s,c]=(0,n.useState)(null);return(0,b.useHoldRefresh)(a),(0,n.useEffect)(()=>{if(!a)return;let t=!0;return i(e,r).then(e=>{t&&c(e.ok&&e.data?{notes:e.data,at:new Date}:{error:e.ok?"Nothing came back.":e.error})}).catch(()=>{t&&c({error:"Watchbell didn't answer. Check that it's still running, then try again."})}),()=>{t=!1,c(null)}},[a,e,r,i]),(0,t.jsx)(f.N,{open:a,onOpenChange:o,children:(0,t.jsxs)(f.d,{className:"top-0 right-0 left-auto flex h-dvh max-w-full translate-x-0 translate-y-0 flex-col gap-0 rounded-none p-0 sm:max-w-[620px]",children:[(0,t.jsxs)("div",{className:"px-[18px] pb-2 pt-4 pr-12",children:[(0,t.jsxs)(f.F,{className:"text-base",children:["What changed · ",l]}),(0,t.jsxs)(f.C,{className:"mt-0.5 text-[12.5px] text-ink-soft",children:["Since the previous production deployment, compared on GitHub now",(0,t.jsx)(x.Src,{kind:"api"})]})]}),null===s?(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"Reading the commits…"}):"error"in s?(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-4 text-[13px] text-err",children:s.error}):(0,t.jsx)(L,{notes:s.notes,now:s.at})]})})}let U={label:"View build logs",kind:"logs"},_={label:"What changed",kind:"changes"};e.s(["DeployRowActions",0,function({d:e,actions:c,logs:x,changes:f=!1,explain:b=!1}){var g;let k,y,v,j=(0,r.useMask)(),{open:w,dialog:N}=(0,a.W)(),[S,$]=(0,n.useState)(!1),[R,P]=(0,n.useState)(!1),A=e.sha?e.sha.slice(0,7):"",{visit:E,deployment:I}=(k=e.url?`https://${e.url}`:null,e.primaryDomain?{visit:`https://${e.primaryDomain}`,deployment:k}:{visit:k??"",deployment:null}),{buttons:M,menu:L}=(y=[...(g={actions:c,logs:x,changes:f,visit:!!E&&e.visit}).visit&&"button"!==g.logs?[{label:"Visit",kind:"visit"}]:[],...g.actions.map(e=>({label:e,kind:"action",action:e})),..."button"===g.logs?[U]:[]],v=[..."menu"===g.logs?[U]:[],...g.changes?[_]:[]],y.length>2?{buttons:[],menu:[...y,...v]}:{buttons:y,menu:v}),T=t=>w({...(0,i.f)(t,j("app",e.appName),A),run:function(e,t,n){switch(e){case"Redeploy":return()=>(0,m.f)(t,n);case"Roll back to this":return()=>(0,h.f)(t,n);case"Promote":return()=>(0,u.f)(t,n);case"Cancel":return()=>d(t,n);case"Promote to production":return()=>p(t,n)}}(t,e.appId,e.externalId)});return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[M.map(e=>"visit"===e.kind?(0,t.jsx)("a",{href:E,target:"_blank",rel:"noreferrer",className:(0,l.R)({size:"sm"}),children:"Visit"},e.label):"logs"===e.kind?(0,t.jsx)(l.K,{size:"sm",onClick:()=>$(!0),children:e.label},e.label):(0,t.jsx)(l.K,{size:"sm",onClick:()=>T(e.action),children:e.label},e.label)),I&&e.visit&&"button"!==x&&(0,t.jsx)("a",{href:I,target:"_blank",rel:"noreferrer",className:"text-xs text-ink-faint underline-offset-2 hover:text-ink hover:underline",children:"Deployment URL"}),L.length>0&&(0,t.jsx)(o.RowMenu,{label:(0,s.J)(j("app",e.appName),A||e.url||e.externalId),items:L.map(e=>"visit"===e.kind?{label:e.label,href:E}:"logs"===e.kind?{label:e.label,onSelect:()=>$(!0)}:"changes"===e.kind?{label:e.label,onSelect:()=>P(!0)}:{label:e.label,onSelect:()=>T(e.action)})}),N,x&&(0,t.jsx)(C,{appId:e.appId,deploymentId:e.externalId,title:`${j("app",e.appName)}${A?` ${A}`:""}`,open:S,onOpenChange:$,explain:b}),f&&(0,t.jsx)(O,{appId:e.appId,deploymentId:e.externalId,title:`${j("app",e.appName)}${A?` ${A}`:""}`,open:R,onOpenChange:P})]})}],523135)},799589,225794,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(54131),l=e.i(46200),a=e.i(428325);function o(e,t=e=>e){return e.ok?{ok:!0,message:t(e.message??"Done.")}:{ok:!1,message:t(e.error)}}function i(){let e=(0,r.useMask)();return t=>o(t,t=>e("text",t))}e.s(["f",0,o],225794),e.s(["p",0,function({label:e,title:n,body:r,cta:o,danger:s=!1,run:c}){let d=i();return(0,t.jsx)(l.f,{trigger:(0,t.jsx)(a.K,{variant:s?"danger":"secondary",children:e}),title:n,body:r,cta:o,danger:s,onConfirm:async()=>d(await c())})},"W",0,function(){let[e,r]=(0,n.useState)(null),a=i(),o=e?(0,t.jsx)(l.f,{open:!0,onOpenChange:e=>{e||r(null)},title:e.title,body:e.body,cta:e.cta,danger:e.danger,onConfirm:async()=>a(await e.run())}):null;return{open:r,dialog:o}}],799589)},70528,876195,e=>{let t=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\[\d{1,6}\])*$/,n=new Set(["__proto__","prototype","constructor"]),r=[300,3600,86400,604800],l=[300,3600,21600];e.s(["q",0,l,"Q",0,r,"v",0,function(e){return e%604800==0?604800===e?"1 week":`${e/604800} weeks`:e%86400==0?86400===e?"1 day":`${e/86400} days`:e%3600==0?`${e/3600} h`:`${Math.max(1,Math.round(e/60))} min`}],876195);let a=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;function o(e){let t=a.exec(e);if(!t)return null;let n=t.slice(1).map(Number);return n.every(e=>e<=255)?n:null}function i([e,t,n]){return 0===e||10===e||127===e||e>=224||100===e&&t>=64&&t<=127||169===e&&254===t||172===e&&t>=16&&t<=31||192===e&&0===t&&0===n||192===e&&168===t||198===e&&(18===t||19===t)}function s(e){return"https:"!==e.protocol||e.username||e.password?"scheme":""!==e.port&&"443"!==e.port?"blocked":!function(e){let t=e.trim().toLowerCase();if(t.startsWith("[")&&t.endsWith("]")){let e=function(e){let t=e.split("%")[0].toLowerCase();if(!t.includes(":"))return null;if(-1!==t.lastIndexOf(".")){let e=t.lastIndexOf(":"),n=o(t.slice(e+1));if(!n)return null;t=`${t.slice(0,e+1)}${(n[0]<<8|n[1]).toString(16)}:${(n[2]<<8|n[3]).toString(16)}`}let n=t.split("::");if(n.length>2)return null;let r=e=>""===e?[]:e.split(":"),l=r(n[0]),a=2===n.length?r(n[1]):[],i=8-l.length-a.length;if(1===n.length?0!==i:i<1)return null;let s=[...l,...Array(2===n.length?i:0).fill("0"),...a];return 8===s.length&&s.every(e=>/^[0-9a-f]{1,4}$/.test(e))?s.map(e=>parseInt(e,16)):null}(t.slice(1,-1));return!e||function(e){if(e.slice(0,6).every(e=>0===e)||e.slice(0,5).every(e=>0===e)&&65535===e[5]||e.slice(0,4).every(e=>0===e)&&65535===e[4]&&0===e[5]||100===e[0]&&65435===e[1]&&e.slice(2,6).every(e=>0===e)||100===e[0]&&65435===e[1]&&1===e[2])return!0;if(8194===e[0]){let t,n;return i([(t=e[1])>>8,255&t,(n=e[2])>>8,255&n])}return(65024&e[0])==64512||(65472&e[0])==65152||(65472&e[0])==65216||(65280&e[0])==65280}(e)}if(t.endsWith(".")&&(t=t.slice(0,-1)),!t)return!0;let n=o(t);if(n)return i(n);let r=t.slice(t.lastIndexOf(".")+1);return!(!/^(\d+|0x[0-9a-f]*)$/.test(r)&&t.includes("."))||"localhost"===t||/\.(localhost|local|internal)$/.test(t)||t.endsWith(".home.arpa")}(e.hostname)?null:"blocked"}e.i(684496);let c=[3,5,10],d=/[\u0000-\u001f\u007f-\u009f]/,u=/[­؜᠎​-‏‪-‮⁠-⁤⁦-⁩]/;e.s(["L",0,c,"G",0,function(e){return null!==e.lastStatus&&e.lastError&&!/^HTTP \d{3}( · DEPLOYMENT_NOT_FOUND)?$/.test(e.lastError)?e.lastError:null},"a",0,function(e){let t={},n=String(e?.name??""),a=n.trim().replace(/\s+/g," ");!/[\p{L}\p{N}]/u.test(a)||d.test(a)||u.test(n)?t.name="Name the job, like backup job.":a.length>60&&(t.name="Keep the name to 60 characters.");let o=Number(e?.periodS);r.includes(o)||(t.periodS="Pick how often the job runs.");let i=Number(e?.graceS);return(l.includes(i)||(t.graceS="Pick a grace time."),Object.keys(t).length)?{ok:!1,fieldErrors:t}:{ok:!0,value:{name:a,periodS:o,graceS:i}}},"X",0,function(e){let r={},l=String(e?.url??"").trim(),a=null;try{a=new URL(l)}catch{a=null}a&&a.hostname&&!(l.length>2048)&&"scheme"!==s(a)?"blocked"===s(a)&&(r.url="Use a public https address."):r.url="Enter a full https:// address.";let o=String(e?.expectedStatus??"").trim();/^[1-5]\d\d$/.test(o)||(r.expectedStatus="Enter an HTTP status between 100 and 599.");let i=Number(e?.timeoutS);c.includes(i)||(r.timeoutS="Pick a timeout.");let d=String(e?.bodyContains??"").trim(),u=String(e?.jsonPath??"").trim(),p=String(e?.jsonEquals??"").trim();return(d.length>200&&(r.bodyContains="Keep the keyword under 200 characters."),!u&&p&&(r.jsonPath="Add a JSON path for the value."),u&&(u.length>100||!function(e){if(!t.test(e))return null;let r=[];for(let t of e.matchAll(/([A-Za-z_$][\w$]*)|\[(\d+)\]/g))r.push(void 0!==t[1]?t[1]:Number(t[2]));return r.some(e=>"string"==typeof e&&n.has(e))?null:r}(u)?r.jsonPath="Use dots and [0] only, like checks.db or items[0].state.":p?p.length>200&&(r.jsonEquals="Keep the value under 200 characters."):r.jsonEquals="Enter the value it must equal.",d&&!r.bodyContains&&(r.bodyContains="Use either a keyword or a JSON field.")),Object.keys(r).length||!a)?{ok:!1,fieldErrors:r}:(a.hash="",{ok:!0,value:{url:a.toString(),expectedStatus:Number(o),timeoutMs:1e3*i,bodyContains:d||null,jsonPath:u||null,jsonEquals:u?p:null}})}],70528)},856033,e=>{e.s(["f",0,function(e,t,n){switch(e){case"Redeploy":return{title:`Redeploy ${t}?`,cta:"Redeploy",danger:!1,body:"Vercel builds the current production deployment again (same commit, today's environment variables) and makes it live when the build is ready. It counts toward the 100 deployments a day on Hobby."};case"Roll back":return{title:`Roll back ${t}?`,cta:"Roll back",danger:!0,body:"Production goes back to the previous production deployment. Hobby can't go further back. Vercel then stops sending new pushes to production until you promote one again."};case"Roll back to this":return{title:`Roll back ${t} to ${n||"this deployment"}?`,cta:"Roll back",danger:!0,body:"Production goes back to this deployment. Hobby only allows the previous production deployment. Vercel then stops sending new pushes to production until you promote one again."};case"Promote":return{title:`Promote ${t} ${n}?`.replace(" ?","?"),cta:"Promote",danger:!1,body:"Production traffic moves to this production deployment and new pushes go live again (this undoes a roll back). Nothing is rebuilt."};case"Promote to production":return{title:`Promote ${t} ${n} to production?`.replace(" "," "),cta:"Promote to production",danger:!0,body:"Vercel builds this preview's commit again as a production deployment, with the production environment variables (preview-only values aren't used), and makes it live when the build is ready. It counts toward the 100 deployments a day on Hobby."};case"Cancel":return{title:"Cancel this build?",cta:"Cancel build",danger:!0,body:`The running build of ${`${t} ${n}`.trim()} stops. The current production deployment stays live.`}}}])},452842,e=>{e.i(203709),e.i(70528),e.i(684496),e.i(322534),e.s(["p",0,[["deployment","Deployment"],["monitor","Monitor"],["database","Database"],["system","System"],["action","Action"]],"X",0,{ok:"healthy",warn:"degraded",err:"down",idle:"idle",build:"building",paused:"paused",info:"info",fail:"failed",off:"off",unknown:"unknown",maint:"maintenance"},"J",0,(...e)=>`Actions for ${e.filter(Boolean).join(" ")}`],452842)}])})();
@@ -1 +1 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,590246,e=>{let t=(0,e.i(33550).f)("outline","external-link","ExternalLink",[["path",{d:"M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6",key:"svg-0"}],["path",{d:"M11 13l9 -9",key:"svg-1"}],["path",{d:"M15 4h5v5",key:"svg-2"}]]);e.s(["f",0,t],590246)},225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,r=t.f;e.s(["f",0,(e,t)=>n=>{var i;if((null==t?void 0:t.variants)==null)return r(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:l,defaultVariants:s}=t,o=Object.keys(l).map(e=>{let t=null==n?void 0:n[e],r=null==s?void 0:s[e];if(null===t)return null;let i=a(t)||a(r);return l[e][i]}),u=n&&Object.entries(n).reduce((e,t)=>{let[a,r]=t;return void 0===r||(e[a]=r),e},{});return r(e,o,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:a,className:r,...n}=t;return Object.entries(n).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...s,...u}[t]):({...s,...u})[t]===a})?[...e,a,r]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}])},385925,e=>{var t=e.i(843476),a=e.i(590246),r=e.i(271645),n=e.i(54131),i=e.i(428325),l=e.i(39626),s=e.i(975157);function o(e){return"fatal"===e||"error"===e?"error":"warning"===e?"warning":"info"}e.i(684496);var u=e.i(95187);let d=(0,u.createServerReference)("40ce2a9a1f7fb2f3ec3df90d05e487d5e923961283",u.callServer,void 0,u.findSourceMapURL,"readLastHour"),c={info:"text-code-info",warning:"text-code-warn",error:"text-code-err"};e.s(["LogViewer",0,function({mode:e,apps:u,appId:f,initial:v,vercelUrl:p}){var g,h;let b,x="live"===e,[m,y]=(0,r.useState)(v),w=(0,n.useMask)(),[k,j]=(0,r.useState)(""),[R,C]=(0,r.useState)(""),[S,M]=(0,r.useState)(""),[N,E]=(0,r.useState)(!0),[A,z]=(0,r.useState)(null),[T,I]=(0,r.useState)(0),[L,D]=(0,r.useState)([]),[V,K]=(0,r.useState)(null),[F,P]=(0,r.useTransition)(),O=(0,r.useRef)(!1),_=(0,r.useRef)(null),H=u.find(e=>e.name===k)?.id??null,q=f??H;(0,r.useEffect)(()=>{O.current=F},[F]);let $=(0,r.useCallback)(()=>{P(async()=>{let e=await d(q);e.ok&&e.data?(K(null),D(e.data.problems),y(e.data.lines.slice(-500)),z(Date.parse(e.data.readAt)),I(Date.now())):K(e.ok?"Couldn't read the logs. Try again.":e.error)})},[q]);(0,r.useEffect)(()=>{if(!x)return;let e=setTimeout($,0);return()=>clearTimeout(e)},[x,$]),(0,r.useEffect)(()=>{if(!x||!N)return;let e=setInterval(()=>{"visible"!==document.visibilityState||O.current||$()},15e3);return()=>clearInterval(e)},[x,N,$]),(0,r.useEffect)(()=>{if(!x)return;let e=setInterval(()=>I(Date.now()),5e3);return()=>clearInterval(e)},[x]);let B=(b=(g={app:f?"":k,level:R,text:S}).text.trim().toLowerCase(),m.filter(e=>(!g.app||e.app===g.app)&&(!g.level||o(e.level)===g.level)&&(!b||`${e.app} ${e.text}`.toLowerCase().includes(b))));return(0,r.useEffect)(()=>{let e=_.current;e&&(e.scrollTop=e.scrollHeight)},[m]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-[18px] pb-3 pt-3.5 max-[720px]:px-3.5",children:[!f&&(0,t.jsxs)("select",{className:(0,s.f)(i.S,"w-auto"),"aria-label":"Project",value:k,onChange:e=>j(e.target.value),children:[(0,t.jsx)("option",{value:"",children:"All projects"}),u.map(e=>(0,t.jsx)("option",{value:e.name,children:w("app",e.name)},e.id))]}),(0,t.jsxs)("select",{className:(0,s.f)(i.S,"w-auto"),"aria-label":"Level",value:R,onChange:e=>C(e.target.value),children:[(0,t.jsx)("option",{value:"",children:"All levels"}),x&&(0,t.jsx)("option",{value:"info",children:"Info"}),(0,t.jsx)("option",{value:"warning",children:"Warning"}),(0,t.jsx)("option",{value:"error",children:"Error"})]}),x?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("label",{className:"inline-flex items-center gap-1.5 text-[13px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"accent-brand",checked:N,onChange:e=>E(e.target.checked)})," Auto-refresh every 15s"]}),(0,t.jsx)(i.K,{size:"sm",disabled:F,onClick:$,children:F?"Fetching…":"Fetch now"})]}):(0,t.jsx)("input",{className:(0,s.f)(i.S,"w-[200px] max-[720px]:w-full"),placeholder:"Search messages","aria-label":"Search messages",value:S,onChange:e=>M(e.target.value)}),p&&(0,t.jsxs)("a",{href:p,target:"_blank",rel:"noopener noreferrer",className:(0,i.R)({variant:"ghost",size:"sm"}),children:["Open in Vercel ",(0,t.jsx)(a.f,{size:14,"aria-hidden":!0})]}),(0,t.jsx)("span",{className:"ml-auto flex items-center text-[12.5px] text-ink-soft",children:x?(0,t.jsxs)(t.Fragment,{children:["Vercel request logs · last 1 hour · ",function(e,t){if(null===e)return"reading…";let a=Math.max(0,Math.round((t-e)/1e3));return a<5?"read just now":a<60?`read ${a}s ago`:`read ${Math.floor(a/60)} min ago`}(A,T),(0,t.jsx)(l.Src,{kind:"api"})]}):(0,t.jsxs)(t.Fragment,{children:["Copied by the collector every 5 min · kept 7 days",(0,t.jsx)(l.Src,{kind:"calc"})]})})]}),V&&(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-2 text-[12.5px] text-err max-[720px]:px-3.5",children:V}),L.length>0&&(0,t.jsx)("p",{className:"px-[18px] pb-2 text-[12.5px] text-ink-soft max-[720px]:px-3.5",children:w("text",L.join(" · "))}),(0,t.jsx)("div",{ref:_,tabIndex:0,"aria-label":x?"Request log lines of the last hour":"Stored warning and error log lines",className:"h-[420px] overflow-auto rounded-b-lg bg-code-bg px-4 py-3 font-mono text-[12.5px] leading-[1.7] text-code-text",children:0===B.length?(0,t.jsx)("div",{className:"whitespace-normal text-code-dim",children:(h={live:x,reading:null===A&&!V,level:R}).live?h.reading?"Reading the last hour…":"error"===h.level?"No errors in the last hour. Error means the server failed (a 5xx or a crash). A wrong password or a missing page is not one, and a sign-in the browser sends straight to Supabase or Firebase never reaches these logs.":"warning"===h.level?"No warnings in the last hour.":"No log lines in this window.":"No warnings or errors stored in the last 7 days."}):B.map(e=>(0,t.jsxs)("div",{className:"whitespace-pre",children:[(0,t.jsx)("time",{className:"text-code-dim",children:e.time})," ",(0,t.jsx)("span",{className:c[o(e.level)],children:e.level.toUpperCase().padEnd(7)})," ",(0,t.jsx)("span",{className:"text-code-proj",children:w("app",e.app).padEnd(17)})," ",w("text",e.text)]},e.id))})]})}],385925)},677572,e=>{var t=e.i(843476),a=e.i(271645),r=e.i(951437),n=e.i(146376),i=e.i(667865),l=e.i(552245),s=e.i(53687),o=e.i(733332);let u=a.createContext(void 0);function d(){let e=a.useContext(u);if(void 0===e)throw Error((0,o.f)(64));return e}let c={tabActivationDirection:e=>({"data-activation-direction":e})};var f=e.i(675606),v=e.i(216856),v=v,p=v,g=v;let h=a.forwardRef(function(e,o){let{className:d,defaultValue:h=0,onValueChange:m,orientation:y="horizontal",render:w,value:k,style:j,...R}=e,C=void 0!==e.defaultValue,S=a.useRef([]),[M,N]=a.useState(()=>new Map),[E,A]=(0,r.f)({controlled:k,default:h,name:"Tabs",state:"value"}),z=void 0!==k,[T,I]=a.useState(()=>new Map),L=a.useRef(void 0),D=a.useCallback(e=>b(T,e),[T]),[V,K]=a.useState(()=>({previousValue:E,tabActivationDirection:"none"})),{previousValue:F,tabActivationDirection:P}=V,O=P,_=!1;F!==E&&(O=x(F,E,y,T),_=null!=F&&null!=E&&null==D(E));let H=_?F:E,q=F!==H||P!==O;(0,n.f)(()=>{q&&K({previousValue:H,tabActivationDirection:O})},[H,q,O]);let $=(0,i.f)((e,t)=>{t.activationDirection=x(E,e,y,T),m?.(e,t),t.isCanceled||A(()=>e)}),B=(0,i.f)((e,t)=>{m?.(e,(0,f.j)(t,void 0,void 0,{activationDirection:"none"}))}),U=(0,i.f)((e,t)=>(N(a=>{let r=new Map(a);return r.set(e,t),r}),()=>{N(a=>{if(a.get(e)!==t)return a;let r=new Map(a);return r.delete(e),r})})),Z=a.useCallback(e=>M.get(e),[M]),J=a.useCallback(e=>{for(let t of T.values())if(e===t.value)return t.id},[T]),W=a.useMemo(()=>({getTabElementBySelectedValue:D,getTabIdByPanelValue:J,getTabPanelIdByValue:Z,onValueChange:$,orientation:y,registerMountedTabPanel:U,setTabMap:I,tabActivationDirection:O,value:E}),[D,J,Z,$,y,U,I,O,E]),X=a.useMemo(()=>{for(let e of T.values())if(e.value===E)return e},[T,E]),G=a.useMemo(()=>{for(let e of T.values())if(!e.disabled)return e.value},[T]),Q=a.useRef(!C),Y=a.useRef(h),ee=a.useRef(C),et=a.useRef(!1);(0,n.f)(()=>{if(z)return;function e(e,t){A(()=>e),K({previousValue:e,tabActivationDirection:"none"}),B(e,t),Q.current=!1}if(0===T.size){et.current&&null!==E&&!L.current?.isConnected&&e(null,p.missing);return}et.current=!0,L.current=T.keys().next().value;let t=X?.disabled,a=null==X&&null!==E;if(t||E!==Y.current||(ee.current=!1),ee.current&&t&&E===Y.current)return;let r=Q.current;if(t||a){let a=G??null;if(E===a){Q.current=!1;return}let n=p.missing;r?n=v.initial:t&&(n=g.disabled),e(a,n);return}r&&null!=X&&(B(E,v.initial),Q.current=!1)},[G,z,B,X,A,T,E]);let ea={orientation:y,tabActivationDirection:O},er=(0,l.a)("div",e,{state:ea,ref:o,props:R,stateAttributesMapping:c});return(0,t.jsx)(u.Provider,{value:W,children:(0,t.jsx)(s.f,{elementsRef:S,children:er})})});function b(e,t){for(let[a,r]of e.entries())if(t===r.value)return a;return null}function x(e,t,a,r){if(null==e||null==t)return"none";let[n,i,l]="horizontal"===a?["left","left","right"]:["top","up","down"],s=b(r,e),o=b(r,t);if(null==s||null==o)return s!==o&&("number"==typeof e||"string"==typeof e)&&typeof e==typeof t?t>e?l:i:"none";let u=s.getBoundingClientRect()[n],d=o.getBoundingClientRect()[n];return d<u?i:d>u?l:"none"}var m=e.i(108868),y=e.i(788015),w=e.i(540886);let k="data-composite-item-active";var j=e.i(395530),R=e.i(838452);let C=a.createContext(void 0);var S=e.i(380025),M=e.i(584446);let N=a.forwardRef(function(e,t){let{className:r,disabled:s=!1,render:u,value:v,id:p,nativeButton:g=!0,style:h,...b}=e,{value:x,getTabPanelIdByValue:N,onValueChange:E,orientation:A,tabActivationDirection:z}=d(),{activateOnFocus:T,registerTabResizeObserverElement:I,tabsListElement:L}=function(){let e=a.useContext(C);if(void 0===e)throw Error((0,o.f)(65));return e}(),{highlightedIndex:D,onHighlightedIndexChange:V}=(0,R.o)(),K=(0,y.f)(p),F=a.useMemo(()=>({disabled:s,id:K,value:v}),[s,K,v]),{compositeProps:P,compositeRef:O,index:_}=(0,j.f)({metadata:F}),H=v===x,q=a.useRef(!1),$=a.useRef(null),B=(0,i.f)(e=>{$.current?.(),$.current=e?I(e):null});(0,n.f)(()=>{if(q.current){q.current=!1;return}if(H&&_>-1&&D!==_){if(null!=L){let e=(0,M.T)((0,m.f)(L));if(e&&(0,M.I)(L,e))return}s||V(_)}},[H,_,D,V,s,L]);let{getButtonProps:U,buttonRef:Z}=(0,w.f)({disabled:s,native:g,focusableWhenDisabled:!0}),J=N(v),W=a.useRef(!1),X=a.useRef(!1);function G(e){E(v,(0,f.j)(S.f.none,e.nativeEvent,void 0,{activationDirection:"none"}))}return(0,l.a)("button",e,{state:{disabled:s,active:H,orientation:A,tabActivationDirection:z},ref:[t,Z,O,B],props:[P,{role:"tab","aria-controls":J,"aria-selected":H,id:K,onClick:function(e){H||s||G(e)},onFocus:function(e){H||s||T&&(!W.current||X.current)&&G(e)},onPointerDown:function(e){if(H||s)return;W.current=!0,X.current=0===e.button;let t=(0,m.f)(e.currentTarget);function a(){W.current=!1,X.current=!1,t.removeEventListener("pointerup",a),t.removeEventListener("pointercancel",a)}t.addEventListener("pointerup",a),t.addEventListener("pointercancel",a)},[k]:H?"":void 0,onKeyDownCapture(){q.current=!0}},b,U],stateAttributesMapping:c})});var E=e.i(144394),A=e.i(474354),z=e.i(137584),T=e.i(223910),I=e.i(673553),L=e.i(180862),L=L,D=L;L.startingStyle,D.endingStyle;let V={...c,...A.f},K=a.forwardRef(function(e,t){let{className:r,value:i,render:s,keepMounted:o=!1,style:u,...c}=e,{value:f,getTabIdByPanelValue:v,orientation:p,tabActivationDirection:g,registerMountedTabPanel:h}=d(),b=(0,y.f)(),{ref:x,index:m}=(0,I.f)(),w=i===f,{mounted:k,transitionStatus:j,setMounted:R}=(0,T.f)(w),C=!k,S=v(i),M=a.useRef(null),N=(0,l.a)("div",e,{state:{hidden:C,orientation:p,tabActivationDirection:g,transitionStatus:j},ref:[t,x,M],props:[{"aria-labelledby":S,hidden:C,id:b,role:"tabpanel",tabIndex:w?0:-1,inert:(0,E.f)(!w),"data-index":m},c],stateAttributesMapping:V});return((0,z.f)({open:w,ref:M,onComplete(){w||R(!1)}}),(0,n.f)(()=>{if(null!=b&&(!C||o))return h(i,b)},[C,o,i,b,h]),o||k)?N:null});var F=e.i(956789),P=e.i(828918),O=e.i(673327),_=e.i(621082),H=e.i(872855);function q(e){let{render:r,className:o,style:u,refs:d=F.v,props:c=F.v,state:f=F.w,stateAttributesMapping:v,highlightedIndex:p,onHighlightedIndexChange:g,orientation:h,grid:b,loopFocus:x,onLoop:m,enableHomeAndEndKeys:y,onMapChange:w,stopEventPropagation:j=!0,rootRef:C,disabledIndices:S,modifierKeys:N,highlightItemOnHover:E=!1,tag:A="div",...z}=e,{props:T,highlightedIndex:I,onHighlightedIndexChange:L,elementsRef:D,onMapChange:V,relayKeyboardEvent:K}=function(e){let{loopFocus:t=!0,orientation:r="both",grid:l,onLoop:s,direction:o,highlightedIndex:u,onHighlightedIndexChange:d,rootRef:c,enableHomeAndEndKeys:f=!1,stopEventPropagation:v,disabledIndices:p,modifierKeys:g=F.v}=e,[h,b]=a.useState(0),x=null!=l,m=a.useRef(null),y=(0,P.A)(m,c),w=a.useRef([]),j=a.useRef(!1),R=a.useRef(null),C=u??h,S=(0,i.f)((e,t=!1)=>{if(R.current=w.current[e]??null,(d??b)(e),t){let t=w.current[e];(0,O.l)(m.current,t,o,r)}}),N=(0,i.f)(e=>{if(0===e.size)return;if(j.current){let e=w.current,t=e.indexOf(R.current);if(-1===t){let t=e[C];!t||(0,_.K)(e,C,p)?S(function(e,t){let a=-1;for(let r=0;r<e.length;r+=1){let n=e[r];if(!(!n||(0,_.K)(e,r,t))){if(n.hasAttribute(k))return r;-1===a&&(a=r)}}return Math.max(a,0)}(e,p)):R.current=t}else t!==C&&S(t);return}j.current=!0;let t=Array.from(e.keys()),a=t.find(e=>e?.hasAttribute(k))??null,n=a?e.get(a)?.index??-1:-1;if(-1!==n)S(n);else if((0,_.K)(t,C,p)){let e=(0,_.e)(t,{disabledIndices:p});(0,_.c)(t,e)||S(e)}(0,O.l)(m.current,a,o,r)});(0,n.f)(()=>{if(null==p||null!=u||!j.current)return;let e=w.current;if((0,_.K)(e,C,p)){let t=(0,_.e)(e,{disabledIndices:p});(0,_.c)(e,t)||S(t)}},[p,u,C,w,S]);let E=(0,i.f)((e,t,a)=>s?s(e,t,a,w):a),A=(0,i.f)(e=>{let a=e.key===O.Z||e.key===O.C;if(!O.J.has(e.key)||!f&&a||function(e,t){for(let a of O.a)if(!t.includes(a)&&e.getModifierState(a))return!0;return!1}(e,g)||!m.current)return;let n="rtl"===o,i=n?O.b:O.q,u=n?O.q:O.b,d="vertical"===r?O.e:i,c="vertical"===r?O.V:u,h=(0,M.Z)(e.nativeEvent);if(null!=h&&(0,O.X)(h)&&!(null==h||h.hasAttribute("disabled")||"true"===h.getAttribute("aria-disabled"))){let t=h.selectionStart,a=h.selectionEnd,r=h.value;if(null==t||e.shiftKey||t!==a||e.key!==c&&t<r.length||e.key!==d&&t>0)return}let b=C,y=(0,_.J)(w,p),k=(0,_._)(w,p);null!=l&&(b=l({disabledIndices:p,elementsRef:w,event:e,highlightedIndex:C,loopFocus:t,maxIndex:k,minIndex:y,onLoop:E,orientation:r,rtl:n}));let j="vertical"!==r&&e.key===i||"horizontal"!==r&&e.key===O.e,R="vertical"!==r&&e.key===u||"horizontal"!==r&&e.key===O.V;f&&(e.key===O.Z?b=y:e.key===O.C&&(b=k)),b===C&&(j||R)&&(t&&b===k&&j?(b=y,s&&(b=s(e,C,b,w))):t&&b===y&&R?(b=k,s&&(b=s(e,C,b,w))):b=(0,_.e)(w.current,{startingIndex:b,decrement:R,disabledIndices:p})),b===C||(0,_.c)(w.current,b)||(v&&e.stopPropagation(),(x||a||j||R)&&e.preventDefault(),S(b,!0),queueMicrotask(()=>{w.current[b]?.focus()}))});return{props:{ref:y,onFocus(e){let t=m.current,a=(0,M.Z)(e.nativeEvent);t&&null!=a&&(0,O.X)(a)&&a.setSelectionRange(0,a.value.length)},onKeyDown:A},highlightedIndex:C,onHighlightedIndexChange:S,elementsRef:w,onMapChange:N,relayKeyboardEvent:A}}({grid:b,loopFocus:x,onLoop:m,orientation:h,highlightedIndex:p,onHighlightedIndexChange:g,rootRef:C,stopEventPropagation:j,enableHomeAndEndKeys:y,direction:(0,H.f)(),disabledIndices:S,modifierKeys:N}),q=(0,l.a)(A,e,{state:f,ref:d,props:[T,...c,z],stateAttributesMapping:v}),$=a.useMemo(()=>({highlightedIndex:I,onHighlightedIndexChange:L,highlightItemOnHover:E,relayKeyboardEvent:K}),[I,L,E,K]);return(0,t.jsx)(R.e.Provider,{value:$,children:(0,t.jsx)(s.f,{elementsRef:D,onMapChange:e=>{w?.(e),V(e)},children:q})})}let $=a.forwardRef(function(e,r){let{activateOnFocus:l=!1,className:s,loopFocus:o=!0,render:u,style:f,...v}=e,{orientation:p,setTabMap:g,tabActivationDirection:h}=d(),[b,x]=a.useState(0),[m,y]=a.useState(null),w=a.useRef(new Set),k=a.useRef(new Set),j=a.useRef(null);(0,n.f)(()=>{if("u"<typeof ResizeObserver)return;let e=new ResizeObserver(()=>{w.current.forEach(e=>{e()})});return j.current=e,m&&e.observe(m),k.current.forEach(t=>{e.observe(t)}),()=>{e.disconnect(),j.current=null}},[m]);let R=(0,i.f)(e=>(w.current.add(e),()=>{w.current.delete(e)})),S=(0,i.f)(e=>(k.current.add(e),j.current?.observe(e),()=>{k.current.delete(e),j.current?.unobserve(e)})),M=a.useMemo(()=>({activateOnFocus:l,registerIndicatorUpdateListener:R,registerTabResizeObserverElement:S,tabsListElement:m}),[l,R,S,m]);return(0,t.jsx)(C.Provider,{value:M,children:(0,t.jsx)(q,{render:u,className:s,style:f,state:{orientation:p,tabActivationDirection:h},refs:[r,y],props:[{"aria-orientation":"vertical"===p?"vertical":void 0,role:"tablist"},v],stateAttributesMapping:c,highlightedIndex:b,enableHomeAndEndKeys:!0,loopFocus:o,orientation:p,onHighlightedIndexChange:x,onMapChange:g,disabledIndices:F.v})})});e.s(["List",0,$,"Panel",0,K,"Root",0,h,"Tab",0,N],69281);var B=e.i(69281),B=B,U=B,Z=B,J=B,W=e.i(225913),X=e.i(975157);let G=(0,W.f)("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-muted",line:"w-full justify-start gap-1 overflow-x-auto bg-transparent p-0 shadow-[inset_0_-1px_0_var(--oc-line)] group-data-horizontal/tabs:h-auto"}},defaultVariants:{variant:"default"}});e.s(["Tabs",0,function({className:e,orientation:a="horizontal",...r}){return(0,t.jsx)(B.Root,{"data-slot":"tabs","data-orientation":a,className:(0,X.f)("group/tabs flex gap-2 data-horizontal:flex-col",e),...r})},"TabsContent",0,function({className:e,...a}){return(0,t.jsx)(J.Panel,{"data-slot":"tabs-content",className:(0,X.f)("flex-1 text-sm outline-none",e),...a})},"TabsList",0,function({className:e,variant:a="default",...r}){return(0,t.jsx)(U.List,{"data-slot":"tabs-list","data-variant":a,className:(0,X.f)(G({variant:a}),e),...r})},"TabsTrigger",0,function({className:e,...a}){return(0,t.jsx)(Z.Tab,{"data-slot":"tabs-trigger",className:(0,X.f)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent","data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100","group-data-[variant=line]/tabs-list:h-auto group-data-[variant=line]/tabs-list:flex-none group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:px-3 group-data-[variant=line]/tabs-list:py-2 group-data-[variant=line]/tabs-list:text-sm group-data-[variant=line]/tabs-list:font-normal group-data-[variant=line]/tabs-list:text-ink-soft group-data-[variant=line]/tabs-list:hover:text-ink group-data-[variant=line]/tabs-list:data-active:font-medium group-data-[variant=line]/tabs-list:data-active:text-ink group-data-[variant=line]/tabs-list:after:bg-brand group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:after:bottom-0","dark:group-data-[variant=line]/tabs-list:text-ink-soft dark:group-data-[variant=line]/tabs-list:hover:text-ink dark:group-data-[variant=line]/tabs-list:data-active:text-ink",e),...a})}],677572)}])})();
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,590246,e=>{let t=(0,e.i(33550).f)("outline","external-link","ExternalLink",[["path",{d:"M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6",key:"svg-0"}],["path",{d:"M11 13l9 -9",key:"svg-1"}],["path",{d:"M15 4h5v5",key:"svg-2"}]]);e.s(["f",0,t],590246)},225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,r=t.f;e.s(["f",0,(e,t)=>n=>{var i;if((null==t?void 0:t.variants)==null)return r(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:l,defaultVariants:s}=t,o=Object.keys(l).map(e=>{let t=null==n?void 0:n[e],r=null==s?void 0:s[e];if(null===t)return null;let i=a(t)||a(r);return l[e][i]}),u=n&&Object.entries(n).reduce((e,t)=>{let[a,r]=t;return void 0===r||(e[a]=r),e},{});return r(e,o,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:a,className:r,...n}=t;return Object.entries(n).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...s,...u}[t]):({...s,...u})[t]===a})?[...e,a,r]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}])},385925,e=>{var t=e.i(843476),a=e.i(590246),r=e.i(271645),n=e.i(54131),i=e.i(428325),l=e.i(39626),s=e.i(975157);function o(e){return"fatal"===e||"error"===e?"error":"warning"===e?"warning":"info"}e.i(684496);var u=e.i(95187);let d=(0,u.createServerReference)("401840a82f537f21e6847d2ad81c713460cf0b2815",u.callServer,void 0,u.findSourceMapURL,"readLastHour"),c={info:"text-code-info",warning:"text-code-warn",error:"text-code-err"};e.s(["LogViewer",0,function({mode:e,apps:u,appId:f,initial:v,vercelUrl:p}){var g,h;let b,x="live"===e,[m,y]=(0,r.useState)(v),w=(0,n.useMask)(),[k,j]=(0,r.useState)(""),[R,C]=(0,r.useState)(""),[S,M]=(0,r.useState)(""),[N,E]=(0,r.useState)(!0),[A,z]=(0,r.useState)(null),[T,I]=(0,r.useState)(0),[L,D]=(0,r.useState)([]),[V,K]=(0,r.useState)(null),[F,P]=(0,r.useTransition)(),O=(0,r.useRef)(!1),_=(0,r.useRef)(null),H=u.find(e=>e.name===k)?.id??null,q=f??H;(0,r.useEffect)(()=>{O.current=F},[F]);let $=(0,r.useCallback)(()=>{P(async()=>{let e=await d(q);e.ok&&e.data?(K(null),D(e.data.problems),y(e.data.lines.slice(-500)),z(Date.parse(e.data.readAt)),I(Date.now())):K(e.ok?"Couldn't read the logs. Try again.":e.error)})},[q]);(0,r.useEffect)(()=>{if(!x)return;let e=setTimeout($,0);return()=>clearTimeout(e)},[x,$]),(0,r.useEffect)(()=>{if(!x||!N)return;let e=setInterval(()=>{"visible"!==document.visibilityState||O.current||$()},15e3);return()=>clearInterval(e)},[x,N,$]),(0,r.useEffect)(()=>{if(!x)return;let e=setInterval(()=>I(Date.now()),5e3);return()=>clearInterval(e)},[x]);let B=(b=(g={app:f?"":k,level:R,text:S}).text.trim().toLowerCase(),m.filter(e=>(!g.app||e.app===g.app)&&(!g.level||o(e.level)===g.level)&&(!b||`${e.app} ${e.text}`.toLowerCase().includes(b))));return(0,r.useEffect)(()=>{let e=_.current;e&&(e.scrollTop=e.scrollHeight)},[m]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-[18px] pb-3 pt-3.5 max-[720px]:px-3.5",children:[!f&&(0,t.jsxs)("select",{className:(0,s.f)(i.S,"w-auto"),"aria-label":"Project",value:k,onChange:e=>j(e.target.value),children:[(0,t.jsx)("option",{value:"",children:"All projects"}),u.map(e=>(0,t.jsx)("option",{value:e.name,children:w("app",e.name)},e.id))]}),(0,t.jsxs)("select",{className:(0,s.f)(i.S,"w-auto"),"aria-label":"Level",value:R,onChange:e=>C(e.target.value),children:[(0,t.jsx)("option",{value:"",children:"All levels"}),x&&(0,t.jsx)("option",{value:"info",children:"Info"}),(0,t.jsx)("option",{value:"warning",children:"Warning"}),(0,t.jsx)("option",{value:"error",children:"Error"})]}),x?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("label",{className:"inline-flex items-center gap-1.5 text-[13px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"accent-brand",checked:N,onChange:e=>E(e.target.checked)})," Auto-refresh every 15s"]}),(0,t.jsx)(i.K,{size:"sm",disabled:F,onClick:$,children:F?"Fetching…":"Fetch now"})]}):(0,t.jsx)("input",{className:(0,s.f)(i.S,"w-[200px] max-[720px]:w-full"),placeholder:"Search messages","aria-label":"Search messages",value:S,onChange:e=>M(e.target.value)}),p&&(0,t.jsxs)("a",{href:p,target:"_blank",rel:"noopener noreferrer",className:(0,i.R)({variant:"ghost",size:"sm"}),children:["Open in Vercel ",(0,t.jsx)(a.f,{size:14,"aria-hidden":!0})]}),(0,t.jsx)("span",{className:"ml-auto flex items-center text-[12.5px] text-ink-soft",children:x?(0,t.jsxs)(t.Fragment,{children:["Vercel request logs · last 1 hour · ",function(e,t){if(null===e)return"reading…";let a=Math.max(0,Math.round((t-e)/1e3));return a<5?"read just now":a<60?`read ${a}s ago`:`read ${Math.floor(a/60)} min ago`}(A,T),(0,t.jsx)(l.Src,{kind:"api"})]}):(0,t.jsxs)(t.Fragment,{children:["Copied by the collector every 5 min · kept 7 days",(0,t.jsx)(l.Src,{kind:"calc"})]})})]}),V&&(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-2 text-[12.5px] text-err max-[720px]:px-3.5",children:V}),L.length>0&&(0,t.jsx)("p",{className:"px-[18px] pb-2 text-[12.5px] text-ink-soft max-[720px]:px-3.5",children:w("text",L.join(" · "))}),(0,t.jsx)("div",{ref:_,tabIndex:0,"aria-label":x?"Request log lines of the last hour":"Stored warning and error log lines",className:"h-[420px] overflow-auto rounded-b-lg bg-code-bg px-4 py-3 font-mono text-[12.5px] leading-[1.7] text-code-text",children:0===B.length?(0,t.jsx)("div",{className:"whitespace-normal text-code-dim",children:(h={live:x,reading:null===A&&!V,level:R}).live?h.reading?"Reading the last hour…":"error"===h.level?"No errors in the last hour. Error means the server failed (a 5xx or a crash). A wrong password or a missing page is not one, and a sign-in the browser sends straight to Supabase or Firebase never reaches these logs.":"warning"===h.level?"No warnings in the last hour.":"No log lines in this window.":"No warnings or errors stored in the last 7 days."}):B.map(e=>(0,t.jsxs)("div",{className:"whitespace-pre",children:[(0,t.jsx)("time",{className:"text-code-dim",children:e.time})," ",(0,t.jsx)("span",{className:c[o(e.level)],children:e.level.toUpperCase().padEnd(7)})," ",(0,t.jsx)("span",{className:"text-code-proj",children:w("app",e.app).padEnd(17)})," ",w("text",e.text)]},e.id))})]})}],385925)},677572,e=>{var t=e.i(843476),a=e.i(271645),r=e.i(951437),n=e.i(146376),i=e.i(667865),l=e.i(552245),s=e.i(53687),o=e.i(733332);let u=a.createContext(void 0);function d(){let e=a.useContext(u);if(void 0===e)throw Error((0,o.f)(64));return e}let c={tabActivationDirection:e=>({"data-activation-direction":e})};var f=e.i(675606),v=e.i(216856),v=v,p=v,g=v;let h=a.forwardRef(function(e,o){let{className:d,defaultValue:h=0,onValueChange:m,orientation:y="horizontal",render:w,value:k,style:j,...R}=e,C=void 0!==e.defaultValue,S=a.useRef([]),[M,N]=a.useState(()=>new Map),[E,A]=(0,r.f)({controlled:k,default:h,name:"Tabs",state:"value"}),z=void 0!==k,[T,I]=a.useState(()=>new Map),L=a.useRef(void 0),D=a.useCallback(e=>b(T,e),[T]),[V,K]=a.useState(()=>({previousValue:E,tabActivationDirection:"none"})),{previousValue:F,tabActivationDirection:P}=V,O=P,_=!1;F!==E&&(O=x(F,E,y,T),_=null!=F&&null!=E&&null==D(E));let H=_?F:E,q=F!==H||P!==O;(0,n.f)(()=>{q&&K({previousValue:H,tabActivationDirection:O})},[H,q,O]);let $=(0,i.f)((e,t)=>{t.activationDirection=x(E,e,y,T),m?.(e,t),t.isCanceled||A(()=>e)}),B=(0,i.f)((e,t)=>{m?.(e,(0,f.j)(t,void 0,void 0,{activationDirection:"none"}))}),U=(0,i.f)((e,t)=>(N(a=>{let r=new Map(a);return r.set(e,t),r}),()=>{N(a=>{if(a.get(e)!==t)return a;let r=new Map(a);return r.delete(e),r})})),Z=a.useCallback(e=>M.get(e),[M]),J=a.useCallback(e=>{for(let t of T.values())if(e===t.value)return t.id},[T]),W=a.useMemo(()=>({getTabElementBySelectedValue:D,getTabIdByPanelValue:J,getTabPanelIdByValue:Z,onValueChange:$,orientation:y,registerMountedTabPanel:U,setTabMap:I,tabActivationDirection:O,value:E}),[D,J,Z,$,y,U,I,O,E]),X=a.useMemo(()=>{for(let e of T.values())if(e.value===E)return e},[T,E]),G=a.useMemo(()=>{for(let e of T.values())if(!e.disabled)return e.value},[T]),Q=a.useRef(!C),Y=a.useRef(h),ee=a.useRef(C),et=a.useRef(!1);(0,n.f)(()=>{if(z)return;function e(e,t){A(()=>e),K({previousValue:e,tabActivationDirection:"none"}),B(e,t),Q.current=!1}if(0===T.size){et.current&&null!==E&&!L.current?.isConnected&&e(null,p.missing);return}et.current=!0,L.current=T.keys().next().value;let t=X?.disabled,a=null==X&&null!==E;if(t||E!==Y.current||(ee.current=!1),ee.current&&t&&E===Y.current)return;let r=Q.current;if(t||a){let a=G??null;if(E===a){Q.current=!1;return}let n=p.missing;r?n=v.initial:t&&(n=g.disabled),e(a,n);return}r&&null!=X&&(B(E,v.initial),Q.current=!1)},[G,z,B,X,A,T,E]);let ea={orientation:y,tabActivationDirection:O},er=(0,l.a)("div",e,{state:ea,ref:o,props:R,stateAttributesMapping:c});return(0,t.jsx)(u.Provider,{value:W,children:(0,t.jsx)(s.f,{elementsRef:S,children:er})})});function b(e,t){for(let[a,r]of e.entries())if(t===r.value)return a;return null}function x(e,t,a,r){if(null==e||null==t)return"none";let[n,i,l]="horizontal"===a?["left","left","right"]:["top","up","down"],s=b(r,e),o=b(r,t);if(null==s||null==o)return s!==o&&("number"==typeof e||"string"==typeof e)&&typeof e==typeof t?t>e?l:i:"none";let u=s.getBoundingClientRect()[n],d=o.getBoundingClientRect()[n];return d<u?i:d>u?l:"none"}var m=e.i(108868),y=e.i(788015),w=e.i(540886);let k="data-composite-item-active";var j=e.i(395530),R=e.i(838452);let C=a.createContext(void 0);var S=e.i(380025),M=e.i(584446);let N=a.forwardRef(function(e,t){let{className:r,disabled:s=!1,render:u,value:v,id:p,nativeButton:g=!0,style:h,...b}=e,{value:x,getTabPanelIdByValue:N,onValueChange:E,orientation:A,tabActivationDirection:z}=d(),{activateOnFocus:T,registerTabResizeObserverElement:I,tabsListElement:L}=function(){let e=a.useContext(C);if(void 0===e)throw Error((0,o.f)(65));return e}(),{highlightedIndex:D,onHighlightedIndexChange:V}=(0,R.o)(),K=(0,y.f)(p),F=a.useMemo(()=>({disabled:s,id:K,value:v}),[s,K,v]),{compositeProps:P,compositeRef:O,index:_}=(0,j.f)({metadata:F}),H=v===x,q=a.useRef(!1),$=a.useRef(null),B=(0,i.f)(e=>{$.current?.(),$.current=e?I(e):null});(0,n.f)(()=>{if(q.current){q.current=!1;return}if(H&&_>-1&&D!==_){if(null!=L){let e=(0,M.T)((0,m.f)(L));if(e&&(0,M.I)(L,e))return}s||V(_)}},[H,_,D,V,s,L]);let{getButtonProps:U,buttonRef:Z}=(0,w.f)({disabled:s,native:g,focusableWhenDisabled:!0}),J=N(v),W=a.useRef(!1),X=a.useRef(!1);function G(e){E(v,(0,f.j)(S.f.none,e.nativeEvent,void 0,{activationDirection:"none"}))}return(0,l.a)("button",e,{state:{disabled:s,active:H,orientation:A,tabActivationDirection:z},ref:[t,Z,O,B],props:[P,{role:"tab","aria-controls":J,"aria-selected":H,id:K,onClick:function(e){H||s||G(e)},onFocus:function(e){H||s||T&&(!W.current||X.current)&&G(e)},onPointerDown:function(e){if(H||s)return;W.current=!0,X.current=0===e.button;let t=(0,m.f)(e.currentTarget);function a(){W.current=!1,X.current=!1,t.removeEventListener("pointerup",a),t.removeEventListener("pointercancel",a)}t.addEventListener("pointerup",a),t.addEventListener("pointercancel",a)},[k]:H?"":void 0,onKeyDownCapture(){q.current=!0}},b,U],stateAttributesMapping:c})});var E=e.i(144394),A=e.i(474354),z=e.i(137584),T=e.i(223910),I=e.i(673553),L=e.i(180862),L=L,D=L;L.startingStyle,D.endingStyle;let V={...c,...A.f},K=a.forwardRef(function(e,t){let{className:r,value:i,render:s,keepMounted:o=!1,style:u,...c}=e,{value:f,getTabIdByPanelValue:v,orientation:p,tabActivationDirection:g,registerMountedTabPanel:h}=d(),b=(0,y.f)(),{ref:x,index:m}=(0,I.f)(),w=i===f,{mounted:k,transitionStatus:j,setMounted:R}=(0,T.f)(w),C=!k,S=v(i),M=a.useRef(null),N=(0,l.a)("div",e,{state:{hidden:C,orientation:p,tabActivationDirection:g,transitionStatus:j},ref:[t,x,M],props:[{"aria-labelledby":S,hidden:C,id:b,role:"tabpanel",tabIndex:w?0:-1,inert:(0,E.f)(!w),"data-index":m},c],stateAttributesMapping:V});return((0,z.f)({open:w,ref:M,onComplete(){w||R(!1)}}),(0,n.f)(()=>{if(null!=b&&(!C||o))return h(i,b)},[C,o,i,b,h]),o||k)?N:null});var F=e.i(956789),P=e.i(828918),O=e.i(673327),_=e.i(621082),H=e.i(872855);function q(e){let{render:r,className:o,style:u,refs:d=F.v,props:c=F.v,state:f=F.w,stateAttributesMapping:v,highlightedIndex:p,onHighlightedIndexChange:g,orientation:h,grid:b,loopFocus:x,onLoop:m,enableHomeAndEndKeys:y,onMapChange:w,stopEventPropagation:j=!0,rootRef:C,disabledIndices:S,modifierKeys:N,highlightItemOnHover:E=!1,tag:A="div",...z}=e,{props:T,highlightedIndex:I,onHighlightedIndexChange:L,elementsRef:D,onMapChange:V,relayKeyboardEvent:K}=function(e){let{loopFocus:t=!0,orientation:r="both",grid:l,onLoop:s,direction:o,highlightedIndex:u,onHighlightedIndexChange:d,rootRef:c,enableHomeAndEndKeys:f=!1,stopEventPropagation:v,disabledIndices:p,modifierKeys:g=F.v}=e,[h,b]=a.useState(0),x=null!=l,m=a.useRef(null),y=(0,P.A)(m,c),w=a.useRef([]),j=a.useRef(!1),R=a.useRef(null),C=u??h,S=(0,i.f)((e,t=!1)=>{if(R.current=w.current[e]??null,(d??b)(e),t){let t=w.current[e];(0,O.l)(m.current,t,o,r)}}),N=(0,i.f)(e=>{if(0===e.size)return;if(j.current){let e=w.current,t=e.indexOf(R.current);if(-1===t){let t=e[C];!t||(0,_.K)(e,C,p)?S(function(e,t){let a=-1;for(let r=0;r<e.length;r+=1){let n=e[r];if(!(!n||(0,_.K)(e,r,t))){if(n.hasAttribute(k))return r;-1===a&&(a=r)}}return Math.max(a,0)}(e,p)):R.current=t}else t!==C&&S(t);return}j.current=!0;let t=Array.from(e.keys()),a=t.find(e=>e?.hasAttribute(k))??null,n=a?e.get(a)?.index??-1:-1;if(-1!==n)S(n);else if((0,_.K)(t,C,p)){let e=(0,_.e)(t,{disabledIndices:p});(0,_.c)(t,e)||S(e)}(0,O.l)(m.current,a,o,r)});(0,n.f)(()=>{if(null==p||null!=u||!j.current)return;let e=w.current;if((0,_.K)(e,C,p)){let t=(0,_.e)(e,{disabledIndices:p});(0,_.c)(e,t)||S(t)}},[p,u,C,w,S]);let E=(0,i.f)((e,t,a)=>s?s(e,t,a,w):a),A=(0,i.f)(e=>{let a=e.key===O.Z||e.key===O.C;if(!O.J.has(e.key)||!f&&a||function(e,t){for(let a of O.a)if(!t.includes(a)&&e.getModifierState(a))return!0;return!1}(e,g)||!m.current)return;let n="rtl"===o,i=n?O.b:O.q,u=n?O.q:O.b,d="vertical"===r?O.e:i,c="vertical"===r?O.V:u,h=(0,M.Z)(e.nativeEvent);if(null!=h&&(0,O.X)(h)&&!(null==h||h.hasAttribute("disabled")||"true"===h.getAttribute("aria-disabled"))){let t=h.selectionStart,a=h.selectionEnd,r=h.value;if(null==t||e.shiftKey||t!==a||e.key!==c&&t<r.length||e.key!==d&&t>0)return}let b=C,y=(0,_.J)(w,p),k=(0,_._)(w,p);null!=l&&(b=l({disabledIndices:p,elementsRef:w,event:e,highlightedIndex:C,loopFocus:t,maxIndex:k,minIndex:y,onLoop:E,orientation:r,rtl:n}));let j="vertical"!==r&&e.key===i||"horizontal"!==r&&e.key===O.e,R="vertical"!==r&&e.key===u||"horizontal"!==r&&e.key===O.V;f&&(e.key===O.Z?b=y:e.key===O.C&&(b=k)),b===C&&(j||R)&&(t&&b===k&&j?(b=y,s&&(b=s(e,C,b,w))):t&&b===y&&R?(b=k,s&&(b=s(e,C,b,w))):b=(0,_.e)(w.current,{startingIndex:b,decrement:R,disabledIndices:p})),b===C||(0,_.c)(w.current,b)||(v&&e.stopPropagation(),(x||a||j||R)&&e.preventDefault(),S(b,!0),queueMicrotask(()=>{w.current[b]?.focus()}))});return{props:{ref:y,onFocus(e){let t=m.current,a=(0,M.Z)(e.nativeEvent);t&&null!=a&&(0,O.X)(a)&&a.setSelectionRange(0,a.value.length)},onKeyDown:A},highlightedIndex:C,onHighlightedIndexChange:S,elementsRef:w,onMapChange:N,relayKeyboardEvent:A}}({grid:b,loopFocus:x,onLoop:m,orientation:h,highlightedIndex:p,onHighlightedIndexChange:g,rootRef:C,stopEventPropagation:j,enableHomeAndEndKeys:y,direction:(0,H.f)(),disabledIndices:S,modifierKeys:N}),q=(0,l.a)(A,e,{state:f,ref:d,props:[T,...c,z],stateAttributesMapping:v}),$=a.useMemo(()=>({highlightedIndex:I,onHighlightedIndexChange:L,highlightItemOnHover:E,relayKeyboardEvent:K}),[I,L,E,K]);return(0,t.jsx)(R.e.Provider,{value:$,children:(0,t.jsx)(s.f,{elementsRef:D,onMapChange:e=>{w?.(e),V(e)},children:q})})}let $=a.forwardRef(function(e,r){let{activateOnFocus:l=!1,className:s,loopFocus:o=!0,render:u,style:f,...v}=e,{orientation:p,setTabMap:g,tabActivationDirection:h}=d(),[b,x]=a.useState(0),[m,y]=a.useState(null),w=a.useRef(new Set),k=a.useRef(new Set),j=a.useRef(null);(0,n.f)(()=>{if("u"<typeof ResizeObserver)return;let e=new ResizeObserver(()=>{w.current.forEach(e=>{e()})});return j.current=e,m&&e.observe(m),k.current.forEach(t=>{e.observe(t)}),()=>{e.disconnect(),j.current=null}},[m]);let R=(0,i.f)(e=>(w.current.add(e),()=>{w.current.delete(e)})),S=(0,i.f)(e=>(k.current.add(e),j.current?.observe(e),()=>{k.current.delete(e),j.current?.unobserve(e)})),M=a.useMemo(()=>({activateOnFocus:l,registerIndicatorUpdateListener:R,registerTabResizeObserverElement:S,tabsListElement:m}),[l,R,S,m]);return(0,t.jsx)(C.Provider,{value:M,children:(0,t.jsx)(q,{render:u,className:s,style:f,state:{orientation:p,tabActivationDirection:h},refs:[r,y],props:[{"aria-orientation":"vertical"===p?"vertical":void 0,role:"tablist"},v],stateAttributesMapping:c,highlightedIndex:b,enableHomeAndEndKeys:!0,loopFocus:o,orientation:p,onHighlightedIndexChange:x,onMapChange:g,disabledIndices:F.v})})});e.s(["List",0,$,"Panel",0,K,"Root",0,h,"Tab",0,N],69281);var B=e.i(69281),B=B,U=B,Z=B,J=B,W=e.i(225913),X=e.i(975157);let G=(0,W.f)("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-muted",line:"w-full justify-start gap-1 overflow-x-auto bg-transparent p-0 shadow-[inset_0_-1px_0_var(--oc-line)] group-data-horizontal/tabs:h-auto"}},defaultVariants:{variant:"default"}});e.s(["Tabs",0,function({className:e,orientation:a="horizontal",...r}){return(0,t.jsx)(B.Root,{"data-slot":"tabs","data-orientation":a,className:(0,X.f)("group/tabs flex gap-2 data-horizontal:flex-col",e),...r})},"TabsContent",0,function({className:e,...a}){return(0,t.jsx)(J.Panel,{"data-slot":"tabs-content",className:(0,X.f)("flex-1 text-sm outline-none",e),...a})},"TabsList",0,function({className:e,variant:a="default",...r}){return(0,t.jsx)(U.List,{"data-slot":"tabs-list","data-variant":a,className:(0,X.f)(G({variant:a}),e),...r})},"TabsTrigger",0,function({className:e,...a}){return(0,t.jsx)(Z.Tab,{"data-slot":"tabs-trigger",className:(0,X.f)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent","data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100","group-data-[variant=line]/tabs-list:h-auto group-data-[variant=line]/tabs-list:flex-none group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:px-3 group-data-[variant=line]/tabs-list:py-2 group-data-[variant=line]/tabs-list:text-sm group-data-[variant=line]/tabs-list:font-normal group-data-[variant=line]/tabs-list:text-ink-soft group-data-[variant=line]/tabs-list:hover:text-ink group-data-[variant=line]/tabs-list:data-active:font-medium group-data-[variant=line]/tabs-list:data-active:text-ink group-data-[variant=line]/tabs-list:after:bg-brand group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:after:bottom-0","dark:group-data-[variant=line]/tabs-list:text-ink-soft dark:group-data-[variant=line]/tabs-list:hover:text-ink dark:group-data-[variant=line]/tabs-list:data-active:text-ink",e),...a})}],677572)}])})();
@@ -1 +1 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,590246,e=>{let a=(0,e.i(33550).f)("outline","external-link","ExternalLink",[["path",{d:"M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6",key:"svg-0"}],["path",{d:"M11 13l9 -9",key:"svg-1"}],["path",{d:"M15 4h5v5",key:"svg-2"}]]);e.s(["f",0,a],590246)},225913,e=>{var a=e.i(207670);let t=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,r=a.f;e.s(["f",0,(e,a)=>s=>{var n;if((null==a?void 0:a.variants)==null)return r(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:i,defaultVariants:l}=a,o=Object.keys(i).map(e=>{let a=null==s?void 0:s[e],r=null==l?void 0:l[e];if(null===a)return null;let n=t(a)||t(r);return i[e][n]}),d=s&&Object.entries(s).reduce((e,a)=>{let[t,r]=a;return void 0===r||(e[t]=r),e},{});return r(e,o,null==a||null==(n=a.compoundVariants)?void 0:n.reduce((e,a)=>{let{class:t,className:r,...s}=a;return Object.entries(s).every(e=>{let[a,t]=e;return Array.isArray(t)?t.includes({...l,...d}[a]):({...l,...d})[a]===t})?[...e,t,r]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}])},26681,e=>{var a=e.i(843476),t=e.i(11409),r=e.i(271645),s=e.i(846696),n=e.i(46200),i=e.i(428325),l=e.i(177106),o=e.i(95187);let d=(0,o.createServerReference)("40160fbc6bd28f85d8ad4db2a810d1f964296c10a8",o.callServer,void 0,o.findSourceMapURL,"makeDefaultProvider"),c=(0,o.createServerReference)("40b2944b4469271bef926e2a21dda43b220853eeb5",o.callServer,void 0,o.findSourceMapURL,"removeProvider"),u=(0,o.createServerReference)("608cf112a63de668514431e3b09311812f10d51778",o.callServer,void 0,o.findSourceMapURL,"setProviderEnabled"),p=(0,o.createServerReference)("408b5f766ceff761205ad89ed7d833445eacb61e6e",o.callServer,void 0,o.findSourceMapURL,"testProvider");function f(e){e.ok?s.c.success(e.message??"Done."):s.c.error(e.error??"Something went wrong.")}e.s(["DefaultProviderSelect",0,function({options:e,current:t}){let[s,n]=(0,r.useTransition)(),[l,o]=(0,r.useState)(t??"");return 0===e.length?(0,a.jsx)("span",{className:"text-ink-faint",children:"No provider connected"}):(0,a.jsxs)("select",{"aria-label":"Default provider",className:`${i.S} w-auto`,value:l,disabled:s,onChange:e=>{let a=e.target.value;o(a),a&&n(async()=>f(await d(a)))},children:[!t&&(0,a.jsx)("option",{value:"",children:"None yet"}),e.map(e=>(0,a.jsx)("option",{value:e.id,children:e.name},e.id))]})},"EnabledSwitch",0,function({id:e,on:t,name:s}){let[n,i]=(0,r.useTransition)(),[l,o]=(0,r.useState)(t);return(0,a.jsxs)("label",{className:"relative inline-flex cursor-pointer items-center",title:`${s}: ${l?"on":"off"}`,children:[(0,a.jsx)("input",{type:"checkbox",role:"switch",className:"peer sr-only",checked:l,disabled:n,"aria-label":`${s} enabled`,onChange:a=>{let t=a.target.checked;o(t),i(async()=>{let a=await u(e,t);a.ok||o(!t),f(a)})}}),(0,a.jsx)("span",{className:"h-5 w-9 rounded-full bg-line-strong transition-colors peer-checked:bg-brand peer-focus-visible:ring-2 peer-focus-visible:ring-brand/40 peer-disabled:opacity-60"}),(0,a.jsx)("span",{className:"absolute left-0.5 top-0.5 size-4 rounded-full bg-surface transition-transform peer-checked:translate-x-4"})]})},"ProviderMenu",0,function({id:e,name:t,isDefault:s}){let[i,o]=(0,r.useState)(!1);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.RowMenu,{label:`Actions for ${t}`,items:[...s?[]:[{label:"Make default",onSelect:async()=>f(await d(e))},"---"],{label:"Remove",danger:!0,onSelect:()=>o(!0)}]}),(0,a.jsx)(n.f,{open:i,onOpenChange:o,title:`Remove ${t}?`,body:"Its encrypted key is deleted. Calls for its models answer 503 until you connect a provider again. Nothing changes at the provider.",cta:"Remove",danger:!0,onConfirm:async()=>{let a=await c(e);return{ok:a.ok,message:(a.ok?a.message:a.error)??""}}})]})},"TestProviderButton",0,function({id:e}){let[s,n]=(0,r.useTransition)();return(0,a.jsxs)(i.K,{size:"sm",disabled:s,onClick:()=>n(async()=>f(await p(e))),children:[(0,a.jsx)(t.f,{size:15,"aria-hidden":!0}),s?"Testing…":"Test"]})}],26681)},362512,e=>{var a=e.i(843476),t=e.i(590246),r=e.i(271645),s=e.i(846696),n=e.i(428325),i=e.i(776639),l=e.i(95187);let o=(0,l.createServerReference)("607bafbb50d34a3362854efb28ebcc5c3411be0886",l.callServer,void 0,l.findSourceMapURL,"connectProvider"),d=(0,l.createServerReference)("603dd4d46f3fc97d0ad033573b060151871354eff3",l.callServer,void 0,l.findSourceMapURL,"replaceProviderKey");var c=e.i(944971);e.i(300975);let u={gemini:{name:"Google Gemini",baseUrl:()=>"https://generativelanguage.googleapis.com/v1beta/openai",secretFields:["apiKey"],modelsPath:"/models",listModels:"gemini-native",quotaFrom:"own",auth:"x-goog-api-key",streamUsage:!0,advanced:!1,keyLabel:"AI Studio API key",where:{url:"https://aistudio.google.com/apikey",text:"Create a key (it starts with AQ. or AIza). If Google says the project is restricted or denied, use a key from another Google project or account."}},cloudflare:{name:"Cloudflare Workers AI",baseUrl:e=>`https://api.cloudflare.com/client/v4/accounts/${e.accountId??""}/ai/v1`,secretFields:["accountId","apiKey"],modelsPath:"/models/search",listModels:"cloudflare-search",quotaFrom:"own",auth:"bearer",streamUsage:!0,advanced:!1,keyLabel:"API token",where:{url:"https://dash.cloudflare.com/profile/api-tokens",text:"Create a token with Workers AI: Read. The account ID is on the Workers AI page. Only Google's Gemma models are offered."}},custom:{name:"Custom OpenAI-compatible",baseUrl:e=>(e.baseUrl??"").replace(/\/+$/,""),secretFields:["baseUrl","apiKey"],modelsPath:"/models",listModels:"openai",quotaFrom:"headers",auth:"bearer",streamUsage:!0,advanced:!0,keyLabel:"API key",where:{url:null,text:"Any HTTPS server that speaks the OpenAI chat completions API and answers GET /models. Every model the server lists is offered; switch any off on Models."}}};c.X.localUrl;var p=e.i(33550);let f=(0,p.f)("outline","brand-google","BrandGoogle",[["path",{d:"M20.945 11a9 9 0 1 1 -3.284 -5.997l-2.655 2.392a5.5 5.5 0 1 0 2.119 6.605h-4.125v-3h7.945",key:"svg-0"}]]);var m=e.i(38156);let x=(0,p.f)("outline","plug","Plug",[["path",{d:"M9.785 6l8.215 8.215l-2.054 2.054a5.81 5.81 0 1 1 -8.215 -8.215l2.054 -2.054",key:"svg-0"}],["path",{d:"M4 20l3.5 -3.5",key:"svg-1"}],["path",{d:"M15 4l-3.5 3.5",key:"svg-2"}],["path",{d:"M20 9l-3.5 3.5",key:"svg-3"}]]),h={gemini:f,cloudflare:m.f,custom:x},g={gemini:"AQ.… or AIza…",cloudflare:"Paste the API token",custom:"Paste the API key"};e.s(["ProviderDialog",0,function({kind:e,replace:l,primary:p,label:f,selfhost:m=!1}){let x=u[e],v=h[e],[b,k]=(0,r.useState)(!1),[y,j]=(0,r.useTransition)(),[N,w]=(0,r.useState)(""),[S,C]=(0,r.useState)(""),[z,R]=(0,r.useState)(""),[M,U]=(0,r.useState)(l?.baseUrl??""),[P,A]=(0,r.useState)(!1),[I,T]=(0,r.useState)({}),[O,$]=(0,r.useState)(null),[K,L]=(0,r.useState)(null);function _(e){k(e),e||(L(null),w(""),C(""),R(""),U(l?.baseUrl??""),A(!1),T({}),$(null))}let F=l?`Replace key \xb7 ${l.name}`:`Connect ${x.name}`;return(0,a.jsxs)(i.N,{open:b,onOpenChange:_,children:[(0,a.jsx)(i.a,{className:(0,n.R)({size:"sm",variant:p?"primary":"secondary"}),children:f??(l?"Replace":"Connect")}),(0,a.jsxs)(i.d,{className:"max-w-[560px] gap-0 p-0 sm:max-w-[560px]",children:[(0,a.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,a.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,a.jsx)(v,{size:19})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(i.F,{className:"text-base",children:F}),(0,a.jsxs)(i.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:[x.keyLabel,"cloudflare"===e?" and account ID":""]})]})]}),(0,a.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,a.jsxs)("p",{className:"mb-3 text-[13px] text-ink-soft",children:[x.where.url&&(0,a.jsxs)(a.Fragment,{children:["Open ",(0,a.jsxs)("a",{href:x.where.url,target:"_blank",rel:"noopener noreferrer",children:[x.where.url.replace("https://","")," ",(0,a.jsx)(t.f,{size:12,className:"inline","aria-hidden":!0})]}),". "]}),x.where.text," Watchbell lists the models and makes one tiny generation call before saving."]}),"custom"===e&&!l&&(0,a.jsx)(n.O,{id:"p-name",label:"Name",help:"Used in model ids: name/model.",error:I.name,children:(0,a.jsx)("input",{id:"p-name",value:z,onChange:e=>R(e.target.value),placeholder:"my-llm",className:n.S,autoComplete:"off"})}),"custom"===e?(0,a.jsx)(n.O,{id:"p-base",label:"Base URL",help:m?c.X.baseUrlHelp.selfhost:c.X.baseUrlHelp.cloud,error:I.baseUrl,children:(0,a.jsx)("input",{id:"p-base",value:M,onChange:e=>U(e.target.value),placeholder:"https://example.com/v1",className:`${n.S} font-mono text-[12.5px]`,autoComplete:"off"})}):(0,a.jsxs)("div",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,a.jsx)("span",{className:"text-[13px] font-medium",children:"Base URL"}),(0,a.jsx)("span",{className:"break-all font-mono text-[12.5px] text-ink-faint",children:"cloudflare"===e?x.baseUrl({apiKey:"",accountId:"{account_id}"}):x.baseUrl({apiKey:""})})]}),"cloudflare"===e&&(0,a.jsx)(n.O,{id:"p-acct",label:"Account ID",error:I.accountId,children:(0,a.jsx)("input",{id:"p-acct",value:S,onChange:e=>C(e.target.value),placeholder:"32 hex characters",className:`${n.S} font-mono`,autoComplete:"off",spellCheck:!1})}),(0,a.jsx)(n.O,{id:"p-key",label:x.keyLabel,help:"custom"===e&&m?c.X.keyHelp.selfhostCustom:c.X.keyHelp.cloud,error:I.apiKey,children:(0,a.jsx)("input",{id:"p-key",type:"password",value:N,onChange:e=>w(e.target.value),placeholder:g[e],className:`${n.S} font-mono`,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,"data-gramm":"false"})}),!l&&(0,a.jsxs)("label",{className:"mb-3.5 flex items-center gap-2 text-[13px]",children:[(0,a.jsx)("input",{type:"checkbox",checked:P,onChange:e=>A(e.target.checked)})," Make this the default provider"]}),O&&(0,a.jsx)("div",{className:"mb-3.5 rounded-lg bg-err-soft px-3 py-2.5 text-[13px]",role:"alert",children:O}),K&&(0,a.jsxs)("div",{className:"mb-3.5",role:"status",children:[(0,a.jsxs)("p",{className:"m-0 mb-1.5 text-[13px] font-medium",children:["Found ",K.length," model",1===K.length?"":"s",":"]}),(0,a.jsx)("ul",{className:"m-0 flex max-h-40 list-none flex-wrap gap-1.5 overflow-y-auto p-0",children:K.map(e=>(0,a.jsx)("li",{className:"rounded border border-line bg-surface-2 px-1.5 font-mono text-[12px]",children:e},e))}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[12.5px] text-ink-faint",children:"Use Scan all under Models to see which of them really answer."})]})]}),(0,a.jsx)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:K?(0,a.jsx)(n.K,{variant:"primary",onClick:()=>_(!1),children:"Done"}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.K,{onClick:()=>_(!1),disabled:y,children:"Cancel"}),(0,a.jsx)(n.K,{variant:"primary",onClick:function(){j(async()=>{let a={apiKey:N,..."cloudflare"===e?{accountId:S}:{},..."custom"===e?{baseUrl:M,...l?{}:{name:z}}:{},makeDefault:P},t=l?await d(l.id,a):await o(e,a);if(T(t.ok?{}:t.fieldErrors??{}),$(t.ok||t.fieldErrors?null:t.error),t.ok){s.c.success(t.message??`${x.name} connected.`);let a=t.data?.models??[];"custom"===e&&a.length?L(a):_(!1)}})},disabled:y,children:y?"Testing…":l?"Test and replace":"Test and connect"})]})})]})]})}],362512)},46200,e=>{var a=e.i(843476),t=e.i(146874),r=e.i(239692),s=e.i(271645),n=e.i(846696),i=e.i(428325),l=e.i(500443),o=e.i(776639);e.s(["f",0,function({trigger:e,open:d,onOpenChange:c,title:u,body:p,cta:f,danger:m=!1,onConfirm:x}){let[h,g]=(0,s.useState)(!1),v=d??h,[b,k]=(0,s.useTransition)();function y(e){void 0===d&&g(e),c?.(e)}return(0,l.useHoldRefresh)(v),(0,a.jsxs)(o.N,{open:v,onOpenChange:e=>{b||y(e)},children:[void 0!==e&&((0,s.isValidElement)(e)?(0,a.jsx)(o.a,{render:e}):(0,a.jsx)(o.a,{children:e})),(0,a.jsxs)(o.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,a.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,a.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${m?"text-err":"text-ink-soft"}`,children:m?(0,a.jsx)(t.f,{size:19}):(0,a.jsx)(r.f,{size:19})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(o.F,{className:"text-base",children:u}),(0,a.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:p})]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,a.jsx)(i.K,{onClick:()=>y(!1),disabled:b,children:"Keep as is"}),(0,a.jsx)(i.K,{variant:m?"danger":"primary",onClick:function(){k(async()=>{try{let e=await x();e.ok?(n.c.success(e.message),y(!1)):n.c.error(e.message)}catch{n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:b,children:b?"Working…":f})]})]})]})}])},177106,e=>{var a=e.i(843476),t=e.i(33550);let r=(0,t.f)("outline","chevron-down","ChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),s=(0,t.f)("outline","dots-vertical","DotsVertical",[["path",{d:"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]);var n=e.i(271645),i=e.i(428325),l=e.i(500443),o=e.i(755146);e.s(["RowMenu",0,function({items:e,button:t=!1,label:d="Actions"}){let[c,u]=(0,n.useState)(!1);return(0,l.useHoldRefresh)(c),(0,a.jsxs)(o.G,{open:c,onOpenChange:u,children:[t?(0,a.jsxs)(o.X,{className:(0,i.R)(),children:[d," ",(0,a.jsx)(r,{size:16,"aria-hidden":!0})]}):(0,a.jsx)(o.X,{"aria-label":d,className:"rounded-[5px] px-1.5 py-1 text-ink-faint hover:bg-sunken hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:(0,a.jsx)(s,{size:17})}),(0,a.jsx)(o.L,{align:"end",className:"min-w-[200px] rounded-[8px] border border-line-strong bg-surface p-1 shadow-[0_8px_24px_rgba(0,0,0,.14)] ring-0",children:e.map((e,t)=>"---"===e?(0,a.jsx)(o.U,{},`sep-${t}`):(0,a.jsxs)(o.r,{disabled:void 0!==e.disabled,variant:e.danger?"destructive":"default",className:"rounded-[5px] px-2.5 py-[7px]",onClick:()=>{e.href?window.open(e.href,"_blank","noopener,noreferrer"):e.onSelect?.()},children:[e.label,void 0!==e.disabled&&(0,a.jsx)("span",{className:"ml-auto pl-3 text-[11px] text-ink-faint",children:e.disabled})]},e.label))})]})}],177106)},776639,998218,152744,e=>{var a=e.i(843476),t=e.i(526323),r=e.i(828376);e.s(["f",0,r],998218);var r=r,s=e.i(209977),n=e.i(921637),i=e.i(141708),l=e.i(593480),o=e.i(309169),d=r;e.s(["f",0,d],152744);var d=r,c=e.i(975157),u=e.i(271645),p=e.i(540886),f=e.i(552245);let m=u.forwardRef(function(e,a){let{render:t,className:r,disabled:s=!1,focusableWhenDisabled:n=!1,nativeButton:i=!0,style:l,...o}=e,{getButtonProps:d,buttonRef:c}=(0,p.f)({disabled:s,focusableWhenDisabled:n,native:i});return(0,f.a)("button",e,{state:{disabled:s},ref:[a,c],props:[o,d]})}),x=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function h({className:e,variant:t="default",size:r="default",...s}){return(0,a.jsx)(m,{"data-slot":"button",className:(0,c.f)(x({variant:t,size:r,className:e})),...s})}var g=e.i(456420);let v={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};v.node;let b=(0,g.f)(v);function k({...e}){return(0,a.jsx)(s.f.Portal,{"data-slot":"dialog-portal",...e})}function y({className:e,...t}){return(0,a.jsx)(i.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...t})}e.s(["N",0,function({...e}){return(0,a.jsx)(t.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:t,showCloseButton:r=!0,...s}){return(0,a.jsxs)(k,{children:[(0,a.jsx)(y,{}),(0,a.jsxs)(l.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...s,children:[t,r&&(0,a.jsxs)(n.f.Close,{"data-slot":"dialog-close",render:(0,a.jsx)(h,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,a.jsx)(b,{}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...t}){return(0,a.jsx)(d.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...t})},"F",0,function({className:e,...t}){return(0,a.jsx)(o.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...t})},"a",0,function({...e}){return(0,a.jsx)(r.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)}])})();
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,590246,e=>{let a=(0,e.i(33550).f)("outline","external-link","ExternalLink",[["path",{d:"M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6",key:"svg-0"}],["path",{d:"M11 13l9 -9",key:"svg-1"}],["path",{d:"M15 4h5v5",key:"svg-2"}]]);e.s(["f",0,a],590246)},225913,e=>{var a=e.i(207670);let t=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,r=a.f;e.s(["f",0,(e,a)=>s=>{var n;if((null==a?void 0:a.variants)==null)return r(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:i,defaultVariants:l}=a,o=Object.keys(i).map(e=>{let a=null==s?void 0:s[e],r=null==l?void 0:l[e];if(null===a)return null;let n=t(a)||t(r);return i[e][n]}),d=s&&Object.entries(s).reduce((e,a)=>{let[t,r]=a;return void 0===r||(e[t]=r),e},{});return r(e,o,null==a||null==(n=a.compoundVariants)?void 0:n.reduce((e,a)=>{let{class:t,className:r,...s}=a;return Object.entries(s).every(e=>{let[a,t]=e;return Array.isArray(t)?t.includes({...l,...d}[a]):({...l,...d})[a]===t})?[...e,t,r]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}])},26681,e=>{var a=e.i(843476),t=e.i(11409),r=e.i(271645),s=e.i(846696),n=e.i(46200),i=e.i(428325),l=e.i(177106),o=e.i(95187);let d=(0,o.createServerReference)("40e5a22354666127135f04dc58c683b8ecff387bf6",o.callServer,void 0,o.findSourceMapURL,"makeDefaultProvider"),c=(0,o.createServerReference)("4024458c85d6a8c2cdcf4540b2c69ca712b347e0ce",o.callServer,void 0,o.findSourceMapURL,"removeProvider"),u=(0,o.createServerReference)("60e9051402a1065ed1ed82ed6eb813d60738c9bfbf",o.callServer,void 0,o.findSourceMapURL,"setProviderEnabled"),p=(0,o.createServerReference)("400a9644cc9417043ef40b44757ebef0b2e9cd51d2",o.callServer,void 0,o.findSourceMapURL,"testProvider");function f(e){e.ok?s.c.success(e.message??"Done."):s.c.error(e.error??"Something went wrong.")}e.s(["DefaultProviderSelect",0,function({options:e,current:t}){let[s,n]=(0,r.useTransition)(),[l,o]=(0,r.useState)(t??"");return 0===e.length?(0,a.jsx)("span",{className:"text-ink-faint",children:"No provider connected"}):(0,a.jsxs)("select",{"aria-label":"Default provider",className:`${i.S} w-auto`,value:l,disabled:s,onChange:e=>{let a=e.target.value;o(a),a&&n(async()=>f(await d(a)))},children:[!t&&(0,a.jsx)("option",{value:"",children:"None yet"}),e.map(e=>(0,a.jsx)("option",{value:e.id,children:e.name},e.id))]})},"EnabledSwitch",0,function({id:e,on:t,name:s}){let[n,i]=(0,r.useTransition)(),[l,o]=(0,r.useState)(t);return(0,a.jsxs)("label",{className:"relative inline-flex cursor-pointer items-center",title:`${s}: ${l?"on":"off"}`,children:[(0,a.jsx)("input",{type:"checkbox",role:"switch",className:"peer sr-only",checked:l,disabled:n,"aria-label":`${s} enabled`,onChange:a=>{let t=a.target.checked;o(t),i(async()=>{let a=await u(e,t);a.ok||o(!t),f(a)})}}),(0,a.jsx)("span",{className:"h-5 w-9 rounded-full bg-line-strong transition-colors peer-checked:bg-brand peer-focus-visible:ring-2 peer-focus-visible:ring-brand/40 peer-disabled:opacity-60"}),(0,a.jsx)("span",{className:"absolute left-0.5 top-0.5 size-4 rounded-full bg-surface transition-transform peer-checked:translate-x-4"})]})},"ProviderMenu",0,function({id:e,name:t,isDefault:s}){let[i,o]=(0,r.useState)(!1);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.RowMenu,{label:`Actions for ${t}`,items:[...s?[]:[{label:"Make default",onSelect:async()=>f(await d(e))},"---"],{label:"Remove",danger:!0,onSelect:()=>o(!0)}]}),(0,a.jsx)(n.f,{open:i,onOpenChange:o,title:`Remove ${t}?`,body:"Its encrypted key is deleted. Calls for its models answer 503 until you connect a provider again. Nothing changes at the provider.",cta:"Remove",danger:!0,onConfirm:async()=>{let a=await c(e);return{ok:a.ok,message:(a.ok?a.message:a.error)??""}}})]})},"TestProviderButton",0,function({id:e}){let[s,n]=(0,r.useTransition)();return(0,a.jsxs)(i.K,{size:"sm",disabled:s,onClick:()=>n(async()=>f(await p(e))),children:[(0,a.jsx)(t.f,{size:15,"aria-hidden":!0}),s?"Testing…":"Test"]})}],26681)},362512,e=>{var a=e.i(843476),t=e.i(590246),r=e.i(271645),s=e.i(846696),n=e.i(428325),i=e.i(776639),l=e.i(95187);let o=(0,l.createServerReference)("6076afb0d3f4febf498116329794e6a4ab25da8b9d",l.callServer,void 0,l.findSourceMapURL,"connectProvider"),d=(0,l.createServerReference)("6006064d65025a540f4d57a7e33f8b6b5d152b1bdb",l.callServer,void 0,l.findSourceMapURL,"replaceProviderKey");var c=e.i(944971);e.i(300975);let u={gemini:{name:"Google Gemini",baseUrl:()=>"https://generativelanguage.googleapis.com/v1beta/openai",secretFields:["apiKey"],modelsPath:"/models",listModels:"gemini-native",quotaFrom:"own",auth:"x-goog-api-key",streamUsage:!0,advanced:!1,keyLabel:"AI Studio API key",where:{url:"https://aistudio.google.com/apikey",text:"Create a key (it starts with AQ. or AIza). If Google says the project is restricted or denied, use a key from another Google project or account."}},cloudflare:{name:"Cloudflare Workers AI",baseUrl:e=>`https://api.cloudflare.com/client/v4/accounts/${e.accountId??""}/ai/v1`,secretFields:["accountId","apiKey"],modelsPath:"/models/search",listModels:"cloudflare-search",quotaFrom:"own",auth:"bearer",streamUsage:!0,advanced:!1,keyLabel:"API token",where:{url:"https://dash.cloudflare.com/profile/api-tokens",text:"Create a token with Workers AI: Read. The account ID is on the Workers AI page. Only Google's Gemma models are offered."}},custom:{name:"Custom OpenAI-compatible",baseUrl:e=>(e.baseUrl??"").replace(/\/+$/,""),secretFields:["baseUrl","apiKey"],modelsPath:"/models",listModels:"openai",quotaFrom:"headers",auth:"bearer",streamUsage:!0,advanced:!0,keyLabel:"API key",where:{url:null,text:"Any HTTPS server that speaks the OpenAI chat completions API and answers GET /models. Every model the server lists is offered; switch any off on Models."}}};c.X.localUrl;var p=e.i(33550);let f=(0,p.f)("outline","brand-google","BrandGoogle",[["path",{d:"M20.945 11a9 9 0 1 1 -3.284 -5.997l-2.655 2.392a5.5 5.5 0 1 0 2.119 6.605h-4.125v-3h7.945",key:"svg-0"}]]);var m=e.i(38156);let x=(0,p.f)("outline","plug","Plug",[["path",{d:"M9.785 6l8.215 8.215l-2.054 2.054a5.81 5.81 0 1 1 -8.215 -8.215l2.054 -2.054",key:"svg-0"}],["path",{d:"M4 20l3.5 -3.5",key:"svg-1"}],["path",{d:"M15 4l-3.5 3.5",key:"svg-2"}],["path",{d:"M20 9l-3.5 3.5",key:"svg-3"}]]),h={gemini:f,cloudflare:m.f,custom:x},g={gemini:"AQ.… or AIza…",cloudflare:"Paste the API token",custom:"Paste the API key"};e.s(["ProviderDialog",0,function({kind:e,replace:l,primary:p,label:f,selfhost:m=!1}){let x=u[e],v=h[e],[b,k]=(0,r.useState)(!1),[y,j]=(0,r.useTransition)(),[N,w]=(0,r.useState)(""),[S,C]=(0,r.useState)(""),[z,R]=(0,r.useState)(""),[M,U]=(0,r.useState)(l?.baseUrl??""),[P,A]=(0,r.useState)(!1),[I,T]=(0,r.useState)({}),[O,$]=(0,r.useState)(null),[K,L]=(0,r.useState)(null);function _(e){k(e),e||(L(null),w(""),C(""),R(""),U(l?.baseUrl??""),A(!1),T({}),$(null))}let F=l?`Replace key \xb7 ${l.name}`:`Connect ${x.name}`;return(0,a.jsxs)(i.N,{open:b,onOpenChange:_,children:[(0,a.jsx)(i.a,{className:(0,n.R)({size:"sm",variant:p?"primary":"secondary"}),children:f??(l?"Replace":"Connect")}),(0,a.jsxs)(i.d,{className:"max-w-[560px] gap-0 p-0 sm:max-w-[560px]",children:[(0,a.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,a.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,a.jsx)(v,{size:19})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(i.F,{className:"text-base",children:F}),(0,a.jsxs)(i.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:[x.keyLabel,"cloudflare"===e?" and account ID":""]})]})]}),(0,a.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,a.jsxs)("p",{className:"mb-3 text-[13px] text-ink-soft",children:[x.where.url&&(0,a.jsxs)(a.Fragment,{children:["Open ",(0,a.jsxs)("a",{href:x.where.url,target:"_blank",rel:"noopener noreferrer",children:[x.where.url.replace("https://","")," ",(0,a.jsx)(t.f,{size:12,className:"inline","aria-hidden":!0})]}),". "]}),x.where.text," Watchbell lists the models and makes one tiny generation call before saving."]}),"custom"===e&&!l&&(0,a.jsx)(n.O,{id:"p-name",label:"Name",help:"Used in model ids: name/model.",error:I.name,children:(0,a.jsx)("input",{id:"p-name",value:z,onChange:e=>R(e.target.value),placeholder:"my-llm",className:n.S,autoComplete:"off"})}),"custom"===e?(0,a.jsx)(n.O,{id:"p-base",label:"Base URL",help:m?c.X.baseUrlHelp.selfhost:c.X.baseUrlHelp.cloud,error:I.baseUrl,children:(0,a.jsx)("input",{id:"p-base",value:M,onChange:e=>U(e.target.value),placeholder:"https://example.com/v1",className:`${n.S} font-mono text-[12.5px]`,autoComplete:"off"})}):(0,a.jsxs)("div",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,a.jsx)("span",{className:"text-[13px] font-medium",children:"Base URL"}),(0,a.jsx)("span",{className:"break-all font-mono text-[12.5px] text-ink-faint",children:"cloudflare"===e?x.baseUrl({apiKey:"",accountId:"{account_id}"}):x.baseUrl({apiKey:""})})]}),"cloudflare"===e&&(0,a.jsx)(n.O,{id:"p-acct",label:"Account ID",error:I.accountId,children:(0,a.jsx)("input",{id:"p-acct",value:S,onChange:e=>C(e.target.value),placeholder:"32 hex characters",className:`${n.S} font-mono`,autoComplete:"off",spellCheck:!1})}),(0,a.jsx)(n.O,{id:"p-key",label:x.keyLabel,help:"custom"===e&&m?c.X.keyHelp.selfhostCustom:c.X.keyHelp.cloud,error:I.apiKey,children:(0,a.jsx)("input",{id:"p-key",type:"password",value:N,onChange:e=>w(e.target.value),placeholder:g[e],className:`${n.S} font-mono`,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,"data-gramm":"false"})}),!l&&(0,a.jsxs)("label",{className:"mb-3.5 flex items-center gap-2 text-[13px]",children:[(0,a.jsx)("input",{type:"checkbox",checked:P,onChange:e=>A(e.target.checked)})," Make this the default provider"]}),O&&(0,a.jsx)("div",{className:"mb-3.5 rounded-lg bg-err-soft px-3 py-2.5 text-[13px]",role:"alert",children:O}),K&&(0,a.jsxs)("div",{className:"mb-3.5",role:"status",children:[(0,a.jsxs)("p",{className:"m-0 mb-1.5 text-[13px] font-medium",children:["Found ",K.length," model",1===K.length?"":"s",":"]}),(0,a.jsx)("ul",{className:"m-0 flex max-h-40 list-none flex-wrap gap-1.5 overflow-y-auto p-0",children:K.map(e=>(0,a.jsx)("li",{className:"rounded border border-line bg-surface-2 px-1.5 font-mono text-[12px]",children:e},e))}),(0,a.jsx)("p",{className:"m-0 mt-1.5 text-[12.5px] text-ink-faint",children:"Use Scan all under Models to see which of them really answer."})]})]}),(0,a.jsx)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:K?(0,a.jsx)(n.K,{variant:"primary",onClick:()=>_(!1),children:"Done"}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.K,{onClick:()=>_(!1),disabled:y,children:"Cancel"}),(0,a.jsx)(n.K,{variant:"primary",onClick:function(){j(async()=>{let a={apiKey:N,..."cloudflare"===e?{accountId:S}:{},..."custom"===e?{baseUrl:M,...l?{}:{name:z}}:{},makeDefault:P},t=l?await d(l.id,a):await o(e,a);if(T(t.ok?{}:t.fieldErrors??{}),$(t.ok||t.fieldErrors?null:t.error),t.ok){s.c.success(t.message??`${x.name} connected.`);let a=t.data?.models??[];"custom"===e&&a.length?L(a):_(!1)}})},disabled:y,children:y?"Testing…":l?"Test and replace":"Test and connect"})]})})]})]})}],362512)},46200,e=>{var a=e.i(843476),t=e.i(146874),r=e.i(239692),s=e.i(271645),n=e.i(846696),i=e.i(428325),l=e.i(500443),o=e.i(776639);e.s(["f",0,function({trigger:e,open:d,onOpenChange:c,title:u,body:p,cta:f,danger:m=!1,onConfirm:x}){let[h,g]=(0,s.useState)(!1),v=d??h,[b,k]=(0,s.useTransition)();function y(e){void 0===d&&g(e),c?.(e)}return(0,l.useHoldRefresh)(v),(0,a.jsxs)(o.N,{open:v,onOpenChange:e=>{b||y(e)},children:[void 0!==e&&((0,s.isValidElement)(e)?(0,a.jsx)(o.a,{render:e}):(0,a.jsx)(o.a,{children:e})),(0,a.jsxs)(o.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,a.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,a.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${m?"text-err":"text-ink-soft"}`,children:m?(0,a.jsx)(t.f,{size:19}):(0,a.jsx)(r.f,{size:19})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(o.F,{className:"text-base",children:u}),(0,a.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:p})]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,a.jsx)(i.K,{onClick:()=>y(!1),disabled:b,children:"Keep as is"}),(0,a.jsx)(i.K,{variant:m?"danger":"primary",onClick:function(){k(async()=>{try{let e=await x();e.ok?(n.c.success(e.message),y(!1)):n.c.error(e.message)}catch{n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:b,children:b?"Working…":f})]})]})]})}])},177106,e=>{var a=e.i(843476),t=e.i(33550);let r=(0,t.f)("outline","chevron-down","ChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),s=(0,t.f)("outline","dots-vertical","DotsVertical",[["path",{d:"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]);var n=e.i(271645),i=e.i(428325),l=e.i(500443),o=e.i(755146);e.s(["RowMenu",0,function({items:e,button:t=!1,label:d="Actions"}){let[c,u]=(0,n.useState)(!1);return(0,l.useHoldRefresh)(c),(0,a.jsxs)(o.G,{open:c,onOpenChange:u,children:[t?(0,a.jsxs)(o.X,{className:(0,i.R)(),children:[d," ",(0,a.jsx)(r,{size:16,"aria-hidden":!0})]}):(0,a.jsx)(o.X,{"aria-label":d,className:"rounded-[5px] px-1.5 py-1 text-ink-faint hover:bg-sunken hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:(0,a.jsx)(s,{size:17})}),(0,a.jsx)(o.L,{align:"end",className:"min-w-[200px] rounded-[8px] border border-line-strong bg-surface p-1 shadow-[0_8px_24px_rgba(0,0,0,.14)] ring-0",children:e.map((e,t)=>"---"===e?(0,a.jsx)(o.U,{},`sep-${t}`):(0,a.jsxs)(o.r,{disabled:void 0!==e.disabled,variant:e.danger?"destructive":"default",className:"rounded-[5px] px-2.5 py-[7px]",onClick:()=>{e.href?window.open(e.href,"_blank","noopener,noreferrer"):e.onSelect?.()},children:[e.label,void 0!==e.disabled&&(0,a.jsx)("span",{className:"ml-auto pl-3 text-[11px] text-ink-faint",children:e.disabled})]},e.label))})]})}],177106)},776639,998218,152744,e=>{var a=e.i(843476),t=e.i(526323),r=e.i(828376);e.s(["f",0,r],998218);var r=r,s=e.i(209977),n=e.i(921637),i=e.i(141708),l=e.i(593480),o=e.i(309169),d=r;e.s(["f",0,d],152744);var d=r,c=e.i(975157),u=e.i(271645),p=e.i(540886),f=e.i(552245);let m=u.forwardRef(function(e,a){let{render:t,className:r,disabled:s=!1,focusableWhenDisabled:n=!1,nativeButton:i=!0,style:l,...o}=e,{getButtonProps:d,buttonRef:c}=(0,p.f)({disabled:s,focusableWhenDisabled:n,native:i});return(0,f.a)("button",e,{state:{disabled:s},ref:[a,c],props:[o,d]})}),x=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function h({className:e,variant:t="default",size:r="default",...s}){return(0,a.jsx)(m,{"data-slot":"button",className:(0,c.f)(x({variant:t,size:r,className:e})),...s})}var g=e.i(456420);let v={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};v.node;let b=(0,g.f)(v);function k({...e}){return(0,a.jsx)(s.f.Portal,{"data-slot":"dialog-portal",...e})}function y({className:e,...t}){return(0,a.jsx)(i.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...t})}e.s(["N",0,function({...e}){return(0,a.jsx)(t.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:t,showCloseButton:r=!0,...s}){return(0,a.jsxs)(k,{children:[(0,a.jsx)(y,{}),(0,a.jsxs)(l.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...s,children:[t,r&&(0,a.jsxs)(n.f.Close,{"data-slot":"dialog-close",render:(0,a.jsx)(h,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,a.jsx)(b,{}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...t}){return(0,a.jsx)(d.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...t})},"F",0,function({className:e,...t}){return(0,a.jsx)(o.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...t})},"a",0,function({...e}){return(0,a.jsx)(r.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)}])})();
@@ -1 +1 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,23990,e=>{let s=(0,e.i(33550).f)("outline","key","Key",[["path",{d:"M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0",key:"svg-0"}],["path",{d:"M15 9h.01",key:"svg-1"}]]);e.s(["f",0,s],23990)},844582,e=>{let s=(0,e.i(33550).f)("outline","player-play","PlayerPlay",[["path",{d:"M7 4v16l13 -8l-13 -8",key:"svg-0"}]]);e.s(["f",0,s],844582)},495211,e=>{var s=e.i(843476),t=e.i(23990),a=e.i(271645),r=e.i(846696),i=e.i(46200),n=e.i(428325),c=e.i(500443),o=e.i(776639),l=e.i(95187);let d=(0,l.createServerReference)("40a4648c60d28bb1491b7dcde7122cea6b1fe4ae6a",l.callServer,void 0,l.findSourceMapURL,"deleteMetricsKey"),p=(0,l.createServerReference)("7072a83be0a679d0ab6c74d1df4cf9cad7233b07fa",l.callServer,void 0,l.findSourceMapURL,"setMetricsKey");function h({id:e,projectRef:i,alias:l,hasKey:d,open:u,onOpenChange:x,trigger:f}){let[m,b]=(0,a.useState)(!1),y=u??m,[k,v]=(0,a.useState)(""),[j,g]=(0,a.useState)(),[S,R]=(0,a.useTransition)();function w(e){S||(v(""),g(void 0),void 0===u&&b(e),x?.(e))}return(0,c.useHoldRefresh)(y),(0,s.jsxs)(o.N,{open:y,onOpenChange:w,children:[f&&(0,s.jsx)(o.a,{render:f}),(0,s.jsxs)(o.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,s.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,s.jsx)(t.f,{size:19})}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(o.F,{className:"text-base",children:[d?"Replace":"Add"," metrics key for ",l]}),(0,s.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"CPU, RAM, disk and connections come from Supabase's Metrics API (beta), which needs a Secret API key of this project."})]})]}),(0,s.jsxs)("form",{onSubmit:s=>{s.preventDefault(),R(async()=>{try{let s=await p(e,i,k);if(!s.ok){g(s.fieldErrors?.key??s.error),r.c.error(s.error);return}let t=s.message?.includes("test call failed");r.c.success(`Metrics key saved for ${l}`,{description:t?"The test call failed; the Compute panel shows why.":"CPU shows after the next scrape, in about 5 minutes."}),v(""),w(!1)}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,s.jsxs)("div",{className:"px-[18px] pt-2 text-[13px] text-ink-soft",children:[(0,s.jsxs)("ol",{className:"mb-3 list-decimal space-y-1 pl-5",children:[(0,s.jsxs)("li",{children:["In Supabase, open ",(0,s.jsx)("b",{className:"font-medium text-ink",children:"Project Settings → API Keys"})," for this project and create a new Secret API key named ",(0,s.jsx)("span",{className:"font-mono text-ink",children:"watchbell-metrics"}),"."]}),(0,s.jsx)("li",{children:"Paste it below. A secret key has full database power, so the console stores it encrypted, never shows it again and only sends it to this project's metrics endpoint."}),(0,s.jsx)("li",{children:"You can revoke it in Supabase at any time; the panel then shows the error and you can add a new one."})]}),(0,s.jsx)(n.O,{id:`mk-${e}`,label:"Secret API key",error:j,help:"Starts with sb_secret_. Saving makes one test call to the metrics endpoint.",children:(0,s.jsx)("input",{id:`mk-${e}`,type:"password",className:`${n.S} font-mono`,autoComplete:"off",spellCheck:!1,placeholder:"sb_secret_…",value:k,onChange:e=>{v(e.target.value),g(void 0)}})})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,s.jsx)(n.K,{type:"button",onClick:()=>w(!1),disabled:S,children:"Cancel"}),(0,s.jsx)(n.K,{type:"submit",variant:"primary",disabled:S||!k.trim(),children:S?"Testing…":d?"Replace key":"Save key"})]})]})]})]})}e.s(["MetricsKeyButtons",0,function({id:e,projectRef:t,alias:a,hasKey:r}){return(0,s.jsxs)("span",{className:"inline-flex gap-1.5",children:[(0,s.jsx)(h,{id:e,projectRef:t,alias:a,hasKey:r,trigger:(0,s.jsx)(n.K,{size:"sm",children:r?"Replace key":"Add metrics key"})}),r&&(0,s.jsx)(i.f,{trigger:(0,s.jsx)(n.K,{size:"sm",variant:"ghost",children:"Remove"}),danger:!0,title:`Remove the metrics key of ${a}?`,cta:"Remove key",body:"The console deletes the stored key and this project's compute history. Revoke the key in Supabase (Project Settings → API Keys) too.",onConfirm:async()=>{let s=await d(e);return s.ok?{ok:!0,message:`Metrics key removed for ${a}.`}:{ok:!1,message:s.error}}})]})},"MetricsKeyDialog",0,h],495211)},56992,e=>{var s=e.i(843476),t=e.i(844582),a=e.i(271645),r=e.i(846696),i=e.i(54131),n=e.i(46200),c=e.i(428325),o=e.i(500443),l=e.i(799589),d=e.i(177106),p=e.i(776639),h=e.i(95187);let u=(0,h.createServerReference)("60e720b75d66defd3a08b803242dba7571f7b88e88",h.callServer,void 0,h.findSourceMapURL,"checkServicesAction"),x=(0,h.createServerReference)("60c1c1b895d6e10e5f490136e6eb73d14d03ceb609",h.callServer,void 0,h.findSourceMapURL,"pauseAction"),f=(0,h.createServerReference)("60219d84741eb3cd2f55b09aa712979e77d25768e7",h.callServer,void 0,h.findSourceMapURL,"restoreAction"),m=(0,h.createServerReference)("603eb3f27494f712f1bff001cf0cfbb02add147eca",h.callServer,void 0,h.findSourceMapURL,"setAutoRestore"),b=(0,h.createServerReference)("600650c70421c607b22cd865cbdfd825b37bea6017",h.callServer,void 0,h.findSourceMapURL,"setKeepActive");var y=e.i(495211);function k({alias:e,account:n,choices:l}){let[d,h]=(0,a.useState)(!1),[u,f]=(0,a.useState)(l.at(-1)?.id??""),[m,b]=(0,a.useTransition)(),y=(0,i.useMask)();(0,o.useHoldRefresh)(d);let v=l.find(e=>e.id===u);return(0,s.jsxs)(p.N,{open:d,onOpenChange:e=>{!m&&(h(e),e&&f(l.at(-1)?.id??""))},children:[(0,s.jsx)(p.a,{render:(0,s.jsx)(c.K,{size:"sm",children:"Restore"})}),(0,s.jsxs)(p.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,s.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,s.jsx)(t.f,{size:19})}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(p.F,{className:"text-base",children:["Restore ",e,"?"]}),(0,s.jsxs)(p.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["Account ",(0,s.jsx)(i.Masked,{kind:"account",real:n})," already uses both free slots. Pick a project to pause first."]})]})]}),(0,s.jsxs)("div",{className:"px-[18px] pb-2",children:[l.length?(0,s.jsx)("div",{className:"max-h-[260px] overflow-y-auto",children:l.map(e=>(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 border-b border-line px-1 py-[9px] last:border-b-0 hover:bg-hover",children:[(0,s.jsx)("input",{type:"radio",name:"pause-first",className:"size-4 accent-brand",checked:u===e.id,onChange:()=>f(e.id)}),(0,s.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("span",{className:"block truncate",children:["Pause ",e.alias]}),(0,s.jsxs)("span",{className:"block truncate text-[12px] text-ink-faint",children:["Last API traffic ",e.traffic,e.usedBy.length?` \xb7 used by ${e.usedBy.map(e=>y("app",e)).join(", ")}`:""]})]})]},e.id))}):(0,s.jsx)("p",{className:"my-2 text-[13px] text-ink-soft",children:"The console doesn't watch this account's active projects, so pause one in Supabase first."}),(0,s.jsxs)("p",{className:"mb-2 mt-3 text-[13px] text-ink-soft",children:["Apps that use the paused project get errors until you restore it. You can also move ",e," to another account with a free slot instead."]}),(0,s.jsx)("p",{className:"mb-3 text-[13px] text-ink-soft",children:"Restore stays blocked until the project you pause shows Paused (about 2 minutes). Then press Restore again."})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,s.jsx)(c.K,{onClick:()=>h(!1),disabled:m,children:"Cancel"}),(0,s.jsx)(c.K,{variant:"danger",disabled:m||!v,onClick:function(){v&&b(async()=>{try{let s=await x(v.id,v.ref);if(!s.ok)return void r.c.error(s.error);r.c.success("Pause started",{description:`Pausing ${v.alias}. Restore ${e} once ${v.alias} shows Paused, about 2 minutes.`}),h(!1)}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:m?"Working…":"Pause selected"})]})]})]})}let v={keep:(e,s)=>s?`${e}: warning from day 5 without API traffic, and one keep-alive query a day.`:`${e} may pause after 7 idle days.`,autoRestore:(e,s)=>s?`${e} is restored automatically when its account has a free slot.`:`${e} is no longer restored automatically.`};e.s(["ActiveRowMenu",0,function({id:e,projectRef:t,alias:i,label:n,metrics:c,dashboard:o=!0}){let{open:p,dialog:h}=(0,l.W)(),[f,m]=(0,a.useState)(!1);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.RowMenu,{label:n,items:[...o?[{label:"Open in Supabase",href:`https://supabase.com/dashboard/project/${encodeURIComponent(t)}`}]:[],{label:"Check services",onSelect:()=>{let s;return s=r.c.loading(`Checking ${i}'s services…`),void u(e,t).then(e=>e.ok?r.c.success(`${i}: services healthy`,{id:s,description:e.message}):r.c.error(`${i}: services`,{id:s,description:e.error})).catch(()=>r.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:s}))}},...c?[{label:c.hasKey?"Replace metrics key":"Add metrics key",onSelect:()=>m(!0)}]:[],"---",{label:"Pause project",danger:!0,onSelect:()=>p({title:`Pause ${i}?`,body:"Supabase stops the project in about 2 minutes. Apps that use this database get errors until it's restored (possible for 1 year). Pausing frees one of this account's 2 free slots. Nothing is deleted.",cta:"Pause project",danger:!0,run:async()=>{let s;return(s=`Pausing ${i}. It takes about 2 minutes.`,e=>e.ok?{ok:!0,message:s}:e)(await x(e,t))}})}]}),h,c&&(0,s.jsx)(y.MetricsKeyDialog,{id:e,projectRef:t,alias:i,hasKey:c.hasKey,open:f,onOpenChange:m})]})},"KeepActiveBoxes",0,function({id:e,alias:t,keep:i,autoRestore:n,owner:c,sent:o}){let[l,d]=(0,a.useState)({keep:i,autoRestore:n}),[p,h]=(0,a.useTransition)(),u=(a,i)=>(0,s.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",title:c?void 0:"Owner only",children:[(0,s.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:l[a],disabled:!c||p,onChange:s=>{var i;return i=s.target.checked,void(d({...l,[a]:i}),h(async()=>{try{let s=await ("keep"===a?b:m)(e,i);if(!s.ok){d(l),r.c.error(s.error);return}r.c.success("Keep active saved",{description:v[a](t,i)})}catch{d(l),r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}))}}),i]});return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[u("keep","Keep active"),u("autoRestore","Auto-restore")]}),o&&(0,s.jsxs)("div",{className:"text-[12px] text-ink-faint",children:["Keep-alive sent ",o]})]})},"RestoreButton",0,function({id:e,projectRef:t,alias:a,account:r,slotsLeft:i,choices:o}){return i>0?(0,s.jsx)(n.f,{trigger:(0,s.jsx)(c.K,{size:"sm",children:"Restore"}),title:`Restore ${a}?`,body:"Supabase brings the project back in about 2 minutes. Apps that use it start working again after that.",cta:"Restore",onConfirm:async()=>{let s=await f(e,t);return s.ok?{ok:!0,message:`Restoring ${a}. It takes about 2 minutes.`}:{ok:!1,message:s.error}}}):(0,s.jsx)(k,{alias:a,account:r,choices:o})}],56992)}])})();
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,23990,e=>{let s=(0,e.i(33550).f)("outline","key","Key",[["path",{d:"M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0",key:"svg-0"}],["path",{d:"M15 9h.01",key:"svg-1"}]]);e.s(["f",0,s],23990)},844582,e=>{let s=(0,e.i(33550).f)("outline","player-play","PlayerPlay",[["path",{d:"M7 4v16l13 -8l-13 -8",key:"svg-0"}]]);e.s(["f",0,s],844582)},495211,e=>{var s=e.i(843476),t=e.i(23990),a=e.i(271645),r=e.i(846696),i=e.i(46200),n=e.i(428325),c=e.i(500443),o=e.i(776639),l=e.i(95187);let d=(0,l.createServerReference)("406daad3c75f79c7638176ade10447bf75144727de",l.callServer,void 0,l.findSourceMapURL,"deleteMetricsKey"),p=(0,l.createServerReference)("70bac5908960ef0fa3efaded29c7d4d69d291aa93d",l.callServer,void 0,l.findSourceMapURL,"setMetricsKey");function h({id:e,projectRef:i,alias:l,hasKey:d,open:u,onOpenChange:x,trigger:f}){let[m,b]=(0,a.useState)(!1),y=u??m,[k,v]=(0,a.useState)(""),[j,g]=(0,a.useState)(),[S,R]=(0,a.useTransition)();function w(e){S||(v(""),g(void 0),void 0===u&&b(e),x?.(e))}return(0,c.useHoldRefresh)(y),(0,s.jsxs)(o.N,{open:y,onOpenChange:w,children:[f&&(0,s.jsx)(o.a,{render:f}),(0,s.jsxs)(o.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,s.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,s.jsx)(t.f,{size:19})}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(o.F,{className:"text-base",children:[d?"Replace":"Add"," metrics key for ",l]}),(0,s.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"CPU, RAM, disk and connections come from Supabase's Metrics API (beta), which needs a Secret API key of this project."})]})]}),(0,s.jsxs)("form",{onSubmit:s=>{s.preventDefault(),R(async()=>{try{let s=await p(e,i,k);if(!s.ok){g(s.fieldErrors?.key??s.error),r.c.error(s.error);return}let t=s.message?.includes("test call failed");r.c.success(`Metrics key saved for ${l}`,{description:t?"The test call failed; the Compute panel shows why.":"CPU shows after the next scrape, in about 5 minutes."}),v(""),w(!1)}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,s.jsxs)("div",{className:"px-[18px] pt-2 text-[13px] text-ink-soft",children:[(0,s.jsxs)("ol",{className:"mb-3 list-decimal space-y-1 pl-5",children:[(0,s.jsxs)("li",{children:["In Supabase, open ",(0,s.jsx)("b",{className:"font-medium text-ink",children:"Project Settings → API Keys"})," for this project and create a new Secret API key named ",(0,s.jsx)("span",{className:"font-mono text-ink",children:"watchbell-metrics"}),"."]}),(0,s.jsx)("li",{children:"Paste it below. A secret key has full database power, so the console stores it encrypted, never shows it again and only sends it to this project's metrics endpoint."}),(0,s.jsx)("li",{children:"You can revoke it in Supabase at any time; the panel then shows the error and you can add a new one."})]}),(0,s.jsx)(n.O,{id:`mk-${e}`,label:"Secret API key",error:j,help:"Starts with sb_secret_. Saving makes one test call to the metrics endpoint.",children:(0,s.jsx)("input",{id:`mk-${e}`,type:"password",className:`${n.S} font-mono`,autoComplete:"off",spellCheck:!1,placeholder:"sb_secret_…",value:k,onChange:e=>{v(e.target.value),g(void 0)}})})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,s.jsx)(n.K,{type:"button",onClick:()=>w(!1),disabled:S,children:"Cancel"}),(0,s.jsx)(n.K,{type:"submit",variant:"primary",disabled:S||!k.trim(),children:S?"Testing…":d?"Replace key":"Save key"})]})]})]})]})}e.s(["MetricsKeyButtons",0,function({id:e,projectRef:t,alias:a,hasKey:r}){return(0,s.jsxs)("span",{className:"inline-flex gap-1.5",children:[(0,s.jsx)(h,{id:e,projectRef:t,alias:a,hasKey:r,trigger:(0,s.jsx)(n.K,{size:"sm",children:r?"Replace key":"Add metrics key"})}),r&&(0,s.jsx)(i.f,{trigger:(0,s.jsx)(n.K,{size:"sm",variant:"ghost",children:"Remove"}),danger:!0,title:`Remove the metrics key of ${a}?`,cta:"Remove key",body:"The console deletes the stored key and this project's compute history. Revoke the key in Supabase (Project Settings → API Keys) too.",onConfirm:async()=>{let s=await d(e);return s.ok?{ok:!0,message:`Metrics key removed for ${a}.`}:{ok:!1,message:s.error}}})]})},"MetricsKeyDialog",0,h],495211)},56992,e=>{var s=e.i(843476),t=e.i(844582),a=e.i(271645),r=e.i(846696),i=e.i(54131),n=e.i(46200),c=e.i(428325),o=e.i(500443),l=e.i(799589),d=e.i(177106),p=e.i(776639),h=e.i(95187);let u=(0,h.createServerReference)("60f2edb4fa00826373c811f0ef6738d1fd917ed29e",h.callServer,void 0,h.findSourceMapURL,"checkServicesAction"),x=(0,h.createServerReference)("60a16ab7a4061fa55736080b407b8b257739008134",h.callServer,void 0,h.findSourceMapURL,"pauseAction"),f=(0,h.createServerReference)("601f1e4774d4c75c8810522c5877d5aad527a67ce5",h.callServer,void 0,h.findSourceMapURL,"restoreAction"),m=(0,h.createServerReference)("60f2882ae55f5e49fca9104eb7eec3624d1986dc13",h.callServer,void 0,h.findSourceMapURL,"setAutoRestore"),b=(0,h.createServerReference)("60926f0b655f14f93c3acc4d6b43009065272830ee",h.callServer,void 0,h.findSourceMapURL,"setKeepActive");var y=e.i(495211);function k({alias:e,account:n,choices:l}){let[d,h]=(0,a.useState)(!1),[u,f]=(0,a.useState)(l.at(-1)?.id??""),[m,b]=(0,a.useTransition)(),y=(0,i.useMask)();(0,o.useHoldRefresh)(d);let v=l.find(e=>e.id===u);return(0,s.jsxs)(p.N,{open:d,onOpenChange:e=>{!m&&(h(e),e&&f(l.at(-1)?.id??""))},children:[(0,s.jsx)(p.a,{render:(0,s.jsx)(c.K,{size:"sm",children:"Restore"})}),(0,s.jsxs)(p.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,s.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,s.jsx)(t.f,{size:19})}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(p.F,{className:"text-base",children:["Restore ",e,"?"]}),(0,s.jsxs)(p.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["Account ",(0,s.jsx)(i.Masked,{kind:"account",real:n})," already uses both free slots. Pick a project to pause first."]})]})]}),(0,s.jsxs)("div",{className:"px-[18px] pb-2",children:[l.length?(0,s.jsx)("div",{className:"max-h-[260px] overflow-y-auto",children:l.map(e=>(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 border-b border-line px-1 py-[9px] last:border-b-0 hover:bg-hover",children:[(0,s.jsx)("input",{type:"radio",name:"pause-first",className:"size-4 accent-brand",checked:u===e.id,onChange:()=>f(e.id)}),(0,s.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("span",{className:"block truncate",children:["Pause ",e.alias]}),(0,s.jsxs)("span",{className:"block truncate text-[12px] text-ink-faint",children:["Last API traffic ",e.traffic,e.usedBy.length?` \xb7 used by ${e.usedBy.map(e=>y("app",e)).join(", ")}`:""]})]})]},e.id))}):(0,s.jsx)("p",{className:"my-2 text-[13px] text-ink-soft",children:"The console doesn't watch this account's active projects, so pause one in Supabase first."}),(0,s.jsxs)("p",{className:"mb-2 mt-3 text-[13px] text-ink-soft",children:["Apps that use the paused project get errors until you restore it. You can also move ",e," to another account with a free slot instead."]}),(0,s.jsx)("p",{className:"mb-3 text-[13px] text-ink-soft",children:"Restore stays blocked until the project you pause shows Paused (about 2 minutes). Then press Restore again."})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,s.jsx)(c.K,{onClick:()=>h(!1),disabled:m,children:"Cancel"}),(0,s.jsx)(c.K,{variant:"danger",disabled:m||!v,onClick:function(){v&&b(async()=>{try{let s=await x(v.id,v.ref);if(!s.ok)return void r.c.error(s.error);r.c.success("Pause started",{description:`Pausing ${v.alias}. Restore ${e} once ${v.alias} shows Paused, about 2 minutes.`}),h(!1)}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:m?"Working…":"Pause selected"})]})]})]})}let v={keep:(e,s)=>s?`${e}: warning from day 5 without API traffic, and one keep-alive query a day.`:`${e} may pause after 7 idle days.`,autoRestore:(e,s)=>s?`${e} is restored automatically when its account has a free slot.`:`${e} is no longer restored automatically.`};e.s(["ActiveRowMenu",0,function({id:e,projectRef:t,alias:i,label:n,metrics:c,dashboard:o=!0}){let{open:p,dialog:h}=(0,l.W)(),[f,m]=(0,a.useState)(!1);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.RowMenu,{label:n,items:[...o?[{label:"Open in Supabase",href:`https://supabase.com/dashboard/project/${encodeURIComponent(t)}`}]:[],{label:"Check services",onSelect:()=>{let s;return s=r.c.loading(`Checking ${i}'s services…`),void u(e,t).then(e=>e.ok?r.c.success(`${i}: services healthy`,{id:s,description:e.message}):r.c.error(`${i}: services`,{id:s,description:e.error})).catch(()=>r.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:s}))}},...c?[{label:c.hasKey?"Replace metrics key":"Add metrics key",onSelect:()=>m(!0)}]:[],"---",{label:"Pause project",danger:!0,onSelect:()=>p({title:`Pause ${i}?`,body:"Supabase stops the project in about 2 minutes. Apps that use this database get errors until it's restored (possible for 1 year). Pausing frees one of this account's 2 free slots. Nothing is deleted.",cta:"Pause project",danger:!0,run:async()=>{let s;return(s=`Pausing ${i}. It takes about 2 minutes.`,e=>e.ok?{ok:!0,message:s}:e)(await x(e,t))}})}]}),h,c&&(0,s.jsx)(y.MetricsKeyDialog,{id:e,projectRef:t,alias:i,hasKey:c.hasKey,open:f,onOpenChange:m})]})},"KeepActiveBoxes",0,function({id:e,alias:t,keep:i,autoRestore:n,owner:c,sent:o}){let[l,d]=(0,a.useState)({keep:i,autoRestore:n}),[p,h]=(0,a.useTransition)(),u=(a,i)=>(0,s.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",title:c?void 0:"Owner only",children:[(0,s.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:l[a],disabled:!c||p,onChange:s=>{var i;return i=s.target.checked,void(d({...l,[a]:i}),h(async()=>{try{let s=await ("keep"===a?b:m)(e,i);if(!s.ok){d(l),r.c.error(s.error);return}r.c.success("Keep active saved",{description:v[a](t,i)})}catch{d(l),r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}))}}),i]});return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[u("keep","Keep active"),u("autoRestore","Auto-restore")]}),o&&(0,s.jsxs)("div",{className:"text-[12px] text-ink-faint",children:["Keep-alive sent ",o]})]})},"RestoreButton",0,function({id:e,projectRef:t,alias:a,account:r,slotsLeft:i,choices:o}){return i>0?(0,s.jsx)(n.f,{trigger:(0,s.jsx)(c.K,{size:"sm",children:"Restore"}),title:`Restore ${a}?`,body:"Supabase brings the project back in about 2 minutes. Apps that use it start working again after that.",cta:"Restore",onConfirm:async()=>{let s=await f(e,t);return s.ok?{ok:!0,message:`Restoring ${a}. It takes about 2 minutes.`}:{ok:!1,message:s.error}}}):(0,s.jsx)(k,{alias:a,account:r,choices:o})}],56992)}])})();