@prisma/orm-toolchain 8.0.0-rc.1-dev.32 → 8.0.0-rc.1-dev.34

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 (146) hide show
  1. package/dist/bin__prisma-next.mjs +24 -24
  2. package/dist/bin__prisma-next.mjs.map +1 -1
  3. package/dist/{caught-errors-B_oGFiYw-BqX49eW0.mjs → caught-errors-BZ-9WASe-DH4DaDha.mjs} +3 -3
  4. package/dist/{caught-errors-B_oGFiYw-BqX49eW0.mjs.map → caught-errors-BZ-9WASe-DH4DaDha.mjs.map} +1 -1
  5. package/dist/{cli-errors-CihMAEVj-C1uUYBop.mjs → cli-errors-C6_pH59O-CzD4SYcJ.mjs} +4 -3
  6. package/dist/{cli-errors-CihMAEVj-C1uUYBop.mjs.map → cli-errors-C6_pH59O-CzD4SYcJ.mjs.map} +1 -1
  7. package/dist/{cli-errors-C8DGzS94-CPP3UmRT.d.mts → cli-errors-f5PRtVdm-C6xVKeQn.d.mts} +8 -3
  8. package/dist/cli-errors-f5PRtVdm-C6xVKeQn.d.mts.map +1 -0
  9. package/dist/cli.mjs +961 -27
  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.mjs +1 -1
  21. package/dist/cli__commands__migration-graph.d.mts +1 -1
  22. package/dist/cli__commands__migration-graph.mjs +1 -1
  23. package/dist/cli__commands__migration-list.d.mts +1 -1
  24. package/dist/cli__commands__migration-list.mjs +1 -1
  25. package/dist/cli__commands__migration-log.d.mts +1 -1
  26. package/dist/cli__commands__migration-log.mjs +1 -1
  27. package/dist/cli__commands__migration-new.mjs +1 -1
  28. package/dist/cli__commands__migration-plan.d.mts +1 -1
  29. package/dist/cli__commands__migration-plan.mjs +1 -1
  30. package/dist/cli__commands__migration-show.mjs +1 -1
  31. package/dist/cli__commands__migration-status.d.mts +1 -1
  32. package/dist/cli__commands__migration-status.mjs +1 -1
  33. package/dist/cli__commands__ref.mjs +1 -1
  34. package/dist/cli__commands__telemetry.mjs +1 -1
  35. package/dist/cli__control-api.d.mts +3 -3
  36. package/dist/cli__control-api.mjs +15 -15
  37. package/dist/cli__control-api__testing.d.mts +1 -1
  38. package/dist/{client-C4Gh4PBz-BMUlBcuE.mjs → client-BqhVohc5-DFRVWFps.mjs} +5 -5
  39. package/dist/{client-C4Gh4PBz-BMUlBcuE.mjs.map → client-BqhVohc5-DFRVWFps.mjs.map} +1 -1
  40. package/dist/{command-helpers-Dw3LDEu_-B4AETH4D.mjs → command-helpers-kD9CO1hd-BPhnkBin.mjs} +4 -4
  41. package/dist/{command-helpers-Dw3LDEu_-B4AETH4D.mjs.map → command-helpers-kD9CO1hd-BPhnkBin.mjs.map} +1 -1
  42. package/dist/{contract-at-errors-BsQiGdZC-D8l9-WWt.mjs → contract-at-errors-CLFX1-Gc-MNPXDx1t.mjs} +3 -3
  43. package/dist/{contract-at-errors-BsQiGdZC-D8l9-WWt.mjs.map → contract-at-errors-CLFX1-Gc-MNPXDx1t.mjs.map} +1 -1
  44. package/dist/{contract-emit-CIdgw3Kq-BcfYaUfn.mjs → contract-emit-BlvUNMHM-BEioUVR5.mjs} +6 -6
  45. package/dist/{contract-emit-CIdgw3Kq-BcfYaUfn.mjs.map → contract-emit-BlvUNMHM-BEioUVR5.mjs.map} +1 -1
  46. package/dist/{contract-emit-WIAaN0lC-DKOdtrUQ.mjs → contract-emit-CrYO0A8x-60BOqXFr.mjs} +5 -5
  47. package/dist/{contract-emit-WIAaN0lC-DKOdtrUQ.mjs.map → contract-emit-CrYO0A8x-60BOqXFr.mjs.map} +1 -1
  48. package/dist/contract-emit-Csa6R0gt-DvxFlS0O.mjs +2 -0
  49. package/dist/{contract-infer-xOEwVWds-CE5gw1PF.mjs → contract-infer-C8kLphsm-C7-AIYMc.mjs} +5 -5
  50. package/dist/{contract-infer-xOEwVWds-CE5gw1PF.mjs.map → contract-infer-C8kLphsm-C7-AIYMc.mjs.map} +1 -1
  51. package/dist/{contract-snapshot-resolution-BnH6_mw7-BrzAsS93.mjs → contract-snapshot-resolution-BUUdIcgG-8mbs6-OD.mjs} +4 -4
  52. package/dist/{contract-snapshot-resolution-BnH6_mw7-BrzAsS93.mjs.map → contract-snapshot-resolution-BUUdIcgG-8mbs6-OD.mjs.map} +1 -1
  53. package/dist/{contract-space-aggregate-loader-1wG1OiDk-D75luh5-.mjs → contract-space-aggregate-loader-BpdB-mHG-BiU0IUeb.mjs} +4 -4
  54. package/dist/{contract-space-aggregate-loader-1wG1OiDk-D75luh5-.mjs.map → contract-space-aggregate-loader-BpdB-mHG-BiU0IUeb.mjs.map} +1 -1
  55. package/dist/{db-init-CEk9Utl4-vGmJajwZ.mjs → db-init-CyNsXRAB-D3xWQ-vy.mjs} +7 -39
  56. package/dist/db-init-CyNsXRAB-D3xWQ-vy.mjs.map +1 -0
  57. package/dist/db-init-failure-XYOVL4o7-BitY_JYn.mjs +44 -0
  58. package/dist/db-init-failure-XYOVL4o7-BitY_JYn.mjs.map +1 -0
  59. package/dist/{db-schema-D_PJvBI3-BTnfCqbX.mjs → db-schema-7zNGHgYN-BVaRHPxg.mjs} +6 -6
  60. package/dist/{db-schema-D_PJvBI3-BTnfCqbX.mjs.map → db-schema-7zNGHgYN-BVaRHPxg.mjs.map} +1 -1
  61. package/dist/{db-sign-Bparnnii-Yd5pb4VF.mjs → db-sign-DAs6J3XG-xxP2CCnO.mjs} +8 -8
  62. package/dist/{db-sign-Bparnnii-Yd5pb4VF.mjs.map → db-sign-DAs6J3XG-xxP2CCnO.mjs.map} +1 -1
  63. package/dist/{db-update-CsKZyDYp-B8Zl7W4k.mjs → db-update-BX1sOuQk-CpeLgPeN.mjs} +7 -7
  64. package/dist/{db-update-CsKZyDYp-B8Zl7W4k.mjs.map → db-update-BX1sOuQk-CpeLgPeN.mjs.map} +1 -1
  65. package/dist/{db-verify-B33E7HXH-D87fiNt3.mjs → db-verify-CN4nmxxF-DSRWae0u.mjs} +7 -7
  66. package/dist/{db-verify-B33E7HXH-D87fiNt3.mjs.map → db-verify-CN4nmxxF-DSRWae0u.mjs.map} +1 -1
  67. package/dist/{format-CYdgHub4-Cs6VcFje.mjs → format-D5x0jz7q-xalz6Fkn.mjs} +5 -5
  68. package/dist/{format-CYdgHub4-Cs6VcFje.mjs.map → format-D5x0jz7q-xalz6Fkn.mjs.map} +1 -1
  69. package/dist/{framework-components-CXxMNF8E-C-g2cchI.mjs → framework-components-CPFWl2Ix-CrIZL3jG.mjs} +3 -3
  70. package/dist/{framework-components-CXxMNF8E-C-g2cchI.mjs.map → framework-components-CPFWl2Ix-CrIZL3jG.mjs.map} +1 -1
  71. package/dist/{init-B8U_9kn7-CdhTYHfO.mjs → init-BvLCfVjC-DOPO-TLF.mjs} +5 -5
  72. package/dist/{init-B8U_9kn7-CdhTYHfO.mjs.map → init-BvLCfVjC-DOPO-TLF.mjs.map} +1 -1
  73. package/dist/{inspect-live-schema-BAiaX0n9-DBQFEsMC.mjs → inspect-live-schema-BaLAtOgO-Bs0gs_yP.mjs} +5 -5
  74. package/dist/{inspect-live-schema-BAiaX0n9-DBQFEsMC.mjs.map → inspect-live-schema-BaLAtOgO-Bs0gs_yP.mjs.map} +1 -1
  75. package/dist/{invariants-CsxL0lbZ-B9Hfpj2R.mjs → invariants-1L2zfc6--BpedlAbF.mjs} +4 -4
  76. package/dist/{invariants-CsxL0lbZ-B9Hfpj2R.mjs.map → invariants-1L2zfc6--BpedlAbF.mjs.map} +1 -1
  77. package/dist/{legend-QYDKKevn-DCIlAPn4.mjs → legend-aXC5H1jH-Dg1yWonK.mjs} +3 -3
  78. package/dist/{legend-QYDKKevn-DCIlAPn4.mjs.map → legend-aXC5H1jH-Dg1yWonK.mjs.map} +1 -1
  79. package/dist/{migrate-DYx_CSbN-BuQ0lk-0.mjs → migrate-DRiUHRCS-Cci6EEZv.mjs} +32 -79
  80. package/dist/migrate-DRiUHRCS-Cci6EEZv.mjs.map +1 -0
  81. package/dist/migrate-failure-Bdr3AJee-C9yNeQXy.mjs +96 -0
  82. package/dist/migrate-failure-Bdr3AJee-C9yNeQXy.mjs.map +1 -0
  83. package/dist/{migrate-show-DWIvU6Y_-BQyWhZD1.d.mts → migrate-show-DutwCc2F-BhGfH7D-.d.mts} +5 -3
  84. package/dist/migrate-show-DutwCc2F-BhGfH7D-.d.mts.map +1 -0
  85. package/dist/{migrate-show-CPZEq35I-DeL3WVjs.mjs → migrate-show-bdXjSFgh-CQxl5yNp.mjs} +7 -7
  86. package/dist/migrate-show-bdXjSFgh-CQxl5yNp.mjs.map +1 -0
  87. package/dist/{migration-check-COMRj5eu-DbJgriA8.mjs → migration-check-aoZ8kXNA-DX2J84Cv.mjs} +7 -7
  88. package/dist/{migration-check-COMRj5eu-DbJgriA8.mjs.map → migration-check-aoZ8kXNA-DX2J84Cv.mjs.map} +1 -1
  89. package/dist/{migration-check-BUAcSrvA-DSS5Yvco.mjs → migration-check-of-RPYRk-HuXtDO8i.mjs} +6 -6
  90. package/dist/{migration-check-BUAcSrvA-DSS5Yvco.mjs.map → migration-check-of-RPYRk-HuXtDO8i.mjs.map} +1 -1
  91. package/dist/{migration-command-scaffold-CIMPoR6f-Ba-S9gXa.mjs → migration-command-scaffold-zJFTGn5k-5AGczeSx.mjs} +5 -5
  92. package/dist/{migration-command-scaffold-CIMPoR6f-Ba-S9gXa.mjs.map → migration-command-scaffold-zJFTGn5k-5AGczeSx.mjs.map} +1 -1
  93. package/dist/{migration-graph-BsGstA5L-BQiNbrkP.mjs → migration-graph-D0KHjNJ--CWzX9Zzc.mjs} +10 -10
  94. package/dist/{migration-graph-BsGstA5L-BQiNbrkP.mjs.map → migration-graph-D0KHjNJ--CWzX9Zzc.mjs.map} +1 -1
  95. package/dist/{migration-graph-BtP1Va3T-C8PpuaYw.mjs → migration-graph-DmdVVJoZ-DDBKjUMz.mjs} +3 -3
  96. package/dist/{migration-graph-BtP1Va3T-C8PpuaYw.mjs.map → migration-graph-DmdVVJoZ-DDBKjUMz.mjs.map} +1 -1
  97. package/dist/{migration-graph-command-render-CgdHruiZ-B6V4gmUe.mjs → migration-graph-command-render-BeuEyf2B-BNH9oUB_.mjs} +5 -5
  98. package/dist/{migration-graph-command-render-CgdHruiZ-B6V4gmUe.mjs.map → migration-graph-command-render-BeuEyf2B-BNH9oUB_.mjs.map} +1 -1
  99. package/dist/{migration-graph-sections-CceYWPCP-LqImOaK1.mjs → migration-graph-sections-BWcFCOL6-_G0Wb4QR.mjs} +4 -4
  100. package/dist/{migration-graph-sections-CceYWPCP-LqImOaK1.mjs.map → migration-graph-sections-BWcFCOL6-_G0Wb4QR.mjs.map} +1 -1
  101. package/dist/{migration-list-BiVyonwG-CdMbBV5Z.mjs → migration-list-B0SANIeM-DiXQ9LyS.mjs} +8 -8
  102. package/dist/{migration-list-BiVyonwG-CdMbBV5Z.mjs.map → migration-list-B0SANIeM-DiXQ9LyS.mjs.map} +1 -1
  103. package/dist/{migration-list-AKRIIovW-BN-Zrwk0.mjs → migration-list-W0dqabIj-Dc2NH_LY.mjs} +3 -3
  104. package/dist/{migration-list-AKRIIovW-BN-Zrwk0.mjs.map → migration-list-W0dqabIj-Dc2NH_LY.mjs.map} +1 -1
  105. package/dist/{migration-log-Z3-L172x-CvQTNJvI.mjs → migration-log-B3iiP8ns-B4tdLSye.mjs} +9 -9
  106. package/dist/{migration-log-Z3-L172x-CvQTNJvI.mjs.map → migration-log-B3iiP8ns-B4tdLSye.mjs.map} +1 -1
  107. package/dist/{migration-log-table-JR7fFVbE-DR2mom6h.mjs → migration-log-table-DRiOnvzf-zTQBThqe.mjs} +3 -3
  108. package/dist/{migration-log-table-JR7fFVbE-DR2mom6h.mjs.map → migration-log-table-DRiOnvzf-zTQBThqe.mjs.map} +1 -1
  109. package/dist/{migration-new-DDnQd7Ql-1WT_J_zf.mjs → migration-new-Bf5K9fNK-Cd90rYmm.mjs} +5 -5
  110. package/dist/{migration-new-DDnQd7Ql-1WT_J_zf.mjs.map → migration-new-Bf5K9fNK-Cd90rYmm.mjs.map} +1 -1
  111. package/dist/{migration-new-ZlgxFcbH-CxlZs2hr.mjs → migration-new-YSdtJTRp-Dc06LNJe.mjs} +7 -7
  112. package/dist/{migration-new-ZlgxFcbH-CxlZs2hr.mjs.map → migration-new-YSdtJTRp-Dc06LNJe.mjs.map} +1 -1
  113. package/dist/{migration-path-target-yA4h5Zc6-DlzBblBG.mjs → migration-path-target-5r1leSW5-B0EMgvEv.mjs} +3 -3
  114. package/dist/{migration-path-target-yA4h5Zc6-DlzBblBG.mjs.map → migration-path-target-5r1leSW5-B0EMgvEv.mjs.map} +1 -1
  115. package/dist/{migration-plan-s94qwFHi-86F_Aklp.d.mts → migration-plan-4cnnP6yM-DXzRfi_A.d.mts} +3 -3
  116. package/dist/{migration-plan-s94qwFHi-86F_Aklp.d.mts.map → migration-plan-4cnnP6yM-DXzRfi_A.d.mts.map} +1 -1
  117. package/dist/{migration-plan-DiLJTAep-2B463CwW.mjs → migration-plan-CZY8HVCh-BbfQvxnb.mjs} +8 -8
  118. package/dist/{migration-plan-DiLJTAep-2B463CwW.mjs.map → migration-plan-CZY8HVCh-BbfQvxnb.mjs.map} +1 -1
  119. package/dist/{migration-plan-CROSunPS-B66Rh_6T.mjs → migration-plan-oterbw8h-_GrKbsRb.mjs} +5 -5
  120. package/dist/{migration-plan-CROSunPS-B66Rh_6T.mjs.map → migration-plan-oterbw8h-_GrKbsRb.mjs.map} +1 -1
  121. package/dist/{migration-show-mJD52S2d-DiD-rCBB.mjs → migration-show-iX2cduR4-C3-FENR4.mjs} +9 -9
  122. package/dist/{migration-show-mJD52S2d-DiD-rCBB.mjs.map → migration-show-iX2cduR4-C3-FENR4.mjs.map} +1 -1
  123. package/dist/{migration-status-7Zawokrj-BwTcRAjf.mjs → migration-status-DCAQ3_C1-ofDvCvUk.mjs} +12 -12
  124. package/dist/{migration-status-7Zawokrj-BwTcRAjf.mjs.map → migration-status-DCAQ3_C1-ofDvCvUk.mjs.map} +1 -1
  125. package/dist/{project-import-root-Bkz1gPB2-jhrMFebo.mjs → project-import-root-BPuwl2j1-DTX9G73z.mjs} +3 -3
  126. package/dist/{project-import-root-Bkz1gPB2-jhrMFebo.mjs.map → project-import-root-BPuwl2j1-DTX9G73z.mjs.map} +1 -1
  127. package/dist/{ref-DftuSibc-CasZ6LgA.mjs → ref-CVD6j3jA-BAgpZLNM.mjs} +5 -5
  128. package/dist/{ref-DftuSibc-CasZ6LgA.mjs.map → ref-CVD6j3jA-BAgpZLNM.mjs.map} +1 -1
  129. package/dist/{ref-Cycefq_T-DQE5AM66.mjs → ref-CaqNqeRF-cjWFAueu.mjs} +5 -5
  130. package/dist/{ref-Cycefq_T-DQE5AM66.mjs.map → ref-CaqNqeRF-cjWFAueu.mjs.map} +1 -1
  131. package/dist/{ref-resolution-Bi4lpxM8-BbfL_yv8.mjs → ref-resolution-D4fAdXo8-Dfaky0yw.mjs} +3 -3
  132. package/dist/{ref-resolution-Bi4lpxM8-BbfL_yv8.mjs.map → ref-resolution-D4fAdXo8-Dfaky0yw.mjs.map} +1 -1
  133. package/dist/{telemetry-LP1Suxsf-CY1l7lD0.mjs → telemetry-fKuZOFpu-DNUWfIHo.mjs} +4 -4
  134. package/dist/{telemetry-LP1Suxsf-CY1l7lD0.mjs.map → telemetry-fKuZOFpu-DNUWfIHo.mjs.map} +1 -1
  135. package/dist/{terminal-ui-JJKxvT0q-CPDEJqqU.mjs → terminal-ui-Cqz4LVL7-B0mcVdLy.mjs} +3 -3
  136. package/dist/{terminal-ui-JJKxvT0q-CPDEJqqU.mjs.map → terminal-ui-Cqz4LVL7-B0mcVdLy.mjs.map} +1 -1
  137. package/dist/{verify-wUSBDQwh-Bv3NV9WG.mjs → verify-Cogr_Fj9-D3lCWA6t.mjs} +3 -3
  138. package/dist/{verify-wUSBDQwh-Bv3NV9WG.mjs.map → verify-Cogr_Fj9-D3lCWA6t.mjs.map} +1 -1
  139. package/dist/vite-plugin-contract-emit.mjs +1 -1
  140. package/package.json +12 -12
  141. package/dist/cli-errors-C8DGzS94-CPP3UmRT.d.mts.map +0 -1
  142. package/dist/contract-emit-BAfPwP3y-DfV1Stry.mjs +0 -2
  143. package/dist/db-init-CEk9Utl4-vGmJajwZ.mjs.map +0 -1
  144. package/dist/migrate-DYx_CSbN-BuQ0lk-0.mjs.map +0 -1
  145. package/dist/migrate-show-CPZEq35I-DeL3WVjs.mjs.map +0 -1
  146. package/dist/migrate-show-DWIvU6Y_-BQyWhZD1.d.mts.map +0 -1
@@ -1,8 +1,8 @@
1
- import { O as errorRuntime$1 } from "./cli-errors-CihMAEVj-C1uUYBop.mjs";
1
+ import { O as errorRuntime$1 } from "./cli-errors-C6_pH59O-CzD4SYcJ.mjs";
2
2
  import { c as internalImportRoot, o as importRootForDependencies, r as createImportSpecifierResolver } from "./import-roots-NDOIEDVj.mjs";
3
3
  import { dirname, join, resolve } from "pathe";
4
4
  import { readFileSync } from "node:fs";
5
- //#region ../../../1-framework/3-tooling/cli/dist/project-import-root-Bkz1gPB2.mjs
5
+ //#region ../../../1-framework/3-tooling/cli/dist/project-import-root-BPuwl2j1.mjs
6
6
  /**
7
7
  * The import root of the project being emitted for, read from its own
8
8
  * manifest.
@@ -98,4 +98,4 @@ function createProjectSpecifierResolver(configPath) {
98
98
  //#endregion
99
99
  export { createProjectSpecifierResolver as t };
100
100
 
101
- //# sourceMappingURL=project-import-root-Bkz1gPB2-jhrMFebo.mjs.map
101
+ //# sourceMappingURL=project-import-root-BPuwl2j1-DTX9G73z.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-import-root-Bkz1gPB2-jhrMFebo.mjs","names":["errorRuntime"],"sources":["../../../../1-framework/3-tooling/cli/dist/project-import-root-Bkz1gPB2.mjs"],"sourcesContent":["import { D as errorRuntime } from \"./cli-errors-CihMAEVj.mjs\";\nimport { dirname, join, resolve } from \"pathe\";\nimport { readFileSync } from \"node:fs\";\nimport { createImportSpecifierResolver, importRootForDependencies, internalImportRoot } from \"@internal/publish-surface/import-roots\";\n//#region src/utils/project-import-root.ts\n/**\n* The import root of the project being emitted for, read from its own\n* manifest.\n*\n* Generated files are kept by the application, so every package name in them\n* has to be one the application can resolve — which means one of its direct\n* dependencies (ADR 242). The application already states those in\n* `package.json`, so emission reads them instead of taking a mode from\n* configuration that could disagree with what is installed.\n*/\nconst DEPENDENCY_FIELDS = [\"dependencies\", \"devDependencies\"];\nfunction isRecord(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n/** The error codes that mean \"no manifest here\", as opposed to \"cannot read it\". */\nconst MANIFEST_ABSENT_CODES = /* @__PURE__ */ new Set([\"ENOENT\", \"ENOTDIR\"]);\nfunction errorCode(error) {\n\tif (!isRecord(error)) return void 0;\n\tconst code = error[\"code\"];\n\treturn typeof code === \"string\" ? code : void 0;\n}\n/**\n* The nearest `package.json` at or above `from`, or `undefined` if there is\n* none. The nearest one wins: a package inside a workspace states its own\n* dependencies, and the workspace root's are somebody else's.\n*\n* @throws {CliStructuredError} when a manifest is there but cannot be used —\n* unreadable, not valid JSON, or not a JSON object. Only \"there is no manifest\n* at this level\" continues the walk up; treating a permissions failure that\n* way would silently emit against the wrong project's dependencies.\n*/\nfunction nearestManifest(from) {\n\tlet dir = from;\n\twhile (true) {\n\t\tconst path = join(dir, \"package.json\");\n\t\tlet raw;\n\t\ttry {\n\t\t\traw = readFileSync(path, \"utf8\");\n\t\t} catch (cause) {\n\t\t\tif (!MANIFEST_ABSENT_CODES.has(errorCode(cause) ?? \"\")) throw errorRuntime(\"CLI.PROJECT_MANIFEST_UNREADABLE\", `Failed to read ${path}`, {\n\t\t\t\twhy: `\\`${path}\\` exists but could not be read: ${cause instanceof Error ? cause.message : String(cause)}`,\n\t\t\t\tfix: `Make \\`${path}\\` readable, then re-run the command. Emission reads it to decide which package names generated files should import.`,\n\t\t\t\tmeta: { path },\n\t\t\t\tcause\n\t\t\t});\n\t\t\tconst parent = dirname(dir);\n\t\t\tif (parent === dir) return void 0;\n\t\t\tdir = parent;\n\t\t\tcontinue;\n\t\t}\n\t\tlet parsed;\n\t\ttry {\n\t\t\tparsed = JSON.parse(raw);\n\t\t} catch (cause) {\n\t\t\tthrow errorRuntime(\"CLI.PROJECT_MANIFEST_INVALID\", `Failed to parse ${path}`, {\n\t\t\t\twhy: `\\`${path}\\` is not valid JSON: ${cause instanceof Error ? cause.message : String(cause)}`,\n\t\t\t\tfix: `Fix the JSON syntax in \\`${path}\\` (a missing comma or unbalanced brace is the most common cause), then re-run the command. Emission reads it to decide which package names generated files should import.`,\n\t\t\t\tmeta: { path },\n\t\t\t\tcause\n\t\t\t});\n\t\t}\n\t\tif (!isRecord(parsed)) throw errorRuntime(\"CLI.PROJECT_MANIFEST_INVALID\", `Failed to read ${path}`, {\n\t\t\twhy: `\\`${path}\\` is valid JSON but not a JSON object, so it states no dependencies.`,\n\t\t\tfix: `Make \\`${path}\\` a JSON object with the usual manifest fields, then re-run the command. Emission reads it to decide which package names generated files should import.`,\n\t\t\tmeta: { path }\n\t\t});\n\t\treturn parsed;\n\t}\n}\nfunction declaredDependencies(manifest) {\n\treturn DEPENDENCY_FIELDS.flatMap((field) => {\n\t\tconst value = manifest[field];\n\t\treturn isRecord(value) ? Object.keys(value) : [];\n\t});\n}\n/**\n* The import root for the project that owns `configPath`, or for the working\n* directory when the config was discovered rather than named.\n*\n* A project with no manifest, or one that names no published package, is on\n* the internal root — which emits every specifier exactly as authored, so a\n* project that has not moved to published names is unaffected.\n*/\nfunction projectImportRoot(configPath) {\n\tconst manifest = nearestManifest(configPath === void 0 ? resolve(\".\") : dirname(resolve(configPath)));\n\tif (manifest === void 0) return internalImportRoot;\n\treturn importRootForDependencies(declaredDependencies(manifest));\n}\n/** The specifier resolver emission should use for the project owning `configPath`. */\nfunction createProjectSpecifierResolver(configPath) {\n\treturn createImportSpecifierResolver(projectImportRoot(configPath));\n}\n//#endregion\nexport { createProjectSpecifierResolver as t };\n\n//# sourceMappingURL=project-import-root-Bkz1gPB2.mjs.map"],"mappings":";;;;;;;;;;;;;;;AAeA,MAAM,oBAAoB,CAAC,gBAAgB,iBAAiB;AAC5D,SAAS,SAAS,OAAO;CACxB,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAC3E;;AAEA,MAAM,wCAAwC,IAAI,IAAI,CAAC,UAAU,SAAS,CAAC;AAC3E,SAAS,UAAU,OAAO;CACzB,IAAI,CAAC,SAAS,KAAK,GAAG,OAAO,KAAK;CAClC,MAAM,OAAO,MAAM;CACnB,OAAO,OAAO,SAAS,WAAW,OAAO,KAAK;AAC/C;;;;;;;;;;;AAWA,SAAS,gBAAgB,MAAM;CAC9B,IAAI,MAAM;CACV,OAAO,MAAM;EACZ,MAAM,OAAO,KAAK,KAAK,cAAc;EACrC,IAAI;EACJ,IAAI;GACH,MAAM,aAAa,MAAM,MAAM;EAChC,SAAS,OAAO;GACf,IAAI,CAAC,sBAAsB,IAAI,UAAU,KAAK,KAAK,EAAE,GAAG,MAAMA,eAAa,mCAAmC,kBAAkB,QAAQ;IACvI,KAAK,KAAK,KAAK,mCAAmC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;IACvG,KAAK,UAAU,KAAK;IACpB,MAAM,EAAE,KAAK;IACb;GACD,CAAC;GACD,MAAM,SAAS,QAAQ,GAAG;GAC1B,IAAI,WAAW,KAAK,OAAO,KAAK;GAChC,MAAM;GACN;EACD;EACA,IAAI;EACJ,IAAI;GACH,SAAS,KAAK,MAAM,GAAG;EACxB,SAAS,OAAO;GACf,MAAMA,eAAa,gCAAgC,mBAAmB,QAAQ;IAC7E,KAAK,KAAK,KAAK,wBAAwB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;IAC5F,KAAK,4BAA4B,KAAK;IACtC,MAAM,EAAE,KAAK;IACb;GACD,CAAC;EACF;EACA,IAAI,CAAC,SAAS,MAAM,GAAG,MAAMA,eAAa,gCAAgC,kBAAkB,QAAQ;GACnG,KAAK,KAAK,KAAK;GACf,KAAK,UAAU,KAAK;GACpB,MAAM,EAAE,KAAK;EACd,CAAC;EACD,OAAO;CACR;AACD;AACA,SAAS,qBAAqB,UAAU;CACvC,OAAO,kBAAkB,SAAS,UAAU;EAC3C,MAAM,QAAQ,SAAS;EACvB,OAAO,SAAS,KAAK,IAAI,OAAO,KAAK,KAAK,IAAI,CAAC;CAChD,CAAC;AACF;;;;;;;;;AASA,SAAS,kBAAkB,YAAY;CACtC,MAAM,WAAW,gBAAgB,eAAe,KAAK,IAAI,QAAQ,GAAG,IAAI,QAAQ,QAAQ,UAAU,CAAC,CAAC;CACpG,IAAI,aAAa,KAAK,GAAG,OAAO;CAChC,OAAO,0BAA0B,qBAAqB,QAAQ,CAAC;AAChE;;AAEA,SAAS,+BAA+B,YAAY;CACnD,OAAO,8BAA8B,kBAAkB,UAAU,CAAC;AACnE"}
1
+ {"version":3,"file":"project-import-root-BPuwl2j1-DTX9G73z.mjs","names":["errorRuntime"],"sources":["../../../../1-framework/3-tooling/cli/dist/project-import-root-BPuwl2j1.mjs"],"sourcesContent":["import { D as errorRuntime } from \"./cli-errors-C6_pH59O.mjs\";\nimport { dirname, join, resolve } from \"pathe\";\nimport { readFileSync } from \"node:fs\";\nimport { createImportSpecifierResolver, importRootForDependencies, internalImportRoot } from \"@internal/publish-surface/import-roots\";\n//#region src/utils/project-import-root.ts\n/**\n* The import root of the project being emitted for, read from its own\n* manifest.\n*\n* Generated files are kept by the application, so every package name in them\n* has to be one the application can resolve — which means one of its direct\n* dependencies (ADR 242). The application already states those in\n* `package.json`, so emission reads them instead of taking a mode from\n* configuration that could disagree with what is installed.\n*/\nconst DEPENDENCY_FIELDS = [\"dependencies\", \"devDependencies\"];\nfunction isRecord(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n/** The error codes that mean \"no manifest here\", as opposed to \"cannot read it\". */\nconst MANIFEST_ABSENT_CODES = /* @__PURE__ */ new Set([\"ENOENT\", \"ENOTDIR\"]);\nfunction errorCode(error) {\n\tif (!isRecord(error)) return void 0;\n\tconst code = error[\"code\"];\n\treturn typeof code === \"string\" ? code : void 0;\n}\n/**\n* The nearest `package.json` at or above `from`, or `undefined` if there is\n* none. The nearest one wins: a package inside a workspace states its own\n* dependencies, and the workspace root's are somebody else's.\n*\n* @throws {CliStructuredError} when a manifest is there but cannot be used —\n* unreadable, not valid JSON, or not a JSON object. Only \"there is no manifest\n* at this level\" continues the walk up; treating a permissions failure that\n* way would silently emit against the wrong project's dependencies.\n*/\nfunction nearestManifest(from) {\n\tlet dir = from;\n\twhile (true) {\n\t\tconst path = join(dir, \"package.json\");\n\t\tlet raw;\n\t\ttry {\n\t\t\traw = readFileSync(path, \"utf8\");\n\t\t} catch (cause) {\n\t\t\tif (!MANIFEST_ABSENT_CODES.has(errorCode(cause) ?? \"\")) throw errorRuntime(\"CLI.PROJECT_MANIFEST_UNREADABLE\", `Failed to read ${path}`, {\n\t\t\t\twhy: `\\`${path}\\` exists but could not be read: ${cause instanceof Error ? cause.message : String(cause)}`,\n\t\t\t\tfix: `Make \\`${path}\\` readable, then re-run the command. Emission reads it to decide which package names generated files should import.`,\n\t\t\t\tmeta: { path },\n\t\t\t\tcause\n\t\t\t});\n\t\t\tconst parent = dirname(dir);\n\t\t\tif (parent === dir) return void 0;\n\t\t\tdir = parent;\n\t\t\tcontinue;\n\t\t}\n\t\tlet parsed;\n\t\ttry {\n\t\t\tparsed = JSON.parse(raw);\n\t\t} catch (cause) {\n\t\t\tthrow errorRuntime(\"CLI.PROJECT_MANIFEST_INVALID\", `Failed to parse ${path}`, {\n\t\t\t\twhy: `\\`${path}\\` is not valid JSON: ${cause instanceof Error ? cause.message : String(cause)}`,\n\t\t\t\tfix: `Fix the JSON syntax in \\`${path}\\` (a missing comma or unbalanced brace is the most common cause), then re-run the command. Emission reads it to decide which package names generated files should import.`,\n\t\t\t\tmeta: { path },\n\t\t\t\tcause\n\t\t\t});\n\t\t}\n\t\tif (!isRecord(parsed)) throw errorRuntime(\"CLI.PROJECT_MANIFEST_INVALID\", `Failed to read ${path}`, {\n\t\t\twhy: `\\`${path}\\` is valid JSON but not a JSON object, so it states no dependencies.`,\n\t\t\tfix: `Make \\`${path}\\` a JSON object with the usual manifest fields, then re-run the command. Emission reads it to decide which package names generated files should import.`,\n\t\t\tmeta: { path }\n\t\t});\n\t\treturn parsed;\n\t}\n}\nfunction declaredDependencies(manifest) {\n\treturn DEPENDENCY_FIELDS.flatMap((field) => {\n\t\tconst value = manifest[field];\n\t\treturn isRecord(value) ? Object.keys(value) : [];\n\t});\n}\n/**\n* The import root for the project that owns `configPath`, or for the working\n* directory when the config was discovered rather than named.\n*\n* A project with no manifest, or one that names no published package, is on\n* the internal root — which emits every specifier exactly as authored, so a\n* project that has not moved to published names is unaffected.\n*/\nfunction projectImportRoot(configPath) {\n\tconst manifest = nearestManifest(configPath === void 0 ? resolve(\".\") : dirname(resolve(configPath)));\n\tif (manifest === void 0) return internalImportRoot;\n\treturn importRootForDependencies(declaredDependencies(manifest));\n}\n/** The specifier resolver emission should use for the project owning `configPath`. */\nfunction createProjectSpecifierResolver(configPath) {\n\treturn createImportSpecifierResolver(projectImportRoot(configPath));\n}\n//#endregion\nexport { createProjectSpecifierResolver as t };\n\n//# sourceMappingURL=project-import-root-BPuwl2j1.mjs.map"],"mappings":";;;;;;;;;;;;;;;AAeA,MAAM,oBAAoB,CAAC,gBAAgB,iBAAiB;AAC5D,SAAS,SAAS,OAAO;CACxB,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAC3E;;AAEA,MAAM,wCAAwC,IAAI,IAAI,CAAC,UAAU,SAAS,CAAC;AAC3E,SAAS,UAAU,OAAO;CACzB,IAAI,CAAC,SAAS,KAAK,GAAG,OAAO,KAAK;CAClC,MAAM,OAAO,MAAM;CACnB,OAAO,OAAO,SAAS,WAAW,OAAO,KAAK;AAC/C;;;;;;;;;;;AAWA,SAAS,gBAAgB,MAAM;CAC9B,IAAI,MAAM;CACV,OAAO,MAAM;EACZ,MAAM,OAAO,KAAK,KAAK,cAAc;EACrC,IAAI;EACJ,IAAI;GACH,MAAM,aAAa,MAAM,MAAM;EAChC,SAAS,OAAO;GACf,IAAI,CAAC,sBAAsB,IAAI,UAAU,KAAK,KAAK,EAAE,GAAG,MAAMA,eAAa,mCAAmC,kBAAkB,QAAQ;IACvI,KAAK,KAAK,KAAK,mCAAmC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;IACvG,KAAK,UAAU,KAAK;IACpB,MAAM,EAAE,KAAK;IACb;GACD,CAAC;GACD,MAAM,SAAS,QAAQ,GAAG;GAC1B,IAAI,WAAW,KAAK,OAAO,KAAK;GAChC,MAAM;GACN;EACD;EACA,IAAI;EACJ,IAAI;GACH,SAAS,KAAK,MAAM,GAAG;EACxB,SAAS,OAAO;GACf,MAAMA,eAAa,gCAAgC,mBAAmB,QAAQ;IAC7E,KAAK,KAAK,KAAK,wBAAwB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;IAC5F,KAAK,4BAA4B,KAAK;IACtC,MAAM,EAAE,KAAK;IACb;GACD,CAAC;EACF;EACA,IAAI,CAAC,SAAS,MAAM,GAAG,MAAMA,eAAa,gCAAgC,kBAAkB,QAAQ;GACnG,KAAK,KAAK,KAAK;GACf,KAAK,UAAU,KAAK;GACpB,MAAM,EAAE,KAAK;EACd,CAAC;EACD,OAAO;CACR;AACD;AACA,SAAS,qBAAqB,UAAU;CACvC,OAAO,kBAAkB,SAAS,UAAU;EAC3C,MAAM,QAAQ,SAAS;EACvB,OAAO,SAAS,KAAK,IAAI,OAAO,KAAK,KAAK,IAAI,CAAC;CAChD,CAAC;AACF;;;;;;;;;AASA,SAAS,kBAAkB,YAAY;CACtC,MAAM,WAAW,gBAAgB,eAAe,KAAK,IAAI,QAAQ,GAAG,IAAI,QAAQ,QAAQ,UAAU,CAAC,CAAC;CACpG,IAAI,aAAa,KAAK,GAAG,OAAO;CAChC,OAAO,0BAA0B,qBAAqB,QAAQ,CAAC;AAChE;;AAEA,SAAS,+BAA+B,YAAY;CACnD,OAAO,8BAA8B,kBAAkB,UAAU,CAAC;AACnE"}
@@ -1,16 +1,16 @@
1
- import { E as errorRefSetHashNotInGraph, N as errorUnexpected, O as errorRuntime$1, P as mapRefResolutionError, T as errorRefSetEmptySentinel, d as errorFileNotFound, t as CliStructuredError$1, w as errorRefSetBundleNotFound } from "./cli-errors-CihMAEVj-C1uUYBop.mjs";
1
+ import { E as errorRefSetHashNotInGraph, N as errorUnexpected, O as errorRuntime$1, P as mapRefResolutionError, T as errorRefSetEmptySentinel, d as errorFileNotFound, t as CliStructuredError$1, w as errorRefSetBundleNotFound } from "./cli-errors-C6_pH59O-CzD4SYcJ.mjs";
2
2
  import { t as MigrationToolsError } from "./errors-CXbGUWGu-BQi6YS-H.mjs";
3
3
  import { r as readContractSnapshotJson, t as contractSnapshotDir } from "./contract-snapshot-store-B0G1Fw_F-C4JjmWEA.mjs";
4
4
  import "./constants-CM-w38DQ-Cz_EXbOc.mjs";
5
5
  import { r as findLatestMigration } from "./migration-graph-_SJImD5V-D5RCc651.mjs";
6
- import { _ as resolveMigrationPaths } from "./command-helpers-Dw3LDEu_-B4AETH4D.mjs";
6
+ import { _ as resolveMigrationPaths } from "./command-helpers-kD9CO1hd-BPhnkBin.mjs";
7
7
  import { n as isGraphNode } from "./graph-membership-BViWUMpP-Cgu4Z2ox.mjs";
8
8
  import { d as writeRef, i as readRefs, l as validateRefName, n as deleteRef, u as validateRefValue } from "./refs-WK86uYYp-B6EZkmmT.mjs";
9
- import { r as buildReadAggregate } from "./contract-space-aggregate-loader-1wG1OiDk-D75luh5-.mjs";
9
+ import { r as buildReadAggregate } from "./contract-space-aggregate-loader-BpdB-mHG-BiU0IUeb.mjs";
10
10
  import { n as parseContractRef } from "./ref-resolution-sGcINe7o.mjs";
11
11
  import { join } from "pathe";
12
12
  import { notOk, ok } from "@prisma/orm-framework/utils/result";
13
- //#region ../../../1-framework/3-tooling/cli/dist/ref-DftuSibc.mjs
13
+ //#region ../../../1-framework/3-tooling/cli/dist/ref-CVD6j3jA.mjs
14
14
  function mapError(error) {
15
15
  if (MigrationToolsError.is(error)) return error;
16
16
  return errorUnexpected(error instanceof Error ? error.message : String(error));
@@ -101,4 +101,4 @@ async function executeRefListCommand(options) {
101
101
  //#endregion
102
102
  export { executeRefListCommand as n, executeRefSetCommand as r, executeRefDeleteCommand as t };
103
103
 
104
- //# sourceMappingURL=ref-DftuSibc-CasZ6LgA.mjs.map
104
+ //# sourceMappingURL=ref-CVD6j3jA-BAgpZLNM.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ref-DftuSibc-CasZ6LgA.mjs","names":["errorRuntime","CliStructuredError"],"sources":["../../../../1-framework/3-tooling/cli/dist/ref-DftuSibc.mjs"],"sourcesContent":["import { C as errorRefSetBundleNotFound, D as errorRuntime, M as errorUnexpected, N as mapRefResolutionError, T as errorRefSetHashNotInGraph, t as CliStructuredError, u as errorFileNotFound, w as errorRefSetEmptySentinel } from \"./cli-errors-CihMAEVj.mjs\";\nimport { c as resolveMigrationPaths } from \"./command-helpers-Dw3LDEu_.mjs\";\nimport { r as buildReadAggregate } from \"./contract-space-aggregate-loader-1wG1OiDk.mjs\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { join } from \"pathe\";\nimport { EMPTY_CONTRACT_HASH } from \"@internal/migration-tools/constants\";\nimport { MigrationToolsError } from \"@internal/migration-tools/errors\";\nimport { findLatestMigration, isGraphNode } from \"@internal/migration-tools/migration-graph\";\nimport { contractSnapshotDir, readContractSnapshotJson } from \"@internal/migration-tools/contract-snapshot-store\";\nimport { deleteRef, readRefs, validateRefName, validateRefValue, writeRef } from \"@internal/migration-tools/refs\";\nimport { parseContractRef } from \"@internal/migration-tools/ref-resolution\";\n//#region src/control-api/operations/ref.ts\nfunction mapError(error) {\n\tif (MigrationToolsError.is(error)) return error;\n\treturn errorUnexpected(error instanceof Error ? error.message : String(error));\n}\nfunction cliErrorInvalidRefName(name) {\n\treturn errorRuntime(\"MIGRATION.INVALID_REF_NAME\", `Invalid ref name \"${name}\"`, {\n\t\twhy: `Ref name \"${name}\" does not match the required format`,\n\t\tfix: \"Ref names must be lowercase alphanumeric with hyphens or forward slashes, no `.` or `..` segments\"\n\t});\n}\nasync function executeRefSetCommand(name, contractInput, options) {\n\tif (!validateRefName(name)) return notOk(cliErrorInvalidRefName(name));\n\tconst config = options.config;\n\ttry {\n\t\tconst { migrationsDir, refsDir } = resolveMigrationPaths(options.configPath, config, options.cwd);\n\t\tconst loaded = await buildReadAggregate(config, { migrationsDir });\n\t\tif (!loaded.ok) return notOk(loaded.failure);\n\t\tconst graph = loaded.value.aggregate.app.graph();\n\t\tconst bundles = loaded.value.aggregate.app.packages;\n\t\tconst refs = loaded.value.aggregate.app.refs;\n\t\tlet resolvedHash;\n\t\tif (validateRefValue(contractInput)) resolvedHash = contractInput;\n\t\telse {\n\t\t\tconst refResult = parseContractRef(contractInput, {\n\t\t\t\tgraph,\n\t\t\t\trefs\n\t\t\t});\n\t\t\tif (!refResult.ok) return notOk(mapRefResolutionError(refResult.failure));\n\t\t\tresolvedHash = refResult.value.hash;\n\t\t}\n\t\tif (resolvedHash === EMPTY_CONTRACT_HASH) return notOk(errorRefSetEmptySentinel(resolvedHash));\n\t\tif (!isGraphNode(resolvedHash, graph)) {\n\t\t\tconst graphTip = findLatestMigration(graph)?.to ?? null;\n\t\t\treturn notOk(errorRefSetHashNotInGraph(resolvedHash, [...graph.nodes].sort(), graphTip));\n\t\t}\n\t\tif (!bundles.find((bundle) => bundle.metadata.to === resolvedHash)) return notOk(errorRefSetBundleNotFound(resolvedHash));\n\t\tconst contractJsonPath = join(contractSnapshotDir(migrationsDir, resolvedHash), \"contract.json\");\n\t\ttry {\n\t\t\tawait readContractSnapshotJson(migrationsDir, resolvedHash);\n\t\t} catch (readError) {\n\t\t\tif (MigrationToolsError.is(readError) && readError.code === \"MIGRATION.CONTRACT_SNAPSHOT_MISSING\") return notOk(errorFileNotFound(contractJsonPath, {\n\t\t\t\twhy: `Migration bundle for hash ${resolvedHash} is missing its contract snapshot at ${contractJsonPath}`,\n\t\t\t\tfix: \"Restore migrations/snapshots/ from version control, or re-run the command that produced this migration to regenerate its snapshot.\"\n\t\t\t}));\n\t\t\tthrow readError;\n\t\t}\n\t\tawait writeRef(refsDir, name, {\n\t\t\thash: resolvedHash,\n\t\t\tinvariants: []\n\t\t});\n\t\treturn ok({\n\t\t\tok: true,\n\t\t\tref: name,\n\t\t\thash: resolvedHash,\n\t\t\tinvariants: []\n\t\t});\n\t} catch (error) {\n\t\tif (error instanceof CliStructuredError) return notOk(error);\n\t\treturn notOk(mapError(error));\n\t}\n}\nasync function executeRefDeleteCommand(name, options) {\n\ttry {\n\t\tconst { refsDir } = resolveMigrationPaths(options.configPath, options.config, options.cwd);\n\t\tawait deleteRef(refsDir, name);\n\t\treturn ok({\n\t\t\tok: true,\n\t\t\tref: name,\n\t\t\tdeleted: true\n\t\t});\n\t} catch (error) {\n\t\tif (error instanceof CliStructuredError) return notOk(error);\n\t\treturn notOk(mapError(error));\n\t}\n}\nasync function executeRefListCommand(options) {\n\ttry {\n\t\tconst { refsDir } = resolveMigrationPaths(options.configPath, options.config, options.cwd);\n\t\treturn ok({\n\t\t\tok: true,\n\t\t\trefs: await readRefs(refsDir)\n\t\t});\n\t} catch (error) {\n\t\tif (error instanceof CliStructuredError) return notOk(error);\n\t\treturn notOk(mapError(error));\n\t}\n}\n//#endregion\nexport { executeRefListCommand as n, executeRefSetCommand as r, executeRefDeleteCommand as t };\n\n//# sourceMappingURL=ref-DftuSibc.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"ref-CVD6j3jA-BAgpZLNM.mjs","names":["errorRuntime","CliStructuredError"],"sources":["../../../../1-framework/3-tooling/cli/dist/ref-CVD6j3jA.mjs"],"sourcesContent":["import { C as errorRefSetBundleNotFound, D as errorRuntime, M as errorUnexpected, N as mapRefResolutionError, T as errorRefSetHashNotInGraph, t as CliStructuredError, u as errorFileNotFound, w as errorRefSetEmptySentinel } from \"./cli-errors-C6_pH59O.mjs\";\nimport { c as resolveMigrationPaths } from \"./command-helpers-kD9CO1hd.mjs\";\nimport { r as buildReadAggregate } from \"./contract-space-aggregate-loader-BpdB-mHG.mjs\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { join } from \"pathe\";\nimport { EMPTY_CONTRACT_HASH } from \"@internal/migration-tools/constants\";\nimport { MigrationToolsError } from \"@internal/migration-tools/errors\";\nimport { findLatestMigration, isGraphNode } from \"@internal/migration-tools/migration-graph\";\nimport { contractSnapshotDir, readContractSnapshotJson } from \"@internal/migration-tools/contract-snapshot-store\";\nimport { deleteRef, readRefs, validateRefName, validateRefValue, writeRef } from \"@internal/migration-tools/refs\";\nimport { parseContractRef } from \"@internal/migration-tools/ref-resolution\";\n//#region src/control-api/operations/ref.ts\nfunction mapError(error) {\n\tif (MigrationToolsError.is(error)) return error;\n\treturn errorUnexpected(error instanceof Error ? error.message : String(error));\n}\nfunction cliErrorInvalidRefName(name) {\n\treturn errorRuntime(\"MIGRATION.INVALID_REF_NAME\", `Invalid ref name \"${name}\"`, {\n\t\twhy: `Ref name \"${name}\" does not match the required format`,\n\t\tfix: \"Ref names must be lowercase alphanumeric with hyphens or forward slashes, no `.` or `..` segments\"\n\t});\n}\nasync function executeRefSetCommand(name, contractInput, options) {\n\tif (!validateRefName(name)) return notOk(cliErrorInvalidRefName(name));\n\tconst config = options.config;\n\ttry {\n\t\tconst { migrationsDir, refsDir } = resolveMigrationPaths(options.configPath, config, options.cwd);\n\t\tconst loaded = await buildReadAggregate(config, { migrationsDir });\n\t\tif (!loaded.ok) return notOk(loaded.failure);\n\t\tconst graph = loaded.value.aggregate.app.graph();\n\t\tconst bundles = loaded.value.aggregate.app.packages;\n\t\tconst refs = loaded.value.aggregate.app.refs;\n\t\tlet resolvedHash;\n\t\tif (validateRefValue(contractInput)) resolvedHash = contractInput;\n\t\telse {\n\t\t\tconst refResult = parseContractRef(contractInput, {\n\t\t\t\tgraph,\n\t\t\t\trefs\n\t\t\t});\n\t\t\tif (!refResult.ok) return notOk(mapRefResolutionError(refResult.failure));\n\t\t\tresolvedHash = refResult.value.hash;\n\t\t}\n\t\tif (resolvedHash === EMPTY_CONTRACT_HASH) return notOk(errorRefSetEmptySentinel(resolvedHash));\n\t\tif (!isGraphNode(resolvedHash, graph)) {\n\t\t\tconst graphTip = findLatestMigration(graph)?.to ?? null;\n\t\t\treturn notOk(errorRefSetHashNotInGraph(resolvedHash, [...graph.nodes].sort(), graphTip));\n\t\t}\n\t\tif (!bundles.find((bundle) => bundle.metadata.to === resolvedHash)) return notOk(errorRefSetBundleNotFound(resolvedHash));\n\t\tconst contractJsonPath = join(contractSnapshotDir(migrationsDir, resolvedHash), \"contract.json\");\n\t\ttry {\n\t\t\tawait readContractSnapshotJson(migrationsDir, resolvedHash);\n\t\t} catch (readError) {\n\t\t\tif (MigrationToolsError.is(readError) && readError.code === \"MIGRATION.CONTRACT_SNAPSHOT_MISSING\") return notOk(errorFileNotFound(contractJsonPath, {\n\t\t\t\twhy: `Migration bundle for hash ${resolvedHash} is missing its contract snapshot at ${contractJsonPath}`,\n\t\t\t\tfix: \"Restore migrations/snapshots/ from version control, or re-run the command that produced this migration to regenerate its snapshot.\"\n\t\t\t}));\n\t\t\tthrow readError;\n\t\t}\n\t\tawait writeRef(refsDir, name, {\n\t\t\thash: resolvedHash,\n\t\t\tinvariants: []\n\t\t});\n\t\treturn ok({\n\t\t\tok: true,\n\t\t\tref: name,\n\t\t\thash: resolvedHash,\n\t\t\tinvariants: []\n\t\t});\n\t} catch (error) {\n\t\tif (error instanceof CliStructuredError) return notOk(error);\n\t\treturn notOk(mapError(error));\n\t}\n}\nasync function executeRefDeleteCommand(name, options) {\n\ttry {\n\t\tconst { refsDir } = resolveMigrationPaths(options.configPath, options.config, options.cwd);\n\t\tawait deleteRef(refsDir, name);\n\t\treturn ok({\n\t\t\tok: true,\n\t\t\tref: name,\n\t\t\tdeleted: true\n\t\t});\n\t} catch (error) {\n\t\tif (error instanceof CliStructuredError) return notOk(error);\n\t\treturn notOk(mapError(error));\n\t}\n}\nasync function executeRefListCommand(options) {\n\ttry {\n\t\tconst { refsDir } = resolveMigrationPaths(options.configPath, options.config, options.cwd);\n\t\treturn ok({\n\t\t\tok: true,\n\t\t\trefs: await readRefs(refsDir)\n\t\t});\n\t} catch (error) {\n\t\tif (error instanceof CliStructuredError) return notOk(error);\n\t\treturn notOk(mapError(error));\n\t}\n}\n//#endregion\nexport { executeRefListCommand as n, executeRefSetCommand as r, executeRefDeleteCommand as t };\n\n//# sourceMappingURL=ref-CVD6j3jA.mjs.map"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { o as loadConfigForSections } from "./exports-BZLNbtkY.mjs";
2
- import { r as createTerminalUI } from "./terminal-ui-JJKxvT0q-CPDEJqqU.mjs";
3
- import { a as formatCommandHelp, m as parseGlobalFlagsOrExit, p as parseGlobalFlags, t as addGlobalOptions, u as handleResult, y as setCommandDescriptions } from "./command-helpers-Dw3LDEu_-B4AETH4D.mjs";
4
- import { n as executeRefListCommand, r as executeRefSetCommand, t as executeRefDeleteCommand } from "./ref-DftuSibc-CasZ6LgA.mjs";
2
+ import { r as createTerminalUI } from "./terminal-ui-Cqz4LVL7-B0mcVdLy.mjs";
3
+ import { a as formatCommandHelp, m as parseGlobalFlagsOrExit, p as parseGlobalFlags, t as addGlobalOptions, u as handleResult, y as setCommandDescriptions } from "./command-helpers-kD9CO1hd-BPhnkBin.mjs";
4
+ import { n as executeRefListCommand, r as executeRefSetCommand, t as executeRefDeleteCommand } from "./ref-CVD6j3jA-BAgpZLNM.mjs";
5
5
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
6
6
  import { ok } from "@prisma/orm-framework/utils/result";
7
7
  import { Command } from "commander";
8
- //#region ../../../1-framework/3-tooling/cli/dist/ref-Cycefq_T.mjs
8
+ //#region ../../../1-framework/3-tooling/cli/dist/ref-CaqNqeRF.mjs
9
9
  async function refOperationOptions(options, sections) {
10
10
  const configResult = await loadConfigForSections(options.config, sections);
11
11
  if (!configResult.ok) return configResult;
@@ -92,4 +92,4 @@ function createRefCommand() {
92
92
  //#endregion
93
93
  export { createRefCommand as t };
94
94
 
95
- //# sourceMappingURL=ref-Cycefq_T-DQE5AM66.mjs.map
95
+ //# sourceMappingURL=ref-CaqNqeRF-cjWFAueu.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ref-Cycefq_T-DQE5AM66.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/ref-Cycefq_T.mjs"],"sourcesContent":["import { t as createTerminalUI } from \"./terminal-ui-JJKxvT0q.mjs\";\nimport { _ as parseGlobalFlagsOrExit, b as formatCommandHelp, g as parseGlobalFlags, t as addGlobalOptions, u as setCommandDescriptions, v as handleResult } from \"./command-helpers-Dw3LDEu_.mjs\";\nimport { n as executeRefListCommand, r as executeRefSetCommand, t as executeRefDeleteCommand } from \"./ref-DftuSibc.mjs\";\nimport { Command } from \"commander\";\nimport { loadConfigForSections } from \"@internal/config-loader\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { ok } from \"@internal/utils/result\";\n//#region src/commands/ref.ts\nasync function refOperationOptions(options, sections) {\n\tconst configResult = await loadConfigForSections(options.config, sections);\n\tif (!configResult.ok) return configResult;\n\treturn ok({\n\t\tconfig: configResult.value,\n\t\tcwd: process.cwd(),\n\t\t...ifDefined(\"configPath\", options.config)\n\t});\n}\nfunction createRefSetCommand() {\n\tconst command = new Command(\"set\");\n\tsetCommandDescriptions(command, \"Set a ref to a contract reference\", \"Sets a named ref to point to a resolved contract reference (hash, alias, or path) in migrations/refs/.\");\n\taddGlobalOptions(command).argument(\"<name>\", \"Ref name (e.g., staging, production)\").argument(\"<contract>\", \"Contract reference (hash, prefix, ref name, migration dir name, <dir>^, or ./path)\").option(\"--config <path>\", \"Path to prisma-next.config.ts\").action(async (name, hash, options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tconst operationOptions = await refOperationOptions(options, [\n\t\t\t\"family\",\n\t\t\t\"target\",\n\t\t\t\"adapter\",\n\t\t\t\"extensions\",\n\t\t\t\"migrations\",\n\t\t\t\"contract\"\n\t\t]);\n\t\tconst exitCode = handleResult(operationOptions.ok ? await executeRefSetCommand(name, hash, operationOptions.value) : operationOptions, flags, ui, (value) => {\n\t\t\tif (flags.json) ui.output(JSON.stringify(value));\n\t\t\telse if (!flags.quiet) ui.output(`Set ref \"${value.ref}\" → ${value.hash}`);\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n\treturn command;\n}\nfunction createRefDeleteCommand() {\n\tconst command = new Command(\"delete\");\n\tsetCommandDescriptions(command, \"Delete a ref\", \"Removes a named ref from migrations/refs/.\");\n\taddGlobalOptions(command).argument(\"<name>\", \"Ref name to delete\").option(\"--config <path>\", \"Path to prisma-next.config.ts\").action(async (name, options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tconst operationOptions = await refOperationOptions(options, [\"migrations\"]);\n\t\tconst exitCode = handleResult(operationOptions.ok ? await executeRefDeleteCommand(name, operationOptions.value) : operationOptions, flags, ui, (value) => {\n\t\t\tif (flags.json) ui.output(JSON.stringify(value));\n\t\t\telse if (!flags.quiet) ui.output(`Deleted ref \"${value.ref}\"`);\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n\treturn command;\n}\nfunction createRefListCommand() {\n\tconst command = new Command(\"list\");\n\tsetCommandDescriptions(command, \"List all refs\", \"Lists all named refs from migrations/refs/.\");\n\taddGlobalOptions(command).option(\"--config <path>\", \"Path to prisma-next.config.ts\").action(async (options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tconst operationOptions = await refOperationOptions(options, [\"migrations\"]);\n\t\tconst exitCode = handleResult(operationOptions.ok ? await executeRefListCommand(operationOptions.value) : operationOptions, flags, ui, (value) => {\n\t\t\tif (flags.json) ui.output(JSON.stringify(value));\n\t\t\telse if (!flags.quiet) {\n\t\t\t\tconst entries = Object.entries(value.refs);\n\t\t\t\tif (entries.length === 0) ui.output(\"No refs defined\");\n\t\t\t\telse for (const [refName, entry] of entries) {\n\t\t\t\t\tconst invariantsSuffix = entry.invariants.length > 0 ? ` [invariants: ${entry.invariants.join(\", \")}]` : \"\";\n\t\t\t\t\tui.output(`${refName} → ${entry.hash}${invariantsSuffix}`);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n\treturn command;\n}\nfunction createRefCommand() {\n\tconst command = new Command(\"ref\");\n\tsetCommandDescriptions(command, \"Manage contract refs\", \"Manage named refs in migrations/refs/. Refs map logical environment\\nnames (e.g., staging, production) to contract hashes.\");\n\taddGlobalOptions(command).configureHelp({\n\t\tformatHelp: (cmd) => formatCommandHelp({\n\t\t\tcommand: cmd,\n\t\t\tflags: parseGlobalFlags({})\n\t\t}),\n\t\tsubcommandDescription: () => \"\"\n\t});\n\tcommand.addCommand(createRefSetCommand());\n\tcommand.addCommand(createRefDeleteCommand());\n\tcommand.addCommand(createRefListCommand());\n\treturn command;\n}\n//#endregion\nexport { createRefCommand as t };\n\n//# sourceMappingURL=ref-Cycefq_T.mjs.map"],"mappings":";;;;;;;;AAQA,eAAe,oBAAoB,SAAS,UAAU;CACrD,MAAM,eAAe,MAAM,sBAAsB,QAAQ,QAAQ,QAAQ;CACzE,IAAI,CAAC,aAAa,IAAI,OAAO;CAC7B,OAAO,GAAG;EACT,QAAQ,aAAa;EACrB,KAAK,QAAQ,IAAI;EACjB,GAAG,UAAU,cAAc,QAAQ,MAAM;CAC1C,CAAC;AACF;AACA,SAAS,sBAAsB;CAC9B,MAAM,UAAU,IAAI,QAAQ,KAAK;CACjC,uBAAuB,SAAS,qCAAqC,wGAAwG;CAC7K,iBAAiB,OAAO,CAAC,CAAC,SAAS,UAAU,sCAAsC,CAAC,CAAC,SAAS,cAAc,oFAAoF,CAAC,CAAC,OAAO,mBAAmB,+BAA+B,CAAC,CAAC,OAAO,OAAO,MAAM,MAAM,YAAY;EAClS,MAAM,QAAQ,uBAAuB,OAAO;EAC5C,MAAM,KAAK,iBAAiB,KAAK;EACjC,MAAM,mBAAmB,MAAM,oBAAoB,SAAS;GAC3D;GACA;GACA;GACA;GACA;GACA;EACD,CAAC;EACD,MAAM,WAAW,aAAa,iBAAiB,KAAK,MAAM,qBAAqB,MAAM,MAAM,iBAAiB,KAAK,IAAI,kBAAkB,OAAO,KAAK,UAAU;GAC5J,IAAI,MAAM,MAAM,GAAG,OAAO,KAAK,UAAU,KAAK,CAAC;QAC1C,IAAI,CAAC,MAAM,OAAO,GAAG,OAAO,YAAY,MAAM,IAAI,MAAM,MAAM,MAAM;EAC1E,CAAC;EACD,QAAQ,KAAK,QAAQ;CACtB,CAAC;CACD,OAAO;AACR;AACA,SAAS,yBAAyB;CACjC,MAAM,UAAU,IAAI,QAAQ,QAAQ;CACpC,uBAAuB,SAAS,gBAAgB,4CAA4C;CAC5F,iBAAiB,OAAO,CAAC,CAAC,SAAS,UAAU,oBAAoB,CAAC,CAAC,OAAO,mBAAmB,+BAA+B,CAAC,CAAC,OAAO,OAAO,MAAM,YAAY;EAC7J,MAAM,QAAQ,uBAAuB,OAAO;EAC5C,MAAM,KAAK,iBAAiB,KAAK;EACjC,MAAM,mBAAmB,MAAM,oBAAoB,SAAS,CAAC,YAAY,CAAC;EAC1E,MAAM,WAAW,aAAa,iBAAiB,KAAK,MAAM,wBAAwB,MAAM,iBAAiB,KAAK,IAAI,kBAAkB,OAAO,KAAK,UAAU;GACzJ,IAAI,MAAM,MAAM,GAAG,OAAO,KAAK,UAAU,KAAK,CAAC;QAC1C,IAAI,CAAC,MAAM,OAAO,GAAG,OAAO,gBAAgB,MAAM,IAAI,EAAE;EAC9D,CAAC;EACD,QAAQ,KAAK,QAAQ;CACtB,CAAC;CACD,OAAO;AACR;AACA,SAAS,uBAAuB;CAC/B,MAAM,UAAU,IAAI,QAAQ,MAAM;CAClC,uBAAuB,SAAS,iBAAiB,6CAA6C;CAC9F,iBAAiB,OAAO,CAAC,CAAC,OAAO,mBAAmB,+BAA+B,CAAC,CAAC,OAAO,OAAO,YAAY;EAC9G,MAAM,QAAQ,uBAAuB,OAAO;EAC5C,MAAM,KAAK,iBAAiB,KAAK;EACjC,MAAM,mBAAmB,MAAM,oBAAoB,SAAS,CAAC,YAAY,CAAC;EAC1E,MAAM,WAAW,aAAa,iBAAiB,KAAK,MAAM,sBAAsB,iBAAiB,KAAK,IAAI,kBAAkB,OAAO,KAAK,UAAU;GACjJ,IAAI,MAAM,MAAM,GAAG,OAAO,KAAK,UAAU,KAAK,CAAC;QAC1C,IAAI,CAAC,MAAM,OAAO;IACtB,MAAM,UAAU,OAAO,QAAQ,MAAM,IAAI;IACzC,IAAI,QAAQ,WAAW,GAAG,GAAG,OAAO,iBAAiB;SAChD,KAAK,MAAM,CAAC,SAAS,UAAU,SAAS;KAC5C,MAAM,mBAAmB,MAAM,WAAW,SAAS,IAAI,iBAAiB,MAAM,WAAW,KAAK,IAAI,EAAE,KAAK;KACzG,GAAG,OAAO,GAAG,QAAQ,KAAK,MAAM,OAAO,kBAAkB;IAC1D;GACD;EACD,CAAC;EACD,QAAQ,KAAK,QAAQ;CACtB,CAAC;CACD,OAAO;AACR;AACA,SAAS,mBAAmB;CAC3B,MAAM,UAAU,IAAI,QAAQ,KAAK;CACjC,uBAAuB,SAAS,wBAAwB,4HAA4H;CACpL,iBAAiB,OAAO,CAAC,CAAC,cAAc;EACvC,aAAa,QAAQ,kBAAkB;GACtC,SAAS;GACT,OAAO,iBAAiB,CAAC,CAAC;EAC3B,CAAC;EACD,6BAA6B;CAC9B,CAAC;CACD,QAAQ,WAAW,oBAAoB,CAAC;CACxC,QAAQ,WAAW,uBAAuB,CAAC;CAC3C,QAAQ,WAAW,qBAAqB,CAAC;CACzC,OAAO;AACR"}
1
+ {"version":3,"file":"ref-CaqNqeRF-cjWFAueu.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/ref-CaqNqeRF.mjs"],"sourcesContent":["import { t as createTerminalUI } from \"./terminal-ui-Cqz4LVL7.mjs\";\nimport { _ as parseGlobalFlagsOrExit, b as formatCommandHelp, g as parseGlobalFlags, t as addGlobalOptions, u as setCommandDescriptions, v as handleResult } from \"./command-helpers-kD9CO1hd.mjs\";\nimport { n as executeRefListCommand, r as executeRefSetCommand, t as executeRefDeleteCommand } from \"./ref-CVD6j3jA.mjs\";\nimport { Command } from \"commander\";\nimport { loadConfigForSections } from \"@internal/config-loader\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { ok } from \"@internal/utils/result\";\n//#region src/commands/ref.ts\nasync function refOperationOptions(options, sections) {\n\tconst configResult = await loadConfigForSections(options.config, sections);\n\tif (!configResult.ok) return configResult;\n\treturn ok({\n\t\tconfig: configResult.value,\n\t\tcwd: process.cwd(),\n\t\t...ifDefined(\"configPath\", options.config)\n\t});\n}\nfunction createRefSetCommand() {\n\tconst command = new Command(\"set\");\n\tsetCommandDescriptions(command, \"Set a ref to a contract reference\", \"Sets a named ref to point to a resolved contract reference (hash, alias, or path) in migrations/refs/.\");\n\taddGlobalOptions(command).argument(\"<name>\", \"Ref name (e.g., staging, production)\").argument(\"<contract>\", \"Contract reference (hash, prefix, ref name, migration dir name, <dir>^, or ./path)\").option(\"--config <path>\", \"Path to prisma-next.config.ts\").action(async (name, hash, options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tconst operationOptions = await refOperationOptions(options, [\n\t\t\t\"family\",\n\t\t\t\"target\",\n\t\t\t\"adapter\",\n\t\t\t\"extensions\",\n\t\t\t\"migrations\",\n\t\t\t\"contract\"\n\t\t]);\n\t\tconst exitCode = handleResult(operationOptions.ok ? await executeRefSetCommand(name, hash, operationOptions.value) : operationOptions, flags, ui, (value) => {\n\t\t\tif (flags.json) ui.output(JSON.stringify(value));\n\t\t\telse if (!flags.quiet) ui.output(`Set ref \"${value.ref}\" → ${value.hash}`);\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n\treturn command;\n}\nfunction createRefDeleteCommand() {\n\tconst command = new Command(\"delete\");\n\tsetCommandDescriptions(command, \"Delete a ref\", \"Removes a named ref from migrations/refs/.\");\n\taddGlobalOptions(command).argument(\"<name>\", \"Ref name to delete\").option(\"--config <path>\", \"Path to prisma-next.config.ts\").action(async (name, options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tconst operationOptions = await refOperationOptions(options, [\"migrations\"]);\n\t\tconst exitCode = handleResult(operationOptions.ok ? await executeRefDeleteCommand(name, operationOptions.value) : operationOptions, flags, ui, (value) => {\n\t\t\tif (flags.json) ui.output(JSON.stringify(value));\n\t\t\telse if (!flags.quiet) ui.output(`Deleted ref \"${value.ref}\"`);\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n\treturn command;\n}\nfunction createRefListCommand() {\n\tconst command = new Command(\"list\");\n\tsetCommandDescriptions(command, \"List all refs\", \"Lists all named refs from migrations/refs/.\");\n\taddGlobalOptions(command).option(\"--config <path>\", \"Path to prisma-next.config.ts\").action(async (options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tconst operationOptions = await refOperationOptions(options, [\"migrations\"]);\n\t\tconst exitCode = handleResult(operationOptions.ok ? await executeRefListCommand(operationOptions.value) : operationOptions, flags, ui, (value) => {\n\t\t\tif (flags.json) ui.output(JSON.stringify(value));\n\t\t\telse if (!flags.quiet) {\n\t\t\t\tconst entries = Object.entries(value.refs);\n\t\t\t\tif (entries.length === 0) ui.output(\"No refs defined\");\n\t\t\t\telse for (const [refName, entry] of entries) {\n\t\t\t\t\tconst invariantsSuffix = entry.invariants.length > 0 ? ` [invariants: ${entry.invariants.join(\", \")}]` : \"\";\n\t\t\t\t\tui.output(`${refName} → ${entry.hash}${invariantsSuffix}`);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n\treturn command;\n}\nfunction createRefCommand() {\n\tconst command = new Command(\"ref\");\n\tsetCommandDescriptions(command, \"Manage contract refs\", \"Manage named refs in migrations/refs/. Refs map logical environment\\nnames (e.g., staging, production) to contract hashes.\");\n\taddGlobalOptions(command).configureHelp({\n\t\tformatHelp: (cmd) => formatCommandHelp({\n\t\t\tcommand: cmd,\n\t\t\tflags: parseGlobalFlags({})\n\t\t}),\n\t\tsubcommandDescription: () => \"\"\n\t});\n\tcommand.addCommand(createRefSetCommand());\n\tcommand.addCommand(createRefDeleteCommand());\n\tcommand.addCommand(createRefListCommand());\n\treturn command;\n}\n//#endregion\nexport { createRefCommand as t };\n\n//# sourceMappingURL=ref-CaqNqeRF.mjs.map"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { P as mapRefResolutionError } from "./cli-errors-CihMAEVj-C1uUYBop.mjs";
1
+ import { P as mapRefResolutionError } from "./cli-errors-C6_pH59O-CzD4SYcJ.mjs";
2
2
  import { n as parseContractRef, r as parseMigrationRef } from "./ref-resolution-sGcINe7o.mjs";
3
3
  import { notOk, ok } from "@prisma/orm-framework/utils/result";
4
- //#region ../../../1-framework/3-tooling/cli/dist/ref-resolution-Bi4lpxM8.mjs
4
+ //#region ../../../1-framework/3-tooling/cli/dist/ref-resolution-D4fAdXo8.mjs
5
5
  function resolveContractRef(input, context) {
6
6
  const result = parseContractRef(input, context);
7
7
  return result.ok ? ok(result.value) : notOk(mapRefResolutionError(result.failure));
@@ -13,4 +13,4 @@ function resolveMigrationRef(input, context) {
13
13
  //#endregion
14
14
  export { resolveMigrationRef as n, resolveContractRef as t };
15
15
 
16
- //# sourceMappingURL=ref-resolution-Bi4lpxM8-BbfL_yv8.mjs.map
16
+ //# sourceMappingURL=ref-resolution-D4fAdXo8-Dfaky0yw.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ref-resolution-Bi4lpxM8-BbfL_yv8.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/ref-resolution-Bi4lpxM8.mjs"],"sourcesContent":["import { N as mapRefResolutionError } from \"./cli-errors-CihMAEVj.mjs\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { parseContractRef, parseMigrationRef } from \"@internal/migration-tools/ref-resolution\";\n//#region src/control-api/operations/ref-resolution.ts\nfunction resolveContractRef(input, context) {\n\tconst result = parseContractRef(input, context);\n\treturn result.ok ? ok(result.value) : notOk(mapRefResolutionError(result.failure));\n}\nfunction resolveMigrationRef(input, context) {\n\tconst result = parseMigrationRef(input, context);\n\treturn result.ok ? ok(result.value) : notOk(mapRefResolutionError(result.failure));\n}\n//#endregion\nexport { resolveMigrationRef as n, resolveContractRef as t };\n\n//# sourceMappingURL=ref-resolution-Bi4lpxM8.mjs.map"],"mappings":";;;;AAIA,SAAS,mBAAmB,OAAO,SAAS;CAC3C,MAAM,SAAS,iBAAiB,OAAO,OAAO;CAC9C,OAAO,OAAO,KAAK,GAAG,OAAO,KAAK,IAAI,MAAM,sBAAsB,OAAO,OAAO,CAAC;AAClF;AACA,SAAS,oBAAoB,OAAO,SAAS;CAC5C,MAAM,SAAS,kBAAkB,OAAO,OAAO;CAC/C,OAAO,OAAO,KAAK,GAAG,OAAO,KAAK,IAAI,MAAM,sBAAsB,OAAO,OAAO,CAAC;AAClF"}
1
+ {"version":3,"file":"ref-resolution-D4fAdXo8-Dfaky0yw.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/ref-resolution-D4fAdXo8.mjs"],"sourcesContent":["import { N as mapRefResolutionError } from \"./cli-errors-C6_pH59O.mjs\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { parseContractRef, parseMigrationRef } from \"@internal/migration-tools/ref-resolution\";\n//#region src/control-api/operations/ref-resolution.ts\nfunction resolveContractRef(input, context) {\n\tconst result = parseContractRef(input, context);\n\treturn result.ok ? ok(result.value) : notOk(mapRefResolutionError(result.failure));\n}\nfunction resolveMigrationRef(input, context) {\n\tconst result = parseMigrationRef(input, context);\n\treturn result.ok ? ok(result.value) : notOk(mapRefResolutionError(result.failure));\n}\n//#endregion\nexport { resolveMigrationRef as n, resolveContractRef as t };\n\n//# sourceMappingURL=ref-resolution-D4fAdXo8.mjs.map"],"mappings":";;;;AAIA,SAAS,mBAAmB,OAAO,SAAS;CAC3C,MAAM,SAAS,iBAAiB,OAAO,OAAO;CAC9C,OAAO,OAAO,KAAK,GAAG,OAAO,KAAK,IAAI,MAAM,sBAAsB,OAAO,OAAO,CAAC;AAClF;AACA,SAAS,oBAAoB,OAAO,SAAS;CAC5C,MAAM,SAAS,kBAAkB,OAAO,OAAO;CAC/C,OAAO,OAAO,KAAK,GAAG,OAAO,KAAK,IAAI,MAAM,sBAAsB,OAAO,OAAO,CAAC;AAClF"}
@@ -1,8 +1,8 @@
1
- import { r as createTerminalUI } from "./terminal-ui-JJKxvT0q-CPDEJqqU.mjs";
2
- import { a as formatCommandHelp, b as setCommandExamples, d as isCI$1, m as parseGlobalFlagsOrExit, p as parseGlobalFlags, t as addGlobalOptions, y as setCommandDescriptions } from "./command-helpers-Dw3LDEu_-B4AETH4D.mjs";
1
+ import { r as createTerminalUI } from "./terminal-ui-Cqz4LVL7-B0mcVdLy.mjs";
2
+ import { a as formatCommandHelp, b as setCommandExamples, d as isCI$1, m as parseGlobalFlagsOrExit, p as parseGlobalFlags, t as addGlobalOptions, y as setCommandDescriptions } from "./command-helpers-kD9CO1hd-BPhnkBin.mjs";
3
3
  import { a as resolveGating, d as writeUserConfig, i as readUserConfig, u as userConfigPath } from "./exports-CqNUihkI.mjs";
4
4
  import { Command } from "commander";
5
- //#region ../../../1-framework/3-tooling/cli/dist/telemetry-LP1Suxsf.mjs
5
+ //#region ../../../1-framework/3-tooling/cli/dist/telemetry-fKuZOFpu.mjs
6
6
  /**
7
7
  * Resolves the same gate the runtime uses (CI check + `resolveGating`) and
8
8
  * projects it into a user-facing status. Pure read: never mints, never
@@ -118,4 +118,4 @@ function createTelemetryCommand() {
118
118
  //#endregion
119
119
  export { createTelemetryCommand as t };
120
120
 
121
- //# sourceMappingURL=telemetry-LP1Suxsf-CY1l7lD0.mjs.map
121
+ //# sourceMappingURL=telemetry-fKuZOFpu-DNUWfIHo.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-LP1Suxsf-CY1l7lD0.mjs","names":["isCI"],"sources":["../../../../1-framework/3-tooling/cli/dist/telemetry-LP1Suxsf.mjs"],"sourcesContent":["import { t as createTerminalUI } from \"./terminal-ui-JJKxvT0q.mjs\";\nimport { _ as parseGlobalFlagsOrExit, b as formatCommandHelp, d as setCommandExamples, g as parseGlobalFlags, t as addGlobalOptions, u as setCommandDescriptions, y as isCI } from \"./command-helpers-Dw3LDEu_.mjs\";\nimport { Command } from \"commander\";\nimport { readUserConfig, resolveGating, userConfigPath, writeUserConfig } from \"@internal/cli-telemetry\";\n//#region src/commands/telemetry/status.ts\n/**\n* Resolves the same gate the runtime uses (CI check + `resolveGating`) and\n* projects it into a user-facing status. Pure read: never mints, never\n* writes. The `installationId` value itself is never surfaced — only its\n* presence — so `status` discloses nothing identifying.\n*/\nfunction resolveTelemetryStatus(inputs) {\n\tconst config = readUserConfig();\n\tconst configPath = userConfigPath();\n\tconst installationIdStored = typeof config.installationId === \"string\" && config.installationId.length > 0;\n\tif (inputs.inCI) return {\n\t\tenabled: false,\n\t\treason: \"ci\",\n\t\tconfigPath,\n\t\tinstallationIdStored\n\t};\n\tconst gating = resolveGating({\n\t\tenv: inputs.env,\n\t\tconfig\n\t});\n\tif (!gating.enabled) return {\n\t\tenabled: false,\n\t\treason: gating.reason === \"env-override\" ? \"env-opt-out\" : \"stored-opt-out\",\n\t\tconfigPath,\n\t\tinstallationIdStored\n\t};\n\treturn {\n\t\tenabled: true,\n\t\treason: config.enableTelemetry === true ? \"stored-opt-in\" : \"default-on\",\n\t\tconfigPath,\n\t\tinstallationIdStored\n\t};\n}\nconst REASON_EXPLANATION = {\n\tci: \"CI environment detected — telemetry is hard-disabled.\",\n\t\"env-opt-out\": \"an environment opt-out is set (DO_NOT_TRACK / PRISMA_NEXT_DISABLE_TELEMETRY).\",\n\t\"stored-opt-out\": \"\\\"enableTelemetry\\\": false is stored in your config.\",\n\t\"stored-opt-in\": \"\\\"enableTelemetry\\\": true is stored in your config.\",\n\t\"default-on\": \"no explicit choice is stored, so the opt-out default applies.\"\n};\nfunction formatTelemetryStatusLines(status) {\n\treturn [\n\t\t`Telemetry is ${status.enabled ? \"enabled\" : \"disabled\"}: ${REASON_EXPLANATION[status.reason]}`,\n\t\t`Config file: ${status.configPath}`,\n\t\t`Installation ID: ${status.installationIdStored ? \"stored\" : \"not stored\"}`\n\t];\n}\n//#endregion\n//#region src/commands/telemetry/index.ts\nfunction createTelemetryStatusCommand() {\n\tconst command = new Command(\"status\");\n\tsetCommandDescriptions(command, \"Show whether anonymous CLI telemetry is enabled and why\", \"Reports whether telemetry is currently enabled or disabled and the reason\\n(default-on, stored opt-out, environment opt-out, or CI), the path to your\\nuser-level config file, and whether an installation ID has been stored.\\nRead-only: never sends an event, never mints an ID, never writes anything.\");\n\treturn addGlobalOptions(command).action((options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tconst status = resolveTelemetryStatus({\n\t\t\tenv: process.env,\n\t\t\tinCI: isCI()\n\t\t});\n\t\tif (flags.json) ui.output(JSON.stringify(status));\n\t\telse for (const line of formatTelemetryStatusLines(status)) ui.output(line);\n\t\tprocess.exit(0);\n\t});\n}\nfunction createTelemetryEnableCommand() {\n\tconst command = new Command(\"enable\");\n\tsetCommandDescriptions(command, \"Enable anonymous CLI telemetry\", \"Stores \\\"enableTelemetry\\\": true in your user-level config and mints an\\ninstallation ID if one is not already stored.\");\n\treturn addGlobalOptions(command).action((options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\twriteUserConfig({ enableTelemetry: true });\n\t\tconst ui = createTerminalUI(flags);\n\t\tif (flags.json) ui.output(JSON.stringify({\n\t\t\tenableTelemetry: true,\n\t\t\tconfigPath: userConfigPath()\n\t\t}));\n\t\telse ui.output(`Telemetry enabled. Preference stored in ${userConfigPath()}.`);\n\t\tprocess.exit(0);\n\t});\n}\nfunction createTelemetryDisableCommand() {\n\tconst command = new Command(\"disable\");\n\tsetCommandDescriptions(command, \"Disable anonymous CLI telemetry\", \"Stores \\\"enableTelemetry\\\": false in your user-level config. No installation\\nID is minted and no event is sent.\");\n\treturn addGlobalOptions(command).action((options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\twriteUserConfig({ enableTelemetry: false });\n\t\tconst ui = createTerminalUI(flags);\n\t\tif (flags.json) ui.output(JSON.stringify({\n\t\t\tenableTelemetry: false,\n\t\t\tconfigPath: userConfigPath()\n\t\t}));\n\t\telse ui.output(`Telemetry disabled. Preference stored in ${userConfigPath()}.`);\n\t\tprocess.exit(0);\n\t});\n}\nfunction createTelemetryCommand() {\n\tconst command = new Command(\"telemetry\");\n\tsetCommandDescriptions(command, \"Inspect and change anonymous CLI telemetry\", \"Show telemetry status, or enable / disable anonymous CLI usage data.\\nTelemetry is on by default (opt-out); see https://prisma-next.dev/docs/cli/telemetry\\nfor what is collected and why.\");\n\tsetCommandExamples(command, [\n\t\t\"prisma-next telemetry status\",\n\t\t\"prisma-next telemetry disable\",\n\t\t\"prisma-next telemetry enable\"\n\t]);\n\tcommand.configureHelp({\n\t\tformatHelp: (cmd) => formatCommandHelp({\n\t\t\tcommand: cmd,\n\t\t\tflags: parseGlobalFlags({})\n\t\t}),\n\t\tsubcommandDescription: () => \"\"\n\t});\n\tcommand.addCommand(createTelemetryStatusCommand());\n\tcommand.addCommand(createTelemetryEnableCommand());\n\tcommand.addCommand(createTelemetryDisableCommand());\n\treturn command;\n}\n//#endregion\nexport { createTelemetryCommand as t };\n\n//# sourceMappingURL=telemetry-LP1Suxsf.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"telemetry-fKuZOFpu-DNUWfIHo.mjs","names":["isCI"],"sources":["../../../../1-framework/3-tooling/cli/dist/telemetry-fKuZOFpu.mjs"],"sourcesContent":["import { t as createTerminalUI } from \"./terminal-ui-Cqz4LVL7.mjs\";\nimport { _ as parseGlobalFlagsOrExit, b as formatCommandHelp, d as setCommandExamples, g as parseGlobalFlags, t as addGlobalOptions, u as setCommandDescriptions, y as isCI } from \"./command-helpers-kD9CO1hd.mjs\";\nimport { Command } from \"commander\";\nimport { readUserConfig, resolveGating, userConfigPath, writeUserConfig } from \"@internal/cli-telemetry\";\n//#region src/commands/telemetry/status.ts\n/**\n* Resolves the same gate the runtime uses (CI check + `resolveGating`) and\n* projects it into a user-facing status. Pure read: never mints, never\n* writes. The `installationId` value itself is never surfaced — only its\n* presence — so `status` discloses nothing identifying.\n*/\nfunction resolveTelemetryStatus(inputs) {\n\tconst config = readUserConfig();\n\tconst configPath = userConfigPath();\n\tconst installationIdStored = typeof config.installationId === \"string\" && config.installationId.length > 0;\n\tif (inputs.inCI) return {\n\t\tenabled: false,\n\t\treason: \"ci\",\n\t\tconfigPath,\n\t\tinstallationIdStored\n\t};\n\tconst gating = resolveGating({\n\t\tenv: inputs.env,\n\t\tconfig\n\t});\n\tif (!gating.enabled) return {\n\t\tenabled: false,\n\t\treason: gating.reason === \"env-override\" ? \"env-opt-out\" : \"stored-opt-out\",\n\t\tconfigPath,\n\t\tinstallationIdStored\n\t};\n\treturn {\n\t\tenabled: true,\n\t\treason: config.enableTelemetry === true ? \"stored-opt-in\" : \"default-on\",\n\t\tconfigPath,\n\t\tinstallationIdStored\n\t};\n}\nconst REASON_EXPLANATION = {\n\tci: \"CI environment detected — telemetry is hard-disabled.\",\n\t\"env-opt-out\": \"an environment opt-out is set (DO_NOT_TRACK / PRISMA_NEXT_DISABLE_TELEMETRY).\",\n\t\"stored-opt-out\": \"\\\"enableTelemetry\\\": false is stored in your config.\",\n\t\"stored-opt-in\": \"\\\"enableTelemetry\\\": true is stored in your config.\",\n\t\"default-on\": \"no explicit choice is stored, so the opt-out default applies.\"\n};\nfunction formatTelemetryStatusLines(status) {\n\treturn [\n\t\t`Telemetry is ${status.enabled ? \"enabled\" : \"disabled\"}: ${REASON_EXPLANATION[status.reason]}`,\n\t\t`Config file: ${status.configPath}`,\n\t\t`Installation ID: ${status.installationIdStored ? \"stored\" : \"not stored\"}`\n\t];\n}\n//#endregion\n//#region src/commands/telemetry/index.ts\nfunction createTelemetryStatusCommand() {\n\tconst command = new Command(\"status\");\n\tsetCommandDescriptions(command, \"Show whether anonymous CLI telemetry is enabled and why\", \"Reports whether telemetry is currently enabled or disabled and the reason\\n(default-on, stored opt-out, environment opt-out, or CI), the path to your\\nuser-level config file, and whether an installation ID has been stored.\\nRead-only: never sends an event, never mints an ID, never writes anything.\");\n\treturn addGlobalOptions(command).action((options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tconst status = resolveTelemetryStatus({\n\t\t\tenv: process.env,\n\t\t\tinCI: isCI()\n\t\t});\n\t\tif (flags.json) ui.output(JSON.stringify(status));\n\t\telse for (const line of formatTelemetryStatusLines(status)) ui.output(line);\n\t\tprocess.exit(0);\n\t});\n}\nfunction createTelemetryEnableCommand() {\n\tconst command = new Command(\"enable\");\n\tsetCommandDescriptions(command, \"Enable anonymous CLI telemetry\", \"Stores \\\"enableTelemetry\\\": true in your user-level config and mints an\\ninstallation ID if one is not already stored.\");\n\treturn addGlobalOptions(command).action((options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\twriteUserConfig({ enableTelemetry: true });\n\t\tconst ui = createTerminalUI(flags);\n\t\tif (flags.json) ui.output(JSON.stringify({\n\t\t\tenableTelemetry: true,\n\t\t\tconfigPath: userConfigPath()\n\t\t}));\n\t\telse ui.output(`Telemetry enabled. Preference stored in ${userConfigPath()}.`);\n\t\tprocess.exit(0);\n\t});\n}\nfunction createTelemetryDisableCommand() {\n\tconst command = new Command(\"disable\");\n\tsetCommandDescriptions(command, \"Disable anonymous CLI telemetry\", \"Stores \\\"enableTelemetry\\\": false in your user-level config. No installation\\nID is minted and no event is sent.\");\n\treturn addGlobalOptions(command).action((options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\twriteUserConfig({ enableTelemetry: false });\n\t\tconst ui = createTerminalUI(flags);\n\t\tif (flags.json) ui.output(JSON.stringify({\n\t\t\tenableTelemetry: false,\n\t\t\tconfigPath: userConfigPath()\n\t\t}));\n\t\telse ui.output(`Telemetry disabled. Preference stored in ${userConfigPath()}.`);\n\t\tprocess.exit(0);\n\t});\n}\nfunction createTelemetryCommand() {\n\tconst command = new Command(\"telemetry\");\n\tsetCommandDescriptions(command, \"Inspect and change anonymous CLI telemetry\", \"Show telemetry status, or enable / disable anonymous CLI usage data.\\nTelemetry is on by default (opt-out); see https://prisma-next.dev/docs/cli/telemetry\\nfor what is collected and why.\");\n\tsetCommandExamples(command, [\n\t\t\"prisma-next telemetry status\",\n\t\t\"prisma-next telemetry disable\",\n\t\t\"prisma-next telemetry enable\"\n\t]);\n\tcommand.configureHelp({\n\t\tformatHelp: (cmd) => formatCommandHelp({\n\t\t\tcommand: cmd,\n\t\t\tflags: parseGlobalFlags({})\n\t\t}),\n\t\tsubcommandDescription: () => \"\"\n\t});\n\tcommand.addCommand(createTelemetryStatusCommand());\n\tcommand.addCommand(createTelemetryEnableCommand());\n\tcommand.addCommand(createTelemetryDisableCommand());\n\treturn command;\n}\n//#endregion\nexport { createTelemetryCommand as t };\n\n//# sourceMappingURL=telemetry-fKuZOFpu.mjs.map"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { ifDefined } from "@prisma/orm-framework/utils/defined";
2
2
  import { blindCast } from "@prisma/orm-framework/utils/casts";
3
3
  import { bold, cyan, dim, green, red, yellow } from "colorette";
4
4
  import * as clack from "@clack/prompts";
5
- //#region ../../../1-framework/3-tooling/cli/dist/terminal-ui-JJKxvT0q.mjs
5
+ //#region ../../../1-framework/3-tooling/cli/dist/terminal-ui-Cqz4LVL7.mjs
6
6
  /**
7
7
  * Checks if verbose output is enabled at the specified level.
8
8
  */
@@ -671,6 +671,6 @@ function createTerminalUI(flags, runtime) {
671
671
  });
672
672
  }
673
673
  //#endregion
674
- export { formatErrorJson as a, formatMigrationApplyOutput as c, formatMigrationShowOutput as d, installShutdownHandlers as f, formatDim as i, formatMigrationJson as l, previewBlockHeader as m, createColorFormatter as n, formatErrorOutput as o, isVerbose as p, createTerminalUI as r, formatMigrationApplyCommandOutput as s, BIN_NAME as t, formatMigrationPlanOutput as u };
674
+ export { formatErrorJson as a, formatMigrationApplyOutput as c, formatMigrationShowOutput as d, installShutdownHandlers as f, renderPreviewStatement as h, formatDim as i, formatMigrationJson as l, previewBlockHeader as m, createColorFormatter as n, formatErrorOutput as o, isVerbose as p, createTerminalUI as r, formatMigrationApplyCommandOutput as s, BIN_NAME as t, formatMigrationPlanOutput as u };
675
675
 
676
- //# sourceMappingURL=terminal-ui-JJKxvT0q-CPDEJqqU.mjs.map
676
+ //# sourceMappingURL=terminal-ui-Cqz4LVL7-B0mcVdLy.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-ui-JJKxvT0q-CPDEJqqU.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/terminal-ui-JJKxvT0q.mjs"],"sourcesContent":["import { ifDefined } from \"@internal/utils/defined\";\nimport { bold, cyan, dim, green, red, yellow } from \"colorette\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport * as clack from \"@clack/prompts\";\n//#region src/utils/formatters/helpers.ts\n/**\n* Checks if verbose output is enabled at the specified level.\n*/\nfunction isVerbose(flags, level) {\n\treturn (flags.verbose ?? 0) >= level;\n}\n/**\n* Creates a color-aware formatter function.\n* Returns a function that applies the color only if colors are enabled.\n*/\nfunction createColorFormatter(useColor, colorFn) {\n\treturn useColor ? colorFn : (text) => text;\n}\n/**\n* Formats text with dim styling if colors are enabled.\n*/\nfunction formatDim(useColor, text) {\n\treturn useColor ? dim(text) : text;\n}\n//#endregion\n//#region src/utils/bin-name.ts\n/**\n* The binary this package installs. Next-action commands are authored with a\n* `{bin}` placeholder and rendered against this name, so no library-layer\n* error hardcodes it.\n*\n* `test/output.next-actions.test.ts` asserts this stays equal to the sole key\n* of the package manifest's `bin` map.\n*/\nconst BIN_NAME = \"prisma-next\";\n//#endregion\n//#region src/utils/formatters/migrations.ts\n/**\n* Render a single statement of an `OperationPreview` for the human-readable\n* preview block. SQL statements get a trailing `;` if missing so the rendered\n* preview is byte-identical to the legacy `string[]`-based renderer for SQL\n* targets. Other languages (`'mongodb-shell'`) render verbatim.\n*/\nfunction renderPreviewStatement(text, language) {\n\tconst trimmed = text.trim();\n\tif (!trimmed) return void 0;\n\tif (language === \"sql\") return trimmed.endsWith(\";\") ? trimmed : `${trimmed};`;\n\treturn trimmed;\n}\n/**\n* Choose the header label for a preview block. SQL-only previews keep the\n* legacy `DDL preview` label so the rendered output is byte-identical to the\n* pre-aggregate SQL CLI; previews from any other family — or a mix that\n* includes any non-SQL language — use the family-agnostic `Operation preview`\n* label.\n*\n* An empty `statements` array deliberately renders as `Operation preview`\n* rather than `DDL preview`: `Array.prototype.every` is vacuously true for\n* empty arrays, but we have no evidence the preview is SQL-only when no\n* statements are present, so the family-agnostic label is the safer default.\n*/\nfunction previewBlockHeader(preview) {\n\treturn preview.statements.length > 0 && preview.statements.every((s) => s.language === \"sql\") ? \"DDL preview\" : \"Operation preview\";\n}\nfunction formatPlannerWarningsBlock(warnings, useColor) {\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tconst lines = [\"\", \"Warnings:\"];\n\tfor (const warning of warnings) lines.push(` ${formatDimText(`- ${warning.summary}`)}`);\n\treturn lines;\n}\n/**\n* Render the shared per-space execution block consumed by the `db init`\n* / `db update` / `migrate` summaries. Always shows: space\n* label (`Extension space: <id>` or `App space`) → per-op lines under\n* each space → per-space marker hash (when known).\n*\n* `mode` controls the marker label phrasing — `'apply'` shows\n* `marker → <hash>` (post-apply), `'plan'` omits the marker line\n* entirely (no marker has been written yet).\n*/\nfunction formatPerSpaceBlock(perSpace, mode, useColor) {\n\tconst formatYellow = createColorFormatter(useColor, yellow);\n\tconst formatCyan = createColorFormatter(useColor, cyan);\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tconst lines = [];\n\tfor (let s = 0; s < perSpace.length; s++) {\n\t\tconst space = perSpace[s];\n\t\tif (s > 0) lines.push(\"\");\n\t\tconst header = space.kind === \"app\" ? formatCyan(\"App space\") : formatCyan(`Extension space: ${space.spaceId}`);\n\t\tlines.push(header);\n\t\tif (space.operations.length === 0) lines.push(` ${formatDimText(\"(no operations)\")}`);\n\t\telse for (let i = 0; i < space.operations.length; i++) {\n\t\t\tconst op = space.operations[i];\n\t\t\tconst treeChar = i === space.operations.length - 1 ? \"└\" : \"├\";\n\t\t\tconst destructiveMarker = op.operationClass === \"destructive\" ? ` ${formatYellow(\"(destructive)\")}` : \"\";\n\t\t\tlines.push(` ${formatDimText(treeChar)}─ ${op.label}${destructiveMarker}`);\n\t\t}\n\t\tif (mode === \"apply\" && space.marker) lines.push(` ${formatDimText(`marker: ${space.marker.storageHash}`)}`);\n\t}\n\treturn lines;\n}\n/**\n* Formats human-readable output for migration commands (db init, db update) in plan mode.\n*/\nfunction formatMigrationPlanOutput(result, flags) {\n\tif (flags.quiet) return \"\";\n\tconst lines = [];\n\tconst useColor = flags.color !== false;\n\tconst formatGreen = createColorFormatter(useColor, green);\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tconst operationCount = result.plan?.operations.length ?? 0;\n\tconst spaceCount = result.perSpace?.length ?? 0;\n\tif (spaceCount > 0) lines.push(`${formatGreen(\"✔\")} Planned ${operationCount} operation(s) across ${spaceCount} contract space${spaceCount === 1 ? \"\" : \"s\"}`);\n\telse lines.push(`${formatGreen(\"✔\")} Planned ${operationCount} operation(s)`);\n\tif (result.warnings && result.warnings.length > 0) lines.push(...formatPlannerWarningsBlock(result.warnings, useColor));\n\tconst formatYellow = createColorFormatter(useColor, yellow);\n\tif (result.perSpace && result.perSpace.length > 0) {\n\t\tlines.push(\"\");\n\t\tlines.push(...formatPerSpaceBlock(result.perSpace, \"plan\", useColor));\n\t\tif (result.perSpace.some((s) => s.operations.some((op) => op.operationClass === \"destructive\"))) {\n\t\t\tlines.push(\"\");\n\t\t\tlines.push(`${formatYellow(\"⚠\")} This migration contains destructive operations that may cause data loss.`);\n\t\t}\n\t} else if (result.plan?.operations && result.plan.operations.length > 0) {\n\t\tlines.push(`${formatDimText(\"│\")}`);\n\t\tfor (let i = 0; i < result.plan.operations.length; i++) {\n\t\t\tconst op = result.plan.operations[i];\n\t\t\tif (!op) continue;\n\t\t\tconst treeChar = i === result.plan.operations.length - 1 ? \"└\" : \"├\";\n\t\t\tconst destructiveMarker = op.operationClass === \"destructive\" ? ` ${formatYellow(\"(destructive)\")}` : \"\";\n\t\t\tlines.push(`${formatDimText(treeChar)}─ ${op.label}${destructiveMarker}`);\n\t\t}\n\t\tif (result.plan.operations.some((op) => op.operationClass === \"destructive\")) {\n\t\t\tlines.push(\"\");\n\t\t\tlines.push(`${formatYellow(\"⚠\")} This migration contains destructive operations that may cause data loss.`);\n\t\t}\n\t}\n\tif (result.plan?.destination) {\n\t\tlines.push(\"\");\n\t\tlines.push(`${formatDimText(`Destination hash: ${result.plan.destination.storageHash}`)}`);\n\t}\n\tif (result.plannedAdvanceRef) {\n\t\tlines.push(\"\");\n\t\tlines.push(formatDimText(`Would advance ref \"${result.plannedAdvanceRef.name}\" → ${result.plannedAdvanceRef.hash}`));\n\t}\n\tconst preview = result.plan?.preview;\n\tif (preview) {\n\t\tlines.push(\"\");\n\t\tlines.push(`${formatDimText(previewBlockHeader(preview))}`);\n\t\tif (preview.statements.length === 0) lines.push(`${formatDimText(\"No operations.\")}`);\n\t\telse {\n\t\t\tlines.push(\"\");\n\t\t\tfor (const statement of preview.statements) {\n\t\t\t\tconst rendered = renderPreviewStatement(statement.text, statement.language);\n\t\t\t\tif (rendered) lines.push(rendered);\n\t\t\t}\n\t\t}\n\t}\n\tif (isVerbose(flags, 1)) lines.push(`${formatDimText(`Total time: ${result.timings.total}ms`)}`);\n\tlines.push(\"\");\n\tlines.push(`${formatDimText(\"This is a dry run. No changes were applied.\")}`);\n\tlines.push(`${formatDimText(\"Run without --dry-run to apply changes.\")}`);\n\treturn lines.join(\"\\n\");\n}\nfunction formatMigrationApplyCommandOutput(result, flags) {\n\tif (flags.quiet) return \"\";\n\tconst lines = [];\n\tconst useColor = flags.color !== false;\n\tconst formatGreen = createColorFormatter(useColor, green);\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tlines.push(`${formatGreen(\"✔\")} ${result.summary}`);\n\tif (result.perSpace.length > 0) {\n\t\tlines.push(\"\");\n\t\tfor (const line of formatPerSpaceBlock(result.perSpace, \"apply\", useColor)) lines.push(line);\n\t}\n\tif (result.advancedRef) {\n\t\tlines.push(\"\");\n\t\tlines.push(formatDimText(`Advanced ref \"${result.advancedRef.name}\" → ${result.advancedRef.hash}`));\n\t}\n\tlines.push(\"\");\n\tlines.push(formatDimText(\"Next: prisma-next migration status\"));\n\tif (isVerbose(flags, 1) && result.timings) {\n\t\tlines.push(\"\");\n\t\tlines.push(formatDimText(`Total time: ${result.timings.total}ms`));\n\t}\n\treturn lines.join(\"\\n\");\n}\nfunction formatSpaceShowBlock(space, useColor) {\n\tconst formatGreen = createColorFormatter(useColor, green);\n\tconst formatYellow = createColorFormatter(useColor, yellow);\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tconst lines = [];\n\tlines.push(`${formatGreen(\"✔\")} ${space.name}`);\n\tlines.push(`${formatDimText(` from: ${space.fromContract ?? \"(baseline)\"}`)}`);\n\tlines.push(`${formatDimText(` to: ${space.toContract}`)}`);\n\tlines.push(`${formatDimText(` hash: ${space.hash}`)}`);\n\tlines.push(`${formatDimText(` created: ${space.createdAt}`)}`);\n\tlines.push(\"\");\n\tlines.push(`${space.operations.length} operation(s)`);\n\tif (space.operations.length > 0) {\n\t\tlines.push(`${formatDimText(\"│\")}`);\n\t\tfor (let i = 0; i < space.operations.length; i++) {\n\t\t\tconst op = space.operations[i];\n\t\t\tconst treeChar = i === space.operations.length - 1 ? \"└\" : \"├\";\n\t\t\tconst destructiveMarker = op.operationClass === \"destructive\" ? ` ${formatYellow(\"(destructive)\")}` : \"\";\n\t\t\tlines.push(`${formatDimText(treeChar)}─ ${op.label}${destructiveMarker}`);\n\t\t}\n\t\tif (space.operations.some((op) => op.operationClass === \"destructive\")) {\n\t\t\tlines.push(\"\");\n\t\t\tlines.push(`${formatYellow(\"⚠\")} This migration contains destructive operations that may cause data loss.`);\n\t\t}\n\t}\n\tif (space.preview.statements.length > 0) {\n\t\tlines.push(\"\");\n\t\tlines.push(`${formatDimText(previewBlockHeader(space.preview))}`);\n\t\tlines.push(\"\");\n\t\tfor (const statement of space.preview.statements) {\n\t\t\tconst rendered = renderPreviewStatement(statement.text, statement.language);\n\t\t\tif (rendered) lines.push(rendered);\n\t\t}\n\t}\n\treturn lines;\n}\nfunction formatMigrationShowOutput(result, flags) {\n\tif (flags.quiet) return \"\";\n\tconst useColor = flags.color !== false;\n\treturn formatSpaceShowBlock(result.migration, useColor).join(\"\\n\");\n}\n/**\n* Formats human-readable output for migration commands (db init, db update) in apply mode.\n*/\nfunction formatMigrationApplyOutput(result, flags) {\n\tif (flags.quiet) return \"\";\n\tconst lines = [];\n\tconst useColor = flags.color !== false;\n\tconst formatGreen = createColorFormatter(useColor, green);\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tif (result.ok) {\n\t\tconst executed = result.execution?.operationsExecuted ?? 0;\n\t\tconst spaceCount = result.perSpace?.length ?? 0;\n\t\tif (executed === 0) {\n\t\t\tconst acrossClause = spaceCount > 0 ? ` across ${spaceCount} contract space${spaceCount === 1 ? \"\" : \"s\"}` : \"\";\n\t\t\tlines.push(`${formatGreen(\"✔\")} Database already matches contract${acrossClause}`);\n\t\t} else if (spaceCount > 0) lines.push(`${formatGreen(\"✔\")} Applied ${executed} operation(s) across ${spaceCount} contract space${spaceCount === 1 ? \"\" : \"s\"}`);\n\t\telse lines.push(`${formatGreen(\"✔\")} Applied ${executed} operation(s)`);\n\t\tif (result.warnings && result.warnings.length > 0) lines.push(...formatPlannerWarningsBlock(result.warnings, useColor));\n\t\tif (result.perSpace && result.perSpace.length > 0) {\n\t\t\tlines.push(\"\");\n\t\t\tlines.push(...formatPerSpaceBlock(result.perSpace, \"apply\", useColor));\n\t\t\tlines.push(\"\");\n\t\t\tlines.push(formatDimText(`Run 'prisma-next migration status' to confirm ${spaceCount === 1 ? \"the space is\" : \"all spaces are\"} up to date.`));\n\t\t} else if (result.marker) {\n\t\t\tlines.push(`${formatDimText(` App-space marker: ${result.marker.storageHash}`)}`);\n\t\t\tif (result.marker.profileHash) lines.push(`${formatDimText(` Profile hash: ${result.marker.profileHash}`)}`);\n\t\t}\n\t\tif (isVerbose(flags, 1)) lines.push(`${formatDimText(` Total time: ${result.timings.total}ms`)}`);\n\t\tif (result.advancedRef) lines.push(formatDimText(`Advanced ref \"${result.advancedRef.name}\" → ${result.advancedRef.hash}`));\n\t}\n\treturn lines.join(\"\\n\");\n}\n/**\n* Formats JSON output for migration commands (db init, db update).\n*/\nfunction formatMigrationJson(result) {\n\treturn JSON.stringify(result, null, 2);\n}\n//#endregion\n//#region src/utils/formatters/errors.ts\nconst BIN_PLACEHOLDER = \"{bin}\";\n/**\n* Rewrite the `{bin}` placeholder in every next-action command to `binName`.\n*\n* Library-layer error factories cannot know which binary the user invoked, so\n* they write `{bin} ref set <name> <hash>`. Every surface that renders or\n* serializes an envelope resolves the placeholder first, so a consumer only\n* ever sees a command that is runnable as written.\n*/\nfunction resolveBinPlaceholder(envelope, binName) {\n\tconst substitute = (command) => command.replaceAll(BIN_PLACEHOLDER, binName);\n\tconst resolved = envelope.nextActions.map((action) => ({\n\t\t...action,\n\t\t...ifDefined(\"command\", action.command?.replaceAll(BIN_PLACEHOLDER, binName)),\n\t\t...ifDefined(\"commands\", action.commands?.map(substitute))\n\t}));\n\treturn {\n\t\t...envelope,\n\t\tnextActions: resolved\n\t};\n}\n/**\n* The display label for a schema-diff issue in the shared error envelope,\n* derived from which sides are present: expected-only is a missing object,\n* actual-only an extra one, both a mismatch. `undefined` when the entry is not\n* a schema-diff issue (it carries neither side) so the caller can fall through\n* to its generic label.\n*/\nfunction schemaDiffIssueLabel(issue) {\n\tconst hasExpected = issue.expected !== void 0;\n\tconst hasActual = issue.actual !== void 0;\n\tif (hasExpected && hasActual) return \"mismatch\";\n\tif (hasExpected) return \"missing\";\n\tif (hasActual) return \"extra\";\n}\n/**\n* Formats error output for human-readable display.\n*/\nfunction formatErrorOutput(error, flags) {\n\tconst lines = [];\n\tconst useColor = flags.color !== false;\n\tconst formatRed = createColorFormatter(useColor, red);\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tlines.push(`${formatRed(\"✖\")} ${error.summary} (${error.code})`);\n\tif (error.why) lines.push(`${formatDimText(` Why: ${error.why}`)}`);\n\tif (error.fix) lines.push(`${formatDimText(` Fix: ${error.fix}`)}`);\n\tif (error.where?.path) {\n\t\tconst whereLine = error.where.line ? `${error.where.path}:${error.where.line}` : error.where.path;\n\t\tlines.push(`${formatDimText(` Where: ${whereLine}`)}`);\n\t}\n\tif (error.meta?.[\"conflicts\"]) {\n\t\tconst conflicts = error.meta[\"conflicts\"];\n\t\tif (conflicts.length > 0) {\n\t\t\tconst maxToShow = isVerbose(flags, 1) ? conflicts.length : Math.min(3, conflicts.length);\n\t\t\tconst header = isVerbose(flags, 1) ? \" Conflicts:\" : ` Conflicts (showing ${maxToShow} of ${conflicts.length}):`;\n\t\t\tlines.push(`${formatDimText(header)}`);\n\t\t\tfor (const conflict of conflicts.slice(0, maxToShow)) lines.push(`${formatDimText(` - [${conflict.kind}] ${conflict.summary}`)}`);\n\t\t\tif (!isVerbose(flags, 1) && conflicts.length > maxToShow) lines.push(`${formatDimText(\" Re-run with -v/--verbose to see all conflicts\")}`);\n\t\t}\n\t}\n\tif (error.meta?.[\"issues\"]) {\n\t\tconst issues = error.meta[\"issues\"];\n\t\tif (issues.length > 0) {\n\t\t\tconst maxToShow = isVerbose(flags, 1) ? issues.length : Math.min(3, issues.length);\n\t\t\tconst header = isVerbose(flags, 1) ? \" Issues:\" : ` Issues (showing ${maxToShow} of ${issues.length}):`;\n\t\t\tlines.push(`${formatDimText(header)}`);\n\t\t\tfor (const issue of issues.slice(0, maxToShow)) {\n\t\t\t\tconst label = issue.kind ?? schemaDiffIssueLabel(issue) ?? \"issue\";\n\t\t\t\tconst message = issue.message ?? issue.path?.join(\"/\") ?? \"\";\n\t\t\t\tlines.push(`${formatDimText(` - [${label}] ${message}`)}`);\n\t\t\t}\n\t\t\tif (!isVerbose(flags, 1) && issues.length > maxToShow) lines.push(`${formatDimText(\" Re-run with -v/--verbose to see all issues\")}`);\n\t\t}\n\t}\n\tif (error.docsUrl && isVerbose(flags, 1)) lines.push(formatDimText(error.docsUrl));\n\tconst plannerWarnings = error.meta?.[\"plannerWarnings\"];\n\tif (Array.isArray(plannerWarnings) && plannerWarnings.length > 0) {\n\t\tconst typedWarnings = blindCast(plannerWarnings);\n\t\tlines.push(...formatPlannerWarningsBlock(typedWarnings, useColor));\n\t}\n\tif (isVerbose(flags, 2) && error.meta) lines.push(`${formatDimText(` Meta: ${JSON.stringify(error.meta, null, 2)}`)}`);\n\treturn lines.join(\"\\n\");\n}\n/**\n* Formats error output as JSON.\n*/\nfunction formatErrorJson(error) {\n\treturn JSON.stringify(resolveBinPlaceholder(error, BIN_NAME), null, 2);\n}\n//#endregion\n//#region src/utils/glyph-mode.ts\nfunction localeString(env) {\n\treturn env[\"LC_ALL\"] ?? env[\"LC_CTYPE\"] ?? env[\"LANG\"] ?? \"\";\n}\nfunction isUtf8Locale(env) {\n\tconst locale = localeString(env);\n\tif (locale.length === 0) return false;\n\treturn /UTF-8|utf8/i.test(locale);\n}\nfunction detectGlyphMode(input) {\n\tif (!input.isTTY) return \"ascii\";\n\tif (!isUtf8Locale(input.env)) return \"ascii\";\n\treturn \"unicode\";\n}\n//#endregion\n//#region src/utils/shutdown.ts\nfunction createShutdownHandler(options) {\n\tconst exit = options?.exit ?? ((code) => process.exit(code));\n\tconst gracePeriodMs = options?.gracePeriodMs ?? 3e3;\n\tconst controller = new AbortController();\n\tlet shuttingDown = false;\n\tlet graceTimer;\n\tconst onSignal = () => {\n\t\tif (shuttingDown) {\n\t\t\texit(130);\n\t\t\treturn;\n\t\t}\n\t\tshuttingDown = true;\n\t\tcontroller.abort();\n\t\tgraceTimer = setTimeout(() => exit(130), gracePeriodMs);\n\t\tgraceTimer.unref();\n\t};\n\treturn {\n\t\tsignal: controller.signal,\n\t\tisShuttingDown: () => shuttingDown,\n\t\tonSignal,\n\t\tclearGraceTimer: () => {\n\t\t\tif (graceTimer !== void 0) {\n\t\t\t\tclearTimeout(graceTimer);\n\t\t\t\tgraceTimer = void 0;\n\t\t\t}\n\t\t}\n\t};\n}\nconst globalHandler = createShutdownHandler();\n/**\n* The global AbortSignal. Pass this to any async operation that should\n* be cancellable on Ctrl+C (e.g., DB queries, long-running emit).\n*/\nconst shutdownSignal = globalHandler.signal;\n/**\n* Installs SIGINT and SIGTERM handlers. Call once at CLI startup.\n*\n* - First signal: aborts the controller, starts a 3s grace timer.\n* - Second signal: force-exits immediately.\n*/\nlet installed = false;\nfunction installShutdownHandlers() {\n\tif (installed) return;\n\tinstalled = true;\n\tprocess.on(\"SIGINT\", globalHandler.onSignal);\n\tprocess.on(\"SIGTERM\", globalHandler.onSignal);\n}\n//#endregion\n//#region src/utils/terminal-ui.ts\n/**\n* Composable CLI output abstraction.\n*\n* Follows the Unix convention of separating data from decoration:\n* - **stdout** — data output only (`ui.output()`). This is what scripts and pipes capture.\n* - **stderr** — all decoration (spinners, logs, notes, intro/outro). Visible in terminal, invisible in pipes.\n*\n* Rules:\n* 1. All methods except `output()` and `error()` write to stderr only in interactive mode.\n* 2. `output(data)` always writes to stdout — if a command calls it, there is data to emit.\n* 3. `error()` always writes to stderr — errors matter even when piped.\n* 4. Decoration is suppressed when piped unless `--format pretty` was explicit (`forcePretty`).\n* 5. Never write data to stderr — decoration methods are for human context only.\n* 6. Never write decoration to stdout — it breaks pipes, `$(...)` captures, and `> file` redirects.\n*/\nvar TerminalUI = class TerminalUI {\n\t/**\n\t* True when stdout is a TTY (interactive terminal).\n\t* False when piped (e.g., `prisma-next db verify | jq`).\n\t*/\n\tisInteractive;\n\t/**\n\t* Whether color output is enabled.\n\t*/\n\tuseColor;\n\t/**\n\t* When true, decoration methods write even on non-TTY stdout\n\t* (explicit `--format pretty`).\n\t*/\n\tforcePretty;\n\t/**\n\t* Whether stdout is a TTY — used for migration-list graph glyph detection.\n\t*/\n\tstdoutIsTTY;\n\t/**\n\t* Process environment snapshot for locale-aware glyph detection.\n\t*/\n\tenv;\n\tstatic stderrOpts = { output: process.stderr };\n\tconstructor(options) {\n\t\tthis.isInteractive = options?.interactive ?? !!process.stdout.isTTY;\n\t\tthis.forcePretty = options?.forcePretty ?? false;\n\t\tthis.useColor = options?.color ?? (this.isInteractive || this.forcePretty);\n\t\tthis.stdoutIsTTY = options?.stdoutIsTTY ?? !!process.stdout.isTTY;\n\t\tthis.env = options?.env ?? process.env;\n\t}\n\tget isTTY() {\n\t\treturn this.stdoutIsTTY;\n\t}\n\t/**\n\t* Resolve glyph mode for migration list/tree output. `--ascii` forces ASCII;\n\t* otherwise delegates to the pure {@link detectGlyphMode} helper.\n\t*/\n\tresolveGlyphMode(forceAscii) {\n\t\tif (forceAscii) return \"ascii\";\n\t\treturn detectGlyphMode(this.glyphModeInput());\n\t}\n\tglyphModeInput() {\n\t\treturn {\n\t\t\tisTTY: this.stdoutIsTTY,\n\t\t\tenv: this.env\n\t\t};\n\t}\n\tget shouldDecorate() {\n\t\treturn this.isInteractive || this.forcePretty;\n\t}\n\t/**\n\t* Log a message line to stderr. No-op when piped unless forcePretty.\n\t*/\n\tlog(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.log.message(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Log a success message to stderr. No-op when piped unless forcePretty.\n\t*/\n\tsuccess(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.log.success(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Log a warning message to stderr. No-op when piped unless forcePretty.\n\t*/\n\twarn(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.log.warn(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Log an error message to stderr. Always writes (errors matter even in pipes).\n\t*/\n\terror(message) {\n\t\tclack.log.error(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Log an info message to stderr. No-op when piped unless forcePretty.\n\t*/\n\tinfo(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.log.info(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Log a step message to stderr. No-op when piped unless forcePretty.\n\t*/\n\tstep(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.log.step(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Display a note box on stderr. No-op when piped unless forcePretty.\n\t*/\n\tnote(message, title) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.note(message, title, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Display intro banner on stderr. No-op when piped unless forcePretty.\n\t*/\n\tintro(title) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.intro(title, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Display outro banner on stderr. No-op when piped unless forcePretty.\n\t*/\n\toutro(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.outro(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Create a Clack spinner on stderr with a 100ms delay threshold.\n\t* The spinner only appears if the operation takes longer than the threshold,\n\t* avoiding flicker for fast operations. Returns a no-op spinner when not decorating.\n\t*/\n\tspinner(delayMs = 100) {\n\t\tconst noop = {\n\t\t\tstart: () => {},\n\t\t\tstop: () => {},\n\t\t\tcancel: () => {},\n\t\t\terror: () => {},\n\t\t\tmessage: () => {},\n\t\t\tclear: () => {},\n\t\t\tget isCancelled() {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t};\n\t\tif (!this.shouldDecorate) return noop;\n\t\tlet inner;\n\t\tlet timer;\n\t\tlet pendingMsg;\n\t\tlet settled = false;\n\t\tconst ensureCleared = () => {\n\t\t\tif (timer !== void 0) {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\ttimer = void 0;\n\t\t\t}\n\t\t};\n\t\tconst onAbort = () => {\n\t\t\tif (!settled) {\n\t\t\t\tsettled = true;\n\t\t\t\tensureCleared();\n\t\t\t\tif (inner) inner.cancel(\"Interrupted\");\n\t\t\t}\n\t\t};\n\t\tif (!shutdownSignal.aborted) shutdownSignal.addEventListener(\"abort\", onAbort, { once: true });\n\t\treturn {\n\t\t\tstart(msg) {\n\t\t\t\tpendingMsg = msg;\n\t\t\t\ttimer = setTimeout(() => {\n\t\t\t\t\tif (!settled) {\n\t\t\t\t\t\tinner = clack.spinner(TerminalUI.stderrOpts);\n\t\t\t\t\t\tinner.start(pendingMsg);\n\t\t\t\t\t}\n\t\t\t\t}, delayMs);\n\t\t\t},\n\t\t\tstop(msg) {\n\t\t\t\tsettled = true;\n\t\t\t\tensureCleared();\n\t\t\t\tif (inner) inner.stop(msg);\n\t\t\t},\n\t\t\tcancel(msg) {\n\t\t\t\tsettled = true;\n\t\t\t\tensureCleared();\n\t\t\t\tif (inner) inner.cancel(msg);\n\t\t\t},\n\t\t\terror(msg) {\n\t\t\t\tsettled = true;\n\t\t\t\tensureCleared();\n\t\t\t\tif (inner) inner.error(msg);\n\t\t\t},\n\t\t\tmessage(msg) {\n\t\t\t\tpendingMsg = msg;\n\t\t\t\tif (inner) inner.message(msg);\n\t\t\t},\n\t\t\tclear() {\n\t\t\t\tsettled = true;\n\t\t\t\tensureCleared();\n\t\t\t\tif (inner) inner.clear();\n\t\t\t},\n\t\t\tget isCancelled() {\n\t\t\t\treturn inner?.isCancelled ?? false;\n\t\t\t}\n\t\t};\n\t}\n\t/**\n\t* Prompt for yes/no confirmation on stderr. Returns true if confirmed.\n\t* In non-interactive mode or when cancelled (Ctrl-C), returns false.\n\t*/\n\tasync confirm(message) {\n\t\tif (!this.isInteractive) return false;\n\t\tconst result = await clack.confirm({\n\t\t\tmessage,\n\t\t\t...TerminalUI.stderrOpts\n\t\t});\n\t\tif (clack.isCancel(result)) return false;\n\t\treturn result;\n\t}\n\t/**\n\t* Write a raw line to stderr. No-op when piped unless forcePretty.\n\t* Use for decoration that doesn't fit Clack's log format (e.g. styled headers).\n\t*/\n\tstderr(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tprocess.stderr.write(`${message}\\n`);\n\t}\n\t/**\n\t* Write machine-readable data to stdout.\n\t* Always writes — if a command calls output(), there is data to emit.\n\t*\n\t* This is what scripts and pipes capture: `prisma-next db verify --json | jq .ok`\n\t*/\n\toutput(data) {\n\t\tprocess.stdout.write(`${data}\\n`);\n\t}\n\tgreen(text) {\n\t\treturn this.useColor ? green(text) : text;\n\t}\n\tred(text) {\n\t\treturn this.useColor ? red(text) : text;\n\t}\n\tcyan(text) {\n\t\treturn this.useColor ? cyan(text) : text;\n\t}\n\tdim(text) {\n\t\treturn this.useColor ? dim(text) : text;\n\t}\n\tbold(text) {\n\t\treturn this.useColor ? bold(text) : text;\n\t}\n\tyellow(text) {\n\t\treturn this.useColor ? yellow(text) : text;\n\t}\n};\nfunction createTerminalUI(flags, runtime) {\n\treturn new TerminalUI({\n\t\tcolor: flags.color,\n\t\tinteractive: flags.interactive,\n\t\tforcePretty: flags.format === \"pretty\" && flags.explicitFormat,\n\t\tstdoutIsTTY: runtime?.isTTY,\n\t\tenv: runtime?.env\n\t});\n}\n//#endregion\nexport { formatMigrationApplyCommandOutput as a, formatMigrationPlanOutput as c, BIN_NAME as d, createColorFormatter as f, formatErrorOutput as i, formatMigrationShowOutput as l, isVerbose as m, installShutdownHandlers as n, formatMigrationApplyOutput as o, formatDim as p, formatErrorJson as r, formatMigrationJson as s, createTerminalUI as t, previewBlockHeader as u };\n\n//# sourceMappingURL=terminal-ui-JJKxvT0q.mjs.map"],"mappings":";;;;;;;;AAQA,SAAS,UAAU,OAAO,OAAO;CAChC,QAAQ,MAAM,WAAW,MAAM;AAChC;;;;;AAKA,SAAS,qBAAqB,UAAU,SAAS;CAChD,OAAO,WAAW,WAAW,SAAS;AACvC;;;;AAIA,SAAS,UAAU,UAAU,MAAM;CAClC,OAAO,WAAW,IAAI,IAAI,IAAI;AAC/B;;;;;;;;;AAWA,MAAM,WAAW;;;;;;;AASjB,SAAS,uBAAuB,MAAM,UAAU;CAC/C,MAAM,UAAU,KAAK,KAAK;CAC1B,IAAI,CAAC,SAAS,OAAO,KAAK;CAC1B,IAAI,aAAa,OAAO,OAAO,QAAQ,SAAS,GAAG,IAAI,UAAU,GAAG,QAAQ;CAC5E,OAAO;AACR;;;;;;;;;;;;;AAaA,SAAS,mBAAmB,SAAS;CACpC,OAAO,QAAQ,WAAW,SAAS,KAAK,QAAQ,WAAW,OAAO,MAAM,EAAE,aAAa,KAAK,IAAI,gBAAgB;AACjH;AACA,SAAS,2BAA2B,UAAU,UAAU;CACvD,MAAM,iBAAiB,SAAS,UAAU,UAAU,IAAI;CACxD,MAAM,QAAQ,CAAC,IAAI,WAAW;CAC9B,KAAK,MAAM,WAAW,UAAU,MAAM,KAAK,KAAK,cAAc,KAAK,QAAQ,SAAS,GAAG;CACvF,OAAO;AACR;;;;;;;;;;;AAWA,SAAS,oBAAoB,UAAU,MAAM,UAAU;CACtD,MAAM,eAAe,qBAAqB,UAAU,MAAM;CAC1D,MAAM,aAAa,qBAAqB,UAAU,IAAI;CACtD,MAAM,iBAAiB,SAAS,UAAU,UAAU,IAAI;CACxD,MAAM,QAAQ,CAAC;CACf,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACzC,MAAM,QAAQ,SAAS;EACvB,IAAI,IAAI,GAAG,MAAM,KAAK,EAAE;EACxB,MAAM,SAAS,MAAM,SAAS,QAAQ,WAAW,WAAW,IAAI,WAAW,oBAAoB,MAAM,SAAS;EAC9G,MAAM,KAAK,MAAM;EACjB,IAAI,MAAM,WAAW,WAAW,GAAG,MAAM,KAAK,KAAK,cAAc,iBAAiB,GAAG;OAChF,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,WAAW,QAAQ,KAAK;GACtD,MAAM,KAAK,MAAM,WAAW;GAC5B,MAAM,WAAW,MAAM,MAAM,WAAW,SAAS,IAAI,MAAM;GAC3D,MAAM,oBAAoB,GAAG,mBAAmB,gBAAgB,IAAI,aAAa,eAAe,MAAM;GACtG,MAAM,KAAK,KAAK,cAAc,QAAQ,EAAE,IAAI,GAAG,QAAQ,mBAAmB;EAC3E;EACA,IAAI,SAAS,WAAW,MAAM,QAAQ,MAAM,KAAK,KAAK,cAAc,WAAW,MAAM,OAAO,aAAa,GAAG;CAC7G;CACA,OAAO;AACR;;;;AAIA,SAAS,0BAA0B,QAAQ,OAAO;CACjD,IAAI,MAAM,OAAO,OAAO;CACxB,MAAM,QAAQ,CAAC;CACf,MAAM,WAAW,MAAM,UAAU;CACjC,MAAM,cAAc,qBAAqB,UAAU,KAAK;CACxD,MAAM,iBAAiB,SAAS,UAAU,UAAU,IAAI;CACxD,MAAM,iBAAiB,OAAO,MAAM,WAAW,UAAU;CACzD,MAAM,aAAa,OAAO,UAAU,UAAU;CAC9C,IAAI,aAAa,GAAG,MAAM,KAAK,GAAG,YAAY,GAAG,EAAE,WAAW,eAAe,uBAAuB,WAAW,iBAAiB,eAAe,IAAI,KAAK,KAAK;MACxJ,MAAM,KAAK,GAAG,YAAY,GAAG,EAAE,WAAW,eAAe,cAAc;CAC5E,IAAI,OAAO,YAAY,OAAO,SAAS,SAAS,GAAG,MAAM,KAAK,GAAG,2BAA2B,OAAO,UAAU,QAAQ,CAAC;CACtH,MAAM,eAAe,qBAAqB,UAAU,MAAM;CAC1D,IAAI,OAAO,YAAY,OAAO,SAAS,SAAS,GAAG;EAClD,MAAM,KAAK,EAAE;EACb,MAAM,KAAK,GAAG,oBAAoB,OAAO,UAAU,QAAQ,QAAQ,CAAC;EACpE,IAAI,OAAO,SAAS,MAAM,MAAM,EAAE,WAAW,MAAM,OAAO,GAAG,mBAAmB,aAAa,CAAC,GAAG;GAChG,MAAM,KAAK,EAAE;GACb,MAAM,KAAK,GAAG,aAAa,GAAG,EAAE,0EAA0E;EAC3G;CACD,OAAO,IAAI,OAAO,MAAM,cAAc,OAAO,KAAK,WAAW,SAAS,GAAG;EACxE,MAAM,KAAK,GAAG,cAAc,GAAG,GAAG;EAClC,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,KAAK,WAAW,QAAQ,KAAK;GACvD,MAAM,KAAK,OAAO,KAAK,WAAW;GAClC,IAAI,CAAC,IAAI;GACT,MAAM,WAAW,MAAM,OAAO,KAAK,WAAW,SAAS,IAAI,MAAM;GACjE,MAAM,oBAAoB,GAAG,mBAAmB,gBAAgB,IAAI,aAAa,eAAe,MAAM;GACtG,MAAM,KAAK,GAAG,cAAc,QAAQ,EAAE,IAAI,GAAG,QAAQ,mBAAmB;EACzE;EACA,IAAI,OAAO,KAAK,WAAW,MAAM,OAAO,GAAG,mBAAmB,aAAa,GAAG;GAC7E,MAAM,KAAK,EAAE;GACb,MAAM,KAAK,GAAG,aAAa,GAAG,EAAE,0EAA0E;EAC3G;CACD;CACA,IAAI,OAAO,MAAM,aAAa;EAC7B,MAAM,KAAK,EAAE;EACb,MAAM,KAAK,GAAG,cAAc,qBAAqB,OAAO,KAAK,YAAY,aAAa,GAAG;CAC1F;CACA,IAAI,OAAO,mBAAmB;EAC7B,MAAM,KAAK,EAAE;EACb,MAAM,KAAK,cAAc,sBAAsB,OAAO,kBAAkB,KAAK,MAAM,OAAO,kBAAkB,MAAM,CAAC;CACpH;CACA,MAAM,UAAU,OAAO,MAAM;CAC7B,IAAI,SAAS;EACZ,MAAM,KAAK,EAAE;EACb,MAAM,KAAK,GAAG,cAAc,mBAAmB,OAAO,CAAC,GAAG;EAC1D,IAAI,QAAQ,WAAW,WAAW,GAAG,MAAM,KAAK,GAAG,cAAc,gBAAgB,GAAG;OAC/E;GACJ,MAAM,KAAK,EAAE;GACb,KAAK,MAAM,aAAa,QAAQ,YAAY;IAC3C,MAAM,WAAW,uBAAuB,UAAU,MAAM,UAAU,QAAQ;IAC1E,IAAI,UAAU,MAAM,KAAK,QAAQ;GAClC;EACD;CACD;CACA,IAAI,UAAU,OAAO,CAAC,GAAG,MAAM,KAAK,GAAG,cAAc,eAAe,OAAO,QAAQ,MAAM,GAAG,GAAG;CAC/F,MAAM,KAAK,EAAE;CACb,MAAM,KAAK,GAAG,cAAc,6CAA6C,GAAG;CAC5E,MAAM,KAAK,GAAG,cAAc,yCAAyC,GAAG;CACxE,OAAO,MAAM,KAAK,IAAI;AACvB;AACA,SAAS,kCAAkC,QAAQ,OAAO;CACzD,IAAI,MAAM,OAAO,OAAO;CACxB,MAAM,QAAQ,CAAC;CACf,MAAM,WAAW,MAAM,UAAU;CACjC,MAAM,cAAc,qBAAqB,UAAU,KAAK;CACxD,MAAM,iBAAiB,SAAS,UAAU,UAAU,IAAI;CACxD,MAAM,KAAK,GAAG,YAAY,GAAG,EAAE,GAAG,OAAO,SAAS;CAClD,IAAI,OAAO,SAAS,SAAS,GAAG;EAC/B,MAAM,KAAK,EAAE;EACb,KAAK,MAAM,QAAQ,oBAAoB,OAAO,UAAU,SAAS,QAAQ,GAAG,MAAM,KAAK,IAAI;CAC5F;CACA,IAAI,OAAO,aAAa;EACvB,MAAM,KAAK,EAAE;EACb,MAAM,KAAK,cAAc,iBAAiB,OAAO,YAAY,KAAK,MAAM,OAAO,YAAY,MAAM,CAAC;CACnG;CACA,MAAM,KAAK,EAAE;CACb,MAAM,KAAK,cAAc,oCAAoC,CAAC;CAC9D,IAAI,UAAU,OAAO,CAAC,KAAK,OAAO,SAAS;EAC1C,MAAM,KAAK,EAAE;EACb,MAAM,KAAK,cAAc,eAAe,OAAO,QAAQ,MAAM,GAAG,CAAC;CAClE;CACA,OAAO,MAAM,KAAK,IAAI;AACvB;AACA,SAAS,qBAAqB,OAAO,UAAU;CAC9C,MAAM,cAAc,qBAAqB,UAAU,KAAK;CACxD,MAAM,eAAe,qBAAqB,UAAU,MAAM;CAC1D,MAAM,iBAAiB,SAAS,UAAU,UAAU,IAAI;CACxD,MAAM,QAAQ,CAAC;CACf,MAAM,KAAK,GAAG,YAAY,GAAG,EAAE,GAAG,MAAM,MAAM;CAC9C,MAAM,KAAK,GAAG,cAAc,WAAW,MAAM,gBAAgB,cAAc,GAAG;CAC9E,MAAM,KAAK,GAAG,cAAc,WAAW,MAAM,YAAY,GAAG;CAC5D,MAAM,KAAK,GAAG,cAAc,WAAW,MAAM,MAAM,GAAG;CACtD,MAAM,KAAK,GAAG,cAAc,cAAc,MAAM,WAAW,GAAG;CAC9D,MAAM,KAAK,EAAE;CACb,MAAM,KAAK,GAAG,MAAM,WAAW,OAAO,cAAc;CACpD,IAAI,MAAM,WAAW,SAAS,GAAG;EAChC,MAAM,KAAK,GAAG,cAAc,GAAG,GAAG;EAClC,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,WAAW,QAAQ,KAAK;GACjD,MAAM,KAAK,MAAM,WAAW;GAC5B,MAAM,WAAW,MAAM,MAAM,WAAW,SAAS,IAAI,MAAM;GAC3D,MAAM,oBAAoB,GAAG,mBAAmB,gBAAgB,IAAI,aAAa,eAAe,MAAM;GACtG,MAAM,KAAK,GAAG,cAAc,QAAQ,EAAE,IAAI,GAAG,QAAQ,mBAAmB;EACzE;EACA,IAAI,MAAM,WAAW,MAAM,OAAO,GAAG,mBAAmB,aAAa,GAAG;GACvE,MAAM,KAAK,EAAE;GACb,MAAM,KAAK,GAAG,aAAa,GAAG,EAAE,0EAA0E;EAC3G;CACD;CACA,IAAI,MAAM,QAAQ,WAAW,SAAS,GAAG;EACxC,MAAM,KAAK,EAAE;EACb,MAAM,KAAK,GAAG,cAAc,mBAAmB,MAAM,OAAO,CAAC,GAAG;EAChE,MAAM,KAAK,EAAE;EACb,KAAK,MAAM,aAAa,MAAM,QAAQ,YAAY;GACjD,MAAM,WAAW,uBAAuB,UAAU,MAAM,UAAU,QAAQ;GAC1E,IAAI,UAAU,MAAM,KAAK,QAAQ;EAClC;CACD;CACA,OAAO;AACR;AACA,SAAS,0BAA0B,QAAQ,OAAO;CACjD,IAAI,MAAM,OAAO,OAAO;CACxB,MAAM,WAAW,MAAM,UAAU;CACjC,OAAO,qBAAqB,OAAO,WAAW,QAAQ,CAAC,CAAC,KAAK,IAAI;AAClE;;;;AAIA,SAAS,2BAA2B,QAAQ,OAAO;CAClD,IAAI,MAAM,OAAO,OAAO;CACxB,MAAM,QAAQ,CAAC;CACf,MAAM,WAAW,MAAM,UAAU;CACjC,MAAM,cAAc,qBAAqB,UAAU,KAAK;CACxD,MAAM,iBAAiB,SAAS,UAAU,UAAU,IAAI;CACxD,IAAI,OAAO,IAAI;EACd,MAAM,WAAW,OAAO,WAAW,sBAAsB;EACzD,MAAM,aAAa,OAAO,UAAU,UAAU;EAC9C,IAAI,aAAa,GAAG;GACnB,MAAM,eAAe,aAAa,IAAI,WAAW,WAAW,iBAAiB,eAAe,IAAI,KAAK,QAAQ;GAC7G,MAAM,KAAK,GAAG,YAAY,GAAG,EAAE,oCAAoC,cAAc;EAClF,OAAO,IAAI,aAAa,GAAG,MAAM,KAAK,GAAG,YAAY,GAAG,EAAE,WAAW,SAAS,uBAAuB,WAAW,iBAAiB,eAAe,IAAI,KAAK,KAAK;OACzJ,MAAM,KAAK,GAAG,YAAY,GAAG,EAAE,WAAW,SAAS,cAAc;EACtE,IAAI,OAAO,YAAY,OAAO,SAAS,SAAS,GAAG,MAAM,KAAK,GAAG,2BAA2B,OAAO,UAAU,QAAQ,CAAC;EACtH,IAAI,OAAO,YAAY,OAAO,SAAS,SAAS,GAAG;GAClD,MAAM,KAAK,EAAE;GACb,MAAM,KAAK,GAAG,oBAAoB,OAAO,UAAU,SAAS,QAAQ,CAAC;GACrE,MAAM,KAAK,EAAE;GACb,MAAM,KAAK,cAAc,iDAAiD,eAAe,IAAI,iBAAiB,iBAAiB,aAAa,CAAC;EAC9I,OAAO,IAAI,OAAO,QAAQ;GACzB,MAAM,KAAK,GAAG,cAAc,uBAAuB,OAAO,OAAO,aAAa,GAAG;GACjF,IAAI,OAAO,OAAO,aAAa,MAAM,KAAK,GAAG,cAAc,mBAAmB,OAAO,OAAO,aAAa,GAAG;EAC7G;EACA,IAAI,UAAU,OAAO,CAAC,GAAG,MAAM,KAAK,GAAG,cAAc,iBAAiB,OAAO,QAAQ,MAAM,GAAG,GAAG;EACjG,IAAI,OAAO,aAAa,MAAM,KAAK,cAAc,iBAAiB,OAAO,YAAY,KAAK,MAAM,OAAO,YAAY,MAAM,CAAC;CAC3H;CACA,OAAO,MAAM,KAAK,IAAI;AACvB;;;;AAIA,SAAS,oBAAoB,QAAQ;CACpC,OAAO,KAAK,UAAU,QAAQ,MAAM,CAAC;AACtC;AAGA,MAAM,kBAAkB;;;;;;;;;AASxB,SAAS,sBAAsB,UAAU,SAAS;CACjD,MAAM,cAAc,YAAY,QAAQ,WAAW,iBAAiB,OAAO;CAC3E,MAAM,WAAW,SAAS,YAAY,KAAK,YAAY;EACtD,GAAG;EACH,GAAG,UAAU,WAAW,OAAO,SAAS,WAAW,iBAAiB,OAAO,CAAC;EAC5E,GAAG,UAAU,YAAY,OAAO,UAAU,IAAI,UAAU,CAAC;CAC1D,EAAE;CACF,OAAO;EACN,GAAG;EACH,aAAa;CACd;AACD;;;;;;;;AAQA,SAAS,qBAAqB,OAAO;CACpC,MAAM,cAAc,MAAM,aAAa,KAAK;CAC5C,MAAM,YAAY,MAAM,WAAW,KAAK;CACxC,IAAI,eAAe,WAAW,OAAO;CACrC,IAAI,aAAa,OAAO;CACxB,IAAI,WAAW,OAAO;AACvB;;;;AAIA,SAAS,kBAAkB,OAAO,OAAO;CACxC,MAAM,QAAQ,CAAC;CACf,MAAM,WAAW,MAAM,UAAU;CACjC,MAAM,YAAY,qBAAqB,UAAU,GAAG;CACpD,MAAM,iBAAiB,SAAS,UAAU,UAAU,IAAI;CACxD,MAAM,KAAK,GAAG,UAAU,GAAG,EAAE,GAAG,MAAM,QAAQ,IAAI,MAAM,KAAK,EAAE;CAC/D,IAAI,MAAM,KAAK,MAAM,KAAK,GAAG,cAAc,UAAU,MAAM,KAAK,GAAG;CACnE,IAAI,MAAM,KAAK,MAAM,KAAK,GAAG,cAAc,UAAU,MAAM,KAAK,GAAG;CACnE,IAAI,MAAM,OAAO,MAAM;EACtB,MAAM,YAAY,MAAM,MAAM,OAAO,GAAG,MAAM,MAAM,KAAK,GAAG,MAAM,MAAM,SAAS,MAAM,MAAM;EAC7F,MAAM,KAAK,GAAG,cAAc,YAAY,WAAW,GAAG;CACvD;CACA,IAAI,MAAM,OAAO,cAAc;EAC9B,MAAM,YAAY,MAAM,KAAK;EAC7B,IAAI,UAAU,SAAS,GAAG;GACzB,MAAM,YAAY,UAAU,OAAO,CAAC,IAAI,UAAU,SAAS,KAAK,IAAI,GAAG,UAAU,MAAM;GACvF,MAAM,SAAS,UAAU,OAAO,CAAC,IAAI,iBAAiB,wBAAwB,UAAU,MAAM,UAAU,OAAO;GAC/G,MAAM,KAAK,GAAG,cAAc,MAAM,GAAG;GACrC,KAAK,MAAM,YAAY,UAAU,MAAM,GAAG,SAAS,GAAG,MAAM,KAAK,GAAG,cAAc,UAAU,SAAS,KAAK,IAAI,SAAS,SAAS,GAAG;GACnI,IAAI,CAAC,UAAU,OAAO,CAAC,KAAK,UAAU,SAAS,WAAW,MAAM,KAAK,GAAG,cAAc,iDAAiD,GAAG;EAC3I;CACD;CACA,IAAI,MAAM,OAAO,WAAW;EAC3B,MAAM,SAAS,MAAM,KAAK;EAC1B,IAAI,OAAO,SAAS,GAAG;GACtB,MAAM,YAAY,UAAU,OAAO,CAAC,IAAI,OAAO,SAAS,KAAK,IAAI,GAAG,OAAO,MAAM;GACjF,MAAM,SAAS,UAAU,OAAO,CAAC,IAAI,cAAc,qBAAqB,UAAU,MAAM,OAAO,OAAO;GACtG,MAAM,KAAK,GAAG,cAAc,MAAM,GAAG;GACrC,KAAK,MAAM,SAAS,OAAO,MAAM,GAAG,SAAS,GAAG;IAC/C,MAAM,QAAQ,MAAM,QAAQ,qBAAqB,KAAK,KAAK;IAC3D,MAAM,UAAU,MAAM,WAAW,MAAM,MAAM,KAAK,GAAG,KAAK;IAC1D,MAAM,KAAK,GAAG,cAAc,UAAU,MAAM,IAAI,SAAS,GAAG;GAC7D;GACA,IAAI,CAAC,UAAU,OAAO,CAAC,KAAK,OAAO,SAAS,WAAW,MAAM,KAAK,GAAG,cAAc,8CAA8C,GAAG;EACrI;CACD;CACA,IAAI,MAAM,WAAW,UAAU,OAAO,CAAC,GAAG,MAAM,KAAK,cAAc,MAAM,OAAO,CAAC;CACjF,MAAM,kBAAkB,MAAM,OAAO;CACrC,IAAI,MAAM,QAAQ,eAAe,KAAK,gBAAgB,SAAS,GAAG;EACjE,MAAM,gBAAgB,UAAU,eAAe;EAC/C,MAAM,KAAK,GAAG,2BAA2B,eAAe,QAAQ,CAAC;CAClE;CACA,IAAI,UAAU,OAAO,CAAC,KAAK,MAAM,MAAM,MAAM,KAAK,GAAG,cAAc,WAAW,KAAK,UAAU,MAAM,MAAM,MAAM,CAAC,GAAG,GAAG;CACtH,OAAO,MAAM,KAAK,IAAI;AACvB;;;;AAIA,SAAS,gBAAgB,OAAO;CAC/B,OAAO,KAAK,UAAU,sBAAsB,OAAO,QAAQ,GAAG,MAAM,CAAC;AACtE;AAGA,SAAS,aAAa,KAAK;CAC1B,OAAO,IAAI,aAAa,IAAI,eAAe,IAAI,WAAW;AAC3D;AACA,SAAS,aAAa,KAAK;CAC1B,MAAM,SAAS,aAAa,GAAG;CAC/B,IAAI,OAAO,WAAW,GAAG,OAAO;CAChC,OAAO,cAAc,KAAK,MAAM;AACjC;AACA,SAAS,gBAAgB,OAAO;CAC/B,IAAI,CAAC,MAAM,OAAO,OAAO;CACzB,IAAI,CAAC,aAAa,MAAM,GAAG,GAAG,OAAO;CACrC,OAAO;AACR;AAGA,SAAS,sBAAsB,SAAS;CACvC,MAAM,OAAO,SAAS,UAAU,SAAS,QAAQ,KAAK,IAAI;CAC1D,MAAM,gBAAgB,SAAS,iBAAiB;CAChD,MAAM,aAAa,IAAI,gBAAgB;CACvC,IAAI,eAAe;CACnB,IAAI;CACJ,MAAM,iBAAiB;EACtB,IAAI,cAAc;GACjB,KAAK,GAAG;GACR;EACD;EACA,eAAe;EACf,WAAW,MAAM;EACjB,aAAa,iBAAiB,KAAK,GAAG,GAAG,aAAa;EACtD,WAAW,MAAM;CAClB;CACA,OAAO;EACN,QAAQ,WAAW;EACnB,sBAAsB;EACtB;EACA,uBAAuB;GACtB,IAAI,eAAe,KAAK,GAAG;IAC1B,aAAa,UAAU;IACvB,aAAa,KAAK;GACnB;EACD;CACD;AACD;AACA,MAAM,gBAAgB,sBAAsB;;;;;AAK5C,MAAM,iBAAiB,cAAc;;;;;;;AAOrC,IAAI,YAAY;AAChB,SAAS,0BAA0B;CAClC,IAAI,WAAW;CACf,YAAY;CACZ,QAAQ,GAAG,UAAU,cAAc,QAAQ;CAC3C,QAAQ,GAAG,WAAW,cAAc,QAAQ;AAC7C;;;;;;;;;;;;;;;;AAkBA,IAAI,aAAa,MAAM,WAAW;;;;;CAKjC;;;;CAIA;;;;;CAKA;;;;CAIA;;;;CAIA;CACA,OAAO,aAAa,EAAE,QAAQ,QAAQ,OAAO;CAC7C,YAAY,SAAS;EACpB,KAAK,gBAAgB,SAAS,eAAe,CAAC,CAAC,QAAQ,OAAO;EAC9D,KAAK,cAAc,SAAS,eAAe;EAC3C,KAAK,WAAW,SAAS,UAAU,KAAK,iBAAiB,KAAK;EAC9D,KAAK,cAAc,SAAS,eAAe,CAAC,CAAC,QAAQ,OAAO;EAC5D,KAAK,MAAM,SAAS,OAAO,QAAQ;CACpC;CACA,IAAI,QAAQ;EACX,OAAO,KAAK;CACb;;;;;CAKA,iBAAiB,YAAY;EAC5B,IAAI,YAAY,OAAO;EACvB,OAAO,gBAAgB,KAAK,eAAe,CAAC;CAC7C;CACA,iBAAiB;EAChB,OAAO;GACN,OAAO,KAAK;GACZ,KAAK,KAAK;EACX;CACD;CACA,IAAI,iBAAiB;EACpB,OAAO,KAAK,iBAAiB,KAAK;CACnC;;;;CAIA,IAAI,SAAS;EACZ,IAAI,CAAC,KAAK,gBAAgB;EAC1B,MAAM,IAAI,QAAQ,SAAS,WAAW,UAAU;CACjD;;;;CAIA,QAAQ,SAAS;EAChB,IAAI,CAAC,KAAK,gBAAgB;EAC1B,MAAM,IAAI,QAAQ,SAAS,WAAW,UAAU;CACjD;;;;CAIA,KAAK,SAAS;EACb,IAAI,CAAC,KAAK,gBAAgB;EAC1B,MAAM,IAAI,KAAK,SAAS,WAAW,UAAU;CAC9C;;;;CAIA,MAAM,SAAS;EACd,MAAM,IAAI,MAAM,SAAS,WAAW,UAAU;CAC/C;;;;CAIA,KAAK,SAAS;EACb,IAAI,CAAC,KAAK,gBAAgB;EAC1B,MAAM,IAAI,KAAK,SAAS,WAAW,UAAU;CAC9C;;;;CAIA,KAAK,SAAS;EACb,IAAI,CAAC,KAAK,gBAAgB;EAC1B,MAAM,IAAI,KAAK,SAAS,WAAW,UAAU;CAC9C;;;;CAIA,KAAK,SAAS,OAAO;EACpB,IAAI,CAAC,KAAK,gBAAgB;EAC1B,MAAM,KAAK,SAAS,OAAO,WAAW,UAAU;CACjD;;;;CAIA,MAAM,OAAO;EACZ,IAAI,CAAC,KAAK,gBAAgB;EAC1B,MAAM,MAAM,OAAO,WAAW,UAAU;CACzC;;;;CAIA,MAAM,SAAS;EACd,IAAI,CAAC,KAAK,gBAAgB;EAC1B,MAAM,MAAM,SAAS,WAAW,UAAU;CAC3C;;;;;;CAMA,QAAQ,UAAU,KAAK;EACtB,MAAM,OAAO;GACZ,aAAa,CAAC;GACd,YAAY,CAAC;GACb,cAAc,CAAC;GACf,aAAa,CAAC;GACd,eAAe,CAAC;GAChB,aAAa,CAAC;GACd,IAAI,cAAc;IACjB,OAAO;GACR;EACD;EACA,IAAI,CAAC,KAAK,gBAAgB,OAAO;EACjC,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI,UAAU;EACd,MAAM,sBAAsB;GAC3B,IAAI,UAAU,KAAK,GAAG;IACrB,aAAa,KAAK;IAClB,QAAQ,KAAK;GACd;EACD;EACA,MAAM,gBAAgB;GACrB,IAAI,CAAC,SAAS;IACb,UAAU;IACV,cAAc;IACd,IAAI,OAAO,MAAM,OAAO,aAAa;GACtC;EACD;EACA,IAAI,CAAC,eAAe,SAAS,eAAe,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;EAC7F,OAAO;GACN,MAAM,KAAK;IACV,aAAa;IACb,QAAQ,iBAAiB;KACxB,IAAI,CAAC,SAAS;MACb,QAAQ,MAAM,QAAQ,WAAW,UAAU;MAC3C,MAAM,MAAM,UAAU;KACvB;IACD,GAAG,OAAO;GACX;GACA,KAAK,KAAK;IACT,UAAU;IACV,cAAc;IACd,IAAI,OAAO,MAAM,KAAK,GAAG;GAC1B;GACA,OAAO,KAAK;IACX,UAAU;IACV,cAAc;IACd,IAAI,OAAO,MAAM,OAAO,GAAG;GAC5B;GACA,MAAM,KAAK;IACV,UAAU;IACV,cAAc;IACd,IAAI,OAAO,MAAM,MAAM,GAAG;GAC3B;GACA,QAAQ,KAAK;IACZ,aAAa;IACb,IAAI,OAAO,MAAM,QAAQ,GAAG;GAC7B;GACA,QAAQ;IACP,UAAU;IACV,cAAc;IACd,IAAI,OAAO,MAAM,MAAM;GACxB;GACA,IAAI,cAAc;IACjB,OAAO,OAAO,eAAe;GAC9B;EACD;CACD;;;;;CAKA,MAAM,QAAQ,SAAS;EACtB,IAAI,CAAC,KAAK,eAAe,OAAO;EAChC,MAAM,SAAS,MAAM,MAAM,QAAQ;GAClC;GACA,GAAG,WAAW;EACf,CAAC;EACD,IAAI,MAAM,SAAS,MAAM,GAAG,OAAO;EACnC,OAAO;CACR;;;;;CAKA,OAAO,SAAS;EACf,IAAI,CAAC,KAAK,gBAAgB;EAC1B,QAAQ,OAAO,MAAM,GAAG,QAAQ,GAAG;CACpC;;;;;;;CAOA,OAAO,MAAM;EACZ,QAAQ,OAAO,MAAM,GAAG,KAAK,GAAG;CACjC;CACA,MAAM,MAAM;EACX,OAAO,KAAK,WAAW,MAAM,IAAI,IAAI;CACtC;CACA,IAAI,MAAM;EACT,OAAO,KAAK,WAAW,IAAI,IAAI,IAAI;CACpC;CACA,KAAK,MAAM;EACV,OAAO,KAAK,WAAW,KAAK,IAAI,IAAI;CACrC;CACA,IAAI,MAAM;EACT,OAAO,KAAK,WAAW,IAAI,IAAI,IAAI;CACpC;CACA,KAAK,MAAM;EACV,OAAO,KAAK,WAAW,KAAK,IAAI,IAAI;CACrC;CACA,OAAO,MAAM;EACZ,OAAO,KAAK,WAAW,OAAO,IAAI,IAAI;CACvC;AACD;AACA,SAAS,iBAAiB,OAAO,SAAS;CACzC,OAAO,IAAI,WAAW;EACrB,OAAO,MAAM;EACb,aAAa,MAAM;EACnB,aAAa,MAAM,WAAW,YAAY,MAAM;EAChD,aAAa,SAAS;EACtB,KAAK,SAAS;CACf,CAAC;AACF"}
1
+ {"version":3,"file":"terminal-ui-Cqz4LVL7-B0mcVdLy.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/terminal-ui-Cqz4LVL7.mjs"],"sourcesContent":["import { ifDefined } from \"@internal/utils/defined\";\nimport { bold, cyan, dim, green, red, yellow } from \"colorette\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport * as clack from \"@clack/prompts\";\n//#region src/utils/formatters/helpers.ts\n/**\n* Checks if verbose output is enabled at the specified level.\n*/\nfunction isVerbose(flags, level) {\n\treturn (flags.verbose ?? 0) >= level;\n}\n/**\n* Creates a color-aware formatter function.\n* Returns a function that applies the color only if colors are enabled.\n*/\nfunction createColorFormatter(useColor, colorFn) {\n\treturn useColor ? colorFn : (text) => text;\n}\n/**\n* Formats text with dim styling if colors are enabled.\n*/\nfunction formatDim(useColor, text) {\n\treturn useColor ? dim(text) : text;\n}\n//#endregion\n//#region src/utils/bin-name.ts\n/**\n* The binary this package installs. Next-action commands are authored with a\n* `{bin}` placeholder and rendered against this name, so no library-layer\n* error hardcodes it.\n*\n* `test/output.next-actions.test.ts` asserts this stays equal to the sole key\n* of the package manifest's `bin` map.\n*/\nconst BIN_NAME = \"prisma-next\";\n//#endregion\n//#region src/utils/formatters/migrations.ts\n/**\n* Render a single statement of an `OperationPreview` for the human-readable\n* preview block. SQL statements get a trailing `;` if missing so the rendered\n* preview is byte-identical to the legacy `string[]`-based renderer for SQL\n* targets. Other languages (`'mongodb-shell'`) render verbatim.\n*/\nfunction renderPreviewStatement(text, language) {\n\tconst trimmed = text.trim();\n\tif (!trimmed) return void 0;\n\tif (language === \"sql\") return trimmed.endsWith(\";\") ? trimmed : `${trimmed};`;\n\treturn trimmed;\n}\n/**\n* Choose the header label for a preview block. SQL-only previews keep the\n* legacy `DDL preview` label so the rendered output is byte-identical to the\n* pre-aggregate SQL CLI; previews from any other family — or a mix that\n* includes any non-SQL language — use the family-agnostic `Operation preview`\n* label.\n*\n* An empty `statements` array deliberately renders as `Operation preview`\n* rather than `DDL preview`: `Array.prototype.every` is vacuously true for\n* empty arrays, but we have no evidence the preview is SQL-only when no\n* statements are present, so the family-agnostic label is the safer default.\n*/\nfunction previewBlockHeader(preview) {\n\treturn preview.statements.length > 0 && preview.statements.every((s) => s.language === \"sql\") ? \"DDL preview\" : \"Operation preview\";\n}\nfunction formatPlannerWarningsBlock(warnings, useColor) {\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tconst lines = [\"\", \"Warnings:\"];\n\tfor (const warning of warnings) lines.push(` ${formatDimText(`- ${warning.summary}`)}`);\n\treturn lines;\n}\n/**\n* Render the shared per-space execution block consumed by the `db init`\n* / `db update` / `migrate` summaries. Always shows: space\n* label (`Extension space: <id>` or `App space`) → per-op lines under\n* each space → per-space marker hash (when known).\n*\n* `mode` controls the marker label phrasing — `'apply'` shows\n* `marker → <hash>` (post-apply), `'plan'` omits the marker line\n* entirely (no marker has been written yet).\n*/\nfunction formatPerSpaceBlock(perSpace, mode, useColor) {\n\tconst formatYellow = createColorFormatter(useColor, yellow);\n\tconst formatCyan = createColorFormatter(useColor, cyan);\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tconst lines = [];\n\tfor (let s = 0; s < perSpace.length; s++) {\n\t\tconst space = perSpace[s];\n\t\tif (s > 0) lines.push(\"\");\n\t\tconst header = space.kind === \"app\" ? formatCyan(\"App space\") : formatCyan(`Extension space: ${space.spaceId}`);\n\t\tlines.push(header);\n\t\tif (space.operations.length === 0) lines.push(` ${formatDimText(\"(no operations)\")}`);\n\t\telse for (let i = 0; i < space.operations.length; i++) {\n\t\t\tconst op = space.operations[i];\n\t\t\tconst treeChar = i === space.operations.length - 1 ? \"└\" : \"├\";\n\t\t\tconst destructiveMarker = op.operationClass === \"destructive\" ? ` ${formatYellow(\"(destructive)\")}` : \"\";\n\t\t\tlines.push(` ${formatDimText(treeChar)}─ ${op.label}${destructiveMarker}`);\n\t\t}\n\t\tif (mode === \"apply\" && space.marker) lines.push(` ${formatDimText(`marker: ${space.marker.storageHash}`)}`);\n\t}\n\treturn lines;\n}\n/**\n* Formats human-readable output for migration commands (db init, db update) in plan mode.\n*/\nfunction formatMigrationPlanOutput(result, flags) {\n\tif (flags.quiet) return \"\";\n\tconst lines = [];\n\tconst useColor = flags.color !== false;\n\tconst formatGreen = createColorFormatter(useColor, green);\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tconst operationCount = result.plan?.operations.length ?? 0;\n\tconst spaceCount = result.perSpace?.length ?? 0;\n\tif (spaceCount > 0) lines.push(`${formatGreen(\"✔\")} Planned ${operationCount} operation(s) across ${spaceCount} contract space${spaceCount === 1 ? \"\" : \"s\"}`);\n\telse lines.push(`${formatGreen(\"✔\")} Planned ${operationCount} operation(s)`);\n\tif (result.warnings && result.warnings.length > 0) lines.push(...formatPlannerWarningsBlock(result.warnings, useColor));\n\tconst formatYellow = createColorFormatter(useColor, yellow);\n\tif (result.perSpace && result.perSpace.length > 0) {\n\t\tlines.push(\"\");\n\t\tlines.push(...formatPerSpaceBlock(result.perSpace, \"plan\", useColor));\n\t\tif (result.perSpace.some((s) => s.operations.some((op) => op.operationClass === \"destructive\"))) {\n\t\t\tlines.push(\"\");\n\t\t\tlines.push(`${formatYellow(\"⚠\")} This migration contains destructive operations that may cause data loss.`);\n\t\t}\n\t} else if (result.plan?.operations && result.plan.operations.length > 0) {\n\t\tlines.push(`${formatDimText(\"│\")}`);\n\t\tfor (let i = 0; i < result.plan.operations.length; i++) {\n\t\t\tconst op = result.plan.operations[i];\n\t\t\tif (!op) continue;\n\t\t\tconst treeChar = i === result.plan.operations.length - 1 ? \"└\" : \"├\";\n\t\t\tconst destructiveMarker = op.operationClass === \"destructive\" ? ` ${formatYellow(\"(destructive)\")}` : \"\";\n\t\t\tlines.push(`${formatDimText(treeChar)}─ ${op.label}${destructiveMarker}`);\n\t\t}\n\t\tif (result.plan.operations.some((op) => op.operationClass === \"destructive\")) {\n\t\t\tlines.push(\"\");\n\t\t\tlines.push(`${formatYellow(\"⚠\")} This migration contains destructive operations that may cause data loss.`);\n\t\t}\n\t}\n\tif (result.plan?.destination) {\n\t\tlines.push(\"\");\n\t\tlines.push(`${formatDimText(`Destination hash: ${result.plan.destination.storageHash}`)}`);\n\t}\n\tif (result.plannedAdvanceRef) {\n\t\tlines.push(\"\");\n\t\tlines.push(formatDimText(`Would advance ref \"${result.plannedAdvanceRef.name}\" → ${result.plannedAdvanceRef.hash}`));\n\t}\n\tconst preview = result.plan?.preview;\n\tif (preview) {\n\t\tlines.push(\"\");\n\t\tlines.push(`${formatDimText(previewBlockHeader(preview))}`);\n\t\tif (preview.statements.length === 0) lines.push(`${formatDimText(\"No operations.\")}`);\n\t\telse {\n\t\t\tlines.push(\"\");\n\t\t\tfor (const statement of preview.statements) {\n\t\t\t\tconst rendered = renderPreviewStatement(statement.text, statement.language);\n\t\t\t\tif (rendered) lines.push(rendered);\n\t\t\t}\n\t\t}\n\t}\n\tif (isVerbose(flags, 1)) lines.push(`${formatDimText(`Total time: ${result.timings.total}ms`)}`);\n\tlines.push(\"\");\n\tlines.push(`${formatDimText(\"This is a dry run. No changes were applied.\")}`);\n\tlines.push(`${formatDimText(\"Run without --dry-run to apply changes.\")}`);\n\treturn lines.join(\"\\n\");\n}\nfunction formatMigrationApplyCommandOutput(result, flags) {\n\tif (flags.quiet) return \"\";\n\tconst lines = [];\n\tconst useColor = flags.color !== false;\n\tconst formatGreen = createColorFormatter(useColor, green);\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tlines.push(`${formatGreen(\"✔\")} ${result.summary}`);\n\tif (result.perSpace.length > 0) {\n\t\tlines.push(\"\");\n\t\tfor (const line of formatPerSpaceBlock(result.perSpace, \"apply\", useColor)) lines.push(line);\n\t}\n\tif (result.advancedRef) {\n\t\tlines.push(\"\");\n\t\tlines.push(formatDimText(`Advanced ref \"${result.advancedRef.name}\" → ${result.advancedRef.hash}`));\n\t}\n\tlines.push(\"\");\n\tlines.push(formatDimText(\"Next: prisma-next migration status\"));\n\tif (isVerbose(flags, 1) && result.timings) {\n\t\tlines.push(\"\");\n\t\tlines.push(formatDimText(`Total time: ${result.timings.total}ms`));\n\t}\n\treturn lines.join(\"\\n\");\n}\nfunction formatSpaceShowBlock(space, useColor) {\n\tconst formatGreen = createColorFormatter(useColor, green);\n\tconst formatYellow = createColorFormatter(useColor, yellow);\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tconst lines = [];\n\tlines.push(`${formatGreen(\"✔\")} ${space.name}`);\n\tlines.push(`${formatDimText(` from: ${space.fromContract ?? \"(baseline)\"}`)}`);\n\tlines.push(`${formatDimText(` to: ${space.toContract}`)}`);\n\tlines.push(`${formatDimText(` hash: ${space.hash}`)}`);\n\tlines.push(`${formatDimText(` created: ${space.createdAt}`)}`);\n\tlines.push(\"\");\n\tlines.push(`${space.operations.length} operation(s)`);\n\tif (space.operations.length > 0) {\n\t\tlines.push(`${formatDimText(\"│\")}`);\n\t\tfor (let i = 0; i < space.operations.length; i++) {\n\t\t\tconst op = space.operations[i];\n\t\t\tconst treeChar = i === space.operations.length - 1 ? \"└\" : \"├\";\n\t\t\tconst destructiveMarker = op.operationClass === \"destructive\" ? ` ${formatYellow(\"(destructive)\")}` : \"\";\n\t\t\tlines.push(`${formatDimText(treeChar)}─ ${op.label}${destructiveMarker}`);\n\t\t}\n\t\tif (space.operations.some((op) => op.operationClass === \"destructive\")) {\n\t\t\tlines.push(\"\");\n\t\t\tlines.push(`${formatYellow(\"⚠\")} This migration contains destructive operations that may cause data loss.`);\n\t\t}\n\t}\n\tif (space.preview.statements.length > 0) {\n\t\tlines.push(\"\");\n\t\tlines.push(`${formatDimText(previewBlockHeader(space.preview))}`);\n\t\tlines.push(\"\");\n\t\tfor (const statement of space.preview.statements) {\n\t\t\tconst rendered = renderPreviewStatement(statement.text, statement.language);\n\t\t\tif (rendered) lines.push(rendered);\n\t\t}\n\t}\n\treturn lines;\n}\nfunction formatMigrationShowOutput(result, flags) {\n\tif (flags.quiet) return \"\";\n\tconst useColor = flags.color !== false;\n\treturn formatSpaceShowBlock(result.migration, useColor).join(\"\\n\");\n}\n/**\n* Formats human-readable output for migration commands (db init, db update) in apply mode.\n*/\nfunction formatMigrationApplyOutput(result, flags) {\n\tif (flags.quiet) return \"\";\n\tconst lines = [];\n\tconst useColor = flags.color !== false;\n\tconst formatGreen = createColorFormatter(useColor, green);\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tif (result.ok) {\n\t\tconst executed = result.execution?.operationsExecuted ?? 0;\n\t\tconst spaceCount = result.perSpace?.length ?? 0;\n\t\tif (executed === 0) {\n\t\t\tconst acrossClause = spaceCount > 0 ? ` across ${spaceCount} contract space${spaceCount === 1 ? \"\" : \"s\"}` : \"\";\n\t\t\tlines.push(`${formatGreen(\"✔\")} Database already matches contract${acrossClause}`);\n\t\t} else if (spaceCount > 0) lines.push(`${formatGreen(\"✔\")} Applied ${executed} operation(s) across ${spaceCount} contract space${spaceCount === 1 ? \"\" : \"s\"}`);\n\t\telse lines.push(`${formatGreen(\"✔\")} Applied ${executed} operation(s)`);\n\t\tif (result.warnings && result.warnings.length > 0) lines.push(...formatPlannerWarningsBlock(result.warnings, useColor));\n\t\tif (result.perSpace && result.perSpace.length > 0) {\n\t\t\tlines.push(\"\");\n\t\t\tlines.push(...formatPerSpaceBlock(result.perSpace, \"apply\", useColor));\n\t\t\tlines.push(\"\");\n\t\t\tlines.push(formatDimText(`Run 'prisma-next migration status' to confirm ${spaceCount === 1 ? \"the space is\" : \"all spaces are\"} up to date.`));\n\t\t} else if (result.marker) {\n\t\t\tlines.push(`${formatDimText(` App-space marker: ${result.marker.storageHash}`)}`);\n\t\t\tif (result.marker.profileHash) lines.push(`${formatDimText(` Profile hash: ${result.marker.profileHash}`)}`);\n\t\t}\n\t\tif (isVerbose(flags, 1)) lines.push(`${formatDimText(` Total time: ${result.timings.total}ms`)}`);\n\t\tif (result.advancedRef) lines.push(formatDimText(`Advanced ref \"${result.advancedRef.name}\" → ${result.advancedRef.hash}`));\n\t}\n\treturn lines.join(\"\\n\");\n}\n/**\n* Formats JSON output for migration commands (db init, db update).\n*/\nfunction formatMigrationJson(result) {\n\treturn JSON.stringify(result, null, 2);\n}\n//#endregion\n//#region src/utils/formatters/errors.ts\nconst BIN_PLACEHOLDER = \"{bin}\";\n/**\n* Rewrite the `{bin}` placeholder in every next-action command to `binName`.\n*\n* Library-layer error factories cannot know which binary the user invoked, so\n* they write `{bin} ref set <name> <hash>`. Every surface that renders or\n* serializes an envelope resolves the placeholder first, so a consumer only\n* ever sees a command that is runnable as written.\n*/\nfunction resolveBinPlaceholder(envelope, binName) {\n\tconst substitute = (command) => command.replaceAll(BIN_PLACEHOLDER, binName);\n\tconst resolved = envelope.nextActions.map((action) => ({\n\t\t...action,\n\t\t...ifDefined(\"command\", action.command?.replaceAll(BIN_PLACEHOLDER, binName)),\n\t\t...ifDefined(\"commands\", action.commands?.map(substitute))\n\t}));\n\treturn {\n\t\t...envelope,\n\t\tnextActions: resolved\n\t};\n}\n/**\n* The display label for a schema-diff issue in the shared error envelope,\n* derived from which sides are present: expected-only is a missing object,\n* actual-only an extra one, both a mismatch. `undefined` when the entry is not\n* a schema-diff issue (it carries neither side) so the caller can fall through\n* to its generic label.\n*/\nfunction schemaDiffIssueLabel(issue) {\n\tconst hasExpected = issue.expected !== void 0;\n\tconst hasActual = issue.actual !== void 0;\n\tif (hasExpected && hasActual) return \"mismatch\";\n\tif (hasExpected) return \"missing\";\n\tif (hasActual) return \"extra\";\n}\n/**\n* Formats error output for human-readable display.\n*/\nfunction formatErrorOutput(error, flags) {\n\tconst lines = [];\n\tconst useColor = flags.color !== false;\n\tconst formatRed = createColorFormatter(useColor, red);\n\tconst formatDimText = (text) => formatDim(useColor, text);\n\tlines.push(`${formatRed(\"✖\")} ${error.summary} (${error.code})`);\n\tif (error.why) lines.push(`${formatDimText(` Why: ${error.why}`)}`);\n\tif (error.fix) lines.push(`${formatDimText(` Fix: ${error.fix}`)}`);\n\tif (error.where?.path) {\n\t\tconst whereLine = error.where.line ? `${error.where.path}:${error.where.line}` : error.where.path;\n\t\tlines.push(`${formatDimText(` Where: ${whereLine}`)}`);\n\t}\n\tif (error.meta?.[\"conflicts\"]) {\n\t\tconst conflicts = error.meta[\"conflicts\"];\n\t\tif (conflicts.length > 0) {\n\t\t\tconst maxToShow = isVerbose(flags, 1) ? conflicts.length : Math.min(3, conflicts.length);\n\t\t\tconst header = isVerbose(flags, 1) ? \" Conflicts:\" : ` Conflicts (showing ${maxToShow} of ${conflicts.length}):`;\n\t\t\tlines.push(`${formatDimText(header)}`);\n\t\t\tfor (const conflict of conflicts.slice(0, maxToShow)) lines.push(`${formatDimText(` - [${conflict.kind}] ${conflict.summary}`)}`);\n\t\t\tif (!isVerbose(flags, 1) && conflicts.length > maxToShow) lines.push(`${formatDimText(\" Re-run with -v/--verbose to see all conflicts\")}`);\n\t\t}\n\t}\n\tif (error.meta?.[\"issues\"]) {\n\t\tconst issues = error.meta[\"issues\"];\n\t\tif (issues.length > 0) {\n\t\t\tconst maxToShow = isVerbose(flags, 1) ? issues.length : Math.min(3, issues.length);\n\t\t\tconst header = isVerbose(flags, 1) ? \" Issues:\" : ` Issues (showing ${maxToShow} of ${issues.length}):`;\n\t\t\tlines.push(`${formatDimText(header)}`);\n\t\t\tfor (const issue of issues.slice(0, maxToShow)) {\n\t\t\t\tconst label = issue.kind ?? schemaDiffIssueLabel(issue) ?? \"issue\";\n\t\t\t\tconst message = issue.message ?? issue.path?.join(\"/\") ?? \"\";\n\t\t\t\tlines.push(`${formatDimText(` - [${label}] ${message}`)}`);\n\t\t\t}\n\t\t\tif (!isVerbose(flags, 1) && issues.length > maxToShow) lines.push(`${formatDimText(\" Re-run with -v/--verbose to see all issues\")}`);\n\t\t}\n\t}\n\tif (error.docsUrl && isVerbose(flags, 1)) lines.push(formatDimText(error.docsUrl));\n\tconst plannerWarnings = error.meta?.[\"plannerWarnings\"];\n\tif (Array.isArray(plannerWarnings) && plannerWarnings.length > 0) {\n\t\tconst typedWarnings = blindCast(plannerWarnings);\n\t\tlines.push(...formatPlannerWarningsBlock(typedWarnings, useColor));\n\t}\n\tif (isVerbose(flags, 2) && error.meta) lines.push(`${formatDimText(` Meta: ${JSON.stringify(error.meta, null, 2)}`)}`);\n\treturn lines.join(\"\\n\");\n}\n/**\n* Formats error output as JSON.\n*/\nfunction formatErrorJson(error) {\n\treturn JSON.stringify(resolveBinPlaceholder(error, BIN_NAME), null, 2);\n}\n//#endregion\n//#region src/utils/glyph-mode.ts\nfunction localeString(env) {\n\treturn env[\"LC_ALL\"] ?? env[\"LC_CTYPE\"] ?? env[\"LANG\"] ?? \"\";\n}\nfunction isUtf8Locale(env) {\n\tconst locale = localeString(env);\n\tif (locale.length === 0) return false;\n\treturn /UTF-8|utf8/i.test(locale);\n}\nfunction detectGlyphMode(input) {\n\tif (!input.isTTY) return \"ascii\";\n\tif (!isUtf8Locale(input.env)) return \"ascii\";\n\treturn \"unicode\";\n}\n//#endregion\n//#region src/utils/shutdown.ts\nfunction createShutdownHandler(options) {\n\tconst exit = options?.exit ?? ((code) => process.exit(code));\n\tconst gracePeriodMs = options?.gracePeriodMs ?? 3e3;\n\tconst controller = new AbortController();\n\tlet shuttingDown = false;\n\tlet graceTimer;\n\tconst onSignal = () => {\n\t\tif (shuttingDown) {\n\t\t\texit(130);\n\t\t\treturn;\n\t\t}\n\t\tshuttingDown = true;\n\t\tcontroller.abort();\n\t\tgraceTimer = setTimeout(() => exit(130), gracePeriodMs);\n\t\tgraceTimer.unref();\n\t};\n\treturn {\n\t\tsignal: controller.signal,\n\t\tisShuttingDown: () => shuttingDown,\n\t\tonSignal,\n\t\tclearGraceTimer: () => {\n\t\t\tif (graceTimer !== void 0) {\n\t\t\t\tclearTimeout(graceTimer);\n\t\t\t\tgraceTimer = void 0;\n\t\t\t}\n\t\t}\n\t};\n}\nconst globalHandler = createShutdownHandler();\n/**\n* The global AbortSignal. Pass this to any async operation that should\n* be cancellable on Ctrl+C (e.g., DB queries, long-running emit).\n*/\nconst shutdownSignal = globalHandler.signal;\n/**\n* Installs SIGINT and SIGTERM handlers. Call once at CLI startup.\n*\n* - First signal: aborts the controller, starts a 3s grace timer.\n* - Second signal: force-exits immediately.\n*/\nlet installed = false;\nfunction installShutdownHandlers() {\n\tif (installed) return;\n\tinstalled = true;\n\tprocess.on(\"SIGINT\", globalHandler.onSignal);\n\tprocess.on(\"SIGTERM\", globalHandler.onSignal);\n}\n//#endregion\n//#region src/utils/terminal-ui.ts\n/**\n* Composable CLI output abstraction.\n*\n* Follows the Unix convention of separating data from decoration:\n* - **stdout** — data output only (`ui.output()`). This is what scripts and pipes capture.\n* - **stderr** — all decoration (spinners, logs, notes, intro/outro). Visible in terminal, invisible in pipes.\n*\n* Rules:\n* 1. All methods except `output()` and `error()` write to stderr only in interactive mode.\n* 2. `output(data)` always writes to stdout — if a command calls it, there is data to emit.\n* 3. `error()` always writes to stderr — errors matter even when piped.\n* 4. Decoration is suppressed when piped unless `--format pretty` was explicit (`forcePretty`).\n* 5. Never write data to stderr — decoration methods are for human context only.\n* 6. Never write decoration to stdout — it breaks pipes, `$(...)` captures, and `> file` redirects.\n*/\nvar TerminalUI = class TerminalUI {\n\t/**\n\t* True when stdout is a TTY (interactive terminal).\n\t* False when piped (e.g., `prisma-next db verify | jq`).\n\t*/\n\tisInteractive;\n\t/**\n\t* Whether color output is enabled.\n\t*/\n\tuseColor;\n\t/**\n\t* When true, decoration methods write even on non-TTY stdout\n\t* (explicit `--format pretty`).\n\t*/\n\tforcePretty;\n\t/**\n\t* Whether stdout is a TTY — used for migration-list graph glyph detection.\n\t*/\n\tstdoutIsTTY;\n\t/**\n\t* Process environment snapshot for locale-aware glyph detection.\n\t*/\n\tenv;\n\tstatic stderrOpts = { output: process.stderr };\n\tconstructor(options) {\n\t\tthis.isInteractive = options?.interactive ?? !!process.stdout.isTTY;\n\t\tthis.forcePretty = options?.forcePretty ?? false;\n\t\tthis.useColor = options?.color ?? (this.isInteractive || this.forcePretty);\n\t\tthis.stdoutIsTTY = options?.stdoutIsTTY ?? !!process.stdout.isTTY;\n\t\tthis.env = options?.env ?? process.env;\n\t}\n\tget isTTY() {\n\t\treturn this.stdoutIsTTY;\n\t}\n\t/**\n\t* Resolve glyph mode for migration list/tree output. `--ascii` forces ASCII;\n\t* otherwise delegates to the pure {@link detectGlyphMode} helper.\n\t*/\n\tresolveGlyphMode(forceAscii) {\n\t\tif (forceAscii) return \"ascii\";\n\t\treturn detectGlyphMode(this.glyphModeInput());\n\t}\n\tglyphModeInput() {\n\t\treturn {\n\t\t\tisTTY: this.stdoutIsTTY,\n\t\t\tenv: this.env\n\t\t};\n\t}\n\tget shouldDecorate() {\n\t\treturn this.isInteractive || this.forcePretty;\n\t}\n\t/**\n\t* Log a message line to stderr. No-op when piped unless forcePretty.\n\t*/\n\tlog(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.log.message(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Log a success message to stderr. No-op when piped unless forcePretty.\n\t*/\n\tsuccess(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.log.success(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Log a warning message to stderr. No-op when piped unless forcePretty.\n\t*/\n\twarn(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.log.warn(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Log an error message to stderr. Always writes (errors matter even in pipes).\n\t*/\n\terror(message) {\n\t\tclack.log.error(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Log an info message to stderr. No-op when piped unless forcePretty.\n\t*/\n\tinfo(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.log.info(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Log a step message to stderr. No-op when piped unless forcePretty.\n\t*/\n\tstep(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.log.step(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Display a note box on stderr. No-op when piped unless forcePretty.\n\t*/\n\tnote(message, title) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.note(message, title, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Display intro banner on stderr. No-op when piped unless forcePretty.\n\t*/\n\tintro(title) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.intro(title, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Display outro banner on stderr. No-op when piped unless forcePretty.\n\t*/\n\toutro(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tclack.outro(message, TerminalUI.stderrOpts);\n\t}\n\t/**\n\t* Create a Clack spinner on stderr with a 100ms delay threshold.\n\t* The spinner only appears if the operation takes longer than the threshold,\n\t* avoiding flicker for fast operations. Returns a no-op spinner when not decorating.\n\t*/\n\tspinner(delayMs = 100) {\n\t\tconst noop = {\n\t\t\tstart: () => {},\n\t\t\tstop: () => {},\n\t\t\tcancel: () => {},\n\t\t\terror: () => {},\n\t\t\tmessage: () => {},\n\t\t\tclear: () => {},\n\t\t\tget isCancelled() {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t};\n\t\tif (!this.shouldDecorate) return noop;\n\t\tlet inner;\n\t\tlet timer;\n\t\tlet pendingMsg;\n\t\tlet settled = false;\n\t\tconst ensureCleared = () => {\n\t\t\tif (timer !== void 0) {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\ttimer = void 0;\n\t\t\t}\n\t\t};\n\t\tconst onAbort = () => {\n\t\t\tif (!settled) {\n\t\t\t\tsettled = true;\n\t\t\t\tensureCleared();\n\t\t\t\tif (inner) inner.cancel(\"Interrupted\");\n\t\t\t}\n\t\t};\n\t\tif (!shutdownSignal.aborted) shutdownSignal.addEventListener(\"abort\", onAbort, { once: true });\n\t\treturn {\n\t\t\tstart(msg) {\n\t\t\t\tpendingMsg = msg;\n\t\t\t\ttimer = setTimeout(() => {\n\t\t\t\t\tif (!settled) {\n\t\t\t\t\t\tinner = clack.spinner(TerminalUI.stderrOpts);\n\t\t\t\t\t\tinner.start(pendingMsg);\n\t\t\t\t\t}\n\t\t\t\t}, delayMs);\n\t\t\t},\n\t\t\tstop(msg) {\n\t\t\t\tsettled = true;\n\t\t\t\tensureCleared();\n\t\t\t\tif (inner) inner.stop(msg);\n\t\t\t},\n\t\t\tcancel(msg) {\n\t\t\t\tsettled = true;\n\t\t\t\tensureCleared();\n\t\t\t\tif (inner) inner.cancel(msg);\n\t\t\t},\n\t\t\terror(msg) {\n\t\t\t\tsettled = true;\n\t\t\t\tensureCleared();\n\t\t\t\tif (inner) inner.error(msg);\n\t\t\t},\n\t\t\tmessage(msg) {\n\t\t\t\tpendingMsg = msg;\n\t\t\t\tif (inner) inner.message(msg);\n\t\t\t},\n\t\t\tclear() {\n\t\t\t\tsettled = true;\n\t\t\t\tensureCleared();\n\t\t\t\tif (inner) inner.clear();\n\t\t\t},\n\t\t\tget isCancelled() {\n\t\t\t\treturn inner?.isCancelled ?? false;\n\t\t\t}\n\t\t};\n\t}\n\t/**\n\t* Prompt for yes/no confirmation on stderr. Returns true if confirmed.\n\t* In non-interactive mode or when cancelled (Ctrl-C), returns false.\n\t*/\n\tasync confirm(message) {\n\t\tif (!this.isInteractive) return false;\n\t\tconst result = await clack.confirm({\n\t\t\tmessage,\n\t\t\t...TerminalUI.stderrOpts\n\t\t});\n\t\tif (clack.isCancel(result)) return false;\n\t\treturn result;\n\t}\n\t/**\n\t* Write a raw line to stderr. No-op when piped unless forcePretty.\n\t* Use for decoration that doesn't fit Clack's log format (e.g. styled headers).\n\t*/\n\tstderr(message) {\n\t\tif (!this.shouldDecorate) return;\n\t\tprocess.stderr.write(`${message}\\n`);\n\t}\n\t/**\n\t* Write machine-readable data to stdout.\n\t* Always writes — if a command calls output(), there is data to emit.\n\t*\n\t* This is what scripts and pipes capture: `prisma-next db verify --json | jq .ok`\n\t*/\n\toutput(data) {\n\t\tprocess.stdout.write(`${data}\\n`);\n\t}\n\tgreen(text) {\n\t\treturn this.useColor ? green(text) : text;\n\t}\n\tred(text) {\n\t\treturn this.useColor ? red(text) : text;\n\t}\n\tcyan(text) {\n\t\treturn this.useColor ? cyan(text) : text;\n\t}\n\tdim(text) {\n\t\treturn this.useColor ? dim(text) : text;\n\t}\n\tbold(text) {\n\t\treturn this.useColor ? bold(text) : text;\n\t}\n\tyellow(text) {\n\t\treturn this.useColor ? yellow(text) : text;\n\t}\n};\nfunction createTerminalUI(flags, runtime) {\n\treturn new TerminalUI({\n\t\tcolor: flags.color,\n\t\tinteractive: flags.interactive,\n\t\tforcePretty: flags.format === \"pretty\" && flags.explicitFormat,\n\t\tstdoutIsTTY: runtime?.isTTY,\n\t\tenv: runtime?.env\n\t});\n}\n//#endregion\nexport { formatMigrationApplyCommandOutput as a, formatMigrationPlanOutput as c, renderPreviewStatement as d, BIN_NAME as f, isVerbose as h, formatErrorOutput as i, formatMigrationShowOutput as l, formatDim as m, installShutdownHandlers as n, formatMigrationApplyOutput as o, createColorFormatter as p, formatErrorJson as r, formatMigrationJson as s, createTerminalUI as t, previewBlockHeader as u };\n\n//# sourceMappingURL=terminal-ui-Cqz4LVL7.mjs.map"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { i as formatDim, n as createColorFormatter, p as isVerbose } from "./terminal-ui-JJKxvT0q-CPDEJqqU.mjs";
1
+ import { i as formatDim, n as createColorFormatter, p as isVerbose } from "./terminal-ui-Cqz4LVL7-B0mcVdLy.mjs";
2
2
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
3
3
  import { issueOutcome } from "@prisma/orm-framework/components/control";
4
4
  import { bold, cyan, dim, green, magenta, red, yellow } from "colorette";
5
- //#region ../../../1-framework/3-tooling/cli/dist/verify-wUSBDQwh.mjs
5
+ //#region ../../../1-framework/3-tooling/cli/dist/verify-Cogr_Fj9.mjs
6
6
  /** Human-readable label for each outcome, prefixed onto an issue's message for display. */
7
7
  const OUTCOME_LABEL = {
8
8
  "not-found": "missing",
@@ -280,4 +280,4 @@ function formatSignJson(result) {
280
280
  //#endregion
281
281
  export { formatSignJson as a, formatVerifyOutput as c, formatSchemaVerifyOutput as i, formatIntrospectOutput as n, formatSignOutput as o, formatSchemaVerifyJson as r, formatVerifyJson as s, formatIntrospectJson as t };
282
282
 
283
- //# sourceMappingURL=verify-wUSBDQwh-Bv3NV9WG.mjs.map
283
+ //# sourceMappingURL=verify-Cogr_Fj9-D3lCWA6t.mjs.map