@primmel/primmel 1.12.0 → 1.14.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.
Files changed (163) hide show
  1. package/dist/src/check-rules.d.ts.map +1 -1
  2. package/dist/src/check-rules.js +115 -0
  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 +896 -0
  6. package/dist/src/check.js.map +1 -1
  7. package/dist/src/model-diff.d.ts.map +1 -1
  8. package/dist/src/model-diff.js +40 -0
  9. package/dist/src/model-diff.js.map +1 -1
  10. package/dist/src/ser-des/config/applicationDeclaration.d.ts +5 -0
  11. package/dist/src/ser-des/config/applicationDeclaration.d.ts.map +1 -0
  12. package/dist/src/ser-des/config/applicationDeclaration.js +102 -0
  13. package/dist/src/ser-des/config/applicationDeclaration.js.map +1 -0
  14. package/dist/src/ser-des/config/aspect.d.ts +5 -0
  15. package/dist/src/ser-des/config/aspect.d.ts.map +1 -0
  16. package/dist/src/ser-des/config/aspect.js +128 -0
  17. package/dist/src/ser-des/config/aspect.js.map +1 -0
  18. package/dist/src/ser-des/config/calculation.d.ts.map +1 -1
  19. package/dist/src/ser-des/config/calculation.js +134 -18
  20. package/dist/src/ser-des/config/calculation.js.map +1 -1
  21. package/dist/src/ser-des/config/calculationContext.d.ts +5 -0
  22. package/dist/src/ser-des/config/calculationContext.d.ts.map +1 -0
  23. package/dist/src/ser-des/config/calculationContext.js +62 -0
  24. package/dist/src/ser-des/config/calculationContext.js.map +1 -0
  25. package/dist/src/ser-des/config/certificateTemplate.d.ts +5 -0
  26. package/dist/src/ser-des/config/certificateTemplate.d.ts.map +1 -0
  27. package/dist/src/ser-des/config/certificateTemplate.js +195 -0
  28. package/dist/src/ser-des/config/certificateTemplate.js.map +1 -0
  29. package/dist/src/ser-des/config/commonTestCondition.d.ts +5 -0
  30. package/dist/src/ser-des/config/commonTestCondition.d.ts.map +1 -0
  31. package/dist/src/ser-des/config/commonTestCondition.js +75 -0
  32. package/dist/src/ser-des/config/commonTestCondition.js.map +1 -0
  33. package/dist/src/ser-des/config/evaluationDimension.d.ts +5 -0
  34. package/dist/src/ser-des/config/evaluationDimension.d.ts.map +1 -0
  35. package/dist/src/ser-des/config/evaluationDimension.js +128 -0
  36. package/dist/src/ser-des/config/evaluationDimension.js.map +1 -0
  37. package/dist/src/ser-des/config/evaluationProfile.d.ts +5 -0
  38. package/dist/src/ser-des/config/evaluationProfile.d.ts.map +1 -0
  39. package/dist/src/ser-des/config/evaluationProfile.js +61 -0
  40. package/dist/src/ser-des/config/evaluationProfile.js.map +1 -0
  41. package/dist/src/ser-des/config/formulaNote.d.ts +5 -0
  42. package/dist/src/ser-des/config/formulaNote.d.ts.map +1 -0
  43. package/dist/src/ser-des/config/formulaNote.js +66 -0
  44. package/dist/src/ser-des/config/formulaNote.js.map +1 -0
  45. package/dist/src/ser-des/config/identitySlot.d.ts +5 -0
  46. package/dist/src/ser-des/config/identitySlot.d.ts.map +1 -0
  47. package/dist/src/ser-des/config/identitySlot.js +120 -0
  48. package/dist/src/ser-des/config/identitySlot.js.map +1 -0
  49. package/dist/src/ser-des/config/index.d.ts.map +1 -1
  50. package/dist/src/ser-des/config/index.js +200 -0
  51. package/dist/src/ser-des/config/index.js.map +1 -1
  52. package/dist/src/ser-des/config/partAnnex.d.ts +5 -0
  53. package/dist/src/ser-des/config/partAnnex.d.ts.map +1 -0
  54. package/dist/src/ser-des/config/partAnnex.js +91 -0
  55. package/dist/src/ser-des/config/partAnnex.js.map +1 -0
  56. package/dist/src/ser-des/config/promiseSet.d.ts +5 -0
  57. package/dist/src/ser-des/config/promiseSet.d.ts.map +1 -0
  58. package/dist/src/ser-des/config/promiseSet.js +46 -0
  59. package/dist/src/ser-des/config/promiseSet.js.map +1 -0
  60. package/dist/src/ser-des/config/selectionRules.d.ts +9 -0
  61. package/dist/src/ser-des/config/selectionRules.d.ts.map +1 -0
  62. package/dist/src/ser-des/config/selectionRules.js +372 -0
  63. package/dist/src/ser-des/config/selectionRules.js.map +1 -0
  64. package/dist/src/ser-des/config/storyline.d.ts +7 -0
  65. package/dist/src/ser-des/config/storyline.d.ts.map +1 -0
  66. package/dist/src/ser-des/config/storyline.js +264 -0
  67. package/dist/src/ser-des/config/storyline.js.map +1 -0
  68. package/dist/src/ser-des/config/subject.d.ts +18 -1
  69. package/dist/src/ser-des/config/subject.d.ts.map +1 -1
  70. package/dist/src/ser-des/config/subject.js +270 -61
  71. package/dist/src/ser-des/config/subject.js.map +1 -1
  72. package/dist/src/ser-des/config/testReport.d.ts +7 -0
  73. package/dist/src/ser-des/config/testReport.d.ts.map +1 -0
  74. package/dist/src/ser-des/config/testReport.js +322 -0
  75. package/dist/src/ser-des/config/testReport.js.map +1 -0
  76. package/dist/src/ser-des/config/verificationPathway.d.ts +5 -0
  77. package/dist/src/ser-des/config/verificationPathway.d.ts.map +1 -0
  78. package/dist/src/ser-des/config/verificationPathway.js +361 -0
  79. package/dist/src/ser-des/config/verificationPathway.js.map +1 -0
  80. package/dist/src/ser-des/config/workflowConfig.d.ts +5 -0
  81. package/dist/src/ser-des/config/workflowConfig.d.ts.map +1 -0
  82. package/dist/src/ser-des/config/workflowConfig.js +129 -0
  83. package/dist/src/ser-des/config/workflowConfig.js.map +1 -0
  84. package/dist/src/ser-des/package.d.ts +10 -0
  85. package/dist/src/ser-des/package.d.ts.map +1 -1
  86. package/dist/src/ser-des/package.js +166 -12
  87. package/dist/src/ser-des/package.js.map +1 -1
  88. package/dist/src/ser-des/parse.d.ts.map +1 -1
  89. package/dist/src/ser-des/parse.js +29 -0
  90. package/dist/src/ser-des/parse.js.map +1 -1
  91. package/dist/src/ser-des/types.d.ts +37 -0
  92. package/dist/src/ser-des/types.d.ts.map +1 -1
  93. package/dist/src/types/ApplicationDeclaration.d.ts +23 -0
  94. package/dist/src/types/ApplicationDeclaration.d.ts.map +1 -0
  95. package/dist/src/types/ApplicationDeclaration.js +32 -0
  96. package/dist/src/types/ApplicationDeclaration.js.map +1 -0
  97. package/dist/src/types/Aspect.d.ts +30 -0
  98. package/dist/src/types/Aspect.d.ts.map +1 -0
  99. package/dist/src/types/Aspect.js +41 -0
  100. package/dist/src/types/Aspect.js.map +1 -0
  101. package/dist/src/types/Calculation.d.ts +35 -0
  102. package/dist/src/types/Calculation.d.ts.map +1 -1
  103. package/dist/src/types/CalculationContext.d.ts +17 -0
  104. package/dist/src/types/CalculationContext.d.ts.map +1 -0
  105. package/dist/src/types/CalculationContext.js +34 -0
  106. package/dist/src/types/CalculationContext.js.map +1 -0
  107. package/dist/src/types/CertificateTemplate.d.ts +46 -0
  108. package/dist/src/types/CertificateTemplate.d.ts.map +1 -0
  109. package/dist/src/types/CertificateTemplate.js +46 -0
  110. package/dist/src/types/CertificateTemplate.js.map +1 -0
  111. package/dist/src/types/CommonTestCondition.d.ts +15 -0
  112. package/dist/src/types/CommonTestCondition.d.ts.map +1 -0
  113. package/dist/src/types/CommonTestCondition.js +22 -0
  114. package/dist/src/types/CommonTestCondition.js.map +1 -0
  115. package/dist/src/types/EvaluationDimension.d.ts +32 -0
  116. package/dist/src/types/EvaluationDimension.d.ts.map +1 -0
  117. package/dist/src/types/EvaluationDimension.js +38 -0
  118. package/dist/src/types/EvaluationDimension.js.map +1 -0
  119. package/dist/src/types/EvaluationProfile.d.ts +10 -0
  120. package/dist/src/types/EvaluationProfile.d.ts.map +1 -0
  121. package/dist/src/types/EvaluationProfile.js +25 -0
  122. package/dist/src/types/EvaluationProfile.js.map +1 -0
  123. package/dist/src/types/IdentitySlot.d.ts +24 -0
  124. package/dist/src/types/IdentitySlot.d.ts.map +1 -0
  125. package/dist/src/types/IdentitySlot.js +34 -0
  126. package/dist/src/types/IdentitySlot.js.map +1 -0
  127. package/dist/src/types/PartAnnex.d.ts +18 -0
  128. package/dist/src/types/PartAnnex.d.ts.map +1 -0
  129. package/dist/src/types/PartAnnex.js +29 -0
  130. package/dist/src/types/PartAnnex.js.map +1 -0
  131. package/dist/src/types/PromiseSet.d.ts +8 -0
  132. package/dist/src/types/PromiseSet.d.ts.map +1 -0
  133. package/dist/src/types/PromiseSet.js +35 -0
  134. package/dist/src/types/PromiseSet.js.map +1 -0
  135. package/dist/src/types/SelectionRules.d.ts +73 -0
  136. package/dist/src/types/SelectionRules.d.ts.map +1 -0
  137. package/dist/src/types/SelectionRules.js +55 -0
  138. package/dist/src/types/SelectionRules.js.map +1 -0
  139. package/dist/src/types/Standard.d.ts +73 -0
  140. package/dist/src/types/Standard.d.ts.map +1 -1
  141. package/dist/src/types/Storyline.d.ts +62 -0
  142. package/dist/src/types/Storyline.d.ts.map +1 -0
  143. package/dist/src/types/Storyline.js +51 -0
  144. package/dist/src/types/Storyline.js.map +1 -0
  145. package/dist/src/types/Subject.d.ts +64 -1
  146. package/dist/src/types/Subject.d.ts.map +1 -1
  147. package/dist/src/types/Symbol.d.ts +17 -0
  148. package/dist/src/types/Symbol.d.ts.map +1 -1
  149. package/dist/src/types/TestReport.d.ts +71 -0
  150. package/dist/src/types/TestReport.d.ts.map +1 -0
  151. package/dist/src/types/TestReport.js +73 -0
  152. package/dist/src/types/TestReport.js.map +1 -0
  153. package/dist/src/types/VerificationPathway.d.ts +63 -0
  154. package/dist/src/types/VerificationPathway.d.ts.map +1 -0
  155. package/dist/src/types/VerificationPathway.js +56 -0
  156. package/dist/src/types/VerificationPathway.js.map +1 -0
  157. package/dist/src/types/WorkflowConfig.d.ts +34 -0
  158. package/dist/src/types/WorkflowConfig.d.ts.map +1 -0
  159. package/dist/src/types/WorkflowConfig.js +47 -0
  160. package/dist/src/types/WorkflowConfig.js.map +1 -0
  161. package/dist-browser/index.mjs +2391 -934
  162. package/dist-cli/primmel.mjs +9364 -5469
  163. package/package.json +1 -1
@@ -0,0 +1,30 @@
1
+ import type { SourceRef } from './Subject';
2
+ export default interface Aspect {
3
+ /** Snake-case aspect id (markings, software, …). */
4
+ id: string;
5
+ /** The aspect's short label. */
6
+ label: string;
7
+ /** marking | inscription | sealing | display | control | interface |
8
+ * power-supply | enclosure | construction | documentation | other
9
+ * (parse-enforced; '' = undeclared). */
10
+ kind: string;
11
+ /** What the aspect covers. */
12
+ definition: string;
13
+ /** The metamodel realization token — documentary, never resolved. */
14
+ metamodelClass: string;
15
+ /** The glossary term the aspect realizes (→ term; C130). */
16
+ termRef: string;
17
+ /** The instrument component the aspect localizes to (→ instrument
18
+ * component; C130; '' = undeclared). */
19
+ component: string;
20
+ /** The quantitative facet the aspect points at (→
21
+ * attribute_definition; C130; '' = undeclared) — a reference, never
22
+ * a redeclaration (INV-3). */
23
+ attribute: string;
24
+ /** The aspect's content: `model.identity.<slot>` paths and/or bare
25
+ * attribute/dimension ids (C130 tries both namespaces). */
26
+ contains: string[];
27
+ /** Clause-URN provenance (optional). */
28
+ source: SourceRef | null;
29
+ }
30
+ //# sourceMappingURL=Aspect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Aspect.d.ts","sourceRoot":"","sources":["../../../src/types/Aspect.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,CAAC,OAAO,WAAW,MAAM;IAC7B,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd;;6CAEyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB;6CACyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB;;mCAE+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB;gEAC4D;IAC5D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,wCAAwC;IACxC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The aspect (smart TODO.roadmap/40 batch 3; the packages-as-SSOT epic;
4
+ // smart TODO.roadmap/47 subject enrichment) — the QUALITATIVE HAS
5
+ // inventory: the aspects of the subject that requirements and
6
+ // conformance tests constrain without being quantities (R 60-1, 6;
7
+ // R 60-2, 2.5/2.6):
8
+ //
9
+ // aspect markings {
10
+ // label "Markings on the load cell"
11
+ // kind marking # marking | inscription | sealing |
12
+ // # display | control | interface |
13
+ // # power-supply | enclosure |
14
+ // # construction | documentation |
15
+ // # other — parse-enforced
16
+ // definition "…"
17
+ // metamodel_class identity-provenance.Marking
18
+ // term_ref marking # → term (C130)
19
+ // contains { model.identity.manufacturer … e_max accuracy_class }
20
+ // source { doc "urn:oiml:pub:r:60-1:2021" clause "6.2.1" }
21
+ // }
22
+ //
23
+ // aspect software {
24
+ // kind other
25
+ // attribute software_identification # → attribute_definition (C130) —
26
+ // # never a redeclaration (INV-3)
27
+ // }
28
+ //
29
+ // Requirements and tests bind to the aspects as `model.aspects.<id>`
30
+ // (the smart R28 mirror — C130). The `contains` list mixes two
31
+ // namespaces — `model.identity.<slot>` paths AND bare attribute or
32
+ // dimension ids — and C130 tries both before erroring (each leg checked
33
+ // only when its target register composes, per-register gating).
34
+ // Quantitative facets stay in attribute_definitions and are pointed at
35
+ // via `attribute`/`contains` — never redeclared (INV-3).
36
+ //
37
+ // The passport content classes reference "aspects" conceptually (C86);
38
+ // this register is what they resolve against.
39
+ // ─────────────────────────────────────────────────────────────────────
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ //# sourceMappingURL=Aspect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Aspect.js","sourceRoot":"","sources":["../../../src/types/Aspect.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,wEAAwE;AACxE,kEAAkE;AAClE,8DAA8D;AAC9D,mEAAmE;AACnE,oBAAoB;AACpB,EAAE;AACF,sBAAsB;AACtB,wCAAwC;AACxC,6EAA6E;AAC7E,2EAA2E;AAC3E,sEAAsE;AACtE,0EAA0E;AAC1E,kEAAkE;AAClE,qBAAqB;AACrB,kDAAkD;AAClD,yDAAyD;AACzD,sEAAsE;AACtE,+DAA+D;AAC/D,MAAM;AACN,EAAE;AACF,sBAAsB;AACtB,iBAAiB;AACjB,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM;AACN,EAAE;AACF,qEAAqE;AACrE,+DAA+D;AAC/D,mEAAmE;AACnE,wEAAwE;AACxE,gEAAgE;AAChE,uEAAuE;AACvE,yDAAyD;AACzD,EAAE;AACF,uEAAuE;AACvE,8CAA8C;AAC9C,wEAAwE"}
@@ -88,6 +88,41 @@ interface Calculation {
88
88
  /** The correspondence annotations (MN 114 v3.1, clause 19.4). */
89
89
  correspondences?: import('./Correspondence').Correspondence[];
90
90
  ref: Reference[];
91
+ /** The executable realizations (smart TODO.roadmap/40 batch 4) —
92
+ * repeatable named `variant <id> { … }` blocks; `engine` is the
93
+ * documented first id, unknown ids tolerated for forward compat. */
94
+ variants?: CalculationVariant[];
95
+ }
96
+ /**
97
+ * A calculation variant (smart TODO.roadmap/40 batch 4): the executable
98
+ * realization of a calculation whose typed signature stays on the
99
+ * calculation itself — one concept, two realizations (the formulas.yaml
100
+ * engine rules duplicating a calculation id). The variant's `params`
101
+ * are the engine's CALL-SITE names: they deliberately do NOT resolve
102
+ * against the calculation's inputs (no params-resolve rule — the block
103
+ * stays documentary/engine-facing).
104
+ */
105
+ export interface CalculationVariant {
106
+ /** The variant id (`engine` reserved as the documented first). */
107
+ id: string;
108
+ /** The engine rule kind — the same vocabulary as the calculation's
109
+ * `type` (expression | table_lookup | profile_lookup | pass_fail),
110
+ * parse-enforced (the fail-closed precedent). */
111
+ type: string;
112
+ /** Display label ('' = undeclared). */
113
+ label: string;
114
+ /** Prose description ('' = undeclared). */
115
+ description: string;
116
+ /** The engine call-site parameter names. */
117
+ params: string[];
118
+ /** The executable expression ('' = undeclared; required when type is
119
+ * expression — C125). */
120
+ expression: string;
121
+ /** Table-lookup declaration (required when type is table_lookup —
122
+ * C125). */
123
+ lookup?: CalculationLookup | null;
124
+ /** Profile path (required when type is profile_lookup — C125). */
125
+ profile?: string;
91
126
  }
92
127
  export default Calculation;
93
128
  export type ResolvableCalculation = Resolvable<Calculation, 'ref'>;
@@ -1 +1 @@
1
- {"version":3,"file":"Calculation.d.ts","sourceRoot":"","sources":["../../../src/types/Calculation.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;CACzE;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gCAAgC;IAChC,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE;;wDAEoD;IACpD,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClE,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,OAAO,EAAE,GAAG,EAAE,CAAC;IAC7B,iEAAiE;IACjE,eAAe,CAAC,EAAE,OAAO,kBAAkB,EAAE,cAAc,EAAE,CAAC;IAC9D,GAAG,EAAE,SAAS,EAAE,CAAC;CAClB;AAED,eAAe,WAAW,CAAC;AAE3B,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"Calculation.d.ts","sourceRoot":"","sources":["../../../src/types/Calculation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /** One wired field of the calculation context. */
2
+ export interface CalculationContextField {
3
+ /** The computation input's name (the variable id). */
4
+ id: string;
5
+ /** classification.<dim> | parameters.<attr> | computed (dotted scalar,
6
+ * parse-total; the resolution legs are C133's). */
7
+ source: string;
8
+ /** The computation when source = computed ('' otherwise — C133). */
9
+ expression: string;
10
+ }
11
+ export default interface CalculationContext {
12
+ /** Conventionally `evaluation` (singleton per rec). */
13
+ id: string;
14
+ /** The wired fields, in declared order. */
15
+ fields: CalculationContextField[];
16
+ }
17
+ //# sourceMappingURL=CalculationContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalculationContext.d.ts","sourceRoot":"","sources":["../../../src/types/CalculationContext.ts"],"names":[],"mappings":"AAgCA,kDAAkD;AAClD,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX;wDACoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB;IACzC,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,2CAA2C;IAC3C,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The calculation context (smart TODO.roadmap/40 batch 3; the
4
+ // packages-as-SSOT epic) — the evaluation-side WIRING of computation
5
+ // inputs to their subject-chain sources (smart's
6
+ // computation-context.service.ts), a different thing from the
7
+ // `calculation` construct (the specification-side register of named
8
+ // computations with typed signatures):
9
+ //
10
+ // calculation_context evaluation { # singleton per rec
11
+ // field accuracy_class { source classification.accuracy_class }
12
+ // field p_lc { source parameters.p_lc }
13
+ // field v_min {
14
+ // source computed
15
+ // expression "(e_max - e_min) / (n_lc * f)"
16
+ // }
17
+ // }
18
+ //
19
+ // The `source` is a dotted scalar (parse-total): classification.<dim>
20
+ // (a classification dimension of the subject chain), parameters.<attr>
21
+ // (an attribute_definition, resolved by INV-10 delegation Sample →
22
+ // Model → Group → Family), or `computed` (the expression wires other
23
+ // fields). The legacy schema tokens (dimensions, application,
24
+ // application.specs, lookup) are unused everywhere and get NO facet —
25
+ // C133 errors on them if they ever appear, forcing the modern spelling.
26
+ //
27
+ // C133 calculation-context-references: the classification/parameters
28
+ // targets resolve (per-register gated), computed ⇔ expression presence,
29
+ // and the expression's free identifiers name the context's own fields
30
+ // (WARNING — runtime-bound inputs like r60's `f` (conversion_factor_f)
31
+ // and r144's `measured_value` are legitimate non-field references).
32
+ // ─────────────────────────────────────────────────────────────────────
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ //# sourceMappingURL=CalculationContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalculationContext.js","sourceRoot":"","sources":["../../../src/types/CalculationContext.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,8DAA8D;AAC9D,qEAAqE;AACrE,iDAAiD;AACjD,8DAA8D;AAC9D,oEAAoE;AACpE,uCAAuC;AACvC,EAAE;AACF,gEAAgE;AAChE,oEAAoE;AACpE,sDAAsD;AACtD,oBAAoB;AACpB,wBAAwB;AACxB,kDAAkD;AAClD,QAAQ;AACR,MAAM;AACN,EAAE;AACF,sEAAsE;AACtE,uEAAuE;AACvE,mEAAmE;AACnE,qEAAqE;AACrE,8DAA8D;AAC9D,sEAAsE;AACtE,wEAAwE;AACxE,EAAE;AACF,qEAAqE;AACrE,wEAAwE;AACxE,sEAAsE;AACtE,uEAAuE;AACvE,oEAAoE;AACpE,wEAAwE"}
@@ -0,0 +1,46 @@
1
+ /** The dimension-label pattern block. */
2
+ export interface CertificateDimensionLabels {
3
+ /** The render pattern; placeholders `{dim}` or `{dim:sep}`. */
4
+ pattern: string;
5
+ /** The set-valued-dimension join separator ('' = the renderer default). */
6
+ separator: string;
7
+ }
8
+ /** One explicit characteristic row of the certificate. */
9
+ export interface CertificateCharacteristic {
10
+ /** The row's name (the characteristic id). */
11
+ id: string;
12
+ /** string | integer | number | quantity | statement (parse-total;
13
+ * the closed set is C136's). */
14
+ type: string;
15
+ /** The default-spelling label. */
16
+ label: string;
17
+ /** The single-attribute binding ('' when unused — XOR, C136). */
18
+ attribute: string;
19
+ /** The multi-attribute binding ([] when unused — XOR, C136). */
20
+ attributes: string[];
21
+ /** The dimension binding ('' when unused — XOR, C136). */
22
+ dimension: string;
23
+ /** mandatory | optional (parse-enforced; '' when unstated). */
24
+ obligation: string;
25
+ }
26
+ /** The Additional National Requirements section labels (TODO.adoption/11). */
27
+ export interface CertificateAnrSection {
28
+ title: string;
29
+ coveredLabel: string;
30
+ notEvaluatedLabel: string;
31
+ pendingLabel: string;
32
+ noneTargetedNote: string;
33
+ }
34
+ export default interface CertificateTemplate {
35
+ /** Conventionally `certificate` (singleton per package). */
36
+ id: string;
37
+ /** The certificate-number format pattern ('' when unstated). */
38
+ numberFormat: string;
39
+ /** The dimension-label pattern block (null when unstated). */
40
+ dimensionLabels: CertificateDimensionLabels | null;
41
+ /** The explicit characteristic rows, in declared order. */
42
+ characteristics: CertificateCharacteristic[];
43
+ /** The ANR section labels (null when unstated). */
44
+ anrSection: CertificateAnrSection | null;
45
+ }
46
+ //# sourceMappingURL=CertificateTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CertificateTemplate.d.ts","sourceRoot":"","sources":["../../../src/types/CertificateTemplate.ts"],"names":[],"mappings":"AA4CA,yCAAyC;AACzC,MAAM,WAAW,0BAA0B;IACzC,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,0DAA0D;AAC1D,MAAM,WAAW,yBAAyB;IACxC,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX;qCACiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,WAAW,mBAAmB;IAC1C,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,eAAe,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACnD,2DAA2D;IAC3D,eAAe,EAAE,yBAAyB,EAAE,CAAC;IAC7C,mDAAmD;IACnD,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC1C"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The certificate template (smart TODO.roadmap/40 batch 3; the
4
+ // packages-as-SSOT epic) — the rec's certificate RENDERING contract:
5
+ // the number format, the dimension-label pattern, the explicit
6
+ // characteristic rows (twin-cert today; the recs project their
7
+ // characteristic list from the verified promises' certificate print
8
+ // projections instead — the two shapes coexist), and the Additional
9
+ // National Requirements section labels (TODO.adoption/11):
10
+ //
11
+ // certificate_template certificate { # singleton per package
12
+ // number_format "{shortName}/{edition}-{scheme}-{authority}-{year2}.{seq}"
13
+ // dimension_labels {
14
+ // pattern "{measurand_components}-{measuring_principle}"
15
+ // separator "+" # optional; joins set-valued dims
16
+ // }
17
+ // characteristic e_max {
18
+ // type quantity # string|integer|number|quantity|statement (C136)
19
+ // label "E_max values"
20
+ // attribute e_max # XOR attribute | attributes {…} | dimension | none
21
+ // obligation mandatory # mandatory|optional (parse-enforced)
22
+ // }
23
+ // anr_section {
24
+ // title "Additional National Requirements"
25
+ // covered_label "Evaluated"
26
+ // not_evaluated_label "Not evaluated in this evaluation"
27
+ // pending_label "Pending evaluation"
28
+ // none_targeted_note "No additional national requirements were targeted by the application."
29
+ // }
30
+ // }
31
+ //
32
+ // The characteristic `type` vocabulary is renderer-driven and stays
33
+ // parse-TOTAL (the codec never rejects a growing renderer) — C136
34
+ // carries the closed-set check at ERROR (the owner-settled decision).
35
+ // Localized labels: the default spelling inline here, alternates ride
36
+ // the l10n `text` blocks (the term/form precedent).
37
+ //
38
+ // C136 certificate-template-references: the dimension_labels pattern
39
+ // placeholders ({dim} / {dim:sep}) resolve to declared classification
40
+ // dimensions; the characteristic bindings resolve (per-register gated)
41
+ // with the XOR shape leg; the number_format placeholders check against
42
+ // the known token vocabulary at WARNING (open for program-specific
43
+ // prefixes like twin-cert's literal TW-1).
44
+ // ─────────────────────────────────────────────────────────────────────
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ //# sourceMappingURL=CertificateTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CertificateTemplate.js","sourceRoot":"","sources":["../../../src/types/CertificateTemplate.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,+DAA+D;AAC/D,qEAAqE;AACrE,+DAA+D;AAC/D,+DAA+D;AAC/D,oEAAoE;AACpE,oEAAoE;AACpE,2DAA2D;AAC3D,EAAE;AACF,sEAAsE;AACtE,+EAA+E;AAC/E,yBAAyB;AACzB,+DAA+D;AAC/D,+EAA+E;AAC/E,QAAQ;AACR,6BAA6B;AAC7B,+FAA+F;AAC/F,6BAA6B;AAC7B,iGAAiG;AACjG,mFAAmF;AACnF,QAAQ;AACR,oBAAoB;AACpB,iDAAiD;AACjD,kCAAkC;AAClC,+DAA+D;AAC/D,2CAA2C;AAC3C,mGAAmG;AACnG,QAAQ;AACR,MAAM;AACN,EAAE;AACF,oEAAoE;AACpE,kEAAkE;AAClE,sEAAsE;AACtE,sEAAsE;AACtE,oDAAoD;AACpD,EAAE;AACF,qEAAqE;AACrE,sEAAsE;AACtE,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,2CAA2C;AAC3C,wEAAwE"}
@@ -0,0 +1,15 @@
1
+ import type { SourceRef } from './Subject';
2
+ export default interface CommonTestCondition {
3
+ /** Snake-case condition id (test_equipment). */
4
+ id: string;
5
+ /** The condition's title. */
6
+ title: string;
7
+ /** The free citation string (urn#clause form; '' = undeclared). */
8
+ reference: string;
9
+ /** The condition's normative text. */
10
+ description: string;
11
+ /** Clause-URN provenance (null = undeclared; the r91 keyed-map
12
+ * entries carry a per-entry source { doc, clause }). */
13
+ source?: SourceRef | null;
14
+ }
15
+ //# sourceMappingURL=CommonTestCondition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonTestCondition.d.ts","sourceRoot":"","sources":["../../../src/types/CommonTestCondition.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,CAAC,OAAO,WAAW,mBAAmB;IAC1C,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB;6DACyD;IACzD,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC3B"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The common test condition (smart TODO.roadmap/40 batch 4; the
4
+ // packages-as-SSOT epic) — the model-wide test-conditions register
5
+ // (r60: 18 entries, r144: 9, r129: 1; the r91 keyed-map form flattens
6
+ // to entries, map key → id), one construct per entry:
7
+ //
8
+ // common_test_condition test_equipment {
9
+ // title "Test equipment"
10
+ // reference "urn:oiml:pub:r:60-2:2021#clause-2.7.2"
11
+ // description "Test equipment used for the tests shall be
12
+ // calibrated and traceable to …"
13
+ // }
14
+ //
15
+ // The `reference` urn#clause string stays a FREE quoted citation scalar
16
+ // (the citation-string precedent) — no doc-URN splitting; the app-side
17
+ // linker owns the citation semantics (its coverage oracle consumes the
18
+ // register per condition). The optional source {} block carries the
19
+ // clause-URN provenance (the r91 entries' per-entry source).
20
+ // ─────────────────────────────────────────────────────────────────────
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ //# sourceMappingURL=CommonTestCondition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonTestCondition.js","sourceRoot":"","sources":["../../../src/types/CommonTestCondition.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,gEAAgE;AAChE,mEAAmE;AACnE,sEAAsE;AACtE,sDAAsD;AACtD,EAAE;AACF,2CAA2C;AAC3C,6BAA6B;AAC7B,wDAAwD;AACxD,8DAA8D;AAC9D,iDAAiD;AACjD,MAAM;AACN,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,oEAAoE;AACpE,6DAA6D;AAC7D,wEAAwE"}
@@ -0,0 +1,32 @@
1
+ /** One form-facing classification field. */
2
+ export interface EvaluationDimensionField {
3
+ /** The field name (an is_dimension attribute id, or r129's legacy
4
+ * camelCase — C134 accepts either resolution, warning when neither). */
5
+ id: string;
6
+ /** The UI label. */
7
+ label: string;
8
+ /** integer | number | string | text | boolean | date (parse-enforced;
9
+ * '' = undeclared). */
10
+ type: string;
11
+ /** The classification dimension supplying the value space (→
12
+ * dimension; C134; '' = undeclared). */
13
+ enumRef: string;
14
+ /** Whether the user must set this field. */
15
+ required: boolean;
16
+ /** Whether the field is locked once set. */
17
+ editable: boolean;
18
+ /** MUST | SHALL | RECOMMEND | SHOULD | MAY | OPTIONAL (the MMEL
19
+ * importance; parse-enforced; '' = undeclared). */
20
+ setting: string;
21
+ /** Multi-select (the r144 measurand_components shape). */
22
+ multiple: boolean;
23
+ }
24
+ export default interface EvaluationDimensions {
25
+ /** Conventionally `evaluation` (singleton per rec). */
26
+ id: string;
27
+ /** The register's file-level label ("Type of Testing"). */
28
+ label: string;
29
+ /** The fields, in declared order. */
30
+ fields: EvaluationDimensionField[];
31
+ }
32
+ //# sourceMappingURL=EvaluationDimension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvaluationDimension.d.ts","sourceRoot":"","sources":["../../../src/types/EvaluationDimension.ts"],"names":[],"mappings":"AAoCA,4CAA4C;AAC5C,MAAM,WAAW,wBAAwB;IACvC;6EACyE;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd;4BACwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb;6CACyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB;wDACoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,WAAW,oBAAoB;IAC3C,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,MAAM,EAAE,wBAAwB,EAAE,CAAC;CACpC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The evaluation dimensions register (smart TODO.roadmap/40 batch 3;
4
+ // the packages-as-SSOT epic) — the form-facing classification field
5
+ // schema (the dimension selector on the classification form; the fields
6
+ // seed the calculation context), first-class what
7
+ // evaluation-dimensions.yaml carries today:
8
+ //
9
+ // evaluation_dimensions evaluation { # singleton per rec
10
+ // label "Type of Testing"
11
+ // field technology {
12
+ // label "Technology"
13
+ // type string # integer | number | string | text |
14
+ // # boolean | date — parse-enforced
15
+ // enum technology # → classification dimension (C134)
16
+ // required true
17
+ // editable false
18
+ // setting MUST # MUST | SHALL | RECOMMEND | SHOULD |
19
+ // # MAY | OPTIONAL — parse-enforced
20
+ // multiple true # multi-select (r144)
21
+ // }
22
+ // }
23
+ //
24
+ // The name-vs-enum split is load-bearing: the field key is the
25
+ // form-facing name (an is_dimension attribute id — or r129's legacy
26
+ // camelCase, carried as-is per the owner decision) while `enum` names
27
+ // the classification dimension supplying the value space (r60's
28
+ // humidity_symbol field refs humidity_class). C134 resolves both,
29
+ // independently.
30
+ //
31
+ // `per_channel` gets NO facet here (the owner-settled single home):
32
+ // kernel `Instrument.perChannel` carries it, and the YAML projection
33
+ // derives evaluation_dimensions.per_channel from the instrument.
34
+ // The schema-declared-but-unused facets (unit, enum_values, default)
35
+ // get no PRL facet (the union rule).
36
+ // ─────────────────────────────────────────────────────────────────────
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ //# sourceMappingURL=EvaluationDimension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvaluationDimension.js","sourceRoot":"","sources":["../../../src/types/EvaluationDimension.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,qEAAqE;AACrE,oEAAoE;AACpE,wEAAwE;AACxE,kDAAkD;AAClD,4CAA4C;AAC5C,EAAE;AACF,gEAAgE;AAChE,8BAA8B;AAC9B,yBAAyB;AACzB,2BAA2B;AAC3B,2EAA2E;AAC3E,wEAAwE;AACxE,0EAA0E;AAC1E,sBAAsB;AACtB,uBAAuB;AACvB,4EAA4E;AAC5E,wEAAwE;AACxE,4DAA4D;AAC5D,QAAQ;AACR,MAAM;AACN,EAAE;AACF,+DAA+D;AAC/D,oEAAoE;AACpE,sEAAsE;AACtE,gEAAgE;AAChE,kEAAkE;AAClE,iBAAiB;AACjB,EAAE;AACF,oEAAoE;AACpE,qEAAqE;AACrE,iEAAiE;AACjE,qEAAqE;AACrE,qCAAqC;AACrC,wEAAwE"}
@@ -0,0 +1,10 @@
1
+ export default interface EvaluationProfile {
2
+ /** Kebab-case profile id (class-a-digital-nh). */
3
+ id: string;
4
+ /** The dimension-value preset: dimension id → value id, in declared
5
+ * order (the byte contract keys dimension ids before description). */
6
+ dimensions: Record<string, string>;
7
+ /** What the profile selects. */
8
+ description: string;
9
+ }
10
+ //# sourceMappingURL=EvaluationProfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvaluationProfile.d.ts","sourceRoot":"","sources":["../../../src/types/EvaluationProfile.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,OAAO,WAAW,iBAAiB;IACxC,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX;2EACuE;IACvE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The evaluation profile (smart TODO.roadmap/40 batch 3; the
4
+ // packages-as-SSOT epic) — a NAMED dimension-value preset selecting the
5
+ // applicable requirements/tests/calculations (the applicability
6
+ // machinery is a filter; this is the named preset over it):
7
+ //
8
+ // evaluation_profile class-a-digital-nh {
9
+ // dimensions { accuracy_class A technology digital humidity_class NH }
10
+ // description "Class A digital, no humidity test"
11
+ // }
12
+ //
13
+ // The dimensions map keys on DIMENSION ids (profiles select over
14
+ // dimensions) — NOT the evaluation-dimension FIELD names (r60: profile
15
+ // key humidity_class vs field name humidity_symbol); the two namespaces
16
+ // never mix. Optional per package: r91/r144 declare none, and no
17
+ // empty-register requirement exists.
18
+ //
19
+ // C135 evaluation-profile-coherence: every dimensions key resolves to a
20
+ // declared classification dimension and every value to one of that
21
+ // dimension's declared values (per-register gated; an OPEN dimension
22
+ // accepts any value) — the smart R4/R8 applicability mirror.
23
+ // ─────────────────────────────────────────────────────────────────────
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ //# sourceMappingURL=EvaluationProfile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvaluationProfile.js","sourceRoot":"","sources":["../../../src/types/EvaluationProfile.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,6DAA6D;AAC7D,wEAAwE;AACxE,gEAAgE;AAChE,4DAA4D;AAC5D,EAAE;AACF,4CAA4C;AAC5C,2EAA2E;AAC3E,sDAAsD;AACtD,MAAM;AACN,EAAE;AACF,iEAAiE;AACjE,uEAAuE;AACvE,wEAAwE;AACxE,iEAAiE;AACjE,qCAAqC;AACrC,EAAE;AACF,wEAAwE;AACxE,mEAAmE;AACnE,qEAAqE;AACrE,6DAA6D;AAC7D,wEAAwE"}
@@ -0,0 +1,24 @@
1
+ import type { SourceRef } from './Subject';
2
+ export default interface IdentitySlot {
3
+ /** Snake-case slot id (manufacturer, model_designation, …). */
4
+ id: string;
5
+ /** The slot's short label (default spelling inline). */
6
+ label: string;
7
+ /** string | designation | serial | year | mark | map (parse-enforced;
8
+ * '' = undeclared). */
9
+ type: string;
10
+ /** marked-on-instrument | accompanying-document — the presentation
11
+ * channels (parse-enforced vocabulary; ≥1 — C130). */
12
+ presentation: string[];
13
+ /** True when the slot is optional content (the schema's `optional`). */
14
+ optional: boolean;
15
+ /** What the slot carries (default spelling inline). */
16
+ definition: string;
17
+ /** The metamodel realization token (identity-provenance.Manufacturer)
18
+ * — a dotted external-ontology citation, documentary, never resolved
19
+ * (the external-vocabulary skip precedent, smart R27). */
20
+ metamodelClass: string;
21
+ /** Clause-URN provenance (optional). */
22
+ source: SourceRef | null;
23
+ }
24
+ //# sourceMappingURL=IdentitySlot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdentitySlot.d.ts","sourceRoot":"","sources":["../../../src/types/IdentitySlot.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,CAAC,OAAO,WAAW,YAAY;IACnC,+DAA+D;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd;4BACwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB;;+DAE2D;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The identity slot (smart TODO.roadmap/40 batch 3; the packages-as-
4
+ // SSOT epic; smart TODO.roadmap/47 subject enrichment) — the subject's
5
+ // DOCUMENTARY identity register (R 60-1, 6.2: the markings and
6
+ // accompanying-document entries), first-class what SubjectIs.metadata/
7
+ // provenance carry as free key/value pairs today:
8
+ //
9
+ // identity_slot manufacturer {
10
+ // label "Manufacturer's name or trade mark"
11
+ // type string # string | designation | serial |
12
+ // # year | mark | map — parse-enforced
13
+ // presentation { marked-on-instrument accompanying-document }
14
+ // optional true # optional flag
15
+ // definition "…"
16
+ // metamodel_class identity-provenance.Manufacturer # dotted token —
17
+ // # external ontology, documentary
18
+ // source { doc "urn:oiml:pub:r:60-1:2021" clause "6.2.1" }
19
+ // }
20
+ //
21
+ // Requirements bind to the slots as `model.identity.<slot>` (the smart
22
+ // R28 requirement-binding-targets mirror — C130). No quantities here: a
23
+ // marked quantity (E_max, v_min, …) stays an attribute_definition and
24
+ // is referenced, never redeclared (INV-3). The `presentation` facet
25
+ // realizes the location axis of the metamodel's Marking.items
26
+ // {content, location} pair (urn:ontology:mi:upper Module B
27
+ // identity-provenance): where the identity content is presented.
28
+ //
29
+ // Localized label/definition: the default spelling rides inline; the
30
+ // alternates ride l10n `text` blocks (the term/form precedent) and the
31
+ // projection re-joins.
32
+ // ─────────────────────────────────────────────────────────────────────
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ //# sourceMappingURL=IdentitySlot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdentitySlot.js","sourceRoot":"","sources":["../../../src/types/IdentitySlot.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,qEAAqE;AACrE,uEAAuE;AACvE,+DAA+D;AAC/D,uEAAuE;AACvE,kDAAkD;AAClD,EAAE;AACF,iCAAiC;AACjC,gDAAgD;AAChD,2EAA2E;AAC3E,8EAA8E;AAC9E,kEAAkE;AAClE,yDAAyD;AACzD,qBAAqB;AACrB,0EAA0E;AAC1E,0EAA0E;AAC1E,+DAA+D;AAC/D,MAAM;AACN,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,sEAAsE;AACtE,oEAAoE;AACpE,8DAA8D;AAC9D,2DAA2D;AAC3D,iEAAiE;AACjE,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,uBAAuB;AACvB,wEAAwE"}
@@ -0,0 +1,18 @@
1
+ import type { SourceRef } from './Subject';
2
+ export default interface PartAnnex {
3
+ /** Snake-case annex id (annex_a). */
4
+ id: string;
5
+ /** The annex letter as printed ("A"). */
6
+ letter: string;
7
+ /** The annex title. */
8
+ title: string;
9
+ /** normative | informative (parse-enforced; '' = undeclared). */
10
+ obligation: string;
11
+ /** What the annex covers. */
12
+ summary: string;
13
+ /** How the rec realizes the annex's content. */
14
+ realization: string;
15
+ /** Clause-URN provenance (required — C128). */
16
+ source: SourceRef;
17
+ }
18
+ //# sourceMappingURL=PartAnnex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartAnnex.d.ts","sourceRoot":"","sources":["../../../src/types/PartAnnex.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,CAAC,OAAO,WAAW,SAAS;IAChC,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,MAAM,EAAE,SAAS,CAAC;CACnB"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The part annex (smart TODO.roadmap/40 batch 4; the packages-as-SSOT
4
+ // epic) — the rec's OWN annex-volume index (r60 Part 4: annexes A–F),
5
+ // a verdict-neutral documentary registry:
6
+ //
7
+ // part_annex annex_a {
8
+ // letter "A"
9
+ // title "Definitions from other applicable international publications"
10
+ // obligation normative # normative | informative —
11
+ // # parse-enforced (the fail-closed
12
+ // # precedent)
13
+ // summary "…"
14
+ // realization "…"
15
+ // source { doc "urn:oiml:pub:r:60-4:2021" clause "A" }
16
+ // }
17
+ //
18
+ // NOT the batch-2 informative_annex — that construct is an external
19
+ // guidance document (D 32) bound into a CS document module with clause
20
+ // highlights; this register indexes the rec's own printed annexes, and
21
+ // its whole point is the normative/informative mark the annex
22
+ // vocabulary carries (informative_annex's role is single-valued).
23
+ //
24
+ // The construct is part-agnostic — the part survives as the .prl
25
+ // filename (specification/annexes/part4.prl; specification/ is
26
+ // recursively collected, so no loader change) and the provenance URN.
27
+ // ─────────────────────────────────────────────────────────────────────
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ //# sourceMappingURL=PartAnnex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartAnnex.js","sourceRoot":"","sources":["../../../src/types/PartAnnex.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,sEAAsE;AACtE,sEAAsE;AACtE,0CAA0C;AAC1C,EAAE;AACF,yBAAyB;AACzB,iBAAiB;AACjB,2EAA2E;AAC3E,gEAAgE;AAChE,sEAAsE;AACtE,iDAAiD;AACjD,kBAAkB;AAClB,sBAAsB;AACtB,2DAA2D;AAC3D,MAAM;AACN,EAAE;AACF,oEAAoE;AACpE,uEAAuE;AACvE,uEAAuE;AACvE,8DAA8D;AAC9D,kEAAkE;AAClE,EAAE;AACF,iEAAiE;AACjE,+DAA+D;AAC/D,sEAAsE;AACtE,wEAAwE"}
@@ -0,0 +1,8 @@
1
+ import type { SubjectPromise } from './Subject';
2
+ export default interface PromiseSet {
3
+ /** The owning subject's id (the set binds the subject). */
4
+ id: string;
5
+ /** The register's promises (the subject-promise sub-grammar). */
6
+ promises: SubjectPromise[];
7
+ }
8
+ //# sourceMappingURL=PromiseSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromiseSet.d.ts","sourceRoot":"","sources":["../../../src/types/PromiseSet.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,CAAC,OAAO,WAAW,UAAU;IACjC,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,iEAAiE;IACjE,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B"}