watchbell 1.2.4 → 1.2.5

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 (474) 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 +12 -12
  7. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  9. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +11 -11
  10. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  11. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  12. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +10 -10
  13. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  14. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  15. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +13 -13
  16. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  17. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  18. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +11 -11
  19. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  21. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +20 -20
  22. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  23. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +10 -10
  25. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  26. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  27. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +13 -13
  28. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  29. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  30. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +16 -16
  31. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  32. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  33. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +11 -11
  34. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  35. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +11 -11
  37. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  38. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  39. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +10 -10
  40. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  41. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  42. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +11 -11
  43. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  44. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  45. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +26 -26
  46. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  47. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  48. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +27 -27
  49. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  50. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  51. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +13 -13
  52. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  53. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  54. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +13 -13
  55. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  56. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  57. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +10 -10
  58. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  59. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  60. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +21 -21
  61. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  62. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  63. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +10 -10
  64. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  65. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  66. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +16 -16
  67. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  68. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  69. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +17 -17
  70. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  71. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  72. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +12 -12
  73. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  74. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  75. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +10 -10
  76. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  77. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  78. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +17 -17
  79. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  80. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  81. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +11 -11
  82. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  83. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  84. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +11 -11
  85. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  86. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  87. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +21 -21
  88. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  89. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  90. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +20 -20
  91. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  92. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  93. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +11 -11
  94. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  95. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  96. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +10 -10
  97. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  98. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  99. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +20 -20
  100. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  101. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  102. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +17 -17
  103. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  104. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  105. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +10 -10
  106. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  107. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  108. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +31 -31
  109. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  110. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  111. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +10 -10
  112. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  113. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  114. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +10 -10
  115. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  116. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  117. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +10 -10
  118. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  119. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  120. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +24 -24
  121. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  122. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  123. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +15 -15
  124. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  125. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  126. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  127. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  128. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  129. package/server/.next/server/app/_global-error.html +1 -1
  130. package/server/.next/server/app/_global-error.rsc +2 -2
  131. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  132. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  133. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  134. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  135. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  136. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  137. package/server/.next/server/app/_not-found.html +1 -1
  138. package/server/.next/server/app/_not-found.rsc +3 -3
  139. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  140. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  141. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  142. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  143. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  144. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  145. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  146. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  147. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  148. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  149. package/server/.next/server/app/api/health/route.js.nft.json +1 -1
  150. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  151. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  152. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
  153. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  154. package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
  155. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  156. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  157. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  158. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  159. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  160. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  161. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  162. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  163. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  164. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  165. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  166. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  167. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  168. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  169. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  170. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  171. package/server/.next/server/app/icon.svg/route.js.nft.json +1 -1
  172. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  173. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  174. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  175. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  176. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  177. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  178. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  179. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  180. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  181. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  182. package/server/.next/server/app/page.js.nft.json +1 -1
  183. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  184. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  185. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  186. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  187. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  188. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  189. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  190. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  191. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  192. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  193. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  194. package/server/.next/server/chunks/[root-of-the-server]__0-st5xltl53h9._.js +1 -1
  195. package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +1 -1
  196. package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.js +1 -1
  197. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  198. package/server/.next/server/chunks/[root-of-the-server]__04htuwoulmp21._.js +3 -0
  199. package/server/.next/server/chunks/[root-of-the-server]__05jzua9637vlo._.js +1 -1
  200. package/server/.next/server/chunks/[root-of-the-server]__05pabbazg42oy._.js +3 -0
  201. package/server/.next/server/chunks/[root-of-the-server]__05qcc-0e8z1u8._.js +1 -1
  202. package/server/.next/server/chunks/[root-of-the-server]__07eo--c90cju2._.js +1 -1
  203. package/server/.next/server/chunks/[root-of-the-server]__08-puk3_gawjd._.js +1 -1
  204. package/server/.next/server/chunks/{[root-of-the-server]__05zj7uswzr0f9._.js → [root-of-the-server]__08i6b8tzxads4._.js} +2 -2
  205. package/server/.next/server/chunks/[root-of-the-server]__09uh8gefrxmkg._.js +3 -0
  206. package/server/.next/server/chunks/[root-of-the-server]__0cz3da2wx3_wd._.js +1 -1
  207. package/server/.next/server/chunks/[root-of-the-server]__0dfx2psnngcys._.js +3 -0
  208. package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +1 -1
  209. package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +1 -1
  210. package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +1 -1
  211. package/server/.next/server/chunks/[root-of-the-server]__0kzpzdkpz_nt0._.js +1 -1
  212. package/server/.next/server/chunks/[root-of-the-server]__0lht1cr4aiudu._.js +3 -0
  213. package/server/.next/server/chunks/[root-of-the-server]__0mrbo2p5fy4ji._.js +3 -0
  214. package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.js +1 -1
  215. package/server/.next/server/chunks/[root-of-the-server]__0oqltt9cni6m0._.js +1 -1
  216. package/server/.next/server/chunks/[root-of-the-server]__0ruici82tzf0w._.js +3 -0
  217. package/server/.next/server/chunks/{[root-of-the-server]__0twr9duara46x._.js → [root-of-the-server]__0sq7jwlhv9n79._.js} +2 -2
  218. package/server/.next/server/chunks/[root-of-the-server]__0tykhzqhwdx_k._.js +1 -1
  219. package/server/.next/server/chunks/[root-of-the-server]__0ux1hi2fgqxu7._.js +3 -0
  220. package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
  221. package/server/.next/server/chunks/[root-of-the-server]__0xqgsjnebebv8._.js +1 -1
  222. package/server/.next/server/chunks/[root-of-the-server]__0y_xyc1cyvtej._.js +3 -0
  223. package/server/.next/server/chunks/[root-of-the-server]__0znmcklxfccvk._.js +1 -1
  224. package/server/.next/server/chunks/{[root-of-the-server]__0kt0hjvyklnk8._.js → [root-of-the-server]__0zu1odpvrptrt._.js} +2 -2
  225. package/server/.next/server/chunks/[root-of-the-server]__10negjjz5k5bz._.js +3 -0
  226. package/server/.next/server/chunks/[root-of-the-server]__195ax9c1nsi5b._.js +3 -0
  227. package/server/.next/server/chunks/[root-of-the-server]__19k0l-ubyp1j_._.js +3 -0
  228. package/server/.next/server/chunks/[root-of-the-server]__1a7_3nq1jjab-._.js +1 -1
  229. package/server/.next/server/chunks/[root-of-the-server]__1bce11artflky._.js +1 -1
  230. package/server/.next/server/chunks/[root-of-the-server]__1c78cu7kb9vkl._.js +1 -1
  231. package/server/.next/server/chunks/[root-of-the-server]__1cc__h9taeylv._.js +3 -0
  232. package/server/.next/server/chunks/[root-of-the-server]__1d4wmw2wohveb._.js +3 -0
  233. package/server/.next/server/chunks/{[root-of-the-server]__1spds17tpnsgr._.js → [root-of-the-server]__1etg41llk7f09._.js} +2 -2
  234. package/server/.next/server/chunks/[root-of-the-server]__1gt_-h9n48pwi._.js +1 -1
  235. package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +1 -1
  236. package/server/.next/server/chunks/[root-of-the-server]__1ny8nr52qvr4i._.js +1 -1
  237. package/server/.next/server/chunks/[root-of-the-server]__1ol4c4uzqqqfw._.js +3 -0
  238. package/server/.next/server/chunks/[root-of-the-server]__1ozfk4_3lx1o7._.js +1 -1
  239. package/server/.next/server/chunks/[root-of-the-server]__1sm4p209f_yie._.js +3 -0
  240. package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +1 -1
  241. package/server/.next/server/chunks/_12g2m3a5e94_5._.js +3 -0
  242. package/server/.next/server/chunks/_1cq1vvbp6pglr._.js +2 -2
  243. package/server/.next/server/chunks/_1myv9csc_in08._.js +2 -2
  244. package/server/.next/server/chunks/_1n-fm2bdo9t2m._.js +2 -2
  245. package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +15 -15
  246. package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +13 -13
  247. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +13 -13
  248. package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +13 -13
  249. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  250. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
  251. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
  252. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
  253. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
  254. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
  255. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
  256. package/server/.next/server/chunks/ssr/[root-of-the-server]__0-i_tj8wp9oto._.js +3 -0
  257. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
  258. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1wr4__6rvsb3b._.js → [root-of-the-server]__077-acap7g4ck._.js} +2 -2
  259. package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
  260. package/server/.next/server/chunks/ssr/[root-of-the-server]__0hzlz_t5eect2._.js +1 -1
  261. package/server/.next/server/chunks/ssr/[root-of-the-server]__0i07g85h2g72h._.js +3 -0
  262. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
  263. package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
  264. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
  265. package/server/.next/server/chunks/ssr/{[root-of-the-server]__133_j0bmsjnzt._.js → [root-of-the-server]__0q7rssq_3unbc._.js} +2 -2
  266. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
  267. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
  268. package/server/.next/server/chunks/ssr/[root-of-the-server]__1-d88ogkwql_b._.js +1 -1
  269. package/server/.next/server/chunks/ssr/[root-of-the-server]__110158s15r7mi._.js +1 -1
  270. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  271. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_z273zso5at1._.js +3 -0
  272. package/server/.next/server/chunks/ssr/[root-of-the-server]__1a0b_dbx4uans._.js +1 -1
  273. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ctkj-25wt37o._.js +2 -2
  274. package/server/.next/server/chunks/ssr/[root-of-the-server]__1kfivch_kfesn._.js +2 -2
  275. package/server/.next/server/chunks/ssr/[root-of-the-server]__1sw2q1p1t59y8._.js +1 -1
  276. package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
  277. package/server/.next/server/chunks/ssr/[root-of-the-server]__1zmuaump_n9c1._.js +3 -0
  278. package/server/.next/server/chunks/ssr/_0-wc6f6p0c8lv._.js +1 -1
  279. package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
  280. package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
  281. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  282. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  283. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  284. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  285. package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
  286. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  287. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
  288. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  289. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
  290. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
  291. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
  292. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
  293. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  294. package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
  295. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
  296. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
  297. package/server/.next/server/chunks/ssr/{_1rinsar6bp6ul._.js → _0s8qoh8v5kqcm._.js} +2 -2
  298. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
  299. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
  300. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +1 -1
  301. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  302. package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +2 -2
  303. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  304. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  305. package/server/.next/server/chunks/ssr/{_1jclq5d7tposb._.js → _10q5jocsvw-i8._.js} +2 -2
  306. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  307. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
  308. package/server/.next/server/chunks/ssr/{_1e5kqt081d8yt._.js → _166ljgwi6shw7._.js} +2 -2
  309. package/server/.next/server/chunks/ssr/{_0e4xfzm8oecc-._.js → _18z44n8yl5tzj._.js} +2 -2
  310. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  311. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  312. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
  313. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  314. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
  315. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
  316. package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
  317. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  318. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
  319. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  320. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  321. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
  322. package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
  323. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
  324. package/server/.next/server/chunks/ssr/{_08d4hz_ddxc02._.js → _1qiv079hbwt43._.js} +2 -2
  325. package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +1 -1
  326. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
  327. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  328. package/server/.next/server/chunks/ssr/_218164gkxgum_._.js +1 -1
  329. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
  330. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
  331. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
  332. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_0y5m8cul6d7kk.js +1 -1
  333. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
  334. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
  335. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
  336. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
  337. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
  338. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
  339. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
  340. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +1 -1
  341. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
  342. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
  343. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  344. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  345. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
  346. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  347. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  348. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  349. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  350. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  351. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  352. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  353. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  354. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  355. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  356. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  357. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  358. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  359. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  360. package/server/.next/server/chunks/ssr/src_app_(console)_0f-d8u7sm169e._.js +3 -0
  361. package/server/.next/server/chunks/ssr/{src_app_(console)_1co5pna1vfflj._.js → src_app_(console)_1vpkg9rd7v3pk._.js} +2 -2
  362. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
  363. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  364. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  365. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  366. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  367. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  368. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  369. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  370. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  371. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  372. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  373. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  374. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  375. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  376. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  377. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  378. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  379. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  380. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  381. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  382. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  383. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  384. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  385. package/server/.next/server/chunks/ssr/{src_app_signin_0ko968fxahf6u._.js → src_app_signin_0ndz9-tbuaohn._.js} +2 -2
  386. package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +1 -1
  387. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  388. package/server/.next/server/chunks/ssr/src_lib_demo_0ftmf3wmtezvl._.js +1 -1
  389. package/server/.next/server/chunks/ssr/src_lib_demo_1b1yd_ne2dpeh._.js +1 -1
  390. package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +14 -14
  391. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  392. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  393. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  394. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  395. package/server/.next/server/middleware-build-manifest.js +3 -3
  396. package/server/.next/server/pages/404.html +1 -1
  397. package/server/.next/server/pages/500.html +1 -1
  398. package/server/.next/server/preview-props.json +3 -3
  399. package/server/.next/server/server-reference-manifest.js +1 -1
  400. package/server/.next/server/server-reference-manifest.json +143 -143
  401. package/server/.next/static/chunks/0-0tkevn8vwix.js +1 -0
  402. package/server/.next/static/chunks/{0md0jy9rztofl.js → 026a6w6rbx-fh.js} +1 -1
  403. package/server/.next/static/chunks/{31v3igne_z-0k.js → 05rysjdxtzhu1.js} +1 -1
  404. package/server/.next/static/chunks/{3a5a2iizetq9b.js → 0jbau1a66ts45.js} +11 -11
  405. package/server/.next/static/chunks/{0krhehmzgigx5.js → 0lhj_nuhfszt5.js} +1 -1
  406. package/server/.next/static/chunks/{2-m982u6v7z8m.js → 0m3kg-eiti9zu.js} +1 -1
  407. package/server/.next/static/chunks/{2a3tky__z9q4j.js → 0o-c28x8k05p4.js} +1 -1
  408. package/server/.next/static/chunks/{1y_6crandf_3f.js → 0o08yqz8_53p6.js} +1 -1
  409. package/server/.next/static/chunks/{38g-5wiggu6__.js → 0p14kwfj_2w_l.js} +1 -1
  410. package/server/.next/static/chunks/0qd8lafp_2ta5.js +1 -0
  411. package/server/.next/static/chunks/{00oeu_tbjky7m.js → 0wz_jmdt88plr.js} +1 -1
  412. package/server/.next/static/chunks/14teejsfv-awi.js +1 -0
  413. package/server/.next/static/chunks/{0v_-lu_cx7f91.js → 15x1am33zx_7r.js} +1 -1
  414. package/server/.next/static/chunks/{0xcpi35p5fa83.js → 16en34z8w8ezr.js} +1 -1
  415. package/server/.next/static/chunks/{0-6om8-d7itz8.js → 19bfo1_ejzqmp.js} +1 -1
  416. package/server/.next/static/chunks/{3jhh47vezwohc.js → 1aiapinh40brx.js} +1 -1
  417. package/server/.next/static/chunks/{1ys80h6x541kn.js → 1b4nkf_ka3hwr.js} +2 -2
  418. package/server/.next/static/chunks/{1ukyjy13dwy_z.js → 1bsk5ub4zhehk.js} +1 -1
  419. package/server/.next/static/chunks/{40n6mtthd3_sh.js → 1j7e6cd8t5jar.js} +1 -1
  420. package/server/.next/static/chunks/{0hj1-5zruyih6.js → 1khar1yl-th2r.js} +1 -1
  421. package/server/.next/static/chunks/{2xio-kspedw69.js → 1kwbsrtnz8o1l.js} +1 -1
  422. package/server/.next/static/chunks/{1rkrtrvwbbnjf.js → 1rgejqx65romt.js} +1 -1
  423. package/server/.next/static/chunks/{3wi930ujb_5_z.js → 1ruv-a_ft592k.js} +1 -1
  424. package/server/.next/static/chunks/{1sc1vz_ygak9u.js → 1y8hxiy48l5hq.js} +1 -1
  425. package/server/.next/static/chunks/{340qccog2_uge.js → 20pwnun2aiajo.js} +2 -2
  426. package/server/.next/static/chunks/{2cipdjdkoq312.js → 231dmdy7r03nd.js} +1 -1
  427. package/server/.next/static/chunks/{01u9q07wu6-x1.js → 234h8_ywb6t9s.js} +1 -1
  428. package/server/.next/static/chunks/{3qedt96akbcad.js → 24p8ti6ronsdf.js} +1 -1
  429. package/server/.next/static/chunks/{0_5_9w6m-xwd0.js → 25ba60sl_edr3.js} +1 -1
  430. package/server/.next/static/chunks/{2ue_c6tww95_c.js → 25je6-38ula0p.js} +1 -1
  431. package/server/.next/static/chunks/{1gt3cagsbgx4w.js → 2_vwhuzct036v.js} +1 -1
  432. package/server/.next/static/chunks/{2ect0ww0gtoad.js → 2baqn9ru2pmf4.js} +2 -2
  433. package/server/.next/static/chunks/{16yvy9zkjac5c.js → 2ehpfaelmkee6.js} +1 -1
  434. package/server/.next/static/chunks/{2s-_9p0-395sm.js → 2uk9mjknuxmxx.js} +1 -1
  435. package/server/.next/static/chunks/{3f1td0b-oy-sr.js → 2w3otuq4cx1pd.js} +1 -1
  436. package/server/.next/static/chunks/{0181phyuecg9b.js → 317o5vyehd1xx.js} +1 -1
  437. package/server/.next/static/chunks/{0t66sf4vvalei.js → 34jajbsx3uisy.js} +1 -1
  438. package/server/.next/static/chunks/{18mkhwl0zlvnp.js → 35j75g5h_qytc.js} +1 -1
  439. package/server/.next/static/chunks/38rdy3k5li9gb.js +1 -0
  440. package/server/.next/static/chunks/{3imk3dh9_4wd5.js → 3m825h0uvc8b6.js} +1 -1
  441. package/server/.next/static/chunks/{0mp6prf1hx5mx.js → 3ngtjj5afybe9.js} +1 -1
  442. package/server/.next/static/chunks/{1xm6ay06cjchs.js → 3odrzjmblvoxt.js} +1 -1
  443. package/server/.next/static/chunks/{33ddsp07_9o1d.js → 3u-qfdthw123i.js} +2 -2
  444. package/server/.next/static/chunks/{0z0may9twpt-j.js → 3xhrztkjpas1b.js} +1 -1
  445. package/server/.next/static/chunks/{2z6gojfx3lqvt.js → 4126vjheqklsp.js} +1 -1
  446. package/server/server.js +1 -1
  447. package/server/.next/server/chunks/[root-of-the-server]__0-u9oeob2sa7f._.js +0 -3
  448. package/server/.next/server/chunks/[root-of-the-server]__04oipax0jupxr._.js +0 -3
  449. package/server/.next/server/chunks/[root-of-the-server]__07byme21uj5ln._.js +0 -3
  450. package/server/.next/server/chunks/[root-of-the-server]__0ab040lxtt8_d._.js +0 -3
  451. package/server/.next/server/chunks/[root-of-the-server]__0v1t0gkrsn99q._.js +0 -3
  452. package/server/.next/server/chunks/[root-of-the-server]__10cqzo_4dhr4m._.js +0 -3
  453. package/server/.next/server/chunks/[root-of-the-server]__16md_196q9s8a._.js +0 -3
  454. package/server/.next/server/chunks/[root-of-the-server]__1_zjje9edw0bz._.js +0 -3
  455. package/server/.next/server/chunks/[root-of-the-server]__1kqq90-sj8-op._.js +0 -3
  456. package/server/.next/server/chunks/[root-of-the-server]__1lam0c5a3f224._.js +0 -3
  457. package/server/.next/server/chunks/[root-of-the-server]__1o9v_499yd5k8._.js +0 -3
  458. package/server/.next/server/chunks/[root-of-the-server]__1onjxlntn-u8g._.js +0 -3
  459. package/server/.next/server/chunks/[root-of-the-server]__1pscg7y0et34j._.js +0 -3
  460. package/server/.next/server/chunks/[root-of-the-server]__1qdbn4gdg7ndr._.js +0 -3
  461. package/server/.next/server/chunks/_0pf2g5n_ko5dq._.js +0 -3
  462. package/server/.next/server/chunks/_15g-opioju_ju._.js +0 -3
  463. package/server/.next/server/chunks/ssr/[root-of-the-server]__056nm27ib-x1m._.js +0 -3
  464. package/server/.next/server/chunks/ssr/[root-of-the-server]__0eaqsql69fhf8._.js +0 -3
  465. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l_cl2qk_xmmr._.js +0 -3
  466. package/server/.next/server/chunks/ssr/src_0txyv7r1zns16._.js +0 -3
  467. package/server/.next/server/chunks/ssr/src_app_(console)_1shtcv6hidi4-._.js +0 -3
  468. package/server/.next/static/chunks/18johpgap0xmw.js +0 -1
  469. package/server/.next/static/chunks/1_8g4usrgjnnu.js +0 -1
  470. package/server/.next/static/chunks/1q-m7qgrvvzwb.js +0 -1
  471. package/server/.next/static/chunks/3letbzhf_1srv.js +0 -1
  472. /package/server/.next/static/{2_t4xVgbum1rtVSQxAYYV → 00kxZsHPpI3WSDxVn1e4b}/_buildManifest.js +0 -0
  473. /package/server/.next/static/{2_t4xVgbum1rtVSQxAYYV → 00kxZsHPpI3WSDxVn1e4b}/_clientMiddlewareManifest.js +0 -0
  474. /package/server/.next/static/{2_t4xVgbum1rtVSQxAYYV → 00kxZsHPpI3WSDxVn1e4b}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[801789,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("005da9444f5ce6ecb22655b910c997cfd6bfe273e0",f.callServer,void 0,f.findSourceMapURL,"dismissWhatsNew");a.s(["WhatsNewDismiss",0,function(){let[a,f]=(0,c.useTransition)();return(0,b.jsx)(e.K,{size:"sm",onClick:()=>f(async()=>{try{let a=await g();a.ok||d.c.error(a.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),disabled:a,children:a?"Saving…":"Got it"})}],801789)},480761,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(771378),e=a.i(728951),f=a.i(368114),g=a.i(50944),h=a.i(405050);let i=(0,h.createServerReference)("00e343b0b5923c36d9d3e347e04a780a022cf89dba",h.callServer,void 0,h.findSourceMapURL,"loadPaletteSource"),j={home:{label:"Home",holds:"Overview, Topology, Events and Provider status.",appears:"Always on."},hosting:{label:"Hosting",holds:"Applications, Deployments, Domains, DNS records, Uptime and Logs.",appears:"On from the start, so Uptime is always in the menu."},database:{label:"Database",holds:"Supabase, Neon, Firebase, Turso, Upstash Redis, Cloudflare D1, the SQL console and Free databases.",appears:"Appears when you connect Supabase, Neon, Firebase, Turso or Upstash, or once a database is watched.",keeps:"Keep active and Auto-restore keep running while it is off, so your free Supabase projects aren't paused."},devops:{label:"DevOps",holds:"Automation: GitHub repositories, their Actions runs and dependency advisories.",appears:"Appears when you connect GitHub."},manage:{label:"Manage",holds:"Connections, Alerts, Auto-actions, Sections, Settings, AI gateway, API explorer, Status page and Backups.",appears:"Always on."}},k={home:[{key:"overview",label:"Overview",href:"/overview",icon:"dashboard",stage:2},{key:"topology",label:"Topology",href:"/topology",icon:"topology",stage:4},{key:"events",label:"Events",href:"/events",icon:"activity",stage:2},{key:"status",label:"Provider status",href:"/status",icon:"broadcast",stage:5}],hosting:[{key:"apps",label:"Applications",href:"/apps",icon:"apps",stage:2},{key:"deployments",label:"Deployments",href:"/deployments",icon:"rocket",stage:2},{key:"domains",label:"Domains",href:"/domains",icon:"world",stage:4},{key:"dns",label:"DNS records",href:"/dns",icon:"sitemap",stage:4},{key:"uptime",label:"Uptime",href:"/uptime",icon:"heartbeat",stage:2},{key:"logs",label:"Logs",href:"/logs",icon:"file",stage:5,hideForViewer:!0}],database:[{key:"supabase",label:"Supabase",href:"/supabase",icon:"bolt",stage:3},{key:"neon",label:"Neon",href:"/neon",icon:"database",stage:3},{key:"firebase",label:"Firebase",href:"/firebase",icon:"flame",stage:3},{key:"turso",label:"Turso",href:"/turso",icon:"database",stage:8},{key:"upstash",label:"Upstash Redis",href:"/upstash",icon:"bolt",stage:8},{key:"d1",label:"Cloudflare D1",href:"/d1",icon:"cloud",stage:8},{key:"sql",label:"SQL console",href:"/sql",icon:"terminal",stage:9,ownerOnly:!0},{key:"catalog",label:"Free databases",href:"/catalog",icon:"books",stage:7}],devops:[{key:"repos",label:"Repositories",href:"/repos",icon:"github",stage:9,sub:"Automation"}],manage:[{key:"alerts",label:"Alerts",href:"/alerts",icon:"bell",stage:5,sub:"Alerting"},{key:"status-page",label:"Status page",href:"/settings?tab=status-page",icon:"page",stage:7,ownerOnly:!0,sub:"Alerting"},{key:"connections",label:"Connections",href:"/connections",icon:"plug",stage:1,ownerOnly:!0,sub:"Setup"},{key:"settings",label:"Settings",href:"/settings",icon:"settings",stage:1,ownerOnly:!0,sub:"Setup"},{key:"sections",label:"Sections",href:"/manage/sections",icon:"layout",stage:12,ownerOnly:!0,sub:"Setup"},{key:"backups",label:"Backups",href:"/backups",icon:"cloud-upload",stage:7,ownerOnly:!0,sub:"Setup"}]},l=["home","hosting","database","devops","manage"].map(a=>({section:a,group:j[a].label,items:k[a]})),m={nav:[]};function n(a=m){let b=l.map(a=>({...a,items:[...a.items]}));for(let c of a.nav){let a=b.find(a=>a.section===c.section)??b.find(a=>"manage"===a.section),d=c.after?a.items.findIndex(a=>a.key===c.after):-1;d<0?a.items.push(...c.items):a.items.splice(d+1,0,...c.items)}return b}function o(a,b=m,c){let d=c?new Set(c):null;return n(b).filter(a=>!d||d.has(a.section)).map(b=>({...b,items:b.items.filter(b=>b.ownerOnly?"owner"===a:!b.hideForViewer||"viewer"!==a)})).filter(a=>a.items.length>0)}let p=a=>a.split("?")[0];function q(a,b){let c=b.trim().toLowerCase(),d=a.toLowerCase(),e=d.indexOf(c);if(e<0)return null;if(0===e)return 0;for(let a=d.indexOf(c);a>=0;a=d.indexOf(c,a+1))if(!/[a-z0-9]/.test(d[a-1]??" "))return 1;return 2}var r=a.i(424567),s=a.i(742089),t=a.i(449862);let u=(0,t.f)("outline","apps","Apps",[["path",{d:"M4 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4",key:"svg-0"}],["path",{d:"M4 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4",key:"svg-1"}],["path",{d:"M14 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4",key:"svg-2"}],["path",{d:"M14 7l6 0",key:"svg-3"}],["path",{d:"M17 4l0 6",key:"svg-4"}]]);var v=a.i(896293),w=a.i(133004);let x=(0,t.f)("outline","books","Books",[["path",{d:"M5 5a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -14",key:"svg-0"}],["path",{d:"M9 5a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -14",key:"svg-1"}],["path",{d:"M5 8h4",key:"svg-2"}],["path",{d:"M9 16h4",key:"svg-3"}],["path",{d:"M13.803 4.56l2.184 -.53c.562 -.135 1.133 .19 1.282 .732l3.695 13.418a1.02 1.02 0 0 1 -.634 1.219l-.133 .041l-2.184 .53c-.562 .135 -1.133 -.19 -1.282 -.732l-3.695 -13.418a1.02 1.02 0 0 1 .634 -1.219l.133 -.041",key:"svg-4"}],["path",{d:"M14 9l4 -1",key:"svg-5"}],["path",{d:"M16 16l3.923 -.98",key:"svg-6"}]]);var y=a.i(36600);let z=(0,t.f)("outline","broadcast","Broadcast",[["path",{d:"M18.364 19.364a9 9 0 1 0 -12.728 0",key:"svg-0"}],["path",{d:"M15.536 16.536a5 5 0 1 0 -7.072 0",key:"svg-1"}],["path",{d:"M11 13a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]),A=(0,t.f)("outline","browser","Browser",[["path",{d:"M4 8h16",key:"svg-0"}],["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",key:"svg-1"}],["path",{d:"M8 4v4",key:"svg-2"}]]);var B=a.i(786581);let C=(0,t.f)("outline","cloud-upload","CloudUpload",[["path",{d:"M7 18a4.6 4.4 0 0 1 0 -9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-1",key:"svg-0"}],["path",{d:"M9 15l3 -3l3 3",key:"svg-1"}],["path",{d:"M12 12l0 9",key:"svg-2"}]]);var D=a.i(713352);let E=(0,t.f)("outline","file-text","FileText",[["path",{d:"M14 3v4a1 1 0 0 0 1 1h4",key:"svg-0"}],["path",{d:"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2",key:"svg-1"}],["path",{d:"M9 9l1 0",key:"svg-2"}],["path",{d:"M9 13l6 0",key:"svg-3"}],["path",{d:"M9 17l6 0",key:"svg-4"}]]);var F=a.i(471941),G=a.i(614548);let H=(0,t.f)("outline","hierarchy-3","Hierarchy3",[["path",{d:"M10 5a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-0"}],["path",{d:"M6 12a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-1"}],["path",{d:"M10 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-2"}],["path",{d:"M18 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-3"}],["path",{d:"M2 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-4"}],["path",{d:"M14 12a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-5"}],["path",{d:"M5 17l2 -3",key:"svg-6"}],["path",{d:"M9 10l2 -3",key:"svg-7"}],["path",{d:"M13 7l2 3",key:"svg-8"}],["path",{d:"M17 14l2 3",key:"svg-9"}],["path",{d:"M15 14l-2 3",key:"svg-10"}],["path",{d:"M9 14l2 3",key:"svg-11"}]]);var I=a.i(615016);let J=(0,t.f)("outline","layout-list","LayoutList",[["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -2",key:"svg-0"}],["path",{d:"M4 16a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -2",key:"svg-1"}]]);var K=a.i(335371);let L=(0,t.f)("outline","rocket","Rocket",[["path",{d:"M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3",key:"svg-0"}],["path",{d:"M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3",key:"svg-1"}],["path",{d:"M14 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]),M=(0,t.f)("outline","route-2","Route2",[["path",{d:"M3 19a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M19 7a2 2 0 1 0 0 -4a2 2 0 0 0 0 4",key:"svg-1"}],["path",{d:"M14 5a2 2 0 0 0 -2 2v10a2 2 0 0 1 -2 2",key:"svg-2"}]]),N=(0,t.f)("outline","settings","Settings",[["path",{d:"M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065",key:"svg-0"}],["path",{d:"M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",key:"svg-1"}]]);var O=a.i(105084);let P=(0,t.f)("outline","terminal-2","Terminal2",[["path",{d:"M8 9l3 3l-3 3",key:"svg-0"}],["path",{d:"M13 15l3 0",key:"svg-1"}],["path",{d:"M3 6a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2l0 -12",key:"svg-2"}]]),Q=(0,t.f)("outline","world","World",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M3.6 9h16.8",key:"svg-1"}],["path",{d:"M3.6 15h16.8",key:"svg-2"}],["path",{d:"M11.5 3a17 17 0 0 0 0 18",key:"svg-3"}],["path",{d:"M12.5 3a17 17 0 0 1 0 18",key:"svg-4"}]]),R={dashboard:I.f,topology:H,activity:r.f,apps:u,rocket:L,world:Q,sitemap:O.f,bolt:w.f,database:D.f,flame:F.f,books:x,heartbeat:G.f,bell:v.f,file:E,broadcast:z,plug:K.f,"cloud-upload":C,cloud:B.f,settings:N,route:M,api:s.f,github:y.f,terminal:P,layout:J,page:A};function S({role:a,ext:d,sections:e,open:f,opener:g,onOpen:h,onClose:k}){let[l,m]=(0,c.useState)(null),[n,p]=(0,c.useState)(!1),q=(0,c.useRef)(!1);(0,c.useEffect)(()=>{function a(a){"k"!==a.key.toLowerCase()||!(a.ctrlKey||a.metaKey)||a.shiftKey||a.altKey||(a.preventDefault(),a.repeat||(f?k():h(document.activeElement)))}return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[f,h,k]),(0,c.useEffect)(()=>{f&&!q.current&&(q.current=!0,i().then(a=>{a.ok&&a.data?(m(a.data),p(!1)):p(!0)}).catch(()=>p(!0)).finally(()=>{q.current=!1}))},[f]);let r=(0,c.useMemo)(()=>(function(a,b,c={nav:[],palette:[]},d){let e=o(a,c,d).flatMap(a=>a.items.map(b=>({id:`page:${b.key}`,label:b.label,hint:a.group,href:b.href,icon:b.icon}))),f="owner"!==a?[]:c.palette.filter(a=>!e.some(b=>b.href===a.href)).map(a=>{let b=c.nav.flatMap(a=>a.items.map(b=>({g:a,i:b}))).find(({i:b})=>a.href===b.href||a.href.startsWith(`${b.href}/`));return{id:`ext:${a.href}`,label:a.label,hint:b?`${j[b.g.section].label} \xb7 ${b.i.label}`:"Page",href:a.href,icon:b?.i.icon??"dashboard",keywords:a.keywords}}),g=[...e,...f];if(!b)return g;let h=b.apps.map(a=>({id:`app:${a.id}`,label:a.name,hint:a.domain,href:`/apps/${a.id}`,icon:"apps"})),i=b.monitors.map(a=>({id:`monitor:${a.id}`,label:`${a.appName}${a.path}`,hint:"Monitor",href:`/apps/${a.appId}`,icon:"heartbeat"}));return[...g,...h,...(b.domains??[]).map(a=>({id:`domain:${a.id}`,label:a.name,hint:"Domain",href:"/domains",icon:"world"})),...i]})(a,l,d,e),[a,l,d,e]);return f?(0,b.jsx)(T,{items:r,loading:null===l&&!n,opener:g,onClose:k}):null}function T({items:a,loading:e,opener:h=null,onClose:i}){let j=(0,g.useRouter)(),k=(0,c.useId)(),l=(0,c.useRef)(null),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(0),{shot:r}=(0,d.usePrivacy)(),s=(0,d.useMask)(),t=(0,c.useMemo)(()=>a.map(a=>a.id.startsWith("page:")?a:{...a,label:s("text",a.label),hint:s("text",a.hint)}),[a,s]),u=(0,c.useMemo)(()=>(function(a,b,c,d=20){if(!c.trim())return b.slice(0,d);let e=a=>(function(a,b){let c=q(a.label,b);if(null!==c)return c;let d=q(a.hint,b);if(null!==d)return d+3;let e=(a.keywords??[]).map(a=>q(a,b)).filter(a=>null!==a);return e.length?Math.min(...e)+6:null})(a,c),f=[];return a.forEach((a,c)=>{let d=e(a),g=e(b[c]),h=null===d?g:null===g?d:Math.min(d,g);null!==h&&f.push({item:b[c],score:h})}),f.sort((a,b)=>a.score-b.score).slice(0,d).map(a=>a.item)})(a,r?t:a,m),[a,t,r,m]),v=Math.min(o,Math.max(0,u.length-1)),w=a=>`${k}-opt-${a}`;function x(a){a&&(i(),j.push(a.href))}return(0,c.useEffect)(()=>{l.current?.focus()},[]),(0,c.useEffect)(()=>()=>{h instanceof HTMLElement&&h.isConnected&&h.focus()},[h]),(0,c.useEffect)(()=>{document.getElementById(`${k}-opt-${v}`)?.scrollIntoView?.({block:"nearest"})},[k,v,u]),(0,c.useEffect)(()=>{function a(a){"Escape"===a.key&&i(),"Tab"===a.key&&a.preventDefault()}return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[i]),(0,b.jsx)("div",{className:"fixed inset-0 z-[80] flex items-start justify-center bg-black/45 pt-[12vh]",onMouseDown:a=>{a.target===a.currentTarget&&i()},children:(0,b.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"Search",onMouseDown:a=>{a.target!==l.current&&a.preventDefault()},className:"w-[560px] max-w-[calc(100vw-32px)] overflow-hidden rounded-[10px] border border-line-strong bg-surface shadow-[0_16px_48px_rgba(0,0,0,.25)]",children:[(0,b.jsx)("input",{ref:l,role:"combobox","aria-expanded":u.length>0,"aria-controls":u.length>0?`${k}-list`:void 0,"aria-activedescendant":u.length>0?w(v):void 0,"aria-autocomplete":"list","aria-label":"Search",autoComplete:"off",placeholder:"Jump to a page, app, database, or domain",value:m,onChange:a=>{n(a.target.value),p(0)},onKeyDown:function(a){a.nativeEvent.isComposing||("ArrowDown"===a.key&&(p(Math.min(v+1,u.length-1)),a.preventDefault()),"ArrowUp"===a.key&&(p(Math.max(v-1,0)),a.preventDefault()),"Enter"===a.key&&(x(u[v]),a.preventDefault()))},className:"w-full border-0 border-b border-line bg-transparent px-4 py-3.5 text-[15px] text-ink outline-none placeholder:text-ink-faint"}),u.length>0?(0,b.jsx)("ul",{id:`${k}-list`,role:"listbox","aria-label":"Results",className:"m-0 max-h-[360px] list-none overflow-y-auto p-1.5",children:u.map((a,c)=>{let d=R[a.icon];return(0,b.jsxs)("li",{id:w(c),role:"option","aria-selected":c===v,onMouseMove:()=>{c!==v&&p(c)},onClick:()=>x(a),className:(0,f.f)("flex cursor-pointer items-center gap-2.5 rounded-md px-2.5 py-2",c===v&&"bg-brand-soft"),children:[(0,b.jsx)(d,{size:17,className:"shrink-0 text-ink-faint"}),(0,b.jsx)("span",{className:"min-w-0 truncate",children:a.label}),(0,b.jsx)("small",{className:"ml-auto shrink-0 pl-3 text-[12.5px] text-ink-faint",children:a.hint})]},a.id)})}):(0,b.jsx)("p",{role:"status",className:"m-0 p-4 text-ink-soft",children:e&&m.trim()?"Loading apps…":"No matches"})]})})}function U(){return(0,b.jsx)("div",{role:"note",className:"border-b border-line bg-brand-soft px-6 py-1.5 text-[12.5px] text-nav-active-text max-[720px]:px-3.5",children:"Demo — data is made up and resets. Results of your actions can disappear when the demo restarts."})}function V({size:a=28,title:c,className:d}){return(0,b.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",width:a,height:a,className:(0,f.f)("shrink-0",d),role:c?"img":void 0,"aria-hidden":!c||void 0,focusable:"false",children:[c?(0,b.jsx)("title",{children:c}):null,(0,b.jsx)("rect",{x:"0.5",y:"0.5",width:"31",height:"31",rx:"7",fill:"#14213d",strokeWidth:"1",className:"stroke-transparent dark:stroke-[#2f4372]"}),(0,b.jsxs)("g",{transform:"rotate(-14 15 16)",fill:"#fcc419",children:[(0,b.jsx)("rect",{x:"13.7",y:"5.4",width:"2.6",height:"2.4",rx:"1.1"}),(0,b.jsx)("path",{d:"M15 7.2c-4.3 0-6.8 3.1-6.8 7.3v4.1l-2.4 3.3h18.4l-2.4-3.3v-4.1c0-4.2-2.5-7.3-6.8-7.3z"}),(0,b.jsx)("circle",{cx:"15",cy:"24.3",r:"2.3"})]}),(0,b.jsxs)("g",{fill:"none",stroke:"#fcc419",strokeWidth:"2.2",strokeLinecap:"round",children:[(0,b.jsx)("path",{d:"M24.4 9.2c1.4 1.4 2.2 3.2 2.2 5.2"}),(0,b.jsx)("path",{d:"M22.8 11.1c.8.8 1.2 1.8 1.2 2.9"})]})]})}let W=(0,t.f)("outline","chevron-right","ChevronRight",[["path",{d:"M9 6l6 6l-6 6",key:"svg-0"}]]);var X=a.i(238246),Y=a.i(507504);let Z={ok:"bg-ok",warn:"bg-warn-icon",err:"bg-err",idle:"bg-idle"};function $({initialLastRunAt:a,initialNow:d,demo:e=!1}){let[g,h]=(0,c.useState)(a),[i,j]=(0,c.useState)(d);(0,c.useEffect)(()=>{(0,Y.markCollectorRun)(e||!g?null:Date.parse(g))},[g,e]),(0,c.useEffect)(()=>{if(e)return;let a=()=>{fetch("/api/status",{cache:"no-store"}).then(a=>a.ok&&!a.redirected&&(a.headers.get("content-type")??"").includes("application/json")?a.json():null).then(a=>{a&&"object"==typeof a&&"lastRunAt"in a&&(h(a.lastRunAt??null),j(Date.now()))}).catch(()=>void 0)},b=()=>{"visible"===document.visibilityState&&a()},c=()=>{"visible"===document.visibilityState&&a()};b();let d=setInterval(()=>j(Date.now()),5e3),f=setInterval(b,3e4);return document.addEventListener("visibilitychange",c),()=>{clearInterval(d),clearInterval(f),document.removeEventListener("visibilitychange",c)}},[e]);let k=e?{state:"ok",text:"Demo · no live collector"}:function(a,b){if(!a)return{state:"idle",text:"Collector hasn't run yet"};let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3)),d=Math.floor(c/60);return c<60?{state:"ok",text:`Collector ran ${c}s ago`}:c<120?{state:"ok",text:`Collector ran ${d} min ago`}:c<300?{state:"warn",text:`Collector late \xb7 ran ${d} min ago`}:{state:"err",text:`Collector stopped ${d} min ago`}}(g?new Date(g):null,new Date(i));return(0,b.jsxs)("div",{className:"flex items-center gap-2 border-t border-line px-4 py-3 text-xs text-ink-soft","aria-live":"off",children:[(0,b.jsx)("span",{className:(0,f.f)("size-2 shrink-0 rounded-full",Z[k.state]),"aria-hidden":!0}),k.text]})}function _({role:a,ext:d,sections:e,collector:h,alerts:i,mobileOpen:j,onNavigate:k,navRef:l}){let q=function(a,b=m,c){return function(a,b=m,c){let[d,e]=a.split("?"),f=d.replace(/\/+$/,"")||"/",g=null!=c?new URLSearchParams(c):void 0!==e?new URLSearchParams(e):null,h=null;for(let a of n(b).flatMap(a=>a.items)){let b=p(a.href);if(f!==b&&!f.startsWith(`${b}/`))continue;let c=a.href.includes("?");if(c&&(f!==b||!function(a,b){let c=a.split("?")[1];return!c||!!b&&[...new URLSearchParams(c)].every(([a,c])=>b.get(a)===c)}(a.href,g)))continue;let d=h?p(h.href).length:-1;(!h||b.length>d||b.length===d&&c&&!h.href.includes("?"))&&(h=a)}return h}(a,b,c)?.key??null}((0,g.usePathname)(),d,(0,g.useSearchParams)()),[r,s]=(0,c.useState)({});return(0,b.jsxs)("nav",{ref:l,tabIndex:-1,"aria-label":"Main navigation",className:(0,f.f)("sticky top-0 flex h-screen flex-col overflow-y-auto border-r border-line bg-nav focus:outline-none","max-[1000px]:fixed max-[1000px]:inset-y-0 max-[1000px]:left-0 max-[1000px]:z-50 max-[1000px]:w-[264px]",!j&&"max-[1000px]:invisible max-[1000px]:-translate-x-full"),children:[(0,b.jsxs)(X.default,{href:"/",className:"flex items-center gap-2.5 border-b border-line px-4 py-3.5 text-ink hover:no-underline",children:[(0,b.jsx)(V,{}),(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-semibold",children:"Watchbell"}),(0,b.jsx)("small",{className:"block text-xs text-ink-faint",children:"Personal"})]})]}),(0,b.jsx)("div",{className:"flex-1 px-2 pb-4 pt-2",children:o(a,d,e).map(a=>{let d=!r[a.section];return(0,b.jsxs)("div",{className:"mt-1.5",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":d,onClick:()=>s(b=>({...b,[a.section]:d})),className:"flex w-full items-center gap-1.5 rounded-md px-2 py-1.5 text-xs font-medium text-ink-faint hover:text-ink",children:[a.group,(0,b.jsx)(W,{size:14,className:(0,f.f)("ml-auto transition-transform",d&&"rotate-90")})]}),d&&(0,b.jsx)("ul",{children:a.items.map((d,e)=>{let g=R[d.icon],h=d.key===q,j=d.sub&&d.sub!==a.items[e-1]?.sub?d.sub:null;return(0,b.jsxs)(c.Fragment,{children:[j&&(0,b.jsx)("li",{"aria-hidden":!0,className:"px-2.5 pb-0.5 pt-1.5 text-[11px] uppercase tracking-[0.06em] text-ink-faint",children:j}),(0,b.jsx)("li",{children:(0,b.jsxs)(X.default,{href:d.href,onClick:k,"aria-current":h?"page":void 0,className:(0,f.f)("flex items-center gap-2.5 rounded-md px-2.5 py-[7px] text-nav-text hover:bg-hover hover:no-underline",h&&"bg-nav-active font-medium text-nav-active-text"),children:[(0,b.jsx)(g,{size:17,className:h?"text-nav-active-text":"text-ink-faint"}),d.label,"alerts"===d.key&&i>0&&(0,b.jsxs)("span",{className:"ml-auto rounded-[10px] bg-err-soft px-1.5 font-mono text-[11px] font-medium text-err",children:[i,(0,b.jsx)("span",{className:"sr-only",children:" firing"})]})]})})]},d.key)})})]},a.section)})}),(0,b.jsx)($,{initialLastRunAt:h.lastRunAt,initialNow:h.now,demo:h.demo})]})}let aa=(0,t.f)("outline","eye","Eye",[["path",{d:"M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6",key:"svg-1"}]]),ab=(0,t.f)("outline","eye-off","EyeOff",[["path",{d:"M10.585 10.587a2 2 0 0 0 2.829 2.828",key:"svg-0"}],["path",{d:"M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87",key:"svg-1"}],["path",{d:"M3 3l18 18",key:"svg-2"}]]),ac=(0,t.f)("outline","layout-sidebar","LayoutSidebar",[["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",key:"svg-0"}],["path",{d:"M9 4l0 16",key:"svg-1"}]]),ad=(0,t.f)("outline","search","Search",[["path",{d:"M3 10a7 7 0 1 0 14 0a7 7 0 1 0 -14 0",key:"svg-0"}],["path",{d:"M21 21l-6 -6",key:"svg-1"}]]),ae=(0,t.f)("outline","tag","Tag",[["path",{d:"M6.5 7.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M3 6v5.172a2 2 0 0 0 .586 1.414l7.71 7.71a2.41 2.41 0 0 0 3.408 0l5.592 -5.592a2.41 2.41 0 0 0 0 -3.408l-7.71 -7.71a2 2 0 0 0 -1.414 -.586h-5.172a3 3 0 0 0 -3 3",key:"svg-1"}]]);var af=a.i(619089),ag=a.i(403990);let ah=(0,t.f)("outline","sun","Sun",[["path",{d:"M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0",key:"svg-0"}],["path",{d:"M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7",key:"svg-1"}]]);var ai=a.i(678464);function aj(a){let b=new MutationObserver(a);return b.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>b.disconnect()}function ak(){return"dark"===document.documentElement.dataset.theme?"dark":"light"}function al(){return"light"}function am(){let a=(0,c.useSyncExternalStore)(aj,ak,al);return(0,b.jsx)("button",{type:"button",onClick:function(){let b=(0,ai.w)(a);document.documentElement.dataset.theme=b;try{localStorage.setItem(ai.K,b)}catch{}},"aria-label":"Toggle theme",title:"Toggle theme",className:"relative inline-grid size-[34px] place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:"dark"===a?(0,b.jsx)(ah,{size:18}):(0,b.jsx)(ag.f,{size:18})})}var an=a.i(740197),ao=a.i(521341),ap=a.i(768758),aq=a.i(505358),ar=a.i(749867),as=a.i(532489);let at=(0,t.f)("outline","building-skyscraper","BuildingSkyscraper",[["path",{d:"M3 21l18 0",key:"svg-0"}],["path",{d:"M5 21v-14l8 -4v18",key:"svg-1"}],["path",{d:"M19 21v-10l-6 -4",key:"svg-2"}],["path",{d:"M9 9l0 .01",key:"svg-3"}],["path",{d:"M9 12l0 .01",key:"svg-4"}],["path",{d:"M9 15l0 .01",key:"svg-5"}],["path",{d:"M9 18l0 .01",key:"svg-6"}]]);var au=a.i(851519);function av({link:a}){let[d,e]=(0,c.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(af._,{label:a.label,pressed:d,onClick:()=>e(!0),children:(0,b.jsx)(at,{size:18})}),(0,b.jsx)(an.f.Root,{open:d,onOpenChange:e,children:(0,b.jsxs)(ao.f.Portal,{children:[(0,b.jsx)(ap.f.Backdrop,{className:"fixed inset-0 z-50 bg-black/10"}),(0,b.jsxs)(aq.f.Popup,{"aria-describedby":void 0,className:"fixed inset-y-0 right-0 z-50 flex w-1/2 min-w-[560px] flex-col border-l border-line bg-surface text-ink shadow-lg outline-none max-[900px]:w-full max-[900px]:min-w-0",children:[(0,b.jsxs)("div",{className:"flex h-[52px] shrink-0 items-center gap-3 border-b border-line px-4",children:[(0,b.jsx)(ar.f.Title,{className:"text-[15px] font-semibold",children:a.title}),(0,b.jsx)(X.default,{href:a.href,onClick:()=>e(!1),className:"ml-auto text-[13px] font-medium text-brand hover:underline",children:a.openLabel}),(0,b.jsx)(as.f.Close,{"aria-label":"Close",title:"Close",className:"inline-grid size-[34px] place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:(0,b.jsx)(au.f,{size:18})})]}),(0,b.jsx)("iframe",{src:a.frame,title:a.title,className:"min-h-0 w-full flex-1 border-0"})]})]})})]})}var aw=a.i(236024),ax=a.i(335732);let ay={owner:"Owner",operator:"Operator",viewer:"Viewer"};function az({email:a,role:e,hasPassword:f=!1}){let[g,h]=(0,c.useTransition)(),i=(0,d.useMask)()("email",a),j=i!==a;return(0,b.jsxs)(ax.G,{children:[(0,b.jsx)(ax.X,{"aria-label":"Account menu",className:"ml-1 grid size-[30px] place-items-center rounded-full border border-line bg-sunken font-mono text-[11px] font-medium uppercase focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:j?"··":a.slice(0,2)}),(0,b.jsxs)(ax.L,{align:"end",className:"min-w-[200px]",children:[(0,b.jsx)(ax.P,{children:(0,b.jsxs)(ax.B,{children:[(0,b.jsx)("span",{className:"block truncate",children:i}),(0,b.jsx)("span",{className:"block text-xs font-normal text-ink-faint",children:ay[e]})]})}),(0,b.jsx)(ax.U,{}),f&&(0,b.jsx)(ax.r,{render:(0,b.jsx)(X.default,{href:"/account/password"}),children:"Change password"}),(0,b.jsx)(ax.r,{className:"text-err",disabled:g,onClick:()=>h(()=>(0,aw.f)()),children:"Sign out"})]})]})}function aA({user:a,office:c,alerts:f,onToggleNav:g,onOpenPalette:h,navButtonRef:i}){let{show:j,toggle:k}=(0,e.useSources)(),{shot:l,setShot:m}=(0,d.usePrivacy)();return(0,b.jsxs)("header",{className:"sticky top-0 z-20 flex h-[52px] items-center gap-2 border-b border-line bg-surface px-4",children:[(0,b.jsx)(af._,{ref:i,label:"Toggle navigation",onClick:g,children:(0,b.jsx)(ac,{size:18})}),(0,b.jsxs)("button",{type:"button",onClick:a=>h(a.currentTarget),"aria-label":"Search","aria-keyshortcuts":"Control+K Meta+K",className:"ml-2 flex w-[280px] items-center gap-2 whitespace-nowrap rounded-[7px] border border-line bg-surface-2 px-2.5 py-1.5 text-ink-faint max-[720px]:w-auto",children:[(0,b.jsx)(ad,{size:16}),(0,b.jsx)("span",{className:"max-[720px]:hidden",children:"Search apps, databases, pages"}),(0,b.jsx)("kbd",{className:"ml-auto rounded border border-line-strong px-[5px] font-mono text-[11px] text-ink-soft max-[720px]:hidden",children:"Ctrl K"})]}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-0.5",children:[l&&(0,b.jsxs)("button",{type:"button",onClick:()=>m(!1),title:"Screenshot mode is on. Click to turn it off.","aria-label":"Screenshot mode is on. Turn it off",className:"mr-1.5 inline-flex items-center gap-1 whitespace-nowrap rounded-full border border-warn/40 bg-warn-soft px-2.5 py-0.5 text-[12.5px] font-medium text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:[(0,b.jsx)(ab,{size:14,"aria-hidden":!0,className:"text-warn-icon"}),(0,b.jsx)("span",{className:"max-[480px]:hidden",children:"Screenshot mode"})]}),(0,b.jsx)(Y.LiveIndicator,{}),(0,b.jsx)(af._,{label:"Show data sources",pressed:j,onClick:k,children:(0,b.jsx)(ae,{size:18})}),c&&"owner"===a.role&&(0,b.jsx)(av,{link:c}),(0,b.jsx)(af._,{label:"Screenshot mode",pressed:l,onClick:()=>m(!l),children:l?(0,b.jsx)(ab,{size:18}):(0,b.jsx)(aa,{size:18})}),(0,b.jsx)(am,{}),(0,b.jsxs)(X.default,{href:"/alerts","aria-label":f?`Alerts, ${f} firing`:"Alerts",className:"relative inline-grid size-[34px] place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink",children:[(0,b.jsx)(v.f,{size:18}),f>0&&(0,b.jsx)("span",{"aria-hidden":!0,className:"absolute right-0.5 top-[3px] rounded-[9px] bg-err px-1 font-mono text-[10px] font-medium leading-[15px] text-white",children:f})]}),(0,b.jsx)(az,{email:a.email,role:a.role,hasPassword:a.hasPassword})]})]})}let aB={nav:[],palette:[]};a.s(["Shell",0,function({user:a,collector:g,alerts:h,book:i,shot:j,ext:k=aB,sections:l,children:m}){let[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)(null),v=(0,c.useRef)(null),w=(0,c.useRef)(null),x=(0,c.useRef)(!1);function y(a){u(a),s(!0)}return(0,c.useEffect)(()=>{n?(x.current=!0,v.current?.focus()):x.current&&(x.current=!1,w.current?.focus())},[n]),(0,c.useEffect)(()=>{if(n)return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a);function a(a){"Escape"===a.key&&o(!1)}},[n]),(0,b.jsx)(d.AliasProvider,{book:i,shot:j,children:(0,b.jsxs)(e.SourcesProvider,{children:[(0,b.jsxs)("div",{className:(0,f.f)("grid min-h-screen grid-cols-1",!p&&"min-[1001px]:grid-cols-[248px_minmax(0,1fr)]"),children:[(!p||n)&&(0,b.jsx)(_,{role:a.role,ext:k,sections:l,collector:g,alerts:h,mobileOpen:n,onNavigate:()=>o(!1),navRef:v}),n&&(0,b.jsx)("button",{type:"button","aria-label":"Close navigation",className:"fixed inset-0 z-40 bg-black/45 min-[1001px]:hidden",onClick:()=>o(!1)}),(0,b.jsxs)("main",{className:"min-w-0",children:[g.demo&&(0,b.jsx)(U,{}),(0,b.jsx)(aA,{user:a,office:k.office,alerts:h,onToggleNav:function(){window.matchMedia("(max-width: 1000px)").matches?o(a=>!a):q(a=>!a)},onOpenPalette:y,navButtonRef:w}),(0,b.jsx)("div",{className:"flex max-w-[1480px] flex-col gap-4 px-6 pb-10 pt-5 max-[720px]:px-3.5",children:m})]})]}),(0,b.jsx)(S,{role:a.role,ext:k,sections:l,open:r,opener:t,onOpen:y,onClose:()=>s(!1)})]})})}],480761)},299233,a=>{var b=a.i(147474);a.s(["TimeZoneSync",0,function({zone:a}){return(0,b.k)(a),null}])}]})();
1
+ (()=>{"use strict";module.exports=[801789,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("001e9ad44945cb3bcbd90d82f68952c2c04476845c",f.callServer,void 0,f.findSourceMapURL,"dismissWhatsNew");a.s(["WhatsNewDismiss",0,function(){let[a,f]=(0,c.useTransition)();return(0,b.jsx)(e.K,{size:"sm",onClick:()=>f(async()=>{try{let a=await g();a.ok||d.c.error(a.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),disabled:a,children:a?"Saving…":"Got it"})}],801789)},480761,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(771378),e=a.i(728951),f=a.i(368114),g=a.i(50944),h=a.i(405050);let i=(0,h.createServerReference)("008bca6de048142834daeda05d13d05a603427fc3d",h.callServer,void 0,h.findSourceMapURL,"loadPaletteSource"),j={home:{label:"Home",holds:"Overview, Topology, Events and Provider status.",appears:"Always on."},hosting:{label:"Hosting",holds:"Applications, Deployments, Domains, DNS records, Uptime and Logs.",appears:"On from the start, so Uptime is always in the menu."},database:{label:"Database",holds:"Supabase, Neon, Firebase, Turso, Upstash Redis, Cloudflare D1, the SQL console and Free databases.",appears:"Appears when you connect Supabase, Neon, Firebase, Turso or Upstash, or once a database is watched.",keeps:"Keep active and Auto-restore keep running while it is off, so your free Supabase projects aren't paused."},devops:{label:"DevOps",holds:"Automation: GitHub repositories, their Actions runs and dependency advisories.",appears:"Appears when you connect GitHub."},manage:{label:"Manage",holds:"Connections, Alerts, Auto-actions, Sections, Settings, AI gateway, API explorer, Status page and Backups.",appears:"Always on."}},k={home:[{key:"overview",label:"Overview",href:"/overview",icon:"dashboard",stage:2},{key:"topology",label:"Topology",href:"/topology",icon:"topology",stage:4},{key:"events",label:"Events",href:"/events",icon:"activity",stage:2},{key:"status",label:"Provider status",href:"/status",icon:"broadcast",stage:5}],hosting:[{key:"apps",label:"Applications",href:"/apps",icon:"apps",stage:2},{key:"deployments",label:"Deployments",href:"/deployments",icon:"rocket",stage:2},{key:"domains",label:"Domains",href:"/domains",icon:"world",stage:4},{key:"dns",label:"DNS records",href:"/dns",icon:"sitemap",stage:4},{key:"uptime",label:"Uptime",href:"/uptime",icon:"heartbeat",stage:2},{key:"logs",label:"Logs",href:"/logs",icon:"file",stage:5,hideForViewer:!0}],database:[{key:"supabase",label:"Supabase",href:"/supabase",icon:"bolt",stage:3},{key:"neon",label:"Neon",href:"/neon",icon:"database",stage:3},{key:"firebase",label:"Firebase",href:"/firebase",icon:"flame",stage:3},{key:"turso",label:"Turso",href:"/turso",icon:"database",stage:8},{key:"upstash",label:"Upstash Redis",href:"/upstash",icon:"bolt",stage:8},{key:"d1",label:"Cloudflare D1",href:"/d1",icon:"cloud",stage:8},{key:"sql",label:"SQL console",href:"/sql",icon:"terminal",stage:9,ownerOnly:!0},{key:"catalog",label:"Free databases",href:"/catalog",icon:"books",stage:7}],devops:[{key:"repos",label:"Repositories",href:"/repos",icon:"github",stage:9,sub:"Automation"}],manage:[{key:"alerts",label:"Alerts",href:"/alerts",icon:"bell",stage:5,sub:"Alerting"},{key:"status-page",label:"Status page",href:"/settings?tab=status-page",icon:"page",stage:7,ownerOnly:!0,sub:"Alerting"},{key:"connections",label:"Connections",href:"/connections",icon:"plug",stage:1,ownerOnly:!0,sub:"Setup"},{key:"settings",label:"Settings",href:"/settings",icon:"settings",stage:1,ownerOnly:!0,sub:"Setup"},{key:"sections",label:"Sections",href:"/manage/sections",icon:"layout",stage:12,ownerOnly:!0,sub:"Setup"},{key:"backups",label:"Backups",href:"/backups",icon:"cloud-upload",stage:7,ownerOnly:!0,sub:"Setup"}]},l=["home","hosting","database","devops","manage"].map(a=>({section:a,group:j[a].label,items:k[a]})),m={nav:[]};function n(a=m){let b=l.map(a=>({...a,items:[...a.items]}));for(let c of a.nav){let a=b.find(a=>a.section===c.section)??b.find(a=>"manage"===a.section),d=c.after?a.items.findIndex(a=>a.key===c.after):-1;d<0?a.items.push(...c.items):a.items.splice(d+1,0,...c.items)}return b}function o(a,b=m,c){let d=c?new Set(c):null;return n(b).filter(a=>!d||d.has(a.section)).map(b=>({...b,items:b.items.filter(b=>b.ownerOnly?"owner"===a:!b.hideForViewer||"viewer"!==a)})).filter(a=>a.items.length>0)}let p=a=>a.split("?")[0];function q(a,b){let c=b.trim().toLowerCase(),d=a.toLowerCase(),e=d.indexOf(c);if(e<0)return null;if(0===e)return 0;for(let a=d.indexOf(c);a>=0;a=d.indexOf(c,a+1))if(!/[a-z0-9]/.test(d[a-1]??" "))return 1;return 2}var r=a.i(424567),s=a.i(742089),t=a.i(449862);let u=(0,t.f)("outline","apps","Apps",[["path",{d:"M4 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4",key:"svg-0"}],["path",{d:"M4 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4",key:"svg-1"}],["path",{d:"M14 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4",key:"svg-2"}],["path",{d:"M14 7l6 0",key:"svg-3"}],["path",{d:"M17 4l0 6",key:"svg-4"}]]);var v=a.i(896293),w=a.i(133004);let x=(0,t.f)("outline","books","Books",[["path",{d:"M5 5a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -14",key:"svg-0"}],["path",{d:"M9 5a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -14",key:"svg-1"}],["path",{d:"M5 8h4",key:"svg-2"}],["path",{d:"M9 16h4",key:"svg-3"}],["path",{d:"M13.803 4.56l2.184 -.53c.562 -.135 1.133 .19 1.282 .732l3.695 13.418a1.02 1.02 0 0 1 -.634 1.219l-.133 .041l-2.184 .53c-.562 .135 -1.133 -.19 -1.282 -.732l-3.695 -13.418a1.02 1.02 0 0 1 .634 -1.219l.133 -.041",key:"svg-4"}],["path",{d:"M14 9l4 -1",key:"svg-5"}],["path",{d:"M16 16l3.923 -.98",key:"svg-6"}]]);var y=a.i(36600);let z=(0,t.f)("outline","broadcast","Broadcast",[["path",{d:"M18.364 19.364a9 9 0 1 0 -12.728 0",key:"svg-0"}],["path",{d:"M15.536 16.536a5 5 0 1 0 -7.072 0",key:"svg-1"}],["path",{d:"M11 13a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]),A=(0,t.f)("outline","browser","Browser",[["path",{d:"M4 8h16",key:"svg-0"}],["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",key:"svg-1"}],["path",{d:"M8 4v4",key:"svg-2"}]]);var B=a.i(786581);let C=(0,t.f)("outline","cloud-upload","CloudUpload",[["path",{d:"M7 18a4.6 4.4 0 0 1 0 -9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-1",key:"svg-0"}],["path",{d:"M9 15l3 -3l3 3",key:"svg-1"}],["path",{d:"M12 12l0 9",key:"svg-2"}]]);var D=a.i(713352);let E=(0,t.f)("outline","file-text","FileText",[["path",{d:"M14 3v4a1 1 0 0 0 1 1h4",key:"svg-0"}],["path",{d:"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2",key:"svg-1"}],["path",{d:"M9 9l1 0",key:"svg-2"}],["path",{d:"M9 13l6 0",key:"svg-3"}],["path",{d:"M9 17l6 0",key:"svg-4"}]]);var F=a.i(471941),G=a.i(614548);let H=(0,t.f)("outline","hierarchy-3","Hierarchy3",[["path",{d:"M10 5a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-0"}],["path",{d:"M6 12a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-1"}],["path",{d:"M10 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-2"}],["path",{d:"M18 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-3"}],["path",{d:"M2 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-4"}],["path",{d:"M14 12a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-5"}],["path",{d:"M5 17l2 -3",key:"svg-6"}],["path",{d:"M9 10l2 -3",key:"svg-7"}],["path",{d:"M13 7l2 3",key:"svg-8"}],["path",{d:"M17 14l2 3",key:"svg-9"}],["path",{d:"M15 14l-2 3",key:"svg-10"}],["path",{d:"M9 14l2 3",key:"svg-11"}]]);var I=a.i(615016);let J=(0,t.f)("outline","layout-list","LayoutList",[["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -2",key:"svg-0"}],["path",{d:"M4 16a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -2",key:"svg-1"}]]);var K=a.i(335371);let L=(0,t.f)("outline","rocket","Rocket",[["path",{d:"M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3",key:"svg-0"}],["path",{d:"M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3",key:"svg-1"}],["path",{d:"M14 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]),M=(0,t.f)("outline","route-2","Route2",[["path",{d:"M3 19a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M19 7a2 2 0 1 0 0 -4a2 2 0 0 0 0 4",key:"svg-1"}],["path",{d:"M14 5a2 2 0 0 0 -2 2v10a2 2 0 0 1 -2 2",key:"svg-2"}]]),N=(0,t.f)("outline","settings","Settings",[["path",{d:"M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065",key:"svg-0"}],["path",{d:"M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",key:"svg-1"}]]);var O=a.i(105084);let P=(0,t.f)("outline","terminal-2","Terminal2",[["path",{d:"M8 9l3 3l-3 3",key:"svg-0"}],["path",{d:"M13 15l3 0",key:"svg-1"}],["path",{d:"M3 6a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2l0 -12",key:"svg-2"}]]),Q=(0,t.f)("outline","world","World",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M3.6 9h16.8",key:"svg-1"}],["path",{d:"M3.6 15h16.8",key:"svg-2"}],["path",{d:"M11.5 3a17 17 0 0 0 0 18",key:"svg-3"}],["path",{d:"M12.5 3a17 17 0 0 1 0 18",key:"svg-4"}]]),R={dashboard:I.f,topology:H,activity:r.f,apps:u,rocket:L,world:Q,sitemap:O.f,bolt:w.f,database:D.f,flame:F.f,books:x,heartbeat:G.f,bell:v.f,file:E,broadcast:z,plug:K.f,"cloud-upload":C,cloud:B.f,settings:N,route:M,api:s.f,github:y.f,terminal:P,layout:J,page:A};function S({role:a,ext:d,sections:e,open:f,opener:g,onOpen:h,onClose:k}){let[l,m]=(0,c.useState)(null),[n,p]=(0,c.useState)(!1),q=(0,c.useRef)(!1);(0,c.useEffect)(()=>{function a(a){"k"!==a.key.toLowerCase()||!(a.ctrlKey||a.metaKey)||a.shiftKey||a.altKey||(a.preventDefault(),a.repeat||(f?k():h(document.activeElement)))}return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[f,h,k]),(0,c.useEffect)(()=>{f&&!q.current&&(q.current=!0,i().then(a=>{a.ok&&a.data?(m(a.data),p(!1)):p(!0)}).catch(()=>p(!0)).finally(()=>{q.current=!1}))},[f]);let r=(0,c.useMemo)(()=>(function(a,b,c={nav:[],palette:[]},d){let e=o(a,c,d).flatMap(a=>a.items.map(b=>({id:`page:${b.key}`,label:b.label,hint:a.group,href:b.href,icon:b.icon}))),f="owner"!==a?[]:c.palette.filter(a=>!e.some(b=>b.href===a.href)).map(a=>{let b=c.nav.flatMap(a=>a.items.map(b=>({g:a,i:b}))).find(({i:b})=>a.href===b.href||a.href.startsWith(`${b.href}/`));return{id:`ext:${a.href}`,label:a.label,hint:b?`${j[b.g.section].label} \xb7 ${b.i.label}`:"Page",href:a.href,icon:b?.i.icon??"dashboard",keywords:a.keywords}}),g=[...e,...f];if(!b)return g;let h=b.apps.map(a=>({id:`app:${a.id}`,label:a.name,hint:a.domain,href:`/apps/${a.id}`,icon:"apps"})),i=b.monitors.map(a=>({id:`monitor:${a.id}`,label:`${a.appName}${a.path}`,hint:"Monitor",href:`/apps/${a.appId}`,icon:"heartbeat"}));return[...g,...h,...(b.domains??[]).map(a=>({id:`domain:${a.id}`,label:a.name,hint:"Domain",href:"/domains",icon:"world"})),...i]})(a,l,d,e),[a,l,d,e]);return f?(0,b.jsx)(T,{items:r,loading:null===l&&!n,opener:g,onClose:k}):null}function T({items:a,loading:e,opener:h=null,onClose:i}){let j=(0,g.useRouter)(),k=(0,c.useId)(),l=(0,c.useRef)(null),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(0),{shot:r}=(0,d.usePrivacy)(),s=(0,d.useMask)(),t=(0,c.useMemo)(()=>a.map(a=>a.id.startsWith("page:")?a:{...a,label:s("text",a.label),hint:s("text",a.hint)}),[a,s]),u=(0,c.useMemo)(()=>(function(a,b,c,d=20){if(!c.trim())return b.slice(0,d);let e=a=>(function(a,b){let c=q(a.label,b);if(null!==c)return c;let d=q(a.hint,b);if(null!==d)return d+3;let e=(a.keywords??[]).map(a=>q(a,b)).filter(a=>null!==a);return e.length?Math.min(...e)+6:null})(a,c),f=[];return a.forEach((a,c)=>{let d=e(a),g=e(b[c]),h=null===d?g:null===g?d:Math.min(d,g);null!==h&&f.push({item:b[c],score:h})}),f.sort((a,b)=>a.score-b.score).slice(0,d).map(a=>a.item)})(a,r?t:a,m),[a,t,r,m]),v=Math.min(o,Math.max(0,u.length-1)),w=a=>`${k}-opt-${a}`;function x(a){a&&(i(),j.push(a.href))}return(0,c.useEffect)(()=>{l.current?.focus()},[]),(0,c.useEffect)(()=>()=>{h instanceof HTMLElement&&h.isConnected&&h.focus()},[h]),(0,c.useEffect)(()=>{document.getElementById(`${k}-opt-${v}`)?.scrollIntoView?.({block:"nearest"})},[k,v,u]),(0,c.useEffect)(()=>{function a(a){"Escape"===a.key&&i(),"Tab"===a.key&&a.preventDefault()}return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[i]),(0,b.jsx)("div",{className:"fixed inset-0 z-[80] flex items-start justify-center bg-black/45 pt-[12vh]",onMouseDown:a=>{a.target===a.currentTarget&&i()},children:(0,b.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"Search",onMouseDown:a=>{a.target!==l.current&&a.preventDefault()},className:"w-[560px] max-w-[calc(100vw-32px)] overflow-hidden rounded-[10px] border border-line-strong bg-surface shadow-[0_16px_48px_rgba(0,0,0,.25)]",children:[(0,b.jsx)("input",{ref:l,role:"combobox","aria-expanded":u.length>0,"aria-controls":u.length>0?`${k}-list`:void 0,"aria-activedescendant":u.length>0?w(v):void 0,"aria-autocomplete":"list","aria-label":"Search",autoComplete:"off",placeholder:"Jump to a page, app, database, or domain",value:m,onChange:a=>{n(a.target.value),p(0)},onKeyDown:function(a){a.nativeEvent.isComposing||("ArrowDown"===a.key&&(p(Math.min(v+1,u.length-1)),a.preventDefault()),"ArrowUp"===a.key&&(p(Math.max(v-1,0)),a.preventDefault()),"Enter"===a.key&&(x(u[v]),a.preventDefault()))},className:"w-full border-0 border-b border-line bg-transparent px-4 py-3.5 text-[15px] text-ink outline-none placeholder:text-ink-faint"}),u.length>0?(0,b.jsx)("ul",{id:`${k}-list`,role:"listbox","aria-label":"Results",className:"m-0 max-h-[360px] list-none overflow-y-auto p-1.5",children:u.map((a,c)=>{let d=R[a.icon];return(0,b.jsxs)("li",{id:w(c),role:"option","aria-selected":c===v,onMouseMove:()=>{c!==v&&p(c)},onClick:()=>x(a),className:(0,f.f)("flex cursor-pointer items-center gap-2.5 rounded-md px-2.5 py-2",c===v&&"bg-brand-soft"),children:[(0,b.jsx)(d,{size:17,className:"shrink-0 text-ink-faint"}),(0,b.jsx)("span",{className:"min-w-0 truncate",children:a.label}),(0,b.jsx)("small",{className:"ml-auto shrink-0 pl-3 text-[12.5px] text-ink-faint",children:a.hint})]},a.id)})}):(0,b.jsx)("p",{role:"status",className:"m-0 p-4 text-ink-soft",children:e&&m.trim()?"Loading apps…":"No matches"})]})})}function U(){return(0,b.jsx)("div",{role:"note",className:"border-b border-line bg-brand-soft px-6 py-1.5 text-[12.5px] text-nav-active-text max-[720px]:px-3.5",children:"Demo — data is made up and resets. Results of your actions can disappear when the demo restarts."})}function V({size:a=28,title:c,className:d}){return(0,b.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",width:a,height:a,className:(0,f.f)("shrink-0",d),role:c?"img":void 0,"aria-hidden":!c||void 0,focusable:"false",children:[c?(0,b.jsx)("title",{children:c}):null,(0,b.jsx)("rect",{x:"0.5",y:"0.5",width:"31",height:"31",rx:"7",fill:"#14213d",strokeWidth:"1",className:"stroke-transparent dark:stroke-[#2f4372]"}),(0,b.jsxs)("g",{transform:"rotate(-14 15 16)",fill:"#fcc419",children:[(0,b.jsx)("rect",{x:"13.7",y:"5.4",width:"2.6",height:"2.4",rx:"1.1"}),(0,b.jsx)("path",{d:"M15 7.2c-4.3 0-6.8 3.1-6.8 7.3v4.1l-2.4 3.3h18.4l-2.4-3.3v-4.1c0-4.2-2.5-7.3-6.8-7.3z"}),(0,b.jsx)("circle",{cx:"15",cy:"24.3",r:"2.3"})]}),(0,b.jsxs)("g",{fill:"none",stroke:"#fcc419",strokeWidth:"2.2",strokeLinecap:"round",children:[(0,b.jsx)("path",{d:"M24.4 9.2c1.4 1.4 2.2 3.2 2.2 5.2"}),(0,b.jsx)("path",{d:"M22.8 11.1c.8.8 1.2 1.8 1.2 2.9"})]})]})}let W=(0,t.f)("outline","chevron-right","ChevronRight",[["path",{d:"M9 6l6 6l-6 6",key:"svg-0"}]]);var X=a.i(238246),Y=a.i(507504);let Z={ok:"bg-ok",warn:"bg-warn-icon",err:"bg-err",idle:"bg-idle"};function $({initialLastRunAt:a,initialNow:d,demo:e=!1}){let[g,h]=(0,c.useState)(a),[i,j]=(0,c.useState)(d);(0,c.useEffect)(()=>{(0,Y.markCollectorRun)(e||!g?null:Date.parse(g))},[g,e]),(0,c.useEffect)(()=>{if(e)return;let a=()=>{fetch("/api/status",{cache:"no-store"}).then(a=>a.ok&&!a.redirected&&(a.headers.get("content-type")??"").includes("application/json")?a.json():null).then(a=>{a&&"object"==typeof a&&"lastRunAt"in a&&(h(a.lastRunAt??null),j(Date.now()))}).catch(()=>void 0)},b=()=>{"visible"===document.visibilityState&&a()},c=()=>{"visible"===document.visibilityState&&a()};b();let d=setInterval(()=>j(Date.now()),5e3),f=setInterval(b,3e4);return document.addEventListener("visibilitychange",c),()=>{clearInterval(d),clearInterval(f),document.removeEventListener("visibilitychange",c)}},[e]);let k=e?{state:"ok",text:"Demo · no live collector"}:function(a,b){if(!a)return{state:"idle",text:"Collector hasn't run yet"};let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3)),d=Math.floor(c/60);return c<60?{state:"ok",text:`Collector ran ${c}s ago`}:c<120?{state:"ok",text:`Collector ran ${d} min ago`}:c<300?{state:"warn",text:`Collector late \xb7 ran ${d} min ago`}:{state:"err",text:`Collector stopped ${d} min ago`}}(g?new Date(g):null,new Date(i));return(0,b.jsxs)("div",{className:"flex items-center gap-2 border-t border-line px-4 py-3 text-xs text-ink-soft","aria-live":"off",children:[(0,b.jsx)("span",{className:(0,f.f)("size-2 shrink-0 rounded-full",Z[k.state]),"aria-hidden":!0}),k.text]})}function _({role:a,ext:d,sections:e,collector:h,alerts:i,mobileOpen:j,onNavigate:k,navRef:l}){let q=function(a,b=m,c){return function(a,b=m,c){let[d,e]=a.split("?"),f=d.replace(/\/+$/,"")||"/",g=null!=c?new URLSearchParams(c):void 0!==e?new URLSearchParams(e):null,h=null;for(let a of n(b).flatMap(a=>a.items)){let b=p(a.href);if(f!==b&&!f.startsWith(`${b}/`))continue;let c=a.href.includes("?");if(c&&(f!==b||!function(a,b){let c=a.split("?")[1];return!c||!!b&&[...new URLSearchParams(c)].every(([a,c])=>b.get(a)===c)}(a.href,g)))continue;let d=h?p(h.href).length:-1;(!h||b.length>d||b.length===d&&c&&!h.href.includes("?"))&&(h=a)}return h}(a,b,c)?.key??null}((0,g.usePathname)(),d,(0,g.useSearchParams)()),[r,s]=(0,c.useState)({});return(0,b.jsxs)("nav",{ref:l,tabIndex:-1,"aria-label":"Main navigation",className:(0,f.f)("sticky top-0 flex h-screen flex-col overflow-y-auto border-r border-line bg-nav focus:outline-none","max-[1000px]:fixed max-[1000px]:inset-y-0 max-[1000px]:left-0 max-[1000px]:z-50 max-[1000px]:w-[264px]",!j&&"max-[1000px]:invisible max-[1000px]:-translate-x-full"),children:[(0,b.jsxs)(X.default,{href:"/",className:"flex items-center gap-2.5 border-b border-line px-4 py-3.5 text-ink hover:no-underline",children:[(0,b.jsx)(V,{}),(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-semibold",children:"Watchbell"}),(0,b.jsx)("small",{className:"block text-xs text-ink-faint",children:"Personal"})]})]}),(0,b.jsx)("div",{className:"flex-1 px-2 pb-4 pt-2",children:o(a,d,e).map(a=>{let d=!r[a.section];return(0,b.jsxs)("div",{className:"mt-1.5",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":d,onClick:()=>s(b=>({...b,[a.section]:d})),className:"flex w-full items-center gap-1.5 rounded-md px-2 py-1.5 text-xs font-medium text-ink-faint hover:text-ink",children:[a.group,(0,b.jsx)(W,{size:14,className:(0,f.f)("ml-auto transition-transform",d&&"rotate-90")})]}),d&&(0,b.jsx)("ul",{children:a.items.map((d,e)=>{let g=R[d.icon],h=d.key===q,j=d.sub&&d.sub!==a.items[e-1]?.sub?d.sub:null;return(0,b.jsxs)(c.Fragment,{children:[j&&(0,b.jsx)("li",{"aria-hidden":!0,className:"px-2.5 pb-0.5 pt-1.5 text-[11px] uppercase tracking-[0.06em] text-ink-faint",children:j}),(0,b.jsx)("li",{children:(0,b.jsxs)(X.default,{href:d.href,onClick:k,"aria-current":h?"page":void 0,className:(0,f.f)("flex items-center gap-2.5 rounded-md px-2.5 py-[7px] text-nav-text hover:bg-hover hover:no-underline",h&&"bg-nav-active font-medium text-nav-active-text"),children:[(0,b.jsx)(g,{size:17,className:h?"text-nav-active-text":"text-ink-faint"}),d.label,"alerts"===d.key&&i>0&&(0,b.jsxs)("span",{className:"ml-auto rounded-[10px] bg-err-soft px-1.5 font-mono text-[11px] font-medium text-err",children:[i,(0,b.jsx)("span",{className:"sr-only",children:" firing"})]})]})})]},d.key)})})]},a.section)})}),(0,b.jsx)($,{initialLastRunAt:h.lastRunAt,initialNow:h.now,demo:h.demo})]})}let aa=(0,t.f)("outline","eye","Eye",[["path",{d:"M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6",key:"svg-1"}]]),ab=(0,t.f)("outline","eye-off","EyeOff",[["path",{d:"M10.585 10.587a2 2 0 0 0 2.829 2.828",key:"svg-0"}],["path",{d:"M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87",key:"svg-1"}],["path",{d:"M3 3l18 18",key:"svg-2"}]]),ac=(0,t.f)("outline","layout-sidebar","LayoutSidebar",[["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",key:"svg-0"}],["path",{d:"M9 4l0 16",key:"svg-1"}]]),ad=(0,t.f)("outline","search","Search",[["path",{d:"M3 10a7 7 0 1 0 14 0a7 7 0 1 0 -14 0",key:"svg-0"}],["path",{d:"M21 21l-6 -6",key:"svg-1"}]]),ae=(0,t.f)("outline","tag","Tag",[["path",{d:"M6.5 7.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M3 6v5.172a2 2 0 0 0 .586 1.414l7.71 7.71a2.41 2.41 0 0 0 3.408 0l5.592 -5.592a2.41 2.41 0 0 0 0 -3.408l-7.71 -7.71a2 2 0 0 0 -1.414 -.586h-5.172a3 3 0 0 0 -3 3",key:"svg-1"}]]);var af=a.i(619089),ag=a.i(403990);let ah=(0,t.f)("outline","sun","Sun",[["path",{d:"M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0",key:"svg-0"}],["path",{d:"M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7",key:"svg-1"}]]);var ai=a.i(678464);function aj(a){let b=new MutationObserver(a);return b.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>b.disconnect()}function ak(){return"dark"===document.documentElement.dataset.theme?"dark":"light"}function al(){return"light"}function am(){let a=(0,c.useSyncExternalStore)(aj,ak,al);return(0,b.jsx)("button",{type:"button",onClick:function(){let b=(0,ai.w)(a);document.documentElement.dataset.theme=b;try{localStorage.setItem(ai.K,b)}catch{}},"aria-label":"Toggle theme",title:"Toggle theme",className:"relative inline-grid size-[34px] place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:"dark"===a?(0,b.jsx)(ah,{size:18}):(0,b.jsx)(ag.f,{size:18})})}var an=a.i(740197),ao=a.i(521341),ap=a.i(768758),aq=a.i(505358),ar=a.i(749867),as=a.i(532489);let at=(0,t.f)("outline","building-skyscraper","BuildingSkyscraper",[["path",{d:"M3 21l18 0",key:"svg-0"}],["path",{d:"M5 21v-14l8 -4v18",key:"svg-1"}],["path",{d:"M19 21v-10l-6 -4",key:"svg-2"}],["path",{d:"M9 9l0 .01",key:"svg-3"}],["path",{d:"M9 12l0 .01",key:"svg-4"}],["path",{d:"M9 15l0 .01",key:"svg-5"}],["path",{d:"M9 18l0 .01",key:"svg-6"}]]);var au=a.i(851519);function av({link:a}){let[d,e]=(0,c.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(af._,{label:a.label,pressed:d,onClick:()=>e(!0),children:(0,b.jsx)(at,{size:18})}),(0,b.jsx)(an.f.Root,{open:d,onOpenChange:e,children:(0,b.jsxs)(ao.f.Portal,{children:[(0,b.jsx)(ap.f.Backdrop,{className:"fixed inset-0 z-50 bg-black/10"}),(0,b.jsxs)(aq.f.Popup,{"aria-describedby":void 0,className:"fixed inset-y-0 right-0 z-50 flex w-1/2 min-w-[560px] flex-col border-l border-line bg-surface text-ink shadow-lg outline-none max-[900px]:w-full max-[900px]:min-w-0",children:[(0,b.jsxs)("div",{className:"flex h-[52px] shrink-0 items-center gap-3 border-b border-line px-4",children:[(0,b.jsx)(ar.f.Title,{className:"text-[15px] font-semibold",children:a.title}),(0,b.jsx)(X.default,{href:a.href,onClick:()=>e(!1),className:"ml-auto text-[13px] font-medium text-brand hover:underline",children:a.openLabel}),(0,b.jsx)(as.f.Close,{"aria-label":"Close",title:"Close",className:"inline-grid size-[34px] place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:(0,b.jsx)(au.f,{size:18})})]}),(0,b.jsx)("iframe",{src:a.frame,title:a.title,className:"min-h-0 w-full flex-1 border-0"})]})]})})]})}var aw=a.i(715137),ax=a.i(335732);let ay={owner:"Owner",operator:"Operator",viewer:"Viewer"};function az({email:a,role:e,hasPassword:f=!1}){let[g,h]=(0,c.useTransition)(),i=(0,d.useMask)()("email",a),j=i!==a;return(0,b.jsxs)(ax.G,{children:[(0,b.jsx)(ax.X,{"aria-label":"Account menu",className:"ml-1 grid size-[30px] place-items-center rounded-full border border-line bg-sunken font-mono text-[11px] font-medium uppercase focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:j?"··":a.slice(0,2)}),(0,b.jsxs)(ax.L,{align:"end",className:"min-w-[200px]",children:[(0,b.jsx)(ax.P,{children:(0,b.jsxs)(ax.B,{children:[(0,b.jsx)("span",{className:"block truncate",children:i}),(0,b.jsx)("span",{className:"block text-xs font-normal text-ink-faint",children:ay[e]})]})}),(0,b.jsx)(ax.U,{}),f&&(0,b.jsx)(ax.r,{render:(0,b.jsx)(X.default,{href:"/account/password"}),children:"Change password"}),(0,b.jsx)(ax.r,{className:"text-err",disabled:g,onClick:()=>h(()=>(0,aw.f)()),children:"Sign out"})]})]})}function aA({user:a,office:c,alerts:f,onToggleNav:g,onOpenPalette:h,navButtonRef:i}){let{show:j,toggle:k}=(0,e.useSources)(),{shot:l,setShot:m}=(0,d.usePrivacy)();return(0,b.jsxs)("header",{className:"sticky top-0 z-20 flex h-[52px] items-center gap-2 border-b border-line bg-surface px-4",children:[(0,b.jsx)(af._,{ref:i,label:"Toggle navigation",onClick:g,children:(0,b.jsx)(ac,{size:18})}),(0,b.jsxs)("button",{type:"button",onClick:a=>h(a.currentTarget),"aria-label":"Search","aria-keyshortcuts":"Control+K Meta+K",className:"ml-2 flex w-[280px] items-center gap-2 whitespace-nowrap rounded-[7px] border border-line bg-surface-2 px-2.5 py-1.5 text-ink-faint max-[720px]:w-auto",children:[(0,b.jsx)(ad,{size:16}),(0,b.jsx)("span",{className:"max-[720px]:hidden",children:"Search apps, databases, pages"}),(0,b.jsx)("kbd",{className:"ml-auto rounded border border-line-strong px-[5px] font-mono text-[11px] text-ink-soft max-[720px]:hidden",children:"Ctrl K"})]}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-0.5",children:[l&&(0,b.jsxs)("button",{type:"button",onClick:()=>m(!1),title:"Screenshot mode is on. Click to turn it off.","aria-label":"Screenshot mode is on. Turn it off",className:"mr-1.5 inline-flex items-center gap-1 whitespace-nowrap rounded-full border border-warn/40 bg-warn-soft px-2.5 py-0.5 text-[12.5px] font-medium text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:[(0,b.jsx)(ab,{size:14,"aria-hidden":!0,className:"text-warn-icon"}),(0,b.jsx)("span",{className:"max-[480px]:hidden",children:"Screenshot mode"})]}),(0,b.jsx)(Y.LiveIndicator,{}),(0,b.jsx)(af._,{label:"Show data sources",pressed:j,onClick:k,children:(0,b.jsx)(ae,{size:18})}),c&&"owner"===a.role&&(0,b.jsx)(av,{link:c}),(0,b.jsx)(af._,{label:"Screenshot mode",pressed:l,onClick:()=>m(!l),children:l?(0,b.jsx)(ab,{size:18}):(0,b.jsx)(aa,{size:18})}),(0,b.jsx)(am,{}),(0,b.jsxs)(X.default,{href:"/alerts","aria-label":f?`Alerts, ${f} firing`:"Alerts",className:"relative inline-grid size-[34px] place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink",children:[(0,b.jsx)(v.f,{size:18}),f>0&&(0,b.jsx)("span",{"aria-hidden":!0,className:"absolute right-0.5 top-[3px] rounded-[9px] bg-err px-1 font-mono text-[10px] font-medium leading-[15px] text-white",children:f})]}),(0,b.jsx)(az,{email:a.email,role:a.role,hasPassword:a.hasPassword})]})]})}let aB={nav:[],palette:[]};a.s(["Shell",0,function({user:a,collector:g,alerts:h,book:i,shot:j,ext:k=aB,sections:l,children:m}){let[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)(null),v=(0,c.useRef)(null),w=(0,c.useRef)(null),x=(0,c.useRef)(!1);function y(a){u(a),s(!0)}return(0,c.useEffect)(()=>{n?(x.current=!0,v.current?.focus()):x.current&&(x.current=!1,w.current?.focus())},[n]),(0,c.useEffect)(()=>{if(n)return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a);function a(a){"Escape"===a.key&&o(!1)}},[n]),(0,b.jsx)(d.AliasProvider,{book:i,shot:j,children:(0,b.jsxs)(e.SourcesProvider,{children:[(0,b.jsxs)("div",{className:(0,f.f)("grid min-h-screen grid-cols-1",!p&&"min-[1001px]:grid-cols-[248px_minmax(0,1fr)]"),children:[(!p||n)&&(0,b.jsx)(_,{role:a.role,ext:k,sections:l,collector:g,alerts:h,mobileOpen:n,onNavigate:()=>o(!1),navRef:v}),n&&(0,b.jsx)("button",{type:"button","aria-label":"Close navigation",className:"fixed inset-0 z-40 bg-black/45 min-[1001px]:hidden",onClick:()=>o(!1)}),(0,b.jsxs)("main",{className:"min-w-0",children:[g.demo&&(0,b.jsx)(U,{}),(0,b.jsx)(aA,{user:a,office:k.office,alerts:h,onToggleNav:function(){window.matchMedia("(max-width: 1000px)").matches?o(a=>!a):q(a=>!a)},onOpenPalette:y,navButtonRef:w}),(0,b.jsx)("div",{className:"flex max-w-[1480px] flex-col gap-4 px-6 pb-10 pt-5 max-[720px]:px-3.5",children:m})]})]}),(0,b.jsx)(S,{role:a.role,ext:k,sections:l,open:r,opener:t,onOpen:y,onClose:()=>s(!1)})]})})}],480761)},299233,a=>{var b=a.i(147474);a.s(["TimeZoneSync",0,function({zone:a}){return(0,b.k)(a),null}])}]})();
2
2
 
3
3
  //# sourceMappingURL=src_0330uf9pdfco9._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[388474,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("4052d29a779f0c60d4dc8bd2a4961f82b1afbc6323",f.callServer,void 0,f.findSourceMapURL,"recheck");a.s(["RecheckButton",0,function({domainId:a,name:f}){let[h,i]=(0,c.useTransition)(),j=(0,c.useRef)(!1);return(0,b.jsx)(e.K,{size:"sm",onClick:()=>{if(j.current)return;j.current=!0;let b=d.c.loading(`Checking ${f}. This takes a few seconds.`);i(async()=>{try{let c=await g(a);c.ok?d.c.success(c.message??"",{id:b}):d.c.error(c.error,{id:b})}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:b})}finally{j.current=!1}})},disabled:h,"aria-label":`Re-check ${f}`,children:h?"Checking…":"Re-check"})}],388474)},54901,45830,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(771378),e=a.i(611619),f=a.i(619089);function g(a,b=a=>a){return a.ok?{ok:!0,message:b(a.message??"Done.")}:{ok:!1,message:b(a.error)}}function h(){let a=(0,d.useMask)();return b=>g(b,b=>a("text",b))}a.s(["f",0,g],45830),a.s(["p",0,function({label:a,title:c,body:d,cta:g,danger:i=!1,run:j}){let k=h();return(0,b.jsx)(e.f,{trigger:(0,b.jsx)(f.K,{variant:i?"danger":"secondary",children:a}),title:c,body:d,cta:g,danger:i,onConfirm:async()=>k(await j())})},"W",0,function(){let[a,d]=(0,c.useState)(null),f=h(),g=a?(0,b.jsx)(e.f,{open:!0,onOpenChange:a=>{a||d(null)},title:a.title,body:a.body,cta:a.cta,danger:a.danger,onConfirm:async()=>f(await a.run())}):null;return{open:d,dialog:g}}],54901)}]})();
1
+ (()=>{"use strict";module.exports=[388474,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("40a75273497647906945674ade538875be1fd980b1",f.callServer,void 0,f.findSourceMapURL,"recheck");a.s(["RecheckButton",0,function({domainId:a,name:f}){let[h,i]=(0,c.useTransition)(),j=(0,c.useRef)(!1);return(0,b.jsx)(e.K,{size:"sm",onClick:()=>{if(j.current)return;j.current=!0;let b=d.c.loading(`Checking ${f}. This takes a few seconds.`);i(async()=>{try{let c=await g(a);c.ok?d.c.success(c.message??"",{id:b}):d.c.error(c.error,{id:b})}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:b})}finally{j.current=!1}})},disabled:h,"aria-label":`Re-check ${f}`,children:h?"Checking…":"Re-check"})}],388474)},54901,45830,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(771378),e=a.i(611619),f=a.i(619089);function g(a,b=a=>a){return a.ok?{ok:!0,message:b(a.message??"Done.")}:{ok:!1,message:b(a.error)}}function h(){let a=(0,d.useMask)();return b=>g(b,b=>a("text",b))}a.s(["f",0,g],45830),a.s(["p",0,function({label:a,title:c,body:d,cta:g,danger:i=!1,run:j}){let k=h();return(0,b.jsx)(e.f,{trigger:(0,b.jsx)(f.K,{variant:i?"danger":"secondary",children:a}),title:c,body:d,cta:g,danger:i,onConfirm:async()=>k(await j())})},"W",0,function(){let[a,d]=(0,c.useState)(null),f=h(),g=a?(0,b.jsx)(e.f,{open:!0,onOpenChange:a=>{a||d(null)},title:a.title,body:a.body,cta:a.cta,danger:a.danger,onConfirm:async()=>f(await a.run())}):null;return{open:d,dialog:g}}],54901)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_06tjy8wljego8._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[813627,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(894198),e=a.i(900037),f=a.i(651467);let g=0,h=0;a.s(["default",0,function({error:a,retry:i}){return(0,c.useEffect)(()=>{let a=Date.now();a-h>12e4&&(g=0);let b=setInterval(()=>(function(a,b){if("visible"!==document.visibilityState||!1===navigator.onLine)return;let c=Date.now();c-Math.max(a,h)<(0,f.$)(g)||(g+=1,h=c,b())})(a,i),1e3);return()=>clearInterval(b)},[i]),(0,b.jsx)(d.f,{digest:a.digest,retry:i,note:"Retrying…",notice:(0,e.f)(a.digest)??void 0})}])},894198,a=>{var b=a.i(187924),c=a.i(890206),d=a.i(236024),e=a.i(619089);a.s(["f",0,function({digest:a,retry:f,withSignOut:g=!1,note:h,notice:i}){return(0,b.jsx)(e.N,{children:(0,b.jsxs)(e.k,{icon:c.f,title:i?"Try again soon":"This page didn't load",action:(0,b.jsxs)("div",{className:"flex flex-wrap justify-center gap-2",children:[(0,b.jsx)(e.K,{variant:"primary",onClick:()=>f(),children:"Try again"}),g&&(0,b.jsx)("form",{action:d.f,children:(0,b.jsx)(e.K,{type:"submit",children:"Sign out"})})]}),children:[i??"Watchbell couldn't read its database, or a setting is missing. It keeps retrying on its own; the server log has the details (reference below).",h&&(0,b.jsx)("p",{className:"mt-2 text-xs text-ink-soft",role:"status",children:h}),a&&!i&&(0,b.jsxs)("p",{className:"mt-2 font-mono text-xs text-ink-faint",children:["Reference ",a]})]})})}])},900037,a=>{let b=new Map([["watchbell-demo-busy","The demo is busy right now. Try again in a minute."],["watchbell-demo-too-many","Too many new demo sessions from your network. Try again in a few minutes."]]);new Map([...b].map(([a,b])=>[b,a])),a.s(["f",0,function(a){return"string"==typeof a?b.get(a)??null:null}])}]})();
1
+ (()=>{"use strict";module.exports=[813627,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(894198),e=a.i(900037),f=a.i(651467);let g=0,h=0;a.s(["default",0,function({error:a,retry:i}){return(0,c.useEffect)(()=>{let a=Date.now();a-h>12e4&&(g=0);let b=setInterval(()=>(function(a,b){if("visible"!==document.visibilityState||!1===navigator.onLine)return;let c=Date.now();c-Math.max(a,h)<(0,f.$)(g)||(g+=1,h=c,b())})(a,i),1e3);return()=>clearInterval(b)},[i]),(0,b.jsx)(d.f,{digest:a.digest,retry:i,note:"Retrying…",notice:(0,e.f)(a.digest)??void 0})}])},894198,a=>{var b=a.i(187924),c=a.i(890206),d=a.i(715137),e=a.i(619089);a.s(["f",0,function({digest:a,retry:f,withSignOut:g=!1,note:h,notice:i}){return(0,b.jsx)(e.N,{children:(0,b.jsxs)(e.k,{icon:c.f,title:i?"Try again soon":"This page didn't load",action:(0,b.jsxs)("div",{className:"flex flex-wrap justify-center gap-2",children:[(0,b.jsx)(e.K,{variant:"primary",onClick:()=>f(),children:"Try again"}),g&&(0,b.jsx)("form",{action:d.f,children:(0,b.jsx)(e.K,{type:"submit",children:"Sign out"})})]}),children:[i??"Watchbell couldn't read its database, or a setting is missing. It keeps retrying on its own; the server log has the details (reference below).",h&&(0,b.jsx)("p",{className:"mt-2 text-xs text-ink-soft",role:"status",children:h}),a&&!i&&(0,b.jsxs)("p",{className:"mt-2 font-mono text-xs text-ink-faint",children:["Reference ",a]})]})})}])},900037,a=>{let b=new Map([["watchbell-demo-busy","The demo is busy right now. Try again in a minute."],["watchbell-demo-too-many","Too many new demo sessions from your network. Try again in a few minutes."]]);new Map([...b].map(([a,b])=>[b,a])),a.s(["f",0,function(a){return"string"==typeof a?b.get(a)??null:null}])}]})();
2
2
 
3
3
  //# sourceMappingURL=src_084tdkx3c_yqi._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[270044,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(771378),f=a.i(619089),g=a.i(405050);let h=(0,g.createServerReference)("4085a513212a8d020b1b18880a063b8e6a4295daa5",g.callServer,void 0,g.findSourceMapURL,"scanDependencies");a.s(["DepsScanButton",0,function({appId:a,appName:g}){let[i,j]=(0,c.useTransition)(),k=(0,c.useRef)(!1),l=(0,e.useMask)();return(0,b.jsx)(f.K,{size:"sm",onClick:()=>{if(k.current)return;k.current=!0;let b=d.c.loading(`Scanning the dependencies of ${l("app",g)}. This can take up to half a minute.`);j(async()=>{try{let c=await h(a);c.ok?c.data?.vulns?d.c.warning(c.message??"",{id:b}):d.c.success(c.message??"",{id:b}):d.c.error(c.error,{id:b})}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:b})}finally{k.current=!1}})},disabled:i,children:i?"Scanning…":"Scan now"})}],270044)},585709,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(486747),e=a.i(462007),f=a.i(427110);a.s(["PlainTable",0,function({head:a,rows:g}){let[h,i]=(0,c.useState)(1),j=(0,f.$)(g,h);return j.page!==h&&i(j.page),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:a}),(0,b.jsx)("tbody",{children:j.rows.map(a=>(0,b.jsx)(c.Fragment,{children:a.row},a.key))})]})}),(0,b.jsx)(d.f,{page:j.page,pages:j.pages,text:(0,f.z)(j),onPage:i})]})}])},683874,a=>{var b=a.i(187924);a.i(238246),a.i(771378);var c=a.i(368114);let d={app:["APP","bg-brand-soft text-brand"],db:["DB","bg-teal-soft text-teal"],br:["BR","bg-teal-soft text-teal"],fs:["FS","bg-teal-soft text-teal"],mon:["MON","bg-amber-soft text-amber"],dpl:["DPL","bg-gray-soft text-ink-soft"],dom:["DOM","bg-gray-soft text-ink-soft"],dns:["DNS","bg-gray-soft text-ink-soft"],usr:["USR","bg-gray-soft text-ink-soft"]};a.s(["f",0,function({kind:a}){let[e,f]=d[a];return(0,b.jsx)("span",{className:(0,c.f)("rounded px-[5px] py-px font-mono text-[10.5px] font-medium tracking-[0.02em]",f),children:e})}])}]})();
1
+ (()=>{"use strict";module.exports=[270044,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(771378),f=a.i(619089),g=a.i(405050);let h=(0,g.createServerReference)("4099459d7226de9b24f4bc12d72baf41d24d06740c",g.callServer,void 0,g.findSourceMapURL,"scanDependencies");a.s(["DepsScanButton",0,function({appId:a,appName:g}){let[i,j]=(0,c.useTransition)(),k=(0,c.useRef)(!1),l=(0,e.useMask)();return(0,b.jsx)(f.K,{size:"sm",onClick:()=>{if(k.current)return;k.current=!0;let b=d.c.loading(`Scanning the dependencies of ${l("app",g)}. This can take up to half a minute.`);j(async()=>{try{let c=await h(a);c.ok?c.data?.vulns?d.c.warning(c.message??"",{id:b}):d.c.success(c.message??"",{id:b}):d.c.error(c.error,{id:b})}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:b})}finally{k.current=!1}})},disabled:i,children:i?"Scanning…":"Scan now"})}],270044)},585709,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(486747),e=a.i(462007),f=a.i(427110);a.s(["PlainTable",0,function({head:a,rows:g}){let[h,i]=(0,c.useState)(1),j=(0,f.$)(g,h);return j.page!==h&&i(j.page),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:a}),(0,b.jsx)("tbody",{children:j.rows.map(a=>(0,b.jsx)(c.Fragment,{children:a.row},a.key))})]})}),(0,b.jsx)(d.f,{page:j.page,pages:j.pages,text:(0,f.z)(j),onPage:i})]})}])},683874,a=>{var b=a.i(187924);a.i(238246),a.i(771378);var c=a.i(368114);let d={app:["APP","bg-brand-soft text-brand"],db:["DB","bg-teal-soft text-teal"],br:["BR","bg-teal-soft text-teal"],fs:["FS","bg-teal-soft text-teal"],mon:["MON","bg-amber-soft text-amber"],dpl:["DPL","bg-gray-soft text-ink-soft"],dom:["DOM","bg-gray-soft text-ink-soft"],dns:["DNS","bg-gray-soft text-ink-soft"],usr:["USR","bg-gray-soft text-ink-soft"]};a.s(["f",0,function({kind:a}){let[e,f]=d[a];return(0,b.jsx)("span",{className:(0,c.f)("rounded px-[5px] py-px font-mono text-[10.5px] font-medium tracking-[0.02em]",f),children:e})}])}]})();
2
2
 
3
3
  //# sourceMappingURL=src_0abts6wp5ucc0._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[630718,a=>{var b=a.i(187924),c=a.i(218024),d=a.i(572131),e=a.i(823292),f=a.i(405050);let g=(0,f.createServerReference)("6004fac472ab5753c86c2bb8ad360ec9ce7f092f16",f.callServer,void 0,f.findSourceMapURL,"approveCreateAction"),h=(0,f.createServerReference)("408db3a5d38d1d7c7a4a03d938ee250f3ffa82bd38",f.callServer,void 0,f.findSourceMapURL,"rejectCreateAction");var i=a.i(771378),j=a.i(611619),k=a.i(619089),l=a.i(507504),m=a.i(814574),n=a.i(486583);let o=new Set(["requested","approved","running"]),p=a=>o.has(a.status);var q=a.i(147474),r=a.i(368114);let s={requested:"Waiting for approval",approved:"Approved",running:"Creating…",done:"Created",failed:"Failed",rejected:"Rejected",expired:"Expired"};function t({items:a,owner:c,focus:d,quiet:e}){let f=(0,i.useMask)();return(0,b.jsx)("ul",{className:"divide-y divide-line",children:a.map(a=>{var g;let h;return(0,b.jsxs)("li",{id:`create-${a.id}`,className:(0,r.f)("flex flex-wrap items-center gap-x-3 gap-y-1.5 px-[18px] py-2.5",e&&"py-2 text-[13px]",d===a.id&&"bg-brand-soft"),children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("b",{className:(0,r.f)("font-medium",e&&"text-ink-soft"),children:n.S[a.type]}),(0,b.jsx)(k.E,{children:n.E[a.type]}),(0,b.jsx)("span",{className:(0,r.f)("text-[12.5px]","failed"===a.status?"text-err":"text-ink-soft"),children:s[a.status]})]}),(0,b.jsx)("p",{className:"font-mono text-[12.5px] text-ink-soft [overflow-wrap:anywhere]",children:f("text",a.summary)}),"requested"===a.status&&(0,b.jsxs)("p",{className:"text-[12px] text-ink-faint",children:[a.mine?"You asked":"Another member asked"," · expires ",(g=new Date(a.expiresAt),h=(0,q.e)(g),`${h.day} ${h.month} ${h.year}, ${(0,q.U)(g)}`)]}),a.error&&"requested"!==a.status&&(0,b.jsx)("p",{className:"text-[12.5px] text-err",children:f("text",a.error)}),a.result?.id&&"done"===a.status&&(0,b.jsxs)("p",{className:"text-[12px] text-ink-faint",children:["Created: ",(0,b.jsx)("span",{className:"font-mono",children:f("text",a.result.id)}),"firebase-pending"===a.result.note?" · Firebase still needs adding in the Firebase console":""]})]}),c&&"requested"===a.status&&(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)(u,{item:a}),(0,b.jsx)(v,{item:a})]})]},a.id)})})}function u({item:a}){return(0,b.jsx)(j.f,{trigger:(0,b.jsx)(k.K,{size:"sm",children:"Reject"}),title:`Reject this ${n.S[a.type]}?`,body:"Nothing is created. The person who asked can ask again.",cta:"Reject",onConfirm:async()=>{let b=await h(a.id);return b.ok?{ok:!0,message:b.message??"Rejected."}:{ok:!1,message:b.error}}})}function v({item:a}){let[c,e]=(0,d.useState)(!1);return(0,l.useHoldRefresh)(c),(0,b.jsxs)(m.N,{open:c,onOpenChange:e,children:[(0,b.jsx)(m.a,{render:(0,b.jsx)(k.K,{size:"sm",variant:"primary"}),children:"Approve…"}),(0,b.jsx)(m.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:c&&(0,b.jsx)(w,{item:a,onDone:()=>e(!1)})})]})}function w({item:a,onDone:c}){let f=(0,i.useMask)(),[h,j]=(0,d.useState)(""),[l,o]=(0,d.useState)(null),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)(null),[t,u]=(0,d.useTransition)();return p?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(m.F,{className:"text-base",children:"Copy the database password now"}),(0,b.jsxs)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:[r," It is shown only here, only once."]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsx)(x,{value:p}),(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(k.M,{tone:"warning",title:"The console doesn't keep it",children:"Save it in your password manager. If it's lost, reset it in Supabase → Project settings → Database."})})]}),(0,b.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,b.jsx)(k.K,{variant:"primary",onClick:()=>{q(null),c()},children:"I've saved it"})})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(m.F,{className:"text-base",children:f("text",`Create ${n.S[a.type]} ${a.confirmName}?`)}),(0,b.jsxs)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["The console checks the free tier at ",n.E[a.type]," again now, then makes one create call. ",(0,n.d)(a.type)]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-2",children:[(0,b.jsx)("p",{className:"mb-3 rounded-md border border-line bg-sunken px-3 py-2 font-mono text-[12.5px] [overflow-wrap:anywhere]",children:f("text",a.summary)}),(0,b.jsx)(k.O,{id:`ap-${a.id}`,label:(0,b.jsxs)(b.Fragment,{children:["Type ",(0,b.jsx)("span",{className:"font-mono",children:f("text",a.confirmName)})," to approve"]}),error:l??void 0,children:(0,b.jsx)("input",{id:`ap-${a.id}`,className:k.S,value:h,autoComplete:"off",spellCheck:!1,onChange:a=>j(a.target.value)})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(k.K,{onClick:c,disabled:t,children:"Cancel"}),(0,b.jsx)(k.K,{variant:"primary",onClick:function(){u(async()=>{try{let b=await g(a.id,h);if(!b.ok)return o(f("text",b.error));o(null),b.data?.secret?(q(b.data.secret),s(f("text",b.message??"Created."))):(e.c.success(f("text",b.message??"Created.")),c())}catch{o("Something went wrong. Check the provider's dashboard before trying again.")}})},disabled:t||h.trim()!==a.confirmName,children:t?"Checking and creating…":"Approve and create"})]})]})}function x({value:a}){let[f,g]=(0,d.useState)(!1),{shot:h}=(0,i.usePrivacy)(),[j,l]=(0,d.useState)(!1);return(0,b.jsxs)("div",{className:"mb-3 flex items-center gap-2 rounded-md border border-line-strong bg-sunken px-3 py-2",children:[h&&!j?(0,b.jsx)("button",{type:"button",className:"min-w-0 flex-1 text-left text-[13px] text-ink-soft",onClick:()=>l(!0),children:"Hidden in screenshot mode. Click to show it."}):(0,b.jsx)("code",{className:"min-w-0 flex-1 select-all font-mono text-[13px] [overflow-wrap:anywhere]",children:a}),(0,b.jsxs)(k.K,{size:"sm",onClick:()=>{navigator.clipboard.writeText(a).then(()=>g(!0),()=>e.c.error("Copy didn't work; select the text and copy it."))},children:[(0,b.jsx)(c.f,{size:14,"aria-hidden":!0,className:"mr-1 inline"}),f?"Copied":"Copy"]})]})}a.s(["CreateRequestList",0,function({items:a,owner:c,focus:d,title:e="Waiting for approval"}){let{pending:f,finished:g}={pending:a.filter(p),finished:a.filter(a=>!p(a))};if(!f.length&&!g.length)return null;let h=f.filter(a=>"requested"===a.status).length;return(0,b.jsxs)(b.Fragment,{children:[f.length>0&&(0,b.jsx)(k.N,{title:e,meta:h?`${h} waiting`:void 0,flush:!0,children:(0,b.jsx)(t,{items:f,owner:c,focus:d})}),g.length>0&&(0,b.jsx)(k.N,{title:"Recent requests",flush:!0,children:(0,b.jsx)(t,{items:g,owner:!1,focus:d,quiet:!0})})]})}],630718)},486583,a=>{let b={dns_record:"Cloudflare",neon_branch:"Neon",supabase_project:"Supabase",firebase_project:"Firebase"};a.s(["E",0,b,"S",0,{dns_record:"DNS record",neon_branch:"Neon branch",supabase_project:"Supabase project",firebase_project:"Firebase project"},"d",0,a=>`The console can't remove this later; remove it in ${b[a]}'s dashboard.`])}]})();
1
+ (()=>{"use strict";module.exports=[630718,a=>{var b=a.i(187924),c=a.i(218024),d=a.i(572131),e=a.i(823292),f=a.i(405050);let g=(0,f.createServerReference)("60ea1f8f9bb32ba47adc9431dc19361609bd065581",f.callServer,void 0,f.findSourceMapURL,"approveCreateAction"),h=(0,f.createServerReference)("40f844f0053513ba96d6dceb37ed345ab6539b3fa2",f.callServer,void 0,f.findSourceMapURL,"rejectCreateAction");var i=a.i(771378),j=a.i(611619),k=a.i(619089),l=a.i(507504),m=a.i(814574),n=a.i(486583);let o=new Set(["requested","approved","running"]),p=a=>o.has(a.status);var q=a.i(147474),r=a.i(368114);let s={requested:"Waiting for approval",approved:"Approved",running:"Creating…",done:"Created",failed:"Failed",rejected:"Rejected",expired:"Expired"};function t({items:a,owner:c,focus:d,quiet:e}){let f=(0,i.useMask)();return(0,b.jsx)("ul",{className:"divide-y divide-line",children:a.map(a=>{var g;let h;return(0,b.jsxs)("li",{id:`create-${a.id}`,className:(0,r.f)("flex flex-wrap items-center gap-x-3 gap-y-1.5 px-[18px] py-2.5",e&&"py-2 text-[13px]",d===a.id&&"bg-brand-soft"),children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("b",{className:(0,r.f)("font-medium",e&&"text-ink-soft"),children:n.S[a.type]}),(0,b.jsx)(k.E,{children:n.E[a.type]}),(0,b.jsx)("span",{className:(0,r.f)("text-[12.5px]","failed"===a.status?"text-err":"text-ink-soft"),children:s[a.status]})]}),(0,b.jsx)("p",{className:"font-mono text-[12.5px] text-ink-soft [overflow-wrap:anywhere]",children:f("text",a.summary)}),"requested"===a.status&&(0,b.jsxs)("p",{className:"text-[12px] text-ink-faint",children:[a.mine?"You asked":"Another member asked"," · expires ",(g=new Date(a.expiresAt),h=(0,q.e)(g),`${h.day} ${h.month} ${h.year}, ${(0,q.U)(g)}`)]}),a.error&&"requested"!==a.status&&(0,b.jsx)("p",{className:"text-[12.5px] text-err",children:f("text",a.error)}),a.result?.id&&"done"===a.status&&(0,b.jsxs)("p",{className:"text-[12px] text-ink-faint",children:["Created: ",(0,b.jsx)("span",{className:"font-mono",children:f("text",a.result.id)}),"firebase-pending"===a.result.note?" · Firebase still needs adding in the Firebase console":""]})]}),c&&"requested"===a.status&&(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)(u,{item:a}),(0,b.jsx)(v,{item:a})]})]},a.id)})})}function u({item:a}){return(0,b.jsx)(j.f,{trigger:(0,b.jsx)(k.K,{size:"sm",children:"Reject"}),title:`Reject this ${n.S[a.type]}?`,body:"Nothing is created. The person who asked can ask again.",cta:"Reject",onConfirm:async()=>{let b=await h(a.id);return b.ok?{ok:!0,message:b.message??"Rejected."}:{ok:!1,message:b.error}}})}function v({item:a}){let[c,e]=(0,d.useState)(!1);return(0,l.useHoldRefresh)(c),(0,b.jsxs)(m.N,{open:c,onOpenChange:e,children:[(0,b.jsx)(m.a,{render:(0,b.jsx)(k.K,{size:"sm",variant:"primary"}),children:"Approve…"}),(0,b.jsx)(m.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:c&&(0,b.jsx)(w,{item:a,onDone:()=>e(!1)})})]})}function w({item:a,onDone:c}){let f=(0,i.useMask)(),[h,j]=(0,d.useState)(""),[l,o]=(0,d.useState)(null),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)(null),[t,u]=(0,d.useTransition)();return p?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(m.F,{className:"text-base",children:"Copy the database password now"}),(0,b.jsxs)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:[r," It is shown only here, only once."]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsx)(x,{value:p}),(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(k.M,{tone:"warning",title:"The console doesn't keep it",children:"Save it in your password manager. If it's lost, reset it in Supabase → Project settings → Database."})})]}),(0,b.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,b.jsx)(k.K,{variant:"primary",onClick:()=>{q(null),c()},children:"I've saved it"})})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(m.F,{className:"text-base",children:f("text",`Create ${n.S[a.type]} ${a.confirmName}?`)}),(0,b.jsxs)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["The console checks the free tier at ",n.E[a.type]," again now, then makes one create call. ",(0,n.d)(a.type)]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-2",children:[(0,b.jsx)("p",{className:"mb-3 rounded-md border border-line bg-sunken px-3 py-2 font-mono text-[12.5px] [overflow-wrap:anywhere]",children:f("text",a.summary)}),(0,b.jsx)(k.O,{id:`ap-${a.id}`,label:(0,b.jsxs)(b.Fragment,{children:["Type ",(0,b.jsx)("span",{className:"font-mono",children:f("text",a.confirmName)})," to approve"]}),error:l??void 0,children:(0,b.jsx)("input",{id:`ap-${a.id}`,className:k.S,value:h,autoComplete:"off",spellCheck:!1,onChange:a=>j(a.target.value)})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(k.K,{onClick:c,disabled:t,children:"Cancel"}),(0,b.jsx)(k.K,{variant:"primary",onClick:function(){u(async()=>{try{let b=await g(a.id,h);if(!b.ok)return o(f("text",b.error));o(null),b.data?.secret?(q(b.data.secret),s(f("text",b.message??"Created."))):(e.c.success(f("text",b.message??"Created.")),c())}catch{o("Something went wrong. Check the provider's dashboard before trying again.")}})},disabled:t||h.trim()!==a.confirmName,children:t?"Checking and creating…":"Approve and create"})]})]})}function x({value:a}){let[f,g]=(0,d.useState)(!1),{shot:h}=(0,i.usePrivacy)(),[j,l]=(0,d.useState)(!1);return(0,b.jsxs)("div",{className:"mb-3 flex items-center gap-2 rounded-md border border-line-strong bg-sunken px-3 py-2",children:[h&&!j?(0,b.jsx)("button",{type:"button",className:"min-w-0 flex-1 text-left text-[13px] text-ink-soft",onClick:()=>l(!0),children:"Hidden in screenshot mode. Click to show it."}):(0,b.jsx)("code",{className:"min-w-0 flex-1 select-all font-mono text-[13px] [overflow-wrap:anywhere]",children:a}),(0,b.jsxs)(k.K,{size:"sm",onClick:()=>{navigator.clipboard.writeText(a).then(()=>g(!0),()=>e.c.error("Copy didn't work; select the text and copy it."))},children:[(0,b.jsx)(c.f,{size:14,"aria-hidden":!0,className:"mr-1 inline"}),f?"Copied":"Copy"]})]})}a.s(["CreateRequestList",0,function({items:a,owner:c,focus:d,title:e="Waiting for approval"}){let{pending:f,finished:g}={pending:a.filter(p),finished:a.filter(a=>!p(a))};if(!f.length&&!g.length)return null;let h=f.filter(a=>"requested"===a.status).length;return(0,b.jsxs)(b.Fragment,{children:[f.length>0&&(0,b.jsx)(k.N,{title:e,meta:h?`${h} waiting`:void 0,flush:!0,children:(0,b.jsx)(t,{items:f,owner:c,focus:d})}),g.length>0&&(0,b.jsx)(k.N,{title:"Recent requests",flush:!0,children:(0,b.jsx)(t,{items:g,owner:!1,focus:d,quiet:!0})})]})}],630718)},486583,a=>{let b={dns_record:"Cloudflare",neon_branch:"Neon",supabase_project:"Supabase",firebase_project:"Firebase"};a.s(["E",0,b,"S",0,{dns_record:"DNS record",neon_branch:"Neon branch",supabase_project:"Supabase project",firebase_project:"Firebase project"},"d",0,a=>`The console can't remove this later; remove it in ${b[a]}'s dashboard.`])}]})();
2
2
 
3
3
  //# sourceMappingURL=src_0ph020gy78gi9._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[992861,a=>{var b=a.i(187924),c=a.i(101169),d=a.i(218024),e=a.i(196790),f=a.i(817748),g=a.i(901615),h=a.i(238246),i=a.i(572131),j=a.i(823292),k=a.i(619089),l=a.i(507504),m=a.i(814574),n=a.i(405050);let o=(0,n.createServerReference)("4035914bce33e8d9ce02ad9e618fbc10faae2f9a05",n.callServer,void 0,n.findSourceMapURL,"createKeyAction");function p({scopes:a}){return(0,b.jsx)(b.Fragment,{children:a.map(a=>(0,b.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:a},a))})}var q=a.i(136476);function r({icon:a,title:c,sub:d}){return(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:a}),(0,b.jsxs)("div",{children:[(0,b.jsx)(m.F,{className:"text-base",children:c}),(0,b.jsx)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:d})]})]})}function s({onCreated:a,onCancel:c}){let[d,f]=(0,i.useState)(""),[h,l]=(0,i.useState)(q.J),[m,n]=(0,i.useState)(q.j),[t,u]=(0,i.useState)(String(q.D)),[v,w]=(0,i.useState)({}),[x,y]=(0,i.useState)(""),[z,A]=(0,i.useTransition)();return(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),A(async()=>{w({}),y("");try{let b=await o({name:d.trim(),scopes:q.B.filter(a=>h.includes(a)),expiry:m,ratePerMin:t.trim()});b.ok&&b.data?(j.c.success(b.message??"Key created."),a(b.data)):b.ok||(b.fieldErrors?w(b.fieldErrors):y(b.error))}catch{y("Watchbell didn't answer. Check that it's still running, then try again.")}})},noValidate:!0,children:[(0,b.jsx)(r,{icon:(0,b.jsx)(e.f,{size:19}),title:"Create API key",sub:"For one app or agent. Shown once."}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsx)(k.O,{id:"key-name",label:"Name",help:"Lowercase letters, digits and dashes. Agents and Logs show it.",error:v.name,children:(0,b.jsx)("input",{id:"key-name",value:d,onChange:a=>f(a.target.value),placeholder:g.C.namePlaceholder,autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:k.S})}),(0,b.jsxs)("fieldset",{className:"mb-3.5",children:[(0,b.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Scopes"}),(0,b.jsx)("div",{className:"flex flex-col gap-1.5",children:q.B.map(a=>(0,b.jsxs)("label",{className:"flex cursor-pointer items-start gap-2",children:[(0,b.jsx)("input",{type:"checkbox",checked:h.includes(a),onChange:()=>l(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a]),className:"mt-[3px] accent-brand"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(p,{scopes:[a]})," ",(0,b.jsx)("span",{className:"text-[13px] text-ink-soft",children:q.h[a].short})]})]},a))}),v.scopes&&(0,b.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:v.scopes})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3 max-[560px]:grid-cols-1",children:[(0,b.jsx)(k.O,{id:"key-expiry",label:"Expires",error:v.expiry,children:(0,b.jsx)("select",{id:"key-expiry",value:m,onChange:a=>n(a.target.value),className:k.S,children:q.W.map(a=>(0,b.jsx)("option",{value:a,children:q.o[a]},a))})}),(0,b.jsx)(k.O,{id:"key-rate",label:"Rate limit",help:"Requests per minute, 1–600. Applies before the provider's own limits.",error:v.ratePerMin,children:(0,b.jsx)("input",{id:"key-rate",inputMode:"numeric",value:t,onChange:a=>u(a.target.value),className:`${k.S} font-mono`})})]}),x&&(0,b.jsx)("p",{className:"mb-3 text-[13px] text-err",role:"alert",children:x})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(k.K,{onClick:c,disabled:z,children:"Cancel"}),(0,b.jsx)(k.K,{type:"submit",variant:"primary",disabled:z,children:z?"Creating…":"Create key"})]})]})}function t({created:a,onDone:e}){async function f(){try{await navigator.clipboard.writeText(a.key),j.c.success("Copied.")}catch{j.c.error("Couldn't copy. Select the key and copy it by hand.")}}return(0,b.jsxs)("div",{children:[(0,b.jsx)(r,{icon:(0,b.jsx)(c.f,{size:19}),title:`Key ${a.name} created`,sub:"Copy it now."}),(0,b.jsxs)("div",{className:"px-[18px] pb-3 pt-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.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:a.key}),(0,b.jsxs)(k.K,{size:"sm",onClick:f,children:[(0,b.jsx)(d.f,{size:15,"aria-hidden":!0}),"Copy"]})]}),(0,b.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,b.jsxs)("p",{className:"mb-0 mt-3 text-[13px] text-ink-soft",children:["Next: put it in the app's environment as ",(0,b.jsx)("span",{className:"font-mono",children:"WATCHBELL_API_KEY"}),", then follow ",(0,b.jsx)(h.default,{href:"/ai",className:"text-brand",children:"Quick start"})," or ",(0,b.jsx)(h.default,{href:"/ai/connect",className:"text-brand",children:"Connect an agent"}),"."]})]}),(0,b.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,b.jsx)(k.K,{variant:"primary",onClick:e,children:"Done"})})]})}a.s(["CreateKeyDialog",0,function(){let[a,c]=(0,i.useState)(!1),[d,e]=(0,i.useState)(null);function g(a){c(a),a||e(null)}return(0,l.useHoldRefresh)(a),(0,b.jsxs)(m.N,{open:a,onOpenChange:g,children:[(0,b.jsxs)(m.a,{render:(0,b.jsx)(k.K,{variant:"primary"}),children:[(0,b.jsx)(f.f,{size:16,"aria-hidden":!0}),"Create key"]}),(0,b.jsx)(m.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:d?(0,b.jsx)(t,{created:d,onDone:()=>g(!1)}):(0,b.jsx)(s,{onCreated:e,onCancel:()=>g(!1)})})]})}],992861)},659526,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(611619),f=a.i(619089),g=a.i(507504),h=a.i(188406),i=a.i(814574),j=a.i(405050);let k=(0,j.createServerReference)("6005136942880f6ba4579a97e5bf32f4a2a33a19a1",j.callServer,void 0,j.findSourceMapURL,"changeKeyAction"),l=(0,j.createServerReference)("4049ef49139b60d82daf3bb8b4951015bd77816298",j.callServer,void 0,j.findSourceMapURL,"revokeKeyAction");var m=a.i(136476);let n={rename:{title:a=>`Rename ${a}`,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 o({mode:a,k:e,providers:g,onDone:h}){let[j,l]=(0,c.useState)(e.name),[p,q]=(0,c.useState)(String(e.ratePerMin)),[r,s]=(0,c.useState)(e.expiresAt?"90d":"never"),[t,u]=(0,c.useState)(e.providerId??""),[v,w]=(0,c.useState)(e.model??""),[x,y]=(0,c.useState)({}),[z,A]=(0,c.useState)(""),[B,C]=(0,c.useTransition)(),D=n[a];return(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),C(async()=>{y({}),A("");try{let b=await k(e.id,"rename"===a?{kind:"rename",name:j.trim()}:"rate"===a?{kind:"rate",ratePerMin:p.trim()}:"expiry"===a?{kind:"expiry",expiry:r}:{kind:"routing",providerId:t||null,model:t?v.trim():null});b.ok?(d.c.success(b.message??"Key updated."),h()):b.fieldErrors?y(b.fieldErrors):A(b.error)}catch{A("Watchbell didn't answer. Check that it's still running, then try again.")}})},noValidate:!0,children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(i.F,{className:"text-base",children:D.title(e.name)}),(0,b.jsx)(i.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:D.sub})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:["rename"===a&&(0,b.jsx)(f.O,{id:"edit-name",label:"Name",error:x.name,children:(0,b.jsx)("input",{id:"edit-name",value:j,onChange:a=>l(a.target.value),autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:f.S})}),"rate"===a&&(0,b.jsx)(f.O,{id:"edit-rate",label:"Rate limit",help:"Requests per minute.",error:x.ratePerMin,children:(0,b.jsx)("input",{id:"edit-rate",inputMode:"numeric",value:p,onChange:a=>q(a.target.value),className:`${f.S} font-mono`})}),"expiry"===a&&(0,b.jsx)(f.O,{id:"edit-expiry",label:"Expires",error:x.expiry,children:(0,b.jsx)("select",{id:"edit-expiry",value:r,onChange:a=>s(a.target.value),className:f.S,children:m.W.map(a=>(0,b.jsx)("option",{value:a,children:m.o[a]},a))})}),"routing"===a&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.O,{id:"edit-provider",label:"Provider",help:g.length?void 0:"No provider is connected yet. Until one is, this key has nothing to pin to.",error:x.providerId,children:(0,b.jsxs)("select",{id:"edit-provider",value:t,onChange:a=>u(a.target.value),className:f.S,children:[(0,b.jsx)("option",{value:"",children:"No pin (default provider)"}),g.map(a=>(0,b.jsxs)("option",{value:a.id,children:[a.name,a.enabled?"":" (off)"]},a.id))]})}),(0,b.jsx)(f.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:x.model,children:(0,b.jsx)("input",{id:"edit-model",value:v,onChange:a=>w(a.target.value),disabled:!t,placeholder:"gemini-3.8-flash",autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:`${f.S} font-mono`})})]}),z&&(0,b.jsx)("p",{className:"mb-3 text-[13px] text-err",role:"alert",children:z})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(f.K,{onClick:h,disabled:B,children:"Cancel"}),(0,b.jsx)(f.K,{type:"submit",variant:"primary",disabled:B,children:B?"Saving…":D.cta})]})]})}a.s(["KeyActions",0,function({k:a,providers:d}){let[j,k]=(0,c.useState)(null);return(0,g.useHoldRefresh)(null!==j),(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(e.f,{trigger:(0,b.jsx)(f.K,{size:"sm",children:"Revoke"}),title:`Revoke ${a.name}?`,body:`Calls with ${a.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 b=await l(a.id);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}}),(0,b.jsx)(h.RowMenu,{label:`Actions for ${a.name}`,items:[{label:"Rename",onSelect:()=>k("rename")},{label:"Change rate limit",onSelect:()=>k("rate")},{label:"Change expiry",onSelect:()=>k("expiry")},{label:"Change routing",onSelect:()=>k("routing")}]}),(0,b.jsx)(i.N,{open:null!==j,onOpenChange:a=>{a||k(null)},children:(0,b.jsx)(i.d,{className:"gap-0 p-0 sm:max-w-[520px]",showCloseButton:!1,children:j&&(0,b.jsx)(o,{mode:j,k:a,providers:d,onDone:()=>k(null)})})})]})}],659526)},136476,a=>{let b={"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:a.i(901615).C.writeNotesLong}};a.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,b])}]})();
1
+ (()=>{"use strict";module.exports=[992861,a=>{var b=a.i(187924),c=a.i(101169),d=a.i(218024),e=a.i(196790),f=a.i(817748),g=a.i(901615),h=a.i(238246),i=a.i(572131),j=a.i(823292),k=a.i(619089),l=a.i(507504),m=a.i(814574),n=a.i(405050);let o=(0,n.createServerReference)("406185ca3e9f8e9e3b6e57baed348c405e4cd74db8",n.callServer,void 0,n.findSourceMapURL,"createKeyAction");function p({scopes:a}){return(0,b.jsx)(b.Fragment,{children:a.map(a=>(0,b.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:a},a))})}var q=a.i(136476);function r({icon:a,title:c,sub:d}){return(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:a}),(0,b.jsxs)("div",{children:[(0,b.jsx)(m.F,{className:"text-base",children:c}),(0,b.jsx)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:d})]})]})}function s({onCreated:a,onCancel:c}){let[d,f]=(0,i.useState)(""),[h,l]=(0,i.useState)(q.J),[m,n]=(0,i.useState)(q.j),[t,u]=(0,i.useState)(String(q.D)),[v,w]=(0,i.useState)({}),[x,y]=(0,i.useState)(""),[z,A]=(0,i.useTransition)();return(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),A(async()=>{w({}),y("");try{let b=await o({name:d.trim(),scopes:q.B.filter(a=>h.includes(a)),expiry:m,ratePerMin:t.trim()});b.ok&&b.data?(j.c.success(b.message??"Key created."),a(b.data)):b.ok||(b.fieldErrors?w(b.fieldErrors):y(b.error))}catch{y("Watchbell didn't answer. Check that it's still running, then try again.")}})},noValidate:!0,children:[(0,b.jsx)(r,{icon:(0,b.jsx)(e.f,{size:19}),title:"Create API key",sub:"For one app or agent. Shown once."}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsx)(k.O,{id:"key-name",label:"Name",help:"Lowercase letters, digits and dashes. Agents and Logs show it.",error:v.name,children:(0,b.jsx)("input",{id:"key-name",value:d,onChange:a=>f(a.target.value),placeholder:g.C.namePlaceholder,autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:k.S})}),(0,b.jsxs)("fieldset",{className:"mb-3.5",children:[(0,b.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Scopes"}),(0,b.jsx)("div",{className:"flex flex-col gap-1.5",children:q.B.map(a=>(0,b.jsxs)("label",{className:"flex cursor-pointer items-start gap-2",children:[(0,b.jsx)("input",{type:"checkbox",checked:h.includes(a),onChange:()=>l(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a]),className:"mt-[3px] accent-brand"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(p,{scopes:[a]})," ",(0,b.jsx)("span",{className:"text-[13px] text-ink-soft",children:q.h[a].short})]})]},a))}),v.scopes&&(0,b.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:v.scopes})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3 max-[560px]:grid-cols-1",children:[(0,b.jsx)(k.O,{id:"key-expiry",label:"Expires",error:v.expiry,children:(0,b.jsx)("select",{id:"key-expiry",value:m,onChange:a=>n(a.target.value),className:k.S,children:q.W.map(a=>(0,b.jsx)("option",{value:a,children:q.o[a]},a))})}),(0,b.jsx)(k.O,{id:"key-rate",label:"Rate limit",help:"Requests per minute, 1–600. Applies before the provider's own limits.",error:v.ratePerMin,children:(0,b.jsx)("input",{id:"key-rate",inputMode:"numeric",value:t,onChange:a=>u(a.target.value),className:`${k.S} font-mono`})})]}),x&&(0,b.jsx)("p",{className:"mb-3 text-[13px] text-err",role:"alert",children:x})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(k.K,{onClick:c,disabled:z,children:"Cancel"}),(0,b.jsx)(k.K,{type:"submit",variant:"primary",disabled:z,children:z?"Creating…":"Create key"})]})]})}function t({created:a,onDone:e}){async function f(){try{await navigator.clipboard.writeText(a.key),j.c.success("Copied.")}catch{j.c.error("Couldn't copy. Select the key and copy it by hand.")}}return(0,b.jsxs)("div",{children:[(0,b.jsx)(r,{icon:(0,b.jsx)(c.f,{size:19}),title:`Key ${a.name} created`,sub:"Copy it now."}),(0,b.jsxs)("div",{className:"px-[18px] pb-3 pt-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.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:a.key}),(0,b.jsxs)(k.K,{size:"sm",onClick:f,children:[(0,b.jsx)(d.f,{size:15,"aria-hidden":!0}),"Copy"]})]}),(0,b.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,b.jsxs)("p",{className:"mb-0 mt-3 text-[13px] text-ink-soft",children:["Next: put it in the app's environment as ",(0,b.jsx)("span",{className:"font-mono",children:"WATCHBELL_API_KEY"}),", then follow ",(0,b.jsx)(h.default,{href:"/ai",className:"text-brand",children:"Quick start"})," or ",(0,b.jsx)(h.default,{href:"/ai/connect",className:"text-brand",children:"Connect an agent"}),"."]})]}),(0,b.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,b.jsx)(k.K,{variant:"primary",onClick:e,children:"Done"})})]})}a.s(["CreateKeyDialog",0,function(){let[a,c]=(0,i.useState)(!1),[d,e]=(0,i.useState)(null);function g(a){c(a),a||e(null)}return(0,l.useHoldRefresh)(a),(0,b.jsxs)(m.N,{open:a,onOpenChange:g,children:[(0,b.jsxs)(m.a,{render:(0,b.jsx)(k.K,{variant:"primary"}),children:[(0,b.jsx)(f.f,{size:16,"aria-hidden":!0}),"Create key"]}),(0,b.jsx)(m.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:d?(0,b.jsx)(t,{created:d,onDone:()=>g(!1)}):(0,b.jsx)(s,{onCreated:e,onCancel:()=>g(!1)})})]})}],992861)},659526,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(611619),f=a.i(619089),g=a.i(507504),h=a.i(188406),i=a.i(814574),j=a.i(405050);let k=(0,j.createServerReference)("6080a4153c206a5ff3d58d1a933490213b3cc65e40",j.callServer,void 0,j.findSourceMapURL,"changeKeyAction"),l=(0,j.createServerReference)("405fe51485a8570a8b1955bb8712e28b767244dec8",j.callServer,void 0,j.findSourceMapURL,"revokeKeyAction");var m=a.i(136476);let n={rename:{title:a=>`Rename ${a}`,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 o({mode:a,k:e,providers:g,onDone:h}){let[j,l]=(0,c.useState)(e.name),[p,q]=(0,c.useState)(String(e.ratePerMin)),[r,s]=(0,c.useState)(e.expiresAt?"90d":"never"),[t,u]=(0,c.useState)(e.providerId??""),[v,w]=(0,c.useState)(e.model??""),[x,y]=(0,c.useState)({}),[z,A]=(0,c.useState)(""),[B,C]=(0,c.useTransition)(),D=n[a];return(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),C(async()=>{y({}),A("");try{let b=await k(e.id,"rename"===a?{kind:"rename",name:j.trim()}:"rate"===a?{kind:"rate",ratePerMin:p.trim()}:"expiry"===a?{kind:"expiry",expiry:r}:{kind:"routing",providerId:t||null,model:t?v.trim():null});b.ok?(d.c.success(b.message??"Key updated."),h()):b.fieldErrors?y(b.fieldErrors):A(b.error)}catch{A("Watchbell didn't answer. Check that it's still running, then try again.")}})},noValidate:!0,children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(i.F,{className:"text-base",children:D.title(e.name)}),(0,b.jsx)(i.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:D.sub})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:["rename"===a&&(0,b.jsx)(f.O,{id:"edit-name",label:"Name",error:x.name,children:(0,b.jsx)("input",{id:"edit-name",value:j,onChange:a=>l(a.target.value),autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:f.S})}),"rate"===a&&(0,b.jsx)(f.O,{id:"edit-rate",label:"Rate limit",help:"Requests per minute.",error:x.ratePerMin,children:(0,b.jsx)("input",{id:"edit-rate",inputMode:"numeric",value:p,onChange:a=>q(a.target.value),className:`${f.S} font-mono`})}),"expiry"===a&&(0,b.jsx)(f.O,{id:"edit-expiry",label:"Expires",error:x.expiry,children:(0,b.jsx)("select",{id:"edit-expiry",value:r,onChange:a=>s(a.target.value),className:f.S,children:m.W.map(a=>(0,b.jsx)("option",{value:a,children:m.o[a]},a))})}),"routing"===a&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.O,{id:"edit-provider",label:"Provider",help:g.length?void 0:"No provider is connected yet. Until one is, this key has nothing to pin to.",error:x.providerId,children:(0,b.jsxs)("select",{id:"edit-provider",value:t,onChange:a=>u(a.target.value),className:f.S,children:[(0,b.jsx)("option",{value:"",children:"No pin (default provider)"}),g.map(a=>(0,b.jsxs)("option",{value:a.id,children:[a.name,a.enabled?"":" (off)"]},a.id))]})}),(0,b.jsx)(f.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:x.model,children:(0,b.jsx)("input",{id:"edit-model",value:v,onChange:a=>w(a.target.value),disabled:!t,placeholder:"gemini-3.8-flash",autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:`${f.S} font-mono`})})]}),z&&(0,b.jsx)("p",{className:"mb-3 text-[13px] text-err",role:"alert",children:z})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(f.K,{onClick:h,disabled:B,children:"Cancel"}),(0,b.jsx)(f.K,{type:"submit",variant:"primary",disabled:B,children:B?"Saving…":D.cta})]})]})}a.s(["KeyActions",0,function({k:a,providers:d}){let[j,k]=(0,c.useState)(null);return(0,g.useHoldRefresh)(null!==j),(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(e.f,{trigger:(0,b.jsx)(f.K,{size:"sm",children:"Revoke"}),title:`Revoke ${a.name}?`,body:`Calls with ${a.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 b=await l(a.id);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}}),(0,b.jsx)(h.RowMenu,{label:`Actions for ${a.name}`,items:[{label:"Rename",onSelect:()=>k("rename")},{label:"Change rate limit",onSelect:()=>k("rate")},{label:"Change expiry",onSelect:()=>k("expiry")},{label:"Change routing",onSelect:()=>k("routing")}]}),(0,b.jsx)(i.N,{open:null!==j,onOpenChange:a=>{a||k(null)},children:(0,b.jsx)(i.d,{className:"gap-0 p-0 sm:max-w-[520px]",showCloseButton:!1,children:j&&(0,b.jsx)(o,{mode:j,k:a,providers:d,onDone:()=>k(null)})})})]})}],659526)},136476,a=>{let b={"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:a.i(901615).C.writeNotesLong}};a.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,b])}]})();
2
2
 
3
3
  //# sourceMappingURL=src_10zavgy86u3us._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[390124,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(771378),f=a.i(619089),g=a.i(405050);let h=(0,g.createServerReference)("405d325f740865ccfadc69e3d2f40e898901a4508c",g.callServer,void 0,g.findSourceMapURL,"updateMonitorDomain");a.s(["DomainMoved",0,function({monitorId:a,from:g,to:i,canAct:j}){let[k,l]=(0,c.useTransition)();return(0,b.jsxs)("span",{className:"inline-flex flex-wrap items-center gap-2 text-[13px] text-warn",children:[(0,b.jsxs)("span",{children:["Domain changed: ",(0,b.jsx)(e.MaskedText,{text:g})," → ",(0,b.jsx)(e.MaskedText,{text:i}),j?", update monitor?":""]}),j&&(0,b.jsx)(f.K,{size:"sm",disabled:k,onClick:()=>l(async()=>{try{let b=await h(a);b.ok?d.c.success(b.message??"Monitor updated."):d.c.error(b.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:k?"Updating…":"Update monitor"})]})}],390124)},585709,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(486747),e=a.i(462007),f=a.i(427110);a.s(["PlainTable",0,function({head:a,rows:g}){let[h,i]=(0,c.useState)(1),j=(0,f.$)(g,h);return j.page!==h&&i(j.page),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:a}),(0,b.jsx)("tbody",{children:j.rows.map(a=>(0,b.jsx)(c.Fragment,{children:a.row},a.key))})]})}),(0,b.jsx)(d.f,{page:j.page,pages:j.pages,text:(0,f.z)(j),onPage:i})]})}])},941881,a=>{let b=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;a.s(["f",0,a=>"string"==typeof a&&b.test(a)])}]})();
1
+ (()=>{"use strict";module.exports=[390124,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(771378),f=a.i(619089),g=a.i(405050);let h=(0,g.createServerReference)("40d9e38428ac6cef75b32f8269d2790e4cdf0cf5f5",g.callServer,void 0,g.findSourceMapURL,"updateMonitorDomain");a.s(["DomainMoved",0,function({monitorId:a,from:g,to:i,canAct:j}){let[k,l]=(0,c.useTransition)();return(0,b.jsxs)("span",{className:"inline-flex flex-wrap items-center gap-2 text-[13px] text-warn",children:[(0,b.jsxs)("span",{children:["Domain changed: ",(0,b.jsx)(e.MaskedText,{text:g})," → ",(0,b.jsx)(e.MaskedText,{text:i}),j?", update monitor?":""]}),j&&(0,b.jsx)(f.K,{size:"sm",disabled:k,onClick:()=>l(async()=>{try{let b=await h(a);b.ok?d.c.success(b.message??"Monitor updated."):d.c.error(b.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:k?"Updating…":"Update monitor"})]})}],390124)},585709,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(486747),e=a.i(462007),f=a.i(427110);a.s(["PlainTable",0,function({head:a,rows:g}){let[h,i]=(0,c.useState)(1),j=(0,f.$)(g,h);return j.page!==h&&i(j.page),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:a}),(0,b.jsx)("tbody",{children:j.rows.map(a=>(0,b.jsx)(c.Fragment,{children:a.row},a.key))})]})}),(0,b.jsx)(d.f,{page:j.page,pages:j.pages,text:(0,f.z)(j),onPage:i})]})}])},941881,a=>{let b=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;a.s(["f",0,a=>"string"==typeof a&&b.test(a)])}]})();
2
2
 
3
3
  //# sourceMappingURL=src_1q-jgpnd3lbcu._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[749348,a=>{var b=a.i(187924),c=a.i(50944),d=a.i(572131),e=a.i(823292),f=a.i(611619),g=a.i(619089),h=a.i(507504),i=a.i(188406),j=a.i(814574),k=a.i(405050);let l=(0,k.createServerReference)("40c28394b39ffb1ce47acc9dd9ee4350ed0a08b151",k.callServer,void 0,k.findSourceMapURL,"forgetAgentAction"),m=(0,k.createServerReference)("6081a18ff14d483512f359205a9fbab63ed009ffb2",k.callServer,void 0,k.findSourceMapURL,"renameAgentAction");function n({id:a,current:c,detected:f,onDone:h}){let[i,k]=(0,d.useState)(c===f?"":c),[l,o]=(0,d.useState)(""),[p,q]=(0,d.useTransition)();return(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),q(async()=>{o("");try{let b=await m(a,i);b.ok?(e.c.success(b.message??"Agent renamed."),h()):o(b.fieldErrors?.name??b.error)}catch{o("Watchbell didn't answer. Check that it's still running, then try again.")}})},noValidate:!0,children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsxs)(j.F,{className:"text-base",children:["Rename ",f]}),(0,b.jsx)(j.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"Only changes what this page shows. Leave it empty to use the detected name again."})]}),(0,b.jsx)("div",{className:"px-[18px] pt-1.5",children:(0,b.jsx)(g.O,{id:"agent-name",label:"Name",error:l,children:(0,b.jsx)("input",{id:"agent-name",value:i,onChange:a=>k(a.target.value),placeholder:f,autoComplete:"off",spellCheck:!1,className:g.S})})}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(g.K,{onClick:h,disabled:p,children:"Cancel"}),(0,b.jsx)(g.K,{type:"submit",variant:"primary",disabled:p,children:p?"Saving…":"Save name"})]})]})}a.s(["AgentActions",0,function({id:a,name:e,clientName:g,keyRevoked:k}){let m=(0,c.useRouter)(),[o,p]=(0,d.useState)(!1),[q,r]=(0,d.useState)(!1);return(0,h.useHoldRefresh)(o),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.RowMenu,{label:`Actions for ${e}`,items:[...k?[]:[{label:"Rename",onSelect:()=>p(!0)}],{label:"Show logs",onSelect:()=>m.push(`/ai/logs?agent=${encodeURIComponent(a)}`)},"---",{label:"Forget",danger:!0,onSelect:()=>r(!0)}]}),(0,b.jsx)(j.N,{open:o,onOpenChange:p,children:(0,b.jsx)(j.d,{className:"gap-0 p-0 sm:max-w-[520px]",showCloseButton:!1,children:o&&(0,b.jsx)(n,{id:a,current:e,detected:g,onDone:()=>p(!1)})})}),(0,b.jsx)(f.f,{open:q,onOpenChange:r,title:`Forget ${e}?`,body:"Removes it from this list. Its calls stay in the logs for 30 days. It appears again with its next request.",cta:"Forget agent",danger:!0,onConfirm:async()=>{let b=await l(a);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}})]})}],749348)},107778,a=>{var b=a.i(50944),c=a.i(572131),d=a.i(507504);a.s(["AgentsRefresh",0,function(){let a=(0,b.useRouter)(),[e,f]=(0,c.useTransition)(),g=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{g.current=e},[e]),(0,c.useEffect)(()=>{let b=()=>{if(!g.current){var b;(b={visible:"visible"===document.visibilityState,online:!1!==navigator.onLine,held:(0,d.holdCount)()>0}).visible&&b.online&&!b.held&&f(()=>a.refresh())}},c=setInterval(b,15e3);return document.addEventListener("visibilitychange",b),()=>{clearInterval(c),document.removeEventListener("visibilitychange",b)}},[a]),null}],107778)}]})();
1
+ (()=>{"use strict";module.exports=[749348,a=>{var b=a.i(187924),c=a.i(50944),d=a.i(572131),e=a.i(823292),f=a.i(611619),g=a.i(619089),h=a.i(507504),i=a.i(188406),j=a.i(814574),k=a.i(405050);let l=(0,k.createServerReference)("400eb2cc7aeb7152bce3713db2c3d34185f9318a2f",k.callServer,void 0,k.findSourceMapURL,"forgetAgentAction"),m=(0,k.createServerReference)("603f5117158e4ebba492e96aee5d4de6021afadeee",k.callServer,void 0,k.findSourceMapURL,"renameAgentAction");function n({id:a,current:c,detected:f,onDone:h}){let[i,k]=(0,d.useState)(c===f?"":c),[l,o]=(0,d.useState)(""),[p,q]=(0,d.useTransition)();return(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),q(async()=>{o("");try{let b=await m(a,i);b.ok?(e.c.success(b.message??"Agent renamed."),h()):o(b.fieldErrors?.name??b.error)}catch{o("Watchbell didn't answer. Check that it's still running, then try again.")}})},noValidate:!0,children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsxs)(j.F,{className:"text-base",children:["Rename ",f]}),(0,b.jsx)(j.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"Only changes what this page shows. Leave it empty to use the detected name again."})]}),(0,b.jsx)("div",{className:"px-[18px] pt-1.5",children:(0,b.jsx)(g.O,{id:"agent-name",label:"Name",error:l,children:(0,b.jsx)("input",{id:"agent-name",value:i,onChange:a=>k(a.target.value),placeholder:f,autoComplete:"off",spellCheck:!1,className:g.S})})}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(g.K,{onClick:h,disabled:p,children:"Cancel"}),(0,b.jsx)(g.K,{type:"submit",variant:"primary",disabled:p,children:p?"Saving…":"Save name"})]})]})}a.s(["AgentActions",0,function({id:a,name:e,clientName:g,keyRevoked:k}){let m=(0,c.useRouter)(),[o,p]=(0,d.useState)(!1),[q,r]=(0,d.useState)(!1);return(0,h.useHoldRefresh)(o),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.RowMenu,{label:`Actions for ${e}`,items:[...k?[]:[{label:"Rename",onSelect:()=>p(!0)}],{label:"Show logs",onSelect:()=>m.push(`/ai/logs?agent=${encodeURIComponent(a)}`)},"---",{label:"Forget",danger:!0,onSelect:()=>r(!0)}]}),(0,b.jsx)(j.N,{open:o,onOpenChange:p,children:(0,b.jsx)(j.d,{className:"gap-0 p-0 sm:max-w-[520px]",showCloseButton:!1,children:o&&(0,b.jsx)(n,{id:a,current:e,detected:g,onDone:()=>p(!1)})})}),(0,b.jsx)(f.f,{open:q,onOpenChange:r,title:`Forget ${e}?`,body:"Removes it from this list. Its calls stay in the logs for 30 days. It appears again with its next request.",cta:"Forget agent",danger:!0,onConfirm:async()=>{let b=await l(a);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}})]})}],749348)},107778,a=>{var b=a.i(50944),c=a.i(572131),d=a.i(507504);a.s(["AgentsRefresh",0,function(){let a=(0,b.useRouter)(),[e,f]=(0,c.useTransition)(),g=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{g.current=e},[e]),(0,c.useEffect)(()=>{let b=()=>{if(!g.current){var b;(b={visible:"visible"===document.visibilityState,online:!1!==navigator.onLine,held:(0,d.holdCount)()>0}).visible&&b.online&&!b.held&&f(()=>a.refresh())}},c=setInterval(b,15e3);return document.addEventListener("visibilitychange",b),()=>{clearInterval(c),document.removeEventListener("visibilitychange",b)}},[a]),null}],107778)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_%28private%29_ai_agents_1fyhh1ldgm23z._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[352771,a=>{"use strict";var b=a.i(187924),c=a.i(282269),d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(901615),h=a.i(368114),i=a.i(561654),j=a.i(700629);a.s(["AskForm",0,function({models:a=[],defaultLabel:k="your provider"}){let[l,m]=(0,d.useState)(""),[n,o]=(0,d.useState)(""),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useTransition)(),t=()=>{l.trim()&&!r&&(q(null),s(async()=>{try{let a=await (0,i.f)(l,n||null);a.ok?(m(""),e.c.success(a.message??"Sent.")):q(a.error)}catch{q("Watchbell didn't answer. Check that it's still running, then try again.")}}))};return(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),t()},children:[(0,b.jsx)("label",{htmlFor:"ask-in",className:"mb-1.5 block font-medium",children:"Ask about your apps, alerts, deployments or databases"}),(0,b.jsx)("textarea",{id:"ask-in",className:(0,h.f)(f.S,"min-h-22 w-full"),placeholder:"For example: which apps need attention before the weekend?",value:l,maxLength:2e3,"aria-describedby":"ask-hint ask-count","aria-invalid":!!p||void 0,onChange:a=>m(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.ctrlKey||a.metaKey)&&(a.preventDefault(),t())}}),p&&(0,b.jsx)("p",{role:"alert",className:"mt-1.5 text-[13px] text-err",children:p}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3",children:[(0,b.jsx)("span",{id:"ask-hint",className:"min-w-[220px] flex-1 text-[12.5px] text-ink-faint",children:r?(0,b.jsx)(j.f,{}):g.I.hint}),(0,b.jsxs)("span",{id:"ask-count",className:"font-mono text-[12px] text-ink-faint","aria-live":"off",children:[l.length," / ",2e3]}),a.length>0&&(0,b.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,b.jsx)("span",{className:"sr-only",children:"Model"}),(0,b.jsxs)("select",{className:(0,h.f)(f.S,"max-w-[260px] py-1 font-mono text-[12.5px]"),value:n,onChange:a=>o(a.target.value),disabled:r,children:[(0,b.jsxs)("option",{value:"",children:["Default (",k,")"]}),a.map(a=>(0,b.jsx)("option",{value:a.id,children:a.label},a.id))]})]}),(0,b.jsxs)(f.K,{type:"submit",variant:"primary",disabled:r||!l.trim(),children:[(0,b.jsx)(c.f,{size:16,"aria-hidden":!0}),r?"Asking…":"Send"]})]})]})}])}];
1
+ module.exports=[352771,a=>{"use strict";var b=a.i(187924),c=a.i(282269),d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(901615),h=a.i(368114),i=a.i(72318),j=a.i(700629);a.s(["AskForm",0,function({models:a=[],defaultLabel:k="your provider"}){let[l,m]=(0,d.useState)(""),[n,o]=(0,d.useState)(""),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useTransition)(),t=()=>{l.trim()&&!r&&(q(null),s(async()=>{try{let a=await (0,i.f)(l,n||null);a.ok?(m(""),e.c.success(a.message??"Sent.")):q(a.error)}catch{q("Watchbell didn't answer. Check that it's still running, then try again.")}}))};return(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),t()},children:[(0,b.jsx)("label",{htmlFor:"ask-in",className:"mb-1.5 block font-medium",children:"Ask about your apps, alerts, deployments or databases"}),(0,b.jsx)("textarea",{id:"ask-in",className:(0,h.f)(f.S,"min-h-22 w-full"),placeholder:"For example: which apps need attention before the weekend?",value:l,maxLength:2e3,"aria-describedby":"ask-hint ask-count","aria-invalid":!!p||void 0,onChange:a=>m(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.ctrlKey||a.metaKey)&&(a.preventDefault(),t())}}),p&&(0,b.jsx)("p",{role:"alert",className:"mt-1.5 text-[13px] text-err",children:p}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3",children:[(0,b.jsx)("span",{id:"ask-hint",className:"min-w-[220px] flex-1 text-[12.5px] text-ink-faint",children:r?(0,b.jsx)(j.f,{}):g.I.hint}),(0,b.jsxs)("span",{id:"ask-count",className:"font-mono text-[12px] text-ink-faint","aria-live":"off",children:[l.length," / ",2e3]}),a.length>0&&(0,b.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,b.jsx)("span",{className:"sr-only",children:"Model"}),(0,b.jsxs)("select",{className:(0,h.f)(f.S,"max-w-[260px] py-1 font-mono text-[12.5px]"),value:n,onChange:a=>o(a.target.value),disabled:r,children:[(0,b.jsxs)("option",{value:"",children:["Default (",k,")"]}),a.map(a=>(0,b.jsx)("option",{value:a.id,children:a.label},a.id))]})]}),(0,b.jsxs)(f.K,{type:"submit",variant:"primary",disabled:r||!l.trim(),children:[(0,b.jsx)(c.f,{size:16,"aria-hidden":!0}),r?"Asking…":"Send"]})]})]})}])}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_%28private%29_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[815287,a=>{"use strict";var b=a.i(187924);let c=(0,a.i(449862).f)("outline","download","Download",[["path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2",key:"svg-0"}],["path",{d:"M7 11l5 5l5 -5",key:"svg-1"}],["path",{d:"M12 4l0 12",key:"svg-2"}]]);var d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(405050);let h=(0,g.createServerReference)("40fa07f0dd216b2e0160f4c3724bdf5785d1dd858c",g.callServer,void 0,g.findSourceMapURL,"exportLogsCsv");a.s(["ExportButton",0,function({params:a}){let[g,i]=(0,d.useTransition)();return(0,b.jsxs)(f.K,{onClick:()=>i(async()=>{try{let b=await h(a);if(!b.ok||!b.data)return void e.c.error(b.ok?"Nothing to export.":b.error);let c=URL.createObjectURL(new Blob(["\uFEFF",b.data.csv],{type:"text/csv;charset=utf-8"})),d=document.createElement("a");d.href=c,d.download=`watchbell-ai-logs-${new Date().toISOString().slice(0,10)}.csv`,document.body.append(d),d.click(),d.remove(),URL.revokeObjectURL(c),e.c.success(b.message??"Exported.")}catch{e.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),disabled:g,children:[(0,b.jsx)(c,{size:16,"aria-hidden":!0}),g?"Exporting...":"Export CSV"]})}],815287)}];
1
+ module.exports=[815287,a=>{"use strict";var b=a.i(187924);let c=(0,a.i(449862).f)("outline","download","Download",[["path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2",key:"svg-0"}],["path",{d:"M7 11l5 5l5 -5",key:"svg-1"}],["path",{d:"M12 4l0 12",key:"svg-2"}]]);var d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(405050);let h=(0,g.createServerReference)("4074178b352d58327844ff25f219981fe510785092",g.callServer,void 0,g.findSourceMapURL,"exportLogsCsv");a.s(["ExportButton",0,function({params:a}){let[g,i]=(0,d.useTransition)();return(0,b.jsxs)(f.K,{onClick:()=>i(async()=>{try{let b=await h(a);if(!b.ok||!b.data)return void e.c.error(b.ok?"Nothing to export.":b.error);let c=URL.createObjectURL(new Blob(["\uFEFF",b.data.csv],{type:"text/csv;charset=utf-8"})),d=document.createElement("a");d.href=c,d.download=`watchbell-ai-logs-${new Date().toISOString().slice(0,10)}.csv`,document.body.append(d),d.click(),d.remove(),URL.revokeObjectURL(c),e.c.success(b.message??"Exported.")}catch{e.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),disabled:g,children:[(0,b.jsx)(c,{size:16,"aria-hidden":!0}),g?"Exporting...":"Export CSV"]})}],815287)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_%28private%29_ai_logs_export-button_tsx_1k-crb88n1za_._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[127306,a=>{var b=a.i(187924),c=a.i(908161),d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(368114),h=a.i(271288),i=a.i(700629),j=a.i(405050);let k=(0,j.createServerReference)("00f28f565850b6e19e1f874d5b4d3224415f00e8f4",j.callServer,void 0,j.findSourceMapURL,"runAdvisorNowAction"),l=(0,j.createServerReference)("60547af398a2bbf256a8db939f6403b3bd4b60cccf",j.callServer,void 0,j.findSourceMapURL,"setAdvisorNotesAction");a.s(["AdvisorNotesControls",0,function({enabled:a,model:j,models:m,defaultLabel:n}){let[o,p]=(0,d.useState)(a),[q,r]=(0,d.useState)(j??""),[s,t]=(0,d.useTransition)(),[u,v]=(0,d.useTransition)(),w=(b,c)=>t(async()=>{try{let d=await l(b,c||null);d.ok?e.c.success(d.message??"Saved."):(p(a),r(j??""),e.c.error(d.error))}catch{e.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}});return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,b.jsx)(h.f,{checked:o,disabled:s,label:"Advisor notes",onChange:a=>{p(a),w(a,q)}}),(0,b.jsxs)("span",{className:"text-[13px]",children:["Advisor notes ",o?"on":"off"]}),(0,b.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,b.jsx)("span",{className:"sr-only",children:"Advisor model"}),(0,b.jsxs)("select",{className:(0,g.f)(f.S,"max-w-[260px] py-1 font-mono text-[12.5px]"),value:q,disabled:s,onChange:a=>{r(a.target.value),w(o,a.target.value)},children:[(0,b.jsxs)("option",{value:"",children:["Default (",n,")"]}),m.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]})]}),(0,b.jsxs)(f.K,{size:"sm",disabled:u,onClick:()=>v(async()=>{try{let a=await k();a.ok?e.c.success(a.message??"Done."):e.c.error(a.error)}catch{e.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:[(0,b.jsx)(c.f,{size:15,"aria-hidden":!0}),u?"Writing…":"Run now"]}),u&&(0,b.jsx)(i.f,{})]})}],127306)},785149,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(611619),f=a.i(619089),g=a.i(405050);let h=(0,g.createServerReference)("60e79e60c20b7a001a85ecff03f708520151920234",g.callServer,void 0,g.findSourceMapURL,"addManualModel"),i=(0,g.createServerReference)("600a8f261057aac9c56ff9c2100ba4bead3e425293",g.callServer,void 0,g.findSourceMapURL,"removeManualModel");a.s(["AddModelIdForm",0,function({providerId:a,providerName:e}){let g=(0,c.useId)(),[i,j]=(0,c.useState)(""),[k,l]=(0,c.useTransition)();return(0,b.jsxs)("form",{className:"flex flex-col gap-1.5",onSubmit:b=>{b.preventDefault();let c=i.trim();c&&l(async()=>{try{let b=await h(a,c);b.ok?(d.c.success(b.message??"Added."),j("")):d.c.error(b.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,b.jsxs)("label",{htmlFor:g,className:"text-[13px] font-medium",children:["Add model id · ",e]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("input",{id:g,name:"modelId",value:i,onChange:a=>j(a.target.value),maxLength:120,autoComplete:"off",spellCheck:!1,placeholder:"model id","aria-describedby":`${g}-hint`,disabled:k,className:`${f.S} min-w-0 flex-1 font-mono text-[13px] sm:max-w-[320px]`}),(0,b.jsx)(f.K,{size:"sm",type:"submit",disabled:k||""===i.trim(),children:k?"Testing…":"Add"})]}),(0,b.jsx)("p",{id:`${g}-hint`,className:"m-0 text-[12.5px] text-ink-faint",children:"For ids the server doesn't list (for example a combo). Watchbell tests it once before saving."})]})},"RemoveManualModelButton",0,function({providerId:a,modelId:c,publicId:d}){return(0,b.jsx)(e.f,{trigger:(0,b.jsx)(f.K,{size:"sm",variant:"ghost",children:"Remove"}),title:`Remove ${d}?`,body:"Watchbell stops offering this model id. Calls for it answer 400 model_not_enabled. Nothing changes on your server.",cta:"Remove",danger:!0,onConfirm:async()=>{let b=await i(a,c);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}})}],785149)},391737,a=>{var b=a.i(187924),c=a.i(402699),d=a.i(908161);let e=(0,a.i(449862).f)("outline","radar","Radar",[["path",{d:"M21 12h-8a1 1 0 1 0 -1 1v8a9 9 0 0 0 9 -9",key:"svg-0"}],["path",{d:"M16 9a5 5 0 1 0 -7 7",key:"svg-1"}],["path",{d:"M20.486 9a9 9 0 1 0 -11.482 11.495",key:"svg-2"}]]);var f=a.i(147909),g=a.i(572131),h=a.i(823292),i=a.i(619089),j=a.i(271288),k=a.i(405050);let l=(0,k.createServerReference)("408319a11d6373941c89fbcc5b563553ae44cae5d0",k.callServer,void 0,k.findSourceMapURL,"makeDefaultModel"),m=(0,k.createServerReference)("00e2318ff9a68afec04298a45625c4a1ed5113add6",k.callServer,void 0,k.findSourceMapURL,"refreshAllModels"),n=(0,k.createServerReference)("405568bd583f003d89f97c89340b96c0f3945eda88",k.callServer,void 0,k.findSourceMapURL,"scanModelsAction"),o=(0,k.createServerReference)("001a37a27498f520f9895d3a1bc895858e5f1a3239",k.callServer,void 0,k.findSourceMapURL,"syncModelsNowAction"),p=(0,k.createServerReference)("60a3b5ff618bf4d4502caffa41060fafd2505114e2",k.callServer,void 0,k.findSourceMapURL,"testModelAction"),q=(0,k.createServerReference)("70f2510328e7426270992f4486f1efa9be5cd28435",k.callServer,void 0,k.findSourceMapURL,"toggleModel");a.s(["MakeDefaultButton",0,function({publicId:a}){let[c,d]=(0,g.useTransition)();return(0,b.jsx)(i.K,{size:"sm",variant:"ghost",disabled:c,onClick:()=>d(async()=>{try{let b=await l(a);b.ok?h.c.success(b.message??"Saved."):h.c.error(b.error)}catch{h.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:"Make default"})},"ModelSwitch",0,function({providerId:a,modelId:c,publicId:d,enabled:e,disabled:f}){let[i,k]=(0,g.useState)(e),[l,m]=(0,g.useTransition)(),[n,o]=(0,g.useState)(e);return n!==e&&(o(e),k(e)),(0,b.jsx)(j.f,{checked:i,disabled:f||l,label:`Model ${d}`,onChange:b=>{k(b),m(async()=>{try{let d=await q(a,c,b);d.ok?h.c.success(d.message??"Saved."):(k(!b),h.c.error(d.error))}catch{k(!b),h.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})}})},"RefreshModelsButton",0,function(){let[a,c]=(0,g.useTransition)();return(0,b.jsxs)(i.K,{disabled:a,onClick:()=>c(async()=>{try{let a=await m();a.ok?h.c.success(a.message??"Refreshed."):h.c.error(a.error)}catch{h.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:[(0,b.jsx)(f.f,{size:16,"aria-hidden":!0}),a?"Refreshing...":"Refresh models"]})},"ScanAllButton",0,function({providerId:a,name:d}){let[f,j]=(0,g.useTransition)();return(0,b.jsxs)(i.K,{size:"sm",disabled:f,onClick:()=>j(async()=>{try{let b=await n(a);b.ok?h.c.success(b.message??"Scanned."):h.c.error(b.error)}catch{h.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:[f?(0,b.jsx)(c.f,{size:15,className:"animate-spin","aria-hidden":!0}):(0,b.jsx)(e,{size:15,"aria-hidden":!0}),f?`Scanning ${d}…`:`Scan all \xb7 ${d}`]})},"SyncNowButton",0,function(){let[a,d]=(0,g.useTransition)();return(0,b.jsxs)(i.K,{size:"sm",disabled:a,onClick:()=>d(async()=>{try{let a=await o();a.ok?h.c.success(a.message??"Synced."):h.c.error(a.error)}catch{h.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:[a?(0,b.jsx)(c.f,{size:15,className:"animate-spin","aria-hidden":!0}):(0,b.jsx)(f.f,{size:15,"aria-hidden":!0}),a?"Syncing…":"Sync now"]})},"TestModelButton",0,function({providerId:a,modelId:e,publicId:f}){let[j,k]=(0,g.useTransition)();return(0,b.jsx)(i.K,{size:"sm",variant:"ghost","aria-label":`Test ${f}`,title:`Test ${f}`,disabled:j,onClick:()=>k(async()=>{try{let b=await p(a,e);b.ok?h.c.success(b.message??"Works."):h.c.error(b.error)}catch{h.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:j?(0,b.jsx)(c.f,{size:15,className:"animate-spin","aria-hidden":!0}):(0,b.jsx)(d.f,{size:15,"aria-hidden":!0})})}],391737)}]})();
1
+ (()=>{"use strict";module.exports=[127306,a=>{var b=a.i(187924),c=a.i(908161),d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(368114),h=a.i(271288),i=a.i(700629),j=a.i(405050);let k=(0,j.createServerReference)("007f62e16d0378dc89bb6d8ed40698ec1aef4ef231",j.callServer,void 0,j.findSourceMapURL,"runAdvisorNowAction"),l=(0,j.createServerReference)("6080644eae3ae4ed08a10191cc4c025599adfc38f5",j.callServer,void 0,j.findSourceMapURL,"setAdvisorNotesAction");a.s(["AdvisorNotesControls",0,function({enabled:a,model:j,models:m,defaultLabel:n}){let[o,p]=(0,d.useState)(a),[q,r]=(0,d.useState)(j??""),[s,t]=(0,d.useTransition)(),[u,v]=(0,d.useTransition)(),w=(b,c)=>t(async()=>{try{let d=await l(b,c||null);d.ok?e.c.success(d.message??"Saved."):(p(a),r(j??""),e.c.error(d.error))}catch{e.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}});return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,b.jsx)(h.f,{checked:o,disabled:s,label:"Advisor notes",onChange:a=>{p(a),w(a,q)}}),(0,b.jsxs)("span",{className:"text-[13px]",children:["Advisor notes ",o?"on":"off"]}),(0,b.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,b.jsx)("span",{className:"sr-only",children:"Advisor model"}),(0,b.jsxs)("select",{className:(0,g.f)(f.S,"max-w-[260px] py-1 font-mono text-[12.5px]"),value:q,disabled:s,onChange:a=>{r(a.target.value),w(o,a.target.value)},children:[(0,b.jsxs)("option",{value:"",children:["Default (",n,")"]}),m.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]})]}),(0,b.jsxs)(f.K,{size:"sm",disabled:u,onClick:()=>v(async()=>{try{let a=await k();a.ok?e.c.success(a.message??"Done."):e.c.error(a.error)}catch{e.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:[(0,b.jsx)(c.f,{size:15,"aria-hidden":!0}),u?"Writing…":"Run now"]}),u&&(0,b.jsx)(i.f,{})]})}],127306)},785149,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(611619),f=a.i(619089),g=a.i(405050);let h=(0,g.createServerReference)("60050f7d39c1cd4d89e8827f98342b9dde7b20214d",g.callServer,void 0,g.findSourceMapURL,"addManualModel"),i=(0,g.createServerReference)("603f9e20a20006587f333b145fefb8c4856bcfb06d",g.callServer,void 0,g.findSourceMapURL,"removeManualModel");a.s(["AddModelIdForm",0,function({providerId:a,providerName:e}){let g=(0,c.useId)(),[i,j]=(0,c.useState)(""),[k,l]=(0,c.useTransition)();return(0,b.jsxs)("form",{className:"flex flex-col gap-1.5",onSubmit:b=>{b.preventDefault();let c=i.trim();c&&l(async()=>{try{let b=await h(a,c);b.ok?(d.c.success(b.message??"Added."),j("")):d.c.error(b.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,b.jsxs)("label",{htmlFor:g,className:"text-[13px] font-medium",children:["Add model id · ",e]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("input",{id:g,name:"modelId",value:i,onChange:a=>j(a.target.value),maxLength:120,autoComplete:"off",spellCheck:!1,placeholder:"model id","aria-describedby":`${g}-hint`,disabled:k,className:`${f.S} min-w-0 flex-1 font-mono text-[13px] sm:max-w-[320px]`}),(0,b.jsx)(f.K,{size:"sm",type:"submit",disabled:k||""===i.trim(),children:k?"Testing…":"Add"})]}),(0,b.jsx)("p",{id:`${g}-hint`,className:"m-0 text-[12.5px] text-ink-faint",children:"For ids the server doesn't list (for example a combo). Watchbell tests it once before saving."})]})},"RemoveManualModelButton",0,function({providerId:a,modelId:c,publicId:d}){return(0,b.jsx)(e.f,{trigger:(0,b.jsx)(f.K,{size:"sm",variant:"ghost",children:"Remove"}),title:`Remove ${d}?`,body:"Watchbell stops offering this model id. Calls for it answer 400 model_not_enabled. Nothing changes on your server.",cta:"Remove",danger:!0,onConfirm:async()=>{let b=await i(a,c);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}})}],785149)},391737,a=>{var b=a.i(187924),c=a.i(402699),d=a.i(908161);let e=(0,a.i(449862).f)("outline","radar","Radar",[["path",{d:"M21 12h-8a1 1 0 1 0 -1 1v8a9 9 0 0 0 9 -9",key:"svg-0"}],["path",{d:"M16 9a5 5 0 1 0 -7 7",key:"svg-1"}],["path",{d:"M20.486 9a9 9 0 1 0 -11.482 11.495",key:"svg-2"}]]);var f=a.i(147909),g=a.i(572131),h=a.i(823292),i=a.i(619089),j=a.i(271288),k=a.i(405050);let l=(0,k.createServerReference)("4059f1b31521f1fa2d31b6fbeda83d7a5837c80ee9",k.callServer,void 0,k.findSourceMapURL,"makeDefaultModel"),m=(0,k.createServerReference)("002c16cd4a180e2128ce5fdff9a4c462cfc67ac938",k.callServer,void 0,k.findSourceMapURL,"refreshAllModels"),n=(0,k.createServerReference)("40454a98ea3f14df9d56942f827e90ac8c5d151ac9",k.callServer,void 0,k.findSourceMapURL,"scanModelsAction"),o=(0,k.createServerReference)("006d70eb399d949425b08b9b8e65a8e73b7d8cd634",k.callServer,void 0,k.findSourceMapURL,"syncModelsNowAction"),p=(0,k.createServerReference)("60d2b187cccb8d245a9d5572d14d8f0b6f7ed5bc34",k.callServer,void 0,k.findSourceMapURL,"testModelAction"),q=(0,k.createServerReference)("7002d53b03f55251a4465bcbd6fd50e40eb808ab6a",k.callServer,void 0,k.findSourceMapURL,"toggleModel");a.s(["MakeDefaultButton",0,function({publicId:a}){let[c,d]=(0,g.useTransition)();return(0,b.jsx)(i.K,{size:"sm",variant:"ghost",disabled:c,onClick:()=>d(async()=>{try{let b=await l(a);b.ok?h.c.success(b.message??"Saved."):h.c.error(b.error)}catch{h.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:"Make default"})},"ModelSwitch",0,function({providerId:a,modelId:c,publicId:d,enabled:e,disabled:f}){let[i,k]=(0,g.useState)(e),[l,m]=(0,g.useTransition)(),[n,o]=(0,g.useState)(e);return n!==e&&(o(e),k(e)),(0,b.jsx)(j.f,{checked:i,disabled:f||l,label:`Model ${d}`,onChange:b=>{k(b),m(async()=>{try{let d=await q(a,c,b);d.ok?h.c.success(d.message??"Saved."):(k(!b),h.c.error(d.error))}catch{k(!b),h.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})}})},"RefreshModelsButton",0,function(){let[a,c]=(0,g.useTransition)();return(0,b.jsxs)(i.K,{disabled:a,onClick:()=>c(async()=>{try{let a=await m();a.ok?h.c.success(a.message??"Refreshed."):h.c.error(a.error)}catch{h.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:[(0,b.jsx)(f.f,{size:16,"aria-hidden":!0}),a?"Refreshing...":"Refresh models"]})},"ScanAllButton",0,function({providerId:a,name:d}){let[f,j]=(0,g.useTransition)();return(0,b.jsxs)(i.K,{size:"sm",disabled:f,onClick:()=>j(async()=>{try{let b=await n(a);b.ok?h.c.success(b.message??"Scanned."):h.c.error(b.error)}catch{h.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:[f?(0,b.jsx)(c.f,{size:15,className:"animate-spin","aria-hidden":!0}):(0,b.jsx)(e,{size:15,"aria-hidden":!0}),f?`Scanning ${d}…`:`Scan all \xb7 ${d}`]})},"SyncNowButton",0,function(){let[a,d]=(0,g.useTransition)();return(0,b.jsxs)(i.K,{size:"sm",disabled:a,onClick:()=>d(async()=>{try{let a=await o();a.ok?h.c.success(a.message??"Synced."):h.c.error(a.error)}catch{h.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:[a?(0,b.jsx)(c.f,{size:15,className:"animate-spin","aria-hidden":!0}):(0,b.jsx)(f.f,{size:15,"aria-hidden":!0}),a?"Syncing…":"Sync now"]})},"TestModelButton",0,function({providerId:a,modelId:e,publicId:f}){let[j,k]=(0,g.useTransition)();return(0,b.jsx)(i.K,{size:"sm",variant:"ghost","aria-label":`Test ${f}`,title:`Test ${f}`,disabled:j,onClick:()=>k(async()=>{try{let b=await p(a,e);b.ok?h.c.success(b.message??"Works."):h.c.error(b.error)}catch{h.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:j?(0,b.jsx)(c.f,{size:15,className:"animate-spin","aria-hidden":!0}):(0,b.jsx)(d.f,{size:15,"aria-hidden":!0})})}],391737)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_%28private%29_ai_models_0ayzqn062pnv5._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[274974,a=>{"use strict";var b=a.i(187924),c=a.i(402699),d=a.i(282269),e=a.i(572131),f=a.i(619089),g=a.i(901615),h=a.i(368114),i=a.i(561654),j=a.i(405050);let k=(0,j.createServerReference)("40b2e5312fbb464a6ec96b51737047b13222d0dabd",j.callServer,void 0,j.findSourceMapURL,"questionStatus");var l=a.i(295914);a.i(147474);let m=g.T.hint,n=(a,b)=>{let c=a.replace(/\s+/g," ").trim();return c.length>b?`${c.slice(0,b-1)}…`:c},o=(0,j.createServerReference)("4015a93625e53c65a834e87dd1321ab945b59ccecd",j.callServer,void 0,j.findSourceMapURL,"playgroundSend");a.s(["PlaygroundView",0,function({models:a,defaultModel:j}){let[p,q]=(0,e.useState)(a.some(a=>a.id===j)?j:a[0]?.id??""),[r,s]=(0,e.useState)("plain"),[t,u]=(0,e.useState)("0.4"),[v,w]=(0,e.useState)("1024"),[x,y]=(0,e.useState)("You are Watchbell's assistant. Answer from the console data you are given. Say when the data doesn't cover the question."),[z,A]=(0,e.useState)(""),[B,C]=(0,e.useState)([]),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(0),[J,K]=(0,e.useTransition)(),L=(0,e.useRef)(null),M="antigravity"===(a.find(a=>a.id===p)?.via??"provider"),N=J||null!==F,O=a.filter(a=>"provider"===a.via),P=a.filter(a=>"antigravity"===a.via);(0,e.useEffect)(()=>{L.current?.scrollTo({top:L.current.scrollHeight})},[B,J,F]),(0,e.useEffect)(()=>{if(!F)return;let a=!1,b=!1,c=b=>{!a&&(G(null),b&&E(b))},d=setInterval(()=>I(Date.now()),1e3),e=setInterval(async()=>{if(!b&&!a){if(Date.now()-F.startedAt>6e5)return c(g.T.giveUp);b=!0;try{let b=await k(F.id);if(a)return;if(!b.ok)return c(b.error);let d=b.data;if(d?.status==="answered"){let a=Math.max(1,Math.round((Date.now()-F.startedAt)/1e3));C(b=>[...b,{role:"assistant",content:d.answer?.trim()||g.T.emptyAnswer,md:!0,meta:g.T.answerMeta(d.model??F.model,a)}]),c(null)}else d?.status==="expired"&&c(g.T.expired)}catch{}finally{b=!1}}},3e3);return()=>{a=!0,clearInterval(d),clearInterval(e)}},[F]);let Q=()=>{let a=z.trim();if(!a||N||!p)return;let b=[...B,{role:"user",content:a}];if(C(b),A(""),E(null),M){let b;b=function(a,b,c=2e3){let d=b.trim(),e=a.slice(-4).map(a=>`Q: ${n(a.q,300)}
1
+ module.exports=[274974,a=>{"use strict";var b=a.i(187924),c=a.i(402699),d=a.i(282269),e=a.i(572131),f=a.i(619089),g=a.i(901615),h=a.i(368114),i=a.i(72318),j=a.i(405050);let k=(0,j.createServerReference)("409e7a258188b6cded6c7c6a9dd25a13da03238f13",j.callServer,void 0,j.findSourceMapURL,"questionStatus");var l=a.i(295914);a.i(147474);let m=g.T.hint,n=(a,b)=>{let c=a.replace(/\s+/g," ").trim();return c.length>b?`${c.slice(0,b-1)}…`:c},o=(0,j.createServerReference)("408a3acde0c5845abe3a31123c3547d9d44b8c58ab",j.callServer,void 0,j.findSourceMapURL,"playgroundSend");a.s(["PlaygroundView",0,function({models:a,defaultModel:j}){let[p,q]=(0,e.useState)(a.some(a=>a.id===j)?j:a[0]?.id??""),[r,s]=(0,e.useState)("plain"),[t,u]=(0,e.useState)("0.4"),[v,w]=(0,e.useState)("1024"),[x,y]=(0,e.useState)("You are Watchbell's assistant. Answer from the console data you are given. Say when the data doesn't cover the question."),[z,A]=(0,e.useState)(""),[B,C]=(0,e.useState)([]),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(0),[J,K]=(0,e.useTransition)(),L=(0,e.useRef)(null),M="antigravity"===(a.find(a=>a.id===p)?.via??"provider"),N=J||null!==F,O=a.filter(a=>"provider"===a.via),P=a.filter(a=>"antigravity"===a.via);(0,e.useEffect)(()=>{L.current?.scrollTo({top:L.current.scrollHeight})},[B,J,F]),(0,e.useEffect)(()=>{if(!F)return;let a=!1,b=!1,c=b=>{!a&&(G(null),b&&E(b))},d=setInterval(()=>I(Date.now()),1e3),e=setInterval(async()=>{if(!b&&!a){if(Date.now()-F.startedAt>6e5)return c(g.T.giveUp);b=!0;try{let b=await k(F.id);if(a)return;if(!b.ok)return c(b.error);let d=b.data;if(d?.status==="answered"){let a=Math.max(1,Math.round((Date.now()-F.startedAt)/1e3));C(b=>[...b,{role:"assistant",content:d.answer?.trim()||g.T.emptyAnswer,md:!0,meta:g.T.answerMeta(d.model??F.model,a)}]),c(null)}else d?.status==="expired"&&c(g.T.expired)}catch{}finally{b=!1}}},3e3);return()=>{a=!0,clearInterval(d),clearInterval(e)}},[F]);let Q=()=>{let a=z.trim();if(!a||N||!p)return;let b=[...B,{role:"user",content:a}];if(C(b),A(""),E(null),M){let b;b=function(a,b,c=2e3){let d=b.trim(),e=a.slice(-4).map(a=>`Q: ${n(a.q,300)}
2
2
  A: ${n(a.a,600)}`);for(;e.length>0;){let a=`Earlier in this chat:
3
3
  ${e.join("\n")}
4
4
 
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[492768,a=>{var b=a.i(187924),c=a.i(335371),d=a.i(572131),e=a.i(823292),f=a.i(611619),g=a.i(619089),h=a.i(188406),i=a.i(405050);let j=(0,i.createServerReference)("40e598ba0c7bdfcdec244d000c2bc6a6a3222dbf6d",i.callServer,void 0,i.findSourceMapURL,"makeDefaultProvider"),k=(0,i.createServerReference)("401b729a955f7a238d38e6f97d0bdbc44f76aafa94",i.callServer,void 0,i.findSourceMapURL,"removeProvider"),l=(0,i.createServerReference)("60d5d34c0ea177249745a51e37bf1a36c6f1ca19cd",i.callServer,void 0,i.findSourceMapURL,"setProviderEnabled"),m=(0,i.createServerReference)("40c9ee1f73d40419e7bba46e2b4c9a9cf0b31d969c",i.callServer,void 0,i.findSourceMapURL,"testProvider");function n(a){a.ok?e.c.success(a.message??"Done."):e.c.error(a.error??"Something went wrong.")}a.s(["DefaultProviderSelect",0,function({options:a,current:c}){let[e,f]=(0,d.useTransition)(),[h,i]=(0,d.useState)(c??"");return 0===a.length?(0,b.jsx)("span",{className:"text-ink-faint",children:"No provider connected"}):(0,b.jsxs)("select",{"aria-label":"Default provider",className:`${g.S} w-auto`,value:h,disabled:e,onChange:a=>{let b=a.target.value;i(b),b&&f(async()=>n(await j(b)))},children:[!c&&(0,b.jsx)("option",{value:"",children:"None yet"}),a.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]})},"EnabledSwitch",0,function({id:a,on:c,name:e}){let[f,g]=(0,d.useTransition)(),[h,i]=(0,d.useState)(c);return(0,b.jsxs)("label",{className:"relative inline-flex cursor-pointer items-center",title:`${e}: ${h?"on":"off"}`,children:[(0,b.jsx)("input",{type:"checkbox",role:"switch",className:"peer sr-only",checked:h,disabled:f,"aria-label":`${e} enabled`,onChange:b=>{let c=b.target.checked;i(c),g(async()=>{let b=await l(a,c);b.ok||i(!c),n(b)})}}),(0,b.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,b.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:a,name:c,isDefault:e}){let[g,i]=(0,d.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.RowMenu,{label:`Actions for ${c}`,items:[...e?[]:[{label:"Make default",onSelect:async()=>n(await j(a))},"---"],{label:"Remove",danger:!0,onSelect:()=>i(!0)}]}),(0,b.jsx)(f.f,{open:g,onOpenChange:i,title:`Remove ${c}?`,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 b=await k(a);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}})]})},"TestProviderButton",0,function({id:a}){let[e,f]=(0,d.useTransition)();return(0,b.jsxs)(g.K,{size:"sm",disabled:e,onClick:()=>f(async()=>n(await m(a))),children:[(0,b.jsx)(c.f,{size:15,"aria-hidden":!0}),e?"Testing…":"Test"]})}],492768)},36105,a=>{var b=a.i(187924),c=a.i(834295),d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(814574),h=a.i(405050);let i=(0,h.createServerReference)("60b775164d8c6465a7a32040c5b942f4626f62d0cd",h.callServer,void 0,h.findSourceMapURL,"connectProvider"),j=(0,h.createServerReference)("6006f579f9c18a0eec9325f6516529a3d86c30f9e2",h.callServer,void 0,h.findSourceMapURL,"replaceProviderKey");var k=a.i(901615);let l={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:a=>`https://api.cloudflare.com/client/v4/accounts/${a.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:a=>(a.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."}}};k.X.localUrl;var m=a.i(449862);let n=(0,m.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 o=a.i(786581);let p=(0,m.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"}]]),q={gemini:n,cloudflare:o.f,custom:p},r={gemini:"AQ.… or AIza…",cloudflare:"Paste the API token",custom:"Paste the API key"};a.s(["ProviderDialog",0,function({kind:a,replace:h,primary:m,label:n,selfhost:o=!1}){let p=l[a],s=q[a],[t,u]=(0,d.useState)(!1),[v,w]=(0,d.useTransition)(),[x,y]=(0,d.useState)(""),[z,A]=(0,d.useState)(""),[B,C]=(0,d.useState)(""),[D,E]=(0,d.useState)(h?.baseUrl??""),[F,G]=(0,d.useState)(!1),[H,I]=(0,d.useState)({}),[J,K]=(0,d.useState)(null),[L,M]=(0,d.useState)(null);function N(a){u(a),a||(M(null),y(""),A(""),C(""),E(h?.baseUrl??""),G(!1),I({}),K(null))}let O=h?`Replace key \xb7 ${h.name}`:`Connect ${p.name}`;return(0,b.jsxs)(g.N,{open:t,onOpenChange:N,children:[(0,b.jsx)(g.a,{className:(0,f.R)({size:"sm",variant:m?"primary":"secondary"}),children:n??(h?"Replace":"Connect")}),(0,b.jsxs)(g.d,{className:"max-w-[560px] gap-0 p-0 sm:max-w-[560px]",children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(s,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsx)(g.F,{className:"text-base",children:O}),(0,b.jsxs)(g.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:[p.keyLabel,"cloudflare"===a?" and account ID":""]})]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsxs)("p",{className:"mb-3 text-[13px] text-ink-soft",children:[p.where.url&&(0,b.jsxs)(b.Fragment,{children:["Open ",(0,b.jsxs)("a",{href:p.where.url,target:"_blank",rel:"noopener noreferrer",children:[p.where.url.replace("https://","")," ",(0,b.jsx)(c.f,{size:12,className:"inline","aria-hidden":!0})]}),". "]}),p.where.text," Watchbell lists the models and makes one tiny generation call before saving."]}),"custom"===a&&!h&&(0,b.jsx)(f.O,{id:"p-name",label:"Name",help:"Used in model ids: name/model.",error:H.name,children:(0,b.jsx)("input",{id:"p-name",value:B,onChange:a=>C(a.target.value),placeholder:"my-llm",className:f.S,autoComplete:"off"})}),"custom"===a?(0,b.jsx)(f.O,{id:"p-base",label:"Base URL",help:o?k.X.baseUrlHelp.selfhost:k.X.baseUrlHelp.cloud,error:H.baseUrl,children:(0,b.jsx)("input",{id:"p-base",value:D,onChange:a=>E(a.target.value),placeholder:"https://example.com/v1",className:`${f.S} font-mono text-[12.5px]`,autoComplete:"off"})}):(0,b.jsxs)("div",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,b.jsx)("span",{className:"text-[13px] font-medium",children:"Base URL"}),(0,b.jsx)("span",{className:"break-all font-mono text-[12.5px] text-ink-faint",children:"cloudflare"===a?p.baseUrl({apiKey:"",accountId:"{account_id}"}):p.baseUrl({apiKey:""})})]}),"cloudflare"===a&&(0,b.jsx)(f.O,{id:"p-acct",label:"Account ID",error:H.accountId,children:(0,b.jsx)("input",{id:"p-acct",value:z,onChange:a=>A(a.target.value),placeholder:"32 hex characters",className:`${f.S} font-mono`,autoComplete:"off",spellCheck:!1})}),(0,b.jsx)(f.O,{id:"p-key",label:p.keyLabel,help:"custom"===a&&o?k.X.keyHelp.selfhostCustom:k.X.keyHelp.cloud,error:H.apiKey,children:(0,b.jsx)("input",{id:"p-key",type:"password",value:x,onChange:a=>y(a.target.value),placeholder:r[a],className:`${f.S} font-mono`,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,"data-gramm":"false"})}),!h&&(0,b.jsxs)("label",{className:"mb-3.5 flex items-center gap-2 text-[13px]",children:[(0,b.jsx)("input",{type:"checkbox",checked:F,onChange:a=>G(a.target.checked)})," Make this the default provider"]}),J&&(0,b.jsx)("div",{className:"mb-3.5 rounded-lg bg-err-soft px-3 py-2.5 text-[13px]",role:"alert",children:J}),L&&(0,b.jsxs)("div",{className:"mb-3.5",role:"status",children:[(0,b.jsxs)("p",{className:"m-0 mb-1.5 text-[13px] font-medium",children:["Found ",L.length," model",1===L.length?"":"s",":"]}),(0,b.jsx)("ul",{className:"m-0 flex max-h-40 list-none flex-wrap gap-1.5 overflow-y-auto p-0",children:L.map(a=>(0,b.jsx)("li",{className:"rounded border border-line bg-surface-2 px-1.5 font-mono text-[12px]",children:a},a))}),(0,b.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,b.jsx)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:L?(0,b.jsx)(f.K,{variant:"primary",onClick:()=>N(!1),children:"Done"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.K,{onClick:()=>N(!1),disabled:v,children:"Cancel"}),(0,b.jsx)(f.K,{variant:"primary",onClick:function(){w(async()=>{let b={apiKey:x,..."cloudflare"===a?{accountId:z}:{},..."custom"===a?{baseUrl:D,...h?{}:{name:B}}:{},makeDefault:F},c=h?await j(h.id,b):await i(a,b);if(I(c.ok?{}:c.fieldErrors??{}),K(c.ok||c.fieldErrors?null:c.error),c.ok){e.c.success(c.message??`${p.name} connected.`);let b=c.data?.models??[];"custom"===a&&b.length?M(b):N(!1)}})},disabled:v,children:v?"Testing…":h?"Test and replace":"Test and connect"})]})})]})]})}],36105)}]})();
1
+ (()=>{"use strict";module.exports=[492768,a=>{var b=a.i(187924),c=a.i(335371),d=a.i(572131),e=a.i(823292),f=a.i(611619),g=a.i(619089),h=a.i(188406),i=a.i(405050);let j=(0,i.createServerReference)("404095c00162f635aba9a175585f9a199642e91fb6",i.callServer,void 0,i.findSourceMapURL,"makeDefaultProvider"),k=(0,i.createServerReference)("4062ac90df61fb5fc971fad9c124c2585849aa2bae",i.callServer,void 0,i.findSourceMapURL,"removeProvider"),l=(0,i.createServerReference)("604afb59a110e1dad1ab048382c788ae6f4e119282",i.callServer,void 0,i.findSourceMapURL,"setProviderEnabled"),m=(0,i.createServerReference)("40801e6978dba3a6b5fc710afcd823bfe7a8e4965a",i.callServer,void 0,i.findSourceMapURL,"testProvider");function n(a){a.ok?e.c.success(a.message??"Done."):e.c.error(a.error??"Something went wrong.")}a.s(["DefaultProviderSelect",0,function({options:a,current:c}){let[e,f]=(0,d.useTransition)(),[h,i]=(0,d.useState)(c??"");return 0===a.length?(0,b.jsx)("span",{className:"text-ink-faint",children:"No provider connected"}):(0,b.jsxs)("select",{"aria-label":"Default provider",className:`${g.S} w-auto`,value:h,disabled:e,onChange:a=>{let b=a.target.value;i(b),b&&f(async()=>n(await j(b)))},children:[!c&&(0,b.jsx)("option",{value:"",children:"None yet"}),a.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]})},"EnabledSwitch",0,function({id:a,on:c,name:e}){let[f,g]=(0,d.useTransition)(),[h,i]=(0,d.useState)(c);return(0,b.jsxs)("label",{className:"relative inline-flex cursor-pointer items-center",title:`${e}: ${h?"on":"off"}`,children:[(0,b.jsx)("input",{type:"checkbox",role:"switch",className:"peer sr-only",checked:h,disabled:f,"aria-label":`${e} enabled`,onChange:b=>{let c=b.target.checked;i(c),g(async()=>{let b=await l(a,c);b.ok||i(!c),n(b)})}}),(0,b.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,b.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:a,name:c,isDefault:e}){let[g,i]=(0,d.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.RowMenu,{label:`Actions for ${c}`,items:[...e?[]:[{label:"Make default",onSelect:async()=>n(await j(a))},"---"],{label:"Remove",danger:!0,onSelect:()=>i(!0)}]}),(0,b.jsx)(f.f,{open:g,onOpenChange:i,title:`Remove ${c}?`,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 b=await k(a);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}})]})},"TestProviderButton",0,function({id:a}){let[e,f]=(0,d.useTransition)();return(0,b.jsxs)(g.K,{size:"sm",disabled:e,onClick:()=>f(async()=>n(await m(a))),children:[(0,b.jsx)(c.f,{size:15,"aria-hidden":!0}),e?"Testing…":"Test"]})}],492768)},36105,a=>{var b=a.i(187924),c=a.i(834295),d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(814574),h=a.i(405050);let i=(0,h.createServerReference)("60fe0f89cd4d0c8498faf0c81ce69da20b8d6c9ac0",h.callServer,void 0,h.findSourceMapURL,"connectProvider"),j=(0,h.createServerReference)("60a44bc6bf022940a7e5e84a7454e58870ce1b2d17",h.callServer,void 0,h.findSourceMapURL,"replaceProviderKey");var k=a.i(901615);let l={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:a=>`https://api.cloudflare.com/client/v4/accounts/${a.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:a=>(a.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."}}};k.X.localUrl;var m=a.i(449862);let n=(0,m.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 o=a.i(786581);let p=(0,m.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"}]]),q={gemini:n,cloudflare:o.f,custom:p},r={gemini:"AQ.… or AIza…",cloudflare:"Paste the API token",custom:"Paste the API key"};a.s(["ProviderDialog",0,function({kind:a,replace:h,primary:m,label:n,selfhost:o=!1}){let p=l[a],s=q[a],[t,u]=(0,d.useState)(!1),[v,w]=(0,d.useTransition)(),[x,y]=(0,d.useState)(""),[z,A]=(0,d.useState)(""),[B,C]=(0,d.useState)(""),[D,E]=(0,d.useState)(h?.baseUrl??""),[F,G]=(0,d.useState)(!1),[H,I]=(0,d.useState)({}),[J,K]=(0,d.useState)(null),[L,M]=(0,d.useState)(null);function N(a){u(a),a||(M(null),y(""),A(""),C(""),E(h?.baseUrl??""),G(!1),I({}),K(null))}let O=h?`Replace key \xb7 ${h.name}`:`Connect ${p.name}`;return(0,b.jsxs)(g.N,{open:t,onOpenChange:N,children:[(0,b.jsx)(g.a,{className:(0,f.R)({size:"sm",variant:m?"primary":"secondary"}),children:n??(h?"Replace":"Connect")}),(0,b.jsxs)(g.d,{className:"max-w-[560px] gap-0 p-0 sm:max-w-[560px]",children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(s,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsx)(g.F,{className:"text-base",children:O}),(0,b.jsxs)(g.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:[p.keyLabel,"cloudflare"===a?" and account ID":""]})]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsxs)("p",{className:"mb-3 text-[13px] text-ink-soft",children:[p.where.url&&(0,b.jsxs)(b.Fragment,{children:["Open ",(0,b.jsxs)("a",{href:p.where.url,target:"_blank",rel:"noopener noreferrer",children:[p.where.url.replace("https://","")," ",(0,b.jsx)(c.f,{size:12,className:"inline","aria-hidden":!0})]}),". "]}),p.where.text," Watchbell lists the models and makes one tiny generation call before saving."]}),"custom"===a&&!h&&(0,b.jsx)(f.O,{id:"p-name",label:"Name",help:"Used in model ids: name/model.",error:H.name,children:(0,b.jsx)("input",{id:"p-name",value:B,onChange:a=>C(a.target.value),placeholder:"my-llm",className:f.S,autoComplete:"off"})}),"custom"===a?(0,b.jsx)(f.O,{id:"p-base",label:"Base URL",help:o?k.X.baseUrlHelp.selfhost:k.X.baseUrlHelp.cloud,error:H.baseUrl,children:(0,b.jsx)("input",{id:"p-base",value:D,onChange:a=>E(a.target.value),placeholder:"https://example.com/v1",className:`${f.S} font-mono text-[12.5px]`,autoComplete:"off"})}):(0,b.jsxs)("div",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,b.jsx)("span",{className:"text-[13px] font-medium",children:"Base URL"}),(0,b.jsx)("span",{className:"break-all font-mono text-[12.5px] text-ink-faint",children:"cloudflare"===a?p.baseUrl({apiKey:"",accountId:"{account_id}"}):p.baseUrl({apiKey:""})})]}),"cloudflare"===a&&(0,b.jsx)(f.O,{id:"p-acct",label:"Account ID",error:H.accountId,children:(0,b.jsx)("input",{id:"p-acct",value:z,onChange:a=>A(a.target.value),placeholder:"32 hex characters",className:`${f.S} font-mono`,autoComplete:"off",spellCheck:!1})}),(0,b.jsx)(f.O,{id:"p-key",label:p.keyLabel,help:"custom"===a&&o?k.X.keyHelp.selfhostCustom:k.X.keyHelp.cloud,error:H.apiKey,children:(0,b.jsx)("input",{id:"p-key",type:"password",value:x,onChange:a=>y(a.target.value),placeholder:r[a],className:`${f.S} font-mono`,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,"data-gramm":"false"})}),!h&&(0,b.jsxs)("label",{className:"mb-3.5 flex items-center gap-2 text-[13px]",children:[(0,b.jsx)("input",{type:"checkbox",checked:F,onChange:a=>G(a.target.checked)})," Make this the default provider"]}),J&&(0,b.jsx)("div",{className:"mb-3.5 rounded-lg bg-err-soft px-3 py-2.5 text-[13px]",role:"alert",children:J}),L&&(0,b.jsxs)("div",{className:"mb-3.5",role:"status",children:[(0,b.jsxs)("p",{className:"m-0 mb-1.5 text-[13px] font-medium",children:["Found ",L.length," model",1===L.length?"":"s",":"]}),(0,b.jsx)("ul",{className:"m-0 flex max-h-40 list-none flex-wrap gap-1.5 overflow-y-auto p-0",children:L.map(a=>(0,b.jsx)("li",{className:"rounded border border-line bg-surface-2 px-1.5 font-mono text-[12px]",children:a},a))}),(0,b.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,b.jsx)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:L?(0,b.jsx)(f.K,{variant:"primary",onClick:()=>N(!1),children:"Done"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.K,{onClick:()=>N(!1),disabled:v,children:"Cancel"}),(0,b.jsx)(f.K,{variant:"primary",onClick:function(){w(async()=>{let b={apiKey:x,..."cloudflare"===a?{accountId:z}:{},..."custom"===a?{baseUrl:D,...h?{}:{name:B}}:{},makeDefault:F},c=h?await j(h.id,b):await i(a,b);if(I(c.ok?{}:c.fieldErrors??{}),K(c.ok||c.fieldErrors?null:c.error),c.ok){e.c.success(c.message??`${p.name} connected.`);let b=c.data?.models??[];"custom"===a&&b.length?M(b):N(!1)}})},disabled:v,children:v?"Testing…":h?"Test and replace":"Test and connect"})]})})]})]})}],36105)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_%28private%29_ai_providers_1ru-30x6-uwu4._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[223538,a=>{"use strict";var b=a.i(187924),c=a.i(817748),d=a.i(851519),e=a.i(572131),f=a.i(823292),g=a.i(619089),h=a.i(507504),i=a.i(368114);let j=["requests","tokens"],k=["minute","day","week"];var l=a.i(405050);let m=(0,l.createServerReference)("603bf071802c2a9fab1c95ca239f8c20bde2825c00",l.callServer,void 0,l.findSourceMapURL,"saveLimits"),n={minute:"per minute",day:"per day",week:"per week"};function o({provider:a}){let[l,p]=(0,e.useState)(()=>a.limits.map(a=>({...a,limit:String(a.limit)}))),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(null),[u,v]=(0,e.useTransition)();(0,h.useHoldRefresh)(q);let w=(a,b)=>{p(c=>c.map((c,d)=>d===a?{...c,...b}:c)),r(!0),t(null)};return(0,b.jsxs)("div",{className:"mb-4 last:mb-0",children:[(0,b.jsx)("div",{className:"mb-1.5 text-[13px] font-medium",children:a.name}),0===l.length&&(0,b.jsx)("p",{className:"mb-2 text-[12.5px] text-ink-faint",children:"No limits entered. Add one to count calls against it."}),l.map((c,e)=>(0,b.jsxs)("div",{className:"mb-2 grid grid-cols-[minmax(0,1fr)_auto] gap-x-2 gap-y-1.5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,b.jsx)("select",{className:(0,i.f)(g.S,"w-auto"),"aria-label":`${a.name} limit ${e+1} metric`,value:c.metric,onChange:a=>w(e,{metric:a.target.value}),children:j.map(a=>(0,b.jsx)("option",{value:a,children:a},a))}),(0,b.jsx)("select",{className:(0,i.f)(g.S,"w-auto"),"aria-label":`${a.name} limit ${e+1} window`,value:c.window,onChange:a=>w(e,{window:a.target.value}),children:k.map(a=>(0,b.jsx)("option",{value:a,children:n[a]},a))}),(0,b.jsx)("input",{className:(0,i.f)(g.S,"w-[120px] font-mono"),inputMode:"numeric","aria-label":`${a.name} limit ${e+1} value`,value:c.limit,onChange:a=>w(e,{limit:a.target.value})}),(0,b.jsx)("input",{className:(0,i.f)(g.S,"w-[150px] font-mono"),"aria-label":`${a.name} limit ${e+1} model (all = every model)`,placeholder:"model, or all",value:c.scope,onChange:a=>w(e,{scope:a.target.value})})]}),(0,b.jsx)("button",{type:"button","aria-label":`Remove limit ${e+1}`,className:"rounded-md p-1.5 text-ink-faint hover:bg-hover hover:text-ink",onClick:()=>{p(a=>a.filter((a,b)=>b!==e)),r(!0),t(null)},children:(0,b.jsx)(d.f,{size:15,"aria-hidden":!0})})]},e)),s&&(0,b.jsx)("p",{className:"mb-2 text-[12.5px] text-err",role:"alert",children:s}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(g.K,{size:"sm",disabled:l.length>=10,onClick:()=>{p(a=>[...a,{metric:"requests",scope:"all",limit:"",window:"day"}]),r(!0)},children:[(0,b.jsx)(c.f,{size:14,"aria-hidden":!0}),"Add limit"]}),(0,b.jsx)(g.K,{size:"sm",variant:"primary",disabled:!q||u,onClick:()=>v(async()=>{try{let b=await m(a.id,l);b.ok?(f.c.success(b.message??"Limits saved."),r(!1),t(null)):t(b.error)}catch{t("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:u?"Saving...":"Save"})]})]})}a.s(["LimitsForm",0,function({providers:a}){return(0,b.jsx)(b.Fragment,{children:a.map(a=>(0,b.jsx)(o,{provider:a},a.id))})}],223538)}];
1
+ module.exports=[223538,a=>{"use strict";var b=a.i(187924),c=a.i(817748),d=a.i(851519),e=a.i(572131),f=a.i(823292),g=a.i(619089),h=a.i(507504),i=a.i(368114);let j=["requests","tokens"],k=["minute","day","week"];var l=a.i(405050);let m=(0,l.createServerReference)("603a0bbf44a34be92d4cda0ebb6bdc4fa1c847e3a8",l.callServer,void 0,l.findSourceMapURL,"saveLimits"),n={minute:"per minute",day:"per day",week:"per week"};function o({provider:a}){let[l,p]=(0,e.useState)(()=>a.limits.map(a=>({...a,limit:String(a.limit)}))),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(null),[u,v]=(0,e.useTransition)();(0,h.useHoldRefresh)(q);let w=(a,b)=>{p(c=>c.map((c,d)=>d===a?{...c,...b}:c)),r(!0),t(null)};return(0,b.jsxs)("div",{className:"mb-4 last:mb-0",children:[(0,b.jsx)("div",{className:"mb-1.5 text-[13px] font-medium",children:a.name}),0===l.length&&(0,b.jsx)("p",{className:"mb-2 text-[12.5px] text-ink-faint",children:"No limits entered. Add one to count calls against it."}),l.map((c,e)=>(0,b.jsxs)("div",{className:"mb-2 grid grid-cols-[minmax(0,1fr)_auto] gap-x-2 gap-y-1.5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,b.jsx)("select",{className:(0,i.f)(g.S,"w-auto"),"aria-label":`${a.name} limit ${e+1} metric`,value:c.metric,onChange:a=>w(e,{metric:a.target.value}),children:j.map(a=>(0,b.jsx)("option",{value:a,children:a},a))}),(0,b.jsx)("select",{className:(0,i.f)(g.S,"w-auto"),"aria-label":`${a.name} limit ${e+1} window`,value:c.window,onChange:a=>w(e,{window:a.target.value}),children:k.map(a=>(0,b.jsx)("option",{value:a,children:n[a]},a))}),(0,b.jsx)("input",{className:(0,i.f)(g.S,"w-[120px] font-mono"),inputMode:"numeric","aria-label":`${a.name} limit ${e+1} value`,value:c.limit,onChange:a=>w(e,{limit:a.target.value})}),(0,b.jsx)("input",{className:(0,i.f)(g.S,"w-[150px] font-mono"),"aria-label":`${a.name} limit ${e+1} model (all = every model)`,placeholder:"model, or all",value:c.scope,onChange:a=>w(e,{scope:a.target.value})})]}),(0,b.jsx)("button",{type:"button","aria-label":`Remove limit ${e+1}`,className:"rounded-md p-1.5 text-ink-faint hover:bg-hover hover:text-ink",onClick:()=>{p(a=>a.filter((a,b)=>b!==e)),r(!0),t(null)},children:(0,b.jsx)(d.f,{size:15,"aria-hidden":!0})})]},e)),s&&(0,b.jsx)("p",{className:"mb-2 text-[12.5px] text-err",role:"alert",children:s}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(g.K,{size:"sm",disabled:l.length>=10,onClick:()=>{p(a=>[...a,{metric:"requests",scope:"all",limit:"",window:"day"}]),r(!0)},children:[(0,b.jsx)(c.f,{size:14,"aria-hidden":!0}),"Add limit"]}),(0,b.jsx)(g.K,{size:"sm",variant:"primary",disabled:!q||u,onClick:()=>v(async()=>{try{let b=await m(a.id,l);b.ok?(f.c.success(b.message??"Limits saved."),r(!1),t(null)):t(b.error)}catch{t("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:u?"Saving...":"Save"})]})]})}a.s(["LimitsForm",0,function({providers:a}){return(0,b.jsx)(b.Fragment,{children:a.map(a=>(0,b.jsx)(o,{provider:a},a.id))})}],223538)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_%28private%29_ai_quota_limits-form_tsx_1vouaaf560z_x._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[348021,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(368114);let g=[{key:"gemini5h",label:"Gemini · 5 h",family:"gemini",windowMs:18e6,window:"5 h"},{key:"geminiWeek",label:"Gemini · week",family:"gemini",windowMs:6048e5,window:"7 days"},{key:"claude5h",label:"Claude · 5 h",family:"claude",windowMs:18e6,window:"5 h"},{key:"claudeWeek",label:"Claude · week",family:"claude",windowMs:6048e5,window:"7 days"}];var h=a.i(405050);let i=(0,h.createServerReference)("409a11ede303bdda2e00679c09c0541205ea2a962f",h.callServer,void 0,h.findSourceMapURL,"saveAgLimits");a.s(["LimitsForm",0,function({values:a}){let[h,j]=(0,c.useTransition)(),[k,l]=(0,c.useState)(!1);return k?(0,b.jsxs)("form",{className:"flex flex-col gap-2",action:a=>j(async()=>{try{let b=await i(a);b.ok?(d.c.success(b.message??"Saved."),l(!1)):d.c.error(b.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:[g.map(c=>(0,b.jsxs)("label",{className:"flex items-center gap-2 text-[13px]",children:[(0,b.jsx)("span",{className:"w-28 shrink-0 text-ink-soft",children:c.label}),(0,b.jsx)("input",{name:c.key,inputMode:"numeric",autoComplete:"off",placeholder:"No limit",defaultValue:a[c.key]??"",className:(0,f.f)(e.S,"min-w-0 flex-1 py-1 text-right font-mono text-[12.5px]"),"aria-label":`${c.label} limit in tokens`})]},c.key)),(0,b.jsx)("p",{className:"m-0 text-[12px] text-ink-faint",children:"Tokens per window: new input + output + thinking. Cached input isn't counted."}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(e.K,{size:"sm",variant:"primary",type:"submit",disabled:h,children:h?"Saving…":"Save"}),(0,b.jsx)(e.K,{size:"sm",type:"button",disabled:h,onClick:()=>l(!1),children:"Cancel"})]})]}):(0,b.jsx)(e.K,{size:"sm",onClick:()=>l(!0),children:"Edit limits"})}],348021)}];
1
+ module.exports=[348021,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(368114);let g=[{key:"gemini5h",label:"Gemini · 5 h",family:"gemini",windowMs:18e6,window:"5 h"},{key:"geminiWeek",label:"Gemini · week",family:"gemini",windowMs:6048e5,window:"7 days"},{key:"claude5h",label:"Claude · 5 h",family:"claude",windowMs:18e6,window:"5 h"},{key:"claudeWeek",label:"Claude · week",family:"claude",windowMs:6048e5,window:"7 days"}];var h=a.i(405050);let i=(0,h.createServerReference)("402bbb7dbae4ce68d0f0ca6404fa01627ef445e8c0",h.callServer,void 0,h.findSourceMapURL,"saveAgLimits");a.s(["LimitsForm",0,function({values:a}){let[h,j]=(0,c.useTransition)(),[k,l]=(0,c.useState)(!1);return k?(0,b.jsxs)("form",{className:"flex flex-col gap-2",action:a=>j(async()=>{try{let b=await i(a);b.ok?(d.c.success(b.message??"Saved."),l(!1)):d.c.error(b.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:[g.map(c=>(0,b.jsxs)("label",{className:"flex items-center gap-2 text-[13px]",children:[(0,b.jsx)("span",{className:"w-28 shrink-0 text-ink-soft",children:c.label}),(0,b.jsx)("input",{name:c.key,inputMode:"numeric",autoComplete:"off",placeholder:"No limit",defaultValue:a[c.key]??"",className:(0,f.f)(e.S,"min-w-0 flex-1 py-1 text-right font-mono text-[12.5px]"),"aria-label":`${c.label} limit in tokens`})]},c.key)),(0,b.jsx)("p",{className:"m-0 text-[12px] text-ink-faint",children:"Tokens per window: new input + output + thinking. Cached input isn't counted."}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(e.K,{size:"sm",variant:"primary",type:"submit",disabled:h,children:h?"Saving…":"Save"}),(0,b.jsx)(e.K,{size:"sm",type:"button",disabled:h,onClick:()=>l(!1),children:"Cancel"})]})]}):(0,b.jsx)(e.K,{size:"sm",onClick:()=>l(!0),children:"Edit limits"})}],348021)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_%28private%29_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js.map