@prisma/orm-target-sqlite 8.0.0-rc.19-dev.9 → 8.0.0-rc.19-dev.10

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 (273) hide show
  1. package/dist/{adapter-7m8HU4rt-C6hQAALX.mjs → adapter-7m8HU4rt-DN15_Cn8.mjs} +10 -10
  2. package/dist/adapter-7m8HU4rt-DN15_Cn8.mjs.map +1 -0
  3. package/dist/{adapter-xFPDhkod-BsfRQfp6.d.mts → adapter-xFPDhkod-BsdLsy9N.d.mts} +9 -9
  4. package/dist/adapter-xFPDhkod-BsdLsy9N.d.mts.map +1 -0
  5. package/dist/{adapter-DKUHH8BN.d.mts → adapter-xs2nBMBo.d.mts} +7 -7
  6. package/dist/adapter-xs2nBMBo.d.mts.map +1 -0
  7. package/dist/adapter.d.mts +13 -13
  8. package/dist/adapter.mjs +6 -6
  9. package/dist/adapter__adapter.d.mts +3 -3
  10. package/dist/adapter__adapter.mjs +2 -2
  11. package/dist/adapter__codec-types.d.mts +3 -3
  12. package/dist/adapter__column-types.d.mts +1 -1
  13. package/dist/adapter__column-types.mjs +1 -1
  14. package/dist/adapter__control.d.mts +4 -4
  15. package/dist/adapter__control.mjs +6 -6
  16. package/dist/adapter__control.mjs.map +1 -1
  17. package/dist/adapter__runtime.d.mts +1 -1
  18. package/dist/adapter__runtime.mjs +4 -4
  19. package/dist/adapter__runtime.mjs.map +1 -1
  20. package/dist/adapter__sql-renderer.d.mts +2 -2
  21. package/dist/adapter__sql-renderer.mjs +1 -1
  22. package/dist/adapter__types.d.mts +3 -3
  23. package/dist/{aggregates-exfiPSHR.mjs → aggregates-D5fuFVMC.mjs} +3 -3
  24. package/dist/aggregates-D5fuFVMC.mjs.map +1 -0
  25. package/dist/{aggregates-D-yzAlbC.d.mts → aggregates-DC8nyCjN.d.mts} +5 -5
  26. package/dist/aggregates-DC8nyCjN.d.mts.map +1 -0
  27. package/dist/codec-descriptor-3oN7rtrW-Cc_u7U5-.d.mts +1 -0
  28. package/dist/codec-descriptor-C16gQAdS.d.mts +2 -0
  29. package/dist/{codec-descriptor-DRmF-crq-BzlPCPyM.mjs → codec-descriptor-DRmF-crq-BALI5Jtz.mjs} +2 -2
  30. package/dist/codec-descriptor-DRmF-crq-BALI5Jtz.mjs.map +1 -0
  31. package/dist/{codec-descriptor-DuW-d9ef-CLGWK2wF.d.mts → codec-descriptor-DuW-d9ef-BBRBN0Ri.d.mts} +2 -2
  32. package/dist/codec-descriptor-DuW-d9ef-BBRBN0Ri.d.mts.map +1 -0
  33. package/dist/codec-ids-CMbhYIsa.d.mts +1 -0
  34. package/dist/{codec-ids-DuJYssXV-BW3y5jTO.d.mts → codec-ids-DuJYssXV-BPKbFNRL.d.mts} +2 -2
  35. package/dist/codec-ids-DuJYssXV-BPKbFNRL.d.mts.map +1 -0
  36. package/dist/{codec-ids-wgEvkCkg-8bxcCujY.mjs → codec-ids-wgEvkCkg-WltuexMR.mjs} +2 -2
  37. package/dist/codec-ids-wgEvkCkg-WltuexMR.mjs.map +1 -0
  38. package/dist/{codec-types-COh75Bop-YF2hiOlF.d.mts → codec-types-COh75Bop-CUehAexc.d.mts} +5 -5
  39. package/dist/codec-types-COh75Bop-CUehAexc.d.mts.map +1 -0
  40. package/dist/codec-types-ELHfd82J.d.mts +2 -0
  41. package/dist/codec-types-PONhVn74.d.mts +1 -0
  42. package/dist/{codecs-BJYruC-a-gv28KlTa.d.mts → codecs-BJYruC-a-BKDGae3k.d.mts} +4 -4
  43. package/dist/codecs-BJYruC-a-BKDGae3k.d.mts.map +1 -0
  44. package/dist/codecs-Dn0xoCuf.d.mts +1 -0
  45. package/dist/{codecs-QLF1GwJG.mjs → codecs-g-YI3BtK.mjs} +4 -4
  46. package/dist/codecs-g-YI3BtK.mjs.map +1 -0
  47. package/dist/{codecs-yZoH21Yj-DfCqJxdc.mjs → codecs-yZoH21Yj-lQXtGlEq.mjs} +6 -6
  48. package/dist/codecs-yZoH21Yj-lQXtGlEq.mjs.map +1 -0
  49. package/dist/{column-types-BmJdcNqR.mjs → column-types-DcbNOYVb.mjs} +3 -3
  50. package/dist/column-types-DcbNOYVb.mjs.map +1 -0
  51. package/dist/{column-types-D4Dmbaa6.d.mts → column-types-Dxm0BpPv.d.mts} +4 -4
  52. package/dist/column-types-Dxm0BpPv.d.mts.map +1 -0
  53. package/dist/{contract-contributions-wweWdXMK-C7LvZMgG.mjs → contract-contributions-wweWdXMK-CN-d35Rj.mjs} +3 -3
  54. package/dist/contract-contributions-wweWdXMK-CN-d35Rj.mjs.map +1 -0
  55. package/dist/{contract-free-CCLAXZV2.d.mts → contract-free-BJwIJN6x.d.mts} +3 -3
  56. package/dist/contract-free-BJwIJN6x.d.mts.map +1 -0
  57. package/dist/{contract-free-jczZy_HM.mjs → contract-free-DetowcoS.mjs} +5 -5
  58. package/dist/contract-free-DetowcoS.mjs.map +1 -0
  59. package/dist/{control-Q2TqoG2O.d.mts → control-BbJiKI2r.d.mts} +8 -8
  60. package/dist/control-BbJiKI2r.d.mts.map +1 -0
  61. package/dist/{control-DKT_rL3s.mjs → control-BxbKU2xs.mjs} +3 -3
  62. package/dist/control-BxbKU2xs.mjs.map +1 -0
  63. package/dist/{control-D9vMRRgU.d.mts → control-C2TjacST.d.mts} +3 -3
  64. package/dist/control-C2TjacST.d.mts.map +1 -0
  65. package/dist/{control-CqSlwRpm.d.mts → control-CmDsxEqb.d.mts} +5 -5
  66. package/dist/control-CmDsxEqb.d.mts.map +1 -0
  67. package/dist/{control-tables-Dua-YcJL.d.mts → control-tables-DKXLHvMU.d.mts} +2 -2
  68. package/dist/control-tables-DKXLHvMU.d.mts.map +1 -0
  69. package/dist/{control-tables-D_o8dKRB-BXi43noL.mjs → control-tables-D_o8dKRB-n_QqsXcm.mjs} +2 -2
  70. package/dist/control-tables-D_o8dKRB-n_QqsXcm.mjs.map +1 -0
  71. package/dist/{data-type-entries-yQ-qYugg-jlWnv7x2.mjs → data-type-entries-yQ-qYugg-C_NnX5WO.mjs} +3 -3
  72. package/dist/data-type-entries-yQ-qYugg-C_NnX5WO.mjs.map +1 -0
  73. package/dist/{data-types-C24Aynr8.d.mts → data-types-Dx3rHsbF.d.mts} +2 -2
  74. package/dist/data-types-Dx3rHsbF.d.mts.map +1 -0
  75. package/dist/{data-types-coQrCWfS-BRcy6yh-.mjs → data-types-coQrCWfS-yMCe4F52.mjs} +2 -2
  76. package/dist/data-types-coQrCWfS-yMCe4F52.mjs.map +1 -0
  77. package/dist/{datetime-text-Bniwehv--Ddt3VS4z.mjs → datetime-text-Bniwehv--BSQhnrdE.mjs} +2 -2
  78. package/dist/datetime-text-Bniwehv--BSQhnrdE.mjs.map +1 -0
  79. package/dist/ddl-31OBcTco.d.mts +1 -0
  80. package/dist/{ddl-CX4tAZ-y-BkaAELc2.mjs → ddl-CX4tAZ-y-Bng-4PWC.mjs} +4 -4
  81. package/dist/ddl-CX4tAZ-y-Bng-4PWC.mjs.map +1 -0
  82. package/dist/{default-normalizer-DNvRFfNg.d.mts → default-normalizer-CkHy3JYk.d.mts} +2 -2
  83. package/dist/default-normalizer-CkHy3JYk.d.mts.map +1 -0
  84. package/dist/{default-normalizer-DGMXypHg-Q0mNIQC6.mjs → default-normalizer-DGMXypHg-CPf7oyZA.mjs} +3 -3
  85. package/dist/default-normalizer-DGMXypHg-CPf7oyZA.mjs.map +1 -0
  86. package/dist/{descriptor-meta-DJWS67Tl-Dy3AJ6lT.mjs → descriptor-meta-DJWS67Tl-OkfyPhdx.mjs} +6 -6
  87. package/dist/descriptor-meta-DJWS67Tl-OkfyPhdx.mjs.map +1 -0
  88. package/dist/{descriptor-meta-DrNwC4vO-2IDztI63.mjs → descriptor-meta-DrNwC4vO-D7vuA6QK.mjs} +4 -4
  89. package/dist/descriptor-meta-DrNwC4vO-D7vuA6QK.mjs.map +1 -0
  90. package/dist/{descriptor-meta-cwy5CXTT-DSRaq_b-.mjs → descriptor-meta-cwy5CXTT-CLOhiryX.mjs} +2 -2
  91. package/dist/descriptor-meta-cwy5CXTT-CLOhiryX.mjs.map +1 -0
  92. package/dist/{descriptor-meta-runtime-DX2JfHWF-BhpYNzHG.mjs → descriptor-meta-runtime-DX2JfHWF-Dbsh5NP8.mjs} +3 -3
  93. package/dist/descriptor-meta-runtime-DX2JfHWF-Dbsh5NP8.mjs.map +1 -0
  94. package/dist/driver.d.mts +2 -2
  95. package/dist/driver.mjs +1 -1
  96. package/dist/driver__control.d.mts +1 -1
  97. package/dist/driver__control.mjs +1 -1
  98. package/dist/driver__runtime.d.mts +1 -1
  99. package/dist/driver__runtime.mjs +2 -2
  100. package/dist/driver__runtime.mjs.map +1 -1
  101. package/dist/{errors-DnR-sMHS-KkMLIP2U.mjs → errors-DnR-sMHS-D_gh214a.mjs} +2 -2
  102. package/dist/errors-DnR-sMHS-D_gh214a.mjs.map +1 -0
  103. package/dist/{migration-p83G5mtQ.d.mts → migration-WJlUQmsn.d.mts} +4 -4
  104. package/dist/migration-WJlUQmsn.d.mts.map +1 -0
  105. package/dist/{migration-CRgxnwXy.mjs → migration-nqIDkjRz.mjs} +4 -4
  106. package/dist/migration-nqIDkjRz.mjs.map +1 -0
  107. package/dist/{nodes-D8EC1yCx-rpfpuJ4T.d.mts → nodes-D8EC1yCx-BS-fKla6.d.mts} +2 -2
  108. package/dist/nodes-D8EC1yCx-BS-fKla6.d.mts.map +1 -0
  109. package/dist/{nodes-DUZSdX86-BBEEaxXY.mjs → nodes-DUZSdX86-DWyLY3OW.mjs} +2 -2
  110. package/dist/nodes-DUZSdX86-DWyLY3OW.mjs.map +1 -0
  111. package/dist/{op-factory-call-CnufFdpE.d.mts → op-factory-call-De6MX7Yp.d.mts} +4 -4
  112. package/dist/op-factory-call-De6MX7Yp.d.mts.map +1 -0
  113. package/dist/{op-factory-call-ISQk93c4-PEra1nhj.mjs → op-factory-call-emj9Xp05-BFLkxrAK.mjs} +7 -7
  114. package/dist/op-factory-call-emj9Xp05-BFLkxrAK.mjs.map +1 -0
  115. package/dist/{pack-D0meKqcr.d.mts → pack-R00UYGKo.d.mts} +4 -4
  116. package/dist/pack-R00UYGKo.d.mts.map +1 -0
  117. package/dist/{planner-B7LFq_1q-CO6foKgf.mjs → planner-BvwYScnt-9H9LIJFn.mjs} +5 -5
  118. package/dist/planner-BvwYScnt-9H9LIJFn.mjs.map +1 -0
  119. package/dist/{planner-JHs58vqA.d.mts → planner-CjMq9oEt.d.mts} +4 -4
  120. package/dist/planner-CjMq9oEt.d.mts.map +1 -0
  121. package/dist/{planner-produced-sqlite-migration-XLiHMenG-_9p4tPWa.mjs → planner-produced-sqlite-migration-D2jtaItv-ZFZhPfGE.mjs} +4 -4
  122. package/dist/planner-produced-sqlite-migration-D2jtaItv-ZFZhPfGE.mjs.map +1 -0
  123. package/dist/{planner-produced-sqlite-migration-DuM9c3YI-COeeqS8N.d.mts → planner-produced-sqlite-migration-DuM9c3YI-Dacb6zQZ.d.mts} +4 -4
  124. package/dist/planner-produced-sqlite-migration-DuM9c3YI-Dacb6zQZ.d.mts.map +1 -0
  125. package/dist/planner-produced-sqlite-migration-GDP1M36D.d.mts +1 -0
  126. package/dist/{planner-target-details-CIQ789Gc-C5U4yVY9.mjs → planner-target-details-CIQ789Gc-Cug2V5g5.mjs} +2 -2
  127. package/dist/planner-target-details-CIQ789Gc-Cug2V5g5.mjs.map +1 -0
  128. package/dist/{planner-target-details-xR6UfIcz-CMahymzq.d.mts → planner-target-details-xR6UfIcz-BrBPQGOS.d.mts} +2 -2
  129. package/dist/planner-target-details-xR6UfIcz-BrBPQGOS.d.mts.map +1 -0
  130. package/dist/{render-ops-Btxzdp9v-K5GJXCFD.mjs → render-ops-BPLkHR-y-CPoXG5Ap.mjs} +4 -4
  131. package/dist/render-ops-BPLkHR-y-CPoXG5Ap.mjs.map +1 -0
  132. package/dist/{render-ops-B10yqmdG.d.mts → render-ops-Ntl2jBJe.d.mts} +3 -3
  133. package/dist/render-ops-Ntl2jBJe.d.mts.map +1 -0
  134. package/dist/{runtime-B1coahKC.d.mts → runtime-BvMPuBrJ.d.mts} +3 -3
  135. package/dist/runtime-BvMPuBrJ.d.mts.map +1 -0
  136. package/dist/{runtime-8_WfNAcA.d.mts → runtime-CjIoI3sa.d.mts} +4 -4
  137. package/dist/runtime-CjIoI3sa.d.mts.map +1 -0
  138. package/dist/{runtime-BoSV7f77.d.mts → runtime-YfPIbtO6.d.mts} +4 -4
  139. package/dist/runtime-YfPIbtO6.d.mts.map +1 -0
  140. package/dist/sql-renderer-brQ96quu.d.mts +1 -0
  141. package/dist/{sql-utils-0SJZOd7Q.d.mts → sql-utils-BqHka8P6.d.mts} +2 -2
  142. package/dist/sql-utils-BqHka8P6.d.mts.map +1 -0
  143. package/dist/{sql-utils-XGT5Esi2-5k9pvJeF.mjs → sql-utils-XGT5Esi2-Zr2mqJf8.mjs} +3 -3
  144. package/dist/sql-utils-XGT5Esi2-Zr2mqJf8.mjs.map +1 -0
  145. package/dist/{sqlite-contract-view-BDw8T5Cp-CbLVOPJq.d.mts → sqlite-contract-view-BDw8T5Cp-BfFajhe4.d.mts} +2 -2
  146. package/dist/sqlite-contract-view-BDw8T5Cp-BfFajhe4.d.mts.map +1 -0
  147. package/dist/{sqlite-contract-view-C8D7iPrj-Cnw69l7b.mjs → sqlite-contract-view-CGfiGvKH-CT-JjNHd.mjs} +6 -6
  148. package/dist/sqlite-contract-view-CGfiGvKH-CT-JjNHd.mjs.map +1 -0
  149. package/dist/{sqlite-migration-DmCXBAGI-BNrVD8vm.mjs → sqlite-migration-BAdSmooi-iWFVQgGV.mjs} +11 -11
  150. package/dist/sqlite-migration-BAdSmooi-iWFVQgGV.mjs.map +1 -0
  151. package/dist/{sqlite-migration-CLIMaHLy-BQ6vv7gq.d.mts → sqlite-migration-CLIMaHLy-5ZjJDdDP.d.mts} +6 -6
  152. package/dist/sqlite-migration-CLIMaHLy-5ZjJDdDP.d.mts.map +1 -0
  153. package/dist/{tables-C6oejIsc-BgxW5wBn.d.mts → tables-C6oejIsc-CzK00Kwl.d.mts} +4 -4
  154. package/dist/tables-C6oejIsc-CzK00Kwl.d.mts.map +1 -0
  155. package/dist/target.d.mts +28 -28
  156. package/dist/target.mjs +23 -23
  157. package/dist/target__aggregates.d.mts +1 -1
  158. package/dist/target__aggregates.mjs +1 -1
  159. package/dist/target__codec-descriptor.d.mts +2 -2
  160. package/dist/target__codec-descriptor.mjs +1 -1
  161. package/dist/target__codec-ids.d.mts +2 -2
  162. package/dist/target__codec-ids.mjs +1 -1
  163. package/dist/target__codec-types.d.mts +3 -3
  164. package/dist/target__codecs.d.mts +2 -2
  165. package/dist/target__codecs.mjs +3 -3
  166. package/dist/target__contract-free.d.mts +1 -1
  167. package/dist/target__contract-free.mjs +2 -2
  168. package/dist/target__control-tables.d.mts +1 -1
  169. package/dist/target__control-tables.mjs +1 -1
  170. package/dist/target__control.d.mts +2 -2
  171. package/dist/target__control.mjs +10 -10
  172. package/dist/target__control.mjs.map +1 -1
  173. package/dist/target__data-types.d.mts +1 -1
  174. package/dist/target__data-types.mjs +2 -2
  175. package/dist/target__ddl.d.mts +2 -2
  176. package/dist/target__ddl.mjs +1 -1
  177. package/dist/target__default-normalizer.d.mts +1 -1
  178. package/dist/target__default-normalizer.mjs +1 -1
  179. package/dist/target__migration.d.mts +2 -2
  180. package/dist/target__migration.mjs +2 -2
  181. package/dist/target__op-factory-call.d.mts +1 -1
  182. package/dist/target__op-factory-call.mjs +1 -1
  183. package/dist/target__pack.d.mts +1 -1
  184. package/dist/target__pack.mjs +1 -1
  185. package/dist/target__planner-produced-sqlite-migration.d.mts +2 -2
  186. package/dist/target__planner-produced-sqlite-migration.mjs +1 -1
  187. package/dist/target__planner-target-details.d.mts +1 -1
  188. package/dist/target__planner-target-details.mjs +1 -1
  189. package/dist/target__planner.d.mts +1 -1
  190. package/dist/target__planner.mjs +1 -1
  191. package/dist/target__render-ops.d.mts +1 -1
  192. package/dist/target__render-ops.mjs +1 -1
  193. package/dist/target__runtime.d.mts +2 -2
  194. package/dist/target__runtime.mjs +3 -3
  195. package/dist/target__runtime.mjs.map +1 -1
  196. package/dist/target__sql-utils.d.mts +1 -1
  197. package/dist/target__sql-utils.mjs +1 -1
  198. package/dist/{types-RJMd2PlL-EuhZF7B6.d.mts → types-RJMd2PlL-BTGAJrBQ.d.mts} +4 -4
  199. package/dist/types-RJMd2PlL-BTGAJrBQ.d.mts.map +1 -0
  200. package/dist/types-y5JlAv97.d.mts +2 -0
  201. package/package.json +9 -9
  202. package/dist/adapter-7m8HU4rt-C6hQAALX.mjs.map +0 -1
  203. package/dist/adapter-DKUHH8BN.d.mts.map +0 -1
  204. package/dist/adapter-xFPDhkod-BsfRQfp6.d.mts.map +0 -1
  205. package/dist/aggregates-D-yzAlbC.d.mts.map +0 -1
  206. package/dist/aggregates-exfiPSHR.mjs.map +0 -1
  207. package/dist/codec-descriptor-3oN7rtrW-Dk5P8NLm.d.mts +0 -1
  208. package/dist/codec-descriptor-DRmF-crq-BzlPCPyM.mjs.map +0 -1
  209. package/dist/codec-descriptor-DuW-d9ef-CLGWK2wF.d.mts.map +0 -1
  210. package/dist/codec-descriptor-WwE5fA08.d.mts +0 -2
  211. package/dist/codec-ids-DuJYssXV-BW3y5jTO.d.mts.map +0 -1
  212. package/dist/codec-ids-Dyi0HKJw.d.mts +0 -1
  213. package/dist/codec-ids-wgEvkCkg-8bxcCujY.mjs.map +0 -1
  214. package/dist/codec-types-CLxV6VvX.d.mts +0 -1
  215. package/dist/codec-types-COh75Bop-YF2hiOlF.d.mts.map +0 -1
  216. package/dist/codec-types-D0VxUBSx.d.mts +0 -2
  217. package/dist/codecs-BFV0ef0d.d.mts +0 -1
  218. package/dist/codecs-BJYruC-a-gv28KlTa.d.mts.map +0 -1
  219. package/dist/codecs-QLF1GwJG.mjs.map +0 -1
  220. package/dist/codecs-yZoH21Yj-DfCqJxdc.mjs.map +0 -1
  221. package/dist/column-types-BmJdcNqR.mjs.map +0 -1
  222. package/dist/column-types-D4Dmbaa6.d.mts.map +0 -1
  223. package/dist/contract-contributions-wweWdXMK-C7LvZMgG.mjs.map +0 -1
  224. package/dist/contract-free-CCLAXZV2.d.mts.map +0 -1
  225. package/dist/contract-free-jczZy_HM.mjs.map +0 -1
  226. package/dist/control-CqSlwRpm.d.mts.map +0 -1
  227. package/dist/control-D9vMRRgU.d.mts.map +0 -1
  228. package/dist/control-DKT_rL3s.mjs.map +0 -1
  229. package/dist/control-Q2TqoG2O.d.mts.map +0 -1
  230. package/dist/control-tables-D_o8dKRB-BXi43noL.mjs.map +0 -1
  231. package/dist/control-tables-Dua-YcJL.d.mts.map +0 -1
  232. package/dist/data-type-entries-yQ-qYugg-jlWnv7x2.mjs.map +0 -1
  233. package/dist/data-types-C24Aynr8.d.mts.map +0 -1
  234. package/dist/data-types-coQrCWfS-BRcy6yh-.mjs.map +0 -1
  235. package/dist/datetime-text-Bniwehv--Ddt3VS4z.mjs.map +0 -1
  236. package/dist/ddl-CX4tAZ-y-BkaAELc2.mjs.map +0 -1
  237. package/dist/ddl-CfSqNT0M.d.mts +0 -1
  238. package/dist/default-normalizer-DGMXypHg-Q0mNIQC6.mjs.map +0 -1
  239. package/dist/default-normalizer-DNvRFfNg.d.mts.map +0 -1
  240. package/dist/descriptor-meta-DJWS67Tl-Dy3AJ6lT.mjs.map +0 -1
  241. package/dist/descriptor-meta-DrNwC4vO-2IDztI63.mjs.map +0 -1
  242. package/dist/descriptor-meta-cwy5CXTT-DSRaq_b-.mjs.map +0 -1
  243. package/dist/descriptor-meta-runtime-DX2JfHWF-BhpYNzHG.mjs.map +0 -1
  244. package/dist/errors-DnR-sMHS-KkMLIP2U.mjs.map +0 -1
  245. package/dist/migration-CRgxnwXy.mjs.map +0 -1
  246. package/dist/migration-p83G5mtQ.d.mts.map +0 -1
  247. package/dist/nodes-D8EC1yCx-rpfpuJ4T.d.mts.map +0 -1
  248. package/dist/nodes-DUZSdX86-BBEEaxXY.mjs.map +0 -1
  249. package/dist/op-factory-call-CnufFdpE.d.mts.map +0 -1
  250. package/dist/op-factory-call-ISQk93c4-PEra1nhj.mjs.map +0 -1
  251. package/dist/pack-D0meKqcr.d.mts.map +0 -1
  252. package/dist/planner-B7LFq_1q-CO6foKgf.mjs.map +0 -1
  253. package/dist/planner-JHs58vqA.d.mts.map +0 -1
  254. package/dist/planner-produced-sqlite-migration-D0aHh8Z9.d.mts +0 -1
  255. package/dist/planner-produced-sqlite-migration-DuM9c3YI-COeeqS8N.d.mts.map +0 -1
  256. package/dist/planner-produced-sqlite-migration-XLiHMenG-_9p4tPWa.mjs.map +0 -1
  257. package/dist/planner-target-details-CIQ789Gc-C5U4yVY9.mjs.map +0 -1
  258. package/dist/planner-target-details-xR6UfIcz-CMahymzq.d.mts.map +0 -1
  259. package/dist/render-ops-B10yqmdG.d.mts.map +0 -1
  260. package/dist/render-ops-Btxzdp9v-K5GJXCFD.mjs.map +0 -1
  261. package/dist/runtime-8_WfNAcA.d.mts.map +0 -1
  262. package/dist/runtime-B1coahKC.d.mts.map +0 -1
  263. package/dist/runtime-BoSV7f77.d.mts.map +0 -1
  264. package/dist/sql-renderer-CAeE61w9.d.mts +0 -1
  265. package/dist/sql-utils-0SJZOd7Q.d.mts.map +0 -1
  266. package/dist/sql-utils-XGT5Esi2-5k9pvJeF.mjs.map +0 -1
  267. package/dist/sqlite-contract-view-BDw8T5Cp-CbLVOPJq.d.mts.map +0 -1
  268. package/dist/sqlite-contract-view-C8D7iPrj-Cnw69l7b.mjs.map +0 -1
  269. package/dist/sqlite-migration-CLIMaHLy-BQ6vv7gq.d.mts.map +0 -1
  270. package/dist/sqlite-migration-DmCXBAGI-BNrVD8vm.mjs.map +0 -1
  271. package/dist/tables-C6oejIsc-BgxW5wBn.d.mts.map +0 -1
  272. package/dist/types-B-VvUwz6.d.mts +0 -2
  273. package/dist/types-RJMd2PlL-EuhZF7B6.d.mts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-Q2TqoG2O.d.mts","names":[],"sources":["../../../../3-targets/6-adapters/sqlite/dist/control.d.mts"],"mappings":";;;;;;;;;;;;;;cAYc,gCAAgC;WACnC;WACA;mBACQ;mBACA;;EAEjB,YAAY,eAAe,qBAAqB,4BAA4B;EAC5E,yCAAyC;EACzC,uCAAuC;;;;;;;;;EASvC,MAAM,KAAK,cAAc,eAAe,SAAS,0BAA0B;EAC3E,oBAAoB,QAAQ,WAAW,gBAAgB;;;;;;;;EAQvD,sBAAsB,KAAK,cAAc,eAAe,UAAU,0BAA0B,QAAQ;;;;;;EAMpG,WAAW,QAAQ,oCAAoC,gBAAgB,QAAQ;EAC/E,wBAAwB,QAAQ,oCAAoC,gBAAgB,QAAQ;;;;;;EAM5F,eAAe,QAAQ,qCAAqC,QAAQ,oBAAoB;UAChF;;;;;;EAMR,WAAW,QAAQ,oCAAoC,iBAAiB,iBAAiB;UACjF;;;;;;EAMR,aAAa,QAAQ,oCAAoC,eAAe;aAC7D;aACA;aACA;MACP;EACJ,WAAW,QAAQ,oCAAoC,eAAe;aAC3D;aACA;aACA;MACP;;;;;EAKJ,aAAa,QAAQ,oCAAoC,eAAe,sBAAsB;aACnF;aACA;aACA;MACP;EACJ,gBAAgB,GAAG,QAAQ,oCAAoC,UAAU,QAAQ,KAAK,QAAQ;EAC9F,WAAW,SAAS,qCAAqC;;;;EAIzD,iBAAiB,QAAQ,oCAAoC,eAAe;aACjE;aACA;aACA;aACA;aACA;aACA;MACP;UACI;;;;UAIA;EACR,WAAW,QAAQ,oCAAoC,qBAAqB,QAAQ;;;;cAIxE,yBAAyB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-tables-D_o8dKRB-BXi43noL.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/control-tables-D_o8dKRB.mjs"],"sourcesContent":["//#region src/core/control-tables.ts\nconst MARKER_TABLE_NAME = \"_prisma_marker\";\nconst LEDGER_TABLE_NAME = \"_prisma_ledger\";\n/**\n* Control tables the runner creates/manages. The planner must not drop these\n* when reconciling \"extra\" tables against the contract.\n*/\nconst CONTROL_TABLE_NAMES = /* @__PURE__ */ new Set([MARKER_TABLE_NAME, LEDGER_TABLE_NAME]);\n//#endregion\nexport { LEDGER_TABLE_NAME as n, MARKER_TABLE_NAME as r, CONTROL_TABLE_NAMES as t };\n\n//# sourceMappingURL=control-tables-D_o8dKRB.mjs.map"],"mappings":";AACA,MAAM,oBAAoB;AAC1B,MAAM,oBAAoB;;;;;AAK1B,MAAM,sCAAsC,IAAI,IAAI,CAAC,mBAAmB,iBAAiB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-tables-Dua-YcJL.d.mts","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/control-tables.d.mts"],"mappings":";;cACc;cACA;;;;;cAKA,qBAAqB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-type-entries-yQ-qYugg-jlWnv7x2.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/data-type-entries-yQ-qYugg.mjs"],"sourcesContent":["import { c as sqliteDatetimeText, d as sqliteReal, f as sqliteText, l as sqliteInteger, n as sqliteBlobFromHexText, s as sqliteDatetime, t as sqliteBlob, u as sqliteJson } from \"./data-types-coQrCWfS.mjs\";\nimport { createNumberClassifier, numeralText, parseJsonText, signedRange } from \"@internal/framework-components/codec\";\nimport { canonicalizeJson } from \"@internal/framework-components/utils\";\n//#region src/core/data-type-entries.ts\nconst classifySqliteNumber = createNumberClassifier({\n\tintegers: [{\n\t\ttype: sqliteInteger.id,\n\t\tform: \"text\",\n\t\t...signedRange(64)\n\t}],\n\tfraction: {\n\t\ttype: sqliteReal.id,\n\t\tform: \"number\"\n\t},\n\twords: {\n\t\ttype: sqliteReal.id,\n\t\tform: \"text\"\n\t}\n});\nfunction printNumber(value) {\n\treturn typeof value === \"number\" ? numeralText(value) : String(value);\n}\nfunction sqliteDataTypeEntries() {\n\treturn {\n\t\t[sqliteText.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"plain\",\n\t\t\t\tsyntax: \"string\",\n\t\t\t\tparse: (text) => text\n\t\t\t},\n\t\t\tprint: (value) => String(value),\n\t\t\tdocumentation: \"Text.\"\n\t\t},\n\t\t[sqliteReal.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"plain\",\n\t\t\t\tsyntax: \"number\",\n\t\t\t\ttypes: [sqliteInteger.id, sqliteReal.id],\n\t\t\t\tclassify: classifySqliteNumber\n\t\t\t},\n\t\t\tprint: printNumber,\n\t\t\tdocumentation: \"A number, whose type comes from its own size and precision.\"\n\t\t},\n\t\t[sqliteJson.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"tag\",\n\t\t\t\ttag: \"json\",\n\t\t\t\tparse: (text) => canonicalizeJson(parseJsonText(text))\n\t\t\t},\n\t\t\tprint: (value) => String(value),\n\t\t\tdocumentation: \"Reads the text as a JSON document and stores its JSON text as the default value.\"\n\t\t},\n\t\t[sqliteBlob.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"tag\",\n\t\t\t\ttag: \"blob\",\n\t\t\t\tparse: sqliteBlobFromHexText\n\t\t\t},\n\t\t\tprint: (value) => String(value).toLowerCase(),\n\t\t\tdocumentation: \"Bytes, written as hex text, two digits for each byte, as in blob`68656c6c6f`.\"\n\t\t},\n\t\t[sqliteDatetime.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"tag\",\n\t\t\t\ttag: \"datetime\",\n\t\t\t\tparse: sqliteDatetimeText\n\t\t\t},\n\t\t\tprint: (value) => String(value),\n\t\t\tdocumentation: \"An instant, as in datetime`2024-01-01T00:00:00Z`. Reads ISO 8601 with a UTC offset and stores the instant in UTC with three fraction digits, the text every row holds.\"\n\t\t}\n\t};\n}\n//#endregion\nexport { sqliteDataTypeEntries as t };\n\n//# sourceMappingURL=data-type-entries-yQ-qYugg.mjs.map"],"mappings":";;;;AAIA,MAAM,uBAAuB,uBAAuB;CACnD,UAAU,CAAC;EACV,MAAM,cAAc;EACpB,MAAM;EACN,GAAG,YAAY,EAAE;CAClB,CAAC;CACD,UAAU;EACT,MAAM,WAAW;EACjB,MAAM;CACP;CACA,OAAO;EACN,MAAM,WAAW;EACjB,MAAM;CACP;AACD,CAAC;AACD,SAAS,YAAY,OAAO;CAC3B,OAAO,OAAO,UAAU,WAAW,YAAY,KAAK,IAAI,OAAO,KAAK;AACrE;AACA,SAAS,wBAAwB;CAChC,OAAO;GACL,WAAW,KAAK;GAChB,SAAS;IACR,MAAM;IACN,QAAQ;IACR,QAAQ,SAAS;GAClB;GACA,QAAQ,UAAU,OAAO,KAAK;GAC9B,eAAe;EAChB;GACC,WAAW,KAAK;GAChB,SAAS;IACR,MAAM;IACN,QAAQ;IACR,OAAO,CAAC,cAAc,IAAI,WAAW,EAAE;IACvC,UAAU;GACX;GACA,OAAO;GACP,eAAe;EAChB;GACC,WAAW,KAAK;GAChB,SAAS;IACR,MAAM;IACN,KAAK;IACL,QAAQ,SAAS,iBAAiB,cAAc,IAAI,CAAC;GACtD;GACA,QAAQ,UAAU,OAAO,KAAK;GAC9B,eAAe;EAChB;GACC,WAAW,KAAK;GAChB,SAAS;IACR,MAAM;IACN,KAAK;IACL,OAAO;GACR;GACA,QAAQ,UAAU,OAAO,KAAK,CAAC,CAAC,YAAY;GAC5C,eAAe;EAChB;GACC,eAAe,KAAK;GACpB,SAAS;IACR,MAAM;IACN,KAAK;IACL,OAAO;GACR;GACA,QAAQ,UAAU,OAAO,KAAK;GAC9B,eAAe;EAChB;CACD;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-types-C24Aynr8.d.mts","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/data-types.d.mts"],"mappings":";;;;iBAGiB,yBAAyB,SAAS,eAAe;;;cAGpD,uDAAuD,YAAY,SAAS;;cAE5E,0DAA0D,YAAY,SAAS;;cAE/E,uDAAuD,YAAY,SAAS;cAC5E,uDAAuD,YAAY,SAAS;;iBAEzE,sBAAsB;;cAEzB,2EAA2E;EACvF;;cAEY,4DAA4D;EACxE;;cAEY,mEAAmE;EAC/E;;;;;cAKY,qBAAqB;;cAErB,2DAA2D,YAAY,SAAS;;cAEhF,uDAAuD,YAAY,SAAS;;cAE5E,0BAA0B;;cAE1B,8BAA8B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-types-coQrCWfS-BRcy6yh-.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/data-types-coQrCWfS.mjs"],"sourcesContent":["import { INT64_RANGE, castUnchanged, isoDateStringText, readJsonFloat, readJsonIntegerText, readJsonMatching, readJsonString, refuseJsonValue, refuseWrongShape } from \"@internal/framework-components/codec\";\nimport { canonicalizeJson } from \"@internal/framework-components/utils\";\nimport { sqlDataType, sqlRawDataType } from \"@internal/sql-contract/data-type\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { type } from \"arktype\";\n//#region src/core/data-types.ts\n/** Digit text as `real` stores it: the nearest double, as SQLite converts an integer to a real. */\nconst asReal = (value) => typeof value === \"string\" ? Number(value) : refuseWrongShape(value, \"digit text\");\n/** A type written and reported by `name` and nothing else. */\nconst storedAs = (id, name, read, casts = {}) => sqlDataType(id, {\n\ttexts: [{\n\t\ttext: name,\n\t\twritten: true,\n\t\tcatalog: true\n\t}],\n\tread,\n\tcasts\n});\nconst readText = (json) => readJsonString(\"sqlite/text\", json);\nconst UPPERCASE_HEX = /^(?:[0-9A-F]{2})*$/;\nconst sqliteText = storedAs(\"sqlite/text\", \"text\", readText);\n/** Digit text, which holds every 64-bit integer exactly; SQLite reads an INTEGER default back as a number. */\nconst sqliteInteger = sqlDataType(\"sqlite/integer\", {\n\ttexts: [{\n\t\ttext: \"integer\",\n\t\twritten: true,\n\t\tcatalog: true\n\t}],\n\tread: (json) => {\n\t\treadJsonIntegerText(\"sqlite/integer\", json, INT64_RANGE);\n\t\treturn json;\n\t},\n\tcasts: {}\n});\n/** SQLite cannot store NaN, but a codec refuses it, as ADR 254 places that limit, so the type reads it. */\nconst sqliteReal = storedAs(\"sqlite/real\", \"real\", (json) => {\n\treadJsonFloat(\"sqlite/real\", json);\n\treturn json;\n}, { [sqliteInteger.id]: asReal });\nconst sqliteBlob = storedAs(\"sqlite/blob\", \"blob\", (json) => readJsonMatching(\"sqlite/blob\", json, UPPERCASE_HEX, \"uppercase hexadecimal text\"), {});\nconst HEX_TEXT = /^(?:[0-9A-Fa-f]{2})*$/;\n/** The upper-case hex `sqlite/blob` stores for the hex text a `blob` tag holds, `68656c6c6f`. */\nfunction sqliteBlobFromHexText(text) {\n\tif (!HEX_TEXT.test(text)) throw structuredError(\"CONTRACT.CAST_REFUSED\", `\"${text}\" is not hex text: write two hexadecimal digits for each byte, as in blob\\`68656c6c6f\\`.`, {\n\t\twhy: \"The blob tag reads bytes as hex text, two digits for each byte.\",\n\t\tfix: \"Write the bytes in hex, as in blob`68656c6c6f`.\"\n\t});\n\treturn text.toUpperCase();\n}\n/** The length of `character` and `character varying`, which SQLite accepts and does not enforce, up to SQLite's largest string length, so a double holds every accepted length exactly. */\nconst sqliteCharacterLengthParams = type({ \"length?\": `number.integer >= 1 & number.integer <= 2147483647` });\n/** A character type is written without its length, so its normal form has none. */\nconst withoutLength = ({ length: _length, ...rest }) => rest;\nconst sqliteCharacter = sqlDataType(\"sqlite/character\", {\n\tparams: sqliteCharacterLengthParams,\n\ttexts: [{\n\t\ttext: \"character\",\n\t\twritten: true,\n\t\tcatalog: true\n\t}],\n\tread: (json) => readJsonString(\"sqlite/character\", json),\n\tnormalize: withoutLength,\n\tcasts: { [sqliteText.id]: castUnchanged }\n});\nconst sqliteCharacterVarying = sqlDataType(\"sqlite/character-varying\", {\n\tparams: sqliteCharacterLengthParams,\n\ttexts: [{\n\t\ttext: \"character varying\",\n\t\twritten: true,\n\t\tcatalog: true\n\t}],\n\tread: (json) => readJsonString(\"sqlite/character-varying\", json),\n\tnormalize: withoutLength,\n\tcasts: { [sqliteText.id]: castUnchanged }\n});\n/**\n* The value of `sqlite/datetime` (ADR 254): the text `toISOString()` writes for every row. The range and the millisecond precision are those of a JavaScript `Date`, the codec's value.\n*/\nconst sqliteDatetimeText = (text) => isoDateStringText(text, \"sqlite/datetime\");\n/** What `sqliteDatetimeText` writes for `text`, or `undefined` when it names no instant the type holds. */\nfunction storedDatetime(text) {\n\ttry {\n\t\treturn sqliteDatetimeText(text);\n\t} catch {\n\t\treturn;\n\t}\n}\n/** Reads an instant in any spelling the `datetime` tag reads; `spellDatetime` gives it the one it stores. */\nconst readDatetime = (json) => typeof json === \"string\" && storedDatetime(json) !== void 0 ? json : refuseJsonValue(\"sqlite/datetime\", \"ISO 8601 date and time text with a UTC offset and at most three fraction digits, as in \\\"2024-01-01T00:00:00Z\\\"\", json);\n/** An instant is stored in UTC with three fraction digits. */\nconst spellDatetime = (json) => typeof json === \"string\" ? storedDatetime(json) ?? json : json;\n/** The document JSON text holds, or `undefined` when the text is not JSON. */\nfunction documentOf(text) {\n\ttry {\n\t\treturn { value: JSON.parse(text) };\n\t} catch {\n\t\treturn;\n\t}\n}\n/** Reads the JSON text of a document, in any spelling; `spellJson` gives it the one it stores. */\nconst readJson = (json) => typeof json === \"string\" && documentOf(json) !== void 0 ? json : refuseJsonValue(\"sqlite/json\", \"the JSON text of a document\", json);\n/** A document is stored as its JSON text with sorted keys and no added whitespace. */\nconst spellJson = (json) => {\n\tconst document = typeof json === \"string\" ? documentOf(json) : void 0;\n\treturn document === void 0 ? json : canonicalizeJson(document.value);\n};\n/** An instant, stored as text in the form `toISOString()` writes. */\nconst sqliteDatetime = sqlDataType(\"sqlite/datetime\", {\n\tstoredAs: sqliteText.id,\n\tread: readDatetime,\n\tspell: spellDatetime\n});\n/** A JSON document, stored as its JSON text with sorted keys and no added whitespace. A column declared `JSON` would have numeric affinity and store the document `\"42\"` as the integer 42. */\nconst sqliteJson = sqlDataType(\"sqlite/json\", {\n\tstoredAs: sqliteText.id,\n\tread: readJson,\n\tspell: spellJson\n});\n/** Every data type this target registers. */\nconst sqliteDataTypes = [\n\tsqliteText,\n\tsqliteInteger,\n\tsqliteReal,\n\tsqliteBlob,\n\tsqliteCharacter,\n\tsqliteCharacterVarying,\n\tsqliteDatetime,\n\tsqliteJson,\n\tsqlRawDataType\n];\n/** SQLite's text data types: `text`, `character(n)` and `character varying(n)`. */\nconst sqliteTextDataTypes = [\n\tsqliteText.id,\n\tsqliteCharacter.id,\n\tsqliteCharacterVarying.id\n];\n//#endregion\nexport { sqliteCharacterVarying as a, sqliteDatetimeText as c, sqliteReal as d, sqliteText as f, sqliteCharacterLengthParams as i, sqliteInteger as l, sqliteBlobFromHexText as n, sqliteDataTypes as o, sqliteTextDataTypes as p, sqliteCharacter as r, sqliteDatetime as s, sqliteBlob as t, sqliteJson as u };\n\n//# sourceMappingURL=data-types-coQrCWfS.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"datetime-text-Bniwehv--Ddt3VS4z.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/datetime-text-Bniwehv-.mjs"],"sourcesContent":["//#region src/core/datetime-text.ts\n/** The `strftime` format for the text `encodeSqliteDatetime` writes. */\nconst SQLITE_DATETIME_TEXT_FORMAT = \"%Y-%m-%dT%H:%M:%fZ\";\n/** The SQLite expression for the current instant, as the text `encodeSqliteDatetime` writes. */\nconst SQLITE_NOW_EXPRESSION = `strftime('${SQLITE_DATETIME_TEXT_FORMAT}','now')`;\n//#endregion\nexport { SQLITE_NOW_EXPRESSION as n, SQLITE_DATETIME_TEXT_FORMAT as t };\n\n//# sourceMappingURL=datetime-text-Bniwehv-.mjs.map"],"mappings":";;AAEA,MAAM,8BAA8B;;AAEpC,MAAM,wBAAwB,aAAa,4BAA4B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ddl-CX4tAZ-y-BkaAELc2.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/ddl-CX4tAZ-y.mjs"],"sourcesContent":["import { c as SQLITE_TEXT_CODEC_ID } from \"./codec-ids-wgEvkCkg.mjs\";\nimport { t as SqliteCreateTable } from \"./nodes-DUZSdX86.mjs\";\nimport { FunctionSource } from \"@internal/sql-relational-core/ast\";\nimport { cfExpr, cfTable, exprSelect } from \"@internal/sql-relational-core/contract-free\";\n//#region src/contract-free/checks.ts\n/**\n* Typed builder for the migration planner's column-existence checks. Produces\n* `SELECT COUNT(*) {=|>} 0 AS \"result\" FROM pragma_table_info(?) WHERE \"name\" = ?`\n* ASTs with the table and column names bound as text parameters — never\n* inlined into the SQL.\n*/\nfunction columnExistsAst(table, column) {\n\tconst source = FunctionSource.of(\"pragma_table_info\", [cfExpr.param(table, SQLITE_TEXT_CODEC_ID).ast]);\n\tconst where = cfExpr.identifierRef(\"name\").eqParam(column, SQLITE_TEXT_CODEC_ID);\n\treturn {\n\t\tcolumnAbsent: () => exprSelect().from(source).project(\"result\", cfExpr.countStar().eqLit(0)).where(where).build(),\n\t\tcolumnPresent: () => exprSelect().from(source).project(\"result\", cfExpr.countStar().gtLit(0)).where(where).build()\n\t};\n}\n/**\n* Typed builder for the check that no column of the table has a name SQLite takes for `column`.\n* Produces `SELECT COUNT(*) = 0 AS \"result\" FROM pragma_table_info(?) WHERE \"name\" COLLATE NOCASE\n* = ?`: SQLite compares column names without regard to the case of ASCII letters, as `NOCASE`\n* does.\n*/\nfunction columnNameTakenAst(table, column) {\n\tconst source = FunctionSource.of(\"pragma_table_info\", [cfExpr.param(table, SQLITE_TEXT_CODEC_ID).ast]);\n\tconst where = cfExpr.fn({\n\t\tmethod: \"collateNocase\",\n\t\ttemplate: \"{{self}} COLLATE NOCASE\",\n\t\tself: cfExpr.identifierRef(\"name\"),\n\t\treturns: {\n\t\t\tcodecId: SQLITE_TEXT_CODEC_ID,\n\t\t\tnullable: false\n\t\t}\n\t}).eqParam(column, SQLITE_TEXT_CODEC_ID);\n\treturn { nameFree: () => exprSelect().from(source).project(\"result\", cfExpr.countStar().eqLit(0)).where(where).build() };\n}\n/**\n* Typed builder for table-existence checks over `sqlite_master`.\n* Produces `SELECT COUNT(*) {=|>} 0 AS \"result\" FROM \"sqlite_master\" WHERE \"type\" = ? AND \"name\" = ?`\n* with the table name and the literal `'table'` bound as text parameters.\n*/\nfunction tableExistsAst(tableName) {\n\tconst source = cfTable(\"sqlite_master\");\n\tconst where = cfExpr.allOf([cfExpr.identifierRef(\"type\").eqParam(\"table\", SQLITE_TEXT_CODEC_ID), cfExpr.identifierRef(\"name\").eqParam(tableName, SQLITE_TEXT_CODEC_ID)]);\n\treturn {\n\t\ttableAbsent: () => exprSelect().from(source).project(\"result\", cfExpr.countStar().eqLit(0)).where(where).build(),\n\t\ttablePresent: () => exprSelect().from(source).project(\"result\", cfExpr.countStar().gtLit(0)).where(where).build()\n\t};\n}\n/**\n* Typed builder for the check that no table, index or view has a name SQLite takes for `name`.\n* Produces `SELECT COUNT(*) = 0 AS \"result\" FROM \"sqlite_master\" WHERE \"name\" COLLATE NOCASE = ?`:\n* tables, indexes and views share one set of names, which SQLite compares without regard to the\n* case of ASCII letters.\n*/\nfunction tableNameTakenAst(tableName) {\n\tconst where = cfExpr.fn({\n\t\tmethod: \"collateNocase\",\n\t\ttemplate: \"{{self}} COLLATE NOCASE\",\n\t\tself: cfExpr.identifierRef(\"name\"),\n\t\treturns: {\n\t\t\tcodecId: SQLITE_TEXT_CODEC_ID,\n\t\t\tnullable: false\n\t\t}\n\t}).eqParam(tableName, SQLITE_TEXT_CODEC_ID);\n\treturn { nameFree: () => exprSelect().from(cfTable(\"sqlite_master\")).project(\"result\", cfExpr.countStar().eqLit(0)).where(where).build() };\n}\n/**\n* Typed builder for index-existence checks over `sqlite_master`.\n* Produces `SELECT COUNT(*) {=|>} 0 AS \"result\" FROM \"sqlite_master\" WHERE \"type\" = ? AND \"name\" = ?`\n* with the index name and the literal `'index'` bound as text parameters.\n*/\nfunction indexExistsAst(indexName) {\n\tconst source = cfTable(\"sqlite_master\");\n\tconst where = cfExpr.allOf([cfExpr.identifierRef(\"type\").eqParam(\"index\", SQLITE_TEXT_CODEC_ID), cfExpr.identifierRef(\"name\").eqParam(indexName, SQLITE_TEXT_CODEC_ID)]);\n\treturn {\n\t\tindexAbsent: () => exprSelect().from(source).project(\"result\", cfExpr.countStar().eqLit(0)).where(where).build(),\n\t\tindexPresent: () => exprSelect().from(source).project(\"result\", cfExpr.countStar().gtLit(0)).where(where).build()\n\t};\n}\n//#endregion\n//#region src/contract-free/ddl.ts\n/**\n* Build a SQLite `CREATE TABLE` query node.\n*\n* Pass `constraints` for table-level composite primary keys, foreign keys, and\n* unique constraints — use the {@link PrimaryKeyConstraint}, {@link ForeignKeyConstraint},\n* and {@link UniqueConstraint} classes from `@internal/sql-relational-core/ast`.\n*\n* Precondition: identifiers (`table`, column names/types) are emitted to SQL\n* verbatim — they are not quoted or escaped, so callers must pass pre-trusted\n* values (e.g. fixed control-plane identifiers). String-literal default values,\n* by contrast, are single-quote-escaped (embedded `'` doubled) by the renderer.\n* Identifier quoting for untrusted identifiers is added when the migration\n* planner adopts this lowering path.\n*/\nfunction createTable(options) {\n\treturn new SqliteCreateTable(options);\n}\n//#endregion\nexport { tableExistsAst as a, indexExistsAst as i, columnExistsAst as n, tableNameTakenAst as o, columnNameTakenAst as r, createTable as t };\n\n//# sourceMappingURL=ddl-CX4tAZ-y.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- import "./nodes-D8EC1yCx-rpfpuJ4T.mjs";
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-normalizer-DGMXypHg-Q0mNIQC6.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/default-normalizer-DGMXypHg.mjs"],"sourcesContent":["import { t as SQLITE_DATETIME_TEXT_FORMAT } from \"./datetime-text-Bniwehv-.mjs\";\n//#region src/core/default-normalizer.ts\nconst NULL_PATTERN = /^NULL$/i;\nconst INTEGER_PATTERN = /^[+-]?\\d+$/;\nconst REAL_PATTERN = /^[+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?$/;\nconst STRING_LITERAL_PATTERN = /^'((?:[^']|'')*)'$/;\nconst STRFTIME_NOW_PATTERN = /^strftime\\s*\\(\\s*(['\"])([^'\"]*)\\1\\s*,\\s*(['\"])now\\3\\s*\\)$/i;\nfunction isCurrentTimestamp(expression) {\n\tconst lower = expression.toLowerCase();\n\tif (lower === \"current_timestamp\" || lower === \"datetime('now')\" || lower === \"datetime(\\\"now\\\")\") return true;\n\treturn expression.match(STRFTIME_NOW_PATTERN)?.[2] === SQLITE_DATETIME_TEXT_FORMAT;\n}\n/**\n* Strips a single matched wrapping pair of outer parens from `s`. Conservative:\n* only strips when the leading `(` is matched by the trailing `)` (so\n* `(a) + (b)` is returned unchanged). Mirrors SQLite's own\n* `pragma_table_info.dflt_value` normalization for expression defaults, and\n* is shared with the recreate-table postcheck builder so both sides agree\n* on the text.\n*/\nfunction stripOuterParens(s) {\n\tif (!s.startsWith(\"(\") || !s.endsWith(\")\")) return s;\n\tlet depth = 0;\n\tfor (let i = 0; i < s.length; i++) if (s[i] === \"(\") depth += 1;\n\telse if (s[i] === \")\") {\n\t\tdepth -= 1;\n\t\tif (depth === 0 && i < s.length - 1) return s;\n\t}\n\treturn s.slice(1, -1);\n}\n/** The type affinity SQLite gives a column of `declaredType`, by its rules in order. */\nfunction affinityOf(declaredType) {\n\tconst upper = declaredType.toUpperCase();\n\tif (upper.includes(\"INT\")) return \"integer\";\n\tif (upper.includes(\"CHAR\") || upper.includes(\"CLOB\") || upper.includes(\"TEXT\")) return \"text\";\n\tif (upper.includes(\"BLOB\") || upper.trim() === \"\") return \"blob\";\n\tif (upper.includes(\"REAL\") || upper.includes(\"FLOA\") || upper.includes(\"DOUB\")) return \"real\";\n\treturn \"numeric\";\n}\n/** A numeral as the driver returns it: a number, or digit text for an integer no double holds exactly. */\nfunction numberBody(numeral) {\n\tif (INTEGER_PATTERN.test(numeral)) {\n\t\tconst integer = BigInt(numeral);\n\t\treturn Number.isSafeInteger(Number(integer)) ? Number(integer) : integer.toString();\n\t}\n\treturn Number(numeral);\n}\n/** What the column stores for a literal written as `text` (quoted) or as a numeral, by its affinity. */\nfunction bodyFor(literal, quoted, affinity) {\n\tconst numeral = INTEGER_PATTERN.test(literal) || REAL_PATTERN.test(literal);\n\tif (affinity === \"text\") return literal;\n\tif (affinity === \"blob\") return quoted || !numeral ? literal : numberBody(literal);\n\treturn numeral ? numberBody(literal) : literal;\n}\n/** A blob literal: `X'` or `x'`, an even number of hexadecimal digits, `'`. */\nconst BLOB_LITERAL_PATTERN = /^[xX]'((?:[0-9a-fA-F]{2})*)'$/;\n/**\n* Reads a column's reported default. `CURRENT_TIMESTAMP`, `datetime('now')` and the expression a `now()` default is written as are `now()`. A quoted string, a numeral or a blob literal (`X'6869'`, read as its bytes) is a literal; any other expression is a function default, kept as reported.\n*/\nfunction readSqliteDefault(rawDefault, declaredType) {\n\tlet trimmed = rawDefault.trim();\n\twhile (true) {\n\t\tconst stripped = stripOuterParens(trimmed).trim();\n\t\tif (stripped === trimmed) break;\n\t\ttrimmed = stripped;\n\t}\n\tif (isCurrentTimestamp(trimmed)) return {\n\t\tkind: \"function\",\n\t\texpression: \"now()\"\n\t};\n\tif (NULL_PATTERN.test(trimmed)) return { kind: \"null\" };\n\tconst affinity = affinityOf(declaredType);\n\tconst quoted = STRING_LITERAL_PATTERN.exec(trimmed)?.[1];\n\tif (quoted !== void 0) return {\n\t\tkind: \"literal\",\n\t\tliteral: {\n\t\t\tkind: \"value\",\n\t\t\tbody: bodyFor(quoted.replace(/''/g, \"'\"), true, affinity)\n\t\t}\n\t};\n\tconst blobHex = BLOB_LITERAL_PATTERN.exec(trimmed)?.[1];\n\tif (blobHex !== void 0) return {\n\t\tkind: \"literal\",\n\t\tliteral: {\n\t\t\tkind: \"value\",\n\t\t\tbody: new Uint8Array(Buffer.from(blobHex, \"hex\"))\n\t\t}\n\t};\n\tif (INTEGER_PATTERN.test(trimmed) || REAL_PATTERN.test(trimmed)) return {\n\t\tkind: \"literal\",\n\t\tliteral: {\n\t\t\tkind: \"value\",\n\t\t\tbody: bodyFor(trimmed, false, affinity)\n\t\t}\n\t};\n\treturn {\n\t\tkind: \"function\",\n\t\texpression: trimmed\n\t};\n}\n/**\n* Names a contract's expression default the way {@link readSqliteDefault} names the same function in the database, so `` sql`CURRENT_TIMESTAMP` `` and the database's `datetime('now')` compare equal. A literal default, and an expression that writes a literal, pass through unchanged; introspection reads the latter's literal with the column's codec, and the diff compares the values.\n*/\nfunction sqliteResolveDefault(def, column) {\n\tif (def.kind !== \"function\") return def;\n\tconst read = readSqliteDefault(def.expression, column.typeText);\n\treturn read.kind === \"function\" ? read : def;\n}\n//#endregion\nexport { sqliteResolveDefault as n, stripOuterParens as r, readSqliteDefault as t };\n\n//# sourceMappingURL=default-normalizer-DGMXypHg.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-normalizer-DNvRFfNg.d.mts","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/default-normalizer.d.mts"],"mappings":";;;;;KAIK;WACM;WACA;;WAEA;;WAEA;WACA,SAAS;;;;;iBAKH,kBAAkB,oBAAoB,uBAAuB;;;;iBAI7D,qBAAqB,KAAK,eAAe,QAAQ,wBAAwB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"descriptor-meta-DJWS67Tl-Dy3AJ6lT.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/descriptor-meta-DJWS67Tl.mjs"],"sourcesContent":["import { a as SQLITE_INTEGER_CODEC_ID, c as SQLITE_TEXT_CODEC_ID, i as SQLITE_DATETIME_CODEC_ID, o as SQLITE_JSON_CODEC_ID, r as SQLITE_BLOB_CODEC_ID, s as SQLITE_REAL_CODEC_ID, t as SQLITE_BIGINT_CODEC_ID } from \"./codec-ids-wgEvkCkg.mjs\";\nimport { l as sqliteInteger, p as sqliteTextDataTypes } from \"./data-types-coQrCWfS.mjs\";\nimport { t as sqliteDataTypeEntries } from \"./data-type-entries-yQ-qYugg.mjs\";\nimport { t as sqliteTargetDescriptorMetaRuntime } from \"./descriptor-meta-runtime-DX2JfHWF.mjs\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { idGeneratorFunctionBindings, sqlIntegerArgumentGeneratorFunctions, sqlTargetTypeConstructors } from \"@internal/family-sql/pack\";\nimport { TIMESTAMP_NOW_GENERATOR_ID, temporalAuthoringPresets, temporalCodecPreset, temporalTypeAliases } from \"@internal/framework-components/authoring\";\nimport { singleGeneratorBinding } from \"@internal/framework-components/components\";\n//#region src/core/authoring.ts\nconst sqliteAuthoringTypes = {\n\t.../* @__PURE__ */ sqlTargetTypeConstructors({ sizeType: \"sqlite/real\" }),\n\tBigIntNumber: {\n\t\tkind: \"typeConstructor\",\n\t\tdocumentation: \"A SQLite integer represented as a JavaScript number within its safe integer range.\",\n\t\toutput: { codecId: \"sqlite/bigintnumber@1\" }\n\t},\n\ttemporal: /* @__PURE__ */ temporalTypeAliases({ codecId: \"sqlite/datetime@1\" }, \"a JavaScript Date\")\n};\nconst sqliteAuthoringFieldPresets = { temporal: {\n\t.../* @__PURE__ */ temporalAuthoringPresets({ codecId: \"sqlite/datetime@1\" }),\n\tdatetime: /* @__PURE__ */ temporalCodecPreset({ codecId: \"sqlite/datetime@1\" })\n} };\n//#endregion\n//#region src/core/generator-functions.ts\nconst sqliteGeneratorFunctions = [\n\t...sqlIntegerArgumentGeneratorFunctions({ integer: sqliteInteger.id }),\n\t{\n\t\tname: \"now\",\n\t\tbindings: [singleGeneratorBinding({\n\t\t\tcodecIds: [SQLITE_DATETIME_CODEC_ID],\n\t\t\tgeneratorId: TIMESTAMP_NOW_GENERATOR_ID\n\t\t})]\n\t},\n\t...idGeneratorFunctionBindings({ text: [SQLITE_TEXT_CODEC_ID] })\n];\n/** The `now` generator SQLite binds. The SQL family registers the identifier generators. */\nconst sqliteGeneratorDescriptors = [{ id: TIMESTAMP_NOW_GENERATOR_ID }];\n//#endregion\n//#region src/core/type-constructors.ts\n/**\n* The base PSL scalars as zero-arg type constructors in the unified authoring\n* channel. Each names a codec; the column's database type is its data type's.\n*\n* The type position is the only storage decider: a mutation-default generator\n* (`@onCreate(uuid())`) never re-picks a column's storage.\n*\n* The target contributes them, so PSL and the TypeScript builder's `type.*` see the same names.\n*/\nconst sqliteScalarTypeConstructors = {\n\tString: {\n\t\tkind: \"typeConstructor\",\n\t\tdocumentation: \"Variable-length text stored as SQLite text.\",\n\t\toutput: { codecId: SQLITE_TEXT_CODEC_ID }\n\t},\n\tInt: {\n\t\tkind: \"typeConstructor\",\n\t\tdocumentation: \"An integer stored as SQLite integer and represented as a JavaScript number.\",\n\t\toutput: { codecId: SQLITE_INTEGER_CODEC_ID }\n\t},\n\tBigInt: {\n\t\tkind: \"typeConstructor\",\n\t\tdocumentation: \"An integer stored as SQLite integer and represented as a JavaScript bigint.\",\n\t\toutput: { codecId: SQLITE_BIGINT_CODEC_ID }\n\t},\n\tFloat: {\n\t\tkind: \"typeConstructor\",\n\t\tdocumentation: \"A floating-point number stored as SQLite real.\",\n\t\toutput: { codecId: SQLITE_REAL_CODEC_ID }\n\t},\n\tDecimal: {\n\t\tkind: \"typeConstructor\",\n\t\tdocumentation: \"A decimal value stored and represented as text to preserve precision.\",\n\t\toutput: { codecId: SQLITE_TEXT_CODEC_ID }\n\t},\n\tDateTime: {\n\t\tkind: \"typeConstructor\",\n\t\tdocumentation: \"A date and time stored as SQLite text.\",\n\t\toutput: { codecId: SQLITE_DATETIME_CODEC_ID }\n\t},\n\tJson: {\n\t\tkind: \"typeConstructor\",\n\t\tdocumentation: \"A JSON value serialized to SQLite text.\",\n\t\toutput: { codecId: SQLITE_JSON_CODEC_ID }\n\t},\n\tBytes: {\n\t\tkind: \"typeConstructor\",\n\t\tdocumentation: \"Binary data stored as a SQLite blob.\",\n\t\toutput: { codecId: SQLITE_BLOB_CODEC_ID }\n\t}\n};\nconst sqliteTargetDescriptorMeta = {\n\t...sqliteTargetDescriptorMetaRuntime,\n\tdefaultNamespaceId: UNBOUND_NAMESPACE_ID,\n\tsupportsNamespaces: false,\n\tauthoring: {\n\t\ttype: {\n\t\t\t...sqliteScalarTypeConstructors,\n\t\t\t...sqliteAuthoringTypes\n\t\t},\n\t\tfield: sqliteAuthoringFieldPresets,\n\t\tdataTypes: sqliteDataTypeEntries(),\n\t\ttextDataTypes: sqliteTextDataTypes\n\t},\n\tgeneratorFunctions: sqliteGeneratorFunctions,\n\tcontrolMutationDefaults: {\n\t\tdefaultFunctionRegistry: /* @__PURE__ */ new Map(),\n\t\tgeneratorDescriptors: sqliteGeneratorDescriptors\n\t}\n};\n//#endregion\nexport { sqliteScalarTypeConstructors as n, sqliteTargetDescriptorMeta as t };\n\n//# sourceMappingURL=descriptor-meta-DJWS67Tl.mjs.map"],"mappings":";;;;;;;;;AASA,MAAM,uBAAuB;CAC5B,GAAmB,0CAA0B,EAAE,UAAU,cAAc,CAAC;CACxE,cAAc;EACb,MAAM;EACN,eAAe;EACf,QAAQ,EAAE,SAAS,wBAAwB;CAC5C;CACA,UAA0B,oCAAoB,EAAE,SAAS,oBAAoB,GAAG,mBAAmB;AACpG;AACA,MAAM,8BAA8B,EAAE,UAAU;CAC/C,GAAmB,yCAAyB,EAAE,SAAS,oBAAoB,CAAC;CAC5E,UAA0B,oCAAoB,EAAE,SAAS,oBAAoB,CAAC;AAC/E,EAAE;AAGF,MAAM,2BAA2B;CAChC,GAAG,qCAAqC,EAAE,SAAS,cAAc,GAAG,CAAC;CACrE;EACC,MAAM;EACN,UAAU,CAAC,uBAAuB;GACjC,UAAU,CAAC,wBAAwB;GACnC,aAAa;EACd,CAAC,CAAC;CACH;CACA,GAAG,4BAA4B,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC;AAChE;;AAEA,MAAM,6BAA6B,CAAC,EAAE,IAAI,2BAA2B,CAAC;;;;;;;;;;AAYtE,MAAM,+BAA+B;CACpC,QAAQ;EACP,MAAM;EACN,eAAe;EACf,QAAQ,EAAE,SAAS,qBAAqB;CACzC;CACA,KAAK;EACJ,MAAM;EACN,eAAe;EACf,QAAQ,EAAE,SAAS,wBAAwB;CAC5C;CACA,QAAQ;EACP,MAAM;EACN,eAAe;EACf,QAAQ,EAAE,SAAS,uBAAuB;CAC3C;CACA,OAAO;EACN,MAAM;EACN,eAAe;EACf,QAAQ,EAAE,SAAS,qBAAqB;CACzC;CACA,SAAS;EACR,MAAM;EACN,eAAe;EACf,QAAQ,EAAE,SAAS,qBAAqB;CACzC;CACA,UAAU;EACT,MAAM;EACN,eAAe;EACf,QAAQ,EAAE,SAAS,yBAAyB;CAC7C;CACA,MAAM;EACL,MAAM;EACN,eAAe;EACf,QAAQ,EAAE,SAAS,qBAAqB;CACzC;CACA,OAAO;EACN,MAAM;EACN,eAAe;EACf,QAAQ,EAAE,SAAS,qBAAqB;CACzC;AACD;AACA,MAAM,6BAA6B;CAClC,GAAG;CACH,oBAAoB;CACpB,oBAAoB;CACpB,WAAW;EACV,MAAM;GACL,GAAG;GACH,GAAG;EACJ;EACA,OAAO;EACP,WAAW,sBAAsB;EACjC,eAAe;CAChB;CACA,oBAAoB;CACpB,yBAAyB;EACxB,yCAAyC,IAAI,IAAI;EACjD,sBAAsB;CACvB;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"descriptor-meta-DrNwC4vO-2IDztI63.mjs","names":[],"sources":["../../../../3-targets/6-adapters/sqlite/dist/descriptor-meta-DrNwC4vO.mjs"],"sourcesContent":["import { t as sqliteAdapterContractContributions } from \"./contract-contributions-wweWdXMK.mjs\";\nimport { sqliteCodecRegistry } from \"@internal/target-sqlite/codecs\";\n//#region src/core/descriptor-meta.ts\nconst sqliteAdapterDescriptorMeta = {\n\tkind: \"adapter\",\n\tfamilyId: \"sql\",\n\ttargetId: \"sqlite\",\n\tid: \"sqlite\",\n\tversion: \"0.0.1\",\n\tcapabilities: sqliteAdapterContractContributions.capabilities,\n\ttypes: {\n\t\taggregateDescriptors: sqliteAdapterContractContributions.types.aggregateDescriptors,\n\t\tcodecTypes: {\n\t\t\tcodecDescriptors: Array.from(sqliteCodecRegistry.values()),\n\t\t\timport: {\n\t\t\t\tpackage: \"@internal/adapter-sqlite/codec-types\",\n\t\t\t\tnamed: \"CodecTypes\",\n\t\t\t\talias: \"SqliteTypes\"\n\t\t\t}\n\t\t}\n\t}\n};\n//#endregion\nexport { sqliteAdapterDescriptorMeta as t };\n\n//# sourceMappingURL=descriptor-meta-DrNwC4vO.mjs.map"],"mappings":";;;AAGA,MAAM,8BAA8B;CACnC,MAAM;CACN,UAAU;CACV,UAAU;CACV,IAAI;CACJ,SAAS;CACT,cAAc,mCAAmC;CACjD,OAAO;EACN,sBAAsB,mCAAmC,MAAM;EAC/D,YAAY;GACX,kBAAkB,MAAM,KAAK,oBAAoB,OAAO,CAAC;GACzD,QAAQ;IACP,SAAS;IACT,OAAO;IACP,OAAO;GACR;EACD;CACD;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"descriptor-meta-cwy5CXTT-DSRaq_b-.mjs","names":[],"sources":["../../../../3-targets/7-drivers/sqlite/dist/descriptor-meta-cwy5CXTT.mjs"],"sourcesContent":["import { SqlConnectionError, SqlQueryError } from \"@internal/sql-errors\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { structuredError } from \"@internal/utils/structured-error\";\n//#region src/normalize-error.ts\nconst SQLITE_CONSTRAINT_BASE = 19;\nconst SQLITE_CONSTRAINT_UNIQUE = 2067;\nconst SQLITE_CONSTRAINT_PRIMARYKEY = 1555;\nconst SQLITE_CONSTRAINT_FOREIGNKEY = 787;\nconst SQLITE_CONSTRAINT_NOTNULL = 1299;\nconst SQLITE_CONSTRAINT_CHECK = 275;\nconst SQLITE_BUSY = 5;\nconst SQLITE_LOCKED = 6;\nfunction isConstraintError(errcode) {\n\treturn (errcode & 255) === SQLITE_CONSTRAINT_BASE;\n}\nfunction isBusyOrLocked(errcode) {\n\tconst base = errcode & 255;\n\treturn base === SQLITE_BUSY || base === SQLITE_LOCKED;\n}\nfunction isSqliteError(error) {\n\tif (!(error instanceof Error)) return false;\n\treturn error.code === \"ERR_SQLITE_ERROR\";\n}\nfunction constraintNameFromMessage(message) {\n\treturn /constraint failed: (.+)/.exec(message)?.[1];\n}\nfunction mapErrCodeToSqlState(errcode) {\n\tswitch (errcode) {\n\t\tcase SQLITE_CONSTRAINT_UNIQUE:\n\t\tcase SQLITE_CONSTRAINT_PRIMARYKEY: return \"23505\";\n\t\tcase SQLITE_CONSTRAINT_FOREIGNKEY: return \"23503\";\n\t\tcase SQLITE_CONSTRAINT_NOTNULL: return \"23502\";\n\t\tcase SQLITE_CONSTRAINT_CHECK: return \"23514\";\n\t\tdefault:\n\t\t\tif (isConstraintError(errcode)) return \"23000\";\n\t\t\treturn \"HY000\";\n\t}\n}\nfunction normalizeSqliteError(error) {\n\tif (!(error instanceof Error)) return new Error(String(error));\n\tif (isSqliteError(error)) {\n\t\tconst errcode = error.errcode ?? 0;\n\t\tif (isBusyOrLocked(errcode)) return new SqlConnectionError(error.message, {\n\t\t\tcause: error,\n\t\t\ttransient: true\n\t\t});\n\t\tconst sqlState = mapErrCodeToSqlState(errcode);\n\t\tconst constraint = constraintNameFromMessage(error.message);\n\t\treturn new SqlQueryError(error.message, {\n\t\t\tcause: error,\n\t\t\tsqlState,\n\t\t\t...constraint !== void 0 ? { constraint } : {}\n\t\t});\n\t}\n\tif (error.message.includes(\"database is locked\") || error.message.includes(\"unable to open database\")) return new SqlConnectionError(error.message, {\n\t\tcause: error,\n\t\ttransient: false\n\t});\n\treturn error;\n}\n//#endregion\n//#region src/sqlite-params.ts\n/**\n* The parameters to bind to a SQLite statement. SQLite cannot store NaN and binds it as NULL. The float codecs refuse NaN when they encode, naming the codec; this refuses a NaN no codec encoded, such as a raw SQL parameter, with the same code and `meta.received`, and `meta.paramIndex` in place of `meta.codecId`.\n*/\nfunction sqliteParams(params) {\n\tconst values = params ?? [];\n\tconst nanIndex = values.findIndex((value) => Number.isNaN(value));\n\tif (nanIndex !== -1) throw structuredError(\"RUNTIME.ENCODE_FAILED\", `Parameter ${nanIndex + 1} is NaN, which SQLite cannot store: it would bind it as NULL. Pass null to store no value.`, { meta: {\n\t\tparamIndex: nanIndex,\n\t\treceived: \"NaN\"\n\t} });\n\treturn blindCast(values);\n}\n//#endregion\n//#region src/core/descriptor-meta.ts\nconst sqliteDriverDescriptorMeta = {\n\tkind: \"driver\",\n\tfamilyId: \"sql\",\n\ttargetId: \"sqlite\",\n\tid: \"sqlite\",\n\tversion: \"0.0.1\",\n\tcapabilities: {}\n};\n//#endregion\nexport { sqliteParams as n, normalizeSqliteError as r, sqliteDriverDescriptorMeta as t };\n\n//# sourceMappingURL=descriptor-meta-cwy5CXTT.mjs.map"],"mappings":";;;;AAIA,MAAM,yBAAyB;AAC/B,MAAM,2BAA2B;AACjC,MAAM,+BAA+B;AACrC,MAAM,+BAA+B;AACrC,MAAM,4BAA4B;AAClC,MAAM,0BAA0B;AAChC,MAAM,cAAc;AACpB,MAAM,gBAAgB;AACtB,SAAS,kBAAkB,SAAS;CACnC,QAAQ,UAAU,SAAS;AAC5B;AACA,SAAS,eAAe,SAAS;CAChC,MAAM,OAAO,UAAU;CACvB,OAAO,SAAS,eAAe,SAAS;AACzC;AACA,SAAS,cAAc,OAAO;CAC7B,IAAI,EAAE,iBAAiB,QAAQ,OAAO;CACtC,OAAO,MAAM,SAAS;AACvB;AACA,SAAS,0BAA0B,SAAS;CAC3C,OAAO,0BAA0B,KAAK,OAAO,CAAC,GAAG;AAClD;AACA,SAAS,qBAAqB,SAAS;CACtC,QAAQ,SAAR;EACC,KAAK;EACL,KAAK,8BAA8B,OAAO;EAC1C,KAAK,8BAA8B,OAAO;EAC1C,KAAK,2BAA2B,OAAO;EACvC,KAAK,yBAAyB,OAAO;EACrC;GACC,IAAI,kBAAkB,OAAO,GAAG,OAAO;GACvC,OAAO;CACT;AACD;AACA,SAAS,qBAAqB,OAAO;CACpC,IAAI,EAAE,iBAAiB,QAAQ,OAAO,IAAI,MAAM,OAAO,KAAK,CAAC;CAC7D,IAAI,cAAc,KAAK,GAAG;EACzB,MAAM,UAAU,MAAM,WAAW;EACjC,IAAI,eAAe,OAAO,GAAG,OAAO,IAAI,mBAAmB,MAAM,SAAS;GACzE,OAAO;GACP,WAAW;EACZ,CAAC;EACD,MAAM,WAAW,qBAAqB,OAAO;EAC7C,MAAM,aAAa,0BAA0B,MAAM,OAAO;EAC1D,OAAO,IAAI,cAAc,MAAM,SAAS;GACvC,OAAO;GACP;GACA,GAAG,eAAe,KAAK,IAAI,EAAE,WAAW,IAAI,CAAC;EAC9C,CAAC;CACF;CACA,IAAI,MAAM,QAAQ,SAAS,oBAAoB,KAAK,MAAM,QAAQ,SAAS,yBAAyB,GAAG,OAAO,IAAI,mBAAmB,MAAM,SAAS;EACnJ,OAAO;EACP,WAAW;CACZ,CAAC;CACD,OAAO;AACR;;;;AAMA,SAAS,aAAa,QAAQ;CAC7B,MAAM,SAAS,UAAU,CAAC;CAC1B,MAAM,WAAW,OAAO,WAAW,UAAU,OAAO,MAAM,KAAK,CAAC;CAChE,IAAI,aAAa,IAAI,MAAM,gBAAgB,yBAAyB,aAAa,WAAW,EAAE,6FAA6F,EAAE,MAAM;EAClM,YAAY;EACZ,UAAU;CACX,EAAE,CAAC;CACH,OAAO,UAAU,MAAM;AACxB;AAGA,MAAM,6BAA6B;CAClC,MAAM;CACN,UAAU;CACV,UAAU;CACV,IAAI;CACJ,SAAS;CACT,cAAc,CAAC;AAChB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"descriptor-meta-runtime-DX2JfHWF-BhpYNzHG.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/descriptor-meta-runtime-DX2JfHWF.mjs"],"sourcesContent":["import { o as sqliteDataTypes } from \"./data-types-coQrCWfS.mjs\";\nconst sqliteTargetDescriptorMetaRuntime = {\n\tkind: \"target\",\n\tfamilyId: \"sql\",\n\ttargetId: \"sqlite\",\n\tid: \"sqlite\",\n\tversion: \"0.0.1\",\n\tcapabilities: {},\n\tdataTypes: sqliteDataTypes\n};\n//#endregion\nexport { sqliteTargetDescriptorMetaRuntime as t };\n\n//# sourceMappingURL=descriptor-meta-runtime-DX2JfHWF.mjs.map"],"mappings":";;AACA,MAAM,oCAAoC;CACzC,MAAM;CACN,UAAU;CACV,UAAU;CACV,IAAI;CACJ,SAAS;CACT,cAAc,CAAC;CACf,WAAW;AACZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors-DnR-sMHS-KkMLIP2U.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/errors-DnR-sMHS.mjs"],"sourcesContent":["import { structuredError } from \"@internal/utils/structured-error\";\nimport { CliStructuredError } from \"@internal/errors/control\";\n//#region src/core/errors.ts\nfunction sqliteError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n/**\n* A `SqliteMigration` operation that needs the materialized control adapter\n* — named by `operation` (e.g. `createTable`, `dropColumn`, `recreateTable`) —\n* was invoked, but the migration was constructed without a `ControlStack`.\n* Concrete authoring usage always goes through the migration CLI entrypoint,\n* which assembles a stack from the loaded `prisma.config.ts`; reaching this\n* error means a test fixture or ad-hoc consumer instantiated `SqliteMigration`\n* with the no-arg form (legal for `operations` / `describe` introspection only).\n*\n* The `operation` argument is required so every throw site names the operation\n* that actually failed; a new operation cannot inherit a misattributed message.\n*\n* Distinct from `MIGRATION.UNFILLED_PLACEHOLDER` (placeholder not filled)\n* because the missing input is the stack itself, not the per-operation\n* contract.\n*\n* Lives in `@internal/target-sqlite/errors` rather than the shared\n* framework migration errors module because the failure is target-specific:\n* the contract it talks about (`SqliteMigration`, the SQLite control\n* adapter, the SQLite-target stack) only exists in this package.\n*/\nfunction errorSqliteMigrationStackMissing(operation) {\n\treturn new CliStructuredError(\"MIGRATION.SQLITE_CONTROL_STACK_MISSING\", `SqliteMigration.${operation} requires a control adapter`, {\n\t\twhy: `SqliteMigration.${operation} was invoked on an instance constructed without a ControlStack, so the stored controlAdapter is undefined and the operation cannot lower its DDL node.`,\n\t\tfix: \"Construct the migration via the migration CLI entrypoint (which assembles a ControlStack from the loaded prisma.config.ts), or pass a ControlStack containing a SQLite adapter to the migration constructor in test fixtures.\",\n\t\tmeta: { operation }\n\t});\n}\n//#endregion\nexport { sqliteError as n, errorSqliteMigrationStackMissing as t };\n\n//# sourceMappingURL=errors-DnR-sMHS.mjs.map"],"mappings":";;;AAGA,SAAS,YAAY,MAAM,SAAS,SAAS;CAC5C,OAAO,gBAAgB,MAAM,SAAS,OAAO;AAC9C;;;;;;;;;;;;;;;;;;;;;;AAsBA,SAAS,iCAAiC,WAAW;CACpD,OAAO,IAAI,mBAAmB,0CAA0C,mBAAmB,UAAU,8BAA8B;EAClI,KAAK,mBAAmB,UAAU;EAClC,KAAK;EACL,MAAM,EAAE,UAAU;CACnB,CAAC;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"migration-CRgxnwXy.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/migration.mjs"],"sourcesContent":["import { t as SqliteMigration } from \"./sqlite-migration-DmCXBAGI.mjs\";\nimport { S as step } from \"./op-factory-call-ISQk93c4.mjs\";\nimport { t as buildTargetDetails } from \"./planner-target-details-CIQ789Gc.mjs\";\nimport { placeholder } from \"@internal/errors/migration\";\nimport { col, fn, foreignKey, lit, primaryKey, unique } from \"@internal/sql-relational-core/contract-free\";\nimport { MigrationCLI } from \"@internal/cli/migration-cli\";\nimport { sql } from \"@internal/sql-contract/sql-expression\";\n//#region src/core/migrations/operations/data-transform.ts\n/**\n* User-facing `dataTransform` factory for the SQLite migration authoring\n* surface. Invoked directly inside a `migration.ts` file to supply a\n* user-authored SQL statement that runs with operation class `'data'`.\n*\n* Typical use: the planner emits a `DataTransformCall` stub when a NOT NULL\n* tightening requires a backfill. The rendered `migration.ts` exposes the\n* backfill as a `placeholder(\"…\")` slot the user fills in with an\n* `UPDATE … WHERE col IS NULL` statement. The filled-in `dataTransform(...)`\n* invocation returns a runnable operation the runner executes before the\n* subsequent recreate-table op copies data into the tightened schema.\n*/\nfunction dataTransform(opts) {\n\treturn {\n\t\tid: opts.id,\n\t\tlabel: opts.label,\n\t\tsummary: opts.description,\n\t\toperationClass: \"data\",\n\t\ttarget: {\n\t\t\tid: \"sqlite\",\n\t\t\tdetails: buildTargetDetails(\"table\", opts.table)\n\t\t},\n\t\tprecheck: [],\n\t\texecute: [step(opts.description, opts.run())],\n\t\tpostcheck: []\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/raw.ts\n/**\n* Identity factory for an already-materialized\n* `SqlMigrationPlanOperation<SqlitePlanTargetDetails>`. Mirrors the Postgres\n* `rawSql` factory: the planner uses this to carry ops produced by SQL-family\n* paths (codec lifecycle hooks, raw-SQL escape hatches) alongside structured\n* call IR without reverse-engineering their shape.\n*/\nfunction rawSql(op) {\n\treturn op;\n}\n//#endregion\nexport { SqliteMigration as Migration, MigrationCLI, col, dataTransform, fn, foreignKey, lit, placeholder, primaryKey, rawSql, sql, unique };\n\n//# sourceMappingURL=migration.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;;;AAoBA,SAAS,cAAc,MAAM;CAC5B,OAAO;EACN,IAAI,KAAK;EACT,OAAO,KAAK;EACZ,SAAS,KAAK;EACd,gBAAgB;EAChB,QAAQ;GACP,IAAI;GACJ,SAAS,mBAAmB,SAAS,KAAK,KAAK;EAChD;EACA,UAAU,CAAC;EACX,SAAS,CAAC,KAAK,KAAK,aAAa,KAAK,IAAI,CAAC,CAAC;EAC5C,WAAW,CAAC;CACb;AACD;;;;;;;;AAUA,SAAS,OAAO,IAAI;CACnB,OAAO;AACR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"migration-p83G5mtQ.d.mts","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/migration.d.mts"],"mappings":";;;;;;;;UAOU;;WAEC;;WAEA;;WAEA;;;;;WAKA;;;;;;;;;WASA;;iBAEM,cAAc,MAAM,uBAAuB;;;;;;;;;;iBAU3C,OAAO,IAAI,KAAK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodes-D8EC1yCx-rpfpuJ4T.d.mts","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/nodes-D8EC1yCx.d.mts"],"mappings":";;;UAEU,iBAAiB;EACzB,YAAY,MAAM,oBAAoB;;uBAEjB,sBAAsB;WAClC,OAAO,GAAG,SAAS,iBAAiB,KAAK;;cAEtC,0BAA0B;WAC7B;WACA;WACA;WACA;WACA,SAAS,cAAc;WACvB,aAAa,cAAc;EACpC,YAAY;aACD;aACA;aACA;aACA,kBAAkB;aAClB,uBAAuB;;EAElC,OAAO,GAAG,SAAS,iBAAiB,KAAK;;KAEtC,mBAAmB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodes-DUZSdX86-BBEEaxXY.mjs","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/nodes-DUZSdX86.mjs"],"sourcesContent":["import { DdlNode } from \"@internal/sql-relational-core/ast\";\n//#region src/core/ddl/nodes.ts\nvar SqliteDdlNode = class extends DdlNode {};\nfunction freezeDdlColumns(columns) {\n\treturn Object.freeze([...columns]);\n}\nfunction freezeConstraints(constraints) {\n\treturn constraints ? Object.freeze([...constraints]) : void 0;\n}\nvar SqliteCreateTable = class extends SqliteDdlNode {\n\tkind = \"create-table\";\n\ttable;\n\tschema;\n\tifNotExists;\n\tcolumns;\n\tconstraints;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.table = options.table;\n\t\tthis.schema = options.schema;\n\t\tthis.ifNotExists = options.ifNotExists;\n\t\tthis.columns = freezeDdlColumns(options.columns);\n\t\tthis.constraints = freezeConstraints(options.constraints);\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.createTable(this);\n\t}\n};\n//#endregion\nexport { SqliteDdlNode as n, SqliteCreateTable as t };\n\n//# sourceMappingURL=nodes-DUZSdX86.mjs.map"],"mappings":";;AAEA,IAAI,gBAAgB,cAAc,QAAQ,CAAC;AAC3C,SAAS,iBAAiB,SAAS;CAClC,OAAO,OAAO,OAAO,CAAC,GAAG,OAAO,CAAC;AAClC;AACA,SAAS,kBAAkB,aAAa;CACvC,OAAO,cAAc,OAAO,OAAO,CAAC,GAAG,WAAW,CAAC,IAAI,KAAK;AAC7D;AACA,IAAI,oBAAoB,cAAc,cAAc;CACnD,OAAO;CACP;CACA;CACA;CACA;CACA;CACA,YAAY,SAAS;EACpB,MAAM;EACN,KAAK,QAAQ,QAAQ;EACrB,KAAK,SAAS,QAAQ;EACtB,KAAK,cAAc,QAAQ;EAC3B,KAAK,UAAU,iBAAiB,QAAQ,OAAO;EAC/C,KAAK,cAAc,kBAAkB,QAAQ,WAAW;EACxD,KAAK,OAAO;CACb;CACA,OAAO,SAAS;EACf,OAAO,QAAQ,YAAY,IAAI;CAChC;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"op-factory-call-CnufFdpE.d.mts","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/op-factory-call.d.mts"],"mappings":";;;;;;;;;KAQK,KAAK,0BAA0B;uBACb,gCAAgC,wBAAwB;oBAC3D;oBACA,gBAAgB;oBAChB;WACT,KAAK,UAAU,UAAU,KAAK,QAAQ;;EAE/C,MAAM,UAAU,kCAAkC,KAAK,QAAQ;EAC/D,+BAA+B;YACrB;;cAEE,wBAAwB;;WAE3B;WACA;WACA;WACA,kBAAkB;WAClB,sBAAsB;WACtB;EACT,YAAY,mBAAmB,kBAAkB,aAAa,uBAAuB;EACrF,KAAK,UAAU,wBAAwB,QAAQ;EAC/C;EACA,+BAA+B;;cAEnB,sBAAsB;WACzB;WACA;WACA;WACA;EACT,YAAY;EACZ,KAAK,UAAU,wBAAwB,QAAQ;EAC/C;EACA,+BAA+B;;;UAGvB;WACC,MAAM;WACN,QAAQ;;;KAGd,sBAAsB,gBAAgB;cAC7B,wBAAwB;WAC3B;WACA;WACA;;WAEA;WACA;;WAEA,4BAA4B;;;;;WAK5B,qBAAqB;EAC9B,YAAY,sBAAsB,mBAAmB,4BAA4B;;MAE7E;EACJ,MAAM,UAAU,iCAAiC,QAAQ;EACzD,KAAK,UAAU,wBAAwB,QAAQ;EAC/C;EACA,+BAA+B;;cAEnB,yBAAyB;WAC5B;WACA;WACA;WACA;;WAEA;WACA;;WAEA,4BAA4B;;;;;WAK5B,qBAAqB;EAC9B,YAAY,mBAAmB,uBAAuB,oBAAoB,4BAA4B;EACtG,MAAM,UAAU,iCAAiC,QAAQ;EACzD,KAAK,UAAU,wBAAwB,QAAQ;EAC/C;EACA,+BAA+B;;cAEnB,0BAA0B;;WAE7B;WACA,gBAAgB;WAChB;WACA,eAAe;WACf;WACA,kBAAkB;WAClB;WACA,qBAAqB;WACrB;;WAEA,iBAAiB,SAAS,eAAe;;WAEzC,iBAAiB,SAAS,eAAe;;WAEzC;EACT,YAAY;IACV;IACA,eAAe;IACf;IACA,kBAAkB;IAClB;IACA,qBAAqB;IACrB,gBAAgB;IAChB,kBAAkB,SAAS,eAAe;IAC1C,kBAAkB,SAAS,eAAe;IAC1C;;EAEF,KAAK,UAAU,wBAAwB,QAAQ;EAC/C;EACA,+BAA+B;;cAEnB,sBAAsB;;WAEzB;WACA;WACA;WACA;WACA,QAAQ;WACR;EACT,YAAY,mBAAmB,QAAQ;EACvC,KAAK,UAAU,wBAAwB,QAAQ;EAC/C;EACA,+BAA+B;;cAEnB,uBAAuB;WAC1B;WACA;WACA;WACA;WACA;EACT,YAAY,mBAAmB;EAC/B,KAAK,UAAU,wBAAwB,QAAQ;EAC/C;EACA,+BAA+B;;cAEnB,wBAAwB;WAC3B;WACA;WACA;WACA;WACA;WACA;EACT,YAAY,mBAAmB,mBAAmB;;MAE9C;EACJ,KAAK,UAAU,wBAAwB,QAAQ;EAC/C;EACA,+BAA+B;;cAEnB,sBAAsB;WACzB;WACA;WACA;WACA;WACA;EACT,YAAY,mBAAmB;;MAE3B;EACJ,KAAK,UAAU,wBAAwB,QAAQ;EAC/C;EACA,+BAA+B;;;;;;;;;;;;;;cAcnB,0BAA0B;WAC7B;WACA;WACA;WACA;WACA;WACA;;WAEA;EACT,YAAY,YAAY,eAAe,mBAAmB,oBAAoB;EAC9E,KAAK,WAAW,UAAU,QAAQ;EAClC;EACA,+BAA+B;;;;;;;;;;;cAWnB,mBAAmB;WACtB;WACA,gBAAgB;WAChB;WACA,IAAI;EACb,YAAY,IAAI;EAChB,KAAK,WAAW,UAAU;EAC1B;;KAEG,sBAAsB,kBAAkB,gBAAgB,oBAAoB,kBAAkB,mBAAmB,gBAAgB,iBAAiB,kBAAkB,gBAAgB,oBAAoB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"op-factory-call-ISQk93c4-PEra1nhj.mjs","names":["#written","#slotsSource"],"sources":["../../../../3-targets/3-targets/sqlite/dist/op-factory-call-ISQk93c4.mjs"],"sourcesContent":["import { n as sqliteError } from \"./errors-DnR-sMHS.mjs\";\nimport { r as stripOuterParens } from \"./default-normalizer-DGMXypHg.mjs\";\nimport { n as escapeLiteral, r as quoteIdentifier, t as SQLITE_QUOTING } from \"./sql-utils-XGT5Esi2.mjs\";\nimport { a as tableExistsAst, i as indexExistsAst, n as columnExistsAst, o as tableNameTakenAst, r as columnNameTakenAst, t as createTable } from \"./ddl-CX4tAZ-y.mjs\";\nimport { t as buildTargetDetails } from \"./planner-target-details-CIQ789Gc.mjs\";\nimport { DdlColumn, FunctionColumnDefault, LiteralColumnDefault, opaqueSql } from \"@internal/sql-relational-core/ast\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport \"@internal/framework-components/codec\";\nimport \"@internal/sql-contract/data-type\";\nimport { type } from \"arktype\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { assertNever } from \"@internal/utils/internal-error\";\nimport { expectAbsent, expectPresent, issueOutcome } from \"@internal/framework-components/control\";\nimport { checkSqlExpressionText, convertedColumnMeta, createSqlTextSources, isUnfilledSlot, requiredColumnMeta, slotSource, sqlOfSlot } from \"@internal/family-sql/control\";\nimport { RelationalSchemaNodeKind, sqlColumnTypesEqual } from \"@internal/sql-schema-ir/types\";\nimport { errorMigrationOperationOptionRemoved, unfilledPlaceholderOperation } from \"@internal/errors/migration\";\nimport { REFERENTIAL_ACTION_SQL } from \"@internal/sql-contract/referential-action-sql\";\nimport { TsExpression, jsonToTsSource, tsArraySource, tsObjectSource, tsQuotedTextSource } from \"@internal/ts-render\";\n//#region src/core/migrations/identifier-case.ts\nfunction foldAsciiLetters(identifier) {\n\treturn identifier.replace(/[A-Z]/g, (letter) => letter.toLowerCase());\n}\n/**\n* Whether SQLite takes two identifiers for the same name. It compares table and index names without regard to the case of ASCII letters, and compares every other character exactly.\n*/\nfunction sqliteIdentifiersCollide(left, right) {\n\treturn foldAsciiLetters(left) === foldAsciiLetters(right);\n}\n//#endregion\n//#region src/core/migrations/operations/shared.ts\nfunction step(description, sql, params, expectation) {\n\treturn {\n\t\tdescription,\n\t\tsql,\n\t\t...ifDefined(\"params\", params),\n\t\t...ifDefined(\"expectation\", expectation)\n\t};\n}\n/** The text a `DdlColumn`'s type ends with when the column is SQLite's inline `INTEGER PRIMARY KEY AUTOINCREMENT`. */\nconst INLINE_AUTOINCREMENT_PRIMARY_KEY = \" PRIMARY KEY AUTOINCREMENT\";\n/** The DDL default of a contract default: `autoincrement()` is written as part of the column's type instead. */\nfunction sqliteDefaultToDdlColumnDefault(columnDefault) {\n\tif (!columnDefault) return void 0;\n\tswitch (columnDefault.kind) {\n\t\tcase \"literal\": return new LiteralColumnDefault(columnDefault.value);\n\t\tcase \"function\":\n\t\t\tif (columnDefault.expression === \"autoincrement()\") return void 0;\n\t\t\treturn new FunctionColumnDefault(opaqueSql(columnDefault.expression));\n\t\tdefault: {\n\t\t\tconst exhaustive = columnDefault;\n\t\t\treturn assertNever(exhaustive, `sqliteDefaultToDdlColumnDefault: unhandled kind \"${blindCast(exhaustive).kind}\"`);\n\t\t}\n\t}\n}\n/**\n* A column spec an earlier version wrote carries its default as SQL text in `defaultSql`, empty when it has none.\n*/\nfunction refuseEarlierColumnSpecs(operation, tableName, columns) {\n\tconst earlier = columns.find((column) => Object.hasOwn(column, \"defaultSql\"));\n\tif (earlier === void 0) return;\n\tthrow errorMigrationOperationOptionRemoved({\n\t\toperation,\n\t\toption: \"defaultSql\",\n\t\tsubject: `column ${JSON.stringify(earlier.name)} of table ${JSON.stringify(tableName)}`,\n\t\trewrite: \"Write the column's default as `default: { kind: 'literal', value }` or `default: { kind: 'function', expression }`, with the column's `codecRef`, in place of `defaultSql`, and delete an empty `defaultSql`.\",\n\t\tupgradeEntry: \"migration-ts-column-defaults\"\n\t});\n}\n/** The `DEFAULT …` clause the adapter writes for a column spec, `''` when it has none. */\nfunction renderSpecDefault$1(column, tableName, lowerer) {\n\tconst ddlDefault = column.inlineAutoincrementPrimaryKey ? void 0 : sqliteDefaultToDdlColumnDefault(column.default);\n\treturn lowerer.renderColumnDefault(new DdlColumn({\n\t\tname: column.name,\n\t\ttype: column.typeSql,\n\t\t...ifDefined(\"default\", ddlDefault),\n\t\t...ifDefined(\"codecRef\", column.codecRef)\n\t}), tableName);\n}\n/**\n* Renders a single column's inline DDL fragment within a `CREATE TABLE`\n* statement. Honours the `inlineAutoincrementPrimaryKey` flag — SQLite\n* treats `INTEGER PRIMARY KEY AUTOINCREMENT` as a special form that aliases\n* `rowid`, and the column must not carry a `DEFAULT` or repeat `NOT NULL`.\n*/\nfunction renderColumnDefinition(column, defaultClause) {\n\tconst parts = [quoteIdentifier(column.name), column.typeSql];\n\tif (column.inlineAutoincrementPrimaryKey) parts.push(\"PRIMARY KEY AUTOINCREMENT\");\n\telse {\n\t\tif (defaultClause) parts.push(defaultClause);\n\t\tif (!column.nullable) parts.push(\"NOT NULL\");\n\t}\n\treturn parts.join(\" \");\n}\n/**\n* Renders an inline FOREIGN KEY constraint clause for a `CREATE TABLE`\n* body. Every `SqliteForeignKeySpec` is constraint-bearing by construction\n* (`tableSpecFromNode` only ever builds specs from schema-IR FK nodes, which\n* are themselves constraint-only — a non-constraint FK contributes no node).\n*/\nfunction renderForeignKeyClause(fk) {\n\tlet sql = `${fk.name ? `CONSTRAINT ${quoteIdentifier(fk.name)} ` : \"\"}FOREIGN KEY (${fk.columns.map(quoteIdentifier).join(\", \")}) REFERENCES ${quoteIdentifier(fk.references.table)} (${fk.references.columns.map(quoteIdentifier).join(\", \")})`;\n\tif (fk.onDelete !== void 0) sql += ` ON DELETE ${REFERENTIAL_ACTION_SQL[fk.onDelete]}`;\n\tif (fk.onUpdate !== void 0) sql += ` ON UPDATE ${REFERENTIAL_ACTION_SQL[fk.onUpdate]}`;\n\treturn sql;\n}\n//#endregion\n//#region src/core/migrations/operations/structure-checks.ts\nfunction text(value) {\n\treturn `'${escapeLiteral(value)}'`;\n}\nfunction columnRow(column) {\n\treturn `(${text(column.name)}, ${text(column.typeSql.toLowerCase())}, ${column.notNull ? 1 : 0}, ${column.primaryKeyPosition})`;\n}\n/** Checks that the table has exactly these columns, each with its type, nullability and primary key position. */\nfunction tableColumnsCheck(tableName, columns) {\n\tconst info = `pragma_table_info(${text(tableName)})`;\n\treturn {\n\t\tdescription: `verify table \"${tableName}\" has exactly its columns`,\n\t\tsql: `SELECT (SELECT COUNT(*) FROM ${info}) = ${columns.length} AND (SELECT COUNT(*) FROM ${info} WHERE (name, LOWER(type), \"notnull\", pk) IN (VALUES ${columns.map(columnRow).join(\", \")})) = ${columns.length}`\n\t};\n}\n/** Checks the column's type and nullability. */\nfunction columnShapeCheck(tableName, column) {\n\treturn {\n\t\tdescription: `verify column \"${column.name}\" on \"${tableName}\" has type ${column.typeSql} and ${column.notNull ? \"is required\" : \"is optional\"}`,\n\t\tsql: `SELECT COUNT(*) > 0 FROM pragma_table_info(${text(tableName)}) WHERE name = ${text(column.name)} AND LOWER(type) = ${text(column.typeSql.toLowerCase())} AND \"notnull\" = ${column.notNull ? 1 : 0}`\n\t};\n}\n/** Checks that the index is on the table, covers exactly these columns in this order, and is unique or not. */\nfunction indexDefinitionCheck(tableName, indexName, columns, unique) {\n\tconst positions = columns.map((column, seqno) => `(${seqno}, ${text(column)})`).join(\", \");\n\tconst info = `pragma_index_info(${text(indexName)})`;\n\treturn {\n\t\tdescription: `verify index \"${indexName}\" on \"${tableName}\" covers (${columns.join(\", \")})`,\n\t\tsql: `SELECT EXISTS (SELECT 1 FROM pragma_index_list(${text(tableName)}) WHERE name = ${text(indexName)} AND \"unique\" = ${unique ? 1 : 0}) AND (SELECT COUNT(*) FROM ${info}) = ${columns.length} AND (SELECT COUNT(*) FROM ${info} WHERE (seqno, name) IN (VALUES ${positions})) = ${columns.length}`\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/columns.ts\nfunction addColumnExecuteSql(tableName, column, defaultClause) {\n\treturn [\n\t\t`ALTER TABLE ${quoteIdentifier(tableName)}`,\n\t\t`ADD COLUMN ${quoteIdentifier(column.name)} ${column.typeSql}`,\n\t\tdefaultClause,\n\t\tcolumn.nullable ? \"\" : \"NOT NULL\"\n\t].filter(Boolean).join(\" \");\n}\nfunction dropColumnExecuteSql(tableName, columnName) {\n\treturn `ALTER TABLE ${quoteIdentifier(tableName)} DROP COLUMN ${quoteIdentifier(columnName)}`;\n}\nasync function addColumn(tableName, column, lowerer) {\n\trefuseEarlierColumnSpecs(\"addColumn\", tableName, [column]);\n\tconst defaultClause = await renderSpecDefault$1(column, tableName, lowerer);\n\tconst checks = columnExistsAst(tableName, column.name);\n\tconst absent = await lowerer.lowerToExecuteRequest(checks.columnAbsent());\n\tconst present = await lowerer.lowerToExecuteRequest(checks.columnPresent());\n\treturn {\n\t\tid: `column.${tableName}.${column.name}`,\n\t\tlabel: `Add column ${column.name} on ${tableName}`,\n\t\tsummary: `Adds column ${column.name} on ${tableName}`,\n\t\toperationClass: \"additive\",\n\t\ttarget: {\n\t\t\tid: \"sqlite\",\n\t\t\tdetails: buildTargetDetails(\"column\", column.name, tableName)\n\t\t},\n\t\tprecheck: [step(`ensure column \"${column.name}\" is missing`, absent.sql, absent.params, expectAbsent(`column \"${column.name}\" on \"${tableName}\"`))],\n\t\texecute: [step(`add column \"${column.name}\"`, addColumnExecuteSql(tableName, column, defaultClause))],\n\t\tpostcheck: [step(`verify column \"${column.name}\" exists`, present.sql, present.params, expectPresent(`column \"${column.name}\" on \"${tableName}\"`)), columnShapeCheck(tableName, {\n\t\t\tname: column.name,\n\t\t\ttypeSql: column.typeSql,\n\t\t\tnotNull: !column.nullable\n\t\t})]\n\t};\n}\nfunction renameColumnExecuteSql(tableName, fromName, toName) {\n\treturn `ALTER TABLE ${quoteIdentifier(tableName)} RENAME COLUMN ${quoteIdentifier(fromName)} TO ${quoteIdentifier(toName)}`;\n}\n/**\n* Renames a column. SQLite updates the indexes, foreign keys and triggers that name it, and keeps\n* index names. SQLite takes names that differ only in case for the same name, so the new name\n* must be free whatever its case, except in a rename that only changes case, which SQLite performs\n* in one statement.\n*/\nfunction renameColumnOperationId(tableName, fromName) {\n\treturn `renameColumn.${tableName}.${fromName}`;\n}\nasync function renameColumn(tableName, fromName, toName, lowerer) {\n\tconst fromChecks = columnExistsAst(tableName, fromName);\n\tconst toChecks = columnExistsAst(tableName, toName);\n\tconst fromPresent = await lowerer.lowerToExecuteRequest(fromChecks.columnPresent());\n\tconst onlyCase = sqliteIdentifiersCollide(fromName, toName);\n\tconst toAbsent = await lowerer.lowerToExecuteRequest(onlyCase ? toChecks.columnAbsent() : columnNameTakenAst(tableName, toName).nameFree());\n\tconst toPresent = await lowerer.lowerToExecuteRequest(toChecks.columnPresent());\n\tconst fromAbsent = await lowerer.lowerToExecuteRequest(fromChecks.columnAbsent());\n\treturn {\n\t\tid: renameColumnOperationId(tableName, fromName),\n\t\tlabel: `Rename column ${fromName} on ${tableName} to ${toName}`,\n\t\tsummary: `Renames column ${fromName} on ${tableName} to ${toName}, keeping its values`,\n\t\toperationClass: \"widening\",\n\t\ttarget: {\n\t\t\tid: \"sqlite\",\n\t\t\tdetails: buildTargetDetails(\"column\", toName, tableName)\n\t\t},\n\t\tprecheck: [step(`ensure column \"${fromName}\" exists on \"${tableName}\"`, fromPresent.sql, fromPresent.params, expectPresent(`column \"${fromName}\" on \"${tableName}\"`)), step(`ensure column \"${toName}\" does not exist on \"${tableName}\"`, toAbsent.sql, toAbsent.params, expectAbsent(onlyCase ? `column \"${toName}\" on \"${tableName}\"` : `a column named \"${toName}\" on \"${tableName}\" in any case`))],\n\t\texecute: [step(`rename column \"${fromName}\" on \"${tableName}\" to \"${toName}\"`, renameColumnExecuteSql(tableName, fromName, toName))],\n\t\tpostcheck: [step(`verify column \"${toName}\" exists on \"${tableName}\"`, toPresent.sql, toPresent.params, expectPresent(`column \"${toName}\" on \"${tableName}\"`)), step(`verify column \"${fromName}\" no longer exists on \"${tableName}\"`, fromAbsent.sql, fromAbsent.params, expectAbsent(`column \"${fromName}\" on \"${tableName}\"`))]\n\t};\n}\n//#endregion\n//#region src/core/migrations/planner-ddl-builders.ts\nfunction buildCreateIndexSql(tableName, indexName, columns, unique = false) {\n\treturn `CREATE ${unique ? \"UNIQUE \" : \"\"}INDEX ${quoteIdentifier(indexName)} ON ${quoteIdentifier(tableName)} (${columns.map(quoteIdentifier).join(\", \")})`;\n}\nfunction buildDropIndexSql(indexName) {\n\treturn `DROP INDEX IF EXISTS ${quoteIdentifier(indexName)}`;\n}\n//#endregion\n//#region src/core/migrations/operations/tables.ts\nasync function tableExistsSteps(lowerer, tableName) {\n\tconst checks = tableExistsAst(tableName);\n\treturn {\n\t\tpresent: await lowerer.lowerToExecuteRequest(checks.tablePresent()),\n\t\tabsent: await lowerer.lowerToExecuteRequest(checks.tableAbsent())\n\t};\n}\n/**\n* Renders the body of a `CREATE TABLE <name> ( … )` statement from a flat\n* `SqliteTableSpec`. SQLite's `INTEGER PRIMARY KEY AUTOINCREMENT` form is\n* inline on the column; the table-level PRIMARY KEY clause is emitted only\n* when no column carries `inlineAutoincrementPrimaryKey`.\n*/\nfunction renderCreateTableSql(tableName, spec, defaultClauses) {\n\tconst columnDefs = spec.columns.map((column, index) => renderColumnDefinition(column, defaultClauses[index] ?? \"\"));\n\tconst constraintDefs = [];\n\tconst hasInlinePk = spec.columns.some((c) => c.inlineAutoincrementPrimaryKey);\n\tif (spec.primaryKey && !hasInlinePk) constraintDefs.push(`PRIMARY KEY (${spec.primaryKey.columns.map(quoteIdentifier).join(\", \")})`);\n\tfor (const u of spec.uniques ?? []) {\n\t\tconst name = u.name ? `CONSTRAINT ${quoteIdentifier(u.name)} ` : \"\";\n\t\tconstraintDefs.push(`${name}UNIQUE (${u.columns.map(quoteIdentifier).join(\", \")})`);\n\t}\n\tfor (const fk of spec.foreignKeys ?? []) {\n\t\tconst clause = renderForeignKeyClause(fk);\n\t\tif (clause) constraintDefs.push(clause);\n\t}\n\tconst allDefs = [...columnDefs, ...constraintDefs];\n\treturn `CREATE TABLE ${quoteIdentifier(tableName)} (\\n ${allDefs.join(\",\\n \")}\\n)`;\n}\nfunction renameTableViaName(toName) {\n\treturn `_prisma_rename_${toName}`;\n}\nfunction renameChangesOnlyCase(fromName, toName) {\n\treturn sqliteIdentifiersCollide(fromName, toName);\n}\n/**\n* SQLite takes names that differ only in the case of ASCII letters for the\n* same name, so such a rename (`userProfile` to `UserProfile`) is refused as\n* \"already exists\" when done in one statement. It goes through a temporary name.\n*/\nfunction renameTableSteps(fromName, toName) {\n\tconst from = quoteIdentifier(fromName);\n\tconst to = quoteIdentifier(toName);\n\tif (!renameChangesOnlyCase(fromName, toName)) return [step(`rename table \"${fromName}\" to \"${toName}\"`, `ALTER TABLE ${from} RENAME TO ${to}`)];\n\tconst viaName = renameTableViaName(toName);\n\tconst via = quoteIdentifier(viaName);\n\treturn [step(`rename table \"${fromName}\" to \"${viaName}\" (SQLite table names are case-insensitive)`, `ALTER TABLE ${from} RENAME TO ${via}`), step(`rename table \"${viaName}\" to \"${toName}\"`, `ALTER TABLE ${via} RENAME TO ${to}`)];\n}\n/** The table a rebuild of `tableName` creates, copies into, and renames to `tableName`. */\nfunction rebuiltTableName(tableName) {\n\treturn `_prisma_new_${tableName}`;\n}\nasync function recreateTable(args, lowerer) {\n\tconst { tableName, contractTable, schemaColumnNames, indexes, summary, postchecks, operationClass, copyExpressions = {}, temporaryValues = {}, retypedColumns = [] } = args;\n\trefuseEarlierColumnSpecs(\"recreateTable\", tableName, contractTable.columns);\n\tconst tempName = rebuiltTableName(tableName);\n\tconst liveSet = new Set(schemaColumnNames);\n\tconst convertedBy = (column) => Object.hasOwn(copyExpressions, column) ? copyExpressions[column] : void 0;\n\tconst copiedFrom = (column) => convertedBy(column) ?? (Object.hasOwn(temporaryValues, column) ? temporaryValues[column] : void 0);\n\tconst sharedColumns = contractTable.columns.filter((c) => liveSet.has(c.name) || copiedFrom(c.name) !== void 0).map((c) => c.name);\n\tconst columnList = sharedColumns.map(quoteIdentifier).join(\", \");\n\tconst selectList = sharedColumns.map((column) => copiedFrom(column) ?? quoteIdentifier(column)).join(\", \");\n\tconst indexStatements = indexes.map((idx) => ({\n\t\tdescription: `recreate index \"${idx.name}\" on \"${tableName}\"`,\n\t\tsql: buildCreateIndexSql(tableName, idx.name, idx.columns)\n\t}));\n\tconst conversions = Object.fromEntries(sharedColumns.flatMap((column) => {\n\t\tconst expression = convertedBy(column);\n\t\treturn expression === void 0 ? [] : [[column, expression]];\n\t}));\n\tconst copyStep = sharedColumns.length > 0 ? [{\n\t\t...step(`copy data from \"${tableName}\" to \"${tempName}\"`, `INSERT INTO ${quoteIdentifier(tempName)} (${columnList}) SELECT ${selectList} FROM ${quoteIdentifier(tableName)}`),\n\t\t...Object.keys(conversions).length === 0 ? {} : { meta: { conversionCopy: {\n\t\t\ttable: tableName,\n\t\t\texpressions: conversions\n\t\t} } }\n\t}] : [];\n\tconst defaultClauses = await renderSpecDefaults(contractTable, tableName, lowerer);\n\tconst clauseByColumn = new Map(contractTable.columns.map((column, index) => [column.name, defaultClauses[index] ?? \"\"]));\n\tconst tableSteps = await tableExistsSteps(lowerer, tableName);\n\tconst tempSteps = await tableExistsSteps(lowerer, tempName);\n\treturn {\n\t\tid: `recreateTable.${tableName}`,\n\t\tlabel: `Recreate table ${tableName}`,\n\t\tsummary,\n\t\toperationClass,\n\t\ttarget: {\n\t\t\tid: \"sqlite\",\n\t\t\tdetails: buildTargetDetails(\"table\", tableName)\n\t\t},\n\t\tprecheck: [\n\t\t\tstep(`ensure table \"${tableName}\" exists`, tableSteps.present.sql, tableSteps.present.params, expectPresent(`table \"${tableName}\"`)),\n\t\t\tstep(`ensure temp table \"${tempName}\" does not exist`, tempSteps.absent.sql, tempSteps.absent.params, expectAbsent(`temp table \"${tempName}\"`)),\n\t\t\tsourceColumnsCheck(tableName, schemaColumnNames)\n\t\t],\n\t\texecute: [\n\t\t\tstep(`create new table \"${tempName}\" with desired schema`, renderCreateTableSql(tempName, contractTable, defaultClauses)),\n\t\t\t...copyStep,\n\t\t\tstep(`drop old table \"${tableName}\"`, `DROP TABLE ${quoteIdentifier(tableName)}`),\n\t\t\tstep(`rename \"${tempName}\" to \"${tableName}\"`, `ALTER TABLE ${quoteIdentifier(tempName)} RENAME TO ${quoteIdentifier(tableName)}`),\n\t\t\t...indexStatements\n\t\t],\n\t\tpostcheck: [\n\t\t\tstep(`verify table \"${tableName}\" exists`, tableSteps.present.sql, tableSteps.present.params, expectPresent(`table \"${tableName}\"`)),\n\t\t\tstep(`verify temp table \"${tempName}\" is gone`, tempSteps.absent.sql, tempSteps.absent.params, expectAbsent(`temp table \"${tempName}\"`)),\n\t\t\trebuiltTableCheck(tableName, renderCreateTableSql(tableName, contractTable, defaultClauses)),\n\t\t\t...postchecks.flatMap((check) => \"sql\" in check ? [markedStep(tableName, check)] : defaultPostcheck(tableName, check, clauseByColumn.get(check.columnDefault))),\n\t\t\t...contractTable.columns.flatMap((column) => {\n\t\t\t\tconst by = Object.hasOwn(conversions, column.name) ? \"conversion\" : retypedColumns.includes(column.name) ? \"cast\" : void 0;\n\t\t\t\treturn by === void 0 ? [] : [{\n\t\t\t\t\t...storageClassCheck(tableName, column),\n\t\t\t\t\tmeta: convertedColumnMeta(tableName, column.name, by)\n\t\t\t\t}];\n\t\t\t})\n\t\t]\n\t};\n}\n/**\n* Checks that the table has exactly the columns the rebuild reads, the ones it copies and the ones it\n* leaves out. The rebuild copies only the columns it knows, so on a table with another column, such\n* as one a later migration added, it would drop that column and its values.\n*/\nfunction sourceColumnsCheck(tableName, columns) {\n\tconst info = `pragma_table_info('${escapeLiteral(tableName)}')`;\n\tconst named = columns.length === 0 ? \"\" : ` AND (SELECT COUNT(*) FROM ${info} WHERE name IN (${quoteSqlList(columns)})) = ${columns.length}`;\n\treturn {\n\t\tdescription: `ensure table \"${tableName}\" has exactly the columns the rebuild copies or leaves out (${columns.join(\", \")})`,\n\t\tsql: `SELECT (SELECT COUNT(*) FROM ${info}) = ${columns.length}${named}`\n\t};\n}\n/**\n* Checks that the table is stored as the statement the rebuild writes. SQLite keeps a table's\n* `CREATE TABLE` text as written, and renaming the rebuilt table only replaces its name, so this holds\n* once the rebuild ran and not before, whatever text an earlier table had. It is the only check of\n* what SQLite keeps in that text alone, such as `AUTOINCREMENT`.\n*/\nfunction rebuiltTableCheck(tableName, statement) {\n\treturn {\n\t\tdescription: `verify \"${tableName}\" is stored as the rebuilt table`,\n\t\tsql: `SELECT (SELECT sql FROM sqlite_master WHERE type = 'table' AND name = '${escapeLiteral(tableName)}') = '${escapeLiteral(statement)}'`\n\t};\n}\nfunction markedStep(tableName, check) {\n\tconst { requiredColumn, ...step } = check;\n\tconst meta = { ...requiredColumn === void 0 ? {} : requiredColumnMeta(tableName, requiredColumn.column, requiredColumn.reason) };\n\treturn Object.keys(meta).length === 0 ? step : {\n\t\t...step,\n\t\tmeta\n\t};\n}\n/**\n* The storage classes SQLite keeps a value in once a column of `typeSql` has taken it: the column's\n* type affinity converts what it can, so a value of another class is one it could not convert.\n* See https://www.sqlite.org/datatype3.html#determination_of_column_affinity.\n*/\nfunction affinityStorageClasses(typeSql) {\n\tconst declared = typeSql.toUpperCase();\n\tif (declared.includes(\"INT\")) return [\"integer\"];\n\tif ([\n\t\t\"CHAR\",\n\t\t\"CLOB\",\n\t\t\"TEXT\"\n\t].some((part) => declared.includes(part))) return [\"text\"];\n\tif (declared === \"\" || declared.includes(\"BLOB\")) return [\"blob\"];\n\tif ([\n\t\t\"REAL\",\n\t\t\"FLOA\",\n\t\t\"DOUB\"\n\t].some((part) => declared.includes(part))) return [\"real\"];\n\treturn [\"integer\", \"real\"];\n}\n/**\n* The check that the copy into a rebuilt table converted every value of a retyped column to the\n* column's new type. SQLite keeps a value it cannot convert in its old storage class, so a value of\n* any other class than the column's affinity keeps fails the check.\n*/\nfunction storageClassCheck(tableName, column) {\n\tconst classes = [\"null\", ...affinityStorageClasses(column.typeSql)].map((storageClass) => `'${storageClass}'`).join(\", \");\n\treturn {\n\t\tdescription: `verify every value of \"${column.name}\" on \"${tableName}\" is stored as ${column.typeSql}`,\n\t\tsql: `SELECT NOT EXISTS (SELECT 1 FROM ${quoteIdentifier(tableName)} WHERE typeof(${quoteIdentifier(column.name)}) NOT IN (${classes}))`\n\t};\n}\nconst ConversionCopyMeta = type({ conversionCopy: {\n\ttable: \"string\",\n\texpressions: \"Record<string, string>\"\n} });\n/**\n* The table a rebuild's copy step reads and the copy expression of each column its conversions\n* convert, when the step converts any: an error of the step may be an error of one of them.\n*/\nfunction conversionCopyOf(step) {\n\tconst meta = ConversionCopyMeta(step.meta ?? {});\n\treturn meta instanceof type.errors ? void 0 : meta.conversionCopy;\n}\nfunction renderSpecDefaults(spec, tableName, lowerer) {\n\treturn Promise.all(spec.columns.map((column) => renderSpecDefault$1(column, tableName, lowerer)));\n}\n/**\n* Checks the column's default is the text of its `DEFAULT …` clause. SQLite's\n* `pragma_table_info.dflt_value` strips the outer parentheses of an expression\n* default, so `(strftime('%Y-%m-%dT%H:%M:%fZ','now'))` is stored as `strftime('%Y-%m-%dT%H:%M:%fZ','now')`; they are\n* stripped here too.\n*/\nfunction defaultPostcheck(tableName, check, clause) {\n\tif (clause === void 0 || !clause.startsWith(\"DEFAULT \")) return [];\n\tconst expectedRaw = stripOuterParens(clause.slice(8));\n\treturn [{\n\t\tdescription: check.description,\n\t\tsql: `SELECT COUNT(*) > 0 FROM pragma_table_info('${escapeLiteral(tableName)}') WHERE name = '${escapeLiteral(check.columnDefault)}' AND dflt_value = '${escapeLiteral(expectedRaw)}'`\n\t}];\n}\n/**\n* Build a one-line summary of a recreate-table operation from the schema-diff\n* issues that triggered it. Lives next to `recreateTable` so the planner\n* (which has the issues) can produce the same description the factory\n* used to build inline. Keeping the formatting target-side keeps\n* `RecreateTableCall` issue-free at the IR layer. `SchemaDiffIssue` carries\n* no rendered message, so this renders one from each issue's path.\n*/\nfunction buildRecreateSummary(tableName, issues) {\n\treturn `Recreates table ${tableName} to apply schema changes: ${issues.map((i) => i.path.join(\"/\")).join(\"; \")}`;\n}\nfunction nodeKindOf(issue) {\n\tconst node = issue.expected ?? issue.actual;\n\tif (node === void 0) return void 0;\n\treturn blindCast(node).nodeKind;\n}\n/**\n* Returns the columns the contract expects as the table's primary key. Picks\n* up SQLite's inline `INTEGER PRIMARY KEY AUTOINCREMENT` form when no\n* explicit `primaryKey` clause is set on the spec.\n*/\nfunction expectedPrimaryKeyColumns(spec) {\n\tif (spec.primaryKey) return spec.primaryKey.columns;\n\tconst inlinePk = spec.columns.find((c) => c.inlineAutoincrementPrimaryKey);\n\treturn inlinePk ? [inlinePk.name] : [];\n}\n/** The text `pragma_foreign_key_list` reports for a referential action; SQLite reads an absent action as `NO ACTION`. */\nfunction referentialActionText(action) {\n\treturn REFERENTIAL_ACTION_SQL[action ?? \"noAction\"];\n}\nfunction quoteSqlList(values) {\n\treturn values.map((v) => `'${escapeLiteral(v)}'`).join(\", \");\n}\n/**\n* A condition on the index aliased `l`: it covers exactly these columns. Order is not checked, because SQLite identifies a unique index by its column set.\n*/\nfunction indexCoversExactly(columns) {\n\treturn `(SELECT COUNT(*) FROM pragma_index_info(l.name)) = ${columns.length} AND (SELECT COUNT(*) FROM pragma_index_info(l.name) WHERE name IN (${quoteSqlList(columns)})) = ${columns.length}`;\n}\nfunction columnNameFromNode(issue) {\n\tconst node = issue.expected ?? issue.actual;\n\tif (node === void 0) return void 0;\n\treturn blindCast(node).name;\n}\n/**\n* A column-default issue's own node has no back-reference to its owning\n* column — it's a transient child built by `SqlColumnIR.children()`. The\n* column's id (`column:<name>`) is always the diff path's second-to-last\n* segment for a default issue (`[..., tableId, columnId, 'default']`), so\n* the name is recovered from the path rather than the node.\n*/\nfunction columnNameFromDefaultIssuePath(issue) {\n\tconst columnId = issue.path[issue.path.length - 2];\n\tif (columnId === void 0) return void 0;\n\treturn columnId.startsWith(\"column:\") ? columnId.slice(7) : columnId;\n}\n/**\n* Compares the declared type with `typeSql`: exactly for a data type named by its catalog text, as\n* verify compares it (ADR 273), and without case otherwise.\n*/\nfunction declaredTypeMatches(expected, typeSql) {\n\treturn expected.catalogText !== void 0 ? `type = '${escapeLiteral(typeSql)}'` : `LOWER(type) = '${escapeLiteral(typeSql.toLowerCase())}'`;\n}\n/**\n* Per-issue postchecks verifying the recreated table's shape against the\n* expected spec. Column-level issues (`sql-column` `not-equal`,\n* `sql-column-default` any reason) emit one targeted check each;\n* constraint-level issues (`sql-primary-key`, `sql-unique`, `sql-foreign-key`,\n* any reason) emit one `pragma_*`-driven check per declared constraint in the\n* expected spec, so a recreated table with the right columns but the wrong\n* PK / unique / FK shape fails the postcheck instead of passing silently.\n* Exported so the planner can pre-build the list at construction time and\n* `RecreateTableCall` doesn't have to carry `SchemaDiffIssue` objects through\n* to render time.\n*/\nfunction buildRecreatePostchecks(tableName, issues, spec, copiedColumns = /* @__PURE__ */ new Set(), backfilledColumns = /* @__PURE__ */ new Set()) {\n\tconst checks = [];\n\tconst t = escapeLiteral(tableName);\n\tconst byName = new Map(spec.columns.map((c) => [c.name, c]));\n\tlet hasPkIssue = false;\n\tlet hasUniqueIssue = false;\n\tlet hasFkIssue = false;\n\tfor (const issue of issues) {\n\t\tconst nodeKind = nodeKindOf(issue);\n\t\tif (nodeKind === RelationalSchemaNodeKind.column && issueOutcome(issue) === \"not-found\") {\n\t\t\tconst columnName = columnNameFromNode(issue);\n\t\t\tconst column = columnName === void 0 ? void 0 : byName.get(columnName);\n\t\t\tif (columnName === void 0 || column === void 0) continue;\n\t\t\tconst takesNoValue = !column.nullable && column.default === void 0 && !copiedColumns.has(columnName);\n\t\t\tchecks.push({\n\t\t\t\tdescription: `verify \"${columnName}\" nullability on \"${tableName}\"`,\n\t\t\t\tsql: `SELECT COUNT(*) > 0 FROM pragma_table_info('${t}') WHERE name = '${escapeLiteral(columnName)}' AND \"notnull\" = ${column.nullable ? 0 : 1}`,\n\t\t\t\t...backfilledColumns.has(columnName) ? { requiredColumn: {\n\t\t\t\t\tcolumn: columnName,\n\t\t\t\t\treason: \"backfillMissedRows\"\n\t\t\t\t} } : takesNoValue ? { requiredColumn: {\n\t\t\t\t\tcolumn: columnName,\n\t\t\t\t\treason: \"newField\"\n\t\t\t\t} } : {}\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (nodeKind === RelationalSchemaNodeKind.column && issueOutcome(issue) === \"not-equal\") {\n\t\t\tconst columnName = columnNameFromNode(issue);\n\t\t\tif (columnName === void 0) continue;\n\t\t\tconst c = escapeLiteral(columnName);\n\t\t\tconst expected = blindCast(issue.expected);\n\t\t\tconst actual = blindCast(issue.actual);\n\t\t\tif (expected.nullable !== actual.nullable) checks.push({\n\t\t\t\tdescription: `verify \"${columnName}\" nullability on \"${tableName}\"`,\n\t\t\t\tsql: `SELECT COUNT(*) > 0 FROM pragma_table_info('${t}') WHERE name = '${c}' AND \"notnull\" = ${expected.nullable ? 0 : 1}`,\n\t\t\t\t...expected.nullable ? {} : { requiredColumn: {\n\t\t\t\t\tcolumn: columnName,\n\t\t\t\t\treason: backfilledColumns.has(columnName) ? \"backfillMissedRows\" : \"nullValues\"\n\t\t\t\t} }\n\t\t\t});\n\t\t\tif (!sqlColumnTypesEqual(expected, actual)) {\n\t\t\t\tconst colSpec = byName.get(columnName);\n\t\t\t\tif (colSpec) checks.push({\n\t\t\t\t\tdescription: `verify \"${columnName}\" type on \"${tableName}\"`,\n\t\t\t\t\tsql: `SELECT COUNT(*) > 0 FROM pragma_table_info('${t}') WHERE name = '${c}' AND ${declaredTypeMatches(expected, colSpec.typeSql)}`\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tif (nodeKind === RelationalSchemaNodeKind.columnDefault) {\n\t\t\tconst columnName = columnNameFromDefaultIssuePath(issue);\n\t\t\tif (columnName === void 0) continue;\n\t\t\tconst c = escapeLiteral(columnName);\n\t\t\tif (issueOutcome(issue) === \"not-expected\") {\n\t\t\t\tchecks.push({\n\t\t\t\t\tdescription: `verify \"${columnName}\" has no default on \"${tableName}\"`,\n\t\t\t\t\tsql: `SELECT COUNT(*) > 0 FROM pragma_table_info('${t}') WHERE name = '${c}' AND dflt_value IS NULL`\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (byName.get(columnName)?.default !== void 0) checks.push({\n\t\t\t\tdescription: `verify \"${columnName}\" default on \"${tableName}\"`,\n\t\t\t\tcolumnDefault: columnName\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (nodeKind === RelationalSchemaNodeKind.primaryKey) hasPkIssue = true;\n\t\tif (nodeKind === RelationalSchemaNodeKind.unique) hasUniqueIssue = true;\n\t\tif (nodeKind === RelationalSchemaNodeKind.foreignKey) hasFkIssue = true;\n\t}\n\tif (hasPkIssue) {\n\t\tconst pkColumns = expectedPrimaryKeyColumns(spec);\n\t\tconst colCount = pkColumns.length;\n\t\tif (colCount === 0) checks.push({\n\t\t\tdescription: `verify \"${tableName}\" has no primary key`,\n\t\t\tsql: `SELECT (SELECT COUNT(*) FROM pragma_table_info('${t}') WHERE pk > 0) = 0`\n\t\t});\n\t\telse checks.push({\n\t\t\tdescription: `verify primary key on \"${tableName}\"`,\n\t\t\tsql: `SELECT (SELECT COUNT(*) FROM pragma_table_info('${t}') WHERE pk > 0) = ${colCount} AND (SELECT COUNT(*) FROM pragma_table_info('${t}') WHERE pk > 0 AND name IN (${quoteSqlList(pkColumns)})) = ${colCount}`\n\t\t});\n\t}\n\tif (hasUniqueIssue) for (const u of spec.uniques ?? []) {\n\t\tconst description = u.name ? `verify unique constraint \"${u.name}\" on \"${tableName}\"` : `verify unique constraint (${u.columns.join(\", \")}) on \"${tableName}\"`;\n\t\tchecks.push({\n\t\t\tdescription,\n\t\t\tsql: `SELECT EXISTS (SELECT 1 FROM pragma_index_list('${t}') l WHERE l.\"unique\" = 1 AND ${indexCoversExactly(u.columns)})`\n\t\t});\n\t}\n\tif (hasUniqueIssue) {\n\t\tconst expected = (spec.uniques ?? []).map((u) => `(${indexCoversExactly(u.columns)})`);\n\t\tchecks.push({\n\t\t\tdescription: `verify \"${tableName}\" has no unique constraint besides the expected ones`,\n\t\t\tsql: `SELECT NOT EXISTS (SELECT 1 FROM pragma_index_list('${t}') l WHERE l.origin = 'u' AND NOT (${expected.length === 0 ? \"0\" : expected.join(\" OR \")}))`\n\t\t});\n\t}\n\tif (hasFkIssue) {\n\t\tfor (const fk of spec.foreignKeys ?? []) {\n\t\t\tconst refTable = escapeLiteral(fk.references.table);\n\t\t\tconst colCount = fk.columns.length;\n\t\t\tconst tuples = fk.columns.map((from, i) => {\n\t\t\t\tconst to = fk.references.columns[i] ?? from;\n\t\t\t\treturn `('${escapeLiteral(from)}', '${escapeLiteral(to)}')`;\n\t\t\t}).join(\", \");\n\t\t\tconst description = `verify foreign key (${fk.columns.join(\", \")}) → ${fk.references.table}(${fk.references.columns.join(\", \")}) on \"${tableName}\"`;\n\t\t\tchecks.push({\n\t\t\t\tdescription,\n\t\t\t\tsql: `SELECT EXISTS (SELECT 1 FROM pragma_foreign_key_list('${t}') f WHERE f.\"table\" = '${refTable}' AND f.on_delete = '${referentialActionText(fk.onDelete)}' AND f.on_update = '${referentialActionText(fk.onUpdate)}' GROUP BY f.id HAVING COUNT(*) = ${colCount} AND SUM(CASE WHEN (f.\"from\", f.\"to\") IN (${tuples}) THEN 1 ELSE 0 END) = ${colCount})`\n\t\t\t});\n\t\t}\n\t\tconst expected = spec.foreignKeys?.length ?? 0;\n\t\tchecks.push({\n\t\t\tdescription: `verify \"${tableName}\" has exactly ${expected} foreign keys`,\n\t\t\tsql: `SELECT (SELECT COUNT(DISTINCT id) FROM pragma_foreign_key_list('${t}')) = ${expected}`\n\t\t});\n\t}\n\treturn checks;\n}\n//#endregion\n//#region src/core/migrations/op-factory-call.ts\nconst TARGET_MIGRATION_MODULE = \"@internal/sqlite/migration\";\nvar SqliteOpFactoryCallNode = class extends TsExpression {\n\t/** The operations this call lowers to, in order: one, unless the call carries companions. */\n\ttoOps(lowerer) {\n\t\treturn [this.toOp(lowerer)];\n\t}\n\timportRequirements() {\n\t\treturn [{\n\t\t\tmoduleSpecifier: TARGET_MIGRATION_MODULE,\n\t\t\tsymbol: this.factoryName\n\t\t}];\n\t}\n\tfreeze() {\n\t\tObject.freeze(this);\n\t}\n};\n/** Whether `call` is one of this target's calls, which lower through {@link SqliteOpFactoryCallNode.toOps}. */\nfunction isSqliteOpFactoryCall(call) {\n\treturn call instanceof SqliteOpFactoryCallNode;\n}\nfunction renderDdlColumnDefault(def, sql) {\n\tif (!def) return \"\";\n\tif (def.kind === \"literal\") return `lit(${jsonToTsSource(def.value)})`;\n\treturn `fn(${sql.source(def.expression.text)})`;\n}\nfunction renderDdlColumnAsTsCall(column, sql) {\n\tconst opts = [];\n\tif (column.notNull) opts.push(\"notNull: true\");\n\tif (column.primaryKey) opts.push(\"primaryKey: true\");\n\tif (column.default) opts.push(`default: ${renderDdlColumnDefault(column.default, sql)}`);\n\tif (column.codecRef) opts.push(`codecRef: ${jsonToTsSource(column.codecRef)}`);\n\tconst optsStr = opts.length > 0 ? `, { ${opts.join(\", \")} }` : \"\";\n\treturn `col(${jsonToTsSource(column.name)}, ${jsonToTsSource(column.type)}${optsStr})`;\n}\nfunction renderDdlConstraintAsTsCall(constraint) {\n\tswitch (constraint.kind) {\n\t\tcase \"primary-key\": {\n\t\t\tconst nameOpt = constraint.name ? `, { name: ${jsonToTsSource(constraint.name)} }` : \"\";\n\t\t\treturn `primaryKey(${jsonToTsSource(constraint.columns)}${nameOpt})`;\n\t\t}\n\t\tcase \"foreign-key\": {\n\t\t\tconst opts = [];\n\t\t\tif (constraint.name) opts.push(`name: ${jsonToTsSource(constraint.name)}`);\n\t\t\tif (constraint.onDelete) opts.push(`onDelete: ${jsonToTsSource(constraint.onDelete)}`);\n\t\t\tif (constraint.onUpdate) opts.push(`onUpdate: ${jsonToTsSource(constraint.onUpdate)}`);\n\t\t\tconst optsStr = opts.length > 0 ? `, { ${opts.join(\", \")} }` : \"\";\n\t\t\treturn `foreignKey(${jsonToTsSource(constraint.columns)}, ${jsonToTsSource(constraint.refTable)}, ${jsonToTsSource(constraint.refColumns)}${optsStr})`;\n\t\t}\n\t\tcase \"unique\": {\n\t\t\tconst nameOpt = constraint.name ? `, { name: ${jsonToTsSource(constraint.name)} }` : \"\";\n\t\t\treturn `unique(${jsonToTsSource(constraint.columns)}${nameOpt})`;\n\t\t}\n\t\tcase \"check-expression\": throw sqliteError(\"CONTRACT.CONSTRAINT_INVALID\", `The SQLite target does not support CHECK constraints (constraint \"${constraint.name}\"). The \"checkConstraint\" capability is Postgres-only — remove the \"@@check\" / \"check()\" declaration, or target Postgres.`, { meta: { constraintName: constraint.name } });\n\t}\n}\nfunction constraintImportSymbols(constraints) {\n\tif (!constraints || constraints.length === 0) return [];\n\tconst symbols = /* @__PURE__ */ new Set();\n\tfor (const c of constraints) if (c.kind === \"primary-key\") symbols.add(\"primaryKey\");\n\telse if (c.kind === \"foreign-key\") symbols.add(\"foreignKey\");\n\telse if (c.kind === \"unique\") symbols.add(\"unique\");\n\treturn [...symbols];\n}\nfunction defaultImportSymbols(columns) {\n\tconst symbols = /* @__PURE__ */ new Set();\n\tfor (const col of columns) if (col.default?.kind === \"literal\") symbols.add(\"lit\");\n\telse if (col.default?.kind === \"function\") symbols.add(\"fn\");\n\treturn [...symbols];\n}\nfunction columnShapesOf(columns, constraints) {\n\tconst primaryKey = constraints?.find((constraint) => constraint.kind === \"primary-key\");\n\treturn columns.map((column) => {\n\t\tif (column.type.endsWith(\" PRIMARY KEY AUTOINCREMENT\")) return {\n\t\t\tname: column.name,\n\t\t\ttypeSql: column.type.slice(0, -26),\n\t\t\tnotNull: false,\n\t\t\tprimaryKeyPosition: 1\n\t\t};\n\t\treturn {\n\t\t\tname: column.name,\n\t\t\ttypeSql: column.type,\n\t\t\tnotNull: column.notNull === true,\n\t\t\tprimaryKeyPosition: column.primaryKey ? 1 : (primaryKey?.columns.indexOf(column.name) ?? -1) + 1\n\t\t};\n\t});\n}\nvar CreateTableCall = class extends SqliteOpFactoryCallNode {\n\tfactoryName = \"createTable\";\n\toperationClass = \"additive\";\n\ttableName;\n\tcolumns;\n\tconstraints;\n\tlabel;\n\tconstructor(tableName, columns, constraints) {\n\t\tsuper();\n\t\tthis.tableName = tableName;\n\t\tthis.columns = Object.freeze([...columns]);\n\t\tthis.constraints = constraints ? Object.freeze([...constraints]) : void 0;\n\t\tthis.label = `Create table ${tableName}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw sqliteError(\"MIGRATION.SQLITE_CONTROL_STACK_MISSING\", `CreateTableCall.toOp: a DDL lowerer is required on the SQLite planner path (table \"${this.tableName}\"). Pass the control adapter to createSqliteMigrationPlanner.`, { meta: {\n\t\t\tfactory: this.factoryName,\n\t\t\ttableName: this.tableName\n\t\t} });\n\t\tconst ddlNode = createTable({\n\t\t\ttable: this.tableName,\n\t\t\tcolumns: this.columns,\n\t\t\t...ifDefined(\"constraints\", this.constraints)\n\t\t});\n\t\tconst statement = await lowerer.lowerToExecuteRequest(ddlNode);\n\t\tconst tableName = this.tableName;\n\t\tconst tableChecks = tableExistsAst(tableName);\n\t\tconst absent = await lowerer.lowerToExecuteRequest(tableChecks.tableAbsent());\n\t\tconst present = await lowerer.lowerToExecuteRequest(tableChecks.tablePresent());\n\t\treturn {\n\t\t\tid: `table.${tableName}`,\n\t\t\tlabel: `Create table ${tableName}`,\n\t\t\tsummary: `Creates table ${tableName} with required columns`,\n\t\t\toperationClass: \"additive\",\n\t\t\ttarget: {\n\t\t\t\tid: \"sqlite\",\n\t\t\t\tdetails: buildTargetDetails(\"table\", tableName)\n\t\t\t},\n\t\t\tprecheck: [step(`ensure table \"${tableName}\" does not exist`, absent.sql, absent.params, expectAbsent(`table \"${tableName}\"`))],\n\t\t\texecute: [{\n\t\t\t\tdescription: `create table \"${tableName}\"`,\n\t\t\t\tsql: statement.sql,\n\t\t\t\tparams: statement.params ?? []\n\t\t\t}],\n\t\t\tpostcheck: [step(`verify table \"${tableName}\" exists`, present.sql, present.params, expectPresent(`table \"${tableName}\"`)), tableColumnsCheck(tableName, columnShapesOf(this.columns, this.constraints))]\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\treturn this.#written().source;\n\t}\n\t#written() {\n\t\tconst sql = createSqlTextSources(TARGET_MIGRATION_MODULE);\n\t\tconst columnsList = this.columns.map((column) => renderDdlColumnAsTsCall(column, sql)).join(\", \");\n\t\tconst constraintsList = this.constraints ? this.constraints.map(renderDdlConstraintAsTsCall).join(\", \") : void 0;\n\t\tconst opts = [];\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`columns: [${columnsList}]`);\n\t\tif (constraintsList) opts.push(`constraints: [${constraintsList}]`);\n\t\treturn {\n\t\t\tsource: `this.createTable({ ${opts.join(\", \")} })`,\n\t\t\timports: sql.imports()\n\t\t};\n\t}\n\timportRequirements() {\n\t\tconst req = [];\n\t\tif (this.columns.length > 0) {\n\t\t\treq.push({\n\t\t\t\tmoduleSpecifier: TARGET_MIGRATION_MODULE,\n\t\t\t\tsymbol: \"col\"\n\t\t\t});\n\t\t\tfor (const sym of defaultImportSymbols(this.columns)) req.push({\n\t\t\t\tmoduleSpecifier: TARGET_MIGRATION_MODULE,\n\t\t\t\tsymbol: sym\n\t\t\t});\n\t\t}\n\t\tfor (const sym of constraintImportSymbols(this.constraints)) req.push({\n\t\t\tmoduleSpecifier: TARGET_MIGRATION_MODULE,\n\t\t\tsymbol: sym\n\t\t});\n\t\treq.push(...this.#written().imports);\n\t\treturn req;\n\t}\n};\nvar DropTableCall = class extends SqliteOpFactoryCallNode {\n\tfactoryName = \"dropTable\";\n\toperationClass = \"destructive\";\n\ttableName;\n\tlabel;\n\tconstructor(tableName) {\n\t\tsuper();\n\t\tthis.tableName = tableName;\n\t\tthis.label = `Drop table ${tableName}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw sqliteError(\"MIGRATION.SQLITE_CONTROL_STACK_MISSING\", `DropTableCall.toOp: a lowerer is required on the SQLite planner path (table \"${this.tableName}\"). Pass the control adapter to createSqliteMigrationPlanner.`, { meta: {\n\t\t\tfactory: this.factoryName,\n\t\t\ttableName: this.tableName\n\t\t} });\n\t\tconst checks = tableExistsAst(this.tableName);\n\t\tconst present = await lowerer.lowerToExecuteRequest(checks.tablePresent());\n\t\tconst absent = await lowerer.lowerToExecuteRequest(checks.tableAbsent());\n\t\treturn {\n\t\t\tid: `dropTable.${this.tableName}`,\n\t\t\tlabel: `Drop table ${this.tableName}`,\n\t\t\tsummary: `Drops table ${this.tableName} which is not in the contract`,\n\t\t\toperationClass: \"destructive\",\n\t\t\ttarget: {\n\t\t\t\tid: \"sqlite\",\n\t\t\t\tdetails: buildTargetDetails(\"table\", this.tableName)\n\t\t\t},\n\t\t\tprecheck: [step(`ensure table \"${this.tableName}\" exists`, present.sql, present.params, expectPresent(`table \"${this.tableName}\"`))],\n\t\t\texecute: [step(`drop table \"${this.tableName}\"`, `DROP TABLE ${quoteIdentifier(this.tableName)}`)],\n\t\t\tpostcheck: [step(`verify table \"${this.tableName}\" is gone`, absent.sql, absent.params, expectAbsent(`table \"${this.tableName}\"`))]\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\treturn `this.dropTable({ table: ${jsonToTsSource(this.tableName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\n/** The replaced indexes' drops, then their creates, since a create may take a dropped name. */\nfunction indexReplacementCalls(replacements) {\n\treturn [...replacements.map(({ drop }) => drop), ...replacements.map(({ create }) => create)];\n}\nvar RenameTableCall = class extends SqliteOpFactoryCallNode {\n\tfactoryName = \"renameTable\";\n\toperationClass = \"widening\";\n\toldTableName;\n\t/** The new name: the table's contract-side identity after the rename. */\n\ttableName;\n\tlabel;\n\t/** The indexes named after the old table, which SQLite cannot rename, so it replaces them. */\n\tindexReplacements;\n\t/**\n\t* The replacements' drops, then their creates. They run after the table rename and are never\n\t* rendered on their own.\n\t*/\n\tcompanions;\n\tconstructor(oldTableName, tableName, indexReplacements) {\n\t\tsuper();\n\t\tthis.oldTableName = oldTableName;\n\t\tthis.tableName = tableName;\n\t\tthis.label = `Rename table ${oldTableName} to ${tableName}`;\n\t\tthis.indexReplacements = Object.freeze([...indexReplacements]);\n\t\tthis.companions = Object.freeze(indexReplacementCalls(indexReplacements));\n\t\tthis.freeze();\n\t}\n\t/** The id of the operation this call lowers to. */\n\tget operationId() {\n\t\treturn `renameTable.${this.oldTableName}`;\n\t}\n\ttoOps(lowerer) {\n\t\treturn [this.toOp(lowerer), ...this.companions.map((companion) => companion.toOp(lowerer))];\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw sqliteError(\"MIGRATION.SQLITE_CONTROL_STACK_MISSING\", `RenameTableCall.toOp: a lowerer is required on the SQLite planner path (table \"${this.oldTableName}\"). Pass the control adapter to createSqliteMigrationPlanner.`, { meta: {\n\t\t\tfactory: this.factoryName,\n\t\t\ttableName: this.oldTableName\n\t\t} });\n\t\tconst fromChecks = tableExistsAst(this.oldTableName);\n\t\tconst toChecks = tableExistsAst(this.tableName);\n\t\tconst fromPresent = await lowerer.lowerToExecuteRequest(fromChecks.tablePresent());\n\t\tconst onlyCase = renameChangesOnlyCase(this.oldTableName, this.tableName);\n\t\tconst toAbsent = await lowerer.lowerToExecuteRequest(onlyCase ? toChecks.tableAbsent() : tableNameTakenAst(this.tableName).nameFree());\n\t\tconst viaName = renameTableViaName(this.tableName);\n\t\tconst viaAbsent = onlyCase ? await lowerer.lowerToExecuteRequest(tableExistsAst(viaName).tableAbsent()) : void 0;\n\t\tconst toPresent = await lowerer.lowerToExecuteRequest(toChecks.tablePresent());\n\t\tconst fromAbsent = await lowerer.lowerToExecuteRequest(fromChecks.tableAbsent());\n\t\treturn {\n\t\t\tid: this.operationId,\n\t\t\tlabel: this.label,\n\t\t\tsummary: `Renames table ${this.oldTableName} to ${this.tableName}, keeping its rows`,\n\t\t\toperationClass: \"widening\",\n\t\t\ttarget: {\n\t\t\t\tid: \"sqlite\",\n\t\t\t\tdetails: buildTargetDetails(\"table\", this.tableName)\n\t\t\t},\n\t\t\tprecheck: [\n\t\t\t\tstep(`ensure table \"${this.oldTableName}\" exists`, fromPresent.sql, fromPresent.params, expectPresent(`table \"${this.oldTableName}\"`)),\n\t\t\t\tstep(onlyCase ? `ensure table \"${this.tableName}\" does not exist` : `ensure no table or index is named \"${this.tableName}\" in any case`, toAbsent.sql, toAbsent.params, expectAbsent(onlyCase ? `table \"${this.tableName}\"` : `a table or index named \"${this.tableName}\" in any case`)),\n\t\t\t\t...viaAbsent === void 0 ? [] : [step(`ensure table \"${viaName}\" does not exist (a rename that only changes case passes through this temporary name, because SQLite compares table names without case)`, viaAbsent.sql, viaAbsent.params, expectAbsent(`table \"${viaName}\"`))]\n\t\t\t],\n\t\t\texecute: renameTableSteps(this.oldTableName, this.tableName),\n\t\t\tpostcheck: [step(`verify table \"${this.tableName}\" exists`, toPresent.sql, toPresent.params, expectPresent(`table \"${this.tableName}\"`)), step(`verify table \"${this.oldTableName}\" no longer exists`, fromAbsent.sql, fromAbsent.params, expectAbsent(`table \"${this.oldTableName}\"`))]\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\treturn `...this.renameTable({ table: ${jsonToTsSource(this.oldTableName)}, to: ${jsonToTsSource(this.tableName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar RenameColumnCall = class extends SqliteOpFactoryCallNode {\n\tfactoryName = \"renameColumn\";\n\toperationClass = \"widening\";\n\ttableName;\n\toldColumnName;\n\t/** The new name: the column's contract-side identity after the rename. */\n\tcolumnName;\n\tlabel;\n\t/** The indexes on the column whose wire names change, which SQLite cannot rename. */\n\tindexReplacements;\n\t/**\n\t* The replacements' drops, then their creates. They run after the column rename and are never\n\t* rendered on their own.\n\t*/\n\tcompanions;\n\tconstructor(tableName, oldColumnName, columnName, indexReplacements) {\n\t\tsuper();\n\t\tthis.tableName = tableName;\n\t\tthis.oldColumnName = oldColumnName;\n\t\tthis.columnName = columnName;\n\t\tthis.label = `Rename column ${oldColumnName} on ${tableName} to ${columnName}`;\n\t\tthis.indexReplacements = Object.freeze([...indexReplacements]);\n\t\tthis.companions = Object.freeze(indexReplacementCalls(indexReplacements));\n\t\tthis.freeze();\n\t}\n\ttoOps(lowerer) {\n\t\treturn [this.toOp(lowerer), ...this.companions.map((companion) => companion.toOp(lowerer))];\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw sqliteError(\"MIGRATION.SQLITE_CONTROL_STACK_MISSING\", `RenameColumnCall.toOp: a lowerer is required on the SQLite planner path (column \"${this.oldColumnName}\" on table \"${this.tableName}\"). Pass the control adapter to createSqliteMigrationPlanner.`, { meta: {\n\t\t\tfactory: this.factoryName,\n\t\t\ttableName: this.tableName\n\t\t} });\n\t\treturn renameColumn(this.tableName, this.oldColumnName, this.columnName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `...this.renameColumn({ table: ${jsonToTsSource(this.tableName)}, column: ${jsonToTsSource(this.oldColumnName)}, to: ${jsonToTsSource(this.columnName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nfunction refuseUnsafeCopyExpressions(tableName, option, expressions) {\n\tfor (const [column, expression] of Object.entries(expressions)) {\n\t\tif (expression.kind !== \"sql\") continue;\n\t\tconst refused = checkSqlExpressionText(expression.sql, SQLITE_QUOTING);\n\t\tif (refused === void 0) continue;\n\t\tconst call = `recreateTable({ tableName: ${jsonToTsSource(tableName)} })`;\n\t\tthrow sqliteError(\"MIGRATION.SQL_EXPRESSION_INVALID\", `${call}: ${option}.${column} ${JSON.stringify(expression.sql)} holds ${refused}, which could end or extend the INSERT … SELECT statement it is written into`, {\n\t\t\twhy: \"A copy expression or a temporary value is written into the SELECT that copies the rows into the rebuilt table. The check refuses a semicolon, a SQL comment, dollar quoting, and a comma or a statement keyword outside parentheses, since each could end or extend that statement; it does not check that the text is valid SQL.\",\n\t\t\tfix: `Write ${option}.${column} as one SQL expression over the old table's columns, such as CAST(\"${column}\" AS INTEGER). If it holds a comma or a keyword such as FROM outside parentheses, wrap it in parentheses.`,\n\t\t\tmeta: {\n\t\t\t\tcall,\n\t\t\t\tfield: `${option}.${column}`,\n\t\t\t\texpression: expression.sql,\n\t\t\t\trefused\n\t\t\t}\n\t\t});\n\t}\n}\nfunction refuseUnknownCopyExpressionColumns(tableName, contractTable, named) {\n\tconst columns = contractTable.columns.map((column) => column.name);\n\tconst unknown = [\n\t\t...Object.keys(named.copyExpressions).map((key) => ({\n\t\t\toption: `copyExpressions.${key}`,\n\t\t\tkey\n\t\t})),\n\t\t...Object.keys(named.temporaryValues).map((key) => ({\n\t\t\toption: `temporaryValues.${key}`,\n\t\t\tkey\n\t\t})),\n\t\t...named.retypedColumns.map((key) => ({\n\t\t\toption: `retypedColumns entry ${JSON.stringify(key)}`,\n\t\t\tkey\n\t\t}))\n\t].find(({ key }) => !columns.includes(key));\n\tif (unknown === void 0) return;\n\tconst call = `recreateTable({ tableName: ${jsonToTsSource(tableName)} })`;\n\tthrow sqliteError(\"MIGRATION.COPY_EXPRESSION_COLUMN_UNKNOWN\", `${call}: ${unknown.option} names no column of the new table. Its columns are ${columns.map((column) => JSON.stringify(column)).join(\", \")}.`, {\n\t\twhy: \"Each key of copyExpressions and temporaryValues, and each entry of retypedColumns, names a column of the new table. One that names no column applies to nothing, so the column meant would be copied unchanged or left without a value, or its values would go unchecked.\",\n\t\tfix: \"Name a column in contractTable.columns, with the same letters and case.\",\n\t\tmeta: {\n\t\t\tcall,\n\t\t\tkey: unknown.key,\n\t\t\tcolumns\n\t\t}\n\t});\n}\n/**\n* A temporary value fills a column the old table does not have, and only that: for a column the\n* old table has it would replace every existing value, and a column with a copy expression is\n* already filled by its conversion.\n*/\nfunction refuseMisplacedTemporaryValues(tableName, schemaColumnNames, copyExpressions, temporaryValues) {\n\tconst call = `recreateTable({ tableName: ${jsonToTsSource(tableName)} })`;\n\tfor (const column of Object.keys(temporaryValues)) {\n\t\tif (schemaColumnNames.includes(column)) throw sqliteError(\"MIGRATION.TEMPORARY_VALUE_INVALID\", `${call}: temporaryValues.${column} names a column the old table already has, so the copy would replace every value of it.`, {\n\t\t\twhy: \"A temporary value fills a new column in the existing rows. A column the old table has keeps its values through the copy, or is converted by a copy expression.\",\n\t\t\tfix: `Remove temporaryValues.${column}. To change the values of \"${column}\", write a conversion in copyExpressions.${column} instead.`,\n\t\t\tmeta: {\n\t\t\t\tcall,\n\t\t\t\tcolumn,\n\t\t\t\treason: \"existingColumn\"\n\t\t\t}\n\t\t});\n\t\tif (Object.hasOwn(copyExpressions, column)) throw sqliteError(\"MIGRATION.TEMPORARY_VALUE_INVALID\", `${call}: \"${column}\" is named in both copyExpressions and temporaryValues, so it would be filled twice.`, {\n\t\t\twhy: \"A column is filled either by the conversion in copyExpressions or by a temporary value, not both.\",\n\t\t\tfix: `Keep one of copyExpressions.${column} and temporaryValues.${column}.`,\n\t\t\tmeta: {\n\t\t\t\tcall,\n\t\t\t\tcolumn,\n\t\t\t\treason: \"alsoConverted\"\n\t\t\t}\n\t\t});\n\t}\n}\nfunction sqlOfSlots(slots) {\n\treturn Object.fromEntries(Object.entries(slots).flatMap(([column, slot]) => {\n\t\tconst sql = sqlOfSlot(slot);\n\t\treturn sql === void 0 ? [] : [[column, sql]];\n\t}));\n}\nvar RecreateTableCall = class extends SqliteOpFactoryCallNode {\n\tfactoryName = \"recreateTable\";\n\toperationClass;\n\ttableName;\n\tcontractTable;\n\tschemaColumnNames;\n\tindexes;\n\tsummary;\n\tpostchecks;\n\tlabel;\n\t/** The conversion each named column of the new table is copied through, in place of the live column. */\n\tcopyExpressions;\n\t/** The value each named new column takes in the existing rows. */\n\ttemporaryValues;\n\t/** The columns whose type changes; the rebuild checks each after its copy, as a conversion when it has a copy expression and as SQLite's cast otherwise. */\n\tretypedColumns;\n\tconstructor(args) {\n\t\tsuper();\n\t\trefuseUnsafeCopyExpressions(args.tableName, \"copyExpressions\", args.copyExpressions ?? {});\n\t\trefuseUnsafeCopyExpressions(args.tableName, \"temporaryValues\", args.temporaryValues ?? {});\n\t\trefuseUnknownCopyExpressionColumns(args.tableName, args.contractTable, {\n\t\t\tcopyExpressions: args.copyExpressions ?? {},\n\t\t\ttemporaryValues: args.temporaryValues ?? {},\n\t\t\tretypedColumns: args.retypedColumns ?? []\n\t\t});\n\t\trefuseMisplacedTemporaryValues(args.tableName, args.schemaColumnNames, args.copyExpressions ?? {}, args.temporaryValues ?? {});\n\t\tthis.copyExpressions = Object.freeze({ ...args.copyExpressions });\n\t\tthis.temporaryValues = Object.freeze({ ...args.temporaryValues });\n\t\tthis.retypedColumns = Object.freeze([...args.retypedColumns ?? []]);\n\t\tthis.tableName = args.tableName;\n\t\tthis.contractTable = args.contractTable;\n\t\tthis.schemaColumnNames = args.schemaColumnNames;\n\t\tthis.indexes = args.indexes;\n\t\tthis.summary = args.summary;\n\t\tthis.postchecks = args.postchecks;\n\t\tthis.operationClass = args.operationClass;\n\t\tthis.label = `Recreate table ${args.tableName}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw sqliteError(\"MIGRATION.SQLITE_CONTROL_STACK_MISSING\", `RecreateTableCall.toOp: a lowerer is required on the SQLite planner path (table \"${this.tableName}\"). Pass the control adapter to createSqliteMigrationPlanner.`, { meta: {\n\t\t\tfactory: this.factoryName,\n\t\t\ttableName: this.tableName\n\t\t} });\n\t\tconst copies = Object.entries(this.copyExpressions);\n\t\tif (copies.some(([, expression]) => isUnfilledSlot(expression))) return unfilledPlaceholderOperation(this.label);\n\t\treturn recreateTable({\n\t\t\ttableName: this.tableName,\n\t\t\tcontractTable: this.contractTable,\n\t\t\tschemaColumnNames: this.schemaColumnNames,\n\t\t\tindexes: this.indexes,\n\t\t\tsummary: this.summary,\n\t\t\tpostchecks: this.postchecks,\n\t\t\toperationClass: this.operationClass,\n\t\t\tretypedColumns: this.retypedColumns,\n\t\t\t...copies.length === 0 ? {} : { copyExpressions: sqlOfSlots(this.copyExpressions) },\n\t\t\t...Object.keys(this.temporaryValues).length === 0 ? {} : { temporaryValues: sqlOfSlots(this.temporaryValues) }\n\t\t}, lowerer);\n\t}\n\t#slotsSource(slots, sql) {\n\t\treturn `{ ${Object.entries(slots).map(([column, expression]) => `${jsonToTsSource(column)}: ${slotSource(expression, sql)}`).join(\", \")} }`;\n\t}\n\trenderTypeScript() {\n\t\treturn this.#written().source;\n\t}\n\timportRequirements() {\n\t\treturn [...Object.values(this.copyExpressions).some(isUnfilledSlot) ? [{\n\t\t\tmoduleSpecifier: TARGET_MIGRATION_MODULE,\n\t\t\tsymbol: \"placeholder\"\n\t\t}] : [], ...this.#written().imports];\n\t}\n\t#written() {\n\t\tconst sql = createSqlTextSources(TARGET_MIGRATION_MODULE);\n\t\treturn {\n\t\t\tsource: `this.recreateTable(${tsObjectSource([\n\t\t\t\t[\"tableName\", jsonToTsSource(this.tableName)],\n\t\t\t\t[\"contractTable\", renderTableSpec(this.contractTable, sql)],\n\t\t\t\t[\"schemaColumnNames\", jsonToTsSource(this.schemaColumnNames)],\n\t\t\t\t[\"indexes\", jsonToTsSource(this.indexes)],\n\t\t\t\t[\"summary\", jsonToTsSource(this.summary)],\n\t\t\t\t[\"postchecks\", tsArraySource(this.postchecks.map(renderPostcheck))],\n\t\t\t\t[\"operationClass\", jsonToTsSource(this.operationClass)],\n\t\t\t\t...Object.keys(this.copyExpressions).length === 0 ? [] : [[\"copyExpressions\", this.#slotsSource(this.copyExpressions, sql)]],\n\t\t\t\t...Object.keys(this.temporaryValues).length === 0 ? [] : [[\"temporaryValues\", this.#slotsSource(this.temporaryValues, sql)]],\n\t\t\t\t...this.retypedColumns.length === 0 ? [] : [[\"retypedColumns\", jsonToTsSource(this.retypedColumns)]]\n\t\t\t])})`,\n\t\t\timports: sql.imports()\n\t\t};\n\t}\n};\nvar AddColumnCall = class extends SqliteOpFactoryCallNode {\n\tfactoryName = \"addColumn\";\n\toperationClass = \"additive\";\n\ttableName;\n\tcolumnName;\n\tcolumn;\n\tlabel;\n\tconstructor(tableName, column) {\n\t\tsuper();\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = column.name;\n\t\tthis.column = column;\n\t\tthis.label = `Add column ${column.name} on ${tableName}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw sqliteError(\"MIGRATION.SQLITE_CONTROL_STACK_MISSING\", `AddColumnCall.toOp: a lowerer is required on the SQLite planner path (column \"${this.column.name}\" on table \"${this.tableName}\"). Pass the control adapter to createSqliteMigrationPlanner.`, { meta: {\n\t\t\tfactory: this.factoryName,\n\t\t\ttableName: this.tableName,\n\t\t\tcolumnName: this.column.name\n\t\t} });\n\t\treturn addColumn(this.tableName, this.column, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn this.#written().source;\n\t}\n\timportRequirements() {\n\t\treturn this.#written().imports;\n\t}\n\t#written() {\n\t\tconst sql = createSqlTextSources(TARGET_MIGRATION_MODULE);\n\t\treturn {\n\t\t\tsource: `this.addColumn({ table: ${jsonToTsSource(this.tableName)}, column: ${renderColumnSpec(this.column, sql)} })`,\n\t\t\timports: sql.imports()\n\t\t};\n\t}\n};\nvar DropColumnCall = class extends SqliteOpFactoryCallNode {\n\tfactoryName = \"dropColumn\";\n\toperationClass = \"destructive\";\n\ttableName;\n\tcolumnName;\n\tlabel;\n\tconstructor(tableName, columnName) {\n\t\tsuper();\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.label = `Drop column ${columnName} on ${tableName}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw sqliteError(\"MIGRATION.SQLITE_CONTROL_STACK_MISSING\", `DropColumnCall.toOp: a lowerer is required on the SQLite planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createSqliteMigrationPlanner.`, { meta: {\n\t\t\tfactory: this.factoryName,\n\t\t\ttableName: this.tableName,\n\t\t\tcolumnName: this.columnName\n\t\t} });\n\t\tconst checks = columnExistsAst(this.tableName, this.columnName);\n\t\tconst present = await lowerer.lowerToExecuteRequest(checks.columnPresent());\n\t\tconst absent = await lowerer.lowerToExecuteRequest(checks.columnAbsent());\n\t\treturn {\n\t\t\tid: `dropColumn.${this.tableName}.${this.columnName}`,\n\t\t\tlabel: `Drop column ${this.columnName} on ${this.tableName}`,\n\t\t\tsummary: `Drops column ${this.columnName} on ${this.tableName} which is not in the contract`,\n\t\t\toperationClass: \"destructive\",\n\t\t\ttarget: {\n\t\t\t\tid: \"sqlite\",\n\t\t\t\tdetails: buildTargetDetails(\"column\", this.columnName, this.tableName)\n\t\t\t},\n\t\t\tprecheck: [step(`ensure column \"${this.columnName}\" exists on \"${this.tableName}\"`, present.sql, present.params, expectPresent(`column \"${this.columnName}\" on \"${this.tableName}\"`))],\n\t\t\texecute: [step(`drop column \"${this.columnName}\" from \"${this.tableName}\"`, dropColumnExecuteSql(this.tableName, this.columnName))],\n\t\t\tpostcheck: [step(`verify column \"${this.columnName}\" is gone from \"${this.tableName}\"`, absent.sql, absent.params, expectAbsent(`column \"${this.columnName}\" on \"${this.tableName}\"`))]\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\treturn `this.dropColumn({ table: ${jsonToTsSource(this.tableName)}, column: ${jsonToTsSource(this.columnName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar CreateIndexCall = class extends SqliteOpFactoryCallNode {\n\tfactoryName = \"createIndex\";\n\toperationClass = \"additive\";\n\ttableName;\n\tindexName;\n\tcolumns;\n\tlabel;\n\tconstructor(tableName, indexName, columns) {\n\t\tsuper();\n\t\tthis.tableName = tableName;\n\t\tthis.indexName = indexName;\n\t\tthis.columns = columns;\n\t\tthis.label = `Create index ${indexName} on ${tableName}`;\n\t\tthis.freeze();\n\t}\n\t/** The id of the operation this call lowers to. */\n\tget operationId() {\n\t\treturn `index.${this.tableName}.${this.indexName}`;\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw sqliteError(\"MIGRATION.SQLITE_CONTROL_STACK_MISSING\", `CreateIndexCall.toOp: a lowerer is required on the SQLite planner path (index \"${this.indexName}\" on table \"${this.tableName}\"). Pass the control adapter to createSqliteMigrationPlanner.`, { meta: {\n\t\t\tfactory: this.factoryName,\n\t\t\ttableName: this.tableName,\n\t\t\tindexName: this.indexName\n\t\t} });\n\t\tconst checks = indexExistsAst(this.indexName);\n\t\tconst absent = await lowerer.lowerToExecuteRequest(checks.indexAbsent());\n\t\tconst present = await lowerer.lowerToExecuteRequest(checks.indexPresent());\n\t\treturn {\n\t\t\tid: this.operationId,\n\t\t\tlabel: `Create index ${this.indexName} on ${this.tableName}`,\n\t\t\tsummary: `Creates index ${this.indexName} on ${this.tableName}`,\n\t\t\toperationClass: \"additive\",\n\t\t\ttarget: {\n\t\t\t\tid: \"sqlite\",\n\t\t\t\tdetails: buildTargetDetails(\"index\", this.indexName, this.tableName)\n\t\t\t},\n\t\t\tprecheck: [step(`ensure index \"${this.indexName}\" is missing`, absent.sql, absent.params, expectAbsent(`index \"${this.indexName}\"`))],\n\t\t\texecute: [step(`create index \"${this.indexName}\"`, buildCreateIndexSql(this.tableName, this.indexName, this.columns))],\n\t\t\tpostcheck: [step(`verify index \"${this.indexName}\" exists`, present.sql, present.params, expectPresent(`index \"${this.indexName}\"`)), indexDefinitionCheck(this.tableName, this.indexName, this.columns, false)]\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\treturn `this.createIndex({ table: ${jsonToTsSource(this.tableName)}, index: ${jsonToTsSource(this.indexName)}, columns: ${jsonToTsSource(this.columns)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropIndexCall = class extends SqliteOpFactoryCallNode {\n\tfactoryName = \"dropIndex\";\n\toperationClass = \"widening\";\n\ttableName;\n\tindexName;\n\tlabel;\n\tconstructor(tableName, indexName) {\n\t\tsuper();\n\t\tthis.tableName = tableName;\n\t\tthis.indexName = indexName;\n\t\tthis.label = `Drop index ${indexName} on ${tableName}`;\n\t\tthis.freeze();\n\t}\n\t/** The id of the operation this call lowers to. */\n\tget operationId() {\n\t\treturn `dropIndex.${this.tableName}.${this.indexName}`;\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw sqliteError(\"MIGRATION.SQLITE_CONTROL_STACK_MISSING\", `DropIndexCall.toOp: a lowerer is required on the SQLite planner path (index \"${this.indexName}\" on table \"${this.tableName}\"). Pass the control adapter to createSqliteMigrationPlanner.`, { meta: {\n\t\t\tfactory: this.factoryName,\n\t\t\ttableName: this.tableName,\n\t\t\tindexName: this.indexName\n\t\t} });\n\t\tconst checks = indexExistsAst(this.indexName);\n\t\tconst present = await lowerer.lowerToExecuteRequest(checks.indexPresent());\n\t\tconst absent = await lowerer.lowerToExecuteRequest(checks.indexAbsent());\n\t\treturn {\n\t\t\tid: this.operationId,\n\t\t\tlabel: `Drop index ${this.indexName} on ${this.tableName}`,\n\t\t\tsummary: `Drops index ${this.indexName} on ${this.tableName} which is not in the contract`,\n\t\t\toperationClass: \"widening\",\n\t\t\ttarget: {\n\t\t\t\tid: \"sqlite\",\n\t\t\t\tdetails: buildTargetDetails(\"index\", this.indexName, this.tableName)\n\t\t\t},\n\t\t\tprecheck: [step(`ensure index \"${this.indexName}\" exists`, present.sql, present.params, expectPresent(`index \"${this.indexName}\"`))],\n\t\t\texecute: [step(`drop index \"${this.indexName}\"`, buildDropIndexSql(this.indexName))],\n\t\t\tpostcheck: [step(`verify index \"${this.indexName}\" is gone`, absent.sql, absent.params, expectAbsent(`index \"${this.indexName}\"`))]\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\treturn `this.dropIndex({ table: ${jsonToTsSource(this.tableName)}, index: ${jsonToTsSource(this.indexName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\n/**\n* A planner-generated data-transform stub. The current default strategy\n* (`nullabilityTighteningBackfillStrategy`) emits one of these with a\n* backfill-flavored `id`/`label` when the policy allows `'data'` and the\n* contract tightens a column's nullability, but the op itself is generic —\n* any future strategy that needs a placeholder data step can construct one\n* with its own id/label.\n*\n* `toOp()` always rejects with `MIGRATION.UNFILLED_PLACEHOLDER`: the planner cannot lower a stubbed\n* transform to a runtime op — the user must edit the rendered\n* `migration.ts` and re-emit.\n*/\nvar DataTransformCall = class extends SqliteOpFactoryCallNode {\n\tfactoryName = \"dataTransform\";\n\toperationClass = \"data\";\n\tid;\n\tlabel;\n\ttableName;\n\tcolumnName;\n\t/** The slot the user fills with the statement that fills the column: `<Model.field>:run`. */\n\tslot;\n\tconstructor(id, label, tableName, columnName, slot) {\n\t\tsuper();\n\t\tthis.id = id;\n\t\tthis.label = label;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.slot = slot;\n\t\tthis.freeze();\n\t}\n\ttoOp(_lowerer) {\n\t\treturn unfilledPlaceholderOperation(this.label);\n\t}\n\trenderTypeScript() {\n\t\tconst slot = this.slot;\n\t\treturn [\n\t\t\t\"dataTransform({\",\n\t\t\t` id: ${jsonToTsSource(this.id)},`,\n\t\t\t` label: ${jsonToTsSource(this.label)},`,\n\t\t\t` table: ${jsonToTsSource(this.tableName)},`,\n\t\t\t` description: ${jsonToTsSource(`Backfill NULL ${this.columnName} values in ${this.tableName}`)},`,\n\t\t\t` run: () => placeholder(${jsonToTsSource(slot)}),`,\n\t\t\t\"})\"\n\t\t].join(\"\\n\");\n\t}\n\timportRequirements() {\n\t\treturn [{\n\t\t\tmoduleSpecifier: TARGET_MIGRATION_MODULE,\n\t\t\tsymbol: this.factoryName\n\t\t}, {\n\t\t\tmoduleSpecifier: TARGET_MIGRATION_MODULE,\n\t\t\tsymbol: \"placeholder\"\n\t\t}];\n\t}\n};\n/**\n* Laundered pre-built operation. Mirrors Postgres's `RawSqlCall`: wraps an\n* already-materialized `SqlMigrationPlanOperation` (typically produced by a\n* SQL-family helper or a codec lifecycle hook) so the planner can carry it\n* alongside structured call IR. `toOp()` returns the stored op unchanged;\n* `renderTypeScript()` emits `rawSql({...})` with the op serialized as a\n* JSON literal — round-tripping requires every field on the op to be\n* JSON-serializable (no closures).\n*/\nvar RawSqlCall = class extends SqliteOpFactoryCallNode {\n\tfactoryName = \"rawSql\";\n\toperationClass;\n\tlabel;\n\top;\n\tconstructor(op) {\n\t\tsuper();\n\t\tthis.op = op;\n\t\tthis.label = op.label;\n\t\tthis.operationClass = op.operationClass;\n\t\tthis.freeze();\n\t}\n\ttoOp(_lowerer) {\n\t\treturn this.op;\n\t}\n\trenderTypeScript() {\n\t\treturn `rawSql(${jsonToTsSource(this.op)})`;\n\t}\n};\nfunction definedSourceEntries(sources) {\n\treturn Object.entries(sources).flatMap(([key, source]) => source === void 0 ? [] : [[key, source]]);\n}\nfunction renderIfDefined(value) {\n\treturn value === void 0 ? void 0 : jsonToTsSource(value);\n}\nfunction renderColumnSpec(column, sql) {\n\treturn tsObjectSource(definedSourceEntries({\n\t\tname: jsonToTsSource(column.name),\n\t\ttypeSql: jsonToTsSource(column.typeSql),\n\t\tdefault: column.default === void 0 ? void 0 : renderSpecDefault(column.default, sql),\n\t\tcodecRef: renderIfDefined(column.codecRef),\n\t\tnullable: jsonToTsSource(column.nullable),\n\t\tinlineAutoincrementPrimaryKey: renderIfDefined(column.inlineAutoincrementPrimaryKey)\n\t}));\n}\nfunction renderTableSpec(table, sql) {\n\treturn tsObjectSource(definedSourceEntries({\n\t\tcolumns: tsArraySource(table.columns.map((column) => renderColumnSpec(column, sql))),\n\t\tprimaryKey: renderIfDefined(table.primaryKey),\n\t\tuniques: renderIfDefined(table.uniques),\n\t\tforeignKeys: renderIfDefined(table.foreignKeys)\n\t}));\n}\nfunction renderSpecDefault(columnDefault, sql) {\n\tif (columnDefault.kind === \"literal\") return jsonToTsSource(columnDefault);\n\treturn tsObjectSource(definedSourceEntries({\n\t\tkind: jsonToTsSource(columnDefault.kind),\n\t\texpression: sql.source(columnDefault.expression)\n\t}));\n}\nfunction renderPostcheck(postcheck) {\n\tif (\"sql\" in postcheck) return tsObjectSource(definedSourceEntries({\n\t\tdescription: jsonToTsSource(postcheck.description),\n\t\tsql: tsQuotedTextSource(postcheck.sql),\n\t\trequiredColumn: postcheck.requiredColumn === void 0 ? void 0 : jsonToTsSource(postcheck.requiredColumn)\n\t}));\n\treturn tsObjectSource(definedSourceEntries({\n\t\tdescription: jsonToTsSource(postcheck.description),\n\t\tcolumnDefault: jsonToTsSource(postcheck.columnDefault)\n\t}));\n}\n//#endregion\nexport { sqliteIdentifiersCollide as C, step as S, conversionCopyOf as _, DropColumnCall as a, INLINE_AUTOINCREMENT_PRIMARY_KEY as b, RawSqlCall as c, RenameTableCall as d, indexReplacementCalls as f, buildRecreateSummary as g, buildRecreatePostchecks as h, DataTransformCall as i, RecreateTableCall as l, affinityStorageClasses as m, CreateIndexCall as n, DropIndexCall as o, isSqliteOpFactoryCall as p, CreateTableCall as r, DropTableCall as s, AddColumnCall as t, RenameColumnCall as u, rebuiltTableName as v, sqliteDefaultToDdlColumnDefault as x, renameTableSteps as y };\n\n//# sourceMappingURL=op-factory-call-ISQk93c4.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pack-D0meKqcr.d.mts","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/pack.d.mts"],"mappings":"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cAAc;KAChH,aAAa;WACP;WACA,QAAQ;;WAER;WACA,QAAQ;;WAER;WACA,QAAQ;;WAER;WACA,QAAQ;;WAER;WACA,QAAQ;;WAER;;WAEA;WACA;;UAED;EACR,eAAe,MAAM,aAAa;EAClC,cAAc,MAAM,aAAa;EACjC,QAAQ,MAAM,aAAa;;;;cAIf;WACH;WACA;WACA;aACE;eACE;iBACE;iBACA;iBACA;mBACE;;;eAGJ;iBACE;mBACE;mBACA;mBACA;qBACE;uBACE;;qBAEF;uBACE;uBACA;;;;iBAIN;mBACE;mBACA;mBACA;qBACE;uBACE;;qBAEF;uBACE;uBACA;;qBAEF;uBACE;uBACA;;;;;eAKR;iBACE;mBACE;mBACA;mBACA;qBACE;qBACA;qBACA;;mBAEF;qBACE;qBACA;uBACE;yBACE;yBACA;;;;;;eAMV;iBACE;iBACA;iBACA;mBACE;;;eAGJ;iBACE;iBACA;iBACA;mBACE;;;eAGJ;iBACE;iBACA;iBACA;mBACE;;;eAGJ;iBACE;iBACA;iBACA;mBACE;;;eAGJ;iBACE;iBACA;iBACA;mBACE;;;eAGJ;iBACE;iBACA;iBACA;mBACE;;;eAGJ;iBACE;iBACA;iBACA;mBACE;;;eAGJ;iBACE;iBACA;iBACA;mBACE;;;;aAIN;eACE;iBACE;mBACE;mBACA;qBACE;qBACA;qBACA;qBACA;;qBAEA;qBACA;qBACA;qBACA;;mBAEF,QAAQ;qBACN;;qBAEA;;qBAEA;uBACE;yBACE;yBACA;yBACA;2BACE;6BACE;6BACA;;;;uBAIN;yBACE;yBACA;yBACA;2BACE;6BACE;6BACA;;;;;;;iBAOZ;mBACE;mBACA,QAAQ;qBACN;;qBAEA;;qBAEA;uBACE;yBACE;yBACA;;;;;iBAKR;mBACE;mBACA,QAAQ;qBACN;;qBAEA;;qBAEA;uBACE;yBACE;yBACA;;uBAEF;yBACE;yBACA;;;;;;;aAOZ,WAAW,SAAS,kEAAkE;aACtF,uEAAuE;;WAEzE;aACE;aACA,YAAY,8DAA8D;eACxE;eACA;iBACE;iBACA,MAAM,uBAAuB,cAAc,eAAe;iBAC1D;;;aAGJ;;aAEA;aACA,YAAY,8DAA8D;eACxE;eACA;iBACE;iBACA,MAAM,WAAW;iBACjB;;;aAGJ;;aAEA;aACA,YAAY,8DAA8D;eACxE;eACA;iBACE;iBACA,MAAM,wBAAwB,cAAc,gBAAgB;iBAC5D;;;aAGJ;;aAEA;aACA,wEAAwE;4DACzB;WACjD;aACE,yBAAyB;aACzB,gFAAgF;;WAElF;WACA;WACA;WACA;WACA;WACA;WACA,mEAAmE;WACnE,eAAe;;cAEZ,mCAAmC;WACtC,eAAe;WACf;aACE;eACE;eACA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"planner-B7LFq_1q-CO6foKgf.mjs","names":["#lowerer"],"sources":["../../../../3-targets/3-targets/sqlite/dist/planner-B7LFq_1q.mjs"],"sourcesContent":["import { a as sqliteTableRenameByHand, c as sqliteSchemaTables, d as coalesceSubtreeIssues, f as conflictForDisallowedCall, g as buildSqlitePlanDiff, h as sqlitePlannerStrategies, i as sqliteColumnRenameCall, l as indexNameCaseChange, m as planIssues, n as renameTableByHandStatements, o as sqliteTableRenameCall, p as issueNode, r as renderRenameTableCall, s as createWorkingSchema, u as pairIndexReplacements, v as sqliteActualSchema } from \"./sqlite-migration-DmCXBAGI.mjs\";\nimport { a as DropColumnCall, c as RawSqlCall, l as RecreateTableCall, s as DropTableCall } from \"./op-factory-call-ISQk93c4.mjs\";\nimport { t as TypeScriptRenderableSqliteMigration } from \"./planner-produced-sqlite-migration-XLiHMenG.mjs\";\nimport { isRenameStatement, issueOutcome } from \"@internal/framework-components/control\";\nimport { appliedStatementsInOrder, backfillOfDefaultedField, columnTakesTemporaryValue, detectTableNameCaseChanges, extractCodecControlHooks, fieldEventStorage, fieldStatementColumns, planFieldEventCalls, planStatements, plannerFailure, sqlTypeLookupsOf, storageNameOfOperation, subjectsOfCalls, unknownCallNames } from \"@internal/family-sql/control\";\nimport { RelationalSchemaNodeKind, SqlTableIR } from \"@internal/sql-schema-ir/types\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { ok } from \"@internal/utils/result\";\n//#region src/core/migrations/operation-subjects.ts\nfunction lost(target, loss = \"drop\") {\n\treturn {\n\t\t...target,\n\t\tloss\n\t};\n}\nfunction tableTarget(table) {\n\treturn {\n\t\tstorageName: table,\n\t\ttable: {\n\t\t\tnamespaceId: UNBOUND_NAMESPACE_ID,\n\t\t\ttable,\n\t\t\tcolumn: void 0\n\t\t}\n\t};\n}\nfunction columnTarget(table, column) {\n\treturn {\n\t\tstorageName: `${table}.${column}`,\n\t\ttable: {\n\t\t\tnamespaceId: UNBOUND_NAMESPACE_ID,\n\t\t\ttable,\n\t\t\tcolumn\n\t\t}\n\t};\n}\nfunction operationCountOf(call) {\n\treturn \"companions\" in call && Array.isArray(call.companions) ? 1 + call.companions.length : 1;\n}\n/**\n* The columns a recreate loses: those the new table leaves out, whose values the copy drops, and,\n* when the recreate is destructive, those whose type it changes with no copy expression to convert them.\n*/\nfunction recreateLosses(call) {\n\tconst kept = new Set(call.contractTable.columns.map((column) => column.name));\n\tconst dropped = call.schemaColumnNames.filter((column) => !kept.has(column));\n\tconst retyped = call.operationClass === \"destructive\" ? call.retypedColumns.filter((column) => !Object.hasOwn(call.copyExpressions, column)) : [];\n\treturn [...dropped.map((column) => ({\n\t\tcolumn,\n\t\tloss: \"drop\"\n\t})), ...retyped.map((column) => ({\n\t\tcolumn,\n\t\tloss: \"typeChange\"\n\t}))];\n}\n/** The columns a recreate adds with a value its copy writes into every existing row. */\nfunction temporaryValuesOf(call) {\n\tconst copied = new Set(call.schemaColumnNames);\n\treturn Object.entries(call.temporaryValues).flatMap(([column, expression]) => copied.has(column) || expression.kind !== \"sql\" ? [] : [{\n\t\ttable: call.tableName,\n\t\tcolumn,\n\t\tvalue: expression.sql\n\t}]);\n}\n/**\n* What each call of a SQLite plan loses. A recreate that leaves a column out loses its values\n* itself, so a later drop of that column is not listed again.\n*/\nfunction sqliteCallSubjects(calls, fieldEvents) {\n\tconst lostColumns = /* @__PURE__ */ new Set();\n\tconst unknownNames = unknownCallNames(calls.filter((call) => call.operationClass === \"destructive\" && !(call instanceof RecreateTableCall) && !(call instanceof DropColumnCall) && !(call instanceof DropTableCall) && !(call instanceof RawSqlCall) && !fieldEvents.has(call)));\n\treturn calls.map((call) => {\n\t\tconst operationCount = operationCountOf(call);\n\t\tconst { label } = call;\n\t\tif (call instanceof RecreateTableCall) {\n\t\t\tconst columns = recreateLosses(call);\n\t\t\tfor (const { column } of columns) lostColumns.add(`${call.tableName}.${column}`);\n\t\t\treturn {\n\t\t\t\toperationCount,\n\t\t\t\tlabel,\n\t\t\t\tdataLoss: columns.length === 0 && call.operationClass === \"destructive\" ? [lost(tableTarget(call.tableName))] : columns.map(({ column, loss }) => lost(columnTarget(call.tableName, column), loss)),\n\t\t\t\taccessChanges: [],\n\t\t\t\ttemporaryValues: temporaryValuesOf(call)\n\t\t\t};\n\t\t}\n\t\tif (call instanceof DropColumnCall) return {\n\t\t\toperationCount,\n\t\t\tlabel,\n\t\t\tdataLoss: lostColumns.has(`${call.tableName}.${call.columnName}`) ? [] : [lost(columnTarget(call.tableName, call.columnName))],\n\t\t\taccessChanges: [],\n\t\t\ttemporaryValues: []\n\t\t};\n\t\tif (call instanceof DropTableCall) return {\n\t\t\toperationCount,\n\t\t\tlabel,\n\t\t\tdataLoss: [lost(tableTarget(call.tableName))],\n\t\t\taccessChanges: [],\n\t\t\ttemporaryValues: []\n\t\t};\n\t\tif (call.operationClass !== \"destructive\") return {\n\t\t\toperationCount,\n\t\t\tlabel,\n\t\t\tdataLoss: [],\n\t\t\taccessChanges: [],\n\t\t\ttemporaryValues: []\n\t\t};\n\t\tconst fieldEvent = fieldEvents.get(call);\n\t\treturn {\n\t\t\toperationCount,\n\t\t\tlabel,\n\t\t\tdataLoss: [lost(call instanceof RawSqlCall ? {\n\t\t\t\tstorageName: storageNameOfOperation(call.op),\n\t\t\t\ttable: void 0\n\t\t\t} : fieldEvent !== void 0 ? fieldEventStorage(fieldEvent) : {\n\t\t\t\tstorageName: unknownNames.get(call) ?? call.factoryName,\n\t\t\t\ttable: void 0\n\t\t\t})],\n\t\t\taccessChanges: [],\n\t\t\ttemporaryValues: []\n\t\t};\n\t});\n}\n//#endregion\n//#region src/core/migrations/planner.ts\nfunction createSqliteMigrationPlanner(lowerer) {\n\treturn new SqliteMigrationPlanner(lowerer);\n}\n/**\n* SQLite migration planner — a thin wrapper over `planIssues`.\n*\n* `plan()` diffs the live schema against the target contract via the one\n* differ (`buildSqlitePlanDiff`, producing node-typed `SchemaDiffIssue[]`)\n* and delegates to `planIssues` with the registered strategies. Strategies\n* absorb groups of related issues into composite recipes (e.g. recreating a\n* table to apply type/nullability/default/constraint changes at once);\n* anything not absorbed by a strategy flows through `mapNodeIssueToCall` in\n* the issue planner as a one-off call.\n*\n* FK-backing indexes are already merged into the expected table node's\n* `indexes` at derivation (`contractToSchemaIR`'s `convertTable`), so\n* `mapNodeIssueToCall` handles them uniformly alongside user-declared\n* indexes — no separate expansion step in the planner.\n*/\nvar SqliteMigrationPlanner = class {\n\t#lowerer;\n\tconstructor(lowerer) {\n\t\tthis.#lowerer = lowerer;\n\t}\n\tplan(options) {\n\t\treturn this.planSql(options);\n\t}\n\temptyMigration(context, spaceId) {\n\t\treturn new TypeScriptRenderableSqliteMigration([], {\n\t\t\tfrom: context.fromHash,\n\t\t\tto: context.toHash\n\t\t}, spaceId, context.snapshotsImportPath, void 0, this.#lowerer);\n\t}\n\tplanSql(options) {\n\t\tconst policyResult = this.ensureAdditivePolicy(options.policy);\n\t\tif (policyResult) return policyResult;\n\t\tconst statements = this.planStatements(options);\n\t\tif (!statements.ok) return plannerFailure([statements.failure]);\n\t\tconst { expected, actual, issues: diffIssues } = this.collectSchemaIssues(options, statements.value.schema);\n\t\tconst replacedIndexes = pairIndexReplacements(diffIssues, indexNameCaseChange);\n\t\tconst disallowedIndexCalls = replacedIndexes.calls.filter((call) => !options.policy.allowedOperationClasses.includes(call.operationClass));\n\t\tif (disallowedIndexCalls.length > 0) return plannerFailure(disallowedIndexCalls.map((call) => conflictForDisallowedCall(call, options.policy.allowedOperationClasses)));\n\t\tconst issues = diffIssues.filter((issue) => !replacedIndexes.consumed.has(issue));\n\t\tconst caseChangeConflicts = detectTableNameCaseChanges({\n\t\t\tissues,\n\t\t\ttableOf: (issue) => {\n\t\t\t\tconst node = issueNode(issue);\n\t\t\t\treturn node instanceof SqlTableIR ? node : void 0;\n\t\t\t},\n\t\t\tnamespaceIdOf: () => UNBOUND_NAMESPACE_ID,\n\t\t\trenameByHandStatements: renameTableByHandStatements,\n\t\t\trenameTableCall: renderRenameTableCall,\n\t\t\tcontract: options.contract,\n\t\t\tdefaultNamespaceId: UNBOUND_NAMESPACE_ID\n\t\t});\n\t\tif (caseChangeConflicts.length > 0) return plannerFailure(caseChangeConflicts);\n\t\tconst defaultedBackfill = backfillOfDefaultedField(options.statements, options.fromContract, options.contract);\n\t\tif (defaultedBackfill !== void 0) return plannerFailure([defaultedBackfill]);\n\t\tconst codecHooks = extractCodecControlHooks(options.frameworkComponents);\n\t\tconst result = planIssues({\n\t\t\tissues,\n\t\t\texpected,\n\t\t\tactual,\n\t\t\tpolicy: options.policy,\n\t\t\tframeworkComponents: options.frameworkComponents,\n\t\t\tstatementColumns: fieldStatementColumns(options.statements, options.contract),\n\t\t\toriginCodecId: (table, column) => options.fromContract?.storage.namespaces[UNBOUND_NAMESPACE_ID]?.entries.table?.[table]?.columns[column]?.codecId,\n\t\t\ttakesTemporaryValue: (table, column) => {\n\t\t\t\tconst storageTable = options.contract.storage.namespaces[UNBOUND_NAMESPACE_ID]?.entries.table?.[table];\n\t\t\t\treturn storageTable !== void 0 && columnTakesTemporaryValue(storageTable, column);\n\t\t\t},\n\t\t\tstrategies: sqlitePlannerStrategies\n\t\t});\n\t\tif (!result.ok) return plannerFailure(result.failure);\n\t\tconst fieldEventCalls = planFieldEventCalls({\n\t\t\tpriorContract: options.origin === null ? null : options.fromContract,\n\t\t\tnewContract: options.contract,\n\t\t\tcodecHooks,\n\t\t\ttableRenames: statements.value.tableRenames,\n\t\t\tcolumnRenames: statements.value.columnRenames,\n\t\t\tdataTypes: sqlTypeLookupsOf(options.frameworkComponents).dataTypeLookup\n\t\t});\n\t\tconst fieldEventOps = fieldEventCalls.map(({ call }) => call);\n\t\tconst calls = [\n\t\t\t...statements.value.calls,\n\t\t\t...replacedIndexes.calls,\n\t\t\t...result.value.calls,\n\t\t\t...fieldEventOps\n\t\t];\n\t\tconst destination = {\n\t\t\tstorageHash: options.contract.storage.storageHash,\n\t\t\t...options.contract.profileHash !== void 0 ? { profileHash: options.contract.profileHash } : {}\n\t\t};\n\t\treturn {\n\t\t\tkind: \"success\",\n\t\t\tplan: new TypeScriptRenderableSqliteMigration(calls, {\n\t\t\t\tfrom: options.origin?.storageHash ?? null,\n\t\t\t\tto: options.contract.storage.storageHash\n\t\t\t}, options.spaceId, options.snapshotsImportPath, destination, this.#lowerer),\n\t\t\tappliedStatements: appliedStatementsInOrder(options.statements, statements.value.appliedStatements),\n\t\t\t...subjectsOfCalls(sqliteCallSubjects(calls, new Map(fieldEventCalls.map((fieldEvent) => [fieldEvent.call, fieldEvent]))), {\n\t\t\t\tfromContract: options.fromContract,\n\t\t\t\tcontract: options.contract,\n\t\t\t\torigins: statements.value.origins,\n\t\t\t\tbyHand: sqliteTableRenameByHand\n\t\t\t})\n\t\t};\n\t}\n\t/**\n\t* Plans the statements against a working copy of the schema the plan starts from, in order, so\n\t* each rename's index replacements are computed against the schema the earlier statements left.\n\t* The diff then runs on that schema.\n\t*/\n\tplanStatements(options) {\n\t\tconst working = createWorkingSchema(sqliteActualSchema(options.schema));\n\t\tconst planned = planStatements({\n\t\t\tstatements: options.statements.filter(isRenameStatement),\n\t\t\tfromContract: options.fromContract,\n\t\t\tcontract: options.contract,\n\t\t\tpolicy: options.policy,\n\t\t\ttarget: {\n\t\t\t\ttables: () => sqliteSchemaTables(working.current),\n\t\t\t\trenameTableCall: (rename) => sqliteTableRenameCall({\n\t\t\t\t\tprevious: working.current,\n\t\t\t\t\tcontract: options.contract,\n\t\t\t\t\trename,\n\t\t\t\t\tframeworkComponents: options.frameworkComponents\n\t\t\t\t}),\n\t\t\t\trenameColumnCall: (rename) => sqliteColumnRenameCall({\n\t\t\t\t\tprevious: working.current,\n\t\t\t\t\tcontract: options.contract,\n\t\t\t\t\trename,\n\t\t\t\t\tframeworkComponents: options.frameworkComponents\n\t\t\t\t}),\n\t\t\t\tapply: (call) => working.apply(call),\n\t\t\t\t...sqliteTableRenameByHand\n\t\t\t}\n\t\t});\n\t\tif (!planned.ok) return planned;\n\t\treturn ok({\n\t\t\t...planned.value,\n\t\t\tschema: working.current\n\t\t});\n\t}\n\tensureAdditivePolicy(policy) {\n\t\tif (!policy.allowedOperationClasses.includes(\"additive\")) return plannerFailure([{\n\t\t\tkind: \"unsupportedOperation\",\n\t\t\tsummary: \"Migration planner requires additive operations be allowed\",\n\t\t\twhy: \"The planner requires the \\\"additive\\\" operation class to be allowed in the policy.\"\n\t\t}]);\n\t\treturn null;\n\t}\n\t/**\n\t* Diffs the target contract against the live schema via the one differ\n\t* (the same tree-building `diffSqliteSchema` uses, plus the\n\t* op-render stamper) and prepares the issue list `planIssues` consumes.\n\t*\n\t* Three passes, in order:\n\t* 1. Subtree coalescing — the differ is total (a missing/extra table also\n\t* emits an issue for every column/constraint under it); those nested\n\t* issues are redundant once the table-level `CreateTable`/`DropTable`\n\t* call already accounts for the whole subtree. Runs FIRST, over the\n\t* complete diff: a sibling-owned extra table's column issues must\n\t* collapse into its one table-level issue before the ownership pass,\n\t* because a bare column node carries no table reference — if coalescing\n\t* ran after ownership dropped the table-level issue, the orphaned column\n\t* issues would survive and the planner would emit drops against a\n\t* sibling space's table.\n\t* 2. Ownership — a live extra is only this plan's to drop when no contract\n\t* space owns it. The differ ran against THIS space's contract, so a\n\t* table a sibling owns surfaces here as `not-expected`; the planner asks\n\t* the ownership oracle (the passive aggregate) whether any space declares\n\t* it and, if so, leaves it alone. A table no space owns stays a genuine\n\t* extra. Ownership lives in the aggregate; the planner only asks. No\n\t* oracle (single-space) keeps every extra.\n\t* 3. Strict-mode extras gating — `not-expected` (extra table/column/\n\t* constraint) issues are dropped entirely outside strict mode, mirroring\n\t* the retired coordinate walk's `if (strict) { ...extra_* } }` guards:\n\t* an additive-only plan must never even consider dropping an unclaimed\n\t* object, not just refuse to emit the drop.\n\t*/\n\tcollectSchemaIssues(options, schema) {\n\t\tconst allowed = options.policy.allowedOperationClasses;\n\t\tconst strict = allowed.includes(\"widening\") || allowed.includes(\"destructive\");\n\t\tconst { expected, actual, issues: rawIssues } = buildSqlitePlanDiff({\n\t\t\tcontract: options.contract,\n\t\t\tactualSchema: schema,\n\t\t\tframeworkComponents: options.frameworkComponents\n\t\t});\n\t\tconst owned = retainUnownedExtras(coalesceSubtreeIssues(rawIssues), options.ownership);\n\t\treturn {\n\t\t\texpected,\n\t\t\tactual,\n\t\t\tissues: strict ? owned : owned.filter((issue) => issueOutcome(issue) !== \"not-expected\")\n\t\t};\n\t}\n};\n/**\n* Drops a `not-expected` issue when it is a whole extra TABLE that some\n* contract space owns, asking the ownership oracle per node.\n*\n* The consultation applies ONLY to table-level extras — a live table this\n* space's contract lacks — identified by asking the issue's own node\n* (`nodeKind === table`), never by counting path segments. SQLite is a\n* single-namespace target, so every coordinate is qualified with the shared\n* `UNBOUND_NAMESPACE_ID` sentinel (the same one the aggregate's declared\n* entities carry for this target). `entityKind` is the literal `'table'`:\n* this function only ever asks about a node already confirmed to be\n* `RelationalSchemaNodeKind.table` (checked just above), and that's a\n* diff-tree `nodeKind` spelling (`'sql-table'`) distinct from the storage\n* `entries` vocabulary `elementCoordinates` walks (`'table'`) — the literal\n* is that storage-entries spelling. `declaresEntity` answers over the whole\n* composition (self included), so a positive answer on such a table means\n* another space owns it (a table this space owned would be in its expected\n* tree, never an extra): leave it. A negative answer means no space owns\n* it — a genuine orphan to drop.\n*\n* A DEEPER extra (an extra column/constraint on a table this space DOES own —\n* only the child drifted, so the table is in the expected tree) is this\n* space's own drift and is always kept for dropping; asking the oracle there\n* would wrongly suppress it, because the owned table answers `true`. No oracle\n* ⇒ every extra is kept (single-space plan).\n*/\nfunction retainUnownedExtras(issues, ownership) {\n\tif (ownership === void 0) return issues;\n\treturn issues.filter((issue) => {\n\t\tif (issueOutcome(issue) !== \"not-expected\") return true;\n\t\tconst node = issueNode(issue);\n\t\tif (node === void 0 || node.nodeKind !== RelationalSchemaNodeKind.table) return true;\n\t\tconst tableName = issue.path[1];\n\t\treturn tableName === void 0 || !ownership.declaresEntity({\n\t\t\tnamespaceId: UNBOUND_NAMESPACE_ID,\n\t\t\tentityKind: \"table\",\n\t\t\tentityName: tableName\n\t\t});\n\t});\n}\n//#endregion\nexport { createSqliteMigrationPlanner as n, SqliteMigrationPlanner as t };\n\n//# sourceMappingURL=planner-B7LFq_1q.mjs.map"],"mappings":";;;;;;;;;AASA,SAAS,KAAK,QAAQ,OAAO,QAAQ;CACpC,OAAO;EACN,GAAG;EACH;CACD;AACD;AACA,SAAS,YAAY,OAAO;CAC3B,OAAO;EACN,aAAa;EACb,OAAO;GACN,aAAa;GACb;GACA,QAAQ,KAAK;EACd;CACD;AACD;AACA,SAAS,aAAa,OAAO,QAAQ;CACpC,OAAO;EACN,aAAa,GAAG,MAAM,GAAG;EACzB,OAAO;GACN,aAAa;GACb;GACA;EACD;CACD;AACD;AACA,SAAS,iBAAiB,MAAM;CAC/B,OAAO,gBAAgB,QAAQ,MAAM,QAAQ,KAAK,UAAU,IAAI,IAAI,KAAK,WAAW,SAAS;AAC9F;;;;;AAKA,SAAS,eAAe,MAAM;CAC7B,MAAM,OAAO,IAAI,IAAI,KAAK,cAAc,QAAQ,KAAK,WAAW,OAAO,IAAI,CAAC;CAC5E,MAAM,UAAU,KAAK,kBAAkB,QAAQ,WAAW,CAAC,KAAK,IAAI,MAAM,CAAC;CAC3E,MAAM,UAAU,KAAK,mBAAmB,gBAAgB,KAAK,eAAe,QAAQ,WAAW,CAAC,OAAO,OAAO,KAAK,iBAAiB,MAAM,CAAC,IAAI,CAAC;CAChJ,OAAO,CAAC,GAAG,QAAQ,KAAK,YAAY;EACnC;EACA,MAAM;CACP,EAAE,GAAG,GAAG,QAAQ,KAAK,YAAY;EAChC;EACA,MAAM;CACP,EAAE,CAAC;AACJ;;AAEA,SAAS,kBAAkB,MAAM;CAChC,MAAM,SAAS,IAAI,IAAI,KAAK,iBAAiB;CAC7C,OAAO,OAAO,QAAQ,KAAK,eAAe,CAAC,CAAC,SAAS,CAAC,QAAQ,gBAAgB,OAAO,IAAI,MAAM,KAAK,WAAW,SAAS,QAAQ,CAAC,IAAI,CAAC;EACrI,OAAO,KAAK;EACZ;EACA,OAAO,WAAW;CACnB,CAAC,CAAC;AACH;;;;;AAKA,SAAS,mBAAmB,OAAO,aAAa;CAC/C,MAAM,8BAA8B,IAAI,IAAI;CAC5C,MAAM,eAAe,iBAAiB,MAAM,QAAQ,SAAS,KAAK,mBAAmB,iBAAiB,EAAE,gBAAgB,sBAAsB,EAAE,gBAAgB,mBAAmB,EAAE,gBAAgB,kBAAkB,EAAE,gBAAgB,eAAe,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;CAC/Q,OAAO,MAAM,KAAK,SAAS;EAC1B,MAAM,iBAAiB,iBAAiB,IAAI;EAC5C,MAAM,EAAE,UAAU;EAClB,IAAI,gBAAgB,mBAAmB;GACtC,MAAM,UAAU,eAAe,IAAI;GACnC,KAAK,MAAM,EAAE,YAAY,SAAS,YAAY,IAAI,GAAG,KAAK,UAAU,GAAG,QAAQ;GAC/E,OAAO;IACN;IACA;IACA,UAAU,QAAQ,WAAW,KAAK,KAAK,mBAAmB,gBAAgB,CAAC,KAAK,YAAY,KAAK,SAAS,CAAC,CAAC,IAAI,QAAQ,KAAK,EAAE,QAAQ,WAAW,KAAK,aAAa,KAAK,WAAW,MAAM,GAAG,IAAI,CAAC;IAClM,eAAe,CAAC;IAChB,iBAAiB,kBAAkB,IAAI;GACxC;EACD;EACA,IAAI,gBAAgB,gBAAgB,OAAO;GAC1C;GACA;GACA,UAAU,YAAY,IAAI,GAAG,KAAK,UAAU,GAAG,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,aAAa,KAAK,WAAW,KAAK,UAAU,CAAC,CAAC;GAC7H,eAAe,CAAC;GAChB,iBAAiB,CAAC;EACnB;EACA,IAAI,gBAAgB,eAAe,OAAO;GACzC;GACA;GACA,UAAU,CAAC,KAAK,YAAY,KAAK,SAAS,CAAC,CAAC;GAC5C,eAAe,CAAC;GAChB,iBAAiB,CAAC;EACnB;EACA,IAAI,KAAK,mBAAmB,eAAe,OAAO;GACjD;GACA;GACA,UAAU,CAAC;GACX,eAAe,CAAC;GAChB,iBAAiB,CAAC;EACnB;EACA,MAAM,aAAa,YAAY,IAAI,IAAI;EACvC,OAAO;GACN;GACA;GACA,UAAU,CAAC,KAAK,gBAAgB,aAAa;IAC5C,aAAa,uBAAuB,KAAK,EAAE;IAC3C,OAAO,KAAK;GACb,IAAI,eAAe,KAAK,IAAI,kBAAkB,UAAU,IAAI;IAC3D,aAAa,aAAa,IAAI,IAAI,KAAK,KAAK;IAC5C,OAAO,KAAK;GACb,CAAC,CAAC;GACF,eAAe,CAAC;GAChB,iBAAiB,CAAC;EACnB;CACD,CAAC;AACF;AAGA,SAAS,6BAA6B,SAAS;CAC9C,OAAO,IAAI,uBAAuB,OAAO;AAC1C;;;;;;;;;;;;;;;;;AAiBA,IAAI,yBAAyB,MAAM;CAClC;CACA,YAAY,SAAS;EACpB,KAAKA,WAAW;CACjB;CACA,KAAK,SAAS;EACb,OAAO,KAAK,QAAQ,OAAO;CAC5B;CACA,eAAe,SAAS,SAAS;EAChC,OAAO,IAAI,oCAAoC,CAAC,GAAG;GAClD,MAAM,QAAQ;GACd,IAAI,QAAQ;EACb,GAAG,SAAS,QAAQ,qBAAqB,KAAK,GAAG,KAAKA,QAAQ;CAC/D;CACA,QAAQ,SAAS;EAChB,MAAM,eAAe,KAAK,qBAAqB,QAAQ,MAAM;EAC7D,IAAI,cAAc,OAAO;EACzB,MAAM,aAAa,KAAK,eAAe,OAAO;EAC9C,IAAI,CAAC,WAAW,IAAI,OAAO,eAAe,CAAC,WAAW,OAAO,CAAC;EAC9D,MAAM,EAAE,UAAU,QAAQ,QAAQ,eAAe,KAAK,oBAAoB,SAAS,WAAW,MAAM,MAAM;EAC1G,MAAM,kBAAkB,sBAAsB,YAAY,mBAAmB;EAC7E,MAAM,uBAAuB,gBAAgB,MAAM,QAAQ,SAAS,CAAC,QAAQ,OAAO,wBAAwB,SAAS,KAAK,cAAc,CAAC;EACzI,IAAI,qBAAqB,SAAS,GAAG,OAAO,eAAe,qBAAqB,KAAK,SAAS,0BAA0B,MAAM,QAAQ,OAAO,uBAAuB,CAAC,CAAC;EACtK,MAAM,SAAS,WAAW,QAAQ,UAAU,CAAC,gBAAgB,SAAS,IAAI,KAAK,CAAC;EAChF,MAAM,sBAAsB,2BAA2B;GACtD;GACA,UAAU,UAAU;IACnB,MAAM,OAAO,UAAU,KAAK;IAC5B,OAAO,gBAAgB,aAAa,OAAO,KAAK;GACjD;GACA,qBAAqB;GACrB,wBAAwB;GACxB,iBAAiB;GACjB,UAAU,QAAQ;GAClB,oBAAoB;EACrB,CAAC;EACD,IAAI,oBAAoB,SAAS,GAAG,OAAO,eAAe,mBAAmB;EAC7E,MAAM,oBAAoB,yBAAyB,QAAQ,YAAY,QAAQ,cAAc,QAAQ,QAAQ;EAC7G,IAAI,sBAAsB,KAAK,GAAG,OAAO,eAAe,CAAC,iBAAiB,CAAC;EAC3E,MAAM,aAAa,yBAAyB,QAAQ,mBAAmB;EACvE,MAAM,SAAS,WAAW;GACzB;GACA;GACA;GACA,QAAQ,QAAQ;GAChB,qBAAqB,QAAQ;GAC7B,kBAAkB,sBAAsB,QAAQ,YAAY,QAAQ,QAAQ;GAC5E,gBAAgB,OAAO,WAAW,QAAQ,cAAc,QAAQ,WAAW,qBAAqB,EAAE,QAAQ,QAAQ,MAAM,EAAE,QAAQ,OAAO,EAAE;GAC3I,sBAAsB,OAAO,WAAW;IACvC,MAAM,eAAe,QAAQ,SAAS,QAAQ,WAAW,qBAAqB,EAAE,QAAQ,QAAQ;IAChG,OAAO,iBAAiB,KAAK,KAAK,0BAA0B,cAAc,MAAM;GACjF;GACA,YAAY;EACb,CAAC;EACD,IAAI,CAAC,OAAO,IAAI,OAAO,eAAe,OAAO,OAAO;EACpD,MAAM,kBAAkB,oBAAoB;GAC3C,eAAe,QAAQ,WAAW,OAAO,OAAO,QAAQ;GACxD,aAAa,QAAQ;GACrB;GACA,cAAc,WAAW,MAAM;GAC/B,eAAe,WAAW,MAAM;GAChC,WAAW,iBAAiB,QAAQ,mBAAmB,CAAC,CAAC;EAC1D,CAAC;EACD,MAAM,gBAAgB,gBAAgB,KAAK,EAAE,WAAW,IAAI;EAC5D,MAAM,QAAQ;GACb,GAAG,WAAW,MAAM;GACpB,GAAG,gBAAgB;GACnB,GAAG,OAAO,MAAM;GAChB,GAAG;EACJ;EACA,MAAM,cAAc;GACnB,aAAa,QAAQ,SAAS,QAAQ;GACtC,GAAG,QAAQ,SAAS,gBAAgB,KAAK,IAAI,EAAE,aAAa,QAAQ,SAAS,YAAY,IAAI,CAAC;EAC/F;EACA,OAAO;GACN,MAAM;GACN,MAAM,IAAI,oCAAoC,OAAO;IACpD,MAAM,QAAQ,QAAQ,eAAe;IACrC,IAAI,QAAQ,SAAS,QAAQ;GAC9B,GAAG,QAAQ,SAAS,QAAQ,qBAAqB,aAAa,KAAKA,QAAQ;GAC3E,mBAAmB,yBAAyB,QAAQ,YAAY,WAAW,MAAM,iBAAiB;GAClG,GAAG,gBAAgB,mBAAmB,OAAO,IAAI,IAAI,gBAAgB,KAAK,eAAe,CAAC,WAAW,MAAM,UAAU,CAAC,CAAC,CAAC,GAAG;IAC1H,cAAc,QAAQ;IACtB,UAAU,QAAQ;IAClB,SAAS,WAAW,MAAM;IAC1B,QAAQ;GACT,CAAC;EACF;CACD;;;;;;CAMA,eAAe,SAAS;EACvB,MAAM,UAAU,oBAAoB,mBAAmB,QAAQ,MAAM,CAAC;EACtE,MAAM,UAAU,eAAe;GAC9B,YAAY,QAAQ,WAAW,OAAO,iBAAiB;GACvD,cAAc,QAAQ;GACtB,UAAU,QAAQ;GAClB,QAAQ,QAAQ;GAChB,QAAQ;IACP,cAAc,mBAAmB,QAAQ,OAAO;IAChD,kBAAkB,WAAW,sBAAsB;KAClD,UAAU,QAAQ;KAClB,UAAU,QAAQ;KAClB;KACA,qBAAqB,QAAQ;IAC9B,CAAC;IACD,mBAAmB,WAAW,uBAAuB;KACpD,UAAU,QAAQ;KAClB,UAAU,QAAQ;KAClB;KACA,qBAAqB,QAAQ;IAC9B,CAAC;IACD,QAAQ,SAAS,QAAQ,MAAM,IAAI;IACnC,GAAG;GACJ;EACD,CAAC;EACD,IAAI,CAAC,QAAQ,IAAI,OAAO;EACxB,OAAO,GAAG;GACT,GAAG,QAAQ;GACX,QAAQ,QAAQ;EACjB,CAAC;CACF;CACA,qBAAqB,QAAQ;EAC5B,IAAI,CAAC,OAAO,wBAAwB,SAAS,UAAU,GAAG,OAAO,eAAe,CAAC;GAChF,MAAM;GACN,SAAS;GACT,KAAK;EACN,CAAC,CAAC;EACF,OAAO;CACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BA,oBAAoB,SAAS,QAAQ;EACpC,MAAM,UAAU,QAAQ,OAAO;EAC/B,MAAM,SAAS,QAAQ,SAAS,UAAU,KAAK,QAAQ,SAAS,aAAa;EAC7E,MAAM,EAAE,UAAU,QAAQ,QAAQ,cAAc,oBAAoB;GACnE,UAAU,QAAQ;GAClB,cAAc;GACd,qBAAqB,QAAQ;EAC9B,CAAC;EACD,MAAM,QAAQ,oBAAoB,sBAAsB,SAAS,GAAG,QAAQ,SAAS;EACrF,OAAO;GACN;GACA;GACA,QAAQ,SAAS,QAAQ,MAAM,QAAQ,UAAU,aAAa,KAAK,MAAM,cAAc;EACxF;CACD;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,SAAS,oBAAoB,QAAQ,WAAW;CAC/C,IAAI,cAAc,KAAK,GAAG,OAAO;CACjC,OAAO,OAAO,QAAQ,UAAU;EAC/B,IAAI,aAAa,KAAK,MAAM,gBAAgB,OAAO;EACnD,MAAM,OAAO,UAAU,KAAK;EAC5B,IAAI,SAAS,KAAK,KAAK,KAAK,aAAa,yBAAyB,OAAO,OAAO;EAChF,MAAM,YAAY,MAAM,KAAK;EAC7B,OAAO,cAAc,KAAK,KAAK,CAAC,UAAU,eAAe;GACxD,aAAa;GACb,YAAY;GACZ,YAAY;EACb,CAAC;CACF,CAAC;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"planner-JHs58vqA.d.mts","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/planner.d.mts"],"mappings":";;;;;;;;;iBAQiB,6BAA6B,SAAS,wBAAwB;KAC1E;WACM;WACA,MAAM;WACN,4BAA4B;WAC5B,mBAAmB;WACnB,wBAAwB;WACxB,0BAA0B;IACjC;;;;;;;;;;;;;;;;;cAiBU,kCAAkC,oBAAoB,0BAA0B;;EAE5F,YAAY,SAAS;EACrB,KAAK;aACM;aACA;aACA,QAAQ;;;;;;;;;aASR,cAAc;;aAEd,QAAQ;aACR,qBAAqB;aACrB,qBAAqB,cAAc;;;;;;aAMnC;;;;;aAKA,YAAY;;;;;;aAMZ;MACP;EACJ,eAAe,SAAS,0BAA0B,kBAAkB;UAC5D;;;;;;UAMA;UACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA8BA"}
@@ -1 +0,0 @@
1
- import "./planner-produced-sqlite-migration-DuM9c3YI-COeeqS8N.mjs";
@@ -1 +0,0 @@
1
- {"version":3,"file":"planner-produced-sqlite-migration-DuM9c3YI-COeeqS8N.d.mts","names":[],"sources":["../../../../3-targets/3-targets/sqlite/dist/planner-produced-sqlite-migration-DuM9c3YI.d.mts"],"mappings":";;;;;;;;;KAQK,KAAK,0BAA0B;UAC1B;WACC;WACA;;cAEG,4CAA4C,2BAA2B;;EAEnF,YAAY,gBAAgB,iBAAiB,MAAM,eAAe,iBAAiB,6BAA6B,cAAc,gCAAgC,UAAU;MACpK,wBAAwB,KAAK,QAAQ;EACzC,YAAY;MACR,eAAe;;;;;;MAMf;EACJ,iBAAiB,wBAAwB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"planner-produced-sqlite-migration-XLiHMenG-_9p4tPWa.mjs","names":["#calls","#meta","#spaceId","#snapshotsImportPath","#destination","#lowerer","#operationsCache"],"sources":["../../../../3-targets/3-targets/sqlite/dist/planner-produced-sqlite-migration-XLiHMenG.mjs"],"sourcesContent":["import { t as SqliteMigration } from \"./sqlite-migration-DmCXBAGI.mjs\";\nimport { t as renderOps } from \"./render-ops-Btxzdp9v.mjs\";\nimport { contractSnapshotJsonSpecifier, contractSnapshotTypesSpecifier } from \"@internal/framework-components/control\";\nimport { renderImports } from \"@internal/ts-render\";\nimport { resolveRequirementSpecifiers } from \"@internal/framework-components/emission\";\nimport { detectScaffoldRuntime, shebangLineFor } from \"@internal/migration-tools/migration-ts\";\n//#region src/core/migrations/render-typescript.ts\n/**\n* Polymorphic TypeScript emitter for the SQLite migration IR. Mirrors the\n* Postgres `render-typescript.ts` — different base-class + factory module\n* specifier, same overall shape.\n*/\n/**\n* Always-present base imports for the rendered scaffold. Both come from\n* `@internal/sqlite/migration` so an authored SQLite\n* `migration.ts` only needs a single dependency for its base class and\n* its CLI entrypoint. Mirrors Postgres's `BASE_IMPORTS`.\n*\n* - `Migration` — the facade re-export fixes the `SqlMigration`\n* generic to `SqlitePlanTargetDetails` and the abstract `targetId` to\n* `'sqlite'`.\n* - `MigrationCLI` — the migration-file CLI entrypoint, re-exported from\n* `@internal/cli/migration-cli`. Loads `prisma.config.ts`,\n* assembles a `ControlStack`, and instantiates the migration class.\n*/\nconst BASE_IMPORTS = [{\n\tmoduleSpecifier: \"@internal/sqlite/migration\",\n\tsymbol: \"Migration\"\n}, {\n\tmoduleSpecifier: \"@internal/sqlite/migration\",\n\tsymbol: \"MigrationCLI\"\n}];\nfunction renderCallsToTypeScript(calls, meta) {\n\tconst imports = buildImports(calls, meta);\n\tconst operationsBody = calls.map((c) => c.renderTypeScript()).join(\",\\n\");\n\tconst hasStart = meta.from !== null;\n\tconst startField = hasStart ? [\" override readonly startContractJson = startContract;\"] : [];\n\treturn [\n\t\tshebangLineFor(detectScaffoldRuntime()),\n\t\timports,\n\t\t\"\",\n\t\t`export default class M extends Migration<${hasStart ? \"Start\" : \"never\"}, End> {`,\n\t\t...startField,\n\t\t\" override readonly endContractJson = endContract;\",\n\t\t\"\",\n\t\t\" override get operations() {\",\n\t\t\" return [\",\n\t\tindent(operationsBody, 6),\n\t\t\" ];\",\n\t\t\" }\",\n\t\t\"}\",\n\t\t\"\",\n\t\t\"MigrationCLI.run(import.meta.url, M);\",\n\t\t\"\"\n\t].join(\"\\n\");\n}\nfunction buildImports(calls, meta) {\n\tconst requirements = [...BASE_IMPORTS, ...contractImports(meta)];\n\tfor (const call of calls) for (const req of call.importRequirements()) requirements.push(req);\n\treturn renderImports(resolveRequirementSpecifiers(requirements, meta.resolveImportSpecifier));\n}\n/**\n* The committed contract-JSON imports the scaffold reads its from/to identity\n* from, resolved to the deduplicated snapshot store under\n* `meta.snapshotsImportPath`. The end snapshot is always present; the start\n* snapshot is added only for a non-baseline migration (`meta.from !== null`).\n* The matching `Contract` type imports (aliased `Start`/`End`) feed the\n* `Migration<Start, End>` generics. Baseline emits `Migration<never, End>` with\n* no start imports — `never` is the honest \"no prior contract\" Start.\n*/\nfunction contractImports(meta) {\n\tconst reqs = [{\n\t\tmoduleSpecifier: contractSnapshotJsonSpecifier(meta.snapshotsImportPath, meta.to),\n\t\tsymbol: \"endContract\",\n\t\tkind: \"default\",\n\t\tattributes: { type: \"json\" }\n\t}, {\n\t\tmoduleSpecifier: contractSnapshotTypesSpecifier(meta.snapshotsImportPath, meta.to),\n\t\tsymbol: \"Contract\",\n\t\talias: \"End\",\n\t\ttypeOnly: true\n\t}];\n\tif (meta.from !== null) {\n\t\treqs.push({\n\t\t\tmoduleSpecifier: contractSnapshotJsonSpecifier(meta.snapshotsImportPath, meta.from),\n\t\t\tsymbol: \"startContract\",\n\t\t\tkind: \"default\",\n\t\t\tattributes: { type: \"json\" }\n\t\t});\n\t\treqs.push({\n\t\t\tmoduleSpecifier: contractSnapshotTypesSpecifier(meta.snapshotsImportPath, meta.from),\n\t\t\tsymbol: \"Contract\",\n\t\t\talias: \"Start\",\n\t\t\ttypeOnly: true\n\t\t});\n\t}\n\treturn reqs;\n}\nfunction indent(text, spaces) {\n\tconst pad = \" \".repeat(spaces);\n\treturn text.split(\"\\n\").map((line) => line.trim() ? `${pad}${line}` : line).join(\"\\n\");\n}\n//#endregion\n//#region src/core/migrations/planner-produced-sqlite-migration.ts\nvar TypeScriptRenderableSqliteMigration = class extends SqliteMigration {\n\t#calls;\n\t#meta;\n\t#destination;\n\t#spaceId;\n\t#snapshotsImportPath;\n\t#lowerer;\n\t#operationsCache;\n\tconstructor(calls, meta, spaceId, snapshotsImportPath, destination, lowerer) {\n\t\tsuper();\n\t\tthis.#calls = calls;\n\t\tthis.#meta = meta;\n\t\tthis.#spaceId = spaceId;\n\t\tthis.#snapshotsImportPath = snapshotsImportPath;\n\t\tthis.#destination = destination ?? { storageHash: meta.to };\n\t\tthis.#lowerer = lowerer;\n\t}\n\tget operations() {\n\t\tthis.#operationsCache ??= renderOps(this.#calls, this.#lowerer);\n\t\treturn this.#operationsCache;\n\t}\n\tdescribe() {\n\t\treturn this.#meta;\n\t}\n\tget destination() {\n\t\treturn this.#destination;\n\t}\n\t/**\n\t* Contract space this planner-produced plan applies to. Threaded\n\t* from {@link SqlMigrationPlannerPlanOptions.spaceId} so the runner\n\t* keys the marker row by the right space when executing the plan.\n\t*/\n\tget spaceId() {\n\t\treturn this.#spaceId;\n\t}\n\trenderTypeScript(resolveImportSpecifier) {\n\t\treturn renderCallsToTypeScript(this.#calls, {\n\t\t\tfrom: this.#meta.from,\n\t\t\tto: this.#meta.to,\n\t\t\tsnapshotsImportPath: this.#snapshotsImportPath,\n\t\t\tresolveImportSpecifier\n\t\t});\n\t}\n};\n//#endregion\nexport { TypeScriptRenderableSqliteMigration as t };\n\n//# sourceMappingURL=planner-produced-sqlite-migration-XLiHMenG.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,eAAe,CAAC;CACrB,iBAAiB;CACjB,QAAQ;AACT,GAAG;CACF,iBAAiB;CACjB,QAAQ;AACT,CAAC;AACD,SAAS,wBAAwB,OAAO,MAAM;CAC7C,MAAM,UAAU,aAAa,OAAO,IAAI;CACxC,MAAM,iBAAiB,MAAM,KAAK,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,KAAK;CACxE,MAAM,WAAW,KAAK,SAAS;CAC/B,MAAM,aAAa,WAAW,CAAC,wDAAwD,IAAI,CAAC;CAC5F,OAAO;EACN,eAAe,sBAAsB,CAAC;EACtC;EACA;EACA,4CAA4C,WAAW,UAAU,QAAQ;EACzE,GAAG;EACH;EACA;EACA;EACA;EACA,OAAO,gBAAgB,CAAC;EACxB;EACA;EACA;EACA;EACA;EACA;CACD,CAAC,CAAC,KAAK,IAAI;AACZ;AACA,SAAS,aAAa,OAAO,MAAM;CAClC,MAAM,eAAe,CAAC,GAAG,cAAc,GAAG,gBAAgB,IAAI,CAAC;CAC/D,KAAK,MAAM,QAAQ,OAAO,KAAK,MAAM,OAAO,KAAK,mBAAmB,GAAG,aAAa,KAAK,GAAG;CAC5F,OAAO,cAAc,6BAA6B,cAAc,KAAK,sBAAsB,CAAC;AAC7F;;;;;;;;;;AAUA,SAAS,gBAAgB,MAAM;CAC9B,MAAM,OAAO,CAAC;EACb,iBAAiB,8BAA8B,KAAK,qBAAqB,KAAK,EAAE;EAChF,QAAQ;EACR,MAAM;EACN,YAAY,EAAE,MAAM,OAAO;CAC5B,GAAG;EACF,iBAAiB,+BAA+B,KAAK,qBAAqB,KAAK,EAAE;EACjF,QAAQ;EACR,OAAO;EACP,UAAU;CACX,CAAC;CACD,IAAI,KAAK,SAAS,MAAM;EACvB,KAAK,KAAK;GACT,iBAAiB,8BAA8B,KAAK,qBAAqB,KAAK,IAAI;GAClF,QAAQ;GACR,MAAM;GACN,YAAY,EAAE,MAAM,OAAO;EAC5B,CAAC;EACD,KAAK,KAAK;GACT,iBAAiB,+BAA+B,KAAK,qBAAqB,KAAK,IAAI;GACnF,QAAQ;GACR,OAAO;GACP,UAAU;EACX,CAAC;CACF;CACA,OAAO;AACR;AACA,SAAS,OAAO,MAAM,QAAQ;CAC7B,MAAM,MAAM,IAAI,OAAO,MAAM;CAC7B,OAAO,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,SAAS,KAAK,KAAK,IAAI,GAAG,MAAM,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI;AACtF;AAGA,IAAI,sCAAsC,cAAc,gBAAgB;CACvE;CACA;CACA;CACA;CACA;CACA;CACA;CACA,YAAY,OAAO,MAAM,SAAS,qBAAqB,aAAa,SAAS;EAC5E,MAAM;EACN,KAAKA,SAAS;EACd,KAAKC,QAAQ;EACb,KAAKC,WAAW;EAChB,KAAKC,uBAAuB;EAC5B,KAAKC,eAAe,eAAe,EAAE,aAAa,KAAK,GAAG;EAC1D,KAAKC,WAAW;CACjB;CACA,IAAI,aAAa;EAChB,KAAKC,qBAAqB,UAAU,KAAKN,QAAQ,KAAKK,QAAQ;EAC9D,OAAO,KAAKC;CACb;CACA,WAAW;EACV,OAAO,KAAKL;CACb;CACA,IAAI,cAAc;EACjB,OAAO,KAAKG;CACb;;;;;;CAMA,IAAI,UAAU;EACb,OAAO,KAAKF;CACb;CACA,iBAAiB,wBAAwB;EACxC,OAAO,wBAAwB,KAAKF,QAAQ;GAC3C,MAAM,KAAKC,MAAM;GACjB,IAAI,KAAKA,MAAM;GACf,qBAAqB,KAAKE;GAC1B;EACD,CAAC;CACF;AACD"}