@prisma/orm-toolchain 8.0.0-rc.1-dev.38 → 8.0.0-rc.1-dev.40

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 (171) hide show
  1. package/dist/bin__prisma-next.mjs +25 -318
  2. package/dist/bin__prisma-next.mjs.map +1 -1
  3. package/dist/{caught-errors-DLPzfzIW-CQ9BoXD-.mjs → caught-errors-BZo7zcRc-C-pIEasG.mjs} +3 -3
  4. package/dist/{caught-errors-DLPzfzIW-CQ9BoXD-.mjs.map → caught-errors-BZo7zcRc-C-pIEasG.mjs.map} +1 -1
  5. package/dist/{cli-errors-BG6bItjG-DwdKIeGz.mjs → cli-errors-B4zTLaqQ-CXgjO9t4.mjs} +20 -3
  6. package/dist/cli-errors-B4zTLaqQ-CXgjO9t4.mjs.map +1 -0
  7. package/dist/{cli-errors-BiKBrOXc-JPxQqO58.d.mts → cli-errors-iquUoY6O-BFboxglv.d.mts} +17 -9
  8. package/dist/cli-errors-iquUoY6O-BFboxglv.d.mts.map +1 -0
  9. package/dist/cli.mjs +2895 -182
  10. package/dist/cli.mjs.map +1 -1
  11. package/dist/cli__commands__contract-emit.mjs +1 -1
  12. package/dist/cli__commands__contract-infer.mjs +1 -1
  13. package/dist/cli__commands__db-init.mjs +1 -1
  14. package/dist/cli__commands__db-schema.mjs +1 -1
  15. package/dist/cli__commands__db-sign.mjs +1 -1
  16. package/dist/cli__commands__db-update.mjs +1 -1
  17. package/dist/cli__commands__db-verify.mjs +1 -1
  18. package/dist/cli__commands__migrate.d.mts +2 -2
  19. package/dist/cli__commands__migrate.mjs +1 -1
  20. package/dist/cli__commands__migration-check.d.mts +1 -1
  21. package/dist/cli__commands__migration-check.mjs +2 -2
  22. package/dist/cli__commands__migration-graph.d.mts +2 -2
  23. package/dist/cli__commands__migration-graph.mjs +1 -1
  24. package/dist/cli__commands__migration-list.d.mts +2 -2
  25. package/dist/cli__commands__migration-list.mjs +1 -1
  26. package/dist/cli__commands__migration-log.d.mts +2 -2
  27. package/dist/cli__commands__migration-log.mjs +1 -1
  28. package/dist/cli__commands__migration-new.mjs +1 -1
  29. package/dist/cli__commands__migration-plan.d.mts +1 -1
  30. package/dist/cli__commands__migration-plan.mjs +1 -1
  31. package/dist/cli__commands__migration-show.d.mts +1 -1
  32. package/dist/cli__commands__migration-show.mjs +1 -1
  33. package/dist/cli__commands__migration-status.d.mts +2 -2
  34. package/dist/cli__commands__migration-status.mjs +2 -2
  35. package/dist/cli__commands__ref.mjs +1 -1
  36. package/dist/cli__commands__telemetry.mjs +1 -1
  37. package/dist/cli__control-api.d.mts +4 -4
  38. package/dist/cli__control-api.mjs +15 -15
  39. package/dist/cli__control-api__testing.d.mts +1 -1
  40. package/dist/cli__control-api__testing.mjs +2 -1
  41. package/dist/cli__control-api__testing.mjs.map +1 -1
  42. package/dist/cli__init-output.d.mts +1 -1
  43. package/dist/cli__init-output.mjs +1 -1
  44. package/dist/{client-DU9qtBxW-BjVHiKzE.mjs → client-C6Qp5ujC-Dxb7r79B.mjs} +12 -15
  45. package/dist/client-C6Qp5ujC-Dxb7r79B.mjs.map +1 -0
  46. package/dist/code-templates-D73q329L-CSx0Jg-6.mjs +295 -0
  47. package/dist/code-templates-D73q329L-CSx0Jg-6.mjs.map +1 -0
  48. package/dist/combine-verify-results-B87B_pMc-D4l22OqY.mjs +65 -0
  49. package/dist/combine-verify-results-B87B_pMc-D4l22OqY.mjs.map +1 -0
  50. package/dist/{command-helpers-CwLvFwMB-BWwUQhlT.mjs → command-helpers-BCgwcqTe-lNCtppzM.mjs} +3 -3
  51. package/dist/{command-helpers-CwLvFwMB-BWwUQhlT.mjs.map → command-helpers-BCgwcqTe-lNCtppzM.mjs.map} +1 -1
  52. package/dist/{contract-at-errors-Dptf8RE_-B5gr04Sc.mjs → contract-at-errors-BSoDI0Hw-BXeUNE3s.mjs} +3 -3
  53. package/dist/{contract-at-errors-Dptf8RE_-B5gr04Sc.mjs.map → contract-at-errors-BSoDI0Hw-BXeUNE3s.mjs.map} +1 -1
  54. package/dist/contract-emit-DDWBBvF1-BeGZCRrb.mjs +2 -0
  55. package/dist/{contract-emit-CZQZ1i4z-p9LSGmmQ.mjs → contract-emit-DFScp9D6-6H-UJMFv.mjs} +5 -5
  56. package/dist/{contract-emit-CZQZ1i4z-p9LSGmmQ.mjs.map → contract-emit-DFScp9D6-6H-UJMFv.mjs.map} +1 -1
  57. package/dist/{contract-emit-BQFpcb2A-BwT9iVdb.mjs → contract-emit-DsvAx-dY-DQzoDO34.mjs} +5 -5
  58. package/dist/{contract-emit-BQFpcb2A-BwT9iVdb.mjs.map → contract-emit-DsvAx-dY-DQzoDO34.mjs.map} +1 -1
  59. package/dist/{contract-infer-C6cYOihE-CIUCgmw0.mjs → contract-infer-BwIDGl7v-CZrdWXAr.mjs} +4 -4
  60. package/dist/{contract-infer-C6cYOihE-CIUCgmw0.mjs.map → contract-infer-BwIDGl7v-CZrdWXAr.mjs.map} +1 -1
  61. package/dist/{contract-snapshot-resolution-DvZvbNcZ-DHFCWe_k.mjs → contract-snapshot-resolution-De2VvOJn-DqIAV9cr.mjs} +4 -4
  62. package/dist/{contract-snapshot-resolution-DvZvbNcZ-DHFCWe_k.mjs.map → contract-snapshot-resolution-De2VvOJn-DqIAV9cr.mjs.map} +1 -1
  63. package/dist/{contract-space-aggregate-loader-CoLTf3Ce-pQDru2w0.mjs → contract-space-aggregate-loader-fa04OIaL-B7LXHle3.mjs} +4 -4
  64. package/dist/{contract-space-aggregate-loader-CoLTf3Ce-pQDru2w0.mjs.map → contract-space-aggregate-loader-fa04OIaL-B7LXHle3.mjs.map} +1 -1
  65. package/dist/{db-init-DypCy1e3-CBrYfhHF.mjs → db-init-BolXrKAI-CwG-zEDW.mjs} +6 -6
  66. package/dist/{db-init-DypCy1e3-CBrYfhHF.mjs.map → db-init-BolXrKAI-CwG-zEDW.mjs.map} +1 -1
  67. package/dist/{db-init-failure-BmCcHUfc-BqDxyrJE.mjs → db-init-failure-B5cQML4A-5zr-99Ek.mjs} +3 -3
  68. package/dist/{db-init-failure-BmCcHUfc-BqDxyrJE.mjs.map → db-init-failure-B5cQML4A-5zr-99Ek.mjs.map} +1 -1
  69. package/dist/{db-schema-DHfPM-5V-JeCjrQ55.mjs → db-schema-DvdLBdEY-Dl6e1d_Y.mjs} +4 -4
  70. package/dist/{db-schema-DHfPM-5V-JeCjrQ55.mjs.map → db-schema-DvdLBdEY-Dl6e1d_Y.mjs.map} +1 -1
  71. package/dist/{db-sign-DbAxRcZh-C-nT9kcG.mjs → db-sign-DCp4c8CA-B3tun-kh.mjs} +6 -6
  72. package/dist/{db-sign-DbAxRcZh-C-nT9kcG.mjs.map → db-sign-DCp4c8CA-B3tun-kh.mjs.map} +1 -1
  73. package/dist/{db-update-J59yROwL-DCP-_z2W.mjs → db-update-CfayE8WE-CPhQyDaZ.mjs} +6 -6
  74. package/dist/{db-update-J59yROwL-DCP-_z2W.mjs.map → db-update-CfayE8WE-CPhQyDaZ.mjs.map} +1 -1
  75. package/dist/{db-verify-0TpDMziA-CJDKutMN.mjs → db-verify-BN7IrOAL-kEzRNJUl.mjs} +7 -65
  76. package/dist/db-verify-BN7IrOAL-kEzRNJUl.mjs.map +1 -0
  77. package/dist/{exports-DaxzMVtq.mjs → exports-B3xY_FHp.mjs} +304 -18
  78. package/dist/exports-B3xY_FHp.mjs.map +1 -0
  79. package/dist/{format-cbJY7l6v-CjMUDTAs.mjs → format-Ca7dUE6B-BMFqrc6D.mjs} +5 -5
  80. package/dist/{format-cbJY7l6v-CjMUDTAs.mjs.map → format-Ca7dUE6B-BMFqrc6D.mjs.map} +1 -1
  81. package/dist/{framework-components-C3K7SBeC-Bj5gx85-.mjs → framework-components-Bau7o1-J-DTp6AUoq.mjs} +3 -3
  82. package/dist/{framework-components-C3K7SBeC-Bj5gx85-.mjs.map → framework-components-Bau7o1-J-DTp6AUoq.mjs.map} +1 -1
  83. package/dist/init-DJrxDasP-DoQftaPY.mjs +800 -0
  84. package/dist/init-DJrxDasP-DoQftaPY.mjs.map +1 -0
  85. package/dist/{inspect-live-schema-Cf77j9Vd-i5fzNW4T.mjs → inspect-live-schema-BPHXdvqW-DrzL2ZkQ.mjs} +5 -5
  86. package/dist/{inspect-live-schema-Cf77j9Vd-i5fzNW4T.mjs.map → inspect-live-schema-BPHXdvqW-DrzL2ZkQ.mjs.map} +1 -1
  87. package/dist/integrity-violation-to-check-failure-BmWMLAae-DqiC4_3p.mjs +115 -0
  88. package/dist/integrity-violation-to-check-failure-BmWMLAae-DqiC4_3p.mjs.map +1 -0
  89. package/dist/{invariants-1zL5-9Mc-BCeOLxd_.mjs → invariants-Bltd8DyA-Cg_1Lu0q.mjs} +4 -4
  90. package/dist/{invariants-1zL5-9Mc-BCeOLxd_.mjs.map → invariants-Bltd8DyA-Cg_1Lu0q.mjs.map} +1 -1
  91. package/dist/{legend-BQcPKTLe-bn9e4_ZU.mjs → legend-DGv9e2_0-BtetgRz4.mjs} +3 -3
  92. package/dist/{legend-BQcPKTLe-bn9e4_ZU.mjs.map → legend-DGv9e2_0-BtetgRz4.mjs.map} +1 -1
  93. package/dist/{migrate-CgSnzAUm-aGstaO5N.mjs → migrate-BXATUjYE-Do79Imf-.mjs} +12 -12
  94. package/dist/{migrate-CgSnzAUm-aGstaO5N.mjs.map → migrate-BXATUjYE-Do79Imf-.mjs.map} +1 -1
  95. package/dist/{migrate-failure-CnoUcDms-taa9pfd7.mjs → migrate-failure-D4NvkoCk-0bttmQs2.mjs} +5 -5
  96. package/dist/{migrate-failure-CnoUcDms-taa9pfd7.mjs.map → migrate-failure-D4NvkoCk-0bttmQs2.mjs.map} +1 -1
  97. package/dist/{migrate-show-Dlo-YzOk-BXo-DmwI.d.mts → migrate-show-B8UJ9dmb-C4RTPbDk.d.mts} +3 -3
  98. package/dist/{migrate-show-Dlo-YzOk-BXo-DmwI.d.mts.map → migrate-show-B8UJ9dmb-C4RTPbDk.d.mts.map} +1 -1
  99. package/dist/{migrate-show-kVUG1xdo-bVTW8tu4.mjs → migrate-show-C_9xR4Qt-B-Y0PGKw.mjs} +6 -6
  100. package/dist/{migrate-show-kVUG1xdo-bVTW8tu4.mjs.map → migrate-show-C_9xR4Qt-B-Y0PGKw.mjs.map} +1 -1
  101. package/dist/{migration-check-CBMoMDX2-DhSEOGNg.mjs → migration-check-Bbdw7t-r-C2VTMK61.mjs} +6 -6
  102. package/dist/{migration-check-CBMoMDX2-DhSEOGNg.mjs.map → migration-check-Bbdw7t-r-C2VTMK61.mjs.map} +1 -1
  103. package/dist/migration-check-DbHgYK7F-7mtYNVFu.mjs +163 -0
  104. package/dist/migration-check-DbHgYK7F-7mtYNVFu.mjs.map +1 -0
  105. package/dist/{migration-command-scaffold-B1BiWKLI-Bskk5UKX.mjs → migration-command-scaffold-SzjR2naH-Yi3-rNfX.mjs} +5 -5
  106. package/dist/{migration-command-scaffold-B1BiWKLI-Bskk5UKX.mjs.map → migration-command-scaffold-SzjR2naH-Yi3-rNfX.mjs.map} +1 -1
  107. package/dist/{migration-graph-B30X5398-BH3zB9Mn.mjs → migration-graph-B8WxW_tm-qGNf7jQh.mjs} +3 -3
  108. package/dist/{migration-graph-B30X5398-BH3zB9Mn.mjs.map → migration-graph-B8WxW_tm-qGNf7jQh.mjs.map} +1 -1
  109. package/dist/{migration-graph-D2dbLCkl-CCHL0aDA.mjs → migration-graph-BOwu76mF-kOTWFvfV.mjs} +9 -9
  110. package/dist/{migration-graph-D2dbLCkl-CCHL0aDA.mjs.map → migration-graph-BOwu76mF-kOTWFvfV.mjs.map} +1 -1
  111. package/dist/{migration-graph-command-render-BeuEyf2B-BNH9oUB_.mjs → migration-graph-command-render-h0VdTkSM-C3rPZEw1.mjs} +17 -3
  112. package/dist/migration-graph-command-render-h0VdTkSM-C3rPZEw1.mjs.map +1 -0
  113. package/dist/{migration-graph-sections-0lKA5l1b-CTHQquu7.mjs → migration-graph-sections-BBHPOFN--COKyUKQ4.mjs} +4 -4
  114. package/dist/{migration-graph-sections-0lKA5l1b-CTHQquu7.mjs.map → migration-graph-sections-BBHPOFN--COKyUKQ4.mjs.map} +1 -1
  115. package/dist/{migration-list-DCx0KOFp-B3MiGnpa.mjs → migration-list-CKuYcMQq-CubZzE9i.mjs} +7 -7
  116. package/dist/{migration-list-DCx0KOFp-B3MiGnpa.mjs.map → migration-list-CKuYcMQq-CubZzE9i.mjs.map} +1 -1
  117. package/dist/{migration-list-BQTfSGbT-DoNqbNsu.mjs → migration-list-CY08bD8I-PoXuv94c.mjs} +3 -3
  118. package/dist/{migration-list-BQTfSGbT-DoNqbNsu.mjs.map → migration-list-CY08bD8I-PoXuv94c.mjs.map} +1 -1
  119. package/dist/{migration-log-CJ6_9_uj-uWyc3vlC.mjs → migration-log-CUbGla-9-BLIrWjwN.mjs} +8 -8
  120. package/dist/{migration-log-CJ6_9_uj-uWyc3vlC.mjs.map → migration-log-CUbGla-9-BLIrWjwN.mjs.map} +1 -1
  121. package/dist/{migration-log-table-DRiOnvzf-zTQBThqe.mjs → migration-log-table-eES9lPjv-BCFm8qJr.mjs} +3 -3
  122. package/dist/{migration-log-table-DRiOnvzf-zTQBThqe.mjs.map → migration-log-table-eES9lPjv-BCFm8qJr.mjs.map} +1 -1
  123. package/dist/{migration-new-CXLgOLXz-2C5s_q7n.mjs → migration-new-ChvZjf5X-BFhEM0BF.mjs} +4 -4
  124. package/dist/{migration-new-CXLgOLXz-2C5s_q7n.mjs.map → migration-new-ChvZjf5X-BFhEM0BF.mjs.map} +1 -1
  125. package/dist/{migration-new-Bp5dPKnF-D-Fb6vEp.mjs → migration-new-DXMvJdbB-BkrpDfcr.mjs} +7 -7
  126. package/dist/{migration-new-Bp5dPKnF-D-Fb6vEp.mjs.map → migration-new-DXMvJdbB-BkrpDfcr.mjs.map} +1 -1
  127. package/dist/{migration-path-target-BNTSTPAc-D7dQ4K7x.mjs → migration-path-target-JDWqF9kj-B7zoMq6X.mjs} +3 -3
  128. package/dist/{migration-path-target-BNTSTPAc-D7dQ4K7x.mjs.map → migration-path-target-JDWqF9kj-B7zoMq6X.mjs.map} +1 -1
  129. package/dist/{migration-plan-CharRhoN-BIB3WL65.d.mts → migration-plan-BV9f5Xjq-DiyscOMc.d.mts} +3 -3
  130. package/dist/{migration-plan-CharRhoN-BIB3WL65.d.mts.map → migration-plan-BV9f5Xjq-DiyscOMc.d.mts.map} +1 -1
  131. package/dist/{migration-plan-BxfF1Hdo-BKn0xMlY.mjs → migration-plan-Bz1hOTHF-CFCtPuOv.mjs} +4 -4
  132. package/dist/{migration-plan-BxfF1Hdo-BKn0xMlY.mjs.map → migration-plan-Bz1hOTHF-CFCtPuOv.mjs.map} +1 -1
  133. package/dist/{migration-plan-C6KrFHJT-CRkTsE7L.mjs → migration-plan-Cfz0efEL-DMNFq5b2.mjs} +8 -8
  134. package/dist/{migration-plan-C6KrFHJT-CRkTsE7L.mjs.map → migration-plan-Cfz0efEL-DMNFq5b2.mjs.map} +1 -1
  135. package/dist/{migration-show-Dhnlx_GU-DhWLLt3Z.mjs → migration-show-BGdR1xnT-Cg3M0FPh.mjs} +8 -8
  136. package/dist/{migration-show-Dhnlx_GU-DhWLLt3Z.mjs.map → migration-show-BGdR1xnT-Cg3M0FPh.mjs.map} +1 -1
  137. package/dist/{migration-status-S88DjM8c-DLHnCKfW.mjs → migration-status-BIrAJ5af-D-_mMBUA.mjs} +12 -11
  138. package/dist/{migration-status-S88DjM8c-DLHnCKfW.mjs.map → migration-status-BIrAJ5af-D-_mMBUA.mjs.map} +1 -1
  139. package/dist/{output-DWNYqZGc-D2sRgLAm.mjs → output-DP3woAjV-BxCr9nHA.mjs} +21 -11
  140. package/dist/output-DP3woAjV-BxCr9nHA.mjs.map +1 -0
  141. package/dist/{project-import-root-nwdoPWap--5vXe4zp.mjs → project-import-root-B4nM-VWX-D__g0hTb.mjs} +3 -3
  142. package/dist/{project-import-root-nwdoPWap--5vXe4zp.mjs.map → project-import-root-B4nM-VWX-D__g0hTb.mjs.map} +1 -1
  143. package/dist/{init-Bco4QkKJ-DqUZVrBU.mjs → redact-secrets-Cvia6eTB-BE_Pg3k9.mjs} +741 -1517
  144. package/dist/redact-secrets-Cvia6eTB-BE_Pg3k9.mjs.map +1 -0
  145. package/dist/{ref-gZQjdz8I-CW6n9Fc0.mjs → ref-4x6BGSsd-ClaoZIQh.mjs} +4 -4
  146. package/dist/{ref-gZQjdz8I-CW6n9Fc0.mjs.map → ref-4x6BGSsd-ClaoZIQh.mjs.map} +1 -1
  147. package/dist/{ref-C8oaaeky-ColNkWpr.mjs → ref-WXLIR9Xm-12IUtoBU.mjs} +5 -5
  148. package/dist/{ref-C8oaaeky-ColNkWpr.mjs.map → ref-WXLIR9Xm-12IUtoBU.mjs.map} +1 -1
  149. package/dist/{ref-resolution-DAK4OK3x-B-8ZZc0f.mjs → ref-resolution-BSN1amKm-C6-TTM2N.mjs} +3 -3
  150. package/dist/{ref-resolution-DAK4OK3x-B-8ZZc0f.mjs.map → ref-resolution-BSN1amKm-C6-TTM2N.mjs.map} +1 -1
  151. package/dist/{schemas-Bm2e3Hk1-qLKF0B36.d.mts → schemas-BGgjiKV0-Rh8RlMCl.d.mts} +4 -2
  152. package/dist/schemas-BGgjiKV0-Rh8RlMCl.d.mts.map +1 -0
  153. package/dist/{schemas-BMkqaqvM-CLaqlat4.mjs → schemas-CYSD83Cu-Bff4PPoi.mjs} +3 -2
  154. package/dist/schemas-CYSD83Cu-Bff4PPoi.mjs.map +1 -0
  155. package/dist/{telemetry-DPXFYAsz-CPW2USxs.mjs → telemetry-BD52LETE-Cqeb7ebh.mjs} +3 -3
  156. package/dist/{telemetry-DPXFYAsz-CPW2USxs.mjs.map → telemetry-BD52LETE-Cqeb7ebh.mjs.map} +1 -1
  157. package/dist/vite-plugin-contract-emit.mjs +1 -1
  158. package/package.json +13 -13
  159. package/dist/cli-errors-BG6bItjG-DwdKIeGz.mjs.map +0 -1
  160. package/dist/cli-errors-BiKBrOXc-JPxQqO58.d.mts.map +0 -1
  161. package/dist/client-DU9qtBxW-BjVHiKzE.mjs.map +0 -1
  162. package/dist/contract-emit-Bzt11N4v-BQ2Pr8KG.mjs +0 -2
  163. package/dist/db-verify-0TpDMziA-CJDKutMN.mjs.map +0 -1
  164. package/dist/exports-DaxzMVtq.mjs.map +0 -1
  165. package/dist/init-Bco4QkKJ-DqUZVrBU.mjs.map +0 -1
  166. package/dist/migration-check-BVK9vfan-Dfg8lbeB.mjs +0 -272
  167. package/dist/migration-check-BVK9vfan-Dfg8lbeB.mjs.map +0 -1
  168. package/dist/migration-graph-command-render-BeuEyf2B-BNH9oUB_.mjs.map +0 -1
  169. package/dist/output-DWNYqZGc-D2sRgLAm.mjs.map +0 -1
  170. package/dist/schemas-BMkqaqvM-CLaqlat4.mjs.map +0 -1
  171. package/dist/schemas-Bm2e3Hk1-qLKF0B36.d.mts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-errors-BG6bItjG-DwdKIeGz.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/cli-errors-BG6bItjG.mjs"],"sourcesContent":["import { CliStructuredError as CliStructuredError$1, errorConfigValidation, errorContractConfigMissing as errorContractConfigMissing$1, errorContractValidationFailed, errorDatabaseConnectionRequired, errorDriverRequired, errorFileNotFound, errorInvalidOutputFormat, errorMigrationPlanningFailed, errorOutputFormatMutex, errorTargetMigrationNotSupported, errorUnexpected } from \"@internal/errors/control\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { ERROR_CODE_DESTRUCTIVE_CHANGES, errorConsentPlanMismatch, errorDestructiveChanges, errorHashMismatch, errorMarkerMissing, errorRunnerFailed, errorRuntime as errorRuntime$1, errorTargetMismatch } from \"@internal/errors/execution\";\nimport \"@internal/errors/migration\";\n//#region src/utils/next-actions.ts\n/**\n* The typed remediation the CLI attaches to its own errors and findings.\n* Constructors live here rather than in any library the CLI calls: naming a\n* runnable invocation is something only the CLI can do.\n*/\nfunction runCommandAction(label, command) {\n\treturn {\n\t\tkind: \"run-command\",\n\t\tlabel,\n\t\tcommand\n\t};\n}\n/** Advice the user acts on themselves — there is no command to run. */\nfunction chooseAction(label) {\n\treturn {\n\t\tkind: \"user-choice\",\n\t\tlabel\n\t};\n}\n//#endregion\n//#region src/utils/cli-errors.ts\n/**\n* A CLI-raised error that carries the typed remediation as well as the prose.\n* Only the CLI knows which invocation fixes a failure, so only errors raised\n* here spell one; the foundation classes every library also raises keep\n* carrying `code`, `why` and `fix` alone.\n*\n* Both fields are required: the `fix` prose is what the commander shell still\n* renders, and the handler boundary drops it in favour of `nextActions` when it\n* settles the engine's envelope.\n*/\nvar ActionableCliError = class extends CliStructuredError$1 {\n\tnextActions;\n\tconstructor(code, summary, options) {\n\t\tsuper(code, summary, options);\n\t\tthis.nextActions = options.nextActions;\n\t}\n};\nfunction errorRefSetHashNotInGraph(resolvedHash, reachableHashes, graphTipHash) {\n\tconst reachableList = reachableHashes.length > 0 ? reachableHashes.join(\", \") : \"(none — migration graph is empty)\";\n\tconst fix = reachableHashes.length > 0 ? graphTipHash !== null ? `Set the ref to a graph-node hash such as ${graphTipHash}, or run \\`prisma-next migration plan\\` to extend the graph.` : \"Set the ref to a hash that appears in the migration graph.\" : \"Run `prisma-next migration plan` first.\";\n\tconst nextActions = reachableHashes.length > 0 ? graphTipHash !== null ? [chooseAction(`Set the ref to a graph-node hash such as ${graphTipHash}`), runCommandAction(\"Extend the migration graph\", \"prisma-next migration plan\")] : [chooseAction(\"Set the ref to a hash that appears in the migration graph\")] : [runCommandAction(\"Plan the first migration\", \"prisma-next migration plan\")];\n\treturn new ActionableCliError(\"MIGRATION.HASH_NOT_IN_GRAPH\", `Resolved contract hash is not in the migration graph: ${resolvedHash}`, {\n\t\twhy: reachableHashes.length > 0 ? `The migration graph reaches ${reachableList}; resolved ${resolvedHash} isn't a graph node.` : \"The migration graph is empty — no hashes reachable.\",\n\t\tfix,\n\t\tnextActions,\n\t\tmeta: {\n\t\t\tresolvedHash,\n\t\t\treachableHashes: [...reachableHashes],\n\t\t\t...graphTipHash !== null ? { graphTipHash } : {}\n\t\t}\n\t});\n}\nfunction errorRefSetEmptySentinel(hash) {\n\treturn new ActionableCliError(\"MIGRATION.REF_SET_EMPTY_SENTINEL\", `Cannot set ref to the empty-database sentinel: ${hash}`, {\n\t\twhy: \"The empty-database sentinel is a planner internal; it is not a valid ref target.\",\n\t\tfix: \"Set the ref to a contract hash from the migration graph, or use another ref name.\",\n\t\tnextActions: [chooseAction(\"Set the ref to a contract hash from the migration graph\"), chooseAction(\"Or use another ref name\")],\n\t\tmeta: { hash }\n\t});\n}\n/**\n* `--legend` was combined with a machine-readable or silent output flag.\n* The legend is human-only decoration on stderr.\n*/\nfunction errorLegendHumanOnly(conflictingFlag) {\n\treturn new ActionableCliError(\"MIGRATION.LEGEND_HUMAN_ONLY\", \"`--legend` is only available for human-readable output\", {\n\t\twhy: `\\`--legend\\` prints a glyph key to stderr and cannot be combined with ${conflictingFlag}.`,\n\t\tfix: `Omit ${conflictingFlag} to print the legend alongside the tree, or omit --legend when using ${conflictingFlag}.`,\n\t\tnextActions: [chooseAction(`Omit ${conflictingFlag} to print the legend alongside the tree`), chooseAction(`Or omit --legend when using ${conflictingFlag}`)],\n\t\tmeta: { conflictingFlag }\n\t});\n}\n/**\n* `--space <id>` was given a value that doesn't satisfy the contract-space\n* naming rule (`[a-z][a-z0-9_-]{0,63}` per `isValidSpaceId`). Fires before\n* any fs work — the input is syntactically rejected the same way an on-disk\n* directory with that name would be skipped by the enumerator.\n*/\nfunction errorInvalidSpaceId(spaceId) {\n\treturn new ActionableCliError(\"MIGRATION.INVALID_SPACE_ID\", `Invalid contract space id: ${spaceId}`, {\n\t\twhy: \"Contract space ids must match [a-z][a-z0-9_-]{0,63} (lowercase, starts with a letter, max 64 characters — the rule applied to every on-disk space directory).\",\n\t\tfix: \"Pass a space id that matches the directory naming rule, or omit --space to list every space.\",\n\t\tnextActions: [chooseAction(\"Pass a space id matching [a-z][a-z0-9_-]{0,63}\"), runCommandAction(\"Or list every space\", \"prisma-next migration list\")],\n\t\tmeta: { spaceId }\n\t});\n}\n/**\n* `migration list --space <id>` was given a contract-space id that has no\n* directory under `migrations/`. Distinct from \"the space exists but is\n* empty\" — that path renders the empty-state line and exits 0 per the\n* slice spec § Empty-state. This error fires only when `<projectMigrationsDir>/<spaceId>`\n* does not exist on disk.\n*\n* `availableSpaces` lists the contract-space directory names actually\n* present, sorted lex-asc, so the diagnostic can suggest a near match\n* without making the user reach for `ls`.\n*/\nfunction errorSpaceNotFound(spaceId, availableSpaces) {\n\tconst availableList = availableSpaces.length > 0 ? availableSpaces.join(\", \") : \"(none — no contract spaces on disk yet)\";\n\tconst fix = availableSpaces.length > 0 ? `Pick one of: ${availableList}. Run \\`prisma-next migration list\\` (no --space) to see every space's migrations.` : \"Author a migration with `prisma-next migration new` to create the first contract-space directory.\";\n\tconst nextActions = availableSpaces.length > 0 ? [chooseAction(`Pick one of: ${availableList}`), runCommandAction(\"See every space's migrations\", \"prisma-next migration list\")] : [runCommandAction(\"Author the first migration, which creates the contract-space directory\", \"prisma-next migration new\")];\n\treturn new ActionableCliError(\"MIGRATION.SPACE_NOT_FOUND\", `Unknown contract space: ${spaceId}`, {\n\t\twhy: `No directory named \"${spaceId}\" exists under the migrations root.`,\n\t\tfix,\n\t\tnextActions,\n\t\tmeta: {\n\t\t\tspaceId,\n\t\t\tavailableSpaces: [...availableSpaces]\n\t\t}\n\t});\n}\n/**\n* A `migration show` target resolved to a directory or a graph node, but no\n* on-disk package was loaded for it.\n*/\nfunction errorMigrationPackageNotFound(why) {\n\treturn new ActionableCliError(\"MIGRATION.PACKAGE_NOT_FOUND\", \"Migration package not found\", {\n\t\twhy,\n\t\tfix: \"Pass a directory name, hash prefix, or path to an on-disk app-space migration package.\",\n\t\tnextActions: [chooseAction(\"Pass a directory name, hash prefix, or path to an on-disk app-space migration package\"), runCommandAction(\"List what is on disk\", \"prisma-next migration list\")]\n\t});\n}\n/** The app space has no migration packages at all, so no target can resolve. */\nfunction errorNoMigrations(appMigrationsRelative) {\n\treturn new ActionableCliError(\"MIGRATION.NO_MIGRATIONS\", \"No migrations found\", {\n\t\twhy: `No migration packages found in ${appMigrationsRelative}`,\n\t\tfix: \"Run `prisma-next migration plan` to create a migration first.\",\n\t\tnextActions: [runCommandAction(\"Create the first migration\", \"prisma-next migration plan\")]\n\t});\n}\nfunction errorRefSetBundleNotFound(hash) {\n\treturn new ActionableCliError(\"MIGRATION.REF_SET_BUNDLE_NOT_FOUND\", `No migration bundle matches graph-node hash ${hash}`, {\n\t\twhy: `The hash is a graph node but no on-disk bundle has metadata.to = ${hash}.`,\n\t\tfix: \"Run `pnpm fixtures:check`, or re-emit the migration that produces this hash so its bundle is restored.\",\n\t\tnextActions: [runCommandAction(\"Restore the checked-in fixtures\", \"pnpm fixtures:check\"), chooseAction(\"Or re-emit the migration that produces this hash\")],\n\t\tmeta: { hash }\n\t});\n}\nfunction errorPlanForgotTheFlag(resolvedHash, reachableRefs, graphTipHash, options) {\n\tconst reachableList = reachableRefs.length > 0 ? reachableRefs.map((r) => `${r.name} (${r.hash})`).join(\", \") : \"(none)\";\n\tconst refFix = reachableRefs.length > 0 ? `Run migration plan with ${reachableRefs.map((r) => `--from ${r.name}`).join(\" or \")}.` : graphTipHash !== null ? `Run migration plan --from ${graphTipHash}.` : \"Commit pending migrations first, then run migration plan.\";\n\tconst nextActions = reachableRefs.length > 0 ? reachableRefs.map((ref) => runCommandAction(`Plan from ${ref.name}`, `prisma-next migration plan --from ${ref.name}`)) : graphTipHash !== null ? [runCommandAction(\"Plan from the graph tip\", `prisma-next migration plan --from ${graphTipHash}`)] : [chooseAction(\"Commit pending migrations first, then run migration plan\")];\n\treturn new ActionableCliError(\"MIGRATION.HASH_NOT_IN_GRAPH\", `Resolved from-hash is not in the migration graph: ${resolvedHash}`, {\n\t\twhy: `The migration graph reaches ${reachableList}; resolved ${resolvedHash} isn't a graph node.`,\n\t\tfix: refFix,\n\t\tnextActions,\n\t\tmeta: {\n\t\t\tresolvedHash,\n\t\t\treachableRefs: reachableRefs.map((r) => r.name),\n\t\t\t...graphTipHash !== null ? { graphTipHash } : {}\n\t\t},\n\t\t...ifDefined(\"cause\", options?.cause)\n\t});\n}\n/**\n* `viaRef: true` (the default) mirrors migration-tools' `errorRefNotResolvable`:\n* a ref name with no pointer file, where the fallback hash isn't a graph\n* node either — there's nothing to materialize a contract from.\n* `viaRef: false` is a distinct, ref-independent case: an explicit `--from\n* <hash>` that doesn't name a ref, on an empty migration graph, so there is\n* no graph node and no ref to resolve a contract through.\n*/\nfunction errorSnapshotMissing(identifier, options) {\n\tconst viaRef = options?.viaRef !== false;\n\tconst fix = viaRef ? `Create the ref with \"prisma-next ref set ${identifier} <hash>\" (or advance it via \"prisma-next db update --advance-ref ${identifier}\"), or pass a hash that is a node in the migration graph.` : `No contract source exists for hash \"${identifier}\" on an empty migration graph. Use --from with a ref name (its contract resolves through the snapshot store), or run db update first.`;\n\tconst nextActions = viaRef ? [\n\t\trunCommandAction(`Create the ref \"${identifier}\"`, `prisma-next ref set ${identifier} <hash>`),\n\t\trunCommandAction(\"Or advance it from the database\", `prisma-next db update --advance-ref ${identifier}`),\n\t\tchooseAction(\"Or pass a hash that is a node in the migration graph\")\n\t] : [chooseAction(\"Pass --from a ref name, whose contract resolves through the snapshot store\"), runCommandAction(\"Or populate the graph first\", \"prisma-next db update\")];\n\treturn new ActionableCliError(\"MIGRATION.SNAPSHOT_MISSING\", viaRef ? `Ref \"${identifier}\" is not resolvable` : `No contract source for from-hash \"${identifier}\"`, {\n\t\twhy: viaRef ? `Ref \"${identifier}\" has no pointer file, and the hash being resolved is not a node in the migration graph either.` : `Hash \"${identifier}\" is not a node in the migration graph (the graph is empty), and it does not name a ref either.`,\n\t\tfix,\n\t\tnextActions,\n\t\tmeta: {\n\t\t\tidentifier,\n\t\t\tviaRef\n\t\t},\n\t\t...ifDefined(\"cause\", options?.cause)\n\t});\n}\nfunction errorMarkerMismatch(markerHash, reachableHashes, graphTip) {\n\tconst reachableList = reachableHashes.length > 0 ? reachableHashes.join(\", \") : \"(none — migration graph is empty)\";\n\tconst planFromFix = graphTip !== null ? `Run \\`prisma-next migration plan --from ${graphTip}\\` if the live marker is canonical and the on-disk graph needs catching up.` : \"Run `prisma-next migration plan` if the live marker is canonical and the on-disk graph needs catching up.\";\n\tconst planCommand = graphTip !== null ? `prisma-next migration plan --from ${graphTip}` : \"prisma-next migration plan\";\n\treturn new ActionableCliError(\"MIGRATION.MARKER_MISMATCH\", \"Database marker is not reachable in the on-disk migration graph\", {\n\t\twhy: `DB marker is ${markerHash}, but the on-disk migration graph reaches: ${reachableList}.`,\n\t\tfix: [\n\t\t\tplanFromFix,\n\t\t\t`Run \\`prisma-next ref set db ${markerHash}\\` if the on-disk graph is canonical and the local \\`db\\` ref drifted.`,\n\t\t\t\"Investigate whether the database was migrated by an out-of-band process.\"\n\t\t].join(\"\\n\"),\n\t\tnextActions: [\n\t\t\trunCommandAction(\"Catch the on-disk graph up to the live marker\", planCommand),\n\t\t\trunCommandAction(\"Point the local db ref at the live marker\", `prisma-next ref set db ${markerHash}`),\n\t\t\tchooseAction(\"Investigate whether the database was migrated by an out-of-band process\")\n\t\t],\n\t\tmeta: {\n\t\t\tmarkerHash,\n\t\t\treachableHashes: [...reachableHashes],\n\t\t\t...graphTip !== null ? { graphTip } : {}\n\t\t}\n\t});\n}\nconst ROLLBACK_IS_DESTRUCTIVE = \"A rollback (reverse) plan is expected to contain destructive (DROP) operations — review them before applying\";\nconst NARROWER_CASES_NEED_A_HINT = \"Narrower cases (rename inference, re-adding a required field without a safe default, or a type change that needs data) may additionally need a hint in the planned migration\";\nfunction errorPathUnreachable(failure) {\n\tconst meta = failure.meta ?? {};\n\tconst fromHashMeta = typeof meta[\"fromHash\"] === \"string\" ? meta[\"fromHash\"] : null;\n\tconst planFromHash = fromHashMeta === \"<empty>\" ? null : fromHashMeta;\n\tconst targetHash = typeof meta[\"targetHash\"] === \"string\" ? meta[\"targetHash\"] : typeof meta[\"target\"] === \"string\" ? meta[\"target\"] : null;\n\tconst deadEnds = meta[\"deadEnds\"];\n\tconst deadEndsSuffix = Array.isArray(deadEnds) && deadEnds.length > 0 ? ` Dead-ends: ${deadEnds.map(String).join(\", \")}.` : \"\";\n\tconst neverPlanned = meta[\"kind\"] === \"neverPlanned\";\n\tconst planCommand = (() => {\n\t\tif (neverPlanned) return \"prisma-next migration plan --name <slug>\";\n\t\tif (planFromHash !== null && targetHash !== null) return `prisma-next migration plan --from ${planFromHash} --to ${targetHash} --name <slug>`;\n\t\tif (targetHash !== null) return `prisma-next migration plan --to ${targetHash} --name <slug>`;\n\t\tif (planFromHash !== null) return `prisma-next migration plan --from ${planFromHash} --name <slug>`;\n\t\treturn \"prisma-next migration plan\";\n\t})();\n\tconst applyCommand = targetHash !== null && !neverPlanned ? `prisma-next migrate --to ${targetHash}` : \"prisma-next migrate\";\n\treturn new ActionableCliError(\"MIGRATION.PATH_UNREACHABLE\", failure.summary, {\n\t\twhy: failure.why ?? `Cannot reach target \"${targetHash ?? \"<unknown>\"}\" from current marker \"${fromHashMeta ?? \"<unknown>\"}\".${deadEndsSuffix}`,\n\t\tfix: [\n\t\t\t\"Plan the missing edge, then apply it:\",\n\t\t\t` 1. ${planCommand}`,\n\t\t\t` 2. ${applyCommand}`,\n\t\t\t`${ROLLBACK_IS_DESTRUCTIVE}.`,\n\t\t\t`${NARROWER_CASES_NEED_A_HINT}.`,\n\t\t\t\"Inspect the on-disk graph with `prisma-next migration list`, or `prisma-next migration show <bundle>` for any bundle in the path you expected.\"\n\t\t].join(\"\\n\"),\n\t\tnextActions: [\n\t\t\trunCommandAction(\"Plan the missing edge\", planCommand),\n\t\t\trunCommandAction(\"Apply it\", applyCommand),\n\t\t\tchooseAction(ROLLBACK_IS_DESTRUCTIVE),\n\t\t\tchooseAction(NARROWER_CASES_NEED_A_HINT),\n\t\t\trunCommandAction(\"Inspect the on-disk graph\", \"prisma-next migration list\"),\n\t\t\trunCommandAction(\"Inspect a bundle in the path you expected\", \"prisma-next migration show <bundle>\")\n\t\t],\n\t\tmeta: { ...meta }\n\t});\n}\n/**\n* Shared \"needs a live database\" precondition for read verbs that consult the\n* marker/ledger (`migration log`, `migration status`). A command needs both a\n* connection string and a control-plane driver; either missing yields the same\n* `CONFIG.DB_CONNECTION_REQUIRED` envelope with `meta.missingFlags` (canonical long-form flags\n* per CLI Style Guide §Errors) so callers can react programmatically. Returns\n* `null` when both are present.\n*/\nfunction requireLiveDatabase(args) {\n\tif (args.dbConnection && args.hasDriver) return null;\n\tconst missingFlags = args.dbConnection ? [] : [\"--db\"];\n\treturn errorDatabaseConnectionRequired({\n\t\twhy: args.why,\n\t\tmissingFlags,\n\t\t...ifDefined(\"commandName\", args.commandName),\n\t\t...ifDefined(\"retryCommand\", args.retryCommand)\n\t});\n}\n/**\n* Maps a `RefResolutionError` from the contract/migration reference\n* resolver into a CLI structured error envelope.\n*/\n/**\n* A migration ref (dirName or hash-prefix) resolves in more than one contract\n* space. The user must qualify with `--space <id>` to disambiguate.\n*/\nfunction errorAmbiguousMigrationRef(ref, spaceIds) {\n\tconst spaceList = spaceIds.join(\", \");\n\treturn new ActionableCliError(\"MIGRATION.AMBIGUOUS_MIGRATION_REF\", `Ambiguous migration reference: \"${ref}\" resolves in multiple spaces — qualify with --space <id>`, {\n\t\twhy: `\"${ref}\" matches migrations in spaces: ${spaceList}.`,\n\t\tfix: `Qualify with --space <id> to select one space. Available matching spaces: ${spaceList}.`,\n\t\tnextActions: [chooseAction(`Qualify with --space <id>, one of: ${spaceList}`)],\n\t\tmeta: {\n\t\t\tref,\n\t\t\tspaceIds: [...spaceIds]\n\t\t}\n\t});\n}\nfunction mapRefResolutionError(error) {\n\tswitch (error.kind) {\n\t\tcase \"not-found\": {\n\t\t\tconst fix = error.grammar === \"contract\" ? \"Provide a valid contract hash, ref name, or migration directory name.\" : \"Provide a valid migration directory name or migration hash.\";\n\t\t\treturn new ActionableCliError(\"MIGRATION.REF_NOT_FOUND\", `Not a known ${error.grammar} reference: \"${error.input}\"`, {\n\t\t\t\twhy: `No ${error.grammar} matching \"${error.input}\" exists in the migration graph or refs index.`,\n\t\t\t\tfix,\n\t\t\t\tnextActions: [chooseAction(fix)],\n\t\t\t\tmeta: {\n\t\t\t\t\tinput: error.input,\n\t\t\t\t\tgrammar: error.grammar\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tcase \"ambiguous\": return new ActionableCliError(\"MIGRATION.REF_AMBIGUOUS\", `Ambiguous ${error.grammar} reference: \"${error.input}\"`, {\n\t\t\twhy: `\"${error.input}\" matches multiple ${error.grammar}s: ${error.candidates.join(\", \")}`,\n\t\t\tfix: \"Provide a longer prefix or use the full hash to disambiguate.\",\n\t\t\tnextActions: [chooseAction(\"Provide a longer prefix or use the full hash to disambiguate\")],\n\t\t\tmeta: {\n\t\t\t\tinput: error.input,\n\t\t\t\tcandidates: error.candidates,\n\t\t\t\tgrammar: error.grammar\n\t\t\t}\n\t\t});\n\t\tcase \"wrong-grammar\": return new ActionableCliError(\"MIGRATION.REF_WRONG_GRAMMAR\", error.message, {\n\t\t\twhy: error.message,\n\t\t\tfix: error.fix,\n\t\t\tnextActions: [chooseAction(error.fix)],\n\t\t\tmeta: {\n\t\t\t\tinput: error.input,\n\t\t\t\texpectedGrammar: error.expectedGrammar\n\t\t\t}\n\t\t});\n\t\tcase \"invalid-format\": return new ActionableCliError(\"MIGRATION.REF_INVALID_FORMAT\", `Invalid reference format: \"${error.input}\"`, {\n\t\t\twhy: error.reason,\n\t\t\tfix: \"Provide a valid contract hash, ref name, or migration directory name.\",\n\t\t\tnextActions: [chooseAction(\"Provide a valid contract hash, ref name, or migration directory name\")],\n\t\t\tmeta: { input: error.input }\n\t\t});\n\t}\n}\n//#endregion\nexport { errorSpaceNotFound as A, errorPlanForgotTheFlag as C, errorRunnerFailed as D, errorRefSetHashNotInGraph as E, requireLiveDatabase as F, chooseAction as I, runCommandAction as L, errorTargetMismatch as M, errorUnexpected as N, errorRuntime$1 as O, mapRefResolutionError as P, errorPathUnreachable as S, errorRefSetEmptySentinel as T, errorMarkerMissing as _, errorConsentPlanMismatch as a, errorNoMigrations as b, errorDatabaseConnectionRequired as c, errorFileNotFound as d, errorHashMismatch as f, errorMarkerMismatch as g, errorLegendHumanOnly as h, errorConfigValidation as i, errorTargetMigrationNotSupported as j, errorSnapshotMissing as k, errorDestructiveChanges as l, errorInvalidSpaceId as m, ERROR_CODE_DESTRUCTIVE_CHANGES as n, errorContractConfigMissing$1 as o, errorInvalidOutputFormat as p, errorAmbiguousMigrationRef as r, errorContractValidationFailed as s, CliStructuredError$1 as t, errorDriverRequired as u, errorMigrationPackageNotFound as v, errorRefSetBundleNotFound as w, errorOutputFormatMutex as x, errorMigrationPlanningFailed as y };\n\n//# sourceMappingURL=cli-errors-BG6bItjG.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-errors-BiKBrOXc-JPxQqO58.d.mts","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/cli-errors-BiKBrOXc.d.mts"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-DU9qtBxW-BjVHiKzE.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/client-DU9qtBxW.mjs"],"sourcesContent":["import { t as CliStructuredError$1 } from \"./cli-errors-BG6bItjG.mjs\";\nimport { t as assertFrameworkComponentsCompatible } from \"./framework-components-C3K7SBeC.mjs\";\nimport { t as enrichContract } from \"./contract-enrichment-DrMvvY2A.mjs\";\nimport { n as buildContractSpaceAggregate } from \"./contract-space-aggregate-loader-CoLTf3Ce.mjs\";\nimport { emit } from \"@internal/emitter\";\nimport { CliStructuredError } from \"@internal/errors/control\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { APP_SPACE_ID, createControlStack, hasMigrations, hasOperationPreview, hasPslContractInfer, hasSchemaSubjectClassifier, hasSchemaView } from \"@internal/framework-components/control\";\nimport { blindCast, castAs } from \"@internal/utils/casts\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { allStorageElementsExternal, buildFabricatedMigrationEdge, collectAggregateNamespaces, planMigration, requireHeadRef, resolveRecordedPath, verifyMigration } from \"@internal/migration-tools/aggregate\";\nimport { EMPTY_CONTRACT_HASH } from \"@internal/migration-tools/constants\";\nimport { errorNoInvariantPath } from \"@internal/migration-tools/errors\";\nimport { createHash } from \"node:crypto\";\nimport { canonicalizeJson } from \"@internal/framework-components/utils\";\nimport { findPathWithDecision } from \"@internal/migration-tools/migration-graph\";\n//#region src/control-api/operations/migration-helpers.ts\n/**\n* Strips operation objects to their public shape (id, label, operationClass).\n* Used at the API boundary to avoid leaking internal fields (precheck, execute, postcheck, etc.).\n*/\nfunction stripOperations(operations) {\n\treturn operations.map((op) => ({\n\t\tid: op.id,\n\t\tlabel: op.label,\n\t\toperationClass: op.operationClass\n\t}));\n}\n//#endregion\n//#region src/control-api/operations/plan-identity.ts\n/**\n* Content identity of a `db update` plan: what it does (the ordered display\n* operations) and where it lands (the destination storage hash). A\n* `DESTRUCTIVE_CHANGES` refusal names the refused plan by this hash, and the\n* apply that carries the consent back recomputes it to prove it is still\n* applying the plan that was consented to.\n*/\nfunction computePlanHash(plan) {\n\tconst canonical = canonicalizeJson({\n\t\toperations: plan.operations,\n\t\tdestination: { storageHash: plan.destination.storageHash }\n\t});\n\treturn createHash(\"sha256\").update(canonical).digest(\"hex\");\n}\n//#endregion\n//#region src/control-api/operations/run-migration.ts\n/**\n* Span id emitted via `onProgress` for the run phase. Stable\n* identifier consumed by the structured-output renderer and by tests.\n*/\nconst RUN_SPAN_ID = \"apply\";\n/**\n* Runner-driving tail shared by every run caller — `db init`,\n* `db update`, and `migrate`. Consumes already-resolved per-space\n* plans (the planner-vs-replay distinction is owned by the caller) and\n* dispatches them to the runner in canonical order.\n*\n* Marker advancement is part of the runner's per-space transaction\n* (the SQL family runner writes the marker as the last step of each\n* space's transaction), so this primitive does not advance markers\n* separately — by the time `execute` returns ok, every\n* space's marker has been advanced to its plan's destination.\n*\n* Span emission (`spanStart 'apply'` / `spanEnd 'apply'`) is owned here\n* so callers don't have to duplicate it; the `action` field on each\n* progress event is taken from the caller's `action` argument.\n*/\nasync function runMigration(inputs) {\n\tconst { aggregate, perSpacePlans, applyOrder, driver, familyInstance, migrations, frameworkComponents, policy, action, onProgress } = inputs;\n\tconst orderedResolutions = collectOrdered(applyOrder, perSpacePlans);\n\tconst runner = migrations.createRunner(familyInstance);\n\tonProgress?.({\n\t\taction,\n\t\tkind: \"spanStart\",\n\t\tspanId: RUN_SPAN_ID,\n\t\tlabel: progressLabelForAction(action)\n\t});\n\tconst perSpaceOptions = orderedResolutions.map((r) => ({\n\t\tspace: r.spaceId,\n\t\tplan: r.entry.plan,\n\t\tdriver,\n\t\tdestinationContract: r.entry.destinationContract,\n\t\tpolicy,\n\t\tframeworkComponents,\n\t\tmigrationEdges: r.entry.migrationEdges,\n\t\tstrictVerification: false\n\t}));\n\tconst runnerResult = await runner.execute({\n\t\tdriver,\n\t\tperSpaceOptions\n\t});\n\tif (!runnerResult.ok) {\n\t\tonProgress?.({\n\t\t\taction,\n\t\t\tkind: \"spanEnd\",\n\t\t\tspanId: RUN_SPAN_ID,\n\t\t\toutcome: \"error\"\n\t\t});\n\t\treturn notOk({\n\t\t\tsummary: runnerResult.failure.summary,\n\t\t\t...ifDefined(\"why\", runnerResult.failure.why),\n\t\t\tmeta: {\n\t\t\t\t...runnerResult.failure.meta ?? {},\n\t\t\t\tfailingSpace: runnerResult.failure.failingSpace,\n\t\t\t\trunnerErrorCode: runnerResult.failure.code\n\t\t\t},\n\t\t\tcause: runnerResult.failure\n\t\t});\n\t}\n\tonProgress?.({\n\t\taction,\n\t\tkind: \"spanEnd\",\n\t\tspanId: RUN_SPAN_ID,\n\t\toutcome: \"ok\"\n\t});\n\treturn ok({\n\t\torderedResolutions,\n\t\ttotalOpsPlanned: runnerResult.value.perSpaceResults.reduce((sum, r) => sum + r.value.operationsPlanned, 0),\n\t\ttotalOpsExecuted: runnerResult.value.perSpaceResults.reduce((sum, r) => sum + r.value.operationsExecuted, 0),\n\t\tperSpace: buildPerSpaceBreakdown(orderedResolutions, aggregate.app.spaceId, { includeMarkers: true })\n\t});\n}\n/**\n* Project the planner's per-space resolutions into the\n* `PerSpaceExecutionEntry[]` shape the CLI surfaces.\n*\n* `includeMarkers` is `true` for apply-mode (each space's marker is\n* the `destination.storageHash` of its plan, which the runner\n* advances as the last step of each space's transaction) and `false`\n* for plan-mode (no marker has been written yet).\n*\n* Exported alongside {@link runMigration} so plan-mode callers can\n* assemble the same per-space block without going through the runner.\n*/\nfunction buildPerSpaceBreakdown(orderedResolutions, appSpaceId, options) {\n\treturn orderedResolutions.map((r) => {\n\t\tconst operations = r.entry.displayOps.map((op) => ({\n\t\t\tid: op.id,\n\t\t\tlabel: op.label,\n\t\t\toperationClass: op.operationClass\n\t\t}));\n\t\tconst base = {\n\t\t\tspaceId: r.spaceId,\n\t\t\tkind: r.spaceId === appSpaceId ? \"app\" : \"extension\",\n\t\t\toperations\n\t\t};\n\t\tif (!options.includeMarkers) return base;\n\t\treturn {\n\t\t\t...base,\n\t\t\tmarker: { storageHash: r.entry.plan.destination.storageHash }\n\t\t};\n\t});\n}\n/**\n* Materialise the `applyOrder` ordering into resolved per-space\n* entries. Throws if the planner output is missing a contract space listed\n* in `applyOrder` — a wiring bug that should never reach runtime.\n*\n* Exported so callers building their own success envelopes after a\n* plan-mode dispatch can replay the same ordering.\n*/\nfunction collectOrdered(applyOrder, perSpace) {\n\treturn applyOrder.map((spaceId) => {\n\t\tconst entry = perSpace.get(spaceId);\n\t\tif (!entry) throw new InternalError(`planner output missing per-space plan for \"${spaceId}\"`);\n\t\treturn {\n\t\t\tspaceId,\n\t\t\tentry\n\t\t};\n\t});\n}\n/**\n* Action-appropriate label for the `spanStart` event the run\n* primitive emits. `runMigration` is shared by `db init`, `db update`,\n* and `migrate`; the span label tracks the user-visible action\n* so structured-progress output reads naturally for each surface.\n*/\nfunction progressLabelForAction(action) {\n\tswitch (action) {\n\t\tcase \"dbInit\": return \"Initialising database across spaces\";\n\t\tcase \"dbUpdate\": return \"Updating database across spaces\";\n\t\tcase \"migrate\": return \"Running migration plan across spaces\";\n\t}\n}\n//#endregion\n//#region src/control-api/operations/db-run.ts\n/**\n* Span IDs emitted via `onProgress` during the run flow.\n* Stable identifiers consumed by the structured-output renderer and by\n* tests asserting on span ids. The `apply` span itself is owned by\n* the {@link runMigration} primitive — only the introspect / plan\n* spans are emitted directly here.\n*/\nconst SPAN_IDS$1 = {\n\tintrospect: \"introspect\",\n\tplan: \"plan\"\n};\n/**\n* Loader → planner → runner pipeline shared by `db init` and `db update`.\n*\n* The pipeline:\n*\n* 1. **Load**: build a {@link ContractSpaceAggregate} from the descriptor\n* set + on-disk on-disk artefacts. Any layout / drift / disjointness /\n* integrity violation short-circuits with a structured error.\n* 2. **Read DB state**: marker rows (`familyInstance.readAllMarkers`)\n* + introspected schema (`familyInstance.introspect`).\n* 3. **Plan**: {@link planMigration} chooses `resolveRecordedPath` vs\n* `planFromDiff` per space according to `callerPolicy.ignoreGraphFor`.\n* The app space is forced through `planFromDiff` (today's daily-driver\n* behaviour); every extension space walks its on-disk graph via\n* `resolveRecordedPath`.\n* 4. **Apply** (when `mode === 'apply'`): every per-space `MigrationPlan`\n* feeds into the runner's `execute` — one outer\n* transaction across every space; failure on any space rolls back\n* every space's writes.\n*/\nasync function executeRun(options) {\n\tconst { driver, adapter, familyInstance, contract, mode, migrations, frameworkComponents, migrationsDir, extensions, targetId, policy, action, onProgress } = options;\n\tconst loaded = await buildContractSpaceAggregate({\n\t\ttargetId,\n\t\tmigrationsDir,\n\t\tappContract: contract,\n\t\textensions,\n\t\tdeserializeContract: (json) => familyInstance.deserializeContract(json)\n\t});\n\tif (!loaded.ok) throw loaded.failure;\n\tconst aggregate = loaded.value;\n\tconst markerRows = await familyInstance.readAllMarkers({ driver });\n\tif (mode === \"apply\") {\n\t\tconst orphanMarkerError = detectOrphanMarkers(aggregate, markerRows);\n\t\tif (orphanMarkerError !== null) throw orphanMarkerError;\n\t}\n\tonProgress?.({\n\t\taction,\n\t\tkind: \"spanStart\",\n\t\tspanId: SPAN_IDS$1.introspect,\n\t\tlabel: \"Introspecting database schema\"\n\t});\n\tconst schemaIR = await familyInstance.introspect({\n\t\tdriver,\n\t\tcontract: collectAggregateNamespaces(aggregate)\n\t});\n\tonProgress?.({\n\t\taction,\n\t\tkind: \"spanEnd\",\n\t\tspanId: SPAN_IDS$1.introspect,\n\t\toutcome: \"ok\"\n\t});\n\tonProgress?.({\n\t\taction,\n\t\tkind: \"spanStart\",\n\t\tspanId: SPAN_IDS$1.plan,\n\t\tlabel: \"Planning migration\"\n\t});\n\tconst planResult = await planMigration({\n\t\taggregate,\n\t\tcurrentDBState: {\n\t\t\tmarkersBySpaceId: markerRows,\n\t\t\tschemaIntrospection: schemaIR\n\t\t},\n\t\tadapter,\n\t\tmigrations,\n\t\tframeworkComponents,\n\t\tcallerPolicy: { ignoreGraphFor: /* @__PURE__ */ new Set([aggregate.app.spaceId]) },\n\t\toperationPolicy: policy\n\t});\n\tif (!planResult.ok) {\n\t\tonProgress?.({\n\t\t\taction,\n\t\t\tkind: \"spanEnd\",\n\t\t\tspanId: SPAN_IDS$1.plan,\n\t\t\toutcome: \"error\"\n\t\t});\n\t\treturn mapPlannerError(planResult.failure);\n\t}\n\tonProgress?.({\n\t\taction,\n\t\tkind: \"spanEnd\",\n\t\tspanId: SPAN_IDS$1.plan,\n\t\toutcome: \"ok\"\n\t});\n\tconst orderedResolutions = collectOrdered(planResult.value.applyOrder, planResult.value.perSpace);\n\tconst plannerWarnings = aggregatePlannerWarnings(orderedResolutions);\n\tconst appResolution = orderedResolutions.find((r) => r.spaceId === aggregate.app.spaceId);\n\tif (!appResolution) throw new InternalError(\"Aggregate planner returned no plan for the app space — the planner is supposed to always emit one.\");\n\tconst appPlan = appResolution.entry.plan;\n\tif (mode === \"plan\") {\n\t\tconst aggregateOps = orderedResolutions.flatMap((r) => r.entry.displayOps);\n\t\tconst preview = hasOperationPreview(familyInstance) ? familyInstance.toOperationPreview(aggregateOps) : void 0;\n\t\tconst perSpace = buildPerSpaceBreakdown(orderedResolutions, aggregate.app.spaceId, { includeMarkers: false });\n\t\tconst summary = `Planned ${aggregateOps.length} operation(s) across ${orderedResolutions.length} space(s)`;\n\t\treturn wrapPlanResult({\n\t\t\toperations: aggregateOps,\n\t\t\tdestination: appPlan.destination,\n\t\t\tpreview,\n\t\t\tperSpace,\n\t\t\tsummary,\n\t\t\t...ifDefined(\"warnings\", plannerWarnings)\n\t\t});\n\t}\n\tif (options.consentedPlanHash !== void 0) {\n\t\tconst planHash = computePlanHash({\n\t\t\toperations: stripOperations(orderedResolutions.flatMap((r) => r.entry.displayOps)),\n\t\t\tdestination: appPlan.destination\n\t\t});\n\t\tif (planHash !== options.consentedPlanHash) return notOk({\n\t\t\tcode: \"CONSENT_PLAN_MISMATCH\",\n\t\t\tsummary: \"The plan changed between consent and apply\",\n\t\t\twhy: \"The plan recomputed for the consented apply is not the plan that was consented to, so applying it could destroy something nobody agreed to.\",\n\t\t\tconflicts: void 0,\n\t\t\tmeta: void 0,\n\t\t\tconsentPlanMismatch: {\n\t\t\t\tconsentedPlanHash: options.consentedPlanHash,\n\t\t\t\tplanHash\n\t\t\t},\n\t\t\t...ifDefined(\"warnings\", plannerWarnings)\n\t\t});\n\t}\n\tconst applied = await runMigration({\n\t\taggregate,\n\t\tperSpacePlans: planResult.value.perSpace,\n\t\tapplyOrder: planResult.value.applyOrder,\n\t\tdriver,\n\t\tfamilyInstance,\n\t\tmigrations,\n\t\tframeworkComponents,\n\t\tpolicy,\n\t\taction,\n\t\t...ifDefined(\"onProgress\", onProgress)\n\t});\n\tif (!applied.ok) return buildRunnerFailure({\n\t\tsummary: applied.failure.summary,\n\t\t...ifDefined(\"why\", applied.failure.why),\n\t\tmeta: applied.failure.meta,\n\t\t...ifDefined(\"warnings\", plannerWarnings),\n\t\t...ifDefined(\"cause\", applied.failure.cause)\n\t});\n\tconst aggregateOps = applied.value.orderedResolutions.flatMap((r) => r.entry.displayOps);\n\tconst summary = action === \"dbInit\" ? `Applied ${applied.value.totalOpsExecuted} operation(s) across ${applied.value.orderedResolutions.length} space(s), database signed` : applied.value.totalOpsExecuted === 0 ? `Database already matches contract across ${applied.value.orderedResolutions.length} space(s), signature updated` : `Applied ${applied.value.totalOpsExecuted} operation(s) across ${applied.value.orderedResolutions.length} space(s), signature updated`;\n\treturn wrapApplyResult({\n\t\toperations: aggregateOps,\n\t\tdestination: appPlan.destination,\n\t\toperationsPlanned: applied.value.totalOpsPlanned,\n\t\toperationsExecuted: applied.value.totalOpsExecuted,\n\t\tperSpace: applied.value.perSpace,\n\t\tsummary,\n\t\t...ifDefined(\"warnings\", plannerWarnings)\n\t});\n}\nfunction aggregatePlannerWarnings(orderedResolutions) {\n\tconst warnings = orderedResolutions.flatMap((r) => r.entry.warnings ?? []);\n\treturn warnings.length > 0 ? warnings : void 0;\n}\n/**\n* Compare the live `_prisma_marker` rows against the aggregate's\n* declared contract spaces. Any marker row whose `space` is not a space of\n* the aggregate is an \"orphan\" — typically a marker left behind by\n* an extension that was removed from `extensions` without first\n* cleaning up its on-disk migrations / database tables.\n*\n* Returns a {@link CliStructuredError} envelope (code\n* `MIGRATION.CONTRACT_SPACE_VIOLATION`, `kind: 'orphanMarker'`) for the\n* first orphan it finds, or `null`\n* when every marker row maps to a declared contract space. Mirrors the M2\n* `runContractSpaceVerifierMarkerCheck` envelope so downstream\n* tooling (integration tests, JSON consumers) keeps asserting on the\n* same shape.\n*/\nfunction detectOrphanMarkers(aggregate, markerRows) {\n\tconst aggregateSpaceIds = /* @__PURE__ */ new Set([aggregate.app.spaceId, ...aggregate.extensions.map((m) => m.spaceId)]);\n\tconst orphans = [];\n\tfor (const [spaceId, row] of markerRows) if (row !== null && row !== void 0 && !aggregateSpaceIds.has(spaceId)) orphans.push(spaceId);\n\tif (orphans.length === 0) return null;\n\torphans.sort((a, b) => a.localeCompare(b));\n\treturn new CliStructuredError$1(\"MIGRATION.CONTRACT_SPACE_VIOLATION\", orphans.length === 1 ? `Orphan contract-space marker detected for \"${orphans[0]}\"` : `Orphan contract-space markers detected for ${orphans.length} spaces`, {\n\t\twhy: `The database has \\`_prisma_marker\\` rows for spaces (${orphans.map((s) => `\"${s}\"`).join(\", \")}) that are not declared in the project's \\`extensions\\`. The aggregate pipeline refuses to advance markers it cannot account for.`,\n\t\tfix: \"Either re-declare the missing extension(s) in `extensions` (so the aggregate owns them again), or remove the orphan marker row(s) from `_prisma_marker` once you have confirmed the corresponding tables can be safely retired.\",\n\t\tdocsUrl: \"https://pris.ly/contract-spaces\",\n\t\tmeta: { violations: orphans.map((spaceId) => ({\n\t\t\tkind: \"orphanMarker\",\n\t\t\tspaceId\n\t\t})) }\n\t});\n}\nfunction mapPlannerError(error) {\n\tif (error.kind === \"planFromDiffFailed\") return blindCast(notOk({\n\t\tcode: \"PLANNING_FAILED\",\n\t\tsummary: \"Migration planning failed due to conflicts\",\n\t\tconflicts: error.conflicts,\n\t\twhy: void 0,\n\t\tmeta: void 0\n\t}));\n\tif (error.kind === \"extensionPathUnreachable\") return buildRunnerFailure({\n\t\tsummary: `Cannot resolve apply path for extension space \"${error.spaceId}\"`,\n\t\twhy: `No path in the on-disk migration graph for extension space \"${error.spaceId}\" reaches the on-disk head ref hash \"${error.target}\".`,\n\t\tmeta: {\n\t\t\tspaceId: error.spaceId,\n\t\t\ttarget: error.target\n\t\t}\n\t});\n\tif (error.kind === \"extensionPathUnsatisfiable\") return buildRunnerFailure({\n\t\tsummary: `Cannot resolve apply path for extension space \"${error.spaceId}\"`,\n\t\twhy: `On-disk migration graph for extension space \"${error.spaceId}\" reaches the on-disk head ref but does not cover required invariants: ${error.missingInvariants.join(\", \")}.`,\n\t\tmeta: {\n\t\t\tspaceId: error.spaceId,\n\t\t\tmissingInvariants: error.missingInvariants\n\t\t}\n\t});\n\treturn buildRunnerFailure({\n\t\tsummary: `Aggregate planner policy conflict for space \"${error.spaceId}\"`,\n\t\twhy: error.detail,\n\t\tmeta: { spaceId: error.spaceId }\n\t});\n}\nfunction wrapPlanResult(args) {\n\treturn ok({\n\t\tmode: \"plan\",\n\t\tplan: {\n\t\t\toperations: stripOperations(args.operations),\n\t\t\t...ifDefined(\"preview\", args.preview)\n\t\t},\n\t\tdestination: {\n\t\t\tstorageHash: args.destination.storageHash,\n\t\t\t...ifDefined(\"profileHash\", args.destination.profileHash)\n\t\t},\n\t\tperSpace: args.perSpace,\n\t\tsummary: args.summary,\n\t\t...ifDefined(\"warnings\", args.warnings)\n\t});\n}\nfunction wrapApplyResult(args) {\n\treturn ok({\n\t\tmode: \"apply\",\n\t\tplan: { operations: stripOperations(args.operations) },\n\t\tdestination: {\n\t\t\tstorageHash: args.destination.storageHash,\n\t\t\t...ifDefined(\"profileHash\", args.destination.profileHash)\n\t\t},\n\t\texecution: {\n\t\t\toperationsPlanned: args.operationsPlanned,\n\t\t\toperationsExecuted: args.operationsExecuted\n\t\t},\n\t\tmarker: args.destination.profileHash ? {\n\t\t\tstorageHash: args.destination.storageHash,\n\t\t\tprofileHash: args.destination.profileHash\n\t\t} : { storageHash: args.destination.storageHash },\n\t\tperSpace: args.perSpace,\n\t\tsummary: args.summary,\n\t\t...ifDefined(\"warnings\", args.warnings)\n\t});\n}\nfunction buildRunnerFailure(args) {\n\treturn blindCast(notOk({\n\t\tcode: \"RUNNER_FAILED\",\n\t\tsummary: args.summary,\n\t\twhy: args.why,\n\t\tmeta: args.meta,\n\t\tconflicts: void 0,\n\t\t...ifDefined(\"warnings\", args.warnings),\n\t\t...ifDefined(\"cause\", args.cause)\n\t}));\n}\n//#endregion\n//#region src/control-api/operations/db-init.ts\n/**\n* Execute `db init` against the configured contract.\n*\n* Routes through the loader → planner → runner pipeline (sub-spec\n* \"Commit-by-commit § Commit 4\"). Always additive-only; destructive\n* changes belong to `db update`.\n*/\nasync function executeDbInit(options) {\n\treturn await executeRun({\n\t\tdriver: options.driver,\n\t\tadapter: options.adapter,\n\t\tfamilyInstance: options.familyInstance,\n\t\tcontract: options.contract,\n\t\tmode: options.mode,\n\t\tmigrations: options.migrations,\n\t\tframeworkComponents: options.frameworkComponents,\n\t\tmigrationsDir: options.migrationsDir,\n\t\ttargetId: options.targetId,\n\t\textensions: options.extensions ?? [],\n\t\tpolicy: { allowedOperationClasses: [\"additive\"] },\n\t\taction: \"dbInit\",\n\t\t...ifDefined(\"onProgress\", options.onProgress)\n\t});\n}\n//#endregion\n//#region src/control-api/operations/db-update.ts\nconst DB_UPDATE_POLICY = { allowedOperationClasses: [\n\t\"additive\",\n\t\"widening\",\n\t\"destructive\"\n] };\n/**\n* Execute `db update` against the configured contract.\n*\n* Routes through the loader → planner → runner pipeline. Destructive\n* operations require either `acceptDataLoss: true` or a prior\n* `mode: 'plan'` invocation that surfaces the destructive ops; the\n* confirmation gate is implemented here so the lower-level applier\n* remains policy-agnostic.\n*/\nasync function executeDbUpdate(options) {\n\tconst sharedInputs = {\n\t\tdriver: options.driver,\n\t\tadapter: options.adapter,\n\t\tfamilyInstance: options.familyInstance,\n\t\tcontract: options.contract,\n\t\tmigrations: options.migrations,\n\t\tframeworkComponents: options.frameworkComponents,\n\t\tmigrationsDir: options.migrationsDir,\n\t\ttargetId: options.targetId,\n\t\textensions: options.extensions ?? [],\n\t\tpolicy: DB_UPDATE_POLICY,\n\t\taction: \"dbUpdate\",\n\t\t...ifDefined(\"onProgress\", options.onProgress)\n\t};\n\tif (options.mode === \"apply\" && !options.acceptDataLoss && options.consent === void 0) {\n\t\tconst refusal = await guardDestructiveChanges(sharedInputs);\n\t\tif (refusal !== null) return refusal;\n\t}\n\treturn await executeRun({\n\t\t...sharedInputs,\n\t\tmode: options.mode,\n\t\t...ifDefined(\"consentedPlanHash\", options.consent?.planHash)\n\t});\n}\n/**\n* Pre-plan once when running `db update apply` without `acceptDataLoss`.\n* Surfaces destructive operations across every space; if any are\n* planned, returns a `DESTRUCTIVE_CHANGES` failure that the CLI shows\n* as a confirmation prompt. Returns `null` when the apply is safe to\n* run.\n*/\nasync function guardDestructiveChanges(sharedInputs) {\n\tconst planResult = await executeRun({\n\t\t...sharedInputs,\n\t\tmode: \"plan\"\n\t});\n\tif (!planResult.ok) return planResult;\n\tconst destructiveOps = planResult.value.plan.operations.filter((op) => op.operationClass === \"destructive\").map((op) => ({\n\t\tid: op.id,\n\t\tlabel: op.label\n\t}));\n\tif (destructiveOps.length === 0) return null;\n\tconst databaseName = await sharedInputs.driver.databaseName?.();\n\treturn notOk({\n\t\tcode: \"DESTRUCTIVE_CHANGES\",\n\t\tsummary: `Planned ${destructiveOps.length} destructive operation(s) that require confirmation`,\n\t\twhy: \"Destructive operations require explicit consent, which the caller has not given\",\n\t\tconflicts: void 0,\n\t\tmeta: void 0,\n\t\tdestructiveChanges: {\n\t\t\tdestructiveOperations: destructiveOps,\n\t\t\tdatabaseName,\n\t\t\tplanHash: computePlanHash({\n\t\t\t\toperations: planResult.value.plan.operations,\n\t\t\t\tdestination: planResult.value.destination\n\t\t\t})\n\t\t},\n\t\t...ifDefined(\"warnings\", planResult.value.warnings)\n\t});\n}\n//#endregion\n//#region src/control-api/operations/db-verify.ts\n/**\n* Span IDs emitted via `onProgress` during the aggregate verify flow.\n* Mirrors the span identifiers used by the legacy precheck / marker-check\n* helpers so structured-output renderers and progress tests keep working.\n*/\nconst SPAN_IDS = {\n\tintrospect: \"introspect\",\n\tverify: \"verify\"\n};\n/**\n* Loader → verifier pipeline shared by `db verify` modes (`full`,\n* `marker-only`, `schema-only`).\n*\n* 1. **Load**: build a {@link import('@internal/migration-tools/aggregate').ContractSpaceAggregate}\n* from descriptors + on-disk on-disk artefacts. Layout / drift /\n* integrity / disjointness violations short-circuit with a\n* structured CLI error.\n* 2. **Read DB state**: marker rows + (when `skipSchema` is `false`)\n* schema introspection.\n* 3. **Verify**: {@link verifyMigration} returns per-space `markerCheck` +\n* per-space `schemaCheck` (each contract space verified against the full schema,\n* then scoped to its own contract space). Marker mismatches map to\n* `CliStructuredError` (code `5002`) so callers (CLI command) can render\n* and exit. Verify results are returned to the caller verbatim.\n*/\nasync function executeDbVerify(options) {\n\tconst { driver, familyInstance, onProgress, skipSchema, skipMarker } = options;\n\tconst loaded = await buildContractSpaceAggregate(buildLoadInputs(options));\n\tif (!loaded.ok) return notOk(loaded.failure);\n\tconst aggregate = loaded.value;\n\tconst markersBySpaceId = await familyInstance.readAllMarkers({ driver });\n\tconst schemaIntrospection = skipSchema ? null : await runIntrospection({\n\t\tdriver,\n\t\tfamilyInstance,\n\t\tonProgress,\n\t\tcontract: collectAggregateNamespaces(aggregate)\n\t});\n\tconst classifySubjectGranularity = hasSchemaSubjectClassifier(familyInstance) ? (issue) => familyInstance.classifySubjectGranularity(issue) : void 0;\n\tconst classifyEntityKind = hasSchemaSubjectClassifier(familyInstance) ? (issue) => familyInstance.classifyEntityKind(issue) : void 0;\n\temitVerifySpan(onProgress, \"spanStart\");\n\treturn finaliseVerifyResult({\n\t\tverifyResult: verifyMigration({\n\t\t\taggregate,\n\t\t\tmarkersBySpaceId,\n\t\t\tschemaIntrospection,\n\t\t\tmode: options.mode,\n\t\t\tverifySchemaForSpace: createPerSpaceVerifier(options),\n\t\t\t...ifDefined(\"classifySubjectGranularity\", classifySubjectGranularity),\n\t\t\t...ifDefined(\"classifyEntityKind\", classifyEntityKind)\n\t\t}),\n\t\taggregate,\n\t\tskipMarker,\n\t\tonProgress\n\t});\n}\nfunction buildLoadInputs(options) {\n\treturn {\n\t\ttargetId: options.targetId,\n\t\tmigrationsDir: options.migrationsDir,\n\t\tappContract: options.contract,\n\t\textensions: options.extensions,\n\t\tdeserializeContract: (json) => options.familyInstance.deserializeContract(json)\n\t};\n}\nasync function runIntrospection(args) {\n\tconst { driver, familyInstance, onProgress, contract } = args;\n\tonProgress?.({\n\t\taction: \"dbVerify\",\n\t\tkind: \"spanStart\",\n\t\tspanId: SPAN_IDS.introspect,\n\t\tlabel: \"Introspecting database schema\"\n\t});\n\ttry {\n\t\tconst result = await familyInstance.introspect({\n\t\t\tdriver,\n\t\t\tcontract\n\t\t});\n\t\tonProgress?.({\n\t\t\taction: \"dbVerify\",\n\t\t\tkind: \"spanEnd\",\n\t\t\tspanId: SPAN_IDS.introspect,\n\t\t\toutcome: \"ok\"\n\t\t});\n\t\treturn result;\n\t} catch (error) {\n\t\tonProgress?.({\n\t\t\taction: \"dbVerify\",\n\t\t\tkind: \"spanEnd\",\n\t\t\tspanId: SPAN_IDS.introspect,\n\t\t\toutcome: \"error\"\n\t\t});\n\t\tthrow error;\n\t}\n}\n/**\n* Build the per-space schema callback handed to the aggregate verifier.\n* When `skipSchema` is true the callback short-circuits with a synthetic\n* `ok` result so the verifier still runs the (cheap) schemaCheck loop\n* without invoking the family's verification path.\n*/\nfunction createPerSpaceVerifier(options) {\n\tconst { skipSchema, familyInstance, frameworkComponents } = options;\n\treturn (schema, space, verifyMode) => {\n\t\tif (skipSchema) return buildSkippedSchemaResult(space);\n\t\treturn familyInstance.verifySchema({\n\t\t\tcontract: space.contract(),\n\t\t\tschema,\n\t\t\tstrict: verifyMode === \"strict\",\n\t\t\tframeworkComponents\n\t\t});\n\t};\n}\nfunction emitVerifySpan(onProgress, kind) {\n\tif (kind === \"spanStart\") {\n\t\tonProgress?.({\n\t\t\taction: \"dbVerify\",\n\t\t\tkind: \"spanStart\",\n\t\t\tspanId: SPAN_IDS.verify,\n\t\t\tlabel: \"Verifying contract spaces\"\n\t\t});\n\t\treturn;\n\t}\n\tonProgress?.({\n\t\taction: \"dbVerify\",\n\t\tkind: \"spanEnd\",\n\t\tspanId: SPAN_IDS.verify,\n\t\toutcome: kind === \"spanEndOk\" ? \"ok\" : \"error\"\n\t});\n}\n/**\n* Map an {@link VerifierOutput} to the operation's\n* {@link ExecuteDbVerifyResult}, applying the `skipMarker` policy used\n* by the CLI's `--schema-only` mode.\n*/\nfunction finaliseVerifyResult(args) {\n\tconst { verifyResult, aggregate, skipMarker, onProgress } = args;\n\tif (!verifyResult.ok) {\n\t\temitVerifySpan(onProgress, \"spanEndError\");\n\t\treturn notOk(new CliStructuredError$1(\"MIGRATION.CONTRACT_SPACE_VIOLATION\", \"Aggregate verifier introspection failed\", {\n\t\t\twhy: verifyResult.failure.detail,\n\t\t\tfix: \"Check database connectivity and the introspection tooling.\",\n\t\t\tdocsUrl: \"https://pris.ly/contract-spaces\"\n\t\t}));\n\t}\n\tconst markerError = skipMarker ? null : mapMarkerCheckFailures(aggregate.app.spaceId, verifyResult.value.markerCheck);\n\tif (markerError !== null) {\n\t\temitVerifySpan(onProgress, \"spanEndError\");\n\t\treturn notOk(markerError);\n\t}\n\temitVerifySpan(onProgress, \"spanEndOk\");\n\treturn ok({\n\t\tschemaResults: verifyResult.value.schemaCheck.perSpace,\n\t\tunclaimed: verifyResult.value.schemaCheck.unclaimed,\n\t\tspaceOrder: [aggregate.app.spaceId, ...aggregate.extensions.map((e) => e.spaceId)],\n\t\tappSpaceId: aggregate.app.spaceId\n\t});\n}\nfunction buildSkippedSchemaResult(space) {\n\tconst contract = space.contract();\n\tconst headRef = requireHeadRef(space);\n\tconst profileHash = castAs(contract).profileHash;\n\treturn {\n\t\tok: true,\n\t\tsummary: \"Schema verification skipped\",\n\t\tcontract: {\n\t\t\tstorageHash: headRef.hash,\n\t\t\t...profileHash ? { profileHash } : {}\n\t\t},\n\t\ttarget: { expected: contract.target },\n\t\tschema: { issues: [] },\n\t\ttimings: { total: 0 }\n\t};\n}\n/**\n* Translate per-space marker check failures and orphan markers into a\n* single CLI structured error envelope. Preserves the legacy code\n* `MIGRATION.CONTRACT_SPACE_VIOLATION` (was emitted by\n* `runContractSpaceVerifierMarkerCheck`).\n*/\nfunction mapMarkerCheckFailures(appSpaceId, section) {\n\tconst violations = [];\n\tfor (const [spaceId, result] of section.perSpace) {\n\t\tif (result.kind === \"ok\" || result.kind === \"absent\") continue;\n\t\tif (result.kind === \"hashMismatch\") {\n\t\t\tviolations.push({\n\t\t\t\tkind: \"hashMismatch\",\n\t\t\t\tspaceId,\n\t\t\t\tremediation: spaceId === appSpaceId ? \"Run `prisma-next db update` to advance the marker, or roll the database back to the recorded hash.\" : `Apply on-disk migrations under \\`migrations/${spaceId}/\\` to advance the marker, or remove the conflicting marker row.`\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (result.kind === \"missingInvariants\") violations.push({\n\t\t\tkind: \"invariantsMismatch\",\n\t\t\tspaceId,\n\t\t\tremediation: `Re-apply the migrations under \\`migrations/${spaceId}/\\` so the marker carries invariants: ${result.missing.join(\", \")}.`\n\t\t});\n\t}\n\tfor (const orphan of section.orphanMarkers) violations.push({\n\t\tkind: \"orphanMarker\",\n\t\tspaceId: orphan.spaceId,\n\t\tremediation: `Add the corresponding extension to \\`extensions\\` in \\`prisma-next.config.ts\\`, or delete the orphan marker row for \"${orphan.spaceId}\".`\n\t});\n\tif (violations.length === 0) return null;\n\tconst lines = violations.map((v) => `- [${v.kind}] ${v.spaceId}: ${v.remediation}`);\n\treturn new CliStructuredError$1(\"MIGRATION.CONTRACT_SPACE_VIOLATION\", violations.length === 1 ? \"Contract-space verifier found a violation\" : `Contract-space verifier found violations (${violations.length})`, {\n\t\twhy: `The on-disk \\`migrations/\\` directory, the \\`extensions\\` declaration, and the live database marker rows are not in agreement.\\n${lines.join(\"\\n\")}`,\n\t\tfix: violations[0]?.remediation ?? \"Review and reconcile the violations listed above.\",\n\t\tdocsUrl: \"https://pris.ly/contract-spaces\",\n\t\tmeta: { violations }\n\t});\n}\n//#endregion\n//#region src/control-api/operations/migrate.ts\n/**\n* Apply pending migrations across every contract space (app +\n* extensions). Replay-only: graph-walk against the on-disk graph for\n* every contract space; no synth, no introspection.\n*\n* Pipeline:\n*\n* 1. Load aggregate from disk (loader hydrates extension graphs;\n* caller provides app-space packages).\n* 2. Read live marker rows per space (`familyInstance.readAllMarkers`).\n* 3. Per space: `resolveRecordedPath` plots the path from the live\n* marker to `space.headRef.hash` (or `refHash` for the app\n* space when provided). An empty-graph space whose elements are ALL\n* externally managed resolves declaratively (marker to head, zero\n* ops), mirroring the db-init aggregate planner: such a space ships\n* no DDL and has nothing to author. Every other empty-graph space\n* fails loudly — \"never planned\" is a user-error condition for\n* replay.\n* 4. Hand off to {@link runMigration} (the runner-driving tail\n* shared with `db init` / `db update`). Marker advancement is\n* inside the per-space transaction.\n*\n* Encodes the replay-only contract: the app contract space must have an\n* authored migration graph on disk before this operation can advance it.\n*/\nasync function executeMigrate(options) {\n\tconst { driver, familyInstance, contract, migrations, frameworkComponents, migrationsDir, extensions, targetId, refHash, refInvariants, refName, onProgress } = options;\n\tconst loaded = await buildContractSpaceAggregate({\n\t\ttargetId,\n\t\tmigrationsDir,\n\t\tappContract: contract,\n\t\textensions,\n\t\tdeserializeContract: (json) => familyInstance.deserializeContract(json)\n\t});\n\tif (!loaded.ok) throw loaded.failure;\n\tconst aggregate = loaded.value;\n\tconst markerRows = await familyInstance.readAllMarkers({ driver });\n\tconst allSpaces = [aggregate.app, ...aggregate.extensions];\n\tconst perSpacePlans = /* @__PURE__ */ new Map();\n\tconst atHeadResolutions = /* @__PURE__ */ new Map();\n\tfor (const space of allSpaces) {\n\t\tconst isAppSpace = space.spaceId === aggregate.app.spaceId;\n\t\tconst headRef = requireHeadRef(space);\n\t\tconst spaceTargetHash = isAppSpace && refHash !== void 0 ? refHash : headRef.hash;\n\t\tconst outcome = planSpacePath({\n\t\t\tspace,\n\t\t\taggregate,\n\t\t\ttargetHash: spaceTargetHash,\n\t\t\trefInvariants: isAppSpace && refHash !== void 0 ? refInvariants : void 0,\n\t\t\tliveMarker: markerRows.get(space.spaceId) ?? null,\n\t\t\t...isAppSpace ? { refName } : {}\n\t\t});\n\t\tif (outcome.kind === \"at-head\") {\n\t\t\tatHeadResolutions.set(space.spaceId, outcome.plan);\n\t\t\tcontinue;\n\t\t}\n\t\tif (outcome.kind === \"never-planned\") return notOk(buildNeverPlannedFailure(outcome.spaceId, outcome.targetHash));\n\t\tif (outcome.kind === \"unreachable\") return notOk(buildPathNotFoundFailure(outcome.spaceId, outcome.liveMarker, outcome.targetHash));\n\t\tif (outcome.kind === \"unsatisfiable\") {\n\t\t\tconst structural = findPathWithDecision(outcome.targetSpace.graph(), outcome.liveHash, spaceTargetHash, { required: /* @__PURE__ */ new Set() });\n\t\t\tconst structuralPath = structural.kind === \"ok\" ? structural.decision.selectedPath.map((edge) => ({\n\t\t\t\tdirName: edge.dirName,\n\t\t\t\tmigrationHash: edge.migrationHash,\n\t\t\t\tfrom: edge.from,\n\t\t\t\tto: edge.to,\n\t\t\t\tinvariants: edge.invariants\n\t\t\t})) : [];\n\t\t\tthrow errorNoInvariantPath({\n\t\t\t\t...outcome.refName !== void 0 ? { refName: outcome.refName } : {},\n\t\t\t\trequired: outcome.targetInvariants,\n\t\t\t\tmissing: outcome.missing,\n\t\t\t\tstructuralPath\n\t\t\t});\n\t\t}\n\t\tperSpacePlans.set(space.spaceId, outcome.plan);\n\t}\n\tconst canonicalOrder = [...aggregate.extensions.map((m) => m.spaceId), aggregate.app.spaceId];\n\tconst applyOrder = canonicalOrder.filter((spaceId) => perSpacePlans.has(spaceId));\n\tif (!applyOrder.some((spaceId) => {\n\t\tconst entry = perSpacePlans.get(spaceId);\n\t\treturn entry !== void 0 && planRequiresExecution(entry);\n\t})) {\n\t\tconst ordered = canonicalOrder.filter((spaceId) => perSpacePlans.has(spaceId) || atHeadResolutions.has(spaceId)).map((spaceId) => {\n\t\t\tconst entry = perSpacePlans.get(spaceId) ?? atHeadResolutions.get(spaceId);\n\t\t\tif (entry === void 0) throw new InternalError(`Unreachable: missing per-space plan for \"${spaceId}\"`);\n\t\t\treturn {\n\t\t\t\tspaceId,\n\t\t\t\tentry\n\t\t\t};\n\t\t});\n\t\tconst perSpace = buildPerSpaceBreakdown(ordered, aggregate.app.spaceId, { includeMarkers: true });\n\t\tconst totalSpaces = ordered.length;\n\t\treturn ok(buildSuccess({\n\t\t\taggregate,\n\t\t\torderedResolutions: ordered,\n\t\t\tperSpace,\n\t\t\ttotalOpsExecuted: 0,\n\t\t\tsummary: totalSpaces === 0 ? \"Already up to date — no contract spaces are loaded\" : totalSpaces === 1 ? \"Already up to date\" : `Already up to date across ${totalSpaces} space(s)`\n\t\t}));\n\t}\n\tconst applied = await runMigration({\n\t\taggregate,\n\t\tperSpacePlans,\n\t\tapplyOrder,\n\t\tdriver,\n\t\tfamilyInstance,\n\t\tmigrations,\n\t\tframeworkComponents,\n\t\tpolicy: { allowedOperationClasses: [\n\t\t\t\"additive\",\n\t\t\t\"widening\",\n\t\t\t\"destructive\",\n\t\t\t\"data\"\n\t\t] },\n\t\taction: \"migrate\",\n\t\t...ifDefined(\"onProgress\", onProgress)\n\t});\n\tif (!applied.ok) return notOk({\n\t\tcode: \"RUNNER_FAILED\",\n\t\tsummary: applied.failure.summary,\n\t\twhy: applied.failure.why,\n\t\tmeta: applied.failure.meta,\n\t\t...ifDefined(\"cause\", applied.failure.cause)\n\t});\n\tconst orderedAll = canonicalOrder.filter((spaceId) => perSpacePlans.has(spaceId) || atHeadResolutions.has(spaceId)).map((spaceId) => {\n\t\tif (perSpacePlans.has(spaceId)) {\n\t\t\tconst fromRunner = applied.value.orderedResolutions.find((r) => r.spaceId === spaceId);\n\t\t\tif (fromRunner !== void 0) return fromRunner;\n\t\t}\n\t\tconst entry = atHeadResolutions.get(spaceId);\n\t\tif (entry === void 0) throw new InternalError(`Unreachable: missing per-space plan for \"${spaceId}\"`);\n\t\treturn {\n\t\t\tspaceId,\n\t\t\tentry\n\t\t};\n\t});\n\tconst perSpaceAll = buildPerSpaceBreakdown(orderedAll, aggregate.app.spaceId, { includeMarkers: true });\n\tconst summary = `Applied ${applied.value.orderedResolutions.reduce((sum, r) => sum + r.entry.migrationEdges.length, 0)} migration(s) (${applied.value.totalOpsExecuted} operation(s)) across ${orderedAll.length} contract space(s)`;\n\treturn ok(buildSuccess({\n\t\taggregate,\n\t\torderedResolutions: orderedAll,\n\t\tperSpace: perSpaceAll,\n\t\ttotalOpsExecuted: applied.value.totalOpsExecuted,\n\t\tsummary\n\t}));\n}\n/**\n* Compute the graph-walk path for one contract space.\n*\n* Encapsulates the invariant-correct input assembly that both\n* `executeMigrate` and `executeMigrateShowCommand` must use:\n* - `currentMarker` carries the full live marker including `invariants`\n* (not a stripped `{ storageHash, invariants: [] }` shell).\n* - `targetInvariants` uses the caller-supplied `refInvariants` when a\n* `--to` ref was resolved (not always the file head ref's invariants).\n*\n* Both callers map the returned `SpacePathOutcome` to their own error\n* representation; the path-compute logic is shared and identical.\n*\n* @internal Exported for `executeMigrateShowCommand`.\n*/\nfunction planSpacePath({ space, aggregate, targetHash, refInvariants, liveMarker, refName }) {\n\tconst isAppSpace = space.spaceId === aggregate.app.spaceId;\n\tconst headRef = requireHeadRef(space);\n\tif (space.graph().nodes.size === 0) {\n\t\tconst liveHash = liveMarker?.storageHash;\n\t\tif (targetHash === liveHash || liveHash === void 0 && targetHash === EMPTY_CONTRACT_HASH) return {\n\t\t\tkind: \"at-head\",\n\t\t\tplan: buildAtHeadResolution({\n\t\t\t\taggregateTargetId: aggregate.targetId,\n\t\t\t\tspace,\n\t\t\t\ttargetHash,\n\t\t\t\tliveMarker\n\t\t\t})\n\t\t};\n\t\tif (!isAppSpace && allStorageElementsExternal(space.contract())) {\n\t\t\tif (headRef.invariants.length > 0) return {\n\t\t\t\tkind: \"unsatisfiable\",\n\t\t\t\tspaceId: space.spaceId,\n\t\t\t\tisAppSpace,\n\t\t\t\tmissing: [...headRef.invariants].sort(),\n\t\t\t\ttargetInvariants: headRef.invariants,\n\t\t\t\ttargetSpace: space,\n\t\t\t\tliveHash: liveHash ?? EMPTY_CONTRACT_HASH,\n\t\t\t\trefName: void 0\n\t\t\t};\n\t\t\treturn {\n\t\t\t\tkind: \"ok\",\n\t\t\t\tplan: buildAtHeadResolution({\n\t\t\t\t\taggregateTargetId: aggregate.targetId,\n\t\t\t\t\tspace,\n\t\t\t\t\ttargetHash,\n\t\t\t\t\tliveMarker\n\t\t\t\t})\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tkind: \"never-planned\",\n\t\t\tspaceId: space.spaceId,\n\t\t\ttargetHash\n\t\t};\n\t}\n\tconst targetInvariants = isAppSpace && refInvariants !== void 0 ? refInvariants : headRef.invariants;\n\tconst targetSpace = targetHash === headRef.hash && targetInvariants === headRef.invariants ? space : {\n\t\t...space,\n\t\theadRef: {\n\t\t\thash: targetHash,\n\t\t\tinvariants: targetInvariants\n\t\t}\n\t};\n\tconst walked = resolveRecordedPath({\n\t\taggregateTargetId: aggregate.targetId,\n\t\tspace: targetSpace,\n\t\tcurrentMarker: liveMarker,\n\t\t...isAppSpace && refName !== void 0 ? { refName } : {}\n\t});\n\tif (walked.kind === \"unreachable\") return {\n\t\tkind: \"unreachable\",\n\t\tspaceId: space.spaceId,\n\t\tliveMarker,\n\t\ttargetHash\n\t};\n\tif (walked.kind === \"unsatisfiable\") {\n\t\tconst liveHash = liveMarker?.storageHash ?? EMPTY_CONTRACT_HASH;\n\t\treturn {\n\t\t\tkind: \"unsatisfiable\",\n\t\t\tspaceId: space.spaceId,\n\t\t\tisAppSpace,\n\t\t\tmissing: walked.missing,\n\t\t\ttargetInvariants,\n\t\t\ttargetSpace,\n\t\t\tliveHash,\n\t\t\trefName\n\t\t};\n\t}\n\treturn {\n\t\tkind: \"ok\",\n\t\tplan: walked.result\n\t};\n}\n/**\n* Build a zero-op {@link PerSpacePlan} for an empty-graph space —\n* either one whose live marker already matches the target (at-head), or\n* an all-external extension space whose marker must advance to the head\n* ref with no DDL (declared-state). Lets the apply pipeline thread the\n* space through `perSpacePlans` -> `applyOrder` -> the success\n* envelope's `perSpace[]` block so the result reflects every loaded\n* space, even when there is nothing to execute.\n*/\nfunction buildAtHeadResolution(args) {\n\tconst { aggregateTargetId, space, targetHash, liveMarker } = args;\n\treturn {\n\t\tplan: {\n\t\t\ttargetId: aggregateTargetId,\n\t\t\tspaceId: space.spaceId,\n\t\t\torigin: liveMarker === null ? null : { storageHash: liveMarker.storageHash },\n\t\t\tdestination: { storageHash: targetHash },\n\t\t\toperations: [],\n\t\t\tprovidedInvariants: []\n\t\t},\n\t\tdisplayOps: [],\n\t\tdestinationContract: space.contract(),\n\t\tstrategy: \"declared-state\",\n\t\tmigrationEdges: [buildFabricatedMigrationEdge({\n\t\t\tcurrentMarkerStorageHash: liveMarker?.storageHash,\n\t\t\tdestinationStorageHash: targetHash,\n\t\t\toperationCount: 0\n\t\t})]\n\t};\n}\n/**\n* A plan needs the runner when it executes operations or advances the\n* space's marker (a declared-state resolution has zero operations but a\n* destination hash the live marker doesn't carry yet).\n*/\nfunction planRequiresExecution(entry) {\n\tif (entry.plan.operations.length > 0) return true;\n\treturn entry.plan.origin?.storageHash !== entry.plan.destination.storageHash;\n}\nfunction buildSuccess(args) {\n\tconst appResolution = args.orderedResolutions.find((r) => r.spaceId === args.aggregate.app.spaceId);\n\tconst appMarkerHash = appResolution?.entry.plan.destination.storageHash ?? requireHeadRef(args.aggregate.app).hash;\n\tconst applied = args.orderedResolutions.flatMap((r) => {\n\t\treturn r.entry.migrationEdges.map((edge) => ({\n\t\t\tspaceId: r.spaceId,\n\t\t\tdirName: edge.dirName,\n\t\t\tmigrationHash: edge.migrationHash,\n\t\t\tfrom: edge.from,\n\t\t\tto: edge.to,\n\t\t\toperationsExecuted: edge.operationCount\n\t\t}));\n\t});\n\tconst appPlan = appResolution?.entry;\n\tconst pathDecision = appPlan?.pathDecision ? {\n\t\tfromHash: appPlan.pathDecision.fromHash,\n\t\ttoHash: appPlan.pathDecision.toHash,\n\t\talternativeCount: appPlan.pathDecision.alternativeCount,\n\t\ttieBreakReasons: appPlan.pathDecision.tieBreakReasons,\n\t\t...appPlan.pathDecision.refName !== void 0 ? { refName: appPlan.pathDecision.refName } : {},\n\t\trequiredInvariants: appPlan.pathDecision.requiredInvariants ?? [],\n\t\tsatisfiedInvariants: appPlan.pathDecision.satisfiedInvariants ?? [],\n\t\tselectedPath: appPlan.pathDecision.selectedPath.map((entry) => ({\n\t\t\tdirName: entry.dirName,\n\t\t\tmigrationHash: entry.migrationHash,\n\t\t\tfrom: entry.from,\n\t\t\tto: entry.to,\n\t\t\tinvariants: entry.invariants\n\t\t}))\n\t} : void 0;\n\treturn {\n\t\tmigrationsApplied: applied.length,\n\t\tmarkerHash: appMarkerHash,\n\t\tapplied,\n\t\tsummary: args.summary,\n\t\tperSpace: args.perSpace,\n\t\t...pathDecision !== void 0 ? { pathDecision } : {}\n\t};\n}\n/**\n* Build the `neverPlanned` failure raised when a contract space that\n* declares managed storage elements has no on-disk migration graph but\n* migrate was asked to reach a target hash. All-external spaces never reach\n* this: they resolve declaratively (marker advances to the head ref with\n* zero operations). The `why` states only the condition; the recovery\n* sequence is composed by `errorPathUnreachable`'s `fix`.\n*\n* @internal Exported for testing only.\n*/\nfunction buildNeverPlannedFailure(spaceId, targetHash) {\n\treturn {\n\t\tcode: \"MIGRATION_PATH_NOT_FOUND\",\n\t\tsummary: `No on-disk migrations for contract space \"${spaceId}\"`,\n\t\twhy: `migrate is replay-only: a contract space that declares managed storage elements must have an authored migration graph on disk. Space \"${spaceId}\" has no migrations under \\`migrations/${spaceId}/\\` but its head ref targets \"${targetHash}\".`,\n\t\tmeta: {\n\t\t\tspaceId,\n\t\t\ttarget: targetHash,\n\t\t\tkind: \"neverPlanned\"\n\t\t}\n\t};\n}\n/**\n* Build the `pathUnreachable` failure raised when an emitted contract has no\n* on-disk migration edge from the current marker to the target. The `why`\n* states only the condition (no edge between the two named states, and migrate\n* replays edges rather than inventing them); the recovery sequence — plan the\n* edge, then re-apply — is composed by `errorPathUnreachable`'s `fix`, so the\n* two read as one non-redundant plan-then-apply story.\n*\n* @internal Exported for testing only.\n*/\nfunction buildPathNotFoundFailure(spaceId, marker, targetHash) {\n\tconst fromHash = marker?.storageHash ?? \"<empty>\";\n\treturn {\n\t\tcode: \"MIGRATION_PATH_NOT_FOUND\",\n\t\tsummary: spaceId === \"app\" ? \"Current contract has no planned migration path\" : `Current contract has no planned migration path for contract space \"${spaceId}\"`,\n\t\twhy: `No migration edge connects the current state \"${fromHash}\" to the target \"${targetHash}\" in contract space \"${spaceId}\". The on-disk migration graph does not join the two, and migrate replays existing edges — it never invents one.`,\n\t\tmeta: {\n\t\t\tspaceId,\n\t\t\tfromHash,\n\t\t\ttargetHash,\n\t\t\tkind: \"pathUnreachable\"\n\t\t}\n\t};\n}\n//#endregion\n//#region src/control-api/client.ts\n/**\n* Creates a programmatic control client for Prisma Next operations.\n*\n* The client accepts framework component descriptors at creation time,\n* manages driver lifecycle via connect()/close(), and exposes domain\n* operations that delegate to the existing family instance methods.\n*\n* @see {@link ControlClient} for the client interface\n* @see README.md \"Programmatic Control API\" section for usage examples\n*/\nfunction createControlClient(options) {\n\treturn new ControlClientImpl(options);\n}\n/**\n* Implementation of ControlClient.\n* Manages initialization and connection state, delegates operations to family instance.\n*/\nvar ControlClientImpl = class {\n\toptions;\n\tstack = null;\n\tdriver = null;\n\tfamilyInstance = null;\n\tframeworkComponents = null;\n\tinitialized = false;\n\tdefaultConnection;\n\tconstructor(options) {\n\t\tthis.options = options;\n\t\tthis.defaultConnection = options.connection;\n\t}\n\tinit() {\n\t\tif (this.initialized) return;\n\t\tthis.stack = createControlStack({\n\t\t\tfamily: this.options.family,\n\t\t\ttarget: this.options.target,\n\t\t\tadapter: this.options.adapter,\n\t\t\tdriver: this.options.driver,\n\t\t\textensions: this.options.extensions\n\t\t});\n\t\tthis.familyInstance = this.options.family.create(this.stack);\n\t\tconst rawComponents = [\n\t\t\tthis.options.target,\n\t\t\tthis.options.adapter,\n\t\t\t...this.options.extensions ?? []\n\t\t];\n\t\tthis.frameworkComponents = assertFrameworkComponentsCompatible(this.options.family.familyId, this.options.target.targetId, rawComponents);\n\t\tthis.initialized = true;\n\t}\n\tasync connect(connection) {\n\t\tthis.init();\n\t\tif (this.driver) throw new CliStructuredError(\"DRIVER.ALREADY_CONNECTED\", \"Already connected. Call close() before reconnecting.\");\n\t\tconst resolvedConnection = connection ?? this.defaultConnection;\n\t\tif (resolvedConnection === void 0) throw new CliStructuredError(\"CONFIG.DB_CONNECTION_REQUIRED\", \"No connection provided. Pass a connection to connect() or provide a default connection when creating the client.\");\n\t\tif (!this.stack?.driver) throw new CliStructuredError(\"CONFIG.DRIVER_REQUIRED\", \"Driver is not configured. Pass a driver descriptor when creating the control client to enable database operations.\");\n\t\tthis.driver = await this.stack.driver.create(resolvedConnection);\n\t}\n\tasync close() {\n\t\tif (this.driver) {\n\t\t\tawait this.driver.close();\n\t\t\tthis.driver = null;\n\t\t}\n\t}\n\t/**\n\t* Construct the control adapter once for a migration operation and return\n\t* it, mirroring how the runtime plane builds the execution adapter once in\n\t* `createExecutionStack`. Only `dbInit` / `dbUpdate` need it (it lowers the\n\t* planner's DDL); read-only operations never build it. The descriptor is\n\t* optional on the stack — targets without migrations omit it.\n\t*/\n\tbuildControlAdapter() {\n\t\tthis.init();\n\t\tif (!this.stack?.adapter) throw new CliStructuredError(\"MIGRATION.TARGET_UNSUPPORTED\", `Target \"${this.options.target.targetId}\" requires an adapter for migrations`);\n\t\treturn this.stack.adapter.create(this.stack);\n\t}\n\tasync ensureConnected() {\n\t\tthis.init();\n\t\tif (!this.driver && this.defaultConnection !== void 0) await this.connect(this.defaultConnection);\n\t\tif (!this.driver || !this.familyInstance || !this.frameworkComponents) throw new CliStructuredError(\"DRIVER.NOT_CONNECTED\", \"Not connected. Call connect(connection) first.\");\n\t\treturn {\n\t\t\tdriver: this.driver,\n\t\t\tfamilyInstance: this.familyInstance,\n\t\t\tframeworkComponents: this.frameworkComponents\n\t\t};\n\t}\n\tasync connectWithProgress(connection, action, onProgress) {\n\t\tif (connection === void 0) return;\n\t\tonProgress?.({\n\t\t\taction,\n\t\t\tkind: \"spanStart\",\n\t\t\tspanId: \"connect\",\n\t\t\tlabel: \"Connecting to database...\"\n\t\t});\n\t\ttry {\n\t\t\tawait this.connect(connection);\n\t\t\tonProgress?.({\n\t\t\t\taction,\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"connect\",\n\t\t\t\toutcome: \"ok\"\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tonProgress?.({\n\t\t\t\taction,\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"connect\",\n\t\t\t\toutcome: \"error\"\n\t\t\t});\n\t\t\tthrow error;\n\t\t}\n\t}\n\tasync verify(options) {\n\t\tconst { onProgress } = options;\n\t\tawait this.connectWithProgress(options.connection, \"verify\", onProgress);\n\t\tconst { driver, familyInstance } = await this.ensureConnected();\n\t\tlet contract;\n\t\ttry {\n\t\t\tcontract = familyInstance.deserializeContract(options.contract);\n\t\t} catch (error) {\n\t\t\tthrow structuredError(\"CONTRACT.VALIDATION_FAILED\", error instanceof Error ? error.message : String(error), { cause: error });\n\t\t}\n\t\tonProgress?.({\n\t\t\taction: \"verify\",\n\t\t\tkind: \"spanStart\",\n\t\t\tspanId: \"verify\",\n\t\t\tlabel: \"Verifying database marker...\"\n\t\t});\n\t\ttry {\n\t\t\tconst result = await familyInstance.verify({\n\t\t\t\tdriver,\n\t\t\t\tcontract,\n\t\t\t\texpectedTargetId: this.options.target.targetId,\n\t\t\t\tcontractPath: \"\"\n\t\t\t});\n\t\t\tonProgress?.({\n\t\t\t\taction: \"verify\",\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"verify\",\n\t\t\t\toutcome: result.ok ? \"ok\" : \"error\"\n\t\t\t});\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tonProgress?.({\n\t\t\t\taction: \"verify\",\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"verify\",\n\t\t\t\toutcome: \"error\"\n\t\t\t});\n\t\t\tthrow error;\n\t\t}\n\t}\n\tasync schemaVerify(options) {\n\t\tconst { onProgress } = options;\n\t\tawait this.connectWithProgress(options.connection, \"schemaVerify\", onProgress);\n\t\tconst { driver, familyInstance, frameworkComponents } = await this.ensureConnected();\n\t\tlet contract;\n\t\ttry {\n\t\t\tcontract = familyInstance.deserializeContract(options.contract);\n\t\t} catch (error) {\n\t\t\tthrow structuredError(\"CONTRACT.VALIDATION_FAILED\", error instanceof Error ? error.message : String(error), { cause: error });\n\t\t}\n\t\tonProgress?.({\n\t\t\taction: \"schemaVerify\",\n\t\t\tkind: \"spanStart\",\n\t\t\tspanId: \"schemaVerify\",\n\t\t\tlabel: \"Verifying database schema...\"\n\t\t});\n\t\ttry {\n\t\t\tconst schema = await familyInstance.introspect({\n\t\t\t\tdriver,\n\t\t\t\tcontract\n\t\t\t});\n\t\t\tconst result = familyInstance.verifySchema({\n\t\t\t\tcontract,\n\t\t\t\tschema,\n\t\t\t\tstrict: options.strict ?? false,\n\t\t\t\tframeworkComponents\n\t\t\t});\n\t\t\tonProgress?.({\n\t\t\t\taction: \"schemaVerify\",\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"schemaVerify\",\n\t\t\t\toutcome: result.ok ? \"ok\" : \"error\"\n\t\t\t});\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tonProgress?.({\n\t\t\t\taction: \"schemaVerify\",\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"schemaVerify\",\n\t\t\t\toutcome: \"error\"\n\t\t\t});\n\t\t\tthrow error;\n\t\t}\n\t}\n\tasync sign(options) {\n\t\tconst { onProgress } = options;\n\t\tawait this.connectWithProgress(options.connection, \"sign\", onProgress);\n\t\tconst { driver, familyInstance } = await this.ensureConnected();\n\t\tlet contract;\n\t\ttry {\n\t\t\tcontract = familyInstance.deserializeContract(options.contract);\n\t\t} catch (error) {\n\t\t\tthrow structuredError(\"CONTRACT.VALIDATION_FAILED\", error instanceof Error ? error.message : String(error), { cause: error });\n\t\t}\n\t\tonProgress?.({\n\t\t\taction: \"sign\",\n\t\t\tkind: \"spanStart\",\n\t\t\tspanId: \"sign\",\n\t\t\tlabel: \"Signing database...\"\n\t\t});\n\t\ttry {\n\t\t\tconst result = await familyInstance.sign({\n\t\t\t\tdriver,\n\t\t\t\tcontract,\n\t\t\t\tcontractPath: options.contractPath ?? \"\",\n\t\t\t\t...ifDefined(\"configPath\", options.configPath)\n\t\t\t});\n\t\t\tonProgress?.({\n\t\t\t\taction: \"sign\",\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"sign\",\n\t\t\t\toutcome: \"ok\"\n\t\t\t});\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tonProgress?.({\n\t\t\t\taction: \"sign\",\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"sign\",\n\t\t\t\toutcome: \"error\"\n\t\t\t});\n\t\t\tthrow error;\n\t\t}\n\t}\n\tasync dbInit(options) {\n\t\tconst { onProgress } = options;\n\t\tawait this.connectWithProgress(options.connection, \"dbInit\", onProgress);\n\t\tconst { driver, familyInstance, frameworkComponents } = await this.ensureConnected();\n\t\tif (!hasMigrations(this.options.target)) throw new CliStructuredError(\"MIGRATION.TARGET_UNSUPPORTED\", `Target \"${this.options.target.targetId}\" does not support migrations`);\n\t\tconst adapter = this.buildControlAdapter();\n\t\tlet contract;\n\t\ttry {\n\t\t\tcontract = familyInstance.deserializeContract(options.contract);\n\t\t} catch (error) {\n\t\t\tthrow structuredError(\"CONTRACT.VALIDATION_FAILED\", error instanceof Error ? error.message : String(error), { cause: error });\n\t\t}\n\t\treturn executeDbInit({\n\t\t\tdriver,\n\t\t\tadapter,\n\t\t\tfamilyInstance,\n\t\t\tcontract,\n\t\t\tmode: options.mode,\n\t\t\tmigrations: this.options.target.migrations,\n\t\t\tframeworkComponents,\n\t\t\tmigrationsDir: options.migrationsDir,\n\t\t\ttargetId: this.options.target.targetId,\n\t\t\textensions: this.options.extensions ?? [],\n\t\t\t...ifDefined(\"onProgress\", onProgress)\n\t\t});\n\t}\n\tasync dbUpdate(options) {\n\t\tconst { onProgress } = options;\n\t\tawait this.connectWithProgress(options.connection, \"dbUpdate\", onProgress);\n\t\tconst { driver, familyInstance, frameworkComponents } = await this.ensureConnected();\n\t\tif (!hasMigrations(this.options.target)) throw new CliStructuredError(\"MIGRATION.TARGET_UNSUPPORTED\", `Target \"${this.options.target.targetId}\" does not support migrations`);\n\t\tconst adapter = this.buildControlAdapter();\n\t\tlet contract;\n\t\ttry {\n\t\t\tcontract = familyInstance.deserializeContract(options.contract);\n\t\t} catch (error) {\n\t\t\tthrow structuredError(\"CONTRACT.VALIDATION_FAILED\", error instanceof Error ? error.message : String(error), { cause: error });\n\t\t}\n\t\treturn executeDbUpdate({\n\t\t\tdriver,\n\t\t\tadapter,\n\t\t\tfamilyInstance,\n\t\t\tcontract,\n\t\t\tmode: options.mode,\n\t\t\tmigrations: this.options.target.migrations,\n\t\t\tframeworkComponents,\n\t\t\tmigrationsDir: options.migrationsDir,\n\t\t\ttargetId: this.options.target.targetId,\n\t\t\textensions: this.options.extensions ?? [],\n\t\t\t...ifDefined(\"acceptDataLoss\", options.acceptDataLoss),\n\t\t\t...ifDefined(\"consent\", options.consent),\n\t\t\t...ifDefined(\"onProgress\", onProgress)\n\t\t});\n\t}\n\tasync dbVerify(options) {\n\t\tconst { onProgress } = options;\n\t\tawait this.connectWithProgress(options.connection, \"dbVerify\", onProgress);\n\t\tconst { driver, familyInstance, frameworkComponents } = await this.ensureConnected();\n\t\treturn executeDbVerify({\n\t\t\tdriver,\n\t\t\tfamilyInstance,\n\t\t\tcontract: options.contract,\n\t\t\tmigrationsDir: options.migrationsDir,\n\t\t\ttargetId: this.options.target.targetId,\n\t\t\textensions: this.options.extensions ?? [],\n\t\t\tframeworkComponents,\n\t\t\tmode: options.strict ? \"strict\" : \"lenient\",\n\t\t\tskipSchema: options.skipSchema,\n\t\t\tskipMarker: options.skipMarker,\n\t\t\t...ifDefined(\"onProgress\", onProgress)\n\t\t});\n\t}\n\tasync readMarker() {\n\t\tconst { driver, familyInstance } = await this.ensureConnected();\n\t\treturn familyInstance.readMarker({\n\t\t\tdriver,\n\t\t\tspace: APP_SPACE_ID\n\t\t});\n\t}\n\tasync readAllMarkers() {\n\t\tconst { driver, familyInstance } = await this.ensureConnected();\n\t\treturn familyInstance.readAllMarkers({ driver });\n\t}\n\t/** Reads the per-migration journal; omit `space` to return every space. */\n\tasync readLedger(space) {\n\t\tconst { driver, familyInstance } = await this.ensureConnected();\n\t\treturn familyInstance.readLedger({\n\t\t\tdriver,\n\t\t\t...ifDefined(\"space\", space)\n\t\t});\n\t}\n\tasync migrate(options) {\n\t\tconst { onProgress } = options;\n\t\tawait this.connectWithProgress(options.connection, \"migrate\", onProgress);\n\t\tconst { driver, familyInstance, frameworkComponents } = await this.ensureConnected();\n\t\tif (!hasMigrations(this.options.target)) throw new CliStructuredError(\"MIGRATION.TARGET_UNSUPPORTED\", `Target \"${this.options.target.targetId}\" does not support migrations`);\n\t\tlet contract;\n\t\ttry {\n\t\t\tcontract = familyInstance.deserializeContract(options.contract);\n\t\t} catch (error) {\n\t\t\tthrow structuredError(\"CONTRACT.VALIDATION_FAILED\", error instanceof Error ? error.message : String(error), { cause: error });\n\t\t}\n\t\treturn executeMigrate({\n\t\t\tdriver,\n\t\t\tfamilyInstance,\n\t\t\tcontract,\n\t\t\tmigrations: this.options.target.migrations,\n\t\t\tframeworkComponents,\n\t\t\tmigrationsDir: options.migrationsDir,\n\t\t\textensions: this.options.extensions ?? [],\n\t\t\ttargetId: this.options.target.targetId,\n\t\t\t...ifDefined(\"refHash\", options.refHash),\n\t\t\t...ifDefined(\"refInvariants\", options.refInvariants),\n\t\t\t...ifDefined(\"refName\", options.refName),\n\t\t\t...ifDefined(\"onProgress\", onProgress)\n\t\t});\n\t}\n\tasync introspect(options) {\n\t\tconst onProgress = options?.onProgress;\n\t\tawait this.connectWithProgress(options?.connection, \"introspect\", onProgress);\n\t\tconst { driver, familyInstance } = await this.ensureConnected();\n\t\toptions?.schema;\n\t\tonProgress?.({\n\t\t\taction: \"introspect\",\n\t\t\tkind: \"spanStart\",\n\t\t\tspanId: \"introspect\",\n\t\t\tlabel: \"Introspecting database schema...\"\n\t\t});\n\t\ttry {\n\t\t\tconst result = await familyInstance.introspect({ driver });\n\t\t\tonProgress?.({\n\t\t\t\taction: \"introspect\",\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"introspect\",\n\t\t\t\toutcome: \"ok\"\n\t\t\t});\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tonProgress?.({\n\t\t\t\taction: \"introspect\",\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"introspect\",\n\t\t\t\toutcome: \"error\"\n\t\t\t});\n\t\t\tthrow error;\n\t\t}\n\t}\n\ttoSchemaView(schemaIR) {\n\t\tthis.init();\n\t\tif (this.familyInstance && hasSchemaView(this.familyInstance)) return this.familyInstance.toSchemaView(schemaIR);\n\t}\n\tinferPslContract(schemaIR) {\n\t\tthis.init();\n\t\tif (this.familyInstance && hasPslContractInfer(this.familyInstance)) return this.familyInstance.inferPslContract(schemaIR);\n\t}\n\tgetPslBlockDescriptors() {\n\t\tthis.init();\n\t\treturn this.stack.authoringContributions.pslBlockDescriptors;\n\t}\n\ttoOperationPreview(operations) {\n\t\tthis.init();\n\t\tif (this.familyInstance && hasOperationPreview(this.familyInstance)) return this.familyInstance.toOperationPreview(operations);\n\t}\n\tasync emit(options) {\n\t\tconst { onProgress, contractConfig } = options;\n\t\tthis.init();\n\t\tif (!this.familyInstance) throw new InternalError(\"Family instance was not initialized. This is a bug.\");\n\t\tlet contractRaw;\n\t\tonProgress?.({\n\t\t\taction: \"emit\",\n\t\t\tkind: \"spanStart\",\n\t\t\tspanId: \"resolveSource\",\n\t\t\tlabel: \"Resolving contract source...\"\n\t\t});\n\t\ttry {\n\t\t\tconst stack = this.stack;\n\t\t\tconst sourceContext = {\n\t\t\t\tcomposedExtensions: stack.extensions.map((p) => p.id),\n\t\t\t\tcomposedExtensionContracts: stack.extensionContracts,\n\t\t\t\tauthoringContributions: stack.authoringContributions,\n\t\t\t\tcodecLookup: stack.codecLookup,\n\t\t\t\tcontrolMutationDefaults: stack.controlMutationDefaults,\n\t\t\t\tresolvedInputs: contractConfig.source.inputs ?? [],\n\t\t\t\tcapabilities: stack.capabilities\n\t\t\t};\n\t\t\tconst providerResult = await contractConfig.source.load(sourceContext);\n\t\t\tif (!providerResult.ok) {\n\t\t\t\tonProgress?.({\n\t\t\t\t\taction: \"emit\",\n\t\t\t\t\tkind: \"spanEnd\",\n\t\t\t\t\tspanId: \"resolveSource\",\n\t\t\t\t\toutcome: \"error\"\n\t\t\t\t});\n\t\t\t\treturn notOk({\n\t\t\t\t\tcode: \"CONTRACT_SOURCE_INVALID\",\n\t\t\t\t\tsummary: providerResult.failure.summary,\n\t\t\t\t\twhy: providerResult.failure.summary,\n\t\t\t\t\tmeta: providerResult.failure.meta,\n\t\t\t\t\tdiagnostics: providerResult.failure\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontractRaw = providerResult.value;\n\t\t\tonProgress?.({\n\t\t\t\taction: \"emit\",\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"resolveSource\",\n\t\t\t\toutcome: \"ok\"\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tonProgress?.({\n\t\t\t\taction: \"emit\",\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"resolveSource\",\n\t\t\t\toutcome: \"error\"\n\t\t\t});\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\treturn notOk({\n\t\t\t\tcode: \"CONTRACT_SOURCE_INVALID\",\n\t\t\t\tsummary: \"Failed to resolve contract source\",\n\t\t\t\twhy: message,\n\t\t\t\tdiagnostics: {\n\t\t\t\t\tsummary: \"Contract source provider threw an exception\",\n\t\t\t\t\tdiagnostics: [{\n\t\t\t\t\t\tcode: \"PROVIDER_THROW\",\n\t\t\t\t\t\tmessage\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\tmeta: void 0\n\t\t\t});\n\t\t}\n\t\tonProgress?.({\n\t\t\taction: \"emit\",\n\t\t\tkind: \"spanStart\",\n\t\t\tspanId: \"emit\",\n\t\t\tlabel: \"Emitting contract...\"\n\t\t});\n\t\ttry {\n\t\t\tconst enrichedIR = enrichContract(contractRaw, this.frameworkComponents ?? []);\n\t\t\tconst rawContractJson = this.options.target.contractSerializer.serializeContract(enrichedIR);\n\t\t\tlet deserializedContract;\n\t\t\ttry {\n\t\t\t\tdeserializedContract = this.familyInstance.deserializeContract(rawContractJson);\n\t\t\t} catch (error) {\n\t\t\t\tonProgress?.({\n\t\t\t\t\taction: \"emit\",\n\t\t\t\t\tkind: \"spanEnd\",\n\t\t\t\t\tspanId: \"emit\",\n\t\t\t\t\toutcome: \"error\"\n\t\t\t\t});\n\t\t\t\treturn notOk({\n\t\t\t\t\tcode: \"CONTRACT_VALIDATION_FAILED\",\n\t\t\t\t\tsummary: \"Contract validation failed\",\n\t\t\t\t\twhy: error instanceof Error ? error.message : String(error),\n\t\t\t\t\tmeta: void 0\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst result = await emit(deserializedContract, this.stack, this.options.family.emission, { serializeContract: (contract) => this.options.target.contractSerializer.serializeContract(contract) });\n\t\t\tonProgress?.({\n\t\t\t\taction: \"emit\",\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"emit\",\n\t\t\t\toutcome: \"ok\"\n\t\t\t});\n\t\t\treturn ok({\n\t\t\t\tstorageHash: result.storageHash,\n\t\t\t\t...ifDefined(\"executionHash\", result.executionHash),\n\t\t\t\tprofileHash: result.profileHash,\n\t\t\t\tcontractJson: result.contractJson,\n\t\t\t\tcontractDts: result.contractDts\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tonProgress?.({\n\t\t\t\taction: \"emit\",\n\t\t\t\tkind: \"spanEnd\",\n\t\t\t\tspanId: \"emit\",\n\t\t\t\toutcome: \"error\"\n\t\t\t});\n\t\t\treturn notOk({\n\t\t\t\tcode: \"EMIT_FAILED\",\n\t\t\t\tsummary: \"Failed to emit contract\",\n\t\t\t\twhy: error instanceof Error ? error.message : String(error),\n\t\t\t\tmeta: void 0\n\t\t\t});\n\t\t}\n\t}\n};\n//#endregion\nexport { executeDbInit as a, executeDbUpdate as i, planSpacePath as n, executeDbVerify as r, createControlClient as t };\n\n//# sourceMappingURL=client-DU9qtBxW.mjs.map"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { n as executeContractEmit } from "./contract-emit-CZQZ1i4z-p9LSGmmQ.mjs";
2
- export { executeContractEmit };
@@ -1 +0,0 @@
1
- {"version":3,"file":"db-verify-0TpDMziA-CJDKutMN.mjs","names":["errorRuntime","CliStructuredError"],"sources":["../../../../1-framework/3-tooling/cli/dist/db-verify-0TpDMziA.mjs"],"sourcesContent":["import { M as errorTargetMismatch, N as errorUnexpected, O as errorRuntime, _ as errorMarkerMissing, c as errorDatabaseConnectionRequired, d as errorFileNotFound, f as errorHashMismatch, s as errorContractValidationFailed, t as CliStructuredError, u as errorDriverRequired } from \"./cli-errors-BG6bItjG.mjs\";\nimport { t as createTerminalUI } from \"./terminal-ui-Cqz4LVL7.mjs\";\nimport { S as formatStyledHeader, _ as parseGlobalFlagsOrExit, a as maskConnectionUrl, c as resolveMigrationPaths, d as setCommandExamples, n as closeQuietly, s as resolveContractPath, t as addGlobalOptions, u as setCommandDescriptions, v as handleResult } from \"./command-helpers-CwLvFwMB.mjs\";\nimport { t as createProgressAdapter } from \"./progress-adapter-CjAeTxY_.mjs\";\nimport { t as createControlClient } from \"./client-DU9qtBxW.mjs\";\nimport { c as formatVerifyOutput, i as formatSchemaVerifyOutput, r as formatSchemaVerifyJson, s as formatVerifyJson } from \"./verify-Cogr_Fj9.mjs\";\nimport { Command } from \"commander\";\nimport { loadConfigForSections } from \"@internal/config-loader\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { relative, resolve } from \"pathe\";\nimport { readFile } from \"node:fs/promises\";\nimport { VERIFY_CODE_HASH_MISMATCH, VERIFY_CODE_MARKER_MISSING, VERIFY_CODE_TARGET_MISMATCH, createControlStack } from \"@internal/framework-components/control\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { isStructuredError } from \"@internal/utils/structured-error\";\n//#region src/utils/combine-verify-results.ts\n/**\n* Collapse the aggregate verifier's per-space contract-satisfaction results\n* into a single {@link VerifyDatabaseSchemaResult} for the CLI display\n* surface, and carry the deduplicated unclaimed-elements list alongside it.\n* Concatenates the issue lists across spaces; uses the app space's result as\n* the structural envelope (storage hash, target). Extras are already\n* stripped from each per-space result, so nothing here duplicates an\n* unclaimed element per space.\n*\n* **Unclaimed disposition.** In strict mode a non-empty `unclaimed` list fails\n* the combined verdict (`ok: false`); in lenient mode it is carried for\n* informational rendering only. The list itself is returned unchanged for the\n* renderer.\n*\n* **Summary policy.** Preserve the per-family phrasing whenever the\n* combined `ok` flag agrees with the app space's `ok` flag — this is\n* the common case (single-family deployments, single-app deployments)\n* and the family's \"satisfies / does not satisfy contract\" phrasing\n* stays user-visible. When the app passes but an extension fails (or\n* vice versa) the app's summary contradicts the envelope, so fall back\n* to the first failing space's summary. This keeps family phrasing\n* intact and the envelope internally consistent (`ok: false` ↔ failure\n* summary).\n*/\nfunction combineVerifyResults(perSpace, appSpaceId, strict, unclaimed) {\n\tconst appResult = perSpace.get(appSpaceId) ?? perSpace.values().next().value;\n\tif (appResult === void 0) throw new InternalError(\"Aggregate verifier returned no per-space verify results — this is a wiring bug.\");\n\tlet okAll = true;\n\tlet firstFailure;\n\tlet issues = [];\n\tlet warningIssues = [];\n\tfor (const [, result] of perSpace) {\n\t\tif (!result.ok) {\n\t\t\tokAll = false;\n\t\t\tif (firstFailure === void 0) firstFailure = result;\n\t\t}\n\t\tissues = [...issues, ...result.schema.issues];\n\t\twarningIssues = [...warningIssues, ...result.schema.warnings?.issues ?? []];\n\t}\n\tconst unclaimedFails = strict && unclaimed.length > 0;\n\tconst ok = okAll && !unclaimedFails;\n\tconst summary = okAll ? unclaimedFails ? `Database schema has ${unclaimed.length} unclaimed element${unclaimed.length === 1 ? \"\" : \"s\"} (not in any contract)` : appResult.summary : appResult.ok ? firstFailure?.summary ?? appResult.summary : appResult.summary;\n\treturn {\n\t\tresult: {\n\t\t\tok,\n\t\t\t...ok ? {} : { code: appResult.code ?? \"CONTRACT.MARKER_REQUIRED\" },\n\t\t\tsummary,\n\t\t\tcontract: appResult.contract,\n\t\t\ttarget: appResult.target,\n\t\t\tschema: {\n\t\t\t\tissues,\n\t\t\t\twarnings: { issues: warningIssues }\n\t\t\t},\n\t\t\tmeta: { strict },\n\t\t\ttimings: { total: 0 }\n\t\t},\n\t\tunclaimed\n\t};\n}\n//#endregion\n//#region src/commands/db-verify.ts\n/**\n* Maps a VerifyDatabaseResult failure to a CliStructuredError.\n*/\nfunction mapVerifyFailure(verifyResult) {\n\tif (!verifyResult.ok && verifyResult.code) {\n\t\tif (verifyResult.code === VERIFY_CODE_MARKER_MISSING) return errorMarkerMissing();\n\t\tif (verifyResult.code === VERIFY_CODE_HASH_MISMATCH) {\n\t\t\tconst storageMatch = verifyResult.marker?.storageHash === verifyResult.contract.storageHash;\n\t\t\tconst profileMatch = !verifyResult.contract.profileHash || verifyResult.marker?.profileHash === verifyResult.contract.profileHash;\n\t\t\tif (!storageMatch) return errorHashMismatch({\n\t\t\t\twhy: \"Contract storageHash does not match database marker\",\n\t\t\t\texpected: verifyResult.contract.storageHash,\n\t\t\t\t...ifDefined(\"actual\", verifyResult.marker?.storageHash)\n\t\t\t});\n\t\t\treturn errorHashMismatch({\n\t\t\t\twhy: profileMatch ? \"Contract hash does not match database marker\" : \"Contract profileHash does not match database marker\",\n\t\t\t\t...ifDefined(\"expected\", verifyResult.contract.profileHash),\n\t\t\t\t...ifDefined(\"actual\", verifyResult.marker?.profileHash)\n\t\t\t});\n\t\t}\n\t\tif (verifyResult.code === VERIFY_CODE_TARGET_MISMATCH) return errorTargetMismatch(verifyResult.target.expected, verifyResult.target.actual ?? \"unknown\");\n\t}\n\treturn errorRuntime(\"CONTRACT.VERIFY_FAILED\", verifyResult.summary, {\n\t\twhy: \"Verification failed\",\n\t\tfix: \"Check contract and database state\"\n\t});\n}\nfunction errorInvalidVerifyMode(options) {\n\treturn new CliStructuredError(\"CLI.INVALID_VERIFY_MODE\", \"Invalid verify mode\", {\n\t\twhy: options.why,\n\t\tfix: options.fix,\n\t\tdocsUrl: \"https://pris.ly/db-verify\"\n\t});\n}\nfunction resolveDbVerifyMode(options) {\n\tif (options.markerOnly && options.schemaOnly) return notOk(errorInvalidVerifyMode({\n\t\twhy: \"`--marker-only` and `--schema-only` cannot be used together\",\n\t\tfix: \"Choose one mode: omit both to check the marker and schema, use `--marker-only` to check only the marker, or use `--schema-only` to check only the live schema.\"\n\t}));\n\tif (options.markerOnly && options.strict) return notOk(errorInvalidVerifyMode({\n\t\twhy: \"`--strict` requires schema verification, but `--marker-only` skips it\",\n\t\tfix: \"Remove `--strict`, or use `db verify` / `db verify --schema-only` when you want to check the live schema in strict mode.\"\n\t}));\n\tif (options.schemaOnly) return ok(\"schema-only\");\n\tif (options.markerOnly) return ok(\"marker-only\");\n\treturn ok(\"full\");\n}\nfunction formatDbVerifyModeLabel(mode, strict) {\n\tif (mode === \"marker-only\") return \"marker only\";\n\tif (mode === \"schema-only\") return `schema only (${strict ? \"strict\" : \"tolerant\"})`;\n\treturn `full (marker + schema, ${strict ? \"strict\" : \"tolerant\"})`;\n}\nfunction formatDbVerifyInvocation(mode, strict) {\n\tconst args = [\"db verify\"];\n\tif (mode === \"marker-only\") args.push(\"--marker-only\");\n\tif (mode === \"schema-only\") args.push(\"--schema-only\");\n\tif (strict) args.push(\"--strict\");\n\treturn args.join(\" \");\n}\nfunction createDbVerifyConnectionRequiredError(options) {\n\tconst invocation = formatDbVerifyInvocation(options.mode, options.strict);\n\treturn errorDatabaseConnectionRequired({\n\t\twhy: `Database connection is required for ${invocation} (set db.connection in ${options.configPath}, or pass --db <url>)`,\n\t\tretryCommand: `prisma-next ${invocation} --db <url>`\n\t});\n}\nfunction renderVerifyHeader(paths, options, mode, flags, ui) {\n\tif (flags.json || flags.quiet) return;\n\tconst description = mode === \"schema-only\" ? \"Check whether the live database schema matches your contract\" : mode === \"marker-only\" ? \"Check whether the database marker matches your contract\" : \"Check whether the database marker and live schema match your contract\";\n\tconst details = [\n\t\t{\n\t\t\tlabel: \"config\",\n\t\t\tvalue: paths.configPath\n\t\t},\n\t\t{\n\t\t\tlabel: \"contract\",\n\t\t\tvalue: paths.contractPath\n\t\t},\n\t\t{\n\t\t\tlabel: \"mode\",\n\t\t\tvalue: formatDbVerifyModeLabel(mode, options.strict ?? false)\n\t\t}\n\t];\n\tif (options.db) details.push({\n\t\tlabel: \"database\",\n\t\tvalue: maskConnectionUrl(options.db)\n\t});\n\tui.stderr(formatStyledHeader({\n\t\tcommand: \"db verify\",\n\t\tdescription,\n\t\turl: \"https://pris.ly/db-verify\",\n\t\tdetails,\n\t\tflags\n\t}));\n}\nasync function resolveVerifyPaths(options) {\n\tconst configResult = await loadConfigForSections(options.config, [\n\t\t\"family\",\n\t\t\"target\",\n\t\t\"adapter\",\n\t\t\"driver\",\n\t\t\"extensions\",\n\t\t\"db\",\n\t\t\"migrations\",\n\t\t\"contract\"\n\t]);\n\tif (!configResult.ok) return configResult;\n\tconst config = configResult.value;\n\tconst configPath = options.config ? relative(process.cwd(), resolve(options.config)) : \"prisma-next.config.ts\";\n\tconst contractPathAbsolute = resolveContractPath(config);\n\treturn ok({\n\t\tconfig,\n\t\tconfigPath,\n\t\tcontractPathAbsolute,\n\t\tcontractPath: relative(process.cwd(), contractPathAbsolute)\n\t});\n}\nasync function resolveVerifySetup(paths, options, mode) {\n\tconst { config, configPath, contractPathAbsolute, contractPath } = paths;\n\tlet contractJsonContent;\n\ttry {\n\t\tcontractJsonContent = await readFile(contractPathAbsolute, \"utf-8\");\n\t} catch (error) {\n\t\tif (error instanceof Error && error.code === \"ENOENT\") return notOk(errorFileNotFound(contractPathAbsolute, {\n\t\t\twhy: `Contract file not found at ${contractPathAbsolute}`,\n\t\t\tfix: `Run \\`prisma-next contract emit\\` to generate ${contractPath}, or update \\`config.contract.output\\` in ${configPath}`\n\t\t}));\n\t\treturn notOk(errorUnexpected(error instanceof Error ? error.message : String(error), { why: `Failed to read contract file: ${error instanceof Error ? error.message : String(error)}` }));\n\t}\n\tconst stack = createControlStack(config);\n\tconst familyInstance = config.family.create(stack);\n\tlet contractJson;\n\ttry {\n\t\tcontractJson = familyInstance.deserializeContract(JSON.parse(contractJsonContent));\n\t} catch (error) {\n\t\tif (isStructuredError(error) && error.code === \"CONTRACT.VALIDATION_FAILED\") return notOk(errorContractValidationFailed(`Contract validation failed: ${error.message}`, { where: { path: contractPathAbsolute } }));\n\t\treturn notOk(errorContractValidationFailed(`Contract JSON is invalid: ${error instanceof Error ? error.message : String(error)}`, { where: { path: contractPathAbsolute } }));\n\t}\n\tconst dbConnection = options.db ?? config.db?.connection;\n\tif (typeof dbConnection !== \"string\" || dbConnection.length === 0) return notOk(createDbVerifyConnectionRequiredError({\n\t\tconfigPath,\n\t\tmode,\n\t\tstrict: options.strict ?? false\n\t}));\n\tif (!config.driver) return notOk(errorDriverRequired({ why: `Config.driver is required for ${formatDbVerifyInvocation(mode, options.strict ?? false)}` }));\n\treturn ok({\n\t\t...paths,\n\t\tcontractJson,\n\t\tdbConnection\n\t});\n}\nfunction createVerifyClient(setup) {\n\treturn createControlClient({\n\t\tfamily: setup.config.family,\n\t\ttarget: setup.config.target,\n\t\tadapter: setup.config.adapter,\n\t\tdriver: setup.config.driver,\n\t\textensions: setup.config.extensions ?? []\n\t});\n}\nfunction wrapVerifyError(error, contractPathAbsolute, modeLabel) {\n\tif (CliStructuredError.is(error)) return notOk(error);\n\tif (isStructuredError(error) && error.code === \"CONTRACT.VALIDATION_FAILED\") return notOk(errorContractValidationFailed(`Contract validation failed: ${error.message}`, { where: { path: contractPathAbsolute } }));\n\treturn notOk(errorUnexpected(error instanceof Error ? error.message : String(error), { why: `Unexpected error during ${modeLabel}: ${error instanceof Error ? error.message : String(error)}` }));\n}\n/**\n* Executes the db verify command and returns a structured Result.\n*/\nasync function executeDbVerifyCommand(options, flags, ui, mode) {\n\tconst startTime = Date.now();\n\tconst pathsResult = await resolveVerifyPaths(options);\n\tif (!pathsResult.ok) return pathsResult;\n\tconst paths = pathsResult.value;\n\trenderVerifyHeader(paths, options, mode, flags, ui);\n\tconst setupResult = await resolveVerifySetup(paths, options, mode);\n\tif (!setupResult.ok) return setupResult;\n\tconst { contractJson, dbConnection, contractPathAbsolute } = setupResult.value;\n\tconst { migrationsDir } = resolveMigrationPaths(options.config, setupResult.value.config, process.cwd());\n\tconst client = createVerifyClient(setupResult.value);\n\tconst onProgress = createProgressAdapter({\n\t\tui,\n\t\tflags\n\t});\n\ttry {\n\t\tconst verifyResult = await client.verify({\n\t\t\tcontract: contractJson,\n\t\t\tconnection: dbConnection,\n\t\t\tonProgress\n\t\t});\n\t\tif (!verifyResult.ok) return notOk(mapVerifyFailure(verifyResult));\n\t\tconst aggregateResult = await client.dbVerify({\n\t\t\tcontract: contractJson,\n\t\t\tmigrationsDir,\n\t\t\tstrict: options.strict ?? false,\n\t\t\tskipSchema: mode === \"marker-only\",\n\t\t\tskipMarker: false,\n\t\t\tonProgress\n\t\t});\n\t\tif (!aggregateResult.ok) return notOk(aggregateResult.failure);\n\t\tif (mode === \"marker-only\") return ok({\n\t\t\tok: true,\n\t\t\tmode: \"marker-only\",\n\t\t\tsummary: \"Database marker matches contract\",\n\t\t\tcontract: verifyResult.contract,\n\t\t\tmarker: verifyResult.marker,\n\t\t\ttarget: verifyResult.target,\n\t\t\t...ifDefined(\"missingCodecs\", verifyResult.missingCodecs),\n\t\t\t...ifDefined(\"codecCoverageSkipped\", verifyResult.codecCoverageSkipped),\n\t\t\twarning: \"Schema verification skipped because --marker-only was provided\",\n\t\t\tmeta: {\n\t\t\t\t...verifyResult.meta ?? {},\n\t\t\t\tschemaVerification: \"skipped\"\n\t\t\t},\n\t\t\ttimings: { total: Date.now() - startTime }\n\t\t});\n\t\tconst combined = combineVerifyResults(aggregateResult.value.schemaResults, aggregateResult.value.appSpaceId, options.strict ?? false, aggregateResult.value.unclaimed);\n\t\tif (!combined.result.ok) return notOk(combined);\n\t\treturn ok({\n\t\t\tok: true,\n\t\t\tmode: \"full\",\n\t\t\tsummary: \"Database marker and schema match contract\",\n\t\t\tcontract: verifyResult.contract,\n\t\t\tmarker: verifyResult.marker,\n\t\t\ttarget: verifyResult.target,\n\t\t\t...ifDefined(\"missingCodecs\", verifyResult.missingCodecs),\n\t\t\t...ifDefined(\"codecCoverageSkipped\", verifyResult.codecCoverageSkipped),\n\t\t\tschema: {\n\t\t\t\tsummary: combined.result.summary,\n\t\t\t\tstrict: combined.result.meta?.strict ?? false,\n\t\t\t\twarnings: (combined.result.schema.warnings?.issues ?? []).map((issue) => issue.path.join(\"/\"))\n\t\t\t},\n\t\t\tunclaimed: combined.unclaimed,\n\t\t\tmeta: {\n\t\t\t\t...verifyResult.meta ?? {},\n\t\t\t\tschemaVerification: \"performed\"\n\t\t\t},\n\t\t\ttimings: { total: Date.now() - startTime }\n\t\t});\n\t} catch (error) {\n\t\treturn wrapVerifyError(error, contractPathAbsolute, \"db verify\");\n\t} finally {\n\t\tawait closeQuietly(client);\n\t}\n}\nasync function executeDbSchemaOnlyVerifyCommand(options, flags, ui) {\n\tconst pathsResult = await resolveVerifyPaths(options);\n\tif (!pathsResult.ok) return pathsResult;\n\tconst paths = pathsResult.value;\n\trenderVerifyHeader(paths, options, \"schema-only\", flags, ui);\n\tconst setupResult = await resolveVerifySetup(paths, options, \"schema-only\");\n\tif (!setupResult.ok) return setupResult;\n\tconst { contractJson, dbConnection, contractPathAbsolute } = setupResult.value;\n\tconst { migrationsDir } = resolveMigrationPaths(options.config, setupResult.value.config, process.cwd());\n\tconst client = createVerifyClient(setupResult.value);\n\tconst onProgress = createProgressAdapter({\n\t\tui,\n\t\tflags\n\t});\n\ttry {\n\t\tawait client.connect(dbConnection);\n\t\tconst aggregateResult = await client.dbVerify({\n\t\t\tcontract: contractJson,\n\t\t\tmigrationsDir,\n\t\t\tstrict: options.strict ?? false,\n\t\t\tskipSchema: false,\n\t\t\tskipMarker: true,\n\t\t\tonProgress\n\t\t});\n\t\tif (!aggregateResult.ok) return notOk(aggregateResult.failure);\n\t\treturn ok(combineVerifyResults(aggregateResult.value.schemaResults, aggregateResult.value.appSpaceId, options.strict ?? false, aggregateResult.value.unclaimed));\n\t} catch (error) {\n\t\treturn wrapVerifyError(error, contractPathAbsolute, \"db verify --schema-only\");\n\t} finally {\n\t\tawait closeQuietly(client);\n\t}\n}\nfunction createDbVerifyCommand() {\n\tconst command = new Command(\"verify\");\n\tsetCommandDescriptions(command, \"Check whether the database marker and live schema match your contract\", \"Verifies the database marker first, then checks the database schema matches your contract.\\nUse `--marker-only` for marker-only verification, `--schema-only` to skip marker checks and\\ninspect only the live schema, and `--strict` to fail if the database includes elements\\nnot present in the contract.\");\n\tsetCommandExamples(command, [\n\t\t\"prisma-next db verify --db $DATABASE_URL\",\n\t\t\"prisma-next db verify --db $DATABASE_URL --strict\",\n\t\t\"prisma-next db verify --db $DATABASE_URL --schema-only\",\n\t\t\"prisma-next db verify --db $DATABASE_URL --schema-only --strict\",\n\t\t\"prisma-next db verify --db $DATABASE_URL --marker-only\",\n\t\t\"prisma-next db verify --db $DATABASE_URL --json\"\n\t]);\n\taddGlobalOptions(command).option(\"--db <url>\", \"Database connection string\").option(\"--config <path>\", \"Path to prisma-next.config.ts\").option(\"--marker-only\", \"Skip schema verification and only check the database marker\").option(\"--schema-only\", \"Skip marker verification and only check whether the live schema satisfies the contract\").option(\"--strict\", \"Strict mode: schema elements not present in the contract are considered an error\", false).action(async (options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tconst modeResult = resolveDbVerifyMode(options);\n\t\tif (!modeResult.ok) {\n\t\t\tconst exitCode = handleResult(modeResult, flags, ui);\n\t\t\tprocess.exit(exitCode);\n\t\t}\n\t\tconst mode = modeResult.value;\n\t\tif (mode === \"schema-only\") {\n\t\t\tconst result = await executeDbSchemaOnlyVerifyCommand(options, flags, ui);\n\t\t\tconst exitCode = handleResult(result, flags, ui, (combined) => {\n\t\t\t\tif (flags.json) ui.output(formatSchemaVerifyJson(combined.result, combined.unclaimed));\n\t\t\t\telse {\n\t\t\t\t\tconst renderFlags = combined.result.ok ? flags : {\n\t\t\t\t\t\t...flags,\n\t\t\t\t\t\tquiet: false\n\t\t\t\t\t};\n\t\t\t\t\tconst output = formatSchemaVerifyOutput(combined.result, renderFlags, combined.unclaimed);\n\t\t\t\t\tif (output) ui.log(output);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (result.ok && !result.value.result.ok) process.exit(1);\n\t\t\tprocess.exit(exitCode);\n\t\t}\n\t\tconst result = await executeDbVerifyCommand(options, flags, ui, mode);\n\t\tif (result.ok) {\n\t\t\tif (flags.json) ui.output(formatVerifyJson(result.value));\n\t\t\telse {\n\t\t\t\tconst output = formatVerifyOutput(result.value, flags);\n\t\t\t\tif (output) ui.log(output);\n\t\t\t}\n\t\t\tprocess.exit(0);\n\t\t}\n\t\tif (CliStructuredError.is(result.failure)) {\n\t\t\tconst exitCode = handleResult(result, flags, ui);\n\t\t\tprocess.exit(exitCode);\n\t\t}\n\t\tif (flags.json) ui.output(formatSchemaVerifyJson(result.failure.result, result.failure.unclaimed));\n\t\telse {\n\t\t\tconst output = formatSchemaVerifyOutput(result.failure.result, {\n\t\t\t\t...flags,\n\t\t\t\tquiet: false\n\t\t\t}, result.failure.unclaimed);\n\t\t\tif (output) ui.log(output);\n\t\t}\n\t\tprocess.exit(1);\n\t});\n\treturn command;\n}\n//#endregion\nexport { createDbVerifyCommand as t };\n\n//# sourceMappingURL=db-verify-0TpDMziA.mjs.map"],"mappings":"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"}