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