@primmel/primmel 1.20.0 → 1.21.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/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 +428 -137
- 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/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 +14 -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 +9 -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/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 +14 -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 +1746 -1829
- package/dist-cli/primmel.mjs +1630 -845
- 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,25 @@
|
|
|
1
|
+
import type Standard from '../types/Standard';
|
|
2
|
+
export declare const CDDAL_PROJECTION_VERSION = "primmel-cddal/1";
|
|
3
|
+
export interface CddalExportStats {
|
|
4
|
+
/** Classes projected as class entities (instances of MDC_C002). */
|
|
5
|
+
classes: number;
|
|
6
|
+
/** Instances projected as subclass-of-one class entities. */
|
|
7
|
+
instances: number;
|
|
8
|
+
/** Property assignments emitted (exhibited values). */
|
|
9
|
+
assignments: number;
|
|
10
|
+
/** Class fields projected as MDC_C003 property entities. */
|
|
11
|
+
properties: number;
|
|
12
|
+
/** Enums projected as MDC_C005 value lists (with their value terms). */
|
|
13
|
+
valueLists: number;
|
|
14
|
+
}
|
|
15
|
+
export interface CddalExport {
|
|
16
|
+
version: typeof CDDAL_PROJECTION_VERSION;
|
|
17
|
+
cddal: string;
|
|
18
|
+
stats: CddalExportStats;
|
|
19
|
+
}
|
|
20
|
+
export declare function projectCddal(model: Standard, packageId: string, l10n?: Map<string, {
|
|
21
|
+
tag: string;
|
|
22
|
+
value: string;
|
|
23
|
+
}[]>): CddalExport;
|
|
24
|
+
export declare function exportPackageCddal(dir: string): CddalExport;
|
|
25
|
+
//# sourceMappingURL=cddal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cddal.d.ts","sourceRoot":"","sources":["../../../src/export/cddal.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAG9C,eAAO,MAAM,wBAAwB,oBAAoB,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,wBAAwB,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,gBAAgB,CAAC;CACzB;AA4ED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,GAAG,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAa,GAC9D,WAAW,CA6Gb;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAO3D"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// CDDAL export (TODO.reconfigure/04, "CDDAL interop"): the dictionary
|
|
4
|
+
// subset of a Primmel package projected into the CDD Authoring Language
|
|
5
|
+
// (opencdd/cddal-spec) for interop with the OpenCDD toolchain.
|
|
6
|
+
//
|
|
7
|
+
// The projection is POWER-TYPED, because CDD has no separate
|
|
8
|
+
// instance-entity: an individual is a subclass-of-one. The mapping:
|
|
9
|
+
//
|
|
10
|
+
// class C { a, b } → instance C < MDC_C002 {
|
|
11
|
+
// code: C
|
|
12
|
+
// superclass: UNIVERSE // or `extends`
|
|
13
|
+
// applicable_properties: { a, b }
|
|
14
|
+
// }
|
|
15
|
+
// instance s of C { a: 2.2 t } → instance s < MDC_C002 {
|
|
16
|
+
// code: s
|
|
17
|
+
// superclass: C // the `of`
|
|
18
|
+
// a: "2.2 t"
|
|
19
|
+
// }
|
|
20
|
+
//
|
|
21
|
+
// Every Primmel identifier survives verbatim (the class id, the
|
|
22
|
+
// instance id, the field ids); every exhibited value rides as a
|
|
23
|
+
// property assignment; the instance's `of` rides as the CDD
|
|
24
|
+
// superclass — the round-trip stability requirement (cddal-spec
|
|
25
|
+
// clause 11; kernel rule R5) holds with no exceptions on this subset.
|
|
26
|
+
//
|
|
27
|
+
// The projection also carries the definition layer's shape: every
|
|
28
|
+
// class field with a declared attribute definition projects as an
|
|
29
|
+
// MDC_C003 property entity (its code is the declared IRDI — the `irdi`
|
|
30
|
+
// facet or the `corresponds iec-cdd` concept — or the Primmel field
|
|
31
|
+
// id; its declaration name is the field's safe symbol, which
|
|
32
|
+
// applicable_properties references, the spec's own symbolic-reference
|
|
33
|
+
// pattern), and every enum projects as an MDC_C005 value list with one
|
|
34
|
+
// MDC_C010 value term per value.
|
|
35
|
+
//
|
|
36
|
+
// Primmel package includes are INLINED before the projection runs (the
|
|
37
|
+
// loader composes first), so a composed dictionary projects as one
|
|
38
|
+
// document — the same inclusion semantics CDDAL's import achieves
|
|
39
|
+
// textually; per-file CDDAL documents are a consumer choice, not a
|
|
40
|
+
// projection requirement. Language-tagged definition alternates ride
|
|
41
|
+
// the package's l10n files (text blocks whose trailing address
|
|
42
|
+
// segment names the element's field — the C89 tail rule in
|
|
43
|
+
// miniature): `definition.fra-Latn: "…"` beside the default `en`.
|
|
44
|
+
//
|
|
45
|
+
// ONE-WAY lossy projection like every interop projection: the CDDAL
|
|
46
|
+
// text is generated, never authored, never re-imported as truth.
|
|
47
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
exports.CDDAL_PROJECTION_VERSION = void 0;
|
|
50
|
+
exports.projectCddal = projectCddal;
|
|
51
|
+
exports.exportPackageCddal = exportPackageCddal;
|
|
52
|
+
const package_1 = require("../ser-des/package");
|
|
53
|
+
const node_fs_1 = require("node:fs");
|
|
54
|
+
const node_path_1 = require("node:path");
|
|
55
|
+
exports.CDDAL_PROJECTION_VERSION = 'primmel-cddal/1';
|
|
56
|
+
function escapeCddalString(s) {
|
|
57
|
+
return s.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
58
|
+
}
|
|
59
|
+
function quote(s) {
|
|
60
|
+
return `"${escapeCddalString(s)}"`;
|
|
61
|
+
}
|
|
62
|
+
/** A CDDAL identifier is [A-Za-z0-9_]; Primmel ids also carry hyphens
|
|
63
|
+
* and dots (smp-hbk-hlci-001, ref derives URNs). The NAME slot of an
|
|
64
|
+
* instance declaration must be a plain identifier, so a Primmel id
|
|
65
|
+
* rides there sanitized — the VERBATIM id rides the `code:` assignment
|
|
66
|
+
* (quoted when unsafe), which cddal-spec clause 11 names as the
|
|
67
|
+
* round-trip identity ("the same IRDI, code, and meta-class
|
|
68
|
+
* membership"). */
|
|
69
|
+
function safeSymbol(id) {
|
|
70
|
+
const s = id.replace(/[^A-Za-z0-9_]+/g, '_');
|
|
71
|
+
return /^[0-9]/.test(s) ? `N${s}` : s;
|
|
72
|
+
}
|
|
73
|
+
function isSafeIdentifier(id) {
|
|
74
|
+
return /^[A-Za-z_][A-Za-z0-9_]*$/.test(id);
|
|
75
|
+
}
|
|
76
|
+
/** A code assignment: the verbatim Primmel id. */
|
|
77
|
+
function codeAssignment(id) {
|
|
78
|
+
return isSafeIdentifier(id) ? id : quote(id);
|
|
79
|
+
}
|
|
80
|
+
/** A quantity assignment: the value with its unit, one token pair. */
|
|
81
|
+
function quantity(v) {
|
|
82
|
+
return quote(v.unit !== undefined && v.unit !== ''
|
|
83
|
+
? `${v.value} ${v.unit}`
|
|
84
|
+
: String(v.value));
|
|
85
|
+
}
|
|
86
|
+
/** One l10n alternate: `text <address> { spell <tag> "…" }` — indexed by
|
|
87
|
+
* the address's trailing `<id>.<field>` segment (the C89
|
|
88
|
+
* longest-prefix rule in miniature: a block addressed at an element's
|
|
89
|
+
* field belongs to that element's field). */
|
|
90
|
+
function readL10n(files, read) {
|
|
91
|
+
const out = new Map();
|
|
92
|
+
const block = /text\s+([\w./#-]+)\s*\{([\s\S]*?)\}/g;
|
|
93
|
+
const spell = /spell\s+([\w-]+)\s+"((?:[^"\\]|\\.)*)"/g;
|
|
94
|
+
for (const f of files.filter(f => /(^|\/)l10n\.[^/]+\.prl$/.test(f))) {
|
|
95
|
+
const src = read(f);
|
|
96
|
+
for (const m of src.matchAll(block)) {
|
|
97
|
+
const addr = m[1];
|
|
98
|
+
const tail = addr.split('/').pop() ?? addr;
|
|
99
|
+
for (const sp of (m[2] ?? '').matchAll(spell)) {
|
|
100
|
+
const list = out.get(tail) ?? [];
|
|
101
|
+
list.push({ tag: sp[1], value: sp[2] });
|
|
102
|
+
out.set(tail, list);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return out;
|
|
107
|
+
}
|
|
108
|
+
/** The language-tagged definitions for an element field, if the
|
|
109
|
+
* package's l10n files carry alternates. */
|
|
110
|
+
function l10nDefinitions(l10n, id, field) {
|
|
111
|
+
return l10n.get(`${id}.${field}`) ?? [];
|
|
112
|
+
}
|
|
113
|
+
function projectCddal(model, packageId, l10n = new Map()) {
|
|
114
|
+
const lines = [
|
|
115
|
+
`# ${exports.CDDAL_PROJECTION_VERSION} — the dictionary subset of ${packageId}`,
|
|
116
|
+
'# (generated by primmel export cddal — never authored, never re-imported)',
|
|
117
|
+
'',
|
|
118
|
+
];
|
|
119
|
+
const stats = {
|
|
120
|
+
classes: 0,
|
|
121
|
+
instances: 0,
|
|
122
|
+
assignments: 0,
|
|
123
|
+
properties: 0,
|
|
124
|
+
valueLists: 0,
|
|
125
|
+
};
|
|
126
|
+
const attrDefs = new Map((model.attributeDefinitions ?? []).map(a => [a.id, a]));
|
|
127
|
+
for (const c of model.dataclasses) {
|
|
128
|
+
stats.classes++;
|
|
129
|
+
lines.push(`instance ${safeSymbol(c.id)} < MDC_C002 {`);
|
|
130
|
+
lines.push(` code: ${codeAssignment(c.id)}`);
|
|
131
|
+
if (c.description) {
|
|
132
|
+
lines.push(` definition.en: ${quote(c.description)}`);
|
|
133
|
+
for (const alt of l10nDefinitions(l10n, c.id, 'description')) {
|
|
134
|
+
lines.push(` definition.${alt.tag}: ${quote(alt.value)}`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
lines.push(` superclass: ${c.extends !== undefined ? safeSymbol(c.extends) : 'UNIVERSE'}`);
|
|
138
|
+
if (c.attributes.length > 0) {
|
|
139
|
+
lines.push(` applicable_properties: { ${c.attributes.map(a => safeSymbol(a.id)).join(', ')} }`);
|
|
140
|
+
}
|
|
141
|
+
lines.push('}');
|
|
142
|
+
lines.push('');
|
|
143
|
+
// The definition layer: each field with a declared attribute
|
|
144
|
+
// definition projects as a property entity whose code is the
|
|
145
|
+
// declared IRDI where the definition carries one.
|
|
146
|
+
for (const a of c.attributes) {
|
|
147
|
+
const def = attrDefs.get(a.id);
|
|
148
|
+
if (!def) {
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
const irdi = def.irdi ||
|
|
152
|
+
def.correspondences?.find(x => x.scheme === 'iec-cdd')?.concept;
|
|
153
|
+
stats.properties++;
|
|
154
|
+
lines.push(`instance ${safeSymbol(a.id)} < MDC_C003 {`);
|
|
155
|
+
lines.push(` code: ${codeAssignment(irdi !== undefined && irdi !== '' ? irdi : a.id)}`);
|
|
156
|
+
if (def.definition) {
|
|
157
|
+
lines.push(` definition.en: ${quote(def.definition)}`);
|
|
158
|
+
for (const alt of l10nDefinitions(l10n, a.id, 'definition')) {
|
|
159
|
+
lines.push(` definition.${alt.tag}: ${quote(alt.value)}`);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
lines.push('}');
|
|
163
|
+
lines.push('');
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
for (const e of model.enums ?? []) {
|
|
167
|
+
stats.valueLists++;
|
|
168
|
+
lines.push(`instance ${safeSymbol(e.id)} < MDC_C005 {`);
|
|
169
|
+
lines.push(` code: ${codeAssignment(e.id)}`);
|
|
170
|
+
if (e.values.length > 0) {
|
|
171
|
+
lines.push(` MDC_P043: ( ${e.values.map(v => safeSymbol(v.id)).join(', ')} )`);
|
|
172
|
+
}
|
|
173
|
+
lines.push('}');
|
|
174
|
+
lines.push('');
|
|
175
|
+
for (const v of e.values) {
|
|
176
|
+
lines.push(`instance ${safeSymbol(v.id)} < MDC_C010 {`);
|
|
177
|
+
lines.push(` code: ${codeAssignment(v.id)}`);
|
|
178
|
+
lines.push('}');
|
|
179
|
+
lines.push('');
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
for (const inst of model.instances) {
|
|
183
|
+
stats.instances++;
|
|
184
|
+
lines.push(`instance ${safeSymbol(inst.id)} < MDC_C002 {`);
|
|
185
|
+
lines.push(` code: ${codeAssignment(inst.id)}`);
|
|
186
|
+
if (inst.of) {
|
|
187
|
+
lines.push(` superclass: ${safeSymbol(inst.of)}`);
|
|
188
|
+
}
|
|
189
|
+
for (const [id, v] of Object.entries(inst.has?.attributes ?? {})) {
|
|
190
|
+
stats.assignments++;
|
|
191
|
+
lines.push(` ${safeSymbol(id)}: ${quantity(v)}`);
|
|
192
|
+
}
|
|
193
|
+
lines.push('}');
|
|
194
|
+
lines.push('');
|
|
195
|
+
}
|
|
196
|
+
if (stats.classes === 0 && stats.instances === 0 && stats.valueLists === 0) {
|
|
197
|
+
throw new Error('no dictionary content: the CDDAL projection carries classes and instances');
|
|
198
|
+
}
|
|
199
|
+
return {
|
|
200
|
+
version: exports.CDDAL_PROJECTION_VERSION,
|
|
201
|
+
cddal: lines.join('\n'),
|
|
202
|
+
stats,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
function exportPackageCddal(dir) {
|
|
206
|
+
const model = (0, package_1.loadPackage)(dir);
|
|
207
|
+
const l10nFiles = (0, node_fs_1.readdirSync)(dir)
|
|
208
|
+
.filter(e => /^l10n\.[^/]+\.prl$/.test(e))
|
|
209
|
+
.map(e => (0, node_path_1.join)(dir, e));
|
|
210
|
+
const l10n = readL10n(l10nFiles, p => (0, node_fs_1.readFileSync)(p, 'utf8'));
|
|
211
|
+
return projectCddal(model, (0, node_path_1.basename)((0, node_path_1.resolve)(dir)), l10n);
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=cddal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cddal.js","sourceRoot":"","sources":["../../../src/export/cddal.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { PackageManifest } from '../types/Package';
|
|
|
3
3
|
import type Term from '../types/Term';
|
|
4
4
|
import type { ApplicabilityEntry } from '../types/Form';
|
|
5
5
|
import type { SpellingEntry } from '../types/Text';
|
|
6
|
+
import type AcceptanceDecision from '../types/Acceptance';
|
|
6
7
|
/**
|
|
7
8
|
* The projection shape version (semver'd by the document, not the
|
|
8
9
|
* package): a shape change — a field renamed, removed, or re-typed —
|
|
@@ -10,7 +11,7 @@ import type { SpellingEntry } from '../types/Text';
|
|
|
10
11
|
* additive fields within a version are legal (consumers ignore what
|
|
11
12
|
* they do not read).
|
|
12
13
|
*/
|
|
13
|
-
export declare const RETRIEVAL_PROJECTION = "primmel-retrieval/
|
|
14
|
+
export declare const RETRIEVAL_PROJECTION = "primmel-retrieval/2";
|
|
14
15
|
/**
|
|
15
16
|
* The facet shape version (ask 3 — the pre-flattened retrieval facet):
|
|
16
17
|
* semver'd independently of the projection — a facet key renamed,
|
|
@@ -26,7 +27,7 @@ export declare const RETRIEVAL_FACET_VERSION = "retrieval-facet/1";
|
|
|
26
27
|
*/
|
|
27
28
|
export type RetrievalFacet = Record<string, string>;
|
|
28
29
|
/** The unit kind vocabulary (the consumer's tokens where deployed). */
|
|
29
|
-
export type RetrievalUnitKind = 'requirement' | 'conformance_test' | 'term' | 'attribute' | 'behavior' | 'calculation' | 'formula' | 'symbol' | 'constraint' | 'characteristic' | 'table' | 'sequence' | 'note' | 'state_machine' | 'dimension';
|
|
30
|
+
export type RetrievalUnitKind = 'requirement' | 'conformance_test' | 'term' | 'attribute' | 'behavior' | 'calculation' | 'formula' | 'symbol' | 'constraint' | 'characteristic' | 'table' | 'sequence' | 'note' | 'state_machine' | 'dimension' | 'condition_set';
|
|
30
31
|
/**
|
|
31
32
|
* One provenance edge of a unit, normalized onto the DOCUMENT's own
|
|
32
33
|
* numbering (ask 1). `clause` is always the document's clause number —
|
|
@@ -76,6 +77,101 @@ export interface UnitPassport {
|
|
|
76
77
|
/** The unit's content hash (the currency signal — see the unit). */
|
|
77
78
|
content_hash: string;
|
|
78
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* The structured acceptance binding (the verdict triple, TODO.refactor/04's
|
|
82
|
+
* derive-once discipline): a requirement's `limit.accepts`, and the same
|
|
83
|
+
* shape per conformance-test criterion item. The limit predicate is an
|
|
84
|
+
* OCL FIELD — never the `"verdict op limit"` string a consumer had to
|
|
85
|
+
* split (the string the /1 projection emitted as `acceptance`).
|
|
86
|
+
*/
|
|
87
|
+
export interface RetrievalAccepts {
|
|
88
|
+
/** The verdict-registry id whose derived value the decision reads. */
|
|
89
|
+
verdict: string;
|
|
90
|
+
/** The comparison applied between the derived value and the limit. */
|
|
91
|
+
op: string;
|
|
92
|
+
/** The limit predicate (OCL) the comparison runs against. */
|
|
93
|
+
limit: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The structured acceptance decision rule (the shared AcceptanceDecision
|
|
97
|
+
* block — data/schemas/{rc,cc,verdicts}.yaml $defs/acceptanceDecision,
|
|
98
|
+
* OIML G 1-106 / R 91-2): how a limit comparison decides conformity.
|
|
99
|
+
* The /1 projection emitted only the rule token as a string; the full
|
|
100
|
+
* authored rule was dropped. Field names follow the wire schema.
|
|
101
|
+
*/
|
|
102
|
+
export interface RetrievalAcceptanceDecision {
|
|
103
|
+
/** shared_risk | guarded — absent when the package declares no rule
|
|
104
|
+
* (the consumer's schema defaults it to shared_risk). */
|
|
105
|
+
rule?: string;
|
|
106
|
+
/** The guard band narrowing the effective limit (guarded rule). */
|
|
107
|
+
guard_band?: {
|
|
108
|
+
kind: string;
|
|
109
|
+
value: number;
|
|
110
|
+
};
|
|
111
|
+
/** The reference-uncertainty budget (U:MPE ratio cap). */
|
|
112
|
+
uncertainty?: {
|
|
113
|
+
max_ratio_to_mpe: number;
|
|
114
|
+
};
|
|
115
|
+
/** The verdict criterion taxonomy (R 91-2, 6.1). */
|
|
116
|
+
criterion?: string;
|
|
117
|
+
/** The statistical-justification variant (R 91-2, 4.4). */
|
|
118
|
+
statistics?: {
|
|
119
|
+
method: string;
|
|
120
|
+
on_basis_of: string;
|
|
121
|
+
permits: string;
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* One criterion item of a conformance test's structured acceptance
|
|
126
|
+
* block (the cc.yaml testCriterion shape, kernel-typed — these never
|
|
127
|
+
* ride a raw string). `pass_if` and `accepts.limit` are the item's OCL,
|
|
128
|
+
* first-class; a criterion carries EITHER, never both.
|
|
129
|
+
*/
|
|
130
|
+
export interface RetrievalAcceptanceCriteriaItem {
|
|
131
|
+
/** The criterion's authored name. */
|
|
132
|
+
name: string;
|
|
133
|
+
/** The requirement id this criterion traces to. */
|
|
134
|
+
target?: string;
|
|
135
|
+
/** The verdict criterion taxonomy (I/MPE | D/NSFa | D/NSFd | n/a). */
|
|
136
|
+
criterion?: string;
|
|
137
|
+
/** The OCL boolean expression the item passes on. */
|
|
138
|
+
pass_if?: string;
|
|
139
|
+
/** The canonical verdict-registry binding (instead of pass_if). */
|
|
140
|
+
accepts?: RetrievalAccepts;
|
|
141
|
+
/** True for an optional criterion (never blocks the verdict). */
|
|
142
|
+
optional?: boolean;
|
|
143
|
+
description?: string;
|
|
144
|
+
/** The item's source-reference URN. */
|
|
145
|
+
reference?: string;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* The structured acceptance block. For a REQUIREMENT it is the authored
|
|
149
|
+
* `acceptance_criteria { … }` block read structured (the raw content is
|
|
150
|
+
* YAML, migrated 1:1 — parsed by the subset reader in yaml-lite.ts onto
|
|
151
|
+
* the rc.yaml acceptanceCriteria shape: `type`, `description`, `limit`
|
|
152
|
+
* `{ expression, operator, threshold_expression, unit }`, `tiers`, …).
|
|
153
|
+
* For a CONFORMANCE TEST it is the kernel-typed criteria assembled onto
|
|
154
|
+
* the cc.yaml shape. A requirement block that walks off the subset
|
|
155
|
+
* (free text, a keyword-form block) stays the RAW STRING — honest prose,
|
|
156
|
+
* never a failed parse dressed as structure.
|
|
157
|
+
*/
|
|
158
|
+
export type RetrievalAcceptanceCriteria = Record<string, unknown> | string;
|
|
159
|
+
/**
|
|
160
|
+
* One run-validity precondition (cc.yaml): evaluated BEFORE the
|
|
161
|
+
* acceptance limit — a violation VOIDS the run (`invalid`), never a
|
|
162
|
+
* fail. First-class (primmel-ts#84): out of the `payload` grab bag,
|
|
163
|
+
* the `check` OCL and the violation outcome as fields.
|
|
164
|
+
*/
|
|
165
|
+
export interface RetrievalPrecondition {
|
|
166
|
+
id: string;
|
|
167
|
+
/** The OCL run-validity check expression. */
|
|
168
|
+
check: string;
|
|
169
|
+
description?: string;
|
|
170
|
+
/** The verdict outcome when the check is violated (`invalid`). */
|
|
171
|
+
on_violation?: string;
|
|
172
|
+
/** Escalation when the check's inputs are unresolvable. */
|
|
173
|
+
on_unresolvable?: string;
|
|
174
|
+
}
|
|
79
175
|
/**
|
|
80
176
|
* One typed retrieval unit — the atom a RAG consumer indexes. Fields
|
|
81
177
|
* are omitted when the unit declares nothing for them (the canonical
|
|
@@ -111,10 +207,6 @@ export interface RetrievalUnit {
|
|
|
111
207
|
binds_to?: string[];
|
|
112
208
|
/** Requirement ids a conformance test verifies. */
|
|
113
209
|
targets?: string[];
|
|
114
|
-
/** The acceptance chain, compact (accepts triple / pass_if / criteria). */
|
|
115
|
-
acceptance?: string;
|
|
116
|
-
/** The raw acceptance-criteria block (requirements) when authored. */
|
|
117
|
-
acceptance_criteria?: string;
|
|
118
210
|
/** The verification method + description (requirements). */
|
|
119
211
|
verification?: {
|
|
120
212
|
method: string;
|
|
@@ -124,6 +216,53 @@ export interface RetrievalUnit {
|
|
|
124
216
|
channel?: string;
|
|
125
217
|
/** Requirement/test ids this unit depends on. */
|
|
126
218
|
dependencies?: string[];
|
|
219
|
+
/**
|
|
220
|
+
* The structured acceptance decision rule (ask 8 — primmel-ts#84):
|
|
221
|
+
* the shared AcceptanceDecision block as authored, on a requirement
|
|
222
|
+
* (limit.acceptance), a conformance test, or a characteristic. The
|
|
223
|
+
* /1 projection's `acceptance` STRING carried only the rule token
|
|
224
|
+
* (or, for requirements, the accepts triple flattened — now
|
|
225
|
+
* `accepts`); the compact summary still rides the passport.
|
|
226
|
+
*/
|
|
227
|
+
acceptance?: RetrievalAcceptanceDecision;
|
|
228
|
+
/**
|
|
229
|
+
* The structured verdict-registry binding `{ verdict, op, limit }`
|
|
230
|
+
* (ask 8) — a requirement's limit.accepts. The limit predicate is an
|
|
231
|
+
* OCL field; the /1 projection flattened the triple into the
|
|
232
|
+
* `acceptance` string a consumer had to split.
|
|
233
|
+
*/
|
|
234
|
+
accepts?: RetrievalAccepts;
|
|
235
|
+
/**
|
|
236
|
+
* The structured acceptance criteria (ask 8): the requirement's raw
|
|
237
|
+
* `acceptance_criteria` block read structured (the YAML-subset
|
|
238
|
+
* reader; the raw string itself when the block walks off the
|
|
239
|
+
* subset), the conformance test's kernel-typed criteria assembled.
|
|
240
|
+
* The /1 projection emitted the requirement's block as a raw YAML
|
|
241
|
+
* string inside the JSON — the consumer-side re-parse this field
|
|
242
|
+
* exists to eliminate.
|
|
243
|
+
*/
|
|
244
|
+
acceptance_criteria?: RetrievalAcceptanceCriteria;
|
|
245
|
+
/**
|
|
246
|
+
* The constraint's OCL invariant (the construct's own `check`
|
|
247
|
+
* keyword, first-class per ask 8). Also carried as `expression` —
|
|
248
|
+
* the generic machine-expression slot the passport and the
|
|
249
|
+
* consumer's grounding text read.
|
|
250
|
+
*/
|
|
251
|
+
check?: string;
|
|
252
|
+
/** The constraint's violation meaning — the construct's own words
|
|
253
|
+
* for what a violation IS. Also carried as `statement` (the generic
|
|
254
|
+
* prose slot). */
|
|
255
|
+
violation_meaning?: string;
|
|
256
|
+
/**
|
|
257
|
+
* The declared violation outcome (ask 8, first-class — out of
|
|
258
|
+
* `payload`): the constraint's `invalid | indeterminate`.
|
|
259
|
+
*/
|
|
260
|
+
on_violation?: string;
|
|
261
|
+
/**
|
|
262
|
+
* The run-validity preconditions (ask 8, first-class — out of
|
|
263
|
+
* `payload`), each with its OCL `check` and violation outcome.
|
|
264
|
+
*/
|
|
265
|
+
preconditions?: RetrievalPrecondition[];
|
|
127
266
|
/**
|
|
128
267
|
* The base prose value's spelling — the package's `default_spelling`
|
|
129
268
|
* (ISO 24229; ask 7). The default spelling's values live inline (the
|
|
@@ -316,6 +455,8 @@ export declare function collectClauses(el: {
|
|
|
316
455
|
export declare function termClauses(term: Term, baseUrn: string): RetrievalClause[];
|
|
317
456
|
/** The canonical-compact applicability summary: `dim=v1|v2; …`, sorted. */
|
|
318
457
|
export declare function applicabilitySummary(entries: ApplicabilityEntry[] | undefined): string;
|
|
458
|
+
/** The authored decision block → the structured decision object. */
|
|
459
|
+
export declare function acceptanceDecisionOf(a: AcceptanceDecision | null | undefined): RetrievalAcceptanceDecision | undefined;
|
|
319
460
|
/**
|
|
320
461
|
* The document-URN parts the facet flattens per unit, parsed with the
|
|
321
462
|
* deployed consumer's grammar (`urn:oiml:pub:<type>:<number>[:<year>]`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../../src/export/retrieval.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../../src/export/retrieval.ts"],"names":[],"mappings":"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"}
|