prisma-next 0.12.0-dev.25 → 0.12.0-dev.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/cli.mjs +11 -11
  2. package/dist/{client-BHe8szOW.mjs → client-V7BkIQrQ.mjs} +4 -4
  3. package/dist/{client-BHe8szOW.mjs.map → client-V7BkIQrQ.mjs.map} +1 -1
  4. package/dist/{command-helpers-Cmdqyhz9.mjs → command-helpers-DlrUCI7s.mjs} +3 -24
  5. package/dist/{command-helpers-Cmdqyhz9.mjs.map → command-helpers-DlrUCI7s.mjs.map} +1 -1
  6. package/dist/commands/contract-emit.mjs +1 -1
  7. package/dist/commands/contract-infer.mjs +1 -1
  8. package/dist/commands/db-init.mjs +4 -4
  9. package/dist/commands/db-schema.mjs +3 -3
  10. package/dist/commands/db-sign.mjs +4 -4
  11. package/dist/commands/db-update.mjs +5 -5
  12. package/dist/commands/db-verify.mjs +1 -1
  13. package/dist/commands/migrate.d.mts +1 -1
  14. package/dist/commands/migrate.mjs +5 -5
  15. package/dist/commands/migration-check.mjs +1 -1
  16. package/dist/commands/migration-graph.d.mts +2 -11
  17. package/dist/commands/migration-graph.d.mts.map +1 -1
  18. package/dist/commands/migration-graph.mjs +8 -35
  19. package/dist/commands/migration-graph.mjs.map +1 -1
  20. package/dist/commands/migration-list.d.mts +13 -24
  21. package/dist/commands/migration-list.d.mts.map +1 -1
  22. package/dist/commands/migration-list.mjs +4 -4
  23. package/dist/commands/migration-list.mjs.map +1 -1
  24. package/dist/commands/migration-log.d.mts +1 -1
  25. package/dist/commands/migration-log.mjs +1 -1
  26. package/dist/commands/migration-new.mjs +3 -3
  27. package/dist/commands/migration-plan.mjs +1 -1
  28. package/dist/commands/migration-show.d.mts +1 -1
  29. package/dist/commands/migration-show.mjs +3 -3
  30. package/dist/commands/migration-status.d.mts +24 -142
  31. package/dist/commands/migration-status.d.mts.map +1 -1
  32. package/dist/commands/migration-status.mjs +3 -759
  33. package/dist/commands/ref.d.mts +1 -1
  34. package/dist/commands/ref.mjs +2 -2
  35. package/dist/commands/telemetry/index.mjs +1 -1
  36. package/dist/{contract-at-errors-Cz0z5PJi.mjs → contract-at-errors-DlZHXSkI.mjs} +2 -2
  37. package/dist/{contract-at-errors-Cz0z5PJi.mjs.map → contract-at-errors-DlZHXSkI.mjs.map} +1 -1
  38. package/dist/{contract-emit-DPMij44i.mjs → contract-emit-CaKp92-Q.mjs} +3 -3
  39. package/dist/{contract-emit-DPMij44i.mjs.map → contract-emit-CaKp92-Q.mjs.map} +1 -1
  40. package/dist/{contract-emit-CC9jDOmu.mjs → contract-emit-S53EyBRV.mjs} +3 -3
  41. package/dist/{contract-emit-CC9jDOmu.mjs.map → contract-emit-S53EyBRV.mjs.map} +1 -1
  42. package/dist/{contract-infer-OCn12Zvn.mjs → contract-infer-Cebb-_Qx.mjs} +3 -3
  43. package/dist/{contract-infer-OCn12Zvn.mjs.map → contract-infer-Cebb-_Qx.mjs.map} +1 -1
  44. package/dist/{contract-space-aggregate-loader-CirAEsM8.mjs → contract-space-aggregate-loader-Dvl1SJ4C.mjs} +3 -3
  45. package/dist/{contract-space-aggregate-loader-CirAEsM8.mjs.map → contract-space-aggregate-loader-Dvl1SJ4C.mjs.map} +1 -1
  46. package/dist/{db-verify-DJxengYP.mjs → db-verify-B1OoWEWn.mjs} +4 -4
  47. package/dist/{db-verify-DJxengYP.mjs.map → db-verify-B1OoWEWn.mjs.map} +1 -1
  48. package/dist/exports/control-api.d.mts +1 -1
  49. package/dist/exports/control-api.mjs +2 -2
  50. package/dist/exports/index.mjs +1 -1
  51. package/dist/{framework-components-DynSvww4.mjs → framework-components-DCAT1uUC.mjs} +2 -2
  52. package/dist/{framework-components-DynSvww4.mjs.map → framework-components-DCAT1uUC.mjs.map} +1 -1
  53. package/dist/{init-B6kKrmf7.mjs → init-Kf3T4A4W.mjs} +3 -3
  54. package/dist/{init-B6kKrmf7.mjs.map → init-Kf3T4A4W.mjs.map} +1 -1
  55. package/dist/{inspect-live-schema-DVZlDlnF.mjs → inspect-live-schema-DTqflZ8X.mjs} +3 -3
  56. package/dist/{inspect-live-schema-DVZlDlnF.mjs.map → inspect-live-schema-DTqflZ8X.mjs.map} +1 -1
  57. package/dist/{migration-check-DzH1u-O1.mjs → migration-check-Ccyd0QKb.mjs} +2 -2
  58. package/dist/{migration-check-DzH1u-O1.mjs.map → migration-check-Ccyd0QKb.mjs.map} +1 -1
  59. package/dist/{migration-command-scaffold-Cs7Ky-m5.mjs → migration-command-scaffold-DI7_SFL0.mjs} +3 -3
  60. package/dist/{migration-command-scaffold-Cs7Ky-m5.mjs.map → migration-command-scaffold-DI7_SFL0.mjs.map} +1 -1
  61. package/dist/{migration-graph-tree-render-BQdhKBO8.mjs → migration-graph-tree-render-DyDBuJEX.mjs} +25 -2
  62. package/dist/{migration-graph-tree-render-BQdhKBO8.mjs.map → migration-graph-tree-render-DyDBuJEX.mjs.map} +1 -1
  63. package/dist/migration-list-types-DV9PBc7Z.d.mts +23 -0
  64. package/dist/migration-list-types-DV9PBc7Z.d.mts.map +1 -0
  65. package/dist/{migration-log-BzPmks3c.mjs → migration-log-Des4seHP.mjs} +4 -4
  66. package/dist/{migration-log-BzPmks3c.mjs.map → migration-log-Des4seHP.mjs.map} +1 -1
  67. package/dist/{migration-plan-CaeKCKp4.mjs → migration-plan-DxDTBzGS.mjs} +5 -5
  68. package/dist/{migration-plan-CaeKCKp4.mjs.map → migration-plan-DxDTBzGS.mjs.map} +1 -1
  69. package/dist/migration-status-CCwqA-vi.mjs +416 -0
  70. package/dist/migration-status-CCwqA-vi.mjs.map +1 -0
  71. package/dist/{migrations-DQ1t3XFL.mjs → migrations-B3H6RTXb.mjs} +2 -2
  72. package/dist/{migrations-DQ1t3XFL.mjs.map → migrations-B3H6RTXb.mjs.map} +1 -1
  73. package/dist/{telemetry-Q88WHwlv.mjs → telemetry-LFFQmqHd.mjs} +2 -2
  74. package/dist/{telemetry-Q88WHwlv.mjs.map → telemetry-LFFQmqHd.mjs.map} +1 -1
  75. package/dist/{types-DiC683UW.d.mts → types-BdS8PoKM.d.mts} +2 -1
  76. package/dist/types-BdS8PoKM.d.mts.map +1 -0
  77. package/dist/{verify-CreSJ1Mz.mjs → verify-C0TARc6h.mjs} +2 -2
  78. package/dist/{verify-CreSJ1Mz.mjs.map → verify-C0TARc6h.mjs.map} +1 -1
  79. package/package.json +11 -12
  80. package/dist/commands/migration-status.mjs.map +0 -1
  81. package/dist/graph-render-rFAqZujX.mjs +0 -1081
  82. package/dist/graph-render-rFAqZujX.mjs.map +0 -1
  83. package/dist/types-DiC683UW.d.mts.map +0 -1
@@ -1,157 +1,39 @@
1
1
  import { n as StatusRef, t as StatusDiagnostic } from "../migration-types-CAQ-0TEE.mjs";
2
+ import { t as MigrationListEntry } from "../migration-list-types-DV9PBc7Z.mjs";
2
3
  import { Command } from "commander";
3
- import { ContractMarkerRecordLike, ContractSpaceAggregate } from "@prisma-next/migration-tools/aggregate";
4
- import { MigrationGraph } from "@prisma-next/migration-tools/graph";
5
- import { OnDiskMigrationPackage } from "@prisma-next/migration-tools/package";
6
4
 
7
- //#region src/utils/formatters/graph-migration-mapper.d.ts
8
- type EdgeStatusKind = 'applied' | 'pending' | 'unreachable';
9
- /** Minimal per-edge status from the CLI's status result. */
10
- interface EdgeStatus {
11
- readonly dirName: string;
12
- readonly status: EdgeStatusKind;
13
- }
14
- //#endregion
15
5
  //#region src/commands/migration-status.d.ts
16
- interface MigrationStatusEntry {
17
- readonly dirName: string;
18
- readonly from: string;
19
- readonly to: string;
20
- readonly migrationHash: string;
21
- readonly operationCount: number;
22
- readonly operationSummary: string;
23
- readonly hasDestructive: boolean;
24
- readonly status: EdgeStatusKind | 'unknown';
6
+ interface MigrationStatusMigrationEntry extends MigrationListEntry {
7
+ readonly status: 'applied' | 'pending' | null;
25
8
  }
26
- /**
27
- * Per-space status row in the aggregate-shaped status output.
28
- *
29
- * Surfaces, for each contract space:
30
- *
31
- * - `headHash`: the on-disk head ref's hash (where the space is going).
32
- * - `markerHash`: the live marker hash for the space, or null if no
33
- * marker has been written yet (greenfield, or pre-`migrate`).
34
- * - `pendingCount`: number of migration edges between marker and head.
35
- * Computed via {@link graphWalkStrategy}; 0 means the space is
36
- * already at head.
37
- * - `status`: convenience tag the formatter uses to pick a glyph.
38
- * `'never-planned'` is reserved for spaces with non-empty head but
39
- * no on-disk migrations — which shouldn't happen if the loader's
40
- * integrity check passes.
41
- *
42
- * Online-only fields (`markerHash`, `status`) are absent when the
43
- * command runs without a database connection.
44
- */
45
- interface MigrationStatusSpaceEntry {
9
+ interface MigrationStatusSpaceResult {
46
10
  readonly spaceId: string;
47
- readonly kind: 'app' | 'extension';
48
- readonly headHash: string;
49
- readonly markerHash?: string | null;
50
- readonly pendingCount?: number;
51
- readonly status?: 'up-to-date' | 'pending' | 'no-marker' | 'never-planned' | 'unreachable';
11
+ readonly markerHash: string | null;
12
+ readonly targetHash: string;
13
+ readonly migrations: readonly MigrationStatusMigrationEntry[];
52
14
  }
53
- /**
54
- * Sum per-space `pendingCount` into a cross-space total, but only when
55
- * every loaded space reports a defined `pendingCount`. Returns
56
- * `undefined` if any space is on the marker-unknown / offline path
57
- * (where `pendingCount` is intentionally absent), so JSON consumers can
58
- * distinguish "no pending" from "unknown".
59
- */
60
- declare function computeTotalPendingAcrossSpaces(spaces: readonly MigrationStatusSpaceEntry[]): number | undefined;
61
15
  interface MigrationStatusResult {
62
16
  readonly ok: true;
63
- readonly mode: 'online' | 'offline';
64
- readonly migrations: readonly MigrationStatusEntry[];
65
- readonly markerHash?: string;
66
- readonly targetHash: string;
67
- readonly contractHash: string;
68
- readonly refs?: readonly StatusRef[];
69
- /** Required invariants from the active ref, sorted ascending. Always present (`[]` when no `--ref` or the ref declares none) — knowable offline. */
70
- readonly requiredInvariants: readonly string[];
71
- /**
72
- * Invariants the marker has applied at least once, intersected with
73
- * `requiredInvariants` for display relevance. JSON consumers see only the
74
- * subset overlapping the active ref's required set — the full unfiltered
75
- * marker invariant list lives on `marker.invariants` (control plane) and
76
- * is not surfaced here. Present only in `mode === 'online'`; absent when
77
- * offline (the marker is unknown, not empty).
78
- */
79
- readonly appliedInvariants?: readonly string[];
80
- /** required − applied. Present only in `mode === 'online'`; absent when offline. */
81
- readonly missingInvariants?: readonly string[];
82
- readonly pathDecision?: {
83
- readonly fromHash: string;
84
- readonly toHash: string;
85
- readonly alternativeCount: number;
86
- readonly tieBreakReasons: readonly string[];
87
- readonly refName?: string;
88
- readonly requiredInvariants: readonly string[];
89
- readonly satisfiedInvariants: readonly string[];
90
- readonly selectedPath: readonly {
91
- readonly dirName: string;
92
- readonly migrationHash: string;
93
- readonly from: string;
94
- readonly to: string;
95
- readonly invariants: readonly string[];
96
- }[];
97
- };
17
+ readonly spaces: readonly MigrationStatusSpaceResult[];
98
18
  readonly summary: string;
19
+ readonly missingInvariantsLine?: string;
99
20
  readonly diagnostics: readonly StatusDiagnostic[];
100
- /**
101
- * Aggregate enumeration of every on-disk contract space (app +
102
- * extensions), in canonical schedule order (extensions
103
- * alphabetically, then app). Present whenever the aggregate loader
104
- * succeeded; absent in early-error returns (e.g. unreadable
105
- * migrations directory) where the existing diagnostics already
106
- * surface the failure.
107
- *
108
- * The top-level fields (`migrations`, `markerHash`, `targetHash`,
109
- * `pathDecision`, …) describe the **app member** specifically.
110
- * Per-space detail for extension members lives only on this list.
111
- */
112
- readonly spaces?: readonly MigrationStatusSpaceEntry[];
113
- /** Cross-space pending-migration total (sum of `spaces[].pendingCount`). Present when `spaces` is. */
114
- readonly totalPendingAcrossSpaces?: number;
115
- readonly graph?: MigrationGraph;
116
- readonly bundles?: readonly OnDiskMigrationPackage[];
117
- readonly edgeStatuses?: readonly EdgeStatus[];
118
- readonly activeRefHash?: string;
119
- readonly activeRefName?: string;
120
- readonly diverged?: boolean;
21
+ readonly treeSections: readonly MigrationStatusTreeSection[];
121
22
  }
122
- /**
123
- * Derive per-edge status across the full graph using path analysis.
124
- *
125
- * - **applied**: edge is on the path from root to the DB marker
126
- * - **pending**: edge is on the path from the DB marker to the target
127
- * (and the marker is reachable from root, i.e. it's on the same branch)
128
- * - **unreachable**: edge is on the path from root to the target but the DB
129
- * marker is on a different branch — `apply` can't reach these edges
130
- * without the DB first moving to this branch
131
- *
132
- * Returns statuses only for edges that have a known status (skips offline
133
- * and edges not on any relevant path).
134
- *
135
- * @internal Exported for testing only.
136
- */
137
- declare function deriveEdgeStatuses(graph: MigrationGraph, targetHash: string, contractHash: string, markerHash: string | undefined, mode: 'online' | 'offline'): EdgeStatus[];
138
- /**
139
- * Build the aggregate enumeration of contract spaces for the status
140
- * output. Loads the aggregate from disk (lossy on failure — extension
141
- * spaces are simply omitted, the app member's output keeps working),
142
- * reads per-space marker rows when online, and uses
143
- * {@link graphWalkStrategy} to compute each space's pending count.
144
- *
145
- * The aggregate-walking status reports per-space marker + pending
146
- * state alongside the cross-space totals.
147
- */
148
- declare function loadAggregateStatusSpaces(args: {
149
- readonly aggregate: ContractSpaceAggregate;
150
- readonly extensionPacks: ReadonlyArray<unknown>;
151
- readonly markersBySpace: ReadonlyMap<string, ContractMarkerRecordLike> | null;
152
- }): Promise<readonly MigrationStatusSpaceEntry[]>;
153
- declare function createMigrationStatusCommand(): Command;
23
+ interface MigrationStatusTreeSection {
24
+ readonly spaceId: string;
25
+ readonly tree: string;
26
+ readonly showHeading: boolean;
27
+ }
28
+ declare function buildStatusHeadline(args: {
29
+ readonly pendingCount: number;
30
+ readonly targetHash: string;
31
+ readonly markerDiverged: boolean;
32
+ readonly markerHash: string | undefined;
33
+ }): string;
154
34
  declare function formatStatusSummary(result: MigrationStatusResult, colorize: boolean): string;
35
+ declare function formatStatusHumanOutput(result: MigrationStatusResult, colorize: boolean): string;
36
+ declare function createMigrationStatusCommand(): Command;
155
37
  //#endregion
156
- export { MigrationStatusEntry, MigrationStatusResult, MigrationStatusSpaceEntry, type StatusDiagnostic, type StatusRef, computeTotalPendingAcrossSpaces, createMigrationStatusCommand, deriveEdgeStatuses, formatStatusSummary, loadAggregateStatusSpaces };
38
+ export { MigrationStatusMigrationEntry, MigrationStatusResult, MigrationStatusSpaceResult, MigrationStatusTreeSection, type StatusDiagnostic, type StatusRef, buildStatusHeadline, createMigrationStatusCommand, formatStatusHumanOutput, formatStatusSummary };
157
39
  //# sourceMappingURL=migration-status.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migration-status.d.mts","names":[],"sources":["../../src/utils/formatters/graph-migration-mapper.ts","../../src/commands/migration-status.ts"],"mappings":";;;;;;;KAiBY,cAAA;;UAmBK,UAAA;EAAA,SACN,OAAA;EAAA,SACA,MAAA,EAAQ,cAAc;AAAA;;;UC+ChB,oBAAA;EAAA,SACN,OAAA;EAAA,SACA,IAAA;EAAA,SACA,EAAA;EAAA,SACA,aAAA;EAAA,SACA,cAAA;EAAA,SACA,gBAAA;EAAA,SACA,cAAA;EAAA,SACA,MAAA,EAAQ,cAAc;AAAA;;;;;ADvDA;;;;AC+CjC;;;;;;;;;;;UA8BiB,yBAAA;EAAA,SACN,OAAA;EAAA,SACA,IAAA;EAAA,SACA,QAAA;EAAA,SACA,UAAA;EAAA,SACA,YAAA;EAAA,SACA,MAAA;AAAA;;;;;;;;iBAUK,+BAAA,CACd,MAA4C,WAA3B,yBAAyB;AAAA,UAa3B,qBAAA;EAAA,SACN,EAAA;EAAA,SACA,IAAA;EAAA,SACA,UAAA,WAAqB,oBAAA;EAAA,SACrB,UAAA;EAAA,SACA,UAAA;EAAA,SACA,YAAA;EAAA,SACA,IAAA,YAAgB,SAAA;EAAA;EAAA,SAEhB,kBAAA;EA0CkB;;;;;;;;EAAA,SAjClB,iBAAA;EAfqB;EAAA,SAiBrB,iBAAA;EAAA,SACA,YAAA;IAAA,SACE,QAAA;IAAA,SACA,MAAA;IAAA,SACA,gBAAA;IAAA,SACA,eAAA;IAAA,SACA,OAAA;IAAA,SACA,kBAAA;IAAA,SACA,mBAAA;IAAA,SACA,YAAA;MAAA,SACE,OAAA;MAAA,SACA,aAAA;MAAA,SACA,IAAA;MAAA,SACA,EAAA;MAAA,SACA,UAAA;IAAA;EAAA;EAAA,SAGJ,OAAA;EAAA,SACA,WAAA,WAAsB,gBAAA;EANlB;;;;;;;;;;;;EAAA,SAmBJ,MAAA,YAAkB,yBAAA;EAKlB;EAAA,SAHA,wBAAA;EAAA,SACA,KAAA,GAAQ,cAAA;EAAA,SACR,OAAA,YAAmB,sBAAA;EAAA,SACnB,YAAA,YAAwB,UAAA;EAAA,SACxB,aAAA;EAAA,SACA,aAAA;EAAA,SACA,QAAA;AAAA;;;;;;;;;;;AAqDE;AAqLb;;;;iBA3LgB,kBAAA,CACd,KAAA,EAAO,cAAA,EACP,UAAA,UACA,YAAA,UACA,UAAA,sBACA,IAAA,yBACC,UAAU;;;;;;;;;;;iBAqLS,yBAAA,CAA0B,IAAA;EAAA,SACrC,SAAA,EAAW,sBAAA;EAAA,SACX,cAAA,EAAgB,aAAA;EAAA,SAChB,cAAA,EAAgB,WAAA,SAAoB,wBAAA;AAAA,IAC3C,OAAA,UAAiB,yBAAA;AAAA,iBA+pBL,4BAAA,CAAA,GAAgC,OAAO;AAAA,iBAoGvC,mBAAA,CAAoB,MAAA,EAAQ,qBAAqB,EAAE,QAAA"}
1
+ {"version":3,"file":"migration-status.d.mts","names":[],"sources":["../../src/commands/migration-status.ts"],"mappings":";;;;;UAiFiB,6BAAA,SAAsC,kBAAkB;EAAA,SAC9D,MAAM;AAAA;AAAA,UAGA,0BAAA;EAAA,SACN,OAAA;EAAA,SACA,UAAA;EAAA,SACA,UAAA;EAAA,SACA,UAAA,WAAqB,6BAA6B;AAAA;AAAA,UAG5C,qBAAA;EAAA,SACN,EAAA;EAAA,SACA,MAAA,WAAiB,0BAAA;EAAA,SACjB,OAAA;EAAA,SACA,qBAAA;EAAA,SACA,WAAA,WAAsB,gBAAA;EAAA,SACtB,YAAA,WAAuB,0BAAA;AAAA;AAAA,UAGjB,0BAAA;EAAA,SACN,OAAA;EAAA,SACA,IAAA;EAAA,SACA,WAAA;AAAA;AAAA,iBAyEK,mBAAA,CAAoB,IAAA;EAAA,SACzB,YAAA;EAAA,SACA,UAAA;EAAA,SACA,cAAA;EAAA,SACA,UAAA;AAAA;AAAA,iBAWK,mBAAA,CAAoB,MAAA,EAAQ,qBAAqB,EAAE,QAAA;AAAA,iBAqBnD,uBAAA,CAAwB,MAAA,EAAQ,qBAAqB,EAAE,QAAA;AAAA,iBAoYvD,4BAAA,CAAA,GAAgC,OAAO"}