@primmel/primmel 1.20.0 → 1.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/src/check-rules.d.ts +1 -1
- package/dist/src/check-rules.d.ts.map +1 -1
- package/dist/src/check-rules.js +36 -15
- package/dist/src/check-rules.js.map +1 -1
- package/dist/src/check.d.ts +4 -0
- package/dist/src/check.d.ts.map +1 -1
- package/dist/src/check.js +446 -138
- package/dist/src/check.js.map +1 -1
- package/dist/src/export/cddal.d.ts +25 -0
- package/dist/src/export/cddal.d.ts.map +1 -0
- package/dist/src/export/cddal.js +213 -0
- package/dist/src/export/cddal.js.map +1 -0
- package/dist/src/export/retrieval.d.ts +147 -6
- package/dist/src/export/retrieval.d.ts.map +1 -1
- package/dist/src/export/retrieval.js +254 -25
- package/dist/src/export/retrieval.js.map +1 -1
- package/dist/src/export/unitsdb.d.ts +19 -0
- package/dist/src/export/unitsdb.d.ts.map +1 -0
- package/dist/src/export/unitsdb.js +82 -0
- package/dist/src/export/unitsdb.js.map +1 -0
- package/dist/src/export/yaml-lite.d.ts +13 -0
- package/dist/src/export/yaml-lite.d.ts.map +1 -0
- package/dist/src/export/yaml-lite.js +219 -0
- package/dist/src/export/yaml-lite.js.map +1 -0
- package/dist/src/instance-resolution.d.ts +19 -0
- package/dist/src/instance-resolution.d.ts.map +1 -1
- package/dist/src/instance-resolution.js +87 -1
- package/dist/src/instance-resolution.js.map +1 -1
- package/dist/src/model-diff.d.ts.map +1 -1
- package/dist/src/model-diff.js +0 -5
- package/dist/src/model-diff.js.map +1 -1
- package/dist/src/runtime.d.ts +143 -0
- package/dist/src/runtime.d.ts.map +1 -0
- package/dist/src/runtime.js +648 -0
- package/dist/src/runtime.js.map +1 -0
- package/dist/src/ser-des/config/artifact.d.ts.map +1 -1
- package/dist/src/ser-des/config/artifact.js +6 -0
- package/dist/src/ser-des/config/artifact.js.map +1 -1
- package/dist/src/ser-des/config/attestation.d.ts +5 -0
- package/dist/src/ser-des/config/attestation.d.ts.map +1 -0
- package/dist/src/ser-des/config/attestation.js +143 -0
- package/dist/src/ser-des/config/attestation.js.map +1 -0
- package/dist/src/ser-des/config/certificateTemplate.d.ts.map +1 -1
- package/dist/src/ser-des/config/certificateTemplate.js +7 -1
- package/dist/src/ser-des/config/certificateTemplate.js.map +1 -1
- package/dist/src/ser-des/config/data.d.ts.map +1 -1
- package/dist/src/ser-des/config/data.js +98 -0
- package/dist/src/ser-des/config/data.js.map +1 -1
- package/dist/src/ser-des/config/documentModule.js +5 -5
- package/dist/src/ser-des/config/documentModule.js.map +1 -1
- package/dist/src/ser-des/config/index.d.ts +8 -0
- package/dist/src/ser-des/config/index.d.ts.map +1 -1
- package/dist/src/ser-des/config/index.js +22 -49
- package/dist/src/ser-des/config/index.js.map +1 -1
- package/dist/src/ser-des/config/instance.d.ts.map +1 -1
- package/dist/src/ser-des/config/instance.js +24 -0
- package/dist/src/ser-des/config/instance.js.map +1 -1
- package/dist/src/ser-des/config/process.d.ts.map +1 -1
- package/dist/src/ser-des/config/process.js +8 -0
- package/dist/src/ser-des/config/process.js.map +1 -1
- package/dist/src/ser-des/config/processSequence.d.ts +19 -0
- package/dist/src/ser-des/config/processSequence.d.ts.map +1 -0
- package/dist/src/ser-des/config/processSequence.js +77 -0
- package/dist/src/ser-des/config/processSequence.js.map +1 -0
- package/dist/src/ser-des/config/quantity.d.ts +4 -1
- package/dist/src/ser-des/config/quantity.d.ts.map +1 -1
- package/dist/src/ser-des/config/quantity.js +63 -1
- package/dist/src/ser-des/config/quantity.js.map +1 -1
- package/dist/src/ser-des/config/subject.d.ts.map +1 -1
- package/dist/src/ser-des/config/subject.js +20 -0
- package/dist/src/ser-des/config/subject.js.map +1 -1
- package/dist/src/ser-des/index.d.ts +4 -1
- package/dist/src/ser-des/index.d.ts.map +1 -1
- package/dist/src/ser-des/index.js +3 -1
- package/dist/src/ser-des/index.js.map +1 -1
- package/dist/src/ser-des/package.d.ts.map +1 -1
- package/dist/src/ser-des/package.js +24 -7
- package/dist/src/ser-des/package.js.map +1 -1
- package/dist/src/ser-des/parse.d.ts +24 -0
- package/dist/src/ser-des/parse.d.ts.map +1 -1
- package/dist/src/ser-des/parse.js +69 -33
- package/dist/src/ser-des/parse.js.map +1 -1
- package/dist/src/ser-des/shape-front-end.d.ts +8 -0
- package/dist/src/ser-des/shape-front-end.d.ts.map +1 -0
- package/dist/src/ser-des/shape-front-end.js +215 -0
- package/dist/src/ser-des/shape-front-end.js.map +1 -0
- package/dist/src/ser-des/types.d.ts +4 -10
- package/dist/src/ser-des/types.d.ts.map +1 -1
- package/dist/src/types/Artifact.d.ts +7 -0
- package/dist/src/types/Artifact.d.ts.map +1 -1
- package/dist/src/types/Attestation.d.ts +60 -0
- package/dist/src/types/Attestation.d.ts.map +1 -0
- package/dist/src/types/Attestation.js +20 -0
- package/dist/src/types/Attestation.js.map +1 -0
- package/dist/src/types/CertificateTemplate.d.ts +4 -0
- package/dist/src/types/CertificateTemplate.d.ts.map +1 -1
- package/dist/src/types/DocumentModule.d.ts +1 -1
- package/dist/src/types/DocumentModule.d.ts.map +1 -1
- package/dist/src/types/Instance.d.ts +6 -2
- package/dist/src/types/Instance.d.ts.map +1 -1
- package/dist/src/types/ProcessModel.d.ts +0 -11
- package/dist/src/types/ProcessModel.d.ts.map +1 -1
- package/dist/src/types/ProcessModel.js +2 -28
- package/dist/src/types/ProcessModel.js.map +1 -1
- package/dist/src/types/Quantity.d.ts +22 -0
- package/dist/src/types/Quantity.d.ts.map +1 -1
- package/dist/src/types/Standard.d.ts +2 -13
- package/dist/src/types/Standard.d.ts.map +1 -1
- package/dist/src/types/Subject.d.ts +18 -0
- package/dist/src/types/Subject.d.ts.map +1 -1
- package/dist/src/types/data.d.ts +13 -0
- package/dist/src/types/data.d.ts.map +1 -1
- package/dist/src/types/process.d.ts +8 -0
- package/dist/src/types/process.d.ts.map +1 -1
- package/dist-browser/index.mjs +1756 -1832
- package/dist-cli/primmel.mjs +1659 -847
- package/package.json +15 -3
- package/dist/src/ser-des/config/processModel.d.ts +0 -13
- package/dist/src/ser-des/config/processModel.d.ts.map +0 -1
- package/dist/src/ser-des/config/processModel.js +0 -163
- package/dist/src/ser-des/config/processModel.js.map +0 -1
- package/dist/src/ser-des/config/storyline.d.ts +0 -7
- package/dist/src/ser-des/config/storyline.d.ts.map +0 -1
- package/dist/src/ser-des/config/storyline.js +0 -264
- package/dist/src/ser-des/config/storyline.js.map +0 -1
- package/dist/src/ser-des/config/workflowConfig.d.ts +0 -5
- package/dist/src/ser-des/config/workflowConfig.d.ts.map +0 -1
- package/dist/src/ser-des/config/workflowConfig.js +0 -129
- package/dist/src/ser-des/config/workflowConfig.js.map +0 -1
- package/dist/src/ser-des/config/workflowStage.d.ts +0 -5
- package/dist/src/ser-des/config/workflowStage.d.ts.map +0 -1
- package/dist/src/ser-des/config/workflowStage.js +0 -96
- package/dist/src/ser-des/config/workflowStage.js.map +0 -1
- package/dist/src/types/Storyline.d.ts +0 -62
- package/dist/src/types/Storyline.d.ts.map +0 -1
- package/dist/src/types/Storyline.js +0 -51
- package/dist/src/types/Storyline.js.map +0 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadUnitsDb = loadUnitsDb;
|
|
4
|
+
exports.unitsDbEntryFor = unitsDbEntryFor;
|
|
5
|
+
/**
|
|
6
|
+
* The UnitsDB binding (TODO.openapi/03 sibling; github oimlsmart/unitsdb):
|
|
7
|
+
* the deployment points UNITSDB_DIR at a unitsdb checkout and the export
|
|
8
|
+
* enriches condition-set entries with the DB's own semantics — the
|
|
9
|
+
* UnitsML identifier and the measurement SCALE of the entry's unit.
|
|
10
|
+
*
|
|
11
|
+
* The scale is the semantic the consumer needs: a `continuous_interval`
|
|
12
|
+
* unit (degree Celsius) compares by DIFFERENCES with an affine relation
|
|
13
|
+
* to its SI coherent unit; a `continuous_ratio` unit (volt, V/m, the
|
|
14
|
+
* percent ratio) compares by FACTOR. The numeric constants (the 273.15
|
|
15
|
+
* offset) stay with the package register — the DB names the scale, the
|
|
16
|
+
* register owns the number.
|
|
17
|
+
*/
|
|
18
|
+
const node_fs_1 = require("node:fs");
|
|
19
|
+
const node_path_1 = require("node:path");
|
|
20
|
+
function loadUnitsDb(dir) {
|
|
21
|
+
if (!dir) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const entries = [];
|
|
26
|
+
// unitsdb ships YAML; the loader reads the pre-converted JSON the
|
|
27
|
+
// checkout generates (units.json), never a YAML dependency
|
|
28
|
+
const jsonPath = (0, node_path_1.join)(dir, 'units.json');
|
|
29
|
+
if (!(0, node_fs_1.existsSync)(jsonPath)) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
const parsed = JSON.parse((0, node_fs_1.readFileSync)(jsonPath, 'utf8')).units;
|
|
33
|
+
if (!Array.isArray(parsed)) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
for (const u of parsed) {
|
|
37
|
+
const identifiers = (u.identifiers ?? []);
|
|
38
|
+
const unitsml = identifiers.find(i => i.type === 'unitsml')?.id;
|
|
39
|
+
if (!unitsml) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
const nist = identifiers.find(i => i.type === 'nist')?.id;
|
|
43
|
+
const scale = u.scale_reference?.id;
|
|
44
|
+
const symbols = (u.symbols ?? [])
|
|
45
|
+
.map(s => String(s.ascii ?? s.id))
|
|
46
|
+
.filter(Boolean);
|
|
47
|
+
const entry = {
|
|
48
|
+
unitsml,
|
|
49
|
+
...(nist ? { nist } : {}),
|
|
50
|
+
...(scale ? { scale } : {}),
|
|
51
|
+
symbols,
|
|
52
|
+
};
|
|
53
|
+
entries.push(entry);
|
|
54
|
+
}
|
|
55
|
+
const bySymbol = new Map();
|
|
56
|
+
const byUnitsml = new Map();
|
|
57
|
+
// the DB writes products with negative exponents (V*m^-1); the
|
|
58
|
+
// slash spelling (V/m) indexes alongside, so register symbols match
|
|
59
|
+
const spellings = (s) => [
|
|
60
|
+
s,
|
|
61
|
+
s.replace(/\*([a-zA-ZμΩ°]+)\^-1\b/g, '/$1'),
|
|
62
|
+
];
|
|
63
|
+
for (const e of entries) {
|
|
64
|
+
byUnitsml.set(e.unitsml, e);
|
|
65
|
+
for (const s of e.symbols) {
|
|
66
|
+
for (const sp of spellings(s)) {
|
|
67
|
+
bySymbol.set(sp, e);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return { bySymbol, byUnitsml };
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/** The DB entry for a condition-set entry's unit: matched by the
|
|
78
|
+
* register's symbol (degC, %, V/m) against the DB's ascii symbols. */
|
|
79
|
+
function unitsDbEntryFor(db, unit) {
|
|
80
|
+
return db?.bySymbol.get(unit) ?? null;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=unitsdb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unitsdb.js","sourceRoot":"","sources":["../../../src/export/unitsdb.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse one raw authored block (the requirement's `acceptance_criteria`
|
|
3
|
+
* above all) into the JSON value `yaml.safe_load` would produce — or
|
|
4
|
+
* `undefined` when the text is not a mapping of the subset (free text,
|
|
5
|
+
* a keyword-form block), signalling the caller to keep the raw string.
|
|
6
|
+
*
|
|
7
|
+
* The kernel keeps the block `trim()`-ed, which dedents the FIRST line
|
|
8
|
+
* to column 0 while its siblings keep the file indentation. The walk
|
|
9
|
+
* therefore tries the plausible base indents — the head line's own and
|
|
10
|
+
* its siblings' — and takes the first that consumes the whole block.
|
|
11
|
+
*/
|
|
12
|
+
export declare function parseYamlBlock(text: string): Record<string, unknown> | undefined;
|
|
13
|
+
//# sourceMappingURL=yaml-lite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yaml-lite.d.ts","sourceRoot":"","sources":["../../../src/export/yaml-lite.ts"],"names":[],"mappings":"AAoMA;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,GACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CA8BrC"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// The YAML-subset block reader (primmel/primmel-ts#84): the raw blocks
|
|
4
|
+
// the kernel keeps verbatim — a requirement's `acceptance_criteria`
|
|
5
|
+
// block above all — are YAML, migrated into the `.prl` source 1:1 and
|
|
6
|
+
// re-parsed consumer-side ever since. This reader is the upstream half
|
|
7
|
+
// of that retirement: the block mappings, block sequences, and flow
|
|
8
|
+
// scalars the migrated packages actually use, nothing more (no anchors,
|
|
9
|
+
// no flow collections, no multi-line plain scalars, no comments — a
|
|
10
|
+
// block carrying any of those walks off the subset and the caller keeps
|
|
11
|
+
// the raw string). The fidelity target is `yaml.safe_load` on the real
|
|
12
|
+
// corpus blocks, pinned by test.
|
|
13
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.parseYamlBlock = parseYamlBlock;
|
|
16
|
+
const NUMERIC = /^[-+]?(\d+\.?\d*|\.\d+)([eE][-+]?\d+)?$/;
|
|
17
|
+
/**
|
|
18
|
+
* The plain-scalar resolutions the subset makes: null, the booleans,
|
|
19
|
+
* the decimal numbers; every other token stays a string (quoted forms
|
|
20
|
+
* unquote first). Deliberately narrower than YAML 1.1 (no dates, no
|
|
21
|
+
* sexagesimals, no yes/no booleans) — none appear in the migrated
|
|
22
|
+
* blocks, and a string where PyYAML sees a date round-trips honestly
|
|
23
|
+
* where the reverse would not.
|
|
24
|
+
*/
|
|
25
|
+
function parseScalar(raw) {
|
|
26
|
+
const s = raw.trim();
|
|
27
|
+
if (s === '' || s === '~' || s === 'null' || s === 'Null' || s === 'NULL') {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
if (s === 'true' || s === 'True' || s === 'TRUE') {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
if (s === 'false' || s === 'False' || s === 'FALSE') {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
if (NUMERIC.test(s)) {
|
|
37
|
+
return Number(s);
|
|
38
|
+
}
|
|
39
|
+
if (s[0] === '"' || s[0] === "'") {
|
|
40
|
+
return unquote(s, s[0]);
|
|
41
|
+
}
|
|
42
|
+
return s;
|
|
43
|
+
}
|
|
44
|
+
/** A quoted scalar: double-quoted escapes, single-quoted doubling. */
|
|
45
|
+
function unquote(s, q) {
|
|
46
|
+
if (s.length < 2 || s[s.length - 1] !== q) {
|
|
47
|
+
return s;
|
|
48
|
+
}
|
|
49
|
+
const body = s.slice(1, -1);
|
|
50
|
+
if (q === "'") {
|
|
51
|
+
return body.replace(/''/g, "'");
|
|
52
|
+
}
|
|
53
|
+
let out = '';
|
|
54
|
+
for (let i = 0; i < body.length; i++) {
|
|
55
|
+
const c = body[i];
|
|
56
|
+
if (c !== '\\' || i === body.length - 1) {
|
|
57
|
+
out += c;
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
const e = body[++i];
|
|
61
|
+
if (e === 'n') {
|
|
62
|
+
out += '\n';
|
|
63
|
+
}
|
|
64
|
+
else if (e === 't') {
|
|
65
|
+
out += '\t';
|
|
66
|
+
}
|
|
67
|
+
else if (e === 'r') {
|
|
68
|
+
out += '\r';
|
|
69
|
+
}
|
|
70
|
+
else if (e === '0') {
|
|
71
|
+
out += '\0';
|
|
72
|
+
}
|
|
73
|
+
else if (e === '\\' || e === '"') {
|
|
74
|
+
out += e;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
out += '\\' + e;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return out;
|
|
81
|
+
}
|
|
82
|
+
/** The `key:` head of a mapping line — null when the line has none. */
|
|
83
|
+
function splitKey(text) {
|
|
84
|
+
const colon = text.indexOf(':');
|
|
85
|
+
if (colon <= 0) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
const key = text.slice(0, colon);
|
|
89
|
+
if (/[\s"']/.test(key)) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
return [key, text.slice(colon + 1)];
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Parse the block-mapping/sequence subset at `indent`; returns the
|
|
96
|
+
* index the walk stopped at. `lines` mutates in one place: a
|
|
97
|
+
* `- key: …` sequence item rewrites itself to its content at the
|
|
98
|
+
* item's inner indent, so the walk below sees a normal line.
|
|
99
|
+
*/
|
|
100
|
+
function parseValue(lines, i, indent) {
|
|
101
|
+
if (i >= lines.length) {
|
|
102
|
+
return [i, null];
|
|
103
|
+
}
|
|
104
|
+
const t = lines[i].text;
|
|
105
|
+
if (t === '-' || t.startsWith('- ')) {
|
|
106
|
+
return parseSequence(lines, i, indent);
|
|
107
|
+
}
|
|
108
|
+
return parseMapping(lines, i, indent);
|
|
109
|
+
}
|
|
110
|
+
function parseSequence(lines, i, indent) {
|
|
111
|
+
const out = [];
|
|
112
|
+
while (i < lines.length &&
|
|
113
|
+
lines[i].indent === indent &&
|
|
114
|
+
(lines[i].text === '-' || lines[i].text.startsWith('- '))) {
|
|
115
|
+
const content = lines[i].text === '-' ? '' : lines[i].text.slice(2).trim();
|
|
116
|
+
if (content === '') {
|
|
117
|
+
i++;
|
|
118
|
+
const next = i < lines.length ? lines[i].indent : -1;
|
|
119
|
+
if (next > indent) {
|
|
120
|
+
const [end, value] = parseValue(lines, i, next);
|
|
121
|
+
out.push(value);
|
|
122
|
+
i = end;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
out.push(null);
|
|
126
|
+
}
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
const nested = content === '-' || content.startsWith('- ');
|
|
130
|
+
if (nested || splitKey(content) !== null) {
|
|
131
|
+
// The item head becomes a normal line at the inner indent (the
|
|
132
|
+
// `- ` marker's width); the walk consumes the item's body.
|
|
133
|
+
lines[i] = { indent: indent + 2, text: content };
|
|
134
|
+
const [end, value] = nested
|
|
135
|
+
? parseSequence(lines, i, indent + 2)
|
|
136
|
+
: parseMapping(lines, i, indent + 2);
|
|
137
|
+
out.push(value);
|
|
138
|
+
i = end;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
out.push(parseScalar(content));
|
|
142
|
+
i++;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return [i, out];
|
|
146
|
+
}
|
|
147
|
+
function parseMapping(lines, i, indent) {
|
|
148
|
+
const map = {};
|
|
149
|
+
while (i < lines.length) {
|
|
150
|
+
const line = lines[i];
|
|
151
|
+
if (line.indent !== indent ||
|
|
152
|
+
line.text === '-' ||
|
|
153
|
+
line.text.startsWith('- ')) {
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
const kv = splitKey(line.text);
|
|
157
|
+
if (!kv) {
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
const [key, rest] = kv;
|
|
161
|
+
i++;
|
|
162
|
+
if (rest.trim() === '') {
|
|
163
|
+
const next = i < lines.length ? lines[i].indent : -1;
|
|
164
|
+
if (next > indent) {
|
|
165
|
+
const [end, value] = parseValue(lines, i, next);
|
|
166
|
+
map[key] = value;
|
|
167
|
+
i = end;
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
map[key] = null;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
map[key] = parseScalar(rest);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return [i, map];
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Parse one raw authored block (the requirement's `acceptance_criteria`
|
|
181
|
+
* above all) into the JSON value `yaml.safe_load` would produce — or
|
|
182
|
+
* `undefined` when the text is not a mapping of the subset (free text,
|
|
183
|
+
* a keyword-form block), signalling the caller to keep the raw string.
|
|
184
|
+
*
|
|
185
|
+
* The kernel keeps the block `trim()`-ed, which dedents the FIRST line
|
|
186
|
+
* to column 0 while its siblings keep the file indentation. The walk
|
|
187
|
+
* therefore tries the plausible base indents — the head line's own and
|
|
188
|
+
* its siblings' — and takes the first that consumes the whole block.
|
|
189
|
+
*/
|
|
190
|
+
function parseYamlBlock(text) {
|
|
191
|
+
const scanned = [];
|
|
192
|
+
for (const raw of text.split('\n')) {
|
|
193
|
+
if (raw.trim() === '') {
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
scanned.push({
|
|
197
|
+
indent: raw.length - raw.trimStart().length,
|
|
198
|
+
text: raw.trim(),
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
if (scanned.length === 0 || splitKey(scanned[0].text) === null) {
|
|
202
|
+
return undefined;
|
|
203
|
+
}
|
|
204
|
+
const bases = new Set([
|
|
205
|
+
scanned[0].indent,
|
|
206
|
+
scanned[1]?.indent ?? scanned[0].indent,
|
|
207
|
+
]);
|
|
208
|
+
for (const base of bases) {
|
|
209
|
+
// The candidate base may sit BELOW the dedented head line's column
|
|
210
|
+
// — the head rides virtually at the base for that walk.
|
|
211
|
+
const lines = scanned.map(l => l === scanned[0] && l.indent < base ? { indent: base, text: l.text } : l);
|
|
212
|
+
const [end, map] = parseMapping(lines, 0, base);
|
|
213
|
+
if (end === lines.length && Object.keys(map).length > 0) {
|
|
214
|
+
return map;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return undefined;
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=yaml-lite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yaml-lite.js","sourceRoot":"","sources":["../../../src/export/yaml-lite.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,25 @@ export interface InstancePath {
|
|
|
29
29
|
* consumed by the app, not by this resolver.
|
|
30
30
|
*/
|
|
31
31
|
export declare function parseInstancePath(path: string): InstancePath;
|
|
32
|
+
/**
|
|
33
|
+
* The PROTOTYPE HOP (the power-type discipline, definition side): a
|
|
34
|
+
* class whose `extends` names an INSTANCE specializes that individual.
|
|
35
|
+
* Following the class plane's extends links terminates at the prototype
|
|
36
|
+
* instance — the individual whose exhibited values the class's
|
|
37
|
+
* instances inherit. Class-to-class links are followed transitively;
|
|
38
|
+
* a dangling or cyclic chain yields null (the linter's C155/C156 own
|
|
39
|
+
* those findings).
|
|
40
|
+
*/
|
|
41
|
+
export declare function classPrototype(standard: Standard, classId: string): Instance | null;
|
|
42
|
+
/**
|
|
43
|
+
* The mixed delegation graph (the C155 cycle rule's substrate): for
|
|
44
|
+
* every instance, its continuation under the delegation law — the
|
|
45
|
+
* upward subject-chain link, else the `of` target when it names an
|
|
46
|
+
* instance, else the PROTOTYPE reached through an `of`-named class's
|
|
47
|
+
* extends chain. One edge per instance; a cycle over these edges would
|
|
48
|
+
* make the walk non-terminating.
|
|
49
|
+
*/
|
|
50
|
+
export declare function delegationSuccessors(standard: Standard): Map<string, string>;
|
|
32
51
|
/**
|
|
33
52
|
* The upward walk from one instance: [start, …, family]. At each node the
|
|
34
53
|
* next link is `model ?? group ?? family` (a sample links only its model;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-resolution.d.ts","sourceRoot":"","sources":["../../src/instance-resolution.ts"],"names":[],"mappings":"AAoDA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAC7B,kBAAkB,GAAG,UAAU,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAEtE;kEACkE;AAClE,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;gBAEvB,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM;CAKvD;AAED,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAE5E,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAKD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAoB5D;AAaD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,GACjB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"instance-resolution.d.ts","sourceRoot":"","sources":["../../src/instance-resolution.ts"],"names":[],"mappings":"AAoDA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAC7B,kBAAkB,GAAG,UAAU,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAEtE;kEACkE;AAClE,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;gBAEvB,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM;CAKvD;AAED,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAE5E,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAKD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAoB5D;AAaD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,GACd,QAAQ,GAAG,IAAI,CAkBjB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAsB5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,GACjB,QAAQ,EAAE,CA0DZ;AASD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,aAAa,GAAG,MAAM,CAiDxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,GACjB,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAkB5B;AAED;2BAC2B;AAC3B,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,GACjB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAYrB"}
|
|
@@ -53,6 +53,8 @@
|
|
|
53
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
54
|
exports.InstanceResolutionError = void 0;
|
|
55
55
|
exports.parseInstancePath = parseInstancePath;
|
|
56
|
+
exports.classPrototype = classPrototype;
|
|
57
|
+
exports.delegationSuccessors = delegationSuccessors;
|
|
56
58
|
exports.instanceChain = instanceChain;
|
|
57
59
|
exports.resolveInstanceValue = resolveInstanceValue;
|
|
58
60
|
exports.resolveInstanceAttributes = resolveInstanceAttributes;
|
|
@@ -101,6 +103,65 @@ function attributeScope(standard, attrId) {
|
|
|
101
103
|
return ((standard.attributeDefinitions ?? []).find(a => a.id === attrId)?.scope ??
|
|
102
104
|
'');
|
|
103
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* The PROTOTYPE HOP (the power-type discipline, definition side): a
|
|
108
|
+
* class whose `extends` names an INSTANCE specializes that individual.
|
|
109
|
+
* Following the class plane's extends links terminates at the prototype
|
|
110
|
+
* instance — the individual whose exhibited values the class's
|
|
111
|
+
* instances inherit. Class-to-class links are followed transitively;
|
|
112
|
+
* a dangling or cyclic chain yields null (the linter's C155/C156 own
|
|
113
|
+
* those findings).
|
|
114
|
+
*/
|
|
115
|
+
function classPrototype(standard, classId) {
|
|
116
|
+
const classes = new Map((standard.dataclasses ?? []).map(c => [c.id, c]));
|
|
117
|
+
const instances = new Map((standard.instances ?? []).map(i => [i.id, i]));
|
|
118
|
+
const seen = new Set([classId]);
|
|
119
|
+
let cur = classes.get(classId);
|
|
120
|
+
while (cur && cur.extends) {
|
|
121
|
+
const target = cur.extends;
|
|
122
|
+
if (seen.has(target)) {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
seen.add(target);
|
|
126
|
+
const inst = instances.get(target);
|
|
127
|
+
if (inst) {
|
|
128
|
+
return inst;
|
|
129
|
+
}
|
|
130
|
+
cur = classes.get(target);
|
|
131
|
+
}
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* The mixed delegation graph (the C155 cycle rule's substrate): for
|
|
136
|
+
* every instance, its continuation under the delegation law — the
|
|
137
|
+
* upward subject-chain link, else the `of` target when it names an
|
|
138
|
+
* instance, else the PROTOTYPE reached through an `of`-named class's
|
|
139
|
+
* extends chain. One edge per instance; a cycle over these edges would
|
|
140
|
+
* make the walk non-terminating.
|
|
141
|
+
*/
|
|
142
|
+
function delegationSuccessors(standard) {
|
|
143
|
+
const out = new Map();
|
|
144
|
+
for (const inst of standard.instances ?? []) {
|
|
145
|
+
const upward = inst.model || inst.group || inst.family;
|
|
146
|
+
if (upward) {
|
|
147
|
+
out.set(inst.id, upward);
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
if (!inst.of) {
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
const direct = (standard.instances ?? []).find(i => i.id === inst.of);
|
|
154
|
+
if (direct) {
|
|
155
|
+
out.set(inst.id, direct.id);
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
const prototype = classPrototype(standard, inst.of);
|
|
159
|
+
if (prototype) {
|
|
160
|
+
out.set(inst.id, prototype.id);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return out;
|
|
164
|
+
}
|
|
104
165
|
/**
|
|
105
166
|
* The upward walk from one instance: [start, …, family]. At each node the
|
|
106
167
|
* next link is `model ?? group ?? family` (a sample links only its model;
|
|
@@ -117,9 +178,34 @@ function instanceChain(standard, instanceId) {
|
|
|
117
178
|
}
|
|
118
179
|
const chain = [start];
|
|
119
180
|
const visited = new Set([start.id]);
|
|
181
|
+
const byId = new Map((standard.instances ?? []).map(i => [i.id, i]));
|
|
120
182
|
let current = start;
|
|
121
183
|
for (;;) {
|
|
122
|
-
|
|
184
|
+
// The power-type discipline: with no upward subject-chain link, an
|
|
185
|
+
// instance whose `of` names another instance continues the walk
|
|
186
|
+
// through it (every instance can serve as the definition of further
|
|
187
|
+
// instantiation — the C155 coherence rule keeps the two spellings
|
|
188
|
+
// from mixing on one instance).
|
|
189
|
+
const ofTarget = !current.model && !current.group && !current.family && current.of
|
|
190
|
+
? byId.get(current.of)
|
|
191
|
+
: undefined;
|
|
192
|
+
// The PROTOTYPE HOP: when the `of` names a CLASS whose extends
|
|
193
|
+
// names an instance, the walk continues through that individual —
|
|
194
|
+
// the class's instances inherit the prototype's exhibited values
|
|
195
|
+
// (class defaults stay outside the delegation walk, as they always
|
|
196
|
+
// were; the walk reads exhibited values only).
|
|
197
|
+
const prototype = ofTarget === undefined &&
|
|
198
|
+
!current.model &&
|
|
199
|
+
!current.group &&
|
|
200
|
+
!current.family &&
|
|
201
|
+
current.of
|
|
202
|
+
? classPrototype(standard, current.of)
|
|
203
|
+
: undefined;
|
|
204
|
+
const nextId = current.model ||
|
|
205
|
+
current.group ||
|
|
206
|
+
current.family ||
|
|
207
|
+
ofTarget?.id ||
|
|
208
|
+
prototype?.id;
|
|
123
209
|
if (!nextId) {
|
|
124
210
|
return chain;
|
|
125
211
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-resolution.js","sourceRoot":"","sources":["../../src/instance-resolution.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,EAAE;AACF,iCAAiC;AACjC,EAAE;AACF,yEAAyE;AACzE,mEAAmE;AACnE,EAAE;AACF,6BAA6B;AAC7B,0EAA0E;AAC1E,+EAA+E;AAC/E,wEAAwE;AACxE,oDAAoD;AACpD,wCAAwC;AACxC,2EAA2E;AAC3E,gEAAgE;AAChE,EAAE;AACF,cAAc;AACd,2EAA2E;AAC3E,qCAAqC;AACrC,2EAA2E;AAC3E,yEAAyE;AACzE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,qBAAqB;AACrB,EAAE;AACF,4DAA4D;AAC5D,qEAAqE;AACrE,sEAAsE;AACtE,gEAAgE;AAChE,qCAAqC;AACrC,0EAA0E;AAC1E,yEAAyE;AACzE,EAAE;AACF,oDAAoD;AACpD,qEAAqE;AACrE,wEAAwE;AACxE,yEAAyE;AACzE,kEAAkE;AAClE,uEAAuE;AACvE,iEAAiE;AACjE,sEAAsE;AACtE,wDAAwD;AACxD,uEAAuE;AACvE,uEAAuE;AACvE,EAAE;AACF,uEAAuE;AACvE,oDAAoD;AACpD,wEAAwE;;;AA8CxE,8CAoBC;AAsBD,
|
|
1
|
+
{"version":3,"file":"instance-resolution.js","sourceRoot":"","sources":["../../src/instance-resolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-diff.d.ts","sourceRoot":"","sources":["../../src/model-diff.ts"],"names":[],"mappings":"AAyDA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAI5B,MAAM,MAAM,QAAQ,GAClB,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,eAAe,CAAC;AAEzE,eAAO,MAAM,UAAU,EAAE,QAAQ,EAMhC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"model-diff.d.ts","sourceRoot":"","sources":["../../src/model-diff.ts"],"names":[],"mappings":"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"}
|
package/dist/src/model-diff.js
CHANGED
|
@@ -124,10 +124,8 @@ exports.TIER_BY_FIELD = {
|
|
|
124
124
|
certificateTemplates: 'secondary',
|
|
125
125
|
// The certification workflow step register (smart TODO.roadmap/40
|
|
126
126
|
// batch 3) — operational wiring, tertiary.
|
|
127
|
-
workflowConfigs: 'tertiary',
|
|
128
127
|
// The named pipeline stages (smart TODO.roadmap/40 batch 5) —
|
|
129
128
|
// operational wiring, tertiary.
|
|
130
|
-
workflowStages: 'tertiary',
|
|
131
129
|
// The verification pathways (smart TODO.roadmap/40 batch 3) —
|
|
132
130
|
// operational wiring, tertiary.
|
|
133
131
|
verificationPathways: 'tertiary',
|
|
@@ -167,7 +165,6 @@ exports.TIER_BY_FIELD = {
|
|
|
167
165
|
// Process models (smart TODO.roadmap/40 batch 2) are tertiary beside
|
|
168
166
|
// processes: the pipeline sequence/registers are the abstract-process
|
|
169
167
|
// model's file-level furniture.
|
|
170
|
-
processModels: 'tertiary',
|
|
171
168
|
// Document modules (smart TODO.roadmap/40 batch 2) are tertiary beside
|
|
172
169
|
// processes: the module is the pipeline's document-level furniture.
|
|
173
170
|
documentModules: 'tertiary',
|
|
@@ -193,8 +190,6 @@ exports.TIER_BY_FIELD = {
|
|
|
193
190
|
// the model.
|
|
194
191
|
informativeAnnexes: 'cross-cutting',
|
|
195
192
|
partAnnexes: 'cross-cutting',
|
|
196
|
-
demoWorlds: 'tertiary',
|
|
197
|
-
storylines: 'tertiary',
|
|
198
193
|
// Invariants (smart gap-close E9) are cross-cutting beside notes: the
|
|
199
194
|
// typed replacement for the note-family encoding — doctrine about the
|
|
200
195
|
// model, not machinery inside it (the enforcement claims point at the
|