d1s 0.2.11 → 0.2.13

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 (318) hide show
  1. package/dist/.next/.next/BUILD_ID +1 -1
  2. package/dist/.next/.next/app-build-manifest.json +28 -28
  3. package/dist/.next/.next/app-path-routes-manifest.json +1 -1
  4. package/dist/.next/.next/build-manifest.json +3 -3
  5. package/dist/.next/.next/cache/.rscinfo +1 -1
  6. package/dist/.next/.next/cache/.tsbuildinfo +1 -1
  7. package/dist/.next/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/dist/.next/.next/cache/webpack/client-production/1.pack +0 -0
  9. package/dist/.next/.next/cache/webpack/client-production/10.pack +0 -0
  10. package/dist/.next/.next/cache/webpack/client-production/11.pack +0 -0
  11. package/dist/.next/.next/cache/webpack/client-production/12.pack +0 -0
  12. package/dist/.next/.next/cache/webpack/client-production/2.pack +0 -0
  13. package/dist/.next/.next/cache/webpack/client-production/3.pack +0 -0
  14. package/dist/.next/.next/cache/webpack/client-production/4.pack +0 -0
  15. package/dist/.next/.next/cache/webpack/client-production/5.pack +0 -0
  16. package/dist/.next/.next/cache/webpack/client-production/6.pack +0 -0
  17. package/dist/.next/.next/cache/webpack/client-production/7.pack +0 -0
  18. package/dist/.next/.next/cache/webpack/client-production/8.pack +0 -0
  19. package/dist/.next/.next/cache/webpack/client-production/9.pack +0 -0
  20. package/dist/.next/.next/cache/webpack/client-production/index.pack +0 -0
  21. package/dist/.next/.next/cache/webpack/client-production/index.pack.old +0 -0
  22. package/dist/.next/.next/cache/webpack/edge-server-production/index.pack +0 -0
  23. package/dist/.next/.next/cache/webpack/server-production/0.pack +0 -0
  24. package/dist/.next/.next/cache/webpack/server-production/1.pack +0 -0
  25. package/dist/.next/.next/cache/webpack/server-production/2.pack +0 -0
  26. package/dist/.next/.next/cache/webpack/server-production/3.pack +0 -0
  27. package/dist/.next/.next/cache/webpack/server-production/index.pack +0 -0
  28. package/dist/.next/.next/cache/webpack/server-production/index.pack.old +0 -0
  29. package/dist/.next/.next/next-minimal-server.js.nft.json +1 -1
  30. package/dist/.next/.next/next-server.js.nft.json +1 -1
  31. package/dist/.next/.next/prerender-manifest.json +1 -1
  32. package/dist/.next/.next/required-server-files.json +1 -1
  33. package/dist/.next/.next/server/app/_not-found/page.js +1 -1
  34. package/dist/.next/.next/server/app/_not-found/page.js.nft.json +1 -1
  35. package/dist/.next/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  36. package/dist/.next/.next/server/app/_not-found.html +1 -1
  37. package/dist/.next/.next/server/app/_not-found.rsc +4 -4
  38. package/dist/.next/.next/server/app/api/cloudflare/route.js +1 -1
  39. package/dist/.next/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
  40. package/dist/.next/.next/server/app/api/databases/route.js +1 -1
  41. package/dist/.next/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
  42. package/dist/.next/.next/server/app/api/migrations/sync/route.js +5 -5
  43. package/dist/.next/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
  44. package/dist/.next/.next/server/app/api/migrations/sync-files/route.js +3 -3
  45. package/dist/.next/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
  46. package/dist/.next/.next/server/app/api/pull-data/confirm/route.js +1 -1
  47. package/dist/.next/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
  48. package/dist/.next/.next/server/app/api/pull-remote/confirm/route.js +2 -2
  49. package/dist/.next/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
  50. package/dist/.next/.next/server/app/api/pull-remote/preview/route.js +4 -4
  51. package/dist/.next/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
  52. package/dist/.next/.next/server/app/api/push-remote/confirm/route.js +5 -5
  53. package/dist/.next/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
  54. package/dist/.next/.next/server/app/api/push-remote/preview/route.js +4 -4
  55. package/dist/.next/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
  56. package/dist/.next/.next/server/app/api/query/route.js +3 -3
  57. package/dist/.next/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
  58. package/dist/.next/.next/server/app/api/tables/[name]/route.js +5 -5
  59. package/dist/.next/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
  60. package/dist/.next/.next/server/app/api/tables/route.js +2 -2
  61. package/dist/.next/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
  62. package/dist/.next/.next/server/app/api/update/route.js +1 -1
  63. package/dist/.next/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  64. package/dist/.next/.next/server/app/index.html +2 -2
  65. package/dist/.next/.next/server/app/index.rsc +5 -5
  66. package/dist/.next/.next/server/app/page.js +7 -7
  67. package/dist/.next/.next/server/app/page.js.nft.json +1 -1
  68. package/dist/.next/.next/server/app/page_client-reference-manifest.js +1 -1
  69. package/dist/.next/.next/server/app-paths-manifest.json +1 -1
  70. package/dist/.next/.next/server/chunks/226.js +12 -12
  71. package/dist/.next/.next/server/chunks/391.js +1 -1
  72. package/dist/.next/.next/server/chunks/572.js +1 -0
  73. package/dist/.next/.next/server/chunks/992.js +3 -3
  74. package/dist/.next/.next/server/middleware-build-manifest.js +1 -1
  75. package/dist/.next/.next/server/next-font-manifest.js +1 -1
  76. package/dist/.next/.next/server/next-font-manifest.json +1 -1
  77. package/dist/.next/.next/server/pages/404.html +1 -1
  78. package/dist/.next/.next/server/pages/500.html +1 -1
  79. package/dist/.next/.next/server/server-reference-manifest.json +1 -1
  80. package/dist/.next/.next/static/chunks/{576-c4daf274bb6469a1.js → 576-18a2209e1ed26aad.js} +1 -1
  81. package/dist/.next/.next/static/chunks/{92-c4466e0f1ca8a3a8.js → 92-5f7522943fcb72a8.js} +1 -1
  82. package/dist/.next/.next/static/chunks/app/{layout-be6ee67cf0c92654.js → layout-40ec07d04681ba81.js} +1 -1
  83. package/dist/.next/.next/static/chunks/app/page-f05cd0fc436bf9bc.js +1 -0
  84. package/dist/.next/.next/static/chunks/app/page-f2bc307c0d8acdaa.js +1 -0
  85. package/dist/.next/.next/static/chunks/{main-app-fa35024de9bd9284.js → main-app-4506e88db72db4b7.js} +1 -1
  86. package/dist/.next/.next/static/css/{9f6c25c5400f83d3.css → 7c16f57d325d0d7d.css} +1 -1
  87. package/dist/.next/.next/static/ejYPqJ2kVicVp5EFWOZIC/_buildManifest.js +1 -0
  88. package/dist/.next/.next/static/ejYPqJ2kVicVp5EFWOZIC/_ssgManifest.js +1 -0
  89. package/dist/.next/.next/static/gABGrAoO8IPArDo_Ns_7g/_buildManifest.js +1 -0
  90. package/dist/.next/.next/static/gABGrAoO8IPArDo_Ns_7g/_ssgManifest.js +1 -0
  91. package/dist/.next/.next/static/gh-QfIUVo4FTTduYCVKT6/_buildManifest.js +1 -0
  92. package/dist/.next/.next/static/gh-QfIUVo4FTTduYCVKT6/_ssgManifest.js +1 -0
  93. package/dist/.next/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  94. package/dist/.next/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  95. package/dist/.next/.next/static/thaCy2qVeNqYYhdayr13C/_buildManifest.js +1 -0
  96. package/dist/.next/.next/static/thaCy2qVeNqYYhdayr13C/_ssgManifest.js +1 -0
  97. package/dist/.next/.next/static/ybCx6L6gHqtODbKmlhU-d/_buildManifest.js +1 -0
  98. package/dist/.next/.next/static/ybCx6L6gHqtODbKmlhU-d/_ssgManifest.js +1 -0
  99. package/dist/.next/.next/trace +3 -3
  100. package/dist/.next/.next/types/app/api/cloudflare/route.ts +1 -1
  101. package/dist/.next/.next/types/app/api/databases/route.ts +1 -1
  102. package/dist/.next/.next/types/app/api/migrations/sync/route.ts +1 -1
  103. package/dist/.next/.next/types/app/api/migrations/sync-files/route.ts +1 -1
  104. package/dist/.next/.next/types/app/api/pull-data/confirm/route.ts +1 -1
  105. package/dist/.next/.next/types/app/api/pull-remote/confirm/route.ts +1 -1
  106. package/dist/.next/.next/types/app/api/pull-remote/preview/route.ts +1 -1
  107. package/dist/.next/.next/types/app/api/push-remote/confirm/route.ts +1 -1
  108. package/dist/.next/.next/types/app/api/push-remote/preview/route.ts +1 -1
  109. package/dist/.next/.next/types/app/api/query/route.ts +1 -1
  110. package/dist/.next/.next/types/app/api/tables/[name]/route.ts +1 -1
  111. package/dist/.next/.next/types/app/api/tables/route.ts +1 -1
  112. package/dist/.next/.next/types/app/api/update/route.ts +1 -1
  113. package/dist/.next/.next/types/app/page.ts +1 -1
  114. package/dist/.next/BUILD_ID +1 -1
  115. package/dist/.next/app-build-manifest.json +28 -28
  116. package/dist/.next/app-path-routes-manifest.json +1 -1
  117. package/dist/.next/build-manifest.json +3 -3
  118. package/dist/.next/cache/.rscinfo +1 -1
  119. package/dist/.next/cache/.tsbuildinfo +1 -1
  120. package/dist/.next/cache/webpack/client-production/0.pack +0 -0
  121. package/dist/.next/cache/webpack/client-production/1.pack +0 -0
  122. package/dist/.next/cache/webpack/client-production/2.pack +0 -0
  123. package/dist/.next/cache/webpack/client-production/index.pack +0 -0
  124. package/dist/.next/cache/webpack/client-production/index.pack.old +0 -0
  125. package/dist/.next/cache/webpack/edge-server-production/index.pack +0 -0
  126. package/dist/.next/cache/webpack/server-production/0.pack +0 -0
  127. package/dist/.next/cache/webpack/server-production/index.pack +0 -0
  128. package/dist/.next/next-minimal-server.js.nft.json +1 -1
  129. package/dist/.next/next-server.js.nft.json +1 -1
  130. package/dist/.next/prerender-manifest.json +1 -1
  131. package/dist/.next/required-server-files.json +1 -1
  132. package/dist/.next/server/app/_not-found/page.js +1 -1
  133. package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
  134. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  135. package/dist/.next/server/app/_not-found.html +1 -1
  136. package/dist/.next/server/app/_not-found.rsc +4 -4
  137. package/dist/.next/server/app/api/cloudflare/route.js +1 -1
  138. package/dist/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
  139. package/dist/.next/server/app/api/databases/route.js +1 -1
  140. package/dist/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
  141. package/dist/.next/server/app/api/migrations/sync/route.js +5 -5
  142. package/dist/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
  143. package/dist/.next/server/app/api/migrations/sync-files/route.js +3 -3
  144. package/dist/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
  145. package/dist/.next/server/app/api/pull-data/confirm/route.js +1 -1
  146. package/dist/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
  147. package/dist/.next/server/app/api/pull-remote/confirm/route.js +2 -2
  148. package/dist/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
  149. package/dist/.next/server/app/api/pull-remote/preview/route.js +4 -4
  150. package/dist/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
  151. package/dist/.next/server/app/api/push-remote/confirm/route.js +5 -5
  152. package/dist/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
  153. package/dist/.next/server/app/api/push-remote/preview/route.js +4 -4
  154. package/dist/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
  155. package/dist/.next/server/app/api/query/route.js +3 -3
  156. package/dist/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
  157. package/dist/.next/server/app/api/tables/[name]/route.js +5 -5
  158. package/dist/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
  159. package/dist/.next/server/app/api/tables/route.js +2 -2
  160. package/dist/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
  161. package/dist/.next/server/app/api/update/route.js +1 -1
  162. package/dist/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  163. package/dist/.next/server/app/index.html +2 -2
  164. package/dist/.next/server/app/index.rsc +5 -5
  165. package/dist/.next/server/app/page.js +7 -7
  166. package/dist/.next/server/app/page.js.nft.json +1 -1
  167. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  168. package/dist/.next/server/app-paths-manifest.json +1 -1
  169. package/dist/.next/server/chunks/226.js +12 -12
  170. package/dist/.next/server/chunks/391.js +1 -1
  171. package/dist/.next/server/chunks/572.js +1 -0
  172. package/dist/.next/server/chunks/992.js +3 -3
  173. package/dist/.next/server/middleware-build-manifest.js +1 -1
  174. package/dist/.next/server/next-font-manifest.js +1 -1
  175. package/dist/.next/server/next-font-manifest.json +1 -1
  176. package/dist/.next/server/pages/404.html +1 -1
  177. package/dist/.next/server/pages/500.html +1 -1
  178. package/dist/.next/server/server-reference-manifest.json +1 -1
  179. package/dist/.next/static/IX-QLbm7scYnyqWeeimal/_buildManifest.js +1 -0
  180. package/dist/.next/static/IX-QLbm7scYnyqWeeimal/_ssgManifest.js +1 -0
  181. package/dist/.next/static/chunks/{576-c4daf274bb6469a1.js → 576-18a2209e1ed26aad.js} +1 -1
  182. package/dist/.next/static/chunks/{92-c4466e0f1ca8a3a8.js → 92-5f7522943fcb72a8.js} +1 -1
  183. package/dist/.next/static/chunks/app/{layout-be6ee67cf0c92654.js → layout-40ec07d04681ba81.js} +1 -1
  184. package/dist/.next/static/chunks/app/page-f05cd0fc436bf9bc.js +1 -0
  185. package/dist/.next/static/chunks/{main-app-fa35024de9bd9284.js → main-app-4506e88db72db4b7.js} +1 -1
  186. package/dist/.next/static/css/{9f6c25c5400f83d3.css → 7c16f57d325d0d7d.css} +1 -1
  187. package/dist/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  188. package/dist/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  189. package/dist/.next/trace +3 -14
  190. package/dist/.next/types/app/api/cloudflare/route.ts +1 -1
  191. package/dist/.next/types/app/api/databases/route.ts +1 -1
  192. package/dist/.next/types/app/api/migrations/sync/route.ts +1 -1
  193. package/dist/.next/types/app/api/migrations/sync-files/route.ts +1 -1
  194. package/dist/.next/types/app/api/pull-data/confirm/route.ts +1 -1
  195. package/dist/.next/types/app/api/pull-remote/confirm/route.ts +1 -1
  196. package/dist/.next/types/app/api/pull-remote/preview/route.ts +1 -1
  197. package/dist/.next/types/app/api/push-remote/confirm/route.ts +1 -1
  198. package/dist/.next/types/app/api/push-remote/preview/route.ts +1 -1
  199. package/dist/.next/types/app/api/query/route.ts +1 -1
  200. package/dist/.next/types/app/api/tables/[name]/route.ts +1 -1
  201. package/dist/.next/types/app/api/tables/route.ts +1 -1
  202. package/dist/.next/types/app/api/update/route.ts +1 -1
  203. package/dist/.next/types/app/page.ts +1 -1
  204. package/dist/app/api/tables/[name]/route.js +22 -10
  205. package/dist/app/globals.css +39 -0
  206. package/dist/d1-studio.js +2 -2
  207. package/dist/lib/data-type-handlers.js +426 -0
  208. package/dist/lib/sql-operations.js +32 -8
  209. package/dist/lib/sql-sanitizer.js +233 -0
  210. package/package.json +3 -9
  211. package/dist/.next/.next/server/chunks/90.js +0 -1
  212. package/dist/.next/.next/static/chunks/app/page-36ed30b2266617f3.js +0 -1
  213. package/dist/.next/server/chunks/90.js +0 -1
  214. package/dist/.next/static/chunks/app/page-36ed30b2266617f3.js +0 -1
  215. package/dist/app/app/api/cloudflare/route.js +0 -150
  216. package/dist/app/app/api/databases/route.js +0 -71
  217. package/dist/app/app/api/migrations/sync/route.js +0 -174
  218. package/dist/app/app/api/migrations/sync-files/route.js +0 -172
  219. package/dist/app/app/api/pull-data/confirm/route.js +0 -230
  220. package/dist/app/app/api/pull-remote/confirm/route.js +0 -278
  221. package/dist/app/app/api/pull-remote/preview/route.js +0 -144
  222. package/dist/app/app/api/push-remote/confirm/route.js +0 -196
  223. package/dist/app/app/api/push-remote/preview/route.js +0 -179
  224. package/dist/app/app/api/query/route.js +0 -168
  225. package/dist/app/app/api/tables/[name]/route.js +0 -174
  226. package/dist/app/app/api/tables/route.js +0 -178
  227. package/dist/app/app/api/update/route.js +0 -45
  228. package/dist/app/app/globals.css +0 -93
  229. package/dist/app/app/layout.jsx +0 -35
  230. package/dist/app/app/page.jsx +0 -34
  231. package/next.config.mjs +0 -18
  232. package/postcss.config.mjs +0 -8
  233. package/scripts/studio.js +0 -199
  234. package/scripts/test.js +0 -366
  235. package/src/app/api/cloudflare/route.js +0 -150
  236. package/src/app/api/databases/route.js +0 -71
  237. package/src/app/api/migrations/sync/route.js +0 -174
  238. package/src/app/api/migrations/sync-files/route.js +0 -172
  239. package/src/app/api/pull-data/confirm/route.js +0 -230
  240. package/src/app/api/pull-remote/confirm/route.js +0 -278
  241. package/src/app/api/pull-remote/preview/route.js +0 -144
  242. package/src/app/api/push-remote/confirm/route.js +0 -196
  243. package/src/app/api/push-remote/preview/route.js +0 -179
  244. package/src/app/api/query/route.js +0 -168
  245. package/src/app/api/tables/[name]/route.js +0 -174
  246. package/src/app/api/tables/route.js +0 -178
  247. package/src/app/api/update/route.js +0 -45
  248. package/src/app/globals.css +0 -93
  249. package/src/app/layout.jsx +0 -35
  250. package/src/app/page.jsx +0 -34
  251. package/src/components/cloudflare-credentials-modal.jsx +0 -94
  252. package/src/components/column-selector.jsx +0 -133
  253. package/src/components/column-sorting.jsx +0 -65
  254. package/src/components/delete-records-dialog.jsx +0 -64
  255. package/src/components/download-button.jsx +0 -205
  256. package/src/components/edit-error-alert.jsx +0 -30
  257. package/src/components/editable-cell.jsx +0 -163
  258. package/src/components/editable-row.jsx +0 -169
  259. package/src/components/environment-handler.jsx +0 -332
  260. package/src/components/environment-select.jsx +0 -62
  261. package/src/components/pull-preview-toast.jsx +0 -215
  262. package/src/components/push-error-alert.jsx +0 -72
  263. package/src/components/push-preview-toast.jsx +0 -183
  264. package/src/components/query-results.jsx +0 -112
  265. package/src/components/refresh-button.jsx +0 -61
  266. package/src/components/resize-columns.jsx +0 -101
  267. package/src/components/sidebar.jsx +0 -254
  268. package/src/components/sql-editor.jsx +0 -411
  269. package/src/components/sql-error-display.jsx +0 -167
  270. package/src/components/sync-migrations-button.jsx +0 -87
  271. package/src/components/table-error-dialog.jsx +0 -65
  272. package/src/components/table-toolbar.jsx +0 -285
  273. package/src/components/table-view.jsx +0 -843
  274. package/src/components/ui/alert.jsx +0 -47
  275. package/src/components/ui/button.jsx +0 -48
  276. package/src/components/ui/card.jsx +0 -50
  277. package/src/components/ui/checkbox.jsx +0 -24
  278. package/src/components/ui/collapsible.jsx +0 -11
  279. package/src/components/ui/dialog.jsx +0 -96
  280. package/src/components/ui/dropdown-menu.jsx +0 -158
  281. package/src/components/ui/input.jsx +0 -19
  282. package/src/components/ui/scroll-area.jsx +0 -40
  283. package/src/components/ui/select.jsx +0 -121
  284. package/src/components/ui/separator.jsx +0 -25
  285. package/src/components/ui/sheet.jsx +0 -109
  286. package/src/components/ui/sidebar.jsx +0 -620
  287. package/src/components/ui/skeleton.jsx +0 -14
  288. package/src/components/ui/table.jsx +0 -86
  289. package/src/components/ui/tabs.jsx +0 -43
  290. package/src/components/ui/toast.jsx +0 -86
  291. package/src/components/ui/toaster.jsx +0 -35
  292. package/src/components/ui/tooltip.jsx +0 -28
  293. package/src/components/update-banner.jsx +0 -93
  294. package/src/context/database-context.js +0 -510
  295. package/src/hooks/use-mobile.jsx +0 -19
  296. package/src/hooks/use-sql-error.ts +0 -23
  297. package/src/hooks/use-toast.js +0 -155
  298. package/src/lib/database-queue.js +0 -37
  299. package/src/lib/error.js +0 -20
  300. package/src/lib/find-wrangler-config.js +0 -74
  301. package/src/lib/license.js +0 -99
  302. package/src/lib/logger.js +0 -58
  303. package/src/lib/migrations.js +0 -415
  304. package/src/lib/parse-sql-error.js +0 -200
  305. package/src/lib/request-deduplication.js +0 -24
  306. package/src/lib/schema-operations.js +0 -106
  307. package/src/lib/sql-error-types.js +0 -14
  308. package/src/lib/sql-operations.js +0 -647
  309. package/src/lib/utils.js +0 -6
  310. package/src/lib/version-utils.js +0 -34
  311. /package/dist/.next/.next/static/{OUHnbB-64afrrZQL0Srn5 → FEsQ9jwPUQv5A3fwg6Opl}/_buildManifest.js +0 -0
  312. /package/dist/.next/.next/static/{OUHnbB-64afrrZQL0Srn5 → FEsQ9jwPUQv5A3fwg6Opl}/_ssgManifest.js +0 -0
  313. /package/dist/.next/.next/static/{ZBTCAyp1kO5FdEHMU-Dw2 → Y9mYu4WBghepP5oT_3OdR}/_buildManifest.js +0 -0
  314. /package/dist/.next/.next/static/{ZBTCAyp1kO5FdEHMU-Dw2 → Y9mYu4WBghepP5oT_3OdR}/_ssgManifest.js +0 -0
  315. /package/dist/.next/.next/static/{bHYW7fgIBDF8-Q33_WPoE → ae3gNmoSGm-R5LJC4UagI}/_buildManifest.js +0 -0
  316. /package/dist/.next/.next/static/{bHYW7fgIBDF8-Q33_WPoE → ae3gNmoSGm-R5LJC4UagI}/_ssgManifest.js +0 -0
  317. /package/dist/.next/{static/ZBTCAyp1kO5FdEHMU-Dw2 → .next/static/bKfUJeuvAQlBmR3TjrfkH}/_buildManifest.js +0 -0
  318. /package/dist/.next/{static/ZBTCAyp1kO5FdEHMU-Dw2 → .next/static/bKfUJeuvAQlBmR3TjrfkH}/_ssgManifest.js +0 -0
@@ -1,200 +0,0 @@
1
- // lib/parse-sql-error.js
2
-
3
- import { SQLErrorTypes } from './sql-error-types';
4
-
5
- export function parseSQLError(error) {
6
- console.debug("parseSQLError - Received error:", error);
7
-
8
- // Defensive check in case error is null/undefined
9
- if (!error) {
10
- console.debug("parseSQLError - error is null or undefined.");
11
- return {
12
- type: SQLErrorTypes.UNKNOWN_ERROR,
13
- message: 'An unknown error occurred',
14
- details: {}
15
- };
16
- }
17
-
18
- let errorMessage = '';
19
- let offset = null;
20
- let nearText = null;
21
- let originalQuery = null;
22
-
23
- // Determine the command string (it might be on error.cmd or error.details.command)
24
- const cmd = error.cmd || (error.details && error.details.command);
25
- if (cmd) {
26
- const queryMatch = cmd.match(/--command="(.+?)"/s);
27
- if (queryMatch) {
28
- originalQuery = queryMatch[1].replace(/\\n/g, '\n');
29
- console.debug("parseSQLError - Extracted original query:", originalQuery);
30
- }
31
- }
32
-
33
- // Determine stderr from either error.stderr or error.details.stderr
34
- const rawStderr = error.stderr || (error.details && error.details.stderr);
35
- if (rawStderr) {
36
- // Remove ANSI escape codes
37
- const cleanStderr = rawStderr.replace(/\x1B\[[0-9;]*[a-zA-Z]/g, '');
38
- console.debug("parseSQLError - Cleaned stderr:", cleanStderr);
39
-
40
- // Check for "env: node: No such file or directory" error
41
- if (cleanStderr.includes('env: node: No such file or directory')) {
42
- console.debug("parseSQLError - Detected 'env: node: No such file or directory' error.");
43
- return {
44
- type: SQLErrorTypes.EXECUTION_ERROR,
45
- message: error.message || 'Execution error: env: node: No such file or directory',
46
- details: {
47
- originalQuery,
48
- stderr: cleanStderr
49
- }
50
- };
51
- }
52
-
53
- // Syntax errors
54
- const syntaxMatch = cleanStderr.match(/near "([^"]+)": syntax error at offset (\d+)/);
55
- if (syntaxMatch) {
56
- const [_, near, errorOffset] = syntaxMatch;
57
- offset = parseInt(errorOffset, 10);
58
- errorMessage = `Syntax error near "${near}" at position ${offset}`;
59
- console.debug("parseSQLError - Syntax error detected:", { near, offset });
60
- return {
61
- type: SQLErrorTypes.SYNTAX_ERROR,
62
- message: errorMessage,
63
- details: {
64
- originalQuery,
65
- errorLocation: { offset, near },
66
- stderr: cleanStderr
67
- }
68
- };
69
- }
70
-
71
- // UNIQUE constraint error
72
- if (cleanStderr.includes('UNIQUE constraint failed')) {
73
- const match = cleanStderr.match(/UNIQUE constraint failed: (\w+)\.(\w+)/);
74
- const [_, table, column] = match || [];
75
- console.debug("parseSQLError - UNIQUE constraint error detected:", { table, column });
76
- return {
77
- type: SQLErrorTypes.UNIQUE_CONSTRAINT_ERROR,
78
- message: `Unique constraint violation updating ${table}.${column}`,
79
- details: {
80
- originalQuery,
81
- stderr: cleanStderr
82
- }
83
- };
84
- }
85
-
86
- // NOT NULL constraint error
87
- if (cleanStderr.includes('NOT NULL constraint failed')) {
88
- const match = cleanStderr.match(/NOT NULL constraint failed: (\w+)\.(\w+)/);
89
- const [_, table, column] = match || [];
90
- console.debug("parseSQLError - NOT NULL constraint error detected:", { table, column });
91
- return {
92
- type: SQLErrorTypes.NOT_NULL_CONSTRAINT_ERROR,
93
- message: `NOT NULL constraint violation updating ${table}.${column}`,
94
- details: {
95
- originalQuery,
96
- stderr: cleanStderr
97
- }
98
- };
99
- }
100
-
101
- // CHECK constraint error
102
- if (cleanStderr.includes('CHECK constraint failed')) {
103
- const match = cleanStderr.match(/CHECK constraint failed: (\w+)/);
104
- const [_, constraintName] = match || [];
105
- console.debug("parseSQLError - CHECK constraint error detected:", { constraintName });
106
- return {
107
- type: SQLErrorTypes.CHECK_CONSTRAINT_ERROR,
108
- message: `Check constraint violation updating ${constraintName}`,
109
- details: {
110
- originalQuery,
111
- stderr: cleanStderr
112
- }
113
- };
114
- }
115
-
116
- // In the FOREIGN KEY constraint section:
117
- if (cleanStderr.includes('FOREIGN KEY constraint failed')) {
118
- console.debug("parseSQLError - FOREIGN KEY constraint error detected.");
119
-
120
- // Extract query details from the original command
121
- const queryMatch = /--command="([^"]+)"/.exec(cmd || '');
122
- const query = queryMatch ? queryMatch[1] : null;
123
-
124
- // Parse the query to get table and column info
125
- let details = {};
126
- if (query) {
127
- const updateMatch = /UPDATE\s+(\w+)\s+SET\s+(\w+)\s*=/.exec(query);
128
- if (updateMatch) {
129
- details = {
130
- table: updateMatch[1],
131
- column: updateMatch[2]
132
- };
133
- }
134
- }
135
-
136
- // Build a descriptive message
137
- const message = details.table
138
- ? `Foreign key constraint violation updating ${details.table}.${details.column}`
139
- : 'Foreign key constraint violation';
140
-
141
- return {
142
- type: SQLErrorTypes.FOREIGN_KEY_ERROR,
143
- message,
144
- details: {
145
- ...details,
146
- originalQuery: query,
147
- stderr: cleanStderr
148
- }
149
- };
150
- }
151
-
152
- // Table not found
153
- if (cleanStderr.includes('no such table')) {
154
- const match = cleanStderr.match(/no such table: (\w+)/);
155
- const [_, table] = match || [];
156
- console.debug("parseSQLError - Table not found error detected:", { table });
157
- return {
158
- type: SQLErrorTypes.TABLE_NOT_FOUND,
159
- message: `Table not found: ${table}`,
160
- details: {
161
- originalQuery,
162
- stderr: cleanStderr
163
- }
164
- };
165
- }
166
-
167
- // Table already exists error
168
- if (cleanStderr.includes('already exists')) {
169
- const match = cleanStderr.match(/table (\w+) already exists/);
170
- const [_, table] = match || [];
171
- console.debug("parseSQLError - Table exists error detected:", { table });
172
- return {
173
- type: SQLErrorTypes.TABLE_EXISTS,
174
- message: `Table already exists: ${table}`,
175
- details: {
176
- originalQuery,
177
- stderr: cleanStderr
178
- }
179
- };
180
- }
181
-
182
- // Fallback for execution errors
183
- console.debug("parseSQLError - No specific error match found. Using fallback for execution error.");
184
- return {
185
- type: SQLErrorTypes.EXECUTION_ERROR,
186
- message: error.message || 'Failed to execute SQL command',
187
- details: {
188
- originalQuery,
189
- stderr: cleanStderr
190
- }
191
- };
192
- }
193
-
194
- console.debug("parseSQLError - No stderr available; using default error handling.");
195
- return {
196
- type: SQLErrorTypes.UNKNOWN_ERROR,
197
- message: error.message || 'An unknown error occurred',
198
- details: {}
199
- };
200
- }
@@ -1,24 +0,0 @@
1
- // utils/request-deduplication.js
2
- const requestCache = new Map();
3
-
4
- export function deduplicateRequest(key, requestFn, ttl = 2000) {
5
- const existing = requestCache.get(key);
6
- if (existing && Date.now() - existing.timestamp < ttl) {
7
- return existing.promise;
8
- }
9
-
10
- const promise = requestFn();
11
- requestCache.set(key, {
12
- promise,
13
- timestamp: Date.now()
14
- });
15
-
16
- // Clean up after request completes
17
- promise.finally(() => {
18
- setTimeout(() => {
19
- requestCache.delete(key);
20
- }, ttl);
21
- });
22
-
23
- return promise;
24
- }
@@ -1,106 +0,0 @@
1
- // schema-operations.js
2
-
3
- import { executeSQL, ErrorTypes } from './sql-operations.js';
4
- import logger from './logger.js';
5
-
6
- /**
7
- * Retrieves the current database schema (tables, indexes, triggers),
8
- * excluding system tables and the migrations table.
9
- *
10
- * @param {string} projectDir - The project directory.
11
- * @param {string} databaseName - The D1 database name.
12
- * @param {object} env - Environment variables.
13
- * @param {boolean} remote - Whether to run against remote.
14
- * @returns {Promise<Array>} An array of schema objects.
15
- */
16
- export async function getCurrentSchema(projectDir, databaseName, env = {}, remote = false) {
17
- const sql = `
18
- SELECT name, type, sql
19
- FROM sqlite_master
20
- WHERE type IN ('table', 'index', 'trigger')
21
- AND name NOT LIKE 'sqlite_%'
22
- AND name != 'd1_migrations';
23
- `;
24
- try {
25
- const result = await executeSQL(projectDir, databaseName, sql, env, remote);
26
- const parsed = JSON.parse(result);
27
- return parsed[0]?.results || [];
28
- } catch (error) {
29
- logger.error('Failed to get current schema:', error);
30
- throw {
31
- type: ErrorTypes.EXECUTION_ERROR,
32
- message: 'Failed to get current schema',
33
- details: {
34
- error: error.message,
35
- suggestions: ['Check database permissions']
36
- }
37
- };
38
- }
39
- }
40
-
41
- /**
42
- * Analyzes dependencies among schema statements.
43
- *
44
- * @param {Array} statements - An array of schema statements.
45
- * @returns {Array} Ordered array of table names based on dependencies.
46
- */
47
- export function analyzeDependencies(statements) {
48
- const dependencies = new Map();
49
- // Filter out non-DDL operations; we assume DATA_MODIFICATION are not DDL.
50
- const relevantStatements = statements.filter(s => s.type !== 'DATA_MODIFICATION');
51
-
52
- relevantStatements.forEach(stmt => {
53
- const tableName = (stmt.name || stmt.tableName).toLowerCase();
54
- if (!dependencies.has(tableName)) {
55
- dependencies.set(tableName, new Set());
56
- }
57
- // For table creations, extract foreign key references.
58
- if (stmt.type === 'CREATE_TABLE') {
59
- const fkMatches = stmt.sql.match(/FOREIGN\s+KEY\s*\([^)]+\)\s+REFERENCES\s+(\w+)/gi);
60
- if (fkMatches) {
61
- fkMatches.forEach(match => {
62
- const referencedTable = match.match(/REFERENCES\s+(\w+)/i)[1].toLowerCase();
63
- dependencies.get(tableName).add(referencedTable);
64
- });
65
- }
66
- }
67
- });
68
- return orderTables(dependencies);
69
- }
70
-
71
- /**
72
- * Orders tables based on their dependencies.
73
- *
74
- * @param {Map} dependencies - Map of table names to sets of dependent table names.
75
- * @returns {Array} Ordered list of table names.
76
- */
77
- export function orderTables(dependencies) {
78
- const ordered = [];
79
- const visited = new Set();
80
- const visiting = new Set();
81
-
82
- function visit(table) {
83
- if (visiting.has(table)) {
84
- throw new Error(`Circular dependency detected for table: ${table}`);
85
- }
86
- if (visited.has(table)) return;
87
- visiting.add(table);
88
- const deps = dependencies.get(table) || new Set();
89
- for (const dep of deps) {
90
- if (!dependencies.has(dep)) {
91
- throw new Error(`Missing table dependency: ${dep}`);
92
- }
93
- visit(dep);
94
- }
95
- visiting.delete(table);
96
- visited.add(table);
97
- ordered.push(table);
98
- }
99
-
100
- for (const table of dependencies.keys()) {
101
- if (!visited.has(table)) {
102
- visit(table);
103
- }
104
- }
105
- return ordered;
106
- }
@@ -1,14 +0,0 @@
1
- // lib/sql-error-types.js
2
- export const SQLErrorTypes = {
3
- SYNTAX_ERROR: 'SYNTAX_ERROR',
4
- VALIDATION_ERROR: 'VALIDATION_ERROR',
5
- EXECUTION_ERROR: 'EXECUTION_ERROR',
6
- TABLE_NOT_FOUND: 'TABLE_NOT_FOUND',
7
- TABLE_EXISTS: 'TABLE_EXISTS',
8
- CONSTRAINT_ERROR: 'CONSTRAINT_ERROR',
9
- FOREIGN_KEY_ERROR: 'FOREIGN_KEY_ERROR',
10
- UNIQUE_CONSTRAINT_ERROR: 'UNIQUE_CONSTRAINT_ERROR',
11
- NOT_NULL_CONSTRAINT_ERROR: 'NOT_NULL_CONSTRAINT_ERROR',
12
- CHECK_CONSTRAINT_ERROR: 'CHECK_CONSTRAINT_ERROR',
13
- UNKNOWN_ERROR: 'UNKNOWN_ERROR'
14
- };