@primmel/primmel 1.19.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 +53 -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 +519 -132
- 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/conformanceTest.d.ts.map +1 -1
- package/dist/src/ser-des/config/conformanceTest.js +310 -0
- package/dist/src/ser-des/config/conformanceTest.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 +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/ConformanceTest.d.ts +86 -0
- package/dist/src/types/ConformanceTest.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 +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 +1659 -1629
- package/dist-cli/primmel.mjs +2015 -875
- 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
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
// consumer re-derives that projection and the re-derivation is where
|
|
13
13
|
// the mapping bugs live. This module is the UPSTREAM canonical form of
|
|
14
14
|
// that projection: one export, one contract, versioned as
|
|
15
|
-
// `primmel-retrieval/
|
|
15
|
+
// `primmel-retrieval/2`.
|
|
16
16
|
//
|
|
17
17
|
// The contract (the guarantees the issue asks for):
|
|
18
18
|
//
|
|
@@ -74,6 +74,24 @@
|
|
|
74
74
|
// participate in the content_hash; a text block addressed at an
|
|
75
75
|
// element the projection does not ship is counted
|
|
76
76
|
// (droppedTextBlocks), never silently lost.
|
|
77
|
+
// 8. THE STRUCTURED ACCEPTANCE (primmel/primmel-ts#84 — the
|
|
78
|
+
// normalize_unit retirement). The acceptance facet carries its
|
|
79
|
+
// structure as JSON, never as a string a consumer re-parses:
|
|
80
|
+
// `acceptance_criteria` is the authored block STRUCTURED (the
|
|
81
|
+
// requirement's raw YAML read by the subset parser in
|
|
82
|
+
// yaml-lite.ts; the conformance test's kernel-typed criteria
|
|
83
|
+
// assembled onto the cc.yaml shape — the items' `pass_if` /
|
|
84
|
+
// `accepts` OCL first-class), `accepts` is the verdict triple
|
|
85
|
+
// `{ verdict, op, limit }` (the limit predicate an OCL field, no
|
|
86
|
+
// longer a `"verdict op limit"` string to split), and `acceptance`
|
|
87
|
+
// is the acceptance DECISION object (rule, guard band, uncertainty
|
|
88
|
+
// budget, criterion taxonomy, statistics). The violation semantics
|
|
89
|
+
// surface top-level too: a constraint's `check` OCL,
|
|
90
|
+
// `violation_meaning`, and `on_violation`; a test's
|
|
91
|
+
// `preconditions` with their run-validity `check` OCL and
|
|
92
|
+
// `on_violation` — out of the `payload` grab bag. The passport
|
|
93
|
+
// keeps its compact acceptance SUMMARY string (v1 shape
|
|
94
|
+
// unchanged), composed from the structured fields.
|
|
77
95
|
//
|
|
78
96
|
// Congruence with the deployed consumer (oimlsmart/smart
|
|
79
97
|
// derive-model-plane.ts → oimlsmart/rag model_plane.py): the unit ids,
|
|
@@ -108,6 +126,7 @@ exports.normalizeClause = normalizeClause;
|
|
|
108
126
|
exports.collectClauses = collectClauses;
|
|
109
127
|
exports.termClauses = termClauses;
|
|
110
128
|
exports.applicabilitySummary = applicabilitySummary;
|
|
129
|
+
exports.acceptanceDecisionOf = acceptanceDecisionOf;
|
|
111
130
|
exports.retrievalDocParts = retrievalDocParts;
|
|
112
131
|
exports.retrievalFacet = retrievalFacet;
|
|
113
132
|
exports.resolveTextAddress = resolveTextAddress;
|
|
@@ -117,7 +136,9 @@ exports.exportPackageRetrieval = exportPackageRetrieval;
|
|
|
117
136
|
const node_crypto_1 = require("node:crypto");
|
|
118
137
|
const node_fs_1 = require("node:fs");
|
|
119
138
|
const node_path_1 = require("node:path");
|
|
139
|
+
const unitsdb_1 = require("./unitsdb");
|
|
120
140
|
const package_1 = require("../ser-des/package");
|
|
141
|
+
const yaml_lite_1 = require("./yaml-lite");
|
|
121
142
|
/**
|
|
122
143
|
* The projection shape version (semver'd by the document, not the
|
|
123
144
|
* package): a shape change — a field renamed, removed, or re-typed —
|
|
@@ -125,7 +146,7 @@ const package_1 = require("../ser-des/package");
|
|
|
125
146
|
* additive fields within a version are legal (consumers ignore what
|
|
126
147
|
* they do not read).
|
|
127
148
|
*/
|
|
128
|
-
exports.RETRIEVAL_PROJECTION = 'primmel-retrieval/
|
|
149
|
+
exports.RETRIEVAL_PROJECTION = 'primmel-retrieval/2';
|
|
129
150
|
/**
|
|
130
151
|
* The facet shape version (ask 3 — the pre-flattened retrieval facet):
|
|
131
152
|
* semver'd independently of the projection — a facet key renamed,
|
|
@@ -369,11 +390,113 @@ function passportOf(unit) {
|
|
|
369
390
|
expression: unit.expression ?? '',
|
|
370
391
|
units: unit.units ?? [],
|
|
371
392
|
applicability: applicabilitySummary(unit.applicability),
|
|
372
|
-
acceptance: unit
|
|
393
|
+
acceptance: acceptanceSummary(unit),
|
|
373
394
|
provenance: (unit.clauses ?? []).map(c => c.urn),
|
|
374
395
|
content_hash: unit.content_hash,
|
|
375
396
|
};
|
|
376
397
|
}
|
|
398
|
+
// ── the structured acceptance (ask 8, primmel-ts#84) ─────────────────
|
|
399
|
+
/** The authored decision block → the structured decision object. */
|
|
400
|
+
function acceptanceDecisionOf(a) {
|
|
401
|
+
if (!a) {
|
|
402
|
+
return undefined;
|
|
403
|
+
}
|
|
404
|
+
const out = {
|
|
405
|
+
...(present(a.rule) ? { rule: a.rule } : {}),
|
|
406
|
+
};
|
|
407
|
+
if (a.guardBand) {
|
|
408
|
+
out.guard_band = { kind: a.guardBand.kind, value: a.guardBand.value };
|
|
409
|
+
}
|
|
410
|
+
if (a.uncertainty) {
|
|
411
|
+
out.uncertainty = { max_ratio_to_mpe: a.uncertainty.maxRatioToMpe };
|
|
412
|
+
}
|
|
413
|
+
if (present(a.criterion)) {
|
|
414
|
+
out.criterion = a.criterion;
|
|
415
|
+
}
|
|
416
|
+
if (a.statistics) {
|
|
417
|
+
out.statistics = {
|
|
418
|
+
method: a.statistics.method,
|
|
419
|
+
on_basis_of: a.statistics.onBasisOf,
|
|
420
|
+
permits: a.statistics.permits,
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
424
|
+
}
|
|
425
|
+
/** The typed criterion of a conformance test → the wire-shape item. */
|
|
426
|
+
function criteriaItemOf(c) {
|
|
427
|
+
const item = { name: c.item };
|
|
428
|
+
if (present(c.requirementId)) {
|
|
429
|
+
item.target = c.requirementId;
|
|
430
|
+
}
|
|
431
|
+
if (present(c.criterion)) {
|
|
432
|
+
item.criterion = c.criterion;
|
|
433
|
+
}
|
|
434
|
+
if (present(c.passIf)) {
|
|
435
|
+
item.pass_if = c.passIf;
|
|
436
|
+
}
|
|
437
|
+
if (c.accepts) {
|
|
438
|
+
item.accepts = {
|
|
439
|
+
verdict: c.accepts.verdict,
|
|
440
|
+
op: c.accepts.op,
|
|
441
|
+
limit: c.accepts.limit,
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
if (c.optional) {
|
|
445
|
+
item.optional = true;
|
|
446
|
+
}
|
|
447
|
+
if (present(c.description)) {
|
|
448
|
+
item.description = c.description;
|
|
449
|
+
}
|
|
450
|
+
if (present(c.reference)) {
|
|
451
|
+
item.reference = c.reference;
|
|
452
|
+
}
|
|
453
|
+
return item;
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* The conformance test's typed criteria → the structured block (the
|
|
457
|
+
* cc.yaml shape): block-level `type` / `description` / `pass_if`, the
|
|
458
|
+
* criteria as `items`. Undefined when the test declares none of it.
|
|
459
|
+
*/
|
|
460
|
+
function testAcceptanceCriteriaOf(t) {
|
|
461
|
+
const out = {
|
|
462
|
+
...(present(t.acceptanceCriteriaType)
|
|
463
|
+
? { type: t.acceptanceCriteriaType }
|
|
464
|
+
: {}),
|
|
465
|
+
...(present(t.acceptanceCriteriaDescription)
|
|
466
|
+
? { description: t.acceptanceCriteriaDescription }
|
|
467
|
+
: {}),
|
|
468
|
+
...(present(t.acceptancePassIf) ? { pass_if: t.acceptancePassIf } : {}),
|
|
469
|
+
...(presentList(t.acceptanceCriteria)
|
|
470
|
+
? { items: t.acceptanceCriteria.map(criteriaItemOf) }
|
|
471
|
+
: {}),
|
|
472
|
+
};
|
|
473
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* The passport's acceptance summary — the compact string form of the
|
|
477
|
+
* structured fields, composed to the same bytes the /1 projection
|
|
478
|
+
* emitted (the passport v1 shape and its strings never move).
|
|
479
|
+
*/
|
|
480
|
+
function acceptanceSummary(unit) {
|
|
481
|
+
if (unit.accepts) {
|
|
482
|
+
return `${unit.accepts.verdict} ${unit.accepts.op} ${unit.accepts.limit}`;
|
|
483
|
+
}
|
|
484
|
+
const criteria = unit.acceptance_criteria;
|
|
485
|
+
if (criteria && typeof criteria === 'object') {
|
|
486
|
+
const passIf = criteria['pass_if'];
|
|
487
|
+
if (present(passIf)) {
|
|
488
|
+
return passIf;
|
|
489
|
+
}
|
|
490
|
+
const description = criteria['description'];
|
|
491
|
+
if (present(description)) {
|
|
492
|
+
return description;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
if (unit.acceptance?.rule) {
|
|
496
|
+
return unit.acceptance.rule;
|
|
497
|
+
}
|
|
498
|
+
return '';
|
|
499
|
+
}
|
|
377
500
|
const BASE_URN_PARTS = /^urn:oiml:pub:([rdbge]):(\d[\d-]*)(?::(\d{4}))?$/i;
|
|
378
501
|
function retrievalDocParts(baseUrn) {
|
|
379
502
|
const m = BASE_URN_PARTS.exec(baseUrn);
|
|
@@ -606,6 +729,10 @@ function scopeOf(id) {
|
|
|
606
729
|
const present = (s) => typeof s === 'string' && s.length > 0;
|
|
607
730
|
const presentList = (xs) => xs && xs.length > 0 ? xs : undefined;
|
|
608
731
|
function requirementUnit(r) {
|
|
732
|
+
const decision = acceptanceDecisionOf(r.limit?.acceptance);
|
|
733
|
+
const criteria = present(r.acceptanceCriteria)
|
|
734
|
+
? ((0, yaml_lite_1.parseYamlBlock)(r.acceptanceCriteria) ?? r.acceptanceCriteria)
|
|
735
|
+
: undefined;
|
|
609
736
|
return assemble({
|
|
610
737
|
id: r.id,
|
|
611
738
|
kind: 'requirement',
|
|
@@ -629,12 +756,15 @@ function requirementUnit(r) {
|
|
|
629
756
|
...(presentList(r.bindsTo) ? { binds_to: r.bindsTo } : {}),
|
|
630
757
|
...(r.limit?.accepts
|
|
631
758
|
? {
|
|
632
|
-
|
|
759
|
+
accepts: {
|
|
760
|
+
verdict: r.limit.accepts.verdict,
|
|
761
|
+
op: r.limit.accepts.op,
|
|
762
|
+
limit: r.limit.accepts.limit,
|
|
763
|
+
},
|
|
633
764
|
}
|
|
634
765
|
: {}),
|
|
635
|
-
...(
|
|
636
|
-
|
|
637
|
-
: {}),
|
|
766
|
+
...(decision ? { acceptance: decision } : {}),
|
|
767
|
+
...(criteria !== undefined ? { acceptance_criteria: criteria } : {}),
|
|
638
768
|
...(present(r.verificationMethod)
|
|
639
769
|
? {
|
|
640
770
|
verification: {
|
|
@@ -651,17 +781,9 @@ function conformanceTestUnit(t) {
|
|
|
651
781
|
const payload = {
|
|
652
782
|
...(present(t.kind) ? { test_kind: t.kind } : {}),
|
|
653
783
|
...(present(t.methodRef) ? { method_ref: t.methodRef } : {}),
|
|
654
|
-
...(presentList(t.preconditions)
|
|
655
|
-
? {
|
|
656
|
-
preconditions: t.preconditions.map(p => ({
|
|
657
|
-
id: p.id,
|
|
658
|
-
check: p.check,
|
|
659
|
-
description: p.description,
|
|
660
|
-
on_violation: p.onViolation,
|
|
661
|
-
})),
|
|
662
|
-
}
|
|
663
|
-
: {}),
|
|
664
784
|
};
|
|
785
|
+
const decision = acceptanceDecisionOf(t.acceptance);
|
|
786
|
+
const criteria = testAcceptanceCriteriaOf(t);
|
|
665
787
|
return assemble({
|
|
666
788
|
id: t.id,
|
|
667
789
|
kind: 'conformance_test',
|
|
@@ -676,11 +798,23 @@ function conformanceTestUnit(t) {
|
|
|
676
798
|
: {}),
|
|
677
799
|
...(presentList(t.targets) ? { targets: t.targets } : {}),
|
|
678
800
|
...(presentList(t.bindsTo) ? { binds_to: t.bindsTo } : {}),
|
|
679
|
-
...(
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
: {
|
|
801
|
+
...(decision ? { acceptance: decision } : {}),
|
|
802
|
+
...(criteria ? { acceptance_criteria: criteria } : {}),
|
|
803
|
+
...(presentList(t.preconditions)
|
|
804
|
+
? {
|
|
805
|
+
preconditions: t.preconditions.map(p => ({
|
|
806
|
+
id: p.id,
|
|
807
|
+
check: p.check,
|
|
808
|
+
...(present(p.description) ? { description: p.description } : {}),
|
|
809
|
+
...(present(p.onViolation)
|
|
810
|
+
? { on_violation: p.onViolation }
|
|
811
|
+
: {}),
|
|
812
|
+
...(present(p.onUnresolvable)
|
|
813
|
+
? { on_unresolvable: p.onUnresolvable }
|
|
814
|
+
: {}),
|
|
815
|
+
})),
|
|
816
|
+
}
|
|
817
|
+
: {}),
|
|
684
818
|
...(presentList(t.dependencies) ? { dependencies: t.dependencies } : {}),
|
|
685
819
|
...(Object.keys(payload).length > 0 ? { payload } : {}),
|
|
686
820
|
}, collectClauses(t));
|
|
@@ -836,9 +970,17 @@ function constraintUnit(c) {
|
|
|
836
970
|
...(present(c.name) ? { name: c.name } : {}),
|
|
837
971
|
...(present(c.violationMeaning) ? { statement: c.violationMeaning } : {}),
|
|
838
972
|
...(present(c.check) ? { expression: c.check } : {}),
|
|
973
|
+
// The violation semantics first-class (ask 8) — the construct's
|
|
974
|
+
// own keyword vocabulary, out of the payload grab bag. `statement`
|
|
975
|
+
// and `expression` stay: the generic prose/expression slots the
|
|
976
|
+
// passport and the consumer's grounding text read.
|
|
977
|
+
...(present(c.check) ? { check: c.check } : {}),
|
|
978
|
+
...(present(c.violationMeaning)
|
|
979
|
+
? { violation_meaning: c.violationMeaning }
|
|
980
|
+
: {}),
|
|
981
|
+
...(present(c.onViolation) ? { on_violation: c.onViolation } : {}),
|
|
839
982
|
payload: {
|
|
840
983
|
...(present(c.stereotype) ? { stereotype: c.stereotype } : {}),
|
|
841
|
-
...(present(c.onViolation) ? { on_violation: c.onViolation } : {}),
|
|
842
984
|
},
|
|
843
985
|
}, collectClauses(c));
|
|
844
986
|
}
|
|
@@ -862,8 +1004,8 @@ function characteristicUnit(v) {
|
|
|
862
1004
|
}
|
|
863
1005
|
: {}),
|
|
864
1006
|
...(units ? { units } : {}),
|
|
865
|
-
...(
|
|
866
|
-
? { acceptance: v.acceptance
|
|
1007
|
+
...(acceptanceDecisionOf(v.acceptance)
|
|
1008
|
+
? { acceptance: acceptanceDecisionOf(v.acceptance) }
|
|
867
1009
|
: {}),
|
|
868
1010
|
...(Object.keys(payload).length > 0 ? { payload } : {}),
|
|
869
1011
|
}, collectClauses(v));
|
|
@@ -922,6 +1064,79 @@ function sequenceUnit(s) {
|
|
|
922
1064
|
payload,
|
|
923
1065
|
}, collectClauses({ sourceRefs: s.sourceRefs, refs: s.refs }));
|
|
924
1066
|
}
|
|
1067
|
+
function conditionSetUnit(cs, registers, db = null) {
|
|
1068
|
+
// One operating-condition tier (reference/rated/limiting — the IEC
|
|
1069
|
+
// procedure packages' severity menus): the entries ride the payload
|
|
1070
|
+
// as typed quantity values (value + unit inseparable, tolerance the
|
|
1071
|
+
// SPECIFIED band per the quantity doctrine), resolved to SI through
|
|
1072
|
+
// the package's own quantity register, so a consumer can evaluate
|
|
1073
|
+
// membership and band checks without re-parsing prose.
|
|
1074
|
+
const unitsBySymbol = new Map();
|
|
1075
|
+
for (const reg of registers ?? []) {
|
|
1076
|
+
const siUnitByKind = new Map(reg.kinds.map(k => [k.id, k.siUnit]));
|
|
1077
|
+
for (const u of reg.units ?? []) {
|
|
1078
|
+
const siUnit = siUnitByKind.get(u.kind);
|
|
1079
|
+
if (siUnit) {
|
|
1080
|
+
unitsBySymbol.set(u.symbol, {
|
|
1081
|
+
kind: u.kind,
|
|
1082
|
+
factorToSI: u.factorToSI,
|
|
1083
|
+
offsetToSI: u.offsetToSI,
|
|
1084
|
+
siUnit,
|
|
1085
|
+
});
|
|
1086
|
+
}
|
|
1087
|
+
}
|
|
1088
|
+
}
|
|
1089
|
+
const siOf = (value, unit) => {
|
|
1090
|
+
const def = unitsBySymbol.get(unit);
|
|
1091
|
+
if (!def) {
|
|
1092
|
+
return undefined;
|
|
1093
|
+
}
|
|
1094
|
+
const n = Number(String(value).replace(',', '.'));
|
|
1095
|
+
if (!Number.isFinite(n)) {
|
|
1096
|
+
return undefined;
|
|
1097
|
+
}
|
|
1098
|
+
return { value: n * def.factorToSI + def.offsetToSI, unit: def.siUnit };
|
|
1099
|
+
};
|
|
1100
|
+
const payload = {
|
|
1101
|
+
role: cs.role,
|
|
1102
|
+
...(cs.subject ? { subject: cs.subject } : {}),
|
|
1103
|
+
entries: cs.entries.map(e => {
|
|
1104
|
+
const si = siOf(e.value, e.unit);
|
|
1105
|
+
const ud = (0, unitsdb_1.unitsDbEntryFor)(db, e.unit);
|
|
1106
|
+
return {
|
|
1107
|
+
quantity_kind: e.quantityKind,
|
|
1108
|
+
value: e.value,
|
|
1109
|
+
unit: e.unit,
|
|
1110
|
+
tolerance: e.tolerance,
|
|
1111
|
+
...(si ? { si } : {}),
|
|
1112
|
+
...(ud
|
|
1113
|
+
? {
|
|
1114
|
+
unitsdb: {
|
|
1115
|
+
unitsml: ud.unitsml,
|
|
1116
|
+
...(ud.scale ? { scale: ud.scale } : {}),
|
|
1117
|
+
},
|
|
1118
|
+
}
|
|
1119
|
+
: {}),
|
|
1120
|
+
...(e.note ? { note: e.note } : {}),
|
|
1121
|
+
};
|
|
1122
|
+
}),
|
|
1123
|
+
};
|
|
1124
|
+
return assemble({
|
|
1125
|
+
id: `/condition/${cs.id}`,
|
|
1126
|
+
kind: 'condition_set',
|
|
1127
|
+
name: cs.id,
|
|
1128
|
+
statement: [
|
|
1129
|
+
`${cs.role} condition set`,
|
|
1130
|
+
...(cs.description ? [cs.description] : []),
|
|
1131
|
+
...cs.entries.map(e => `${e.quantityKind.replace(/_/g, ' ')}: ${e.value} ${e.unit} ±${e.tolerance}`),
|
|
1132
|
+
].join(' — '),
|
|
1133
|
+
payload,
|
|
1134
|
+
}, collectClauses({
|
|
1135
|
+
sourceRefs: cs.sources,
|
|
1136
|
+
refs: cs.refs,
|
|
1137
|
+
source: cs.source,
|
|
1138
|
+
}));
|
|
1139
|
+
}
|
|
925
1140
|
function noteUnit(n) {
|
|
926
1141
|
return assemble({
|
|
927
1142
|
id: `/note/${n.id}`,
|
|
@@ -960,11 +1175,18 @@ function dimensionUnit(d) {
|
|
|
960
1175
|
const payload = {
|
|
961
1176
|
...(present(d.scope) ? { scope: d.scope } : {}),
|
|
962
1177
|
...(present(d.cardinality) ? { cardinality: d.cardinality } : {}),
|
|
1178
|
+
// The typed payload (the typed kernel R2): a value IS its
|
|
1179
|
+
// definition — the class's fields ride the value, and the class
|
|
1180
|
+
// reference rides the dimension.
|
|
1181
|
+
...(present(d.payloadClass) ? { payload_class: d.payloadClass } : {}),
|
|
963
1182
|
values: d.values.map(v => ({
|
|
964
1183
|
id: v.id,
|
|
965
1184
|
...(present(v.label) ? { label: v.label } : {}),
|
|
966
1185
|
...(presentList(v.implies) ? { implies: v.implies } : {}),
|
|
967
1186
|
...(present(v.termRef) ? { term_ref: v.termRef } : {}),
|
|
1187
|
+
...(Object.keys(v.payload ?? {}).length > 0
|
|
1188
|
+
? { payload: v.payload }
|
|
1189
|
+
: {}),
|
|
968
1190
|
})),
|
|
969
1191
|
};
|
|
970
1192
|
return assemble({
|
|
@@ -1030,6 +1252,10 @@ function packageBlock(standard) {
|
|
|
1030
1252
|
* the id projection, the clause normalization, the digests).
|
|
1031
1253
|
*/
|
|
1032
1254
|
function exportStandardRetrieval(standard, options = {}) {
|
|
1255
|
+
// The UnitsDB binding is environmental: UNITSDB_DIR names a unitsdb
|
|
1256
|
+
// checkout (units.json), and condition-set entries enrich with the
|
|
1257
|
+
// DB's identifiers and measurement scales. Absent, no enrichment.
|
|
1258
|
+
const unitsDb = (0, unitsdb_1.loadUnitsDb)(process.env.UNITSDB_DIR);
|
|
1033
1259
|
const pkg = packageBlock(standard);
|
|
1034
1260
|
// Build the unit contents paired with the KERNEL element id — the
|
|
1035
1261
|
// address a `text` block targets (a term's variants address
|
|
@@ -1073,6 +1299,9 @@ function exportStandardRetrieval(standard, options = {}) {
|
|
|
1073
1299
|
for (const s of standard.testSequences ?? []) {
|
|
1074
1300
|
push(sequenceUnit(s), s.id);
|
|
1075
1301
|
}
|
|
1302
|
+
for (const cs of standard.conditionSets ?? []) {
|
|
1303
|
+
push(conditionSetUnit(cs, standard.quantityRegisters, unitsDb), cs.id);
|
|
1304
|
+
}
|
|
1076
1305
|
for (const n of standard.notes ?? []) {
|
|
1077
1306
|
push(noteUnit(n), n.id);
|
|
1078
1307
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieval.js","sourceRoot":"","sources":["../../../src/export/retrieval.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"retrieval.js","sourceRoot":"","sources":["../../../src/export/retrieval.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface UnitsDbEntry {
|
|
2
|
+
/** The UnitsML identifier (u:degree_Celsius, u:volt, u:volt_per_meter). */
|
|
3
|
+
unitsml: string;
|
|
4
|
+
/** The NIST identifier (NISTu23). */
|
|
5
|
+
nist?: string;
|
|
6
|
+
/** The measurement scale (continuous_interval, continuous_ratio). */
|
|
7
|
+
scale?: string;
|
|
8
|
+
/** The symbols the unit is known by (ascii spellings, e.g. degC, V/m). */
|
|
9
|
+
symbols: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface UnitsDb {
|
|
12
|
+
bySymbol: Map<string, UnitsDbEntry>;
|
|
13
|
+
byUnitsml: Map<string, UnitsDbEntry>;
|
|
14
|
+
}
|
|
15
|
+
export declare function loadUnitsDb(dir: string | undefined): UnitsDb | null;
|
|
16
|
+
/** The DB entry for a condition-set entry's unit: matched by the
|
|
17
|
+
* register's symbol (degC, %, V/m) against the DB's ascii symbols. */
|
|
18
|
+
export declare function unitsDbEntryFor(db: UnitsDb | null, unit: string): UnitsDbEntry | null;
|
|
19
|
+
//# sourceMappingURL=unitsdb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unitsdb.d.ts","sourceRoot":"","sources":["../../../src/export/unitsdb.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACtC;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CA+DnE;AAED;uEACuE;AACvE,wBAAgB,eAAe,CAC7B,EAAE,EAAE,OAAO,GAAG,IAAI,EAClB,IAAI,EAAE,MAAM,GACX,YAAY,GAAG,IAAI,CAErB"}
|