@primmel/primmel 1.21.17 → 1.21.19

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.
Files changed (31) hide show
  1. package/dist/src/check-rules.d.ts.map +1 -1
  2. package/dist/src/check-rules.js +2 -1
  3. package/dist/src/check-rules.js.map +1 -1
  4. package/dist/src/check.d.ts.map +1 -1
  5. package/dist/src/check.js +82 -0
  6. package/dist/src/check.js.map +1 -1
  7. package/dist/src/ser-des/config/conformanceTest.d.ts.map +1 -1
  8. package/dist/src/ser-des/config/conformanceTest.js +7 -0
  9. package/dist/src/ser-des/config/conformanceTest.js.map +1 -1
  10. package/dist/src/ser-des/config/process.d.ts.map +1 -1
  11. package/dist/src/ser-des/config/process.js +4 -0
  12. package/dist/src/ser-des/config/process.js.map +1 -1
  13. package/dist/src/ser-des/config/quantity.d.ts.map +1 -1
  14. package/dist/src/ser-des/config/quantity.js +25 -7
  15. package/dist/src/ser-des/config/quantity.js.map +1 -1
  16. package/dist/src/ser-des/config/series.d.ts.map +1 -1
  17. package/dist/src/ser-des/config/series.js +11 -1
  18. package/dist/src/ser-des/config/series.js.map +1 -1
  19. package/dist/src/ser-des/config/subject.d.ts +1 -0
  20. package/dist/src/ser-des/config/subject.d.ts.map +1 -1
  21. package/dist/src/ser-des/config/subject.js +1 -0
  22. package/dist/src/ser-des/config/subject.js.map +1 -1
  23. package/dist/src/types/ConformanceTest.d.ts +4 -0
  24. package/dist/src/types/ConformanceTest.d.ts.map +1 -1
  25. package/dist/src/types/Quantity.d.ts +11 -0
  26. package/dist/src/types/Quantity.d.ts.map +1 -1
  27. package/dist/src/types/Series.d.ts +7 -0
  28. package/dist/src/types/Series.d.ts.map +1 -1
  29. package/dist-browser/index.mjs +34 -11
  30. package/dist-cli/primmel.mjs +137 -11
  31. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ConformanceTest.d.ts","sourceRoot":"","sources":["../../../src/types/ConformanceTest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConformanceTest.d.ts","sourceRoot":"","sources":["../../../src/types/ConformanceTest.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,13 @@
26
26
  */
27
27
  export interface QuantityValue {
28
28
  value: string | number;
29
+ /**
30
+ * The authored decimal literal when its form carries information the
31
+ * number loses (trailing zeros — the significant-figure statement,
32
+ * `2.10` vs `2.1`). Preserved verbatim on the wire; absent when the
33
+ * authored form is the number's canonical form.
34
+ */
35
+ valueLiteral?: string;
29
36
  /** Unit id or symbol — resolves in a quantity_register (C33). */
30
37
  unit?: string;
31
38
  /**
@@ -35,8 +42,12 @@ export interface QuantityValue {
35
42
  quantityKind?: string;
36
43
  /** Dispersion of a MEASURED value (exhibited side; GUM-shaped). */
37
44
  uncertainty?: string | number;
45
+ /** The authored literal of `uncertainty` (see valueLiteral). */
46
+ uncertaintyLiteral?: string;
38
47
  /** Symmetric band of a SPECIFIED value (designed side). */
39
48
  tolerance?: string | number;
49
+ /** The authored literal of `tolerance` (see valueLiteral). */
50
+ toleranceLiteral?: string;
40
51
  /**
41
52
  * Per-entry provenance (the typed kernel, clause 10): where the value
42
53
  * was read from, in the register's own words when the wording
@@ -1 +1 @@
1
- {"version":3,"file":"Quantity.d.ts","sourceRoot":"","sources":["../../../src/types/Quantity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,kBAAkB,EAAE,cAAc,EAAE,CAAC;CAC/D;AAED,uCAAuC;AACvC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,eAAe,CAAC,EAAE,OAAO,kBAAkB,EAAE,cAAc,EAAE,CAAC;CAC/D;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB"}
1
+ {"version":3,"file":"Quantity.d.ts","sourceRoot":"","sources":["../../../src/types/Quantity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,kBAAkB,EAAE,cAAc,EAAE,CAAC;CAC/D;AAED,uCAAuC;AACvC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,eAAe,CAAC,EAAE,OAAO,kBAAkB,EAAE,cAAc,EAAE,CAAC;CAC/D;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB"}
@@ -27,5 +27,12 @@ export interface SeriesDecl {
27
27
  cellSymbol: string;
28
28
  /** Measurement unit of the cell values. */
29
29
  cellUnit: string;
30
+ /**
31
+ * The record form whose typed fields are the row's members — the
32
+ * variable↔subform type link. A derivation's lambda member
33
+ * (`m.<field>`) resolves against the record form's fields (C182),
34
+ * so a collection derivation is kind-checked, never kind-silent.
35
+ */
36
+ record?: string;
30
37
  }
31
38
  //# sourceMappingURL=Series.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Series.d.ts","sourceRoot":"","sources":["../../../src/types/Series.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"Series.d.ts","sourceRoot":"","sources":["../../../src/types/Series.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -896,6 +896,10 @@ function me(e) {
896
896
  }, r = n(e), o = 0;
897
897
  for (; o < r.length;) {
898
898
  let e = r[o++];
899
+ if (e === "record") {
900
+ t.record = a(r[o++]);
901
+ continue;
902
+ }
899
903
  if (e !== "axis" && e !== "cell") {
900
904
  o < r.length && i(r[o - 1]);
901
905
  continue;
@@ -930,7 +934,7 @@ function me(e) {
930
934
  function he(e) {
931
935
  let t = "series { ";
932
936
  for (let n of e.axes) t += "axis " + n.id + " { ", n.unit && (t += "unit \"" + s(n.unit) + "\" "), n.type && (t += "type " + n.type + " "), n.role && (t += "role " + n.role + " "), t += "} ";
933
- return t += "cell { ", e.cellSymbol && (t += "symbol " + e.cellSymbol + " "), e.cellUnit && (t += "unit \"" + s(e.cellUnit) + "\" "), t += "} }", t;
937
+ return t += "cell { ", e.cellSymbol && (t += "symbol " + e.cellSymbol + " "), e.cellUnit && (t += "unit \"" + s(e.cellUnit) + "\" "), t += "} ", e.record !== void 0 && (t += "record " + e.record + " "), t += "}", t;
934
938
  }
935
939
  //#endregion
936
940
  //#region src/ser-des/config/sourceDiscrepancy.ts
@@ -1330,7 +1334,24 @@ function je(e) {
1330
1334
  for (; o < r.length;) {
1331
1335
  let e = r[o++];
1332
1336
  if (o >= r.length) break;
1333
- e === "value" ? t.value = B(r[o++]) : e === "unit" ? t.unit = a(r[o++]) : e === "kind" || e === "quantity_kind" ? t.quantityKind = a(r[o++]) : e === "uncertainty" ? t.uncertainty = B(r[o++]) : e === "tolerance" ? t.tolerance = B(r[o++]) : e === "provenance" ? t.provenance = Ne(i(r[o++])) : i(r[o++]);
1337
+ if (e === "value") {
1338
+ let e = r[o++];
1339
+ t.value = B(e);
1340
+ let n = a(e);
1341
+ typeof t.value == "number" && String(t.value) !== n && (t.valueLiteral = n);
1342
+ } else if (e === "unit") t.unit = a(r[o++]);
1343
+ else if (e === "kind" || e === "quantity_kind") t.quantityKind = a(r[o++]);
1344
+ else if (e === "uncertainty") {
1345
+ let e = r[o++];
1346
+ t.uncertainty = B(e);
1347
+ let n = a(e);
1348
+ typeof t.uncertainty == "number" && String(t.uncertainty) !== n && (t.uncertaintyLiteral = n);
1349
+ } else if (e === "tolerance") {
1350
+ let e = r[o++];
1351
+ t.tolerance = B(e);
1352
+ let n = a(e);
1353
+ typeof t.tolerance == "number" && String(t.tolerance) !== n && (t.toleranceLiteral = n);
1354
+ } else e === "provenance" ? t.provenance = Ne(i(r[o++])) : i(r[o++]);
1334
1355
  }
1335
1356
  return t;
1336
1357
  }
@@ -1355,14 +1376,14 @@ function V(e) {
1355
1376
  }
1356
1377
  function Fe(e) {
1357
1378
  if (!Me(e)) {
1358
- let t = V(e.value);
1379
+ let t = e.valueLiteral ?? V(e.value);
1359
1380
  return e.unit === void 0 ? t : t + " " + P(e.unit);
1360
1381
  }
1361
1382
  return Ie(e);
1362
1383
  }
1363
1384
  function Ie(e) {
1364
- let t = ["value " + V(e.value)];
1365
- return e.unit !== void 0 && t.push("unit \"" + s(e.unit) + "\""), e.quantityKind !== void 0 && t.push("kind " + P(e.quantityKind)), e.uncertainty !== void 0 && t.push("uncertainty " + V(e.uncertainty)), e.tolerance !== void 0 && t.push("tolerance " + V(e.tolerance)), e.provenance !== void 0 && t.push("provenance " + Pe(e.provenance)), "{ " + t.join(" ") + " }";
1385
+ let t = ["value " + (e.valueLiteral ?? V(e.value))];
1386
+ return e.unit !== void 0 && t.push("unit \"" + s(e.unit) + "\""), e.quantityKind !== void 0 && t.push("kind " + P(e.quantityKind)), e.uncertainty !== void 0 && t.push("uncertainty " + (e.uncertaintyLiteral ?? V(e.uncertainty))), e.tolerance !== void 0 && t.push("tolerance " + (e.toleranceLiteral ?? V(e.tolerance))), e.provenance !== void 0 && t.push("provenance " + Pe(e.provenance)), "{ " + t.join(" ") + " }";
1366
1387
  }
1367
1388
  //#endregion
1368
1389
  //#region src/ser-des/config/process.ts
@@ -1394,11 +1415,11 @@ function ze(e, t = !1) {
1394
1415
  if (e.length > 2) throw Error(`Parsing error: register "${n}" initial value has ${e.length} tokens (shape: name : type = value [unit]) — quote multi-word values`);
1395
1416
  if (e.length === 1 && e[0].startsWith("{")) u.initial = je(i(e[0]));
1396
1417
  else {
1397
- let [t, n] = e, r = B(t);
1398
- u.initial = n === void 0 ? { value: r } : {
1418
+ let [t, n] = e, r = B(t), i = n === void 0 ? { value: r } : {
1399
1419
  value: r,
1400
1420
  unit: a(n)
1401
1421
  };
1422
+ typeof r == "number" && String(r) !== a(t) && (i.valueLiteral = a(t)), u.initial = i;
1402
1423
  }
1403
1424
  }
1404
1425
  r.push(u);
@@ -5591,7 +5612,8 @@ var Li = function(e, t) {
5591
5612
  let t = r(i(s())), n = {
5592
5613
  performedBy: "",
5593
5614
  store: "",
5594
- trajectory: ""
5615
+ trajectory: "",
5616
+ inputs: []
5595
5617
  }, c = 0;
5596
5618
  for (; c < t.length;) {
5597
5619
  let r = t[c++];
@@ -5600,7 +5622,7 @@ var Li = function(e, t) {
5600
5622
  let r = a(t[c++]);
5601
5623
  if (r !== "laboratory" && r !== "manufacturer") throw Error(`Parsing error: conformance_test. ID ${e}: Unknown run performer ${r} (valid: laboratory, manufacturer)`);
5602
5624
  n.performedBy = r;
5603
- } else r === "store" ? n.store = a(t[c++]) : r === "trajectory" ? n.trajectory = a(t[c++]) : c = b(t, c, r);
5625
+ } else r === "store" ? n.store = a(t[c++]) : r === "trajectory" ? n.trajectory = a(t[c++]) : r === "inputs" ? n.inputs = U(t[c++]) : c = b(t, c, r);
5604
5626
  }
5605
5627
  o.run = n;
5606
5628
  } else if (t === "produces_artifacts") o.producesArtifacts = U(s());
@@ -5696,7 +5718,7 @@ var Li = function(e, t) {
5696
5718
  }
5697
5719
  t += n + "} }\n";
5698
5720
  }
5699
- if (e.inheritsFrom && (t += " inherits_from " + e.inheritsFrom + "\n"), e.resultForms.length > 0 && (t += " result_forms { " + e.resultForms.join(" ") + " }\n"), e.run && (t += " run {\n", e.run.performedBy && (t += " performed_by " + e.run.performedBy + "\n"), e.run.store && (t += " store " + e.run.store + "\n"), e.run.trajectory && (t += " trajectory " + e.run.trajectory + "\n"), t += " }\n"), e.producesArtifacts && e.producesArtifacts.length > 0 && (t += " produces_artifacts { " + e.producesArtifacts.join(" ") + " }\n"), e.reportRows && e.reportRows.length > 0 && (t += " report_rows { " + e.reportRows.join(" ") + " }\n"), e.derivedValues.length > 0) {
5721
+ if (e.inheritsFrom && (t += " inherits_from " + e.inheritsFrom + "\n"), e.resultForms.length > 0 && (t += " result_forms { " + e.resultForms.join(" ") + " }\n"), e.run && (t += " run {\n", e.run.performedBy && (t += " performed_by " + e.run.performedBy + "\n"), e.run.store && (t += " store " + e.run.store + "\n"), e.run.trajectory && (t += " trajectory " + e.run.trajectory + "\n"), e.run.inputs.length > 0 && (t += " inputs { " + e.run.inputs.join(" ") + " }\n"), t += " }\n"), e.producesArtifacts && e.producesArtifacts.length > 0 && (t += " produces_artifacts { " + e.producesArtifacts.join(" ") + " }\n"), e.reportRows && e.reportRows.length > 0 && (t += " report_rows { " + e.reportRows.join(" ") + " }\n"), e.derivedValues.length > 0) {
5700
5722
  t += " derived_values {\n";
5701
5723
  for (let n of e.derivedValues) t += " value " + n.name + " { expression \"" + s(n.expression) + "\" }\n";
5702
5724
  t += " }\n";
@@ -8095,7 +8117,8 @@ var us = function(e) {
8095
8117
  field: "conditionSets",
8096
8118
  takesID: !0,
8097
8119
  parse: Oo,
8098
- dump: Ao
8120
+ dump: Ao,
8121
+ deprecated: "the severity/condition register is the legacy spelling — migrate to the typed table construct (typed columns, typed rows; the values that decide testing bind in limits via table:<id>.<column>); the legacy spelling keeps parsing as visible debt"
8099
8122
  }, gs = {
8100
8123
  keyword: "subject",
8101
8124
  field: "subjects",
@@ -676,6 +676,10 @@ function parseSeriesDecl(block) {
676
676
  let i = 0;
677
677
  while (i < t.length) {
678
678
  const cmd = t[i++];
679
+ if (cmd === "record") {
680
+ decl.record = stripWrapping(t[i++]);
681
+ continue;
682
+ }
679
683
  if (cmd !== "axis" && cmd !== "cell") {
680
684
  if (i < t.length) {
681
685
  unwrapBlock(t[i - 1]);
@@ -753,7 +757,11 @@ function dumpSeriesDecl(decl) {
753
757
  if (decl.cellUnit) {
754
758
  out += 'unit "' + escapeString(decl.cellUnit) + '" ';
755
759
  }
756
- out += "} }";
760
+ out += "} ";
761
+ if (decl.record !== void 0) {
762
+ out += "record " + decl.record + " ";
763
+ }
764
+ out += "}";
757
765
  return out;
758
766
  }
759
767
 
@@ -2945,15 +2953,30 @@ function readQuantityBlock(content) {
2945
2953
  break;
2946
2954
  }
2947
2955
  if (cmd === "value") {
2948
- out.value = coerceValueToken(t[i++]);
2956
+ const rawTok = t[i++];
2957
+ out.value = coerceValueToken(rawTok);
2958
+ const bare = stripWrapping(rawTok);
2959
+ if (typeof out.value === "number" && String(out.value) !== bare) {
2960
+ out.valueLiteral = bare;
2961
+ }
2949
2962
  } else if (cmd === "unit") {
2950
2963
  out.unit = stripWrapping(t[i++]);
2951
2964
  } else if (cmd === "kind" || cmd === "quantity_kind") {
2952
2965
  out.quantityKind = stripWrapping(t[i++]);
2953
2966
  } else if (cmd === "uncertainty") {
2954
- out.uncertainty = coerceValueToken(t[i++]);
2967
+ const rawTok = t[i++];
2968
+ out.uncertainty = coerceValueToken(rawTok);
2969
+ const bare = stripWrapping(rawTok);
2970
+ if (typeof out.uncertainty === "number" && String(out.uncertainty) !== bare) {
2971
+ out.uncertaintyLiteral = bare;
2972
+ }
2955
2973
  } else if (cmd === "tolerance") {
2956
- out.tolerance = coerceValueToken(t[i++]);
2974
+ const rawTok = t[i++];
2975
+ out.tolerance = coerceValueToken(rawTok);
2976
+ const bare = stripWrapping(rawTok);
2977
+ if (typeof out.tolerance === "number" && String(out.tolerance) !== bare) {
2978
+ out.toleranceLiteral = bare;
2979
+ }
2957
2980
  } else if (cmd === "provenance") {
2958
2981
  out.provenance = readProvenanceBlock(unwrapBlock(t[i++]));
2959
2982
  } else {
@@ -3025,13 +3048,15 @@ function dumpScalarToken(v) {
3025
3048
  }
3026
3049
  function dumpQuantityValue(v) {
3027
3050
  if (!needsQuantityBlock(v)) {
3028
- const val = dumpScalarToken(v.value);
3051
+ const val = v.valueLiteral ?? dumpScalarToken(v.value);
3029
3052
  return v.unit === void 0 ? val : val + " " + dumpBareSafe(v.unit);
3030
3053
  }
3031
3054
  return dumpQuantityBlock(v);
3032
3055
  }
3033
3056
  function dumpQuantityBlock(v) {
3034
- const parts = ["value " + dumpScalarToken(v.value)];
3057
+ const parts = [
3058
+ "value " + (v.valueLiteral ?? dumpScalarToken(v.value))
3059
+ ];
3035
3060
  if (v.unit !== void 0) {
3036
3061
  parts.push('unit "' + escapeString(v.unit) + '"');
3037
3062
  }
@@ -3039,10 +3064,14 @@ function dumpQuantityBlock(v) {
3039
3064
  parts.push("kind " + dumpBareSafe(v.quantityKind));
3040
3065
  }
3041
3066
  if (v.uncertainty !== void 0) {
3042
- parts.push("uncertainty " + dumpScalarToken(v.uncertainty));
3067
+ parts.push(
3068
+ "uncertainty " + (v.uncertaintyLiteral ?? dumpScalarToken(v.uncertainty))
3069
+ );
3043
3070
  }
3044
3071
  if (v.tolerance !== void 0) {
3045
- parts.push("tolerance " + dumpScalarToken(v.tolerance));
3072
+ parts.push(
3073
+ "tolerance " + (v.toleranceLiteral ?? dumpScalarToken(v.tolerance))
3074
+ );
3046
3075
  }
3047
3076
  if (v.provenance !== void 0) {
3048
3077
  parts.push("provenance " + dumpProvenanceBlock(v.provenance));
@@ -3107,6 +3136,9 @@ function parseParamList(block, allowInitial = false) {
3107
3136
  const [rawValue, rawUnit] = parts;
3108
3137
  const value = coerceValueToken(rawValue);
3109
3138
  const initial = rawUnit === void 0 ? { value } : { value, unit: stripWrapping(rawUnit) };
3139
+ if (typeof value === "number" && String(value) !== stripWrapping(rawValue)) {
3140
+ initial.valueLiteral = stripWrapping(rawValue);
3141
+ }
3110
3142
  param.initial = initial;
3111
3143
  }
3112
3144
  }
@@ -10159,7 +10191,8 @@ var parseConformanceTest = function(id, data) {
10159
10191
  const run = {
10160
10192
  performedBy: "",
10161
10193
  store: "",
10162
- trajectory: ""
10194
+ trajectory: "",
10195
+ inputs: []
10163
10196
  };
10164
10197
  let ri = 0;
10165
10198
  while (ri < rt.length) {
@@ -10181,6 +10214,8 @@ var parseConformanceTest = function(id, data) {
10181
10214
  run.store = stripWrapping(rt[ri++]);
10182
10215
  } else if (rk === "trajectory") {
10183
10216
  run.trajectory = stripWrapping(rt[ri++]);
10217
+ } else if (rk === "inputs") {
10218
+ run.inputs = readStringList(rt[ri++]);
10184
10219
  } else {
10185
10220
  ri = skipUnknownValue(rt, ri, rk);
10186
10221
  }
@@ -10498,6 +10533,9 @@ var dumpConformanceTest = function(ct) {
10498
10533
  if (ct.run.trajectory) {
10499
10534
  out += " trajectory " + ct.run.trajectory + "\n";
10500
10535
  }
10536
+ if (ct.run.inputs.length > 0) {
10537
+ out += " inputs { " + ct.run.inputs.join(" ") + " }\n";
10538
+ }
10501
10539
  out += " }\n";
10502
10540
  }
10503
10541
  if (ct.producesArtifacts && ct.producesArtifacts.length > 0) {
@@ -15314,7 +15352,8 @@ var conditionSetConstruct = {
15314
15352
  field: "conditionSets",
15315
15353
  takesID: true,
15316
15354
  parse: parseConditionSet,
15317
- dump: dumpConditionSet
15355
+ dump: dumpConditionSet,
15356
+ deprecated: "the severity/condition register is the legacy spelling \u2014 migrate to the typed table construct (typed columns, typed rows; the values that decide testing bind in limits via table:<id>.<column>); the legacy spelling keeps parsing as visible debt"
15318
15357
  };
15319
15358
  var subjectConstruct = {
15320
15359
  keyword: "subject",
@@ -23591,7 +23630,7 @@ var CHECK_RULES = [
23591
23630
  "coverage",
23592
23631
  "error",
23593
23632
  "normal",
23594
- "the run facet of a conformance test declares the execution: the performer is in the closed vocabulary (laboratory | manufacturer), the store names a declared data_registry, the trajectory names a declared state_machine"
23633
+ "the run facet of a conformance test declares the execution: the performer is in the closed vocabulary (laboratory | manufacturer), the store names a declared data_registry, the trajectory names a declared state_machine, the applied inputs name the test\u2019s declared-source variables (a measured variable is an output, never an input)"
23595
23634
  ),
23596
23635
  R(
23597
23636
  "C181",
@@ -23601,6 +23640,14 @@ var CHECK_RULES = [
23601
23640
  "normal",
23602
23641
  "the run store registry and the record forms of the test agree on the data class \u2014 the output records and the store hold the same shape"
23603
23642
  ),
23643
+ R(
23644
+ "C182",
23645
+ "series-record-fields",
23646
+ "quantities",
23647
+ "error",
23648
+ "normal",
23649
+ "a series variable whose series declares a record form types its row members by that form\u2019s typed fields \u2014 a collection derivation\u2019s lambda members resolve against them, never kind-silent"
23650
+ ),
23604
23651
  R(
23605
23652
  "C173",
23606
23653
  "step-plane-refs-resolve",
@@ -27104,6 +27151,20 @@ function checkPackage(dir, options = {}) {
27104
27151
  );
27105
27152
  }
27106
27153
  }
27154
+ for (const input of run.inputs ?? []) {
27155
+ const v = (t.variables ?? []).find((x) => x.name === input);
27156
+ if (!v) {
27157
+ err(
27158
+ "C180",
27159
+ `conformance test ${t.id}: run input "${input}" names no declared variable \u2014 the applied-input contract binds the test's own declarations (run-plane-shape)`
27160
+ );
27161
+ } else if (v.source !== "declared") {
27162
+ err(
27163
+ "C180",
27164
+ `conformance test ${t.id}: run input "${input}" is source ${v.source} \u2014 an applied input is declared by the author; a measured variable is an output of the run, never an input (run-plane-shape)`
27165
+ );
27166
+ }
27167
+ }
27107
27168
  };
27108
27169
  for (const t of standard.conformanceTests ?? []) {
27109
27170
  const scope = (t.variables ?? []).map((v) => v.name);
@@ -29725,6 +29786,71 @@ function checkPackage(dir, options = {}) {
29725
29786
  }
29726
29787
  }
29727
29788
  }
29789
+ {
29790
+ const recordFormFields = /* @__PURE__ */ new Map();
29791
+ for (const f of standard.forms ?? []) {
29792
+ recordFormFields.set(f.id, new Set((f.fields ?? []).map((x) => x.name)));
29793
+ }
29794
+ const walkMembers = (n, bound, out) => {
29795
+ if (n.type === "nav") {
29796
+ const inner = new Map(bound);
29797
+ inner.set(n.var, n.source);
29798
+ walkMembers(n.body, inner, out);
29799
+ return;
29800
+ }
29801
+ if (n.type === "name" && n.path.length > 0) {
29802
+ const parts = [...n.path[0].split("."), ...n.path.slice(1)];
29803
+ if (parts.length > 1) {
29804
+ const src = bound.get(parts[0]);
29805
+ if (src !== void 0) {
29806
+ out.push({ source: src, field: parts.slice(1).join(".") });
29807
+ }
29808
+ }
29809
+ return;
29810
+ }
29811
+ const kids = n.type === "call" ? n.args : n.type === "binop" ? [n.left, n.right] : n.type === "unop" ? [n.operand] : n.type === "ifelse" ? [n.cond, n.then, n.else] : [];
29812
+ for (const k of kids) {
29813
+ walkMembers(k, bound, out);
29814
+ }
29815
+ };
29816
+ for (const t of standard.conformanceTests ?? []) {
29817
+ for (const v of t.variables ?? []) {
29818
+ const rec = v.series?.record;
29819
+ if (!rec) {
29820
+ continue;
29821
+ }
29822
+ const fields = recordFormFields.get(rec);
29823
+ if (!fields) {
29824
+ err(
29825
+ "C182",
29826
+ `conformance test ${t.id}: variable "${v.name}" series record "${rec}" names no declared form \u2014 the row members type by the record form's fields (series-record-fields)`
29827
+ );
29828
+ continue;
29829
+ }
29830
+ if (!v.derivation) {
29831
+ continue;
29832
+ }
29833
+ let ast;
29834
+ try {
29835
+ ast = parseExpression(
29836
+ v.derivation.replace(/^ocl\{/, "").replace(/\}$/, "")
29837
+ );
29838
+ } catch {
29839
+ continue;
29840
+ }
29841
+ const members = [];
29842
+ walkMembers(ast, /* @__PURE__ */ new Map(), members);
29843
+ for (const m of members) {
29844
+ if (m.source === v.name && !fields.has(m.field)) {
29845
+ err(
29846
+ "C182",
29847
+ `conformance test ${t.id}: variable "${v.name}" derivation names "m.${m.field}" \u2014 the record form ${rec} declares no such field; the row members are its typed fields (series-record-fields)`
29848
+ );
29849
+ }
29850
+ }
29851
+ }
29852
+ }
29853
+ }
29728
29854
  {
29729
29855
  const KNOWN_CONTENT = new Set(PASSPORT_CONTENT_CLASSES);
29730
29856
  const KNOWN_LEVELS = new Set(PASSPORT_UPI_LEVELS);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primmel/primmel",
3
- "version": "1.21.17",
3
+ "version": "1.21.19",
4
4
  "description": "Primmel — parser, types, and serializer for the Primmel modelling language (successor to MMEL)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",