@substrat-run/cli 0.45.0 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -20,7 +20,7 @@
20
20
  * (in the console) still gates serving.
21
21
  */
22
22
  import { bindConnectionScope, listConnectionBindings } from './connections.js';
23
- import { join } from 'node:path';
23
+ import { join, resolve as resolvePath } from 'node:path';
24
24
  import { createInterface } from 'node:readline';
25
25
  import { loadConfig, saveConfig, resolveAuth } from './config.js';
26
26
  import { browserLogin } from './login.js';
@@ -29,7 +29,7 @@ import { printVersions } from './versions.js';
29
29
  import { checkOutboundDeclared } from './outbound-scan.js';
30
30
  import { exportBreakLines, parseReviewToken, promote } from './promote.js';
31
31
  import { setListing, requestPublish } from './listing.js';
32
- import { isReleaseSha, packedFilesOf, packStoreDriverDir, rebuildStoreDriver, rollBackStoreDriver, sourceCommitOf, rollOutStoreDriver, storeDriverRebuildLines, storeDriverStatus, storeDriverStatusLines, uploadStoreDriverRelease } from './store-driver.js';
32
+ import { isReleaseSha, packedFilesOf, packStoreDriverDir, rebuildStoreDriver, rollBackStoreDriver, skippedInstallerMarkersOf, sourceCommitOf, rollOutStoreDriver, storeDriverPackLines, storeDriverRebuildLines, storeDriverStatus, storeDriverStatusLines, uploadStoreDriverRelease } from './store-driver.js';
33
33
  import { fetchWhoami } from './whoami.js';
34
34
  import { planeFor } from './plane.js';
35
35
  import { dataLossCheckRequired, formatDataLossCheck } from './data-loss-check.js';
@@ -39,6 +39,9 @@ import { printInstalls } from './installs.js';
39
39
  import { createPreview, deletePreview, listPreviews, formatPreviewLogin, formatPreviews, parseTtlHours } from './preview.js';
40
40
  import { writeCiWorkflow, detectDefaultBranch, nextStepsMessage } from './init.js';
41
41
  import { writeModelView } from './model.js';
42
+ import { CannotRun, changesetCommand } from './changeset.js';
43
+ import { syncConceptFile } from './concept.js';
44
+ import { planCommand } from './plan.js';
42
45
  import { listVerticalHostnames, bindSurfaceHostname, bindScopeHostname, unbindHostname, verifyHostname, formatHostnames, formatDnsRecords, } from './hostnames.js';
43
46
  const argv = process.argv.slice(2);
44
47
  /** `--name value` → value, else undefined. */
@@ -239,6 +242,29 @@ Usage:
239
242
  open it in a browser. Reads the checked-in
240
243
  model.json, so it needs no login and no push.
241
244
  Writes a temp file unless --out places it
245
+ substrat changeset [dir] [--base <ref>] write a .changeset file whose bump is COMPUTED
246
+ [--summary <text>] from the diff of model.json, openapi.json and
247
+ [--check] [--json] PERMISSIONS.md against the merge-base: removed
248
+ or narrowed → major, added → minor, docs → patch;
249
+ permission changes are flagged for review.
250
+ --check refuses a changeset declaring less than
251
+ the computed bump (exit 1); --json prints the
252
+ classification. --base defaults to the
253
+ changesets baseBranch on origin
254
+ substrat concept sync [dir] [--check] rewrite the generated regions of spec/concept.md —
255
+ roles and permissions, the entity diagram, one state
256
+ diagram per lifecycle — from model.json and
257
+ PERMISSIONS.md. Idempotent; --check writes nothing
258
+ and exits 1 when the file is stale
259
+ substrat plan [dir] [--base <ref>] the concept delta the design gate shows: entities
260
+ [--why <text>] [--json] added/changed/removed (Mermaid before and after),
261
+ lifecycle changes, the permission-diff table, the
262
+ spec-version impact (changeset's classifier) and
263
+ the decisions-log entry approving it would write.
264
+ Offline; --json prints the delta for an agent
265
+ substrat plan [dir] --approve <digest> record a person's approval in the Decisions log of
266
+ --by <name> --why <text> spec/concept.md, then re-sync it. Refused when the
267
+ delta is no longer the one <digest> named
242
268
  substrat init --ci github [dir] write .github/workflows/substrat-deploy.yml —
243
269
  [--branch <b>] [--path <packageDir>] [--release trunk|changesets]
244
270
  [--out <path>] [--force]
@@ -662,9 +688,12 @@ async function cmdStoreDriver() {
662
688
  console.error(line);
663
689
  process.exit(1);
664
690
  }
665
- const body = packStoreDriverDir(dir, entry, flag('commit') ?? sourceCommitOf(dir, packedFilesOf(dir)));
691
+ const files = packedFilesOf(dir);
692
+ const body = packStoreDriverDir(dir, entry, flag('commit') ?? sourceCommitOf(dir, files));
666
693
  const { release, pinned } = await uploadStoreDriverRelease({ ...plane, body });
667
694
  console.log(`✓ stored ${driver} ${release.sha256} (commit ${release.sourceCommit})`);
695
+ for (const line of storeDriverPackLines({ files, skipped: skippedInstallerMarkersOf(dir), sha256: release.sha256, sourceCommit: release.sourceCommit }))
696
+ console.log(line);
668
697
  console.log(pinned ? ' pinned: roll it out with `substrat store-driver rollout`' : ' not pinned yet: it runs once a reviewed change pins this sha256 and commit');
669
698
  return;
670
699
  }
@@ -1149,6 +1178,102 @@ async function cmdModel() {
1149
1178
  console.log(`✓ ${entities} ${entities === 1 ? 'entity' : 'entities'} rendered — open it in a browser:`);
1150
1179
  console.log(file);
1151
1180
  }
1181
+ /**
1182
+ * `substrat changeset [dir] [--base <ref>] [--summary <text>] [--check] [--json]` — the bump,
1183
+ * computed from the artifacts of record rather than chosen (#2364). No control plane and no
1184
+ * auth: it reads the checked-in artifacts at the merge-base and in the working tree.
1185
+ */
1186
+ function cmdChangeset() {
1187
+ const usage = 'usage: substrat changeset [dir] [--base <ref>] [--summary <text>] [--check] [--json]';
1188
+ for (const f of ['base', 'summary']) {
1189
+ const v = flag(f);
1190
+ if (argv.includes(`--${f}`) && (!v || v.startsWith('--'))) {
1191
+ console.error(`${usage}\n\n--${f} needs a value.`);
1192
+ process.exit(1);
1193
+ }
1194
+ }
1195
+ const booleans = ['check', 'json'];
1196
+ const dir = resolvePath(positional(0, booleans) ?? '.');
1197
+ try {
1198
+ const r = changesetCommand(dir, {
1199
+ ...(flag('base') ? { base: flag('base') } : {}),
1200
+ ...(flag('summary') ? { summary: flag('summary') } : {}),
1201
+ check: argv.includes('--check'),
1202
+ json: argv.includes('--json'),
1203
+ });
1204
+ for (const l of r.out)
1205
+ console.log(l);
1206
+ for (const l of r.err)
1207
+ console.error(l);
1208
+ if (r.code !== 0)
1209
+ process.exit(r.code);
1210
+ }
1211
+ catch (err) {
1212
+ if (err instanceof CannotRun) {
1213
+ console.error(`error: ${err.message}`);
1214
+ process.exit(2);
1215
+ }
1216
+ throw err;
1217
+ }
1218
+ }
1219
+ /**
1220
+ * `substrat concept sync [dir] [--check]` — keep `spec/concept.md`'s generated regions true.
1221
+ * Offline like `model view`: it reads the checked-in `model.json` and `PERMISSIONS.md`.
1222
+ */
1223
+ async function cmdConcept() {
1224
+ if (argv[1] !== 'sync') {
1225
+ console.error('usage: substrat concept sync [dir] [--check]' +
1226
+ (argv[1] && !argv[1].startsWith('--') ? `\n\n'concept ${argv[1]}' is not a subcommand — 'sync' is the only one.` : ''));
1227
+ process.exit(1);
1228
+ }
1229
+ const check = argv.includes('--check');
1230
+ const { file, changed } = syncConceptFile(positional(1, ['check']) ?? '.', { check });
1231
+ if (check && changed) {
1232
+ console.error(`✗ ${file} is stale — run \`substrat concept sync\``);
1233
+ process.exit(1);
1234
+ }
1235
+ console.log(changed ? `✓ rewrote the generated sections of ${file}` : `✓ ${file} is up to date`);
1236
+ }
1237
+ /**
1238
+ * `substrat plan [dir] [--base <ref>] [--why <text>] [--json]` — the concept delta the design gate
1239
+ * shows (#2363); `--approve <digest> --by <name> --why <text>` records a person's approval of it in
1240
+ * spec/concept.md's Decisions log. Offline like `changeset`: artifacts at the merge-base and now.
1241
+ */
1242
+ async function cmdPlan() {
1243
+ const usage = 'usage: substrat plan [dir] [--base <ref>] [--why <text>] [--json]\n' +
1244
+ ' substrat plan [dir] --approve <digest> --by <name> --why <text> [--base <ref>]';
1245
+ for (const f of ['base', 'why', 'approve', 'by']) {
1246
+ const v = flag(f);
1247
+ if (argv.includes(`--${f}`) && (!v || v.startsWith('--'))) {
1248
+ console.error(`${usage}\n\n--${f} needs a value.`);
1249
+ process.exit(1);
1250
+ }
1251
+ }
1252
+ const dir = resolvePath(positional(0, ['json']) ?? '.');
1253
+ try {
1254
+ const r = await planCommand(dir, {
1255
+ json: argv.includes('--json'),
1256
+ date: new Date().toISOString().slice(0, 10),
1257
+ ...(flag('base') ? { base: flag('base') } : {}),
1258
+ ...(flag('why') ? { why: flag('why') } : {}),
1259
+ ...(flag('approve') ? { approve: flag('approve') } : {}),
1260
+ ...(flag('by') ? { by: flag('by') } : {}),
1261
+ });
1262
+ for (const l of r.out)
1263
+ console.log(l);
1264
+ for (const l of r.err)
1265
+ console.error(l);
1266
+ if (r.code !== 0)
1267
+ process.exit(r.code);
1268
+ }
1269
+ catch (err) {
1270
+ if (err instanceof CannotRun) {
1271
+ console.error(`error: ${err.message}`);
1272
+ process.exit(2);
1273
+ }
1274
+ throw err;
1275
+ }
1276
+ }
1152
1277
  async function cmdWhoami() {
1153
1278
  const { controlPlaneUrl, header } = resolveAuth({ cp: flag('cp'), token: flag('token'), tenant: flag('tenant') });
1154
1279
  const { user, tenants } = await fetchWhoami(controlPlaneUrl, header);
@@ -1204,6 +1329,12 @@ async function main() {
1204
1329
  return cmdInit();
1205
1330
  case 'model':
1206
1331
  return cmdModel();
1332
+ case 'changeset':
1333
+ return cmdChangeset();
1334
+ case 'concept':
1335
+ return cmdConcept();
1336
+ case 'plan':
1337
+ return cmdPlan();
1207
1338
  case 'version':
1208
1339
  case '--version':
1209
1340
  case '-v':
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * `substrat concept sync` — rewrite the generated regions of `spec/concept.md` (#2362).
3
+ *
4
+ * The rendering is `@substrat-run/model-view`'s pure `syncConcept`, shared with
5
+ * `pnpm lint:concept`, so the command that writes the file and the gate that judges it are
6
+ * one function. What lives here is the filesystem half: where a vertical keeps its
7
+ * `model.json`, `PERMISSIONS.md` and `spec/concept.md`, all beside its `package.json`.
8
+ */
9
+ export interface ConceptSyncResult {
10
+ /** Absolute path of the concept document. */
11
+ readonly file: string;
12
+ /** Whether the file's text differs from what the current model and permissions render. */
13
+ readonly changed: boolean;
14
+ }
15
+ /**
16
+ * Where the vertical at `dir` keeps its concept document, and `markdown` with its generated
17
+ * regions rendered from the `model.json` and `PERMISSIONS.md` beside it — written nowhere.
18
+ * Throws `ConceptMarkerError` when the markers cannot be read.
19
+ */
20
+ export declare function renderConceptFor(dir: string, markdown?: string): {
21
+ file: string;
22
+ before: string;
23
+ after: string;
24
+ };
25
+ /** `dir` is the vertical's package directory; a `model.json` path is accepted and its directory used. */
26
+ export declare function syncConceptFile(dir: string, opts?: {
27
+ readonly check?: boolean;
28
+ }): ConceptSyncResult;
29
+ //# sourceMappingURL=concept.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concept.d.ts","sourceRoot":"","sources":["../src/concept.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AAEH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAkBhH;AAED,yGAAyG;AACzG,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,iBAAiB,CAIvG"}
@@ -0,0 +1,34 @@
1
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { syncConcept } from '@substrat-run/model-view';
4
+ import { readModel, resolveModelPath } from './model.js';
5
+ /**
6
+ * Where the vertical at `dir` keeps its concept document, and `markdown` with its generated
7
+ * regions rendered from the `model.json` and `PERMISSIONS.md` beside it — written nowhere.
8
+ * Throws `ConceptMarkerError` when the markers cannot be read.
9
+ */
10
+ export function renderConceptFor(dir, markdown) {
11
+ const modelFile = resolveModelPath(dir);
12
+ const root = modelFile.slice(0, modelFile.length - 'model.json'.length);
13
+ const file = join(root, 'spec', 'concept.md');
14
+ if (!existsSync(file)) {
15
+ throw new Error(`no spec/concept.md at ${file}\n` +
16
+ ' Write the design first (the generated regions go between <!-- substrat:roles -->,\n' +
17
+ ' <!-- substrat:entities --> and <!-- substrat:processes --> markers, each closed by <!-- /substrat:… -->).');
18
+ }
19
+ const permissionsFile = join(root, 'PERMISSIONS.md');
20
+ const before = markdown ?? readFileSync(file, 'utf8');
21
+ const after = syncConcept(before, {
22
+ model: readModel(modelFile),
23
+ ...(existsSync(permissionsFile) ? { permissionsMd: readFileSync(permissionsFile, 'utf8') } : {}),
24
+ });
25
+ return { file, before, after };
26
+ }
27
+ /** `dir` is the vertical's package directory; a `model.json` path is accepted and its directory used. */
28
+ export function syncConceptFile(dir, opts = {}) {
29
+ const { file, before, after } = renderConceptFor(dir);
30
+ if (!opts.check && after !== before)
31
+ writeFileSync(file, after);
32
+ return { file, changed: after !== before };
33
+ }
34
+ //# sourceMappingURL=concept.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concept.js","sourceRoot":"","sources":["../src/concept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAkBzD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,QAAiB;IAC7D,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,IAAI;YAC/B,uFAAuF;YACvF,6GAA6G,CAChH,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,QAAQ,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE;QAChC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC;QAC3B,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjG,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,IAAI,GAAiC,EAAE;IAClF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,MAAM;QAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC;AAC7C,CAAC"}
package/dist/plan.d.ts ADDED
@@ -0,0 +1,166 @@
1
+ import { type Artifacts, type Bump, type Change } from './bump.js';
2
+ /**
3
+ * `substrat plan` — the concept delta a design gate shows (#2363).
4
+ *
5
+ * The design gate is a hard stop, but what an owner approved there was prose, and nobody can see
6
+ * from prose that a change splits an entity, adds a lifecycle state or breaks an API consumer. So
7
+ * the gate shows a DELTA instead, computed from the artifacts of record — `model.json`,
8
+ * `openapi.json` and `PERMISSIONS.md` in the working tree against the merge-base of a base ref:
9
+ *
10
+ * - the entities added, changed and removed, with the model as Mermaid before and after (the
11
+ * concept document's own renderer, so the two read with one alias scheme);
12
+ * - the lifecycle changes: states, transitions, and the operation that triggers each;
13
+ * - the permission changes, as the permission-diff table (key → description → which roles);
14
+ * - the spec-version impact, from `bump.ts`'s `classify` — the SAME classifier
15
+ * `substrat changeset` writes with and `lint:changeset-bump` holds a changeset to, so the
16
+ * bump an owner approves is the bump the release is held to;
17
+ * - the decisions-log entry approving it would write.
18
+ *
19
+ * Approval is a person's, never automatic: `--approve <digest>` appends that entry to the
20
+ * Decisions log of `spec/concept.md` and re-syncs its generated sections. The digest names the
21
+ * delta that was SHOWN, so an approval of one delta cannot record another — a model edited
22
+ * between the showing and the approving is refused, and has to be shown again.
23
+ *
24
+ * Every list is sorted and the digest covers no date, path or ref, so the same two trees give
25
+ * the same output on every run. The design is declared before it is built: the delta needs a
26
+ * re-emitted `model.json`, which `spec/model.ts` alone produces, and no handler.
27
+ */
28
+ /** A transition, as the gate shows it: who moves the record from where to where. */
29
+ export interface TransitionChange {
30
+ readonly entity: string;
31
+ readonly from: string;
32
+ /** The operation that triggers it — what a caller is permitted to run to move the record. */
33
+ readonly operation: string;
34
+ readonly to: string;
35
+ /** `retargeted`: the same operation from the same state now leads elsewhere (`was`). */
36
+ readonly change: 'added' | 'removed' | 'retargeted';
37
+ readonly was?: string;
38
+ /**
39
+ * What the operation declares it checks and who holds that key (#2384) — from `PERMISSIONS.md`
40
+ * now, or at the base for a removed transition. Absent when that file does not list the
41
+ * operation (it predates the Operations section, or there is no file): nothing is guessed.
42
+ */
43
+ readonly check?: TransitionCheck;
44
+ /** Set instead of `check` when that `PERMISSIONS.md`'s Operations table cannot be read, with why. */
45
+ readonly checkUnreadable?: string;
46
+ /**
47
+ * Set when `check` is absent and that `PERMISSIONS.md` says some modules' operations are not
48
+ * known (each a bare manifest): the operation may be one of theirs, so no other cause is named.
49
+ */
50
+ readonly operationsUnknownFor?: readonly string[];
51
+ }
52
+ /** One operation's declared check, joined to the roles and per-entity grant shapes holding it. */
53
+ export interface TransitionCheck {
54
+ /** `false`: the handler checks in code and declares nothing, so no key can be named. */
55
+ readonly declared: boolean;
56
+ readonly keys: readonly string[];
57
+ /** What the check narrows to, as `PERMISSIONS.md` words it ("one `list`, id from `listId`"). */
58
+ readonly checkedOn: string;
59
+ /** Roles holding any of `keys`. */
60
+ readonly roles: readonly string[];
61
+ /** Entity types whose grant shape gives any of `keys`, one record at a time. */
62
+ readonly grantShapes: readonly string[];
63
+ }
64
+ /** One row of the permission-diff table: a key whose description or holders moved. */
65
+ export interface PermissionRow {
66
+ readonly key: string;
67
+ readonly description: string;
68
+ /** Roles holding it at the base and now; `null` where the key does not exist on that side. */
69
+ readonly before: readonly string[] | null;
70
+ readonly after: readonly string[] | null;
71
+ }
72
+ export interface ConceptDelta {
73
+ readonly package: string;
74
+ readonly entities: {
75
+ readonly added: readonly string[];
76
+ readonly removed: readonly string[];
77
+ readonly changed: readonly {
78
+ readonly entity: string;
79
+ readonly changes: readonly Change[];
80
+ }[];
81
+ /** The model as a Mermaid `erDiagram`, at the base (`null`: the base has no model) and now. */
82
+ readonly before: string | null;
83
+ readonly after: string;
84
+ };
85
+ readonly lifecycles: {
86
+ readonly added: readonly string[];
87
+ readonly removed: readonly string[];
88
+ readonly transitions: readonly TransitionChange[];
89
+ /** Every classifier finding under `lifecycles.*` — states, terminal flags, `allow` lists. */
90
+ readonly changes: readonly Change[];
91
+ /** The changed and added lifecycles as they are now, one state diagram each. */
92
+ readonly after: readonly string[];
93
+ };
94
+ readonly permissions: {
95
+ readonly rows: readonly PermissionRow[];
96
+ /** Every classifier finding on `PERMISSIONS.md` — each flagged for the human checkpoint. */
97
+ readonly changes: readonly Change[];
98
+ };
99
+ readonly impact: {
100
+ readonly bump: Bump;
101
+ readonly changes: readonly Change[];
102
+ };
103
+ }
104
+ /** The delta between two sets of artifact texts. Pure: the git and filesystem half is {@link planFor}. */
105
+ export declare function conceptDelta(pkg: string, base: Artifacts, head: Artifacts): ConceptDelta;
106
+ /** Whether the delta changes anything at all — an empty one has nothing to approve. */
107
+ export declare const isEmpty: (d: ConceptDelta) => boolean;
108
+ /**
109
+ * The delta's identity: the first 12 hex of a SHA-256 over its canonical JSON. No date, ref or
110
+ * path is in a delta, so the same two trees give the same digest wherever they are compared.
111
+ */
112
+ export declare function digestOf(d: ConceptDelta): Promise<string>;
113
+ /** One sentence per part of the delta that moved, in the gate's own order. */
114
+ export declare function summaryOf(d: ConceptDelta): string;
115
+ export interface EntryInputs {
116
+ /** `YYYY-MM-DD` — the day it is approved. */
117
+ readonly date: string;
118
+ /** Why, in the owner's words. Absent in a proposal, where a placeholder stands in. */
119
+ readonly why?: string;
120
+ /** Who approved it: the person in the session. Absent in a proposal. */
121
+ readonly by?: string;
122
+ readonly digest: string;
123
+ }
124
+ /** The decisions-log entry, exactly as `--approve` writes it. */
125
+ export declare function entryFor(d: ConceptDelta, e: EntryInputs): string;
126
+ /** The delta as Markdown — what the design gate shows. Deterministic for the same inputs. */
127
+ export declare function renderDelta(d: ConceptDelta, opts: {
128
+ base: string;
129
+ digest: string;
130
+ date: string;
131
+ why?: string;
132
+ }): string;
133
+ /** The delta for the vertical at `dir` against the merge-base of `base` (default: the changesets base branch). */
134
+ export declare function planFor(dir: string, base?: string): {
135
+ delta: ConceptDelta;
136
+ base: string;
137
+ };
138
+ /**
139
+ * Insert `entry` as the last item of the `## …Decisions log…` section, before the next `##`
140
+ * heading. Refuses a document without that section: `lint:concept` asks for one, and an entry
141
+ * written anywhere else would not satisfy it.
142
+ */
143
+ export declare function appendDecision(markdown: string, entry: string): string;
144
+ export interface PlanOptions {
145
+ readonly base?: string;
146
+ readonly json: boolean;
147
+ readonly why?: string;
148
+ /** `YYYY-MM-DD`. The CLI passes today. */
149
+ readonly date: string;
150
+ /** The digest of the delta that was shown, when approving. */
151
+ readonly approve?: string;
152
+ readonly by?: string;
153
+ }
154
+ /**
155
+ * Why `--by` or `--why` cannot go into the entry, or `undefined`. A concept marker in it would be
156
+ * a second `<!-- substrat:… -->` in the document — every later sync and `lint:concept` refuses
157
+ * that — and any comment or line break would let one value write structure into concept.md.
158
+ */
159
+ export declare function entryTextProblem(value: string | undefined): string | undefined;
160
+ /** `substrat plan`, minus the process: what to print and the exit code. */
161
+ export declare function planCommand(dir: string, opts: PlanOptions): Promise<{
162
+ out: string[];
163
+ err: string[];
164
+ code: 0 | 1;
165
+ }>;
166
+ //# sourceMappingURL=plan.d.ts.map