d1s 0.2.13 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. package/README.md +18 -1
  2. package/dist/.next/.next/BUILD_ID +1 -1
  3. package/dist/.next/.next/app-build-manifest.json +119 -77
  4. package/dist/.next/.next/app-path-routes-manifest.json +1 -1
  5. package/dist/.next/.next/build-manifest.json +7 -7
  6. package/dist/.next/.next/cache/.rscinfo +1 -1
  7. package/dist/.next/.next/cache/.tsbuildinfo +1 -1
  8. package/dist/.next/.next/cache/webpack/client-development/0.pack.gz +0 -0
  9. package/dist/.next/.next/cache/webpack/client-development/1.pack.gz +0 -0
  10. package/dist/.next/.next/cache/webpack/client-development/index.pack.gz +0 -0
  11. package/dist/.next/.next/cache/webpack/client-development/index.pack.gz.old +0 -0
  12. package/dist/.next/.next/cache/webpack/client-production/0.pack +0 -0
  13. package/dist/.next/.next/cache/webpack/client-production/1.pack +0 -0
  14. package/dist/.next/.next/cache/webpack/client-production/10.pack +0 -0
  15. package/dist/.next/.next/cache/webpack/client-production/11.pack +0 -0
  16. package/dist/.next/.next/cache/webpack/client-production/12.pack +0 -0
  17. package/dist/.next/.next/cache/webpack/client-production/2.pack +0 -0
  18. package/dist/.next/.next/cache/webpack/client-production/3.pack +0 -0
  19. package/dist/.next/.next/cache/webpack/client-production/4.pack +0 -0
  20. package/dist/.next/.next/cache/webpack/client-production/5.pack +0 -0
  21. package/dist/.next/.next/cache/webpack/client-production/6.pack +0 -0
  22. package/dist/.next/.next/cache/webpack/client-production/7.pack +0 -0
  23. package/dist/.next/.next/cache/webpack/client-production/8.pack +0 -0
  24. package/dist/.next/.next/cache/webpack/client-production/9.pack +0 -0
  25. package/dist/.next/.next/cache/webpack/client-production/index.pack +0 -0
  26. package/dist/.next/.next/cache/webpack/client-production/index.pack.old +0 -0
  27. package/dist/.next/.next/cache/webpack/edge-server-production/index.pack +0 -0
  28. package/dist/.next/.next/cache/webpack/server-development/0.pack.gz +0 -0
  29. package/dist/.next/.next/cache/webpack/server-development/1.pack.gz +0 -0
  30. package/dist/.next/.next/cache/webpack/server-development/index.pack.gz +0 -0
  31. package/dist/.next/.next/cache/webpack/server-production/0.pack +0 -0
  32. package/dist/.next/.next/cache/webpack/server-production/1.pack +0 -0
  33. package/dist/.next/.next/cache/webpack/server-production/2.pack +0 -0
  34. package/dist/.next/.next/cache/webpack/server-production/3.pack +0 -0
  35. package/dist/.next/.next/cache/webpack/server-production/index.pack +0 -0
  36. package/dist/.next/.next/cache/webpack/server-production/index.pack.old +0 -0
  37. package/dist/.next/.next/next-minimal-server.js.nft.json +1 -1
  38. package/dist/.next/.next/next-server.js.nft.json +1 -1
  39. package/dist/.next/.next/prerender-manifest.json +1 -1
  40. package/dist/.next/.next/react-loadable-manifest.json +11 -1
  41. package/dist/.next/.next/required-server-files.json +1 -1
  42. package/dist/.next/.next/routes-manifest.json +1 -1
  43. package/dist/.next/.next/server/app/_not-found/page.js +1 -1
  44. package/dist/.next/.next/server/app/_not-found/page.js.nft.json +1 -1
  45. package/dist/.next/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  46. package/dist/.next/.next/server/app/_not-found.html +1 -1
  47. package/dist/.next/.next/server/app/_not-found.rsc +5 -5
  48. package/dist/.next/.next/server/app/api/cloudflare/route.js +1 -1
  49. package/dist/.next/.next/server/app/api/cloudflare/route.js.nft.json +1 -1
  50. package/dist/.next/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
  51. package/dist/.next/.next/server/app/api/databases/route.js +1 -1
  52. package/dist/.next/.next/server/app/api/databases/route.js.nft.json +1 -1
  53. package/dist/.next/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
  54. package/dist/.next/.next/server/app/api/migrations/list/route.js +26 -0
  55. package/dist/.next/.next/server/app/api/migrations/list/route.js.nft.json +1 -0
  56. package/dist/.next/.next/server/app/api/migrations/list/route_client-reference-manifest.js +1 -0
  57. package/dist/.next/.next/server/app/api/migrations/sync/route.js +5 -5
  58. package/dist/.next/.next/server/app/api/migrations/sync/route.js.nft.json +1 -1
  59. package/dist/.next/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
  60. package/dist/.next/.next/server/app/api/migrations/sync-files/route.js +4 -4
  61. package/dist/.next/.next/server/app/api/migrations/sync-files/route.js.nft.json +1 -1
  62. package/dist/.next/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
  63. package/dist/.next/.next/server/app/api/pro/route.js +1 -0
  64. package/dist/.next/.next/server/app/api/pro/route.js.nft.json +1 -0
  65. package/dist/.next/.next/server/app/api/pro/route_client-reference-manifest.js +1 -0
  66. package/dist/.next/.next/server/app/api/pull-data/confirm/route.js +1 -1
  67. package/dist/.next/.next/server/app/api/pull-data/confirm/route.js.nft.json +1 -1
  68. package/dist/.next/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
  69. package/dist/.next/.next/server/app/api/pull-remote/confirm/route.js +4 -4
  70. package/dist/.next/.next/server/app/api/pull-remote/confirm/route.js.nft.json +1 -1
  71. package/dist/.next/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
  72. package/dist/.next/.next/server/app/api/pull-remote/preview/route.js +4 -4
  73. package/dist/.next/.next/server/app/api/pull-remote/preview/route.js.nft.json +1 -1
  74. package/dist/.next/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
  75. package/dist/.next/.next/server/app/api/push-remote/confirm/route.js +6 -6
  76. package/dist/.next/.next/server/app/api/push-remote/confirm/route.js.nft.json +1 -1
  77. package/dist/.next/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
  78. package/dist/.next/.next/server/app/api/push-remote/preview/route.js +6 -6
  79. package/dist/.next/.next/server/app/api/push-remote/preview/route.js.nft.json +1 -1
  80. package/dist/.next/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
  81. package/dist/.next/.next/server/app/api/query/route.js +9 -9
  82. package/dist/.next/.next/server/app/api/query/route.js.nft.json +1 -1
  83. package/dist/.next/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
  84. package/dist/.next/.next/server/app/api/schema/route.js +1 -0
  85. package/dist/.next/.next/server/app/api/schema/route.js.nft.json +1 -0
  86. package/dist/.next/.next/server/app/api/schema/route_client-reference-manifest.js +1 -0
  87. package/dist/.next/.next/server/app/api/tables/[name]/import/route.js +1 -0
  88. package/dist/.next/.next/server/app/api/tables/[name]/import/route.js.nft.json +1 -0
  89. package/dist/.next/.next/server/app/api/tables/[name]/import/route_client-reference-manifest.js +1 -0
  90. package/dist/.next/.next/server/app/api/tables/[name]/route.js +5 -5
  91. package/dist/.next/.next/server/app/api/tables/[name]/route.js.nft.json +1 -1
  92. package/dist/.next/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
  93. package/dist/.next/.next/server/app/api/tables/route.js +2 -2
  94. package/dist/.next/.next/server/app/api/tables/route.js.nft.json +1 -1
  95. package/dist/.next/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
  96. package/dist/.next/.next/server/app/api/time-travel/preview/route.js +1 -0
  97. package/dist/.next/.next/server/app/api/time-travel/preview/route.js.nft.json +1 -0
  98. package/dist/.next/.next/server/app/api/time-travel/preview/route_client-reference-manifest.js +1 -0
  99. package/dist/.next/.next/server/app/api/time-travel/restore/route.js +1 -0
  100. package/dist/.next/.next/server/app/api/time-travel/restore/route.js.nft.json +1 -0
  101. package/dist/.next/.next/server/app/api/time-travel/restore/route_client-reference-manifest.js +1 -0
  102. package/dist/.next/.next/server/app/api/update/route.js +1 -1
  103. package/dist/.next/.next/server/app/api/update/route.js.nft.json +1 -1
  104. package/dist/.next/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  105. package/dist/.next/.next/server/app/index.html +5 -3
  106. package/dist/.next/.next/server/app/index.rsc +6 -6
  107. package/dist/.next/.next/server/app/page.js +15 -15
  108. package/dist/.next/.next/server/app/page.js.nft.json +1 -1
  109. package/dist/.next/.next/server/app/page_client-reference-manifest.js +1 -1
  110. package/dist/.next/.next/server/app-paths-manifest.json +8 -2
  111. package/dist/.next/.next/server/chunks/226.js +12 -12
  112. package/dist/.next/.next/server/chunks/452.js +1 -1
  113. package/dist/.next/.next/server/chunks/487.js +1 -0
  114. package/dist/.next/.next/server/chunks/572.js +1 -1
  115. package/dist/.next/.next/server/chunks/992.js +2 -2
  116. package/dist/.next/.next/server/chunks/{638.js → 994.js} +3 -3
  117. package/dist/.next/.next/server/middleware-build-manifest.js +1 -1
  118. package/dist/.next/.next/server/middleware-react-loadable-manifest.js +1 -1
  119. package/dist/.next/.next/server/next-font-manifest.js +1 -1
  120. package/dist/.next/.next/server/next-font-manifest.json +1 -1
  121. package/dist/.next/.next/server/pages/404.html +1 -1
  122. package/dist/.next/.next/server/pages/500.html +1 -1
  123. package/dist/.next/.next/server/server-reference-manifest.json +1 -1
  124. package/dist/.next/.next/static/-OO4tE7EKr8o62Bne-ODo/_buildManifest.js +1 -0
  125. package/dist/.next/.next/static/3kAeIJC56X7aw1Fk5_OXO/_buildManifest.js +1 -0
  126. package/dist/.next/.next/static/J8r9W6xxmYYvuKehItNuW/_buildManifest.js +1 -0
  127. package/dist/.next/.next/static/ZmKZbpam0G_d3SphfZPJ7/_buildManifest.js +1 -0
  128. package/dist/.next/.next/static/arc9h7hbaQzL1Dl0iuVrT/_buildManifest.js +1 -0
  129. package/dist/.next/.next/static/chunks/1a258343.3b3e7ba5ba0bd0d2.js +1 -0
  130. package/dist/.next/.next/static/chunks/345.8fc37569d5708622.js +1 -0
  131. package/dist/.next/.next/static/chunks/480-85b6c8ae3f51b156.js +1 -0
  132. package/dist/.next/.next/static/chunks/52.2cdc9bdb75e1fc2e.js +1 -0
  133. package/dist/.next/.next/static/chunks/803-a2fcfbd00e6b3b38.js +1 -0
  134. package/dist/.next/.next/static/chunks/{92-5f7522943fcb72a8.js → 92-a84bdac2be7c8d7a.js} +1 -1
  135. package/dist/.next/.next/static/chunks/app/api/cloudflare/route-d0c1dc2a9e7dce36.js +1 -0
  136. package/dist/.next/.next/static/chunks/app/api/databases/route-cd322321212797cf.js +1 -0
  137. package/dist/.next/.next/static/chunks/app/api/migrations/list/route-cd710ff75b6bcd02.js +1 -0
  138. package/dist/.next/.next/static/chunks/app/api/migrations/sync/route-ee522f232b9f0a9c.js +1 -0
  139. package/dist/.next/.next/static/chunks/app/api/migrations/sync-files/route-79ee2c26f87d3bc7.js +1 -0
  140. package/dist/.next/.next/static/chunks/app/api/pro/route-c90c1f901fc00d38.js +1 -0
  141. package/dist/.next/.next/static/chunks/app/api/pull-data/confirm/route-118764086af798f8.js +1 -0
  142. package/dist/.next/.next/static/chunks/app/api/pull-remote/confirm/route-2b0ade4ebfcea0bc.js +1 -0
  143. package/dist/.next/.next/static/chunks/app/api/pull-remote/preview/route-342db7ea13e6f447.js +1 -0
  144. package/dist/.next/.next/static/chunks/app/api/push-remote/confirm/route-b778c053bd515abd.js +1 -0
  145. package/dist/.next/.next/static/chunks/app/api/push-remote/preview/route-ab090482f299f57f.js +1 -0
  146. package/dist/.next/.next/static/chunks/app/api/query/route-4d21a8b1d34491f1.js +1 -0
  147. package/dist/.next/.next/static/chunks/app/api/schema/route-cb17a387d6b557ad.js +1 -0
  148. package/dist/.next/.next/static/chunks/app/api/tables/[name]/import/route-510472de7a5c29bd.js +1 -0
  149. package/dist/.next/.next/static/chunks/app/api/tables/[name]/route-6a1fa95c303ce0de.js +1 -0
  150. package/dist/.next/.next/static/chunks/app/api/tables/route-daa975df4ea8e8f8.js +1 -0
  151. package/dist/.next/.next/static/chunks/app/api/time-travel/preview/route-5787d7e8f17bd539.js +1 -0
  152. package/dist/.next/.next/static/chunks/app/api/time-travel/restore/route-84b64a27e831e21c.js +1 -0
  153. package/dist/.next/.next/static/chunks/app/api/update/route-54ee900537982652.js +1 -0
  154. package/dist/.next/.next/static/chunks/app/{layout-40ec07d04681ba81.js → layout-f0ec4d636ee0f763.js} +1 -1
  155. package/dist/.next/.next/static/chunks/app/page-358bf2112802ff85.js +1 -0
  156. package/dist/.next/.next/static/chunks/app/page-3ec9d72ecb052d39.js +1 -0
  157. package/dist/.next/.next/static/chunks/webpack-024900a94af4f0a7.js +1 -0
  158. package/dist/.next/.next/static/css/2c165a0ede9b2442.css +3 -0
  159. package/dist/.next/.next/static/css/32df9a4d493f8b0f.css +31 -0
  160. package/dist/.next/.next/static/f_PVCmmSeM5SwW3M1tw7Q/_buildManifest.js +1 -0
  161. package/dist/.next/.next/static/fiesjBWbrmSSyLf4biwrX/_buildManifest.js +1 -0
  162. package/dist/.next/.next/static/ft39e6W6vSgUL7peRo7pE/_buildManifest.js +1 -0
  163. package/dist/.next/.next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
  164. package/dist/.next/.next/static/u7ssdTycF4iQ-w-pQZhxg/_buildManifest.js +1 -0
  165. package/dist/.next/.next/static/v-i2YsOGT890zutOSiqqK/_buildManifest.js +1 -0
  166. package/dist/.next/.next/trace +3 -3
  167. package/dist/.next/.next/types/app/api/migrations/list/route.ts +347 -0
  168. package/dist/.next/.next/types/app/api/pro/route.ts +347 -0
  169. package/dist/.next/.next/types/app/api/schema/route.ts +347 -0
  170. package/dist/.next/.next/types/app/api/tables/[name]/import/route.ts +347 -0
  171. package/dist/.next/.next/types/app/api/time-travel/preview/route.ts +347 -0
  172. package/dist/.next/.next/types/app/api/time-travel/restore/route.ts +347 -0
  173. package/dist/.next/BUILD_ID +1 -1
  174. package/dist/.next/app-build-manifest.json +122 -80
  175. package/dist/.next/app-path-routes-manifest.json +1 -1
  176. package/dist/.next/build-manifest.json +7 -7
  177. package/dist/.next/cache/.rscinfo +1 -1
  178. package/dist/.next/cache/.tsbuildinfo +1 -1
  179. package/dist/.next/cache/webpack/client-production/0.pack +0 -0
  180. package/dist/.next/cache/webpack/client-production/index.pack +0 -0
  181. package/dist/.next/cache/webpack/edge-server-production/index.pack +0 -0
  182. package/dist/.next/cache/webpack/server-production/0.pack +0 -0
  183. package/dist/.next/cache/webpack/server-production/index.pack +0 -0
  184. package/dist/.next/next-minimal-server.js.nft.json +1 -1
  185. package/dist/.next/next-server.js.nft.json +1 -1
  186. package/dist/.next/prerender-manifest.json +1 -1
  187. package/dist/.next/react-loadable-manifest.json +11 -1
  188. package/dist/.next/required-server-files.json +1 -1
  189. package/dist/.next/routes-manifest.json +1 -1
  190. package/dist/.next/server/app/_not-found/page.js +1 -1
  191. package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
  192. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  193. package/dist/.next/server/app/_not-found.html +1 -1
  194. package/dist/.next/server/app/_not-found.rsc +5 -5
  195. package/dist/.next/server/app/api/cloudflare/route.js +1 -1
  196. package/dist/.next/server/app/api/cloudflare/route.js.nft.json +1 -1
  197. package/dist/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
  198. package/dist/.next/server/app/api/databases/route.js +1 -1
  199. package/dist/.next/server/app/api/databases/route.js.nft.json +1 -1
  200. package/dist/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
  201. package/dist/.next/server/app/api/migrations/list/route.js +26 -0
  202. package/dist/.next/server/app/api/migrations/list/route.js.nft.json +1 -0
  203. package/dist/.next/server/app/api/migrations/list/route_client-reference-manifest.js +1 -0
  204. package/dist/.next/server/app/api/migrations/sync/route.js +5 -5
  205. package/dist/.next/server/app/api/migrations/sync/route.js.nft.json +1 -1
  206. package/dist/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
  207. package/dist/.next/server/app/api/migrations/sync-files/route.js +4 -4
  208. package/dist/.next/server/app/api/migrations/sync-files/route.js.nft.json +1 -1
  209. package/dist/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
  210. package/dist/.next/server/app/api/pro/route.js +1 -0
  211. package/dist/.next/server/app/api/pro/route.js.nft.json +1 -0
  212. package/dist/.next/server/app/api/pro/route_client-reference-manifest.js +1 -0
  213. package/dist/.next/server/app/api/pull-data/confirm/route.js +1 -1
  214. package/dist/.next/server/app/api/pull-data/confirm/route.js.nft.json +1 -1
  215. package/dist/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
  216. package/dist/.next/server/app/api/pull-remote/confirm/route.js +4 -4
  217. package/dist/.next/server/app/api/pull-remote/confirm/route.js.nft.json +1 -1
  218. package/dist/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
  219. package/dist/.next/server/app/api/pull-remote/preview/route.js +4 -4
  220. package/dist/.next/server/app/api/pull-remote/preview/route.js.nft.json +1 -1
  221. package/dist/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
  222. package/dist/.next/server/app/api/push-remote/confirm/route.js +6 -6
  223. package/dist/.next/server/app/api/push-remote/confirm/route.js.nft.json +1 -1
  224. package/dist/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
  225. package/dist/.next/server/app/api/push-remote/preview/route.js +6 -6
  226. package/dist/.next/server/app/api/push-remote/preview/route.js.nft.json +1 -1
  227. package/dist/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
  228. package/dist/.next/server/app/api/query/route.js +9 -9
  229. package/dist/.next/server/app/api/query/route.js.nft.json +1 -1
  230. package/dist/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
  231. package/dist/.next/server/app/api/schema/route.js +1 -0
  232. package/dist/.next/server/app/api/schema/route.js.nft.json +1 -0
  233. package/dist/.next/server/app/api/schema/route_client-reference-manifest.js +1 -0
  234. package/dist/.next/server/app/api/tables/[name]/import/route.js +1 -0
  235. package/dist/.next/server/app/api/tables/[name]/import/route.js.nft.json +1 -0
  236. package/dist/.next/server/app/api/tables/[name]/import/route_client-reference-manifest.js +1 -0
  237. package/dist/.next/server/app/api/tables/[name]/route.js +5 -5
  238. package/dist/.next/server/app/api/tables/[name]/route.js.nft.json +1 -1
  239. package/dist/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
  240. package/dist/.next/server/app/api/tables/route.js +2 -2
  241. package/dist/.next/server/app/api/tables/route.js.nft.json +1 -1
  242. package/dist/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
  243. package/dist/.next/server/app/api/time-travel/preview/route.js +1 -0
  244. package/dist/.next/server/app/api/time-travel/preview/route.js.nft.json +1 -0
  245. package/dist/.next/server/app/api/time-travel/preview/route_client-reference-manifest.js +1 -0
  246. package/dist/.next/server/app/api/time-travel/restore/route.js +1 -0
  247. package/dist/.next/server/app/api/time-travel/restore/route.js.nft.json +1 -0
  248. package/dist/.next/server/app/api/time-travel/restore/route_client-reference-manifest.js +1 -0
  249. package/dist/.next/server/app/api/update/route.js +1 -1
  250. package/dist/.next/server/app/api/update/route.js.nft.json +1 -1
  251. package/dist/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  252. package/dist/.next/server/app/index.html +5 -3
  253. package/dist/.next/server/app/index.rsc +6 -6
  254. package/dist/.next/server/app/page.js +15 -15
  255. package/dist/.next/server/app/page.js.nft.json +1 -1
  256. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  257. package/dist/.next/server/app-paths-manifest.json +11 -5
  258. package/dist/.next/server/chunks/226.js +12 -12
  259. package/dist/.next/server/chunks/391.js +1 -1
  260. package/dist/.next/server/chunks/452.js +1 -1
  261. package/dist/.next/server/chunks/487.js +1 -0
  262. package/dist/.next/server/chunks/572.js +1 -1
  263. package/dist/.next/server/chunks/992.js +3 -3
  264. package/dist/.next/server/chunks/{638.js → 994.js} +3 -3
  265. package/dist/.next/server/middleware-build-manifest.js +1 -1
  266. package/dist/.next/server/middleware-react-loadable-manifest.js +1 -1
  267. package/dist/.next/server/next-font-manifest.js +1 -1
  268. package/dist/.next/server/next-font-manifest.json +1 -1
  269. package/dist/.next/server/pages/404.html +1 -1
  270. package/dist/.next/server/pages/500.html +1 -1
  271. package/dist/.next/server/pages-manifest.json +1 -1
  272. package/dist/.next/server/server-reference-manifest.json +1 -1
  273. package/dist/.next/static/chunks/1a258343.3b3e7ba5ba0bd0d2.js +1 -0
  274. package/dist/.next/static/chunks/345.8fc37569d5708622.js +1 -0
  275. package/dist/.next/static/chunks/480-85b6c8ae3f51b156.js +1 -0
  276. package/dist/.next/static/chunks/52.2cdc9bdb75e1fc2e.js +1 -0
  277. package/dist/.next/static/chunks/803-a2fcfbd00e6b3b38.js +1 -0
  278. package/dist/.next/static/chunks/{92-5f7522943fcb72a8.js → 92-a84bdac2be7c8d7a.js} +1 -1
  279. package/dist/.next/static/chunks/app/api/cloudflare/route-d0c1dc2a9e7dce36.js +1 -0
  280. package/dist/.next/static/chunks/app/api/databases/route-cd322321212797cf.js +1 -0
  281. package/dist/.next/static/chunks/app/api/migrations/list/route-cd710ff75b6bcd02.js +1 -0
  282. package/dist/.next/static/chunks/app/api/migrations/sync/route-ee522f232b9f0a9c.js +1 -0
  283. package/dist/.next/static/chunks/app/api/migrations/sync-files/route-79ee2c26f87d3bc7.js +1 -0
  284. package/dist/.next/static/chunks/app/api/pro/route-c90c1f901fc00d38.js +1 -0
  285. package/dist/.next/static/chunks/app/api/pull-data/confirm/route-118764086af798f8.js +1 -0
  286. package/dist/.next/static/chunks/app/api/pull-remote/confirm/route-2b0ade4ebfcea0bc.js +1 -0
  287. package/dist/.next/static/chunks/app/api/pull-remote/preview/route-342db7ea13e6f447.js +1 -0
  288. package/dist/.next/static/chunks/app/api/push-remote/confirm/route-b778c053bd515abd.js +1 -0
  289. package/dist/.next/static/chunks/app/api/push-remote/preview/route-ab090482f299f57f.js +1 -0
  290. package/dist/.next/static/chunks/app/api/query/route-4d21a8b1d34491f1.js +1 -0
  291. package/dist/.next/static/chunks/app/api/schema/route-cb17a387d6b557ad.js +1 -0
  292. package/dist/.next/static/chunks/app/api/tables/[name]/import/route-510472de7a5c29bd.js +1 -0
  293. package/dist/.next/static/chunks/app/api/tables/[name]/route-6a1fa95c303ce0de.js +1 -0
  294. package/dist/.next/static/chunks/app/api/tables/route-daa975df4ea8e8f8.js +1 -0
  295. package/dist/.next/static/chunks/app/api/time-travel/preview/route-5787d7e8f17bd539.js +1 -0
  296. package/dist/.next/static/chunks/app/api/time-travel/restore/route-84b64a27e831e21c.js +1 -0
  297. package/dist/.next/static/chunks/app/api/update/route-54ee900537982652.js +1 -0
  298. package/dist/.next/static/chunks/app/{layout-40ec07d04681ba81.js → layout-f0ec4d636ee0f763.js} +1 -1
  299. package/dist/.next/static/chunks/app/page-358bf2112802ff85.js +1 -0
  300. package/dist/.next/static/chunks/webpack-024900a94af4f0a7.js +1 -0
  301. package/dist/.next/static/css/2c165a0ede9b2442.css +3 -0
  302. package/dist/.next/static/css/32df9a4d493f8b0f.css +31 -0
  303. package/dist/.next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
  304. package/dist/.next/static/zh4Fz2tbm8GRka4woRrGp/_buildManifest.js +1 -0
  305. package/dist/.next/static/zh4Fz2tbm8GRka4woRrGp/_ssgManifest.js +1 -0
  306. package/dist/.next/trace +18 -3
  307. package/dist/.next/types/app/api/migrations/list/route.ts +347 -0
  308. package/dist/.next/types/app/api/pro/route.ts +347 -0
  309. package/dist/.next/types/app/api/schema/route.ts +347 -0
  310. package/dist/.next/types/app/api/tables/[name]/import/route.ts +347 -0
  311. package/dist/.next/types/app/api/time-travel/preview/route.ts +347 -0
  312. package/dist/.next/types/app/api/time-travel/restore/route.ts +347 -0
  313. package/dist/app/api/databases/route.js +2 -1
  314. package/dist/app/api/migrations/list/route.js +137 -0
  315. package/dist/app/api/migrations/sync-files/route.js +2 -1
  316. package/dist/app/api/pro/route.js +7 -0
  317. package/dist/app/api/pull-remote/confirm/route.js +138 -146
  318. package/dist/app/api/pull-remote/preview/route.js +49 -84
  319. package/dist/app/api/push-remote/confirm/route.js +31 -12
  320. package/dist/app/api/push-remote/preview/route.js +27 -12
  321. package/dist/app/api/query/route.js +24 -13
  322. package/dist/app/api/schema/route.js +63 -0
  323. package/dist/app/api/tables/[name]/import/route.js +112 -0
  324. package/dist/app/api/tables/[name]/route.js +38 -29
  325. package/dist/app/api/tables/route.js +29 -16
  326. package/dist/app/api/time-travel/preview/route.js +122 -0
  327. package/dist/app/api/time-travel/restore/route.js +106 -0
  328. package/dist/app/page.jsx +26 -8
  329. package/dist/d1-studio.js +129 -23
  330. package/dist/lib/license.js +99 -71
  331. package/dist/lib/local-db.js +223 -0
  332. package/dist/lib/migrations.js +40 -2
  333. package/dist/lib/parse-sql-error.js +99 -160
  334. package/dist/lib/sql-operations.js +28 -10
  335. package/dist/lib/telemetry.js +39 -0
  336. package/package.json +6 -2
  337. package/dist/.next/.next/static/FEsQ9jwPUQv5A3fwg6Opl/_buildManifest.js +0 -1
  338. package/dist/.next/.next/static/Y9mYu4WBghepP5oT_3OdR/_buildManifest.js +0 -1
  339. package/dist/.next/.next/static/ae3gNmoSGm-R5LJC4UagI/_buildManifest.js +0 -1
  340. package/dist/.next/.next/static/bKfUJeuvAQlBmR3TjrfkH/_buildManifest.js +0 -1
  341. package/dist/.next/.next/static/chunks/576-18a2209e1ed26aad.js +0 -1
  342. package/dist/.next/.next/static/chunks/735-b885dfec6353171d.js +0 -1
  343. package/dist/.next/.next/static/chunks/app/api/cloudflare/route-b77846f372b01f38.js +0 -1
  344. package/dist/.next/.next/static/chunks/app/api/databases/route-407794f8145d9a0b.js +0 -1
  345. package/dist/.next/.next/static/chunks/app/api/migrations/sync/route-9f480f5590369a8f.js +0 -1
  346. package/dist/.next/.next/static/chunks/app/api/migrations/sync-files/route-92010db279b4dd8e.js +0 -1
  347. package/dist/.next/.next/static/chunks/app/api/pull-data/confirm/route-a02fe6d3cdd0a535.js +0 -1
  348. package/dist/.next/.next/static/chunks/app/api/pull-remote/confirm/route-f401a03507d1da50.js +0 -1
  349. package/dist/.next/.next/static/chunks/app/api/pull-remote/preview/route-3c53814b5cb8b6b0.js +0 -1
  350. package/dist/.next/.next/static/chunks/app/api/push-remote/confirm/route-8f359249e907c63b.js +0 -1
  351. package/dist/.next/.next/static/chunks/app/api/push-remote/preview/route-b51bf94f39c17a9d.js +0 -1
  352. package/dist/.next/.next/static/chunks/app/api/query/route-87bae2d4aebaf859.js +0 -1
  353. package/dist/.next/.next/static/chunks/app/api/tables/[name]/route-d20ca163b9c03e7c.js +0 -1
  354. package/dist/.next/.next/static/chunks/app/api/tables/route-0f46f911562abcdf.js +0 -1
  355. package/dist/.next/.next/static/chunks/app/api/update/route-14edc1917760bce0.js +0 -1
  356. package/dist/.next/.next/static/chunks/app/page-f05cd0fc436bf9bc.js +0 -1
  357. package/dist/.next/.next/static/chunks/app/page-f2bc307c0d8acdaa.js +0 -1
  358. package/dist/.next/.next/static/chunks/webpack-c76ac1e586b2802a.js +0 -1
  359. package/dist/.next/.next/static/css/7c16f57d325d0d7d.css +0 -3
  360. package/dist/.next/.next/static/ejYPqJ2kVicVp5EFWOZIC/_buildManifest.js +0 -1
  361. package/dist/.next/.next/static/gABGrAoO8IPArDo_Ns_7g/_buildManifest.js +0 -1
  362. package/dist/.next/.next/static/gh-QfIUVo4FTTduYCVKT6/_buildManifest.js +0 -1
  363. package/dist/.next/.next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
  364. package/dist/.next/.next/static/thaCy2qVeNqYYhdayr13C/_buildManifest.js +0 -1
  365. package/dist/.next/.next/static/ybCx6L6gHqtODbKmlhU-d/_buildManifest.js +0 -1
  366. package/dist/.next/cache/webpack/client-production/1.pack +0 -0
  367. package/dist/.next/cache/webpack/client-production/2.pack +0 -0
  368. package/dist/.next/cache/webpack/client-production/index.pack.old +0 -0
  369. package/dist/.next/static/IX-QLbm7scYnyqWeeimal/_buildManifest.js +0 -1
  370. package/dist/.next/static/chunks/576-18a2209e1ed26aad.js +0 -1
  371. package/dist/.next/static/chunks/735-b885dfec6353171d.js +0 -1
  372. package/dist/.next/static/chunks/app/api/cloudflare/route-b77846f372b01f38.js +0 -1
  373. package/dist/.next/static/chunks/app/api/databases/route-407794f8145d9a0b.js +0 -1
  374. package/dist/.next/static/chunks/app/api/migrations/sync/route-9f480f5590369a8f.js +0 -1
  375. package/dist/.next/static/chunks/app/api/migrations/sync-files/route-92010db279b4dd8e.js +0 -1
  376. package/dist/.next/static/chunks/app/api/pull-data/confirm/route-a02fe6d3cdd0a535.js +0 -1
  377. package/dist/.next/static/chunks/app/api/pull-remote/confirm/route-f401a03507d1da50.js +0 -1
  378. package/dist/.next/static/chunks/app/api/pull-remote/preview/route-3c53814b5cb8b6b0.js +0 -1
  379. package/dist/.next/static/chunks/app/api/push-remote/confirm/route-8f359249e907c63b.js +0 -1
  380. package/dist/.next/static/chunks/app/api/push-remote/preview/route-b51bf94f39c17a9d.js +0 -1
  381. package/dist/.next/static/chunks/app/api/query/route-87bae2d4aebaf859.js +0 -1
  382. package/dist/.next/static/chunks/app/api/tables/[name]/route-d20ca163b9c03e7c.js +0 -1
  383. package/dist/.next/static/chunks/app/api/tables/route-0f46f911562abcdf.js +0 -1
  384. package/dist/.next/static/chunks/app/api/update/route-14edc1917760bce0.js +0 -1
  385. package/dist/.next/static/chunks/app/page-f05cd0fc436bf9bc.js +0 -1
  386. package/dist/.next/static/chunks/webpack-c76ac1e586b2802a.js +0 -1
  387. package/dist/.next/static/css/7c16f57d325d0d7d.css +0 -3
  388. package/dist/.next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
  389. /package/dist/.next/.next/static/{FEsQ9jwPUQv5A3fwg6Opl → -OO4tE7EKr8o62Bne-ODo}/_ssgManifest.js +0 -0
  390. /package/dist/.next/.next/static/{Y9mYu4WBghepP5oT_3OdR → 3kAeIJC56X7aw1Fk5_OXO}/_ssgManifest.js +0 -0
  391. /package/dist/.next/.next/static/{ae3gNmoSGm-R5LJC4UagI → J8r9W6xxmYYvuKehItNuW}/_ssgManifest.js +0 -0
  392. /package/dist/.next/.next/static/{bKfUJeuvAQlBmR3TjrfkH → ZmKZbpam0G_d3SphfZPJ7}/_ssgManifest.js +0 -0
  393. /package/dist/.next/.next/static/{ejYPqJ2kVicVp5EFWOZIC → arc9h7hbaQzL1Dl0iuVrT}/_ssgManifest.js +0 -0
  394. /package/dist/.next/.next/static/chunks/{4bd1b696-8c908eb707f85a27.js → 4bd1b696-124ea104c06f6cea.js} +0 -0
  395. /package/dist/.next/.next/static/chunks/{517-3b698a5d3da06ff7.js → 517-c876ce2f00030cd0.js} +0 -0
  396. /package/dist/.next/.next/static/chunks/{692-ede418e1d28a1394.js → 692-9e59d546afd11ec3.js} +0 -0
  397. /package/dist/.next/.next/static/chunks/app/_not-found/{page-b786c3dd79ad15a5.js → page-3e24b81707d98126.js} +0 -0
  398. /package/dist/.next/.next/static/{gABGrAoO8IPArDo_Ns_7g → f_PVCmmSeM5SwW3M1tw7Q}/_ssgManifest.js +0 -0
  399. /package/dist/.next/.next/static/{gh-QfIUVo4FTTduYCVKT6 → fiesjBWbrmSSyLf4biwrX}/_ssgManifest.js +0 -0
  400. /package/dist/.next/.next/static/{thaCy2qVeNqYYhdayr13C → ft39e6W6vSgUL7peRo7pE}/_ssgManifest.js +0 -0
  401. /package/dist/.next/.next/static/{ybCx6L6gHqtODbKmlhU-d → u7ssdTycF4iQ-w-pQZhxg}/_ssgManifest.js +0 -0
  402. /package/dist/.next/{static/IX-QLbm7scYnyqWeeimal → .next/static/v-i2YsOGT890zutOSiqqK}/_ssgManifest.js +0 -0
  403. /package/dist/.next/static/chunks/{4bd1b696-8c908eb707f85a27.js → 4bd1b696-124ea104c06f6cea.js} +0 -0
  404. /package/dist/.next/static/chunks/{517-3b698a5d3da06ff7.js → 517-c876ce2f00030cd0.js} +0 -0
  405. /package/dist/.next/static/chunks/{692-ede418e1d28a1394.js → 692-9e59d546afd11ec3.js} +0 -0
  406. /package/dist/.next/static/chunks/app/_not-found/{page-b786c3dd79ad15a5.js → page-3e24b81707d98126.js} +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{4576:(e,t,a)=>{Promise.resolve().then(a.bind(a,6311))},6311:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>tL});var s=a(5155),l=a(2115);let n={rE:"0.3.0"};var r=a(6152),o=a(2398),i=a(1680),c=a(2645),d=a(992),u=a(9582),m=a(2591),x=a(2783),h=a(7443),f=a(1234),p=a(7195),g=a(4031);let b=l.forwardRef((e,t)=>{let{className:a,type:l,...n}=e;return(0,s.jsx)("input",{type:l,className:(0,g.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a),ref:t,...n})});b.displayName="Input";var v=a(1027);let j=(0,v.F)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),N=l.forwardRef((e,t)=>{let{className:a,variant:l,...n}=e;return(0,s.jsx)("div",{ref:t,role:"alert",className:(0,g.cn)(j({variant:l}),a),...n})});N.displayName="Alert",l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("h5",{ref:t,className:(0,g.cn)("mb-1 font-medium leading-none tracking-tight",a),...l})}).displayName="AlertTitle";let w=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("div",{ref:t,className:(0,g.cn)("text-sm [&_p]:leading-relaxed",a),...l})});w.displayName="AlertDescription";var y=a(4471),C=a(5325),S=a(7193),k=a(1703);let R=y.bL,E=y.l9;y.YJ,y.ZL,y.Pb,y.z6,l.forwardRef((e,t)=>{let{className:a,inset:l,children:n,...r}=e;return(0,s.jsxs)(y.ZP,{ref:t,className:(0,g.cn)("flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",l&&"pl-8",a),...r,children:[n,(0,s.jsx)(C.A,{className:"ml-auto"})]})}).displayName=y.ZP.displayName,l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(y.G5,{ref:t,className:(0,g.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...l})}).displayName=y.G5.displayName;let T=l.forwardRef((e,t)=>{let{className:a,sideOffset:l=4,...n}=e;return(0,s.jsx)(y.ZL,{children:(0,s.jsx)(y.UC,{ref:t,sideOffset:l,className:(0,g.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...n})})});T.displayName=y.UC.displayName;let A=l.forwardRef((e,t)=>{let{className:a,inset:l,...n}=e;return(0,s.jsx)(y.q7,{ref:t,className:(0,g.cn)("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",l&&"pl-8",a),...n})});A.displayName=y.q7.displayName,l.forwardRef((e,t)=>{let{className:a,children:l,checked:n,...r}=e;return(0,s.jsxs)(y.H_,{ref:t,className:(0,g.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:n,...r,children:[(0,s.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(y.VF,{children:(0,s.jsx)(S.A,{className:"h-4 w-4"})})}),l]})}).displayName=y.H_.displayName,l.forwardRef((e,t)=>{let{className:a,children:l,...n}=e;return(0,s.jsxs)(y.hN,{ref:t,className:(0,g.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...n,children:[(0,s.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(y.VF,{children:(0,s.jsx)(k.A,{className:"h-2 w-2 fill-current"})})}),l]})}).displayName=y.hN.displayName,l.forwardRef((e,t)=>{let{className:a,inset:l,...n}=e;return(0,s.jsx)(y.JU,{ref:t,className:(0,g.cn)("px-2 py-1.5 text-sm font-semibold",l&&"pl-8",a),...n})}).displayName=y.JU.displayName,l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(y.wv,{ref:t,className:(0,g.cn)("-mx-1 my-1 h-px bg-muted",a),...l})}).displayName=y.wv.displayName;var _=a(33),O=a(2317);let I=(0,v.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),U=l.forwardRef((e,t)=>{let{className:a,variant:l,size:n,asChild:r=!1,...o}=e,i=r?O.DX:"button";return(0,s.jsx)(i,{className:(0,g.cn)(I({variant:l,size:n,className:a})),ref:t,...o})});U.displayName="Button";var L=a(1868);let M=l.forwardRef((e,t)=>{let{className:a,children:l,...n}=e;return(0,s.jsxs)(L.bL,{ref:t,className:(0,g.cn)("relative overflow-hidden",a),...n,children:[(0,s.jsx)(L.LM,{className:"h-full w-full rounded-[inherit]",children:l}),(0,s.jsx)(D,{}),(0,s.jsx)(L.OK,{})]})});M.displayName=L.bL.displayName;let D=l.forwardRef((e,t)=>{let{className:a,orientation:l="vertical",...n}=e;return(0,s.jsx)(L.VM,{ref:t,orientation:l,className:(0,g.cn)("flex touch-none select-none transition-colors","vertical"===l&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===l&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",a),...n,children:(0,s.jsx)(L.lr,{className:"relative flex-1 rounded-full bg-border"})})});D.displayName=L.VM.displayName;let F=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("div",{className:"relative w-full overflow-auto",children:(0,s.jsx)("table",{ref:t,className:(0,g.cn)("w-full caption-bottom text-sm",a),...l})})});F.displayName="Table";let z=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("thead",{ref:t,className:(0,g.cn)("[&_tr]:border-b",a),...l})});z.displayName="TableHeader";let P=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("tbody",{ref:t,className:(0,g.cn)("[&_tr:last-child]:border-0",a),...l})});P.displayName="TableBody",l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("tfoot",{ref:t,className:(0,g.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...l})}).displayName="TableFooter";let B=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("tr",{ref:t,className:(0,g.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",a),...l})});B.displayName="TableRow";let W=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("th",{ref:t,className:(0,g.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...l})});W.displayName="TableHead";let Y=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("td",{ref:t,className:(0,g.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...l})});Y.displayName="TableCell",l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("caption",{ref:t,className:(0,g.cn)("mt-4 text-sm text-muted-foreground",a),...l})}).displayName="TableCaption";var q=a(689);let H=function(e){let{preview:t=[],onConfirm:a,onCancel:n,isConfirming:r,error:o,isLoading:i,success:c,databaseName:d,migrationsDir:u}=e,[m,h]=(0,l.useState)(!0);if(i)return(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,s.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)(x.A,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,s.jsx)("div",{className:"flex-1 space-y-3",children:(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsxs)("p",{className:"font-medium text-neutral-800",children:["Preparing Push Migration",d?" \xb7 ".concat(d):""]}),(0,s.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking local migrations..."})]})})]})})});if(!(null==t?void 0:t.length))return(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,s.jsx)("div",{className:"rounded-lg border p-4",children:(0,s.jsx)("p",{className:"text-sm font-medium",children:"No migrations to preview"})})});let f=t.filter(e=>"will be applied"===e.action).length,p=t.filter(e=>"skipped"===e.action).length;t.filter(e=>"applied"===e.action).length;let b=e=>{switch(e){case"will be applied":return"\uD83D\uDD52️";case"applied":return"✅";case"skipped":return"⏭️";case"failed":return"❌";default:return""}};return(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,s.jsx)("div",{className:(0,g.cn)("rounded-lg border p-4 shadow-lg",o?"bg-destructive/15":"bg-background"),children:(0,s.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("h5",{className:"font-medium text-neutral-900",children:["Push Migration Preview",d&&(0,s.jsx)("span",{className:"ml-2 text-xs font-normal text-neutral-500 font-mono",children:d})]}),(0,s.jsx)("button",{onClick:n,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,s.jsx)(q.A,{className:"h-4 w-4"})})]}),(0,s.jsxs)("p",{className:"text-sm text-neutral-700",children:[f," migration(s) \uD83D\uDD52️ pending, ",p," to ⏭️ skip"]}),(0,s.jsx)("p",{className:"text-xs text-neutral-400 font-mono",children:u?(0,s.jsxs)(s.Fragment,{children:["\uD83D\uDCC1 ",u]}):(0,s.jsx)("span",{className:"text-amber-600",children:'⚠ migrations_dir not set — using default "migrations/"'})}),o?(0,s.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:o.message}):c&&(0,s.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:c})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("button",{onClick:()=>h(!m),className:"text-sm font-medium hover:underline",children:m?"Hide Details":"Show Details"}),m&&(0,s.jsx)(M,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,s.jsxs)(F,{children:[(0,s.jsx)(z,{children:(0,s.jsxs)(B,{children:[(0,s.jsx)(W,{children:"Migration"}),(0,s.jsx)(W,{className:"text-center w-24",children:"Status"})]})}),(0,s.jsx)(P,{children:t.map((e,t)=>(0,s.jsxs)(B,{children:[(0,s.jsx)(Y,{className:"font-mono text-xs",children:e.name}),(0,s.jsx)(Y,{className:"text-center align-middle",children:b(e.action)})]},t))})]})})]}),(0,s.jsxs)("p",{className:"text-xs text-neutral-400",children:["Seed files (",(0,s.jsx)("span",{className:"font-mono",children:"*seed*.sql"}),") are local-only and excluded from remote sync."]}),(0,s.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,s.jsx)(U,{onClick:a,disabled:r||0===f,className:"flex-1",children:r?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Push"}),(0,s.jsx)(U,{variant:"outline",onClick:n,disabled:r,className:"flex-1",children:"Cancel"})]})]})})})},K=function(e){let{preview:t=[],onConfirm:a,onCancel:n,onDataPull:r,isConfirming:o,isDataPulling:i,error:c,isLoading:d,success:u,databaseName:m,migrationsDir:h}=e;console.log("PullPreviewToast rendered with:",{previewLength:t.length,isConfirming:o,error:c,isLoading:d}),(0,l.useEffect)(()=>(console.log("PullPreviewToast mounted/updated"),()=>console.log("PullPreviewToast unmounted")),[]);let[f,p]=(0,l.useState)(!1);if(d)return console.log("Rendering loading state"),(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,s.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)(x.A,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,s.jsx)("div",{className:"flex-1 space-y-3",children:(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsxs)("p",{className:"font-medium text-neutral-800",children:["Preparing Pull Migration",m?" \xb7 ".concat(m):""]}),(0,s.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking remote migrations..."})]})})]})})});if(!(null==t?void 0:t.length))return console.log("No preview data available"),(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,s.jsx)("div",{className:"rounded-lg border bg-destructive/15 p-4",children:(0,s.jsx)("div",{className:"flex items-center gap-2",children:(0,s.jsx)("p",{className:"text-sm font-medium text-destructive",children:"No preview data available"})})})});let b=t.filter(e=>(e.migration||e.name||"").endsWith(".sql")),v=b.length;console.log("Migration stats:",{totalMigrations:v});let j=u&&!i&&!c;return(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,s.jsx)("div",{className:(0,g.cn)("rounded-lg border p-4 shadow-lg",c?"bg-destructive/15":"bg-background"),children:(0,s.jsx)("div",{className:"flex items-start gap-x-1",children:(0,s.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("h5",{className:(0,g.cn)("font-medium",c?"text-destructive":"text-neutral-900"),children:[c?"Pull Migration Error":"Pull Migration Preview",m&&(0,s.jsx)("span",{className:"ml-2 text-xs font-normal text-neutral-500 font-mono",children:m})]}),(0,s.jsx)("button",{onClick:n,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,s.jsx)(q.A,{className:"h-4 w-4"})})]}),(0,s.jsx)("p",{className:(0,g.cn)("text-sm",c?"text-destructive/80":"text-neutral-700"),children:"".concat(v," migration(s) will be applied")}),(0,s.jsx)("p",{className:"text-xs text-neutral-400 font-mono",children:h?(0,s.jsxs)(s.Fragment,{children:["\uD83D\uDCC1 ",h]}):(0,s.jsx)("span",{className:"text-amber-600",children:'⚠ migrations_dir not set — using default "migrations/"'})}),c&&(0,s.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:c.message}),u&&(0,s.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:u})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("button",{onClick:()=>p(!f),className:"text-sm font-medium hover:underline",children:f?"Hide Details":"Show Details"}),f&&(0,s.jsx)(M,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,s.jsxs)("div",{className:"w-full",children:[(0,s.jsx)("div",{className:"bg-neutral-50 border-b px-4 py-2",children:(0,s.jsx)("div",{className:"text-sm font-medium text-neutral-600",children:"Migration"})}),(0,s.jsx)("div",{children:b.map((e,t)=>(0,s.jsx)("div",{className:"px-4 py-2 border-b last:border-0",children:(0,s.jsx)("div",{className:"font-mono text-xs",children:e.migration||e.name})},t))})]})})]}),(0,s.jsxs)("p",{className:"text-xs text-neutral-400",children:["Seed files (",(0,s.jsx)("span",{className:"font-mono",children:"*seed*.sql"}),") are local-only and excluded from remote sync."]}),(0,s.jsx)("div",{className:"flex flex-col gap-2 pt-1",children:(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(U,{onClick:a,disabled:o,className:"flex-1 ".concat(o?"cursor-not-allowed opacity-50":""),children:o?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x.A,{className:"h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Pull"}),(0,s.jsxs)("div",{className:"flex-1 flex flex-col gap-2",children:[(0,s.jsx)(U,{onClick:r,disabled:!j,variant:"outline",className:"w-full ".concat(j?"":"cursor-not-allowed opacity-50"),children:i?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x.A,{className:"h-4 w-4 animate-spin"}),"Syncing remote data..."]}):"Sync remote data"}),(0,s.jsx)("p",{className:"text-xs text-neutral-500 text-center",children:"75 records per table"})]})]})})]})})})})};function V(){var e,t;let[a]=(0,l.useState)(!1),[n,r]=(0,l.useState)(!1),[o,i]=(0,l.useState)(!1),[c,d]=(0,l.useState)(null),[u,m]=(0,l.useState)(null),[x,h]=(0,l.useState)(null),[f,p]=(0,l.useState)(null),{refreshTables:g,setOperationStatus:b,setLastSyncTime:v,currentDatabase:j}=(0,_.t)(),N=()=>{i(!1),d(null),m(null),h(null),p(null)},w=async()=>{try{h("push"),i(!0),r(!0),m(null),p(null),d({preview:[]});let t=await fetch("/api/push-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:null==j?void 0:j.database_name})}),a=await t.json();if(!a.success){var e;throw Error((null===(e=a.error)||void 0===e?void 0:e.message)||"Failed to generate preview")}d(a.details.details)}catch(e){console.error("Push to remote preview failed:",e),m(e),b("error",e.message||"Failed to generate push preview")}finally{r(!1)}},y=async()=>{try{r(!0),m(null),p(null);let t=await fetch("/api/push-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:null==j?void 0:j.database_name})}),a=await t.json();if(!a.success){var e;throw Error((null===(e=a.error)||void 0===e?void 0:e.message)||"Failed to confirm push")}d(e=>({...e,preview:e.preview.map(e=>({...e,action:"will be applied"===e.action?"applied":e.action}))})),p("Applied ".concat(a.details.applied," migration(s), skipped ").concat(a.details.skipped,".")),v(),b("success","Push complete — ".concat(a.details.applied," migration(s) applied"))}catch(e){console.error("Push to remote confirm failed:",e),m(e)}finally{r(!1)}},C=async()=>{try{h("pull"),i(!0),r(!0),m(null),p(null),d({preview:[]});let t=await fetch("/api/pull-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:null==j?void 0:j.database_name})}),a=await t.json();if(!a.success){var e;throw Error((null===(e=a.error)||void 0===e?void 0:e.message)||"Failed to generate pull preview")}d(a.details)}catch(e){console.error("Pull to remote preview failed:",e),m(e),b("error",e.message||"Failed to generate pull preview")}finally{r(!1)}},S=async()=>{try{r(!0),m(null),p(null);let t=await fetch("/api/pull-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:null==j?void 0:j.database_name})}),a=await t.json();if(!a.success){var e;throw Error((null===(e=a.error)||void 0===e?void 0:e.message)||"Failed to confirm pull")}p("Pull migrations applied successfully."),v(),b("success","Pull complete"),d(e=>({...e,preview:e.preview.map(e=>({...e,action:"will be applied"===e.action?"applied":e.action}))})),await g()}catch(e){console.error("Pull to remote confirm failed:",e),m(e)}finally{r(!1)}},k=o&&("pull"===x?(0,s.jsx)(K,{preview:(null==c?void 0:c.preview)||[],onConfirm:S,onCancel:N,isConfirming:n,error:u,success:f,isLoading:n&&!(null==c?void 0:null===(e=c.preview)||void 0===e?void 0:e.length),databaseName:null==j?void 0:j.database_name,migrationsDir:null==j?void 0:j.migrations_dir}):(0,s.jsx)(H,{preview:(null==c?void 0:c.preview)||[],onConfirm:y,onCancel:N,isConfirming:n,error:u,success:f,isLoading:n&&!(null==c?void 0:null===(t=c.preview)||void 0===t?void 0:t.length),databaseName:null==j?void 0:j.database_name,migrationsDir:null==j?void 0:j.migrations_dir}));return{isConnecting:a,isPushing:n,showPreview:o,pushToRemote:w,pullToRemotePreview:C,PreviewUI:k}}function J(e){let{icon:t,label:a,view:l,currentView:n,onNavigate:o,disabled:i,pro:c,locked:d}=e,u=n===l;return(0,s.jsxs)("button",{className:"w-full flex items-center gap-x-1.5 border rounded-md text-sm font-medium transition-colors px-2 py-2\n ".concat(u?"bg-neutral-900 text-white":"bg-white hover:bg-neutral-100"),onClick:()=>o(l),disabled:i,title:d?"Pro license required — run: d1s --license YOUR-KEY":void 0,children:[(0,s.jsx)(t,{className:"h-[16px] w-[16px] flex-shrink-0"}),(0,s.jsx)("span",{className:"flex-1 text-left",children:a}),c&&d&&(0,s.jsx)(r.A,{className:"h-3 w-3 opacity-40 flex-shrink-0"})]})}function Q(e){let{className:t,currentView:a,onNavigate:g,onTableSelect:v}=e,{tables:j,databases:y,currentDatabase:C,switchDatabase:S,isLoading:k,error:O,lastSyncTime:I}=(0,_.t)(),[U,L]=(0,l.useState)(""),[M,D]=(0,l.useState)(null),[F,z]=(0,l.useState)(!1),[P,B]=(0,l.useState)(!1);(0,l.useEffect)(()=>{fetch("/api/pro").then(e=>e.json()).then(e=>B(!!e.isPro)).catch(()=>{})},[]);let{isConnecting:W,isPushing:Y,pushToRemote:q,pullToRemotePreview:H,PreviewUI:K}=V(),Q=(0,l.useMemo)(()=>{let e=[...(null==j?void 0:j.filter(e=>e.toLowerCase().includes(U.toLowerCase())))||[]].sort((e,t)=>e.localeCompare(t)),t=e.indexOf("d1_migrations");return -1!==t&&(e.splice(t,1),e.unshift("d1_migrations")),e},[j,U]),X=async e=>{try{z(!0),D(e),v(e)}catch(e){console.error("Error selecting table:",e)}finally{z(!1)}};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("aside",{className:"".concat(t," top-[var(--banner-height,0px)] left-0 h-[calc(100vh-var(--banner-height,0px))] bg-neutral-50 p-4"),children:(0,s.jsxs)("div",{className:"flex flex-col h-full font-sans",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(o.A,{className:"h-5 w-5"}),(0,s.jsx)("span",{className:"font-mono font-bold text-sm",children:"d1-studio"})]}),(0,s.jsxs)("div",{className:"text-xs font-medium text-muted-foreground",children:["v",n.rE]})]}),O&&(0,s.jsxs)(N,{variant:"destructive",className:"mb-4",children:[(0,s.jsx)(i.A,{className:"h-4 w-4"}),(0,s.jsx)(w,{className:"text-sm ml-2",children:O})]}),(0,s.jsxs)("div",{className:"mb-1.5",children:[(0,s.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Database"}),(0,s.jsxs)(R,{children:[(0,s.jsx)(E,{asChild:!0,children:(0,s.jsxs)("button",{className:"flex items-center gap-1.5 text-sm font-semibold hover:text-foreground/80 transition-colors max-w-full w-full text-left",children:[(0,s.jsx)("span",{className:"truncate",children:(null==C?void 0:C.database_name)||"Select database"}),C&&(0,s.jsxs)("span",{className:"shrink-0 text-[10px] font-medium px-1.5 py-0.5 rounded bg-green-100 text-green-700",children:["Local",C.hasLocal?" ✓":""]}),(0,s.jsx)(c.A,{className:"h-3 w-3 shrink-0 ml-auto opacity-50"})]})}),(0,s.jsx)(T,{align:"start",className:"w-56",children:y.map(e=>(0,s.jsxs)(A,{onClick:()=>S(e.database_name),className:"flex items-center justify-between gap-2 ".concat((null==C?void 0:C.database_name)===e.database_name?"font-semibold bg-accent":""),children:[(0,s.jsx)("span",{className:"truncate",children:e.database_name}),(0,s.jsxs)("span",{className:"shrink-0 text-[10px] font-medium px-1.5 py-0.5 rounded bg-green-100 text-green-700",children:["Local",e.hasLocal?" ✓":""]})]},e.database_name))})]})]}),(0,s.jsxs)("div",{className:"mb-2",children:[(0,s.jsxs)("div",{className:"flex gap-1.5 mb-1",children:[(0,s.jsxs)("button",{onClick:H,disabled:!P||W||Y,title:P?void 0:"Pro license required — run: d1s --license YOUR-KEY",className:"flex-1 flex items-center justify-center gap-1 text-xs font-medium border rounded-md px-2 py-1.5 bg-white hover:bg-neutral-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[P?(0,s.jsx)(d.A,{className:"h-3.5 w-3.5"}):(0,s.jsx)(r.A,{className:"h-3.5 w-3.5 opacity-40"}),"Pull"]}),(0,s.jsxs)("button",{onClick:q,disabled:!P||W||Y,title:P?void 0:"Pro license required — run: d1s --license YOUR-KEY",className:"flex-1 flex items-center justify-center gap-1 text-xs font-medium border rounded-md px-2 py-1.5 bg-white hover:bg-neutral-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[P?(0,s.jsx)(u.A,{className:"h-3.5 w-3.5"}):(0,s.jsx)(r.A,{className:"h-3.5 w-3.5 opacity-40"}),"Push"]})]}),(0,s.jsx)("div",{className:"text-[11px] text-muted-foreground px-0.5",children:I?"Remote sync \xb7 ".concat(function(e){if(!e)return null;let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);return t<60?"just now":t<3600?"".concat(Math.floor(t/60)," min ago"):t<86400?"".concat(Math.floor(t/3600),"h ago"):"".concat(Math.floor(t/86400),"d ago")}(I)):"Never synced"})]}),(0,s.jsxs)("div",{className:"relative mt-3 mb-2 bg-white",children:[(0,s.jsx)(m.A,{className:"absolute left-2 top-2.5 h-4 w-4 text-neutral-500"}),(0,s.jsx)(b,{placeholder:"Search tables",value:U,onChange:e=>L(e.target.value),className:"pl-7"})]}),(0,s.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-1 flex-none",children:[(0,s.jsxs)("h3",{className:"text-sm font-medium text-muted-foreground",children:["Tables ",(null==j?void 0:j.length)?"(".concat(j.length,")"):""]}),k&&(0,s.jsx)(x.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})]}),(0,s.jsx)("div",{className:"overflow-y-auto flex-1",children:(0,s.jsxs)("div",{className:"pr-2 pb-2",children:[!k&&0===Q.length&&(0,s.jsx)("div",{className:"text-sm font-medium text-muted-foreground px-2 py-2",children:U?"No matching tables found":O?"Error loading tables":"No tables available"}),Q.map(e=>(0,s.jsx)("button",{className:"w-full text-left text-sm font-medium rounded-md transition-colors px-2 py-2\n ".concat("table-view"===a&&M===e?"bg-[#F0F0F0] text-neutral-900 font-semibold":"text-neutral-700 hover:bg-[#F2F2F2]","\n ").concat(F&&"opacity-50 cursor-not-allowed"),onClick:()=>X(e),disabled:F,children:e},e))]})})]}),(0,s.jsxs)("div",{className:"pt-2 flex flex-col gap-1",children:[(0,s.jsx)(J,{icon:h.A,label:"SQL editor",view:"sql-editor",currentView:a,onNavigate:g,disabled:F}),(0,s.jsx)(J,{icon:f.A,label:"Schema",view:"schema",currentView:a,onNavigate:g,disabled:F}),(0,s.jsx)(J,{icon:p.A,label:"Time travel",view:"time-travel",currentView:a,onNavigate:g,disabled:F||!P,pro:!0,locked:!P})]})]})}),K]})}var X=a(707),G=a(1170),Z=a(3320),$=a(5377);function ee(e){let{results:t}=e;return t&&Array.isArray(t)?(0,s.jsxs)("div",{className:"text-xs font-medium text-neutral-900 flex items-center gap-2 mb-2",children:[t.length," ",1===t.length?"row":"rows"," returned"]}):null}function et(e){var t;let{error:a}=e;console.debug("SQLErrorDisplay - Received error prop:",a);let l=a&&"string"==typeof a.message?a:{message:"An unknown error occurred",details:{}};return(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-neutral-700 text-sm",children:l.message}),(null===(t=l.details)||void 0===t?void 0:t.stderr)&&(0,s.jsx)("pre",{className:"mt-2 p-2 text-xs text-red-500 whitespace-pre-wrap",children:l.details.stderr})]})}function ea(e){let{query:t,results:a}=e;if(!(null==a?void 0:a.length))return(0,s.jsx)("div",{className:"text-sm text-neutral-500",children:"No results to display."});let l=null==t?void 0:t.trim().toLowerCase().startsWith("pragma table_info"),n=l?["Column Name","Type","Not Null","Default Value","Primary Key"]:Object.keys(a[0]),r=l?a.map(e=>({"Column Name":e.name,Type:e.type,"Not Null":1===e.notnull?"YES":"NO","Default Value":e.dflt_value||"(null)","Primary Key":1===e.pk?"YES":"NO"})):a;return(0,s.jsxs)("div",{className:"flex flex-col h-full",children:[(0,s.jsx)(ee,{results:r}),(0,s.jsx)("div",{className:"flex-1 overflow-auto border rounded-lg",children:(0,s.jsx)("div",{className:"min-w-full",children:(0,s.jsxs)(F,{children:[(0,s.jsx)(z,{children:(0,s.jsx)(B,{className:"bg-muted/50",children:n.map(e=>(0,s.jsx)(W,{className:"font-mono text-xs font-medium text-muted-foreground",children:e},e))})}),(0,s.jsx)(P,{children:r.map((e,t)=>(0,s.jsx)(B,{className:"hover:bg-muted/50",children:n.map(a=>{let l=e[a],n=null===l?"(null)":String(l);return(0,s.jsx)(Y,{className:"font-monospace text-xs whitespace-nowrap",children:n},"".concat(t,"-").concat(a))})},t))})]})})})]})}let es={SYNTAX_ERROR:"SYNTAX_ERROR",EXECUTION_ERROR:"EXECUTION_ERROR",TABLE_NOT_FOUND:"TABLE_NOT_FOUND",TABLE_EXISTS:"TABLE_EXISTS",FOREIGN_KEY_ERROR:"FOREIGN_KEY_ERROR",UNIQUE_CONSTRAINT_ERROR:"UNIQUE_CONSTRAINT_ERROR",NOT_NULL_CONSTRAINT_ERROR:"NOT_NULL_CONSTRAINT_ERROR",CHECK_CONSTRAINT_ERROR:"CHECK_CONSTRAINT_ERROR",UNKNOWN_ERROR:"UNKNOWN_ERROR"};function el(e){if(!e)return{type:es.UNKNOWN_ERROR,message:"An unknown error occurred",details:{}};let t=null,a=e.cmd||e.details&&e.details.command;if(a){let e=a.match(RegExp('--command="(.+?)"\\s*--json',"s"));e&&(t=e[1].replace(/\\n/g,"\n").replace(/\\"/g,'"'))}let s=e.stdout||e.details&&e.details.stdout;if(s)try{var l;let e=JSON.parse(s.trim()),n=(null==e?void 0:null===(l=e.error)||void 0===l?void 0:l.text)||"";if(n)return en(n,t,a)}catch(e){}let n=e.stderr||e.details&&e.details.stderr;if(n)return en(n.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,""),t,a);let r=e.message||e.details&&e.details.originalError||"";return r?en(r,t,a):{type:es.UNKNOWN_ERROR,message:e.message||"An unknown error occurred",details:{}}}function en(e,t,a){if(e.includes("env: node: No such file or directory"))return{type:es.EXECUTION_ERROR,message:"Node.js not found — ensure Node.js is installed and in PATH",details:{originalQuery:t}};let s=e.match(/near "([^"]+)": syntax error(?:\s+at offset (\d+))?/);if(s){let[,e,a]=s;return{type:es.SYNTAX_ERROR,message:'Syntax error near "'.concat(e,'"').concat(a?" at position ".concat(a):""),details:{originalQuery:t,errorLocation:{near:e,offset:a?parseInt(a):null}}}}if(e.includes("UNIQUE constraint failed")){let[,a]=e.match(/UNIQUE constraint failed: ([\w.]+)/)||[];return{type:es.UNIQUE_CONSTRAINT_ERROR,message:"UNIQUE constraint failed: ".concat(a||"unknown column"),details:{originalQuery:t}}}if(e.includes("NOT NULL constraint failed")){let[,a]=e.match(/NOT NULL constraint failed: ([\w.]+)/)||[];return{type:es.NOT_NULL_CONSTRAINT_ERROR,message:"NOT NULL constraint failed: ".concat(a||"unknown column"),details:{originalQuery:t}}}if(e.includes("CHECK constraint failed")){let[,a]=e.match(/CHECK constraint failed: (\S+)/)||[];return{type:es.CHECK_CONSTRAINT_ERROR,message:"CHECK constraint failed: ".concat(a||"unknown constraint"),details:{originalQuery:t}}}if(e.includes("FOREIGN KEY constraint failed"))return{type:es.FOREIGN_KEY_ERROR,message:"FOREIGN KEY constraint failed",details:{originalQuery:t}};if(e.includes("no such table")){let[,a]=e.match(/no such table: (\S+)/)||[];return{type:es.TABLE_NOT_FOUND,message:"Table not found: ".concat(a||"unknown"),details:{originalQuery:t}}}if(e.includes("already exists")){let[,a]=e.match(/table (\w+) already exists/)||[];return{type:es.TABLE_EXISTS,message:"Table already exists: ".concat(a||"unknown"),details:{originalQuery:t}}}return{type:es.EXECUTION_ERROR,message:e.replace(/:\s*SQLITE_\w+$/,"").trim()||"Failed to execute SQL command",details:{originalQuery:t}}}let er={"Show Tables":"SELECT name\n FROM sqlite_master \n WHERE type='table' \n AND name NOT LIKE 'sqlite_%';","Table Schema":"-- Table Schema\n-- Replace table_name with your table name\nPRAGMA table_info(table_name);","Table Indexes":"-- Table Indexes\n-- Replace table_name with your table name\nSELECT \n m.name as table_name,\n i.name as index_name,\n i.sql as index_definition\nFROM sqlite_master m\nJOIN sqlite_master i ON m.name = i.tbl_name\nWHERE m.type = 'table'\nAND i.type = 'index'\nAND m.name = 'table_name';","Foreign Keys":"-- Foreign Key Information\n-- Replace table_name with your table name\nPRAGMA foreign_key_list(table_name);","Table Data":"-- Table Data\n-- Replace table_name with your table name\nSELECT * FROM table_name LIMIT 100;","Row Count":"-- Row Count\n-- Replace table_name with your table name\nSELECT COUNT(*) as total_rows FROM table_name;","Column Stats":"-- Column Statistics\n-- Replace table_name and column_name with your values\nSELECT \n COUNT(*) as total_rows,\n COUNT(column_name) as non_null_count,\n COUNT(DISTINCT column_name) as unique_values,\n MIN(column_name) as min_value,\n MAX(column_name) as max_value\nFROM table_name;","Create Table":"CREATE TABLE IF NOT EXISTS new_table (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n name TEXT NOT NULL,\n email TEXT UNIQUE,\n status TEXT CHECK(status IN ('active', 'inactive')) DEFAULT 'active',\n created_at DATETIME DEFAULT CURRENT_TIMESTAMP\n);\n\n-- Create indexes\nCREATE INDEX idx_new_table_name ON new_table(name);\nCREATE UNIQUE INDEX idx_new_table_email ON new_table(email);","Create View":"-- Create a view\nCREATE VIEW view_name AS\nSELECT column1, column2\nFROM table_name\nWHERE condition;"},eo={"Schema Information":["Show Tables","Table Schema","Table Indexes","Foreign Keys"],"Data Queries":["Table Data","Row Count","Column Stats"],"Schema Modification":["Create Table","Create View"]};function ei(e){let{onSelectQuery:t}=e;return(0,s.jsxs)(R,{children:[(0,s.jsx)(E,{asChild:!0,children:(0,s.jsxs)(U,{variant:"outline",size:"sm",children:["Query Templates",(0,s.jsx)(c.A,{className:"ml-2 h-4 w-4"})]})}),(0,s.jsx)(T,{align:"start",className:"w-72",children:Object.entries(eo).map(e=>{let[a,n]=e;return(0,s.jsxs)(l.Fragment,{children:[(0,s.jsx)("div",{className:"px-2 py-1.5 text-sm font-semibold text-neutral-900 font-sans",children:a}),n.map(e=>(0,s.jsx)(A,{onClick:()=>t(e),className:"font-sans text-neutral-800",children:e},e))]},a)})})]})}function ec(e){let{initialQuery:t=""}=e,{executeQuery:a,refreshTables:n}=(0,_.t)(),[r,o]=(0,l.useState)(null),[i,c]=(0,l.useState)(!1),[d,u]=(0,l.useState)(300),[m,h]=(0,l.useState)(!1),f=(0,l.useRef)(null),p=(0,l.useRef)(null);(0,l.useEffect)(()=>{t&&f.current&&(f.current.setValue(t),f.current.focus())},[t]),(0,l.useEffect)(()=>{p.current&&(p.current.style.height="".concat(d,"px"))},[d]);let g=(0,l.useCallback)(e=>{e.preventDefault();let t=e.pageY,a=e=>{u(Math.min(Math.max(d+(e.pageY-t),100),.8*window.innerHeight))},s=()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",a),document.addEventListener("mouseup",s)},[d]),b=async()=>{if(!f.current)return;let e=f.current.getValue().trim().replace(/;+$/,"");if(!e){o({success:!1,error:{message:"Query cannot be empty."}});return}try{var t,s,l,r;c(!0),o(null);let i=await a(e);/^(CREATE|DROP|ALTER)\s+TABLE/i.test(e)&&await n();let d=[];if(i.results){if(Array.isArray(i.results)){if(i.results.length>0&&(null===(t=i.results[0])||void 0===t?void 0:t.columns)&&(null===(s=i.results[0])||void 0===s?void 0:s.values)){let e=i.results[0];d=e.values.map(t=>e.columns.reduce((e,a,s)=>(e[a]=t[s],e),{}))}else d=1===i.results.length&&i.results[0].results&&Array.isArray(i.results[0].results)?i.results[0].results:i.results}else if(i.results.columns&&i.results.values){let e=i.results;d=e.values.map(t=>e.columns.reduce((e,a,s)=>(e[a]=t[s],e),{}))}}else if(i.result&&i.result.results){if(Array.isArray(i.result.results)){if(i.result.results.length>0&&(null===(l=i.result.results[0])||void 0===l?void 0:l.columns)&&(null===(r=i.result.results[0])||void 0===r?void 0:r.values)){let e=i.result.results[0];d=e.values.map(t=>e.columns.reduce((e,a,s)=>(e[a]=t[s],e),{}))}else d=1===i.result.results.length&&i.result.results[0].results&&Array.isArray(i.result.results[0].results)?i.result.results[0].results:i.result.results}else if(i.result.results.columns&&i.result.results.values){let e=i.result.results;d=e.values.map(t=>e.columns.reduce((e,a,s)=>(e[a]=t[s],e),{}))}}o({success:!0,results:d})}catch(e){o({success:!1,error:el(e)||{message:"An unknown error occurred",details:{}}})}finally{c(!1)}};return(0,s.jsxs)("div",{className:"h-full flex flex-col bg-white text-neutral-900 font-sans",children:[(0,s.jsx)("div",{className:"px-4 py-2 bg-neutral-100 border-b flex items-center gap-4",children:(0,s.jsx)(ei,{onSelectQuery:e=>{if(f.current){let t=Object.keys(er).find(t=>t.toLowerCase()===e.toLowerCase());if(t){let e=er[t];f.current.setValue(e),f.current.focus()}else console.warn("Query template not found for: ".concat(e))}}})}),(0,s.jsx)("div",{ref:p,className:"relative pt-2 overflow-hidden",style:{height:"".concat(d,"px"),minHeight:"100px"},children:(0,s.jsx)(X.Ay,{height:"100%",language:"sql",options:{minimap:{enabled:!1},fontSize:14,wordWrap:"on",automaticLayout:!0,lineNumbers:"on",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace"},onMount:e=>{f.current=e,e.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyCode.Enter,()=>{b()})}})}),(0,s.jsx)("div",{className:"relative h-0.5 cursor-row-resize bg-neutral-200 group ".concat(m?"bg-neutral-300":"hover:bg-neutral-300"),onMouseDown:e=>{h(!0),g(e)},onMouseUp:()=>h(!1),children:(0,s.jsx)("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-neutral-900 rounded-sm px-0.5 \n ".concat(m?"visible":"invisible group-hover:visible"),children:(0,s.jsx)(G.A,{className:"h-3 w-3 text-white"})})}),(0,s.jsx)("div",{className:"px-4 py-3 bg-neutral-100 border-b font-sans",children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("h3",{className:"text-sm font-medium",children:"Results"}),(0,s.jsxs)(U,{size:"sm",onClick:b,disabled:i,className:"flex items-center gap-1 text-sm font-medium",children:["Run",i?(0,s.jsx)(x.A,{className:"h-4 w-4 animate-spin"}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(Z.A,{className:"h-4 w-4"}),(0,s.jsx)($.A,{className:"h-4 w-4"})]})]})]})}),(0,s.jsx)("div",{className:"flex-1 overflow-auto p-4 bg-white",children:(()=>{var e;if(i)return(0,s.jsxs)("div",{className:"flex items-center text-sm text-neutral-700",children:[(0,s.jsx)(x.A,{className:"h-4 w-4 animate-spin mr-2 font-sans"}),"Running your query..."]});if(!r)return(0,s.jsx)("div",{className:"text-sm text-neutral-500 font-sans",children:"Run the query to see the results."});if(!r.success)return console.debug("SQLEditor - Rendering error:",r.error),(0,s.jsx)(et,{error:r.error});let t=r.results;return t&&0!==t.length?(0,s.jsx)(ea,{query:(null===(e=f.current)||void 0===e?void 0:e.getValue())||"",results:t}):(0,s.jsx)("div",{className:"text-sm text-neutral-900 font-sans",children:"Success. No results to display."})})()})]})}var ed=a(6352);let eu=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(ed.bL,{ref:t,className:(0,g.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...l,children:(0,s.jsx)(ed.C1,{className:(0,g.cn)("flex items-center justify-center text-current"),children:(0,s.jsx)(S.A,{className:"h-4 w-4"})})})});eu.displayName=ed.bL.displayName;var em=a(3409),ex=a(2488);let eh=em.bL;em.YJ;let ef=em.WT,ep=l.forwardRef((e,t)=>{let{className:a,children:l,...n}=e;return(0,s.jsxs)(em.l9,{ref:t,className:(0,g.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...n,children:[l,(0,s.jsx)(em.In,{asChild:!0,children:(0,s.jsx)(c.A,{className:"h-4 w-4 opacity-50"})})]})});ep.displayName=em.l9.displayName;let eg=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(em.PP,{ref:t,className:(0,g.cn)("flex cursor-default items-center justify-center py-1",a),...l,children:(0,s.jsx)(ex.A,{className:"h-4 w-4"})})});eg.displayName=em.PP.displayName;let eb=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(em.wn,{ref:t,className:(0,g.cn)("flex cursor-default items-center justify-center py-1",a),...l,children:(0,s.jsx)(c.A,{className:"h-4 w-4"})})});eb.displayName=em.wn.displayName;let ev=l.forwardRef((e,t)=>{let{className:a,children:l,position:n="popper",...r}=e;return(0,s.jsx)(em.ZL,{children:(0,s.jsxs)(em.UC,{ref:t,className:(0,g.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:n,...r,children:[(0,s.jsx)(eg,{}),(0,s.jsx)(em.LM,{className:(0,g.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:l}),(0,s.jsx)(eb,{})]})})});ev.displayName=em.UC.displayName,l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(em.JU,{ref:t,className:(0,g.cn)("px-2 py-1.5 text-sm font-semibold",a),...l})}).displayName=em.JU.displayName;let ej=l.forwardRef((e,t)=>{let{className:a,children:l,...n}=e;return(0,s.jsxs)(em.q7,{ref:t,className:(0,g.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...n,children:[(0,s.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(em.VF,{children:(0,s.jsx)(S.A,{className:"h-4 w-4"})})}),(0,s.jsx)(em.p4,{children:l})]})});ej.displayName=em.q7.displayName,l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(em.wv,{ref:t,className:(0,g.cn)("-mx-1 my-1 h-px bg-muted",a),...l})}).displayName=em.wv.displayName;var eN=a(138),ew=a(5942),ey=a(1598),eC=a(2884),eS=a(9710);let ek=eS.Kq,eR=eS.bL,eE=eS.l9,eT=l.forwardRef((e,t)=>{let{className:a,sideOffset:l=4,...n}=e;return(0,s.jsx)(eS.ZL,{children:(0,s.jsx)(eS.UC,{ref:t,sideOffset:l,className:(0,g.cn)("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...n})})});eT.displayName=eS.UC.displayName;var eA=a(6235);let e_=(0,l.memo)(e=>{let{onRefresh:t,disabled:a}=e,[n,r]=(0,l.useState)(!1),o=async()=>{if(!n&&!a){r(!0);try{await t()}catch(e){console.error("Refresh failed:",e)}finally{setTimeout(()=>{r(!1)},500)}}};return(0,s.jsx)(ek,{children:(0,s.jsxs)(eR,{children:[(0,s.jsx)(eE,{asChild:!0,children:(0,s.jsx)(U,{variant:"outline",size:"icon",onClick:o,disabled:n||a,className:"h-8",children:n?(0,s.jsx)(x.A,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(eA.A,{className:"h-4 w-4"})})}),(0,s.jsx)(eT,{children:(0,s.jsx)("p",{children:"Refresh table data"})})]})})});e_.displayName="RefreshButton";var eO=a(7973),eI=a(6528);let eU=(0,l.memo)(e=>{let{tableName:t,onSync:a}=e,[n,r]=(0,l.useState)(!1),{toast:o}=(0,eI.dj)();if("d1_migrations"!==t)return null;let i=async()=>{try{r(!0);let e=await fetch("/api/migrations/sync-files",{method:"POST"}),t=await e.json();if(!e.ok)throw Error(t.error||"Failed to sync migrations");let{added:s=[],removed:l=[]}=t.details||{};o({title:"Migrations Synced",description:"Added: ".concat(s.length,", Removed: ").concat(l.length)}),a&&await a()}catch(e){console.error("Error syncing migrations:",e),o({variant:"destructive",title:"Sync Failed",description:e.message})}finally{r(!1)}};return(0,s.jsx)(ek,{children:(0,s.jsxs)(eR,{children:[(0,s.jsx)(eE,{asChild:!0,children:(0,s.jsx)(U,{variant:"outline",size:"icon",onClick:i,disabled:n,className:"h-8",children:n?(0,s.jsx)(x.A,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(eO.A,{className:"h-4 w-4"})})}),(0,s.jsx)(eT,{children:(0,s.jsx)("p",{children:"Sync migration files with d1_migrations table"})})]})})});eU.displayName="SyncMigrationsButton";var eL=a(319),eM=a(358),eD=a(8742),eF=a(6697);let ez=(0,l.memo)(e=>{let{tableName:t,onDownloadStart:a,onDownloadComplete:n,disabled:r}=e,[o,i]=(0,l.useState)(!1),{toast:c}=(0,eI.dj)(),d=(e,t)=>{try{let a=new Blob([e],{type:"application/octet-stream"}),s=window.URL.createObjectURL(a),l=document.createElement("a");l.href=s,l.download=t,document.body.appendChild(l),l.click(),document.body.removeChild(l),window.URL.revokeObjectURL(s)}catch(e){throw console.error("Error during file download:",e),e}},u=async e=>{if(!r)try{i(!0),null==a||a();let s=await fetch("/api/tables/".concat(t,"?export=true&page=1&limit=999999")),l=await s.json();if(!s.ok)throw Error(l.error||"Failed to fetch data");let{data:r,schema:o}=l;if(!(null==r?void 0:r.length)){c({title:"No Data",description:"The table is empty.",variant:"destructive"});return}let u=new Date().toISOString().split("T")[0],m="".concat(t,"_").concat(u,".").concat(e);switch(e){case"json":{let e=JSON.stringify(r,null,2);d(e,m);break}case"csv":{let e=Object.keys(r[0]),t=[e.join(","),...r.map(t=>e.map(e=>{let a=t[e];if(null==a)return"";if("string"==typeof a){let e=a.replace(/"/g,'""');return'"'.concat(e,'"')}return a}).join(","))].join("\n");d(t,m);break}case"sql":{let e="CREATE TABLE IF NOT EXISTS ".concat(t," (\n")+o.map(e=>{let t=[];return e.pk&&t.push("PRIMARY KEY"),e.notnull||t.push("NOT NULL")," ".concat(e.name," ").concat(e.type).concat(t.length?" ".concat(t.join(" ")):"")}).join(",\n")+"\n);\n\n",a=r.map(e=>{let a=Object.keys(e),s=a.map(t=>{let a=e[t];return null===a?"NULL":"string"==typeof a?"'".concat(a.replace(/'/g,"''"),"'"):a});return"INSERT INTO ".concat(t," (").concat(a.join(", "),")\nVALUES (").concat(s.join(", "),");")}).join("\n");d(e+a,m)}}c({title:"Download Complete",description:"".concat(r.length," rows exported as ").concat(e.toUpperCase(),".")}),null==n||n()}catch(e){console.error("Download error:",e),c({variant:"destructive",title:"Download Failed",description:e.message})}finally{i(!1)}};return(0,s.jsxs)(R,{children:[(0,s.jsx)(ek,{children:(0,s.jsxs)(eR,{children:[(0,s.jsx)(eE,{asChild:!0,children:(0,s.jsx)(E,{asChild:!0,children:(0,s.jsx)(U,{variant:"outline",size:"icon",className:"h-8",disabled:o||r,children:o?(0,s.jsx)(x.A,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(eL.A,{className:"h-4 w-4"})})})}),(0,s.jsx)(eT,{children:(0,s.jsx)("p",{children:"Download table data"})})]})}),(0,s.jsxs)(T,{align:"end",children:[(0,s.jsxs)(A,{onClick:()=>u("json"),disabled:r,children:[(0,s.jsx)(eM.A,{className:"mr-2 h-4 w-4"}),(0,s.jsx)("span",{children:"Download JSON"})]}),(0,s.jsxs)(A,{onClick:()=>u("csv"),disabled:r,children:[(0,s.jsx)(eD.A,{className:"mr-2 h-4 w-4"}),(0,s.jsx)("span",{children:"Download CSV"})]}),(0,s.jsxs)(A,{onClick:()=>u("sql"),disabled:r,children:[(0,s.jsx)(eF.A,{className:"mr-2 h-4 w-4"}),(0,s.jsx)("span",{children:"Download SQL"})]})]})]})});ez.displayName="DownloadButton";var eP=a(9045);let eB=function(e){let{schema:t=[],visibleColumns:a=[],onColumnToggle:n}=e,[r,o]=(0,l.useState)("");(0,l.useEffect)(()=>{if(!t||0===t.length)return;let e=t.map(e=>e.name);0===a.length&&e.forEach(e=>n(e))},[t,a.length,n]);let i=t.filter(e=>e.name.toLowerCase().includes(r.toLowerCase())),c=i.map(e=>e.name),d=c.length>0&&c.every(e=>a.includes(e)),u=e=>{n(e)};return(0,s.jsxs)(R,{children:[(0,s.jsx)(E,{asChild:!0,children:(0,s.jsxs)(U,{size:"sm",variant:"outline",className:"font-semibold",children:[(0,s.jsx)(eP.A,{className:"h-4 w-4"}),"Columns (",a.length,")"]})}),(0,s.jsxs)(T,{align:"end",className:"w-64 font-sans",children:[(0,s.jsx)("div",{className:"p-2",children:(0,s.jsx)(b,{placeholder:"Search columns...",value:r,onChange:e=>o(e.target.value),className:"h-8"})}),(0,s.jsxs)("div",{className:"flex items-center space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,s.jsx)(eu,{id:"select-all-columns",checked:d,onCheckedChange:e=>{e?i.forEach(e=>{a.includes(e.name)||n(e.name)}):i.forEach(e=>{a.includes(e.name)&&n(e.name)})},className:"shrink-0"}),(0,s.jsxs)("label",{htmlFor:"select-all-columns",className:"flex-1 cursor-pointer text-sm font-medium",children:["Select All ",r&&"(Filtered)"]})]}),(0,s.jsx)("div",{className:"max-h-[300px] overflow-y-auto",children:i.map(e=>(0,s.jsxs)("div",{className:"flex items-start space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,s.jsx)(eu,{id:"column-".concat(e.name),checked:a.includes(e.name),onCheckedChange:()=>u(e.name),className:"mt-1"}),(0,s.jsxs)("label",{htmlFor:"column-".concat(e.name),className:"flex-1 cursor-pointer",children:[(0,s.jsx)("div",{className:"text-sm font-medium",children:e.name}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:e.type.toLowerCase()})]})]},e.name))})]})]})},eW=(0,l.memo)(e=>{let{onAdd:t,onDelete:a,onImport:l,selectedCount:n,disabled:r,newRecordsCount:o,schema:i,visibleColumns:c,onColumnToggle:d,showFilters:u,onToggleFilters:m,activeFilterCount:x}=e;return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsxs)(U,{size:"sm",variant:u?"default":"outline",className:"font-semibold gap-1",onClick:m,children:[(0,s.jsx)(eN.A,{className:"h-4 w-4"}),"Filters",x>0&&(0,s.jsx)("span",{className:"ml-0.5 text-[10px] font-bold bg-white text-neutral-800 px-1 py-0 rounded-full",children:x})]}),(0,s.jsx)(eB,{schema:i,visibleColumns:c,onColumnToggle:d}),(0,s.jsx)("div",{className:"h-4 border-r mx-2"}),(0,s.jsx)(U,{size:"sm",variant:"default",className:"font-semibold",onClick:t,children:"Add record"}),(0,s.jsx)(ek,{children:(0,s.jsxs)(eR,{children:[(0,s.jsx)(eE,{asChild:!0,children:(0,s.jsxs)(U,{size:"sm",variant:"outline",className:"font-semibold",onClick:l,disabled:r,children:[(0,s.jsx)(ew.A,{className:"h-4 w-4"}),"Import"]})}),(0,s.jsx)(eT,{children:(0,s.jsx)("p",{children:"Import CSV or JSON"})})]})}),n>0&&(0,s.jsxs)(U,{size:"sm",className:"font-semibold",onClick:a,variant:"destructive",disabled:r||o>0,children:["Delete ",n," ",1===n?"record":"records"]})]})}),eY=(0,l.memo)(e=>{let{totalRows:t}=e;return(0,s.jsxs)("span",{className:"text-sm text-neutral-600",children:[t," ",1===t?"row":"rows"]})}),eq=(0,l.memo)(e=>{let{currentPage:t,totalPages:a,onPageChange:l,disabled:n,newRecordsCount:r}=e;return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(U,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to previous page",t-1),l(t-1)},disabled:1===t||n||r>0,className:"h-8",children:(0,s.jsx)(ey.A,{className:"h-4 w-4"})}),(0,s.jsxs)("span",{className:"text-sm",children:["Page ",t," of ",a]}),(0,s.jsx)(U,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to next page",t+1),l(t+1)},disabled:t===a||n||r>0,className:"h-8",children:(0,s.jsx)(eC.A,{className:"h-4 w-4"})})]})}),eH=(0,l.memo)(e=>{let{value:t,onValueChange:a,disabled:l,newRecordsCount:n}=e;return(0,s.jsxs)(eh,{value:t.toString(),onValueChange:a,disabled:l||n>0,children:[(0,s.jsx)(ep,{className:"w-20 h-8",children:(0,s.jsx)(ef,{})}),(0,s.jsxs)(ev,{children:[(0,s.jsx)(ej,{value:"50",children:"50"}),(0,s.jsx)(ej,{value:"100",children:"100"}),(0,s.jsx)(ej,{value:"250",children:"250"})]})]})}),eK=(0,l.memo)(e=>{let{onSave:t,onDiscard:a,totalChanges:l,isSaving:n}=e;return(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(U,{size:"sm",variant:"ghost",className:"font-semibold",onClick:a,disabled:n,children:"Discard changes"}),(0,s.jsx)(U,{size:"sm",className:"font-semibold bg-green-600 hover:bg-green-700",variant:"default",onClick:t,disabled:n,children:n?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x.A,{className:"h-4 w-4 animate-spin"}),"Saving..."]}):"Save ".concat(l," ").concat(1===l?"change":"changes")})]})}),eV=e=>{let{selectedCount:t=0,onAdd:a,onDelete:l,onImport:n,onRefresh:r,totalRows:o=0,currentPage:i=1,totalPages:c=1,onPageChange:d,rowsPerPage:u=50,onRowsPerPageChange:m,tableName:x,onDownloadStart:h,onDownloadComplete:f,disabled:p=!1,editCount:g=0,newRecordsCount:b=0,onSaveChanges:v,onDiscardChanges:j,isSaving:N=!1,schema:w,visibleColumns:y,onColumnToggle:C,showFilters:S=!1,onToggleFilters:k,activeFilterCount:R=0}=e,E=g+b;return(0,s.jsx)("div",{className:"flex items-center justify-between p-3 border-b bg-background font-sans",children:(0,s.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,s.jsx)(eW,{onAdd:a,onDelete:l,onImport:n,selectedCount:t,disabled:p||N,newRecordsCount:b,schema:w,visibleColumns:y,onColumnToggle:C,showFilters:S,onToggleFilters:k,activeFilterCount:R}),(0,s.jsx)("div",{className:"flex items-center gap-4",children:E>0?(0,s.jsx)(eK,{onSave:v,onDiscard:j,totalChanges:E,isSaving:N}):(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(eY,{totalRows:o}),(0,s.jsx)(eq,{currentPage:i,totalPages:c,onPageChange:d,disabled:p,newRecordsCount:b}),(0,s.jsx)(eH,{value:u,onValueChange:e=>{m(parseInt(e,10)),d(1)},disabled:p,newRecordsCount:b}),(0,s.jsx)(e_,{onRefresh:r,disabled:p}),(0,s.jsx)(eU,{tableName:x,onSync:r,disabled:p}),(0,s.jsx)(ez,{tableName:x,onDownloadStart:h,onDownloadComplete:f,disabled:p})]})})]})})};eV.displayName="TableToolbar";let eJ=(0,l.memo)(eV);function eQ(e){let{value:t,row:a,column:n,schema:r,onChange:o,onStartEdit:i,isEditing:c,fkInfo:d,onShowRelation:u}=e,m="string"==typeof t?t.replace(/^'|'$/g,""):t,[x,h]=(0,l.useState)(m),[f,p]=(0,l.useState)("auto"),g=(0,l.useRef)(null),v=(0,l.useRef)(null),j=r.find(e=>e.name===n),N=(0,l.useMemo)(()=>(null==j?void 0:j.check)||null,[j]),w=(0,l.useMemo)(()=>{var e;let t=(null==j?void 0:null===(e=j.type)||void 0===e?void 0:e.toLowerCase())||"";return"boolean"===t||"bool"===t||"integer"===t&&n.toLowerCase().startsWith("is_")},[j,n]);(0,l.useEffect)(()=>{h(m)},[m]),(0,l.useEffect)(()=>{if(g.current&&!c){let e=g.current.offsetWidth;p("".concat(e,"px"))}},[c]),(0,l.useEffect)(()=>{c&&v.current&&(v.current.focus(),v.current.select())},[c]),null==j||j.pk;let y=(0,l.useCallback)(e=>{let t=w?"true"===e?1:"false"===e?0:e:e;h(e),null==o||o(t)},[o,w]),C=(0,l.useCallback)(()=>{!c&&i&&i(m)},[c,i,m]),S="border-x border-neutral-200 px-3 py-2.5 text-xs font-mono whitespace-nowrap overflow-hidden bg-white",k=(0,l.useMemo)(()=>null==m?"null":w?1===m||"1"===m||"true"===m?"true":"false":m.toString(),[m,w]);return c?w?(0,s.jsx)(Y,{className:"".concat(S," p-0"),style:{width:f},children:(0,s.jsx)("div",{className:"w-full h-full",children:(0,s.jsxs)(eh,{value:k,onValueChange:y,defaultOpen:c,children:[(0,s.jsx)(ep,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,s.jsx)(ef,{placeholder:"Select value"})}),(0,s.jsxs)(ev,{className:"min-w-[8rem]",children:[(0,s.jsx)(ej,{value:"true",children:"true"}),(0,s.jsx)(ej,{value:"false",children:"false"})]})]})})}):(null==N?void 0:N.length)>0?(0,s.jsx)(Y,{className:"".concat(S," p-0"),style:{width:f},children:(0,s.jsx)("div",{className:"w-full h-full",children:(0,s.jsxs)(eh,{value:null!=x?x:N[0],onValueChange:y,defaultOpen:c,children:[(0,s.jsx)(ep,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,s.jsx)(ef,{placeholder:"Select ".concat(n)})}),(0,s.jsx)(ev,{className:"min-w-[8rem]",children:N.map(e=>(0,s.jsx)(ej,{value:e,children:e},e))})]})})}):(0,s.jsx)(Y,{className:"".concat(S," p-0"),style:{width:f},children:(0,s.jsx)(b,{ref:v,value:null!=x?x:"",onChange:e=>y(e.target.value),className:"w-full min-w-0 rounded-none border-0 bg-orange-50 text-orange-900"})}):(0,s.jsxs)(Y,{ref:g,className:"".concat(S," relative group cursor-pointer hover:bg-muted/50"),onClick:C,children:[k,d&&(0,s.jsx)("button",{className:"absolute right-0.5 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 rounded p-0.5 bg-white border hover:bg-blue-50 transition-opacity z-10",onClick:e=>{e.stopPropagation(),null==u||u()},title:"Show related ".concat(d.table),children:(0,s.jsx)(eC.A,{className:"h-3 w-3 text-blue-500"})})]})}var eX=a(5524);function eG(e){return"string"==typeof e?e.replace(/^'|'$/g,""):e}function eZ(e){let{schema:t,onRemove:a,onChange:n,showCheckbox:r=!1,initialData:o={}}=e,[i,c]=(0,l.useState)(()=>t.reduce((e,t)=>{var a;let s=null!==(a=o[t.name])&&void 0!==a?a:null;if(s=eG(s),1===t.pk&&(null===s||""===s))s="INTEGER"===t.type.toUpperCase()?"[Auto-generated INT]":"[Auto-generated]";else if(null===s){let e=t.dflt_value&&"null"!==t.dflt_value?t.dflt_value:null;if(e){let a=eG(e);s=a.includes("randomblob")||a.includes("lower(hex(")?"[Auto-generated UUID]":"INTEGER"===t.type.toUpperCase()&&1===t.pk&&(a.includes("AUTOINCREMENT")||a.includes("AUTO_INCREMENT")||a.includes("nextval")||""===a||"0"===a)?"[Auto-generated INT]":a}else"INTEGER"===t.type.toUpperCase()?s="":"TEXT"===t.type.toUpperCase()&&(s="")}return e[t.name]=s,e},{})),d=(0,l.useRef)(!1);(0,l.useEffect)(()=>{d.current||(d.current=!0,null==n||n(i))},[]);let u=(e,t)=>{let a={...i,[e]:t};c(a),null==n||n(a)},m=e=>{var t;let a=(null===(t=e.type)||void 0===t?void 0:t.toLowerCase())||"";return"boolean"===a||"bool"===a||"integer"===a&&e.name.toLowerCase().startsWith("is_")};return(0,s.jsxs)(B,{className:"bg-orange-50/50",children:[(0,s.jsx)(Y,{className:"w-10 p-0",children:(0,s.jsx)("div",{className:"pl-1 flex items-center",children:r?(0,s.jsx)(eu,{disabled:!0}):(0,s.jsx)(U,{variant:"ghost",size:"icon",className:"h-8 w-8 text-orange-700 hover:text-orange-800",onClick:a,children:(0,s.jsx)(eX.A,{className:"h-4 w-4"})})})}),t.map(e=>{var t,a;let l=1===e.pk,n=e.check||null;if(m(e)){let t="false";if(null!==e.dflt_value&&void 0!==e.dflt_value){let a=e.dflt_value.toString().toLowerCase();t="1"===a||"true"===a||"'true'"===a||'"true"'===a?"true":"false"}let a=null!==i[e.name]&&void 0!==i[e.name]?1===i[e.name]||!0===i[e.name]||"true"===i[e.name]?"true":"false":t;return(0,s.jsx)(Y,{className:"border-x border-neutral-200 p-0",children:(0,s.jsx)("div",{className:"w-full",children:(0,s.jsxs)(eh,{value:a,onValueChange:t=>u(e.name,"true"===t?1:0),children:[(0,s.jsx)(ep,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",title:"Default: ".concat(t),children:(0,s.jsx)(ef,{placeholder:"Select ".concat(e.name)})}),(0,s.jsxs)(ev,{className:"min-w-[8rem]",children:[(0,s.jsx)(ej,{value:"true",children:"true"}),(0,s.jsx)(ej,{value:"false",children:"false"})]})]})})},e.name)}if((null==n?void 0:n.length)>0)return(0,s.jsx)(Y,{className:"border-x border-neutral-200 p-0",children:(0,s.jsx)("div",{className:"w-full",children:(0,s.jsxs)(eh,{value:null!==(t=i[e.name])&&void 0!==t?t:n[0],onValueChange:t=>u(e.name,t),children:[(0,s.jsx)(ep,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,s.jsx)(ef,{placeholder:"Select ".concat(e.name)})}),(0,s.jsx)(ev,{className:"min-w-[8rem]",children:n.map(e=>(0,s.jsx)(ej,{value:e,children:e},e))})]})})},e.name);let r=l&&("[Auto-generated INT]"===i[e.name]||"[Auto-generated UUID]"===i[e.name]||"[Auto-generated]"===i[e.name]);return(0,s.jsx)(Y,{className:"border-x border-neutral-200 p-0",children:(0,s.jsx)(b,{value:r?"":null!==(a=i[e.name])&&void 0!==a?a:"",onChange:t=>u(e.name,t.target.value),disabled:r,className:"w-full min-w-0 rounded-none border-0 px-2 bg-orange-50 text-orange-900 ".concat(r?"opacity-50":""),placeholder:r?"Auto-generated":"Enter ".concat(e.name)})},e.name)})]})}var e$=a(6217);let e0=e$.bL;e$.l9;let e1=e$.ZL;e$.bm;let e2=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(e$.hJ,{ref:t,className:(0,g.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...l})});e2.displayName=e$.hJ.displayName;let e5=l.forwardRef((e,t)=>{let{className:a,children:l,...n}=e;return(0,s.jsxs)(e1,{children:[(0,s.jsx)(e2,{}),(0,s.jsxs)(e$.UC,{ref:t,className:(0,g.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",a),...n,children:[l,(0,s.jsxs)(e$.bm,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,s.jsx)(q.A,{className:"h-4 w-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});e5.displayName=e$.UC.displayName;let e4=e=>{let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,g.cn)("flex flex-col space-y-1.5 text-center sm:text-left",t),...a})};e4.displayName="DialogHeader";let e3=e=>{let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,g.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a})};e3.displayName="DialogFooter";let e6=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(e$.hE,{ref:t,className:(0,g.cn)("text-lg font-semibold leading-none tracking-tight",a),...l})});e6.displayName=e$.hE.displayName;let e8=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(e$.VY,{ref:t,className:(0,g.cn)("text-sm text-muted-foreground",a),...l})});e8.displayName=e$.VY.displayName;let e9=function(e){let{isOpen:t,onClose:a,onConfirm:l,selectedCount:n,tableName:r,isDeleting:o,error:c}=e;return(0,s.jsx)(e0,{open:t,onOpenChange:a,children:(0,s.jsxs)(e5,{className:"sm:max-w-md font-sans",children:[(0,s.jsxs)(e4,{children:[(0,s.jsxs)(e6,{className:"mb-2",children:["Delete ",n," ",1===n?"Record":"Records","?"]}),(0,s.jsxs)(e8,{className:"text-neutral-600 font-medium",children:["You're about to delete ",n," ",1===n?"record":"records"," from ",(0,s.jsx)("span",{className:"font-sans font-bold text-neutral-900",children:r}),"."]})]}),c&&(0,s.jsxs)(N,{variant:"destructive",children:[(0,s.jsx)(i.A,{className:"h-4 w-4"}),(0,s.jsx)(w,{children:c})]}),(0,s.jsxs)(e3,{className:"flex gap-1 mt-2 sm:justify-end font-sans",children:[(0,s.jsx)(U,{variant:"outline",onClick:a,disabled:o,children:"Cancel"}),(0,s.jsx)(U,{variant:"destructive",onClick:l,disabled:o,children:o?"Deleting...":"Delete"})]})]})})};function e7(e){var t;let{isOpen:a,onClose:l,error:n}=e;if(!n||!a)return null;let{message:r,icon:o}=n?{message:n.message,icon:i.A}:{message:"An unknown error occurred.",icon:i.A};return(0,s.jsx)(e0,{open:a,onOpenChange:l,children:(0,s.jsxs)(e5,{className:"sm:max-w-md font-sans",children:[(0,s.jsx)(e4,{children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(o,{className:"h-4 w-4 text-red-500"}),(0,s.jsx)(e6,{children:"Error"})]})}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsx)("p",{className:"bg-neutral-100 p-2 rounded-md text-neutral-900",children:r}),(null===(t=n.details)||void 0===t?void 0:t.suggestions)&&(0,s.jsxs)("div",{className:"text-sm space-y-1",children:[(0,s.jsx)("p",{className:"font-medium",children:"Suggestions:"}),(0,s.jsx)("ul",{className:"list-disc pl-4 space-y-1",children:n.details.suggestions.map((e,t)=>(0,s.jsx)("li",{children:e},t))})]})]}),(0,s.jsx)("div",{className:"flex justify-end gap-2 mt-4",children:(0,s.jsx)(U,{variant:"default",onClick:l,children:"Got it"})})]})})}var te=a(1342);function tt(e){var t;let{open:a,onClose:n,tableName:r,schema:o,onImportComplete:c}=e,{currentDatabase:d}=(0,_.t)(),{toast:u}=(0,eI.dj)(),m=(0,l.useRef)(null),[x,h]=(0,l.useState)(null),[f,p]=(0,l.useState)(""),[g,b]=(0,l.useState)(null),[v,j]=(0,l.useState)(!1),[y,C]=(0,l.useState)(null),S=o.map(e=>e.name),k=(0,l.useCallback)(()=>{h(null),p(""),b(null),C(null),m.current&&(m.current.value="")},[]),R=(0,l.useCallback)(()=>{k(),n()},[k,n]),E=(0,l.useCallback)(async e=>{var t;let a=null===(t=e.target.files)||void 0===t?void 0:t[0];if(a){b(null),C(null),p(a.name);try{let e;let t=await a.text();if(a.name.endsWith(".json")){let a=JSON.parse(t);e=Array.isArray(a)?a:[a]}else if(a.name.endsWith(".csv"))e=function(e){let t=e.trim().split("\n");if(t.length<2)return[];let a=t[0].split(",").map(e=>e.trim().replace(/^"|"$/g,""));return t.slice(1).map(e=>{let t=[],s="",l=!1;for(let a=0;a<e.length;a++){let n=e[a];'"'===n?l&&'"'===e[a+1]?(s+='"',a++):l=!l:","!==n||l?s+=n:(t.push(s.trim()),s="")}t.push(s.trim());let n={};return a.forEach((e,a)=>{var s;n[e]=null!==(s=t[a])&&void 0!==s?s:""}),n})}(t);else throw Error("Unsupported file type. Use .json or .csv");if(0===e.length)throw Error("File contains no data rows");h(e)}catch(e){b(e.message),h(null)}}},[]),T=(0,l.useCallback)(async()=>{if(null==x?void 0:x.length){j(!0);try{let e=null==d?void 0:d.database_name,t=await fetch("/api/tables/".concat(r,"/import"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rows:x,...e&&{db:e}})}),a=await t.json();if(!t.ok||!a.success)throw Error(a.error||"Import failed");C(a),u({title:"Import Complete",description:"".concat(a.imported," row").concat(1!==a.imported?"s":""," imported.")}),null==c||c()}catch(e){b(e.message)}finally{j(!1)}}},[x,r,d,u,c]),A=x?Object.keys(x[0]):[],O=A.filter(e=>S.includes(e)),I=A.filter(e=>!S.includes(e)),L=null!==(t=null==x?void 0:x.slice(0,5))&&void 0!==t?t:[];return(0,s.jsx)(e0,{open:a,onOpenChange:e=>!e&&R(),children:(0,s.jsxs)(e5,{className:"max-w-3xl max-h-[85vh] flex flex-col",children:[(0,s.jsx)(e4,{children:(0,s.jsxs)(e6,{children:["Import data into ",(0,s.jsx)("span",{className:"font-mono",children:r})]})}),(0,s.jsxs)("div",{className:"flex-1 overflow-y-auto space-y-4 py-2",children:[!x&&!y&&(0,s.jsxs)("div",{className:"border-2 border-dashed rounded-lg p-8 text-center cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>{var e;return null===(e=m.current)||void 0===e?void 0:e.click()},children:[(0,s.jsx)(ew.A,{className:"h-8 w-8 mx-auto mb-2 text-muted-foreground"}),(0,s.jsx)("p",{className:"text-sm font-medium",children:"Click to select a file"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Supports .csv and .json"}),(0,s.jsx)("input",{ref:m,type:"file",accept:".csv,.json",className:"hidden",onChange:E})]}),g&&(0,s.jsxs)(N,{variant:"destructive",children:[(0,s.jsx)(i.A,{className:"h-4 w-4"}),(0,s.jsx)(w,{children:g})]}),y&&(0,s.jsxs)(N,{children:[(0,s.jsx)(te.A,{className:"h-4 w-4"}),(0,s.jsxs)(w,{children:["Imported ",y.imported," row",1!==y.imported?"s":"",".",y.failed>0&&" ".concat(y.failed," failed.")]})]}),x&&!y&&(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[f.endsWith(".json")?(0,s.jsx)(eM.A,{className:"h-4 w-4"}):(0,s.jsx)(eD.A,{className:"h-4 w-4"}),(0,s.jsx)("span",{className:"font-medium",children:f}),(0,s.jsxs)("span",{className:"text-muted-foreground",children:["— ",x.length," rows"]})]}),(0,s.jsx)(U,{variant:"ghost",size:"sm",onClick:k,children:"Change file"})]}),I.length>0&&(0,s.jsxs)(N,{children:[(0,s.jsx)(i.A,{className:"h-4 w-4"}),(0,s.jsxs)(w,{className:"text-xs",children:["Columns not in table schema (will be ignored):"," ",(0,s.jsx)("span",{className:"font-mono",children:I.join(", ")})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("p",{className:"text-xs text-muted-foreground mb-1",children:["Preview (first ",Math.min(5,x.length)," of ",x.length," rows)"]}),(0,s.jsx)("div",{className:"border rounded overflow-auto max-h-48",children:(0,s.jsxs)(F,{children:[(0,s.jsx)(z,{children:(0,s.jsx)(B,{children:O.map(e=>(0,s.jsx)(W,{className:"text-xs whitespace-nowrap py-1 px-2",children:e},e))})}),(0,s.jsx)(P,{children:L.map((e,t)=>(0,s.jsx)(B,{children:O.map(t=>(0,s.jsx)(Y,{className:"text-xs py-1 px-2 max-w-32 truncate",children:null===e[t]||void 0===e[t]?(0,s.jsx)("span",{className:"text-muted-foreground italic",children:"null"}):String(e[t])},t))},t))})]})})]})]})]}),(0,s.jsxs)(e3,{children:[(0,s.jsx)(U,{variant:"ghost",onClick:R,disabled:v,children:y?"Close":"Cancel"}),x&&!y&&(0,s.jsx)(U,{onClick:T,disabled:v||0===O.length,children:v?"Importing…":"Import ".concat(x.length," row").concat(1!==x.length?"s":"")})]})]})})}let ta=e=>{let{children:t,width:a,onResize:n,className:r=""}=e,o=(0,l.useRef)(null),i=(0,l.useCallback)(e=>{var t,s,l,r;e.preventDefault(),e.stopPropagation();let i=e.clientX,c=null!==(l=null===(t=o.current)||void 0===t?void 0:t.offsetWidth)&&void 0!==l?l:a||150,d=null===(s=o.current)||void 0===s?void 0:s.closest("table"),u=null!==(r=null==d?void 0:d.offsetWidth)&&void 0!==r?r:0;d&&(d.style.width="".concat(u,"px"));let m=c,x=e=>{let t=Math.max(c+(e.clientX-i),80),a=t-m;m=t,o.current&&(o.current.style.width="".concat(t,"px")),d&&0!==a&&(d.style.width="".concat(parseFloat(d.style.width)+a,"px"))},h=e=>{document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",h),document.body.style.cursor="",document.body.style.userSelect="";let t=Math.max(c+(e.clientX-i),80);d&&(d.style.width=""),n(t)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",x),document.addEventListener("mouseup",h)},[a,n]);return(0,s.jsxs)("th",{ref:o,className:"relative overflow-hidden ".concat(r),style:{width:"".concat(a,"px")},children:[t,(0,s.jsx)("div",{className:"absolute top-0 right-0 h-full w-1.5 cursor-col-resize hover:bg-blue-400/40 z-10",onMouseDown:i,onDoubleClick:e=>{e.preventDefault(),e.stopPropagation()}})]})};var ts=a(3998),tl=a(3303),tn=a(8729);function tr(e){let{column:t,sortConfig:a,onSort:l,children:n}=e,r=a[t];return(0,s.jsx)("div",{className:"flex items-center w-full",children:(0,s.jsxs)(U,{variant:"ghost",size:"sm",className:"h-8 hover:bg-neutral-100 w-full justify-between",onClick:()=>{l(t,r?"asc"===r?"desc":null:"asc")},children:[(0,s.jsx)("span",{className:"flex items-center gap-1 font-mono",children:n}),(0,s.jsxs)("span",{className:"shrink-0",children:["asc"===r&&(0,s.jsx)(ts.A,{className:"h-4 w-4"}),"desc"===r&&(0,s.jsx)(tl.A,{className:"h-4 w-4"}),!r&&(0,s.jsx)(tn.A,{className:"h-4 w-4"})]})]})})}function to(e){let{relatedTable:t,relatedKey:a,value:n,colSpan:r,onClose:o}=e,{executeQuery:i}=(0,_.t)(),[c,d]=(0,l.useState)(null),[u,m]=(0,l.useState)(!0),[h,f]=(0,l.useState)(!1);(0,l.useEffect)(()=>{if(!t||!a||null==n){m(!1),f(!0);return}let e=!1;m(!0),f(!1),d(null);let s=String(n).replace(/'/g,"''");return i('SELECT * FROM "'.concat(t,'" WHERE "').concat(a,"\" = '").concat(s,"' LIMIT 1")).then(t=>{var a,s;if(e)return;let l=(null==t?void 0:null===(s=t.results)||void 0===s?void 0:null===(a=s[0])||void 0===a?void 0:a.results)||[];l.length>0?d(l[0]):f(!0)}).catch(()=>{e||f(!0)}).finally(()=>{e||m(!1)}),()=>{e=!0}},[t,a,n,i]);let p=c?Object.keys(c):[];return(0,s.jsx)(B,{className:"bg-neutral-50 hover:bg-neutral-50",children:(0,s.jsx)(Y,{colSpan:r,className:"py-2 px-4 border-b border-neutral-200",children:(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-1.5 flex-1 min-w-0",children:[(0,s.jsx)("span",{className:"text-[11px] font-semibold px-2 py-0.5 self-start rounded-full bg-neutral-200 text-neutral-600 font-mono",children:t}),u&&(0,s.jsx)(x.A,{className:"h-3.5 w-3.5 animate-spin text-neutral-400"}),!u&&h&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground italic",children:"No related record found"}),!u&&c&&(0,s.jsx)("div",{className:"overflow-x-auto [&::-webkit-scrollbar]:hidden",style:{scrollbarWidth:"none"},children:(0,s.jsxs)("table",{className:"text-[11px] font-mono border border-neutral-200 rounded-md overflow-hidden",children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{className:"bg-neutral-100 border-b border-neutral-200",children:p.map(e=>(0,s.jsx)("th",{className:"px-3 py-1 text-left text-muted-foreground font-medium border-r border-neutral-200 last:border-r-0 whitespace-nowrap",children:e},e))})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{className:"bg-white",children:p.map(e=>(0,s.jsx)("td",{className:"px-3 py-1.5 border-r border-neutral-200 last:border-r-0 whitespace-nowrap max-w-[220px] truncate",children:null==c[e]?(0,s.jsx)("span",{className:"text-neutral-400 italic",children:"null"}):String(c[e])},e))})})]})})]}),(0,s.jsx)("button",{onClick:o,className:"shrink-0 rounded p-0.5 hover:bg-neutral-200 text-muted-foreground hover:text-neutral-700 transition-colors mt-0.5",title:"Close",children:(0,s.jsx)(q.A,{className:"h-3.5 w-3.5"})})]})})})}var ti=a(4683);let tc=[{value:"equals",label:"= equals"},{value:"not_equals",label:"≠ not equals"},{value:"contains",label:"~ contains"},{value:"starts_with",label:"^ starts with"},{value:"ends_with",label:"$ ends with"},{value:"gt",label:"> greater than"},{value:"gte",label:"≥ greater or equal"},{value:"lt",label:"< less than"},{value:"lte",label:"≤ less or equal"},{value:"is_null",label:"is null"},{value:"is_not_null",label:"is not null"}],td=new Set(["is_null","is_not_null"]),tu=1;function tm(e){let t=e.filter(e=>{var t;return!!(e.column&&e.operator&&(td.has(e.operator)||String(null!==(t=e.value)&&void 0!==t?t:"").trim()))}).map(e=>{let t='"'.concat(e.column,'"'),a=e=>String(e).replace(/'/g,"''");switch(e.operator){case"equals":return"".concat(t," LIKE '").concat(a(e.value),"'");case"not_equals":return"".concat(t," NOT LIKE '").concat(a(e.value),"'");case"contains":return"".concat(t," LIKE '%").concat(a(e.value),"%'");case"starts_with":return"".concat(t," LIKE '").concat(a(e.value),"%'");case"ends_with":return"".concat(t," LIKE '%").concat(a(e.value),"'");case"gt":return"".concat(t," > '").concat(a(e.value),"'");case"gte":return"".concat(t," >= '").concat(a(e.value),"'");case"lt":return"".concat(t," < '").concat(a(e.value),"'");case"lte":return"".concat(t," <= '").concat(a(e.value),"'");case"is_null":return"".concat(t," IS NULL");case"is_not_null":return"".concat(t," IS NOT NULL");default:return null}}).filter(Boolean);return 0===t.length?null:t.join(" AND ")}function tx(e){let{schema:t,filters:a,onFiltersChange:n,onOpenInSQL:r}=e,o=t.map(e=>e.name),i=(0,l.useCallback)(()=>{n([...a,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return{id:tu++,column:e,operator:"contains",value:""}}(o[0]||"")])},[a,n,o]),c=(0,l.useCallback)(e=>{n(a.filter(t=>t.id!==e))},[a,n]),d=(0,l.useCallback)((e,t)=>{n(a.map(a=>a.id===e?{...a,...t}:a))},[a,n]),u=(0,l.useCallback)(()=>{n([])},[n]);return(0,s.jsxs)("div",{className:"border-b bg-neutral-50 px-3 py-2 flex flex-col gap-1.5 font-sans",children:[0===a.length&&(0,s.jsx)("div",{className:"text-xs text-muted-foreground py-0.5",children:"No filters applied. Add a filter below."}),a.map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsxs)(eh,{value:e.column,onValueChange:t=>d(e.id,{column:t}),children:[(0,s.jsx)(ep,{className:"h-7 text-xs w-36 min-w-0",children:(0,s.jsx)(ef,{placeholder:"Column"})}),(0,s.jsx)(ev,{children:o.map(e=>(0,s.jsx)(ej,{value:e,className:"text-xs font-mono",children:e},e))})]}),(0,s.jsxs)(eh,{value:e.operator,onValueChange:t=>d(e.id,{operator:t}),children:[(0,s.jsx)(ep,{className:"h-7 text-xs w-36 min-w-0",children:(0,s.jsx)(ef,{})}),(0,s.jsx)(ev,{children:tc.map(e=>(0,s.jsx)(ej,{value:e.value,className:"text-xs",children:e.label},e.value))})]}),!td.has(e.operator)&&(0,s.jsx)(b,{className:"h-7 text-xs w-44 min-w-0 font-mono",placeholder:"value",value:e.value,onChange:t=>d(e.id,{value:t.target.value})}),(0,s.jsx)("button",{className:"shrink-0 rounded p-0.5 hover:bg-neutral-200 text-muted-foreground transition-colors",onClick:()=>c(e.id),title:"Remove filter",children:(0,s.jsx)(q.A,{className:"h-3.5 w-3.5"})})]},e.id)),(0,s.jsxs)("div",{className:"flex items-center gap-2 pt-0.5",children:[(0,s.jsxs)(U,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 gap-1",onClick:i,children:[(0,s.jsx)(ti.A,{className:"h-3 w-3"}),"Add filter"]}),a.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(U,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 gap-1",onClick:r,children:[(0,s.jsx)(h.A,{className:"h-3 w-3"}),"Open in SQL"]}),(0,s.jsx)(U,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 text-red-500 hover:text-red-600 hover:bg-red-50",onClick:u,children:"Clear filters"})]})]})]})}function th(e,t){try{let a=localStorage.getItem("table-columns-".concat(e));if(a){let e=JSON.parse(a).filter(e=>t.includes(e));if(e.length>0)return e}}catch(e){}return localStorage.setItem("table-columns-".concat(e),JSON.stringify(t)),t}function tf(e){let{tableName:t,onOpenInSQL:a}=e,{executeQuery:n,getCachedTable:r,updateTableCache:o,invalidateTable:c,switchTable:d,activeTable:u,updateTableData:m,setOperationStatus:h}=(0,_.t)(),{toast:f}=(0,eI.dj)(),[p,g]=(0,l.useState)(()=>[]),[b,v]=(0,l.useState)([]),[j,y]=(0,l.useState)(0),[C,S]=(0,l.useState)(!0),[k,R]=(0,l.useState)(!1),[E,T]=(0,l.useState)(null),[A,O]=(0,l.useState)(new Map),[I,U]=(0,l.useState)(new Set),[L,q]=(0,l.useState)([]),[H,K]=(0,l.useState)(1),[V,J]=(0,l.useState)(50),[Q,X]=(0,l.useState)(1),[G,Z]=(0,l.useState)(new Set),$=(0,l.useRef)(null),[ee,et]=(0,l.useState)(!1),[ea,es]=(0,l.useState)(!1),[en,er]=(0,l.useState)(null),[eo,ei]=(0,l.useState)(!1),[ec,ed]=(0,l.useState)(!1),[em,ex]=(0,l.useState)(null),[eh,ef]=(0,l.useState)({}),[ep,eg]=(0,l.useState)([]),[eb,ev]=(0,l.useState)(!1),[ej,eN]=(0,l.useState)(null),[ew,ey]=(0,l.useState)(0),[eC,eS]=(0,l.useState)({}),[ek,eR]=(0,l.useState)(null),eE=(0,l.useRef)(null),[eT,eA]=(0,l.useState)({}),[e_,eO]=(0,l.useState)([]),eU=eb&&null!==ej,eL=eU?ej:p,eM=eU?ew:j,eD=eU?Math.max(1,Math.ceil(ew/V)):Q,eF=b.filter(e=>e_.includes(e.name)),ez=eF.reduce((e,t)=>e+(eT[t.name]||150),40),eP=A.size>0||L.length>0;(0,l.useEffect)(()=>{if(t){let e=localStorage.getItem("table-widths-".concat(t));if(e)try{eA(JSON.parse(e))}catch(e){}}},[t]);let eB=(0,l.useCallback)(async e=>{try{var t,a;let s=await n('PRAGMA foreign_key_list("'.concat(e,'")')),l=(null==s?void 0:null===(a=s.results)||void 0===a?void 0:null===(t=a[0])||void 0===t?void 0:t.results)||[];if(l.length>0){let e={};l.forEach(t=>{e[t.from]={table:t.table,to:t.to}}),eS(e)}else eS({})}catch(e){eS({})}},[n]),eW=(0,l.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!t)return;let a=r(t,H,V);if(a&&!e){g(a.data),v(a.schema),y(a.meta.total),X(a.meta.totalPages);return}S(!0),T(null),Z(new Set);try{let a=await d(t,{page:H,limit:V,forceFetch:e});a.meta.page=H;let s=a.schema||[];return g(Array.isArray(a.data)?a.data:[]),v(s),y(a.meta.total),X(a.meta.totalPages),eO(th(t,s.map(e=>e.name))),eR(null),eB(t),!0}catch(e){throw console.error("Error loading table data:",e),T(e.message||String(e)),f({variant:"destructive",title:"Error",description:"Failed to load table: ".concat(e.message)}),e}finally{S(!1)}},[t,H,V,r,d,f,eB]),eY=(0,l.useCallback)(e=>{eO(a=>{let s=a.includes(e)?a.filter(t=>t!==e):[...a,e];return localStorage.setItem("table-columns-".concat(t),JSON.stringify(s)),s})},[t]),eq=(0,l.useCallback)((e,a)=>{eA(s=>{let l={...s,[e]:a};return localStorage.setItem("table-widths-".concat(t),JSON.stringify(l)),l})},[t]),eH=(0,l.useCallback)(async()=>{try{Z(new Set),c(t),await eW(!0),f({title:"Success",description:"Table data refreshed"})}catch(e){console.error("Refresh failed:",e),f({variant:"destructive",title:"Refresh Failed",description:e.message})}},[eW,c,t,f]),eK=(0,l.useCallback)((e,a)=>{ef(t=>({...t,[e]:a}));let s=a&&p.length?[...p].sort((t,s)=>{let l=t[e],n=s[e];if(null==l&&null==n)return 0;if(null==l)return 1;if(null==n)return -1;if("number"==typeof l&&"number"==typeof n)return"asc"===a?l-n:n-l;let r=String(l).toLowerCase(),o=String(n).toLowerCase();return"asc"===a?r.localeCompare(o):o.localeCompare(r)}):p;g(s);let l=r(t);l&&o(t,s,l.schema,{...l.meta,currentPage:H,limit:V},H,V)},[p,t,r,o]),eV=(0,l.useCallback)((e,t,a)=>{let s="".concat(e,"::").concat(t);O(e=>new Map(e).set(s,{value:a,originalValue:a})),U(t=>new Set(t).add(e))},[]),eX=(0,l.useCallback)((e,t,a)=>{var s,l;let n="".concat(e,"::").concat(t),r=p[e],o=null!==(l=null===(s=A.get(n))||void 0===s?void 0:s.originalValue)&&void 0!==l?l:r[t];if(a===o){let t=new Map(A);if(t.delete(n),O(t),!Array.from(t.keys()).some(t=>t.startsWith("".concat(e,"::")))){let t=new Set(I);t.delete(e),U(t)}}else O(e=>new Map(e).set(n,{value:a,originalValue:o})),U(t=>new Set(t).add(e))},[p,A,I]),eG=(0,l.useCallback)(()=>{q(e=>[...e,{}])},[]),e$=(0,l.useCallback)(e=>{q(t=>t.filter((t,a)=>a!==e))},[]),e0=(0,l.useCallback)((e,t)=>{q(a=>{let s=[...a];return s[e]=t,s})},[]),e1=async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];R(!0);try{if(L.length>0){let e=0,a=b.filter(e=>"datetime"===e.type.toLowerCase()).map(e=>e.name);for(let s of L){let l=Object.keys(s).filter(e=>{let t=s[e];if(null===t||""===t||"null"===t){let t=b.find(t=>t.name===e);return!!((null==t?void 0:t.dflt_value)&&(t.dflt_value.includes("datetime(")||t.dflt_value.includes("randomblob")||t.dflt_value.includes("lower(hex(")))}if((null==t?void 0:t.toString())==="[Auto-generated INT]"){let t=b.find(t=>t.name===e);if(t&&1===t.pk&&"INTEGER"===t.type.toUpperCase())return!1}return null==t||t.toString(),!0});if(a.forEach(e=>{l.includes(e)||l.push(e)}),0===l.length)continue;let r=e=>(null==e?void 0:e.dflt_value)&&"null"!==e.dflt_value&&null!==e.dflt_value,o=l.map(e=>{if(a.includes(e))return"CURRENT_TIMESTAMP";let t=s[e];if(null===t||""===t||"null"===t){let t=b.find(t=>t.name===e);return r(t)?t.dflt_value:"NULL"}let l=t.toString();if("[Auto-generated UUID]"===l){let t=b.find(t=>t.name===e);if(r(t))return t.dflt_value}if("[Auto-generated]"===l){let t=b.find(t=>t.name===e);return r(t)?t.dflt_value:"lower(hex(randomblob(8)))"}if("[Auto-generated INT]"===l){let t=b.find(t=>t.name===e);if(t&&1===t.pk&&"INTEGER"===t.type.toUpperCase())return null}return l.includes("randomblob")||l.includes("CURRENT_TIMESTAMP")||l.includes("lower(hex(")||l.includes("datetime(")||l.startsWith("(")&&l.endsWith(")")?l:"'".concat(l.replace(/'/g,"''"),"'")}),i="INSERT INTO ".concat(t," (").concat(l.join(", "),") VALUES (").concat(o.join(", "),");");await n(i),e++}if(e>0){let a=await m(t);g(a.data),y(a.meta.total),X(Math.ceil(a.meta.total/V)),h("success","Added ".concat(e," ").concat(1===e?"record":"records"," \xb7 ").concat(t)),f({title:"Success",description:"Added ".concat(e," ").concat(1===e?"record":"records")})}q([])}if(A.size>0&&(e||!em)){var a;let e=b.find(e=>1===e.pk),s=null==e?void 0:e.name;if(!s)throw Error("No primary key found in table schema");let l=(null==e?void 0:null===(a=e.type)||void 0===a?void 0:a.toUpperCase())==="INTEGER",r=new Map;A.forEach((e,t)=>{let a=t.indexOf("::"),l=t.substring(0,a),n=t.substring(a+2),o=p[l];r.has(o[s])||r.set(o[s],new Map),r.get(o[s]).set(n,e.value)});let o=0;for(let[e,a]of r){let r=Array.from(a.entries()).map(e=>{let[t,a]=e;return null===a||""===a||"null"===a?"".concat(t," = NULL"):"CURRENT_TIMESTAMP"===a?"".concat(t," = CURRENT_TIMESTAMP"):"".concat(t," = '").concat(a.toString().replace(/'/g,"''"),"'")}).join(", "),i=l?e:"'".concat(String(e).replace(/'/g,"''"),"'"),c="\n UPDATE ".concat(t,"\n SET ").concat(r,"\n WHERE ").concat(s," = ").concat(i,";\n ");await n(c),o++}if(o>0){let e=await m(t);g(e.data),y(e.meta.total),X(Math.ceil(e.meta.total/V)),h("success","Updated ".concat(o," ").concat(1===o?"record":"records"," \xb7 ").concat(t)),f({title:"Success",description:"Updated ".concat(o," ").concat(1===o?"record":"records")})}}O(new Map),U(new Set),ex(null)}catch(s){let e=el(s),a={...e,stderr:s.stderr,stdout:s.stdout};h("error",e.message||"Save failed","Error saving changes to ".concat(t)),ex(a),ed(!0)}finally{R(!1)}},e2=(0,l.useCallback)(async()=>{if(t){es(!0),er(null);try{var e;let a;let s=null===(e=b.find(e=>1===e.pk))||void 0===e?void 0:e.name;if(!s)throw Error("No primary key found in table schema");let l=Array.from(G).map(e=>p[e][s]);if(0===l.length)return;let r=e=>null==e||"null"===e,o=l.filter(r),i=l.filter(e=>!r(e)),c=i.map(e=>"string"==typeof e&&isNaN(e)?"'".concat(e.replace(/'/g,"''"),"'"):e);a=o.length>0&&i.length>0?"DELETE FROM ".concat(t," WHERE ").concat(s," IS NULL OR ").concat(s," IN (").concat(c.join(","),");"):o.length>0?"DELETE FROM ".concat(t," WHERE ").concat(s," IS NULL;"):"DELETE FROM ".concat(t," WHERE ").concat(s," IN (").concat(c.join(","),");"),await n(a);let d=new Set(l),u=p.filter(e=>!d.has(e[s]));g(u),y(e=>e-l.length),X(Math.ceil((j-l.length)/V)),H>1&&p.length===l.length&&K(e=>e-1),et(!1),Z(new Set),h("success","Deleted ".concat(l.length," ").concat(1===l.length?"record":"records"," \xb7 ").concat(t)),f({title:"Success",description:"Deleted ".concat(l.length," ").concat(1===l.length?"record":"records")})}catch(e){console.error("Delete operation failed:",e),h("error",e.message||"Delete failed","Error deleting from ".concat(t)),er(e.message||String(e))}finally{es(!1)}}},[t,G,p,b,n,m,eW,H,V,j,f,r,o,h]);(0,l.useEffect)(()=>{if(!t)return;O(new Map),U(new Set),q([]),T(null),Z(new Set),K(1);let e=r(t,1,V);e?(g(e.data),v(e.schema),y(e.meta.total),X(e.meta.totalPages),eO(th(t,e.schema.map(e=>e.name))),eR(null),eB(t)):eW(!1)},[t,V]),(0,l.useEffect)(()=>{if(u===t){let e=r(t);e&&(g(e.data),v(e.schema),y(e.meta.total),X(e.meta.totalPages))}},[u,t,r]),(0,l.useEffect)(()=>{if(t&&!C){var e;let a=r(t,H,V);a&&H===(null===(e=a.meta)||void 0===e?void 0:e.currentPage)||eW(!1)}},[t,H,V,C,eW,r]),(0,l.useEffect)(()=>{$.current&&($.current.indeterminate=G.size>0&&G.size<eL.length)},[G.size,eL.length]);let e5=(0,l.useCallback)(e=>{Z(e?new Set(eL.map((e,t)=>t)):new Set)},[eL]),e4=(0,l.useCallback)((e,t)=>{Z(a=>{let s=new Set(a);return t?s.add(e):s.delete(e),s})},[]);(0,l.useCallback)(e=>{eA(e),localStorage.setItem("table-widths-".concat(t),JSON.stringify(e))},[t]);let e3=(0,l.useCallback)(async e=>{let a=tm(e);if(!a){eN(null),ey(0);return}try{var s,l,r,o,i,c,d,u,m;let e=(null===(s=b.find(e=>1===e.pk))||void 0===s?void 0:s.name)||(null===(l=b[0])||void 0===l?void 0:l.name)||"rowid",x=await n('SELECT COUNT(*) as total FROM "'.concat(t,'" WHERE ').concat(a)),h=null!==(m=null==x?void 0:null===(c=x.results)||void 0===c?void 0:null===(i=c[0])||void 0===i?void 0:null===(o=i.results)||void 0===o?void 0:null===(r=o[0])||void 0===r?void 0:r.total)&&void 0!==m?m:0,f=await n('SELECT * FROM "'.concat(t,'" WHERE ').concat(a,' ORDER BY "').concat(e,'" DESC LIMIT ').concat(V," OFFSET ").concat((H-1)*V)),p=(null==f?void 0:null===(u=f.results)||void 0===u?void 0:null===(d=u[0])||void 0===d?void 0:d.results)||[];ey(h),eN(p)}catch(e){eN([]),ey(0)}},[t,b,n,V,H]);return((0,l.useEffect)(()=>(eE.current&&clearTimeout(eE.current),eb&&ep.length>0?ep.some(e=>{var t;return e.column&&e.operator&&(td.has(e.operator)||String(null!==(t=e.value)&&void 0!==t?t:"").trim())})&&(eE.current=setTimeout(()=>e3(ep),400)):(eN(null),ey(0)),()=>{eE.current&&clearTimeout(eE.current)}),[eb,ep,e3]),(0,l.useEffect)(()=>{eg([]),eN(null),ey(0)},[t]),E)?(0,s.jsx)("div",{className:"p-4",children:(0,s.jsxs)(N,{variant:"destructive",children:[(0,s.jsx)(i.A,{className:"h-4 w-4"}),(0,s.jsxs)(w,{children:["Failed to load table: ",E]})]})}):(0,s.jsxs)("div",{className:"h-full flex flex-col",children:[(0,s.jsx)(eJ,{selectedCount:G.size,totalRows:eM,currentPage:H,totalPages:eD,rowsPerPage:V,onPageChange:K,onRowsPerPageChange:J,onAdd:eG,onDelete:()=>et(!0),onImport:()=>ei(!0),onRefresh:eH,tableName:t,disabled:eP,editCount:A.size,newRecordsCount:L.length,isSaving:k,onSaveChanges:e1,onDiscardChanges:()=>{O(new Map),U(new Set),q([]),ex(null),f({description:"Changes discarded"})},schema:b,visibleColumns:e_,onColumnToggle:eY,showFilters:eb,onToggleFilters:()=>ev(e=>!e),activeFilterCount:ep.filter(e=>e.column&&e.operator).length}),eb&&(0,s.jsx)(tx,{schema:b,filters:ep,onFiltersChange:eg,onOpenInSQL:()=>{let e=tm(ep);if(e&&a){var s,l;let n=(null===(s=b.find(e=>1===e.pk))||void 0===s?void 0:s.name)||(null===(l=b[0])||void 0===l?void 0:l.name)||"rowid";a('SELECT * FROM "'.concat(t,'" WHERE ').concat(e,' ORDER BY "').concat(n,'" DESC LIMIT ').concat(V,";"))}}}),(0,s.jsx)("div",{className:"flex-1 overflow-hidden bg-background font-mono",children:(0,s.jsxs)(M,{className:"w-full h-full",children:[(0,s.jsx)("div",{className:"w-max min-w-full pb-4",children:(0,s.jsxs)(F,{style:{tableLayout:"fixed",width:"".concat(ez,"px")},children:[!C&&(0,s.jsx)(z,{className:"bg-neutral-100 sticky top-0 z-30",children:(0,s.jsxs)(B,{children:[(0,s.jsx)(W,{className:"p-0 border-r border-neutral-200",style:{width:"40px",minWidth:"40px"},children:(0,s.jsx)("div",{className:"py-0.5 px-3 flex items-center",children:(0,s.jsx)(eu,{ref:$,checked:G.size===eL.length&&eL.length>0,onCheckedChange:e5,disabled:eP})})}),eF.map(e=>{var t;return(0,s.jsx)(ta,{width:eT[e.name]||150,onResize:t=>eq(e.name,t),className:"py-0.5 whitespace-nowrap border-r border-neutral-200",children:(0,s.jsxs)(tr,{column:e.name,sortConfig:eh,onSort:eK,children:[(0,s.jsx)("span",{className:"text-xs font-bold text-foreground",children:e.name}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:null===(t=e.type)||void 0===t?void 0:t.toLowerCase()})]})},e.name)})]})}),(0,s.jsxs)(P,{children:[C&&(0,s.jsx)(B,{className:"hover:bg-transparent",children:(0,s.jsx)(Y,{colSpan:eF.length+1,className:"h-64",children:(0,s.jsx)("div",{className:"h-full w-full flex items-center justify-center",children:(0,s.jsx)(x.A,{className:"h-6 w-6 animate-spin text-primary"})})})}),!C&&(0,s.jsxs)(s.Fragment,{children:[L.map((e,t)=>(0,s.jsx)(eZ,{schema:eF,onRemove:()=>e$(t),onChange:e=>e0(t,e)},"new-".concat(t))),0===eL.length&&0===L.length?(0,s.jsx)(B,{className:"hover:bg-transparent",children:(0,s.jsx)(Y,{colSpan:eF.length+1,className:"h-64 text-center text-muted-foreground",children:eU?"No rows match the current filters":"Table is empty"})}):eL.map((e,t)=>(0,s.jsxs)(l.Fragment,{children:[(0,s.jsxs)(B,{className:G.has(t)?"bg-blue-50":"bg-white",children:[(0,s.jsx)(Y,{className:"p-0",children:(0,s.jsx)("div",{className:"px-3 py-2.5 flex items-center",children:(0,s.jsx)(eu,{checked:G.has(t),onCheckedChange:e=>e4(t,e),disabled:eP})})}),eF.map(a=>{let l="".concat(t,"::").concat(a.name),n=A.get(l);return(0,s.jsx)(eQ,{value:n?n.value:e[a.name],row:e,column:a.name,schema:b,onChange:e=>eX(t,a.name,e),onStartEdit:eU?void 0:e=>eV(t,a.name,e),isEditing:!eU&&A.has(l),style:{width:"".concat(eT[a.name]||150,"px")},fkInfo:eC[a.name],onShowRelation:eC[a.name]?()=>eR({rowIndex:t,relatedTable:eC[a.name].table,relatedKey:eC[a.name].to,value:e[a.name]}):void 0},a.name)})]}),(null==ek?void 0:ek.rowIndex)===t&&(0,s.jsx)(to,{relatedTable:ek.relatedTable,relatedKey:ek.relatedKey,value:ek.value,colSpan:eF.length+1,onClose:()=>eR(null)})]},t))]})]})]})}),(0,s.jsx)(D,{orientation:"horizontal"})]})}),(0,s.jsx)(e9,{isOpen:ee,onClose:()=>{et(!1),er(null)},onConfirm:e2,selectedCount:G.size,tableName:t,isDeleting:ea,error:en}),(0,s.jsx)(e7,{isOpen:ec,onClose:()=>ed(!1),error:em,onOpenInSQL:()=>{ed(!1)},onUpdateAnyway:async()=>{ed(!1),await e1(!0)},showSQLOption:(null==em?void 0:em.type)==="NULLABLE_PK"}),(0,s.jsx)(tt,{open:eo,onClose:()=>ei(!1),tableName:t,schema:b,onImportComplete:()=>{ei(!1),eH()}})]})}function tp(e){let{migration:t}=e;return t.orphaned?(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-amber-600",children:[(0,s.jsx)(i.A,{className:"h-3 w-3"})," Orphaned"]}):t.applied?(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-green-600",children:[(0,s.jsx)(te.A,{className:"h-3 w-3"})," Applied"]}):(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-amber-600",children:[(0,s.jsx)(p.A,{className:"h-3 w-3"})," Pending"]})}function tg(){let{currentDatabase:e,executeQuery:t,refreshTables:a}=(0,_.t)(),{toast:n}=(0,eI.dj)(),[r,o]=(0,l.useState)([]),[c,d]=(0,l.useState)(""),[u,m]=(0,l.useState)(!0),[h,f]=(0,l.useState)(!1),[p,g]=(0,l.useState)(null),b=(0,l.useCallback)(async()=>{m(!0),g(null);try{let t=null==e?void 0:e.database_name,a=t?"?db=".concat(encodeURIComponent(t)):"",s=await fetch("/api/migrations/list".concat(a)),l=await s.json();if(!s.ok||!l.success)throw Error(l.error||"Failed to load migrations");o(l.migrations),d(l.migrationsDir)}catch(e){g(e.message)}finally{m(!1)}},[e]);(0,l.useEffect)(()=>{b()},[b]);let v=r.filter(e=>!e.applied&&!e.orphaned),j=(0,l.useCallback)(async()=>{if(0===v.length)return;f(!0);let t=0;try{for(let a of v){await fetch("/api/migrations/list?file=".concat(encodeURIComponent(a.name)).concat((null==e?void 0:e.database_name)?"&db=".concat(encodeURIComponent(e.database_name)):""));let s=await fetch("/api/migrations/sync-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({migrationName:a.name,db:null==e?void 0:e.database_name})}),l=await s.json();if(!s.ok||!l.success)throw Error("Failed to apply ".concat(a.name,": ").concat(l.error||"Unknown error"));t++}n({title:"Migrations Applied",description:"".concat(t," migration").concat(1!==t?"s":""," applied successfully.")}),await a(),await b()}catch(e){n({variant:"destructive",title:"Apply Failed",description:e.message})}finally{f(!1)}},[v,e,n,a,b]);return(0,s.jsxs)("div",{className:"h-full flex flex-col",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between p-4 border-b",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-sm font-semibold",children:"Migrations"}),c&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 font-mono",children:c})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[v.length>0&&(0,s.jsx)(U,{size:"sm",onClick:j,disabled:h,className:"font-semibold",children:h?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x.A,{className:"h-4 w-4 animate-spin"})," Applying…"]}):"Apply ".concat(v.length," pending")}),(0,s.jsx)(U,{variant:"outline",size:"icon",className:"h-8",onClick:b,disabled:u,children:(0,s.jsx)(eA.A,{className:"h-4 w-4 ".concat(u?"animate-spin":"")})})]})]}),(0,s.jsxs)("div",{className:"flex-1 overflow-auto",children:[p&&(0,s.jsx)("div",{className:"p-4",children:(0,s.jsxs)(N,{variant:"destructive",children:[(0,s.jsx)(i.A,{className:"h-4 w-4"}),(0,s.jsx)(w,{children:p})]})}),!u&&!p&&0===r.length&&(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center h-64 text-muted-foreground gap-2",children:[(0,s.jsx)(eF.A,{className:"h-8 w-8"}),(0,s.jsx)("p",{className:"text-sm",children:"No migration files found"}),(0,s.jsx)("p",{className:"text-xs",children:"Migration files appear here when you run DDL statements in the SQL editor"})]}),!p&&r.length>0&&(0,s.jsxs)(F,{children:[(0,s.jsx)(z,{className:"bg-neutral-100 sticky top-0 z-10",children:(0,s.jsxs)(B,{children:[(0,s.jsx)(W,{className:"text-xs font-bold",children:"Migration file"}),(0,s.jsx)(W,{className:"text-xs font-bold w-28",children:"Status"}),(0,s.jsx)(W,{className:"text-xs font-bold w-44",children:"Applied at"}),(0,s.jsx)(W,{className:"text-xs font-bold w-20",children:"Checksum"})]})}),(0,s.jsx)(P,{children:r.map(e=>(0,s.jsxs)(B,{className:e.orphaned?"opacity-60":"",children:[(0,s.jsx)(Y,{className:"font-mono text-xs",children:e.name}),(0,s.jsx)(Y,{children:(0,s.jsx)(tp,{migration:e})}),(0,s.jsx)(Y,{className:"text-xs text-muted-foreground",children:e.applied_at?new Date(e.applied_at).toLocaleString():"—"}),(0,s.jsx)(Y,{className:"font-mono text-xs text-muted-foreground",children:e.checksum?e.checksum.slice(0,8):"—"})]},e.name))})]})]})]})}let tb=(0,a(7711).default)(()=>Promise.all([a.e(946),a.e(862),a.e(345),a.e(52)]).then(a.bind(a,4052)).then(e=>({default:e.SchemaERD})),{loadableGenerated:{webpack:()=>[4052]},ssr:!1,loading:()=>(0,s.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",background:"#0d1117",color:"#8b949e"},children:(0,s.jsx)("span",{style:{fontSize:14},children:"Loading…"})})});function tv(){let{currentDatabase:e}=(0,_.t)();return(0,s.jsx)(tb,{db:null==e?void 0:e.database_name})}let tj={bg:"#ffffff",bg2:"#f9f8f6",border:"#e8e5e0",border2:"#d4d0c8",text:"#1a1714",text2:"#5a5650",text3:"#9a9590",orange:"#d4581e",orangeBg:"#fff4ee",orangeBorder:"#fddcc8"},tN=["January","February","March","April","May","June","July","August","September","October","November","December"],tw={2:[3,7,10,14,16],1:[5,12,18,22]};function ty(e){return String(e).padStart(2,"0")}function tC(e){let{year:t,month:a,selDay:l,today:n,earliest:r,onSelect:o,onPrev:i,onNext:c}=e,d=new Date(t,a,1).getDay(),u=new Date(t,a+1,0).getDate(),m=tw[a]||[],x=n.getUTCFullYear(),h=n.getUTCMonth(),f=n.getUTCDate(),p=[];for(let e=0;e<d;e++)p.push((0,s.jsx)("div",{},"b".concat(e)));for(let e=1;e<=u;e++){let n=t>x||t===x&&a>h||t===x&&a===h&&e>f,i=new Date(t,a,e).getTime(),c=!!r&&i<new Date(r.getFullYear(),r.getMonth(),r.getDate()).getTime(),d=t===x&&a===h&&e===f,u=e===l,g=m.includes(e),b=n||c;p.push((0,s.jsxs)("div",{onClick:b?void 0:()=>o(e),style:{fontSize:11,textAlign:"center",padding:"4px 0",borderRadius:4,cursor:b?"default":"pointer",color:b?tj.border2:u?tj.bg:d?tj.text:tj.text2,background:u?tj.text:"transparent",fontWeight:d?600:void 0,pointerEvents:b?"none":void 0,position:"relative",userSelect:"none"},className:b||u?"":"hover:bg-[#f2f0ec]",children:[e,g&&!n&&(0,s.jsx)("span",{style:{position:"absolute",bottom:1,left:"50%",transform:"translateX(-50%)",width:3,height:3,borderRadius:"50%",background:u?tj.bg:tj.orange,display:"block"}})]},e))}return(0,s.jsxs)("div",{style:{padding:"14px 16px",borderBottom:"1px solid ".concat(tj.border)},children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:10},children:[(0,s.jsxs)("span",{style:{fontSize:13,fontWeight:500,color:tj.text},children:[tN[a]," ",t]}),(0,s.jsx)("div",{style:{display:"flex",gap:3},children:[["‹",i],["›",c]].map(e=>{let[t,a]=e;return(0,s.jsx)("button",{onClick:a,style:{width:24,height:24,border:"1px solid ".concat(tj.border),borderRadius:6,background:"transparent",cursor:"pointer",fontSize:14,color:tj.text2,display:"flex",alignItems:"center",justifyContent:"center",lineHeight:1},className:"hover:bg-[#f9f8f6]",children:t},t)})})]}),(0,s.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:1},children:[["Su","Mo","Tu","We","Th","Fr","Sa"].map(e=>(0,s.jsx)("div",{style:{fontSize:10,fontWeight:500,color:tj.text3,textAlign:"center",padding:"3px 0"},children:e},e)),p]})]})}function tS(e){let{kind:t,text:a}=e,l={a:{bg:"#f0fdf4",color:"#15803d",markBg:"#f0fdf4",markColor:"#16a34a",mark:"+"},r:{bg:"#fef2f2",color:"#b91c1c",markBg:"#fef2f2",markColor:"#dc2626",mark:"−"},c:{bg:"#f9fafb",color:tj.text3,markBg:"#f9fafb",markColor:tj.text3,mark:"~"}}[t];return(0,s.jsxs)("div",{style:{display:"flex",alignItems:"stretch",fontSize:11,fontFamily:"ui-monospace,SF Mono,monospace",borderRadius:5,overflow:"hidden",marginBottom:2},children:[(0,s.jsx)("div",{style:{width:22,minWidth:22,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:600,fontSize:12,background:l.markBg,color:l.markColor},children:l.mark}),(0,s.jsx)("div",{style:{flex:1,padding:"4px 8px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",background:l.bg,color:l.color},children:a})]})}function tk(e){let{type:t,children:a}=e;return(0,s.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:3,fontFamily:"ui-monospace,SF Mono,monospace",...{rm:{background:"#fef2f2",color:"#dc2626",border:"1px solid #fecaca"},add:{background:"#f0fdf4",color:"#16a34a",border:"1px solid #bbf7d0"},ch:{background:"#fffbeb",color:"#d97706",border:"1px solid #fde68a"}}[t]},children:a})}function tR(e){let{label:t,bookmark:a,onCancel:l,onConfirm:n}=e;return(0,s.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.2)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:30,borderRadius:12},children:(0,s.jsxs)("div",{style:{background:tj.bg,border:"1px solid ".concat(tj.border),borderRadius:12,padding:24,boxShadow:"0 8px 40px rgba(0,0,0,0.12)",width:340},children:[(0,s.jsx)("div",{style:{width:38,height:38,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",background:"#fef2f2",border:"1px solid #fecaca",marginBottom:14},children:(0,s.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",stroke:"#dc2626",strokeWidth:"1.5",children:[(0,s.jsx)("path",{d:"M9 2L2 15h14L9 2z"}),(0,s.jsx)("path",{d:"M9 7v4M9 12.5v.5"})]})}),(0,s.jsx)("div",{style:{fontSize:14,fontWeight:600,color:tj.text,marginBottom:5},children:"Restore database?"}),(0,s.jsx)("div",{style:{fontSize:12,color:tj.text2,lineHeight:1.6,marginBottom:10},children:"This will overwrite your remote D1 database in place. All in-flight queries and transactions will be cancelled."}),(0,s.jsxs)("div",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:12,padding:"8px 10px",background:tj.bg2,borderRadius:6,color:tj.text,marginBottom:10,lineHeight:1.7},children:[t,a&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("br",{}),(0,s.jsxs)("span",{style:{fontSize:10,color:tj.text3},children:["bookmark: ",a]})]})]}),(0,s.jsx)("div",{style:{fontSize:11,color:"#c2410c",background:tj.orangeBg,border:"1px solid ".concat(tj.orangeBorder),borderRadius:6,padding:"8px 10px",marginBottom:16,lineHeight:1.55},children:"⚠ A pre-restore bookmark will be saved automatically so you can undo this restore if needed."}),(0,s.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,s.jsx)("button",{onClick:l,style:{flex:1,padding:8,border:"1px solid ".concat(tj.border),borderRadius:7,background:"transparent",color:tj.text2,fontSize:12,cursor:"pointer",fontFamily:"system-ui,sans-serif"},className:"hover:text-[#1a1714]",children:"Cancel"}),(0,s.jsx)("button",{onClick:n,style:{flex:1,padding:8,background:"#dc2626",color:"white",border:"none",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",fontFamily:"system-ui,sans-serif"},className:"hover:bg-[#b91c1c]",children:"Yes, restore database"})]})]})})}function tE(e){let{label:t,undoBookmark:a,onDone:l}=e;return(0,s.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.2)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:30,borderRadius:12},children:(0,s.jsxs)("div",{style:{background:tj.bg,border:"1px solid ".concat(tj.border),borderRadius:12,padding:24,boxShadow:"0 8px 40px rgba(0,0,0,0.12)",width:320,textAlign:"center"},children:[(0,s.jsx)("div",{style:{width:38,height:38,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"#f0fdf4",border:"1px solid #bbf7d0",margin:"0 auto 14px"},children:(0,s.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none",stroke:"#16a34a",strokeWidth:"2",children:(0,s.jsx)("path",{d:"M4 10l4 4 8-8"})})}),(0,s.jsx)("div",{style:{fontSize:14,fontWeight:600,color:tj.text,marginBottom:5},children:"Database restored"}),(0,s.jsxs)("div",{style:{fontSize:12,color:tj.text2,lineHeight:1.6,marginBottom:10},children:["Database has been restored to ",t," successfully."]}),a&&(0,s.jsxs)("div",{style:{fontSize:11,color:tj.text2,background:tj.bg2,border:"1px solid ".concat(tj.border),borderRadius:6,padding:"7px 10px",marginBottom:14,fontFamily:"ui-monospace,SF Mono,monospace",textAlign:"left"},children:["undo bookmark: ",a,(0,s.jsx)("br",{}),(0,s.jsx)("span",{style:{fontSize:10,color:tj.text3},children:"Use this to revert if something looks wrong"})]}),(0,s.jsx)("button",{onClick:l,style:{width:"100%",padding:9,background:tj.text,color:tj.bg,border:"none",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",fontFamily:"system-ui,sans-serif"},children:"Done"})]})})}function tT(){let{currentDatabase:e}=(0,_.t)(),t=(null==e?void 0:e.database_name)||"database",a=new Date,[n,r]=(0,l.useState)(a.getUTCFullYear()),[o,i]=(0,l.useState)(a.getUTCMonth()),[c,d]=(0,l.useState)(a.getUTCDate()),[u,m]=(0,l.useState)("".concat(ty(a.getUTCHours()),":").concat(ty(a.getUTCMinutes()),":00")),[x,h]=(0,l.useState)(null),[f,p]=(0,l.useState)(null),[g,b]=(0,l.useState)(!0),[v,j]=(0,l.useState)(null),[N,w]=(0,l.useState)(null),y=new Date(a.getTime()-2592e6),C=N||y,[S,k]=(0,l.useState)(null),[R,E]=(0,l.useState)(!1),[T,A]=(0,l.useState)(null),[O,I]=(0,l.useState)(!1),[U,L]=(0,l.useState)(!1),[M,D]=(0,l.useState)(null),[F,z]=(0,l.useState)(!1),[P,B]=(0,l.useState)(null),W="".concat(tN[o].slice(0,3)," ").concat(ty(c),", ").concat(n," \xb7 ").concat(u||"00:00:00"," UTC"),Y="".concat(tN[o].slice(0,3)," ").concat(ty(c),", ").concat(n," at ").concat(u||"00:00:00"," UTC"),q=(0,l.useCallback)(()=>{i(e=>0===e?(r(e=>e-1),11):e-1),d(1),k(null)},[]),H=(0,l.useCallback)(()=>{let e=11===o?0:o+1,t=11===o?n+1:n;t>a.getUTCFullYear()||t===a.getUTCFullYear()&&e>a.getUTCMonth()||(i(e),r(t),d(1),k(null))},[o,n,a]),K=(0,l.useCallback)(e=>{d(e),h(null),k(null)},[]),V=(0,l.useCallback)((e,t,a,s,l)=>{r(t),i(a),d(s),m(l),h(e),k(null)},[]),J=(0,l.useCallback)(()=>{let e=new Date;r(e.getUTCFullYear()),i(e.getUTCMonth()),d(e.getUTCDate()),m("".concat(ty(e.getUTCHours()),":").concat(ty(e.getUTCMinutes()),":00")),h(null),k(null)},[]),Q=(0,l.useCallback)(async()=>{E(!0),A(null),k(null);try{let t=(null==e?void 0:e.database_name)?"?db=".concat(encodeURIComponent(e.database_name)):"",a=await fetch("/api/time-travel/preview".concat(t)),s=await a.json();if(!a.ok||!s.success)throw Error(s.error||"Failed to refresh remote state");p(s.currentBookmark),k({bookmark:s.currentBookmark})}catch(e){A(e.message)}finally{E(!1)}},[e]),X=(0,l.useCallback)(async()=>{I(!1),L(!0),D(null);try{var t;let a=new Date("".concat(n,"-").concat(ty(o+1),"-").concat(ty(c),"T").concat(u,"Z")).toISOString(),s=await fetch("/api/time-travel/restore",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:null==e?void 0:e.database_name,bookmark:null!==(t=null==S?void 0:S.bookmark)&&void 0!==t?t:null,timestamp:a})}),l=await s.json();if(!s.ok||!l.success)throw Error(l.error||"Restore failed");B(l.undoBookmark),z(!0)}catch(e){D(e.message)}finally{L(!1)}},[n,o,c,u,e,S]);(0,l.useEffect)(()=>{let t=!1;return k(null),A(null),async function(){b(!0),j(null);try{let a=(null==e?void 0:e.database_name)?"?db=".concat(encodeURIComponent(e.database_name)):"",s=await fetch("/api/time-travel/preview".concat(a)),l=await s.json();if(t)return;l.success?p(l.currentBookmark):j(l.error)}catch(e){t||j(e.message)}finally{t||b(!1)}}(),()=>{t=!0}},[null==e?void 0:e.database_name]);let G=new Date(a-18e5),Z=new Date(a);Z.setHours(12,0,0,0);let $=new Date(a-864e5);$.setHours(18,0,0,0);let ee=new Date(a-1728e5);ee.setHours(9,0,0,0);let et=new Date(a-6048e5);et.setHours(0,0,0,0);let ea=[{id:"q30",label:"30 minutes ago",time:"".concat(ty(G.getUTCHours()),":").concat(ty(G.getUTCMinutes())),date:G,y:G.getUTCFullYear(),m:G.getUTCMonth(),d:G.getUTCDate(),t:"".concat(ty(G.getUTCHours()),":").concat(ty(G.getUTCMinutes()),":00"),icon:"clock"},{id:"qtoday",label:"Earlier today",time:"12:00",date:Z,y:Z.getUTCFullYear(),m:Z.getUTCMonth(),d:Z.getUTCDate(),t:"12:00:00",icon:"clock"},{id:"qyest",label:"Yesterday evening",time:"".concat(tN[$.getUTCMonth()].slice(0,3)," ").concat($.getUTCDate()),date:$,y:$.getUTCFullYear(),m:$.getUTCMonth(),d:$.getUTCDate(),t:"18:00:00",icon:"clock"},{id:"qmig",label:"Before last migration",time:"".concat(tN[ee.getUTCMonth()].slice(0,3)," ").concat(ee.getUTCDate()),date:ee,y:ee.getUTCFullYear(),m:ee.getUTCMonth(),d:ee.getUTCDate(),t:"09:00:00",icon:"shield"},{id:"qweek",label:"1 week ago",time:"".concat(tN[et.getUTCMonth()].slice(0,3)," ").concat(et.getUTCDate()),date:et,y:et.getUTCFullYear(),m:et.getUTCMonth(),d:et.getUTCDate(),t:"00:00:00",icon:"clock"}];return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",position:"relative",overflow:"hidden",background:tj.bg},children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 18px",borderBottom:"1px solid ".concat(tj.border),flexShrink:0},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{fontSize:13,fontWeight:600,color:tj.text},children:"Time travel"}),(0,s.jsxs)("div",{style:{fontSize:11,color:tj.text3,marginTop:1},children:[t," \xb7 remote \xb7"," ",g?"loading available window…":v?"could not load window info":f?"latest snapshot: ".concat(f.slice(0,18),"…"):"restore to any point in the available window"]})]}),(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 11px",background:tj.orangeBg,border:"1px solid ".concat(tj.orangeBorder),borderRadius:20,fontSize:11,color:tj.orange,marginLeft:"auto",flexShrink:0},children:[(0,s.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,s.jsx)("path",{d:"M6.5 1L1 11h11z"}),(0,s.jsx)("path",{d:"M6.5 5v3M6.5 9.5v.5"})]}),"Restore overwrites remote DB in place"]})]}),(0,s.jsxs)("div",{style:{flex:1,display:"flex",overflow:"hidden"},children:[(0,s.jsxs)("div",{style:{width:290,minWidth:290,borderRight:"1px solid ".concat(tj.border),display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,s.jsx)(tC,{year:n,month:o,selDay:c,today:a,earliest:C,onSelect:K,onPrev:q,onNext:H}),(0,s.jsxs)("div",{style:{padding:"12px 16px",borderBottom:"1px solid ".concat(tj.border),flexShrink:0},children:[(0,s.jsx)("div",{style:{fontSize:11,fontWeight:500,color:tj.text3,marginBottom:7},children:"Time (UTC)"}),(0,s.jsxs)("div",{style:{display:"flex",gap:7,alignItems:"center"},children:[(0,s.jsx)("input",{value:u,onChange:e=>{m(e.target.value),k(null)},style:{flex:1,padding:"7px 10px",border:"1px solid ".concat(tj.border),borderRadius:6,fontFamily:"ui-monospace,SF Mono,monospace",fontSize:13,color:tj.text,background:tj.bg,outline:"none"},onFocus:e=>e.target.style.borderColor=tj.border2,onBlur:e=>e.target.style.borderColor=tj.border,placeholder:"HH:MM:SS"}),(0,s.jsx)("button",{onClick:J,style:{padding:"7px 11px",border:"1px solid ".concat(tj.border),borderRadius:6,fontSize:11,color:tj.text2,background:tj.bg2,cursor:"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap"},className:"hover:text-[#1a1714]",children:"Now"})]})]}),(0,s.jsxs)("div",{style:{padding:"10px 16px",flex:1,overflowY:"auto"},children:[(0,s.jsx)("div",{style:{fontSize:11,fontWeight:500,color:tj.text3,marginBottom:9},children:"Quick points"}),ea.map(e=>{let t=x===e.id,a=e.date<new Date(C.getFullYear(),C.getMonth(),C.getDate());return(0,s.jsxs)("button",{onClick:a?void 0:()=>V(e.id,e.y,e.m,e.d,e.t),disabled:a,title:a?"Outside available Time Travel window":void 0,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 10px",border:"1px solid ".concat(t?tj.text:tj.border),borderRadius:7,background:t?tj.bg2:tj.bg,cursor:a?"not-allowed":"pointer",fontFamily:"system-ui,sans-serif",fontSize:12,color:a?tj.border2:t?tj.text:tj.text2,marginBottom:5,textAlign:"left",transition:"border-color 0.1s",opacity:a?.5:1},className:a?"":"hover:border-[#d4d0c8] hover:text-[#1a1714]",children:["clock"===e.icon?(0,s.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.2",style:{opacity:t?.8:.4,flexShrink:0},children:[(0,s.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5"}),(0,s.jsx)("path",{d:"M6.5 3.5v3l2 1.5"})]}):(0,s.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.2",style:{opacity:t?.8:.4,flexShrink:0},children:(0,s.jsx)("path",{d:"M6.5 1L1 4v3c0 3 2.4 5.5 5.5 6.5 3.1-1 5.5-3.5 5.5-6.5V4z"})}),e.label,(0,s.jsx)("span",{style:{marginLeft:"auto",fontFamily:"ui-monospace,SF Mono,monospace",fontSize:10,color:tj.text3},children:e.time})]},e.id)})]})]}),(0,s.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"11px 16px",borderBottom:"1px solid ".concat(tj.border),flexShrink:0},children:[(0,s.jsxs)("span",{style:{fontSize:12,fontWeight:500,color:tj.text,flex:1},children:["Snapshot — ",Y]}),(null==S?void 0:S.bookmark)&&(0,s.jsx)("span",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:10,color:tj.text3,padding:"2px 7px",background:tj.bg2,border:"1px solid ".concat(tj.border),borderRadius:3},children:S.bookmark.length>22?S.bookmark.slice(0,20)+"…":S.bookmark})]}),(0,s.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"14px 16px"},children:[T&&(0,s.jsx)("div",{style:{fontSize:12,color:"#dc2626",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:7,padding:"10px 12px",marginBottom:12},children:T}),M&&(0,s.jsxs)("div",{style:{fontSize:12,color:"#dc2626",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:7,padding:"10px 12px",marginBottom:12},children:["Restore failed: ",M]}),R&&(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:tj.text3,padding:"20px 0"},children:[(0,s.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",style:{animation:"spin 1s linear infinite"},children:[(0,s.jsx)("circle",{cx:"7",cy:"7",r:"5",strokeOpacity:"0.3"}),(0,s.jsx)("path",{d:"M7 2a5 5 0 0 1 5 5"})]}),"Loading snapshot info…",(0,s.jsx)("style",{children:"@keyframes spin { to { transform: rotate(360deg); } }"})]}),!R&&!S&&!T&&(0,s.jsxs)("div",{style:{padding:"20px 0",color:tj.text3,fontSize:12},children:[f&&(0,s.jsxs)("div",{style:{background:tj.bg2,border:"1px solid ".concat(tj.border),borderRadius:8,padding:"12px 14px",marginBottom:14},children:[(0,s.jsx)("div",{style:{fontSize:11,fontWeight:500,color:tj.text3,marginBottom:6},children:"Current snapshot (latest)"}),(0,s.jsx)("div",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:11,color:tj.text,wordBreak:"break-all"},children:f})]}),(0,s.jsxs)("div",{style:{textAlign:"center",paddingTop:f?4:24},children:[(0,s.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1",style:{margin:"0 auto 10px",display:"block",opacity:.3},children:[(0,s.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5"}),(0,s.jsx)("path",{d:"M6.5 3.5v3l2 1.5"})]}),"Select a date & time, then click ",(0,s.jsx)("strong",{children:"Refresh preview"})," to load snapshot info."]})]}),!R&&S&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{style:{marginBottom:18},children:[(0,s.jsxs)("div",{style:{fontSize:11,fontWeight:600,color:tj.text,marginBottom:7,display:"flex",alignItems:"center",gap:6},children:["Remote state",(0,s.jsx)(tk,{type:"add",children:"refreshed"})]}),(0,s.jsx)(tS,{kind:"c",text:"Restore target: ".concat(Y)}),S.bookmark?(0,s.jsx)(tS,{kind:"a",text:"current bookmark: ".concat(S.bookmark)}):(0,s.jsx)(tS,{kind:"c",text:"current bookmark: (not returned by wrangler)"}),(0,s.jsx)(tS,{kind:"c",text:"Restore will roll back all changes made after the selected time"})]}),(0,s.jsx)("div",{style:{fontSize:11,color:tj.text3,background:tj.bg2,border:"1px solid ".concat(tj.border),borderRadius:7,padding:"10px 12px",lineHeight:1.6},children:"Cloudflare Time Travel does not provide a row-level diff before restore. After confirming, the database will be rolled back atomically to the selected point in time. An undo bookmark will be shown after restore."})]})]}),(0,s.jsxs)("div",{style:{padding:"12px 16px",borderTop:"1px solid ".concat(tj.border),display:"flex",alignItems:"center",gap:10,background:tj.bg,flexShrink:0},children:[(0,s.jsxs)("div",{style:{flex:1},children:[(0,s.jsxs)("div",{style:{fontSize:12,fontWeight:500,color:tj.text},children:["Restore to ",W]}),(null==S?void 0:S.bookmark)&&(0,s.jsxs)("div",{style:{fontSize:11,color:tj.text3,fontFamily:"ui-monospace,SF Mono,monospace",marginTop:1},children:["bookmark: ",S.bookmark]})]}),(0,s.jsxs)("button",{onClick:Q,disabled:R,style:{display:"flex",alignItems:"center",gap:5,padding:"8px 14px",borderRadius:7,border:"1px solid ".concat(tj.border),background:tj.bg,color:tj.text,fontSize:12,fontWeight:500,cursor:R?"default":"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap",opacity:R?.6:1},className:"hover:bg-[#f9f8f6]",children:[(0,s.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,s.jsx)("path",{d:"M1 6A5 5 0 0 1 10 3M11 6A5 5 0 0 1 2 9"}),(0,s.jsx)("path",{d:"M9 1.5v2h2M1 8.5v2h2"})]}),"Refresh preview"]}),(0,s.jsxs)("button",{onClick:()=>I(!0),disabled:U,style:{display:"flex",alignItems:"center",gap:5,padding:"8px 14px",borderRadius:7,border:"none",background:U?"#f87171":"#dc2626",color:"white",fontSize:12,fontWeight:500,cursor:U?"default":"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap"},className:"hover:bg-[#b91c1c]",children:[(0,s.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,s.jsx)("path",{d:"M1 6A5 5 0 0 1 10 3M11 6A5 5 0 0 1 2 9"}),(0,s.jsx)("path",{d:"M9 1.5v2h2M1 8.5v2h2"})]}),U?"Restoring…":"Restore database"]})]})]})]}),O&&(0,s.jsx)(tR,{label:W,bookmark:null==S?void 0:S.bookmark,onCancel:()=>I(!1),onConfirm:X}),F&&(0,s.jsx)(tE,{label:W,undoBookmark:P,onDone:()=>{z(!1),k(null)}})]})}function tA(e){let{open:t,onClose:a,onSubmit:n}=e,[r,o]=(0,l.useState)(""),[i,c]=(0,l.useState)(""),[d,u]=(0,l.useState)(""),[m,h]=(0,l.useState)(!1),f=async e=>{e.preventDefault(),u(""),h(!0);try{await n({accountId:r,apiToken:i}),localStorage.setItem("cf_credentials",JSON.stringify({accountId:r,apiToken:i})),a()}catch(e){u(e.message)}finally{h(!1)}};return(0,s.jsx)(e0,{open:t,onOpenChange:a,children:(0,s.jsxs)(e5,{className:"sm:max-w-md",children:[(0,s.jsxs)(e4,{children:[(0,s.jsx)(e6,{children:"Connect to Cloudflare"}),(0,s.jsx)(e8,{children:"Enter your Cloudflare credentials to push your database to production."})]}),(0,s.jsxs)("form",{onSubmit:f,className:"space-y-4 mt-4",children:[d&&(0,s.jsx)(N,{variant:"destructive",children:(0,s.jsx)(w,{children:d})}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium",children:"Account ID"}),(0,s.jsx)(b,{placeholder:"Your Cloudflare Account ID",value:r,onChange:e=>o(e.target.value),required:!0})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium",children:"API Token"}),(0,s.jsx)(b,{type:"password",placeholder:"Your D1 Database API Token",value:i,onChange:e=>c(e.target.value),required:!0})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,s.jsx)(U,{type:"button",variant:"outline",onClick:a,children:"Cancel"}),(0,s.jsxs)(U,{type:"submit",disabled:m,children:[m&&(0,s.jsx)(x.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Connect"]})]})]})]})})}function t_(){let{refreshTables:e}=(0,_.t)(),[t,a]=(0,l.useState)(!1),[n,r]=(0,l.useState)(null),[o,c]=(0,l.useState)(null),{isConnecting:d,isPushing:u,showPreview:m,connectToCloudflare:h,pushToRemote:f,pullToRemotePreview:p,validateStoredCredentials:g,PreviewUI:b}=V(),v=async()=>{c(null),r("push");try{if(!await g()){a(!0);return}await f(),c({type:"success",message:"Push to remote initiated. Check the preview for details."})}catch(e){c({type:"error",message:e.message})}},j=async()=>{c(null),r("pull");try{if(!await g()){a(!0);return}await p()}catch(e){c({type:"error",message:e.message})}},y=d||u;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"h-full flex flex-col",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 p-4 border-b",children:[(0,s.jsx)(eA.A,{className:"h-4 w-4"}),(0,s.jsx)("h2",{className:"text-sm font-semibold",children:"Remote Sync"})]}),(0,s.jsx)("div",{className:"flex-1 overflow-auto p-6",children:(0,s.jsxs)("div",{className:"max-w-lg flex flex-col gap-6",children:[(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Sync your local D1 database with Cloudflare. Pushing uploads your local data to production; pulling downloads the remote state to your local environment."}),o&&(0,s.jsxs)(N,{variant:"error"===o.type?"destructive":"default",children:["error"===o.type?(0,s.jsx)(i.A,{className:"h-4 w-4"}):(0,s.jsx)(te.A,{className:"h-4 w-4"}),(0,s.jsx)(w,{children:o.message})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{className:"border rounded-md p-4 bg-white flex flex-col gap-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(ew.A,{className:"h-4 w-4 text-neutral-600"}),(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Push to remote"})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Upload local database state to your Cloudflare D1 database."}),(0,s.jsx)(U,{size:"sm",onClick:v,disabled:y,className:"w-full",children:u&&"push"===n?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x.A,{className:"h-4 w-4 animate-spin mr-2"})," Pushing…"]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(ew.A,{className:"h-4 w-4 mr-2"})," Push"]})})]}),(0,s.jsxs)("div",{className:"border rounded-md p-4 bg-white flex flex-col gap-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(eL.A,{className:"h-4 w-4 text-neutral-600"}),(0,s.jsx)("span",{className:"text-sm font-semibold",children:"Pull from remote"})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Download Cloudflare D1 data into your local environment."}),(0,s.jsx)(U,{size:"sm",variant:"outline",onClick:j,disabled:y,className:"w-full",children:d&&"pull"===n?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x.A,{className:"h-4 w-4 animate-spin mr-2"})," Pulling…"]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eL.A,{className:"h-4 w-4 mr-2"})," Pull"]})})]})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Cloudflare API credentials are required. You'll be prompted to enter them if not already saved."})]})})]}),(0,s.jsx)(tA,{open:t,onClose:()=>a(!1),onSubmit:h}),b]})}let tO={loading:"text-blue-500 border-blue-500/40 bg-blue-500/5",success:"text-green-600 border-green-500/40 bg-green-500/5",error:"text-red-500 border-red-500/40 bg-red-500/5",info:"text-muted-foreground border-border bg-transparent"},tI={loading:null,success:"✓",error:"✗",info:"─"};function tU(){var e,t,a,n,r;let{lastStatus:o}=(0,_.t)(),i=function(e){let[t,a]=(0,l.useState)("");return(0,l.useEffect)(()=>{if(!e){a("");return}let t=()=>{let t=Math.floor((Date.now()-e.getTime())/1e3);t<5?a("just now"):t<60?a("".concat(t,"s ago")):t<3600?a("".concat(Math.floor(t/60),"m ago")):a(e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}))};t();let s=setInterval(t,5e3);return()=>clearInterval(s)},[e]),t}(null!==(e=null==o?void 0:o.ts)&&void 0!==e?e:null),c=null!==(t=null==o?void 0:o.type)&&void 0!==t?t:"info",d=null!==(a=null==o?void 0:o.message)&&void 0!==a?a:"Ready",u=null!==(n=null==o?void 0:o.detail)&&void 0!==n?n:null,m=null!==(r=tO[c])&&void 0!==r?r:tO.info,h=tI[c];return(0,s.jsxs)("div",{className:"flex items-center justify-between h-8 px-4 border-t font-mono text-xs select-none shrink-0 ".concat(m),role:"status","aria-live":"polite",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,s.jsx)("span",{className:"shrink-0 w-4 flex items-center justify-center",children:"loading"===c?(0,s.jsx)(x.A,{className:"h-3 w-3 animate-spin"}):(0,s.jsx)("span",{children:h})}),(0,s.jsx)("span",{className:"truncate",children:d}),u&&(0,s.jsxs)("span",{className:"text-muted-foreground truncate hidden sm:inline",children:["\xb7 ",u]})]}),i&&(0,s.jsx)("span",{className:"text-muted-foreground shrink-0 pl-4",children:i})]})}function tL(){let[e,t]=(0,l.useState)("sql-editor"),[a,n]=(0,l.useState)(null),[r,o]=(0,l.useState)("");return(0,s.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,s.jsx)(Q,{className:"w-64 border-r flex-shrink-0",currentView:e,onNavigate:t,onTableSelect:e=>{n(e),t("table-view")}}),(0,s.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,s.jsxs)("main",{className:"flex-1 overflow-hidden",children:["sql-editor"===e&&(0,s.jsx)(ec,{initialQuery:r}),"schema"===e&&(0,s.jsx)(tv,{}),"migrations"===e&&(0,s.jsx)(tg,{}),"time-travel"===e&&(0,s.jsx)(tT,{}),"remote-sync"===e&&(0,s.jsx)(t_,{}),"table-view"===e&&a&&(0,s.jsx)(tf,{tableName:a,onOpenInSQL:e=>{o(e),t("sql-editor")}})]}),(0,s.jsx)(tU,{})]})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[692,803,480,441,517,358],()=>t(4576)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (()=>{"use strict";var e={},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}},i=!0;try{e[n](a,a.exports,r),i=!1}finally{i&&delete t[n]}return a.exports}r.m=e,(()=>{var e=[];r.O=(t,n,o,a)=>{if(n){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[n,o,a];return}for(var l=1/0,i=0;i<e.length;i++){for(var[n,o,a]=e[i],u=!0,s=0;s<n.length;s++)(!1&a||l>=a)&&Object.keys(r.O).every(e=>r.O[e](n[s]))?n.splice(s--,1):(u=!1,a<l&&(l=a));if(u){e.splice(i--,1);var d=o();void 0!==d&&(t=d)}}return t}})(),r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(n,o){if(1&o&&(n=this(n)),8&o||"object"==typeof n&&n&&(4&o&&n.__esModule||16&o&&"function"==typeof n.then))return n;var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var l=2&o&&n;"object"==typeof l&&!~e.indexOf(l);l=t(l))Object.getOwnPropertyNames(l).forEach(e=>i[e]=()=>n[e]);return i.default=()=>n,r.d(a,i),a}})(),r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>"static/chunks/"+(862===e?"1a258343":e)+"."+({52:"2cdc9bdb75e1fc2e",345:"8fc37569d5708622",862:"3b3e7ba5ba0bd0d2"})[e]+".js",r.miniCssF=e=>"static/css/32df9a4d493f8b0f.css",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(n,o,a,i)=>{if(e[n]){e[n].push(o);return}if(void 0!==a)for(var l,u,s=document.getElementsByTagName("script"),d=0;d<s.length;d++){var c=s[d];if(c.getAttribute("src")==n||c.getAttribute("data-webpack")==t+a){l=c;break}}l||(u=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,r.nc&&l.setAttribute("nonce",r.nc),l.setAttribute("data-webpack",t+a),l.src=r.tu(n)),e[n]=[o];var f=(t,r)=>{l.onerror=l.onload=null,clearTimeout(p);var o=e[n];if(delete e[n],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach(e=>e(r)),t)return t(r)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=f.bind(null,l.onerror),l.onload=f.bind(null,l.onload),u&&document.head.appendChild(l)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e=(e,t,r,n)=>{var o=document.createElement("link");return o.rel="stylesheet",o.type="text/css",o.onerror=o.onload=a=>{if(o.onerror=o.onload=null,"load"===a.type)r();else{var i=a&&("load"===a.type?"missing":a.type),l=a&&a.target&&a.target.href||t,u=Error("Loading CSS chunk "+e+" failed.\n("+l+")");u.code="CSS_CHUNK_LOAD_FAILED",u.type=i,u.request=l,o.parentNode.removeChild(o),n(u)}},o.href=t,function(e){if("function"==typeof _N_E_STYLE_LOAD){let{href:t,onload:r,onerror:n}=e;_N_E_STYLE_LOAD(new URL(t).pathname).then(()=>null==r?void 0:r.call(e,{type:"load"}),()=>null==n?void 0:n.call(e,{}))}else document.head.appendChild(e)}(o),o},t=(e,t)=>{for(var r=document.getElementsByTagName("link"),n=0;n<r.length;n++){var o=r[n],a=o.getAttribute("data-href")||o.getAttribute("href");if("stylesheet"===o.rel&&(a===e||a===t))return o}for(var i=document.getElementsByTagName("style"),n=0;n<i.length;n++){var o=i[n],a=o.getAttribute("data-href");if(a===e||a===t)return o}},n=n=>new Promise((o,a)=>{var i=r.miniCssF(n),l=r.p+i;if(t(i,l))return o();e(n,l,o,a)}),o={68:0};r.f.miniCss=(e,t)=>{o[e]?t.push(o[e]):0!==o[e]&&({946:1})[e]&&t.push(o[e]=n(e).then(()=>{o[e]=0},t=>{throw delete o[e],t}))}})(),(()=>{var e={68:0,280:0};r.f.j=(t,n)=>{var o=r.o(e,t)?e[t]:void 0;if(0!==o){if(o)n.push(o[2]);else if(/^(280|68|946)$/.test(t))e[t]=0;else{var a=new Promise((r,n)=>o=e[t]=[r,n]);n.push(o[2]=a);var i=r.p+r.u(t),l=Error();r.l(i,n=>{if(r.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var a=n&&("load"===n.type?"missing":n.type),i=n&&n.target&&n.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",l.name="ChunkLoadError",l.type=a,l.request=i,o[1](l)}},"chunk-"+t,t)}}},r.O.j=t=>0===e[t];var t=(t,n)=>{var o,a,[i,l,u]=n,s=0;if(i.some(t=>0!==e[t])){for(o in l)r.o(l,o)&&(r.m[o]=l[o]);if(u)var d=u(r)}for(t&&t(n);s<i.length;s++)a=i[s],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(d)},n=self.webpackChunk_N_E=self.webpackChunk_N_E||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),r.nc=void 0})();
@@ -0,0 +1,3 @@
1
+ @font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4cf2300e9c8272f7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_188709{font-family:Geist,Geist Fallback;font-style:normal}.__variable_188709{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
2
+ ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
3
+ */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:240 5.9% 90%;--input:240 5.9% 90%;--ring:240 10% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius:0.5rem;--sidebar-background:0 0% 98%;--sidebar-foreground:240 5.3% 26.1%;--sidebar-primary:240 5.9% 10%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:240 4.8% 95.9%;--sidebar-accent-foreground:240 5.9% 10%;--sidebar-border:220 13% 91%;--sidebar-ring:217.2 91.2% 59.8%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-0\.5{right:.125rem}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2\.5{top:.625rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.top-\[var\(--banner-height\2c 0px\)\]{top:var(--banner-height,0)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[100\]{z-index:100}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem}.mb-1,.my-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-0\.5{margin-left:.125rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.size-4{width:1rem;height:1rem}.h-0\.5{height:.125rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[16px\]{height:16px}.h-\[1px\]{height:1px}.h-\[480px\]{height:480px}.h-\[calc\(100vh-var\(--banner-height\2c 0px\)\)\]{height:calc(100vh - var(--banner-height,0px))}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-48{max-height:12rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[85vh\]{max-height:85vh}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-svh{min-height:100svh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-36{width:9rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[16px\]{width:16px}.w-\[1px\]{width:1px}.w-\[600px\]{width:600px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.min-w-0{min-width:0}.min-w-5{min-width:1.25rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.max-w-32{max-width:8rem}.max-w-3xl{max-width:48rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-\[220px\]{max-width:220px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-px{--tw-translate-x:1px}.translate-x-px,.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.touch-none{touch-action:none}.select-none{user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-1{column-gap:.25rem}.gap-x-1\.5{column-gap:.375rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-x{border-left-width:1px;border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-500\/40{border-color:rgba(59,130,246,.4)}.border-border{border-color:hsl(var(--border))}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive)/.5)}.border-green-500\/40{border-color:rgba(34,197,94,.4)}.border-input{border-color:hsl(var(--input))}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.border-primary{border-color:hsl(var(--primary))}.border-red-500\/40{border-color:rgba(239,68,68,.4)}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#F0F0F0\]{--tw-bg-opacity:1;background-color:rgb(240 240 240/var(--tw-bg-opacity,1))}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500\/5{background-color:rgba(59,130,246,.05)}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.bg-destructive\/15{background-color:hsl(var(--destructive)/.15)}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-500\/5{background-color:rgba(34,197,94,.05)}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-50\/50{background-color:rgba(255,247,237,.5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-500\/5{background-color:rgba(239,68,68,.05)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.fill-current{fill:currentColor}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-destructive-foreground\/80{color:hsl(var(--destructive-foreground)/.8)}.text-destructive-foreground\/90{color:hsl(var(--destructive-foreground)/.9)}.text-destructive\/80{color:hsl(var(--destructive)/.8)}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground)/.5)}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-900{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground)/.7)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-none,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\2c right\2c width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\2c opa\]{transition-property:margin,opa;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\2c height\2c padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}body{font-family:Arial,Helvetica,sans-serif}.table-fixed{table-layout:fixed;width:100%}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.last\:border-0:last-child{border-width:0}.last\:border-r-0:last-child{border-right-width:0}.hover\:border-\[\#d4d0c8\]:hover{--tw-border-opacity:1;border-color:rgb(212 208 200/var(--tw-border-opacity,1))}.hover\:bg-\[\#F2F2F2\]:hover{--tw-bg-opacity:1;background-color:rgb(242 242 242/var(--tw-bg-opacity,1))}.hover\:bg-\[\#b91c1c\]:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-\[\#f2f0ec\]:hover{--tw-bg-opacity:1;background-color:rgb(242 240 236/var(--tw-bg-opacity,1))}.hover\:bg-\[\#f9f8f6\]:hover{--tw-bg-opacity:1;background-color:rgb(249 248 246/var(--tw-bg-opacity,1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-blue-400\/40:hover{background-color:rgba(96,165,250,.4)}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive)/.1)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.hover\:bg-neutral-200:hover{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.hover\:bg-neutral-300:hover{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.hover\:bg-neutral-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:bg-transparent:hover{background-color:transparent}.hover\:text-\[\#1a1714\]:hover{--tw-text-opacity:1;color:rgb(26 23 20/var(--tw-text-opacity,1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-foreground\/80:hover{color:hsl(var(--foreground)/.8)}.hover\:text-neutral-700:hover{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.hover\:text-neutral-900:hover{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.hover\:text-orange-800:hover{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted)/.4)}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive)/.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel],.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:0.8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0,.group[data-side=right] .group-data-\[side\=right\]\:rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180{--tw-rotate:180deg}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:max-w-\[420px\]{max-width:420px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
@@ -0,0 +1,31 @@
1
+ .react-flow{direction:ltr;--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:hsla(0,0%,100%,.5);--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:hsla(0,0%,94%,.6);--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:hsla(0,0%,94%,.25);--xy-node-boxshadow-hover-default:0 1px 4px 1px rgba(0,0,0,.08);--xy-node-boxshadow-selected-default:0 0 0 0.5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:rgba(0,89,220,.08);--xy-selection-border-default:1px dotted rgba(0,89,220,.8);--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px rgba(0,0,0,.08);--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:hsla(0,0%,59%,.25);--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:rgba(60,60,60,.6);--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:hsla(0,0%,94%,.25);--xy-node-boxshadow-hover-default:0 1px 4px 1px hsla(0,0%,100%,.08);--xy-node-boxshadow-selected-default:0 0 0 0.5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:rgba(200,200,220,.08);--xy-selection-border-default:1px dotted rgba(200,200,220,.8);--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px rgba(0,0,0,.08);--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-15px) translateX(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{position:absolute;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__minimap{background:var(
2
+ --xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default))
3
+ )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(
4
+ --xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default))
5
+ );stroke:var(
6
+ --xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default))
7
+ );stroke-width:var(
8
+ --xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default))
9
+ )}.react-flow__minimap-node{fill:var(
10
+ --xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default))
11
+ );stroke:var(
12
+ --xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default))
13
+ );stroke-width:var(
14
+ --xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default))
15
+ )}.react-flow__background-pattern.dots{fill:var(
16
+ --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default))
17
+ )}.react-flow__background-pattern.lines{stroke:var(
18
+ --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default))
19
+ )}.react-flow__background-pattern.cross{stroke:var(
20
+ --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default))
21
+ )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border-bottom:1px solid var(
22
+ --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
23
+ );color:var(
24
+ --xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default))
25
+ );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{padding:10px;border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default))}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(
26
+ --xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default))
27
+ );color:var(
28
+ --xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default))
29
+ )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(
30
+ --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
31
+ )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:19,errorRate:1e-4,numBits:365,numHashes:14,bitArray:[1,1,0,1,0,e,0,e,r,r,e,e,r,r,e,e,e,r,e,r,r,e,r,r,e,r,e,e,e,e,e,e,e,e,r,e,r,r,r,r,e,r,e,e,r,r,e,r,e,r,e,r,e,e,e,r,r,e,r,e,r,r,r,e,e,e,e,e,r,e,r,r,e,r,r,r,e,e,r,e,e,r,e,e,r,r,e,r,r,e,e,r,e,e,r,r,e,e,r,e,r,r,e,e,e,r,e,r,e,e,e,e,r,r,r,e,e,e,r,r,r,r,e,e,r,r,r,e,r,e,r,r,r,r,r,e,e,e,r,r,e,r,e,r,e,e,r,e,e,e,r,e,e,e,r,r,r,r,r,r,r,e,r,e,e,e,r,e,r,r,r,r,r,e,e,e,r,r,e,r,e,e,r,r,e,e,r,r,e,e,r,e,e,e,e,r,r,r,e,e,e,r,r,r,e,e,e,r,e,e,r,e,e,e,r,e,r,e,e,e,e,r,e,e,r,e,r,e,e,r,r,r,e,e,r,e,e,e,r,e,r,r,r,e,r,r,r,r,e,r,r,r,r,r,r,e,r,r,r,e,e,e,r,r,r,r,e,e,r,r,e,r,e,r,e,e,e,r,e,e,e,r,e,e,e,e,e,r,r,r,e,e,e,r,r,e,e,r,e,r,e,e,e,e,e,e,r,e,e,r,e,r,r,e,e,e,r,e,e,r,e,e,r,e,e,e,r,e,e,r,e,e,e,r,r,r,e,e,e,e,r,r,r,r,e,e,r,r,r,e,r,r,r,e,e,e,e,r,e,r,r,e,r,r,r]},__routerFilterDynamic:{numItems:e,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[e,r,r,e,r,e,e,r,e,e,e,r,r,r,r,e,e,e,e,e]},"/_error":["static/chunks/pages/_error-9b7125ad1a1e68fa.js"],sortedPages:["/_app","/_error"]}}(1,0,0,0),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -0,0 +1 @@
1
+ self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()