prisma-next 0.11.0-dev.7 → 0.11.0-dev.70
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/cli.mjs +10 -11
- package/dist/cli.mjs.map +1 -1
- package/dist/{client-oXO2WCPD.mjs → client-6WehTnUh.mjs} +72 -60
- package/dist/client-6WehTnUh.mjs.map +1 -0
- package/dist/{command-helpers-DtavI0wJ.mjs → command-helpers-CoceqqMl.mjs} +642 -45
- package/dist/command-helpers-CoceqqMl.mjs.map +1 -0
- package/dist/commands/contract-emit.d.mts.map +1 -1
- package/dist/commands/contract-emit.mjs +1 -1
- package/dist/commands/contract-infer.d.mts.map +1 -1
- package/dist/commands/contract-infer.mjs +1 -1
- package/dist/commands/db-init.d.mts.map +1 -1
- package/dist/commands/db-init.mjs +32 -7
- package/dist/commands/db-init.mjs.map +1 -1
- package/dist/commands/db-schema.d.mts.map +1 -1
- package/dist/commands/db-schema.mjs +3 -4
- package/dist/commands/db-schema.mjs.map +1 -1
- package/dist/commands/db-sign.d.mts.map +1 -1
- package/dist/commands/db-sign.mjs +12 -10
- package/dist/commands/db-sign.mjs.map +1 -1
- package/dist/commands/db-update.d.mts.map +1 -1
- package/dist/commands/db-update.mjs +41 -11
- package/dist/commands/db-update.mjs.map +1 -1
- package/dist/commands/db-verify.d.mts.map +1 -1
- package/dist/commands/db-verify.mjs +1 -1
- package/dist/commands/migrate.d.mts +6 -2
- package/dist/commands/migrate.d.mts.map +1 -1
- package/dist/commands/migrate.mjs +75 -40
- package/dist/commands/migrate.mjs.map +1 -1
- package/dist/commands/migration-check.d.mts +4 -3
- package/dist/commands/migration-check.d.mts.map +1 -1
- package/dist/commands/migration-check.mjs +1 -280
- package/dist/commands/migration-graph.d.mts +13 -2
- package/dist/commands/migration-graph.d.mts.map +1 -1
- package/dist/commands/migration-graph.mjs +2 -137
- package/dist/commands/migration-list.d.mts +67 -4
- package/dist/commands/migration-list.d.mts.map +1 -1
- package/dist/commands/migration-list.mjs +2 -103
- package/dist/commands/migration-log.d.mts +10 -1
- package/dist/commands/migration-log.d.mts.map +1 -1
- package/dist/commands/migration-log.mjs +10 -15
- package/dist/commands/migration-log.mjs.map +1 -1
- package/dist/commands/migration-new.d.mts.map +1 -1
- package/dist/commands/migration-new.mjs +32 -38
- package/dist/commands/migration-new.mjs.map +1 -1
- package/dist/commands/migration-plan.d.mts +3 -2
- package/dist/commands/migration-plan.d.mts.map +1 -1
- package/dist/commands/migration-plan.mjs +1 -1
- package/dist/commands/migration-show.d.mts +4 -55
- package/dist/commands/migration-show.d.mts.map +1 -1
- package/dist/commands/migration-show.mjs +61 -153
- package/dist/commands/migration-show.mjs.map +1 -1
- package/dist/commands/migration-status.d.mts +12 -49
- package/dist/commands/migration-status.d.mts.map +1 -1
- package/dist/commands/migration-status.mjs +85 -81
- package/dist/commands/migration-status.mjs.map +1 -1
- package/dist/commands/ref.d.mts +1 -1
- package/dist/commands/ref.d.mts.map +1 -1
- package/dist/commands/ref.mjs +38 -10
- package/dist/commands/ref.mjs.map +1 -1
- package/dist/config-loader-B6sJjXTv.mjs.map +1 -1
- package/dist/config-loader.d.mts.map +1 -1
- package/dist/contract-at-errors-Bhf2jnkp.mjs +42 -0
- package/dist/contract-at-errors-Bhf2jnkp.mjs.map +1 -0
- package/dist/{contract-emit-CmsklifJ.mjs → contract-emit-C47r1loe.mjs} +4 -6
- package/dist/{contract-emit-CmsklifJ.mjs.map → contract-emit-C47r1loe.mjs.map} +1 -1
- package/dist/{contract-emit-o-8VmdQX.mjs → contract-emit-DxEfEc-M.mjs} +21 -7
- package/dist/{contract-emit-o-8VmdQX.mjs.map → contract-emit-DxEfEc-M.mjs.map} +1 -1
- package/dist/{contract-enrichment-Dani0mMW.mjs → contract-enrichment-a0V5Y_mL.mjs} +4 -25
- package/dist/contract-enrichment-a0V5Y_mL.mjs.map +1 -0
- package/dist/{contract-infer-pKkiCt7C.mjs → contract-infer-BLiomU8g.mjs} +3 -4
- package/dist/{contract-infer-pKkiCt7C.mjs.map → contract-infer-BLiomU8g.mjs.map} +1 -1
- package/dist/contract-space-aggregate-loader-lafgkTwG.mjs +247 -0
- package/dist/contract-space-aggregate-loader-lafgkTwG.mjs.map +1 -0
- package/dist/{db-verify-AoIUriL4.mjs → db-verify-D44Qj3w9.mjs} +5 -7
- package/dist/{db-verify-AoIUriL4.mjs.map → db-verify-D44Qj3w9.mjs.map} +1 -1
- package/dist/exports/control-api.d.mts +3 -3
- package/dist/exports/control-api.d.mts.map +1 -1
- package/dist/exports/control-api.mjs +3 -3
- package/dist/exports/index.d.mts.map +1 -1
- package/dist/exports/index.mjs +1 -1
- package/dist/exports/index.mjs.map +1 -1
- package/dist/exports/init-output.d.mts.map +1 -1
- package/dist/exports/init-output.mjs +1 -1
- package/dist/extension-pack-inputs-IDvjRCi3.mjs +62 -0
- package/dist/extension-pack-inputs-IDvjRCi3.mjs.map +1 -0
- package/dist/{framework-components-65gOHkHB.mjs → framework-components-R_O3y5IW.mjs} +2 -2
- package/dist/{framework-components-65gOHkHB.mjs.map → framework-components-R_O3y5IW.mjs.map} +1 -1
- package/dist/global-flags-DG4uY5tV.d.mts +34 -0
- package/dist/global-flags-DG4uY5tV.d.mts.map +1 -0
- package/dist/{graph-render-DJVv0_uf.mjs → graph-render-rFAqZujX.mjs} +2 -2
- package/dist/{graph-render-DJVv0_uf.mjs.map → graph-render-rFAqZujX.mjs.map} +1 -1
- package/dist/{init-Db5Itt5r.mjs → init-DE-phHWK.mjs} +4 -5
- package/dist/{init-Db5Itt5r.mjs.map → init-DE-phHWK.mjs.map} +1 -1
- package/dist/{inspect-live-schema-LeWvkZVz.mjs → inspect-live-schema-Ccnmg5bz.mjs} +4 -5
- package/dist/{inspect-live-schema-LeWvkZVz.mjs.map → inspect-live-schema-Ccnmg5bz.mjs.map} +1 -1
- package/dist/migration-check-CKfQlAWR.mjs +341 -0
- package/dist/migration-check-CKfQlAWR.mjs.map +1 -0
- package/dist/migration-cli.d.mts.map +1 -1
- package/dist/migration-cli.mjs +4 -4
- package/dist/migration-cli.mjs.map +1 -1
- package/dist/{migration-command-scaffold-BtkunvFQ.mjs → migration-command-scaffold-C_KuV0Gm.mjs} +4 -5
- package/dist/{migration-command-scaffold-BtkunvFQ.mjs.map → migration-command-scaffold-C_KuV0Gm.mjs.map} +1 -1
- package/dist/migration-graph-kPluRdF2.mjs +1232 -0
- package/dist/migration-graph-kPluRdF2.mjs.map +1 -0
- package/dist/migration-list-CE35R5Ag.mjs +505 -0
- package/dist/migration-list-CE35R5Ag.mjs.map +1 -0
- package/dist/migration-list-styler-DeAwACt3.mjs +402 -0
- package/dist/migration-list-styler-DeAwACt3.mjs.map +1 -0
- package/dist/{migration-plan-C2jeH1J5.mjs → migration-plan-DHLa2Khm.mjs} +372 -133
- package/dist/migration-plan-DHLa2Khm.mjs.map +1 -0
- package/dist/{migration-types-BXWvz12q.d.mts → migration-types-CAQ-0TEE.d.mts} +1 -1
- package/dist/{migration-types-BXWvz12q.d.mts.map → migration-types-CAQ-0TEE.d.mts.map} +1 -1
- package/dist/{migrations-CwZMa1Ck.mjs → migrations-CjO1DsYe.mjs} +12 -13
- package/dist/migrations-CjO1DsYe.mjs.map +1 -0
- package/dist/{output-BlsrGMEF.mjs → output-CF_hqzI-.mjs} +1 -1
- package/dist/{output-BlsrGMEF.mjs.map → output-CF_hqzI-.mjs.map} +1 -1
- package/dist/{progress-adapter-DFfvZcYL.mjs → progress-adapter-C644QK8l.mjs} +1 -1
- package/dist/{progress-adapter-DFfvZcYL.mjs.map → progress-adapter-C644QK8l.mjs.map} +1 -1
- package/dist/ref-advancement-DUZqsue6.mjs +50 -0
- package/dist/ref-advancement-DUZqsue6.mjs.map +1 -0
- package/dist/terminal-ui-BbtqsQYY.d.mts +133 -0
- package/dist/terminal-ui-BbtqsQYY.d.mts.map +1 -0
- package/dist/{types-C9FfXb1l.d.mts → types-Ci7TndCS.d.mts} +21 -28
- package/dist/types-Ci7TndCS.d.mts.map +1 -0
- package/dist/{verify-Bom75OYI.mjs → verify-vl983Ed-.mjs} +2 -2
- package/dist/{verify-Bom75OYI.mjs.map → verify-vl983Ed-.mjs.map} +1 -1
- package/package.json +11 -11
- package/dist/cli-errors-Czmx92Zy.d.mts +0 -3
- package/dist/cli-errors-Djtz98Vm.mjs +0 -71
- package/dist/cli-errors-Djtz98Vm.mjs.map +0 -1
- package/dist/client-oXO2WCPD.mjs.map +0 -1
- package/dist/command-helpers-DtavI0wJ.mjs.map +0 -1
- package/dist/commands/migration-check.mjs.map +0 -1
- package/dist/commands/migration-graph.mjs.map +0 -1
- package/dist/commands/migration-list.mjs.map +0 -1
- package/dist/contract-enrichment-Dani0mMW.mjs.map +0 -1
- package/dist/contract-space-aggregate-loader-BmNQwlws.mjs +0 -160
- package/dist/contract-space-aggregate-loader-BmNQwlws.mjs.map +0 -1
- package/dist/global-flags-CdE7M0d9.d.mts +0 -15
- package/dist/global-flags-CdE7M0d9.d.mts.map +0 -1
- package/dist/migration-plan-C2jeH1J5.mjs.map +0 -1
- package/dist/migrations-CwZMa1Ck.mjs.map +0 -1
- package/dist/rolldown-runtime-twds-ZHy.mjs +0 -14
- package/dist/terminal-ui-BiB_8KNo.mjs +0 -379
- package/dist/terminal-ui-BiB_8KNo.mjs.map +0 -1
- package/dist/types-C9FfXb1l.d.mts.map +0 -1
|
@@ -1,379 +0,0 @@
|
|
|
1
|
-
import { bold, cyan, dim, green, red, yellow } from "colorette";
|
|
2
|
-
import { isCI } from "ci-info";
|
|
3
|
-
import * as clack from "@clack/prompts";
|
|
4
|
-
//#region src/utils/formatters/helpers.ts
|
|
5
|
-
/**
|
|
6
|
-
* Checks if verbose output is enabled at the specified level.
|
|
7
|
-
*/
|
|
8
|
-
function isVerbose(flags, level) {
|
|
9
|
-
return (flags.verbose ?? 0) >= level;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Creates a color-aware formatter function.
|
|
13
|
-
* Returns a function that applies the color only if colors are enabled.
|
|
14
|
-
*/
|
|
15
|
-
function createColorFormatter(useColor, colorFn) {
|
|
16
|
-
return useColor ? colorFn : (text) => text;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Formats text with dim styling if colors are enabled.
|
|
20
|
-
*/
|
|
21
|
-
function formatDim(useColor, text) {
|
|
22
|
-
return useColor ? dim(text) : text;
|
|
23
|
-
}
|
|
24
|
-
//#endregion
|
|
25
|
-
//#region src/utils/is-ci.ts
|
|
26
|
-
/**
|
|
27
|
-
* Returns true when the process is running in any CI environment recognised
|
|
28
|
-
* by the `ci-info` package. The single source of truth for CI detection
|
|
29
|
-
* across this CLI — colour-output suppression and telemetry-skip both call
|
|
30
|
-
* this helper, so neither path drifts from the other when a new CI provider
|
|
31
|
-
* is added upstream.
|
|
32
|
-
*
|
|
33
|
-
* `ci-info` checks the standard `CI=true` marker plus dozens of
|
|
34
|
-
* provider-specific environment variables (Buildkite, Jenkins, Drone,
|
|
35
|
-
* Bitbucket Pipelines, Azure Pipelines, AWS CodeBuild, …) that the raw
|
|
36
|
-
* `process.env.CI` read misses.
|
|
37
|
-
*
|
|
38
|
-
*/
|
|
39
|
-
function isCI$1() {
|
|
40
|
-
return isCI;
|
|
41
|
-
}
|
|
42
|
-
//#endregion
|
|
43
|
-
//#region src/utils/formatters/errors.ts
|
|
44
|
-
/**
|
|
45
|
-
* Formats error output for human-readable display.
|
|
46
|
-
*/
|
|
47
|
-
function formatErrorOutput(error, flags) {
|
|
48
|
-
const lines = [];
|
|
49
|
-
const useColor = flags.color !== false;
|
|
50
|
-
const formatRed = createColorFormatter(useColor, red);
|
|
51
|
-
const formatDimText = (text) => formatDim(useColor, text);
|
|
52
|
-
lines.push(`${formatRed("✖")} ${error.summary} (${error.code})`);
|
|
53
|
-
if (error.why) lines.push(`${formatDimText(` Why: ${error.why}`)}`);
|
|
54
|
-
if (error.fix) lines.push(`${formatDimText(` Fix: ${error.fix}`)}`);
|
|
55
|
-
if (error.where?.path) {
|
|
56
|
-
const whereLine = error.where.line ? `${error.where.path}:${error.where.line}` : error.where.path;
|
|
57
|
-
lines.push(`${formatDimText(` Where: ${whereLine}`)}`);
|
|
58
|
-
}
|
|
59
|
-
if (error.meta?.["conflicts"]) {
|
|
60
|
-
const conflicts = error.meta["conflicts"];
|
|
61
|
-
if (conflicts.length > 0) {
|
|
62
|
-
const maxToShow = isVerbose(flags, 1) ? conflicts.length : Math.min(3, conflicts.length);
|
|
63
|
-
const header = isVerbose(flags, 1) ? " Conflicts:" : ` Conflicts (showing ${maxToShow} of ${conflicts.length}):`;
|
|
64
|
-
lines.push(`${formatDimText(header)}`);
|
|
65
|
-
for (const conflict of conflicts.slice(0, maxToShow)) lines.push(`${formatDimText(` - [${conflict.kind}] ${conflict.summary}`)}`);
|
|
66
|
-
if (!isVerbose(flags, 1) && conflicts.length > maxToShow) lines.push(`${formatDimText(" Re-run with -v/--verbose to see all conflicts")}`);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (error.meta?.["issues"]) {
|
|
70
|
-
const issues = error.meta["issues"];
|
|
71
|
-
if (issues.length > 0) {
|
|
72
|
-
const maxToShow = isVerbose(flags, 1) ? issues.length : Math.min(3, issues.length);
|
|
73
|
-
const header = isVerbose(flags, 1) ? " Issues:" : ` Issues (showing ${maxToShow} of ${issues.length}):`;
|
|
74
|
-
lines.push(`${formatDimText(header)}`);
|
|
75
|
-
for (const issue of issues.slice(0, maxToShow)) {
|
|
76
|
-
const kind = issue.kind ?? "issue";
|
|
77
|
-
const message = issue.message ?? "";
|
|
78
|
-
lines.push(`${formatDimText(` - [${kind}] ${message}`)}`);
|
|
79
|
-
}
|
|
80
|
-
if (!isVerbose(flags, 1) && issues.length > maxToShow) lines.push(`${formatDimText(" Re-run with -v/--verbose to see all issues")}`);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
if (error.docsUrl && isVerbose(flags, 1)) lines.push(formatDimText(error.docsUrl));
|
|
84
|
-
if (isVerbose(flags, 2) && error.meta) lines.push(`${formatDimText(` Meta: ${JSON.stringify(error.meta, null, 2)}`)}`);
|
|
85
|
-
return lines.join("\n");
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Formats error output as JSON.
|
|
89
|
-
*/
|
|
90
|
-
function formatErrorJson(error) {
|
|
91
|
-
return JSON.stringify(error, null, 2);
|
|
92
|
-
}
|
|
93
|
-
//#endregion
|
|
94
|
-
//#region src/utils/shutdown.ts
|
|
95
|
-
function createShutdownHandler(options) {
|
|
96
|
-
const exit = options?.exit ?? ((code) => process.exit(code));
|
|
97
|
-
const gracePeriodMs = options?.gracePeriodMs ?? 3e3;
|
|
98
|
-
const controller = new AbortController();
|
|
99
|
-
let shuttingDown = false;
|
|
100
|
-
let graceTimer;
|
|
101
|
-
const onSignal = () => {
|
|
102
|
-
if (shuttingDown) {
|
|
103
|
-
exit(130);
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
shuttingDown = true;
|
|
107
|
-
controller.abort();
|
|
108
|
-
graceTimer = setTimeout(() => exit(130), gracePeriodMs);
|
|
109
|
-
graceTimer.unref();
|
|
110
|
-
};
|
|
111
|
-
return {
|
|
112
|
-
signal: controller.signal,
|
|
113
|
-
isShuttingDown: () => shuttingDown,
|
|
114
|
-
onSignal,
|
|
115
|
-
clearGraceTimer: () => {
|
|
116
|
-
if (graceTimer !== void 0) {
|
|
117
|
-
clearTimeout(graceTimer);
|
|
118
|
-
graceTimer = void 0;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
const globalHandler = createShutdownHandler();
|
|
124
|
-
/**
|
|
125
|
-
* The global AbortSignal. Pass this to any async operation that should
|
|
126
|
-
* be cancellable on Ctrl+C (e.g., DB queries, long-running emit).
|
|
127
|
-
*/
|
|
128
|
-
const shutdownSignal = globalHandler.signal;
|
|
129
|
-
/**
|
|
130
|
-
* Installs SIGINT and SIGTERM handlers. Call once at CLI startup.
|
|
131
|
-
*
|
|
132
|
-
* - First signal: aborts the controller, starts a 3s grace timer.
|
|
133
|
-
* - Second signal: force-exits immediately.
|
|
134
|
-
*/
|
|
135
|
-
let installed = false;
|
|
136
|
-
function installShutdownHandlers() {
|
|
137
|
-
if (installed) return;
|
|
138
|
-
installed = true;
|
|
139
|
-
process.on("SIGINT", globalHandler.onSignal);
|
|
140
|
-
process.on("SIGTERM", globalHandler.onSignal);
|
|
141
|
-
}
|
|
142
|
-
//#endregion
|
|
143
|
-
//#region src/utils/terminal-ui.ts
|
|
144
|
-
/**
|
|
145
|
-
* Composable CLI output abstraction.
|
|
146
|
-
*
|
|
147
|
-
* Follows the Unix convention of separating data from decoration:
|
|
148
|
-
* - **stdout** — data output only (`ui.output()`). This is what scripts and pipes capture.
|
|
149
|
-
* - **stderr** — all decoration (spinners, logs, notes, intro/outro). Visible in terminal, invisible in pipes.
|
|
150
|
-
*
|
|
151
|
-
* Rules:
|
|
152
|
-
* 1. All methods except `output()` and `error()` write to stderr only in interactive mode.
|
|
153
|
-
* 2. `output(data)` always writes to stdout — if a command calls it, there is data to emit.
|
|
154
|
-
* 3. `error()` always writes to stderr — errors matter even when piped.
|
|
155
|
-
* 4. Decoration is suppressed when piped unless `--format pretty` was explicit (`forcePretty`).
|
|
156
|
-
* 5. Never write data to stderr — decoration methods are for human context only.
|
|
157
|
-
* 6. Never write decoration to stdout — it breaks pipes, `$(...)` captures, and `> file` redirects.
|
|
158
|
-
*/
|
|
159
|
-
var TerminalUI = class TerminalUI {
|
|
160
|
-
/**
|
|
161
|
-
* True when stdout is a TTY (interactive terminal).
|
|
162
|
-
* False when piped (e.g., `prisma-next db verify | jq`).
|
|
163
|
-
*/
|
|
164
|
-
isInteractive;
|
|
165
|
-
/**
|
|
166
|
-
* Whether color output is enabled.
|
|
167
|
-
*/
|
|
168
|
-
useColor;
|
|
169
|
-
/**
|
|
170
|
-
* When true, decoration methods write even on non-TTY stdout
|
|
171
|
-
* (explicit `--format pretty`).
|
|
172
|
-
*/
|
|
173
|
-
forcePretty;
|
|
174
|
-
static stderrOpts = { output: process.stderr };
|
|
175
|
-
constructor(options) {
|
|
176
|
-
this.isInteractive = options?.interactive ?? !!process.stdout.isTTY;
|
|
177
|
-
this.forcePretty = options?.forcePretty ?? false;
|
|
178
|
-
this.useColor = options?.color ?? (this.isInteractive || this.forcePretty);
|
|
179
|
-
}
|
|
180
|
-
get shouldDecorate() {
|
|
181
|
-
return this.isInteractive || this.forcePretty;
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Log a message line to stderr. No-op when piped unless forcePretty.
|
|
185
|
-
*/
|
|
186
|
-
log(message) {
|
|
187
|
-
if (!this.shouldDecorate) return;
|
|
188
|
-
clack.log.message(message, TerminalUI.stderrOpts);
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Log a success message to stderr. No-op when piped unless forcePretty.
|
|
192
|
-
*/
|
|
193
|
-
success(message) {
|
|
194
|
-
if (!this.shouldDecorate) return;
|
|
195
|
-
clack.log.success(message, TerminalUI.stderrOpts);
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Log a warning message to stderr. No-op when piped unless forcePretty.
|
|
199
|
-
*/
|
|
200
|
-
warn(message) {
|
|
201
|
-
if (!this.shouldDecorate) return;
|
|
202
|
-
clack.log.warn(message, TerminalUI.stderrOpts);
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Log an error message to stderr. Always writes (errors matter even in pipes).
|
|
206
|
-
*/
|
|
207
|
-
error(message) {
|
|
208
|
-
clack.log.error(message, TerminalUI.stderrOpts);
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Log an info message to stderr. No-op when piped unless forcePretty.
|
|
212
|
-
*/
|
|
213
|
-
info(message) {
|
|
214
|
-
if (!this.shouldDecorate) return;
|
|
215
|
-
clack.log.info(message, TerminalUI.stderrOpts);
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Log a step message to stderr. No-op when piped unless forcePretty.
|
|
219
|
-
*/
|
|
220
|
-
step(message) {
|
|
221
|
-
if (!this.shouldDecorate) return;
|
|
222
|
-
clack.log.step(message, TerminalUI.stderrOpts);
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Display a note box on stderr. No-op when piped unless forcePretty.
|
|
226
|
-
*/
|
|
227
|
-
note(message, title) {
|
|
228
|
-
if (!this.shouldDecorate) return;
|
|
229
|
-
clack.note(message, title, TerminalUI.stderrOpts);
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Display intro banner on stderr. No-op when piped unless forcePretty.
|
|
233
|
-
*/
|
|
234
|
-
intro(title) {
|
|
235
|
-
if (!this.shouldDecorate) return;
|
|
236
|
-
clack.intro(title, TerminalUI.stderrOpts);
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* Display outro banner on stderr. No-op when piped unless forcePretty.
|
|
240
|
-
*/
|
|
241
|
-
outro(message) {
|
|
242
|
-
if (!this.shouldDecorate) return;
|
|
243
|
-
clack.outro(message, TerminalUI.stderrOpts);
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Create a Clack spinner on stderr with a 100ms delay threshold.
|
|
247
|
-
* The spinner only appears if the operation takes longer than the threshold,
|
|
248
|
-
* avoiding flicker for fast operations. Returns a no-op spinner when not decorating.
|
|
249
|
-
*/
|
|
250
|
-
spinner(delayMs = 100) {
|
|
251
|
-
const noop = {
|
|
252
|
-
start: () => {},
|
|
253
|
-
stop: () => {},
|
|
254
|
-
cancel: () => {},
|
|
255
|
-
error: () => {},
|
|
256
|
-
message: () => {},
|
|
257
|
-
clear: () => {},
|
|
258
|
-
get isCancelled() {
|
|
259
|
-
return false;
|
|
260
|
-
}
|
|
261
|
-
};
|
|
262
|
-
if (!this.shouldDecorate) return noop;
|
|
263
|
-
let inner;
|
|
264
|
-
let timer;
|
|
265
|
-
let pendingMsg;
|
|
266
|
-
let settled = false;
|
|
267
|
-
const ensureCleared = () => {
|
|
268
|
-
if (timer !== void 0) {
|
|
269
|
-
clearTimeout(timer);
|
|
270
|
-
timer = void 0;
|
|
271
|
-
}
|
|
272
|
-
};
|
|
273
|
-
const onAbort = () => {
|
|
274
|
-
if (!settled) {
|
|
275
|
-
settled = true;
|
|
276
|
-
ensureCleared();
|
|
277
|
-
if (inner) inner.cancel("Interrupted");
|
|
278
|
-
}
|
|
279
|
-
};
|
|
280
|
-
if (!shutdownSignal.aborted) shutdownSignal.addEventListener("abort", onAbort, { once: true });
|
|
281
|
-
return {
|
|
282
|
-
start(msg) {
|
|
283
|
-
pendingMsg = msg;
|
|
284
|
-
timer = setTimeout(() => {
|
|
285
|
-
if (!settled) {
|
|
286
|
-
inner = clack.spinner(TerminalUI.stderrOpts);
|
|
287
|
-
inner.start(pendingMsg);
|
|
288
|
-
}
|
|
289
|
-
}, delayMs);
|
|
290
|
-
},
|
|
291
|
-
stop(msg) {
|
|
292
|
-
settled = true;
|
|
293
|
-
ensureCleared();
|
|
294
|
-
if (inner) inner.stop(msg);
|
|
295
|
-
},
|
|
296
|
-
cancel(msg) {
|
|
297
|
-
settled = true;
|
|
298
|
-
ensureCleared();
|
|
299
|
-
if (inner) inner.cancel(msg);
|
|
300
|
-
},
|
|
301
|
-
error(msg) {
|
|
302
|
-
settled = true;
|
|
303
|
-
ensureCleared();
|
|
304
|
-
if (inner) inner.error(msg);
|
|
305
|
-
},
|
|
306
|
-
message(msg) {
|
|
307
|
-
pendingMsg = msg;
|
|
308
|
-
if (inner) inner.message(msg);
|
|
309
|
-
},
|
|
310
|
-
clear() {
|
|
311
|
-
settled = true;
|
|
312
|
-
ensureCleared();
|
|
313
|
-
if (inner) inner.clear();
|
|
314
|
-
},
|
|
315
|
-
get isCancelled() {
|
|
316
|
-
return inner?.isCancelled ?? false;
|
|
317
|
-
}
|
|
318
|
-
};
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Prompt for yes/no confirmation on stderr. Returns true if confirmed.
|
|
322
|
-
* In non-interactive mode or when cancelled (Ctrl-C), returns false.
|
|
323
|
-
*/
|
|
324
|
-
async confirm(message) {
|
|
325
|
-
if (!this.isInteractive) return false;
|
|
326
|
-
const result = await clack.confirm({
|
|
327
|
-
message,
|
|
328
|
-
...TerminalUI.stderrOpts
|
|
329
|
-
});
|
|
330
|
-
if (clack.isCancel(result)) return false;
|
|
331
|
-
return result;
|
|
332
|
-
}
|
|
333
|
-
/**
|
|
334
|
-
* Write a raw line to stderr. No-op when piped unless forcePretty.
|
|
335
|
-
* Use for decoration that doesn't fit Clack's log format (e.g. styled headers).
|
|
336
|
-
*/
|
|
337
|
-
stderr(message) {
|
|
338
|
-
if (!this.shouldDecorate) return;
|
|
339
|
-
process.stderr.write(`${message}\n`);
|
|
340
|
-
}
|
|
341
|
-
/**
|
|
342
|
-
* Write machine-readable data to stdout.
|
|
343
|
-
* Always writes — if a command calls output(), there is data to emit.
|
|
344
|
-
*
|
|
345
|
-
* This is what scripts and pipes capture: `prisma-next db verify --json | jq .ok`
|
|
346
|
-
*/
|
|
347
|
-
output(data) {
|
|
348
|
-
process.stdout.write(`${data}\n`);
|
|
349
|
-
}
|
|
350
|
-
green(text) {
|
|
351
|
-
return this.useColor ? green(text) : text;
|
|
352
|
-
}
|
|
353
|
-
red(text) {
|
|
354
|
-
return this.useColor ? red(text) : text;
|
|
355
|
-
}
|
|
356
|
-
cyan(text) {
|
|
357
|
-
return this.useColor ? cyan(text) : text;
|
|
358
|
-
}
|
|
359
|
-
dim(text) {
|
|
360
|
-
return this.useColor ? dim(text) : text;
|
|
361
|
-
}
|
|
362
|
-
bold(text) {
|
|
363
|
-
return this.useColor ? bold(text) : text;
|
|
364
|
-
}
|
|
365
|
-
yellow(text) {
|
|
366
|
-
return this.useColor ? yellow(text) : text;
|
|
367
|
-
}
|
|
368
|
-
};
|
|
369
|
-
function createTerminalUI(flags) {
|
|
370
|
-
return new TerminalUI({
|
|
371
|
-
color: flags.color,
|
|
372
|
-
interactive: flags.interactive,
|
|
373
|
-
forcePretty: flags.format === "pretty" && flags.explicitFormat
|
|
374
|
-
});
|
|
375
|
-
}
|
|
376
|
-
//#endregion
|
|
377
|
-
export { isCI$1 as a, isVerbose as c, formatErrorOutput as i, installShutdownHandlers as n, createColorFormatter as o, formatErrorJson as r, formatDim as s, createTerminalUI as t };
|
|
378
|
-
|
|
379
|
-
//# sourceMappingURL=terminal-ui-BiB_8KNo.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-ui-BiB_8KNo.mjs","names":["isCI","ciInfoIsCI"],"sources":["../src/utils/formatters/helpers.ts","../src/utils/is-ci.ts","../src/utils/formatters/errors.ts","../src/utils/shutdown.ts","../src/utils/terminal-ui.ts"],"sourcesContent":["import { dim } from 'colorette';\n\nimport type { GlobalFlags } from '../global-flags';\n\n/**\n * Checks if verbose output is enabled at the specified level.\n */\nexport function isVerbose(flags: GlobalFlags, level: 1 | 2): boolean {\n return (flags.verbose ?? 0) >= level;\n}\n\n/**\n * Creates a color-aware formatter function.\n * Returns a function that applies the color only if colors are enabled.\n */\nexport function createColorFormatter<T extends (text: string) => string>(\n useColor: boolean,\n colorFn: T,\n): (text: string) => string {\n return useColor ? colorFn : (text: string) => text;\n}\n\n/**\n * Formats text with dim styling if colors are enabled.\n */\nexport function formatDim(useColor: boolean, text: string): string {\n return useColor ? dim(text) : text;\n}\n","import { isCI as ciInfoIsCI } from 'ci-info';\n\n/**\n * Returns true when the process is running in any CI environment recognised\n * by the `ci-info` package. The single source of truth for CI detection\n * across this CLI — colour-output suppression and telemetry-skip both call\n * this helper, so neither path drifts from the other when a new CI provider\n * is added upstream.\n *\n * `ci-info` checks the standard `CI=true` marker plus dozens of\n * provider-specific environment variables (Buildkite, Jenkins, Drone,\n * Bitbucket Pipelines, Azure Pipelines, AWS CodeBuild, …) that the raw\n * `process.env.CI` read misses.\n *\n */\nexport function isCI(): boolean {\n return ciInfoIsCI;\n}\n","import { red } from 'colorette';\n\nimport type { CliErrorConflict, CliErrorEnvelope } from '../cli-errors';\nimport type { GlobalFlags } from '../global-flags';\nimport { createColorFormatter, formatDim, isVerbose } from './helpers';\n\n/**\n * Formats error output for human-readable display.\n */\nexport function formatErrorOutput(error: CliErrorEnvelope, flags: GlobalFlags): string {\n const lines: string[] = [];\n\n const useColor = flags.color !== false;\n const formatRed = createColorFormatter(useColor, red);\n const formatDimText = (text: string) => formatDim(useColor, text);\n\n lines.push(`${formatRed('✖')} ${error.summary} (${error.code})`);\n\n if (error.why) {\n lines.push(`${formatDimText(` Why: ${error.why}`)}`);\n }\n if (error.fix) {\n lines.push(`${formatDimText(` Fix: ${error.fix}`)}`);\n }\n if (error.where?.path) {\n const whereLine = error.where.line\n ? `${error.where.path}:${error.where.line}`\n : error.where.path;\n lines.push(`${formatDimText(` Where: ${whereLine}`)}`);\n }\n // Show conflicts list if present (always show a short list; show full list when verbose)\n if (error.meta?.['conflicts']) {\n const conflicts = error.meta['conflicts'] as readonly CliErrorConflict[];\n if (conflicts.length > 0) {\n const maxToShow = isVerbose(flags, 1) ? conflicts.length : Math.min(3, conflicts.length);\n const header = isVerbose(flags, 1)\n ? ' Conflicts:'\n : ` Conflicts (showing ${maxToShow} of ${conflicts.length}):`;\n lines.push(`${formatDimText(header)}`);\n for (const conflict of conflicts.slice(0, maxToShow)) {\n lines.push(`${formatDimText(` - [${conflict.kind}] ${conflict.summary}`)}`);\n }\n if (!isVerbose(flags, 1) && conflicts.length > maxToShow) {\n lines.push(`${formatDimText(' Re-run with -v/--verbose to see all conflicts')}`);\n }\n }\n }\n // Show issues list if present (always show a short list; show full list when verbose)\n if (error.meta?.['issues']) {\n const issues = error.meta['issues'] as readonly { kind?: string; message?: string }[];\n if (issues.length > 0) {\n const maxToShow = isVerbose(flags, 1) ? issues.length : Math.min(3, issues.length);\n const header = isVerbose(flags, 1)\n ? ' Issues:'\n : ` Issues (showing ${maxToShow} of ${issues.length}):`;\n lines.push(`${formatDimText(header)}`);\n for (const issue of issues.slice(0, maxToShow)) {\n const kind = issue.kind ?? 'issue';\n const message = issue.message ?? '';\n lines.push(`${formatDimText(` - [${kind}] ${message}`)}`);\n }\n if (!isVerbose(flags, 1) && issues.length > maxToShow) {\n lines.push(`${formatDimText(' Re-run with -v/--verbose to see all issues')}`);\n }\n }\n }\n if (error.docsUrl && isVerbose(flags, 1)) {\n lines.push(formatDimText(error.docsUrl));\n }\n if (isVerbose(flags, 2) && error.meta) {\n lines.push(`${formatDimText(` Meta: ${JSON.stringify(error.meta, null, 2)}`)}`);\n }\n\n return lines.join('\\n');\n}\n\n/**\n * Formats error output as JSON.\n */\nexport function formatErrorJson(error: CliErrorEnvelope): string {\n return JSON.stringify(error, null, 2);\n}\n","/**\n * Global shutdown controller for graceful SIGINT/SIGTERM handling.\n *\n * The CLI installs signal handlers once at startup. When a signal fires:\n * 1. The AbortController is aborted — in-flight async work (DB queries, emit) can check `signal.aborted`.\n * 2. A 3-second grace timer starts — gives `finally` blocks time to close connections.\n * 3. If the process hasn't exited by then, force-exit with code 130 (128 + SIGINT).\n * 4. A second signal during the grace period force-exits immediately.\n */\n\n/**\n * Creates a shutdown handler with its own AbortController.\n * Exposed for testing — production code uses the singleton below.\n */\nexport interface ShutdownHandler {\n readonly signal: AbortSignal;\n readonly isShuttingDown: () => boolean;\n readonly onSignal: () => void;\n readonly clearGraceTimer: () => void;\n}\n\nexport function createShutdownHandler(options?: {\n readonly exit?: (code: number) => void;\n readonly gracePeriodMs?: number;\n}): ShutdownHandler {\n const exit = options?.exit ?? ((code: number) => process.exit(code));\n const gracePeriodMs = options?.gracePeriodMs ?? 3000;\n\n const controller = new AbortController();\n let shuttingDown = false;\n let graceTimer: ReturnType<typeof setTimeout> | undefined;\n\n const onSignal = () => {\n if (shuttingDown) {\n // Second signal — force exit\n exit(130);\n return;\n }\n shuttingDown = true;\n controller.abort();\n\n // Give finally blocks time to clean up, then force-exit\n graceTimer = setTimeout(() => exit(130), gracePeriodMs);\n graceTimer.unref();\n };\n\n return {\n signal: controller.signal,\n isShuttingDown: () => shuttingDown,\n onSignal,\n clearGraceTimer: () => {\n if (graceTimer !== undefined) {\n clearTimeout(graceTimer);\n graceTimer = undefined;\n }\n },\n };\n}\n\n// ---------------------------------------------------------------------------\n// Singleton for production use\n// ---------------------------------------------------------------------------\n\nconst globalHandler = createShutdownHandler();\n\n/**\n * The global AbortSignal. Pass this to any async operation that should\n * be cancellable on Ctrl+C (e.g., DB queries, long-running emit).\n */\nexport const shutdownSignal: AbortSignal = globalHandler.signal;\n\n/**\n * Whether a shutdown has been initiated.\n */\nexport function isShuttingDown(): boolean {\n return globalHandler.isShuttingDown();\n}\n\n/**\n * Installs SIGINT and SIGTERM handlers. Call once at CLI startup.\n *\n * - First signal: aborts the controller, starts a 3s grace timer.\n * - Second signal: force-exits immediately.\n */\nlet installed = false;\n\nexport function installShutdownHandlers(): void {\n if (installed) return;\n installed = true;\n process.on('SIGINT', globalHandler.onSignal);\n process.on('SIGTERM', globalHandler.onSignal);\n}\n","import * as clack from '@clack/prompts';\nimport { bold, cyan, dim, green, red, yellow } from 'colorette';\nimport type { GlobalFlags } from './global-flags';\nimport { shutdownSignal } from './shutdown';\n\n/**\n * Composable CLI output abstraction.\n *\n * Follows the Unix convention of separating data from decoration:\n * - **stdout** — data output only (`ui.output()`). This is what scripts and pipes capture.\n * - **stderr** — all decoration (spinners, logs, notes, intro/outro). Visible in terminal, invisible in pipes.\n *\n * Rules:\n * 1. All methods except `output()` and `error()` write to stderr only in interactive mode.\n * 2. `output(data)` always writes to stdout — if a command calls it, there is data to emit.\n * 3. `error()` always writes to stderr — errors matter even when piped.\n * 4. Decoration is suppressed when piped unless `--format pretty` was explicit (`forcePretty`).\n * 5. Never write data to stderr — decoration methods are for human context only.\n * 6. Never write decoration to stdout — it breaks pipes, `$(...)` captures, and `> file` redirects.\n */\nexport class TerminalUI {\n /**\n * True when stdout is a TTY (interactive terminal).\n * False when piped (e.g., `prisma-next db verify | jq`).\n */\n readonly isInteractive: boolean;\n\n /**\n * Whether color output is enabled.\n */\n readonly useColor: boolean;\n\n /**\n * When true, decoration methods write even on non-TTY stdout\n * (explicit `--format pretty`).\n */\n readonly forcePretty: boolean;\n\n private static readonly stderrOpts = { output: process.stderr } as const;\n\n constructor(options?: {\n readonly color?: boolean | undefined;\n readonly interactive?: boolean | undefined;\n readonly forcePretty?: boolean | undefined;\n }) {\n // --interactive/--no-interactive override TTY detection\n this.isInteractive = options?.interactive ?? !!process.stdout.isTTY;\n this.forcePretty = options?.forcePretty ?? false;\n this.useColor = options?.color ?? (this.isInteractive || this.forcePretty);\n }\n\n private get shouldDecorate(): boolean {\n return this.isInteractive || this.forcePretty;\n }\n\n // ---------------------------------------------------------------------------\n // Decoration → stderr (interactive mode, or explicit --format pretty)\n // ---------------------------------------------------------------------------\n\n /**\n * Log a message line to stderr. No-op when piped unless forcePretty.\n */\n log(message: string): void {\n if (!this.shouldDecorate) return;\n clack.log.message(message, TerminalUI.stderrOpts);\n }\n\n /**\n * Log a success message to stderr. No-op when piped unless forcePretty.\n */\n success(message: string): void {\n if (!this.shouldDecorate) return;\n clack.log.success(message, TerminalUI.stderrOpts);\n }\n\n /**\n * Log a warning message to stderr. No-op when piped unless forcePretty.\n */\n warn(message: string): void {\n if (!this.shouldDecorate) return;\n clack.log.warn(message, TerminalUI.stderrOpts);\n }\n\n /**\n * Log an error message to stderr. Always writes (errors matter even in pipes).\n */\n error(message: string): void {\n clack.log.error(message, TerminalUI.stderrOpts);\n }\n\n /**\n * Log an info message to stderr. No-op when piped unless forcePretty.\n */\n info(message: string): void {\n if (!this.shouldDecorate) return;\n clack.log.info(message, TerminalUI.stderrOpts);\n }\n\n /**\n * Log a step message to stderr. No-op when piped unless forcePretty.\n */\n step(message: string): void {\n if (!this.shouldDecorate) return;\n clack.log.step(message, TerminalUI.stderrOpts);\n }\n\n /**\n * Display a note box on stderr. No-op when piped unless forcePretty.\n */\n note(message: string, title?: string): void {\n if (!this.shouldDecorate) return;\n clack.note(message, title, TerminalUI.stderrOpts);\n }\n\n /**\n * Display intro banner on stderr. No-op when piped unless forcePretty.\n */\n intro(title?: string): void {\n if (!this.shouldDecorate) return;\n clack.intro(title, TerminalUI.stderrOpts);\n }\n\n /**\n * Display outro banner on stderr. No-op when piped unless forcePretty.\n */\n outro(message?: string): void {\n if (!this.shouldDecorate) return;\n clack.outro(message, TerminalUI.stderrOpts);\n }\n\n /**\n * Create a Clack spinner on stderr with a 100ms delay threshold.\n * The spinner only appears if the operation takes longer than the threshold,\n * avoiding flicker for fast operations. Returns a no-op spinner when not decorating.\n */\n spinner(delayMs = 100): clack.SpinnerResult {\n const noop: clack.SpinnerResult = {\n start: () => {},\n stop: () => {},\n cancel: () => {},\n error: () => {},\n message: () => {},\n clear: () => {},\n get isCancelled() {\n return false;\n },\n };\n\n if (!this.shouldDecorate) {\n return noop;\n }\n\n // Wrap the real spinner with a delay: only show it after `delayMs`\n let inner: clack.SpinnerResult | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n let pendingMsg: string | undefined;\n let settled = false;\n\n const ensureCleared = () => {\n if (timer !== undefined) {\n clearTimeout(timer);\n timer = undefined;\n }\n };\n\n // Cancel the spinner if a shutdown signal fires\n const onAbort = () => {\n if (!settled) {\n settled = true;\n ensureCleared();\n if (inner) {\n inner.cancel('Interrupted');\n }\n }\n };\n if (!shutdownSignal.aborted) {\n shutdownSignal.addEventListener('abort', onAbort, { once: true });\n }\n\n return {\n start(msg?: string) {\n pendingMsg = msg;\n timer = setTimeout(() => {\n if (!settled) {\n inner = clack.spinner(TerminalUI.stderrOpts);\n inner.start(pendingMsg);\n }\n }, delayMs);\n },\n stop(msg?: string) {\n settled = true;\n ensureCleared();\n if (inner) {\n inner.stop(msg);\n }\n },\n cancel(msg?: string) {\n settled = true;\n ensureCleared();\n if (inner) {\n inner.cancel(msg);\n }\n },\n error(msg?: string) {\n settled = true;\n ensureCleared();\n if (inner) {\n inner.error(msg);\n }\n },\n message(msg?: string) {\n pendingMsg = msg;\n if (inner) {\n inner.message(msg);\n }\n },\n clear() {\n settled = true;\n ensureCleared();\n if (inner) {\n inner.clear();\n }\n },\n get isCancelled() {\n return inner?.isCancelled ?? false;\n },\n };\n }\n\n /**\n * Prompt for yes/no confirmation on stderr. Returns true if confirmed.\n * In non-interactive mode or when cancelled (Ctrl-C), returns false.\n */\n async confirm(message: string): Promise<boolean> {\n if (!this.isInteractive) return false;\n const result = await clack.confirm({\n message,\n ...TerminalUI.stderrOpts,\n });\n if (clack.isCancel(result)) return false;\n return result;\n }\n\n /**\n * Write a raw line to stderr. No-op when piped unless forcePretty.\n * Use for decoration that doesn't fit Clack's log format (e.g. styled headers).\n */\n stderr(message: string): void {\n if (!this.shouldDecorate) return;\n process.stderr.write(`${message}\\n`);\n }\n\n // ---------------------------------------------------------------------------\n // Data → stdout (only when piped)\n // ---------------------------------------------------------------------------\n\n /**\n * Write machine-readable data to stdout.\n * Always writes — if a command calls output(), there is data to emit.\n *\n * This is what scripts and pipes capture: `prisma-next db verify --json | jq .ok`\n */\n output(data: string): void {\n process.stdout.write(`${data}\\n`);\n }\n\n // ---------------------------------------------------------------------------\n // Color helpers\n // ---------------------------------------------------------------------------\n\n green(text: string): string {\n return this.useColor ? green(text) : text;\n }\n red(text: string): string {\n return this.useColor ? red(text) : text;\n }\n cyan(text: string): string {\n return this.useColor ? cyan(text) : text;\n }\n dim(text: string): string {\n return this.useColor ? dim(text) : text;\n }\n bold(text: string): string {\n return this.useColor ? bold(text) : text;\n }\n yellow(text: string): string {\n return this.useColor ? yellow(text) : text;\n }\n}\n\nexport function createTerminalUI(flags: GlobalFlags): TerminalUI {\n return new TerminalUI({\n color: flags.color,\n interactive: flags.interactive,\n forcePretty: flags.format === 'pretty' && flags.explicitFormat,\n });\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-C9FfXb1l.d.mts","names":[],"sources":["../src/control-api/operations/db-verify.ts","../src/control-api/types.ts"],"mappings":";;;;;;;;;;;;;;AAwCA;;;;;UAAiB,sBAAA;EAAA,SACN,MAAA,EAAQ,qBAAA,CAAsB,SAAA,EAAW,SAAA;EAAA,SACzC,cAAA,EAAgB,qBAAA,CAAsB,SAAA;EAAA,SACtC,QAAA,EAAU,QAAA;EAAA,SACV,aAAA;EAAA,SACA,QAAA,EAAU,SAAA;EAAA,SACV,cAAA,EAAgB,aAAA,CAAc,0BAAA,CAA2B,SAAA,EAAW,SAAA;EAAA,SACpE,mBAAA,EAAqB,aAAA,CAAc,8BAAA,CAA+B,SAAA,EAAW,SAAA;EAAA,SAC7E,IAAA;EAAA,SACA,UAAA;EAAA,SACA,UAAA;EAAA,SACA,UAAA,GAAa,iBAAA;AAAA;;;;;;;;;;;;;UAeP,sBAAA;EAAA,SACN,aAAA,EAAe,WAAA,SAAoB,0BAAA;EAAA,SACnC,WAAA;EAAA,SACA,UAAA;AAAA;AAAA,KAGC,qBAAA,GAAwB,MAAA,CAAO,sBAAA,EAAwB,kBAAA;;;;;;;;;;;;;;;;;iBAkB7C,eAAA,oDAAA,CACpB,OAAA,EAAS,sBAAA,CAAuB,SAAA,EAAW,SAAA,IAC1C,OAAA,CAAQ,qBAAA;;;;;;AApDX;;;;;;;;UCDiB,oBAAA;EAAA,SAEN,MAAA,EAAQ,uBAAA;EAAA,SAER,MAAA,EAAQ,uBAAA;EAAA,SAER,OAAA,EAAS,wBAAA;EDCqB;EAAA,SCE9B,MAAA,GAAS,uBAAA;EAAA,SAET,cAAA,GAAiB,aAAA,CAAc,0BAAA;EDH8C;;;;;EAAA,SCS7E,UAAA;AAAA;;;;KAUC,iBAAA;;;;;;;;;;;;;;KAwBA,oBAAA;EAAA,SAEG,MAAA,EAAQ,iBAAA;EAAA,SACR,IAAA;EAAA,SACA,MAAA;EAAA,SACA,YAAA;EAAA,SACA,KAAA;AAAA;EAAA,SAGA,MAAA,EAAQ,iBAAA;EAAA,SACR,IAAA;EAAA,SACA,MAAA;EAAA,SACA,OAAA;AAAA;;ADpCf;;;;KC4CY,iBAAA,IAAqB,KAAA,EAAO,oBAAA;;;;UASvB,aAAA;EDlDI;EAAA,SCoDV,QAAA;EDjDC;;;;;EAAA,SCuDD,UAAA;EDvD+B;EAAA,SCyD/B,UAAA,GAAa,iBAAA;AAAA;;;;UAMP,mBAAA;ED7CK;EAAA,SC+CX,QAAA;ED/C0B;;;;;EAAA,SCqD1B,MAAA;EDnDD;;;;;EAAA,SCyDC,UAAA;ED1DkC;EAAA,SC4DlC,UAAA,GAAa,iBAAA;AAAA;;;;UAMP,WAAA;;WAEN,QAAA;EAxHM;;;EAAA,SA4HN,YAAA;EAxHQ;;;EAAA,SA4HR,UAAA;EArHiB;;;;;EAAA,SA2HjB,UAAA;EAlIQ;EAAA,SAoIR,UAAA,GAAa,iBAAA;AAAA;;;;UAMP,aAAA;EAnIyB;EAAA,SAqI/B,QAAA;EA/HU;;AAUrB;;;EAVqB,SAqIV,IAAA;EA3HkB;AAwB7B;;;;EAxB6B,SAiIlB,UAAA;EAvGY;;;;;;EAAA,SA8GZ,aAAA;EAtGI;EAAA,SAwGJ,UAAA,GAAa,iBAAA;AAAA;;;AA9FxB;UAoGiB,eAAA;;WAEN,QAAA;EAtGiD;AAS5D;;;;EAT4D,SA4GjD,IAAA;EA3FA;;;;;EAAA,SAiGA,UAAA;EAzFyB;;;;;;;EAAA,SAiGzB,cAAA;EAjF8B;;AAMzC;;;;EANyC,SAwF9B,aAAA;EA5EA;EAAA,SA8EA,UAAA,GAAa,iBAAA;AAAA;;;;;AA5DxB;;;;UAuEiB,eAAA;EA/DN;;;;;;EAAA,SAsEA,QAAA,EAAU,QAAA;EAAA,SACV,aAAA;EAAA,SACA,MAAA;EAAA,SACA,UAAA;EAAA,SACA,UAAA;EAAA,SACA,UAAA;EAAA,SACA,UAAA,GAAa,iBAAA;AAAA;;;;UAMP,iBAAA;EA9BwB;;AAWzC;EAXyC,SAkC9B,MAAA;;;;;;WAMA,UAAA;EAnBA;EAAA,SAqBA,UAAA,GAAa,iBAAA;AAAA;;;;UAMP,kBAAA;EAlBA;;;EAAA,SAsBN,MAAA,EAAQ,sBAAA;EAlBR;;;;EAAA,SAuBA,MAAA;AAAA;AATX;;;AAAA,UAeiB,WAAA;EAXN;;;EAAA,SAeA,cAAA,EAAgB,kBAAA;EAVV;EAAA,SAYN,UAAA,GAAa,iBAAA;AAAA;;;;;;;;;AAmBxB;;;;UAAiB,+BAAA;EAAA,SACN,OAAA;EAQA;EAAA,SANA,IAAA;EAOE;;;;;EAAA,SADF,UAAA,EAAY,aAAA;IAAA,SACV,EAAA;IAAA,SACA,KAAA;IAAA,SACA,cAAA;EAAA;EAkBY;;;;;EAAA,SAXd,MAAA;IAAA,SACE,WAAA;EAAA;AAAA;;;;UAOI,aAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA;IAAA,SACE,UAAA,EAAY,aAAA;MAAA,SACV,EAAA;MAAA,SACA,KAAA;MAAA,SACA,cAAA;IAAA;IAiBF;;;;;;;IAAA,SARA,OAAA,GAAU,gBAAA;EAAA;EAAA,SAEZ,WAAA;IAAA,SACE,WAAA;IAAA,SACA,WAAA;EAAA;EAAA,SAEF,SAAA;IAAA,SACE,iBAAA;IAAA,SACA,kBAAA;EAAA;EAAA,SAEF,MAAA;IAAA,SACE,WAAA;IAAA,SACA,WAAA;EAAA;EA0BI;;;;;;;EAAA,SAjBN,QAAA,GAAW,aAAA,CAAc,+BAAA;EAAA,SACzB,OAAA;AAAA;;;;KAMC,iBAAA;;;;UAKK,aAAA;EAAA,SACN,IAAA,EAAM,iBAAA;EAAA,SACN,OAAA;EAAA,SACA,GAAA;EAAA,SACA,SAAA,EAAW,aAAA,CAAc,wBAAA;EAAA,SACzB,IAAA,EAAM,MAAA;EAAA,SACN,MAAA;IAAA,SACE,WAAA;IAAA,SACA,WAAA;EAAA;EAAA,SAEF,WAAA;IAAA,SACE,WAAA;IAAA,SACA,WAAA;EAAA;AAAA;;AAab;;;KALY,YAAA,GAAe,MAAA,CAAO,aAAA,EAAe,aAAA;;;;UAKhC,eAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA;IAAA,SACE,UAAA,EAAY,aAAA;MAAA,SACV,EAAA;MAAA,SACA,KAAA;MAAA,SACA,cAAA;IAAA;IAAA;;;;;;;IAAA,SASF,OAAA,GAAU,gBAAA;EAAA;EAAA,SAEZ,WAAA;IAAA,SACE,WAAA;IAAA,SACA,WAAA;EAAA;EAAA,SAEF,SAAA;IAAA,SACE,iBAAA;IAAA,SACA,kBAAA;EAAA;EAAA,SAEF,MAAA;IAAA,SACE,WAAA;IAAA,SACA,WAAA;EAAA;EAakB;;AAK/B;;EAL+B,SAPpB,QAAA,GAAW,aAAA,CAAc,+BAAA;EAAA,SACzB,OAAA;AAAA;;;;KAMC,mBAAA;;;;UAKK,eAAA;EAAA,SACN,IAAA,EAAM,mBAAA;EAAA,SACN,OAAA;EAAA,SACA,GAAA;EAAA,SACA,SAAA,EAAW,aAAA,CAAc,wBAAA;EAAA,SACzB,IAAA,EAAM,MAAA;AAAA;;AAOjB;;;KAAY,cAAA,GAAiB,MAAA,CAAO,eAAA,EAAiB,eAAA;;;;;UAMpC,WAAA;EANmB;EAAA,SAQzB,WAAA;EARyD;EAAA,SAUzD,aAAA;EAJM;EAAA,SAMN,WAAA;;WAEA,YAAA;EANA;EAAA,SAQA,WAAA;AAAA;;;;KAMC,eAAA;AAAZ;;;AAAA,UAQiB,WAAA;EAAA,SACN,IAAA,EAAM,eAAA;EAAA,SACN,OAAA;EAAA,SACA,GAAA;EAAA,SACA,IAAA,EAAM,MAAA;EAAA,SACN,WAAA,GAAc,yBAAA;AAAA;;;;;KAOb,UAAA,GAAa,MAAA,CAAO,WAAA,EAAa,WAAA;;;;;;;;;AAA7C;;;UAiBiB,qBAAA;EAjB4B;EAAA,SAmBlC,QAAA;EAnBoB;EAAA,SAqBpB,aAAA;EArBc;;;;;EAAA,SA2Bd,oBAAA,EAAsB,aAAA,CAAc,sBAAA;EAVT;;;;;EAAA,SAgB3B,OAAA;EAoB8B;;;;;EAAA,SAd9B,aAAA;EANA;;;;;;EAAA,SAaA,OAAA;EAO8B;AAuCzC;;;EAvCyC,SAF9B,UAAA;EA0CA;EAAA,SAxCA,UAAA,GAAa,iBAAA;AAAA;;;AAiFxB;;;;;;;;;;;UA1CiB,0BAAA;EAAA,SACN,OAAA;EAAA,SACA,OAAA;EAAA,SACA,aAAA;EAAA,SACA,IAAA;EAAA,SACA,EAAA;EAAA,SACA,kBAAA;AAAA;;;AA2DX;;;;;AAKA;;;;;;;;;AAAA,UA7CiB,0BAAA;EAAA,SACN,QAAA;EAAA,SACA,MAAA;EAAA,SACA,gBAAA;EAAA,SACA,eAAA;EAAA,SACA,OAAA;EAAA,SACA,kBAAA;EAAA,SACA,mBAAA;EAAA,SACA,YAAA;IAAA,SACE,OAAA;IAAA,SACA,aAAA;IAAA,SACA,IAAA;IAAA,SACA,EAAA;IAAA,SACA,UAAA;EAAA;AAAA;AAAA,UAII,qBAAA;EAAA,SACN,iBAAA;EAAA,SACA,UAAA;EAAA,SACA,OAAA,WAAkB,0BAAA;EAAA,SAClB,OAAA;EA6DA;;;;;EAAA,SAvDA,QAAA,EAAU,aAAA,CAAc,+BAAA;EA2DM;AAUzC;;;;;EAVyC,SApD9B,YAAA,GAAe,0BAAA;AAAA;;;;KAMd,yBAAA;;;AA4FZ;UAvFiB,qBAAA;EAAA,SACN,IAAA,EAAM,yBAAA;EAAA,SACN,OAAA;EAAA,SACA,GAAA;EAAA,SACA,IAAA,EAAM,MAAA;AAAA;;;;KAML,oBAAA,GAAuB,MAAA,CAAO,qBAAA,EAAuB,qBAAA;;;;;;;;;;;;;UAkBhD,mBAAA;EA+JD;EAAA,SA7JL,UAAA;EAoKiB;;;;;;EAAA,SA7JjB,UAAA;EA2LwB;EAAA,SAzLxB,MAAA,GAAS,WAAA;EA4MsB;EAAA,SA1M/B,UAAA,GAAa,iBAAA;AAAA;;;;;;;;UAUP,kBAAA;EAgEf;EAAA,SA9DS,WAAA;EAuET;EAAA,SArES,aAAA;EAqEF;EAAA,SAnEE,WAAA;EAmE+B;EAAA,SAjE/B,KAAA;IA0Ea,sDAxEX,IAAA,UAwEiC;IAAA,SAtEjC,GAAA;EAAA;EAgFG;;;;;EAAA,SAzEL,iBAAA;AAAA;;;;;;;;;;;UAiBM,aAAA;EA4F6B;;;;;;;EApF5C,IAAA;EAgHA;;;;;;;;;;;EAnGA,OAAA,CAAQ,UAAA,aAAuB,OAAA;EA6H/B;;;;;EAtHA,KAAA,IAAS,OAAA;EAgI0D;;;;;;;EAvHnE,MAAA,CAAO,OAAA,EAAS,aAAA,GAAgB,OAAA,CAAQ,oBAAA;;;;;;;;EASxC,YAAA,CAAa,OAAA,EAAS,mBAAA,GAAsB,OAAA,CAAQ,0BAAA;;;;;;;;;EAUpD,IAAA,CAAK,OAAA,EAAS,WAAA,GAAc,OAAA,CAAQ,kBAAA;;;;;;;;;EAUpC,MAAA,CAAO,OAAA,EAAS,aAAA,GAAgB,OAAA,CAAQ,YAAA;;;;;;;;;;EAWxC,QAAA,CAAS,OAAA,EAAS,eAAA,GAAkB,OAAA,CAAQ,cAAA;;;;;;;;;;;;;;EAe5C,QAAA,CAAS,OAAA,EAAS,eAAA,GAAkB,OAAA,CAAQ,qBAAA;;;;;;;EAQ5C,UAAA,IAAc,OAAA,CAAQ,oBAAA;;;;;;EAOtB,cAAA,IAAkB,OAAA,CAAQ,WAAA,SAAoB,oBAAA;;;;;;;;;;;;EAa9C,cAAA,CAAe,OAAA,EAAS,qBAAA,GAAwB,OAAA,CAAQ,oBAAA;;;;;;;EAQxD,UAAA,CAAW,OAAA,GAAU,iBAAA,GAAoB,OAAA;;;;;;;;EASzC,YAAA,CAAa,QAAA,YAAoB,cAAA;;;;;;;;EASjC,gBAAA,CAAiB,QAAA,YAAoB,cAAA;;;;;;;;;EAUrC,kBAAA,CAAmB,UAAA,WAAqB,sBAAA,KAA2B,gBAAA;;;;;;;;EASnE,IAAA,CAAK,OAAA,EAAS,WAAA,GAAc,OAAA,CAAQ,UAAA;AAAA"}
|