@substrat-run/model-view 0.4.0 → 0.6.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/concept.d.ts +82 -7
- package/dist/concept.d.ts.map +1 -1
- package/dist/concept.js +132 -74
- package/dist/concept.js.map +1 -1
- package/package.json +2 -2
package/dist/concept.d.ts
CHANGED
|
@@ -37,15 +37,25 @@ export interface ConceptInputs {
|
|
|
37
37
|
}
|
|
38
38
|
/** The parts of a `PERMISSIONS.md` a concept document shows. */
|
|
39
39
|
export interface PermissionsView {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
/** The roles a person can be given. */
|
|
41
|
+
readonly roles: readonly RoleRowView[];
|
|
42
|
+
/**
|
|
43
|
+
* The roles declared `holder: 'system'` (K-55): a platform host's standing principal, never a
|
|
44
|
+
* person. Empty when the file has none, including one emitted before they existed.
|
|
45
|
+
*/
|
|
46
|
+
readonly systemRoles: readonly RoleRowView[];
|
|
44
47
|
readonly entityGrants: readonly {
|
|
45
48
|
readonly entityType: string;
|
|
46
49
|
readonly keys: readonly string[];
|
|
47
50
|
}[];
|
|
48
51
|
readonly descriptions: ReadonlyMap<string, string>;
|
|
52
|
+
/** Keys the registry marks reserved to a system principal. Empty when it has no such column. */
|
|
53
|
+
readonly reserved: ReadonlySet<string>;
|
|
54
|
+
/**
|
|
55
|
+
* Set when the Registry table is not the emitter's — the same shapes the bump classifier ranks
|
|
56
|
+
* major ({@link readRegistryTable}). `descriptions` and `reserved` are then empty, never a guess.
|
|
57
|
+
*/
|
|
58
|
+
readonly registryUnreadable?: string;
|
|
49
59
|
/**
|
|
50
60
|
* Operation → the keys it declares it checks and what the check narrows to (#2384). An
|
|
51
61
|
* operation with no declared key has `keys: []` and `declared: false`. `undefined` when the
|
|
@@ -76,6 +86,27 @@ export interface OperationCheckView {
|
|
|
76
86
|
*/
|
|
77
87
|
export declare class PermissionsFormatError extends Error {
|
|
78
88
|
}
|
|
89
|
+
/** A `## ` section of a `PERMISSIONS.md`, or a `### ` sub-section of one. */
|
|
90
|
+
export interface PermissionsSection {
|
|
91
|
+
/** The heading with its hashes and its number dropped: `Roles — as defined by…`. */
|
|
92
|
+
readonly title: string;
|
|
93
|
+
/** The text under the heading, up to the next heading of either level. */
|
|
94
|
+
readonly body: string;
|
|
95
|
+
}
|
|
96
|
+
/** A `## ` section with its `### ` sub-sections. */
|
|
97
|
+
export interface PermissionsSectionTree extends PermissionsSection {
|
|
98
|
+
readonly subsections: readonly PermissionsSection[];
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Every `## ` section of a `PERMISSIONS.md`, each with its `### ` sub-sections. A reader finds a
|
|
102
|
+
* section by its TITLE, never its number: `permission-diff` numbers everything after §3 by which
|
|
103
|
+
* sections a vertical has, so §4 is the grant shapes in one file and the schedules in the next. A
|
|
104
|
+
* section's `body` stops at its first sub-heading, so a sub-section's table (§2's `### 2a.
|
|
105
|
+
* System-held roles`) is never read as more rows of the section's own. The ONE split both readers
|
|
106
|
+
* make — this package's `parsePermissions` and the CLI's bump classifier — so they never disagree
|
|
107
|
+
* about which table a row belongs to.
|
|
108
|
+
*/
|
|
109
|
+
export declare function permissionsSections(md: string): PermissionsSectionTree[];
|
|
79
110
|
/**
|
|
80
111
|
* The modules whose operations the section says are NOT known (#2384): each registered as a bare
|
|
81
112
|
* manifest, with no operation map to read. Sorted; empty when the line is absent. Shared by both
|
|
@@ -90,9 +121,53 @@ export declare function operationsUnknownFor(section: string): string[];
|
|
|
90
121
|
*/
|
|
91
122
|
export declare function operationsTableProblem(section: string): string | undefined;
|
|
92
123
|
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
124
|
+
* §1's two layouts. `lint:permissions` adds the last column only once some key is reserved to a
|
|
125
|
+
* system principal (`holder: 'system'` on its declaration), so a table without it, from a vertical
|
|
126
|
+
* with nothing reserved or from an emitter older than the column, reads as nothing reserved.
|
|
127
|
+
*/
|
|
128
|
+
export declare const REGISTRY_HEADER: readonly ['Key', 'Description', 'Declared by'];
|
|
129
|
+
export declare const RESERVED_COLUMN = "Reserved to a system principal";
|
|
130
|
+
/** One row of `PERMISSIONS.md`'s Registry. */
|
|
131
|
+
export interface RegistryRowView {
|
|
132
|
+
readonly key: string;
|
|
133
|
+
/** The description and the declaring modules, as written. */
|
|
134
|
+
readonly terms: readonly string[];
|
|
135
|
+
readonly reserved: boolean;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* The Registry table (the text under its heading) read against its header: each row, or why it is
|
|
139
|
+
* not the table `lint:permissions` writes. The ONE judgement both readers make — this package's
|
|
140
|
+
* `parsePermissions` and the CLI's bump classifier — as {@link operationsTableProblem} is for
|
|
141
|
+
* Operations, so `substrat plan` never renders a registry the classifier ranks unreadable.
|
|
142
|
+
*/
|
|
143
|
+
export declare function readRegistryTable(section: string): {
|
|
144
|
+
rows: RegistryRowView[];
|
|
145
|
+
} | {
|
|
146
|
+
unreadable: string;
|
|
147
|
+
};
|
|
148
|
+
/** One row of `PERMISSIONS.md`'s §2: a role and the keys it holds. */
|
|
149
|
+
export interface RoleRowView {
|
|
150
|
+
readonly role: string;
|
|
151
|
+
readonly keys: readonly string[];
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* The Roles section as `lint:permissions` writes it: the table of the roles a person can be given,
|
|
155
|
+
* then, once some role is declared `holder: 'system'` (K-55), a `### 2a. System-held roles`
|
|
156
|
+
* sub-section with a table of the same shape. Each table is read under its own heading, so a
|
|
157
|
+
* system-held role is never a person's role and the second table's header is never a role named
|
|
158
|
+
* `Role`. A sub-section this does not know is returned in `unknown`: the bump classifier judges it,
|
|
159
|
+
* a view leaves it out. The ONE judgement both readers make, as {@link readRegistryTable} is for the
|
|
160
|
+
* Registry.
|
|
161
|
+
*/
|
|
162
|
+
export declare function readRolesSection(section: PermissionsSectionTree): {
|
|
163
|
+
roles: RoleRowView[];
|
|
164
|
+
systemRoles: RoleRowView[];
|
|
165
|
+
unknown: PermissionsSection[];
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* Read the registry (§1), roles (§2, system-held ones apart) and entity-narrowed grant shapes (§4)
|
|
169
|
+
* out of a `PERMISSIONS.md`. That file is `lint:permissions`' artifact of record, CI-gated against
|
|
170
|
+
* the running code, so reading it keeps this package free of the verticals it describes.
|
|
96
171
|
*/
|
|
97
172
|
export declare function parsePermissions(md: string): PermissionsView;
|
|
98
173
|
/**
|
package/dist/concept.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concept.d.ts","sourceRoot":"","sources":["../src/concept.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,YAAI,OAAO,EAAE,UAAU,EAAE,WAAW,CAAU,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAK/D,oDAAoD;AACpD,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,gEAAgE;AAChE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS
|
|
1
|
+
{"version":3,"file":"concept.d.ts","sourceRoot":"","sources":["../src/concept.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,YAAI,OAAO,EAAE,UAAU,EAAE,WAAW,CAAU,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAK/D,oDAAoD;AACpD,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,gEAAgE;AAChE,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,WAAW,EAAE,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,SAAS;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACpG,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,gGAAgG;IAChG,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC9D;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnD;AAED,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAQD;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;CAAG;AAUpD,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,oDAAoD;AACpD,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,QAAQ,CAAC,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACrD;AAcD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAKxE;AAOD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAG9D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAc1E;AAGD;;;;GAIG;AACH,eAAO,MAAM,eAAe,YAAI,KAAK,EAAE,aAAa,EAAE,aAAa,CAAU,CAAC;AAC9E,eAAO,MAAM,eAAe,mCAAmC,CAAC;AAEhE,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,eAAe,EAAE,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAgBvG;AASD,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAUD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,GAAG;IACjE,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B,CAOA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,CAsC5D;AA0GD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CA2BzD;AAED,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAc7E;AAoBD,mGAAmG;AACnG,qBAAa,kBAAmB,SAAQ,KAAK;CAAG;AAchD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,CAa3E;AAED,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMjE"}
|
package/dist/concept.js
CHANGED
|
@@ -36,25 +36,37 @@ function cells(line) {
|
|
|
36
36
|
*/
|
|
37
37
|
export class PermissionsFormatError extends Error {
|
|
38
38
|
}
|
|
39
|
+
/** The rows of the one table in `text`, header and rule dropped. */
|
|
40
|
+
const tableRows = (text) => text
|
|
41
|
+
.split('\n')
|
|
42
|
+
.filter((l) => l.trim().startsWith('|'))
|
|
43
|
+
.map(cells)
|
|
44
|
+
.slice(2);
|
|
45
|
+
/** `text` split at each line that opens with `marker`: the text before the first, and each part. */
|
|
46
|
+
function splitAt(text, marker) {
|
|
47
|
+
// Splitting on the marker itself, so a text that opens with a heading still has a lead ('').
|
|
48
|
+
const [lead = '', ...rest] = text.split(new RegExp(`^${marker}`, 'm'));
|
|
49
|
+
const parts = rest.map((part) => {
|
|
50
|
+
const nl = part.indexOf('\n');
|
|
51
|
+
const heading = nl < 0 ? part : part.slice(0, nl);
|
|
52
|
+
return { title: heading.replace(/^\d+[a-z]?\.\s*/, '').trim(), body: nl < 0 ? '' : part.slice(nl + 1) };
|
|
53
|
+
});
|
|
54
|
+
return { lead, parts };
|
|
55
|
+
}
|
|
39
56
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
57
|
+
* Every `## ` section of a `PERMISSIONS.md`, each with its `### ` sub-sections. A reader finds a
|
|
58
|
+
* section by its TITLE, never its number: `permission-diff` numbers everything after §3 by which
|
|
59
|
+
* sections a vertical has, so §4 is the grant shapes in one file and the schedules in the next. A
|
|
60
|
+
* section's `body` stops at its first sub-heading, so a sub-section's table (§2's `### 2a.
|
|
61
|
+
* System-held roles`) is never read as more rows of the section's own. The ONE split both readers
|
|
62
|
+
* make — this package's `parsePermissions` and the CLI's bump classifier — so they never disagree
|
|
63
|
+
* about which table a row belongs to.
|
|
44
64
|
*/
|
|
45
|
-
function
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const rows = [];
|
|
51
|
-
for (const line of lines.slice(at + 1)) {
|
|
52
|
-
if (line.startsWith('## '))
|
|
53
|
-
break;
|
|
54
|
-
if (line.trim().startsWith('|'))
|
|
55
|
-
rows.push(cells(line));
|
|
56
|
-
}
|
|
57
|
-
return rows.slice(2);
|
|
65
|
+
export function permissionsSections(md) {
|
|
66
|
+
return splitAt(md, '## ').parts.map(({ title, body }) => {
|
|
67
|
+
const { lead, parts } = splitAt(body, '### ');
|
|
68
|
+
return { title, body: lead, subsections: parts };
|
|
69
|
+
});
|
|
58
70
|
}
|
|
59
71
|
const OPERATIONS_HEADER = ['Operation', 'Key', 'Checked on', 'Declared by'];
|
|
60
72
|
const NO_OPERATIONS = '_No module here registers an operation._';
|
|
@@ -94,64 +106,107 @@ export function operationsTableProblem(section) {
|
|
|
94
106
|
return 'its table has no rows';
|
|
95
107
|
return undefined;
|
|
96
108
|
}
|
|
97
|
-
/**
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
109
|
+
/**
|
|
110
|
+
* §1's two layouts. `lint:permissions` adds the last column only once some key is reserved to a
|
|
111
|
+
* system principal (`holder: 'system'` on its declaration), so a table without it, from a vertical
|
|
112
|
+
* with nothing reserved or from an emitter older than the column, reads as nothing reserved.
|
|
113
|
+
*/
|
|
114
|
+
export const REGISTRY_HEADER = ['Key', 'Description', 'Declared by'];
|
|
115
|
+
export const RESERVED_COLUMN = 'Reserved to a system principal';
|
|
116
|
+
/**
|
|
117
|
+
* The Registry table (the text under its heading) read against its header: each row, or why it is
|
|
118
|
+
* not the table `lint:permissions` writes. The ONE judgement both readers make — this package's
|
|
119
|
+
* `parsePermissions` and the CLI's bump classifier — as {@link operationsTableProblem} is for
|
|
120
|
+
* Operations, so `substrat plan` never renders a registry the classifier ranks unreadable.
|
|
121
|
+
*/
|
|
122
|
+
export function readRegistryTable(section) {
|
|
123
|
+
const lines = section.split('\n').map((l) => l.trim()).filter((l) => l.startsWith('|'));
|
|
124
|
+
const [header = [], ...rest] = lines.map(cells);
|
|
125
|
+
const withColumn = header.join('|') === [...REGISTRY_HEADER, RESERVED_COLUMN].join('|');
|
|
126
|
+
if (!withColumn && header.join('|') !== REGISTRY_HEADER.join('|')) {
|
|
127
|
+
return { unreadable: `its header is not | ${REGISTRY_HEADER.join(' | ')} |, with or without | ${RESERVED_COLUMN} |` };
|
|
128
|
+
}
|
|
129
|
+
const rows = [];
|
|
130
|
+
for (const row of rest.filter((r) => !r.every((c) => /^:?-+:?$/.test(c)))) {
|
|
131
|
+
const key = unquote(row[0] ?? '');
|
|
132
|
+
// The reservation is the LAST cell, so a description's own pipe cannot move it.
|
|
133
|
+
const mark = withColumn ? row.at(-1) : '—';
|
|
134
|
+
if (mark !== 'yes' && mark !== '—')
|
|
135
|
+
return { unreadable: `the reservation of ${key} is neither yes nor —` };
|
|
136
|
+
rows.push({ key, terms: row.slice(1, withColumn ? -1 : undefined), reserved: mark === 'yes' });
|
|
137
|
+
}
|
|
138
|
+
return { rows };
|
|
105
139
|
}
|
|
106
140
|
const unquote = (s) => s.replace(/`/g, '');
|
|
107
141
|
const keysOf = (cell) => cell
|
|
108
142
|
.split(',')
|
|
109
143
|
.map((k) => unquote(k).trim())
|
|
110
144
|
.filter((k) => k !== '' && !k.startsWith('—'));
|
|
145
|
+
/** A table whose first cell names the row and whose second lists its keys, as §2 and §4 are. */
|
|
146
|
+
const keyedRows = (text) => tableRows(text)
|
|
147
|
+
.map(([name, keys]) => ({ name: unquote(name ?? ''), keys: keysOf(keys ?? '') }))
|
|
148
|
+
.filter((r) => r.name !== '');
|
|
149
|
+
const roleRows = (text) => keyedRows(text).map(({ name, keys }) => ({ role: name, keys }));
|
|
150
|
+
/**
|
|
151
|
+
* The Roles section as `lint:permissions` writes it: the table of the roles a person can be given,
|
|
152
|
+
* then, once some role is declared `holder: 'system'` (K-55), a `### 2a. System-held roles`
|
|
153
|
+
* sub-section with a table of the same shape. Each table is read under its own heading, so a
|
|
154
|
+
* system-held role is never a person's role and the second table's header is never a role named
|
|
155
|
+
* `Role`. A sub-section this does not know is returned in `unknown`: the bump classifier judges it,
|
|
156
|
+
* a view leaves it out. The ONE judgement both readers make, as {@link readRegistryTable} is for the
|
|
157
|
+
* Registry.
|
|
158
|
+
*/
|
|
159
|
+
export function readRolesSection(section) {
|
|
160
|
+
const system = section.subsections.filter((s) => /^System-held roles\b/.test(s.title));
|
|
161
|
+
return {
|
|
162
|
+
roles: roleRows(section.body),
|
|
163
|
+
systemRoles: system.flatMap((s) => roleRows(s.body)),
|
|
164
|
+
unknown: section.subsections.filter((s) => !system.includes(s)),
|
|
165
|
+
};
|
|
166
|
+
}
|
|
111
167
|
/**
|
|
112
|
-
* Read the registry (§1), roles (§2) and entity-narrowed grant shapes (§4)
|
|
113
|
-
* `PERMISSIONS.md`. That file is `lint:permissions`' artifact of record, CI-gated against
|
|
114
|
-
* running code, so reading it keeps this package free of the verticals it describes.
|
|
168
|
+
* Read the registry (§1), roles (§2, system-held ones apart) and entity-narrowed grant shapes (§4)
|
|
169
|
+
* out of a `PERMISSIONS.md`. That file is `lint:permissions`' artifact of record, CI-gated against
|
|
170
|
+
* the running code, so reading it keeps this package free of the verticals it describes.
|
|
115
171
|
*/
|
|
116
172
|
export function parsePermissions(md) {
|
|
117
|
-
const
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
173
|
+
const sections = permissionsSections(md);
|
|
174
|
+
const section = (title) => sections.find((s) => new RegExp(`^${title}\\b`).test(s.title));
|
|
175
|
+
const registrySection = section('Registry');
|
|
176
|
+
const rolesSection = section('Roles');
|
|
177
|
+
if ((registrySection === undefined || rolesSection === undefined) && section('No permission surface') === undefined) {
|
|
178
|
+
throw new PermissionsFormatError(`PERMISSIONS.md has no "${registrySection === undefined ? 'Registry' : 'Roles'}" section — regenerate it with \`pnpm lint:permissions\``);
|
|
121
179
|
}
|
|
180
|
+
const registry = registrySection === undefined ? { rows: [] } : readRegistryTable(registrySection.body);
|
|
122
181
|
const descriptions = new Map();
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
182
|
+
const reserved = new Set();
|
|
183
|
+
for (const r of 'rows' in registry ? registry.rows : []) {
|
|
184
|
+
const description = r.terms[0];
|
|
185
|
+
if (r.key && description)
|
|
186
|
+
descriptions.set(r.key, description);
|
|
187
|
+
if (r.reserved)
|
|
188
|
+
reserved.add(r.key);
|
|
126
189
|
}
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
const operationsUnreadable =
|
|
190
|
+
const registryView = { descriptions, reserved, ...('unreadable' in registry ? { registryUnreadable: registry.unreadable } : {}) };
|
|
191
|
+
const { roles, systemRoles } = rolesSection === undefined ? { roles: [], systemRoles: [] } : readRolesSection(rolesSection);
|
|
192
|
+
const entityGrants = keyedRows(section('Entity-narrowed grant shapes')?.body ?? '').map(({ name, keys }) => ({ entityType: name, keys }));
|
|
193
|
+
const view = { roles, systemRoles, entityGrants, ...registryView };
|
|
194
|
+
const opSection = section('Operations');
|
|
195
|
+
if (opSection === undefined)
|
|
196
|
+
return view;
|
|
197
|
+
const operationsUnreadable = operationsTableProblem(opSection.body);
|
|
135
198
|
if (operationsUnreadable !== undefined)
|
|
136
|
-
return {
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
return [unquote(op ?? ''), { keys: prose ? [] : keysOf(keys), checkedOn, declared: !/not declared/.test(keys) }];
|
|
148
|
-
}));
|
|
149
|
-
return {
|
|
150
|
-
roles,
|
|
151
|
-
entityGrants,
|
|
152
|
-
descriptions,
|
|
153
|
-
...(operations === undefined ? {} : { operations, operationsUnknownFor: operationsUnknownFor(opSection ?? '') }),
|
|
154
|
-
};
|
|
199
|
+
return { ...view, operationsUnreadable };
|
|
200
|
+
const operations = new Map(tableRows(opSection.body)
|
|
201
|
+
// A row an older kernel's binder left "not readable" says nothing about the operation:
|
|
202
|
+
// left out, as if unlisted, rather than read as "not declared".
|
|
203
|
+
.filter(([op, keys = '']) => op !== undefined && op.startsWith('`') && !/not readable/.test(keys))
|
|
204
|
+
.map(([op, keys = '', checkedOn = '']) => {
|
|
205
|
+
// A cell of prose ("— checked in code, not declared —") names no key; its commas are not a list.
|
|
206
|
+
const prose = keys.trim().startsWith('—');
|
|
207
|
+
return [unquote(op ?? ''), { keys: prose ? [] : keysOf(keys), checkedOn, declared: !/not declared/.test(keys) }];
|
|
208
|
+
}));
|
|
209
|
+
return { ...view, operations, operationsUnknownFor: operationsUnknownFor(opSection.body) };
|
|
155
210
|
}
|
|
156
211
|
const bySort = (xs, by) => [...xs].sort((a, b) => (by(a) < by(b) ? -1 : by(a) > by(b) ? 1 : 0));
|
|
157
212
|
const escapeCell = (s) => s.replace(/\|/g, '\\|').replace(/\n/g, ' ');
|
|
@@ -170,21 +225,24 @@ function renderRoles({ permissionsMd }) {
|
|
|
170
225
|
return '_No `PERMISSIONS.md` beside `model.json`, so no roles are listed. A vertical in the Substrat repository gets one from `pnpm lint:permissions`; a scaffolded project has no such command yet, so describe its roles in prose until it has._';
|
|
171
226
|
}
|
|
172
227
|
const view = parsePermissions(permissionsMd);
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
out.push('_No roles are defined._');
|
|
228
|
+
if (view.registryUnreadable !== undefined) {
|
|
229
|
+
throw new PermissionsFormatError(`PERMISSIONS.md's Registry cannot be read: ${view.registryUnreadable} — regenerate it with \`pnpm lint:permissions\``);
|
|
176
230
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}
|
|
231
|
+
/** A two-column table, one row per name, sorted, with its keys and their descriptions. */
|
|
232
|
+
const table = (header, rows) => [
|
|
233
|
+
header,
|
|
234
|
+
'| --- | --- |',
|
|
235
|
+
...bySort(rows, (r) => r.name).map((r) => `| \`${r.name}\` | ${renderKeys(r.keys, view.descriptions)} |`),
|
|
236
|
+
];
|
|
237
|
+
const out = view.roles.length > 0
|
|
238
|
+
? table('| Role | What they can do |', view.roles.map((r) => ({ name: r.role, keys: r.keys })))
|
|
239
|
+
: // With only system-held roles there ARE roles, just none a person can be given.
|
|
240
|
+
[view.systemRoles.length > 0 ? '_No role a person can be given is defined._' : '_No roles are defined._'];
|
|
241
|
+
if (view.systemRoles.length > 0) {
|
|
242
|
+
out.push('', 'Held by a platform host, never given to a person:', '', ...table('| Role | What it can do |', view.systemRoles.map((r) => ({ name: r.role, keys: r.keys }))));
|
|
182
243
|
}
|
|
183
244
|
if (view.entityGrants.length > 0) {
|
|
184
|
-
out.push('', 'Shared one record at a time, without a role:', '', '| Record | What the person it is shared with can do |',
|
|
185
|
-
for (const g of bySort(view.entityGrants, (x) => x.entityType)) {
|
|
186
|
-
out.push(`| \`${g.entityType}\` | ${renderKeys(g.keys, view.descriptions)} |`);
|
|
187
|
-
}
|
|
245
|
+
out.push('', 'Shared one record at a time, without a role:', '', ...table('| Record | What the person it is shared with can do |', view.entityGrants.map((g) => ({ name: g.entityType, keys: g.keys }))));
|
|
188
246
|
}
|
|
189
247
|
return out.join('\n');
|
|
190
248
|
}
|
package/dist/concept.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concept.js","sourceRoot":"","sources":["../src/concept.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"concept.js","sourceRoot":"","sources":["../src/concept.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/model-view",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Render an emitted Substrat model.json as one self-contained HTML page — the ER diagram, the entity cards, the declared lifecycles",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"dist"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@substrat-run/contracts": "0.
|
|
25
|
+
"@substrat-run/contracts": "0.153.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.20.5",
|