d1s 0.2.6 → 0.2.8

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 (247) hide show
  1. package/README.md +3 -1
  2. package/dist/.next/.next/BUILD_ID +1 -1
  3. package/dist/.next/.next/app-build-manifest.json +34 -27
  4. package/dist/.next/.next/app-path-routes-manifest.json +1 -1
  5. package/dist/.next/.next/build-manifest.json +2 -2
  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/2.pack.gz +0 -0
  11. package/dist/.next/.next/cache/webpack/client-development/3.pack.gz +0 -0
  12. package/dist/.next/.next/cache/webpack/client-development/4.pack.gz +0 -0
  13. package/dist/.next/.next/cache/webpack/client-development/index.pack.gz +0 -0
  14. package/dist/.next/.next/cache/webpack/client-development/index.pack.gz.old +0 -0
  15. package/dist/.next/.next/cache/webpack/client-production/0.pack +0 -0
  16. package/dist/.next/.next/cache/webpack/client-production/1.pack +0 -0
  17. package/dist/.next/.next/cache/webpack/client-production/10.pack +0 -0
  18. package/dist/.next/.next/cache/webpack/client-production/11.pack +0 -0
  19. package/dist/.next/.next/cache/webpack/client-production/12.pack +0 -0
  20. package/dist/.next/.next/cache/webpack/client-production/13.pack +0 -0
  21. package/dist/.next/.next/cache/webpack/client-production/14.pack +0 -0
  22. package/dist/.next/.next/cache/webpack/client-production/2.pack +0 -0
  23. package/dist/.next/.next/cache/webpack/client-production/3.pack +0 -0
  24. package/dist/.next/.next/cache/webpack/client-production/4.pack +0 -0
  25. package/dist/.next/.next/cache/webpack/client-production/5.pack +0 -0
  26. package/dist/.next/.next/cache/webpack/client-production/6.pack +0 -0
  27. package/dist/.next/.next/cache/webpack/client-production/7.pack +0 -0
  28. package/dist/.next/.next/cache/webpack/client-production/8.pack +0 -0
  29. package/dist/.next/.next/cache/webpack/client-production/9.pack +0 -0
  30. package/dist/.next/.next/cache/webpack/client-production/index.pack +0 -0
  31. package/dist/.next/.next/cache/webpack/client-production/index.pack.old +0 -0
  32. package/dist/.next/.next/cache/webpack/edge-server-production/index.pack +0 -0
  33. package/dist/.next/.next/cache/webpack/server-development/0.pack.gz +0 -0
  34. package/dist/.next/.next/cache/webpack/server-development/1.pack.gz +0 -0
  35. package/dist/.next/.next/cache/webpack/server-development/2.pack.gz +0 -0
  36. package/dist/.next/.next/cache/webpack/server-development/3.pack.gz +0 -0
  37. package/dist/.next/.next/cache/webpack/server-development/4.pack.gz +0 -0
  38. package/dist/.next/.next/cache/webpack/server-development/index.pack.gz +0 -0
  39. package/dist/.next/.next/cache/webpack/server-development/index.pack.gz.old +0 -0
  40. package/dist/.next/.next/cache/webpack/server-production/0.pack +0 -0
  41. package/dist/.next/.next/cache/webpack/server-production/1.pack +0 -0
  42. package/dist/.next/.next/cache/webpack/server-production/10.pack +0 -0
  43. package/dist/.next/.next/cache/webpack/server-production/11.pack +0 -0
  44. package/dist/.next/.next/cache/webpack/server-production/12.pack +0 -0
  45. package/dist/.next/.next/cache/webpack/server-production/13.pack +0 -0
  46. package/dist/.next/.next/cache/webpack/server-production/2.pack +0 -0
  47. package/dist/.next/.next/cache/webpack/server-production/3.pack +0 -0
  48. package/dist/.next/.next/cache/webpack/server-production/4.pack +0 -0
  49. package/dist/.next/.next/cache/webpack/server-production/5.pack +0 -0
  50. package/dist/.next/.next/cache/webpack/server-production/6.pack +0 -0
  51. package/dist/.next/.next/cache/webpack/server-production/7.pack +0 -0
  52. package/dist/.next/.next/cache/webpack/server-production/8.pack +0 -0
  53. package/dist/.next/.next/cache/webpack/server-production/9.pack +0 -0
  54. package/dist/.next/.next/cache/webpack/server-production/index.pack +0 -0
  55. package/dist/.next/.next/cache/webpack/server-production/index.pack.old +0 -0
  56. package/dist/.next/.next/next-minimal-server.js.nft.json +1 -1
  57. package/dist/.next/.next/next-server.js.nft.json +1 -1
  58. package/dist/.next/.next/prerender-manifest.json +1 -1
  59. package/dist/.next/.next/server/app/_not-found/page.js +1 -1
  60. package/dist/.next/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  61. package/dist/.next/.next/server/app/_not-found.html +1 -1
  62. package/dist/.next/.next/server/app/_not-found.rsc +2 -2
  63. package/dist/.next/.next/server/app/api/cloudflare/route.js +1 -1
  64. package/dist/.next/.next/server/app/api/cloudflare/route.js.nft.json +1 -1
  65. package/dist/.next/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
  66. package/dist/.next/.next/server/app/api/databases/route.js +1 -1
  67. package/dist/.next/.next/server/app/api/databases/route.js.nft.json +1 -1
  68. package/dist/.next/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
  69. package/dist/.next/.next/server/app/api/migrations/sync/route.js +3 -3
  70. package/dist/.next/.next/server/app/api/migrations/sync/route.js.nft.json +1 -1
  71. package/dist/.next/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
  72. package/dist/.next/.next/server/app/api/migrations/sync-files/route.js +1 -1
  73. package/dist/.next/.next/server/app/api/migrations/sync-files/route.js.nft.json +1 -1
  74. package/dist/.next/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
  75. package/dist/.next/.next/server/app/api/pull-remote/confirm/route.js +1 -1
  76. package/dist/.next/.next/server/app/api/pull-remote/confirm/route.js.nft.json +1 -1
  77. package/dist/.next/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
  78. package/dist/.next/.next/server/app/api/pull-remote/preview/route.js +1 -1
  79. package/dist/.next/.next/server/app/api/pull-remote/preview/route.js.nft.json +1 -1
  80. package/dist/.next/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
  81. package/dist/.next/.next/server/app/api/push-remote/confirm/route.js +2 -2
  82. package/dist/.next/.next/server/app/api/push-remote/confirm/route.js.nft.json +1 -1
  83. package/dist/.next/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
  84. package/dist/.next/.next/server/app/api/push-remote/preview/route.js +2 -2
  85. package/dist/.next/.next/server/app/api/push-remote/preview/route.js.nft.json +1 -1
  86. package/dist/.next/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
  87. package/dist/.next/.next/server/app/api/query/route.js +2 -2
  88. package/dist/.next/.next/server/app/api/query/route.js.nft.json +1 -1
  89. package/dist/.next/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
  90. package/dist/.next/.next/server/app/api/tables/[name]/route.js +4 -4
  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/update/route.js +5 -0
  97. package/dist/.next/.next/server/app/api/update/route.js.nft.json +1 -0
  98. package/dist/.next/.next/server/app/api/update/route_client-reference-manifest.js +1 -0
  99. package/dist/.next/.next/server/app/index.html +3 -3
  100. package/dist/.next/.next/server/app/index.rsc +3 -3
  101. package/dist/.next/.next/server/app/page.js +14 -12
  102. package/dist/.next/.next/server/app/page_client-reference-manifest.js +1 -1
  103. package/dist/.next/.next/server/app-paths-manifest.json +4 -3
  104. package/dist/.next/.next/server/chunks/336.js +1 -1
  105. package/dist/.next/.next/server/chunks/391.js +23 -0
  106. package/dist/.next/.next/server/chunks/452.js +1 -0
  107. package/dist/.next/.next/server/chunks/627.js +3 -3
  108. package/dist/.next/.next/server/chunks/638.js +3 -3
  109. package/dist/.next/.next/server/chunks/801.js +55 -0
  110. package/dist/.next/.next/server/chunks/992.js +3 -3
  111. package/dist/.next/.next/server/pages/404.html +1 -1
  112. package/dist/.next/.next/server/pages/500.html +1 -1
  113. package/dist/.next/.next/server/pages/_app.js +1 -1
  114. package/dist/.next/.next/server/pages/_document.js +1 -1
  115. package/dist/.next/.next/server/pages/_error.js +1 -1
  116. package/dist/.next/.next/server/pages-manifest.json +1 -1
  117. package/dist/.next/.next/server/server-reference-manifest.json +1 -1
  118. package/dist/.next/.next/static/JrwgdSDcipr0Zh7k19Cj_/_buildManifest.js +1 -0
  119. package/dist/.next/.next/static/chunks/958-98887928efebfdf7.js +1 -0
  120. package/dist/.next/.next/static/chunks/app/api/cloudflare/route-5133155a604f2719.js +1 -0
  121. package/dist/.next/.next/static/chunks/app/api/databases/route-63a31080b565794e.js +1 -0
  122. package/dist/.next/.next/static/chunks/app/api/migrations/sync/route-d97667565b4a59b6.js +1 -0
  123. package/dist/.next/.next/static/chunks/app/api/migrations/sync-files/route-7089bcbfeb6b5260.js +1 -0
  124. package/dist/.next/.next/static/chunks/app/api/pull-remote/confirm/route-9143e6e4c3f05162.js +1 -0
  125. package/dist/.next/.next/static/chunks/app/api/pull-remote/preview/route-c963d143a51aed66.js +1 -0
  126. package/dist/.next/.next/static/chunks/app/api/push-remote/confirm/route-072132c0a6cb3df3.js +1 -0
  127. package/dist/.next/.next/static/chunks/app/api/push-remote/preview/route-ca6bf35aa72661ee.js +1 -0
  128. package/dist/.next/.next/static/chunks/app/api/query/route-1466f6b7ffd8b6c0.js +1 -0
  129. package/dist/.next/.next/static/chunks/app/api/tables/[name]/route-898d3f85fc8544c4.js +1 -0
  130. package/dist/.next/.next/static/chunks/app/api/tables/route-91650359fc3735cb.js +1 -0
  131. package/dist/.next/.next/static/chunks/app/api/update/route-504d663df9124f97.js +1 -0
  132. package/dist/.next/.next/static/chunks/app/page-2c28a255a4ecd8d4.js +1 -0
  133. package/dist/.next/.next/static/chunks/app/page-3db7feef57019055.js +1 -0
  134. package/dist/.next/.next/static/css/4957328384ed5c42.css +3 -0
  135. package/dist/.next/.next/static/gc8l1G6KXOeLLOM7VJip6/_buildManifest.js +1 -0
  136. package/dist/.next/.next/static/kYsJoni86CJWDuTkc1xU6/_buildManifest.js +1 -0
  137. package/dist/.next/.next/static/kYsJoni86CJWDuTkc1xU6/_ssgManifest.js +1 -0
  138. package/dist/.next/.next/static/scC5qwQC9H7rR1groM0Q-/_ssgManifest.js +1 -0
  139. package/dist/.next/.next/static/tEHOI_-t-iqfJClNzuo9m/_buildManifest.js +1 -0
  140. package/dist/.next/.next/static/tEHOI_-t-iqfJClNzuo9m/_ssgManifest.js +1 -0
  141. package/dist/.next/.next/static/vin2VQs5pM_dH2e2_I7AN/_buildManifest.js +1 -0
  142. package/dist/.next/.next/static/vin2VQs5pM_dH2e2_I7AN/_ssgManifest.js +1 -0
  143. package/dist/.next/.next/static/wHKwQhaxin5_i06GFVDHb/_buildManifest.js +1 -0
  144. package/dist/.next/.next/static/wHKwQhaxin5_i06GFVDHb/_ssgManifest.js +1 -0
  145. package/dist/.next/.next/static/xW4MspD8XibrhXDi_q2IO/_ssgManifest.js +1 -0
  146. package/dist/.next/.next/trace +3 -3
  147. package/dist/.next/.next/types/app/api/update/route.ts +347 -0
  148. package/dist/.next/BUILD_ID +1 -1
  149. package/dist/.next/app-build-manifest.json +17 -17
  150. package/dist/.next/app-path-routes-manifest.json +1 -1
  151. package/dist/.next/build-manifest.json +2 -2
  152. package/dist/.next/cache/.rscinfo +1 -1
  153. package/dist/.next/cache/.tsbuildinfo +1 -1
  154. package/dist/.next/cache/webpack/client-production/0.pack +0 -0
  155. package/dist/.next/cache/webpack/client-production/index.pack +0 -0
  156. package/dist/.next/cache/webpack/edge-server-production/index.pack +0 -0
  157. package/dist/.next/cache/webpack/server-production/0.pack +0 -0
  158. package/dist/.next/cache/webpack/server-production/index.pack +0 -0
  159. package/dist/.next/next-minimal-server.js.nft.json +1 -1
  160. package/dist/.next/next-server.js.nft.json +1 -1
  161. package/dist/.next/prerender-manifest.json +1 -1
  162. package/dist/.next/server/app/_not-found.html +1 -1
  163. package/dist/.next/server/app/_not-found.rsc +1 -1
  164. package/dist/.next/server/app/api/cloudflare/route.js +1 -1
  165. package/dist/.next/server/app/api/databases/route.js +1 -1
  166. package/dist/.next/server/app/api/migrations/sync/route.js +3 -3
  167. package/dist/.next/server/app/api/migrations/sync/route.js.nft.json +1 -1
  168. package/dist/.next/server/app/api/migrations/sync-files/route.js +1 -1
  169. package/dist/.next/server/app/api/migrations/sync-files/route.js.nft.json +1 -1
  170. package/dist/.next/server/app/api/pull-remote/confirm/route.js +1 -1
  171. package/dist/.next/server/app/api/pull-remote/confirm/route.js.nft.json +1 -1
  172. package/dist/.next/server/app/api/pull-remote/preview/route.js +1 -1
  173. package/dist/.next/server/app/api/pull-remote/preview/route.js.nft.json +1 -1
  174. package/dist/.next/server/app/api/push-remote/confirm/route.js +2 -2
  175. package/dist/.next/server/app/api/push-remote/confirm/route.js.nft.json +1 -1
  176. package/dist/.next/server/app/api/push-remote/preview/route.js +2 -2
  177. package/dist/.next/server/app/api/push-remote/preview/route.js.nft.json +1 -1
  178. package/dist/.next/server/app/api/query/route.js +2 -2
  179. package/dist/.next/server/app/api/query/route.js.nft.json +1 -1
  180. package/dist/.next/server/app/api/tables/[name]/route.js +4 -4
  181. package/dist/.next/server/app/api/tables/route.js +2 -2
  182. package/dist/.next/server/app/index.html +1 -1
  183. package/dist/.next/server/app/index.rsc +1 -1
  184. package/dist/.next/server/app-paths-manifest.json +6 -6
  185. package/dist/.next/server/chunks/801.js +55 -0
  186. package/dist/.next/server/pages/404.html +1 -1
  187. package/dist/.next/server/pages/500.html +1 -1
  188. package/dist/.next/server/server-reference-manifest.json +1 -1
  189. package/dist/.next/static/ZwNOdZJ0LOtE0AJMNWwzY/_buildManifest.js +1 -0
  190. package/dist/.next/static/ZwNOdZJ0LOtE0AJMNWwzY/_ssgManifest.js +1 -0
  191. package/dist/.next/trace +14 -14
  192. package/dist/app/api/cloudflare/route.js +5 -1
  193. package/dist/app/api/databases/route.js +3 -4
  194. package/dist/app/api/migrations/sync/route.js +5 -3
  195. package/dist/app/api/pull-remote/confirm/route.js +24 -23
  196. package/dist/app/api/pull-remote/preview/route.js +4 -3
  197. package/dist/app/api/push-remote/preview/route.js +3 -2
  198. package/dist/app/api/query/route.js +11 -3
  199. package/dist/app/api/tables/[name]/route.js +3 -2
  200. package/dist/app/api/tables/route.js +6 -2
  201. package/dist/app/app/api/cloudflare/route.js +5 -1
  202. package/dist/app/app/api/databases/route.js +3 -4
  203. package/dist/app/app/api/migrations/sync/route.js +5 -3
  204. package/dist/app/app/api/pull-remote/confirm/route.js +24 -23
  205. package/dist/app/app/api/pull-remote/preview/route.js +4 -3
  206. package/dist/app/app/api/push-remote/preview/route.js +3 -2
  207. package/dist/app/app/api/query/route.js +11 -3
  208. package/dist/app/app/api/tables/[name]/route.js +3 -2
  209. package/dist/app/app/api/tables/route.js +6 -2
  210. package/dist/app/app/api/update/route.js +11 -0
  211. package/dist/app/app/page.jsx +7 -1
  212. package/dist/d1-studio.js +94 -58
  213. package/dist/lib/database-queue.js +34 -30
  214. package/dist/lib/find-wrangler-config.js +14 -8
  215. package/dist/lib/logger.js +11 -2
  216. package/dist/lib/migrations.js +4 -4
  217. package/dist/lib/schema-operations.js +4 -1
  218. package/dist/lib/sql-operations.js +8 -1
  219. package/package.json +3 -1
  220. package/scripts/studio.js +94 -58
  221. package/scripts/test.js +280 -82
  222. package/src/app/api/cloudflare/route.js +5 -1
  223. package/src/app/api/databases/route.js +3 -4
  224. package/src/app/api/migrations/sync/route.js +5 -3
  225. package/src/app/api/pull-remote/confirm/route.js +24 -23
  226. package/src/app/api/pull-remote/preview/route.js +4 -3
  227. package/src/app/api/push-remote/preview/route.js +3 -2
  228. package/src/app/api/query/route.js +11 -3
  229. package/src/app/api/tables/[name]/route.js +3 -2
  230. package/src/app/api/tables/route.js +6 -2
  231. package/src/app/api/update/route.js +11 -0
  232. package/src/app/page.jsx +7 -1
  233. package/src/components/update-banner.jsx +64 -0
  234. package/src/lib/database-queue.js +34 -30
  235. package/src/lib/find-wrangler-config.js +14 -8
  236. package/src/lib/logger.js +11 -2
  237. package/src/lib/migrations.js +4 -4
  238. package/src/lib/schema-operations.js +4 -1
  239. package/src/lib/sql-operations.js +8 -1
  240. package/dist/.next/.next/server/chunks/603.js +0 -55
  241. package/dist/.next/server/chunks/603.js +0 -55
  242. /package/dist/.next/.next/static/{HsZ8OanS5v86DqC9rErO- → IWRJZhjf8U8mjzz4h0VNE}/_buildManifest.js +0 -0
  243. /package/dist/.next/.next/static/{HsZ8OanS5v86DqC9rErO- → IWRJZhjf8U8mjzz4h0VNE}/_ssgManifest.js +0 -0
  244. /package/dist/.next/.next/static/{q6WmQmyONe88bMN0_jrC2 → JrwgdSDcipr0Zh7k19Cj_}/_ssgManifest.js +0 -0
  245. /package/dist/.next/{static/Tk1fnz_CXLavm23ZEeChG → .next/static/gc8l1G6KXOeLLOM7VJip6}/_ssgManifest.js +0 -0
  246. /package/dist/.next/.next/static/{q6WmQmyONe88bMN0_jrC2 → scC5qwQC9H7rR1groM0Q-}/_buildManifest.js +0 -0
  247. /package/dist/.next/{static/Tk1fnz_CXLavm23ZEeChG → .next/static/xW4MspD8XibrhXDi_q2IO}/_buildManifest.js +0 -0
@@ -1 +1 @@
1
- (()=>{var e={};e.id=952,e.ids=[952],e.modules={846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{"use strict";e.exports=require("buffer")},4735:e=>{"use strict";e.exports=require("events")},9021:e=>{"use strict";e.exports=require("fs")},9748:e=>{"use strict";e.exports=require("fs/promises")},1630:e=>{"use strict";e.exports=require("http")},5591:e=>{"use strict";e.exports=require("https")},1820:e=>{"use strict";e.exports=require("os")},3873:e=>{"use strict";e.exports=require("path")},7910:e=>{"use strict";e.exports=require("stream")},1204:e=>{"use strict";e.exports=require("string_decoder")},8354:e=>{"use strict";e.exports=require("util")},4075:e=>{"use strict";e.exports=require("zlib")},3024:e=>{"use strict";e.exports=require("node:fs")},6760:e=>{"use strict";e.exports=require("node:path")},1708:e=>{"use strict";e.exports=require("node:process")},3136:e=>{"use strict";e.exports=require("node:url")},6731:(e,r,t)=>{"use strict";t.r(r),t.d(r,{patchFetch:()=>x,routeModule:()=>p,serverHooks:()=>g,workAsyncStorage:()=>l,workUnitAsyncStorage:()=>f});var s={};t.r(s),t.d(s,{GET:()=>c,OPTIONS:()=>d});var o=t(2706),a=t(8203),n=t(5994),i=t(9187),u=t(9999);async function c(){try{let e=process.env.D1_PROJECT_DIR;if(!e)return console.error("D1_PROJECT_DIR environment variable is not set"),i.NextResponse.json({error:"Project directory not configured"},{status:500});let r=await (0,u.S)(e);if(!r||!r.config)return i.NextResponse.json({error:"No Wrangler configuration file found in project directory"},{status:404});let t=r.config;if(!t.d1_databases?.length)return i.NextResponse.json({error:"No D1 databases configured in Wrangler configuration"},{status:404});return i.NextResponse.json({databases:t.d1_databases,debug:{projectDir:e,configPath:r.configPath||"N/A",databaseCount:t.d1_databases.length}})}catch(e){return console.error("Error reading database configuration:",e),i.NextResponse.json({error:"Failed to read database configuration",details:e.message,debug:{errorCode:e.code,errorStack:e.stack}},{status:500})}}async function d(){return new i.NextResponse(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}})}let p=new o.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/databases/route",pathname:"/api/databases",filename:"route",bundlePath:"app/api/databases/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/databases/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:l,workUnitAsyncStorage:f,serverHooks:g}=p;function x(){return(0,n.patchFetch)({workAsyncStorage:l,workUnitAsyncStorage:f})}},6487:()=>{},8335:()=>{},9999:(e,r,t)=>{"use strict";t.d(r,{S:()=>g});var s=t(9748),o=t(3149),a=t(2537),n=t(6789),i=t(6399);let{combine:u,timestamp:c,printf:d,colorize:p}=i.format,l=d(({level:e,message:r,timestamp:t})=>`${t} ${e}: ${r}`),f=i.createLogger({level:"info",format:u(c({format:"YYYY-MM-DD HH:mm:ss"}),p(),l),transports:[new i.transports.Console]});async function g(e){try{let r;if(!e||"string"!=typeof e)throw Error("Project path is required and must be a string");let t=null,i=null;for(let r of["wrangler.toml","wrangler.json","wrangler.jsonc"])if(t=await (0,o.dJ)(r,{cwd:e})){i=r;break}if(!t)return f.warn(`No Wrangler configuration file found in: ${e}`),null;f.info(`Found ${i} at: ${t}`);let u=await (0,s.readFile)(t,"utf-8");return i.endsWith(".toml")?r=(0,a.parse)(u):(i.endsWith(".jsonc")&&(u=(0,n.A)(u)),r=JSON.parse(u)),{config:r,projectPath:e}}catch(e){throw f.error(`Error reading Wrangler configuration: ${e.message}`),e}}}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686],()=>t(6731));module.exports=s})();
1
+ (()=>{var e={};e.id=952,e.ids=[952],e.modules={846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{"use strict";e.exports=require("buffer")},4735:e=>{"use strict";e.exports=require("events")},9021:e=>{"use strict";e.exports=require("fs")},9748:e=>{"use strict";e.exports=require("fs/promises")},1630:e=>{"use strict";e.exports=require("http")},5591:e=>{"use strict";e.exports=require("https")},1820:e=>{"use strict";e.exports=require("os")},3873:e=>{"use strict";e.exports=require("path")},7910:e=>{"use strict";e.exports=require("stream")},1204:e=>{"use strict";e.exports=require("string_decoder")},9551:e=>{"use strict";e.exports=require("url")},8354:e=>{"use strict";e.exports=require("util")},4075:e=>{"use strict";e.exports=require("zlib")},3024:e=>{"use strict";e.exports=require("node:fs")},6760:e=>{"use strict";e.exports=require("node:path")},1708:e=>{"use strict";e.exports=require("node:process")},3136:e=>{"use strict";e.exports=require("node:url")},6731:(e,r,t)=>{"use strict";t.r(r),t.d(r,{patchFetch:()=>h,routeModule:()=>p,serverHooks:()=>x,workAsyncStorage:()=>g,workUnitAsyncStorage:()=>f});var s={};t.r(s),t.d(s,{GET:()=>c,OPTIONS:()=>l});var o=t(2706),a=t(8203),n=t(5994),i=t(9187),u=t(5949),d=t(1804);async function c(){try{let e=process.env.D1_PROJECT_DIR;if(!e)return d.A.error("D1_PROJECT_DIR environment variable is not set"),i.NextResponse.json({error:"Project directory not configured"},{status:500});let r=await (0,u.S)(e);if(!r||!r.config)return i.NextResponse.json({error:"No Wrangler configuration file found in project directory"},{status:404});let t=r.config;if(!t.d1_databases?.length)return i.NextResponse.json({error:"No D1 databases configured in Wrangler configuration"},{status:404});return i.NextResponse.json({databases:t.d1_databases,debug:{projectDir:e,configPath:r.configPath||"N/A",databaseCount:t.d1_databases.length}})}catch(e){return d.A.error("Error reading database configuration:",e),i.NextResponse.json({error:"Failed to read database configuration",details:e.message,debug:{errorCode:e.code,errorStack:e.stack}},{status:500})}}async function l(){return new i.NextResponse(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}})}let p=new o.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/databases/route",pathname:"/api/databases",filename:"route",bundlePath:"app/api/databases/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/databases/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:g,workUnitAsyncStorage:f,serverHooks:x}=p;function h(){return(0,n.patchFetch)({workAsyncStorage:g,workUnitAsyncStorage:f})}},6487:()=>{},8335:()=>{},5949:(e,r,t)=>{"use strict";t.d(r,{S:()=>u});var s=t(9748),o=t(3149),a=t(2537),n=t(6789),i=t(1804);async function u(e){try{let r;if(!e||"string"!=typeof e)throw Error("Project path is required and must be a string");let t=null,u=null;for(let r of["wrangler.toml","wrangler.json","wrangler.jsonc"])if(t=await (0,o.dJ)(r,{cwd:e})){u=r;break}if(!t)return i.A.warn(`No Wrangler configuration file found in: ${e}`),null;i.A.info(`Found ${u} at: ${t}`);let d=await (0,s.readFile)(t,"utf-8");return u.endsWith(".toml")?r=(0,a.parse)(d):(u.endsWith(".jsonc")&&(d=(0,n.A)(d)),r=JSON.parse(d)),{config:r,projectPath:e}}catch(e){throw i.A.error(`Error reading Wrangler configuration: ${e.message}`),e}}},1804:(e,r,t)=>{"use strict";t.d(r,{A:()=>g});var s=t(6399),o=t(9551);t(3873);let{combine:a,timestamp:n,printf:i,colorize:u}=s.format,d="true"===process.env.ENABLE_LOGGING,c=(0,o.fileURLToPath)("file:///Users/karenredona/Desktop/d1studio/src/lib/logger.js").includes("node_modules"),l=i(({level:e,message:r,timestamp:t})=>`${t} ${e}: ${r}`),p=s.createLogger({level:"info",format:a(n({format:"YYYY-MM-DD HH:mm:ss"}),u(),l),transports:[new s.transports.Console({silent:c&&!d&&!0,level:c?"warn":"debug"})]});p.shouldLog=e=>"error"===e||"warn"===e||!!d,p.logRequest=(e,r)=>{p.shouldLog("info")&&p.info(`${e} ${r}`)},p.logQuery=e=>{p.shouldLog("debug")&&p.debug(`Executing query: ${e}`)},p.logError=(e,r="")=>{let t=e.message||e.toString(),s=r?`[${r}] `:"";p.error(`${s}${t}`,{stack:e.stack,details:e.details||{}})};let g=p}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686],()=>t(6731));module.exports=s})();
@@ -1,12 +1,12 @@
1
- "use strict";(()=>{var e={};e.id=105,e.ids=[105],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},6675:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>A,routeModule:()=>g,serverHooks:()=>R,workAsyncStorage:()=>f,workUnitAsyncStorage:()=>N});var s={};t.r(s),t.d(s,{OPTIONS:()=>E,POST:()=>T});var o=t(2706),n=t(8203),a=t(5994),i=t(9187),p=t(9999),u=t(9748),c=t(3873),d=t(961),m=t(8354),l=t(9646);let x=(0,m.promisify)(l.exec);async function T(e){try{let{accountId:r,apiToken:t}=await e.json(),s=process.env.D1_PROJECT_DIR;if(!s)return i.NextResponse.json({error:"Project directory not configured"},{status:500});let o=await (0,p.S)(s);if(!o||!o.config)return i.NextResponse.json({error:"No Wrangler configuration file found in project directory"},{status:404});let n=o.config;if(!n.d1_databases?.length)return i.NextResponse.json({error:"No D1 databases configured"},{status:404});let a=n.d1_databases[0].database_name;await x(`wrangler d1 execute ${a} --remote --command="
1
+ "use strict";(()=>{var e={};e.id=105,e.ids=[105],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},9551:e=>{e.exports=require("url")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},6675:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>q,routeModule:()=>f,serverHooks:()=>N,workAsyncStorage:()=>R,workUnitAsyncStorage:()=>A});var s={};t.r(s),t.d(s,{OPTIONS:()=>g,POST:()=>E});var o=t(2706),n=t(8203),a=t(5994),i=t(9187),p=t(5949),u=t(9748),c=t(3873),d=t(961),m=t(8354),l=t(9646),x=t(1804);let T=(0,m.promisify)(l.exec);async function E(e){x.A.logRequest("POST","/api/migrations/sync");try{let{accountId:r,apiToken:t}=await e.json(),s=process.env.D1_PROJECT_DIR;if(!s)return x.A.error("Project directory not configured"),i.NextResponse.json({error:"Project directory not configured"},{status:500});let o=await (0,p.S)(s);if(!o||!o.config)return i.NextResponse.json({error:"No Wrangler configuration file found in project directory"},{status:404});let n=o.config;if(!n.d1_databases?.length)return i.NextResponse.json({error:"No D1 databases configured"},{status:404});let a=n.d1_databases[0].database_name;await T(`wrangler d1 execute ${a} --remote --command="
2
2
  CREATE TABLE IF NOT EXISTS d1_migrations (
3
3
  id INTEGER PRIMARY KEY AUTOINCREMENT,
4
4
  name TEXT NOT NULL UNIQUE,
5
5
  applied_at DATETIME DEFAULT CURRENT_TIMESTAMP
6
- );"`,{env:{...process.env,CLOUDFLARE_ACCOUNT_ID:r,CLOUDFLARE_API_TOKEN:t},cwd:s}),await x(`wrangler d1 execute ${a} --local --command="
6
+ );"`,{env:{...process.env,CLOUDFLARE_ACCOUNT_ID:r,CLOUDFLARE_API_TOKEN:t},cwd:s}),await T(`wrangler d1 execute ${a} --local --command="
7
7
  CREATE TABLE IF NOT EXISTS d1_migrations (
8
8
  id INTEGER PRIMARY KEY AUTOINCREMENT,
9
9
  name TEXT NOT NULL UNIQUE,
10
10
  checksum TEXT DEFAULT NULL,
11
11
  applied_at DATETIME DEFAULT CURRENT_TIMESTAMP
12
- );"`,{cwd:s});let m=await (0,d.hI)(s,a),l={applied:[],failed:[],skipped:[]};for(let e of m.pending)try{let o=c.join(s,"migrations",e.name),n=await (0,u.readFile)(o,"utf8"),i=await x(`wrangler d1 execute ${a} --remote --command='${n.replace(/'/g,"''")}'`,{env:{...i.env,CLOUDFLARE_ACCOUNT_ID:r,CLOUDFLARE_API_TOKEN:t},cwd:s});await (0,d.ai)(s,a,{name:e.name,environment:"remote",status:"applied",checksum:(0,d.Sl)(n),version:e.version}),l.applied.push(e.name)}catch(r){console.error(`Failed to apply migration ${e.name}:`,r),await (0,d.ai)(s,a,{name:e.name,environment:"remote",status:"failed",checksum:e.checksum,version:e.version,errorMessage:r.message}),l.failed.push({name:e.name,error:r.message})}for(let e of m.conflicts)l.skipped.push({name:e.name,reason:"Checksum mismatch between environments"});return i.NextResponse.json({success:!0,results:{...l,synced:m.synced}})}catch(e){return console.error("Migration sync error:",e),i.NextResponse.json({success:!1,error:{message:"Failed to sync migrations",details:e.message}},{status:500})}}async function E(){return new i.NextResponse(null,{status:204})}let g=new o.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/migrations/sync/route",pathname:"/api/migrations/sync",filename:"route",bundlePath:"app/api/migrations/sync/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/migrations/sync/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:f,workUnitAsyncStorage:N,serverHooks:R}=g;function A(){return(0,a.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:N})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686,603],()=>t(6675));module.exports=s})();
12
+ );"`,{cwd:s});let m=await (0,d.hI)(s,a),l={applied:[],failed:[],skipped:[]};for(let e of m.pending)try{let o=c.join(s,"migrations",e.name),n=await (0,u.readFile)(o,"utf8"),i=await T(`wrangler d1 execute ${a} --remote --command='${n.replace(/'/g,"''")}'`,{env:{...i.env,CLOUDFLARE_ACCOUNT_ID:r,CLOUDFLARE_API_TOKEN:t},cwd:s});await (0,d.ai)(s,a,{name:e.name,environment:"remote",status:"applied",checksum:(0,d.Sl)(n),version:e.version}),l.applied.push(e.name)}catch(r){console.error(`Failed to apply migration ${e.name}:`,r),await (0,d.ai)(s,a,{name:e.name,environment:"remote",status:"failed",checksum:e.checksum,version:e.version,errorMessage:r.message}),l.failed.push({name:e.name,error:r.message})}for(let e of m.conflicts)l.skipped.push({name:e.name,reason:"Checksum mismatch between environments"});return i.NextResponse.json({success:!0,results:{...l,synced:m.synced}})}catch(e){return x.A.logError(e,"migrations-sync-route"),i.NextResponse.json({success:!1,error:{message:"Failed to sync migrations",details:e.message}},{status:500})}}async function g(){return new i.NextResponse(null,{status:204})}let f=new o.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/migrations/sync/route",pathname:"/api/migrations/sync",filename:"route",bundlePath:"app/api/migrations/sync/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/migrations/sync/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:R,workUnitAsyncStorage:A,serverHooks:N}=f;function q(){return(0,a.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:A})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686,801],()=>t(6675));module.exports=s})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/603.js","../../../../chunks/638.js","../../../../chunks/686.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/638.js","../../../../chunks/686.js","../../../../chunks/801.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=51,e.ids=[51],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},7147:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>j,routeModule:()=>w,serverHooks:()=>R,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>E});var s={};t.r(s),t.d(s,{OPTIONS:()=>y,POST:()=>q});var o=t(2706),a=t(8203),n=t(5994),i=t(9187),u=t(9999),d=t(9748),p=t(3873),c=t(8354),l=t(9646),m=t(961);let x=(0,c.promisify)(l.exec);async function g(e,r){try{let{stdout:t}=await x(`wrangler d1 execute ${r} --local --command="SELECT name, checksum FROM d1_migrations;" --json`,{cwd:e}),s=JSON.parse(t);return s.results?.[0]?.results||[]}catch(e){throw console.error("Error getting database migrations:",e),Error("Failed to get database migrations")}}async function f(e){try{let r=p.join(e,"migrations"),t=await (0,d.readdir)(r);return(await Promise.all(t.filter(e=>e.endsWith(".sql")).map(async e=>{let t=p.join(r,e),s=await (0,d.readFile)(t,"utf8");return{name:e,path:t,content:s,checksum:(0,m.Sl)(s)}}))).sort((e,r)=>e.name.localeCompare(r.name))}catch(e){if("ENOENT"===e.code)return[];throw Error("Failed to read migration files")}}async function h(e,r,t){try{return await x(`wrangler d1 execute ${r} --local --command="${t.replace(/"/g,'\\"')}"`,{cwd:e}),!0}catch(e){throw console.error("Query execution error:",e),Error("Failed to execute database query")}}async function q(e){try{let e=process.env.D1_PROJECT_DIR;if(!e)return i.NextResponse.json({error:"Project directory not configured"},{status:500});let r=await (0,u.S)(e);if(!r||!r.config)return i.NextResponse.json({error:"Could not find Wrangler configuration"},{status:404});let t=r.config;if(!t.d1_databases?.length)return i.NextResponse.json({error:"No D1 databases configured"},{status:404});let s=t.d1_databases[0].database_name,[o,a]=await Promise.all([g(e,s),f(e)]),n=new Map(o.map(e=>[e.name,e])),d=new Map(a.map(e=>[e.name,e])),p={added:[],removed:[],unchanged:[]};for(let[e]of n)d.has(e)||p.removed.push(e);if(p.removed.length>0){let r=p.removed.map(e=>`'${e}'`).join(",");await h(e,s,`DELETE FROM d1_migrations WHERE name IN (${r});`)}for(let[r,t]of d)n.get(r)?p.unchanged.push(r):(p.added.push(r),await h(e,s,`INSERT OR REPLACE INTO d1_migrations (name, checksum) VALUES ('${r}', '${t.checksum}');`));return i.NextResponse.json({success:!0,details:{added:p.added,removed:p.removed,unchanged:p.unchanged}})}catch(e){return console.error("Migration file sync error:",e),i.NextResponse.json({error:e.message||"Failed to sync migrations"},{status:500})}}async function y(){return new i.NextResponse(null,{status:204})}let w=new o.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/migrations/sync-files/route",pathname:"/api/migrations/sync-files",filename:"route",bundlePath:"app/api/migrations/sync-files/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/migrations/sync-files/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:v,workUnitAsyncStorage:E,serverHooks:R}=w;function j(){return(0,n.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:E})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686,603],()=>t(7147));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=51,e.ids=[51],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},9551:e=>{e.exports=require("url")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},7147:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>j,routeModule:()=>w,serverHooks:()=>R,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>E});var s={};t.r(s),t.d(s,{OPTIONS:()=>y,POST:()=>q});var o=t(2706),a=t(8203),n=t(5994),i=t(9187),u=t(5949),d=t(9748),p=t(3873),c=t(8354),l=t(9646),m=t(961);let x=(0,c.promisify)(l.exec);async function g(e,r){try{let{stdout:t}=await x(`wrangler d1 execute ${r} --local --command="SELECT name, checksum FROM d1_migrations;" --json`,{cwd:e}),s=JSON.parse(t);return s.results?.[0]?.results||[]}catch(e){throw console.error("Error getting database migrations:",e),Error("Failed to get database migrations")}}async function f(e){try{let r=p.join(e,"migrations"),t=await (0,d.readdir)(r);return(await Promise.all(t.filter(e=>e.endsWith(".sql")).map(async e=>{let t=p.join(r,e),s=await (0,d.readFile)(t,"utf8");return{name:e,path:t,content:s,checksum:(0,m.Sl)(s)}}))).sort((e,r)=>e.name.localeCompare(r.name))}catch(e){if("ENOENT"===e.code)return[];throw Error("Failed to read migration files")}}async function h(e,r,t){try{return await x(`wrangler d1 execute ${r} --local --command="${t.replace(/"/g,'\\"')}"`,{cwd:e}),!0}catch(e){throw console.error("Query execution error:",e),Error("Failed to execute database query")}}async function q(e){try{let e=process.env.D1_PROJECT_DIR;if(!e)return i.NextResponse.json({error:"Project directory not configured"},{status:500});let r=await (0,u.S)(e);if(!r||!r.config)return i.NextResponse.json({error:"Could not find Wrangler configuration"},{status:404});let t=r.config;if(!t.d1_databases?.length)return i.NextResponse.json({error:"No D1 databases configured"},{status:404});let s=t.d1_databases[0].database_name,[o,a]=await Promise.all([g(e,s),f(e)]),n=new Map(o.map(e=>[e.name,e])),d=new Map(a.map(e=>[e.name,e])),p={added:[],removed:[],unchanged:[]};for(let[e]of n)d.has(e)||p.removed.push(e);if(p.removed.length>0){let r=p.removed.map(e=>`'${e}'`).join(",");await h(e,s,`DELETE FROM d1_migrations WHERE name IN (${r});`)}for(let[r,t]of d)n.get(r)?p.unchanged.push(r):(p.added.push(r),await h(e,s,`INSERT OR REPLACE INTO d1_migrations (name, checksum) VALUES ('${r}', '${t.checksum}');`));return i.NextResponse.json({success:!0,details:{added:p.added,removed:p.removed,unchanged:p.unchanged}})}catch(e){return console.error("Migration file sync error:",e),i.NextResponse.json({error:e.message||"Failed to sync migrations"},{status:500})}}async function y(){return new i.NextResponse(null,{status:204})}let w=new o.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/migrations/sync-files/route",pathname:"/api/migrations/sync-files",filename:"route",bundlePath:"app/api/migrations/sync-files/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/migrations/sync-files/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:v,workUnitAsyncStorage:E,serverHooks:R}=w;function j(){return(0,n.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:E})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686,801],()=>t(7147));module.exports=s})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/603.js","../../../../chunks/638.js","../../../../chunks/686.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/638.js","../../../../chunks/686.js","../../../../chunks/801.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=223,e.ids=[223],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},9556:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>q,routeModule:()=>x,serverHooks:()=>R,workAsyncStorage:()=>y,workUnitAsyncStorage:()=>h});var s={};t.r(s),t.d(s,{OPTIONS:()=>w,POST:()=>g});var a=t(2706),o=t(8203),i=t(5994),n=t(9187),p=t(9748),l=t(3873),u=t(9999),c=t(9421),d=t(4218),f=t(961);async function m(e,r,t,s){let a={...process.env,CLOUDFLARE_API_TOKEN:t,CLOUDFLARE_ACCOUNT_ID:r};try{let r=l.join(e,"migrations"),t=l.join(e,"migrations-temp");await (0,p.mkdir)(r,{recursive:!0}),await (0,p.mkdir)(t,{recursive:!0});let o=await (0,p.readdir)(t).catch(()=>[]);await Promise.all(o.map(e=>(0,p.unlink)(l.join(t,e))));let i=await (0,f.GS)(e,s,a),n=new Map;for(let r of i)try{let o=r.name,i=await (0,c.sP)(e,s,o,a);n.set(o,i),await (0,p.writeFile)(l.join(t,o),i,"utf8")}catch(e){throw console.error(`Error fetching content for migration ${r.name}:`,e),Error(`Failed to fetch migration file content for ${r.name}`)}let u=await (0,d.ZX)(e,s,a,!1),m=u.filter(e=>"table"===e.type&&e.name&&"if"!==e.name.toLowerCase()),g=m.length>0?(0,d.IC)(m.map(e=>({tableName:e.name,sql:e.sql,type:e.type}))):[];try{for(let r of(await (0,c.KK)(e,s,"PRAGMA foreign_keys=OFF;",a,!1),u.filter(e=>"trigger"===e.type)))await (0,c.KK)(e,s,(0,c.z6)(`DROP TRIGGER IF EXISTS ${r.name}`),a,!1);for(let r of u.filter(e=>"index"===e.type))await (0,c.KK)(e,s,(0,c.z6)(`DROP INDEX IF EXISTS ${r.name}`),a,!1);for(let r of g.reverse())await (0,c.KK)(e,s,(0,c.z6)(`DROP TABLE IF EXISTS ${r}`),a,!1);await (0,c.KK)(e,s,"PRAGMA foreign_keys=ON;",a,!1)}catch(e){throw Error(`Error dropping existing objects: ${e.message}`)}try{await (0,f.k0)(e,s,"local",!0)}catch(e){throw Error(`Error resetting migrations table: ${e.message}`)}let w={preview:[]},x="";try{for(let[t,o]of n.entries()){x=t,await (0,p.writeFile)(l.join(r,t),o,"utf8");let i=require("crypto").createHash("sha256").update(o).digest("hex");await (0,f.CM)(e,s,{name:t,checksum:i},a,!1),await (0,c.KK)(e,s,o,a,!1),w.preview.push({migration:t,action:"applied"})}}catch(e){throw Error(`Error applying migration ${x}: ${e.message}`)}let y=await (0,p.readdir)(r).catch(()=>[]);if(y.length)for(let e of y)await (0,p.unlink)(l.join(r,e));for(let[e,t]of n.entries())await (0,p.writeFile)(l.join(r,e),t,"utf8");return{appliedMigrations:Array.from(n.keys()),details:w}}catch(e){throw console.error("Pull migration error:",e),e}}async function g(e){try{let{accountId:r,apiToken:t}=await e.json(),s=process.env.D1_PROJECT_DIR;if(!s)return n.NextResponse.json({success:!1,error:{type:c.wU.VALIDATION_ERROR,message:"Project directory not configured"}},{status:500});let a=await (0,u.S)(s);if(!a||!a.config)return n.NextResponse.json({success:!1,error:{type:c.wU.VALIDATION_ERROR,message:"Could not find Wrangler configuration"}},{status:400});let o=a.config;if(!o.d1_databases?.length)return n.NextResponse.json({success:!1,error:{type:c.wU.VALIDATION_ERROR,message:"No D1 databases configured"}},{status:400});let i=o.d1_databases[0].database_name,p=await m(s,r,t,i);return n.NextResponse.json({success:!0,message:"Pull migrations applied successfully",details:p})}catch(e){return console.error("Pull remote confirm error:",e),n.NextResponse.json({success:!1,error:{type:e.type||c.wU.EXECUTION_ERROR,message:e.message||"Failed to apply pull migrations",details:e.details||{suggestions:["Check your Cloudflare credentials","Verify database permissions","Ensure all migration files are accessible"]}}},{status:500})}}async function w(){return new n.NextResponse(null,{status:204})}let x=new a.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/pull-remote/confirm/route",pathname:"/api/pull-remote/confirm",filename:"route",bundlePath:"app/api/pull-remote/confirm/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/pull-remote/confirm/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:y,workUnitAsyncStorage:h,serverHooks:R}=x;function q(){return(0,i.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:h})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686,603],()=>t(9556));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=223,e.ids=[223],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},9551:e=>{e.exports=require("url")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},9556:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>R,routeModule:()=>A,serverHooks:()=>b,workAsyncStorage:()=>h,workUnitAsyncStorage:()=>y});var i={};t.r(i),t.d(i,{OPTIONS:()=>x,POST:()=>w});var a=t(2706),o=t(8203),s=t(5994),n=t(9187),u=t(9748),l=t(3873),p=t(5949),d=t(9421),g=t(4218),c=t(961),m=t(1804);async function f(e,r,t,i){let a={...process.env,CLOUDFLARE_API_TOKEN:t,CLOUDFLARE_ACCOUNT_ID:r};try{let r=l.join(e,"migrations"),t=l.join(e,"migrations-temp");await (0,u.mkdir)(r,{recursive:!0}),await (0,u.mkdir)(t,{recursive:!0});let o=await (0,u.readdir)(t).catch(()=>[]);await Promise.all(o.map(e=>(0,u.unlink)(l.join(t,e)))),m.A.debug("Fetching remote migration metadata...");let s=await (0,c.GS)(e,i,a);m.A.debug("Remote migration metadata:",s),m.A.debug("Fetching migration file content from remote...");let n=new Map;for(let r of s)try{let o=r.name,s=await (0,d.sP)(e,i,o,a);n.set(o,s),m.A.debug(`Staged migration file: ${o}`),await (0,u.writeFile)(l.join(t,o),s,"utf8")}catch(e){throw m.A.error(`Error fetching content for migration ${r.name}:`,e),Error(`Failed to fetch migration file content for ${r.name}`)}m.A.debug("Fetching local schema for destructive update...");let p=await (0,g.ZX)(e,i,a,!1),f=p.filter(e=>"table"===e.type&&e.name&&"if"!==e.name.toLowerCase());m.A.debug("Local table schema:",f);let w=f.length>0?(0,g.IC)(f.map(e=>({tableName:e.name,sql:e.sql,type:e.type}))):[];m.A.debug("Computed drop order:",w),m.A.debug("Beginning destructive update...");try{for(let r of(m.A.debug("Disabling foreign keys..."),await (0,d.KK)(e,i,"PRAGMA foreign_keys=OFF;",a,!1),p.filter(e=>"trigger"===e.type)))m.A.debug(`Dropping trigger: ${r.name}`),await (0,d.KK)(e,i,(0,d.z6)(`DROP TRIGGER IF EXISTS ${r.name}`),a,!1);for(let r of p.filter(e=>"index"===e.type))m.A.debug(`Dropping index: ${r.name}`),await (0,d.KK)(e,i,(0,d.z6)(`DROP INDEX IF EXISTS ${r.name}`),a,!1);for(let r of w.reverse())m.A.debug(`Dropping table: ${r}`),await (0,d.KK)(e,i,(0,d.z6)(`DROP TABLE IF EXISTS ${r}`),a,!1);m.A.debug("Re-enabling foreign keys..."),await (0,d.KK)(e,i,"PRAGMA foreign_keys=ON;",a,!1)}catch(e){throw Error(`Error dropping existing objects: ${e.message}`)}try{m.A.debug("Resetting local migrations table..."),await (0,c.k0)(e,i,"local",!0)}catch(e){throw Error(`Error resetting migrations table: ${e.message}`)}let x={preview:[]},A="";try{for(let[t,o]of n.entries()){A=t,m.A.debug(`Applying migration: ${t}`),await (0,u.writeFile)(l.join(r,t),o,"utf8");let s=require("crypto").createHash("sha256").update(o).digest("hex");m.A.debug(`Recording migration: ${t} with checksum ${s}`),await (0,c.CM)(e,i,{name:t,checksum:s},a,!1),await (0,d.KK)(e,i,o,a,!1),x.preview.push({migration:t,action:"applied"})}}catch(e){throw Error(`Error applying migration ${A}: ${e.message}`)}m.A.debug("Replacing main migrations folder with staged files...");let h=await (0,u.readdir)(r).catch(()=>[]);if(h.length)for(let e of h)m.A.debug(`Deleting local migration file: ${e}`),await (0,u.unlink)(l.join(r,e));for(let[e,t]of n.entries())m.A.debug(`Copying staged file ${e} to main migrations folder`),await (0,u.writeFile)(l.join(r,e),t,"utf8");return m.A.debug("Pull migration applied successfully."),{appliedMigrations:Array.from(n.keys()),details:x}}catch(e){throw m.A.error("Pull migration error:",e),e}}async function w(e){try{let{accountId:r,apiToken:t}=await e.json(),i=process.env.D1_PROJECT_DIR;if(!i)return n.NextResponse.json({success:!1,error:{type:d.wU.VALIDATION_ERROR,message:"Project directory not configured"}},{status:500});let a=await (0,p.S)(i);if(!a||!a.config)return n.NextResponse.json({success:!1,error:{type:d.wU.VALIDATION_ERROR,message:"Could not find Wrangler configuration"}},{status:400});let o=a.config;if(!o.d1_databases?.length)return n.NextResponse.json({success:!1,error:{type:d.wU.VALIDATION_ERROR,message:"No D1 databases configured"}},{status:400});let s=o.d1_databases[0].database_name,u=await f(i,r,t,s);return n.NextResponse.json({success:!0,message:"Pull migrations applied successfully",details:u})}catch(e){return m.A.error("Pull remote confirm error:",e),n.NextResponse.json({success:!1,error:{type:e.type||d.wU.EXECUTION_ERROR,message:e.message||"Failed to apply pull migrations",details:e.details||{suggestions:["Check your Cloudflare credentials","Verify database permissions","Ensure all migration files are accessible"]}}},{status:500})}}async function x(){return new n.NextResponse(null,{status:204})}let A=new a.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/pull-remote/confirm/route",pathname:"/api/pull-remote/confirm",filename:"route",bundlePath:"app/api/pull-remote/confirm/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/pull-remote/confirm/route.js",nextConfigOutput:"",userland:i}),{workAsyncStorage:h,workUnitAsyncStorage:y,serverHooks:b}=A;function R(){return(0,s.patchFetch)({workAsyncStorage:h,workUnitAsyncStorage:y})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),i=r.X(0,[638,686,801],()=>t(9556));module.exports=i})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/603.js","../../../../chunks/638.js","../../../../chunks/686.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/638.js","../../../../chunks/686.js","../../../../chunks/801.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=399,e.ids=[399],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},6216:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>f,routeModule:()=>m,serverHooks:()=>R,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>v});var s={};t.r(s),t.d(s,{OPTIONS:()=>g,POST:()=>x});var o=t(2706),a=t(8203),n=t(5994),i=t(9187),p=t(9999),u=t(9421),l=t(4218),c=t(961);async function d(e,r,t,s){let o={...process.env,CLOUDFLARE_API_TOKEN:t,CLOUDFLARE_ACCOUNT_ID:r};try{let r=await (0,l.ZX)(e,s,o,!0),t=await (0,c.GS)(e,s,o),a=(0,l.IC)(r),n={preview:[],totalTables:r.length,totalMigrations:t.length};return a.forEach((e,t)=>{r.find(r=>r.name===e)&&n.preview.push({name:e,type:"table",action:"will be created",order:t+1})}),t.forEach(e=>{n.preview.push({name:e.name,type:"migration",action:"will be tracked"})}),n}catch(e){throw console.error("Pull preview generation error:",e),e}}async function x(e){try{let{accountId:r,apiToken:t}=await e.json(),s=process.env.D1_PROJECT_DIR;if(!s)return i.NextResponse.json({success:!1,error:{type:u.wU.VALIDATION_ERROR,message:"Project directory not configured"}},{status:500});let o=await (0,p.S)(s);if(!o||!o.config)return i.NextResponse.json({success:!1,error:{type:u.wU.VALIDATION_ERROR,message:"Could not find Wrangler configuration"}},{status:400});let a=o.config;if(!a.d1_databases?.length)return i.NextResponse.json({success:!1,error:{type:u.wU.VALIDATION_ERROR,message:"No D1 databases configured"}},{status:400});let n=a.d1_databases[0].database_name,l=await d(s,r,t,n);return i.NextResponse.json({success:!0,message:"Pull migration preview generated",details:l})}catch(e){return console.error("Pull remote preview error:",e),i.NextResponse.json({success:!1,error:{type:e.type||u.wU.EXECUTION_ERROR,message:e.message||"Failed to generate pull migration preview",details:e.details}},{status:500})}}async function g(){return new i.NextResponse(null,{status:204})}let m=new o.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/pull-remote/preview/route",pathname:"/api/pull-remote/preview",filename:"route",bundlePath:"app/api/pull-remote/preview/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/pull-remote/preview/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:w,workUnitAsyncStorage:v,serverHooks:R}=m;function f(){return(0,n.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:v})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686,603],()=>t(6216));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=399,e.ids=[399],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},9551:e=>{e.exports=require("url")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},6216:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>q,routeModule:()=>w,serverHooks:()=>f,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>R});var s={};t.r(s),t.d(s,{OPTIONS:()=>m,POST:()=>g});var o=t(2706),a=t(8203),i=t(5994),n=t(9187),p=t(5949),u=t(9421),l=t(4218),d=t(961),c=t(1804);async function x(e,r,t,s){let o={...process.env,CLOUDFLARE_API_TOKEN:t,CLOUDFLARE_ACCOUNT_ID:r};try{let r=await (0,l.ZX)(e,s,o,!0),t=await (0,d.GS)(e,s,o),a=(0,l.IC)(r),i={preview:[],totalTables:r.length,totalMigrations:t.length};return a.forEach((e,t)=>{r.find(r=>r.name===e)&&i.preview.push({name:e,type:"table",action:"will be created",order:t+1})}),t.forEach(e=>{i.preview.push({name:e.name,type:"migration",action:"will be tracked"})}),i}catch(e){throw c.A.error("Pull preview generation error:",e),e}}async function g(e){try{let{accountId:r,apiToken:t}=await e.json(),s=process.env.D1_PROJECT_DIR;if(!s)return n.NextResponse.json({success:!1,error:{type:u.wU.VALIDATION_ERROR,message:"Project directory not configured"}},{status:500});let o=await (0,p.S)(s);if(!o||!o.config)return n.NextResponse.json({success:!1,error:{type:u.wU.VALIDATION_ERROR,message:"Could not find Wrangler configuration"}},{status:400});let a=o.config;if(!a.d1_databases?.length)return n.NextResponse.json({success:!1,error:{type:u.wU.VALIDATION_ERROR,message:"No D1 databases configured"}},{status:400});let i=a.d1_databases[0].database_name,l=await x(s,r,t,i);return n.NextResponse.json({success:!0,message:"Pull migration preview generated",details:l})}catch(e){return c.A.error("Pull remote preview error:",e),n.NextResponse.json({success:!1,error:{type:e.type||u.wU.EXECUTION_ERROR,message:e.message||"Failed to generate pull migration preview",details:e.details}},{status:500})}}async function m(){return new n.NextResponse(null,{status:204})}let w=new o.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/pull-remote/preview/route",pathname:"/api/pull-remote/preview",filename:"route",bundlePath:"app/api/pull-remote/preview/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/pull-remote/preview/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:v,workUnitAsyncStorage:R,serverHooks:f}=w;function q(){return(0,i.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:R})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686,801],()=>t(6216));module.exports=s})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/603.js","../../../../chunks/638.js","../../../../chunks/686.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/638.js","../../../../chunks/686.js","../../../../chunks/801.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1,4 +1,4 @@
1
- "use strict";(()=>{var e={};e.id=680,e.ids=[680],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},7628:(e,r,s)=>{s.r(r),s.d(r,{patchFetch:()=>f,routeModule:()=>R,serverHooks:()=>g,workAsyncStorage:()=>x,workUnitAsyncStorage:()=>h});var t={};s.r(t),s.d(t,{OPTIONS:()=>T,POST:()=>E});var a=s(2706),i=s(8203),o=s(5994),n=s(9187),p=s(9748),u=s(3873),d=s(9999),l=s(9421),c=s(961);async function m(e,r,s,t,a=!1){let i={...process.env,CLOUDFLARE_ACCOUNT_ID:r,CLOUDFLARE_API_TOKEN:s};try{let r=`
1
+ "use strict";(()=>{var e={};e.id=680,e.ids=[680],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},9551:e=>{e.exports=require("url")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},7628:(e,r,s)=>{s.r(r),s.d(r,{patchFetch:()=>f,routeModule:()=>R,serverHooks:()=>g,workAsyncStorage:()=>x,workUnitAsyncStorage:()=>h});var t={};s.r(t),s.d(t,{OPTIONS:()=>T,POST:()=>E});var a=s(2706),i=s(8203),o=s(5994),n=s(9187),p=s(9748),u=s(3873),d=s(5949),l=s(9421),c=s(961);async function m(e,r,s,t,a=!1){let i={...process.env,CLOUDFLARE_ACCOUNT_ID:r,CLOUDFLARE_API_TOKEN:s};try{let r=`
2
2
  CREATE TABLE IF NOT EXISTS d1_migrations (
3
3
  id INTEGER PRIMARY KEY AUTOINCREMENT,
4
4
  name TEXT NOT NULL UNIQUE,
@@ -11,4 +11,4 @@
11
11
  name TEXT NOT NULL UNIQUE,
12
12
  applied_at DATETIME DEFAULT CURRENT_TIMESTAMP
13
13
  );
14
- `;await (0,l.KK)(e,t,r),await (0,l.KK)(e,t,s,i,!0);let o=await (0,l.KK)(e,t,"SELECT name FROM d1_migrations ORDER BY applied_at;",i,!0),n=new Map((e=>{try{let r=JSON.parse(e);return r[0]?.results||[]}catch{return[]}})(o).map(e=>[e.name,e])),d=u.join(e,"migrations"),m=(await (0,p.readdir)(d)).filter(e=>e.endsWith(".sql")).sort(),E={applied:[],skipped:[],preview:[]};for(let r of m){let s=u.join(d,r),o={name:r,action:"",reason:""};try{if(!(await (0,c.JD)(s)).isValid){o.action="failed validation",o.reason="Migration validation failed",E.preview.push(o);continue}if(n.has(r)){o.action="skipped",o.reason="Already applied",E.preview.push(o),E.skipped.push({name:r,reason:o.reason});continue}let u=await (0,p.readFile)(s,"utf8");u=(0,l.bp)(u);let d=(0,l.By)(u),m=d.tableName;if("CREATE_TABLE"===d.type&&m&&await (0,l.F9)(e,t,i,m,!0)){o.action="skipped",o.reason=`Table "${m}" already exists`,E.skipped.push({name:r,reason:o.reason}),E.preview.push(o);continue}o.action="will be applied",E.preview.push(o),a||(await (0,l.KK)(e,t,u,i,!0),await (0,l.KK)(e,t,`INSERT INTO d1_migrations (name) VALUES ('${r}');`,i,!0),o.action="applied",E.applied.push({name:r}))}catch(t){let e=t.message||"",s=t.details&&t.details.stderr||"";e.includes("already exists")||s.includes("already exists")?(o.action="skipped",o.reason="Already applied"):(o.action="failed",o.reason=e||"Failed to apply migration"),E.skipped.push({name:r,reason:o.reason}),E.preview.push(o)}}return{success:!0,preview:!1,applied:E.applied.length,skipped:E.skipped.length,details:E}}catch(e){throw{type:l.wU.EXECUTION_ERROR,message:e.message||"Failed to push migrations",details:e.details||{error:e.stderr||e.message}}}}async function E(e){try{let{accountId:r,apiToken:s}=await e.json(),t=process.env.D1_PROJECT_DIR;if(!t)return n.NextResponse.json({success:!1,error:{message:"Project directory not configured",type:l.wU.VALIDATION_ERROR}},{status:500});let a=await (0,d.S)(t);if(!a||!a.config)return n.NextResponse.json({success:!1,error:{message:"Could not find Wrangler configuration",type:l.wU.VALIDATION_ERROR}},{status:400});let i=a.config;if(!i.d1_databases?.length)return n.NextResponse.json({success:!1,error:{message:"No D1 databases configured",type:l.wU.VALIDATION_ERROR}},{status:400});let o=i.d1_databases[0].database_name,p=await m(t,r,s,o,!1);return n.NextResponse.json({success:!0,message:"Successfully pushed migrations to remote",details:p})}catch(e){return console.error("Push to remote confirm error:",e),n.NextResponse.json({success:!1,error:{type:e.type||l.wU.EXECUTION_ERROR,message:e.message||"Failed to push to remote",details:e.details||{error:e.stderr||e.message}}},{status:e.type===l.wU.VALIDATION_ERROR?400:500})}}async function T(){return new n.NextResponse(null,{status:204})}let R=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/push-remote/confirm/route",pathname:"/api/push-remote/confirm",filename:"route",bundlePath:"app/api/push-remote/confirm/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/push-remote/confirm/route.js",nextConfigOutput:"",userland:t}),{workAsyncStorage:x,workUnitAsyncStorage:h,serverHooks:g}=R;function f(){return(0,o.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:h})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var s=e=>r(r.s=e),t=r.X(0,[638,686,603],()=>s(7628));module.exports=t})();
14
+ `;await (0,l.KK)(e,t,r),await (0,l.KK)(e,t,s,i,!0);let o=await (0,l.KK)(e,t,"SELECT name FROM d1_migrations ORDER BY applied_at;",i,!0),n=new Map((e=>{try{let r=JSON.parse(e);return r[0]?.results||[]}catch{return[]}})(o).map(e=>[e.name,e])),d=u.join(e,"migrations"),m=(await (0,p.readdir)(d)).filter(e=>e.endsWith(".sql")).sort(),E={applied:[],skipped:[],preview:[]};for(let r of m){let s=u.join(d,r),o={name:r,action:"",reason:""};try{if(!(await (0,c.JD)(s)).isValid){o.action="failed validation",o.reason="Migration validation failed",E.preview.push(o);continue}if(n.has(r)){o.action="skipped",o.reason="Already applied",E.preview.push(o),E.skipped.push({name:r,reason:o.reason});continue}let u=await (0,p.readFile)(s,"utf8");u=(0,l.bp)(u);let d=(0,l.By)(u),m=d.tableName;if("CREATE_TABLE"===d.type&&m&&await (0,l.F9)(e,t,i,m,!0)){o.action="skipped",o.reason=`Table "${m}" already exists`,E.skipped.push({name:r,reason:o.reason}),E.preview.push(o);continue}o.action="will be applied",E.preview.push(o),a||(await (0,l.KK)(e,t,u,i,!0),await (0,l.KK)(e,t,`INSERT INTO d1_migrations (name) VALUES ('${r}');`,i,!0),o.action="applied",E.applied.push({name:r}))}catch(t){let e=t.message||"",s=t.details&&t.details.stderr||"";e.includes("already exists")||s.includes("already exists")?(o.action="skipped",o.reason="Already applied"):(o.action="failed",o.reason=e||"Failed to apply migration"),E.skipped.push({name:r,reason:o.reason}),E.preview.push(o)}}return{success:!0,preview:!1,applied:E.applied.length,skipped:E.skipped.length,details:E}}catch(e){throw{type:l.wU.EXECUTION_ERROR,message:e.message||"Failed to push migrations",details:e.details||{error:e.stderr||e.message}}}}async function E(e){try{let{accountId:r,apiToken:s}=await e.json(),t=process.env.D1_PROJECT_DIR;if(!t)return n.NextResponse.json({success:!1,error:{message:"Project directory not configured",type:l.wU.VALIDATION_ERROR}},{status:500});let a=await (0,d.S)(t);if(!a||!a.config)return n.NextResponse.json({success:!1,error:{message:"Could not find Wrangler configuration",type:l.wU.VALIDATION_ERROR}},{status:400});let i=a.config;if(!i.d1_databases?.length)return n.NextResponse.json({success:!1,error:{message:"No D1 databases configured",type:l.wU.VALIDATION_ERROR}},{status:400});let o=i.d1_databases[0].database_name,p=await m(t,r,s,o,!1);return n.NextResponse.json({success:!0,message:"Successfully pushed migrations to remote",details:p})}catch(e){return console.error("Push to remote confirm error:",e),n.NextResponse.json({success:!1,error:{type:e.type||l.wU.EXECUTION_ERROR,message:e.message||"Failed to push to remote",details:e.details||{error:e.stderr||e.message}}},{status:e.type===l.wU.VALIDATION_ERROR?400:500})}}async function T(){return new n.NextResponse(null,{status:204})}let R=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/push-remote/confirm/route",pathname:"/api/push-remote/confirm",filename:"route",bundlePath:"app/api/push-remote/confirm/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/push-remote/confirm/route.js",nextConfigOutput:"",userland:t}),{workAsyncStorage:x,workUnitAsyncStorage:h,serverHooks:g}=R;function f(){return(0,o.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:h})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var s=e=>r(r.s=e),t=r.X(0,[638,686,801],()=>s(7628));module.exports=t})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/603.js","../../../../chunks/638.js","../../../../chunks/686.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/638.js","../../../../chunks/686.js","../../../../chunks/801.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1,4 +1,4 @@
1
- "use strict";(()=>{var e={};e.id=868,e.ids=[868],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},9330:(e,r,s)=>{s.r(r),s.d(r,{patchFetch:()=>w,routeModule:()=>m,serverHooks:()=>h,workAsyncStorage:()=>x,workUnitAsyncStorage:()=>g});var t={};s.r(t),s.d(t,{OPTIONS:()=>T,POST:()=>R});var a=s(2706),i=s(8203),o=s(5994),p=s(9187),n=s(9748),u=s(3873),d=s(9999),c=s(9421),l=s(961);async function E(e,r,s,t,a=!0){let i={...process.env,CLOUDFLARE_ACCOUNT_ID:r,CLOUDFLARE_API_TOKEN:s};try{let r=`
1
+ "use strict";(()=>{var e={};e.id=868,e.ids=[868],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},9551:e=>{e.exports=require("url")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},9330:(e,r,s)=>{s.r(r),s.d(r,{patchFetch:()=>N,routeModule:()=>x,serverHooks:()=>w,workAsyncStorage:()=>g,workUnitAsyncStorage:()=>h});var t={};s.r(t),s.d(t,{OPTIONS:()=>m,POST:()=>T});var a=s(2706),i=s(8203),o=s(5994),p=s(9187),n=s(9748),u=s(3873),d=s(5949),l=s(9421),c=s(961),E=s(1804);async function R(e,r,s,t,a=!0){let i={...process.env,CLOUDFLARE_ACCOUNT_ID:r,CLOUDFLARE_API_TOKEN:s};try{let r=`
2
2
  CREATE TABLE IF NOT EXISTS d1_migrations (
3
3
  id INTEGER PRIMARY KEY AUTOINCREMENT,
4
4
  name TEXT NOT NULL UNIQUE,
@@ -11,4 +11,4 @@
11
11
  name TEXT NOT NULL UNIQUE,
12
12
  applied_at DATETIME DEFAULT CURRENT_TIMESTAMP
13
13
  );
14
- `;await (0,c.KK)(e,t,r),await (0,c.KK)(e,t,s,i,!0);let a=await (0,c.KK)(e,t,"SELECT name FROM d1_migrations ORDER BY applied_at;",i,!0),o=new Map((e=>{try{let r=JSON.parse(e);return r[0]?.results||[]}catch{return[]}})(a).map(e=>[e.name,e])),p=u.join(e,"migrations"),d=(await (0,n.readdir)(p)).filter(e=>e.endsWith(".sql")).sort(),E={applied:[],skipped:[],preview:[]};for(let e of d){let r=u.join(p,e),s={name:e,action:"",reason:""};try{if(!(await (0,l.JD)(r)).isValid){s.action="failed validation",s.reason="Migration validation failed",E.preview.push(s);continue}if(o.has(e)){s.action="skipped",s.reason="Already applied",E.preview.push(s),E.skipped.push({name:e,reason:s.reason});continue}s.action="will be applied",E.preview.push(s)}catch(r){s.action="failed",s.reason=r.message||"Failed to process migration",E.preview.push(s),E.skipped.push({name:e,reason:s.reason})}}return{success:!0,preview:!0,applied:E.applied.length,skipped:E.skipped.length,details:E}}catch(e){throw{type:c.wU.EXECUTION_ERROR,message:e.message||"Failed to push migrations",details:e.details||{error:e.stderr||e.message}}}}async function R(e){try{let{accountId:r,apiToken:s}=await e.json(),t=process.env.D1_PROJECT_DIR;if(!t)return p.NextResponse.json({success:!1,error:{type:c.wU.VALIDATION_ERROR,message:"Project directory not configured"}},{status:500});let a=await (0,d.S)(t);if(!a||!a.config)return p.NextResponse.json({success:!1,error:{type:c.wU.VALIDATION_ERROR,message:"Could not find Wrangler configuration"}},{status:400});let i=a.config;if(!i.d1_databases?.length)return p.NextResponse.json({success:!1,error:{type:c.wU.VALIDATION_ERROR,message:"No D1 databases configured"}},{status:400});let o=i.d1_databases[0].database_name,n=await E(t,r,s,o,!0);return p.NextResponse.json({success:!0,message:"Preview generated for migrations to be pushed to remote",details:n})}catch(e){return console.error("Push to remote preview error:",e),p.NextResponse.json({success:!1,error:{type:e.type||c.wU.EXECUTION_ERROR,message:e.message||"Failed to push to remote preview",details:e.details||{error:e.stderr||e.message}}},{status:e.type===c.wU.VALIDATION_ERROR?400:500})}}async function T(){return new p.NextResponse(null,{status:204})}let m=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/push-remote/preview/route",pathname:"/api/push-remote/preview",filename:"route",bundlePath:"app/api/push-remote/preview/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/push-remote/preview/route.js",nextConfigOutput:"",userland:t}),{workAsyncStorage:x,workUnitAsyncStorage:g,serverHooks:h}=m;function w(){return(0,o.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:g})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var s=e=>r(r.s=e),t=r.X(0,[638,686,603],()=>s(9330));module.exports=t})();
14
+ `;await (0,l.KK)(e,t,r),await (0,l.KK)(e,t,s,i,!0);let a=await (0,l.KK)(e,t,"SELECT name FROM d1_migrations ORDER BY applied_at;",i,!0),o=new Map((e=>{try{let r=JSON.parse(e);return r[0]?.results||[]}catch{return[]}})(a).map(e=>[e.name,e])),p=u.join(e,"migrations"),d=(await (0,n.readdir)(p)).filter(e=>e.endsWith(".sql")).sort(),R={applied:[],skipped:[],preview:[]};for(let e of d){let r=u.join(p,e),s={name:e,action:"",reason:""};try{if(!(await (0,c.JD)(r)).isValid){s.action="failed validation",s.reason="Migration validation failed",R.preview.push(s);continue}if(o.has(e)){s.action="skipped",s.reason="Already applied",R.preview.push(s),R.skipped.push({name:e,reason:s.reason});continue}s.action="will be applied",R.preview.push(s)}catch(r){s.action="failed",s.reason=r.message||"Failed to process migration",R.preview.push(s),R.skipped.push({name:e,reason:s.reason})}}return E.A.debug("Push Preview Result (server):",R),{success:!0,preview:!0,applied:R.applied.length,skipped:R.skipped.length,details:R}}catch(e){throw{type:l.wU.EXECUTION_ERROR,message:e.message||"Failed to push migrations",details:e.details||{error:e.stderr||e.message}}}}async function T(e){try{let{accountId:r,apiToken:s}=await e.json(),t=process.env.D1_PROJECT_DIR;if(!t)return p.NextResponse.json({success:!1,error:{type:l.wU.VALIDATION_ERROR,message:"Project directory not configured"}},{status:500});let a=await (0,d.S)(t);if(!a||!a.config)return p.NextResponse.json({success:!1,error:{type:l.wU.VALIDATION_ERROR,message:"Could not find Wrangler configuration"}},{status:400});let i=a.config;if(!i.d1_databases?.length)return p.NextResponse.json({success:!1,error:{type:l.wU.VALIDATION_ERROR,message:"No D1 databases configured"}},{status:400});let o=i.d1_databases[0].database_name,n=await R(t,r,s,o,!0);return p.NextResponse.json({success:!0,message:"Preview generated for migrations to be pushed to remote",details:n})}catch(e){return E.A.error("Push to remote preview error:",e),p.NextResponse.json({success:!1,error:{type:e.type||l.wU.EXECUTION_ERROR,message:e.message||"Failed to push to remote preview",details:e.details||{error:e.stderr||e.message}}},{status:e.type===l.wU.VALIDATION_ERROR?400:500})}}async function m(){return new p.NextResponse(null,{status:204})}let x=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/push-remote/preview/route",pathname:"/api/push-remote/preview",filename:"route",bundlePath:"app/api/push-remote/preview/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/push-remote/preview/route.js",nextConfigOutput:"",userland:t}),{workAsyncStorage:g,workUnitAsyncStorage:h,serverHooks:w}=x;function N(){return(0,o.patchFetch)({workAsyncStorage:g,workUnitAsyncStorage:h})}}};var r=require("../../../../webpack-runtime.js");r.C(e);var s=e=>r(r.s=e),t=r.X(0,[638,686,801],()=>s(9330));module.exports=t})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/603.js","../../../../chunks/638.js","../../../../chunks/686.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/638.js","../../../../chunks/686.js","../../../../chunks/801.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1,8 +1,8 @@
1
- "use strict";(()=>{var e={};e.id=58,e.ids=[58],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},5999:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>g,routeModule:()=>E,serverHooks:()=>O,workAsyncStorage:()=>N,workUnitAsyncStorage:()=>T});var s={};t.r(s),t.d(s,{OPTIONS:()=>R,POST:()=>p});var o=t(2706),n=t(8203),a=t(5994),i=t(9187),u=t(9999),d=t(9421),l=t(961);let c={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"};async function p(e){try{let r;let t=process.env.D1_PROJECT_DIR;if(!t)return i.NextResponse.json({error:"Project directory not configured"},{status:500});let{query:s}=await e.json();if(!s?.trim())return i.NextResponse.json({success:!1,error:{message:"Query cannot be empty"}},{status:400});let o=await (0,u.S)(t);if(!o||!o.config)return i.NextResponse.json({success:!1,error:{message:"No Wrangler configuration file found"}},{status:404});let n=o.config;if(!n.d1_databases?.length)return i.NextResponse.json({success:!1,error:{message:"No D1 databases configured"}},{status:404});let a=n.d1_databases[0].database_name,c=(0,d.mA)(s);if(!c.length)return i.NextResponse.json({success:!1,error:{message:"No valid SQL statements found"}},{status:400});c=c.map(d.Gq);let p=`
1
+ "use strict";(()=>{var e={};e.id=58,e.ids=[58],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{e.exports=require("buffer")},9646:e=>{e.exports=require("child_process")},5511:e=>{e.exports=require("crypto")},4735:e=>{e.exports=require("events")},9021:e=>{e.exports=require("fs")},9748:e=>{e.exports=require("fs/promises")},1630:e=>{e.exports=require("http")},5591:e=>{e.exports=require("https")},1820:e=>{e.exports=require("os")},3873:e=>{e.exports=require("path")},7910:e=>{e.exports=require("stream")},1204:e=>{e.exports=require("string_decoder")},9551:e=>{e.exports=require("url")},8354:e=>{e.exports=require("util")},4075:e=>{e.exports=require("zlib")},3024:e=>{e.exports=require("node:fs")},6760:e=>{e.exports=require("node:path")},1708:e=>{e.exports=require("node:process")},3136:e=>{e.exports=require("node:url")},5999:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>f,routeModule:()=>N,serverHooks:()=>g,workAsyncStorage:()=>T,workUnitAsyncStorage:()=>O});var s={};t.r(s),t.d(s,{OPTIONS:()=>E,POST:()=>R});var o=t(2706),n=t(8203),a=t(5994),i=t(9187),u=t(5949),d=t(9421),l=t(961);let c={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"};var p=t(1804);async function R(e){p.A.logRequest("POST","/api/query");try{let r;let t=process.env.D1_PROJECT_DIR;if(!t)return p.A.error("Project directory not configured"),i.NextResponse.json({error:"Project directory not configured"},{status:500});let{query:s}=await e.json();if(p.A.shouldLog("debug")&&p.A.debug("Received query:",s),!s?.trim())return i.NextResponse.json({success:!1,error:{message:"Query cannot be empty"}},{status:400});let o=await (0,u.S)(t);if(!o||!o.config)return p.A.error("No Wrangler configuration file found"),i.NextResponse.json({success:!1,error:{message:"No Wrangler configuration file found"}},{status:404});let n=o.config;if(!n.d1_databases?.length)return i.NextResponse.json({success:!1,error:{message:"No D1 databases configured"}},{status:404});let a=n.d1_databases[0].database_name,c=(0,d.mA)(s);if(!c.length)return i.NextResponse.json({success:!1,error:{message:"No valid SQL statements found"}},{status:400});c=c.map(d.Gq);let R=`
2
2
  CREATE TABLE IF NOT EXISTS d1_migrations (
3
3
  id INTEGER PRIMARY KEY AUTOINCREMENT,
4
4
  name TEXT NOT NULL UNIQUE,
5
5
  checksum TEXT NOT NULL,
6
6
  applied_at DATETIME DEFAULT CURRENT_TIMESTAMP
7
7
  );
8
- `;if(await (0,d.KK)(t,a,p),c.some(d.QQ)){let e=await (0,l.Gc)(t,a,c);console.log("Schema changes processed:",e),r={success:!0,migrations:e,results:[{results:[]}]}}else{let e=[];for(let r of c){let s=await (0,d.KK)(t,a,r.sql);try{let r=JSON.parse(s),t=r[0]?.results||[];e.push(...t)}catch(e){continue}}r={success:!0,results:[{results:e}]}}return i.NextResponse.json(r)}catch(t){console.error("Query execution error:",t);let e=function(e){if(console.debug("parseSQLError - Received error:",e),!e)return console.debug("parseSQLError - error is null or undefined."),{type:c.UNKNOWN_ERROR,message:"An unknown error occurred",details:{}};let r="",t=null,s=null,o=e.cmd||e.details&&e.details.command;if(o){let e=o.match(/--command="(.+?)"/s);e&&console.debug("parseSQLError - Extracted original query:",s=e[1].replace(/\\n/g,"\n"))}let n=e.stderr||e.details&&e.details.stderr;if(n){let a=n.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,"");if(console.debug("parseSQLError - Cleaned stderr:",a),a.includes("env: node: No such file or directory"))return console.debug("parseSQLError - Detected 'env: node: No such file or directory' error."),{type:c.EXECUTION_ERROR,message:e.message||"Execution error: env: node: No such file or directory",details:{originalQuery:s,stderr:a}};let i=a.match(/near "([^"]+)": syntax error at offset (\d+)/);if(i){let[e,o,n]=i;return t=parseInt(n,10),r=`Syntax error near "${o}" at position ${t}`,console.debug("parseSQLError - Syntax error detected:",{near:o,offset:t}),{type:c.SYNTAX_ERROR,message:r,details:{originalQuery:s,errorLocation:{offset:t,near:o},stderr:a}}}if(a.includes("UNIQUE constraint failed")){let[e,r,t]=a.match(/UNIQUE constraint failed: (\w+)\.(\w+)/)||[];return console.debug("parseSQLError - UNIQUE constraint error detected:",{table:r,column:t}),{type:c.UNIQUE_CONSTRAINT_ERROR,message:`Unique constraint violation updating ${r}.${t}`,details:{originalQuery:s,stderr:a}}}if(a.includes("NOT NULL constraint failed")){let[e,r,t]=a.match(/NOT NULL constraint failed: (\w+)\.(\w+)/)||[];return console.debug("parseSQLError - NOT NULL constraint error detected:",{table:r,column:t}),{type:c.NOT_NULL_CONSTRAINT_ERROR,message:`NOT NULL constraint violation updating ${r}.${t}`,details:{originalQuery:s,stderr:a}}}if(a.includes("CHECK constraint failed")){let[e,r]=a.match(/CHECK constraint failed: (\w+)/)||[];return console.debug("parseSQLError - CHECK constraint error detected:",{constraintName:r}),{type:c.CHECK_CONSTRAINT_ERROR,message:`Check constraint violation updating ${r}`,details:{originalQuery:s,stderr:a}}}if(a.includes("FOREIGN KEY constraint failed")){console.debug("parseSQLError - FOREIGN KEY constraint error detected.");let e=/--command="([^"]+)"/.exec(o||""),r=e?e[1]:null,t={};if(r){let e=/UPDATE\s+(\w+)\s+SET\s+(\w+)\s*=/.exec(r);e&&(t={table:e[1],column:e[2]})}let s=t.table?`Foreign key constraint violation updating ${t.table}.${t.column}`:"Foreign key constraint violation";return{type:c.FOREIGN_KEY_ERROR,message:s,details:{...t,originalQuery:r,stderr:a}}}if(a.includes("no such table")){let[e,r]=a.match(/no such table: (\w+)/)||[];return console.debug("parseSQLError - Table not found error detected:",{table:r}),{type:c.TABLE_NOT_FOUND,message:`Table not found: ${r}`,details:{originalQuery:s,stderr:a}}}if(a.includes("already exists")){let[e,r]=a.match(/table (\w+) already exists/)||[];return console.debug("parseSQLError - Table exists error detected:",{table:r}),{type:c.TABLE_EXISTS,message:`Table already exists: ${r}`,details:{originalQuery:s,stderr:a}}}return console.debug("parseSQLError - No specific error match found. Using fallback for execution error."),{type:c.EXECUTION_ERROR,message:e.message||"Failed to execute SQL command",details:{originalQuery:s,stderr:a}}}return console.debug("parseSQLError - No stderr available; using default error handling."),{type:c.UNKNOWN_ERROR,message:e.message||"An unknown error occurred",details:{}}}(t),r=t.type===d.wU.VALIDATION_ERROR?400:t.type===d.wU.DEPENDENCY_ERROR?409:500;return i.NextResponse.json({success:!1,error:e},{status:r})}}async function R(){return new i.NextResponse(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}})}let E=new o.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/query/route",pathname:"/api/query",filename:"route",bundlePath:"app/api/query/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/query/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:N,workUnitAsyncStorage:T,serverHooks:O}=E;function g(){return(0,a.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:T})}}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686,603],()=>t(5999));module.exports=s})();
8
+ `;if(await (0,d.KK)(t,a,R),c.some(d.QQ)){let e=await (0,l.Gc)(t,a,c);r={success:!0,migrations:e,results:[{results:[]}]}}else{let e=[];for(let r of c){let s=await (0,d.KK)(t,a,r.sql);try{let r=JSON.parse(s),t=r[0]?.results||[];e.push(...t)}catch(e){continue}}r={success:!0,results:[{results:e}]}}return i.NextResponse.json(r)}catch(t){p.A.logError(t,"query-route");let e=function(e){if(console.debug("parseSQLError - Received error:",e),!e)return console.debug("parseSQLError - error is null or undefined."),{type:c.UNKNOWN_ERROR,message:"An unknown error occurred",details:{}};let r="",t=null,s=null,o=e.cmd||e.details&&e.details.command;if(o){let e=o.match(/--command="(.+?)"/s);e&&console.debug("parseSQLError - Extracted original query:",s=e[1].replace(/\\n/g,"\n"))}let n=e.stderr||e.details&&e.details.stderr;if(n){let a=n.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,"");if(console.debug("parseSQLError - Cleaned stderr:",a),a.includes("env: node: No such file or directory"))return console.debug("parseSQLError - Detected 'env: node: No such file or directory' error."),{type:c.EXECUTION_ERROR,message:e.message||"Execution error: env: node: No such file or directory",details:{originalQuery:s,stderr:a}};let i=a.match(/near "([^"]+)": syntax error at offset (\d+)/);if(i){let[e,o,n]=i;return t=parseInt(n,10),r=`Syntax error near "${o}" at position ${t}`,console.debug("parseSQLError - Syntax error detected:",{near:o,offset:t}),{type:c.SYNTAX_ERROR,message:r,details:{originalQuery:s,errorLocation:{offset:t,near:o},stderr:a}}}if(a.includes("UNIQUE constraint failed")){let[e,r,t]=a.match(/UNIQUE constraint failed: (\w+)\.(\w+)/)||[];return console.debug("parseSQLError - UNIQUE constraint error detected:",{table:r,column:t}),{type:c.UNIQUE_CONSTRAINT_ERROR,message:`Unique constraint violation updating ${r}.${t}`,details:{originalQuery:s,stderr:a}}}if(a.includes("NOT NULL constraint failed")){let[e,r,t]=a.match(/NOT NULL constraint failed: (\w+)\.(\w+)/)||[];return console.debug("parseSQLError - NOT NULL constraint error detected:",{table:r,column:t}),{type:c.NOT_NULL_CONSTRAINT_ERROR,message:`NOT NULL constraint violation updating ${r}.${t}`,details:{originalQuery:s,stderr:a}}}if(a.includes("CHECK constraint failed")){let[e,r]=a.match(/CHECK constraint failed: (\w+)/)||[];return console.debug("parseSQLError - CHECK constraint error detected:",{constraintName:r}),{type:c.CHECK_CONSTRAINT_ERROR,message:`Check constraint violation updating ${r}`,details:{originalQuery:s,stderr:a}}}if(a.includes("FOREIGN KEY constraint failed")){console.debug("parseSQLError - FOREIGN KEY constraint error detected.");let e=/--command="([^"]+)"/.exec(o||""),r=e?e[1]:null,t={};if(r){let e=/UPDATE\s+(\w+)\s+SET\s+(\w+)\s*=/.exec(r);e&&(t={table:e[1],column:e[2]})}let s=t.table?`Foreign key constraint violation updating ${t.table}.${t.column}`:"Foreign key constraint violation";return{type:c.FOREIGN_KEY_ERROR,message:s,details:{...t,originalQuery:r,stderr:a}}}if(a.includes("no such table")){let[e,r]=a.match(/no such table: (\w+)/)||[];return console.debug("parseSQLError - Table not found error detected:",{table:r}),{type:c.TABLE_NOT_FOUND,message:`Table not found: ${r}`,details:{originalQuery:s,stderr:a}}}if(a.includes("already exists")){let[e,r]=a.match(/table (\w+) already exists/)||[];return console.debug("parseSQLError - Table exists error detected:",{table:r}),{type:c.TABLE_EXISTS,message:`Table already exists: ${r}`,details:{originalQuery:s,stderr:a}}}return console.debug("parseSQLError - No specific error match found. Using fallback for execution error."),{type:c.EXECUTION_ERROR,message:e.message||"Failed to execute SQL command",details:{originalQuery:s,stderr:a}}}return console.debug("parseSQLError - No stderr available; using default error handling."),{type:c.UNKNOWN_ERROR,message:e.message||"An unknown error occurred",details:{}}}(t),r=t.type===d.wU.VALIDATION_ERROR?400:t.type===d.wU.DEPENDENCY_ERROR?409:500;return i.NextResponse.json({success:!1,error:e},{status:r})}}async function E(){return new i.NextResponse(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}})}let N=new o.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/query/route",pathname:"/api/query",filename:"route",bundlePath:"app/api/query/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/query/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:T,workUnitAsyncStorage:O,serverHooks:g}=N;function f(){return(0,a.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:O})}}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686,801],()=>t(5999));module.exports=s})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/603.js","../../../chunks/638.js","../../../chunks/686.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/638.js","../../../chunks/686.js","../../../chunks/801.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1,5 +1,5 @@
1
- (()=>{var e={};e.id=175,e.ids=[175],e.modules={846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{"use strict";e.exports=require("buffer")},9646:e=>{"use strict";e.exports=require("child_process")},4735:e=>{"use strict";e.exports=require("events")},9021:e=>{"use strict";e.exports=require("fs")},9748:e=>{"use strict";e.exports=require("fs/promises")},1630:e=>{"use strict";e.exports=require("http")},5591:e=>{"use strict";e.exports=require("https")},1820:e=>{"use strict";e.exports=require("os")},3873:e=>{"use strict";e.exports=require("path")},7910:e=>{"use strict";e.exports=require("stream")},1204:e=>{"use strict";e.exports=require("string_decoder")},8354:e=>{"use strict";e.exports=require("util")},4075:e=>{"use strict";e.exports=require("zlib")},3024:e=>{"use strict";e.exports=require("node:fs")},6760:e=>{"use strict";e.exports=require("node:path")},1708:e=>{"use strict";e.exports=require("node:process")},3136:e=>{"use strict";e.exports=require("node:url")},2616:(e,r,t)=>{"use strict";t.r(r),t.d(r,{patchFetch:()=>j,routeModule:()=>y,serverHooks:()=>b,workAsyncStorage:()=>E,workUnitAsyncStorage:()=>P});var s={};t.r(s),t.d(s,{GET:()=>w,OPTIONS:()=>q,dynamic:()=>m,runtime:()=>g});var o=t(2706),a=t(8203),n=t(5994),i=t(9187),u=t(8354),c=t(9646),l=t(9999);class p{constructor(){this.queue=[],this.isProcessing=!1}async add(e){return new Promise((r,t)=>{this.queue.push({operation:e,resolve:r,reject:t}),this.processNext()})}async processNext(){if(this.isProcessing||0===this.queue.length)return;this.isProcessing=!0;let{operation:e,resolve:r,reject:t}=this.queue.shift();try{let t=await e();r(t)}catch(e){t(e)}finally{this.isProcessing=!1,this.processNext()}}}let d=new p,f=(0,u.promisify)(c.exec),g="nodejs",m="force-dynamic",h=!1;async function x(e,r,t){try{for(;h;)await new Promise(e=>setTimeout(e,100));h=!0;let{stdout:s}=await f(`wrangler d1 execute ${t} --local --command="${e.replace(/"/g,'\\"')}" --json`,{cwd:r}),o=JSON.parse(s);return o[0]?.results||[]}catch(e){throw console.error("Query execution error:",e),e}finally{h=!1}}async function w(e,r){return d.add(async()=>{try{let{name:t}=await r.params,{searchParams:s}=new URL(e.url),o=parseInt(s.get("page"))||1,a=parseInt(s.get("limit"))||50,n=(o-1)*a,u=process.env.D1_PROJECT_DIR;if(!u)throw Error("Project directory not configured");let c=await (0,l.S)(u);if(!c||!c.config)throw Error("No Wrangler configuration file found");let p=c.config;if(!p.d1_databases?.length)throw Error("No D1 databases configured");let d=p.d1_databases[0].database_name,f=`PRAGMA table_info(${t});`,g=await x(f,u,d),m=`SELECT sql FROM sqlite_master WHERE type='table' AND name='${t}';`,h=await x(m,u,d),w=h[0]?.sql||"",q=function(e){let r;let t={},s=/CHECK\s*\(\s*(\w+)\s+IN\s*\((.*?)\)\s*\)/gi;for(;null!==(r=s.exec(e));){let e=r[1],s=r[2].split(",").map(e=>e.trim().replace(/^'|'$/g,""));t[e]=s}return t}(w),y=g.map(e=>({...e,check:q[e.name]||null})),E=`SELECT COUNT(*) as total FROM ${t};`,P=await x(E,u,d),b=P[0]?.total||0,j=g.find(e=>1===e.pk)?.name||g[0]?.name,C=`
1
+ (()=>{var e={};e.id=175,e.ids=[175],e.modules={846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{"use strict";e.exports=require("buffer")},9646:e=>{"use strict";e.exports=require("child_process")},4735:e=>{"use strict";e.exports=require("events")},9021:e=>{"use strict";e.exports=require("fs")},9748:e=>{"use strict";e.exports=require("fs/promises")},1630:e=>{"use strict";e.exports=require("http")},5591:e=>{"use strict";e.exports=require("https")},1820:e=>{"use strict";e.exports=require("os")},3873:e=>{"use strict";e.exports=require("path")},7910:e=>{"use strict";e.exports=require("stream")},1204:e=>{"use strict";e.exports=require("string_decoder")},9551:e=>{"use strict";e.exports=require("url")},8354:e=>{"use strict";e.exports=require("util")},4075:e=>{"use strict";e.exports=require("zlib")},3024:e=>{"use strict";e.exports=require("node:fs")},6760:e=>{"use strict";e.exports=require("node:path")},1708:e=>{"use strict";e.exports=require("node:process")},3136:e=>{"use strict";e.exports=require("node:url")},2616:(e,r,t)=>{"use strict";t.r(r),t.d(r,{patchFetch:()=>P,routeModule:()=>E,serverHooks:()=>A,workAsyncStorage:()=>$,workUnitAsyncStorage:()=>b});var s={};t.r(s),t.d(s,{GET:()=>q,OPTIONS:()=>y,dynamic:()=>h,runtime:()=>m});var o=t(2706),a=t(8203),i=t(5994),n=t(9187),u=t(8354),c=t(9646),l=t(5949),p=t(1804);class d{constructor(){this.queue=[],this.isProcessing=!1}async add(e){return new Promise((r,t)=>{this.queue.push({operation:e,resolve:r,reject:t}),this.processNext()})}async processNext(){if(this.isProcessing||0===this.queue.length)return;this.isProcessing=!0;let{operation:e,resolve:r,reject:t}=this.queue.shift();try{let t=await e();r(t)}catch(e){p.A.error("Error processing database queue operation:",e),t(e)}finally{this.isProcessing=!1,this.processNext()}}}let g=new d,f=(0,u.promisify)(c.exec),m="nodejs",h="force-dynamic",x=!1;async function w(e,r,t){try{for(;x;)await new Promise(e=>setTimeout(e,100));x=!0;let{stdout:s}=await f(`wrangler d1 execute ${t} --local --command="${e.replace(/"/g,'\\"')}" --json`,{cwd:r}),o=JSON.parse(s);return o[0]?.results||[]}catch(e){throw p.A.error("Query execution error:",e),e}finally{x=!1}}async function q(e,r){return g.add(async()=>{try{let{name:t}=await r.params,{searchParams:s}=new URL(e.url),o=parseInt(s.get("page"))||1,a=parseInt(s.get("limit"))||50,i=(o-1)*a,u=process.env.D1_PROJECT_DIR;if(!u)throw Error("Project directory not configured");let c=await (0,l.S)(u);if(!c||!c.config)throw Error("No Wrangler configuration file found");let p=c.config;if(!p.d1_databases?.length)throw Error("No D1 databases configured");let d=p.d1_databases[0].database_name,g=`PRAGMA table_info(${t});`,f=await w(g,u,d),m=`SELECT sql FROM sqlite_master WHERE type='table' AND name='${t}';`,h=await w(m,u,d),x=h[0]?.sql||"",q=function(e){let r;let t={},s=/CHECK\s*\(\s*(\w+)\s+IN\s*\((.*?)\)\s*\)/gi;for(;null!==(r=s.exec(e));){let e=r[1],s=r[2].split(",").map(e=>e.trim().replace(/^'|'$/g,""));t[e]=s}return t}(x),y=f.map(e=>({...e,check:q[e.name]||null})),E=`SELECT COUNT(*) as total FROM ${t};`,$=await w(E,u,d),b=$[0]?.total||0,A=f.find(e=>1===e.pk)?.name||f[0]?.name,P=`
2
2
  SELECT * FROM ${t}
3
- ORDER BY ${j} DESC
4
- LIMIT ${a} OFFSET ${n};
5
- `,N=await x(C,u,d);return i.NextResponse.json({success:!0,schema:y,data:N,meta:{tableName:t,total:b,page:o,limit:a,totalPages:Math.ceil(b/a),rowCount:N.length,columnCount:g.length}})}catch(e){return console.error("Error handling request:",e),i.NextResponse.json({success:!1,error:{message:e.message,details:e.stack}},{status:e.message.includes("not configured")?500:e.message.includes("not found")?404:500})}})}async function q(){return new i.NextResponse(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}})}let y=new o.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/tables/[name]/route",pathname:"/api/tables/[name]",filename:"route",bundlePath:"app/api/tables/[name]/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/tables/[name]/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:E,workUnitAsyncStorage:P,serverHooks:b}=y;function j(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:P})}},6487:()=>{},8335:()=>{},9999:(e,r,t)=>{"use strict";t.d(r,{S:()=>g});var s=t(9748),o=t(3149),a=t(2537),n=t(6789),i=t(6399);let{combine:u,timestamp:c,printf:l,colorize:p}=i.format,d=l(({level:e,message:r,timestamp:t})=>`${t} ${e}: ${r}`),f=i.createLogger({level:"info",format:u(c({format:"YYYY-MM-DD HH:mm:ss"}),p(),d),transports:[new i.transports.Console]});async function g(e){try{let r;if(!e||"string"!=typeof e)throw Error("Project path is required and must be a string");let t=null,i=null;for(let r of["wrangler.toml","wrangler.json","wrangler.jsonc"])if(t=await (0,o.dJ)(r,{cwd:e})){i=r;break}if(!t)return f.warn(`No Wrangler configuration file found in: ${e}`),null;f.info(`Found ${i} at: ${t}`);let u=await (0,s.readFile)(t,"utf-8");return i.endsWith(".toml")?r=(0,a.parse)(u):(i.endsWith(".jsonc")&&(u=(0,n.A)(u)),r=JSON.parse(u)),{config:r,projectPath:e}}catch(e){throw f.error(`Error reading Wrangler configuration: ${e.message}`),e}}}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686],()=>t(2616));module.exports=s})();
3
+ ORDER BY ${A} DESC
4
+ LIMIT ${a} OFFSET ${i};
5
+ `,v=await w(P,u,d);return n.NextResponse.json({success:!0,schema:y,data:v,meta:{tableName:t,total:b,page:o,limit:a,totalPages:Math.ceil(b/a),rowCount:v.length,columnCount:f.length}})}catch(e){return p.A.error("Error handling request:",e),n.NextResponse.json({success:!1,error:{message:e.message,details:e.stack}},{status:e.message.includes("not configured")?500:e.message.includes("not found")?404:500})}})}async function y(){return new n.NextResponse(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}})}let E=new o.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/tables/[name]/route",pathname:"/api/tables/[name]",filename:"route",bundlePath:"app/api/tables/[name]/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/tables/[name]/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:$,workUnitAsyncStorage:b,serverHooks:A}=E;function P(){return(0,i.patchFetch)({workAsyncStorage:$,workUnitAsyncStorage:b})}},6487:()=>{},8335:()=>{},5949:(e,r,t)=>{"use strict";t.d(r,{S:()=>u});var s=t(9748),o=t(3149),a=t(2537),i=t(6789),n=t(1804);async function u(e){try{let r;if(!e||"string"!=typeof e)throw Error("Project path is required and must be a string");let t=null,u=null;for(let r of["wrangler.toml","wrangler.json","wrangler.jsonc"])if(t=await (0,o.dJ)(r,{cwd:e})){u=r;break}if(!t)return n.A.warn(`No Wrangler configuration file found in: ${e}`),null;n.A.info(`Found ${u} at: ${t}`);let c=await (0,s.readFile)(t,"utf-8");return u.endsWith(".toml")?r=(0,a.parse)(c):(u.endsWith(".jsonc")&&(c=(0,i.A)(c)),r=JSON.parse(c)),{config:r,projectPath:e}}catch(e){throw n.A.error(`Error reading Wrangler configuration: ${e.message}`),e}}},1804:(e,r,t)=>{"use strict";t.d(r,{A:()=>g});var s=t(6399),o=t(9551);t(3873);let{combine:a,timestamp:i,printf:n,colorize:u}=s.format,c="true"===process.env.ENABLE_LOGGING,l=(0,o.fileURLToPath)("file:///Users/karenredona/Desktop/d1studio/src/lib/logger.js").includes("node_modules"),p=n(({level:e,message:r,timestamp:t})=>`${t} ${e}: ${r}`),d=s.createLogger({level:"info",format:a(i({format:"YYYY-MM-DD HH:mm:ss"}),u(),p),transports:[new s.transports.Console({silent:l&&!c&&!0,level:l?"warn":"debug"})]});d.shouldLog=e=>"error"===e||"warn"===e||!!c,d.logRequest=(e,r)=>{d.shouldLog("info")&&d.info(`${e} ${r}`)},d.logQuery=e=>{d.shouldLog("debug")&&d.debug(`Executing query: ${e}`)},d.logError=(e,r="")=>{let t=e.message||e.toString(),s=r?`[${r}] `:"";d.error(`${s}${t}`,{stack:e.stack,details:e.details||{}})};let g=d}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686],()=>t(2616));module.exports=s})();
@@ -1,7 +1,7 @@
1
- (()=>{var e={};e.id=761,e.ids=[761],e.modules={846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{"use strict";e.exports=require("buffer")},9646:e=>{"use strict";e.exports=require("child_process")},4735:e=>{"use strict";e.exports=require("events")},9021:e=>{"use strict";e.exports=require("fs")},9748:e=>{"use strict";e.exports=require("fs/promises")},1630:e=>{"use strict";e.exports=require("http")},5591:e=>{"use strict";e.exports=require("https")},1820:e=>{"use strict";e.exports=require("os")},3873:e=>{"use strict";e.exports=require("path")},7910:e=>{"use strict";e.exports=require("stream")},1204:e=>{"use strict";e.exports=require("string_decoder")},8354:e=>{"use strict";e.exports=require("util")},4075:e=>{"use strict";e.exports=require("zlib")},3024:e=>{"use strict";e.exports=require("node:fs")},6760:e=>{"use strict";e.exports=require("node:path")},1708:e=>{"use strict";e.exports=require("node:process")},3136:e=>{"use strict";e.exports=require("node:url")},8343:(e,r,t)=>{"use strict";t.r(r),t.d(r,{patchFetch:()=>b,routeModule:()=>x,serverHooks:()=>w,workAsyncStorage:()=>m,workUnitAsyncStorage:()=>h});var s={};t.r(s),t.d(s,{GET:()=>f,OPTIONS:()=>g});var o=t(2706),n=t(8203),a=t(5994),i=t(9187),u=t(8354),c=t(9646),l=t(9999);let p=(0,u.promisify)(c.exec);async function d(e,r=3,t=1e3){for(let s=0;s<r;s++)try{return await e()}catch(e){if(s===r-1)throw e;if(e.message.includes("database is locked")){console.log(`Database locked, retrying in ${t}ms... (attempt ${s+1}/${r})`),await new Promise(e=>setTimeout(e,t));continue}throw e}}async function f(){try{var e;let r=process.env.D1_PROJECT_DIR;if(!r)return console.error("D1_PROJECT_DIR environment variable is not set"),i.NextResponse.json({error:"Project directory not configured"},{status:500});let t=await (0,l.S)(r);if(!t||!t.config)return i.NextResponse.json({error:"No Wrangler configuration file found in project directory"},{status:404});let s=t.config;if(!s.d1_databases?.length)return i.NextResponse.json({error:"No D1 databases configured in Wrangler configuration"},{status:404});let o=s.d1_databases[0].database_name,n=`
1
+ (()=>{var e={};e.id=761,e.ids=[761],e.modules={846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},9428:e=>{"use strict";e.exports=require("buffer")},9646:e=>{"use strict";e.exports=require("child_process")},4735:e=>{"use strict";e.exports=require("events")},9021:e=>{"use strict";e.exports=require("fs")},9748:e=>{"use strict";e.exports=require("fs/promises")},1630:e=>{"use strict";e.exports=require("http")},5591:e=>{"use strict";e.exports=require("https")},1820:e=>{"use strict";e.exports=require("os")},3873:e=>{"use strict";e.exports=require("path")},7910:e=>{"use strict";e.exports=require("stream")},1204:e=>{"use strict";e.exports=require("string_decoder")},9551:e=>{"use strict";e.exports=require("url")},8354:e=>{"use strict";e.exports=require("util")},4075:e=>{"use strict";e.exports=require("zlib")},3024:e=>{"use strict";e.exports=require("node:fs")},6760:e=>{"use strict";e.exports=require("node:path")},1708:e=>{"use strict";e.exports=require("node:process")},3136:e=>{"use strict";e.exports=require("node:url")},8343:(e,r,t)=>{"use strict";t.r(r),t.d(r,{patchFetch:()=>q,routeModule:()=>m,serverHooks:()=>w,workAsyncStorage:()=>h,workUnitAsyncStorage:()=>b});var s={};t.r(s),t.d(s,{GET:()=>f,OPTIONS:()=>x});var o=t(2706),n=t(8203),a=t(5994),i=t(9187),u=t(8354),l=t(9646),c=t(5949),d=t(1804);let p=(0,u.promisify)(l.exec);async function g(e,r=3,t=1e3){for(let s=0;s<r;s++)try{return await e()}catch(e){if(s===r-1)throw e;if(e.message.includes("database is locked")){console.log(`Database locked, retrying in ${t}ms... (attempt ${s+1}/${r})`),await new Promise(e=>setTimeout(e,t));continue}throw e}}async function f(){d.A.logRequest("GET","/api/tables");try{var e;let r=process.env.D1_PROJECT_DIR;if(!r)return d.A.error("D1_PROJECT_DIR environment variable is not set"),i.NextResponse.json({error:"Project directory not configured"},{status:500});let t=await (0,c.S)(r);if(!t||!t.config)return d.A.error("No Wrangler configuration file found"),i.NextResponse.json({error:"No Wrangler configuration file found in project directory"},{status:404});let s=t.config;if(!s.d1_databases?.length)return i.NextResponse.json({error:"No D1 databases configured in Wrangler configuration"},{status:404});let o=s.d1_databases[0].database_name,n=`
2
2
  SELECT name FROM sqlite_master
3
3
  WHERE type='table'
4
4
  AND name NOT LIKE 'sqlite_%'
5
5
  AND name NOT LIKE '_cf_%'
6
6
  ORDER BY name;
7
- `,{stdout:a}=await d(async()=>p(`wrangler d1 execute ${o} --local --command="${n}"`,{cwd:r,timeout:5e3})),u=(e=function(e){try{return JSON.parse(e)}catch(t){let r=-1!==e.indexOf("[")?e.indexOf("["):e.indexOf("{");if(-1===r)return null;try{let t=e.substring(r);return JSON.parse(t)}catch(e){return console.error("Error parsing JSON portion:",e),null}}}(a))?Array.isArray(e)&&e[0]?.results?e[0].results.map(e=>e.name):e.results?.[0]?.results?e.results[0].results.map(e=>e.name):[]:[];return i.NextResponse.json({success:!0,tables:u,debug:{projectDir:r,tableCount:u.length}})}catch(r){console.error("Error fetching tables:",r);let e={error:"Failed to fetch tables",details:r.message,debug:{errorCode:r.code,errorStack:r.stack}};return r.message.includes("database is locked")&&(e.error="Database is temporarily locked",e.retryAfter=1e3),i.NextResponse.json(e,{status:r.message.includes("database is locked")?503:500})}}async function g(){return new i.NextResponse(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}})}let x=new o.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/tables/route",pathname:"/api/tables",filename:"route",bundlePath:"app/api/tables/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/tables/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:m,workUnitAsyncStorage:h,serverHooks:w}=x;function b(){return(0,a.patchFetch)({workAsyncStorage:m,workUnitAsyncStorage:h})}},6487:()=>{},8335:()=>{},9999:(e,r,t)=>{"use strict";t.d(r,{S:()=>g});var s=t(9748),o=t(3149),n=t(2537),a=t(6789),i=t(6399);let{combine:u,timestamp:c,printf:l,colorize:p}=i.format,d=l(({level:e,message:r,timestamp:t})=>`${t} ${e}: ${r}`),f=i.createLogger({level:"info",format:u(c({format:"YYYY-MM-DD HH:mm:ss"}),p(),d),transports:[new i.transports.Console]});async function g(e){try{let r;if(!e||"string"!=typeof e)throw Error("Project path is required and must be a string");let t=null,i=null;for(let r of["wrangler.toml","wrangler.json","wrangler.jsonc"])if(t=await (0,o.dJ)(r,{cwd:e})){i=r;break}if(!t)return f.warn(`No Wrangler configuration file found in: ${e}`),null;f.info(`Found ${i} at: ${t}`);let u=await (0,s.readFile)(t,"utf-8");return i.endsWith(".toml")?r=(0,n.parse)(u):(i.endsWith(".jsonc")&&(u=(0,a.A)(u)),r=JSON.parse(u)),{config:r,projectPath:e}}catch(e){throw f.error(`Error reading Wrangler configuration: ${e.message}`),e}}}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686],()=>t(8343));module.exports=s})();
7
+ `,{stdout:a}=await g(async()=>p(`wrangler d1 execute ${o} --local --command="${n}"`,{cwd:r,timeout:5e3})),u=(e=function(e){try{return JSON.parse(e)}catch(t){let r=-1!==e.indexOf("[")?e.indexOf("["):e.indexOf("{");if(-1===r)return null;try{let t=e.substring(r);return JSON.parse(t)}catch(e){return console.error("Error parsing JSON portion:",e),null}}}(a))?Array.isArray(e)&&e[0]?.results?e[0].results.map(e=>e.name):e.results?.[0]?.results?e.results[0].results.map(e=>e.name):[]:[];return i.NextResponse.json({success:!0,tables:u,debug:{projectDir:r,tableCount:u.length}})}catch(r){d.A.logError(r,"tables-route");let e={error:"Failed to fetch tables",details:r.message,debug:{errorCode:r.code,errorStack:r.stack}};return r.message.includes("database is locked")&&(e.error="Database is temporarily locked",e.retryAfter=1e3),i.NextResponse.json(e,{status:r.message.includes("database is locked")?503:500})}}async function x(){return new i.NextResponse(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}})}let m=new o.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/tables/route",pathname:"/api/tables",filename:"route",bundlePath:"app/api/tables/route"},resolvedPagePath:"/Users/karenredona/Desktop/d1studio/src/app/api/tables/route.js",nextConfigOutput:"",userland:s}),{workAsyncStorage:h,workUnitAsyncStorage:b,serverHooks:w}=m;function q(){return(0,a.patchFetch)({workAsyncStorage:h,workUnitAsyncStorage:b})}},6487:()=>{},8335:()=>{},5949:(e,r,t)=>{"use strict";t.d(r,{S:()=>u});var s=t(9748),o=t(3149),n=t(2537),a=t(6789),i=t(1804);async function u(e){try{let r;if(!e||"string"!=typeof e)throw Error("Project path is required and must be a string");let t=null,u=null;for(let r of["wrangler.toml","wrangler.json","wrangler.jsonc"])if(t=await (0,o.dJ)(r,{cwd:e})){u=r;break}if(!t)return i.A.warn(`No Wrangler configuration file found in: ${e}`),null;i.A.info(`Found ${u} at: ${t}`);let l=await (0,s.readFile)(t,"utf-8");return u.endsWith(".toml")?r=(0,n.parse)(l):(u.endsWith(".jsonc")&&(l=(0,a.A)(l)),r=JSON.parse(l)),{config:r,projectPath:e}}catch(e){throw i.A.error(`Error reading Wrangler configuration: ${e.message}`),e}}},1804:(e,r,t)=>{"use strict";t.d(r,{A:()=>g});var s=t(6399),o=t(9551);t(3873);let{combine:n,timestamp:a,printf:i,colorize:u}=s.format,l="true"===process.env.ENABLE_LOGGING,c=(0,o.fileURLToPath)("file:///Users/karenredona/Desktop/d1studio/src/lib/logger.js").includes("node_modules"),d=i(({level:e,message:r,timestamp:t})=>`${t} ${e}: ${r}`),p=s.createLogger({level:"info",format:n(a({format:"YYYY-MM-DD HH:mm:ss"}),u(),d),transports:[new s.transports.Console({silent:c&&!l&&!0,level:c?"warn":"debug"})]});p.shouldLog=e=>"error"===e||"warn"===e||!!l,p.logRequest=(e,r)=>{p.shouldLog("info")&&p.info(`${e} ${r}`)},p.logQuery=e=>{p.shouldLog("debug")&&p.debug(`Executing query: ${e}`)},p.logError=(e,r="")=>{let t=e.message||e.toString(),s=r?`[${r}] `:"";p.error(`${s}${t}`,{stack:e.stack,details:e.details||{}})};let g=p}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[638,686],()=>t(8343));module.exports=s})();