@heychunky/core 0.28.1 → 0.29.0
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/admin/promote.d.ts +45 -0
- package/dist/admin/promote.d.ts.map +1 -1
- package/dist/admin/promote.js +97 -8
- package/dist/admin/promote.js.map +1 -1
- package/dist/admin/services/vercel.d.ts +6 -0
- package/dist/admin/services/vercel.d.ts.map +1 -1
- package/dist/admin/services/vercel.js.map +1 -1
- package/package.json +1 -1
package/dist/admin/promote.d.ts
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Moving a change one rung up the ladder.
|
|
3
|
+
*
|
|
4
|
+
* Everything left of `main` happens without anybody: a branch, a pull request,
|
|
5
|
+
* a review, a merge. Nothing right of it moves unless a person asks — and this
|
|
6
|
+
* is what they are asking for. It is a command somebody gives, never a question
|
|
7
|
+
* put to them, which is the distinction the whole model rests on. A prompt
|
|
8
|
+
* offering to promote would manufacture the appearance of oversight; a person
|
|
9
|
+
* saying "go to staging" wanted staging.
|
|
10
|
+
*
|
|
11
|
+
* So there is no scheduler here and no trigger, and nothing in this file should
|
|
12
|
+
* ever acquire one. Two callers say it out loud — the CLI today, the superagent
|
|
13
|
+
* later — and neither may say it on its own behalf.
|
|
14
|
+
*
|
|
15
|
+
* The order is not negotiable:
|
|
16
|
+
*
|
|
17
|
+
* 1. work out what would ship, and say so
|
|
18
|
+
* 2. migrate the environment being promoted to
|
|
19
|
+
* 3. merge, which is what makes the deployment happen
|
|
20
|
+
*
|
|
21
|
+
* Migrations first because the merge *is* the deploy — Vercel builds the branch
|
|
22
|
+
* the moment it moves. A column the arriving code needs and cannot find is an
|
|
23
|
+
* outage; a column added early is invisible to the deployment still running.
|
|
24
|
+
*/
|
|
25
|
+
import { github } from "./services/github.ts";
|
|
1
26
|
import { type RunContext } from "./run.ts";
|
|
2
27
|
import { type Environment } from "../config/environments.ts";
|
|
3
28
|
import type { StepResult } from "./provision.ts";
|
|
@@ -38,6 +63,26 @@ export interface PromoteWatcher {
|
|
|
38
63
|
start?(step: string): void;
|
|
39
64
|
done?(result: StepResult): void;
|
|
40
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Where an app keeps its migrations, or null when it keeps them nowhere.
|
|
68
|
+
*
|
|
69
|
+
* `migrations/` at the root is the factory's own convention and was once the
|
|
70
|
+
* only place looked at. An app is free to keep them where its tooling puts
|
|
71
|
+
* them — Delters keeps them at `.chunky/db/migrations`, which is what its
|
|
72
|
+
* `drizzle.config.ts` says — so the app is asked first, through
|
|
73
|
+
* `paths.migrations` in its manifest.
|
|
74
|
+
*
|
|
75
|
+
* Failing that, the conventional places: the root, and `db/migrations` beside
|
|
76
|
+
* whichever chunks root the app declares. That covers both layouts in the
|
|
77
|
+
* estate without anybody editing a manifest.
|
|
78
|
+
*
|
|
79
|
+
* Null means every candidate answered "not there". Anything else throws,
|
|
80
|
+
* because a repository that would not answer is not an app with no migrations.
|
|
81
|
+
*
|
|
82
|
+
* Exported for the test that keeps it honest: the failure it exists to prevent
|
|
83
|
+
* is silent, so nothing else would catch it.
|
|
84
|
+
*/
|
|
85
|
+
export declare function migrationsDir(gh: ReturnType<typeof github>, repo: string, ref: string): Promise<string | null>;
|
|
41
86
|
/**
|
|
42
87
|
* Promote, or — without `confirmed` — say what promoting would do.
|
|
43
88
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../src/admin/promote.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../src/admin/promote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAEpD,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAWzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAcjD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,EAAE,EAAE,WAAW,CAAC;IAChB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,iEAAiE;IACjE,OAAO,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,mDAAmD;IACnD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yDAAyD;IACzD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;CACjC;AA4BD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GACvD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2BxB;AA4BD;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAC3B,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,UAAU,EACf,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,SAAS,CAAC,CAkGpB"}
|
package/dist/admin/promote.js
CHANGED
|
@@ -28,6 +28,13 @@ import { KEY_FOR } from "./run.js";
|
|
|
28
28
|
import { folderFor } from "./syncenv.js";
|
|
29
29
|
import { GIT_BRANCH } from "../config/environments.js";
|
|
30
30
|
import { applied, apply, isDestructive, pending, MIGRATIONS_DIR } from "./migrations.js";
|
|
31
|
+
import { MANIFEST } from "./entrypoints.js";
|
|
32
|
+
import { NotFoundError } from "../http/errors.js";
|
|
33
|
+
/**
|
|
34
|
+
* The manifests in the estate, newest name first. Apps made before the rename
|
|
35
|
+
* carry `chunky.json`; Delters is one.
|
|
36
|
+
*/
|
|
37
|
+
const MANIFESTS = [MANIFEST, "chunky.json"];
|
|
31
38
|
/**
|
|
32
39
|
* Where a promotion comes from.
|
|
33
40
|
*
|
|
@@ -45,17 +52,94 @@ const branchFor = (env) => {
|
|
|
45
52
|
throw new Error(`${env} is not an environment anything is built from`);
|
|
46
53
|
return b;
|
|
47
54
|
};
|
|
55
|
+
/**
|
|
56
|
+
* What the app's manifest says about where things live, or null when it has
|
|
57
|
+
* none. Apps made before the rename carry `chunky.json`; Delters is one.
|
|
58
|
+
*/
|
|
59
|
+
async function manifestPaths(gh, repo, ref) {
|
|
60
|
+
for (const name of [MANIFEST, "chunky.json"]) {
|
|
61
|
+
let raw;
|
|
62
|
+
try {
|
|
63
|
+
raw = await gh.readFile(repo, name, ref);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
if (error instanceof NotFoundError)
|
|
67
|
+
continue;
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
return JSON.parse(raw).paths ?? {};
|
|
71
|
+
}
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Where an app keeps its migrations, or null when it keeps them nowhere.
|
|
76
|
+
*
|
|
77
|
+
* `migrations/` at the root is the factory's own convention and was once the
|
|
78
|
+
* only place looked at. An app is free to keep them where its tooling puts
|
|
79
|
+
* them — Delters keeps them at `.chunky/db/migrations`, which is what its
|
|
80
|
+
* `drizzle.config.ts` says — so the app is asked first, through
|
|
81
|
+
* `paths.migrations` in its manifest.
|
|
82
|
+
*
|
|
83
|
+
* Failing that, the conventional places: the root, and `db/migrations` beside
|
|
84
|
+
* whichever chunks root the app declares. That covers both layouts in the
|
|
85
|
+
* estate without anybody editing a manifest.
|
|
86
|
+
*
|
|
87
|
+
* Null means every candidate answered "not there". Anything else throws,
|
|
88
|
+
* because a repository that would not answer is not an app with no migrations.
|
|
89
|
+
*
|
|
90
|
+
* Exported for the test that keeps it honest: the failure it exists to prevent
|
|
91
|
+
* is silent, so nothing else would catch it.
|
|
92
|
+
*/
|
|
93
|
+
export async function migrationsDir(gh, repo, ref) {
|
|
94
|
+
const paths = await manifestPaths(gh, repo, ref);
|
|
95
|
+
const declared = paths?.["migrations"];
|
|
96
|
+
if (typeof declared === "string" && declared)
|
|
97
|
+
return declared;
|
|
98
|
+
const chunks = paths?.["chunks"];
|
|
99
|
+
const roots = typeof chunks === "string" && chunks
|
|
100
|
+
? [chunks]
|
|
101
|
+
: [".heychunky/chunks", ".chunky/chunks"];
|
|
102
|
+
const candidates = [
|
|
103
|
+
MIGRATIONS_DIR,
|
|
104
|
+
...roots.map((r) => `${r.replace(/\/[^/]+$/, "")}/db/migrations`),
|
|
105
|
+
];
|
|
106
|
+
for (const dir of candidates) {
|
|
107
|
+
try {
|
|
108
|
+
await gh.listDir(repo, dir, ref);
|
|
109
|
+
return dir;
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
if (error instanceof NotFoundError)
|
|
113
|
+
continue;
|
|
114
|
+
// Anything that is not "it is not there" is not an answer. Letting it
|
|
115
|
+
// read as "no migrations" is how a promotion ships to a database that
|
|
116
|
+
// owes eleven statements.
|
|
117
|
+
throw error;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
48
122
|
/**
|
|
49
123
|
* Read the statements sitting on a branch.
|
|
50
124
|
*
|
|
51
125
|
* From the branch being promoted *from*, because that is what the target is
|
|
52
|
-
* about to receive.
|
|
53
|
-
*
|
|
126
|
+
* about to receive.
|
|
127
|
+
*
|
|
128
|
+
* An app with nowhere to keep migrations owes none. An app whose repository
|
|
129
|
+
* would not answer owes an unknown number, and the difference is the whole
|
|
130
|
+
* point: `building/SKILL.md` says a false "missing" is the dangerous
|
|
131
|
+
* direction, and here it is worse than permission to create — promote's own
|
|
132
|
+
* order is migrations first *because the merge is the deploy*, so a false
|
|
133
|
+
* "nothing to run" skips the step and merges regardless.
|
|
54
134
|
*/
|
|
55
135
|
async function migrationsOn(gh, repo, ref) {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
136
|
+
const dir = await migrationsDir(gh, repo, ref);
|
|
137
|
+
if (dir === null)
|
|
138
|
+
return { files: [], dir: null };
|
|
139
|
+
const paths = await gh.listFiles(repo, dir, ref);
|
|
140
|
+
const names = paths.filter((p) => p.endsWith(".sql")).sort((a, b) => a.localeCompare(b));
|
|
141
|
+
const files = await Promise.all(names.map(async (id) => ({ id, sql: (await gh.readFile(repo, id, ref)).trim() })));
|
|
142
|
+
return { files, dir };
|
|
59
143
|
}
|
|
60
144
|
/**
|
|
61
145
|
* Promote, or — without `confirmed` — say what promoting would do.
|
|
@@ -96,15 +180,20 @@ export async function promote(spec, ctx, watch) {
|
|
|
96
180
|
// app with migration files and no database is a different case, and still
|
|
97
181
|
// a failure: those files have to run somewhere.
|
|
98
182
|
watch?.start?.("migrations");
|
|
99
|
-
const files = await migrationsOn(gh, spec.repo, source);
|
|
183
|
+
const { files, dir } = await migrationsOn(gh, spec.repo, source);
|
|
100
184
|
const target_db = files.length
|
|
101
185
|
? db(await ctx.secrets.get(`${folderFor(spec.app, spec.to)}DATABASE_URL`))
|
|
102
186
|
: undefined;
|
|
103
187
|
const owed = target_db ? pending(files, await applied(target_db)) : [];
|
|
104
188
|
const destructive = owed.filter((m) => isDestructive(m.sql)).map((m) => m.id);
|
|
189
|
+
// The directory is named either way. "Nothing to run" is a claim about a
|
|
190
|
+
// place, and a promotion that looked in the wrong one should say where it
|
|
191
|
+
// looked rather than let a reader assume it looked everywhere.
|
|
105
192
|
settle("migrations", "exists", owed.length
|
|
106
|
-
? `${owed.length} to run${destructive.length ? ` · ${destructive.length} destructive` : ""}`
|
|
107
|
-
:
|
|
193
|
+
? `${owed.length} to run in ${dir}${destructive.length ? ` · ${destructive.length} destructive` : ""}`
|
|
194
|
+
: dir === null
|
|
195
|
+
? "nowhere to keep them, so none"
|
|
196
|
+
: `nothing to run · ${files.length} in ${dir}, all applied`);
|
|
108
197
|
const plan = () => ({
|
|
109
198
|
app: spec.app, to: spec.to, from, planned: true, shipping,
|
|
110
199
|
migrations: owed.map((m) => m.id), destructive, steps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promote.js","sourceRoot":"","sources":["../../src/admin/promote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAmB,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAoB,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAkB,MAC1E,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"promote.js","sourceRoot":"","sources":["../../src/admin/promote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAmB,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAoB,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAkB,MAC1E,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;GAGG;AACH,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAU,CAAC;AAGrD;;;;;;GAMG;AACH,MAAM,IAAI,GAA8C;IACtD,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,SAAS;CACtB,CAAC;AAuCF,MAAM,SAAS,GAAG,CAAC,GAAgB,EAAU,EAAE;IAC7C,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,+CAA+C,CAAC,CAAC;IAC/E,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF;;;GAGG;AACH,KAAK,UAAU,aAAa,CAC1B,EAA6B,EAAE,IAAY,EAAE,GAAW;IAExD,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;QAC7C,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,aAAa;gBAAE,SAAS;YAC7C,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyC,CAAC,KAAK,IAAI,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAA6B,EAAE,IAAY,EAAE,GAAW;IAExD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC;IACvC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9D,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM;QAChD,CAAC,CAAC,CAAC,MAAM,CAAC;QACV,CAAC,CAAC,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG;QACjB,cAAc;QACd,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC;KAClE,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACjC,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,aAAa;gBAAE,SAAS;YAC7C,sEAAsE;YACtE,sEAAsE;YACtE,0BAA0B;YAC1B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,YAAY,CACzB,EAA6B,EAAE,IAAY,EAAE,GAAW;IAExD,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAClF,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAiB,EACjB,GAAe,EACf,KAAsB;IAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElC,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,KAA0B,EAAE,MAAc,EAAE,EAAE;QAC1E,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC,CAAC;IAE5E,4EAA4E;IAC5E,iCAAiC;IACjC,KAAK,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM;QAC5C,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,UAAU,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE;QAC9F,CAAC,CAAC,GAAG,MAAM,0BAA0B,MAAM,EAAE,CAAC,CAAC;IAEjD,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,wEAAwE;IACxE,2EAA2E;IAC3E,0EAA0E;IAC1E,gDAAgD;IAChD,KAAK,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC;IAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM;QAC5B,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QAC1E,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9E,yEAAyE;IACzE,0EAA0E;IAC1E,+DAA+D;IAC/D,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM;QACxC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,cAAc,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE;QACtG,CAAC,CAAC,GAAG,KAAK,IAAI;YACZ,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,oBAAoB,KAAK,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC;IAEjE,MAAM,IAAI,GAAG,GAAc,EAAE,CAAC,CAAC;QAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ;QACzD,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK;QACrD,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC;KAC7C,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,MAAM,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,4EAA4E;IAC5E,2DAA2D;IAC3D,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,CAAC,SAAS,EAAE,QAAQ,EACxB,GAAG,WAAW,CAAC,MAAM,aAAa,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,kBAAkB;YACvF,gBAAgB,IAAI,CAAC,EAAE,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAClE,8CAA8C,CAAC,CAAC;QAClD,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,CAAC;QACH,2EAA2E;QAC3E,wEAAwE;QACxE,oCAAoC;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,KAAK,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAU,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,GAAG,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,KAAK,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,WAAW,CACjC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EACzB,WAAW,MAAM,OAAO,MAAM,+BAA+B,QAAQ,CAAC,MAAM,SAAS;YACnF,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CACzC,CAAC;QACF,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM;YACnD,CAAC,CAAC,GAAG,MAAM,MAAM,MAAM,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc;YACjE,CAAC,CAAC,GAAG,MAAM,2BAA2B,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,OAAO;QACL,GAAG,IAAI,EAAE;QACT,OAAO,EAAE,KAAK;QACd,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC;KAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -26,6 +26,12 @@ export interface ProjectDomain {
|
|
|
26
26
|
verified: boolean;
|
|
27
27
|
/** Set when the domain serves one custom environment rather than production. */
|
|
28
28
|
customEnvironmentId?: string | null;
|
|
29
|
+
/** The registrable domain under `name`: `delters.com` for `www.delters.com`. */
|
|
30
|
+
apexName?: string;
|
|
31
|
+
/** Set when the domain is pinned to one branch rather than the production one. */
|
|
32
|
+
gitBranch?: string | null;
|
|
33
|
+
/** Where this domain sends people, when it only redirects. */
|
|
34
|
+
redirect?: string | null;
|
|
29
35
|
}
|
|
30
36
|
export interface CustomEnvironment {
|
|
31
37
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/admin/services/vercel.ts"],"names":[],"mappings":"AASA,OAAO,EAAsB,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIrG,MAAM,WAAW,aAAa;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC3D,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,MAAM,KAAK,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,mBAAmB,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAAG,IAAI,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAE9F,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/admin/services/vercel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../../src/admin/services/vercel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAoB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,WAAW,EAA0C,MAAM,yBAAyB,CAAC;AAErG,MAAM,IAAI,GAAG,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../../src/admin/services/vercel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAoB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,WAAW,EAA0C,MAAM,yBAAyB,CAAC;AAErG,MAAM,IAAI,GAAG,wBAAwB,CAAC;AAsDtC,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,MAAM,KAAK,GAAgB,EAAE,KAAK,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE,CAC1B,CAAC,MAAM,OAAO,CAAgC,GAAG,IAAI,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE9F;;;;;;;OAOG;IACH,KAAK,UAAU,WAAW,CAAC,GAAW;QACpC,OAAO,WAAW,CAAC,GAAG,EAAE,MAAM,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACH,IAAI,IAA+B,CAAC;IACpC,KAAK,UAAU,MAAM;QACnB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,OAAO,CAChC,GAAG,IAAI,yBAAyB,EAAE,CAAC,CAAC,CAAC;YACvC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,IAAI,SAAS,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACH;;;;;;;;;;;;OAYG;IACH,KAAK,UAAU,aAAa,CAC1B,IAAY,EACZ,OAAqD,EAAE;QAEvD,MAAM,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAgB,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBACvF,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM;gBACpB,IAAI,EAAE;oBACJ,IAAI;oBACJ,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;oBACnE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7E;aACF,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,0EAA0E;YAC1E,qEAAqE;YACrE,yEAAyE;YACzE,yEAAyE;YACzE,qEAAqE;YACrE,iDAAiD;YACjD,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,IAAI,mDAAmD;oBAC/E,IAAI,GAAG,4DAA4D,CACtE,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,EAAE,SAAiB,EAAE,MAAe,EAAE,EAAE,CAC3D,CAAC,MAAM,OAAO,CACZ,GAAG,IAAI,gBAAgB,SAAS,OAAO,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzF;;;;;;;;OAQG;IACH,KAAK,UAAU,MAAM,CACnB,SAAiB,EAAE,GAAW,EAAE,KAAa,EAAE,KAAY,EAC3D,OAAiD,EAAE;QAEnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,uEAAuE;QACvE,+DAA+D;QAC/D,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAC5B,QAAQ,IAAI,KAAK;YACf,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,MAAM;YACnF,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnG,IAAI,CAAC,CAAC,EAAE;gBAAE,MAAM,OAAO,CAAC,GAAG,IAAI,gBAAgB,SAAS,QAAQ,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7G,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,IAAI,iBAAiB,SAAS,OAAO,IAAI,EAAE,EAAE;YAC5D,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM;YACpB,IAAI,EAAE;gBACJ,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;gBAC1D,GAAG,CAAC,QAAQ,IAAI,KAAK;oBACnB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBAC5B,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;aAC3D;SACF,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,MAAM,cAAc,GAAG,KAAK,EAAE,SAAiB,EAAE,MAAe,EAAE,EAAE,CAClE,CAAC,MAAM,OAAO,CACZ,GAAG,IAAI,gBAAgB,SAAS,WAAW,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAClF,CAAC,CAAC,OAAO,CAAC;IAEb;;;;;;OAMG;IACH,KAAK,UAAU,SAAS,CACtB,SAAiB,EAAE,MAAc,EAAE,MAAe,EAAE,mBAA4B;QAEhF,MAAM,OAAO,GAAG,CAAC,MAAM,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACzF,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5B,OAAO,MAAM,OAAO,CAClB,GAAG,IAAI,iBAAiB,SAAS,WAAW,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAC/E;YACE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM;YACpB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;SAChF,CACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,YAAY,CAAC,MAAc;QACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,GAAG,IAAI,eAAe,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAC7D,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QACvF,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;QACzE,kEAAkE;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,MAAM,CACnB,IAAY,EACZ,IAAuF;QAEvF,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,MAAM,OAAO,CAClB,GAAG,IAAI,mBAAmB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,EAC7F;YACE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM;YACpB,IAAI,EAAE;gBACJ,IAAI;gBACJ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;aACxD;SACF,CACF,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,MAAM,OAAO,GAAG,KAAK,EAAE,SAAiB,EAAE,YAAoB,EAAE,MAAe,EAAE,EAAE,CACjF,MAAM,OAAO,CACX,GAAG,IAAI,iBAAiB,SAAS,YAAY,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAC/F,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CACzB,CAAC;IAEJ,MAAM,OAAO,GAAG,CAAC,IAA+B,EAAE,IAAmB,EAAE,EAAE,CACvE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;IAE7D,MAAM,kBAAkB,GAAG,KAAK,EAAE,SAAiB,EAAE,MAAe,EAAE,EAAE,CACtE,CAAC,MAAM,OAAO,CACZ,GAAG,IAAI,gBAAgB,SAAS,uBAAuB,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAC9F,CAAC,CAAC,YAAY,CAAC;IAElB;;;;;;;;;;OAUG;IACH,KAAK,UAAU,uBAAuB,CACpC,SAAiB,EAAE,IAAY,EAAE,MAAe,EAAE,aAA6B;QAE/E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,MAAM,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACzF,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC;gBAAE,OAAO,KAAK,CAAC;YAChF,OAAO,MAAM,OAAO,CAClB,GAAG,IAAI,gBAAgB,SAAS,wBAAwB,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,EACzE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,EAAE,CACnD,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,OAAO,CAClB,GAAG,IAAI,gBAAgB,SAAS,uBAAuB,IAAI,EAAE,EAC7D,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,aAAa,CAC1B,SAAiB,EAAE,MAA0B,EAAE,IAAyB;QAExE,IAAI,CAAC,IAAI,EAAE,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,uBAAuB,CAAC,CAAC;QACtG,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,CAAC,GAAG,IAAI,gBAAgB,SAAS,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,OAAO;QACL,QAAQ;QACR,WAAW;QACX,aAAa;QACb,MAAM;QACN,aAAa;QACb,cAAc;QACd,SAAS;QACT,YAAY;QACZ,MAAM;QACN,OAAO;QACP,OAAO;QACP,kBAAkB;QAClB,uBAAuB;QACvB,MAAM;QACN,WAAW,EAAE,KAAK,EAAE,SAAkB,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CACnD,CAAC,MAAM,OAAO,CACZ,GAAG,IAAI,yBAAyB,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW;QAEzG,KAAK,CAAC,MAAM;YACV,OAAO,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBAChC,MAAM,CAAC,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAC3B,OAAO,GAAG,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,MAAM;YACV,OAAO,WAAW,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACtC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,OAAO,CAE/B,GAAG,IAAI,yBAAyB,EAAE,CAAC,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;gBAC/D,OAAO;oBACL,QAAQ,EAAE,QAAiB;oBAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC1E,GAAG,EAAE,KAAK;wBACR,CAAC,CAAC;4BACE,mCAAmC,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;4BACxE,yCAAyC;4BACzC,8CAA8C;4BAC9C,8CAA8C;yBAC/C;wBACH,CAAC,CAAC,CAAC,kCAAkC,CAAC;oBACxC,KAAK,EAAE;wBACL,UAAU,CAAC,CAAC,IAAI,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;wBAChF,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB;wBAC/F,2EAA2E;qBAC5E;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|