d1s 0.2.10 → 0.2.12

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 (329) hide show
  1. package/dist/.next/.next/BUILD_ID +1 -1
  2. package/dist/.next/.next/app-build-manifest.json +33 -33
  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/index.pack +0 -0
  26. package/dist/.next/.next/cache/webpack/server-production/index.pack.old +0 -0
  27. package/dist/.next/.next/next-minimal-server.js.nft.json +1 -1
  28. package/dist/.next/.next/next-server.js.nft.json +1 -1
  29. package/dist/.next/.next/prerender-manifest.json +1 -1
  30. package/dist/.next/.next/required-server-files.json +1 -1
  31. package/dist/.next/.next/server/app/_not-found/page.js +1 -1
  32. package/dist/.next/.next/server/app/_not-found/page.js.nft.json +1 -1
  33. package/dist/.next/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  34. package/dist/.next/.next/server/app/_not-found.html +1 -1
  35. package/dist/.next/.next/server/app/_not-found.rsc +4 -4
  36. package/dist/.next/.next/server/app/api/cloudflare/route.js +1 -1
  37. package/dist/.next/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
  38. package/dist/.next/.next/server/app/api/databases/route.js +1 -1
  39. package/dist/.next/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
  40. package/dist/.next/.next/server/app/api/migrations/sync/route.js +5 -5
  41. package/dist/.next/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
  42. package/dist/.next/.next/server/app/api/migrations/sync-files/route.js +3 -3
  43. package/dist/.next/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
  44. package/dist/.next/.next/server/app/api/pull-data/confirm/route.js +1 -1
  45. package/dist/.next/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
  46. package/dist/.next/.next/server/app/api/pull-remote/confirm/route.js +2 -2
  47. package/dist/.next/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
  48. package/dist/.next/.next/server/app/api/pull-remote/preview/route.js +4 -4
  49. package/dist/.next/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
  50. package/dist/.next/.next/server/app/api/push-remote/confirm/route.js +5 -5
  51. package/dist/.next/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
  52. package/dist/.next/.next/server/app/api/push-remote/preview/route.js +4 -4
  53. package/dist/.next/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
  54. package/dist/.next/.next/server/app/api/query/route.js +3 -3
  55. package/dist/.next/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
  56. package/dist/.next/.next/server/app/api/tables/[name]/route.js +5 -5
  57. package/dist/.next/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
  58. package/dist/.next/.next/server/app/api/tables/route.js +2 -2
  59. package/dist/.next/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
  60. package/dist/.next/.next/server/app/api/update/route.js +1 -1
  61. package/dist/.next/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  62. package/dist/.next/.next/server/app/index.html +3 -3
  63. package/dist/.next/.next/server/app/index.rsc +5 -5
  64. package/dist/.next/.next/server/app/page.js +11 -13
  65. package/dist/.next/.next/server/app/page.js.nft.json +1 -1
  66. package/dist/.next/.next/server/app/page_client-reference-manifest.js +1 -1
  67. package/dist/.next/.next/server/app-paths-manifest.json +3 -3
  68. package/dist/.next/.next/server/chunks/226.js +12 -12
  69. package/dist/.next/.next/server/chunks/391.js +5 -5
  70. package/dist/.next/.next/server/chunks/452.js +1 -1
  71. package/dist/.next/.next/server/chunks/572.js +1 -0
  72. package/dist/.next/.next/server/chunks/627.js +3 -3
  73. package/dist/.next/.next/server/chunks/638.js +3 -3
  74. package/dist/.next/.next/server/chunks/992.js +3 -3
  75. package/dist/.next/.next/server/middleware-build-manifest.js +1 -1
  76. package/dist/.next/.next/server/next-font-manifest.js +1 -1
  77. package/dist/.next/.next/server/next-font-manifest.json +1 -1
  78. package/dist/.next/.next/server/pages/404.html +1 -1
  79. package/dist/.next/.next/server/pages/500.html +1 -1
  80. package/dist/.next/.next/server/pages/_app.js +1 -1
  81. package/dist/.next/.next/server/pages/_document.js +1 -1
  82. package/dist/.next/.next/server/pages/_error.js +1 -1
  83. package/dist/.next/.next/server/server-reference-manifest.json +1 -1
  84. package/dist/.next/.next/static/chunks/576-18a2209e1ed26aad.js +1 -0
  85. package/dist/.next/.next/static/chunks/{92-c4466e0f1ca8a3a8.js → 92-5f7522943fcb72a8.js} +1 -1
  86. package/dist/.next/.next/static/chunks/app/{layout-be6ee67cf0c92654.js → layout-40ec07d04681ba81.js} +1 -1
  87. package/dist/.next/.next/static/chunks/app/page-f05cd0fc436bf9bc.js +1 -0
  88. package/dist/.next/.next/static/chunks/{main-app-fa35024de9bd9284.js → main-app-4506e88db72db4b7.js} +1 -1
  89. package/dist/.next/.next/static/css/7c16f57d325d0d7d.css +3 -0
  90. package/dist/.next/.next/static/gABGrAoO8IPArDo_Ns_7g/_buildManifest.js +1 -0
  91. package/dist/.next/.next/static/gABGrAoO8IPArDo_Ns_7g/_ssgManifest.js +1 -0
  92. package/dist/.next/.next/static/gh-QfIUVo4FTTduYCVKT6/_buildManifest.js +1 -0
  93. package/dist/.next/.next/static/gh-QfIUVo4FTTduYCVKT6/_ssgManifest.js +1 -0
  94. package/dist/.next/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  95. package/dist/.next/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  96. package/dist/.next/.next/static/ybCx6L6gHqtODbKmlhU-d/_buildManifest.js +1 -0
  97. package/dist/.next/.next/static/ybCx6L6gHqtODbKmlhU-d/_ssgManifest.js +1 -0
  98. package/dist/.next/.next/trace +3 -3
  99. package/dist/.next/.next/types/app/api/cloudflare/route.ts +1 -1
  100. package/dist/.next/.next/types/app/api/databases/route.ts +1 -1
  101. package/dist/.next/.next/types/app/api/migrations/sync/route.ts +1 -1
  102. package/dist/.next/.next/types/app/api/migrations/sync-files/route.ts +1 -1
  103. package/dist/.next/.next/types/app/api/pull-data/confirm/route.ts +1 -1
  104. package/dist/.next/.next/types/app/api/pull-remote/confirm/route.ts +1 -1
  105. package/dist/.next/.next/types/app/api/pull-remote/preview/route.ts +1 -1
  106. package/dist/.next/.next/types/app/api/push-remote/confirm/route.ts +1 -1
  107. package/dist/.next/.next/types/app/api/push-remote/preview/route.ts +1 -1
  108. package/dist/.next/.next/types/app/api/query/route.ts +1 -1
  109. package/dist/.next/.next/types/app/api/tables/[name]/route.ts +1 -1
  110. package/dist/.next/.next/types/app/api/tables/route.ts +1 -1
  111. package/dist/.next/.next/types/app/api/update/route.ts +1 -1
  112. package/dist/.next/.next/types/app/page.ts +1 -1
  113. package/dist/.next/BUILD_ID +1 -1
  114. package/dist/.next/app-build-manifest.json +32 -32
  115. package/dist/.next/app-path-routes-manifest.json +1 -1
  116. package/dist/.next/build-manifest.json +3 -3
  117. package/dist/.next/cache/.rscinfo +1 -1
  118. package/dist/.next/cache/.tsbuildinfo +1 -1
  119. package/dist/.next/cache/webpack/client-production/0.pack +0 -0
  120. package/dist/.next/cache/webpack/client-production/1.pack +0 -0
  121. package/dist/.next/cache/webpack/client-production/2.pack +0 -0
  122. package/dist/.next/cache/webpack/client-production/index.pack +0 -0
  123. package/dist/.next/cache/webpack/client-production/index.pack.old +0 -0
  124. package/dist/.next/cache/webpack/edge-server-production/index.pack +0 -0
  125. package/dist/.next/cache/webpack/server-production/0.pack +0 -0
  126. package/dist/.next/cache/webpack/server-production/index.pack +0 -0
  127. package/dist/.next/next-minimal-server.js.nft.json +1 -1
  128. package/dist/.next/next-server.js.nft.json +1 -1
  129. package/dist/.next/prerender-manifest.json +1 -1
  130. package/dist/.next/required-server-files.json +1 -1
  131. package/dist/.next/server/app/_not-found/page.js +1 -1
  132. package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
  133. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  134. package/dist/.next/server/app/_not-found.html +1 -1
  135. package/dist/.next/server/app/_not-found.rsc +4 -4
  136. package/dist/.next/server/app/api/cloudflare/route.js +1 -1
  137. package/dist/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
  138. package/dist/.next/server/app/api/databases/route.js +1 -1
  139. package/dist/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
  140. package/dist/.next/server/app/api/migrations/sync/route.js +5 -5
  141. package/dist/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
  142. package/dist/.next/server/app/api/migrations/sync-files/route.js +3 -3
  143. package/dist/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
  144. package/dist/.next/server/app/api/pull-data/confirm/route.js +1 -1
  145. package/dist/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
  146. package/dist/.next/server/app/api/pull-remote/confirm/route.js +2 -2
  147. package/dist/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
  148. package/dist/.next/server/app/api/pull-remote/preview/route.js +4 -4
  149. package/dist/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
  150. package/dist/.next/server/app/api/push-remote/confirm/route.js +5 -5
  151. package/dist/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
  152. package/dist/.next/server/app/api/push-remote/preview/route.js +4 -4
  153. package/dist/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
  154. package/dist/.next/server/app/api/query/route.js +3 -3
  155. package/dist/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
  156. package/dist/.next/server/app/api/tables/[name]/route.js +5 -5
  157. package/dist/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
  158. package/dist/.next/server/app/api/tables/route.js +2 -2
  159. package/dist/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
  160. package/dist/.next/server/app/api/update/route.js +1 -1
  161. package/dist/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  162. package/dist/.next/server/app/index.html +3 -3
  163. package/dist/.next/server/app/index.rsc +5 -5
  164. package/dist/.next/server/app/page.js +11 -13
  165. package/dist/.next/server/app/page.js.nft.json +1 -1
  166. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  167. package/dist/.next/server/app-paths-manifest.json +2 -2
  168. package/dist/.next/server/chunks/226.js +12 -12
  169. package/dist/.next/server/chunks/391.js +5 -5
  170. package/dist/.next/server/chunks/452.js +1 -1
  171. package/dist/.next/server/chunks/572.js +1 -0
  172. package/dist/.next/server/chunks/627.js +3 -3
  173. package/dist/.next/server/chunks/638.js +3 -3
  174. package/dist/.next/server/chunks/992.js +3 -3
  175. package/dist/.next/server/middleware-build-manifest.js +1 -1
  176. package/dist/.next/server/next-font-manifest.js +1 -1
  177. package/dist/.next/server/next-font-manifest.json +1 -1
  178. package/dist/.next/server/pages/404.html +1 -1
  179. package/dist/.next/server/pages/500.html +1 -1
  180. package/dist/.next/server/pages/_app.js +1 -1
  181. package/dist/.next/server/pages/_document.js +1 -1
  182. package/dist/.next/server/pages/_error.js +1 -1
  183. package/dist/.next/server/server-reference-manifest.json +1 -1
  184. package/dist/.next/static/IX-QLbm7scYnyqWeeimal/_buildManifest.js +1 -0
  185. package/dist/.next/static/IX-QLbm7scYnyqWeeimal/_ssgManifest.js +1 -0
  186. package/dist/.next/static/chunks/576-18a2209e1ed26aad.js +1 -0
  187. package/dist/.next/static/chunks/{92-c4466e0f1ca8a3a8.js → 92-5f7522943fcb72a8.js} +1 -1
  188. package/dist/.next/static/chunks/app/{layout-be6ee67cf0c92654.js → layout-40ec07d04681ba81.js} +1 -1
  189. package/dist/.next/static/chunks/app/page-f05cd0fc436bf9bc.js +1 -0
  190. package/dist/.next/static/chunks/{main-app-fa35024de9bd9284.js → main-app-4506e88db72db4b7.js} +1 -1
  191. package/dist/.next/static/css/7c16f57d325d0d7d.css +3 -0
  192. package/dist/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  193. package/dist/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  194. package/dist/.next/trace +3 -16
  195. package/dist/.next/types/app/api/cloudflare/route.ts +1 -1
  196. package/dist/.next/types/app/api/databases/route.ts +1 -1
  197. package/dist/.next/types/app/api/migrations/sync/route.ts +1 -1
  198. package/dist/.next/types/app/api/migrations/sync-files/route.ts +1 -1
  199. package/dist/.next/types/app/api/pull-data/confirm/route.ts +1 -1
  200. package/dist/.next/types/app/api/pull-remote/confirm/route.ts +1 -1
  201. package/dist/.next/types/app/api/pull-remote/preview/route.ts +1 -1
  202. package/dist/.next/types/app/api/push-remote/confirm/route.ts +1 -1
  203. package/dist/.next/types/app/api/push-remote/preview/route.ts +1 -1
  204. package/dist/.next/types/app/api/query/route.ts +1 -1
  205. package/dist/.next/types/app/api/tables/[name]/route.ts +1 -1
  206. package/dist/.next/types/app/api/tables/route.ts +1 -1
  207. package/dist/.next/types/app/api/update/route.ts +1 -1
  208. package/dist/.next/types/app/page.ts +1 -1
  209. package/dist/app/api/tables/[name]/route.js +22 -10
  210. package/dist/app/globals.css +39 -0
  211. package/dist/app/page.jsx +13 -23
  212. package/dist/d1-studio.js +34 -4
  213. package/dist/lib/data-type-handlers.js +426 -0
  214. package/dist/lib/sql-operations.js +32 -8
  215. package/dist/lib/sql-sanitizer.js +233 -0
  216. package/package.json +3 -9
  217. package/dist/.next/.next/cache/webpack/server-production/2.pack +0 -0
  218. package/dist/.next/.next/server/chunks/90.js +0 -1
  219. package/dist/.next/.next/static/chunks/700-dc8f9f08b166c5e6.js +0 -1
  220. package/dist/.next/.next/static/chunks/app/page-16ec561fc8bebb5d.js +0 -1
  221. package/dist/.next/.next/static/css/0c512cea5f3d317a.css +0 -3
  222. package/dist/.next/server/chunks/90.js +0 -1
  223. package/dist/.next/static/chunks/700-dc8f9f08b166c5e6.js +0 -1
  224. package/dist/.next/static/chunks/app/page-16ec561fc8bebb5d.js +0 -1
  225. package/dist/.next/static/css/0c512cea5f3d317a.css +0 -3
  226. package/dist/app/app/api/cloudflare/route.js +0 -150
  227. package/dist/app/app/api/databases/route.js +0 -71
  228. package/dist/app/app/api/migrations/sync/route.js +0 -174
  229. package/dist/app/app/api/migrations/sync-files/route.js +0 -172
  230. package/dist/app/app/api/pull-data/confirm/route.js +0 -230
  231. package/dist/app/app/api/pull-remote/confirm/route.js +0 -278
  232. package/dist/app/app/api/pull-remote/preview/route.js +0 -144
  233. package/dist/app/app/api/push-remote/confirm/route.js +0 -196
  234. package/dist/app/app/api/push-remote/preview/route.js +0 -179
  235. package/dist/app/app/api/query/route.js +0 -168
  236. package/dist/app/app/api/tables/[name]/route.js +0 -174
  237. package/dist/app/app/api/tables/route.js +0 -178
  238. package/dist/app/app/api/update/route.js +0 -45
  239. package/dist/app/app/globals.css +0 -93
  240. package/dist/app/app/layout.jsx +0 -35
  241. package/dist/app/app/page.jsx +0 -44
  242. package/next.config.mjs +0 -18
  243. package/postcss.config.mjs +0 -8
  244. package/scripts/studio.js +0 -169
  245. package/scripts/test.js +0 -366
  246. package/src/app/api/cloudflare/route.js +0 -150
  247. package/src/app/api/databases/route.js +0 -71
  248. package/src/app/api/migrations/sync/route.js +0 -174
  249. package/src/app/api/migrations/sync-files/route.js +0 -172
  250. package/src/app/api/pull-data/confirm/route.js +0 -230
  251. package/src/app/api/pull-remote/confirm/route.js +0 -278
  252. package/src/app/api/pull-remote/preview/route.js +0 -144
  253. package/src/app/api/push-remote/confirm/route.js +0 -196
  254. package/src/app/api/push-remote/preview/route.js +0 -179
  255. package/src/app/api/query/route.js +0 -168
  256. package/src/app/api/tables/[name]/route.js +0 -174
  257. package/src/app/api/tables/route.js +0 -178
  258. package/src/app/api/update/route.js +0 -45
  259. package/src/app/globals.css +0 -93
  260. package/src/app/layout.jsx +0 -35
  261. package/src/app/page.jsx +0 -44
  262. package/src/components/cloudflare-credentials-modal.jsx +0 -94
  263. package/src/components/column-selector.jsx +0 -133
  264. package/src/components/column-sorting.jsx +0 -65
  265. package/src/components/delete-records-dialog.jsx +0 -64
  266. package/src/components/download-button.jsx +0 -205
  267. package/src/components/edit-error-alert.jsx +0 -30
  268. package/src/components/editable-cell.jsx +0 -163
  269. package/src/components/editable-row.jsx +0 -169
  270. package/src/components/environment-handler.jsx +0 -332
  271. package/src/components/environment-select.jsx +0 -62
  272. package/src/components/pull-preview-toast.jsx +0 -215
  273. package/src/components/push-error-alert.jsx +0 -72
  274. package/src/components/push-preview-toast.jsx +0 -183
  275. package/src/components/query-results.jsx +0 -112
  276. package/src/components/refresh-button.jsx +0 -61
  277. package/src/components/resize-columns.jsx +0 -101
  278. package/src/components/sidebar.jsx +0 -254
  279. package/src/components/sql-editor.jsx +0 -411
  280. package/src/components/sql-error-display.jsx +0 -167
  281. package/src/components/sync-migrations-button.jsx +0 -87
  282. package/src/components/table-error-dialog.jsx +0 -65
  283. package/src/components/table-toolbar.jsx +0 -285
  284. package/src/components/table-view.jsx +0 -843
  285. package/src/components/ui/alert.jsx +0 -47
  286. package/src/components/ui/button.jsx +0 -48
  287. package/src/components/ui/card.jsx +0 -50
  288. package/src/components/ui/checkbox.jsx +0 -24
  289. package/src/components/ui/collapsible.jsx +0 -11
  290. package/src/components/ui/dialog.jsx +0 -96
  291. package/src/components/ui/dropdown-menu.jsx +0 -158
  292. package/src/components/ui/input.jsx +0 -19
  293. package/src/components/ui/scroll-area.jsx +0 -40
  294. package/src/components/ui/select.jsx +0 -121
  295. package/src/components/ui/separator.jsx +0 -25
  296. package/src/components/ui/sheet.jsx +0 -109
  297. package/src/components/ui/sidebar.jsx +0 -620
  298. package/src/components/ui/skeleton.jsx +0 -14
  299. package/src/components/ui/table.jsx +0 -86
  300. package/src/components/ui/tabs.jsx +0 -43
  301. package/src/components/ui/toast.jsx +0 -86
  302. package/src/components/ui/toaster.jsx +0 -35
  303. package/src/components/ui/tooltip.jsx +0 -28
  304. package/src/components/update-banner.jsx +0 -93
  305. package/src/context/database-context.js +0 -510
  306. package/src/hooks/use-mobile.jsx +0 -19
  307. package/src/hooks/use-sql-error.ts +0 -23
  308. package/src/hooks/use-toast.js +0 -155
  309. package/src/lib/database-queue.js +0 -37
  310. package/src/lib/error.js +0 -20
  311. package/src/lib/find-wrangler-config.js +0 -74
  312. package/src/lib/license.js +0 -99
  313. package/src/lib/logger.js +0 -58
  314. package/src/lib/migrations.js +0 -415
  315. package/src/lib/parse-sql-error.js +0 -200
  316. package/src/lib/request-deduplication.js +0 -24
  317. package/src/lib/schema-operations.js +0 -106
  318. package/src/lib/sql-error-types.js +0 -14
  319. package/src/lib/sql-operations.js +0 -647
  320. package/src/lib/utils.js +0 -6
  321. package/src/lib/version-utils.js +0 -34
  322. /package/dist/.next/.next/static/{5dBGGUmK5q7of4h5Rahrg → Y9mYu4WBghepP5oT_3OdR}/_buildManifest.js +0 -0
  323. /package/dist/.next/.next/static/{5dBGGUmK5q7of4h5Rahrg → Y9mYu4WBghepP5oT_3OdR}/_ssgManifest.js +0 -0
  324. /package/dist/.next/.next/static/{PflNFnmFsNegSqhzjI6lA → ae3gNmoSGm-R5LJC4UagI}/_buildManifest.js +0 -0
  325. /package/dist/.next/.next/static/{PflNFnmFsNegSqhzjI6lA → ae3gNmoSGm-R5LJC4UagI}/_ssgManifest.js +0 -0
  326. /package/dist/.next/.next/static/{p8875OZM4iDNsPzmoyLe7 → bKfUJeuvAQlBmR3TjrfkH}/_buildManifest.js +0 -0
  327. /package/dist/.next/.next/static/{p8875OZM4iDNsPzmoyLe7 → bKfUJeuvAQlBmR3TjrfkH}/_ssgManifest.js +0 -0
  328. /package/dist/.next/{static 2/5dBGGUmK5q7of4h5Rahrg → .next/static/ejYPqJ2kVicVp5EFWOZIC}/_buildManifest.js +0 -0
  329. /package/dist/.next/{static 2/5dBGGUmK5q7of4h5Rahrg → .next/static/ejYPqJ2kVicVp5EFWOZIC}/_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
- };