@prisma/orm-toolchain 8.0.0-rc.1-dev.27 → 8.0.0-rc.1-dev.29

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 (105) hide show
  1. package/dist/bin__prisma-next.mjs +24 -24
  2. package/dist/bin__prisma-next.mjs.map +1 -1
  3. package/dist/cli.d.mts +2 -2
  4. package/dist/cli.mjs +253 -89
  5. package/dist/cli.mjs.map +1 -1
  6. package/dist/cli__commands__contract-emit.mjs +1 -1
  7. package/dist/cli__commands__contract-infer.mjs +1 -1
  8. package/dist/cli__commands__db-init.mjs +1 -1
  9. package/dist/cli__commands__db-schema.mjs +1 -1
  10. package/dist/cli__commands__db-sign.mjs +1 -1
  11. package/dist/cli__commands__db-update.mjs +1 -1
  12. package/dist/cli__commands__db-verify.mjs +1 -1
  13. package/dist/cli__commands__migrate.mjs +1 -1
  14. package/dist/cli__commands__migration-check.mjs +1 -1
  15. package/dist/cli__commands__migration-graph.d.mts.map +1 -1
  16. package/dist/cli__commands__migration-graph.mjs +1 -1
  17. package/dist/cli__commands__migration-list.mjs +1 -1
  18. package/dist/cli__commands__migration-log.mjs +1 -1
  19. package/dist/cli__commands__migration-new.mjs +1 -1
  20. package/dist/cli__commands__migration-plan.mjs +1 -1
  21. package/dist/cli__commands__migration-show.mjs +1 -1
  22. package/dist/cli__commands__migration-status.mjs +1 -1
  23. package/dist/cli__commands__ref.mjs +1 -1
  24. package/dist/cli__commands__telemetry.mjs +1 -1
  25. package/dist/cli__control-api.d.mts +14 -13
  26. package/dist/cli__control-api.d.mts.map +1 -1
  27. package/dist/cli__control-api.mjs +9 -9
  28. package/dist/{client-CaIWFVnh-PVaTEvdx.mjs → client-DLPcSdv7-Cukdon0q.mjs} +3 -3
  29. package/dist/{client-CaIWFVnh-PVaTEvdx.mjs.map → client-DLPcSdv7-Cukdon0q.mjs.map} +1 -1
  30. package/dist/{command-helpers-DutQjYgy-CDfFwtAa.mjs → command-helpers-uzQbbM97-EaL4zWf5.mjs} +3 -3
  31. package/dist/{command-helpers-DutQjYgy-CDfFwtAa.mjs.map → command-helpers-uzQbbM97-EaL4zWf5.mjs.map} +1 -1
  32. package/dist/{contract-emit-BJDLPMxp-qaGmQUQr.mjs → contract-emit-D-vxAjLQ-DjSGIBvi.mjs} +4 -4
  33. package/dist/{contract-emit-BJDLPMxp-qaGmQUQr.mjs.map → contract-emit-D-vxAjLQ-DjSGIBvi.mjs.map} +1 -1
  34. package/dist/{contract-infer-B929dnCJ-KkT9frLY.mjs → contract-infer-ButdiRXM-9KdWYvza.mjs} +5 -5
  35. package/dist/{contract-infer-B929dnCJ-KkT9frLY.mjs.map → contract-infer-ButdiRXM-9KdWYvza.mjs.map} +1 -1
  36. package/dist/{contract-snapshot-resolution-D2f9kGs0-BenF4tbi.mjs → contract-snapshot-resolution-RIn-ByLW-BRTjU_01.mjs} +3 -3
  37. package/dist/{contract-snapshot-resolution-D2f9kGs0-BenF4tbi.mjs.map → contract-snapshot-resolution-RIn-ByLW-BRTjU_01.mjs.map} +1 -1
  38. package/dist/{contract-space-aggregate-loader-sF0OJ6oz-jRjdZoyZ.mjs → contract-space-aggregate-loader-Cd0X2M_C-CFBkD540.mjs} +3 -3
  39. package/dist/{contract-space-aggregate-loader-sF0OJ6oz-jRjdZoyZ.mjs.map → contract-space-aggregate-loader-Cd0X2M_C-CFBkD540.mjs.map} +1 -1
  40. package/dist/{db-init-CU_x-p2M-_6oEFLiG.mjs → db-init-BO7P4kCG-CftJygKc.mjs} +5 -5
  41. package/dist/{db-init-CU_x-p2M-_6oEFLiG.mjs.map → db-init-BO7P4kCG-CftJygKc.mjs.map} +1 -1
  42. package/dist/{db-schema-BKAn8UrM-DP4k7BAB.mjs → db-schema-6CB4Rljf-VFKrJ3VO.mjs} +6 -6
  43. package/dist/{db-schema-BKAn8UrM-DP4k7BAB.mjs.map → db-schema-6CB4Rljf-VFKrJ3VO.mjs.map} +1 -1
  44. package/dist/{db-sign-BQF-jVXg-D467Bhpj.mjs → db-sign-CkX4HXCx-B0mTmQ5a.mjs} +7 -7
  45. package/dist/{db-sign-BQF-jVXg-D467Bhpj.mjs.map → db-sign-CkX4HXCx-B0mTmQ5a.mjs.map} +1 -1
  46. package/dist/{db-update-B0_Q4ykE-CT9vcaMu.mjs → db-update-fAeM1XbT-B5XoGE92.mjs} +6 -6
  47. package/dist/{db-update-B0_Q4ykE-CT9vcaMu.mjs.map → db-update-fAeM1XbT-B5XoGE92.mjs.map} +1 -1
  48. package/dist/{db-verify-C0DJc8z6-f3gZeEMD.mjs → db-verify-_flf8M9q-BD-mhGC1.mjs} +6 -6
  49. package/dist/{db-verify-C0DJc8z6-f3gZeEMD.mjs.map → db-verify-_flf8M9q-BD-mhGC1.mjs.map} +1 -1
  50. package/dist/{format-SYdHyutg-IqXk-tDV.mjs → format-DZ7Vowat-CXVeLGp_.mjs} +4 -4
  51. package/dist/{format-SYdHyutg-IqXk-tDV.mjs.map → format-DZ7Vowat-CXVeLGp_.mjs.map} +1 -1
  52. package/dist/{init-Bw8YKgpj-CMOgQZPx.mjs → init-Cej3fMLO-BCRVDzA4.mjs} +3 -3
  53. package/dist/{init-Bw8YKgpj-CMOgQZPx.mjs.map → init-Cej3fMLO-BCRVDzA4.mjs.map} +1 -1
  54. package/dist/{inspect-live-schema-D8d7aI6a-_Q_4S5wm.mjs → inspect-live-schema-Do1dDQxw-DBSSeLrX.mjs} +4 -4
  55. package/dist/{inspect-live-schema-D8d7aI6a-_Q_4S5wm.mjs.map → inspect-live-schema-Do1dDQxw-DBSSeLrX.mjs.map} +1 -1
  56. package/dist/{invariants-TW5CizTS-BsIpi4h4.mjs → invariants-4d2LkjQL-Ch5J3Rd7.mjs} +3 -3
  57. package/dist/{invariants-TW5CizTS-BsIpi4h4.mjs.map → invariants-4d2LkjQL-Ch5J3Rd7.mjs.map} +1 -1
  58. package/dist/{migrate-vNMZJk7M-DKogRyOh.mjs → migrate-Bs4Mi3N0-BdbjoiNr.mjs} +9 -9
  59. package/dist/{migrate-vNMZJk7M-DKogRyOh.mjs.map → migrate-Bs4Mi3N0-BdbjoiNr.mjs.map} +1 -1
  60. package/dist/{migrate-show-C-fdCznr-BH88FGVn.mjs → migrate-show-BYZ_NAoY-DCyUeA4P.mjs} +5 -5
  61. package/dist/{migrate-show-C-fdCznr-BH88FGVn.mjs.map → migrate-show-BYZ_NAoY-DCyUeA4P.mjs.map} +1 -1
  62. package/dist/{migration-check-DATj3HSn-Del6ZSln.mjs → migration-check-ASAenQ02-B9a5jI8S.mjs} +6 -6
  63. package/dist/{migration-check-DATj3HSn-Del6ZSln.mjs.map → migration-check-ASAenQ02-B9a5jI8S.mjs.map} +1 -1
  64. package/dist/{migration-check-C-2GTAGq-Duc0P6Uo.mjs → migration-check-RlegqnJv-ZUcop5v4.mjs} +4 -4
  65. package/dist/{migration-check-C-2GTAGq-Duc0P6Uo.mjs.map → migration-check-RlegqnJv-ZUcop5v4.mjs.map} +1 -1
  66. package/dist/{migration-command-scaffold-BezR8GWB-BZFB2PC-.mjs → migration-command-scaffold-Bc5j_ehJ-BF4cqm9C.mjs} +4 -4
  67. package/dist/{migration-command-scaffold-BezR8GWB-BZFB2PC-.mjs.map → migration-command-scaffold-Bc5j_ehJ-BF4cqm9C.mjs.map} +1 -1
  68. package/dist/{migration-graph-B1mg_jel-HVG6FLD0.mjs → migration-graph-BYRfJ6pm-WucWOxZ8.mjs} +7 -7
  69. package/dist/{migration-graph-B1mg_jel-HVG6FLD0.mjs.map → migration-graph-BYRfJ6pm-WucWOxZ8.mjs.map} +1 -1
  70. package/dist/{migration-graph-command-render-BKrg6BPv-BP8Pfj4J.mjs → migration-graph-command-render-CgdHruiZ-B6V4gmUe.mjs} +321 -153
  71. package/dist/migration-graph-command-render-CgdHruiZ-B6V4gmUe.mjs.map +1 -0
  72. package/dist/{migration-graph-sections-BVqyqBHg-DAwWjIIf.mjs → migration-graph-sections-CceYWPCP-Bz8vmjNZ.mjs} +5 -3
  73. package/dist/migration-graph-sections-CceYWPCP-Bz8vmjNZ.mjs.map +1 -0
  74. package/dist/{migration-list-RSlyGyvD-KKmZtdY1.mjs → migration-list-ChJ4YC1Y-De7g_D3K.mjs} +6 -6
  75. package/dist/{migration-list-RSlyGyvD-KKmZtdY1.mjs.map → migration-list-ChJ4YC1Y-De7g_D3K.mjs.map} +1 -1
  76. package/dist/{migration-log-CBfOcyPC-DTqCL1cs.mjs → migration-log-W8xgEvD8-sVkmO78U.mjs} +7 -7
  77. package/dist/{migration-log-CBfOcyPC-DTqCL1cs.mjs.map → migration-log-W8xgEvD8-sVkmO78U.mjs.map} +1 -1
  78. package/dist/{migration-log-table-C0dSMG9T-BhBYrdka.mjs → migration-log-table-JR7fFVbE-DR2mom6h.mjs} +4 -4
  79. package/dist/{migration-log-table-C0dSMG9T-BhBYrdka.mjs.map → migration-log-table-JR7fFVbE-DR2mom6h.mjs.map} +1 -1
  80. package/dist/{migration-new-DcPO4tiw-Bew7S-bj.mjs → migration-new-BGI2g0SC-SUBmaeRN.mjs} +4 -4
  81. package/dist/{migration-new-DcPO4tiw-Bew7S-bj.mjs.map → migration-new-BGI2g0SC-SUBmaeRN.mjs.map} +1 -1
  82. package/dist/{migration-new-1LYliIXy-BK_Xz0Z6.mjs → migration-new-BHv-aJzG-Bj7aJDNX.mjs} +5 -5
  83. package/dist/{migration-new-1LYliIXy-BK_Xz0Z6.mjs.map → migration-new-BHv-aJzG-Bj7aJDNX.mjs.map} +1 -1
  84. package/dist/{migration-plan-B0z2Qpa5-6b1SJSsb.mjs → migration-plan-31dDf3Wj-_kWI5F9v.mjs} +5 -5
  85. package/dist/{migration-plan-B0z2Qpa5-6b1SJSsb.mjs.map → migration-plan-31dDf3Wj-_kWI5F9v.mjs.map} +1 -1
  86. package/dist/{migration-plan-Cb7s5Ifx-Bwa2O0Ov.mjs → migration-plan-B4ND_Xr3-CXfh2r_I.mjs} +4 -4
  87. package/dist/{migration-plan-Cb7s5Ifx-Bwa2O0Ov.mjs.map → migration-plan-B4ND_Xr3-CXfh2r_I.mjs.map} +1 -1
  88. package/dist/{migration-show-BRy1GVBE-NuwoczhZ.mjs → migration-show-CxT14RTs-Bpfd4_FB.mjs} +6 -6
  89. package/dist/{migration-show-BRy1GVBE-NuwoczhZ.mjs.map → migration-show-CxT14RTs-Bpfd4_FB.mjs.map} +1 -1
  90. package/dist/{migration-status-Dob4onB1-0YkQF25g.mjs → migration-status-gC9RLpz5-3uPzlkh_.mjs} +8 -8
  91. package/dist/{migration-status-Dob4onB1-0YkQF25g.mjs.map → migration-status-gC9RLpz5-3uPzlkh_.mjs.map} +1 -1
  92. package/dist/{ref-D9J4TNYz-Dk7HCAoq.mjs → ref-CbeIycGH-Da61MuYq.mjs} +4 -4
  93. package/dist/{ref-D9J4TNYz-Dk7HCAoq.mjs.map → ref-CbeIycGH-Da61MuYq.mjs.map} +1 -1
  94. package/dist/{ref-B643Z0CS-CoJgdv7h.mjs → ref-Dmj_cDrl-Cax2R649.mjs} +5 -5
  95. package/dist/{ref-B643Z0CS-CoJgdv7h.mjs.map → ref-Dmj_cDrl-Cax2R649.mjs.map} +1 -1
  96. package/dist/{telemetry-DFEbk6sD-BYEW2bCJ.mjs → telemetry-D4LZGV1f-C5BrCb0w.mjs} +4 -4
  97. package/dist/{telemetry-DFEbk6sD-BYEW2bCJ.mjs.map → telemetry-D4LZGV1f-C5BrCb0w.mjs.map} +1 -1
  98. package/dist/{terminal-ui-DQNCDg2u-B3PFqjB8.mjs → terminal-ui-CUZTa2vH-WvAtuIOS.mjs} +3 -10
  99. package/dist/terminal-ui-CUZTa2vH-WvAtuIOS.mjs.map +1 -0
  100. package/dist/{verify-TphNCyMu-h8vrnbud.mjs → verify-DGFra-rl-B5lkrUrV.mjs} +3 -3
  101. package/dist/{verify-TphNCyMu-h8vrnbud.mjs.map → verify-DGFra-rl-B5lkrUrV.mjs.map} +1 -1
  102. package/package.json +13 -13
  103. package/dist/migration-graph-command-render-BKrg6BPv-BP8Pfj4J.mjs.map +0 -1
  104. package/dist/migration-graph-sections-BVqyqBHg-DAwWjIIf.mjs.map +0 -1
  105. package/dist/terminal-ui-DQNCDg2u-B3PFqjB8.mjs.map +0 -1
@@ -1,11 +1,11 @@
1
1
  import { o as loadConfigForSections } from "./exports-BZLNbtkY.mjs";
2
2
  import { N as errorUnexpected, c as errorDatabaseConnectionRequired, t as CliStructuredError$1, u as errorDriverRequired } from "./cli-errors-CihMAEVj-C1uUYBop.mjs";
3
- import { f as maskConnectionUrl, n as closeQuietly, s as formatStyledHeader, v as sanitizeErrorMessage } from "./command-helpers-DutQjYgy-CDfFwtAa.mjs";
3
+ import { f as maskConnectionUrl, n as closeQuietly, s as formatStyledHeader, v as sanitizeErrorMessage } from "./command-helpers-uzQbbM97-EaL4zWf5.mjs";
4
4
  import { t as createProgressAdapter } from "./progress-adapter-CjAeTxY_-BXYSd1eY.mjs";
5
- import { t as createControlClient } from "./client-CaIWFVnh-PVaTEvdx.mjs";
5
+ import { t as createControlClient } from "./client-DLPcSdv7-Cukdon0q.mjs";
6
6
  import { relative, resolve } from "pathe";
7
7
  import { notOk, ok } from "@prisma/orm-framework/utils/result";
8
- //#region ../../../1-framework/3-tooling/cli/dist/inspect-live-schema-D8d7aI6a.mjs
8
+ //#region ../../../1-framework/3-tooling/cli/dist/inspect-live-schema-Do1dDQxw.mjs
9
9
  async function inspectLiveSchema(options, flags, ui, startTime, context) {
10
10
  const configResult = await loadConfigForSections(options.config, [
11
11
  "family",
@@ -92,4 +92,4 @@ async function inspectLiveSchema(options, flags, ui, startTime, context) {
92
92
  //#endregion
93
93
  export { inspectLiveSchema as t };
94
94
 
95
- //# sourceMappingURL=inspect-live-schema-D8d7aI6a-_Q_4S5wm.mjs.map
95
+ //# sourceMappingURL=inspect-live-schema-Do1dDQxw-DBSSeLrX.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspect-live-schema-D8d7aI6a-_Q_4S5wm.mjs","names":["CliStructuredError"],"sources":["../../../../1-framework/3-tooling/cli/dist/inspect-live-schema-D8d7aI6a.mjs"],"sourcesContent":["import { M as errorUnexpected, l as errorDriverRequired, s as errorDatabaseConnectionRequired, t as CliStructuredError } from \"./cli-errors-CihMAEVj.mjs\";\nimport { S as formatStyledHeader, a as maskConnectionUrl, l as sanitizeErrorMessage, n as closeQuietly } from \"./command-helpers-DutQjYgy.mjs\";\nimport { t as createProgressAdapter } from \"./progress-adapter-CjAeTxY_.mjs\";\nimport { t as createControlClient } from \"./client-CaIWFVnh.mjs\";\nimport { loadConfigForSections } from \"@internal/config-loader\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { relative, resolve } from \"pathe\";\n//#region src/commands/inspect-live-schema.ts\nasync function inspectLiveSchema(options, flags, ui, startTime, context) {\n\tconst configResult = await loadConfigForSections(options.config, [\n\t\t\"family\",\n\t\t\"target\",\n\t\t\"adapter\",\n\t\t\"driver\",\n\t\t\"extensions\",\n\t\t\"db\"\n\t]);\n\tif (!configResult.ok) return configResult;\n\tconst config = configResult.value;\n\tconst configPath = options.config ? relative(process.cwd(), resolve(options.config)) : \"prisma-next.config.ts\";\n\tif (!flags.json && !flags.quiet) {\n\t\tconst details = [{\n\t\t\tlabel: \"config\",\n\t\t\tvalue: configPath\n\t\t}];\n\t\tif (options.db) details.push({\n\t\t\tlabel: \"database\",\n\t\t\tvalue: maskConnectionUrl(options.db)\n\t\t});\n\t\telse if (config.db?.connection && typeof config.db.connection === \"string\") details.push({\n\t\t\tlabel: \"database\",\n\t\t\tvalue: maskConnectionUrl(config.db.connection)\n\t\t});\n\t\tui.stderr(formatStyledHeader({\n\t\t\tcommand: context.commandName,\n\t\t\tdescription: context.description,\n\t\t\turl: context.url,\n\t\t\tdetails,\n\t\t\tflags\n\t\t}));\n\t}\n\tconst dbConnection = options.db ?? config.db?.connection;\n\tif (!dbConnection) return notOk(errorDatabaseConnectionRequired({\n\t\twhy: `Database connection is required for ${context.commandName} (set db.connection in ${configPath}, or pass --db <url>)`,\n\t\tcommandName: context.commandName\n\t}));\n\tif (!config.driver) return notOk(errorDriverRequired({ why: `Config.driver is required for ${context.commandName}` }));\n\tconst client = createControlClient({\n\t\tfamily: config.family,\n\t\ttarget: config.target,\n\t\tadapter: config.adapter,\n\t\tdriver: config.driver,\n\t\textensions: config.extensions ?? []\n\t});\n\tconst onProgress = createProgressAdapter({\n\t\tui,\n\t\tflags\n\t});\n\ttry {\n\t\tconst schema = await client.introspect({\n\t\t\tconnection: dbConnection,\n\t\t\tonProgress\n\t\t});\n\t\tconst schemaView = client.toSchemaView(schema);\n\t\tconst pslContractAst = client.inferPslContract(schema);\n\t\tconst pslBlockDescriptors = client.getPslBlockDescriptors();\n\t\tconst dbUrl = typeof dbConnection === \"string\" ? maskConnectionUrl(dbConnection) : void 0;\n\t\treturn ok({\n\t\t\tconfig,\n\t\t\tschema,\n\t\t\tschemaView,\n\t\t\tpslContractAst,\n\t\t\tpslBlockDescriptors,\n\t\t\ttarget: {\n\t\t\t\tfamilyId: config.family.familyId,\n\t\t\t\tid: config.target.targetId\n\t\t\t},\n\t\t\tmeta: {\n\t\t\t\tconfigPath,\n\t\t\t\t...dbUrl ? { dbUrl } : {}\n\t\t\t},\n\t\t\ttimings: { total: Date.now() - startTime }\n\t\t});\n\t} catch (error) {\n\t\tif (CliStructuredError.is(error)) return notOk(error);\n\t\tconst safeMessage = sanitizeErrorMessage(error instanceof Error ? error.message : String(error), typeof dbConnection === \"string\" ? dbConnection : void 0);\n\t\treturn notOk(errorUnexpected(safeMessage, { why: `Unexpected error during ${context.commandName}: ${safeMessage}` }));\n\t} finally {\n\t\tawait closeQuietly(client);\n\t}\n}\n//#endregion\nexport { inspectLiveSchema as t };\n\n//# sourceMappingURL=inspect-live-schema-D8d7aI6a.mjs.map"],"mappings":";;;;;;;;AAQA,eAAe,kBAAkB,SAAS,OAAO,IAAI,WAAW,SAAS;CACxE,MAAM,eAAe,MAAM,sBAAsB,QAAQ,QAAQ;EAChE;EACA;EACA;EACA;EACA;EACA;CACD,CAAC;CACD,IAAI,CAAC,aAAa,IAAI,OAAO;CAC7B,MAAM,SAAS,aAAa;CAC5B,MAAM,aAAa,QAAQ,SAAS,SAAS,QAAQ,IAAI,GAAG,QAAQ,QAAQ,MAAM,CAAC,IAAI;CACvF,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,OAAO;EAChC,MAAM,UAAU,CAAC;GAChB,OAAO;GACP,OAAO;EACR,CAAC;EACD,IAAI,QAAQ,IAAI,QAAQ,KAAK;GAC5B,OAAO;GACP,OAAO,kBAAkB,QAAQ,EAAE;EACpC,CAAC;OACI,IAAI,OAAO,IAAI,cAAc,OAAO,OAAO,GAAG,eAAe,UAAU,QAAQ,KAAK;GACxF,OAAO;GACP,OAAO,kBAAkB,OAAO,GAAG,UAAU;EAC9C,CAAC;EACD,GAAG,OAAO,mBAAmB;GAC5B,SAAS,QAAQ;GACjB,aAAa,QAAQ;GACrB,KAAK,QAAQ;GACb;GACA;EACD,CAAC,CAAC;CACH;CACA,MAAM,eAAe,QAAQ,MAAM,OAAO,IAAI;CAC9C,IAAI,CAAC,cAAc,OAAO,MAAM,gCAAgC;EAC/D,KAAK,uCAAuC,QAAQ,YAAY,yBAAyB,WAAW;EACpG,aAAa,QAAQ;CACtB,CAAC,CAAC;CACF,IAAI,CAAC,OAAO,QAAQ,OAAO,MAAM,oBAAoB,EAAE,KAAK,iCAAiC,QAAQ,cAAc,CAAC,CAAC;CACrH,MAAM,SAAS,oBAAoB;EAClC,QAAQ,OAAO;EACf,QAAQ,OAAO;EACf,SAAS,OAAO;EAChB,QAAQ,OAAO;EACf,YAAY,OAAO,cAAc,CAAC;CACnC,CAAC;CACD,MAAM,aAAa,sBAAsB;EACxC;EACA;CACD,CAAC;CACD,IAAI;EACH,MAAM,SAAS,MAAM,OAAO,WAAW;GACtC,YAAY;GACZ;EACD,CAAC;EACD,MAAM,aAAa,OAAO,aAAa,MAAM;EAC7C,MAAM,iBAAiB,OAAO,iBAAiB,MAAM;EACrD,MAAM,sBAAsB,OAAO,uBAAuB;EAC1D,MAAM,QAAQ,OAAO,iBAAiB,WAAW,kBAAkB,YAAY,IAAI,KAAK;EACxF,OAAO,GAAG;GACT;GACA;GACA;GACA;GACA;GACA,QAAQ;IACP,UAAU,OAAO,OAAO;IACxB,IAAI,OAAO,OAAO;GACnB;GACA,MAAM;IACL;IACA,GAAG,QAAQ,EAAE,MAAM,IAAI,CAAC;GACzB;GACA,SAAS,EAAE,OAAO,KAAK,IAAI,IAAI,UAAU;EAC1C,CAAC;CACF,SAAS,OAAO;EACf,IAAIA,qBAAmB,GAAG,KAAK,GAAG,OAAO,MAAM,KAAK;EACpD,MAAM,cAAc,qBAAqB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GAAG,OAAO,iBAAiB,WAAW,eAAe,KAAK,CAAC;EACzJ,OAAO,MAAM,gBAAgB,aAAa,EAAE,KAAK,2BAA2B,QAAQ,YAAY,IAAI,cAAc,CAAC,CAAC;CACrH,UAAU;EACT,MAAM,aAAa,MAAM;CAC1B;AACD"}
1
+ {"version":3,"file":"inspect-live-schema-Do1dDQxw-DBSSeLrX.mjs","names":["CliStructuredError"],"sources":["../../../../1-framework/3-tooling/cli/dist/inspect-live-schema-Do1dDQxw.mjs"],"sourcesContent":["import { M as errorUnexpected, l as errorDriverRequired, s as errorDatabaseConnectionRequired, t as CliStructuredError } from \"./cli-errors-CihMAEVj.mjs\";\nimport { S as formatStyledHeader, a as maskConnectionUrl, l as sanitizeErrorMessage, n as closeQuietly } from \"./command-helpers-uzQbbM97.mjs\";\nimport { t as createProgressAdapter } from \"./progress-adapter-CjAeTxY_.mjs\";\nimport { t as createControlClient } from \"./client-DLPcSdv7.mjs\";\nimport { loadConfigForSections } from \"@internal/config-loader\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { relative, resolve } from \"pathe\";\n//#region src/commands/inspect-live-schema.ts\nasync function inspectLiveSchema(options, flags, ui, startTime, context) {\n\tconst configResult = await loadConfigForSections(options.config, [\n\t\t\"family\",\n\t\t\"target\",\n\t\t\"adapter\",\n\t\t\"driver\",\n\t\t\"extensions\",\n\t\t\"db\"\n\t]);\n\tif (!configResult.ok) return configResult;\n\tconst config = configResult.value;\n\tconst configPath = options.config ? relative(process.cwd(), resolve(options.config)) : \"prisma-next.config.ts\";\n\tif (!flags.json && !flags.quiet) {\n\t\tconst details = [{\n\t\t\tlabel: \"config\",\n\t\t\tvalue: configPath\n\t\t}];\n\t\tif (options.db) details.push({\n\t\t\tlabel: \"database\",\n\t\t\tvalue: maskConnectionUrl(options.db)\n\t\t});\n\t\telse if (config.db?.connection && typeof config.db.connection === \"string\") details.push({\n\t\t\tlabel: \"database\",\n\t\t\tvalue: maskConnectionUrl(config.db.connection)\n\t\t});\n\t\tui.stderr(formatStyledHeader({\n\t\t\tcommand: context.commandName,\n\t\t\tdescription: context.description,\n\t\t\turl: context.url,\n\t\t\tdetails,\n\t\t\tflags\n\t\t}));\n\t}\n\tconst dbConnection = options.db ?? config.db?.connection;\n\tif (!dbConnection) return notOk(errorDatabaseConnectionRequired({\n\t\twhy: `Database connection is required for ${context.commandName} (set db.connection in ${configPath}, or pass --db <url>)`,\n\t\tcommandName: context.commandName\n\t}));\n\tif (!config.driver) return notOk(errorDriverRequired({ why: `Config.driver is required for ${context.commandName}` }));\n\tconst client = createControlClient({\n\t\tfamily: config.family,\n\t\ttarget: config.target,\n\t\tadapter: config.adapter,\n\t\tdriver: config.driver,\n\t\textensions: config.extensions ?? []\n\t});\n\tconst onProgress = createProgressAdapter({\n\t\tui,\n\t\tflags\n\t});\n\ttry {\n\t\tconst schema = await client.introspect({\n\t\t\tconnection: dbConnection,\n\t\t\tonProgress\n\t\t});\n\t\tconst schemaView = client.toSchemaView(schema);\n\t\tconst pslContractAst = client.inferPslContract(schema);\n\t\tconst pslBlockDescriptors = client.getPslBlockDescriptors();\n\t\tconst dbUrl = typeof dbConnection === \"string\" ? maskConnectionUrl(dbConnection) : void 0;\n\t\treturn ok({\n\t\t\tconfig,\n\t\t\tschema,\n\t\t\tschemaView,\n\t\t\tpslContractAst,\n\t\t\tpslBlockDescriptors,\n\t\t\ttarget: {\n\t\t\t\tfamilyId: config.family.familyId,\n\t\t\t\tid: config.target.targetId\n\t\t\t},\n\t\t\tmeta: {\n\t\t\t\tconfigPath,\n\t\t\t\t...dbUrl ? { dbUrl } : {}\n\t\t\t},\n\t\t\ttimings: { total: Date.now() - startTime }\n\t\t});\n\t} catch (error) {\n\t\tif (CliStructuredError.is(error)) return notOk(error);\n\t\tconst safeMessage = sanitizeErrorMessage(error instanceof Error ? error.message : String(error), typeof dbConnection === \"string\" ? dbConnection : void 0);\n\t\treturn notOk(errorUnexpected(safeMessage, { why: `Unexpected error during ${context.commandName}: ${safeMessage}` }));\n\t} finally {\n\t\tawait closeQuietly(client);\n\t}\n}\n//#endregion\nexport { inspectLiveSchema as t };\n\n//# sourceMappingURL=inspect-live-schema-Do1dDQxw.mjs.map"],"mappings":";;;;;;;;AAQA,eAAe,kBAAkB,SAAS,OAAO,IAAI,WAAW,SAAS;CACxE,MAAM,eAAe,MAAM,sBAAsB,QAAQ,QAAQ;EAChE;EACA;EACA;EACA;EACA;EACA;CACD,CAAC;CACD,IAAI,CAAC,aAAa,IAAI,OAAO;CAC7B,MAAM,SAAS,aAAa;CAC5B,MAAM,aAAa,QAAQ,SAAS,SAAS,QAAQ,IAAI,GAAG,QAAQ,QAAQ,MAAM,CAAC,IAAI;CACvF,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,OAAO;EAChC,MAAM,UAAU,CAAC;GAChB,OAAO;GACP,OAAO;EACR,CAAC;EACD,IAAI,QAAQ,IAAI,QAAQ,KAAK;GAC5B,OAAO;GACP,OAAO,kBAAkB,QAAQ,EAAE;EACpC,CAAC;OACI,IAAI,OAAO,IAAI,cAAc,OAAO,OAAO,GAAG,eAAe,UAAU,QAAQ,KAAK;GACxF,OAAO;GACP,OAAO,kBAAkB,OAAO,GAAG,UAAU;EAC9C,CAAC;EACD,GAAG,OAAO,mBAAmB;GAC5B,SAAS,QAAQ;GACjB,aAAa,QAAQ;GACrB,KAAK,QAAQ;GACb;GACA;EACD,CAAC,CAAC;CACH;CACA,MAAM,eAAe,QAAQ,MAAM,OAAO,IAAI;CAC9C,IAAI,CAAC,cAAc,OAAO,MAAM,gCAAgC;EAC/D,KAAK,uCAAuC,QAAQ,YAAY,yBAAyB,WAAW;EACpG,aAAa,QAAQ;CACtB,CAAC,CAAC;CACF,IAAI,CAAC,OAAO,QAAQ,OAAO,MAAM,oBAAoB,EAAE,KAAK,iCAAiC,QAAQ,cAAc,CAAC,CAAC;CACrH,MAAM,SAAS,oBAAoB;EAClC,QAAQ,OAAO;EACf,QAAQ,OAAO;EACf,SAAS,OAAO;EAChB,QAAQ,OAAO;EACf,YAAY,OAAO,cAAc,CAAC;CACnC,CAAC;CACD,MAAM,aAAa,sBAAsB;EACxC;EACA;CACD,CAAC;CACD,IAAI;EACH,MAAM,SAAS,MAAM,OAAO,WAAW;GACtC,YAAY;GACZ;EACD,CAAC;EACD,MAAM,aAAa,OAAO,aAAa,MAAM;EAC7C,MAAM,iBAAiB,OAAO,iBAAiB,MAAM;EACrD,MAAM,sBAAsB,OAAO,uBAAuB;EAC1D,MAAM,QAAQ,OAAO,iBAAiB,WAAW,kBAAkB,YAAY,IAAI,KAAK;EACxF,OAAO,GAAG;GACT;GACA;GACA;GACA;GACA;GACA,QAAQ;IACP,UAAU,OAAO,OAAO;IACxB,IAAI,OAAO,OAAO;GACnB;GACA,MAAM;IACL;IACA,GAAG,QAAQ,EAAE,MAAM,IAAI,CAAC;GACzB;GACA,SAAS,EAAE,OAAO,KAAK,IAAI,IAAI,UAAU;EAC1C,CAAC;CACF,SAAS,OAAO;EACf,IAAIA,qBAAmB,GAAG,KAAK,GAAG,OAAO,MAAM,KAAK;EACpD,MAAM,cAAc,qBAAqB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GAAG,OAAO,iBAAiB,WAAW,eAAe,KAAK,CAAC;EACzJ,OAAO,MAAM,gBAAgB,aAAa,EAAE,KAAK,2BAA2B,QAAQ,YAAY,IAAI,cAAc,CAAC,CAAC;CACrH,UAAU;EACT,MAAM,aAAa,MAAM;CAC1B;AACD"}
@@ -1,10 +1,10 @@
1
1
  import { g as errorMarkerMismatch } from "./cli-errors-CihMAEVj-C1uUYBop.mjs";
2
2
  import { O as errorNoInvariantPath, P as errorUnknownInvariant } from "./errors-Co-8oaiB-CB-6Uqki.mjs";
3
3
  import { a as findPath, o as findPathWithDecision, r as findLatestMigration } from "./migration-graph-DDaOHo10-yJFAbKCu.mjs";
4
- import { C as toStructuralEdge, r as collectDeclaredInvariants } from "./command-helpers-DutQjYgy-CDfFwtAa.mjs";
4
+ import { C as toStructuralEdge, r as collectDeclaredInvariants } from "./command-helpers-uzQbbM97-EaL4zWf5.mjs";
5
5
  import { n as isGraphNode } from "./graph-membership-BEmNEMtP-rz61CLM5.mjs";
6
6
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
7
- //#region ../../../1-framework/3-tooling/cli/dist/invariants-TW5CizTS.mjs
7
+ //#region ../../../1-framework/3-tooling/cli/dist/invariants-4d2LkjQL.mjs
8
8
  /** True when the on-disk graph contains a path fromHash → toHash. */
9
9
  function hasMigrationPath(graph, fromHash, toHash) {
10
10
  return findPath(graph, fromHash, toHash) !== null;
@@ -50,4 +50,4 @@ function refuseMissingInvariantPath(args) {
50
50
  //#endregion
51
51
  export { refuseUnknownInvariants as i, refuseMarkerOutsideGraph as n, refuseMissingInvariantPath as r, hasMigrationPath as t };
52
52
 
53
- //# sourceMappingURL=invariants-TW5CizTS-BsIpi4h4.mjs.map
53
+ //# sourceMappingURL=invariants-4d2LkjQL-Ch5J3Rd7.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"invariants-TW5CizTS-BsIpi4h4.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/invariants-TW5CizTS.mjs"],"sourcesContent":["import { h as errorMarkerMismatch } from \"./cli-errors-CihMAEVj.mjs\";\nimport { m as toStructuralEdge, r as collectDeclaredInvariants } from \"./command-helpers-DutQjYgy.mjs\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { errorNoInvariantPath, errorUnknownInvariant } from \"@internal/migration-tools/errors\";\nimport { findLatestMigration, findPath, findPathWithDecision, isGraphNode } from \"@internal/migration-tools/migration-graph\";\n//#region src/control-api/operations/graph-queries.ts\n/** True when the on-disk graph contains a path fromHash → toHash. */\nfunction hasMigrationPath(graph, fromHash, toHash) {\n\treturn findPath(graph, fromHash, toHash) !== null;\n}\n/**\n* Refusal for a live marker hash that is not a node of the on-disk app graph.\n* Same errorMarkerMismatch envelope migrate raises today, or null when the marker is a node.\n*/\nfunction refuseMarkerOutsideGraph(args) {\n\tif (isGraphNode(args.markerHash, args.graph)) return null;\n\treturn errorMarkerMismatch(args.markerHash, [...args.graph.nodes].sort(), findLatestMigration(args.graph)?.to ?? null);\n}\n//#endregion\n//#region src/control-api/operations/invariants.ts\n/**\n* Invariant refusals shared by migrate and migration status: unknown ref invariants and unsatisfiable invariant paths.\n*/\n/** Refuses ref invariants neither declared on any graph edge nor present on the live marker. */\nfunction refuseUnknownInvariants(args) {\n\tconst declared = collectDeclaredInvariants(args.graph);\n\tconst known = new Set(declared);\n\tfor (const id of args.markerInvariants) known.add(id);\n\tconst unknown = args.refInvariants.filter((id) => !known.has(id));\n\tif (unknown.length === 0) return null;\n\treturn errorUnknownInvariant({\n\t\t...ifDefined(\"refName\", args.refName),\n\t\tunknown,\n\t\tdeclared: [...declared].sort()\n\t});\n}\n/** Refuses a --to target whose missing invariants no path from originHash satisfies. */\nfunction refuseMissingInvariantPath(args) {\n\tconst outcome = findPathWithDecision(args.graph, args.originHash, args.targetHash, {\n\t\t...ifDefined(\"refName\", args.refName),\n\t\trequired: new Set(args.missing)\n\t});\n\tif (outcome.kind !== \"unsatisfiable\") return null;\n\treturn errorNoInvariantPath({\n\t\t...ifDefined(\"refName\", args.refName),\n\t\trequired: [...args.missing].sort(),\n\t\tmissing: outcome.missing,\n\t\tstructuralPath: outcome.structuralPath.map(toStructuralEdge)\n\t});\n}\n//#endregion\nexport { refuseMarkerOutsideGraph as i, refuseUnknownInvariants as n, hasMigrationPath as r, refuseMissingInvariantPath as t };\n\n//# sourceMappingURL=invariants-TW5CizTS.mjs.map"],"mappings":";;;;;;;;AAOA,SAAS,iBAAiB,OAAO,UAAU,QAAQ;CAClD,OAAO,SAAS,OAAO,UAAU,MAAM,MAAM;AAC9C;;;;;AAKA,SAAS,yBAAyB,MAAM;CACvC,IAAI,YAAY,KAAK,YAAY,KAAK,KAAK,GAAG,OAAO;CACrD,OAAO,oBAAoB,KAAK,YAAY,CAAC,GAAG,KAAK,MAAM,KAAK,CAAC,CAAC,KAAK,GAAG,oBAAoB,KAAK,KAAK,CAAC,EAAE,MAAM,IAAI;AACtH;;;;;AAOA,SAAS,wBAAwB,MAAM;CACtC,MAAM,WAAW,0BAA0B,KAAK,KAAK;CACrD,MAAM,QAAQ,IAAI,IAAI,QAAQ;CAC9B,KAAK,MAAM,MAAM,KAAK,kBAAkB,MAAM,IAAI,EAAE;CACpD,MAAM,UAAU,KAAK,cAAc,QAAQ,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;CAChE,IAAI,QAAQ,WAAW,GAAG,OAAO;CACjC,OAAO,sBAAsB;EAC5B,GAAG,UAAU,WAAW,KAAK,OAAO;EACpC;EACA,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,KAAK;CAC9B,CAAC;AACF;;AAEA,SAAS,2BAA2B,MAAM;CACzC,MAAM,UAAU,qBAAqB,KAAK,OAAO,KAAK,YAAY,KAAK,YAAY;EAClF,GAAG,UAAU,WAAW,KAAK,OAAO;EACpC,UAAU,IAAI,IAAI,KAAK,OAAO;CAC/B,CAAC;CACD,IAAI,QAAQ,SAAS,iBAAiB,OAAO;CAC7C,OAAO,qBAAqB;EAC3B,GAAG,UAAU,WAAW,KAAK,OAAO;EACpC,UAAU,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,KAAK;EACjC,SAAS,QAAQ;EACjB,gBAAgB,QAAQ,eAAe,IAAI,gBAAgB;CAC5D,CAAC;AACF"}
1
+ {"version":3,"file":"invariants-4d2LkjQL-Ch5J3Rd7.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/invariants-4d2LkjQL.mjs"],"sourcesContent":["import { h as errorMarkerMismatch } from \"./cli-errors-CihMAEVj.mjs\";\nimport { m as toStructuralEdge, r as collectDeclaredInvariants } from \"./command-helpers-uzQbbM97.mjs\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { errorNoInvariantPath, errorUnknownInvariant } from \"@internal/migration-tools/errors\";\nimport { findLatestMigration, findPath, findPathWithDecision, isGraphNode } from \"@internal/migration-tools/migration-graph\";\n//#region src/control-api/operations/graph-queries.ts\n/** True when the on-disk graph contains a path fromHash → toHash. */\nfunction hasMigrationPath(graph, fromHash, toHash) {\n\treturn findPath(graph, fromHash, toHash) !== null;\n}\n/**\n* Refusal for a live marker hash that is not a node of the on-disk app graph.\n* Same errorMarkerMismatch envelope migrate raises today, or null when the marker is a node.\n*/\nfunction refuseMarkerOutsideGraph(args) {\n\tif (isGraphNode(args.markerHash, args.graph)) return null;\n\treturn errorMarkerMismatch(args.markerHash, [...args.graph.nodes].sort(), findLatestMigration(args.graph)?.to ?? null);\n}\n//#endregion\n//#region src/control-api/operations/invariants.ts\n/**\n* Invariant refusals shared by migrate and migration status: unknown ref invariants and unsatisfiable invariant paths.\n*/\n/** Refuses ref invariants neither declared on any graph edge nor present on the live marker. */\nfunction refuseUnknownInvariants(args) {\n\tconst declared = collectDeclaredInvariants(args.graph);\n\tconst known = new Set(declared);\n\tfor (const id of args.markerInvariants) known.add(id);\n\tconst unknown = args.refInvariants.filter((id) => !known.has(id));\n\tif (unknown.length === 0) return null;\n\treturn errorUnknownInvariant({\n\t\t...ifDefined(\"refName\", args.refName),\n\t\tunknown,\n\t\tdeclared: [...declared].sort()\n\t});\n}\n/** Refuses a --to target whose missing invariants no path from originHash satisfies. */\nfunction refuseMissingInvariantPath(args) {\n\tconst outcome = findPathWithDecision(args.graph, args.originHash, args.targetHash, {\n\t\t...ifDefined(\"refName\", args.refName),\n\t\trequired: new Set(args.missing)\n\t});\n\tif (outcome.kind !== \"unsatisfiable\") return null;\n\treturn errorNoInvariantPath({\n\t\t...ifDefined(\"refName\", args.refName),\n\t\trequired: [...args.missing].sort(),\n\t\tmissing: outcome.missing,\n\t\tstructuralPath: outcome.structuralPath.map(toStructuralEdge)\n\t});\n}\n//#endregion\nexport { refuseMarkerOutsideGraph as i, refuseUnknownInvariants as n, hasMigrationPath as r, refuseMissingInvariantPath as t };\n\n//# sourceMappingURL=invariants-4d2LkjQL.mjs.map"],"mappings":";;;;;;;;AAOA,SAAS,iBAAiB,OAAO,UAAU,QAAQ;CAClD,OAAO,SAAS,OAAO,UAAU,MAAM,MAAM;AAC9C;;;;;AAKA,SAAS,yBAAyB,MAAM;CACvC,IAAI,YAAY,KAAK,YAAY,KAAK,KAAK,GAAG,OAAO;CACrD,OAAO,oBAAoB,KAAK,YAAY,CAAC,GAAG,KAAK,MAAM,KAAK,CAAC,CAAC,KAAK,GAAG,oBAAoB,KAAK,KAAK,CAAC,EAAE,MAAM,IAAI;AACtH;;;;;AAOA,SAAS,wBAAwB,MAAM;CACtC,MAAM,WAAW,0BAA0B,KAAK,KAAK;CACrD,MAAM,QAAQ,IAAI,IAAI,QAAQ;CAC9B,KAAK,MAAM,MAAM,KAAK,kBAAkB,MAAM,IAAI,EAAE;CACpD,MAAM,UAAU,KAAK,cAAc,QAAQ,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;CAChE,IAAI,QAAQ,WAAW,GAAG,OAAO;CACjC,OAAO,sBAAsB;EAC5B,GAAG,UAAU,WAAW,KAAK,OAAO;EACpC;EACA,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,KAAK;CAC9B,CAAC;AACF;;AAEA,SAAS,2BAA2B,MAAM;CACzC,MAAM,UAAU,qBAAqB,KAAK,OAAO,KAAK,YAAY,KAAK,YAAY;EAClF,GAAG,UAAU,WAAW,KAAK,OAAO;EACpC,UAAU,IAAI,IAAI,KAAK,OAAO;CAC/B,CAAC;CACD,IAAI,QAAQ,SAAS,iBAAiB,OAAO;CAC7C,OAAO,qBAAqB;EAC3B,GAAG,UAAU,WAAW,KAAK,OAAO;EACpC,UAAU,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,KAAK;EACjC,SAAS,QAAQ;EACjB,gBAAgB,QAAQ,eAAe,IAAI,gBAAgB;CAC5D,CAAC;AACF"}
@@ -1,23 +1,23 @@
1
1
  import { o as loadConfigForSections } from "./exports-BZLNbtkY.mjs";
2
2
  import { D as errorRunnerFailed, N as errorUnexpected, S as errorPathUnreachable, c as errorDatabaseConnectionRequired, d as errorFileNotFound, j as errorTargetMigrationNotSupported, s as errorContractValidationFailed, u as errorDriverRequired } from "./cli-errors-CihMAEVj-C1uUYBop.mjs";
3
- import { n as createTerminalUI, o as formatMigrationApplyCommandOutput } from "./terminal-ui-DQNCDg2u-B3PFqjB8.mjs";
4
- import { S as targetSupportsMigrations, _ as resolveMigrationPaths, b as setCommandExamples, f as maskConnectionUrl, g as resolveContractPath, m as parseGlobalFlagsOrExit, n as closeQuietly, s as formatStyledHeader, t as addGlobalOptions, u as handleResult, y as setCommandDescriptions } from "./command-helpers-DutQjYgy-CDfFwtAa.mjs";
5
- import { a as loadContractSpaceAggregateForCli, s as refuseContractSpaceIntegrity, u as toDeclaredExtensionsFromRaw } from "./contract-space-aggregate-loader-sF0OJ6oz-jRjdZoyZ.mjs";
6
- import { t as createControlClient } from "./client-CaIWFVnh-PVaTEvdx.mjs";
3
+ import { n as createTerminalUI, o as formatMigrationApplyCommandOutput } from "./terminal-ui-CUZTa2vH-WvAtuIOS.mjs";
4
+ import { S as targetSupportsMigrations, _ as resolveMigrationPaths, b as setCommandExamples, f as maskConnectionUrl, g as resolveContractPath, m as parseGlobalFlagsOrExit, n as closeQuietly, s as formatStyledHeader, t as addGlobalOptions, u as handleResult, y as setCommandDescriptions } from "./command-helpers-uzQbbM97-EaL4zWf5.mjs";
5
+ import { a as loadContractSpaceAggregateForCli, s as refuseContractSpaceIntegrity, u as toDeclaredExtensionsFromRaw } from "./contract-space-aggregate-loader-Cd0X2M_C-CFBkD540.mjs";
6
+ import { t as createControlClient } from "./client-DLPcSdv7-Cukdon0q.mjs";
7
7
  import { t as mapCaughtMigrationError } from "./caught-errors-B_oGFiYw-BqX49eW0.mjs";
8
8
  import { t as listRefsByContractHash } from "./migration-list-AKRIIovW-Cr39jOaI.mjs";
9
9
  import { t as resolveContractRef } from "./ref-resolution-Bi4lpxM8-BX-7sl0f.mjs";
10
- import { c as computeMaxDirNameWidth, d as highlightFromEdgeAnnotations, f as indentMigrationGraphTreeBlock, h as renderMigrationGraphCommand, i as buildMigrationGraphRows, r as buildGrid, s as computeLabelColumn, u as formatOnPathMigrationRow } from "./migration-graph-command-render-BKrg6BPv-BP8Pfj4J.mjs";
10
+ import { _ as renderMigrationGraphCommand, a as buildMigrationGraphRows, c as computeLabelColumn, f as formatOnPathMigrationRow, i as buildGrid, l as computeMaxDirNameWidth, m as indentMigrationGraphTreeBlock, p as highlightFromEdgeAnnotations } from "./migration-graph-command-render-CgdHruiZ-B6V4gmUe.mjs";
11
11
  import { a as readContractIR, t as advanceRefSafely } from "./ref-advancement-DaZBzm7m-Deq5Cs7O.mjs";
12
12
  import { t as mapContractAtError } from "./contract-at-errors-BsQiGdZC-BY8u2is4.mjs";
13
- import { i as refuseUnknownInvariants, n as refuseMarkerOutsideGraph } from "./invariants-TW5CizTS-BsIpi4h4.mjs";
14
- import { t as executeMigrateShowPlan } from "./migrate-show-C-fdCznr-BH88FGVn.mjs";
13
+ import { i as refuseUnknownInvariants, n as refuseMarkerOutsideGraph } from "./invariants-4d2LkjQL-Ch5J3Rd7.mjs";
14
+ import { t as executeMigrateShowPlan } from "./migrate-show-BYZ_NAoY-DCyUeA4P.mjs";
15
15
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
16
16
  import { readFile } from "node:fs/promises";
17
17
  import { createControlStack } from "@prisma/orm-framework/components/control";
18
18
  import { notOk, ok } from "@prisma/orm-framework/utils/result";
19
19
  import { Command } from "commander";
20
- //#region ../../../1-framework/3-tooling/cli/dist/migrate-vNMZJk7M.mjs
20
+ //#region ../../../1-framework/3-tooling/cli/dist/migrate-Bs4Mi3N0.mjs
21
21
  /**
22
22
  * Read-only preview of the migration path `migrate` will take. Delegates the
23
23
  * path computation to {@link executeMigrateShowPlan} (the control-api core)
@@ -387,4 +387,4 @@ function createMigrateCommand() {
387
387
  //#endregion
388
388
  export { createMigrateCommand as t };
389
389
 
390
- //# sourceMappingURL=migrate-vNMZJk7M-DKogRyOh.mjs.map
390
+ //# sourceMappingURL=migrate-Bs4Mi3N0-BdbjoiNr.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-vNMZJk7M-DKogRyOh.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/migrate-vNMZJk7M.mjs"],"sourcesContent":["import { A as errorTargetMigrationNotSupported, E as errorRunnerFailed, M as errorUnexpected, l as errorDriverRequired, o as errorContractValidationFailed, s as errorDatabaseConnectionRequired, u as errorFileNotFound, x as errorPathUnreachable } from \"./cli-errors-CihMAEVj.mjs\";\nimport { a as formatMigrationApplyCommandOutput, t as createTerminalUI } from \"./terminal-ui-DQNCDg2u.mjs\";\nimport { S as formatStyledHeader, _ as parseGlobalFlagsOrExit, a as maskConnectionUrl, c as resolveMigrationPaths, d as setCommandExamples, n as closeQuietly, p as targetSupportsMigrations, s as resolveContractPath, t as addGlobalOptions, u as setCommandDescriptions, v as handleResult } from \"./command-helpers-DutQjYgy.mjs\";\nimport { a as loadContractSpaceAggregateForCli, s as refuseContractSpaceIntegrity, u as toDeclaredExtensionsFromRaw } from \"./contract-space-aggregate-loader-sF0OJ6oz.mjs\";\nimport { t as createControlClient } from \"./client-CaIWFVnh.mjs\";\nimport { a as readContractIR, t as advanceRefSafely } from \"./ref-advancement-DaZBzm7m.mjs\";\nimport { t as mapCaughtMigrationError } from \"./caught-errors-B_oGFiYw.mjs\";\nimport { t as mapContractAtError } from \"./contract-at-errors-BsQiGdZC.mjs\";\nimport { i as refuseMarkerOutsideGraph, n as refuseUnknownInvariants } from \"./invariants-TW5CizTS.mjs\";\nimport { t as executeMigrateShowPlan } from \"./migrate-show-C-fdCznr.mjs\";\nimport { t as listRefsByContractHash } from \"./migration-list-AKRIIovW.mjs\";\nimport { t as resolveContractRef } from \"./ref-resolution-Bi4lpxM8.mjs\";\nimport { d as highlightFromEdgeAnnotations, f as indentMigrationGraphTreeBlock, h as buildGrid, i as formatOnPathMigrationRow, m as buildMigrationGraphRows, n as computeMaxDirNameWidth, r as renderMigrationGraphCommand, t as computeLabelColumn } from \"./migration-graph-command-render-BKrg6BPv.mjs\";\nimport { Command } from \"commander\";\nimport { loadConfigForSections } from \"@internal/config-loader\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { readFile } from \"node:fs/promises\";\nimport { createControlStack } from \"@internal/framework-components/control\";\n//#region src/commands/migrate.ts\n/**\n* Read-only preview of the migration path `migrate` will take. Delegates the\n* path computation to {@link executeMigrateShowPlan} (the control-api core)\n* and keeps only the styled header plus the Tier-3 graph rendering here.\n*/\nasync function executeMigrateShowCommand(options, flags, ui) {\n\tconst readsLiveMarker = options.from === void 0 || options.from === \"@db\";\n\tconst configResult = await loadConfigForSections(options.config, [\n\t\t\"family\",\n\t\t\"target\",\n\t\t\"adapter\",\n\t\t...readsLiveMarker ? [\"driver\"] : [],\n\t\t\"extensions\",\n\t\t\"db\",\n\t\t\"migrations\",\n\t\t\"contract\"\n\t]);\n\tif (!configResult.ok) return configResult;\n\tconst planResult = await executeMigrateShowPlan({\n\t\tconfig: configResult.value,\n\t\tcwd: process.cwd(),\n\t\t...ifDefined(\"configPath\", options.config),\n\t\t...ifDefined(\"db\", options.db),\n\t\t...ifDefined(\"to\", options.to),\n\t\t...ifDefined(\"from\", options.from),\n\t\tonPreflightComplete: ({ configPath, migrationsRelative, dbConnection, hasExplicitFrom }) => {\n\t\t\tif (!flags.json && !flags.quiet) {\n\t\t\t\tconst details = [{\n\t\t\t\t\tlabel: \"config\",\n\t\t\t\t\tvalue: configPath\n\t\t\t\t}, {\n\t\t\t\t\tlabel: \"migrations\",\n\t\t\t\t\tvalue: migrationsRelative\n\t\t\t\t}];\n\t\t\t\tif (dbConnection && !hasExplicitFrom) details.push({\n\t\t\t\t\tlabel: \"database\",\n\t\t\t\t\tvalue: maskConnectionUrl(String(dbConnection))\n\t\t\t\t});\n\t\t\t\tif (options.from) details.push({\n\t\t\t\t\tlabel: \"from\",\n\t\t\t\t\tvalue: options.from\n\t\t\t\t});\n\t\t\t\tif (options.to) details.push({\n\t\t\t\t\tlabel: \"to\",\n\t\t\t\t\tvalue: options.to\n\t\t\t\t});\n\t\t\t\tconst header = formatStyledHeader({\n\t\t\t\t\tcommand: \"migrate --show\",\n\t\t\t\t\tdescription: \"Preview the migration path migrate will take (read-only)\",\n\t\t\t\t\tdetails,\n\t\t\t\t\tflags\n\t\t\t\t});\n\t\t\t\tui.stderr(header);\n\t\t\t}\n\t\t}\n\t});\n\tif (!planResult.ok) return notOk(planResult.failure);\n\tconst plan = planResult.value;\n\tconst { aggregate, contractHash } = plan;\n\tconst orderedMigrations = plan.migrations;\n\tconst allSpaces = [aggregate.app, ...aggregate.extensions];\n\tlet graphOutput;\n\tlet runListDirNameWidth;\n\tlet runListLeftPad;\n\tif (!flags.json) {\n\t\tconst onPathHashes = new Set(orderedMigrations.map((m) => m.migrationHash));\n\t\tconst colorize = flags.color !== false;\n\t\tconst spaceLayouts = allSpaces.map((space) => {\n\t\t\tconst isApp = space.spaceId === aggregate.app.spaceId;\n\t\t\tconst spaceGraph = space.graph();\n\t\t\tconst rowModel = buildMigrationGraphRows(spaceGraph, isApp ? { contractHash } : {});\n\t\t\tconst edgeAnnotations = /* @__PURE__ */ new Map();\n\t\t\tfor (const edge of spaceGraph.migrationByHash.values()) edgeAnnotations.set(edge.migrationHash, { pathHighlight: onPathHashes.has(edge.migrationHash) ? \"on-path\" : \"off-path\" });\n\t\t\treturn {\n\t\t\t\tspace,\n\t\t\t\tisApp,\n\t\t\t\tspaceGraph,\n\t\t\t\trowModel,\n\t\t\t\tgrid: buildGrid(rowModel, {}, highlightFromEdgeAnnotations(edgeAnnotations)),\n\t\t\t\tedgeAnnotations\n\t\t\t};\n\t\t});\n\t\tconst globalLabelColumn = spaceLayouts.length > 1 ? Math.max(...spaceLayouts.map(({ grid }) => computeLabelColumn(grid, \"unicode\"))) : void 0;\n\t\tconst globalMaxDirNameWidthFromLayouts = spaceLayouts.length > 1 ? Math.max(...spaceLayouts.map(({ rowModel }) => computeMaxDirNameWidth(rowModel))) : void 0;\n\t\tconst runListMaxFromMigrations = orderedMigrations.length > 0 ? Math.max(...orderedMigrations.map((m) => m.dirName.length)) : 0;\n\t\tconst globalMaxDirNameWidth = globalMaxDirNameWidthFromLayouts !== void 0 ? Math.max(globalMaxDirNameWidthFromLayouts, runListMaxFromMigrations) : void 0;\n\t\trunListDirNameWidth = globalMaxDirNameWidth ?? runListMaxFromMigrations;\n\t\trunListLeftPad = globalLabelColumn;\n\t\tconst showSpaceHeadings = allSpaces.length > 1;\n\t\tconst sections = [];\n\t\tfor (const { space, isApp, rowModel, grid, edgeAnnotations } of spaceLayouts) {\n\t\t\tconst liveMarkerHash = plan.renderMarkerHashBySpace.get(space.spaceId);\n\t\t\tconst tree = renderMigrationGraphCommand({\n\t\t\t\tgrid,\n\t\t\t\trowModel,\n\t\t\t\tcontractHash,\n\t\t\t\tisAppSpace: isApp,\n\t\t\t\t...plan.usedLiveMarker ? { dbHash: liveMarkerHash } : {},\n\t\t\t\trefsByHash: listRefsByContractHash(space),\n\t\t\t\tedgeAnnotationsByHash: edgeAnnotations,\n\t\t\t\tcolorize,\n\t\t\t\tglyphMode: \"unicode\",\n\t\t\t\t...globalLabelColumn !== void 0 ? { globalLabelColumn } : {},\n\t\t\t\t...globalMaxDirNameWidth !== void 0 ? { globalMaxDirNameWidth } : {}\n\t\t\t});\n\t\t\tif (tree.length === 0) continue;\n\t\t\tif (showSpaceHeadings) sections.push(`${space.spaceId}:\\n${indentMigrationGraphTreeBlock(tree, \" \")}`);\n\t\t\telse sections.push(tree);\n\t\t}\n\t\tgraphOutput = sections.join(\"\\n\\n\");\n\t}\n\treturn ok({\n\t\tok: true,\n\t\tmigrations: orderedMigrations,\n\t\tsummary: plan.summary,\n\t\t...graphOutput !== void 0 ? { graphOutput } : {},\n\t\t...runListDirNameWidth !== void 0 ? { runListDirNameWidth } : {},\n\t\t...runListLeftPad !== void 0 ? { runListLeftPad } : {}\n\t});\n}\nfunction formatMigrateShowOutput(result, flags) {\n\tif (flags.quiet) return \"\";\n\tconst colorize = flags.color !== false;\n\tconst lines = [];\n\tif (result.graphOutput !== void 0 && result.graphOutput.length > 0) {\n\t\tlines.push(result.graphOutput);\n\t\tlines.push(\"\");\n\t}\n\tconst n = result.migrations.length;\n\tif (n > 0) {\n\t\tlines.push(`The following ${n} migration${n === 1 ? \"\" : \"s\"} will run:`);\n\t\tconst isMultiSpace = result.runListLeftPad !== void 0;\n\t\tconst gutter = result.runListLeftPad ?? 0;\n\t\tconst rawDirNameWidth = result.runListDirNameWidth ?? Math.max(...result.migrations.map((m) => m.dirName.length));\n\t\tconst listDirNameWidth = gutter + Math.max(rawDirNameWidth + 2, 25 - gutter) - (isMultiSpace ? 2 : 4);\n\t\tfor (const m of result.migrations) lines.push(` ${formatOnPathMigrationRow(m.dirName, m.from, m.to, listDirNameWidth, colorize, \"unicode\")}`);\n\t} else lines.push(result.summary);\n\treturn lines.join(\"\\n\");\n}\nfunction mapApplyFailure(failure) {\n\tif (failure.code === \"MIGRATION_PATH_NOT_FOUND\") return errorPathUnreachable(failure);\n\treturn errorRunnerFailed(failure.summary, {\n\t\twhy: failure.why ?? \"Migration runner failed\",\n\t\tfix: \"Fix the issue and re-run `prisma-next migrate --to <contract>` — previously applied migrations are preserved.\",\n\t\tmeta: failure.meta ?? {},\n\t\t...ifDefined(\"cause\", failure.cause)\n\t});\n}\nasync function executeMigrateCommand(options, flags, ui, startTime) {\n\tconst configResult = await loadConfigForSections(options.config, [\n\t\t\"family\",\n\t\t\"target\",\n\t\t\"adapter\",\n\t\t\"driver\",\n\t\t\"extensions\",\n\t\t\"db\",\n\t\t\"migrations\",\n\t\t\"contract\"\n\t]);\n\tif (!configResult.ok) return configResult;\n\tconst config = configResult.value;\n\tconst { configPath, migrationsDir, appMigrationsRelative, refsDir } = resolveMigrationPaths(options.config, config, process.cwd());\n\tconst dbConnection = options.db ?? config.db?.connection;\n\tif (!dbConnection) return notOk(errorDatabaseConnectionRequired({\n\t\twhy: `Database connection is required for migrate (set db.connection in ${configPath}, or pass --db <url>)`,\n\t\tcommandName: \"migrate\"\n\t}));\n\tif (!config.driver) return notOk(errorDriverRequired({ why: \"Config.driver is required for migrate\" }));\n\tif (!targetSupportsMigrations(config.target)) return notOk(errorTargetMigrationNotSupported({ why: `Target \"${config.target.id}\" does not support migrations` }));\n\tconst toArg = options.to;\n\tconst stack = createControlStack(config);\n\tconst familyInstance = config.family.create(stack);\n\tconst contractPathAbsolute = resolveContractPath(config);\n\tlet contractRaw;\n\tlet contractContent;\n\ttry {\n\t\tcontractContent = await readFile(contractPathAbsolute, \"utf-8\");\n\t} catch (error) {\n\t\tif (error instanceof Error && error.code === \"ENOENT\") return notOk(errorFileNotFound(contractPathAbsolute, {\n\t\t\twhy: `Contract file not found at ${contractPathAbsolute}`,\n\t\t\tfix: \"Run `prisma-next contract emit` to generate a valid contract.json, then retry.\"\n\t\t}));\n\t\treturn notOk(errorContractValidationFailed(`Failed to read contract file: ${error instanceof Error ? error.message : String(error)}`, { where: { path: contractPathAbsolute } }));\n\t}\n\ttry {\n\t\tcontractRaw = familyInstance.deserializeContract(JSON.parse(contractContent));\n\t} catch (error) {\n\t\treturn notOk(errorContractValidationFailed(`Contract at ${contractPathAbsolute} failed to deserialize: ${error instanceof Error ? error.message : String(error)}`, { where: { path: contractPathAbsolute } }));\n\t}\n\tconst loadedAggregate = await loadContractSpaceAggregateForCli({\n\t\ttargetId: config.target.targetId,\n\t\tmigrationsDir,\n\t\tappContract: contractRaw,\n\t\textensions: config.extensions ?? [],\n\t\tdeserializeContract: (json) => familyInstance.deserializeContract(json)\n\t});\n\tif (!loadedAggregate.ok) return notOk(loadedAggregate.failure);\n\tconst aggregate = loadedAggregate.value;\n\tconst integrityFailure = refuseContractSpaceIntegrity(aggregate, {\n\t\tdeclaredExtensions: toDeclaredExtensionsFromRaw(config.extensions ?? []),\n\t\tcheckContracts: true\n\t});\n\tif (integrityFailure) return notOk(integrityFailure);\n\tlet refEntry;\n\tlet refName;\n\tif (toArg) {\n\t\tconst refs = aggregate.app.refs;\n\t\tconst refResult = resolveContractRef(toArg, {\n\t\t\tgraph: aggregate.app.graph(),\n\t\t\trefs\n\t\t});\n\t\tif (!refResult.ok) return notOk(refResult.failure);\n\t\tif (refResult.value.provenance.kind === \"ref\") {\n\t\t\trefName = refResult.value.provenance.refName;\n\t\t\tconst resolved = refs[refName];\n\t\t\tif (resolved) refEntry = resolved;\n\t\t} else refEntry = {\n\t\t\thash: refResult.value.hash,\n\t\t\tinvariants: []\n\t\t};\n\t}\n\tif (!flags.json && !flags.quiet) {\n\t\tconst details = [{\n\t\t\tlabel: \"config\",\n\t\t\tvalue: configPath\n\t\t}, {\n\t\t\tlabel: \"migrations\",\n\t\t\tvalue: appMigrationsRelative\n\t\t}];\n\t\tif (typeof dbConnection === \"string\") details.push({\n\t\t\tlabel: \"database\",\n\t\t\tvalue: maskConnectionUrl(dbConnection)\n\t\t});\n\t\tif (toArg) details.push({\n\t\t\tlabel: \"to\",\n\t\t\tvalue: toArg\n\t\t});\n\t\tconst header = formatStyledHeader({\n\t\t\tcommand: \"migrate\",\n\t\t\tdescription: \"Apply planned migrations to advance the database\",\n\t\t\turl: \"https://pris.ly/migrate\",\n\t\t\tdetails,\n\t\t\tflags\n\t\t});\n\t\tui.stderr(header);\n\t}\n\tconst appGraph = aggregate.app.graph();\n\tconst client = createControlClient({\n\t\tfamily: config.family,\n\t\ttarget: config.target,\n\t\tadapter: config.adapter,\n\t\tdriver: config.driver,\n\t\textensions: config.extensions ?? []\n\t});\n\ttry {\n\t\tawait client.connect(dbConnection);\n\t\tconst appMarker = (await client.readAllMarkers()).get(\"app\") ?? null;\n\t\tif (appMarker !== null) {\n\t\t\tconst markerRefusal = refuseMarkerOutsideGraph({\n\t\t\t\tmarkerHash: appMarker.storageHash,\n\t\t\t\tgraph: appGraph\n\t\t\t});\n\t\t\tif (markerRefusal) return notOk(markerRefusal);\n\t\t}\n\t\tif (refEntry && refEntry.invariants.length > 0) {\n\t\t\tconst invariantRefusal = refuseUnknownInvariants({\n\t\t\t\tgraph: appGraph,\n\t\t\t\tmarkerInvariants: appMarker?.invariants ?? [],\n\t\t\t\trefInvariants: refEntry.invariants,\n\t\t\t\t...ifDefined(\"refName\", toArg)\n\t\t\t});\n\t\t\tif (invariantRefusal) return notOk(invariantRefusal);\n\t\t}\n\t\tif (!flags.quiet && !flags.json) ui.step(\"Loading contract spaces…\");\n\t\tlet applyContract = contractRaw;\n\t\tlet snapshotContractJson = JSON.parse(contractContent);\n\t\tlet snapshotContractDts;\n\t\tif (toArg && refEntry) {\n\t\t\tconst targetHash = refEntry.hash;\n\t\t\tif (aggregate.app.packages.find((p) => p.metadata.to === targetHash)) try {\n\t\t\t\tconst at = await aggregate.app.contractAt(targetHash, refName !== void 0 ? { refName } : void 0);\n\t\t\t\tapplyContract = at.contract;\n\t\t\t\tsnapshotContractJson = at.contractJson;\n\t\t\t\tsnapshotContractDts = at.contractDts;\n\t\t\t} catch (error) {\n\t\t\t\treturn mapContractAtError(error, { artifactRole: \"to\" });\n\t\t\t}\n\t\t}\n\t\tconst applyResult = await client.migrate({\n\t\t\tcontract: applyContract,\n\t\t\tmigrationsDir,\n\t\t\t...ifDefined(\"refHash\", refEntry?.hash),\n\t\t\t...refEntry?.invariants ? { refInvariants: refEntry.invariants } : {},\n\t\t\t...refEntry !== void 0 ? ifDefined(\"refName\", toArg) : {}\n\t\t});\n\t\tif (!applyResult.ok) return notOk(mapApplyFailure(applyResult.failure));\n\t\tconst { value } = applyResult;\n\t\tlet advancedRef = null;\n\t\tif (options.advanceRef !== void 0) {\n\t\t\tconst contractIR = snapshotContractDts !== void 0 ? {\n\t\t\t\tcontract: snapshotContractJson,\n\t\t\t\tcontractDts: snapshotContractDts\n\t\t\t} : await readContractIR(snapshotContractJson, contractPathAbsolute);\n\t\t\tconst advanced = await advanceRefSafely({\n\t\t\t\trefsDir,\n\t\t\t\tmigrationsDir,\n\t\t\t\tname: options.advanceRef,\n\t\t\t\thash: value.markerHash,\n\t\t\t\tcontractIR\n\t\t\t});\n\t\t\tif (!advanced.ok) return notOk(advanced.failure);\n\t\t\tadvancedRef = {\n\t\t\t\tname: advanced.value.name,\n\t\t\t\thash: advanced.value.hash\n\t\t\t};\n\t\t}\n\t\treturn ok({\n\t\t\tok: true,\n\t\t\tmigrationsApplied: value.migrationsApplied,\n\t\t\tmigrationsTotal: value.perSpace.length,\n\t\t\tmarkerHash: value.markerHash,\n\t\t\tapplied: value.applied,\n\t\t\tsummary: value.summary,\n\t\t\tperSpace: value.perSpace,\n\t\t\t...ifDefined(\"pathDecision\", value.pathDecision),\n\t\t\ttimings: { total: Date.now() - startTime },\n\t\t\tadvancedRef\n\t\t});\n\t} catch (error) {\n\t\tconst mapped = mapCaughtMigrationError(error);\n\t\tif (mapped) return notOk(mapped);\n\t\treturn notOk(errorUnexpected(error instanceof Error ? error.message : String(error), { why: `Unexpected error during migrate: ${error instanceof Error ? error.message : String(error)}` }));\n\t} finally {\n\t\tawait closeQuietly(client);\n\t}\n}\nfunction createMigrateCommand() {\n\tconst command = new Command(\"migrate\");\n\tsetCommandDescriptions(command, \"Apply planned migrations to advance the database\", \"Walks every contract space (app + extensions) and applies pending\\non-disk migrations in canonical order (extensions alphabetically,\\nthen app). Graph-walks the on-disk migration graph for every space.\\nUse --to to target a specific contract (hash, ref name, migration dir).\\nUse --show for a read-only preview of the path that would run.\");\n\tsetCommandExamples(command, [\n\t\t\"prisma-next migrate --db $DATABASE_URL\",\n\t\t\"prisma-next migrate --to production --db $DATABASE_URL\",\n\t\t\"prisma-next migrate --to abc123 --db $DATABASE_URL\",\n\t\t\"prisma-next migrate --show --db $DATABASE_URL\",\n\t\t\"prisma-next migrate --show --from @contract --to production\"\n\t]);\n\taddGlobalOptions(command).option(\"--db <url>\", \"Database connection string\").option(\"--config <path>\", \"Path to prisma-next.config.ts\").option(\"--to <contract>\", \"Target contract reference (hash, prefix, ref name, migration dir name, <dir>^, or ./path)\").option(\"--advance-ref <name>\", \"Advance the named ref to the post-apply marker after success\").option(\"--show\", \"Preview the migration path without applying (read-only)\").option(\"--from <contract>\", \"From-state for --show preview (@contract, @db, hash, ref name, or migration dir)\").action(async (options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst startTime = Date.now();\n\t\tconst ui = createTerminalUI(flags);\n\t\tif (options.show) {\n\t\t\tconst exitCode = handleResult(await executeMigrateShowCommand(options, flags, ui), flags, ui, (showResult) => {\n\t\t\t\tif (flags.json) ui.output(JSON.stringify(showResult, null, 2));\n\t\t\t\telse ui.output(formatMigrateShowOutput(showResult, flags));\n\t\t\t});\n\t\t\tprocess.exit(exitCode);\n\t\t\treturn;\n\t\t}\n\t\tconst exitCode = handleResult(await executeMigrateCommand(options, flags, ui, startTime), flags, ui, (migrateResult) => {\n\t\t\tif (flags.json) ui.output(JSON.stringify(migrateResult, null, 2));\n\t\t\telse if (!flags.quiet) ui.log(formatMigrationApplyCommandOutput(migrateResult, flags));\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n\treturn command;\n}\n//#endregion\nexport { createMigrateCommand as t };\n\n//# sourceMappingURL=migrate-vNMZJk7M.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"migrate-Bs4Mi3N0-BdbjoiNr.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/migrate-Bs4Mi3N0.mjs"],"sourcesContent":["import { A as errorTargetMigrationNotSupported, E as errorRunnerFailed, M as errorUnexpected, l as errorDriverRequired, o as errorContractValidationFailed, s as errorDatabaseConnectionRequired, u as errorFileNotFound, x as errorPathUnreachable } from \"./cli-errors-CihMAEVj.mjs\";\nimport { a as formatMigrationApplyCommandOutput, t as createTerminalUI } from \"./terminal-ui-CUZTa2vH.mjs\";\nimport { S as formatStyledHeader, _ as parseGlobalFlagsOrExit, a as maskConnectionUrl, c as resolveMigrationPaths, d as setCommandExamples, n as closeQuietly, p as targetSupportsMigrations, s as resolveContractPath, t as addGlobalOptions, u as setCommandDescriptions, v as handleResult } from \"./command-helpers-uzQbbM97.mjs\";\nimport { a as loadContractSpaceAggregateForCli, s as refuseContractSpaceIntegrity, u as toDeclaredExtensionsFromRaw } from \"./contract-space-aggregate-loader-Cd0X2M_C.mjs\";\nimport { t as createControlClient } from \"./client-DLPcSdv7.mjs\";\nimport { a as readContractIR, t as advanceRefSafely } from \"./ref-advancement-DaZBzm7m.mjs\";\nimport { t as mapCaughtMigrationError } from \"./caught-errors-B_oGFiYw.mjs\";\nimport { t as mapContractAtError } from \"./contract-at-errors-BsQiGdZC.mjs\";\nimport { i as refuseMarkerOutsideGraph, n as refuseUnknownInvariants } from \"./invariants-4d2LkjQL.mjs\";\nimport { t as executeMigrateShowPlan } from \"./migrate-show-BYZ_NAoY.mjs\";\nimport { t as listRefsByContractHash } from \"./migration-list-AKRIIovW.mjs\";\nimport { t as resolveContractRef } from \"./ref-resolution-Bi4lpxM8.mjs\";\nimport { f as highlightFromEdgeAnnotations, g as buildGrid, h as buildMigrationGraphRows, i as formatOnPathMigrationRow, n as computeMaxDirNameWidth, p as indentMigrationGraphTreeBlock, r as renderMigrationGraphCommand, t as computeLabelColumn } from \"./migration-graph-command-render-CgdHruiZ.mjs\";\nimport { Command } from \"commander\";\nimport { loadConfigForSections } from \"@internal/config-loader\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { readFile } from \"node:fs/promises\";\nimport { createControlStack } from \"@internal/framework-components/control\";\n//#region src/commands/migrate.ts\n/**\n* Read-only preview of the migration path `migrate` will take. Delegates the\n* path computation to {@link executeMigrateShowPlan} (the control-api core)\n* and keeps only the styled header plus the Tier-3 graph rendering here.\n*/\nasync function executeMigrateShowCommand(options, flags, ui) {\n\tconst readsLiveMarker = options.from === void 0 || options.from === \"@db\";\n\tconst configResult = await loadConfigForSections(options.config, [\n\t\t\"family\",\n\t\t\"target\",\n\t\t\"adapter\",\n\t\t...readsLiveMarker ? [\"driver\"] : [],\n\t\t\"extensions\",\n\t\t\"db\",\n\t\t\"migrations\",\n\t\t\"contract\"\n\t]);\n\tif (!configResult.ok) return configResult;\n\tconst planResult = await executeMigrateShowPlan({\n\t\tconfig: configResult.value,\n\t\tcwd: process.cwd(),\n\t\t...ifDefined(\"configPath\", options.config),\n\t\t...ifDefined(\"db\", options.db),\n\t\t...ifDefined(\"to\", options.to),\n\t\t...ifDefined(\"from\", options.from),\n\t\tonPreflightComplete: ({ configPath, migrationsRelative, dbConnection, hasExplicitFrom }) => {\n\t\t\tif (!flags.json && !flags.quiet) {\n\t\t\t\tconst details = [{\n\t\t\t\t\tlabel: \"config\",\n\t\t\t\t\tvalue: configPath\n\t\t\t\t}, {\n\t\t\t\t\tlabel: \"migrations\",\n\t\t\t\t\tvalue: migrationsRelative\n\t\t\t\t}];\n\t\t\t\tif (dbConnection && !hasExplicitFrom) details.push({\n\t\t\t\t\tlabel: \"database\",\n\t\t\t\t\tvalue: maskConnectionUrl(String(dbConnection))\n\t\t\t\t});\n\t\t\t\tif (options.from) details.push({\n\t\t\t\t\tlabel: \"from\",\n\t\t\t\t\tvalue: options.from\n\t\t\t\t});\n\t\t\t\tif (options.to) details.push({\n\t\t\t\t\tlabel: \"to\",\n\t\t\t\t\tvalue: options.to\n\t\t\t\t});\n\t\t\t\tconst header = formatStyledHeader({\n\t\t\t\t\tcommand: \"migrate --show\",\n\t\t\t\t\tdescription: \"Preview the migration path migrate will take (read-only)\",\n\t\t\t\t\tdetails,\n\t\t\t\t\tflags\n\t\t\t\t});\n\t\t\t\tui.stderr(header);\n\t\t\t}\n\t\t}\n\t});\n\tif (!planResult.ok) return notOk(planResult.failure);\n\tconst plan = planResult.value;\n\tconst { aggregate, contractHash } = plan;\n\tconst orderedMigrations = plan.migrations;\n\tconst allSpaces = [aggregate.app, ...aggregate.extensions];\n\tlet graphOutput;\n\tlet runListDirNameWidth;\n\tlet runListLeftPad;\n\tif (!flags.json) {\n\t\tconst onPathHashes = new Set(orderedMigrations.map((m) => m.migrationHash));\n\t\tconst colorize = flags.color !== false;\n\t\tconst spaceLayouts = allSpaces.map((space) => {\n\t\t\tconst isApp = space.spaceId === aggregate.app.spaceId;\n\t\t\tconst spaceGraph = space.graph();\n\t\t\tconst rowModel = buildMigrationGraphRows(spaceGraph, isApp ? { contractHash } : {});\n\t\t\tconst edgeAnnotations = /* @__PURE__ */ new Map();\n\t\t\tfor (const edge of spaceGraph.migrationByHash.values()) edgeAnnotations.set(edge.migrationHash, { pathHighlight: onPathHashes.has(edge.migrationHash) ? \"on-path\" : \"off-path\" });\n\t\t\treturn {\n\t\t\t\tspace,\n\t\t\t\tisApp,\n\t\t\t\tspaceGraph,\n\t\t\t\trowModel,\n\t\t\t\tgrid: buildGrid(rowModel, {}, highlightFromEdgeAnnotations(edgeAnnotations)),\n\t\t\t\tedgeAnnotations\n\t\t\t};\n\t\t});\n\t\tconst globalLabelColumn = spaceLayouts.length > 1 ? Math.max(...spaceLayouts.map(({ grid }) => computeLabelColumn(grid, \"unicode\"))) : void 0;\n\t\tconst globalMaxDirNameWidthFromLayouts = spaceLayouts.length > 1 ? Math.max(...spaceLayouts.map(({ rowModel }) => computeMaxDirNameWidth(rowModel))) : void 0;\n\t\tconst runListMaxFromMigrations = orderedMigrations.length > 0 ? Math.max(...orderedMigrations.map((m) => m.dirName.length)) : 0;\n\t\tconst globalMaxDirNameWidth = globalMaxDirNameWidthFromLayouts !== void 0 ? Math.max(globalMaxDirNameWidthFromLayouts, runListMaxFromMigrations) : void 0;\n\t\trunListDirNameWidth = globalMaxDirNameWidth ?? runListMaxFromMigrations;\n\t\trunListLeftPad = globalLabelColumn;\n\t\tconst showSpaceHeadings = allSpaces.length > 1;\n\t\tconst sections = [];\n\t\tfor (const { space, isApp, rowModel, grid, edgeAnnotations } of spaceLayouts) {\n\t\t\tconst liveMarkerHash = plan.renderMarkerHashBySpace.get(space.spaceId);\n\t\t\tconst tree = renderMigrationGraphCommand({\n\t\t\t\tgrid,\n\t\t\t\trowModel,\n\t\t\t\tcontractHash,\n\t\t\t\tisAppSpace: isApp,\n\t\t\t\t...plan.usedLiveMarker ? { dbHash: liveMarkerHash } : {},\n\t\t\t\trefsByHash: listRefsByContractHash(space),\n\t\t\t\tedgeAnnotationsByHash: edgeAnnotations,\n\t\t\t\tcolorize,\n\t\t\t\tglyphMode: \"unicode\",\n\t\t\t\t...globalLabelColumn !== void 0 ? { globalLabelColumn } : {},\n\t\t\t\t...globalMaxDirNameWidth !== void 0 ? { globalMaxDirNameWidth } : {}\n\t\t\t});\n\t\t\tif (tree.length === 0) continue;\n\t\t\tif (showSpaceHeadings) sections.push(`${space.spaceId}:\\n${indentMigrationGraphTreeBlock(tree, \" \")}`);\n\t\t\telse sections.push(tree);\n\t\t}\n\t\tgraphOutput = sections.join(\"\\n\\n\");\n\t}\n\treturn ok({\n\t\tok: true,\n\t\tmigrations: orderedMigrations,\n\t\tsummary: plan.summary,\n\t\t...graphOutput !== void 0 ? { graphOutput } : {},\n\t\t...runListDirNameWidth !== void 0 ? { runListDirNameWidth } : {},\n\t\t...runListLeftPad !== void 0 ? { runListLeftPad } : {}\n\t});\n}\nfunction formatMigrateShowOutput(result, flags) {\n\tif (flags.quiet) return \"\";\n\tconst colorize = flags.color !== false;\n\tconst lines = [];\n\tif (result.graphOutput !== void 0 && result.graphOutput.length > 0) {\n\t\tlines.push(result.graphOutput);\n\t\tlines.push(\"\");\n\t}\n\tconst n = result.migrations.length;\n\tif (n > 0) {\n\t\tlines.push(`The following ${n} migration${n === 1 ? \"\" : \"s\"} will run:`);\n\t\tconst isMultiSpace = result.runListLeftPad !== void 0;\n\t\tconst gutter = result.runListLeftPad ?? 0;\n\t\tconst rawDirNameWidth = result.runListDirNameWidth ?? Math.max(...result.migrations.map((m) => m.dirName.length));\n\t\tconst listDirNameWidth = gutter + Math.max(rawDirNameWidth + 2, 25 - gutter) - (isMultiSpace ? 2 : 4);\n\t\tfor (const m of result.migrations) lines.push(` ${formatOnPathMigrationRow(m.dirName, m.from, m.to, listDirNameWidth, colorize, \"unicode\")}`);\n\t} else lines.push(result.summary);\n\treturn lines.join(\"\\n\");\n}\nfunction mapApplyFailure(failure) {\n\tif (failure.code === \"MIGRATION_PATH_NOT_FOUND\") return errorPathUnreachable(failure);\n\treturn errorRunnerFailed(failure.summary, {\n\t\twhy: failure.why ?? \"Migration runner failed\",\n\t\tfix: \"Fix the issue and re-run `prisma-next migrate --to <contract>` — previously applied migrations are preserved.\",\n\t\tmeta: failure.meta ?? {},\n\t\t...ifDefined(\"cause\", failure.cause)\n\t});\n}\nasync function executeMigrateCommand(options, flags, ui, startTime) {\n\tconst configResult = await loadConfigForSections(options.config, [\n\t\t\"family\",\n\t\t\"target\",\n\t\t\"adapter\",\n\t\t\"driver\",\n\t\t\"extensions\",\n\t\t\"db\",\n\t\t\"migrations\",\n\t\t\"contract\"\n\t]);\n\tif (!configResult.ok) return configResult;\n\tconst config = configResult.value;\n\tconst { configPath, migrationsDir, appMigrationsRelative, refsDir } = resolveMigrationPaths(options.config, config, process.cwd());\n\tconst dbConnection = options.db ?? config.db?.connection;\n\tif (!dbConnection) return notOk(errorDatabaseConnectionRequired({\n\t\twhy: `Database connection is required for migrate (set db.connection in ${configPath}, or pass --db <url>)`,\n\t\tcommandName: \"migrate\"\n\t}));\n\tif (!config.driver) return notOk(errorDriverRequired({ why: \"Config.driver is required for migrate\" }));\n\tif (!targetSupportsMigrations(config.target)) return notOk(errorTargetMigrationNotSupported({ why: `Target \"${config.target.id}\" does not support migrations` }));\n\tconst toArg = options.to;\n\tconst stack = createControlStack(config);\n\tconst familyInstance = config.family.create(stack);\n\tconst contractPathAbsolute = resolveContractPath(config);\n\tlet contractRaw;\n\tlet contractContent;\n\ttry {\n\t\tcontractContent = await readFile(contractPathAbsolute, \"utf-8\");\n\t} catch (error) {\n\t\tif (error instanceof Error && error.code === \"ENOENT\") return notOk(errorFileNotFound(contractPathAbsolute, {\n\t\t\twhy: `Contract file not found at ${contractPathAbsolute}`,\n\t\t\tfix: \"Run `prisma-next contract emit` to generate a valid contract.json, then retry.\"\n\t\t}));\n\t\treturn notOk(errorContractValidationFailed(`Failed to read contract file: ${error instanceof Error ? error.message : String(error)}`, { where: { path: contractPathAbsolute } }));\n\t}\n\ttry {\n\t\tcontractRaw = familyInstance.deserializeContract(JSON.parse(contractContent));\n\t} catch (error) {\n\t\treturn notOk(errorContractValidationFailed(`Contract at ${contractPathAbsolute} failed to deserialize: ${error instanceof Error ? error.message : String(error)}`, { where: { path: contractPathAbsolute } }));\n\t}\n\tconst loadedAggregate = await loadContractSpaceAggregateForCli({\n\t\ttargetId: config.target.targetId,\n\t\tmigrationsDir,\n\t\tappContract: contractRaw,\n\t\textensions: config.extensions ?? [],\n\t\tdeserializeContract: (json) => familyInstance.deserializeContract(json)\n\t});\n\tif (!loadedAggregate.ok) return notOk(loadedAggregate.failure);\n\tconst aggregate = loadedAggregate.value;\n\tconst integrityFailure = refuseContractSpaceIntegrity(aggregate, {\n\t\tdeclaredExtensions: toDeclaredExtensionsFromRaw(config.extensions ?? []),\n\t\tcheckContracts: true\n\t});\n\tif (integrityFailure) return notOk(integrityFailure);\n\tlet refEntry;\n\tlet refName;\n\tif (toArg) {\n\t\tconst refs = aggregate.app.refs;\n\t\tconst refResult = resolveContractRef(toArg, {\n\t\t\tgraph: aggregate.app.graph(),\n\t\t\trefs\n\t\t});\n\t\tif (!refResult.ok) return notOk(refResult.failure);\n\t\tif (refResult.value.provenance.kind === \"ref\") {\n\t\t\trefName = refResult.value.provenance.refName;\n\t\t\tconst resolved = refs[refName];\n\t\t\tif (resolved) refEntry = resolved;\n\t\t} else refEntry = {\n\t\t\thash: refResult.value.hash,\n\t\t\tinvariants: []\n\t\t};\n\t}\n\tif (!flags.json && !flags.quiet) {\n\t\tconst details = [{\n\t\t\tlabel: \"config\",\n\t\t\tvalue: configPath\n\t\t}, {\n\t\t\tlabel: \"migrations\",\n\t\t\tvalue: appMigrationsRelative\n\t\t}];\n\t\tif (typeof dbConnection === \"string\") details.push({\n\t\t\tlabel: \"database\",\n\t\t\tvalue: maskConnectionUrl(dbConnection)\n\t\t});\n\t\tif (toArg) details.push({\n\t\t\tlabel: \"to\",\n\t\t\tvalue: toArg\n\t\t});\n\t\tconst header = formatStyledHeader({\n\t\t\tcommand: \"migrate\",\n\t\t\tdescription: \"Apply planned migrations to advance the database\",\n\t\t\turl: \"https://pris.ly/migrate\",\n\t\t\tdetails,\n\t\t\tflags\n\t\t});\n\t\tui.stderr(header);\n\t}\n\tconst appGraph = aggregate.app.graph();\n\tconst client = createControlClient({\n\t\tfamily: config.family,\n\t\ttarget: config.target,\n\t\tadapter: config.adapter,\n\t\tdriver: config.driver,\n\t\textensions: config.extensions ?? []\n\t});\n\ttry {\n\t\tawait client.connect(dbConnection);\n\t\tconst appMarker = (await client.readAllMarkers()).get(\"app\") ?? null;\n\t\tif (appMarker !== null) {\n\t\t\tconst markerRefusal = refuseMarkerOutsideGraph({\n\t\t\t\tmarkerHash: appMarker.storageHash,\n\t\t\t\tgraph: appGraph\n\t\t\t});\n\t\t\tif (markerRefusal) return notOk(markerRefusal);\n\t\t}\n\t\tif (refEntry && refEntry.invariants.length > 0) {\n\t\t\tconst invariantRefusal = refuseUnknownInvariants({\n\t\t\t\tgraph: appGraph,\n\t\t\t\tmarkerInvariants: appMarker?.invariants ?? [],\n\t\t\t\trefInvariants: refEntry.invariants,\n\t\t\t\t...ifDefined(\"refName\", toArg)\n\t\t\t});\n\t\t\tif (invariantRefusal) return notOk(invariantRefusal);\n\t\t}\n\t\tif (!flags.quiet && !flags.json) ui.step(\"Loading contract spaces…\");\n\t\tlet applyContract = contractRaw;\n\t\tlet snapshotContractJson = JSON.parse(contractContent);\n\t\tlet snapshotContractDts;\n\t\tif (toArg && refEntry) {\n\t\t\tconst targetHash = refEntry.hash;\n\t\t\tif (aggregate.app.packages.find((p) => p.metadata.to === targetHash)) try {\n\t\t\t\tconst at = await aggregate.app.contractAt(targetHash, refName !== void 0 ? { refName } : void 0);\n\t\t\t\tapplyContract = at.contract;\n\t\t\t\tsnapshotContractJson = at.contractJson;\n\t\t\t\tsnapshotContractDts = at.contractDts;\n\t\t\t} catch (error) {\n\t\t\t\treturn mapContractAtError(error, { artifactRole: \"to\" });\n\t\t\t}\n\t\t}\n\t\tconst applyResult = await client.migrate({\n\t\t\tcontract: applyContract,\n\t\t\tmigrationsDir,\n\t\t\t...ifDefined(\"refHash\", refEntry?.hash),\n\t\t\t...refEntry?.invariants ? { refInvariants: refEntry.invariants } : {},\n\t\t\t...refEntry !== void 0 ? ifDefined(\"refName\", toArg) : {}\n\t\t});\n\t\tif (!applyResult.ok) return notOk(mapApplyFailure(applyResult.failure));\n\t\tconst { value } = applyResult;\n\t\tlet advancedRef = null;\n\t\tif (options.advanceRef !== void 0) {\n\t\t\tconst contractIR = snapshotContractDts !== void 0 ? {\n\t\t\t\tcontract: snapshotContractJson,\n\t\t\t\tcontractDts: snapshotContractDts\n\t\t\t} : await readContractIR(snapshotContractJson, contractPathAbsolute);\n\t\t\tconst advanced = await advanceRefSafely({\n\t\t\t\trefsDir,\n\t\t\t\tmigrationsDir,\n\t\t\t\tname: options.advanceRef,\n\t\t\t\thash: value.markerHash,\n\t\t\t\tcontractIR\n\t\t\t});\n\t\t\tif (!advanced.ok) return notOk(advanced.failure);\n\t\t\tadvancedRef = {\n\t\t\t\tname: advanced.value.name,\n\t\t\t\thash: advanced.value.hash\n\t\t\t};\n\t\t}\n\t\treturn ok({\n\t\t\tok: true,\n\t\t\tmigrationsApplied: value.migrationsApplied,\n\t\t\tmigrationsTotal: value.perSpace.length,\n\t\t\tmarkerHash: value.markerHash,\n\t\t\tapplied: value.applied,\n\t\t\tsummary: value.summary,\n\t\t\tperSpace: value.perSpace,\n\t\t\t...ifDefined(\"pathDecision\", value.pathDecision),\n\t\t\ttimings: { total: Date.now() - startTime },\n\t\t\tadvancedRef\n\t\t});\n\t} catch (error) {\n\t\tconst mapped = mapCaughtMigrationError(error);\n\t\tif (mapped) return notOk(mapped);\n\t\treturn notOk(errorUnexpected(error instanceof Error ? error.message : String(error), { why: `Unexpected error during migrate: ${error instanceof Error ? error.message : String(error)}` }));\n\t} finally {\n\t\tawait closeQuietly(client);\n\t}\n}\nfunction createMigrateCommand() {\n\tconst command = new Command(\"migrate\");\n\tsetCommandDescriptions(command, \"Apply planned migrations to advance the database\", \"Walks every contract space (app + extensions) and applies pending\\non-disk migrations in canonical order (extensions alphabetically,\\nthen app). Graph-walks the on-disk migration graph for every space.\\nUse --to to target a specific contract (hash, ref name, migration dir).\\nUse --show for a read-only preview of the path that would run.\");\n\tsetCommandExamples(command, [\n\t\t\"prisma-next migrate --db $DATABASE_URL\",\n\t\t\"prisma-next migrate --to production --db $DATABASE_URL\",\n\t\t\"prisma-next migrate --to abc123 --db $DATABASE_URL\",\n\t\t\"prisma-next migrate --show --db $DATABASE_URL\",\n\t\t\"prisma-next migrate --show --from @contract --to production\"\n\t]);\n\taddGlobalOptions(command).option(\"--db <url>\", \"Database connection string\").option(\"--config <path>\", \"Path to prisma-next.config.ts\").option(\"--to <contract>\", \"Target contract reference (hash, prefix, ref name, migration dir name, <dir>^, or ./path)\").option(\"--advance-ref <name>\", \"Advance the named ref to the post-apply marker after success\").option(\"--show\", \"Preview the migration path without applying (read-only)\").option(\"--from <contract>\", \"From-state for --show preview (@contract, @db, hash, ref name, or migration dir)\").action(async (options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst startTime = Date.now();\n\t\tconst ui = createTerminalUI(flags);\n\t\tif (options.show) {\n\t\t\tconst exitCode = handleResult(await executeMigrateShowCommand(options, flags, ui), flags, ui, (showResult) => {\n\t\t\t\tif (flags.json) ui.output(JSON.stringify(showResult, null, 2));\n\t\t\t\telse ui.output(formatMigrateShowOutput(showResult, flags));\n\t\t\t});\n\t\t\tprocess.exit(exitCode);\n\t\t\treturn;\n\t\t}\n\t\tconst exitCode = handleResult(await executeMigrateCommand(options, flags, ui, startTime), flags, ui, (migrateResult) => {\n\t\t\tif (flags.json) ui.output(JSON.stringify(migrateResult, null, 2));\n\t\t\telse if (!flags.quiet) ui.log(formatMigrationApplyCommandOutput(migrateResult, flags));\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n\treturn command;\n}\n//#endregion\nexport { createMigrateCommand as t };\n\n//# sourceMappingURL=migrate-Bs4Mi3N0.mjs.map"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { F as requireLiveDatabase, N as errorUnexpected, O as errorRuntime$1, P as mapRefResolutionError, S as errorPathUnreachable, c as errorDatabaseConnectionRequired, t as CliStructuredError$1 } from "./cli-errors-CihMAEVj-C1uUYBop.mjs";
2
2
  import { t as MigrationToolsError } from "./errors-Co-8oaiB-CB-6Uqki.mjs";
3
3
  import "./constants-CM-w38DQ-Cz_EXbOc.mjs";
4
- import { _ as resolveMigrationPaths, n as closeQuietly } from "./command-helpers-DutQjYgy-CDfFwtAa.mjs";
4
+ import { _ as resolveMigrationPaths, n as closeQuietly } from "./command-helpers-uzQbbM97-EaL4zWf5.mjs";
5
5
  import { i as readRefs } from "./refs-B2BL8z3i-DGGFB7Mj.mjs";
6
6
  import { u as requireHeadRef } from "./aggregate-BKbHUHLA.mjs";
7
- import { r as buildReadAggregate } from "./contract-space-aggregate-loader-sF0OJ6oz-jRjdZoyZ.mjs";
8
- import { a as planSpacePath, t as createControlClient } from "./client-CaIWFVnh-PVaTEvdx.mjs";
7
+ import { r as buildReadAggregate } from "./contract-space-aggregate-loader-Cd0X2M_C-CFBkD540.mjs";
8
+ import { a as planSpacePath, t as createControlClient } from "./client-DLPcSdv7-Cukdon0q.mjs";
9
9
  import { n as parseContractRef } from "./ref-resolution-Ct2GMcNB.mjs";
10
10
  import { notOk, ok } from "@prisma/orm-framework/utils/result";
11
- //#region ../../../1-framework/3-tooling/cli/dist/migrate-show-C-fdCznr.mjs
11
+ //#region ../../../1-framework/3-tooling/cli/dist/migrate-show-BYZ_NAoY.mjs
12
12
  /**
13
13
  * Computes the path through the SAME seam as `executeMigrate`:
14
14
  * - `readAllMarkers()` for the from-state (when no `--from` is given), preserving
@@ -196,4 +196,4 @@ async function executeMigrateShowPlan(options) {
196
196
  //#endregion
197
197
  export { executeMigrateShowPlan as t };
198
198
 
199
- //# sourceMappingURL=migrate-show-C-fdCznr-BH88FGVn.mjs.map
199
+ //# sourceMappingURL=migrate-show-BYZ_NAoY-DCyUeA4P.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-show-C-fdCznr-BH88FGVn.mjs","names":["CliStructuredError","errorRuntime"],"sources":["../../../../1-framework/3-tooling/cli/dist/migrate-show-C-fdCznr.mjs"],"sourcesContent":["import { D as errorRuntime, M as errorUnexpected, N as mapRefResolutionError, P as requireLiveDatabase, s as errorDatabaseConnectionRequired, t as CliStructuredError, x as errorPathUnreachable } from \"./cli-errors-CihMAEVj.mjs\";\nimport { c as resolveMigrationPaths, n as closeQuietly } from \"./command-helpers-DutQjYgy.mjs\";\nimport { r as buildReadAggregate } from \"./contract-space-aggregate-loader-sF0OJ6oz.mjs\";\nimport { n as planSpacePath, t as createControlClient } from \"./client-CaIWFVnh.mjs\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { requireHeadRef } from \"@internal/migration-tools/aggregate\";\nimport { EMPTY_CONTRACT_HASH } from \"@internal/migration-tools/constants\";\nimport { MigrationToolsError } from \"@internal/migration-tools/errors\";\nimport { readRefs } from \"@internal/migration-tools/refs\";\nimport { parseContractRef } from \"@internal/migration-tools/ref-resolution\";\n//#region src/control-api/operations/migrate-show.ts\n/**\n* Computes the path through the SAME seam as `executeMigrate`:\n* - `readAllMarkers()` for the from-state (when no `--from` is given), preserving\n* the full marker including `invariants` (not just `storageHash`).\n* - `planSpacePath()` (shared with `executeMigrate`) for per-space path selection,\n* which feeds `resolveRecordedPath()` with the same target hash, target invariants,\n* and current marker as the real apply path uses.\n*\n* Returns BEFORE any write boundary (`runMigration` / marker / DDL). No\n* DB state is mutated.\n*/\nasync function executeMigrateShowPlan(options) {\n\tconst config = options.config;\n\tconst { configPath, migrationsDir, migrationsRelative, refsDir } = resolveMigrationPaths(options.configPath, config, options.cwd);\n\tconst dbConnection = options.db ?? config.db?.connection;\n\tconst hasDriver = !!config.driver;\n\tconst hasExplicitFrom = options.from !== void 0;\n\tif (!hasExplicitFrom) {\n\t\tconst missingDb = requireLiveDatabase({\n\t\t\tdbConnection,\n\t\t\thasDriver,\n\t\t\twhy: \"migrate --show needs a database connection to read the live marker (or pass --from <contract> for an offline preview)\",\n\t\t\tretryCommand: \"prisma-next migrate --show --from <contract>\"\n\t\t});\n\t\tif (missingDb) return notOk(missingDb);\n\t}\n\tlet allRefs = {};\n\ttry {\n\t\tallRefs = await readRefs(refsDir);\n\t} catch (error) {\n\t\tif (MigrationToolsError.is(error)) return notOk(error);\n\t\tthrow error;\n\t}\n\tconst loaded = await buildReadAggregate(config, { migrationsDir });\n\tif (!loaded.ok) return notOk(loaded.failure);\n\tconst { aggregate, contractHash } = loaded.value;\n\tconst appGraph = aggregate.app.graph();\n\tlet targetHash = contractHash;\n\tlet refInvariants;\n\tif (options.to) {\n\t\tconst toResult = parseContractRef(options.to, {\n\t\t\tgraph: appGraph,\n\t\t\trefs: allRefs,\n\t\t\tcontractHash\n\t\t});\n\t\tif (!toResult.ok) return notOk(mapRefResolutionError(toResult.failure));\n\t\tif (toResult.value.provenance.kind === \"reserved-db\") return notOk(errorDatabaseConnectionRequired({\n\t\t\twhy: \"@db is not valid as a --to target; it names the live database state, not a target contract.\",\n\t\t\tcommandName: \"migrate --show\"\n\t\t}));\n\t\ttargetHash = toResult.value.hash;\n\t\tif (toResult.value.provenance.kind === \"ref\") {\n\t\t\tconst refEntry = allRefs[toResult.value.provenance.refName];\n\t\t\tif (refEntry) refInvariants = refEntry.invariants;\n\t\t}\n\t}\n\toptions.onPreflightComplete?.({\n\t\tconfigPath,\n\t\tmigrationsRelative,\n\t\tdbConnection,\n\t\thasExplicitFrom\n\t});\n\tconst markerBySpace = /* @__PURE__ */ new Map();\n\tconst allSpaces = [aggregate.app, ...aggregate.extensions];\n\tif (hasExplicitFrom) if (options.from === \"@db\") {\n\t\tconst missingDb = requireLiveDatabase({\n\t\t\tdbConnection,\n\t\t\thasDriver,\n\t\t\twhy: \"@db resolves to the live database marker and requires a --db connection\",\n\t\t\tretryCommand: \"prisma-next migrate --show --from @db --db $DATABASE_URL\"\n\t\t});\n\t\tif (missingDb) return notOk(missingDb);\n\t} else {\n\t\tconst fromResult = parseContractRef(options.from, {\n\t\t\tgraph: appGraph,\n\t\t\trefs: allRefs,\n\t\t\tcontractHash\n\t\t});\n\t\tif (!fromResult.ok) return notOk(mapRefResolutionError(fromResult.failure));\n\t\tif (fromResult.value.provenance.kind === \"reserved-db\") {\n\t\t\tconst missingDb = requireLiveDatabase({\n\t\t\t\tdbConnection,\n\t\t\t\thasDriver,\n\t\t\t\twhy: \"@db resolves to the live database marker and requires a --db connection\"\n\t\t\t});\n\t\t\tif (missingDb) return notOk(missingDb);\n\t\t} else {\n\t\t\tconst fromHash = fromResult.value.hash;\n\t\t\tconst offlineMarker = fromHash === EMPTY_CONTRACT_HASH ? null : {\n\t\t\t\tstorageHash: fromHash,\n\t\t\t\tinvariants: []\n\t\t\t};\n\t\t\tmarkerBySpace.set(aggregate.app.spaceId, offlineMarker);\n\t\t}\n\t}\n\tconst needsLiveMarker = !hasExplicitFrom || options.from === \"@db\";\n\tif (needsLiveMarker) {\n\t\tif (!dbConnection || !hasDriver) return notOk(errorDatabaseConnectionRequired({\n\t\t\twhy: \"A database connection is required to read the live marker for migrate --show\",\n\t\t\tcommandName: \"migrate --show\"\n\t\t}));\n\t\tconst client = createControlClient({\n\t\t\tfamily: config.family,\n\t\t\ttarget: config.target,\n\t\t\tadapter: config.adapter,\n\t\t\tdriver: config.driver,\n\t\t\textensions: config.extensions ?? []\n\t\t});\n\t\ttry {\n\t\t\tawait client.connect(dbConnection);\n\t\t\tconst allMarkers = await client.readAllMarkers();\n\t\t\tfor (const space of allSpaces) {\n\t\t\t\tconst marker = allMarkers.get(space.spaceId);\n\t\t\t\tmarkerBySpace.set(space.spaceId, marker ?? null);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (CliStructuredError.is(error)) return notOk(error);\n\t\t\treturn notOk(errorUnexpected(error instanceof Error ? error.message : String(error), { why: `Failed to read live DB marker: ${error instanceof Error ? error.message : String(error)}` }));\n\t\t} finally {\n\t\t\tawait closeQuietly(client);\n\t\t}\n\t}\n\tconst canonicalOrderSpaces = [...aggregate.extensions, aggregate.app];\n\tconst orderedMigrations = [];\n\tfor (const space of canonicalOrderSpaces) {\n\t\tconst isAppSpace = space.spaceId === aggregate.app.spaceId;\n\t\tconst headRef = requireHeadRef(space);\n\t\tconst outcome = planSpacePath({\n\t\t\tspace,\n\t\t\taggregate,\n\t\t\ttargetHash: isAppSpace ? targetHash : headRef.hash,\n\t\t\trefInvariants: isAppSpace ? refInvariants : void 0,\n\t\t\tliveMarker: markerBySpace.get(space.spaceId) ?? null\n\t\t});\n\t\tif (outcome.kind === \"at-head\") continue;\n\t\tif (outcome.kind === \"never-planned\") return notOk(errorPathUnreachable({\n\t\t\tcode: \"MIGRATION_PATH_NOT_FOUND\",\n\t\t\tsummary: `No on-disk migrations for contract space \"${outcome.spaceId}\"`,\n\t\t\twhy: `migrate is replay-only: space \"${outcome.spaceId}\" has no on-disk migrations but its head ref targets \"${outcome.targetHash}\".`,\n\t\t\tmeta: {\n\t\t\t\tspaceId: outcome.spaceId,\n\t\t\t\ttarget: outcome.targetHash,\n\t\t\t\tkind: \"neverPlanned\"\n\t\t\t}\n\t\t}));\n\t\tif (outcome.kind === \"unreachable\") {\n\t\t\tconst fromHash = outcome.liveMarker?.storageHash ?? EMPTY_CONTRACT_HASH;\n\t\t\treturn notOk(errorPathUnreachable({\n\t\t\t\tcode: \"MIGRATION_PATH_NOT_FOUND\",\n\t\t\t\tsummary: `No migration path from ${fromHash.slice(0, 14)} to ${outcome.targetHash.slice(0, 14)} in space \"${outcome.spaceId}\".`,\n\t\t\t\twhy: `The migration graph has no path from the from-state to the target in space \"${outcome.spaceId}\".`,\n\t\t\t\tmeta: {\n\t\t\t\t\tspaceId: outcome.spaceId,\n\t\t\t\t\tfrom: fromHash,\n\t\t\t\t\tto: outcome.targetHash\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t\tif (outcome.kind === \"unsatisfiable\") return notOk(errorRuntime(\"MIGRATION.NO_INVARIANT_PATH\", `Missing required invariants for space \"${outcome.spaceId}\"`, {\n\t\t\twhy: `The path requires invariants not available on disk: ${outcome.missing.join(\", \")}`,\n\t\t\tfix: \"Add a migration on the path that runs `dataTransform({ invariantId: \\\"<id>\\\", … })` for each missing invariant, or retarget the ref to a hash whose path already provides them.\",\n\t\t\tmeta: {\n\t\t\t\tspaceId: outcome.spaceId,\n\t\t\t\tmissing: [...outcome.missing]\n\t\t\t}\n\t\t}));\n\t\tfor (const edge of outcome.plan.migrationEdges) orderedMigrations.push({\n\t\t\tspaceId: space.spaceId,\n\t\t\tdirName: edge.dirName,\n\t\t\tmigrationHash: edge.migrationHash,\n\t\t\tfrom: edge.from,\n\t\t\tto: edge.to\n\t\t});\n\t}\n\tconst count = orderedMigrations.length;\n\treturn ok({\n\t\taggregate,\n\t\tcontractHash,\n\t\tmigrations: orderedMigrations,\n\t\tsummary: count === 0 ? \"Already up to date — nothing to run\" : `${count} migration${count === 1 ? \"\" : \"s\"} will run`,\n\t\trenderMarkerHashBySpace: new Map(allSpaces.map((s) => [s.spaceId, markerBySpace.get(s.spaceId)?.storageHash ?? EMPTY_CONTRACT_HASH])),\n\t\tusedLiveMarker: needsLiveMarker\n\t});\n}\n//#endregion\nexport { executeMigrateShowPlan as t };\n\n//# sourceMappingURL=migrate-show-C-fdCznr.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"migrate-show-BYZ_NAoY-DCyUeA4P.mjs","names":["CliStructuredError","errorRuntime"],"sources":["../../../../1-framework/3-tooling/cli/dist/migrate-show-BYZ_NAoY.mjs"],"sourcesContent":["import { D as errorRuntime, M as errorUnexpected, N as mapRefResolutionError, P as requireLiveDatabase, s as errorDatabaseConnectionRequired, t as CliStructuredError, x as errorPathUnreachable } from \"./cli-errors-CihMAEVj.mjs\";\nimport { c as resolveMigrationPaths, n as closeQuietly } from \"./command-helpers-uzQbbM97.mjs\";\nimport { r as buildReadAggregate } from \"./contract-space-aggregate-loader-Cd0X2M_C.mjs\";\nimport { n as planSpacePath, t as createControlClient } from \"./client-DLPcSdv7.mjs\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { requireHeadRef } from \"@internal/migration-tools/aggregate\";\nimport { EMPTY_CONTRACT_HASH } from \"@internal/migration-tools/constants\";\nimport { MigrationToolsError } from \"@internal/migration-tools/errors\";\nimport { readRefs } from \"@internal/migration-tools/refs\";\nimport { parseContractRef } from \"@internal/migration-tools/ref-resolution\";\n//#region src/control-api/operations/migrate-show.ts\n/**\n* Computes the path through the SAME seam as `executeMigrate`:\n* - `readAllMarkers()` for the from-state (when no `--from` is given), preserving\n* the full marker including `invariants` (not just `storageHash`).\n* - `planSpacePath()` (shared with `executeMigrate`) for per-space path selection,\n* which feeds `resolveRecordedPath()` with the same target hash, target invariants,\n* and current marker as the real apply path uses.\n*\n* Returns BEFORE any write boundary (`runMigration` / marker / DDL). No\n* DB state is mutated.\n*/\nasync function executeMigrateShowPlan(options) {\n\tconst config = options.config;\n\tconst { configPath, migrationsDir, migrationsRelative, refsDir } = resolveMigrationPaths(options.configPath, config, options.cwd);\n\tconst dbConnection = options.db ?? config.db?.connection;\n\tconst hasDriver = !!config.driver;\n\tconst hasExplicitFrom = options.from !== void 0;\n\tif (!hasExplicitFrom) {\n\t\tconst missingDb = requireLiveDatabase({\n\t\t\tdbConnection,\n\t\t\thasDriver,\n\t\t\twhy: \"migrate --show needs a database connection to read the live marker (or pass --from <contract> for an offline preview)\",\n\t\t\tretryCommand: \"prisma-next migrate --show --from <contract>\"\n\t\t});\n\t\tif (missingDb) return notOk(missingDb);\n\t}\n\tlet allRefs = {};\n\ttry {\n\t\tallRefs = await readRefs(refsDir);\n\t} catch (error) {\n\t\tif (MigrationToolsError.is(error)) return notOk(error);\n\t\tthrow error;\n\t}\n\tconst loaded = await buildReadAggregate(config, { migrationsDir });\n\tif (!loaded.ok) return notOk(loaded.failure);\n\tconst { aggregate, contractHash } = loaded.value;\n\tconst appGraph = aggregate.app.graph();\n\tlet targetHash = contractHash;\n\tlet refInvariants;\n\tif (options.to) {\n\t\tconst toResult = parseContractRef(options.to, {\n\t\t\tgraph: appGraph,\n\t\t\trefs: allRefs,\n\t\t\tcontractHash\n\t\t});\n\t\tif (!toResult.ok) return notOk(mapRefResolutionError(toResult.failure));\n\t\tif (toResult.value.provenance.kind === \"reserved-db\") return notOk(errorDatabaseConnectionRequired({\n\t\t\twhy: \"@db is not valid as a --to target; it names the live database state, not a target contract.\",\n\t\t\tcommandName: \"migrate --show\"\n\t\t}));\n\t\ttargetHash = toResult.value.hash;\n\t\tif (toResult.value.provenance.kind === \"ref\") {\n\t\t\tconst refEntry = allRefs[toResult.value.provenance.refName];\n\t\t\tif (refEntry) refInvariants = refEntry.invariants;\n\t\t}\n\t}\n\toptions.onPreflightComplete?.({\n\t\tconfigPath,\n\t\tmigrationsRelative,\n\t\tdbConnection,\n\t\thasExplicitFrom\n\t});\n\tconst markerBySpace = /* @__PURE__ */ new Map();\n\tconst allSpaces = [aggregate.app, ...aggregate.extensions];\n\tif (hasExplicitFrom) if (options.from === \"@db\") {\n\t\tconst missingDb = requireLiveDatabase({\n\t\t\tdbConnection,\n\t\t\thasDriver,\n\t\t\twhy: \"@db resolves to the live database marker and requires a --db connection\",\n\t\t\tretryCommand: \"prisma-next migrate --show --from @db --db $DATABASE_URL\"\n\t\t});\n\t\tif (missingDb) return notOk(missingDb);\n\t} else {\n\t\tconst fromResult = parseContractRef(options.from, {\n\t\t\tgraph: appGraph,\n\t\t\trefs: allRefs,\n\t\t\tcontractHash\n\t\t});\n\t\tif (!fromResult.ok) return notOk(mapRefResolutionError(fromResult.failure));\n\t\tif (fromResult.value.provenance.kind === \"reserved-db\") {\n\t\t\tconst missingDb = requireLiveDatabase({\n\t\t\t\tdbConnection,\n\t\t\t\thasDriver,\n\t\t\t\twhy: \"@db resolves to the live database marker and requires a --db connection\"\n\t\t\t});\n\t\t\tif (missingDb) return notOk(missingDb);\n\t\t} else {\n\t\t\tconst fromHash = fromResult.value.hash;\n\t\t\tconst offlineMarker = fromHash === EMPTY_CONTRACT_HASH ? null : {\n\t\t\t\tstorageHash: fromHash,\n\t\t\t\tinvariants: []\n\t\t\t};\n\t\t\tmarkerBySpace.set(aggregate.app.spaceId, offlineMarker);\n\t\t}\n\t}\n\tconst needsLiveMarker = !hasExplicitFrom || options.from === \"@db\";\n\tif (needsLiveMarker) {\n\t\tif (!dbConnection || !hasDriver) return notOk(errorDatabaseConnectionRequired({\n\t\t\twhy: \"A database connection is required to read the live marker for migrate --show\",\n\t\t\tcommandName: \"migrate --show\"\n\t\t}));\n\t\tconst client = createControlClient({\n\t\t\tfamily: config.family,\n\t\t\ttarget: config.target,\n\t\t\tadapter: config.adapter,\n\t\t\tdriver: config.driver,\n\t\t\textensions: config.extensions ?? []\n\t\t});\n\t\ttry {\n\t\t\tawait client.connect(dbConnection);\n\t\t\tconst allMarkers = await client.readAllMarkers();\n\t\t\tfor (const space of allSpaces) {\n\t\t\t\tconst marker = allMarkers.get(space.spaceId);\n\t\t\t\tmarkerBySpace.set(space.spaceId, marker ?? null);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (CliStructuredError.is(error)) return notOk(error);\n\t\t\treturn notOk(errorUnexpected(error instanceof Error ? error.message : String(error), { why: `Failed to read live DB marker: ${error instanceof Error ? error.message : String(error)}` }));\n\t\t} finally {\n\t\t\tawait closeQuietly(client);\n\t\t}\n\t}\n\tconst canonicalOrderSpaces = [...aggregate.extensions, aggregate.app];\n\tconst orderedMigrations = [];\n\tfor (const space of canonicalOrderSpaces) {\n\t\tconst isAppSpace = space.spaceId === aggregate.app.spaceId;\n\t\tconst headRef = requireHeadRef(space);\n\t\tconst outcome = planSpacePath({\n\t\t\tspace,\n\t\t\taggregate,\n\t\t\ttargetHash: isAppSpace ? targetHash : headRef.hash,\n\t\t\trefInvariants: isAppSpace ? refInvariants : void 0,\n\t\t\tliveMarker: markerBySpace.get(space.spaceId) ?? null\n\t\t});\n\t\tif (outcome.kind === \"at-head\") continue;\n\t\tif (outcome.kind === \"never-planned\") return notOk(errorPathUnreachable({\n\t\t\tcode: \"MIGRATION_PATH_NOT_FOUND\",\n\t\t\tsummary: `No on-disk migrations for contract space \"${outcome.spaceId}\"`,\n\t\t\twhy: `migrate is replay-only: space \"${outcome.spaceId}\" has no on-disk migrations but its head ref targets \"${outcome.targetHash}\".`,\n\t\t\tmeta: {\n\t\t\t\tspaceId: outcome.spaceId,\n\t\t\t\ttarget: outcome.targetHash,\n\t\t\t\tkind: \"neverPlanned\"\n\t\t\t}\n\t\t}));\n\t\tif (outcome.kind === \"unreachable\") {\n\t\t\tconst fromHash = outcome.liveMarker?.storageHash ?? EMPTY_CONTRACT_HASH;\n\t\t\treturn notOk(errorPathUnreachable({\n\t\t\t\tcode: \"MIGRATION_PATH_NOT_FOUND\",\n\t\t\t\tsummary: `No migration path from ${fromHash.slice(0, 14)} to ${outcome.targetHash.slice(0, 14)} in space \"${outcome.spaceId}\".`,\n\t\t\t\twhy: `The migration graph has no path from the from-state to the target in space \"${outcome.spaceId}\".`,\n\t\t\t\tmeta: {\n\t\t\t\t\tspaceId: outcome.spaceId,\n\t\t\t\t\tfrom: fromHash,\n\t\t\t\t\tto: outcome.targetHash\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t\tif (outcome.kind === \"unsatisfiable\") return notOk(errorRuntime(\"MIGRATION.NO_INVARIANT_PATH\", `Missing required invariants for space \"${outcome.spaceId}\"`, {\n\t\t\twhy: `The path requires invariants not available on disk: ${outcome.missing.join(\", \")}`,\n\t\t\tfix: \"Add a migration on the path that runs `dataTransform({ invariantId: \\\"<id>\\\", … })` for each missing invariant, or retarget the ref to a hash whose path already provides them.\",\n\t\t\tmeta: {\n\t\t\t\tspaceId: outcome.spaceId,\n\t\t\t\tmissing: [...outcome.missing]\n\t\t\t}\n\t\t}));\n\t\tfor (const edge of outcome.plan.migrationEdges) orderedMigrations.push({\n\t\t\tspaceId: space.spaceId,\n\t\t\tdirName: edge.dirName,\n\t\t\tmigrationHash: edge.migrationHash,\n\t\t\tfrom: edge.from,\n\t\t\tto: edge.to\n\t\t});\n\t}\n\tconst count = orderedMigrations.length;\n\treturn ok({\n\t\taggregate,\n\t\tcontractHash,\n\t\tmigrations: orderedMigrations,\n\t\tsummary: count === 0 ? \"Already up to date — nothing to run\" : `${count} migration${count === 1 ? \"\" : \"s\"} will run`,\n\t\trenderMarkerHashBySpace: new Map(allSpaces.map((s) => [s.spaceId, markerBySpace.get(s.spaceId)?.storageHash ?? EMPTY_CONTRACT_HASH])),\n\t\tusedLiveMarker: needsLiveMarker\n\t});\n}\n//#endregion\nexport { executeMigrateShowPlan as t };\n\n//# sourceMappingURL=migrate-show-BYZ_NAoY.mjs.map"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { o as loadConfigForSections } from "./exports-BZLNbtkY.mjs";
2
2
  import { I as runCommandAction, r as chooseAction } from "./cli-errors-CihMAEVj-C1uUYBop.mjs";
3
- import { a as formatErrorOutput, i as formatErrorJson, n as createTerminalUI } from "./terminal-ui-DQNCDg2u-B3PFqjB8.mjs";
4
- import { _ as resolveMigrationPaths, b as setCommandExamples, m as parseGlobalFlagsOrExit, s as formatStyledHeader, t as addGlobalOptions, x as setCommandSeeAlso, y as setCommandDescriptions } from "./command-helpers-DutQjYgy-CDfFwtAa.mjs";
5
- import { r as buildReadAggregate } from "./contract-space-aggregate-loader-sF0OJ6oz-jRjdZoyZ.mjs";
6
- import { i as runMigrationCheck, n as enumerateCheckSpaces, r as loadAggregateIntegrityViolations, t as checkSingleTarget } from "./migration-check-C-2GTAGq-Duc0P6Uo.mjs";
3
+ import { a as formatErrorOutput, i as formatErrorJson, n as createTerminalUI } from "./terminal-ui-CUZTa2vH-WvAtuIOS.mjs";
4
+ import { _ as resolveMigrationPaths, b as setCommandExamples, m as parseGlobalFlagsOrExit, s as formatStyledHeader, t as addGlobalOptions, x as setCommandSeeAlso, y as setCommandDescriptions } from "./command-helpers-uzQbbM97-EaL4zWf5.mjs";
5
+ import { r as buildReadAggregate } from "./contract-space-aggregate-loader-Cd0X2M_C-CFBkD540.mjs";
6
+ import { i as runMigrationCheck, n as enumerateCheckSpaces, r as loadAggregateIntegrityViolations, t as checkSingleTarget } from "./migration-check-RlegqnJv-ZUcop5v4.mjs";
7
7
  import { join, relative } from "pathe";
8
8
  import { Command } from "commander";
9
- //#region ../../../1-framework/3-tooling/cli/dist/migration-check-DATj3HSn.mjs
9
+ //#region ../../../1-framework/3-tooling/cli/dist/migration-check-ASAenQ02.mjs
10
10
  function migrationPathRelative(dirPath) {
11
11
  return relative(process.cwd(), dirPath);
12
12
  }
@@ -269,4 +269,4 @@ function createMigrationCheckCommand() {
269
269
  //#endregion
270
270
  export { createMigrationCheckCommand as t };
271
271
 
272
- //# sourceMappingURL=migration-check-DATj3HSn-Del6ZSln.mjs.map
272
+ //# sourceMappingURL=migration-check-ASAenQ02-B9a5jI8S.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"migration-check-DATj3HSn-Del6ZSln.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/migration-check-DATj3HSn.mjs"],"sourcesContent":["import { F as chooseAction, I as runCommandAction } from \"./cli-errors-CihMAEVj.mjs\";\nimport { i as formatErrorOutput, r as formatErrorJson, t as createTerminalUI } from \"./terminal-ui-DQNCDg2u.mjs\";\nimport { S as formatStyledHeader, _ as parseGlobalFlagsOrExit, c as resolveMigrationPaths, d as setCommandExamples, f as setCommandSeeAlso, t as addGlobalOptions, u as setCommandDescriptions } from \"./command-helpers-DutQjYgy.mjs\";\nimport { r as buildReadAggregate } from \"./contract-space-aggregate-loader-sF0OJ6oz.mjs\";\nimport { i as runMigrationCheck, n as enumerateCheckSpaces, r as loadAggregateIntegrityViolations, t as checkSingleTarget } from \"./migration-check-C-2GTAGq.mjs\";\nimport { Command } from \"commander\";\nimport { loadConfigForSections } from \"@internal/config-loader\";\nimport { join, relative } from \"pathe\";\n//#region src/utils/integrity-violation-to-check-failure.ts\nfunction migrationPathRelative(dirPath) {\n\treturn relative(process.cwd(), dirPath);\n}\nfunction migrationFileRelative(dirPath, fileName) {\n\treturn join(migrationPathRelative(dirPath), fileName);\n}\n/**\n* Map one {@link IntegrityViolation} onto a `migration check` failure row.\n* Sole catalogue mapping from integrity violations to `MIGRATION.CHECK_*` codes.\n*/\nfunction integrityViolationToCheckFailure(violation, migrationsDir) {\n\tconst spaceRelative = (spaceId) => migrationPathRelative(join(migrationsDir, spaceId));\n\tconst packageRelative = (spaceId, dirName) => migrationPathRelative(join(migrationsDir, spaceId, dirName));\n\tconst refRelative = (spaceId, refName) => migrationPathRelative(join(migrationsDir, spaceId, \"refs\", `${refName}.json`));\n\tswitch (violation.kind) {\n\t\tcase \"hashMismatch\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_HASH_MISMATCH\",\n\t\t\twhere: migrationFileRelative(join(migrationsDir, violation.spaceId, violation.dirName), \"migration.json\"),\n\t\t\twhy: `Stored hash ${violation.stored} does not match recomputed hash ${violation.computed}`,\n\t\t\tnextActions: [chooseAction(\"Re-emit the migration package, or restore it from version control\")]\n\t\t};\n\t\tcase \"providedInvariantsMismatch\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_PROVIDED_INVARIANTS_MISMATCH\",\n\t\t\twhere: packageRelative(violation.spaceId, violation.dirName),\n\t\t\twhy: `Migration \"${violation.dirName}\" providedInvariants in migration.json disagrees with ops.json.`,\n\t\t\tnextActions: [chooseAction(\"Re-emit the migration package so migration.json and ops.json agree\")]\n\t\t};\n\t\tcase \"packageUnloadable\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_PACKAGE_UNLOADABLE\",\n\t\t\twhere: packageRelative(violation.spaceId, violation.dirName),\n\t\t\twhy: `Migration \"${violation.dirName}\" could not be loaded: ${violation.detail}`,\n\t\t\tnextActions: [chooseAction(\"Re-emit the migration package, or restore it from version control\")]\n\t\t};\n\t\tcase \"sameSourceAndTarget\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_NOOP_SELF_EDGE\",\n\t\t\twhere: packageRelative(violation.spaceId, violation.dirName),\n\t\t\twhy: `Migration \"${violation.dirName}\" in space \"${violation.spaceId}\" has source equal to target (${violation.hash}) with no data invariant — a true no-op self-edge.`,\n\t\t\tnextActions: [chooseAction(\"Add a data operation if this self-edge was meant to carry a data invariant\"), chooseAction(\"Or delete the migration if it is a true no-op\")]\n\t\t};\n\t\tcase \"orphanSpaceDir\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_ORPHAN_SPACE_DIR\",\n\t\t\twhere: spaceRelative(violation.spaceId),\n\t\t\twhy: `Contract-space directory \"${violation.spaceId}\" exists on disk but no extension declares it.`,\n\t\t\tnextActions: [chooseAction(\"Remove the orphan directory\"), chooseAction(\"Or declare the extension in `extensions`\")]\n\t\t};\n\t\tcase \"declaredButUnmigrated\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_DECLARED_BUT_UNMIGRATED\",\n\t\t\twhere: spaceRelative(violation.spaceId),\n\t\t\twhy: `Extension \"${violation.spaceId}\" is declared in \\`extensions\\` but has no on-disk migrations directory.`,\n\t\t\tnextActions: [runCommandAction(\"Re-emit the extension contract-space artefacts, then plan its migrations\", \"prisma-next contract emit\"), chooseAction(\"Or remove the extension from `extensions` if it is unused\")]\n\t\t};\n\t\tcase \"headRefMissing\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_HEAD_REF_MISSING\",\n\t\t\twhere: refRelative(violation.spaceId, \"head\"),\n\t\t\twhy: `Head ref \\`refs/head.json\\` is missing for contract space \"${violation.spaceId}\".`,\n\t\t\tnextActions: [chooseAction(\"Re-emit the contract-space migrations and head ref artefacts\"), chooseAction(\"Or restore `refs/head.json` from version control\")]\n\t\t};\n\t\tcase \"headRefNotInGraph\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_HEAD_REF_NOT_IN_GRAPH\",\n\t\t\twhere: refRelative(violation.spaceId, \"head\"),\n\t\t\twhy: `Head ref ${violation.hash} for contract space \"${violation.spaceId}\" is not present in its migration graph.`,\n\t\t\tnextActions: [chooseAction(\"Re-emit the contract-space migrations\"), chooseAction(\"Or restore the missing migration package\")]\n\t\t};\n\t\tcase \"refUnreadable\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_REF_UNREADABLE\",\n\t\t\twhere: refRelative(violation.spaceId, violation.refName),\n\t\t\twhy: `Ref \"${violation.refName}\" for contract space \"${violation.spaceId}\" is unreadable: ${violation.detail}`,\n\t\t\tnextActions: [chooseAction(\"Repair or remove the corrupt ref file\")]\n\t\t};\n\t\tcase \"targetMismatch\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_TARGET_MISMATCH\",\n\t\t\twhere: spaceRelative(violation.spaceId),\n\t\t\twhy: `Contract space \"${violation.spaceId}\" targets \"${violation.actual}\" but the project targets \"${violation.expected}\".`,\n\t\t\tnextActions: [chooseAction(\"Update the extension to target the configured database\"), chooseAction(\"Or change the project target\")]\n\t\t};\n\t\tcase \"disjointness\": return {\n\t\t\tspace: \"app\",\n\t\t\tcode: \"MIGRATION.CHECK_SPACE_DISJOINTNESS_VIOLATION\",\n\t\t\twhere: migrationPathRelative(migrationsDir),\n\t\t\twhy: `Storage element \"${violation.element}\" is claimed by multiple contract spaces: ${violation.claimedBy.join(\", \")}.`,\n\t\t\tnextActions: [chooseAction(\"Update the contracts so each storage element is owned by exactly one contract space\")]\n\t\t};\n\t\tcase \"contractUnreadable\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_CONTRACT_UNREADABLE\",\n\t\t\twhere: migrationFileRelative(join(migrationsDir, violation.spaceId), \"contract.json\"),\n\t\t\twhy: `Contract for space \"${violation.spaceId}\" is unreadable: ${violation.detail}`,\n\t\t\tnextActions: [runCommandAction(\"Re-emit the extension contract artefacts\", \"prisma-next contract emit\"), chooseAction(\"Or fix the descriptor producing the invalid contract\")]\n\t\t};\n\t\tcase \"duplicateMigrationHash\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_DUPLICATE_MIGRATION_HASH\",\n\t\t\twhere: spaceRelative(violation.spaceId),\n\t\t\twhy: `Multiple migrations in space \"${violation.spaceId}\" share migrationHash \"${violation.migrationHash}\" (${violation.dirNames.join(\", \")}).`,\n\t\t\tnextActions: [chooseAction(\"Re-emit one of the conflicting packages so each migrationHash is unique\")]\n\t\t};\n\t}\n}\n//#endregion\n//#region src/commands/migration-check.ts\nasync function executeMigrationCheckCommand(target, options, flags, ui) {\n\tconst configResult = await loadConfigForSections(options.config, [\n\t\t\"family\",\n\t\t\"target\",\n\t\t\"adapter\",\n\t\t\"extensions\",\n\t\t\"migrations\",\n\t\t\"contract\"\n\t]);\n\tif (!configResult.ok) return {\n\t\terror: configResult.failure,\n\t\texitCode: 2\n\t};\n\tconst config = configResult.value;\n\tconst { configPath, migrationsDir, appMigrationsDir, appMigrationsRelative } = resolveMigrationPaths(options.config, config, process.cwd());\n\tif (!flags.json && !flags.quiet) {\n\t\tconst details = [{\n\t\t\tlabel: \"config\",\n\t\t\tvalue: configPath\n\t\t}, {\n\t\t\tlabel: \"migrations\",\n\t\t\tvalue: appMigrationsRelative\n\t\t}];\n\t\tif (target) details.push({\n\t\t\tlabel: \"target\",\n\t\t\tvalue: target\n\t\t});\n\t\tconst header = formatStyledHeader({\n\t\t\tcommand: \"migration check\",\n\t\t\tdescription: \"Verify artifact and graph integrity\",\n\t\t\tdetails,\n\t\t\tflags\n\t\t});\n\t\tui.stderr(header);\n\t}\n\tconst loadedAggregate = await buildReadAggregate(config, { migrationsDir });\n\tif (!loadedAggregate.ok) return {\n\t\terror: loadedAggregate.failure,\n\t\texitCode: 2\n\t};\n\tconst spaces = await enumerateCheckSpaces(loadedAggregate.value.aggregate, migrationsDir, process.cwd());\n\tif (target) return await checkSingleTarget(target, {\n\t\tspaces,\n\t\t...options.space !== void 0 ? { spaceFilter: options.space } : {},\n\t\tappMigrationsDir,\n\t\tappMigrationsRelative,\n\t\tcwd: process.cwd()\n\t});\n\tconst checkResult = await runMigrationCheck({\n\t\tspaces,\n\t\t...options.space !== void 0 ? { spaceFilter: options.space } : {}\n\t});\n\tif (!checkResult.ok) return {\n\t\terror: checkResult.failure,\n\t\texitCode: 2\n\t};\n\tconst failures = [...checkResult.value.failures];\n\tconst allViolations = await loadAggregateIntegrityViolations(config, migrationsDir);\n\tconst scopedViolations = options.space === void 0 ? allViolations : allViolations.filter((v) => v.kind !== \"disjointness\" && v.spaceId === options.space);\n\tfor (const violation of scopedViolations) failures.push(integrityViolationToCheckFailure(violation, migrationsDir));\n\tif (failures.length === 0) return {\n\t\tresult: {\n\t\t\tok: true,\n\t\t\tfailures: [],\n\t\t\tsummary: \"All checks passed\"\n\t\t},\n\t\texitCode: 0\n\t};\n\treturn {\n\t\tresult: {\n\t\t\tok: false,\n\t\t\tfailures,\n\t\t\tsummary: `${failures.length} integrity failure(s)`\n\t\t},\n\t\texitCode: 4\n\t};\n}\nfunction createMigrationCheckCommand() {\n\tconst command = new Command(\"check\");\n\tsetCommandDescriptions(command, \"Verify artifact and graph integrity\", \"Validates that on-disk migration packages are internally consistent\\n(hashes match, manifests are complete) and that the graph is well-formed\\n(edges connect, refs point at valid nodes). The whole-graph check spans\\nevery contract space by default; pass --space <id> to narrow to one. A\\nmigration reference checks a single package, resolved across all contract\\nspaces (narrow with --space; an ambiguous reference is a precondition failure).\\nOffline — does not consult the database.\\nExit codes: 0 = all checks passed, 2 = precondition failed\\n(unresolved target or unknown --space), 4 = integrity failure(s) found.\");\n\tsetCommandExamples(command, [\n\t\t\"prisma-next migration check\",\n\t\t\"prisma-next migration check --space app\",\n\t\t\"prisma-next migration check 20260101-add-users\",\n\t\t\"prisma-next migration check 20260101-add-users --space app\",\n\t\t\"prisma-next migration check --json\"\n\t]);\n\tsetCommandSeeAlso(command, [\n\t\t{\n\t\t\tverb: \"migration status\",\n\t\t\toneLiner: \"Show migration path and pending status\"\n\t\t},\n\t\t{\n\t\t\tverb: \"migration list\",\n\t\t\toneLiner: \"List on-disk migrations\"\n\t\t},\n\t\t{\n\t\t\tverb: \"migration graph\",\n\t\t\toneLiner: \"Show the migration graph topology\"\n\t\t},\n\t\t{\n\t\t\tverb: \"migration show\",\n\t\t\toneLiner: \"Display migration package contents\"\n\t\t}\n\t]);\n\tcommand.exitOverride();\n\taddGlobalOptions(command).argument(\"[target]\", \"Migration reference: directory name, hash/prefix, ref, or path\").option(\"--config <path>\", \"Path to prisma-next.config.ts\").option(\"--space <id>\", \"Narrow output to a single contract space\").action(async (target, options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tlet outcome;\n\t\ttry {\n\t\t\toutcome = await executeMigrationCheckCommand(target, options, flags, ui);\n\t\t} catch (error) {\n\t\t\toutcome = {\n\t\t\t\tresult: {\n\t\t\t\t\tok: false,\n\t\t\t\t\tfailures: [],\n\t\t\t\t\tsummary: error instanceof Error ? error.message : String(error)\n\t\t\t\t},\n\t\t\t\texitCode: 2\n\t\t\t};\n\t\t}\n\t\tif (outcome.error) {\n\t\t\tconst envelope = outcome.error.toEnvelope();\n\t\t\tif (flags.json) ui.output(formatErrorJson(envelope));\n\t\t\telse if (!flags.quiet) ui.error(formatErrorOutput(envelope, flags));\n\t\t\tprocess.exit(outcome.exitCode);\n\t\t}\n\t\tconst result = outcome.result ?? {\n\t\t\tok: false,\n\t\t\tfailures: [],\n\t\t\tsummary: \"No check result produced\"\n\t\t};\n\t\tif (flags.json) ui.output(JSON.stringify(result, null, 2));\n\t\telse if (!flags.quiet) if (result.ok) {\n\t\t\tconst spaceSuffix = outcome.resolvedSpaceId !== void 0 ? ` (space: ${outcome.resolvedSpaceId})` : \"\";\n\t\t\tui.log(`✔ ${result.summary}${spaceSuffix}`);\n\t\t} else {\n\t\t\tfor (const f of result.failures) {\n\t\t\t\tui.log(`✗ [${f.code}] ${f.where}: ${f.why}`);\n\t\t\t\tfor (const action of f.nextActions) {\n\t\t\t\t\tconst command = action.command === void 0 ? \"\" : `: ${action.command}`;\n\t\t\t\t\tui.log(` next: ${action.label}${command}`);\n\t\t\t\t}\n\t\t\t}\n\t\t\tui.log(`\\n${result.summary}`);\n\t\t}\n\t\tprocess.exit(outcome.exitCode);\n\t});\n\treturn command;\n}\n//#endregion\nexport { createMigrationCheckCommand as t };\n\n//# sourceMappingURL=migration-check-DATj3HSn.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"migration-check-ASAenQ02-B9a5jI8S.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/migration-check-ASAenQ02.mjs"],"sourcesContent":["import { F as chooseAction, I as runCommandAction } from \"./cli-errors-CihMAEVj.mjs\";\nimport { i as formatErrorOutput, r as formatErrorJson, t as createTerminalUI } from \"./terminal-ui-CUZTa2vH.mjs\";\nimport { S as formatStyledHeader, _ as parseGlobalFlagsOrExit, c as resolveMigrationPaths, d as setCommandExamples, f as setCommandSeeAlso, t as addGlobalOptions, u as setCommandDescriptions } from \"./command-helpers-uzQbbM97.mjs\";\nimport { r as buildReadAggregate } from \"./contract-space-aggregate-loader-Cd0X2M_C.mjs\";\nimport { i as runMigrationCheck, n as enumerateCheckSpaces, r as loadAggregateIntegrityViolations, t as checkSingleTarget } from \"./migration-check-RlegqnJv.mjs\";\nimport { Command } from \"commander\";\nimport { loadConfigForSections } from \"@internal/config-loader\";\nimport { join, relative } from \"pathe\";\n//#region src/utils/integrity-violation-to-check-failure.ts\nfunction migrationPathRelative(dirPath) {\n\treturn relative(process.cwd(), dirPath);\n}\nfunction migrationFileRelative(dirPath, fileName) {\n\treturn join(migrationPathRelative(dirPath), fileName);\n}\n/**\n* Map one {@link IntegrityViolation} onto a `migration check` failure row.\n* Sole catalogue mapping from integrity violations to `MIGRATION.CHECK_*` codes.\n*/\nfunction integrityViolationToCheckFailure(violation, migrationsDir) {\n\tconst spaceRelative = (spaceId) => migrationPathRelative(join(migrationsDir, spaceId));\n\tconst packageRelative = (spaceId, dirName) => migrationPathRelative(join(migrationsDir, spaceId, dirName));\n\tconst refRelative = (spaceId, refName) => migrationPathRelative(join(migrationsDir, spaceId, \"refs\", `${refName}.json`));\n\tswitch (violation.kind) {\n\t\tcase \"hashMismatch\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_HASH_MISMATCH\",\n\t\t\twhere: migrationFileRelative(join(migrationsDir, violation.spaceId, violation.dirName), \"migration.json\"),\n\t\t\twhy: `Stored hash ${violation.stored} does not match recomputed hash ${violation.computed}`,\n\t\t\tnextActions: [chooseAction(\"Re-emit the migration package, or restore it from version control\")]\n\t\t};\n\t\tcase \"providedInvariantsMismatch\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_PROVIDED_INVARIANTS_MISMATCH\",\n\t\t\twhere: packageRelative(violation.spaceId, violation.dirName),\n\t\t\twhy: `Migration \"${violation.dirName}\" providedInvariants in migration.json disagrees with ops.json.`,\n\t\t\tnextActions: [chooseAction(\"Re-emit the migration package so migration.json and ops.json agree\")]\n\t\t};\n\t\tcase \"packageUnloadable\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_PACKAGE_UNLOADABLE\",\n\t\t\twhere: packageRelative(violation.spaceId, violation.dirName),\n\t\t\twhy: `Migration \"${violation.dirName}\" could not be loaded: ${violation.detail}`,\n\t\t\tnextActions: [chooseAction(\"Re-emit the migration package, or restore it from version control\")]\n\t\t};\n\t\tcase \"sameSourceAndTarget\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_NOOP_SELF_EDGE\",\n\t\t\twhere: packageRelative(violation.spaceId, violation.dirName),\n\t\t\twhy: `Migration \"${violation.dirName}\" in space \"${violation.spaceId}\" has source equal to target (${violation.hash}) with no data invariant — a true no-op self-edge.`,\n\t\t\tnextActions: [chooseAction(\"Add a data operation if this self-edge was meant to carry a data invariant\"), chooseAction(\"Or delete the migration if it is a true no-op\")]\n\t\t};\n\t\tcase \"orphanSpaceDir\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_ORPHAN_SPACE_DIR\",\n\t\t\twhere: spaceRelative(violation.spaceId),\n\t\t\twhy: `Contract-space directory \"${violation.spaceId}\" exists on disk but no extension declares it.`,\n\t\t\tnextActions: [chooseAction(\"Remove the orphan directory\"), chooseAction(\"Or declare the extension in `extensions`\")]\n\t\t};\n\t\tcase \"declaredButUnmigrated\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_DECLARED_BUT_UNMIGRATED\",\n\t\t\twhere: spaceRelative(violation.spaceId),\n\t\t\twhy: `Extension \"${violation.spaceId}\" is declared in \\`extensions\\` but has no on-disk migrations directory.`,\n\t\t\tnextActions: [runCommandAction(\"Re-emit the extension contract-space artefacts, then plan its migrations\", \"prisma-next contract emit\"), chooseAction(\"Or remove the extension from `extensions` if it is unused\")]\n\t\t};\n\t\tcase \"headRefMissing\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_HEAD_REF_MISSING\",\n\t\t\twhere: refRelative(violation.spaceId, \"head\"),\n\t\t\twhy: `Head ref \\`refs/head.json\\` is missing for contract space \"${violation.spaceId}\".`,\n\t\t\tnextActions: [chooseAction(\"Re-emit the contract-space migrations and head ref artefacts\"), chooseAction(\"Or restore `refs/head.json` from version control\")]\n\t\t};\n\t\tcase \"headRefNotInGraph\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_HEAD_REF_NOT_IN_GRAPH\",\n\t\t\twhere: refRelative(violation.spaceId, \"head\"),\n\t\t\twhy: `Head ref ${violation.hash} for contract space \"${violation.spaceId}\" is not present in its migration graph.`,\n\t\t\tnextActions: [chooseAction(\"Re-emit the contract-space migrations\"), chooseAction(\"Or restore the missing migration package\")]\n\t\t};\n\t\tcase \"refUnreadable\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_REF_UNREADABLE\",\n\t\t\twhere: refRelative(violation.spaceId, violation.refName),\n\t\t\twhy: `Ref \"${violation.refName}\" for contract space \"${violation.spaceId}\" is unreadable: ${violation.detail}`,\n\t\t\tnextActions: [chooseAction(\"Repair or remove the corrupt ref file\")]\n\t\t};\n\t\tcase \"targetMismatch\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_TARGET_MISMATCH\",\n\t\t\twhere: spaceRelative(violation.spaceId),\n\t\t\twhy: `Contract space \"${violation.spaceId}\" targets \"${violation.actual}\" but the project targets \"${violation.expected}\".`,\n\t\t\tnextActions: [chooseAction(\"Update the extension to target the configured database\"), chooseAction(\"Or change the project target\")]\n\t\t};\n\t\tcase \"disjointness\": return {\n\t\t\tspace: \"app\",\n\t\t\tcode: \"MIGRATION.CHECK_SPACE_DISJOINTNESS_VIOLATION\",\n\t\t\twhere: migrationPathRelative(migrationsDir),\n\t\t\twhy: `Storage element \"${violation.element}\" is claimed by multiple contract spaces: ${violation.claimedBy.join(\", \")}.`,\n\t\t\tnextActions: [chooseAction(\"Update the contracts so each storage element is owned by exactly one contract space\")]\n\t\t};\n\t\tcase \"contractUnreadable\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_CONTRACT_UNREADABLE\",\n\t\t\twhere: migrationFileRelative(join(migrationsDir, violation.spaceId), \"contract.json\"),\n\t\t\twhy: `Contract for space \"${violation.spaceId}\" is unreadable: ${violation.detail}`,\n\t\t\tnextActions: [runCommandAction(\"Re-emit the extension contract artefacts\", \"prisma-next contract emit\"), chooseAction(\"Or fix the descriptor producing the invalid contract\")]\n\t\t};\n\t\tcase \"duplicateMigrationHash\": return {\n\t\t\tspace: violation.spaceId,\n\t\t\tcode: \"MIGRATION.CHECK_DUPLICATE_MIGRATION_HASH\",\n\t\t\twhere: spaceRelative(violation.spaceId),\n\t\t\twhy: `Multiple migrations in space \"${violation.spaceId}\" share migrationHash \"${violation.migrationHash}\" (${violation.dirNames.join(\", \")}).`,\n\t\t\tnextActions: [chooseAction(\"Re-emit one of the conflicting packages so each migrationHash is unique\")]\n\t\t};\n\t}\n}\n//#endregion\n//#region src/commands/migration-check.ts\nasync function executeMigrationCheckCommand(target, options, flags, ui) {\n\tconst configResult = await loadConfigForSections(options.config, [\n\t\t\"family\",\n\t\t\"target\",\n\t\t\"adapter\",\n\t\t\"extensions\",\n\t\t\"migrations\",\n\t\t\"contract\"\n\t]);\n\tif (!configResult.ok) return {\n\t\terror: configResult.failure,\n\t\texitCode: 2\n\t};\n\tconst config = configResult.value;\n\tconst { configPath, migrationsDir, appMigrationsDir, appMigrationsRelative } = resolveMigrationPaths(options.config, config, process.cwd());\n\tif (!flags.json && !flags.quiet) {\n\t\tconst details = [{\n\t\t\tlabel: \"config\",\n\t\t\tvalue: configPath\n\t\t}, {\n\t\t\tlabel: \"migrations\",\n\t\t\tvalue: appMigrationsRelative\n\t\t}];\n\t\tif (target) details.push({\n\t\t\tlabel: \"target\",\n\t\t\tvalue: target\n\t\t});\n\t\tconst header = formatStyledHeader({\n\t\t\tcommand: \"migration check\",\n\t\t\tdescription: \"Verify artifact and graph integrity\",\n\t\t\tdetails,\n\t\t\tflags\n\t\t});\n\t\tui.stderr(header);\n\t}\n\tconst loadedAggregate = await buildReadAggregate(config, { migrationsDir });\n\tif (!loadedAggregate.ok) return {\n\t\terror: loadedAggregate.failure,\n\t\texitCode: 2\n\t};\n\tconst spaces = await enumerateCheckSpaces(loadedAggregate.value.aggregate, migrationsDir, process.cwd());\n\tif (target) return await checkSingleTarget(target, {\n\t\tspaces,\n\t\t...options.space !== void 0 ? { spaceFilter: options.space } : {},\n\t\tappMigrationsDir,\n\t\tappMigrationsRelative,\n\t\tcwd: process.cwd()\n\t});\n\tconst checkResult = await runMigrationCheck({\n\t\tspaces,\n\t\t...options.space !== void 0 ? { spaceFilter: options.space } : {}\n\t});\n\tif (!checkResult.ok) return {\n\t\terror: checkResult.failure,\n\t\texitCode: 2\n\t};\n\tconst failures = [...checkResult.value.failures];\n\tconst allViolations = await loadAggregateIntegrityViolations(config, migrationsDir);\n\tconst scopedViolations = options.space === void 0 ? allViolations : allViolations.filter((v) => v.kind !== \"disjointness\" && v.spaceId === options.space);\n\tfor (const violation of scopedViolations) failures.push(integrityViolationToCheckFailure(violation, migrationsDir));\n\tif (failures.length === 0) return {\n\t\tresult: {\n\t\t\tok: true,\n\t\t\tfailures: [],\n\t\t\tsummary: \"All checks passed\"\n\t\t},\n\t\texitCode: 0\n\t};\n\treturn {\n\t\tresult: {\n\t\t\tok: false,\n\t\t\tfailures,\n\t\t\tsummary: `${failures.length} integrity failure(s)`\n\t\t},\n\t\texitCode: 4\n\t};\n}\nfunction createMigrationCheckCommand() {\n\tconst command = new Command(\"check\");\n\tsetCommandDescriptions(command, \"Verify artifact and graph integrity\", \"Validates that on-disk migration packages are internally consistent\\n(hashes match, manifests are complete) and that the graph is well-formed\\n(edges connect, refs point at valid nodes). The whole-graph check spans\\nevery contract space by default; pass --space <id> to narrow to one. A\\nmigration reference checks a single package, resolved across all contract\\nspaces (narrow with --space; an ambiguous reference is a precondition failure).\\nOffline — does not consult the database.\\nExit codes: 0 = all checks passed, 2 = precondition failed\\n(unresolved target or unknown --space), 4 = integrity failure(s) found.\");\n\tsetCommandExamples(command, [\n\t\t\"prisma-next migration check\",\n\t\t\"prisma-next migration check --space app\",\n\t\t\"prisma-next migration check 20260101-add-users\",\n\t\t\"prisma-next migration check 20260101-add-users --space app\",\n\t\t\"prisma-next migration check --json\"\n\t]);\n\tsetCommandSeeAlso(command, [\n\t\t{\n\t\t\tverb: \"migration status\",\n\t\t\toneLiner: \"Show migration path and pending status\"\n\t\t},\n\t\t{\n\t\t\tverb: \"migration list\",\n\t\t\toneLiner: \"List on-disk migrations\"\n\t\t},\n\t\t{\n\t\t\tverb: \"migration graph\",\n\t\t\toneLiner: \"Show the migration graph topology\"\n\t\t},\n\t\t{\n\t\t\tverb: \"migration show\",\n\t\t\toneLiner: \"Display migration package contents\"\n\t\t}\n\t]);\n\tcommand.exitOverride();\n\taddGlobalOptions(command).argument(\"[target]\", \"Migration reference: directory name, hash/prefix, ref, or path\").option(\"--config <path>\", \"Path to prisma-next.config.ts\").option(\"--space <id>\", \"Narrow output to a single contract space\").action(async (target, options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tlet outcome;\n\t\ttry {\n\t\t\toutcome = await executeMigrationCheckCommand(target, options, flags, ui);\n\t\t} catch (error) {\n\t\t\toutcome = {\n\t\t\t\tresult: {\n\t\t\t\t\tok: false,\n\t\t\t\t\tfailures: [],\n\t\t\t\t\tsummary: error instanceof Error ? error.message : String(error)\n\t\t\t\t},\n\t\t\t\texitCode: 2\n\t\t\t};\n\t\t}\n\t\tif (outcome.error) {\n\t\t\tconst envelope = outcome.error.toEnvelope();\n\t\t\tif (flags.json) ui.output(formatErrorJson(envelope));\n\t\t\telse if (!flags.quiet) ui.error(formatErrorOutput(envelope, flags));\n\t\t\tprocess.exit(outcome.exitCode);\n\t\t}\n\t\tconst result = outcome.result ?? {\n\t\t\tok: false,\n\t\t\tfailures: [],\n\t\t\tsummary: \"No check result produced\"\n\t\t};\n\t\tif (flags.json) ui.output(JSON.stringify(result, null, 2));\n\t\telse if (!flags.quiet) if (result.ok) {\n\t\t\tconst spaceSuffix = outcome.resolvedSpaceId !== void 0 ? ` (space: ${outcome.resolvedSpaceId})` : \"\";\n\t\t\tui.log(`✔ ${result.summary}${spaceSuffix}`);\n\t\t} else {\n\t\t\tfor (const f of result.failures) {\n\t\t\t\tui.log(`✗ [${f.code}] ${f.where}: ${f.why}`);\n\t\t\t\tfor (const action of f.nextActions) {\n\t\t\t\t\tconst command = action.command === void 0 ? \"\" : `: ${action.command}`;\n\t\t\t\t\tui.log(` next: ${action.label}${command}`);\n\t\t\t\t}\n\t\t\t}\n\t\t\tui.log(`\\n${result.summary}`);\n\t\t}\n\t\tprocess.exit(outcome.exitCode);\n\t});\n\treturn command;\n}\n//#endregion\nexport { createMigrationCheckCommand as t };\n\n//# sourceMappingURL=migration-check-ASAenQ02.mjs.map"],"mappings":"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"}
@@ -4,9 +4,9 @@ import { r as readContractSnapshotJson, t as contractSnapshotDir } from "./contr
4
4
  import { n as verifyMigrationHash } from "./hash-DH8hl5Rq-BpM2t3Nu.mjs";
5
5
  import "./constants-CM-w38DQ-Cz_EXbOc.mjs";
6
6
  import { a as isValidSpaceId, c as spaceMigrationDirectory, l as spaceRefsDirectory, o as listContractSpaceDirectories } from "./verify-contract-spaces-WvjSiWcB-DZPPCwWO.mjs";
7
- import { g as resolveContractPath } from "./command-helpers-DutQjYgy-CDfFwtAa.mjs";
7
+ import { g as resolveContractPath } from "./command-helpers-uzQbbM97-EaL4zWf5.mjs";
8
8
  import { s as loadContractSpaceAggregate } from "./aggregate-BKbHUHLA.mjs";
9
- import { u as toDeclaredExtensionsFromRaw } from "./contract-space-aggregate-loader-sF0OJ6oz-jRjdZoyZ.mjs";
9
+ import { u as toDeclaredExtensionsFromRaw } from "./contract-space-aggregate-loader-Cd0X2M_C-CFBkD540.mjs";
10
10
  import { r as parseMigrationRef } from "./ref-resolution-Ct2GMcNB.mjs";
11
11
  import { i as resolveTargetPathAcrossSpaces, n as looksLikePath, r as resolveAppTargetPath, t as findPackageByDirPath } from "./migration-path-target-yA4h5Zc6-DlzBblBG.mjs";
12
12
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
@@ -15,7 +15,7 @@ import { existsSync, readdirSync, statSync } from "node:fs";
15
15
  import { readFile } from "node:fs/promises";
16
16
  import { createControlStack } from "@prisma/orm-framework/components/control";
17
17
  import { notOk, ok } from "@prisma/orm-framework/utils/result";
18
- //#region ../../../1-framework/3-tooling/cli/dist/migration-check-C-2GTAGq.mjs
18
+ //#region ../../../1-framework/3-tooling/cli/dist/migration-check-RlegqnJv.mjs
19
19
  /**
20
20
  * Policy core of `migration check`: per-space explicit graph checks, aggregate-integrity loading, and single-target resolution.
21
21
  */
@@ -355,4 +355,4 @@ async function checkSingleTarget(target, inputs) {
355
355
  //#endregion
356
356
  export { runMigrationCheck as i, enumerateCheckSpaces as n, loadAggregateIntegrityViolations as r, checkSingleTarget as t };
357
357
 
358
- //# sourceMappingURL=migration-check-C-2GTAGq-Duc0P6Uo.mjs.map
358
+ //# sourceMappingURL=migration-check-RlegqnJv-ZUcop5v4.mjs.map