@intentius/sql-yodeler 0.6.0 → 0.7.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 (58) hide show
  1. package/README.md +7 -7
  2. package/dist/approval-mode/index.d.ts +7 -0
  3. package/dist/approval-mode/index.js +10 -3
  4. package/dist/approval-mode/index.js.map +1 -1
  5. package/dist/chant/apply.d.ts +15 -3
  6. package/dist/chant/apply.js +22 -3
  7. package/dist/chant/apply.js.map +1 -1
  8. package/dist/ci/render.js +1 -1
  9. package/dist/commands/apply.d.ts +2 -0
  10. package/dist/commands/apply.js +24 -24
  11. package/dist/commands/apply.js.map +1 -1
  12. package/dist/commands/approve.d.ts +51 -1
  13. package/dist/commands/approve.js +177 -14
  14. package/dist/commands/approve.js.map +1 -1
  15. package/dist/commands/cleanup.d.ts +1 -0
  16. package/dist/commands/cleanup.js +11 -7
  17. package/dist/commands/cleanup.js.map +1 -1
  18. package/dist/commands/create.d.ts +31 -0
  19. package/dist/commands/create.js +171 -0
  20. package/dist/commands/create.js.map +1 -0
  21. package/dist/commands/emulator.d.ts +17 -0
  22. package/dist/commands/emulator.js +78 -0
  23. package/dist/commands/emulator.js.map +1 -0
  24. package/dist/commands/index.js +4 -0
  25. package/dist/commands/index.js.map +1 -1
  26. package/dist/commands/init.js +7 -5
  27. package/dist/commands/init.js.map +1 -1
  28. package/dist/commands/plan.js +1 -1
  29. package/dist/commands/revert.js +7 -5
  30. package/dist/commands/revert.js.map +1 -1
  31. package/dist/mcp/tools.d.ts +1 -1
  32. package/dist/mcp/tools.js +1 -1
  33. package/dist/mcp/tools.js.map +1 -1
  34. package/dist/notify/index.d.ts +3 -1
  35. package/dist/notify/index.js +2 -1
  36. package/dist/notify/index.js.map +1 -1
  37. package/dist/pr/model.d.ts +5 -3
  38. package/dist/pr/model.js +5 -4
  39. package/dist/pr/model.js.map +1 -1
  40. package/dist/pr/render.js +5 -4
  41. package/dist/pr/render.js.map +1 -1
  42. package/dist/pr/tenants.js +2 -2
  43. package/dist/pr/tenants.js.map +1 -1
  44. package/dist/tenants/wave.d.ts +3 -1
  45. package/dist/tenants/wave.js +3 -2
  46. package/dist/tenants/wave.js.map +1 -1
  47. package/dist/versioned/approval.js +1 -1
  48. package/dist/versioned/approval.js.map +1 -1
  49. package/dist/waves/index.d.ts +5 -3
  50. package/dist/waves/index.js +5 -4
  51. package/dist/waves/index.js.map +1 -1
  52. package/package.json +1 -1
  53. package/schemas/apply.schema.json +2 -0
  54. package/schemas/cleanup.schema.json +1 -0
  55. package/schemas/event.schema.json +1 -0
  56. package/schemas/init.schema.json +1 -0
  57. package/schemas/plan.schema.json +3 -1
  58. package/schemas/revert.schema.json +2 -1
@@ -0,0 +1,171 @@
1
+ import { existsSync, readdirSync, statSync } from "node:fs";
2
+ import { basename, relative, resolve } from "node:path";
3
+ import { parseArgs } from "node:util";
4
+ import { guarded } from "../env-args.js";
5
+ import { YodelError } from "../project.js";
6
+ import { runChant } from "../chant/process.js";
7
+ import { version } from "../version.js";
8
+ /** The repository the templates are released from, tagged `v<version>`. */
9
+ export const TEMPLATE_REPO = "INTENTIUS/sql-yodeler";
10
+ /** What a template's package name must look like (the templates' chant.template.json). */
11
+ const PACKAGE_NAME = /^[a-z0-9][a-z0-9._-]*$/;
12
+ const usage = "usage: yodel create <dir> --clickhouse | --postgres [--database <name> | --schema <name>] [--history <name>] [--name <package>]";
13
+ const help = `${usage}
14
+
15
+ Makes a new project in <dir> from SQL Yodeler's template for the dialect:
16
+ the declared schema in src/, the environments (dev and prod) in
17
+ chant.config.ts and yodel.config.ts, the migrations Ops, the pipelines for
18
+ GitHub, GitLab and Forgejo, and a justfile. The template is the one released
19
+ with this yodel (${TEMPLATE_REPO}@v<version>#templates/<dialect>), so
20
+ it always matches the yodel that made it. Then it prints the next steps.
21
+
22
+ Before a project exists, run it with npx:
23
+
24
+ npx @intentius/sql-yodeler create my-schema --clickhouse --database events
25
+
26
+ Refuses a <dir> that holds anything but .git (a fresh clone of an empty
27
+ repository is fine). chant copies the template underneath (chant init
28
+ --from); its output is printed as it runs.
29
+
30
+ Options:
31
+ --clickhouse a ClickHouse project
32
+ --postgres a Postgres project
33
+ --database <name> ClickHouse: the database the schema lives in (default:
34
+ app)
35
+ --schema <name> Postgres: the schema the declared objects live in
36
+ (default: app)
37
+ --history <name> the database (ClickHouse) or schema (Postgres) for yodel's
38
+ history table, apart from the project's (default:
39
+ yodeler)
40
+ --name <package> the package name in package.json (default: <dir>'s
41
+ name)
42
+ --from <source> for developing yodel: the template repository to copy,
43
+ a <repo>@<ref> or a clone's directory; the member
44
+ #templates/<dialect> is added unless <source> names one
45
+
46
+ Exit codes:
47
+ 0 the project was made
48
+ 1 anything else: a missing or doubled dialect flag, a <dir> that is not
49
+ empty, a template chant could not copy (chant says why)
50
+ `;
51
+ /** Parses `yodel create`'s arguments, naming the flag that is wrong. */
52
+ export function parseCreateArgs(args) {
53
+ let parsed;
54
+ try {
55
+ parsed = parseArgs({
56
+ args,
57
+ allowPositionals: true,
58
+ strict: true,
59
+ options: {
60
+ clickhouse: { type: "boolean" },
61
+ postgres: { type: "boolean" },
62
+ database: { type: "string" },
63
+ schema: { type: "string" },
64
+ history: { type: "string" },
65
+ name: { type: "string" },
66
+ from: { type: "string" },
67
+ },
68
+ });
69
+ }
70
+ catch (e) {
71
+ throw new YodelError(`${e instanceof Error ? e.message : String(e)}\n${usage}`);
72
+ }
73
+ const { values, positionals } = parsed;
74
+ const [dir, ...rest] = positionals;
75
+ if (dir === undefined)
76
+ throw new YodelError(`name the directory to make the project in\n${usage}`);
77
+ if (rest.length > 0)
78
+ throw new YodelError(`one directory, got ${String(positionals.length)}: ${positionals.join(" ")}\n${usage}`);
79
+ if (values.clickhouse === true && values.postgres === true)
80
+ throw new YodelError(`--clickhouse and --postgres: pick one dialect\n${usage}`);
81
+ if (values.clickhouse !== true && values.postgres !== true)
82
+ throw new YodelError(`--clickhouse or --postgres: name the dialect\n${usage}`);
83
+ const dialect = values.clickhouse === true ? "clickhouse" : "postgres";
84
+ if (dialect === "clickhouse" && values.schema !== undefined)
85
+ throw new YodelError(`--schema is for a Postgres project; a ClickHouse project takes --database\n${usage}`);
86
+ if (dialect === "postgres" && values.database !== undefined)
87
+ throw new YodelError(`--database is for a ClickHouse project; a Postgres project takes --schema\n${usage}`);
88
+ const name = typeof values.name === "string" ? values.name : basename(resolve(dir));
89
+ if (!PACKAGE_NAME.test(name)) {
90
+ throw new YodelError(typeof values.name === "string"
91
+ ? `--name ${name} is not a package name (lowercase letters, digits, ".", "_" and "-", starting with a letter or digit)`
92
+ : `the directory's name, ${name}, is not a package name (lowercase letters, digits, ".", "_" and "-"); give one with --name`);
93
+ }
94
+ return {
95
+ dir,
96
+ dialect,
97
+ name,
98
+ ...(typeof values.database === "string" ? { database: values.database } : {}),
99
+ ...(typeof values.schema === "string" ? { schema: values.schema } : {}),
100
+ ...(typeof values.history === "string" ? { history: values.history } : {}),
101
+ ...(typeof values.from === "string" ? { from: values.from } : {}),
102
+ };
103
+ }
104
+ /** The template chant copies: this yodel's release, or `--from`'s source with the dialect's member added. */
105
+ export function templateSource(dialect, from, yodelVersion = version()) {
106
+ const member = `templates/${dialect}`;
107
+ if (from === undefined)
108
+ return `${TEMPLATE_REPO}@v${yodelVersion}#${member}`;
109
+ return from.includes("#") ? from : `${from}#${member}`;
110
+ }
111
+ /** The `chant init` arguments that make the project `a` describes. */
112
+ export function chantInitArgs(a, yodelVersion = version()) {
113
+ const params = [
114
+ ["name", a.name],
115
+ ["database", a.database],
116
+ ["schema", a.schema],
117
+ [a.dialect === "clickhouse" ? "history_database" : "history_schema", a.history],
118
+ ];
119
+ return [
120
+ "init",
121
+ "--from",
122
+ templateSource(a.dialect, a.from, yodelVersion),
123
+ ...params.flatMap(([k, v]) => (v === undefined ? [] : ["--param", `${k}=${v}`])),
124
+ a.dir,
125
+ ];
126
+ }
127
+ /** Why `dir` cannot take a new project, or undefined when it can: it does not exist, or holds nothing but `.git`. */
128
+ export function occupied(dir) {
129
+ if (!existsSync(dir))
130
+ return undefined;
131
+ if (!statSync(dir).isDirectory())
132
+ return `${dir} exists and is not a directory`;
133
+ const entries = readdirSync(dir).filter((e) => e !== ".git");
134
+ return entries.length === 0 ? undefined : `${dir} exists and is not empty (${String(entries.length)} entr${entries.length === 1 ? "y" : "ies"}); name a new directory or an empty one`;
135
+ }
136
+ /** What to do once the project exists. */
137
+ export function nextSteps(dir) {
138
+ const cd = relative(process.cwd(), resolve(dir)) || ".";
139
+ return [
140
+ "",
141
+ "Next:",
142
+ ` cd ${cd}`,
143
+ " npm install",
144
+ " git init && git add -A && git commit -m init",
145
+ " npx yodel emulator up # a local ClickHouse and Postgres, in Docker",
146
+ "",
147
+ "Then follow Your first migration: https://intentius.io/sql-yodeler/getting-started/",
148
+ "",
149
+ ].join("\n");
150
+ }
151
+ /** `yodel create`, running chant with `run` (tests pass their own). */
152
+ export function createCommand(run = runChant) {
153
+ return {
154
+ name: "create",
155
+ summary: "make a new project from SQL Yodeler's template",
156
+ implemented: true,
157
+ run: (args, io) => guarded("create", io, args, help, async () => {
158
+ const a = parseCreateArgs(args);
159
+ const why = occupied(resolve(a.dir));
160
+ if (why)
161
+ throw new YodelError(`refused: ${why}; nothing was made`);
162
+ const ran = await run(chantInitArgs(a), { cwd: process.cwd(), onStdout: io.out, onStderr: io.err });
163
+ if (ran.code !== 0)
164
+ throw new YodelError(`chant init --from ${templateSource(a.dialect, a.from)} failed (exit ${String(ran.code)}; chant says why above); nothing was made`);
165
+ io.out(nextSteps(a.dir));
166
+ return 0;
167
+ }),
168
+ };
169
+ }
170
+ export const create = createCommand();
171
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { Command } from "../command.js";
2
+ import { type ChantResult, type RunChantOptions } from "../chant/process.js";
3
+ declare const SUBCOMMANDS: readonly ["up", "down", "status"];
4
+ export interface EmulatorArgs {
5
+ sub: (typeof SUBCOMMANDS)[number];
6
+ ports: string[];
7
+ json: boolean;
8
+ dir: string;
9
+ }
10
+ export declare function parseEmulatorArgs(args: string[]): EmulatorArgs;
11
+ /** The chant arguments for `a`. */
12
+ export declare function chantEmulatorArgs(a: EmulatorArgs): string[];
13
+ type Runner = (args: readonly string[], options: RunChantOptions) => Promise<ChantResult>;
14
+ /** `yodel emulator`, running chant with `run` (tests pass their own). */
15
+ export declare function emulatorCommand(run?: Runner): Command;
16
+ export declare const emulator: Command;
17
+ export {};
@@ -0,0 +1,78 @@
1
+ import { resolve } from "node:path";
2
+ import { parseArgs } from "node:util";
3
+ import { guarded } from "../env-args.js";
4
+ import { loadProject, YodelError } from "../project.js";
5
+ import { runChant } from "../chant/process.js";
6
+ const SUBCOMMANDS = ["up", "down", "status"];
7
+ const usage = "usage: yodel emulator <up|down|status> [--port <container>=<host>]... [--json] [--dir <project>]";
8
+ const help = `${usage}
9
+
10
+ The local database: a ClickHouse and a Postgres in Docker, the servers the
11
+ template's dev environment reaches. chant runs them underneath (chant
12
+ emulator <up|down|status> --lexicon sql, in the project), and what it prints
13
+ is printed here: where each server listens and how to sign in.
14
+
15
+ up start each server, or reuse a running one, and wait until it is
16
+ ready; refuses when another process holds the host port
17
+ down stop and remove the containers
18
+ status whether each server runs, and whether its address reaches it
19
+
20
+ The servers are shared by every project on the machine: down stops them for
21
+ all of them.
22
+
23
+ Options:
24
+ --port <c>=<h> up: publish container port <c> on host port <h>; repeatable
25
+ --json print chant's report as JSON
26
+ -C, --dir <dir> the project directory (default: the working directory)
27
+
28
+ Exit codes: chant's. 0 done; 1 Docker could not be asked, a port is held,
29
+ or (status) an address reaches another server; also 1 outside a project.
30
+ `;
31
+ export function parseEmulatorArgs(args) {
32
+ let parsed;
33
+ try {
34
+ parsed = parseArgs({
35
+ args,
36
+ allowPositionals: true,
37
+ strict: true,
38
+ options: {
39
+ port: { type: "string", multiple: true },
40
+ json: { type: "boolean" },
41
+ dir: { type: "string", short: "C" },
42
+ },
43
+ });
44
+ }
45
+ catch (e) {
46
+ throw new YodelError(`${e instanceof Error ? e.message : String(e)}\n${usage}`);
47
+ }
48
+ const { values, positionals } = parsed;
49
+ const [sub, ...rest] = positionals;
50
+ if (sub === undefined || rest.length > 0 || !SUBCOMMANDS.includes(sub)) {
51
+ throw new YodelError(`${sub === undefined ? "name what to do" : rest.length > 0 ? `one of up, down or status, got ${positionals.join(" ")}` : `unknown ${sub}: up, down or status`}\n${usage}`);
52
+ }
53
+ const ports = (values.port ?? []);
54
+ if (ports.length > 0 && sub !== "up")
55
+ throw new YodelError(`--port is for yodel emulator up\n${usage}`);
56
+ return { sub: sub, ports, json: values.json === true, dir: resolve(typeof values.dir === "string" ? values.dir : process.cwd()) };
57
+ }
58
+ /** The chant arguments for `a`. */
59
+ export function chantEmulatorArgs(a) {
60
+ return ["emulator", a.sub, "--lexicon", "sql", ...a.ports.flatMap((p) => ["--port", p]), ...(a.json ? ["--json"] : [])];
61
+ }
62
+ /** `yodel emulator`, running chant with `run` (tests pass their own). */
63
+ export function emulatorCommand(run = runChant) {
64
+ return {
65
+ name: "emulator",
66
+ summary: "start, stop or check the local ClickHouse and Postgres (Docker)",
67
+ implemented: true,
68
+ run: (args, io) => guarded("emulator", io, args, help, async () => {
69
+ const a = parseEmulatorArgs(args);
70
+ // chant reads the project's lexicons from its chant.config.ts, so the project is found first, from a directory inside it too.
71
+ const project = await loadProject(a.dir);
72
+ const ran = await run(chantEmulatorArgs(a), { cwd: project.dir, onStdout: io.out, onStderr: io.err });
73
+ return ran.code;
74
+ }),
75
+ };
76
+ }
77
+ export const emulator = emulatorCommand();
78
+ //# sourceMappingURL=emulator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emulator.js","sourceRoot":"","sources":["../../src/commands/emulator.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,10 @@ import { config } from "./config.js";
4
4
  import { approve } from "./approve.js";
5
5
  import { checkpoint } from "./checkpoint.js";
6
6
  import { cleanup } from "./cleanup.js";
7
+ import { create } from "./create.js";
7
8
  import { docs } from "./docs.js";
8
9
  import { drift } from "./drift.js";
10
+ import { emulator } from "./emulator.js";
9
11
  import { init } from "./init.js";
10
12
  import { lint } from "./lint.js";
11
13
  import { mcp } from "./mcp.js";
@@ -20,7 +22,9 @@ import { status } from "./status.js";
20
22
  import { test } from "./test.js";
21
23
  /** Every verb, in the order `yodel --help` lists them. */
22
24
  export const commands = [
25
+ create,
23
26
  init,
27
+ emulator,
24
28
  plan,
25
29
  apply,
26
30
  approve,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;IACV,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,KAAK;IACL,IAAI;IACJ,EAAE;IACF,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,GAAG;CACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;IACV,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,KAAK;IACL,IAAI;IACJ,EAAE;IACF,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,GAAG;CACJ,CAAC"}
@@ -3,7 +3,8 @@ import { guarded } from "../env-args.js";
3
3
  import { loadProject, resolveEnvironment, YodelError } from "../project.js";
4
4
  import { migrationId } from "../migrations/index.js";
5
5
  import { adopt, BASELINE_NAME, planBaseline, projectBaseline } from "../init/index.js";
6
- import { GATED } from "../chant/apply.js";
6
+ import { GATED, gatedCommands } from "../chant/apply.js";
7
+ import { migrationsApprovalAtBase } from "../approval-mode/index.js";
7
8
  import { runnable, runnableAsWriter } from "../chant/runnable.js";
8
9
  import { permissionRefusal, readerRefusal } from "../credentials.js";
9
10
  import { EXIT_REFUSED } from "../exit.js";
@@ -59,7 +60,7 @@ Op, as yodel apply does: its Plan step compares again and prints the
59
60
  record's digest (the baseline, the empty history and the live schema), its
60
61
  gate binds the approval to that digest, and its Apply step compares again
61
62
  under the lock, refuses if the digest moved, and appends the row. A run
62
- that stops at the gate prints the chant approve command; approve, then run
63
+ that stops at the gate prints the yodel approve command; approve, then run
63
64
  yodel init --baseline <env> again. Then yodel plan <env> shows the
64
65
  migrations after the baseline pending, as in every other environment.
65
66
 
@@ -185,12 +186,13 @@ async function recordIn(project, name, a, io) {
185
186
  io.out(`${env.name}'s live schema is the schema ${baseline.id} records, and its history records nothing.\nPlan digest: ${planDigest}\n\nRunning ${op.name} (${op.filePath}) to record ${baseline.id} applied in ${env.name}\n`);
186
187
  const ran = await runMigrateOp(project, op, { allowOutOfOrder: false, baseline: baseline.id, onOutput: (t) => { io.err(t); } });
187
188
  if (ran.status === "gated") {
189
+ const commands = gatedCommands(ran, env.name, (await migrationsApprovalAtBase(project, env.name)).mode);
188
190
  if (!a.json) {
189
191
  io.out(`\n${op.name} is waiting at gate "${op.gate}" for approval of this record${ran.planDigest ? ` (${ran.planDigest})` : ""}.\n`);
190
- if (ran.approve)
191
- io.out(`Approve it with:\n ${runnable(ran.approve, project.dir)}\nthen run ${runnableAsWriter(`yodel init --baseline ${env.name}`, project.dir, env.profile)} again.\n`);
192
+ if (commands.approve)
193
+ io.out(`Approve it at a terminal with:\n ${runnable(commands.approve, project.dir)}\nthen run ${runnableAsWriter(`yodel init --baseline ${env.name}`, project.dir, env.profile)} again.\n`);
192
194
  }
193
- return emit({ status: "gated", op: op.name, gate: op.gate, ...(ran.approve ? { approve: ran.approve } : {}), ...(ran.planDigest ? { gatePlanDigest: ran.planDigest } : {}) }, GATED);
195
+ return emit({ status: "gated", op: op.name, gate: op.gate, ...commands, ...(ran.planDigest ? { gatePlanDigest: ran.planDigest } : {}) }, GATED);
194
196
  }
195
197
  if (ran.status === "failed") {
196
198
  const code = ran.stepExit !== undefined && ran.stepExit !== 0 ? ran.stepExit : 1;
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ Versioned project (a migrations/ directory): shows the pending migrations,
30
30
  each step with its rule and class (an Op step with the Op that makes it, a
31
31
  manual step with what it needs), integrity problems (directory problems,
32
32
  checksum mismatches, out-of-order migrations), and the plan digest yodel
33
- apply asks approval for, with the chant approve command that approves it.
33
+ apply asks approval for, with the yodel approve command that approves it.
34
34
  When chant's gate ledger holds an approval of the migrations Op's gate for
35
35
  another digest, it says what moved since. Reads only.
36
36
 
@@ -2,7 +2,8 @@ import { resolve } from "node:path";
2
2
  import { parseArgs } from "node:util";
3
3
  import { guarded } from "../env-args.js";
4
4
  import { loadProject, resolveEnvironment, YodelError } from "../project.js";
5
- import { GATED } from "../chant/apply.js";
5
+ import { GATED, gatedCommands } from "../chant/apply.js";
6
+ import { migrationsApprovalAtBase } from "../approval-mode/index.js";
6
7
  import { runnable, runnableAsWriter } from "../chant/runnable.js";
7
8
  import { permissionRefusal, readerRefusal } from "../credentials.js";
8
9
  import { LOCK_WAIT_ENV, parseDuration } from "../config/settings.js";
@@ -25,7 +26,7 @@ The revert runs through the environment's migrations Op, as yodel apply
25
26
  does: its Plan step prints the revert's digest (the statements, the history
26
27
  and the live schema), its gate binds the approval to that digest, and its
27
28
  Apply step plans the revert again under the lock, refuses if the digest
28
- moved, and runs it. A run that stops at the gate prints the chant approve
29
+ moved, and runs it. A run that stops at the gate prints the yodel approve
29
30
  command; approve, then run yodel revert again. The history gets a revert row
30
31
  for each statement and a migration row reverted: <id> is then pending
31
32
  again, and yodel status shows it reverted. Delete it, or rewrite it with
@@ -233,12 +234,13 @@ async function revertIn(project, env, a, io) {
233
234
  onOutput: (t) => { io.err(t); },
234
235
  });
235
236
  if (ran.status === "gated") {
237
+ const commands = gatedCommands(ran, env.name, (await migrationsApprovalAtBase(project, env.name)).mode);
236
238
  if (!a.json) {
237
239
  io.out(`\n${op.name} is waiting at gate "${op.gate}" for approval of this revert${ran.planDigest ? ` (${ran.planDigest})` : ""}.\n`);
238
- if (ran.approve)
239
- io.out(`Approve it with:\n ${runnable(ran.approve, project.dir)}\nthen run ${runnableAsWriter(`yodel revert ${env.name} ${plan.migration.id}${a.step !== undefined ? ` --step ${a.step}` : ""}`, project.dir, env.profile)} again.\n`);
240
+ if (commands.approve)
241
+ io.out(`Approve it at a terminal with:\n ${runnable(commands.approve, project.dir)}\nthen run ${runnableAsWriter(`yodel revert ${env.name} ${plan.migration.id}${a.step !== undefined ? ` --step ${a.step}` : ""}`, project.dir, env.profile)} again.\n`);
240
242
  }
241
- return emit({ status: "gated", op: op.name, gate: op.gate, ...(ran.approve ? { approve: ran.approve } : {}), ...(ran.planDigest ? { gatePlanDigest: ran.planDigest } : {}) }, GATED);
243
+ return emit({ status: "gated", op: op.name, gate: op.gate, ...commands, ...(ran.planDigest ? { gatePlanDigest: ran.planDigest } : {}) }, GATED);
242
244
  }
243
245
  if (ran.status === "failed") {
244
246
  const code = ran.stepExit !== undefined && ran.stepExit !== 0 ? ran.stepExit : 1;
@@ -1 +1 @@
1
- {"version":3,"file":"revert.js","sourceRoot":"","sources":["../../src/commands/revert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"revert.js","sourceRoot":"","sources":["../../src/commands/revert.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { SCHEMA_VERSION } from "../schemas.js";
11
11
  /** The only verbs a tool may run, and only with the flags {@link runVerb} allows. */
12
12
  export declare const READ_VERBS: Readonly<Record<string, Command>>;
13
13
  /** Never a tool, and never run by one: each writes to a database, a history, the migrations directory or the gate ledger. */
14
- export declare const WRITE_VERBS: readonly ["apply", "approve", "override", "repair", "revert", "rebase", "new", "checkpoint", "init", "test"];
14
+ export declare const WRITE_VERBS: readonly ["apply", "approve", "override", "repair", "revert", "rebase", "new", "checkpoint", "init", "create", "emulator", "test"];
15
15
  export interface ToolEnvelope {
16
16
  schema: typeof SCHEMA_VERSION;
17
17
  tool: string;
package/dist/mcp/tools.js CHANGED
@@ -17,7 +17,7 @@ import { status } from "../commands/status.js";
17
17
  /** The only verbs a tool may run, and only with the flags {@link runVerb} allows. */
18
18
  export const READ_VERBS = { status, plan, lint, drift };
19
19
  /** Never a tool, and never run by one: each writes to a database, a history, the migrations directory or the gate ledger. */
20
- export const WRITE_VERBS = ["apply", "approve", "override", "repair", "revert", "rebase", "new", "checkpoint", "init", "test"];
20
+ export const WRITE_VERBS = ["apply", "approve", "override", "repair", "revert", "rebase", "new", "checkpoint", "init", "create", "emulator", "test"];
21
21
  /** Flags that make a read verb write: a replay database, a checksum, a forge comment, the Op's Apply step. */
22
22
  const WRITE_FLAGS = ["--replay", "--reset", "--reset-shared", "--keep", "--update-checksum", "--comment", "--execute"];
23
23
  /** Throws when any tool could write: a write verb by name, a verb outside {@link READ_VERBS}, or no read-only annotation. */
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -48,8 +48,10 @@ export interface NotifyEvent {
48
48
  migrations: string[];
49
49
  /** The plan digest the run computed, when it computed one. */
50
50
  digest?: string;
51
- /** The command that approves the plan, on `waiting`. */
51
+ /** The command that approves the plan, on `waiting`: `yodel approve <env> --plan <digest>`, for a person at a terminal. */
52
52
  approve?: string;
53
+ /** chant's own command for the same approval, for scripts. */
54
+ chantApprove?: string;
53
55
  /** Why it was refused or failed: the refusal's message, the failing exit code. */
54
56
  reason?: string;
55
57
  /** drift: the objects changed and missing, and the drift's fingerprint (the same drift, the same fingerprint, run after run). */
@@ -80,7 +80,8 @@ export function eventFromRun(command, doc) {
80
80
  const deniedRules = Array.isArray(doc.policy) ? doc.policy.filter((r) => r.outcome === "denied").map((r) => r.id ?? "") : [];
81
81
  if (status === "gated") {
82
82
  const approve = str(doc.approve);
83
- return { ...base, event: "waiting", status, summary: `${environment} is waiting for approval of ${digest ?? "its plan"} (${String(migrations.length)} migration${migrations.length === 1 ? "" : "s"})`, ...(approve ? { approve } : {}) };
83
+ const chantApprove = str(doc.chantApprove);
84
+ return { ...base, event: "waiting", status, summary: `${environment} is waiting for approval of ${digest ?? "its plan"} (${String(migrations.length)} migration${migrations.length === 1 ? "" : "s"})`, ...(approve ? { approve } : {}), ...(chantApprove ? { chantApprove } : {}) };
84
85
  }
85
86
  if (status === "refused" || status === "denied" || (command === "plan" && (refusal !== undefined || deniedRules.length > 0))) {
86
87
  const reason = typeof refusal === "string" ? refusal : deniedRules.length > 0 ? `policy rule ${deniedRules.join(", ")} denies the plan` : status === "refused" ? "refused" : "denied by policy";