@cef-ai/cli 4.1.1 → 4.3.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.
Files changed (61) hide show
  1. package/README.md +1 -1
  2. package/dist/build/lints.d.ts +12 -0
  3. package/dist/build/lints.d.ts.map +1 -1
  4. package/dist/build/lints.js +23 -0
  5. package/dist/build/lints.js.map +1 -1
  6. package/dist/cli-program.d.ts +7 -0
  7. package/dist/cli-program.d.ts.map +1 -1
  8. package/dist/cli-program.js +61 -8
  9. package/dist/cli-program.js.map +1 -1
  10. package/dist/commands/build.d.ts.map +1 -1
  11. package/dist/commands/build.js +11 -1
  12. package/dist/commands/build.js.map +1 -1
  13. package/dist/commands/eval.d.ts +113 -1
  14. package/dist/commands/eval.d.ts.map +1 -1
  15. package/dist/commands/eval.js +360 -5
  16. package/dist/commands/eval.js.map +1 -1
  17. package/dist/commands/eval.test.js +267 -3
  18. package/dist/commands/eval.test.js.map +1 -1
  19. package/dist/commands/push.d.ts +55 -0
  20. package/dist/commands/push.d.ts.map +1 -1
  21. package/dist/commands/push.js +80 -5
  22. package/dist/commands/push.js.map +1 -1
  23. package/dist/commands/release-cli.d.ts +77 -0
  24. package/dist/commands/release-cli.d.ts.map +1 -0
  25. package/dist/commands/release-cli.js +543 -0
  26. package/dist/commands/release-cli.js.map +1 -0
  27. package/dist/commands/release-view.d.ts +118 -0
  28. package/dist/commands/release-view.d.ts.map +1 -0
  29. package/dist/commands/release-view.js +321 -0
  30. package/dist/commands/release-view.js.map +1 -0
  31. package/dist/commands/release.d.ts +132 -0
  32. package/dist/commands/release.d.ts.map +1 -0
  33. package/dist/commands/release.js +198 -0
  34. package/dist/commands/release.js.map +1 -0
  35. package/dist/lib/ddc.d.ts +29 -0
  36. package/dist/lib/ddc.d.ts.map +1 -1
  37. package/dist/lib/ddc.js +37 -1
  38. package/dist/lib/ddc.js.map +1 -1
  39. package/dist/lib/env.d.ts +6 -0
  40. package/dist/lib/env.d.ts.map +1 -1
  41. package/dist/lib/env.js +12 -0
  42. package/dist/lib/env.js.map +1 -1
  43. package/dist/lib/eval-target.d.ts +39 -3
  44. package/dist/lib/eval-target.d.ts.map +1 -1
  45. package/dist/lib/eval-target.js +68 -8
  46. package/dist/lib/eval-target.js.map +1 -1
  47. package/dist/lib/eval-target.test.js +36 -3
  48. package/dist/lib/eval-target.test.js.map +1 -1
  49. package/dist/lib/registry-read.d.ts +27 -0
  50. package/dist/lib/registry-read.d.ts.map +1 -0
  51. package/dist/lib/registry-read.js +93 -0
  52. package/dist/lib/registry-read.js.map +1 -0
  53. package/dist/lib/release-review.d.ts +30 -0
  54. package/dist/lib/release-review.d.ts.map +1 -0
  55. package/dist/lib/release-review.js +72 -0
  56. package/dist/lib/release-review.js.map +1 -0
  57. package/dist/lib/vault-publish.d.ts +3 -1
  58. package/dist/lib/vault-publish.d.ts.map +1 -1
  59. package/dist/lib/vault-publish.js +5 -3
  60. package/dist/lib/vault-publish.js.map +1 -1
  61. package/package.json +6 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-cli.js","sourceRoot":"","sources":["../../src/commands/release-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * How `cef release`, `cef release list|show|diff`, `cef check` and
3
+ * `cef deploy <version>` print — the board's terminal format — and the
4
+ * release-aware deploy itself.
5
+ *
6
+ * Colour only on a terminal (and never with $NO_COLOR): green ✓, yellow ⚠,
7
+ * red ✗, dim for the meta lines, bold for the verdict. `--json` prints the
8
+ * data instead, for agents.
9
+ */
10
+ import { type ReleaseBlock, type ReleaseMark, type ReleaseReview, type WorkflowDiff } from "@cef-ai/eval";
11
+ import type { RegistryReader } from "../lib/registry-read.js";
12
+ import type { DatasetResult, LiveRow, ReleaseHead, ReleaseOutcome } from "./release.js";
13
+ export interface Paint {
14
+ ok(s: string): string;
15
+ warn(s: string): string;
16
+ err(s: string): string;
17
+ dim(s: string): string;
18
+ bold(s: string): string;
19
+ }
20
+ export declare function paint(on: boolean): Paint;
21
+ /** Colour when `stream` is a terminal and $NO_COLOR is unset. */
22
+ export declare const paintFor: (stream: {
23
+ isTTY?: boolean;
24
+ }) => Paint;
25
+ /** `hiring-screener · content a91c3e0 · from 0.4.2` and the notes line. */
26
+ export declare function formatReleaseHead(h: ReleaseHead, p: Paint): string[];
27
+ /** Step labels by node id, for review findings. */
28
+ export declare function stepLabels(graph: unknown): Record<string, string>;
29
+ /** The Review row and its findings. */
30
+ export declare function formatReviewRows(review: ReleaseReview | undefined, labels: Record<string, string>, p: Paint): string[];
31
+ /** One row per required dataset: `golden ✓ 0.93 live 0.91 required`. */
32
+ export declare function formatExperimentRows(experiments: DatasetResult[], p: Paint): string[];
33
+ /** Where a release is shown in ROC. */
34
+ export declare function releaseLink(roc: string, asPubkey: string | undefined, workflowId: string, version: string): string | null;
35
+ /** Everything after the head: the checks, then the verdict. */
36
+ export declare function formatReleaseBody(o: ReleaseOutcome, graph: unknown, p: Paint, link: string | null): string[];
37
+ export interface ReleaseRow {
38
+ version: string;
39
+ title: string;
40
+ mark: ReleaseMark;
41
+ /** Share of the default traffic it serves, 0–100; absent when not live. */
42
+ live?: number;
43
+ author?: string;
44
+ createdAt?: string;
45
+ release?: ReleaseBlock;
46
+ }
47
+ /** Every numbered release, newest first, read from the registry. */
48
+ export declare function listReleases(registry: RegistryReader, rows: LiveRow[] | null): Promise<ReleaseRow[]>;
49
+ /** `today`, else `27 Oct`. */
50
+ export declare function shortDate(iso: string | undefined, now: Date): string;
51
+ export declare function markText(m: ReleaseMark, short?: boolean): string;
52
+ export declare function formatReleaseList(rows: ReleaseRow[], p: Paint, now: Date): string;
53
+ export declare function formatReleaseShow(row: ReleaseRow, p: Paint, graph: unknown): string;
54
+ export declare function formatDiff(d: WorkflowDiff, p: Paint): string;
55
+ /** The graph a version's manifest carries. */
56
+ export declare function graphOf(registry: RegistryReader, version: string): Promise<unknown>;
57
+ export declare function diffReleases(registry: RegistryReader, a: string, b: string): Promise<WorkflowDiff>;
58
+ export interface DeployReleasePorts {
59
+ registry: RegistryReader;
60
+ deployments(): Promise<Array<LiveRow & Record<string, unknown>> | null>;
61
+ /** Upsert one row (`PUT …/deployments/<name>`); resolves to the new revision. */
62
+ upsert(row: Record<string, unknown>, note: string): Promise<number | undefined>;
63
+ /**
64
+ * Point the registry's `latest` at the version. vault-api delivers a
65
+ * workflow's events, schedules and webhooks from the manifest `latest`
66
+ * names, so it follows what is deployed.
67
+ */
68
+ moveLatest(version: string): Promise<void>;
69
+ /** Interactive yes/no; undefined when there is no terminal to ask on. */
70
+ confirm?: (question: string) => Promise<boolean>;
71
+ }
72
+ export interface DeployReleasePlan {
73
+ workflowId: string;
74
+ version: string;
75
+ title: string;
76
+ mark: ReleaseMark;
77
+ /** What it replaces: `0.4.2 (live, 100%)`, or several rows of a split. */
78
+ replaces: Array<{
79
+ version: string;
80
+ share: number;
81
+ }>;
82
+ /** The version the registry's `latest` names now; null when none. */
83
+ latest: string | null;
84
+ }
85
+ /** The DEFAULT deployment row ROC deploys and rolls back through. */
86
+ export declare const DEFAULT_DEPLOYMENT = "default";
87
+ export declare function planReleaseDeploy(workflowId: string, version: string, ports: DeployReleasePorts): Promise<DeployReleasePlan>;
88
+ /** The release already serves all of the default traffic. */
89
+ export declare function isAlreadyLive(plan: DeployReleasePlan): boolean;
90
+ export declare function formatDeployPlan(plan: DeployReleasePlan, p: Paint): string[];
91
+ /**
92
+ * The "default" row a release deploy repoints — refused unless repointing it
93
+ * makes the release serve ALL of the default traffic. Live is the lowest-
94
+ * priority tier of enabled, untargeted rows, so another row there (a split, a
95
+ * canary, a disabled "default") would keep serving and "Deployed" would be a
96
+ * lie. Splits are out of scope for `cef deploy <version>`.
97
+ */
98
+ export declare function rowToRepoint(plan: Pick<DeployReleasePlan, "workflowId" | "version">, rows: Array<LiveRow & Record<string, unknown>> | null): LiveRow & Record<string, unknown>;
99
+ /**
100
+ * Make a release live at 100%: repoint the default deployment row at it, the
101
+ * way ROC's Deploy and Roll back do, then point `latest` at it. A release with
102
+ * review warnings needs a yes on a terminal, or `--accept-warnings` without
103
+ * one.
104
+ *
105
+ * The row moves first: it is what serves runs, and `latest` only decides which
106
+ * version's triggers vault-api delivers. When the row moved and `latest` did
107
+ * not, the error says so and a re-run finishes it (an already-live release
108
+ * only moves `latest`).
109
+ */
110
+ export declare function deployRelease(plan: DeployReleasePlan, ports: DeployReleasePorts, opts: {
111
+ acceptWarnings?: boolean;
112
+ author?: string;
113
+ }): Promise<{
114
+ revision?: number;
115
+ deployed: boolean;
116
+ movedLatest: boolean;
117
+ }>;
118
+ //# sourceMappingURL=release-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-view.d.ts","sourceRoot":"","sources":["../../src/commands/release-view.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,321 @@
1
+ /**
2
+ * How `cef release`, `cef release list|show|diff`, `cef check` and
3
+ * `cef deploy <version>` print — the board's terminal format — and the
4
+ * release-aware deploy itself.
5
+ *
6
+ * Colour only on a terminal (and never with $NO_COLOR): green ✓, yellow ⚠,
7
+ * red ✗, dim for the meta lines, bold for the verdict. `--json` prints the
8
+ * data instead, for agents.
9
+ */
10
+ import { diffWorkflows, isCandidateVersion, isReleaseVersion, releaseMark, releaseOf, releasesNewestFirst, reviewRuleName, shortHash, workflowContentOf, } from "@cef-ai/eval";
11
+ import { liveShares, servingTier } from "../lib/eval-target.js";
12
+ import { ReleaseError, SKIP_REVIEW_REASON } from "./release.js";
13
+ const wrap = (on, open) => (s) => (on ? `\x1b[${open}m${s}\x1b[0m` : s);
14
+ export function paint(on) {
15
+ return { ok: wrap(on, "32"), warn: wrap(on, "33"), err: wrap(on, "31"), dim: wrap(on, "2"), bold: wrap(on, "1") };
16
+ }
17
+ /** Colour when `stream` is a terminal and $NO_COLOR is unset. */
18
+ export const paintFor = (stream) => paint(!!stream.isTTY && !process.env.NO_COLOR);
19
+ const pad = (s, n) => (s.length >= n ? `${s} ` : s.padEnd(n));
20
+ const rate = (r) => (r == null ? "n/a" : r.toFixed(2));
21
+ /* ------------------------------------------------------------------------ */
22
+ /* cef release */
23
+ /* ------------------------------------------------------------------------ */
24
+ /** `hiring-screener · content a91c3e0 · from 0.4.2` and the notes line. */
25
+ export function formatReleaseHead(h, p) {
26
+ const lines = [p.dim(`${h.workflowId} · content ${shortHash(h.contentHash)}${h.from ? ` · from ${h.from}` : ""}`)];
27
+ if (h.notesFrom) {
28
+ const n = h.notesFrom.commits;
29
+ lines.push(p.dim(`notes: ${n} commit${n === 1 ? "" : "s"} since ${h.notesFrom.since} (edit with --notes or --notes-file)`));
30
+ }
31
+ else if (!h.notesGiven) {
32
+ lines.push(p.dim("notes: none (add with --notes or --notes-file)"));
33
+ }
34
+ return lines;
35
+ }
36
+ /** Step labels by node id, for review findings. */
37
+ export function stepLabels(graph) {
38
+ const out = {};
39
+ const nodes = graph?.nodes ?? [];
40
+ for (const n of nodes) {
41
+ if (typeof n?.id !== "string")
42
+ continue;
43
+ const params = (n.params ?? {});
44
+ const label = [n.label, params.label, params.name].find((v) => typeof v === "string" && v.trim() !== "");
45
+ out[n.id] = label ?? n.id;
46
+ }
47
+ return out;
48
+ }
49
+ /** The Review row and its findings. */
50
+ export function formatReviewRows(review, labels, p) {
51
+ if (!review)
52
+ return [` ${pad("Review", 13)}${p.dim("not run")}`];
53
+ if (review.status === "skipped") {
54
+ // Asked to skip, or it failed to run: either way, not a review.
55
+ const label = review.reason === SKIP_REVIEW_REASON ? "skipped" : "not run";
56
+ return [` ${pad("Review", 13)}${pad(label, 22)}${p.dim(review.reason ?? "")}`];
57
+ }
58
+ if (review.status === "clean")
59
+ return [` ${pad("Review", 13)}${p.ok("✓ clean")}`];
60
+ const n = review.findings.length;
61
+ const lines = [` ${pad("Review", 13)}${p.warn(pad(`⚠ ${n} warning${n === 1 ? "" : "s"}`, 22))}${p.dim("does not block")}`];
62
+ const names = review.findings.map((f) => (f.step ? labels[f.step] ?? f.step : reviewRuleName(f.rule)));
63
+ const w = Math.max(...names.map((s) => s.length)) + 2;
64
+ review.findings.forEach((f, i) => lines.push(` ${pad(names[i], w)}${f.text}`));
65
+ return lines;
66
+ }
67
+ /** One row per required dataset: `golden ✓ 0.93 live 0.91 required`. */
68
+ export function formatExperimentRows(experiments, p) {
69
+ if (experiments.length === 0)
70
+ return [` ${pad("Experiments", 13)}${p.dim("No required experiments. Set them in Evaluations.")}`];
71
+ const lines = [];
72
+ for (const e of experiments) {
73
+ const mark = e.passed ? p.ok(pad(`✓ ${rate(e.accuracy)}`, 8)) : p.err(pad(`✗ ${rate(e.accuracy)}`, 8));
74
+ const against = e.rule.kind === "atLeast"
75
+ ? `needs ${e.rule.value.toFixed(2)}`
76
+ : e.baseline ? (e.baseline.accuracy === null ? "no live run" : `live ${rate(e.baseline.accuracy)}`) : "nothing live";
77
+ lines.push(` ${pad(e.dataset, 13)}${mark}${pad(against, 14)}${p.dim(e.reused ? "required · reused" : "required")}`);
78
+ if (!e.passed) {
79
+ const n = e.failedCases ?? 0;
80
+ lines.push(` ${" ".repeat(13)}${n} failed: cef eval cases ${e.experimentId} --failed`);
81
+ }
82
+ }
83
+ return lines;
84
+ }
85
+ /** Where a release is shown in ROC. */
86
+ export function releaseLink(roc, asPubkey, workflowId, version) {
87
+ if (!asPubkey)
88
+ return null;
89
+ return `${roc.replace(/\/+$/, "")}/#/agent-services/${asPubkey}/workflows/${encodeURIComponent(workflowId)}?tab=releases&release=${encodeURIComponent(version)}`;
90
+ }
91
+ /** Everything after the head: the checks, then the verdict. */
92
+ export function formatReleaseBody(o, graph, p, link) {
93
+ const lines = ["", ...formatReviewRows(o.review, stepLabels(graph), p), ...formatExperimentRows(o.experiments, p), ""];
94
+ if (o.status === "blocked") {
95
+ const n = o.experiments.filter((e) => !e.passed).length;
96
+ lines.push(`${p.err("Not released.")} ${n} required dataset${n === 1 ? "" : "s"} failed.`);
97
+ return lines;
98
+ }
99
+ lines.push(`${p.bold(`Released ${o.head.version}`)} ${p.dim(`not deployed · ${o.live ? `live is ${o.live}` : "nothing is live"}`)}`);
100
+ if (link)
101
+ lines.push(p.dim(link));
102
+ return lines;
103
+ }
104
+ /** Every numbered release, newest first, read from the registry. */
105
+ export async function listReleases(registry, rows) {
106
+ const { versions } = await registry.record();
107
+ const shares = liveShares(rows);
108
+ return Promise.all(releasesNewestFirst(versions).map(async (version) => {
109
+ const manifest = await registry.manifest(version);
110
+ const release = releaseOf(manifest);
111
+ const card = (manifest?.card ?? {});
112
+ const title = release?.title ?? (typeof manifest?.goal === "string" ? manifest.goal : typeof card.description === "string" ? card.description : "");
113
+ const share = shares.get(version);
114
+ return {
115
+ version,
116
+ title,
117
+ mark: releaseMark(release),
118
+ ...(share !== undefined ? { live: share } : {}),
119
+ ...(release ? { author: authorName(release), createdAt: release.createdAt, release } : {}),
120
+ };
121
+ }));
122
+ }
123
+ function authorName(r) {
124
+ const a = r.author;
125
+ if (a.name?.trim())
126
+ return a.name.trim().split(/\s+/)[0];
127
+ if (a.email)
128
+ return a.email.split("@")[0];
129
+ return a.pubKey ? `${a.pubKey.slice(0, 8)}…` : "";
130
+ }
131
+ const MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
132
+ /** `today`, else `27 Oct`. */
133
+ export function shortDate(iso, now) {
134
+ if (!iso)
135
+ return "";
136
+ const d = new Date(iso);
137
+ if (Number.isNaN(d.getTime()))
138
+ return "";
139
+ if (d.toDateString() === now.toDateString())
140
+ return "today";
141
+ return `${d.getDate()} ${MONTHS[d.getMonth()]}`;
142
+ }
143
+ export function markText(m, short = true) {
144
+ if (m.kind === "clean" && m.reviewNotRun)
145
+ return short ? "✓ no review" : "✓ experiments · AI review not run";
146
+ if (m.kind === "clean")
147
+ return "✓";
148
+ if (m.kind === "warnings")
149
+ return short ? `⚠ ${m.warnings}` : `⚠ ${m.warnings} review warning${m.warnings === 1 ? "" : "s"}`;
150
+ return "Not checked";
151
+ }
152
+ const paintMark = (m, s, p) => (m.kind === "clean" ? p.ok(s) : m.kind === "warnings" ? p.warn(s) : p.dim(s));
153
+ export function formatReleaseList(rows, p, now) {
154
+ if (rows.length === 0)
155
+ return "No releases yet. Make one with cef release.";
156
+ const tw = Math.min(24, Math.max(...rows.map((r) => r.title.length))) + 2;
157
+ return rows.map((r) => {
158
+ const title = r.title.length > 24 ? `${r.title.slice(0, 23)}…` : r.title;
159
+ const live = r.live !== undefined ? p.ok(pad(`live ${r.live}%`, 11)) : " ".repeat(11);
160
+ return ` ${pad(r.version, 7)}${pad(title, tw)}${paintMark(r.mark, pad(markText(r.mark), 12), p)}${live}${pad(r.author ?? "", 6)}${shortDate(r.createdAt, now)}`.trimEnd();
161
+ }).join("\n");
162
+ }
163
+ export function formatReleaseShow(row, p, graph) {
164
+ const r = row.release;
165
+ const lines = [p.bold(`${row.version} ${row.title}`.trimEnd())];
166
+ if (!r) {
167
+ lines.push(p.dim(`released before checks existed · ${row.live !== undefined ? `live ${row.live}%` : "not deployed"}`));
168
+ lines.push("", "AI review and experiments: not run. cef check " + row.version + " runs them.");
169
+ return lines.join("\n");
170
+ }
171
+ const who = r.author.name ?? r.author.email ?? (r.author.pubKey ? `${r.author.pubKey.slice(0, 10)}…` : "unknown");
172
+ lines.push(p.dim([
173
+ `released by ${who}, ${r.createdAt.replace("T", " ").slice(0, 16)}`,
174
+ r.source === "cli" ? "from the CLI" : "from the editor",
175
+ `content ${shortHash(r.contentHash)}`,
176
+ row.live !== undefined ? `live ${row.live}%` : "not deployed",
177
+ ].join(" · ")));
178
+ if (r.commit)
179
+ lines.push(p.dim(`commit ${r.commit.slice(0, 12)}${r.repo ? ` · ${r.repo}` : ""}`));
180
+ if (r.notes.trim())
181
+ lines.push("", "Notes", ...r.notes.split("\n").map((l) => ` ${l}`));
182
+ lines.push("", ...formatReviewRows(r.checks.review, stepLabels(graph), p));
183
+ const review = r.checks.review;
184
+ if (review && review.status !== "skipped") {
185
+ for (const f of review.findings)
186
+ if (f.fix)
187
+ lines.push(p.dim(` fix: ${f.fix}`));
188
+ if (review.passed.length)
189
+ lines.push(p.dim(` ${review.passed.length} passed: ${review.passed.map(reviewRuleName).join(", ")}`));
190
+ }
191
+ lines.push(...formatExperimentRows(r.checks.experiments, p));
192
+ return lines.join("\n");
193
+ }
194
+ export function formatDiff(d, p) {
195
+ if (d.changes.length === 0)
196
+ return " No changes to the graph.";
197
+ const w = Math.max(...d.changes.map((c) => c.label.length)) + 2;
198
+ return d.changes.map((c) => {
199
+ const sym = c.kind === "added" ? p.ok("+") : c.kind === "removed" ? p.err("−") : p.warn("~");
200
+ return ` ${sym} ${pad(c.label, w)}${c.detail}`;
201
+ }).join("\n");
202
+ }
203
+ /** The graph a version's manifest carries. */
204
+ export async function graphOf(registry, version) {
205
+ const m = await registry.manifest(version);
206
+ if (!m)
207
+ throw new ReleaseError(`[cef release] ${version} does not exist`);
208
+ return workflowContentOf(m).graph;
209
+ }
210
+ export async function diffReleases(registry, a, b) {
211
+ return diffWorkflows(await graphOf(registry, a), await graphOf(registry, b));
212
+ }
213
+ /** The DEFAULT deployment row ROC deploys and rolls back through. */
214
+ export const DEFAULT_DEPLOYMENT = "default";
215
+ export async function planReleaseDeploy(workflowId, version, ports) {
216
+ if (isCandidateVersion(version))
217
+ throw new ReleaseError(`[cef deploy] ${version} is a check candidate, not a release`);
218
+ if (!isReleaseVersion(version))
219
+ throw new ReleaseError(`[cef deploy] deploy takes a release number X.Y.Z (got "${version}")`);
220
+ const { versions, latest } = await ports.registry.record();
221
+ if (!versions.includes(version))
222
+ throw new ReleaseError(`[cef deploy] ${workflowId} has no release ${version}`);
223
+ const manifest = await ports.registry.manifest(version);
224
+ const release = releaseOf(manifest);
225
+ const shares = liveShares(await ports.deployments());
226
+ return {
227
+ workflowId,
228
+ version,
229
+ title: release?.title ?? "",
230
+ mark: releaseMark(release),
231
+ replaces: [...shares].map(([v, share]) => ({ version: v, share })),
232
+ latest,
233
+ };
234
+ }
235
+ /** The release already serves all of the default traffic. */
236
+ export function isAlreadyLive(plan) {
237
+ return plan.replaces.length === 1 && plan.replaces[0].version === plan.version && plan.replaces[0].share === 100;
238
+ }
239
+ export function formatDeployPlan(plan, p) {
240
+ const replaces = plan.replaces.length === 0
241
+ ? "nothing is live"
242
+ : plan.replaces.length === 1
243
+ ? `replaces ${plan.replaces[0].version} (live, ${plan.replaces[0].share}%)`
244
+ : `replaces ${plan.replaces.map((r) => `${r.version} at ${r.share}%`).join(", ")}`;
245
+ return [
246
+ p.dim(plan.workflowId),
247
+ ` ${pad(plan.version, 7)}${pad(plan.title, 25)}${paintMark(plan.mark, markText(plan.mark, false), p)}`.trimEnd(),
248
+ ` ${replaces}`,
249
+ // Allowed — it is how a version from before checks is rolled back to —
250
+ // but said, since nothing vouches for it.
251
+ ...(plan.mark.kind === "unchecked" ? [` ${p.warn(`⚠ ${plan.version} was not released with checks`)}`] : []),
252
+ ];
253
+ }
254
+ /**
255
+ * The "default" row a release deploy repoints — refused unless repointing it
256
+ * makes the release serve ALL of the default traffic. Live is the lowest-
257
+ * priority tier of enabled, untargeted rows, so another row there (a split, a
258
+ * canary, a disabled "default") would keep serving and "Deployed" would be a
259
+ * lie. Splits are out of scope for `cef deploy <version>`.
260
+ */
261
+ export function rowToRepoint(plan, rows) {
262
+ const all = rows ?? [];
263
+ const row = all.find((r) => r.name === DEFAULT_DEPLOYMENT);
264
+ if (!row) {
265
+ throw new ReleaseError(`[cef deploy] ${plan.workflowId} has no "${DEFAULT_DEPLOYMENT}" deployment to repoint — deploy it once from ROC, `
266
+ + "or apply a deployments/ folder with cef deploy (no version)");
267
+ }
268
+ const after = all.map((r) => (r === row ? { ...r, version: plan.version, enabled: true } : r));
269
+ const shares = liveShares(after);
270
+ if (shares.size === 1 && shares.get(plan.version) === 100)
271
+ return row;
272
+ const others = servingTier(after).filter((r) => r.name !== DEFAULT_DEPLOYMENT && r.version !== plan.version);
273
+ const who = others.length
274
+ ? `${others.map((r) => `"${r.name}" (${r.version})`).join(", ")} ${others.length === 1 ? "serves" : "serve"} the default traffic beside or instead of it`
275
+ : `"${DEFAULT_DEPLOYMENT}" does not serve the default traffic (it is targeted, or outranked)`;
276
+ throw new ReleaseError(`[cef deploy] repointing "${DEFAULT_DEPLOYMENT}" would not make ${plan.version} live: ${who}. `
277
+ + "cef deploy <version> moves only that one row; change a split or another serving row in ROC, "
278
+ + "or apply a deployments/ folder with cef deploy (no version)");
279
+ }
280
+ /**
281
+ * Make a release live at 100%: repoint the default deployment row at it, the
282
+ * way ROC's Deploy and Roll back do, then point `latest` at it. A release with
283
+ * review warnings needs a yes on a terminal, or `--accept-warnings` without
284
+ * one.
285
+ *
286
+ * The row moves first: it is what serves runs, and `latest` only decides which
287
+ * version's triggers vault-api delivers. When the row moved and `latest` did
288
+ * not, the error says so and a re-run finishes it (an already-live release
289
+ * only moves `latest`).
290
+ */
291
+ export async function deployRelease(plan, ports, opts) {
292
+ let revision;
293
+ if (!isAlreadyLive(plan)) {
294
+ const row = rowToRepoint(plan, await ports.deployments());
295
+ if (plan.mark.kind === "warnings" && !opts.acceptWarnings) {
296
+ const n = plan.mark.warnings;
297
+ if (!ports.confirm) {
298
+ throw new ReleaseError(`${plan.version} has ${n} review warning${n === 1 ? "" : "s"}. Re-run with --accept-warnings.`);
299
+ }
300
+ if (!(await ports.confirm("Deploy anyway? [y/N] ")))
301
+ return { deployed: false, movedLatest: false };
302
+ }
303
+ const live = plan.replaces.map((r) => r.version);
304
+ const note = live.length && !live.includes(plan.version) ? `deploy ${plan.version}, replacing ${live.join(", ")}` : `deploy ${plan.version}`;
305
+ revision = await ports.upsert({ ...row, version: plan.version, enabled: true }, note);
306
+ }
307
+ let movedLatest = false;
308
+ if (plan.latest !== plan.version) {
309
+ try {
310
+ await ports.moveLatest(plan.version);
311
+ movedLatest = true;
312
+ }
313
+ catch (e) {
314
+ throw new ReleaseError(`[cef deploy] ${plan.version} is deployed${revision !== undefined ? ` (revision ${revision})` : ""}, but \`latest\` still names `
315
+ + `${plan.latest ?? "nothing"}, so its events, schedules and webhooks are still ${plan.latest ? `${plan.latest}'s` : "not delivered"}. `
316
+ + `Re-run cef deploy ${plan.version} to finish. (${e instanceof Error ? e.message : String(e)})`);
317
+ }
318
+ }
319
+ return { ...(revision !== undefined ? { revision } : {}), deployed: true, movedLatest };
320
+ }
321
+ //# sourceMappingURL=release-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-view.js","sourceRoot":"","sources":["../../src/commands/release-view.ts"],"names":[],"mappings":"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"}