sponson 0.8.0 → 0.9.1
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/commands/init.d.ts +15 -5
- package/dist/commands/init.js +54 -25
- package/dist/commands/init.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/markdown.js +122 -47
- package/dist/markdown.js.map +1 -1
- package/dist/render.d.ts +27 -3
- package/dist/render.js +100 -37
- package/dist/render.js.map +1 -1
- package/dist/setup.d.ts +23 -2
- package/dist/setup.js +49 -8
- package/dist/setup.js.map +1 -1
- package/dist/stack.d.ts +2 -0
- package/dist/stack.js +1 -0
- package/dist/stack.js.map +1 -1
- package/dist/starter.d.ts +17 -0
- package/dist/starter.js +95 -15
- package/dist/starter.js.map +1 -1
- package/package.json +3 -3
package/dist/commands/init.d.ts
CHANGED
|
@@ -16,8 +16,10 @@ export interface InitDetected {
|
|
|
16
16
|
found: Finding[];
|
|
17
17
|
/** Detected but not managed by any built-in adapter or recipe yet, each with a pointer to an issue. */
|
|
18
18
|
unsupported: UnsupportedFinding[];
|
|
19
|
-
/** Placeholders left in the plan, with where to find the real value. */
|
|
19
|
+
/** Placeholders left in the plan, with where to find the real value: the plan cannot run until they are filled in. */
|
|
20
20
|
todo: Todo[];
|
|
21
|
+
/** Defaults the plan runs with that a person should check against the app (a recipe's documented default): advisory, never blocking. */
|
|
22
|
+
check: Todo[];
|
|
21
23
|
/** True when no deploy target or database Sponson manages was detected and the plan starts from the Vercel + Neon template. */
|
|
22
24
|
assumed: boolean;
|
|
23
25
|
}
|
|
@@ -28,8 +30,9 @@ export interface InitResult {
|
|
|
28
30
|
created: boolean;
|
|
29
31
|
path: string;
|
|
30
32
|
/**
|
|
31
|
-
* What the repository's files say it uses
|
|
32
|
-
*
|
|
33
|
+
* What the repository's files say it uses: when a starter was written, and with `--setup` on an existing plan (its
|
|
34
|
+
* `todo` then lists the TODOs the plan still has); `null` when an existing plan is adopted into. File, dependency
|
|
35
|
+
* and variable names only: never a value read from an `.env` file.
|
|
33
36
|
*/
|
|
34
37
|
detected: InitDetected | null;
|
|
35
38
|
/** Lines appended to an existing plan, with the resource keys each one adopts. */
|
|
@@ -49,8 +52,15 @@ export interface InitResult {
|
|
|
49
52
|
* and never reformats what is already in the file.
|
|
50
53
|
*/
|
|
51
54
|
export declare function initCommand(opts: InitOpts, io: IO, redactor: Redactor): Promise<number>;
|
|
52
|
-
/**
|
|
53
|
-
export declare
|
|
55
|
+
/** Where receipts go, said once when a starter is written in a repository with a git remote. */
|
|
56
|
+
export declare const RECEIPTS_NOTE = "Receipts: each `sponson apply` records what it did on an orphan branch of this repository (`sponson-receipts/<env>/<scope>`, never merged), so the next run, on any machine or in CI, sees drift and knows what to destroy.";
|
|
57
|
+
/**
|
|
58
|
+
* The short human summary: what was found, what is not supported yet, what is left to fill in, what to run next.
|
|
59
|
+
* `setup`: only what was found (setup goes on with the TODOs, then the credentials).
|
|
60
|
+
*/
|
|
61
|
+
export declare function initSummary(d: InitDetected, credentials: string[], o?: {
|
|
62
|
+
setup?: boolean;
|
|
63
|
+
}): string[];
|
|
54
64
|
type ChangeDoc = Record<string, unknown> & {
|
|
55
65
|
id: string;
|
|
56
66
|
};
|
package/dist/commands/init.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { readFile, writeFile } from "node:fs/promises";
|
|
2
|
-
import { join } from "node:path";
|
|
2
|
+
import { join, relative } from "node:path";
|
|
3
3
|
import { GitBranchReceiptStore, isKeepRef, planRun, walkParams } from "@sponson/core";
|
|
4
4
|
import { Document, isMap, isScalar, isSeq, parseDocument, visit } from "yaml";
|
|
5
5
|
import { UsageError, planPathFor, toRunOptions, withInvocation } from "../context.js";
|
|
6
6
|
import { withRedactorWarnings } from "../output.js";
|
|
7
7
|
import { detectStack, fsReader } from "../stack.js";
|
|
8
8
|
import { runSetup } from "../setup.js";
|
|
9
|
-
import { composeStarter, credentialsFor } from "../starter.js";
|
|
9
|
+
import { composeStarter, credentialsFor, planChecks, planTodos, todoLines } from "../starter.js";
|
|
10
10
|
import { NO_TERMINAL } from "../terminal.js";
|
|
11
11
|
/**
|
|
12
12
|
* `init` always makes the plan catch up with reality: it writes a starter plan when there is none,
|
|
@@ -23,18 +23,23 @@ export async function initCommand(opts, io, redactor) {
|
|
|
23
23
|
const result = { ok: true, command: "init", created: false, path: planPath, detected: null, added: [], warnings: [] };
|
|
24
24
|
const text = [];
|
|
25
25
|
if (existing === null) {
|
|
26
|
-
const starter = await writeStarter(planPath, io);
|
|
26
|
+
const starter = await writeStarter(planPath, io, opts.setup === true);
|
|
27
27
|
result.created = true;
|
|
28
28
|
result.detected = starter.detected;
|
|
29
29
|
text.push(...starter.text);
|
|
30
30
|
}
|
|
31
|
-
else if (
|
|
31
|
+
else if (opts.setup) {
|
|
32
|
+
// Setup on an existing plan detects again, so the report reads the same on every run, with the TODOs still left.
|
|
33
|
+
result.detected = (await detect(io, existing)).detected;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
32
36
|
// Adopting reads live state with the credentials; with --setup they are what is being set up, so it waits.
|
|
33
37
|
text.push(...(await withInvocation(opts, io, redactor, (inv) => adoptUnmanaged(inv, existing, opts, io, result))));
|
|
34
38
|
result.warnings = withRedactorWarnings(result.warnings, redactor);
|
|
35
39
|
}
|
|
40
|
+
// Said right after the plan it was written for (or alone): init writes the plan and this one line, nothing else.
|
|
36
41
|
if (await ensureGitignore(io.cwd))
|
|
37
|
-
text.
|
|
42
|
+
text.splice(result.created ? 1 : text.length, 0, "Added .sponson/ to .gitignore");
|
|
38
43
|
if (opts.setup)
|
|
39
44
|
return setupAfterInit(opts, io, redactor, result, text);
|
|
40
45
|
if (opts.json) {
|
|
@@ -43,10 +48,8 @@ export async function initCommand(opts, io, redactor) {
|
|
|
43
48
|
}
|
|
44
49
|
if (result.warnings.length)
|
|
45
50
|
text.push("", "warnings", ...result.warnings.map((w) => ` ${w}`));
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
text.push("", "Receipts will live on orphan branches of this repository, one per environment and scope (`sponson-receipts/<env>/<scope>`). Every `sponson apply` pushes a small JSON file to its scope's branch recording what it did and the hashes of what it wrote, so the next run (on any machine, including CI) can detect drift and know what to destroy. These branches share no history with your code, are never merged, and use the same credentials you already push with.");
|
|
49
|
-
}
|
|
51
|
+
if (result.created && (await GitBranchReceiptStore.originOf(io.cwd)))
|
|
52
|
+
text.push(RECEIPTS_NOTE);
|
|
50
53
|
io.stdout.write(text.join("\n") + "\n");
|
|
51
54
|
return 0;
|
|
52
55
|
}
|
|
@@ -56,13 +59,14 @@ export async function initCommand(opts, io, redactor) {
|
|
|
56
59
|
*/
|
|
57
60
|
async function setupAfterInit(opts, io, redactor, result, text) {
|
|
58
61
|
const out = opts.json ? io.stderr : io.stdout;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const
|
|
62
|
+
if (!opts.json && text.length)
|
|
63
|
+
out.write(`${text.join("\n")}\n`);
|
|
64
|
+
// Providers whose lines a starter written in this run may have left commented out; an existing plan says it all.
|
|
65
|
+
const detected = result.created ? (result.detected?.found ?? []).filter((f) => f.kind === "provider") : [];
|
|
66
|
+
const todos = result.detected?.todo ?? [];
|
|
67
|
+
const checks = result.detected?.check ?? [];
|
|
64
68
|
const say = (...lines) => void out.write(`${lines.join("\n")}\n`);
|
|
65
|
-
result.setup = await runSetup({ io, redactor, terminal: io.terminal ?? NO_TERMINAL, opts, planPath: result.path, detected }, say);
|
|
69
|
+
result.setup = await runSetup({ io, redactor, terminal: io.terminal ?? NO_TERMINAL, opts, planPath: result.path, detected, todos, checks }, say);
|
|
66
70
|
result.warnings = withRedactorWarnings(result.warnings, redactor);
|
|
67
71
|
if (opts.json)
|
|
68
72
|
io.json(result);
|
|
@@ -92,10 +96,10 @@ async function adoptUnmanaged(inv, existing, opts, io, result) {
|
|
|
92
96
|
result.added = adoptions.map((a) => ({ id: a.change.id, adapter: String(a.change.adapter), op: String(a.change.op), keys: a.keys }));
|
|
93
97
|
}
|
|
94
98
|
if (result.added.length === 0) {
|
|
95
|
-
text.push(`${result.path} already covers everything in ${inv.ctx.env}. Nothing to adopt.`);
|
|
99
|
+
text.push(`${shown(io, result.path)} already covers everything in ${inv.ctx.env}. Nothing to adopt.`);
|
|
96
100
|
return text;
|
|
97
101
|
}
|
|
98
|
-
text.push(`Added ${result.added.length} line${result.added.length === 1 ? "" : "s"} to ${result.path}: ${result.added.map((a) => a.id).join(", ")}`);
|
|
102
|
+
text.push(`Added ${result.added.length} line${result.added.length === 1 ? "" : "s"} to ${shown(io, result.path)}: ${result.added.map((a) => a.id).join(", ")}`);
|
|
99
103
|
if (adoptions.some((a) => keepsValues(a.change))) {
|
|
100
104
|
text.push("Adopted variables are written as `{ keep: true }`: Sponson keeps their live values and never destroys them. Replace `{ keep: true }` with a value or `{ secret: \"env://KEY\" }` to let Sponson manage the value.");
|
|
101
105
|
}
|
|
@@ -104,17 +108,38 @@ async function adoptUnmanaged(inv, existing, opts, io, result) {
|
|
|
104
108
|
// ---------------------------------------------------------------------------
|
|
105
109
|
// Starter plan
|
|
106
110
|
// ---------------------------------------------------------------------------
|
|
107
|
-
/**
|
|
108
|
-
|
|
111
|
+
/** Where receipts go, said once when a starter is written in a repository with a git remote. */
|
|
112
|
+
export const RECEIPTS_NOTE = "Receipts: each `sponson apply` records what it did on an orphan branch of this repository (`sponson-receipts/<env>/<scope>`, never merged), so the next run, on any machine or in CI, sees drift and knows what to destroy.";
|
|
113
|
+
/** A path as people read it: relative to the working directory (JSON keeps it absolute). */
|
|
114
|
+
function shown(io, path) {
|
|
115
|
+
return relative(io.cwd, path) || path;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* What the repository's files say, and the starter composed for it. `plan` is the existing plan's text: its `todo`
|
|
119
|
+
* is then what that plan still has (`planTodos`), not the starter's.
|
|
120
|
+
*/
|
|
121
|
+
async function detect(io, plan) {
|
|
109
122
|
const { VERCEL_PROJECT_ID, VERCEL_ORG_ID, NEON_PROJECT_ID, NETLIFY_SITE_ID, CLOUDFLARE_ACCOUNT_ID } = io.env;
|
|
110
123
|
const detection = await detectStack(fsReader(io.cwd), { VERCEL_PROJECT_ID, VERCEL_ORG_ID, NEON_PROJECT_ID, NETLIFY_SITE_ID, CLOUDFLARE_ACCOUNT_ID });
|
|
111
124
|
const starter = composeStarter(detection);
|
|
125
|
+
const todo = plan === undefined ? starter.todos : planTodos(plan, starter.todos);
|
|
126
|
+
const check = plan === undefined ? starter.checks : planChecks(plan, starter.checks);
|
|
127
|
+
return { detection, starter, detected: { found: detection.found, unsupported: detection.unsupported, todo, check, assumed: starter.assumed } };
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Detect the stack from the repository's files, write the starter plan composed for it, and summarise. With
|
|
131
|
+
* `setup`, the TODOs and credentials are left out of the summary: setup lists them next.
|
|
132
|
+
*/
|
|
133
|
+
async function writeStarter(planPath, io, setup) {
|
|
134
|
+
const { detection, starter, detected } = await detect(io);
|
|
112
135
|
await writeFile(planPath, starter.text, "utf8");
|
|
113
|
-
|
|
114
|
-
return { detected, text: [`Wrote ${planPath}`, ...initSummary(detected, credentialsFor(detection))] };
|
|
136
|
+
return { detected, text: [`Wrote ${shown(io, planPath)}`, ...initSummary(detected, credentialsFor(detection), { setup })] };
|
|
115
137
|
}
|
|
116
|
-
/**
|
|
117
|
-
|
|
138
|
+
/**
|
|
139
|
+
* The short human summary: what was found, what is not supported yet, what is left to fill in, what to run next.
|
|
140
|
+
* `setup`: only what was found (setup goes on with the TODOs, then the credentials).
|
|
141
|
+
*/
|
|
142
|
+
export function initSummary(d, credentials, o = {}) {
|
|
118
143
|
const out = [
|
|
119
144
|
d.assumed
|
|
120
145
|
? `Detected: ${d.found.length ? `${d.found.map((f) => f.name).join(", ")}, but no deploy target or database Sponson manages` : "nothing Sponson manages"}; wrote the Vercel + Neon template`
|
|
@@ -122,9 +147,13 @@ export function initSummary(d, credentials) {
|
|
|
122
147
|
];
|
|
123
148
|
if (d.unsupported.length)
|
|
124
149
|
out.push("Not supported yet (no line manages them):", ...d.unsupported.map((u) => ` ${u.name} (${u.evidence[0]}): ${u.pointer}`));
|
|
150
|
+
if (o.setup)
|
|
151
|
+
return out;
|
|
125
152
|
if (d.todo.length)
|
|
126
|
-
out.push("To fill in:", ...d.todo
|
|
127
|
-
|
|
153
|
+
out.push("To fill in:", ...todoLines(d.todo));
|
|
154
|
+
if (d.check.length)
|
|
155
|
+
out.push("Please check (the plan runs with these defaults; nothing waits on them):", ...todoLines(d.check));
|
|
156
|
+
out.push(`Next: ${d.todo.length ? "fill in the TODOs, " : ""}set ${credentials.join(", ")} in your environment, then run \`sponson plan\``);
|
|
128
157
|
return out;
|
|
129
158
|
}
|
|
130
159
|
async function ensureGitignore(cwd) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAsD,MAAM,eAAe,CAAC;AAC1I,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAa,MAAM,MAAM,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAA6C,MAAM,eAAe,CAAC;AACjI,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAyC,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAoB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAa,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAwC7C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc,EAAE,EAAM,EAAE,QAAkB;IAC1E,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,UAAU,CAAC,yEAAyE,CAAC,CAAC;IAC7H,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,UAAU,CAAC,sIAAsI,CAAC,CAAC;IACzM,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,MAAM,GAAe,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAClI,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,2GAA2G;QAC3G,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnH,MAAM,CAAC,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC9E,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAExE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CACP,EAAE,EACF,ycAAyc,CAC1c,CAAC;IACJ,CAAC;IACD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,IAAc,EAAE,EAAM,EAAE,QAAkB,EAAE,MAAkB,EAAE,IAAc;IAC1G,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;IAC9C,0EAA0E;IAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM;QAAE,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACrF,MAAM,GAAG,GAAG,CAAC,GAAG,KAAe,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;IAClI,MAAM,CAAC,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClE,IAAI,IAAI,CAAC,IAAI;QAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC1B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;QAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,OAAO,CAAC,CAAC;AACX,CAAC;AAED,0HAA0H;AAC1H,KAAK,UAAU,cAAc,CAAC,GAAe,EAAE,QAAgB,EAAE,IAAc,EAAE,EAAM,EAAE,MAAkB;IACzG,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvD,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACxG,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,UAAU,CAClB,8CAA8C,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,cAAc,MAAM,MAAM;gBAClG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,4CAA4C,CAAC,EAC/G,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAClC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC9F,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvI,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,iCAAiC,GAAG,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrJ,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,mNAAmN,CAAC,CAAC;IACjO,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,2GAA2G;AAC3G,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,EAAM;IAClD,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAC7G,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACrJ,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7I,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,QAAQ,EAAE,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AACxG,CAAC;AAED,qHAAqH;AACrH,MAAM,UAAU,WAAW,CAAC,CAAe,EAAE,WAAqB;IAChE,MAAM,GAAG,GAAG;QACV,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC,yBAAyB,oCAAoC;YAC5L,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAClF,CAAC;IACF,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9J,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClI,GAAG,CAAC,IAAI,CAAC,aAAa,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAC/F,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACvG,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,eAAe,EAAE,MAAM,CAAC,CAAC;IAClH,OAAO,IAAI,CAAC;AACd,CAAC;AAcD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,SAAkB,EAAE,QAAkB,EAAE,GAAQ,EAAE,QAAkB;IAC/F,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;QACnG,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1C,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuE,CAAC;IAC9F,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACvE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,aAAa,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;YACnG,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACjE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACpI,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACjC,CAAC;AAED,yGAAyG;AACzG,SAAS,WAAW,CAAC,MAAiB;IACpC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAI,SAAS,CAAC,CAAC,CAAC;YAAE,KAAK,GAAG,IAAI,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,OAAoB;IAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;QAAE,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;QAAE,MAAM,IAAI,UAAU,CAAC,oEAAoE,CAAC,CAAC;IAC1H,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,wGAAwG,CAAC,CAAC;QACzJ,OAAO,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,qEAAqE;AACrE,SAAS,aAAa,CAAC,MAAc,EAAE,KAAa;IAClD,MAAM,IAAI,GAAG,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;IAC7E,OAAO,GAAG,IAAI,WAAW,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,6EAA6E;AAC7E,SAAS,gBAAgB,CAAC,MAAc,EAAE,KAAa;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC1C,IAAI,KAAK,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,gDAAgD,CAAC,CAAC;IACtF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrD,OAAO,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,4DAA4D;AAC5D,SAAS,oBAAoB,CAAC,MAAc,EAAE,CAAC,KAAK,EAAE,GAAG,CAA2B,EAAE,KAAa;IACjG,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AACjI,CAAC;AAED,qFAAqF;AACrF,SAAS,eAAe,CAAC,MAAc,EAAE,CAAC,KAAK,EAAE,GAAG,CAA2B,EAAE,KAAiC;IAChH,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClH,CAAC;AAED,gFAAgF;AAChF,SAAS,aAAa,CAAC,OAAoB,EAAE,MAAc;IACzD,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvG,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,mHAAmH;AACnH,SAAS,WAAW,CAAC,IAA4B;IAC/C,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACzG,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AAC7H,CAAC"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/main.js
CHANGED
|
@@ -129,7 +129,7 @@ function buildProgram(io, redactor, setCode) {
|
|
|
129
129
|
program
|
|
130
130
|
.command("plan")
|
|
131
131
|
.alias("status")
|
|
132
|
-
.description("read live state and print the diff and drift; changes nothing")
|
|
132
|
+
.description("read live state and print the diff and drift; changes nothing; exits 1 when a line is blocked (drift, a missing secret, a refused line it depends on) or in error")
|
|
133
133
|
.action(async (_opts, cmd) => setCode(await planCommand(withFormat(globals(cmd), "plan", true), io, redactor)));
|
|
134
134
|
program
|
|
135
135
|
.command("apply")
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/dist/markdown.js
CHANGED
|
@@ -32,7 +32,7 @@ function toRes(v) {
|
|
|
32
32
|
function toDiff(v) {
|
|
33
33
|
if (!isObj(v))
|
|
34
34
|
return null;
|
|
35
|
-
return { label: str(v.label ?? v.key), kind: str(v.kind), after: isObj(v.after) ? v.after : undefined };
|
|
35
|
+
return { key: str(v.key), label: str(v.label ?? v.key), kind: str(v.kind), after: isObj(v.after) ? v.after : undefined };
|
|
36
36
|
}
|
|
37
37
|
function toTodo(v) {
|
|
38
38
|
if (!isObj(v))
|
|
@@ -83,10 +83,20 @@ function code(s) {
|
|
|
83
83
|
const t = str(s).replace(/[`\r\n]/g, "");
|
|
84
84
|
return "`" + (t || " ") + "`";
|
|
85
85
|
}
|
|
86
|
-
/**
|
|
86
|
+
/** What may stand in a code span taken over from provider or engine text: no backtick, tag, entity, cell end or escape. */
|
|
87
|
+
const SAFE_SPAN = /^`[^`<>&|\\\r\n]+`$/;
|
|
88
|
+
/**
|
|
89
|
+
* At most `n` characters of provider or engine text, escaped. Its `identifier` spans (`depends on \`env\``) stay code
|
|
90
|
+
* spans, as everywhere else in the comment, instead of showing as ``` entities; a span holding anything that could
|
|
91
|
+
* open a tag or break out is escaped like the rest.
|
|
92
|
+
*/
|
|
87
93
|
function clip(s, n = 300) {
|
|
88
94
|
const t = str(s).trim();
|
|
89
|
-
|
|
95
|
+
const cut = t.length > n ? `${t.slice(0, n - 1)}…` : t;
|
|
96
|
+
return cut
|
|
97
|
+
.split(/(`[^`\r\n]+`)/)
|
|
98
|
+
.map((part) => (SAFE_SPAN.test(part) ? code(part.slice(1, -1)) : esc(part)))
|
|
99
|
+
.join("");
|
|
90
100
|
}
|
|
91
101
|
/** A link to an `http(s)` URL, or the text alone when the URL is anything else. */
|
|
92
102
|
function link(text, url) {
|
|
@@ -204,7 +214,7 @@ function waitPhrase(waitingFor, waitingOn) {
|
|
|
204
214
|
}
|
|
205
215
|
/** One sentence: how to fix a refusal or failure, in this comment's words; else the CLI's remedy. */
|
|
206
216
|
const FIX = {
|
|
207
|
-
DRIFT_CHANGED: "
|
|
217
|
+
DRIFT_CHANGED: "Keep that change by updating the plan, or overwrite it with `sponson apply --reconcile`.",
|
|
208
218
|
ENV_NOT_APPROVED: "Production needs a person's approval: run it with `--approved-by <who>` from your approval workflow, never from an agent.",
|
|
209
219
|
MANUAL_STEP_PENDING: "A person does the step below, then runs `sponson apply --confirm <line>`.",
|
|
210
220
|
OWNED_BY_OTHER_SCOPE: "Another pull request or branch manages it: destroy that scope first, or give this one its own name in the plan.",
|
|
@@ -214,7 +224,8 @@ const FIX = {
|
|
|
214
224
|
PROVIDER_TRANSIENT: "The provider failed temporarily: re-run the job (apply resumes safely).",
|
|
215
225
|
PROVIDER_TIMEOUT: "The provider did not answer in time: re-run the job (apply resumes safely).",
|
|
216
226
|
SECRET_UNRESOLVED: "A secret reference could not be read: check that the secret exists and this job can read it.",
|
|
217
|
-
|
|
227
|
+
// The fix is the refused line's, said there once.
|
|
228
|
+
DEPENDENCY_BLOCKED: "",
|
|
218
229
|
EXTERNAL_FAILED: "The deploy it waited for failed: fix the deploy and push again.",
|
|
219
230
|
WAIT_TIMEOUT: "The deploy did not finish in time: re-run once it has.",
|
|
220
231
|
INTENT_UNRESOLVED: "Check the provider's console and remove it by hand if it exists.",
|
|
@@ -227,9 +238,10 @@ function fixFor(errorCode) {
|
|
|
227
238
|
return "";
|
|
228
239
|
return FIX[errorCode] ?? cliHintFor(errorCode) ?? "";
|
|
229
240
|
}
|
|
230
|
-
|
|
241
|
+
/** What went wrong and the fix. `said`: the line already says what happened (a drifted name), so only the code. */
|
|
242
|
+
function problem(error, errorCode, said = false) {
|
|
231
243
|
const fix = fixFor(errorCode);
|
|
232
|
-
const what = [error ? clip(error) : "", errorCode ? `(${code(errorCode)})` : ""].filter(Boolean).join(" ");
|
|
244
|
+
const what = [error && !said ? clip(error) : "", errorCode ? `(${code(errorCode)})` : ""].filter(Boolean).join(" ");
|
|
233
245
|
return [what, fix ? `**Fix:** ${fix}` : ""].filter(Boolean).join(" ");
|
|
234
246
|
}
|
|
235
247
|
function todoBlock(t) {
|
|
@@ -242,18 +254,35 @@ function manualSection(todos, heading) {
|
|
|
242
254
|
return "";
|
|
243
255
|
return `**${heading}** (no API can do these; a person does them, agents never confirm them)\n\n${todos.map(todoBlock).join("\n\n")}`;
|
|
244
256
|
}
|
|
257
|
+
/** What each kind of drift is. Facts only: the fix for a refused line is said once, on that line. */
|
|
245
258
|
const DRIFT = {
|
|
246
|
-
changed: "was changed outside Sponson
|
|
259
|
+
changed: "was changed outside Sponson since the last apply.",
|
|
260
|
+
replaced: "was deleted and re-created outside Sponson since the last apply.",
|
|
247
261
|
missing: "was deleted outside Sponson; the next apply creates it again.",
|
|
248
262
|
unmanaged: "exists, but no line manages it. **Fix:** `sponson init --adopt <key>` adds a line that adopts it (never destroyed).",
|
|
249
263
|
orphan: "is no longer in the plan; it is left alone until this scope is destroyed.",
|
|
250
264
|
};
|
|
251
|
-
|
|
252
|
-
|
|
265
|
+
/** The drift each line says on its own resource, from the envelope's drift. */
|
|
266
|
+
function driftMarks(drift) {
|
|
267
|
+
const out = new Map();
|
|
268
|
+
for (const d of drift.filter(isObj)) {
|
|
269
|
+
const r = isObj(d.resource) ? d.resource : {};
|
|
270
|
+
if (d.kind === "changed" && optStr(d.line))
|
|
271
|
+
out.set(`${str(d.line)}\u0000${str(r.key)}`, d.replaced === true ? "deleted and re-created outside Sponson" : "changed outside Sponson");
|
|
272
|
+
}
|
|
273
|
+
return out;
|
|
274
|
+
}
|
|
275
|
+
const markOf = (marks, l, key) => marks.get(`${l.id}\u0000${key}`);
|
|
276
|
+
/** The drift no line of the comment says (`shown`: whether one does). */
|
|
277
|
+
function driftSection(drift, shown = () => false) {
|
|
278
|
+
const items = drift.filter(isObj).flatMap((d) => {
|
|
253
279
|
const r = isObj(d.resource) ? d.resource : {};
|
|
280
|
+
if (d.kind === "changed" && shown(str(d.line), str(r.key)))
|
|
281
|
+
return [];
|
|
254
282
|
const name = str(r.label) || str(r.key) || str(d.adapter);
|
|
255
283
|
const where = d.line ? ` (line ${code(d.line)})` : "";
|
|
256
|
-
|
|
284
|
+
const kind = d.kind === "changed" && d.replaced === true ? "replaced" : str(d.kind);
|
|
285
|
+
return [`- ${esc(name)}${where} ${DRIFT[kind] ?? clip(d.message)}`];
|
|
257
286
|
});
|
|
258
287
|
return items.length ? `**Drift**\n\n${items.join("\n")}` : "";
|
|
259
288
|
}
|
|
@@ -319,53 +348,95 @@ const PLAN_PHRASE = {
|
|
|
319
348
|
run: "will run once",
|
|
320
349
|
todo: "a person does this by hand (below)",
|
|
321
350
|
};
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
351
|
+
/**
|
|
352
|
+
* A new value as a reference and what it is, the same words as the CLI (render.ts `sideText`): `secret` only for a
|
|
353
|
+
* `{ secret }` reference, `value hidden` for another sensitive value (a `{ from }` output), nothing for a literal
|
|
354
|
+
* (values are never shown here). `mark` is what happened to the resource outside Sponson, said here once.
|
|
355
|
+
*/
|
|
356
|
+
function sideText(after, mark) {
|
|
357
|
+
const ref = after ? optStr(after.ref) : undefined;
|
|
358
|
+
const label = after?.state === "secret" ? "secret" : after?.state === "sensitive" ? "value hidden" : after?.state === "pending" && !ref ? "pending" : "";
|
|
359
|
+
const notes = [label, mark ?? ""].filter(Boolean);
|
|
360
|
+
return `${ref ? ` ← ${code(ref)}` : ""}${notes.length ? ` (${notes.join("; ")})` : ""}`;
|
|
361
|
+
}
|
|
362
|
+
/** A plan line's resources by label, each value shown only as a reference, a drifted one saying so. */
|
|
363
|
+
function planWhat(l, marks) {
|
|
364
|
+
return namesPhrase(l, l.diffs.map((d) => d.label), (i) => sideText(l.diffs[i].after, markOf(marks, l, l.diffs[i].key)));
|
|
365
|
+
}
|
|
366
|
+
/** A line held back only because a line it depends on is refused or failed: it has no fix of its own. */
|
|
367
|
+
const heldBack = (l) => l.errorCode === "DEPENDENCY_BLOCKED";
|
|
368
|
+
/** Whether a refusal for drift is already said on the line, by the name of the resource it happened to. */
|
|
369
|
+
const driftSaid = (l, keys, marks) => l.errorCode === "DRIFT_CHANGED" && keys.some((k) => markOf(marks, l, k) !== undefined);
|
|
370
|
+
function planPhrase(l, marks) {
|
|
339
371
|
if (l.status === "pending")
|
|
340
372
|
return waitPhrase(l.waitingFor, l.waitingOn);
|
|
373
|
+
const said = driftSaid(l, l.diffs.map((d) => d.key), marks);
|
|
341
374
|
if (l.status === "blocked")
|
|
342
|
-
return
|
|
375
|
+
return `${heldBack(l) ? "held back" : "refused"}${said ? " " : ": "}${problem(l.error, l.errorCode, said)}`;
|
|
343
376
|
if (l.status === "error")
|
|
344
377
|
return `error: ${problem(l.error, l.errorCode)}`;
|
|
345
378
|
return PLAN_PHRASE[l.status] ?? esc(l.status);
|
|
346
379
|
}
|
|
347
|
-
function planBullet(l) {
|
|
348
|
-
const what = l.manual ? esc(l.manual.title) : planWhat(l);
|
|
349
|
-
return `- ${code(l.id)} ${what}${what ? " — " : ""}${planPhrase(l)}`;
|
|
380
|
+
function planBullet(l, marks) {
|
|
381
|
+
const what = l.manual ? esc(l.manual.title) : planWhat(l, marks) || esc(nounOf(l)[0]);
|
|
382
|
+
return `- ${code(l.id)} ${what}${what ? " — " : ""}${planPhrase(l, marks)}`;
|
|
383
|
+
}
|
|
384
|
+
/** What lines of these plan statuses amount to: "its own database branch and 2 variables"; "" for none. */
|
|
385
|
+
function planTally(lines, statuses) {
|
|
386
|
+
return tally(lines.filter((l) => statuses.includes(l.status) && l.adapter !== "manual").map((l) => ({ noun: nounOf(l), n: Math.max(l.diffs.length, 1) })));
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* The plan's headline, by what is already there and what applying it would do: a preview whose branch exists
|
|
390
|
+
* "already has" it; only what is missing is what "applying this plan gives".
|
|
391
|
+
*/
|
|
392
|
+
function planHeadline(environment, lines) {
|
|
393
|
+
if (lines.length === 0)
|
|
394
|
+
return ["This plan manages nothing in this environment."];
|
|
395
|
+
const has = planTally(lines, ["unchanged"]);
|
|
396
|
+
const adds = planTally(lines, ["create", "pending"]);
|
|
397
|
+
const updates = planTally(lines, ["update"]).replace(/^its own /, "1 ");
|
|
398
|
+
const runs = planTally(lines, ["run"]);
|
|
399
|
+
const self = subject(environment).replace(/^This/, "this");
|
|
400
|
+
return [
|
|
401
|
+
has ? `${subject(environment)} already has ${has}.` : "",
|
|
402
|
+
adds ? (has ? `Applying this plan adds ${adds.replace(/^its own /, "1 ")}.` : `Applying this plan gives ${self} ${adds}.`) : "",
|
|
403
|
+
updates ? `Applying this plan updates ${updates}.` : "",
|
|
404
|
+
runs ? `Applying this plan runs ${runs}.` : "",
|
|
405
|
+
].filter(Boolean);
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* "**1 line is refused**, and 1 line that depends on it is held back: …". Lines refused (or failed) and the lines
|
|
409
|
+
* they hold back are counted apart: only the first have something to fix.
|
|
410
|
+
*/
|
|
411
|
+
function refusedLead(refused, held, verb) {
|
|
412
|
+
if (!refused && !held)
|
|
413
|
+
return "";
|
|
414
|
+
const lines = (n) => `${n} line${n === 1 ? "" : "s"}`;
|
|
415
|
+
const heldText = `${lines(held)} that depend${held === 1 ? "s" : ""} on ${refused === 1 ? "it" : "them"} ${held === 1 ? "is" : "are"} held back`;
|
|
416
|
+
if (!refused)
|
|
417
|
+
return `**${lines(held)} ${held === 1 ? "is" : "are"} held back** by a line ${held === 1 ? "it depends" : "they depend"} on: see below.`;
|
|
418
|
+
const head = `**${lines(refused)} ${refused === 1 ? verb[0] : verb[1]}**`;
|
|
419
|
+
return `${head}${held ? `, and ${heldText}` : ""}: see below for why and how to fix it.`;
|
|
350
420
|
}
|
|
351
421
|
function renderPlan(e, o) {
|
|
352
422
|
const environment = str(e.environment) || (o.environment ?? "preview");
|
|
353
423
|
const lines = arr(e.lines).map(toLine).filter((l) => l !== null);
|
|
354
|
-
const
|
|
355
|
-
const
|
|
356
|
-
const refused = lines.filter((l) => l.status === "blocked" || l.status === "error").length;
|
|
424
|
+
const notApplied = lines.filter((l) => l.status === "blocked" || l.status === "error");
|
|
425
|
+
const held = notApplied.filter(heldBack).length;
|
|
357
426
|
const lead = [
|
|
358
|
-
|
|
359
|
-
|
|
427
|
+
...planHeadline(environment, lines),
|
|
428
|
+
refusedLead(notApplied.length - held, held, ["is refused", "are refused"]),
|
|
360
429
|
e.lock && isObj(e.lock) ? `An apply is running on this scope (${esc(e.lock.holder)}); this plan may change.` : "",
|
|
361
430
|
e.requiresApproval === true ? "Applying it needs a person's approval: it writes to production (`--approved-by <who>`)." : "",
|
|
362
431
|
];
|
|
363
432
|
const todos = lines.map((l) => l.manual).filter((t) => !!t);
|
|
433
|
+
const marks = driftMarks(arr(e.drift));
|
|
434
|
+
const shown = (line, key) => lines.some((l) => l.id === line && !l.manual && l.diffs.some((d) => d.key === key));
|
|
364
435
|
return {
|
|
365
436
|
title: `Sponson plan: ${who(environment, str(e.scope))}`,
|
|
366
437
|
lead,
|
|
367
|
-
items: lines.map(planBullet),
|
|
368
|
-
blocks: [manualSection(todos, "Manual steps"), driftSection(arr(e.drift)), warningsSection(arr(e.warnings))],
|
|
438
|
+
items: lines.map((l) => planBullet(l, marks)),
|
|
439
|
+
blocks: [manualSection(todos, "Manual steps"), driftSection(arr(e.drift), shown), warningsSection(arr(e.warnings))],
|
|
369
440
|
footer: footer([`plan ${esc(str(e.planHash).slice(0, 8))}`], o.runUrl),
|
|
370
441
|
};
|
|
371
442
|
}
|
|
@@ -381,27 +452,28 @@ const APPLY_PHRASE = {
|
|
|
381
452
|
rolled_back: "rolled back: this run created it, then removed it because another line failed",
|
|
382
453
|
skipped: "skipped",
|
|
383
454
|
};
|
|
384
|
-
function applyPhrase(l) {
|
|
455
|
+
function applyPhrase(l, marks) {
|
|
385
456
|
if (l.orphan)
|
|
386
457
|
return "no longer in the plan: left alone until the pull request closes";
|
|
387
458
|
if (l.status === "waiting")
|
|
388
459
|
return waitPhrase(l.waitingFor);
|
|
389
460
|
if (l.status === "failed")
|
|
390
461
|
return `failed: ${problem(l.error, l.errorCode)}`;
|
|
462
|
+
const said = driftSaid(l, l.resources.map((r) => r.key), marks);
|
|
391
463
|
if (l.status === "blocked")
|
|
392
|
-
return `refused: ${problem(l.error, l.errorCode)}`;
|
|
464
|
+
return `refused${said ? " " : ": "}${problem(l.error, l.errorCode, said)}`;
|
|
393
465
|
if (l.status === "rollback_failed")
|
|
394
466
|
return `failed, and rolling it back failed too, so it may still exist: ${problem(l.error, l.errorCode)}`;
|
|
395
467
|
if (l.status === "skipped" && (l.error || l.errorCode))
|
|
396
468
|
return `skipped: ${problem(l.error?.replace(/^skipped: /, ""), l.errorCode)}`;
|
|
397
469
|
return APPLY_PHRASE[l.status] ?? esc(l.status);
|
|
398
470
|
}
|
|
399
|
-
function applyBullet(l) {
|
|
400
|
-
const what =
|
|
471
|
+
function applyBullet(l, marks) {
|
|
472
|
+
const what = namesPhrase(l, l.resources.map((r) => r.label ?? r.key), (i) => sideText(undefined, markOf(marks, l, l.resources[i].key))) || esc(nounOf(l)[0]);
|
|
401
473
|
const values = VARIABLE_OPS.has(`${l.adapter}.${l.op}`) && l.resources.length ? ", values not shown" : "";
|
|
402
474
|
const links = outputLinks(l.outputs);
|
|
403
475
|
const extra = links.length ? ` · ${links.join(" · ")}` : "";
|
|
404
|
-
return `- ${code(l.id)} ${what}${values} — ${applyPhrase(l)}${consoleLink(LIVE.has(l.status) ? l.consoleUrl : undefined)}${extra}`;
|
|
476
|
+
return `- ${code(l.id)} ${what}${values} — ${applyPhrase(l, marks)}${consoleLink(LIVE.has(l.status) ? l.consoleUrl : undefined)}${extra}`;
|
|
405
477
|
}
|
|
406
478
|
function previewUrl(lines) {
|
|
407
479
|
for (const l of lines) {
|
|
@@ -430,11 +502,12 @@ function applyLead(rc, lines) {
|
|
|
430
502
|
const waiting = lines.filter((l) => l.status === "waiting");
|
|
431
503
|
const later = tally(waiting.map((l) => ({ noun: nounOf(l), n: Math.max(l.resources.length, 1) }))).replace(/^its own /, "1 ");
|
|
432
504
|
const failed = lines.filter((l) => ["failed", "rollback_failed", "blocked"].includes(l.status)).length;
|
|
505
|
+
const skipped = lines.filter((l) => l.status === "skipped" && heldBack(l)).length;
|
|
433
506
|
const url = previewUrl(lines);
|
|
434
507
|
return [
|
|
435
508
|
has ? `${subject(environment)} has ${has}.` : `Nothing is set up for ${environment === "preview" ? "this preview" : esc(environment)} yet.`,
|
|
436
509
|
later ? `Still to come: ${later}${waiting.every((l) => l.waitingFor === "deploy") ? ", once the preview deploy finishes (nothing to retry)" : ""}.` : "",
|
|
437
|
-
failed ?
|
|
510
|
+
failed ? `${refusedLead(failed, skipped, ["did not apply", "did not apply"])}${lines.some((l) => l.status === "rolled_back") ? " What this run created was rolled back." : ""}` : "",
|
|
438
511
|
url ? `**Preview:** ${link(esc(url), url)}` : "",
|
|
439
512
|
rc.approvedBy ? `Approved by ${esc(rc.approvedBy)}.` : "",
|
|
440
513
|
];
|
|
@@ -444,11 +517,13 @@ function renderApply(e, rc, o) {
|
|
|
444
517
|
const todos = arr(e.manual).map(toTodo).filter((t) => t !== null);
|
|
445
518
|
const runVerb = rc.destroy === true ? "destroy" : "apply";
|
|
446
519
|
const plan = isObj(rc.plan) ? str(rc.plan.hash).slice(0, 8) : "";
|
|
520
|
+
const marks = driftMarks(arr(e.drift));
|
|
521
|
+
const shown = (line, key) => lines.some((l) => l.id === line && l.resources.some((r) => r.key === key));
|
|
447
522
|
return {
|
|
448
523
|
title: applyTitle(rc, lines, todos.length > 0),
|
|
449
524
|
lead: rc.stale === true ? ["Nothing was changed."] : applyLead(rc, lines),
|
|
450
|
-
items: lines.map(applyBullet),
|
|
451
|
-
blocks: [manualSection(todos, "Manual steps waiting for a person"), driftSection(arr(e.drift)), warningsSection(arr(e.warnings))],
|
|
525
|
+
items: lines.map((l) => applyBullet(l, marks)),
|
|
526
|
+
blocks: [manualSection(todos, "Manual steps waiting for a person"), driftSection(arr(e.drift), shown), warningsSection(arr(e.warnings))],
|
|
452
527
|
footer: footer([`${runVerb} ${esc(rc.runId)}`, plan ? `plan ${esc(plan)}` : ""], o.runUrl),
|
|
453
528
|
};
|
|
454
529
|
}
|