@prisma/orm-toolchain 8.0.0-rc.1-dev.39 → 8.0.0-rc.1-dev.41
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.
- package/dist/bin__prisma-next.mjs +24 -24
- package/dist/bin__prisma-next.mjs.map +1 -1
- package/dist/{caught-errors-DLPzfzIW-CQ9BoXD-.mjs → caught-errors-BZo7zcRc-C-pIEasG.mjs} +3 -3
- package/dist/{caught-errors-DLPzfzIW-CQ9BoXD-.mjs.map → caught-errors-BZo7zcRc-C-pIEasG.mjs.map} +1 -1
- package/dist/{cli-errors-BG6bItjG-DwdKIeGz.mjs → cli-errors-B4zTLaqQ-CXgjO9t4.mjs} +20 -3
- package/dist/cli-errors-B4zTLaqQ-CXgjO9t4.mjs.map +1 -0
- package/dist/{cli-errors-BiKBrOXc-JPxQqO58.d.mts → cli-errors-iquUoY6O-BFboxglv.d.mts} +17 -9
- package/dist/cli-errors-iquUoY6O-BFboxglv.d.mts.map +1 -0
- package/dist/cli.mjs +1057 -32
- package/dist/cli.mjs.map +1 -1
- package/dist/cli__commands__contract-emit.mjs +1 -1
- package/dist/cli__commands__contract-infer.mjs +1 -1
- package/dist/cli__commands__db-init.mjs +1 -1
- package/dist/cli__commands__db-schema.mjs +1 -1
- package/dist/cli__commands__db-sign.mjs +1 -1
- package/dist/cli__commands__db-update.mjs +1 -1
- package/dist/cli__commands__db-verify.mjs +1 -1
- package/dist/cli__commands__migrate.d.mts +2 -2
- package/dist/cli__commands__migrate.mjs +1 -1
- package/dist/cli__commands__migration-check.mjs +1 -1
- package/dist/cli__commands__migration-graph.d.mts +1 -1
- package/dist/cli__commands__migration-graph.mjs +1 -1
- package/dist/cli__commands__migration-list.d.mts +1 -1
- package/dist/cli__commands__migration-list.mjs +1 -1
- package/dist/cli__commands__migration-log.d.mts +1 -1
- package/dist/cli__commands__migration-log.mjs +1 -1
- package/dist/cli__commands__migration-new.mjs +1 -1
- package/dist/cli__commands__migration-plan.d.mts +1 -1
- package/dist/cli__commands__migration-plan.mjs +1 -1
- package/dist/cli__commands__migration-show.mjs +1 -1
- package/dist/cli__commands__migration-status.d.mts +1 -1
- package/dist/cli__commands__migration-status.mjs +1 -1
- package/dist/cli__commands__ref.mjs +1 -1
- package/dist/cli__commands__telemetry.mjs +1 -1
- package/dist/cli__control-api.d.mts +3 -3
- package/dist/cli__control-api.mjs +15 -15
- package/dist/cli__control-api__testing.d.mts +1 -1
- package/dist/cli__control-api__testing.mjs +2 -1
- package/dist/cli__control-api__testing.mjs.map +1 -1
- package/dist/{client-DU9qtBxW-BjVHiKzE.mjs → client-C6Qp5ujC-Dxb7r79B.mjs} +12 -15
- package/dist/client-C6Qp5ujC-Dxb7r79B.mjs.map +1 -0
- package/dist/{code-templates-CSLH8721-CWRA4Lru.mjs → code-templates-BFE1n0Ck-Cy_NFstu.mjs} +3 -3
- package/dist/{code-templates-CSLH8721-CWRA4Lru.mjs.map → code-templates-BFE1n0Ck-Cy_NFstu.mjs.map} +1 -1
- package/dist/combine-verify-results-B87B_pMc-D4l22OqY.mjs +65 -0
- package/dist/combine-verify-results-B87B_pMc-D4l22OqY.mjs.map +1 -0
- package/dist/{command-helpers-CwLvFwMB-BWwUQhlT.mjs → command-helpers-BCgwcqTe-lNCtppzM.mjs} +3 -3
- package/dist/{command-helpers-CwLvFwMB-BWwUQhlT.mjs.map → command-helpers-BCgwcqTe-lNCtppzM.mjs.map} +1 -1
- package/dist/{contract-at-errors-Dptf8RE_-B5gr04Sc.mjs → contract-at-errors-BSoDI0Hw-BXeUNE3s.mjs} +3 -3
- package/dist/{contract-at-errors-Dptf8RE_-B5gr04Sc.mjs.map → contract-at-errors-BSoDI0Hw-BXeUNE3s.mjs.map} +1 -1
- package/dist/contract-emit-DDWBBvF1-BeGZCRrb.mjs +2 -0
- package/dist/{contract-emit-CZQZ1i4z-p9LSGmmQ.mjs → contract-emit-DFScp9D6-6H-UJMFv.mjs} +5 -5
- package/dist/{contract-emit-CZQZ1i4z-p9LSGmmQ.mjs.map → contract-emit-DFScp9D6-6H-UJMFv.mjs.map} +1 -1
- package/dist/{contract-emit-BQFpcb2A-BwT9iVdb.mjs → contract-emit-DsvAx-dY-DQzoDO34.mjs} +5 -5
- package/dist/{contract-emit-BQFpcb2A-BwT9iVdb.mjs.map → contract-emit-DsvAx-dY-DQzoDO34.mjs.map} +1 -1
- package/dist/{contract-infer-C6cYOihE-CIUCgmw0.mjs → contract-infer-BwIDGl7v-CZrdWXAr.mjs} +4 -4
- package/dist/{contract-infer-C6cYOihE-CIUCgmw0.mjs.map → contract-infer-BwIDGl7v-CZrdWXAr.mjs.map} +1 -1
- package/dist/{contract-snapshot-resolution-DvZvbNcZ-DHFCWe_k.mjs → contract-snapshot-resolution-De2VvOJn-DqIAV9cr.mjs} +4 -4
- package/dist/{contract-snapshot-resolution-DvZvbNcZ-DHFCWe_k.mjs.map → contract-snapshot-resolution-De2VvOJn-DqIAV9cr.mjs.map} +1 -1
- package/dist/{contract-space-aggregate-loader-CoLTf3Ce-pQDru2w0.mjs → contract-space-aggregate-loader-fa04OIaL-B7LXHle3.mjs} +4 -4
- package/dist/{contract-space-aggregate-loader-CoLTf3Ce-pQDru2w0.mjs.map → contract-space-aggregate-loader-fa04OIaL-B7LXHle3.mjs.map} +1 -1
- package/dist/{db-init-DypCy1e3-CBrYfhHF.mjs → db-init-BolXrKAI-CwG-zEDW.mjs} +6 -6
- package/dist/{db-init-DypCy1e3-CBrYfhHF.mjs.map → db-init-BolXrKAI-CwG-zEDW.mjs.map} +1 -1
- package/dist/{db-init-failure-BmCcHUfc-BqDxyrJE.mjs → db-init-failure-B5cQML4A-5zr-99Ek.mjs} +3 -3
- package/dist/{db-init-failure-BmCcHUfc-BqDxyrJE.mjs.map → db-init-failure-B5cQML4A-5zr-99Ek.mjs.map} +1 -1
- package/dist/{db-schema-DHfPM-5V-JeCjrQ55.mjs → db-schema-DvdLBdEY-Dl6e1d_Y.mjs} +4 -4
- package/dist/{db-schema-DHfPM-5V-JeCjrQ55.mjs.map → db-schema-DvdLBdEY-Dl6e1d_Y.mjs.map} +1 -1
- package/dist/{db-sign-DbAxRcZh-C-nT9kcG.mjs → db-sign-DCp4c8CA-B3tun-kh.mjs} +6 -6
- package/dist/{db-sign-DbAxRcZh-C-nT9kcG.mjs.map → db-sign-DCp4c8CA-B3tun-kh.mjs.map} +1 -1
- package/dist/{db-update-J59yROwL-DCP-_z2W.mjs → db-update-CfayE8WE-CPhQyDaZ.mjs} +6 -6
- package/dist/{db-update-J59yROwL-DCP-_z2W.mjs.map → db-update-CfayE8WE-CPhQyDaZ.mjs.map} +1 -1
- package/dist/{db-verify-0TpDMziA-CJDKutMN.mjs → db-verify-BN7IrOAL-kEzRNJUl.mjs} +7 -65
- package/dist/db-verify-BN7IrOAL-kEzRNJUl.mjs.map +1 -0
- package/dist/{exports-DaxzMVtq.mjs → exports-B3xY_FHp.mjs} +304 -18
- package/dist/exports-B3xY_FHp.mjs.map +1 -0
- package/dist/{format-cbJY7l6v-CjMUDTAs.mjs → format-Ca7dUE6B-BMFqrc6D.mjs} +5 -5
- package/dist/{format-cbJY7l6v-CjMUDTAs.mjs.map → format-Ca7dUE6B-BMFqrc6D.mjs.map} +1 -1
- package/dist/{framework-components-C3K7SBeC-Bj5gx85-.mjs → framework-components-Bau7o1-J-DTp6AUoq.mjs} +3 -3
- package/dist/{framework-components-C3K7SBeC-Bj5gx85-.mjs.map → framework-components-Bau7o1-J-DTp6AUoq.mjs.map} +1 -1
- package/dist/{init-CcJxAIeS-CITTa8YU.mjs → init-CCjniMF1-hfW9jd9y.mjs} +6 -6
- package/dist/{init-CcJxAIeS-CITTa8YU.mjs.map → init-CCjniMF1-hfW9jd9y.mjs.map} +1 -1
- package/dist/{inspect-live-schema-Cf77j9Vd-i5fzNW4T.mjs → inspect-live-schema-BPHXdvqW-DrzL2ZkQ.mjs} +5 -5
- package/dist/{inspect-live-schema-Cf77j9Vd-i5fzNW4T.mjs.map → inspect-live-schema-BPHXdvqW-DrzL2ZkQ.mjs.map} +1 -1
- package/dist/integrity-violation-to-check-failure-BmWMLAae-DqiC4_3p.mjs +115 -0
- package/dist/integrity-violation-to-check-failure-BmWMLAae-DqiC4_3p.mjs.map +1 -0
- package/dist/{invariants-1zL5-9Mc-BCeOLxd_.mjs → invariants-Bltd8DyA-Cg_1Lu0q.mjs} +4 -4
- package/dist/{invariants-1zL5-9Mc-BCeOLxd_.mjs.map → invariants-Bltd8DyA-Cg_1Lu0q.mjs.map} +1 -1
- package/dist/{legend-BQcPKTLe-bn9e4_ZU.mjs → legend-DGv9e2_0-BtetgRz4.mjs} +3 -3
- package/dist/{legend-BQcPKTLe-bn9e4_ZU.mjs.map → legend-DGv9e2_0-BtetgRz4.mjs.map} +1 -1
- package/dist/{migrate-BVEyoBor-CN_EOCzx.mjs → migrate-BXATUjYE-Do79Imf-.mjs} +12 -12
- package/dist/{migrate-BVEyoBor-CN_EOCzx.mjs.map → migrate-BXATUjYE-Do79Imf-.mjs.map} +1 -1
- package/dist/{migrate-failure-CKMEnA_x-ByHkYjn5.mjs → migrate-failure-D4NvkoCk-0bttmQs2.mjs} +4 -4
- package/dist/{migrate-failure-CKMEnA_x-ByHkYjn5.mjs.map → migrate-failure-D4NvkoCk-0bttmQs2.mjs.map} +1 -1
- package/dist/{migrate-show-Dlo-YzOk-BXo-DmwI.d.mts → migrate-show-B8UJ9dmb-C4RTPbDk.d.mts} +3 -3
- package/dist/{migrate-show-Dlo-YzOk-BXo-DmwI.d.mts.map → migrate-show-B8UJ9dmb-C4RTPbDk.d.mts.map} +1 -1
- package/dist/{migrate-show-kVUG1xdo-bVTW8tu4.mjs → migrate-show-C_9xR4Qt-B-Y0PGKw.mjs} +6 -6
- package/dist/{migrate-show-kVUG1xdo-bVTW8tu4.mjs.map → migrate-show-C_9xR4Qt-B-Y0PGKw.mjs.map} +1 -1
- package/dist/{migration-check-CBMoMDX2-DhSEOGNg.mjs → migration-check-Bbdw7t-r-C2VTMK61.mjs} +6 -6
- package/dist/{migration-check-CBMoMDX2-DhSEOGNg.mjs.map → migration-check-Bbdw7t-r-C2VTMK61.mjs.map} +1 -1
- package/dist/migration-check-DbHgYK7F-7mtYNVFu.mjs +163 -0
- package/dist/migration-check-DbHgYK7F-7mtYNVFu.mjs.map +1 -0
- package/dist/{migration-command-scaffold-B1BiWKLI-Bskk5UKX.mjs → migration-command-scaffold-SzjR2naH-Yi3-rNfX.mjs} +5 -5
- package/dist/{migration-command-scaffold-B1BiWKLI-Bskk5UKX.mjs.map → migration-command-scaffold-SzjR2naH-Yi3-rNfX.mjs.map} +1 -1
- package/dist/{migration-graph-B30X5398-BH3zB9Mn.mjs → migration-graph-B8WxW_tm-qGNf7jQh.mjs} +3 -3
- package/dist/{migration-graph-B30X5398-BH3zB9Mn.mjs.map → migration-graph-B8WxW_tm-qGNf7jQh.mjs.map} +1 -1
- package/dist/{migration-graph-D4sgTiXa-BLtiLIk7.mjs → migration-graph-BOwu76mF-kOTWFvfV.mjs} +8 -8
- package/dist/{migration-graph-D4sgTiXa-BLtiLIk7.mjs.map → migration-graph-BOwu76mF-kOTWFvfV.mjs.map} +1 -1
- package/dist/{migration-graph-sections-B8WSWSkJ-CyaRo0T6.mjs → migration-graph-sections-BBHPOFN--COKyUKQ4.mjs} +3 -3
- package/dist/{migration-graph-sections-B8WSWSkJ-CyaRo0T6.mjs.map → migration-graph-sections-BBHPOFN--COKyUKQ4.mjs.map} +1 -1
- package/dist/{migration-list-BIL-re1m-CZY4m3d0.mjs → migration-list-CKuYcMQq-CubZzE9i.mjs} +6 -6
- package/dist/{migration-list-BIL-re1m-CZY4m3d0.mjs.map → migration-list-CKuYcMQq-CubZzE9i.mjs.map} +1 -1
- package/dist/{migration-list-BQTfSGbT-DoNqbNsu.mjs → migration-list-CY08bD8I-PoXuv94c.mjs} +3 -3
- package/dist/{migration-list-BQTfSGbT-DoNqbNsu.mjs.map → migration-list-CY08bD8I-PoXuv94c.mjs.map} +1 -1
- package/dist/{migration-log-BdBKYAUW-DTPxKZtD.mjs → migration-log-CUbGla-9-BLIrWjwN.mjs} +6 -6
- package/dist/{migration-log-BdBKYAUW-DTPxKZtD.mjs.map → migration-log-CUbGla-9-BLIrWjwN.mjs.map} +1 -1
- package/dist/{migration-new-CXLgOLXz-2C5s_q7n.mjs → migration-new-ChvZjf5X-BFhEM0BF.mjs} +4 -4
- package/dist/{migration-new-CXLgOLXz-2C5s_q7n.mjs.map → migration-new-ChvZjf5X-BFhEM0BF.mjs.map} +1 -1
- package/dist/{migration-new-Bp5dPKnF-D-Fb6vEp.mjs → migration-new-DXMvJdbB-BkrpDfcr.mjs} +7 -7
- package/dist/{migration-new-Bp5dPKnF-D-Fb6vEp.mjs.map → migration-new-DXMvJdbB-BkrpDfcr.mjs.map} +1 -1
- package/dist/{migration-path-target-BNTSTPAc-D7dQ4K7x.mjs → migration-path-target-JDWqF9kj-B7zoMq6X.mjs} +3 -3
- package/dist/{migration-path-target-BNTSTPAc-D7dQ4K7x.mjs.map → migration-path-target-JDWqF9kj-B7zoMq6X.mjs.map} +1 -1
- package/dist/{migration-plan-CharRhoN-BIB3WL65.d.mts → migration-plan-BV9f5Xjq-DiyscOMc.d.mts} +3 -3
- package/dist/{migration-plan-CharRhoN-BIB3WL65.d.mts.map → migration-plan-BV9f5Xjq-DiyscOMc.d.mts.map} +1 -1
- package/dist/{migration-plan-BxfF1Hdo-BKn0xMlY.mjs → migration-plan-Bz1hOTHF-CFCtPuOv.mjs} +4 -4
- package/dist/{migration-plan-BxfF1Hdo-BKn0xMlY.mjs.map → migration-plan-Bz1hOTHF-CFCtPuOv.mjs.map} +1 -1
- package/dist/{migration-plan-C6KrFHJT-CRkTsE7L.mjs → migration-plan-Cfz0efEL-DMNFq5b2.mjs} +8 -8
- package/dist/{migration-plan-C6KrFHJT-CRkTsE7L.mjs.map → migration-plan-Cfz0efEL-DMNFq5b2.mjs.map} +1 -1
- package/dist/{migration-show-Dhnlx_GU-DhWLLt3Z.mjs → migration-show-BGdR1xnT-Cg3M0FPh.mjs} +8 -8
- package/dist/{migration-show-Dhnlx_GU-DhWLLt3Z.mjs.map → migration-show-BGdR1xnT-Cg3M0FPh.mjs.map} +1 -1
- package/dist/{migration-status-DzPVkkB3-BA7jjITd.mjs → migration-status-BIrAJ5af-D-_mMBUA.mjs} +10 -10
- package/dist/{migration-status-DzPVkkB3-BA7jjITd.mjs.map → migration-status-BIrAJ5af-D-_mMBUA.mjs.map} +1 -1
- package/dist/{project-import-root-nwdoPWap--5vXe4zp.mjs → project-import-root-B4nM-VWX-D__g0hTb.mjs} +3 -3
- package/dist/{project-import-root-nwdoPWap--5vXe4zp.mjs.map → project-import-root-B4nM-VWX-D__g0hTb.mjs.map} +1 -1
- package/dist/{redact-secrets-kQ0KKV1u-MnVSKe-u.mjs → redact-secrets-CLdlbs1w-J5bG__a-.mjs} +4 -4
- package/dist/{redact-secrets-kQ0KKV1u-MnVSKe-u.mjs.map → redact-secrets-CLdlbs1w-J5bG__a-.mjs.map} +1 -1
- package/dist/{ref-gZQjdz8I-CW6n9Fc0.mjs → ref-4x6BGSsd-ClaoZIQh.mjs} +4 -4
- package/dist/{ref-gZQjdz8I-CW6n9Fc0.mjs.map → ref-4x6BGSsd-ClaoZIQh.mjs.map} +1 -1
- package/dist/{ref-C8oaaeky-ColNkWpr.mjs → ref-WXLIR9Xm-12IUtoBU.mjs} +5 -5
- package/dist/{ref-C8oaaeky-ColNkWpr.mjs.map → ref-WXLIR9Xm-12IUtoBU.mjs.map} +1 -1
- package/dist/{ref-resolution-DAK4OK3x-B-8ZZc0f.mjs → ref-resolution-BSN1amKm-C6-TTM2N.mjs} +3 -3
- package/dist/{ref-resolution-DAK4OK3x-B-8ZZc0f.mjs.map → ref-resolution-BSN1amKm-C6-TTM2N.mjs.map} +1 -1
- package/dist/{telemetry-DPXFYAsz-CPW2USxs.mjs → telemetry-BD52LETE-Cqeb7ebh.mjs} +3 -3
- package/dist/{telemetry-DPXFYAsz-CPW2USxs.mjs.map → telemetry-BD52LETE-Cqeb7ebh.mjs.map} +1 -1
- package/dist/vite-plugin-contract-emit.mjs +1 -1
- package/package.json +12 -12
- package/dist/cli-errors-BG6bItjG-DwdKIeGz.mjs.map +0 -1
- package/dist/cli-errors-BiKBrOXc-JPxQqO58.d.mts.map +0 -1
- package/dist/client-DU9qtBxW-BjVHiKzE.mjs.map +0 -1
- package/dist/contract-emit-Bzt11N4v-BQ2Pr8KG.mjs +0 -2
- package/dist/db-verify-0TpDMziA-CJDKutMN.mjs.map +0 -1
- package/dist/exports-DaxzMVtq.mjs.map +0 -1
- package/dist/migration-check-BVK9vfan-Dfg8lbeB.mjs +0 -272
- package/dist/migration-check-BVK9vfan-Dfg8lbeB.mjs.map +0 -1
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { f as installShutdownHandlers, t as BIN_NAME } from "./terminal-ui-Cqz4LVL7-B0mcVdLy.mjs";
|
|
3
|
-
import { a as formatCommandHelp, b as setCommandExamples, d as isCI$1, i as deriveCanPrompt, m as parseGlobalFlagsOrExit, o as formatRootHelp, p as parseGlobalFlags, t as addGlobalOptions, y as setCommandDescriptions } from "./command-helpers-
|
|
4
|
-
import { t as createContractEmitCommand } from "./contract-emit-
|
|
5
|
-
import { t as createFormatCommand } from "./format-
|
|
6
|
-
import { r as defaultSchemaPath, u as version } from "./code-templates-
|
|
7
|
-
import { t as createDbInitCommand } from "./db-init-
|
|
8
|
-
import { t as createDbUpdateCommand } from "./db-update-
|
|
9
|
-
import { t as createDbSchemaCommand } from "./db-schema-
|
|
10
|
-
import { t as createDbSignCommand } from "./db-sign-
|
|
11
|
-
import { t as createDbVerifyCommand } from "./db-verify-
|
|
12
|
-
import { t as createContractInferCommand } from "./contract-infer-
|
|
13
|
-
import { t as createMigrationNewCommand } from "./migration-new-
|
|
14
|
-
import { t as createMigrationPlanCommand } from "./migration-plan-
|
|
15
|
-
import { t as createMigrationShowCommand } from "./migration-show-
|
|
16
|
-
import { r as createMigrationStatusCommand } from "./migration-status-
|
|
17
|
-
import { t as createMigrationLogCommand } from "./migration-log-
|
|
18
|
-
import { t as createMigrationListCommand } from "./migration-list-
|
|
19
|
-
import { t as createMigrationGraphCommand } from "./migration-graph-
|
|
20
|
-
import { t as createMigrationCheckCommand } from "./migration-check-
|
|
21
|
-
import { t as createMigrateCommand } from "./migrate-
|
|
22
|
-
import { t as createRefCommand } from "./ref-
|
|
3
|
+
import { a as formatCommandHelp, b as setCommandExamples, d as isCI$1, i as deriveCanPrompt, m as parseGlobalFlagsOrExit, o as formatRootHelp, p as parseGlobalFlags, t as addGlobalOptions, y as setCommandDescriptions } from "./command-helpers-BCgwcqTe-lNCtppzM.mjs";
|
|
4
|
+
import { t as createContractEmitCommand } from "./contract-emit-DsvAx-dY-DQzoDO34.mjs";
|
|
5
|
+
import { t as createFormatCommand } from "./format-Ca7dUE6B-BMFqrc6D.mjs";
|
|
6
|
+
import { r as defaultSchemaPath, u as version } from "./code-templates-BFE1n0Ck-Cy_NFstu.mjs";
|
|
7
|
+
import { t as createDbInitCommand } from "./db-init-BolXrKAI-CwG-zEDW.mjs";
|
|
8
|
+
import { t as createDbUpdateCommand } from "./db-update-CfayE8WE-CPhQyDaZ.mjs";
|
|
9
|
+
import { t as createDbSchemaCommand } from "./db-schema-DvdLBdEY-Dl6e1d_Y.mjs";
|
|
10
|
+
import { t as createDbSignCommand } from "./db-sign-DCp4c8CA-B3tun-kh.mjs";
|
|
11
|
+
import { t as createDbVerifyCommand } from "./db-verify-BN7IrOAL-kEzRNJUl.mjs";
|
|
12
|
+
import { t as createContractInferCommand } from "./contract-infer-BwIDGl7v-CZrdWXAr.mjs";
|
|
13
|
+
import { t as createMigrationNewCommand } from "./migration-new-ChvZjf5X-BFhEM0BF.mjs";
|
|
14
|
+
import { t as createMigrationPlanCommand } from "./migration-plan-Bz1hOTHF-CFCtPuOv.mjs";
|
|
15
|
+
import { t as createMigrationShowCommand } from "./migration-show-BGdR1xnT-Cg3M0FPh.mjs";
|
|
16
|
+
import { r as createMigrationStatusCommand } from "./migration-status-BIrAJ5af-D-_mMBUA.mjs";
|
|
17
|
+
import { t as createMigrationLogCommand } from "./migration-log-CUbGla-9-BLIrWjwN.mjs";
|
|
18
|
+
import { t as createMigrationListCommand } from "./migration-list-CKuYcMQq-CubZzE9i.mjs";
|
|
19
|
+
import { t as createMigrationGraphCommand } from "./migration-graph-BOwu76mF-kOTWFvfV.mjs";
|
|
20
|
+
import { t as createMigrationCheckCommand } from "./migration-check-DbHgYK7F-7mtYNVFu.mjs";
|
|
21
|
+
import { t as createMigrateCommand } from "./migrate-BXATUjYE-Do79Imf-.mjs";
|
|
22
|
+
import { t as createRefCommand } from "./ref-4x6BGSsd-ClaoZIQh.mjs";
|
|
23
23
|
import { a as resolveGating, i as readUserConfig, r as ensureInstallationId, s as runTelemetry, u as userConfigPath } from "./exports-CqNUihkI.mjs";
|
|
24
|
-
import { t as createTelemetryCommand } from "./telemetry-
|
|
24
|
+
import { t as createTelemetryCommand } from "./telemetry-BD52LETE-Cqeb7ebh.mjs";
|
|
25
25
|
import { Command } from "commander";
|
|
26
26
|
import { fileURLToPath } from "node:url";
|
|
27
27
|
import { distance } from "closest-match";
|
|
@@ -45,7 +45,7 @@ Exit codes (see CLI Style Guide § Exit Codes):
|
|
|
45
45
|
"prisma-next init --no-skill # skip the skills install (air-gapped / restricted env)"
|
|
46
46
|
]);
|
|
47
47
|
return addGlobalOptions(command).option("--target <db>", "Database target: postgres or mongodb").option("--authoring <style>", "Schema authoring style: psl or typescript").option("--schema-path <path>", `Where to write the starter schema (default: ${defaultSchemaPath("psl")})`).option("--force", "Overwrite an existing scaffold without prompting").option("--write-env", "Write a .env file from .env.example (gitignored; default: only .env.example)").option("--probe-db", "Connect to DATABASE_URL once and check the server version against the target minimum (opt-in; off by default)").option("--strict-probe", "Treat a failed --probe-db as fatal (no-op without --probe-db; init is offline-by-default)").option("--no-install", "Skip dependency installation and contract emission").option("--no-skill", "Skip Prisma Next skills install (air-gapped CI, restricted registries, etc.)").action(async (options) => {
|
|
48
|
-
const { runInit } = await import("./init-
|
|
48
|
+
const { runInit } = await import("./init-CCjniMF1-hfW9jd9y.mjs");
|
|
49
49
|
const flags = parseGlobalFlagsOrExit(options);
|
|
50
50
|
const canPrompt = deriveCanPrompt({
|
|
51
51
|
flagsInteractive: flags.interactive,
|
|
@@ -64,8 +64,8 @@ function createLspCommand() {
|
|
|
64
64
|
const command = new Command("lsp");
|
|
65
65
|
setCommandDescriptions(command, "Start the Prisma Next language server", "Launches a Language Server Protocol server that publishes PSL parse diagnostics\nand handles whole-document PSL formatting for the schema inputs declared in\nyour config (contract.source.inputs). Formatting uses the Prisma Next PSL\nformatter and the formatter block from the project config.\nCommunicates over stdio; intended to be spawned by an\neditor, not run interactively. The server keeps running until the editor client\ndisconnects.");
|
|
66
66
|
setCommandExamples(command, ["prisma-next lsp --stdio"]);
|
|
67
|
-
addGlobalOptions(command).option("--stdio", "Communicate with the editor over stdio (the default and only transport)").action(async () => {
|
|
68
|
-
const { startServer } = await import("./exports-
|
|
67
|
+
addGlobalOptions(command).option("--stdio", "Communicate with the editor over stdio (the default and only transport)").option("--clientProcessId <pid>", "Process id of the editor that spawned the server; the server ends when it dies").action(async () => {
|
|
68
|
+
const { startServer } = await import("./exports-B3xY_FHp.mjs");
|
|
69
69
|
startServer();
|
|
70
70
|
});
|
|
71
71
|
return command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin__prisma-next.mjs","names":["isCI"],"sources":["../../../../1-framework/3-tooling/cli/dist/cli.mjs"],"sourcesContent":["#!/usr/bin/env node\nimport { r as defaultSchemaPath, u as version } from \"./code-templates-CSLH8721.mjs\";\nimport { f as BIN_NAME, n as installShutdownHandlers } from \"./terminal-ui-Cqz4LVL7.mjs\";\nimport { _ as parseGlobalFlagsOrExit, b as formatCommandHelp, d as setCommandExamples, g as parseGlobalFlags, h as deriveCanPrompt, t as addGlobalOptions, u as setCommandDescriptions, x as formatRootHelp, y as isCI } from \"./command-helpers-CwLvFwMB.mjs\";\nimport { t as createContractEmitCommand } from \"./contract-emit-BQFpcb2A.mjs\";\nimport { t as createContractInferCommand } from \"./contract-infer-C6cYOihE.mjs\";\nimport { t as createDbInitCommand } from \"./db-init-DypCy1e3.mjs\";\nimport { t as createDbSchemaCommand } from \"./db-schema-DHfPM-5V.mjs\";\nimport { t as createDbSignCommand } from \"./db-sign-DbAxRcZh.mjs\";\nimport { t as createDbUpdateCommand } from \"./db-update-J59yROwL.mjs\";\nimport { t as createDbVerifyCommand } from \"./db-verify-0TpDMziA.mjs\";\nimport { t as createFormatCommand } from \"./format-cbJY7l6v.mjs\";\nimport { t as createMigrateCommand } from \"./migrate-BVEyoBor.mjs\";\nimport { t as createMigrationCheckCommand } from \"./migration-check-BVK9vfan.mjs\";\nimport { t as createMigrationGraphCommand } from \"./migration-graph-D4sgTiXa.mjs\";\nimport { t as createMigrationListCommand } from \"./migration-list-BIL-re1m.mjs\";\nimport { t as createMigrationLogCommand } from \"./migration-log-BdBKYAUW.mjs\";\nimport { t as createMigrationNewCommand } from \"./migration-new-CXLgOLXz.mjs\";\nimport { t as createMigrationPlanCommand } from \"./migration-plan-BxfF1Hdo.mjs\";\nimport { t as createMigrationShowCommand } from \"./migration-show-Dhnlx_GU.mjs\";\nimport { r as createMigrationStatusCommand } from \"./migration-status-DzPVkkB3.mjs\";\nimport { t as createRefCommand } from \"./ref-gZQjdz8I.mjs\";\nimport { t as createTelemetryCommand } from \"./telemetry-DPXFYAsz.mjs\";\nimport { Command } from \"commander\";\nimport { ensureInstallationId, readUserConfig, resolveGating, runTelemetry, userConfigPath } from \"@internal/cli-telemetry\";\nimport { distance } from \"closest-match\";\nimport { fileURLToPath } from \"node:url\";\n//#region src/commands/init/index.ts\nfunction createInitCommand() {\n\tconst command = new Command(\"init\");\n\tsetCommandDescriptions(command, \"Initialize a new Prisma Next project\", `Scaffolds config, schema, and runtime files, installs dependencies,\nand emits the contract. Gets you from zero to typed queries in one step.\n\nRun interactively for a guided experience, or supply --target / --authoring\nand --yes for a fully scriptable run (CI, AI coding agents, automation).\n\nExit codes (see CLI Style Guide § Exit Codes):\n 0 OK Init succeeded.\\n 1 INTERNAL_ERROR Unexpected bug in prisma-next (please report).\\n 2 PRECONDITION Bad flags / missing prerequisite (e.g. no package.json).\\n 3 USER_ABORTED User cancelled an interactive prompt.\\n 4 INSTALL_FAILED Dependency installation failed (init-specific).\\n 5 EMIT_FAILED \\`contract emit\\` failed after install (init-specific).\\n 6 SKILL_INSTALL_FAILED Agent-skill install failed (re-run with --no-skill to skip).`);\n\tsetCommandExamples(command, [\n\t\t\"prisma-next init\",\n\t\t\"prisma-next init --yes --target postgres --authoring psl\",\n\t\t\"prisma-next init --yes --target mongodb --authoring typescript --json\",\n\t\t\"prisma-next init --yes --force --target postgres --authoring psl # overwrite an existing scaffold\",\n\t\t\"prisma-next init --no-install # skip pnpm/npm install + emit\",\n\t\t\"prisma-next init --no-skill # skip the skills install (air-gapped / restricted env)\"\n\t]);\n\treturn addGlobalOptions(command).option(\"--target <db>\", \"Database target: postgres or mongodb\").option(\"--authoring <style>\", \"Schema authoring style: psl or typescript\").option(\"--schema-path <path>\", `Where to write the starter schema (default: ${defaultSchemaPath(\"psl\")})`).option(\"--force\", \"Overwrite an existing scaffold without prompting\").option(\"--write-env\", \"Write a .env file from .env.example (gitignored; default: only .env.example)\").option(\"--probe-db\", \"Connect to DATABASE_URL once and check the server version against the target minimum (opt-in; off by default)\").option(\"--strict-probe\", \"Treat a failed --probe-db as fatal (no-op without --probe-db; init is offline-by-default)\").option(\"--no-install\", \"Skip dependency installation and contract emission\").option(\"--no-skill\", \"Skip Prisma Next skills install (air-gapped CI, restricted registries, etc.)\").action(async (options) => {\n\t\tconst { runInit } = await import(\"./init-CcJxAIeS.mjs\");\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst canPrompt = deriveCanPrompt({\n\t\t\tflagsInteractive: flags.interactive,\n\t\t\toptionInteractive: options.interactive,\n\t\t\tstdinIsTTY: Boolean(process.stdin.isTTY)\n\t\t});\n\t\tconst exitCode = await runInit(process.cwd(), {\n\t\t\toptions,\n\t\t\tflags,\n\t\t\tcanPrompt\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n}\n//#endregion\n//#region src/commands/lsp.ts\nfunction createLspCommand() {\n\tconst command = new Command(\"lsp\");\n\tsetCommandDescriptions(command, \"Start the Prisma Next language server\", \"Launches a Language Server Protocol server that publishes PSL parse diagnostics\\nand handles whole-document PSL formatting for the schema inputs declared in\\nyour config (contract.source.inputs). Formatting uses the Prisma Next PSL\\nformatter and the formatter block from the project config.\\nCommunicates over stdio; intended to be spawned by an\\neditor, not run interactively. The server keeps running until the editor client\\ndisconnects.\");\n\tsetCommandExamples(command, [\"prisma-next lsp --stdio\"]);\n\taddGlobalOptions(command).option(\"--stdio\", \"Communicate with the editor over stdio (the default and only transport)\").action(async () => {\n\t\tconst { startServer } = await import(\"@internal/language-server\");\n\t\tstartServer();\n\t});\n\treturn command;\n}\n//#endregion\n//#region src/utils/suggest-command.ts\n/**\n* Suggests similar command names for a mistyped input.\n*\n* Uses Levenshtein distance to find close matches. Only suggests commands\n* within a reasonable distance threshold (40% of the input length, minimum 2).\n* Returns up to 3 suggestions in case of ties.\n*\n* @returns Array of suggested command names (empty if nothing is close enough).\n*/\nfunction suggestCommands(input, candidates) {\n\tif (candidates.length === 0) return [];\n\tconst maxDistance = Math.max(2, Math.ceil(input.length * .4));\n\tconst scored = candidates.map((name) => ({\n\t\tname,\n\t\tdist: distance(input, name)\n\t})).filter((entry) => entry.dist <= maxDistance).sort((a, b) => a.dist - b.dist);\n\tif (scored.length === 0) return [];\n\tconst bestDist = scored[0].dist;\n\treturn scored.filter((entry) => entry.dist === bestDist).slice(0, 3).map((entry) => entry.name);\n}\n//#endregion\n//#region src/utils/telemetry.ts\n/**\n* Resolve the commander command path from a leaf `Command`, walking up\n* the parent chain. Result is rooted at the program name and ends at\n* the leaf — `['prisma-next', 'migration', 'new']` for\n* `prisma-next migration new …`.\n*/\nfunction commandPathFor(actionCommand) {\n\tconst path = [];\n\tlet cursor = actionCommand;\n\twhile (cursor !== null) {\n\t\tpath.unshift(cursor.name());\n\t\tcursor = cursor.parent;\n\t}\n\treturn path;\n}\nfunction commanderOptionSnapshots(actionCommand) {\n\treturn actionCommand.options.map((option) => {\n\t\tconst attributeName = option.attributeName();\n\t\treturn {\n\t\t\tattributeName,\n\t\t\tlongName: option.long ?? null,\n\t\t\tsource: actionCommand.getOptionValueSource(attributeName) ?? null\n\t\t};\n\t});\n}\n/**\n* Project commander's leaf `Command` into the wire-shape snapshot the\n* telemetry sanitiser consumes. Pure projection — no env, no I/O.\n*/\nfunction commanderSnapshotForTelemetry(actionCommand) {\n\treturn {\n\t\tcommandPath: commandPathFor(actionCommand),\n\t\tpositionalArgs: actionCommand.args,\n\t\toptions: commanderOptionSnapshots(actionCommand)\n\t};\n}\nfunction resolveTelemetryGate() {\n\tif (isCI()) return {\n\t\tenabled: false,\n\t\toutcome: {\n\t\t\tspawned: false,\n\t\t\treason: \"ci\"\n\t\t}\n\t};\n\tconst userConfig = readUserConfig();\n\tif (!resolveGating({\n\t\tenv: process.env,\n\t\tconfig: userConfig\n\t}).enabled) return {\n\t\tenabled: false,\n\t\toutcome: {\n\t\t\tspawned: false,\n\t\t\treason: \"gated-off\"\n\t\t}\n\t};\n\treturn {\n\t\tenabled: true,\n\t\tuserConfig\n\t};\n}\n/**\n* Path to the compiled sender script inside `@internal/cli-telemetry`'s\n* `dist/`. Resolved off this module's `import.meta.url` via the package\n* specifier `@internal/cli-telemetry/sender`, so the consumer pays\n* no attention to internal package layout.\n*/\nfunction senderPath() {\n\treturn fileURLToPath(new URL(import.meta.resolve(\"@internal/cli-telemetry/sender\")));\n}\nfunction fireTelemetry(actionCommand, userConfig) {\n\treturn runTelemetry({\n\t\tcommand: commanderSnapshotForTelemetry(actionCommand),\n\t\tversion,\n\t\tprojectRoot: process.cwd(),\n\t\tsenderPath: senderPath(),\n\t\tisCI: isCI(),\n\t\tenv: process.env,\n\t\tuserConfig\n\t});\n}\n/**\n* preAction-stage entry point. Synchronous by construction: resolve\n* env/CI/user-consent gates (cheap, all in-memory and a single tiny\n* user-config read), then — only when enabled — `fork()` the detached\n* sender script. The forked child loads `prisma-next.config.*` via\n* c12 on its own (see `loadProjectConfig` in cli-telemetry); the\n* parent does no project-config I/O on the command's hot path.\n*\n* Privacy invariant: gate resolution always happens before any project\n* config touches disk. The child loading user TS code is acceptable\n* only because it's gated behind the same resolved-enabled signal.\n*/\n/**\n* Builds the one-time first-run disclosure. The resolved absolute path to\n* the user-level config file is substituted in so the user can see exactly\n* which file to edit (it must not be confused with `prisma-next.config.ts`).\n* `prisma-next telemetry disable` is named as the primary, friendliest\n* opt-out, alongside the env vars and the config edit.\n*/\nfunction firstRunNotice(configPath) {\n\treturn [\n\t\t\"Prisma Next collects anonymous CLI usage data, enabled by default.\",\n\t\t\"What's collected and why: https://prisma-next.dev/docs/cli/telemetry.\",\n\t\t\"Opt out: run \\\"prisma-next telemetry disable\\\", set DO_NOT_TRACK=1 or\",\n\t\t`PRISMA_NEXT_DISABLE_TELEMETRY=1, or set \"enableTelemetry\": false in ${configPath}.`\n\t].join(\" \");\n}\n/**\n* Best-effort first-run disclosure + installationId mint. Runs only on the\n* gating-enabled path. Prints the notice to stderr (never stdout) and mints\n* a persistent id without touching `enableTelemetry`, so the opt-out default\n* stays intact and no unasked-for consent is recorded.\n*\n* Every step is wrapped so an un-writable config dir (or any other failure)\n* never throws and never blocks the command. Returns the minted (or\n* pre-existing) id so the caller can forward it to `runTelemetry` without a\n* redundant disk read. On mint failure it returns `undefined`: the notice may\n* reprint next run, and `runTelemetry` no-ops on the missing id.\n*/\nfunction discloseAndMintOnFirstRun() {\n\ttry {\n\t\tprocess.stderr.write(`${firstRunNotice(userConfigPath())}\\n`);\n\t} catch {}\n\ttry {\n\t\treturn ensureInstallationId();\n\t} catch {}\n}\n/**\n* True when the run is the `telemetry` command (or one of its\n* subcommands). The usage-telemetry preAction fire is exempted for it:\n* it would be absurd for `telemetry disable` to send a usage event before\n* disabling, or for `telemetry status` to mint an id + send while merely\n* reporting state. This is the only command-specific exemption.\n*\n* The check is rooted at the program: the path must be\n* `['prisma-next', 'telemetry', …]`, so it matches the top-level\n* `telemetry` command and its subcommands without matching a hypothetical\n* nested `… telemetry` elsewhere.\n*/\nfunction isTelemetryCommand(actionCommand) {\n\treturn commandPathFor(actionCommand)[1] === \"telemetry\";\n}\nfunction fireTelemetryFromPreAction(actionCommand) {\n\tif (isTelemetryCommand(actionCommand)) return {\n\t\tspawned: false,\n\t\treason: \"gated-off\"\n\t};\n\tconst gate = resolveTelemetryGate();\n\tif (!gate.enabled) return gate.outcome;\n\tconst storedId = gate.userConfig.installationId;\n\tif (typeof storedId !== \"string\" || storedId.length === 0) {\n\t\tconst installationId = discloseAndMintOnFirstRun();\n\t\treturn fireTelemetry(actionCommand, installationId === void 0 ? gate.userConfig : {\n\t\t\t...gate.userConfig,\n\t\t\tinstallationId\n\t\t});\n\t}\n\treturn fireTelemetry(actionCommand, gate.userConfig);\n}\n//#endregion\n//#region src/cli.ts\ninstallShutdownHandlers();\n/**\n* Lookup table mapping removed subcommands to their replacement verbs.\n* Keyed by `<parent>:<subcommand>` (e.g. `migration:apply`).\n* The handler consults this before falling back to the fuzzy suggest engine.\n*/\nconst removedVerbRedirects = {\n\t\"migration:apply\": \"Use `prisma-next migrate --to <contract>` instead.\",\n\t\"migration:ref\": \"Use `prisma-next ref set|list|delete` instead.\"\n};\n/**\n* Removed flags on specific subcommands. Keyed by `<parent>:<sub>:<flag>`.\n* Checked during the pre-parse argv scan before commander sees the flags.\n*/\nconst removedFlagRedirects = {\n\t\"migration:status:graph\": \"Use `prisma-next migration graph` to view the migration graph.\",\n\t\"migration:status:all\": \"Use `prisma-next migration log --db <url>` to view the full execution history.\",\n\t\"migration:status:limit\": \"Use `prisma-next migration log --db <url>` to view the full execution history.\",\n\t\"migration:status:ref\": \"Use `--to <contract>` instead of `--ref`.\"\n};\n/**\n* Formats the \"Did you mean ...?\" hint for an unknown command.\n*/\nfunction formatSuggestion(input, candidates) {\n\tconst suggestions = suggestCommands(input, candidates.map((c) => c));\n\tif (suggestions.length === 0) return \"\";\n\tif (suggestions.length === 1) return `\\nDid you mean ${suggestions[0]}?\\n`;\n\treturn `\\nDid you mean one of these?\\n${suggestions.map((s) => ` ${s}`).join(\"\\n\")}\\n`;\n}\nconst program = new Command();\nprogram.name(BIN_NAME).description(\"Prisma Next CLI\").version(version);\nprogram.hook(\"preAction\", (_thisCommand, actionCommand) => {\n\ttry {\n\t\tfireTelemetryFromPreAction(actionCommand);\n\t} catch {}\n});\nconst versionOption = program.options.find((opt) => opt.flags.includes(\"--version\"));\nif (versionOption) versionOption.description = \"Output the version number\";\nprogram.configureOutput({\n\twriteErr: () => {},\n\twriteOut: (str) => {\n\t\tprocess.stdout.write(str);\n\t}\n});\nconst rootHelpFormatter = (cmd) => {\n\treturn formatRootHelp({\n\t\tprogram: cmd,\n\t\tflags: parseGlobalFlags({})\n\t});\n};\nprogram.configureHelp({\n\tformatHelp: rootHelpFormatter,\n\tsubcommandDescription: () => \"\"\n});\nprogram.exitOverride((err) => {\n\tif (err) {\n\t\tconst errorCode = err.code;\n\t\tconst errorMessage = String(err.message ?? \"\");\n\t\tconst errorName = err.name ?? \"\";\n\t\tif (errorCode === \"commander.unknownCommand\" || errorCode === \"commander.unknownArgument\" || errorName === \"CommanderError\" && (errorMessage.includes(\"unknown command\") || errorMessage.includes(\"unknown argument\"))) {\n\t\t\tconst flags = parseGlobalFlags({});\n\t\t\tconst match = errorMessage.match(/unknown command ['\"]([^'\"]+)['\"]/);\n\t\t\tconst commandName = match ? match[1] : process.argv[3] || process.argv[2] || \"unknown\";\n\t\t\tconst firstArg = process.argv[2];\n\t\t\tconst parentCommand = firstArg ? program.commands.find((cmd) => cmd.name() === firstArg) : void 0;\n\t\t\tif (parentCommand && commandName !== firstArg) {\n\t\t\t\tconst subNames = parentCommand.commands.map((c) => c.name());\n\t\t\t\tprocess.stderr.write(`Unknown command: ${commandName}${formatSuggestion(commandName, subNames)}\\n`);\n\t\t\t\tconst helpText = formatCommandHelp({\n\t\t\t\t\tcommand: parentCommand,\n\t\t\t\t\tflags\n\t\t\t\t});\n\t\t\t\tprocess.stderr.write(`${helpText}\\n`);\n\t\t\t} else {\n\t\t\t\tconst topNames = program.commands.map((c) => c.name());\n\t\t\t\tprocess.stderr.write(`Unknown command: ${commandName}${formatSuggestion(commandName, topNames)}\\n`);\n\t\t\t\tconst helpText = formatRootHelp({\n\t\t\t\t\tprogram,\n\t\t\t\t\tflags\n\t\t\t\t});\n\t\t\t\tprocess.stderr.write(`${helpText}\\n`);\n\t\t\t}\n\t\t\tprocess.exit(2);\n\t\t\treturn;\n\t\t}\n\t\tif (errorCode === \"commander.help\" || errorCode === \"commander.helpDisplayed\" || errorCode === \"outputHelp\" || errorMessage === \"(outputHelp)\" || errorMessage.includes(\"outputHelp\") || errorName === \"CommanderError\" && errorMessage.includes(\"outputHelp\")) {\n\t\t\tprocess.exit(0);\n\t\t\treturn;\n\t\t}\n\t\tif (errorCode === \"commander.missingArgument\" || errorCode === \"commander.missingMandatoryOptionValue\" || errorName === \"CommanderError\" && (errorMessage.includes(\"missing\") || errorMessage.includes(\"required\"))) {\n\t\t\tprocess.exit(2);\n\t\t\treturn;\n\t\t}\n\t\tprocess.stderr.write(`Unhandled error: ${err.message}\\n`);\n\t\tif (err.stack) process.stderr.write(`${err.stack}\\n`);\n\t\tprocess.exit(1);\n\t}\n\tprocess.exit(0);\n});\nconst contractCommand = new Command(\"contract\");\nsetCommandDescriptions(contractCommand, \"Contract management commands\", \"Define and emit your application data contract. The contract describes your schema as a\\ndeclarative data structure that can be signed and verified against your database.\");\ncontractCommand.configureHelp({\n\tformatHelp: (cmd) => {\n\t\treturn formatCommandHelp({\n\t\t\tcommand: cmd,\n\t\t\tflags: parseGlobalFlags({})\n\t\t});\n\t},\n\tsubcommandDescription: () => \"\"\n});\nconst contractEmitCommand = createContractEmitCommand();\ncontractCommand.addCommand(contractEmitCommand);\nconst contractInferCommand = createContractInferCommand();\ncontractCommand.addCommand(contractInferCommand);\nconst dbCommand = new Command(\"db\");\nsetCommandDescriptions(dbCommand, \"Database management commands\", \"Verify and sign your database with your contract. Ensure your database schema matches\\nyour contract, and sign it to record the contract hash for future verification.\");\ndbCommand.configureHelp({\n\tformatHelp: (cmd) => {\n\t\treturn formatCommandHelp({\n\t\t\tcommand: cmd,\n\t\t\tflags: parseGlobalFlags({})\n\t\t});\n\t},\n\tsubcommandDescription: () => \"\"\n});\nconst dbVerifyCommand = createDbVerifyCommand();\ndbCommand.addCommand(dbVerifyCommand);\nconst dbInitCommand = createDbInitCommand();\ndbCommand.addCommand(dbInitCommand);\nconst dbUpdateCommand = createDbUpdateCommand();\ndbCommand.addCommand(dbUpdateCommand);\nconst dbSchemaCommand = createDbSchemaCommand();\ndbCommand.addCommand(dbSchemaCommand);\nconst dbSignCommand = createDbSignCommand();\ndbCommand.addCommand(dbSignCommand);\nconst migrationCommand = new Command(\"migration\");\nsetCommandDescriptions(migrationCommand, \"On-disk migration management commands\", \"Plan, apply, and scaffold on-disk migration packages. Migrations are\\ncontract-to-contract edges stored as versioned directories under migrations/.\");\nmigrationCommand.configureHelp({\n\tformatHelp: (cmd) => {\n\t\treturn formatCommandHelp({\n\t\t\tcommand: cmd,\n\t\t\tflags: parseGlobalFlags({})\n\t\t});\n\t},\n\tsubcommandDescription: () => \"\"\n});\nconst migrationPlanCommand = createMigrationPlanCommand();\nmigrationCommand.addCommand(migrationPlanCommand);\nconst migrationNewCommand = createMigrationNewCommand();\nmigrationCommand.addCommand(migrationNewCommand);\nconst migrationShowCommand = createMigrationShowCommand();\nmigrationCommand.addCommand(migrationShowCommand);\nconst migrationStatusCommand = createMigrationStatusCommand();\nmigrationCommand.addCommand(migrationStatusCommand);\nconst migrationLogCommand = createMigrationLogCommand();\nmigrationCommand.addCommand(migrationLogCommand);\nconst migrationListCommand = createMigrationListCommand();\nmigrationCommand.addCommand(migrationListCommand);\nconst migrationGraphCommand = createMigrationGraphCommand();\nmigrationCommand.addCommand(migrationGraphCommand);\nconst migrationCheckCommand = createMigrationCheckCommand();\nmigrationCommand.addCommand(migrationCheckCommand);\nconst migrateCommand = createMigrateCommand();\nconst refCommand = createRefCommand();\nconst telemetryCommand = createTelemetryCommand();\nconst initCommand = createInitCommand();\nconst formatCommand = createFormatCommand();\nconst lspCommand = createLspCommand();\nprogram.addCommand(initCommand);\nprogram.addCommand(migrateCommand);\nprogram.addCommand(formatCommand);\nprogram.addCommand(lspCommand);\nprogram.addCommand(contractCommand);\nprogram.addCommand(dbCommand);\nprogram.addCommand(migrationCommand);\nprogram.addCommand(refCommand);\nprogram.addCommand(telemetryCommand);\nconst TELEMETRY_CRASH_TEST_SLEEP_MS = 200;\nif (process.env[\"PRISMA_NEXT_ENABLE_TEST_COMMANDS\"] === \"1\") {\n\tconst telemetryCrashTestCommand = new Command(\"__telemetry-crash-test\").description(\"Internal: deliberately throw for the telemetry e2e suite.\").action(async () => {\n\t\tawait new Promise((settle) => setTimeout(settle, TELEMETRY_CRASH_TEST_SLEEP_MS));\n\t\tthrow new Error(\"__telemetry-crash-test: intentional crash for e2e coverage\");\n\t});\n\ttelemetryCrashTestCommand.configureHelp({ visibleCommands: () => [] });\n\tprogram.addCommand(telemetryCrashTestCommand, { hidden: true });\n}\nconst helpCommand = new Command(\"help\").description(\"Show usage instructions\").configureHelp({ formatHelp: (cmd) => {\n\treturn formatCommandHelp({\n\t\tcommand: cmd,\n\t\tflags: parseGlobalFlags({})\n\t});\n} }).action(() => {\n\tconst flags = parseGlobalFlags({});\n\tconst helpText = formatRootHelp({\n\t\tprogram,\n\t\tflags\n\t});\n\tprocess.stdout.write(`${helpText}\\n`);\n\tprocess.exit(0);\n});\nprogram.addCommand(helpCommand);\nprogram.action(() => {\n\tconst flags = parseGlobalFlags({});\n\tconst helpText = formatRootHelp({\n\t\tprogram,\n\t\tflags\n\t});\n\tprocess.stderr.write(`${helpText}\\n`);\n\tprocess.exit(0);\n});\nconst args = process.argv.slice(2);\nif (args.length > 0) {\n\tconst commandName = args[0];\n\tif (commandName === \"--version\" || commandName === \"-V\") {\n\t\tprocess.stdout.write(`${program.version()}\\n`);\n\t\tprocess.exit(0);\n\t}\n\tif (!(commandName === \"--help\" || commandName === \"-h\")) {\n\t\tconst command = program.commands.find((cmd) => cmd.name() === commandName);\n\t\tif (!command) {\n\t\t\tconst flags = parseGlobalFlags({});\n\t\t\tconst topNames = program.commands.map((c) => c.name());\n\t\t\tprocess.stderr.write(`Unknown command: ${commandName}${formatSuggestion(commandName, topNames)}\\n`);\n\t\t\tconst helpText = formatRootHelp({\n\t\t\t\tprogram,\n\t\t\t\tflags\n\t\t\t});\n\t\t\tprocess.stderr.write(`${helpText}\\n`);\n\t\t\tprocess.exit(2);\n\t\t} else if (command.commands.length > 0 && args.length >= 2) {\n\t\t\tconst subcommandName = args[1];\n\t\t\tconst redirect = removedVerbRedirects[`${commandName}:${subcommandName}`];\n\t\t\tif (redirect) {\n\t\t\t\tprocess.stderr.write(`Unknown command: ${subcommandName}\\n${redirect}\\n`);\n\t\t\t\tprocess.exit(2);\n\t\t\t}\n\t\t\tfor (let i = 2; i < args.length; i++) {\n\t\t\t\tconst arg = args[i];\n\t\t\t\tif (!arg.startsWith(\"--\")) continue;\n\t\t\t\tconst flagRedirect = removedFlagRedirects[`${commandName}:${subcommandName}:${arg.slice(2)}`];\n\t\t\t\tif (flagRedirect) {\n\t\t\t\t\tprocess.stderr.write(`Unknown option: ${arg}\\n${flagRedirect}\\n`);\n\t\t\t\t\tprocess.exit(2);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (command.commands.length > 0 && args.length === 1) {\n\t\t\tconst helpText = formatCommandHelp({\n\t\t\t\tcommand,\n\t\t\t\tflags: parseGlobalFlags({})\n\t\t\t});\n\t\t\tprocess.stderr.write(`${helpText}\\n`);\n\t\t\tprocess.exit(0);\n\t\t}\n\t}\n}\nprogram.parse();\n//#endregion\nexport {};\n\n//# sourceMappingURL=cli.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bin__prisma-next.mjs","names":["isCI"],"sources":["../../../../1-framework/3-tooling/cli/dist/cli.mjs"],"sourcesContent":["#!/usr/bin/env node\nimport { r as defaultSchemaPath, u as version } from \"./code-templates-BFE1n0Ck.mjs\";\nimport { f as BIN_NAME, n as installShutdownHandlers } from \"./terminal-ui-Cqz4LVL7.mjs\";\nimport { _ as parseGlobalFlagsOrExit, b as formatCommandHelp, d as setCommandExamples, g as parseGlobalFlags, h as deriveCanPrompt, t as addGlobalOptions, u as setCommandDescriptions, x as formatRootHelp, y as isCI } from \"./command-helpers-BCgwcqTe.mjs\";\nimport { t as createContractEmitCommand } from \"./contract-emit-DsvAx-dY.mjs\";\nimport { t as createContractInferCommand } from \"./contract-infer-BwIDGl7v.mjs\";\nimport { t as createDbInitCommand } from \"./db-init-BolXrKAI.mjs\";\nimport { t as createDbSchemaCommand } from \"./db-schema-DvdLBdEY.mjs\";\nimport { t as createDbSignCommand } from \"./db-sign-DCp4c8CA.mjs\";\nimport { t as createDbUpdateCommand } from \"./db-update-CfayE8WE.mjs\";\nimport { t as createDbVerifyCommand } from \"./db-verify-BN7IrOAL.mjs\";\nimport { t as createFormatCommand } from \"./format-Ca7dUE6B.mjs\";\nimport { t as createMigrateCommand } from \"./migrate-BXATUjYE.mjs\";\nimport { t as createMigrationCheckCommand } from \"./migration-check-DbHgYK7F.mjs\";\nimport { t as createMigrationGraphCommand } from \"./migration-graph-BOwu76mF.mjs\";\nimport { t as createMigrationListCommand } from \"./migration-list-CKuYcMQq.mjs\";\nimport { t as createMigrationLogCommand } from \"./migration-log-CUbGla-9.mjs\";\nimport { t as createMigrationNewCommand } from \"./migration-new-ChvZjf5X.mjs\";\nimport { t as createMigrationPlanCommand } from \"./migration-plan-Bz1hOTHF.mjs\";\nimport { t as createMigrationShowCommand } from \"./migration-show-BGdR1xnT.mjs\";\nimport { r as createMigrationStatusCommand } from \"./migration-status-BIrAJ5af.mjs\";\nimport { t as createRefCommand } from \"./ref-4x6BGSsd.mjs\";\nimport { t as createTelemetryCommand } from \"./telemetry-BD52LETE.mjs\";\nimport { Command } from \"commander\";\nimport { ensureInstallationId, readUserConfig, resolveGating, runTelemetry, userConfigPath } from \"@internal/cli-telemetry\";\nimport { distance } from \"closest-match\";\nimport { fileURLToPath } from \"node:url\";\n//#region src/commands/init/index.ts\nfunction createInitCommand() {\n\tconst command = new Command(\"init\");\n\tsetCommandDescriptions(command, \"Initialize a new Prisma Next project\", `Scaffolds config, schema, and runtime files, installs dependencies,\nand emits the contract. Gets you from zero to typed queries in one step.\n\nRun interactively for a guided experience, or supply --target / --authoring\nand --yes for a fully scriptable run (CI, AI coding agents, automation).\n\nExit codes (see CLI Style Guide § Exit Codes):\n 0 OK Init succeeded.\\n 1 INTERNAL_ERROR Unexpected bug in prisma-next (please report).\\n 2 PRECONDITION Bad flags / missing prerequisite (e.g. no package.json).\\n 3 USER_ABORTED User cancelled an interactive prompt.\\n 4 INSTALL_FAILED Dependency installation failed (init-specific).\\n 5 EMIT_FAILED \\`contract emit\\` failed after install (init-specific).\\n 6 SKILL_INSTALL_FAILED Agent-skill install failed (re-run with --no-skill to skip).`);\n\tsetCommandExamples(command, [\n\t\t\"prisma-next init\",\n\t\t\"prisma-next init --yes --target postgres --authoring psl\",\n\t\t\"prisma-next init --yes --target mongodb --authoring typescript --json\",\n\t\t\"prisma-next init --yes --force --target postgres --authoring psl # overwrite an existing scaffold\",\n\t\t\"prisma-next init --no-install # skip pnpm/npm install + emit\",\n\t\t\"prisma-next init --no-skill # skip the skills install (air-gapped / restricted env)\"\n\t]);\n\treturn addGlobalOptions(command).option(\"--target <db>\", \"Database target: postgres or mongodb\").option(\"--authoring <style>\", \"Schema authoring style: psl or typescript\").option(\"--schema-path <path>\", `Where to write the starter schema (default: ${defaultSchemaPath(\"psl\")})`).option(\"--force\", \"Overwrite an existing scaffold without prompting\").option(\"--write-env\", \"Write a .env file from .env.example (gitignored; default: only .env.example)\").option(\"--probe-db\", \"Connect to DATABASE_URL once and check the server version against the target minimum (opt-in; off by default)\").option(\"--strict-probe\", \"Treat a failed --probe-db as fatal (no-op without --probe-db; init is offline-by-default)\").option(\"--no-install\", \"Skip dependency installation and contract emission\").option(\"--no-skill\", \"Skip Prisma Next skills install (air-gapped CI, restricted registries, etc.)\").action(async (options) => {\n\t\tconst { runInit } = await import(\"./init-CCjniMF1.mjs\");\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst canPrompt = deriveCanPrompt({\n\t\t\tflagsInteractive: flags.interactive,\n\t\t\toptionInteractive: options.interactive,\n\t\t\tstdinIsTTY: Boolean(process.stdin.isTTY)\n\t\t});\n\t\tconst exitCode = await runInit(process.cwd(), {\n\t\t\toptions,\n\t\t\tflags,\n\t\t\tcanPrompt\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n}\n//#endregion\n//#region src/commands/lsp.ts\nfunction createLspCommand() {\n\tconst command = new Command(\"lsp\");\n\tsetCommandDescriptions(command, \"Start the Prisma Next language server\", \"Launches a Language Server Protocol server that publishes PSL parse diagnostics\\nand handles whole-document PSL formatting for the schema inputs declared in\\nyour config (contract.source.inputs). Formatting uses the Prisma Next PSL\\nformatter and the formatter block from the project config.\\nCommunicates over stdio; intended to be spawned by an\\neditor, not run interactively. The server keeps running until the editor client\\ndisconnects.\");\n\tsetCommandExamples(command, [\"prisma-next lsp --stdio\"]);\n\taddGlobalOptions(command).option(\"--stdio\", \"Communicate with the editor over stdio (the default and only transport)\").option(\"--clientProcessId <pid>\", \"Process id of the editor that spawned the server; the server ends when it dies\").action(async () => {\n\t\tconst { startServer } = await import(\"@internal/language-server\");\n\t\tstartServer();\n\t});\n\treturn command;\n}\n//#endregion\n//#region src/utils/suggest-command.ts\n/**\n* Suggests similar command names for a mistyped input.\n*\n* Uses Levenshtein distance to find close matches. Only suggests commands\n* within a reasonable distance threshold (40% of the input length, minimum 2).\n* Returns up to 3 suggestions in case of ties.\n*\n* @returns Array of suggested command names (empty if nothing is close enough).\n*/\nfunction suggestCommands(input, candidates) {\n\tif (candidates.length === 0) return [];\n\tconst maxDistance = Math.max(2, Math.ceil(input.length * .4));\n\tconst scored = candidates.map((name) => ({\n\t\tname,\n\t\tdist: distance(input, name)\n\t})).filter((entry) => entry.dist <= maxDistance).sort((a, b) => a.dist - b.dist);\n\tif (scored.length === 0) return [];\n\tconst bestDist = scored[0].dist;\n\treturn scored.filter((entry) => entry.dist === bestDist).slice(0, 3).map((entry) => entry.name);\n}\n//#endregion\n//#region src/utils/telemetry.ts\n/**\n* Resolve the commander command path from a leaf `Command`, walking up\n* the parent chain. Result is rooted at the program name and ends at\n* the leaf — `['prisma-next', 'migration', 'new']` for\n* `prisma-next migration new …`.\n*/\nfunction commandPathFor(actionCommand) {\n\tconst path = [];\n\tlet cursor = actionCommand;\n\twhile (cursor !== null) {\n\t\tpath.unshift(cursor.name());\n\t\tcursor = cursor.parent;\n\t}\n\treturn path;\n}\nfunction commanderOptionSnapshots(actionCommand) {\n\treturn actionCommand.options.map((option) => {\n\t\tconst attributeName = option.attributeName();\n\t\treturn {\n\t\t\tattributeName,\n\t\t\tlongName: option.long ?? null,\n\t\t\tsource: actionCommand.getOptionValueSource(attributeName) ?? null\n\t\t};\n\t});\n}\n/**\n* Project commander's leaf `Command` into the wire-shape snapshot the\n* telemetry sanitiser consumes. Pure projection — no env, no I/O.\n*/\nfunction commanderSnapshotForTelemetry(actionCommand) {\n\treturn {\n\t\tcommandPath: commandPathFor(actionCommand),\n\t\tpositionalArgs: actionCommand.args,\n\t\toptions: commanderOptionSnapshots(actionCommand)\n\t};\n}\nfunction resolveTelemetryGate() {\n\tif (isCI()) return {\n\t\tenabled: false,\n\t\toutcome: {\n\t\t\tspawned: false,\n\t\t\treason: \"ci\"\n\t\t}\n\t};\n\tconst userConfig = readUserConfig();\n\tif (!resolveGating({\n\t\tenv: process.env,\n\t\tconfig: userConfig\n\t}).enabled) return {\n\t\tenabled: false,\n\t\toutcome: {\n\t\t\tspawned: false,\n\t\t\treason: \"gated-off\"\n\t\t}\n\t};\n\treturn {\n\t\tenabled: true,\n\t\tuserConfig\n\t};\n}\n/**\n* Path to the compiled sender script inside `@internal/cli-telemetry`'s\n* `dist/`. Resolved off this module's `import.meta.url` via the package\n* specifier `@internal/cli-telemetry/sender`, so the consumer pays\n* no attention to internal package layout.\n*/\nfunction senderPath() {\n\treturn fileURLToPath(new URL(import.meta.resolve(\"@internal/cli-telemetry/sender\")));\n}\nfunction fireTelemetry(actionCommand, userConfig) {\n\treturn runTelemetry({\n\t\tcommand: commanderSnapshotForTelemetry(actionCommand),\n\t\tversion,\n\t\tprojectRoot: process.cwd(),\n\t\tsenderPath: senderPath(),\n\t\tisCI: isCI(),\n\t\tenv: process.env,\n\t\tuserConfig\n\t});\n}\n/**\n* preAction-stage entry point. Synchronous by construction: resolve\n* env/CI/user-consent gates (cheap, all in-memory and a single tiny\n* user-config read), then — only when enabled — `fork()` the detached\n* sender script. The forked child loads `prisma-next.config.*` via\n* c12 on its own (see `loadProjectConfig` in cli-telemetry); the\n* parent does no project-config I/O on the command's hot path.\n*\n* Privacy invariant: gate resolution always happens before any project\n* config touches disk. The child loading user TS code is acceptable\n* only because it's gated behind the same resolved-enabled signal.\n*/\n/**\n* Builds the one-time first-run disclosure. The resolved absolute path to\n* the user-level config file is substituted in so the user can see exactly\n* which file to edit (it must not be confused with `prisma-next.config.ts`).\n* `prisma-next telemetry disable` is named as the primary, friendliest\n* opt-out, alongside the env vars and the config edit.\n*/\nfunction firstRunNotice(configPath) {\n\treturn [\n\t\t\"Prisma Next collects anonymous CLI usage data, enabled by default.\",\n\t\t\"What's collected and why: https://prisma-next.dev/docs/cli/telemetry.\",\n\t\t\"Opt out: run \\\"prisma-next telemetry disable\\\", set DO_NOT_TRACK=1 or\",\n\t\t`PRISMA_NEXT_DISABLE_TELEMETRY=1, or set \"enableTelemetry\": false in ${configPath}.`\n\t].join(\" \");\n}\n/**\n* Best-effort first-run disclosure + installationId mint. Runs only on the\n* gating-enabled path. Prints the notice to stderr (never stdout) and mints\n* a persistent id without touching `enableTelemetry`, so the opt-out default\n* stays intact and no unasked-for consent is recorded.\n*\n* Every step is wrapped so an un-writable config dir (or any other failure)\n* never throws and never blocks the command. Returns the minted (or\n* pre-existing) id so the caller can forward it to `runTelemetry` without a\n* redundant disk read. On mint failure it returns `undefined`: the notice may\n* reprint next run, and `runTelemetry` no-ops on the missing id.\n*/\nfunction discloseAndMintOnFirstRun() {\n\ttry {\n\t\tprocess.stderr.write(`${firstRunNotice(userConfigPath())}\\n`);\n\t} catch {}\n\ttry {\n\t\treturn ensureInstallationId();\n\t} catch {}\n}\n/**\n* True when the run is the `telemetry` command (or one of its\n* subcommands). The usage-telemetry preAction fire is exempted for it:\n* it would be absurd for `telemetry disable` to send a usage event before\n* disabling, or for `telemetry status` to mint an id + send while merely\n* reporting state. This is the only command-specific exemption.\n*\n* The check is rooted at the program: the path must be\n* `['prisma-next', 'telemetry', …]`, so it matches the top-level\n* `telemetry` command and its subcommands without matching a hypothetical\n* nested `… telemetry` elsewhere.\n*/\nfunction isTelemetryCommand(actionCommand) {\n\treturn commandPathFor(actionCommand)[1] === \"telemetry\";\n}\nfunction fireTelemetryFromPreAction(actionCommand) {\n\tif (isTelemetryCommand(actionCommand)) return {\n\t\tspawned: false,\n\t\treason: \"gated-off\"\n\t};\n\tconst gate = resolveTelemetryGate();\n\tif (!gate.enabled) return gate.outcome;\n\tconst storedId = gate.userConfig.installationId;\n\tif (typeof storedId !== \"string\" || storedId.length === 0) {\n\t\tconst installationId = discloseAndMintOnFirstRun();\n\t\treturn fireTelemetry(actionCommand, installationId === void 0 ? gate.userConfig : {\n\t\t\t...gate.userConfig,\n\t\t\tinstallationId\n\t\t});\n\t}\n\treturn fireTelemetry(actionCommand, gate.userConfig);\n}\n//#endregion\n//#region src/cli.ts\ninstallShutdownHandlers();\n/**\n* Lookup table mapping removed subcommands to their replacement verbs.\n* Keyed by `<parent>:<subcommand>` (e.g. `migration:apply`).\n* The handler consults this before falling back to the fuzzy suggest engine.\n*/\nconst removedVerbRedirects = {\n\t\"migration:apply\": \"Use `prisma-next migrate --to <contract>` instead.\",\n\t\"migration:ref\": \"Use `prisma-next ref set|list|delete` instead.\"\n};\n/**\n* Removed flags on specific subcommands. Keyed by `<parent>:<sub>:<flag>`.\n* Checked during the pre-parse argv scan before commander sees the flags.\n*/\nconst removedFlagRedirects = {\n\t\"migration:status:graph\": \"Use `prisma-next migration graph` to view the migration graph.\",\n\t\"migration:status:all\": \"Use `prisma-next migration log --db <url>` to view the full execution history.\",\n\t\"migration:status:limit\": \"Use `prisma-next migration log --db <url>` to view the full execution history.\",\n\t\"migration:status:ref\": \"Use `--to <contract>` instead of `--ref`.\"\n};\n/**\n* Formats the \"Did you mean ...?\" hint for an unknown command.\n*/\nfunction formatSuggestion(input, candidates) {\n\tconst suggestions = suggestCommands(input, candidates.map((c) => c));\n\tif (suggestions.length === 0) return \"\";\n\tif (suggestions.length === 1) return `\\nDid you mean ${suggestions[0]}?\\n`;\n\treturn `\\nDid you mean one of these?\\n${suggestions.map((s) => ` ${s}`).join(\"\\n\")}\\n`;\n}\nconst program = new Command();\nprogram.name(BIN_NAME).description(\"Prisma Next CLI\").version(version);\nprogram.hook(\"preAction\", (_thisCommand, actionCommand) => {\n\ttry {\n\t\tfireTelemetryFromPreAction(actionCommand);\n\t} catch {}\n});\nconst versionOption = program.options.find((opt) => opt.flags.includes(\"--version\"));\nif (versionOption) versionOption.description = \"Output the version number\";\nprogram.configureOutput({\n\twriteErr: () => {},\n\twriteOut: (str) => {\n\t\tprocess.stdout.write(str);\n\t}\n});\nconst rootHelpFormatter = (cmd) => {\n\treturn formatRootHelp({\n\t\tprogram: cmd,\n\t\tflags: parseGlobalFlags({})\n\t});\n};\nprogram.configureHelp({\n\tformatHelp: rootHelpFormatter,\n\tsubcommandDescription: () => \"\"\n});\nprogram.exitOverride((err) => {\n\tif (err) {\n\t\tconst errorCode = err.code;\n\t\tconst errorMessage = String(err.message ?? \"\");\n\t\tconst errorName = err.name ?? \"\";\n\t\tif (errorCode === \"commander.unknownCommand\" || errorCode === \"commander.unknownArgument\" || errorName === \"CommanderError\" && (errorMessage.includes(\"unknown command\") || errorMessage.includes(\"unknown argument\"))) {\n\t\t\tconst flags = parseGlobalFlags({});\n\t\t\tconst match = errorMessage.match(/unknown command ['\"]([^'\"]+)['\"]/);\n\t\t\tconst commandName = match ? match[1] : process.argv[3] || process.argv[2] || \"unknown\";\n\t\t\tconst firstArg = process.argv[2];\n\t\t\tconst parentCommand = firstArg ? program.commands.find((cmd) => cmd.name() === firstArg) : void 0;\n\t\t\tif (parentCommand && commandName !== firstArg) {\n\t\t\t\tconst subNames = parentCommand.commands.map((c) => c.name());\n\t\t\t\tprocess.stderr.write(`Unknown command: ${commandName}${formatSuggestion(commandName, subNames)}\\n`);\n\t\t\t\tconst helpText = formatCommandHelp({\n\t\t\t\t\tcommand: parentCommand,\n\t\t\t\t\tflags\n\t\t\t\t});\n\t\t\t\tprocess.stderr.write(`${helpText}\\n`);\n\t\t\t} else {\n\t\t\t\tconst topNames = program.commands.map((c) => c.name());\n\t\t\t\tprocess.stderr.write(`Unknown command: ${commandName}${formatSuggestion(commandName, topNames)}\\n`);\n\t\t\t\tconst helpText = formatRootHelp({\n\t\t\t\t\tprogram,\n\t\t\t\t\tflags\n\t\t\t\t});\n\t\t\t\tprocess.stderr.write(`${helpText}\\n`);\n\t\t\t}\n\t\t\tprocess.exit(2);\n\t\t\treturn;\n\t\t}\n\t\tif (errorCode === \"commander.help\" || errorCode === \"commander.helpDisplayed\" || errorCode === \"outputHelp\" || errorMessage === \"(outputHelp)\" || errorMessage.includes(\"outputHelp\") || errorName === \"CommanderError\" && errorMessage.includes(\"outputHelp\")) {\n\t\t\tprocess.exit(0);\n\t\t\treturn;\n\t\t}\n\t\tif (errorCode === \"commander.missingArgument\" || errorCode === \"commander.missingMandatoryOptionValue\" || errorName === \"CommanderError\" && (errorMessage.includes(\"missing\") || errorMessage.includes(\"required\"))) {\n\t\t\tprocess.exit(2);\n\t\t\treturn;\n\t\t}\n\t\tprocess.stderr.write(`Unhandled error: ${err.message}\\n`);\n\t\tif (err.stack) process.stderr.write(`${err.stack}\\n`);\n\t\tprocess.exit(1);\n\t}\n\tprocess.exit(0);\n});\nconst contractCommand = new Command(\"contract\");\nsetCommandDescriptions(contractCommand, \"Contract management commands\", \"Define and emit your application data contract. The contract describes your schema as a\\ndeclarative data structure that can be signed and verified against your database.\");\ncontractCommand.configureHelp({\n\tformatHelp: (cmd) => {\n\t\treturn formatCommandHelp({\n\t\t\tcommand: cmd,\n\t\t\tflags: parseGlobalFlags({})\n\t\t});\n\t},\n\tsubcommandDescription: () => \"\"\n});\nconst contractEmitCommand = createContractEmitCommand();\ncontractCommand.addCommand(contractEmitCommand);\nconst contractInferCommand = createContractInferCommand();\ncontractCommand.addCommand(contractInferCommand);\nconst dbCommand = new Command(\"db\");\nsetCommandDescriptions(dbCommand, \"Database management commands\", \"Verify and sign your database with your contract. Ensure your database schema matches\\nyour contract, and sign it to record the contract hash for future verification.\");\ndbCommand.configureHelp({\n\tformatHelp: (cmd) => {\n\t\treturn formatCommandHelp({\n\t\t\tcommand: cmd,\n\t\t\tflags: parseGlobalFlags({})\n\t\t});\n\t},\n\tsubcommandDescription: () => \"\"\n});\nconst dbVerifyCommand = createDbVerifyCommand();\ndbCommand.addCommand(dbVerifyCommand);\nconst dbInitCommand = createDbInitCommand();\ndbCommand.addCommand(dbInitCommand);\nconst dbUpdateCommand = createDbUpdateCommand();\ndbCommand.addCommand(dbUpdateCommand);\nconst dbSchemaCommand = createDbSchemaCommand();\ndbCommand.addCommand(dbSchemaCommand);\nconst dbSignCommand = createDbSignCommand();\ndbCommand.addCommand(dbSignCommand);\nconst migrationCommand = new Command(\"migration\");\nsetCommandDescriptions(migrationCommand, \"On-disk migration management commands\", \"Plan, apply, and scaffold on-disk migration packages. Migrations are\\ncontract-to-contract edges stored as versioned directories under migrations/.\");\nmigrationCommand.configureHelp({\n\tformatHelp: (cmd) => {\n\t\treturn formatCommandHelp({\n\t\t\tcommand: cmd,\n\t\t\tflags: parseGlobalFlags({})\n\t\t});\n\t},\n\tsubcommandDescription: () => \"\"\n});\nconst migrationPlanCommand = createMigrationPlanCommand();\nmigrationCommand.addCommand(migrationPlanCommand);\nconst migrationNewCommand = createMigrationNewCommand();\nmigrationCommand.addCommand(migrationNewCommand);\nconst migrationShowCommand = createMigrationShowCommand();\nmigrationCommand.addCommand(migrationShowCommand);\nconst migrationStatusCommand = createMigrationStatusCommand();\nmigrationCommand.addCommand(migrationStatusCommand);\nconst migrationLogCommand = createMigrationLogCommand();\nmigrationCommand.addCommand(migrationLogCommand);\nconst migrationListCommand = createMigrationListCommand();\nmigrationCommand.addCommand(migrationListCommand);\nconst migrationGraphCommand = createMigrationGraphCommand();\nmigrationCommand.addCommand(migrationGraphCommand);\nconst migrationCheckCommand = createMigrationCheckCommand();\nmigrationCommand.addCommand(migrationCheckCommand);\nconst migrateCommand = createMigrateCommand();\nconst refCommand = createRefCommand();\nconst telemetryCommand = createTelemetryCommand();\nconst initCommand = createInitCommand();\nconst formatCommand = createFormatCommand();\nconst lspCommand = createLspCommand();\nprogram.addCommand(initCommand);\nprogram.addCommand(migrateCommand);\nprogram.addCommand(formatCommand);\nprogram.addCommand(lspCommand);\nprogram.addCommand(contractCommand);\nprogram.addCommand(dbCommand);\nprogram.addCommand(migrationCommand);\nprogram.addCommand(refCommand);\nprogram.addCommand(telemetryCommand);\nconst TELEMETRY_CRASH_TEST_SLEEP_MS = 200;\nif (process.env[\"PRISMA_NEXT_ENABLE_TEST_COMMANDS\"] === \"1\") {\n\tconst telemetryCrashTestCommand = new Command(\"__telemetry-crash-test\").description(\"Internal: deliberately throw for the telemetry e2e suite.\").action(async () => {\n\t\tawait new Promise((settle) => setTimeout(settle, TELEMETRY_CRASH_TEST_SLEEP_MS));\n\t\tthrow new Error(\"__telemetry-crash-test: intentional crash for e2e coverage\");\n\t});\n\ttelemetryCrashTestCommand.configureHelp({ visibleCommands: () => [] });\n\tprogram.addCommand(telemetryCrashTestCommand, { hidden: true });\n}\nconst helpCommand = new Command(\"help\").description(\"Show usage instructions\").configureHelp({ formatHelp: (cmd) => {\n\treturn formatCommandHelp({\n\t\tcommand: cmd,\n\t\tflags: parseGlobalFlags({})\n\t});\n} }).action(() => {\n\tconst flags = parseGlobalFlags({});\n\tconst helpText = formatRootHelp({\n\t\tprogram,\n\t\tflags\n\t});\n\tprocess.stdout.write(`${helpText}\\n`);\n\tprocess.exit(0);\n});\nprogram.addCommand(helpCommand);\nprogram.action(() => {\n\tconst flags = parseGlobalFlags({});\n\tconst helpText = formatRootHelp({\n\t\tprogram,\n\t\tflags\n\t});\n\tprocess.stderr.write(`${helpText}\\n`);\n\tprocess.exit(0);\n});\nconst args = process.argv.slice(2);\nif (args.length > 0) {\n\tconst commandName = args[0];\n\tif (commandName === \"--version\" || commandName === \"-V\") {\n\t\tprocess.stdout.write(`${program.version()}\\n`);\n\t\tprocess.exit(0);\n\t}\n\tif (!(commandName === \"--help\" || commandName === \"-h\")) {\n\t\tconst command = program.commands.find((cmd) => cmd.name() === commandName);\n\t\tif (!command) {\n\t\t\tconst flags = parseGlobalFlags({});\n\t\t\tconst topNames = program.commands.map((c) => c.name());\n\t\t\tprocess.stderr.write(`Unknown command: ${commandName}${formatSuggestion(commandName, topNames)}\\n`);\n\t\t\tconst helpText = formatRootHelp({\n\t\t\t\tprogram,\n\t\t\t\tflags\n\t\t\t});\n\t\t\tprocess.stderr.write(`${helpText}\\n`);\n\t\t\tprocess.exit(2);\n\t\t} else if (command.commands.length > 0 && args.length >= 2) {\n\t\t\tconst subcommandName = args[1];\n\t\t\tconst redirect = removedVerbRedirects[`${commandName}:${subcommandName}`];\n\t\t\tif (redirect) {\n\t\t\t\tprocess.stderr.write(`Unknown command: ${subcommandName}\\n${redirect}\\n`);\n\t\t\t\tprocess.exit(2);\n\t\t\t}\n\t\t\tfor (let i = 2; i < args.length; i++) {\n\t\t\t\tconst arg = args[i];\n\t\t\t\tif (!arg.startsWith(\"--\")) continue;\n\t\t\t\tconst flagRedirect = removedFlagRedirects[`${commandName}:${subcommandName}:${arg.slice(2)}`];\n\t\t\t\tif (flagRedirect) {\n\t\t\t\t\tprocess.stderr.write(`Unknown option: ${arg}\\n${flagRedirect}\\n`);\n\t\t\t\t\tprocess.exit(2);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (command.commands.length > 0 && args.length === 1) {\n\t\t\tconst helpText = formatCommandHelp({\n\t\t\t\tcommand,\n\t\t\t\tflags: parseGlobalFlags({})\n\t\t\t});\n\t\t\tprocess.stderr.write(`${helpText}\\n`);\n\t\t\tprocess.exit(0);\n\t\t}\n\t}\n}\nprogram.parse();\n//#endregion\nexport {};\n\n//# sourceMappingURL=cli.mjs.map"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as CliStructuredError$1 } from "./cli-errors-
|
|
2
|
-
//#region ../../../1-framework/3-tooling/cli/dist/caught-errors-
|
|
1
|
+
import { t as CliStructuredError$1 } from "./cli-errors-B4zTLaqQ-CXgjO9t4.mjs";
|
|
2
|
+
//#region ../../../1-framework/3-tooling/cli/dist/caught-errors-BZo7zcRc.mjs
|
|
3
3
|
/**
|
|
4
4
|
* Classifies errors caught around migration-tools calls so commands never import the MigrationToolsError class directly.
|
|
5
5
|
*/
|
|
@@ -11,4 +11,4 @@ function mapCaughtMigrationError(error) {
|
|
|
11
11
|
//#endregion
|
|
12
12
|
export { mapCaughtMigrationError as t };
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=caught-errors-
|
|
14
|
+
//# sourceMappingURL=caught-errors-BZo7zcRc-C-pIEasG.mjs.map
|
package/dist/{caught-errors-DLPzfzIW-CQ9BoXD-.mjs.map → caught-errors-BZo7zcRc-C-pIEasG.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caught-errors-
|
|
1
|
+
{"version":3,"file":"caught-errors-BZo7zcRc-C-pIEasG.mjs","names":["CliStructuredError"],"sources":["../../../../1-framework/3-tooling/cli/dist/caught-errors-BZo7zcRc.mjs"],"sourcesContent":["import { t as CliStructuredError } from \"./cli-errors-B4zTLaqQ.mjs\";\n//#region src/control-api/operations/caught-errors.ts\n/**\n* Classifies errors caught around migration-tools calls so commands never import the MigrationToolsError class directly.\n*/\n/** CliStructuredError (including MigrationToolsError) → identity; anything else → null (caller rethrows/wraps). */\nfunction mapCaughtMigrationError(error) {\n\tif (CliStructuredError.is(error)) return error;\n\treturn null;\n}\n//#endregion\nexport { mapCaughtMigrationError as t };\n\n//# sourceMappingURL=caught-errors-BZo7zcRc.mjs.map"],"mappings":";;;;;;AAMA,SAAS,wBAAwB,OAAO;CACvC,IAAIA,qBAAmB,GAAG,KAAK,GAAG,OAAO;CACzC,OAAO;AACR"}
|
|
@@ -2,7 +2,7 @@ import { CliStructuredError as CliStructuredError$1, errorConfigValidation as er
|
|
|
2
2
|
import { ifDefined } from "@prisma/orm-framework/utils/defined";
|
|
3
3
|
import { ERROR_CODE_DESTRUCTIVE_CHANGES, errorConsentPlanMismatch, errorDestructiveChanges, errorHashMismatch, errorMarkerMissing, errorRunnerFailed, errorRuntime as errorRuntime$1, errorTargetMismatch } from "@prisma/orm-framework/errors/execution";
|
|
4
4
|
import "@prisma/orm-framework/errors/migration";
|
|
5
|
-
//#region ../../../1-framework/3-tooling/cli/dist/cli-errors-
|
|
5
|
+
//#region ../../../1-framework/3-tooling/cli/dist/cli-errors-B4zTLaqQ.mjs
|
|
6
6
|
/**
|
|
7
7
|
* The typed remediation the CLI attaches to its own errors and findings.
|
|
8
8
|
* Constructors live here rather than in any library the CLI calls: naming a
|
|
@@ -39,6 +39,23 @@ var ActionableCliError = class extends CliStructuredError$1 {
|
|
|
39
39
|
this.nextActions = options.nextActions;
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
|
+
/**
|
|
43
|
+
* A command that accepts a contract reference both as a positional and as a
|
|
44
|
+
* flag was given both. Structured rather than a bare stderr line, so a script
|
|
45
|
+
* sees the same envelope every other invocation failure produces.
|
|
46
|
+
*/
|
|
47
|
+
function errorContractArgConflict(options) {
|
|
48
|
+
const fix = "Pass the contract reference once — either as the positional argument or as --contract.";
|
|
49
|
+
return new ActionableCliError("CLI.CONTRACT_ARG_CONFLICT", "Cannot specify both a positional contract argument and --contract", {
|
|
50
|
+
why: `The positional argument names "${options.positional}" and --contract names "${options.flag}"; there is no rule for which wins.`,
|
|
51
|
+
fix,
|
|
52
|
+
nextActions: [chooseAction(fix)],
|
|
53
|
+
meta: {
|
|
54
|
+
positional: options.positional,
|
|
55
|
+
flag: options.flag
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
42
59
|
function errorRefSetHashNotInGraph(resolvedHash, reachableHashes, graphTipHash) {
|
|
43
60
|
const reachableList = reachableHashes.length > 0 ? reachableHashes.join(", ") : "(none — migration graph is empty)";
|
|
44
61
|
const fix = reachableHashes.length > 0 ? graphTipHash !== null ? `Set the ref to a graph-node hash such as ${graphTipHash}, or run \`prisma-next migration plan\` to extend the graph.` : "Set the ref to a hash that appears in the migration graph." : "Run `prisma-next migration plan` first.";
|
|
@@ -325,6 +342,6 @@ function mapRefResolutionError(error) {
|
|
|
325
342
|
}
|
|
326
343
|
}
|
|
327
344
|
//#endregion
|
|
328
|
-
export {
|
|
345
|
+
export { errorRuntime$1 as A, errorOutputFormatMutex as C, errorRefSetEmptySentinel as D, errorRefSetBundleNotFound as E, errorUnexpected as F, mapRefResolutionError as I, requireLiveDatabase as L, errorSpaceNotFound as M, errorTargetMigrationNotSupported as N, errorRefSetHashNotInGraph as O, errorTargetMismatch as P, runCommandAction as R, errorNoMigrations as S, errorPlanForgotTheFlag as T, errorLegendHumanOnly as _, errorConfigValidation$1 as a, errorMigrationPackageNotFound as b, errorContractConfigMissing$1 as c, errorDestructiveChanges as d, errorDriverRequired as f, errorInvalidSpaceId as g, errorInvalidOutputFormat as h, errorAmbiguousMigrationRef as i, errorSnapshotMissing as j, errorRunnerFailed as k, errorContractValidationFailed as l, errorHashMismatch as m, ERROR_CODE_DESTRUCTIVE_CHANGES as n, errorConsentPlanMismatch as o, errorFileNotFound as p, chooseAction as r, errorContractArgConflict as s, CliStructuredError$1 as t, errorDatabaseConnectionRequired as u, errorMarkerMismatch as v, errorPathUnreachable as w, errorMigrationPlanningFailed as x, errorMarkerMissing as y };
|
|
329
346
|
|
|
330
|
-
//# sourceMappingURL=cli-errors-
|
|
347
|
+
//# sourceMappingURL=cli-errors-B4zTLaqQ-CXgjO9t4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-errors-B4zTLaqQ-CXgjO9t4.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/cli-errors-B4zTLaqQ.mjs"],"sourcesContent":["import { CliStructuredError as CliStructuredError$1, errorConfigValidation, errorContractConfigMissing as errorContractConfigMissing$1, errorContractValidationFailed, errorDatabaseConnectionRequired, errorDriverRequired, errorFileNotFound, errorInvalidOutputFormat, errorMigrationPlanningFailed, errorOutputFormatMutex, errorTargetMigrationNotSupported, errorUnexpected } from \"@internal/errors/control\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { ERROR_CODE_DESTRUCTIVE_CHANGES, errorConsentPlanMismatch, errorDestructiveChanges, errorHashMismatch, errorMarkerMissing, errorRunnerFailed, errorRuntime as errorRuntime$1, errorTargetMismatch } from \"@internal/errors/execution\";\nimport \"@internal/errors/migration\";\n//#region src/utils/next-actions.ts\n/**\n* The typed remediation the CLI attaches to its own errors and findings.\n* Constructors live here rather than in any library the CLI calls: naming a\n* runnable invocation is something only the CLI can do.\n*/\nfunction runCommandAction(label, command) {\n\treturn {\n\t\tkind: \"run-command\",\n\t\tlabel,\n\t\tcommand\n\t};\n}\n/** Advice the user acts on themselves — there is no command to run. */\nfunction chooseAction(label) {\n\treturn {\n\t\tkind: \"user-choice\",\n\t\tlabel\n\t};\n}\n//#endregion\n//#region src/utils/cli-errors.ts\n/**\n* A CLI-raised error that carries the typed remediation as well as the prose.\n* Only the CLI knows which invocation fixes a failure, so only errors raised\n* here spell one; the foundation classes every library also raises keep\n* carrying `code`, `why` and `fix` alone.\n*\n* Both fields are required: the `fix` prose is what the commander shell still\n* renders, and the handler boundary drops it in favour of `nextActions` when it\n* settles the engine's envelope.\n*/\nvar ActionableCliError = class extends CliStructuredError$1 {\n\tnextActions;\n\tconstructor(code, summary, options) {\n\t\tsuper(code, summary, options);\n\t\tthis.nextActions = options.nextActions;\n\t}\n};\n/**\n* A command that accepts a contract reference both as a positional and as a\n* flag was given both. Structured rather than a bare stderr line, so a script\n* sees the same envelope every other invocation failure produces.\n*/\nfunction errorContractArgConflict(options) {\n\tconst fix = \"Pass the contract reference once — either as the positional argument or as --contract.\";\n\treturn new ActionableCliError(\"CLI.CONTRACT_ARG_CONFLICT\", \"Cannot specify both a positional contract argument and --contract\", {\n\t\twhy: `The positional argument names \"${options.positional}\" and --contract names \"${options.flag}\"; there is no rule for which wins.`,\n\t\tfix,\n\t\tnextActions: [chooseAction(fix)],\n\t\tmeta: {\n\t\t\tpositional: options.positional,\n\t\t\tflag: options.flag\n\t\t}\n\t});\n}\nfunction errorRefSetHashNotInGraph(resolvedHash, reachableHashes, graphTipHash) {\n\tconst reachableList = reachableHashes.length > 0 ? reachableHashes.join(\", \") : \"(none — migration graph is empty)\";\n\tconst fix = reachableHashes.length > 0 ? graphTipHash !== null ? `Set the ref to a graph-node hash such as ${graphTipHash}, or run \\`prisma-next migration plan\\` to extend the graph.` : \"Set the ref to a hash that appears in the migration graph.\" : \"Run `prisma-next migration plan` first.\";\n\tconst nextActions = reachableHashes.length > 0 ? graphTipHash !== null ? [chooseAction(`Set the ref to a graph-node hash such as ${graphTipHash}`), runCommandAction(\"Extend the migration graph\", \"prisma-next migration plan\")] : [chooseAction(\"Set the ref to a hash that appears in the migration graph\")] : [runCommandAction(\"Plan the first migration\", \"prisma-next migration plan\")];\n\treturn new ActionableCliError(\"MIGRATION.HASH_NOT_IN_GRAPH\", `Resolved contract hash is not in the migration graph: ${resolvedHash}`, {\n\t\twhy: reachableHashes.length > 0 ? `The migration graph reaches ${reachableList}; resolved ${resolvedHash} isn't a graph node.` : \"The migration graph is empty — no hashes reachable.\",\n\t\tfix,\n\t\tnextActions,\n\t\tmeta: {\n\t\t\tresolvedHash,\n\t\t\treachableHashes: [...reachableHashes],\n\t\t\t...graphTipHash !== null ? { graphTipHash } : {}\n\t\t}\n\t});\n}\nfunction errorRefSetEmptySentinel(hash) {\n\treturn new ActionableCliError(\"MIGRATION.REF_SET_EMPTY_SENTINEL\", `Cannot set ref to the empty-database sentinel: ${hash}`, {\n\t\twhy: \"The empty-database sentinel is a planner internal; it is not a valid ref target.\",\n\t\tfix: \"Set the ref to a contract hash from the migration graph, or use another ref name.\",\n\t\tnextActions: [chooseAction(\"Set the ref to a contract hash from the migration graph\"), chooseAction(\"Or use another ref name\")],\n\t\tmeta: { hash }\n\t});\n}\n/**\n* `--legend` was combined with a machine-readable or silent output flag.\n* The legend is human-only decoration on stderr.\n*/\nfunction errorLegendHumanOnly(conflictingFlag) {\n\treturn new ActionableCliError(\"MIGRATION.LEGEND_HUMAN_ONLY\", \"`--legend` is only available for human-readable output\", {\n\t\twhy: `\\`--legend\\` prints a glyph key to stderr and cannot be combined with ${conflictingFlag}.`,\n\t\tfix: `Omit ${conflictingFlag} to print the legend alongside the tree, or omit --legend when using ${conflictingFlag}.`,\n\t\tnextActions: [chooseAction(`Omit ${conflictingFlag} to print the legend alongside the tree`), chooseAction(`Or omit --legend when using ${conflictingFlag}`)],\n\t\tmeta: { conflictingFlag }\n\t});\n}\n/**\n* `--space <id>` was given a value that doesn't satisfy the contract-space\n* naming rule (`[a-z][a-z0-9_-]{0,63}` per `isValidSpaceId`). Fires before\n* any fs work — the input is syntactically rejected the same way an on-disk\n* directory with that name would be skipped by the enumerator.\n*/\nfunction errorInvalidSpaceId(spaceId) {\n\treturn new ActionableCliError(\"MIGRATION.INVALID_SPACE_ID\", `Invalid contract space id: ${spaceId}`, {\n\t\twhy: \"Contract space ids must match [a-z][a-z0-9_-]{0,63} (lowercase, starts with a letter, max 64 characters — the rule applied to every on-disk space directory).\",\n\t\tfix: \"Pass a space id that matches the directory naming rule, or omit --space to list every space.\",\n\t\tnextActions: [chooseAction(\"Pass a space id matching [a-z][a-z0-9_-]{0,63}\"), runCommandAction(\"Or list every space\", \"prisma-next migration list\")],\n\t\tmeta: { spaceId }\n\t});\n}\n/**\n* `migration list --space <id>` was given a contract-space id that has no\n* directory under `migrations/`. Distinct from \"the space exists but is\n* empty\" — that path renders the empty-state line and exits 0 per the\n* slice spec § Empty-state. This error fires only when `<projectMigrationsDir>/<spaceId>`\n* does not exist on disk.\n*\n* `availableSpaces` lists the contract-space directory names actually\n* present, sorted lex-asc, so the diagnostic can suggest a near match\n* without making the user reach for `ls`.\n*/\nfunction errorSpaceNotFound(spaceId, availableSpaces) {\n\tconst availableList = availableSpaces.length > 0 ? availableSpaces.join(\", \") : \"(none — no contract spaces on disk yet)\";\n\tconst fix = availableSpaces.length > 0 ? `Pick one of: ${availableList}. Run \\`prisma-next migration list\\` (no --space) to see every space's migrations.` : \"Author a migration with `prisma-next migration new` to create the first contract-space directory.\";\n\tconst nextActions = availableSpaces.length > 0 ? [chooseAction(`Pick one of: ${availableList}`), runCommandAction(\"See every space's migrations\", \"prisma-next migration list\")] : [runCommandAction(\"Author the first migration, which creates the contract-space directory\", \"prisma-next migration new\")];\n\treturn new ActionableCliError(\"MIGRATION.SPACE_NOT_FOUND\", `Unknown contract space: ${spaceId}`, {\n\t\twhy: `No directory named \"${spaceId}\" exists under the migrations root.`,\n\t\tfix,\n\t\tnextActions,\n\t\tmeta: {\n\t\t\tspaceId,\n\t\t\tavailableSpaces: [...availableSpaces]\n\t\t}\n\t});\n}\n/**\n* A `migration show` target resolved to a directory or a graph node, but no\n* on-disk package was loaded for it.\n*/\nfunction errorMigrationPackageNotFound(why) {\n\treturn new ActionableCliError(\"MIGRATION.PACKAGE_NOT_FOUND\", \"Migration package not found\", {\n\t\twhy,\n\t\tfix: \"Pass a directory name, hash prefix, or path to an on-disk app-space migration package.\",\n\t\tnextActions: [chooseAction(\"Pass a directory name, hash prefix, or path to an on-disk app-space migration package\"), runCommandAction(\"List what is on disk\", \"prisma-next migration list\")]\n\t});\n}\n/** The app space has no migration packages at all, so no target can resolve. */\nfunction errorNoMigrations(appMigrationsRelative) {\n\treturn new ActionableCliError(\"MIGRATION.NO_MIGRATIONS\", \"No migrations found\", {\n\t\twhy: `No migration packages found in ${appMigrationsRelative}`,\n\t\tfix: \"Run `prisma-next migration plan` to create a migration first.\",\n\t\tnextActions: [runCommandAction(\"Create the first migration\", \"prisma-next migration plan\")]\n\t});\n}\nfunction errorRefSetBundleNotFound(hash) {\n\treturn new ActionableCliError(\"MIGRATION.REF_SET_BUNDLE_NOT_FOUND\", `No migration bundle matches graph-node hash ${hash}`, {\n\t\twhy: `The hash is a graph node but no on-disk bundle has metadata.to = ${hash}.`,\n\t\tfix: \"Run `pnpm fixtures:check`, or re-emit the migration that produces this hash so its bundle is restored.\",\n\t\tnextActions: [runCommandAction(\"Restore the checked-in fixtures\", \"pnpm fixtures:check\"), chooseAction(\"Or re-emit the migration that produces this hash\")],\n\t\tmeta: { hash }\n\t});\n}\nfunction errorPlanForgotTheFlag(resolvedHash, reachableRefs, graphTipHash, options) {\n\tconst reachableList = reachableRefs.length > 0 ? reachableRefs.map((r) => `${r.name} (${r.hash})`).join(\", \") : \"(none)\";\n\tconst refFix = reachableRefs.length > 0 ? `Run migration plan with ${reachableRefs.map((r) => `--from ${r.name}`).join(\" or \")}.` : graphTipHash !== null ? `Run migration plan --from ${graphTipHash}.` : \"Commit pending migrations first, then run migration plan.\";\n\tconst nextActions = reachableRefs.length > 0 ? reachableRefs.map((ref) => runCommandAction(`Plan from ${ref.name}`, `prisma-next migration plan --from ${ref.name}`)) : graphTipHash !== null ? [runCommandAction(\"Plan from the graph tip\", `prisma-next migration plan --from ${graphTipHash}`)] : [chooseAction(\"Commit pending migrations first, then run migration plan\")];\n\treturn new ActionableCliError(\"MIGRATION.HASH_NOT_IN_GRAPH\", `Resolved from-hash is not in the migration graph: ${resolvedHash}`, {\n\t\twhy: `The migration graph reaches ${reachableList}; resolved ${resolvedHash} isn't a graph node.`,\n\t\tfix: refFix,\n\t\tnextActions,\n\t\tmeta: {\n\t\t\tresolvedHash,\n\t\t\treachableRefs: reachableRefs.map((r) => r.name),\n\t\t\t...graphTipHash !== null ? { graphTipHash } : {}\n\t\t},\n\t\t...ifDefined(\"cause\", options?.cause)\n\t});\n}\n/**\n* `viaRef: true` (the default) mirrors migration-tools' `errorRefNotResolvable`:\n* a ref name with no pointer file, where the fallback hash isn't a graph\n* node either — there's nothing to materialize a contract from.\n* `viaRef: false` is a distinct, ref-independent case: an explicit `--from\n* <hash>` that doesn't name a ref, on an empty migration graph, so there is\n* no graph node and no ref to resolve a contract through.\n*/\nfunction errorSnapshotMissing(identifier, options) {\n\tconst viaRef = options?.viaRef !== false;\n\tconst fix = viaRef ? `Create the ref with \"prisma-next ref set ${identifier} <hash>\" (or advance it via \"prisma-next db update --advance-ref ${identifier}\"), or pass a hash that is a node in the migration graph.` : `No contract source exists for hash \"${identifier}\" on an empty migration graph. Use --from with a ref name (its contract resolves through the snapshot store), or run db update first.`;\n\tconst nextActions = viaRef ? [\n\t\trunCommandAction(`Create the ref \"${identifier}\"`, `prisma-next ref set ${identifier} <hash>`),\n\t\trunCommandAction(\"Or advance it from the database\", `prisma-next db update --advance-ref ${identifier}`),\n\t\tchooseAction(\"Or pass a hash that is a node in the migration graph\")\n\t] : [chooseAction(\"Pass --from a ref name, whose contract resolves through the snapshot store\"), runCommandAction(\"Or populate the graph first\", \"prisma-next db update\")];\n\treturn new ActionableCliError(\"MIGRATION.SNAPSHOT_MISSING\", viaRef ? `Ref \"${identifier}\" is not resolvable` : `No contract source for from-hash \"${identifier}\"`, {\n\t\twhy: viaRef ? `Ref \"${identifier}\" has no pointer file, and the hash being resolved is not a node in the migration graph either.` : `Hash \"${identifier}\" is not a node in the migration graph (the graph is empty), and it does not name a ref either.`,\n\t\tfix,\n\t\tnextActions,\n\t\tmeta: {\n\t\t\tidentifier,\n\t\t\tviaRef\n\t\t},\n\t\t...ifDefined(\"cause\", options?.cause)\n\t});\n}\nfunction errorMarkerMismatch(markerHash, reachableHashes, graphTip) {\n\tconst reachableList = reachableHashes.length > 0 ? reachableHashes.join(\", \") : \"(none — migration graph is empty)\";\n\tconst planFromFix = graphTip !== null ? `Run \\`prisma-next migration plan --from ${graphTip}\\` if the live marker is canonical and the on-disk graph needs catching up.` : \"Run `prisma-next migration plan` if the live marker is canonical and the on-disk graph needs catching up.\";\n\tconst planCommand = graphTip !== null ? `prisma-next migration plan --from ${graphTip}` : \"prisma-next migration plan\";\n\treturn new ActionableCliError(\"MIGRATION.MARKER_MISMATCH\", \"Database marker is not reachable in the on-disk migration graph\", {\n\t\twhy: `DB marker is ${markerHash}, but the on-disk migration graph reaches: ${reachableList}.`,\n\t\tfix: [\n\t\t\tplanFromFix,\n\t\t\t`Run \\`prisma-next ref set db ${markerHash}\\` if the on-disk graph is canonical and the local \\`db\\` ref drifted.`,\n\t\t\t\"Investigate whether the database was migrated by an out-of-band process.\"\n\t\t].join(\"\\n\"),\n\t\tnextActions: [\n\t\t\trunCommandAction(\"Catch the on-disk graph up to the live marker\", planCommand),\n\t\t\trunCommandAction(\"Point the local db ref at the live marker\", `prisma-next ref set db ${markerHash}`),\n\t\t\tchooseAction(\"Investigate whether the database was migrated by an out-of-band process\")\n\t\t],\n\t\tmeta: {\n\t\t\tmarkerHash,\n\t\t\treachableHashes: [...reachableHashes],\n\t\t\t...graphTip !== null ? { graphTip } : {}\n\t\t}\n\t});\n}\nconst ROLLBACK_IS_DESTRUCTIVE = \"A rollback (reverse) plan is expected to contain destructive (DROP) operations — review them before applying\";\nconst NARROWER_CASES_NEED_A_HINT = \"Narrower cases (rename inference, re-adding a required field without a safe default, or a type change that needs data) may additionally need a hint in the planned migration\";\nfunction errorPathUnreachable(failure) {\n\tconst meta = failure.meta ?? {};\n\tconst fromHashMeta = typeof meta[\"fromHash\"] === \"string\" ? meta[\"fromHash\"] : null;\n\tconst planFromHash = fromHashMeta === \"<empty>\" ? null : fromHashMeta;\n\tconst targetHash = typeof meta[\"targetHash\"] === \"string\" ? meta[\"targetHash\"] : typeof meta[\"target\"] === \"string\" ? meta[\"target\"] : null;\n\tconst deadEnds = meta[\"deadEnds\"];\n\tconst deadEndsSuffix = Array.isArray(deadEnds) && deadEnds.length > 0 ? ` Dead-ends: ${deadEnds.map(String).join(\", \")}.` : \"\";\n\tconst neverPlanned = meta[\"kind\"] === \"neverPlanned\";\n\tconst planCommand = (() => {\n\t\tif (neverPlanned) return \"prisma-next migration plan --name <slug>\";\n\t\tif (planFromHash !== null && targetHash !== null) return `prisma-next migration plan --from ${planFromHash} --to ${targetHash} --name <slug>`;\n\t\tif (targetHash !== null) return `prisma-next migration plan --to ${targetHash} --name <slug>`;\n\t\tif (planFromHash !== null) return `prisma-next migration plan --from ${planFromHash} --name <slug>`;\n\t\treturn \"prisma-next migration plan\";\n\t})();\n\tconst applyCommand = targetHash !== null && !neverPlanned ? `prisma-next migrate --to ${targetHash}` : \"prisma-next migrate\";\n\treturn new ActionableCliError(\"MIGRATION.PATH_UNREACHABLE\", failure.summary, {\n\t\twhy: failure.why ?? `Cannot reach target \"${targetHash ?? \"<unknown>\"}\" from current marker \"${fromHashMeta ?? \"<unknown>\"}\".${deadEndsSuffix}`,\n\t\tfix: [\n\t\t\t\"Plan the missing edge, then apply it:\",\n\t\t\t` 1. ${planCommand}`,\n\t\t\t` 2. ${applyCommand}`,\n\t\t\t`${ROLLBACK_IS_DESTRUCTIVE}.`,\n\t\t\t`${NARROWER_CASES_NEED_A_HINT}.`,\n\t\t\t\"Inspect the on-disk graph with `prisma-next migration list`, or `prisma-next migration show <bundle>` for any bundle in the path you expected.\"\n\t\t].join(\"\\n\"),\n\t\tnextActions: [\n\t\t\trunCommandAction(\"Plan the missing edge\", planCommand),\n\t\t\trunCommandAction(\"Apply it\", applyCommand),\n\t\t\tchooseAction(ROLLBACK_IS_DESTRUCTIVE),\n\t\t\tchooseAction(NARROWER_CASES_NEED_A_HINT),\n\t\t\trunCommandAction(\"Inspect the on-disk graph\", \"prisma-next migration list\"),\n\t\t\trunCommandAction(\"Inspect a bundle in the path you expected\", \"prisma-next migration show <bundle>\")\n\t\t],\n\t\tmeta: { ...meta }\n\t});\n}\n/**\n* Shared \"needs a live database\" precondition for read verbs that consult the\n* marker/ledger (`migration log`, `migration status`). A command needs both a\n* connection string and a control-plane driver; either missing yields the same\n* `CONFIG.DB_CONNECTION_REQUIRED` envelope with `meta.missingFlags` (canonical long-form flags\n* per CLI Style Guide §Errors) so callers can react programmatically. Returns\n* `null` when both are present.\n*/\nfunction requireLiveDatabase(args) {\n\tif (args.dbConnection && args.hasDriver) return null;\n\tconst missingFlags = args.dbConnection ? [] : [\"--db\"];\n\treturn errorDatabaseConnectionRequired({\n\t\twhy: args.why,\n\t\tmissingFlags,\n\t\t...ifDefined(\"commandName\", args.commandName),\n\t\t...ifDefined(\"retryCommand\", args.retryCommand)\n\t});\n}\n/**\n* Maps a `RefResolutionError` from the contract/migration reference\n* resolver into a CLI structured error envelope.\n*/\n/**\n* A migration ref (dirName or hash-prefix) resolves in more than one contract\n* space. The user must qualify with `--space <id>` to disambiguate.\n*/\nfunction errorAmbiguousMigrationRef(ref, spaceIds) {\n\tconst spaceList = spaceIds.join(\", \");\n\treturn new ActionableCliError(\"MIGRATION.AMBIGUOUS_MIGRATION_REF\", `Ambiguous migration reference: \"${ref}\" resolves in multiple spaces — qualify with --space <id>`, {\n\t\twhy: `\"${ref}\" matches migrations in spaces: ${spaceList}.`,\n\t\tfix: `Qualify with --space <id> to select one space. Available matching spaces: ${spaceList}.`,\n\t\tnextActions: [chooseAction(`Qualify with --space <id>, one of: ${spaceList}`)],\n\t\tmeta: {\n\t\t\tref,\n\t\t\tspaceIds: [...spaceIds]\n\t\t}\n\t});\n}\nfunction mapRefResolutionError(error) {\n\tswitch (error.kind) {\n\t\tcase \"not-found\": {\n\t\t\tconst fix = error.grammar === \"contract\" ? \"Provide a valid contract hash, ref name, or migration directory name.\" : \"Provide a valid migration directory name or migration hash.\";\n\t\t\treturn new ActionableCliError(\"MIGRATION.REF_NOT_FOUND\", `Not a known ${error.grammar} reference: \"${error.input}\"`, {\n\t\t\t\twhy: `No ${error.grammar} matching \"${error.input}\" exists in the migration graph or refs index.`,\n\t\t\t\tfix,\n\t\t\t\tnextActions: [chooseAction(fix)],\n\t\t\t\tmeta: {\n\t\t\t\t\tinput: error.input,\n\t\t\t\t\tgrammar: error.grammar\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tcase \"ambiguous\": return new ActionableCliError(\"MIGRATION.REF_AMBIGUOUS\", `Ambiguous ${error.grammar} reference: \"${error.input}\"`, {\n\t\t\twhy: `\"${error.input}\" matches multiple ${error.grammar}s: ${error.candidates.join(\", \")}`,\n\t\t\tfix: \"Provide a longer prefix or use the full hash to disambiguate.\",\n\t\t\tnextActions: [chooseAction(\"Provide a longer prefix or use the full hash to disambiguate\")],\n\t\t\tmeta: {\n\t\t\t\tinput: error.input,\n\t\t\t\tcandidates: error.candidates,\n\t\t\t\tgrammar: error.grammar\n\t\t\t}\n\t\t});\n\t\tcase \"wrong-grammar\": return new ActionableCliError(\"MIGRATION.REF_WRONG_GRAMMAR\", error.message, {\n\t\t\twhy: error.message,\n\t\t\tfix: error.fix,\n\t\t\tnextActions: [chooseAction(error.fix)],\n\t\t\tmeta: {\n\t\t\t\tinput: error.input,\n\t\t\t\texpectedGrammar: error.expectedGrammar\n\t\t\t}\n\t\t});\n\t\tcase \"invalid-format\": return new ActionableCliError(\"MIGRATION.REF_INVALID_FORMAT\", `Invalid reference format: \"${error.input}\"`, {\n\t\t\twhy: error.reason,\n\t\t\tfix: \"Provide a valid contract hash, ref name, or migration directory name.\",\n\t\t\tnextActions: [chooseAction(\"Provide a valid contract hash, ref name, or migration directory name\")],\n\t\t\tmeta: { input: error.input }\n\t\t});\n\t}\n}\n//#endregion\nexport { errorSnapshotMissing as A, errorPathUnreachable as C, errorRefSetHashNotInGraph as D, errorRefSetEmptySentinel as E, mapRefResolutionError as F, requireLiveDatabase as I, chooseAction as L, errorTargetMigrationNotSupported as M, errorTargetMismatch as N, errorRunnerFailed as O, errorUnexpected as P, runCommandAction as R, errorOutputFormatMutex as S, errorRefSetBundleNotFound as T, errorMarkerMismatch as _, errorConsentPlanMismatch as a, errorMigrationPlanningFailed as b, errorContractValidationFailed as c, errorDriverRequired as d, errorFileNotFound as f, errorLegendHumanOnly as g, errorInvalidSpaceId as h, errorConfigValidation as i, errorSpaceNotFound as j, errorRuntime$1 as k, errorDatabaseConnectionRequired as l, errorInvalidOutputFormat as m, ERROR_CODE_DESTRUCTIVE_CHANGES as n, errorContractArgConflict as o, errorHashMismatch as p, errorAmbiguousMigrationRef as r, errorContractConfigMissing$1 as s, CliStructuredError$1 as t, errorDestructiveChanges as u, errorMarkerMissing as v, errorPlanForgotTheFlag as w, errorNoMigrations as x, errorMigrationPackageNotFound as y };\n\n//# sourceMappingURL=cli-errors-B4zTLaqQ.mjs.map"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { Contract, ContractMarkerRecord, LedgerEntryRecord } from "@prisma/orm-f
|
|
|
10
10
|
import "@prisma/cli-engine/protocol";
|
|
11
11
|
import { AuthoringPslBlockDescriptorNamespace } from "@prisma/orm-framework/components/authoring";
|
|
12
12
|
import { PslDocumentAst } from "@prisma/orm-framework/components/psl-ast";
|
|
13
|
-
//#region ../../../1-framework/3-tooling/cli/dist/cli-errors-
|
|
13
|
+
//#region ../../../1-framework/3-tooling/cli/dist/cli-errors-iquUoY6O.d.mts
|
|
14
14
|
//#region src/control-api/operations/db-verify.d.ts
|
|
15
15
|
/**
|
|
16
16
|
* Inputs for the aggregate `db verify` operation.
|
|
@@ -37,10 +37,10 @@ interface ExecuteDbVerifyOptions<TFamilyId extends string, TTargetId extends str
|
|
|
37
37
|
/**
|
|
38
38
|
* Result of the aggregate verify operation.
|
|
39
39
|
*
|
|
40
|
-
* Marker
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
40
|
+
* Marker drift keeps the envelope shape the legacy
|
|
41
|
+
* `runContractSpaceVerifierMarkerCheck` emitted, but rides the success value
|
|
42
|
+
* as {@link ExecuteDbVerifySuccess.markerDrift}: the check ran to completion,
|
|
43
|
+
* so drift is a finding for the caller to settle, not a failure to run.
|
|
44
44
|
*
|
|
45
45
|
* On success, the per-space verify results are returned for the CLI to
|
|
46
46
|
* render. When `skipSchema` is true (`--marker-only`), the schema map
|
|
@@ -56,6 +56,14 @@ interface ExecuteDbVerifySuccess {
|
|
|
56
56
|
readonly unclaimed: readonly string[];
|
|
57
57
|
readonly spaceOrder: readonly string[];
|
|
58
58
|
readonly appSpaceId: string;
|
|
59
|
+
/**
|
|
60
|
+
* Per-space marker drift the verifier found — a hash mismatch, missing
|
|
61
|
+
* invariants, an orphan marker row — as the violation envelope. The check
|
|
62
|
+
* completed and this is its verdict, so it rides the success value: callers
|
|
63
|
+
* settle it as a finding, while the failure lane stays reserved for a check
|
|
64
|
+
* that could not run (loader violations, introspection failure).
|
|
65
|
+
*/
|
|
66
|
+
readonly markerDrift: CliStructuredError$2 | null;
|
|
59
67
|
}
|
|
60
68
|
type ExecuteDbVerifyResult = Result<ExecuteDbVerifySuccess, CliStructuredError$2>;
|
|
61
69
|
/**
|
|
@@ -70,9 +78,9 @@ type ExecuteDbVerifyResult = Result<ExecuteDbVerifySuccess, CliStructuredError$2
|
|
|
70
78
|
* schema introspection.
|
|
71
79
|
* 3. **Verify**: {@link verifyMigration} returns per-space `markerCheck` +
|
|
72
80
|
* per-space `schemaCheck` (each contract space verified against the full schema,
|
|
73
|
-
* then scoped to its own contract space). Marker
|
|
74
|
-
*
|
|
75
|
-
*
|
|
81
|
+
* then scoped to its own contract space). Marker drift is returned as the
|
|
82
|
+
* success value's `markerDrift` envelope for callers to settle as a
|
|
83
|
+
* finding. Verify results are returned to the caller verbatim.
|
|
76
84
|
*/
|
|
77
85
|
declare function executeDbVerify<TFamilyId extends string, TTargetId extends string>(options: ExecuteDbVerifyOptions<TFamilyId, TTargetId>): Promise<ExecuteDbVerifyResult>;
|
|
78
86
|
//#endregion
|
|
@@ -952,4 +960,4 @@ interface ControlClient {
|
|
|
952
960
|
}
|
|
953
961
|
//#endregion
|
|
954
962
|
export { OnControlProgress as A, EmitResult as C, IntrospectOptions as D, ExecuteDbVerifyResult as E, executeDbVerify as F, SchemaVerifyOptions as M, SignOptions as N, MigratePathDecision as O, VerifyOptions as P, EmitOptions as S, ExecuteDbVerifyOptions as T, DbUpdateResult as _, ControlClient as a, EmitFailure as b, CreateControlClient as c, DbInitOptions as d, DbInitResult as f, DbUpdateOptions as g, DbUpdateFailureCode as h, ControlActionName as i, PerSpaceExecutionEntry as j, MigrateResult as k, DbInitFailure as l, DbUpdateFailure as m, ContractEmitOptions as n, ControlClientOptions as o, DbInitSuccess as p, ContractEmitResult as r, ControlProgressEvent as s, CliStructuredError$2 as t, DbInitFailureCode as u, DbUpdateSuccess as v, EmitSuccess as w, EmitFailureCode as x, EmitContractConfig as y };
|
|
955
|
-
//# sourceMappingURL=cli-errors-
|
|
963
|
+
//# sourceMappingURL=cli-errors-iquUoY6O-BFboxglv.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-errors-iquUoY6O-BFboxglv.d.mts","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/cli-errors-iquUoY6O.d.mts"],"mappings":"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"}
|