@primmel/primmel 1.3.1 → 1.4.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 +40 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +112 -1
- package/dist/index.js.map +1 -1
- package/dist/src/check-allowlist.d.ts +56 -0
- package/dist/src/check-allowlist.d.ts.map +1 -0
- package/dist/src/check-allowlist.js +307 -0
- package/dist/src/check-allowlist.js.map +1 -0
- package/dist/src/check-rules.d.ts +17 -0
- package/dist/src/check-rules.d.ts.map +1 -0
- package/dist/src/check-rules.js +351 -0
- package/dist/src/check-rules.js.map +1 -0
- package/dist/src/check.d.ts +115 -0
- package/dist/src/check.d.ts.map +1 -0
- package/dist/src/check.js +4164 -0
- package/dist/src/check.js.map +1 -0
- package/dist/src/export/rdf-competency-questions.d.ts +11 -0
- package/dist/src/export/rdf-competency-questions.d.ts.map +1 -0
- package/dist/src/export/rdf-competency-questions.js +99 -0
- package/dist/src/export/rdf-competency-questions.js.map +1 -0
- package/dist/src/export/rdf-shapes.d.ts +3 -0
- package/dist/src/export/rdf-shapes.d.ts.map +1 -0
- package/dist/src/export/rdf-shapes.js +225 -0
- package/dist/src/export/rdf-shapes.js.map +1 -0
- package/dist/src/export/rdf-vocabulary.d.ts +125 -0
- package/dist/src/export/rdf-vocabulary.d.ts.map +1 -0
- package/dist/src/export/rdf-vocabulary.js +230 -0
- package/dist/src/export/rdf-vocabulary.js.map +1 -0
- package/dist/src/export/rdf.d.ts +92 -0
- package/dist/src/export/rdf.d.ts.map +1 -0
- package/dist/src/export/rdf.js +707 -0
- package/dist/src/export/rdf.js.map +1 -0
- package/dist/src/export/reqif.d.ts +81 -0
- package/dist/src/export/reqif.d.ts.map +1 -0
- package/dist/src/export/reqif.js +703 -0
- package/dist/src/export/reqif.js.map +1 -0
- package/dist/src/instance-resolution.d.ts +68 -0
- package/dist/src/instance-resolution.d.ts.map +1 -0
- package/dist/src/instance-resolution.js +239 -0
- package/dist/src/instance-resolution.js.map +1 -0
- package/dist/src/mapping-coverage.d.ts +220 -0
- package/dist/src/mapping-coverage.d.ts.map +1 -0
- package/dist/src/mapping-coverage.js +528 -0
- package/dist/src/mapping-coverage.js.map +1 -0
- package/dist/src/model-diff.d.ts +198 -0
- package/dist/src/model-diff.d.ts.map +1 -0
- package/dist/src/model-diff.js +914 -0
- package/dist/src/model-diff.js.map +1 -0
- package/dist/src/operational-state.d.ts +112 -0
- package/dist/src/operational-state.d.ts.map +1 -0
- package/dist/src/operational-state.js +162 -0
- package/dist/src/operational-state.js.map +1 -0
- package/dist/src/package-diff.d.ts +36 -0
- package/dist/src/package-diff.d.ts.map +1 -0
- package/dist/src/package-diff.js +104 -0
- package/dist/src/package-diff.js.map +1 -0
- package/dist/src/ser-des/config/acceptance.d.ts +10 -0
- package/dist/src/ser-des/config/acceptance.d.ts.map +1 -0
- package/dist/src/ser-des/config/acceptance.js +163 -0
- package/dist/src/ser-des/config/acceptance.js.map +1 -0
- package/dist/src/ser-des/config/activityArchetype.d.ts +5 -0
- package/dist/src/ser-des/config/activityArchetype.d.ts.map +1 -0
- package/dist/src/ser-des/config/activityArchetype.js +78 -0
- package/dist/src/ser-des/config/activityArchetype.js.map +1 -0
- package/dist/src/ser-des/config/artifact.d.ts +16 -0
- package/dist/src/ser-des/config/artifact.d.ts.map +1 -0
- package/dist/src/ser-des/config/artifact.js +392 -0
- package/dist/src/ser-des/config/artifact.js.map +1 -0
- package/dist/src/ser-des/config/calculation.d.ts.map +1 -1
- package/dist/src/ser-des/config/calculation.js +214 -12
- package/dist/src/ser-des/config/calculation.js.map +1 -1
- package/dist/src/ser-des/config/comment.d.ts +34 -0
- package/dist/src/ser-des/config/comment.d.ts.map +1 -0
- package/dist/src/ser-des/config/comment.js +121 -0
- package/dist/src/ser-des/config/comment.js.map +1 -0
- package/dist/src/ser-des/config/competenceKind.d.ts +8 -0
- package/dist/src/ser-des/config/competenceKind.d.ts.map +1 -0
- package/dist/src/ser-des/config/competenceKind.js +266 -0
- package/dist/src/ser-des/config/competenceKind.js.map +1 -0
- package/dist/src/ser-des/config/composition.d.ts +6 -0
- package/dist/src/ser-des/config/composition.d.ts.map +1 -0
- package/dist/src/ser-des/config/composition.js +165 -0
- package/dist/src/ser-des/config/composition.js.map +1 -0
- package/dist/src/ser-des/config/conformanceClass.d.ts +9 -0
- package/dist/src/ser-des/config/conformanceClass.d.ts.map +1 -0
- package/dist/src/ser-des/config/conformanceClass.js +128 -0
- package/dist/src/ser-des/config/conformanceClass.js.map +1 -0
- package/dist/src/ser-des/config/conformanceTest.d.ts +6 -0
- package/dist/src/ser-des/config/conformanceTest.d.ts.map +1 -0
- package/dist/src/ser-des/config/conformanceTest.js +929 -0
- package/dist/src/ser-des/config/conformanceTest.js.map +1 -0
- package/dist/src/ser-des/config/constraint.d.ts +5 -0
- package/dist/src/ser-des/config/constraint.d.ts.map +1 -0
- package/dist/src/ser-des/config/constraint.js +108 -0
- package/dist/src/ser-des/config/constraint.js.map +1 -0
- package/dist/src/ser-des/config/data.d.ts.map +1 -1
- package/dist/src/ser-des/config/data.js +105 -12
- package/dist/src/ser-des/config/data.js.map +1 -1
- package/dist/src/ser-des/config/design.d.ts +9 -0
- package/dist/src/ser-des/config/design.d.ts.map +1 -0
- package/dist/src/ser-des/config/design.js +847 -0
- package/dist/src/ser-des/config/design.js.map +1 -0
- package/dist/src/ser-des/config/discrepancyRecord.d.ts +5 -0
- package/dist/src/ser-des/config/discrepancyRecord.d.ts.map +1 -0
- package/dist/src/ser-des/config/discrepancyRecord.js +109 -0
- package/dist/src/ser-des/config/discrepancyRecord.js.map +1 -0
- package/dist/src/ser-des/config/dual.d.ts +9 -0
- package/dist/src/ser-des/config/dual.d.ts.map +1 -0
- package/dist/src/ser-des/config/dual.js +84 -0
- package/dist/src/ser-des/config/dual.js.map +1 -0
- package/dist/src/ser-des/config/field-parser.d.ts +92 -7
- package/dist/src/ser-des/config/field-parser.d.ts.map +1 -1
- package/dist/src/ser-des/config/field-parser.js +832 -29
- package/dist/src/ser-des/config/field-parser.js.map +1 -1
- package/dist/src/ser-des/config/form.d.ts.map +1 -1
- package/dist/src/ser-des/config/form.js +355 -134
- package/dist/src/ser-des/config/form.js.map +1 -1
- package/dist/src/ser-des/config/formulasUsed.d.ts +9 -0
- package/dist/src/ser-des/config/formulasUsed.d.ts.map +1 -0
- package/dist/src/ser-des/config/formulasUsed.js +126 -0
- package/dist/src/ser-des/config/formulasUsed.js.map +1 -0
- package/dist/src/ser-des/config/index.d.ts.map +1 -1
- package/dist/src/ser-des/config/index.js +180 -1
- package/dist/src/ser-des/config/index.js.map +1 -1
- package/dist/src/ser-des/config/instance.d.ts +22 -0
- package/dist/src/ser-des/config/instance.d.ts.map +1 -0
- package/dist/src/ser-des/config/instance.js +266 -0
- package/dist/src/ser-des/config/instance.js.map +1 -0
- package/dist/src/ser-des/config/invariant.d.ts +9 -0
- package/dist/src/ser-des/config/invariant.d.ts.map +1 -0
- package/dist/src/ser-des/config/invariant.js +143 -0
- package/dist/src/ser-des/config/invariant.js.map +1 -0
- package/dist/src/ser-des/config/mapProfile.d.ts.map +1 -1
- package/dist/src/ser-des/config/mapProfile.js +199 -14
- package/dist/src/ser-des/config/mapProfile.js.map +1 -1
- package/dist/src/ser-des/config/metadata.js +6 -6
- package/dist/src/ser-des/config/metadata.js.map +1 -1
- package/dist/src/ser-des/config/monitor.d.ts +9 -0
- package/dist/src/ser-des/config/monitor.d.ts.map +1 -0
- package/dist/src/ser-des/config/monitor.js +322 -0
- package/dist/src/ser-des/config/monitor.js.map +1 -0
- package/dist/src/ser-des/config/note.d.ts.map +1 -1
- package/dist/src/ser-des/config/note.js +16 -1
- package/dist/src/ser-des/config/note.js.map +1 -1
- package/dist/src/ser-des/config/packageManifest.d.ts +5 -0
- package/dist/src/ser-des/config/packageManifest.d.ts.map +1 -0
- package/dist/src/ser-des/config/packageManifest.js +349 -0
- package/dist/src/ser-des/config/packageManifest.js.map +1 -0
- package/dist/src/ser-des/config/passport.d.ts +9 -0
- package/dist/src/ser-des/config/passport.d.ts.map +1 -0
- package/dist/src/ser-des/config/passport.js +191 -0
- package/dist/src/ser-des/config/passport.js.map +1 -0
- package/dist/src/ser-des/config/process.d.ts +5 -3
- package/dist/src/ser-des/config/process.d.ts.map +1 -1
- package/dist/src/ser-des/config/process.js +915 -8
- package/dist/src/ser-des/config/process.js.map +1 -1
- package/dist/src/ser-des/config/quantity.d.ts +21 -0
- package/dist/src/ser-des/config/quantity.d.ts.map +1 -0
- package/dist/src/ser-des/config/quantity.js +114 -0
- package/dist/src/ser-des/config/quantity.js.map +1 -0
- package/dist/src/ser-des/config/quantityRegister.d.ts +9 -0
- package/dist/src/ser-des/config/quantityRegister.d.ts.map +1 -0
- package/dist/src/ser-des/config/quantityRegister.js +202 -0
- package/dist/src/ser-des/config/quantityRegister.js.map +1 -0
- package/dist/src/ser-des/config/reference.d.ts.map +1 -1
- package/dist/src/ser-des/config/reference.js +6 -0
- package/dist/src/ser-des/config/reference.js.map +1 -1
- package/dist/src/ser-des/config/referenceMaterial.d.ts +5 -0
- package/dist/src/ser-des/config/referenceMaterial.d.ts.map +1 -0
- package/dist/src/ser-des/config/referenceMaterial.js +296 -0
- package/dist/src/ser-des/config/referenceMaterial.js.map +1 -0
- package/dist/src/ser-des/config/requirement.d.ts +16 -0
- package/dist/src/ser-des/config/requirement.d.ts.map +1 -0
- package/dist/src/ser-des/config/requirement.js +579 -0
- package/dist/src/ser-des/config/requirement.js.map +1 -0
- package/dist/src/ser-des/config/role.d.ts.map +1 -1
- package/dist/src/ser-des/config/role.js +12 -0
- package/dist/src/ser-des/config/role.js.map +1 -1
- package/dist/src/ser-des/config/series.d.ts +9 -0
- package/dist/src/ser-des/config/series.d.ts.map +1 -0
- package/dist/src/ser-des/config/series.js +121 -0
- package/dist/src/ser-des/config/series.js.map +1 -0
- package/dist/src/ser-des/config/sourceDiscrepancy.d.ts +11 -0
- package/dist/src/ser-des/config/sourceDiscrepancy.d.ts.map +1 -0
- package/dist/src/ser-des/config/sourceDiscrepancy.js +83 -0
- package/dist/src/ser-des/config/sourceDiscrepancy.js.map +1 -0
- package/dist/src/ser-des/config/stateMachine.d.ts.map +1 -1
- package/dist/src/ser-des/config/stateMachine.js +189 -38
- package/dist/src/ser-des/config/stateMachine.js.map +1 -1
- package/dist/src/ser-des/config/subform.d.ts.map +1 -1
- package/dist/src/ser-des/config/subform.js +25 -33
- package/dist/src/ser-des/config/subform.js.map +1 -1
- package/dist/src/ser-des/config/subject.d.ts +58 -0
- package/dist/src/ser-des/config/subject.d.ts.map +1 -0
- package/dist/src/ser-des/config/subject.js +2093 -0
- package/dist/src/ser-des/config/subject.js.map +1 -0
- package/dist/src/ser-des/config/symbol.d.ts.map +1 -1
- package/dist/src/ser-des/config/symbol.js +130 -6
- package/dist/src/ser-des/config/symbol.js.map +1 -1
- package/dist/src/ser-des/config/table.d.ts.map +1 -1
- package/dist/src/ser-des/config/table.js +373 -7
- package/dist/src/ser-des/config/table.js.map +1 -1
- package/dist/src/ser-des/config/term.d.ts.map +1 -1
- package/dist/src/ser-des/config/term.js +107 -0
- package/dist/src/ser-des/config/term.js.map +1 -1
- package/dist/src/ser-des/config/testPointSet.d.ts +5 -0
- package/dist/src/ser-des/config/testPointSet.d.ts.map +1 -0
- package/dist/src/ser-des/config/testPointSet.js +199 -0
- package/dist/src/ser-des/config/testPointSet.js.map +1 -0
- package/dist/src/ser-des/config/testSequence.d.ts +9 -0
- package/dist/src/ser-des/config/testSequence.d.ts.map +1 -0
- package/dist/src/ser-des/config/testSequence.js +206 -0
- package/dist/src/ser-des/config/testSequence.js.map +1 -0
- package/dist/src/ser-des/config/text.d.ts +5 -0
- package/dist/src/ser-des/config/text.d.ts.map +1 -0
- package/dist/src/ser-des/config/text.js +106 -0
- package/dist/src/ser-des/config/text.js.map +1 -0
- package/dist/src/ser-des/config/twin.d.ts +31 -0
- package/dist/src/ser-des/config/twin.d.ts.map +1 -0
- package/dist/src/ser-des/config/twin.js +362 -0
- package/dist/src/ser-des/config/twin.js.map +1 -0
- package/dist/src/ser-des/config/verdict.d.ts +5 -0
- package/dist/src/ser-des/config/verdict.d.ts.map +1 -0
- package/dist/src/ser-des/config/verdict.js +159 -0
- package/dist/src/ser-des/config/verdict.js.map +1 -0
- package/dist/src/ser-des/config/viewProfile.d.ts.map +1 -1
- package/dist/src/ser-des/config/viewProfile.js +7 -0
- package/dist/src/ser-des/config/viewProfile.js.map +1 -1
- package/dist/src/ser-des/includes.d.ts.map +1 -1
- package/dist/src/ser-des/includes.js +10 -10
- package/dist/src/ser-des/includes.js.map +1 -1
- package/dist/src/ser-des/index.d.ts +12 -0
- package/dist/src/ser-des/index.d.ts.map +1 -1
- package/dist/src/ser-des/index.js +42 -0
- package/dist/src/ser-des/index.js.map +1 -1
- package/dist/src/ser-des/package.d.ts +53 -0
- package/dist/src/ser-des/package.d.ts.map +1 -0
- package/dist/src/ser-des/package.js +404 -0
- package/dist/src/ser-des/package.js.map +1 -0
- package/dist/src/ser-des/parse-block.d.ts.map +1 -1
- package/dist/src/ser-des/parse-block.js +7 -1
- package/dist/src/ser-des/parse-block.js.map +1 -1
- package/dist/src/ser-des/parse.d.ts.map +1 -1
- package/dist/src/ser-des/parse.js +45 -0
- package/dist/src/ser-des/parse.js.map +1 -1
- package/dist/src/ser-des/prm.d.ts +53 -0
- package/dist/src/ser-des/prm.d.ts.map +1 -0
- package/dist/src/ser-des/prm.js +257 -0
- package/dist/src/ser-des/prm.js.map +1 -0
- package/dist/src/ser-des/resolve.d.ts.map +1 -1
- package/dist/src/ser-des/resolve.js +1 -0
- package/dist/src/ser-des/resolve.js.map +1 -1
- package/dist/src/ser-des/tokenize.d.ts +11 -0
- package/dist/src/ser-des/tokenize.d.ts.map +1 -1
- package/dist/src/ser-des/tokenize.js +28 -1
- package/dist/src/ser-des/tokenize.js.map +1 -1
- package/dist/src/ser-des/types.d.ts +56 -1
- package/dist/src/ser-des/types.d.ts.map +1 -1
- package/dist/src/spelling.d.ts +35 -0
- package/dist/src/spelling.d.ts.map +1 -0
- package/dist/src/spelling.js +140 -0
- package/dist/src/spelling.js.map +1 -0
- package/dist/src/text-coverage.d.ts +164 -0
- package/dist/src/text-coverage.d.ts.map +1 -0
- package/dist/src/text-coverage.js +679 -0
- package/dist/src/text-coverage.js.map +1 -0
- package/dist/src/time.d.ts +55 -0
- package/dist/src/time.d.ts.map +1 -0
- package/dist/src/time.js +223 -0
- package/dist/src/time.js.map +1 -0
- package/dist/src/type-expr.d.ts +31 -0
- package/dist/src/type-expr.d.ts.map +1 -0
- package/dist/src/type-expr.js +110 -0
- package/dist/src/type-expr.js.map +1 -0
- package/dist/src/types/Acceptance.d.ts +31 -0
- package/dist/src/types/Acceptance.d.ts.map +1 -0
- package/dist/src/types/Acceptance.js +12 -0
- package/dist/src/types/Acceptance.js.map +1 -0
- package/dist/src/types/ActivityArchetype.d.ts +14 -0
- package/dist/src/types/ActivityArchetype.d.ts.map +1 -0
- package/dist/src/types/ActivityArchetype.js +17 -0
- package/dist/src/types/ActivityArchetype.js.map +1 -0
- package/dist/src/types/Artifact.d.ts +117 -0
- package/dist/src/types/Artifact.d.ts.map +1 -0
- package/dist/src/types/Artifact.js +35 -0
- package/dist/src/types/Artifact.js.map +1 -0
- package/dist/src/types/Calculation.d.ts +49 -0
- package/dist/src/types/Calculation.d.ts.map +1 -1
- package/dist/src/types/Comment.d.ts +23 -0
- package/dist/src/types/Comment.d.ts.map +1 -0
- package/dist/src/types/Comment.js +3 -0
- package/dist/src/types/Comment.js.map +1 -0
- package/dist/src/types/CompetenceKind.d.ts +70 -0
- package/dist/src/types/CompetenceKind.d.ts.map +1 -0
- package/dist/src/types/CompetenceKind.js +3 -0
- package/dist/src/types/CompetenceKind.js.map +1 -0
- package/dist/src/types/Composition.d.ts +80 -0
- package/dist/src/types/Composition.d.ts.map +1 -0
- package/dist/src/types/Composition.js +44 -0
- package/dist/src/types/Composition.js.map +1 -0
- package/dist/src/types/ConformanceClass.d.ts +22 -0
- package/dist/src/types/ConformanceClass.d.ts.map +1 -0
- package/dist/src/types/ConformanceClass.js +7 -0
- package/dist/src/types/ConformanceClass.js.map +1 -0
- package/dist/src/types/ConformanceTest.d.ts +206 -0
- package/dist/src/types/ConformanceTest.d.ts.map +1 -0
- package/dist/src/types/ConformanceTest.js +3 -0
- package/dist/src/types/ConformanceTest.js.map +1 -0
- package/dist/src/types/Constraint.d.ts +34 -0
- package/dist/src/types/Constraint.d.ts.map +1 -0
- package/dist/src/types/Constraint.js +3 -0
- package/dist/src/types/Constraint.js.map +1 -0
- package/dist/src/types/Design.d.ts +147 -0
- package/dist/src/types/Design.d.ts.map +1 -0
- package/dist/src/types/Design.js +10 -0
- package/dist/src/types/Design.js.map +1 -0
- package/dist/src/types/DiscrepancyRecord.d.ts +42 -0
- package/dist/src/types/DiscrepancyRecord.d.ts.map +1 -0
- package/dist/src/types/DiscrepancyRecord.js +3 -0
- package/dist/src/types/DiscrepancyRecord.js.map +1 -0
- package/dist/src/types/Form.d.ts +127 -1
- package/dist/src/types/Form.d.ts.map +1 -1
- package/dist/src/types/FormulasUsed.d.ts +95 -0
- package/dist/src/types/FormulasUsed.d.ts.map +1 -0
- package/dist/src/types/FormulasUsed.js +64 -0
- package/dist/src/types/FormulasUsed.js.map +1 -0
- package/dist/src/types/Instance.d.ts +105 -0
- package/dist/src/types/Instance.d.ts.map +1 -0
- package/dist/src/types/Instance.js +40 -0
- package/dist/src/types/Instance.js.map +1 -0
- package/dist/src/types/Invariant.d.ts +82 -0
- package/dist/src/types/Invariant.d.ts.map +1 -0
- package/dist/src/types/Invariant.js +50 -0
- package/dist/src/types/Invariant.js.map +1 -0
- package/dist/src/types/MapProfile.d.ts +36 -1
- package/dist/src/types/MapProfile.d.ts.map +1 -1
- package/dist/src/types/Monitor.d.ts +144 -0
- package/dist/src/types/Monitor.d.ts.map +1 -0
- package/dist/src/types/Monitor.js +74 -0
- package/dist/src/types/Monitor.js.map +1 -0
- package/dist/src/types/Note.d.ts +4 -1
- package/dist/src/types/Note.d.ts.map +1 -1
- package/dist/src/types/Package.d.ts +161 -0
- package/dist/src/types/Package.d.ts.map +1 -0
- package/dist/src/types/Package.js +3 -0
- package/dist/src/types/Package.js.map +1 -0
- package/dist/src/types/Passport.d.ts +125 -0
- package/dist/src/types/Passport.d.ts.map +1 -0
- package/dist/src/types/Passport.js +84 -0
- package/dist/src/types/Passport.js.map +1 -0
- package/dist/src/types/Quantity.d.ts +99 -0
- package/dist/src/types/Quantity.d.ts.map +1 -0
- package/dist/src/types/Quantity.js +24 -0
- package/dist/src/types/Quantity.js.map +1 -0
- package/dist/src/types/Reference.d.ts +2 -0
- package/dist/src/types/Reference.d.ts.map +1 -1
- package/dist/src/types/ReferenceMaterial.d.ts +53 -0
- package/dist/src/types/ReferenceMaterial.d.ts.map +1 -0
- package/dist/src/types/ReferenceMaterial.js +14 -0
- package/dist/src/types/ReferenceMaterial.js.map +1 -0
- package/dist/src/types/Requirement.d.ts +111 -0
- package/dist/src/types/Requirement.d.ts.map +1 -0
- package/dist/src/types/Requirement.js +10 -0
- package/dist/src/types/Requirement.js.map +1 -0
- package/dist/src/types/Role.d.ts +4 -0
- package/dist/src/types/Role.d.ts.map +1 -1
- package/dist/src/types/Series.d.ts +31 -0
- package/dist/src/types/Series.d.ts.map +1 -0
- package/dist/src/types/Series.js +14 -0
- package/dist/src/types/Series.js.map +1 -0
- package/dist/src/types/SourceDiscrepancy.d.ts +21 -0
- package/dist/src/types/SourceDiscrepancy.d.ts.map +1 -0
- package/dist/src/types/SourceDiscrepancy.js +13 -0
- package/dist/src/types/SourceDiscrepancy.js.map +1 -0
- package/dist/src/types/Standard.d.ts +68 -0
- package/dist/src/types/Standard.d.ts.map +1 -1
- package/dist/src/types/StateMachine.d.ts +43 -0
- package/dist/src/types/StateMachine.d.ts.map +1 -1
- package/dist/src/types/StateMachine.js +7 -0
- package/dist/src/types/StateMachine.js.map +1 -1
- package/dist/src/types/Subject.d.ts +432 -0
- package/dist/src/types/Subject.d.ts.map +1 -0
- package/dist/src/types/Subject.js +13 -0
- package/dist/src/types/Subject.js.map +1 -0
- package/dist/src/types/Symbol.d.ts +31 -1
- package/dist/src/types/Symbol.d.ts.map +1 -1
- package/dist/src/types/Table.d.ts +43 -0
- package/dist/src/types/Table.d.ts.map +1 -1
- package/dist/src/types/Term.d.ts +29 -0
- package/dist/src/types/Term.d.ts.map +1 -1
- package/dist/src/types/TestPointSet.d.ts +33 -0
- package/dist/src/types/TestPointSet.d.ts.map +1 -0
- package/dist/src/types/TestPointSet.js +11 -0
- package/dist/src/types/TestPointSet.js.map +1 -0
- package/dist/src/types/TestSequence.d.ts +105 -0
- package/dist/src/types/TestSequence.d.ts.map +1 -0
- package/dist/src/types/TestSequence.js +65 -0
- package/dist/src/types/TestSequence.js.map +1 -0
- package/dist/src/types/Text.d.ts +21 -0
- package/dist/src/types/Text.d.ts.map +1 -0
- package/dist/src/types/Text.js +38 -0
- package/dist/src/types/Text.js.map +1 -0
- package/dist/src/types/Time.d.ts +43 -0
- package/dist/src/types/Time.d.ts.map +1 -0
- package/dist/src/types/Time.js +14 -0
- package/dist/src/types/Time.js.map +1 -0
- package/dist/src/types/Twin.d.ts +155 -0
- package/dist/src/types/Twin.d.ts.map +1 -0
- package/dist/src/types/Twin.js +102 -0
- package/dist/src/types/Twin.js.map +1 -0
- package/dist/src/types/Verdict.d.ts +40 -0
- package/dist/src/types/Verdict.d.ts.map +1 -0
- package/dist/src/types/Verdict.js +14 -0
- package/dist/src/types/Verdict.js.map +1 -0
- package/dist/src/types/ViewProfile.d.ts +6 -0
- package/dist/src/types/ViewProfile.d.ts.map +1 -1
- package/dist/src/types/data.d.ts +27 -0
- package/dist/src/types/data.d.ts.map +1 -1
- package/dist/src/types/process.d.ts +231 -0
- package/dist/src/types/process.d.ts.map +1 -1
- package/dist-browser/index.mjs +6696 -663
- package/dist-cli/primmel.mjs +21453 -0
- package/package.json +61 -5
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// Shared acceptance decision parser + dumper.
|
|
4
|
+
//
|
|
5
|
+
// Maps $defs/acceptanceDecision of data/schemas/{rc,cc,verdicts}.yaml
|
|
6
|
+
// (TODO.refactor/10): how a limit comparison decides conformity.
|
|
7
|
+
// Attachable to requirement limits, conformance tests, and verdicts:
|
|
8
|
+
//
|
|
9
|
+
// acceptance {
|
|
10
|
+
// rule guarded
|
|
11
|
+
// guard_band { kind NSFa value 0.5 }
|
|
12
|
+
// uncertainty { max_ratio_to_mpe 0.333 }
|
|
13
|
+
// criterion D/NSFa
|
|
14
|
+
// statistics { method error_distribution on_basis_of errors permits count_override }
|
|
15
|
+
// }
|
|
16
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.parseAcceptance = parseAcceptance;
|
|
19
|
+
exports.dumpAcceptance = dumpAcceptance;
|
|
20
|
+
const tokenize_1 = require("../tokenize");
|
|
21
|
+
const tokenize_2 = require("../tokenize");
|
|
22
|
+
const VALID_RULES = ['shared_risk', 'guarded'];
|
|
23
|
+
const VALID_GUARD_KINDS = ['NSFa', 'NSFd', 'absolute', 'ratio'];
|
|
24
|
+
const VALID_CRITERIA = ['I/MPE', 'D/NSFa', 'D/NSFd', 'n/a'];
|
|
25
|
+
/** Parse the content of an `acceptance { … }` block. */
|
|
26
|
+
function parseAcceptance(block) {
|
|
27
|
+
const a = {
|
|
28
|
+
rule: '',
|
|
29
|
+
guardBand: null,
|
|
30
|
+
uncertainty: null,
|
|
31
|
+
criterion: '',
|
|
32
|
+
statistics: null,
|
|
33
|
+
};
|
|
34
|
+
const t = (0, tokenize_1.default)(block);
|
|
35
|
+
let i = 0;
|
|
36
|
+
while (i < t.length) {
|
|
37
|
+
const cmd = t[i++];
|
|
38
|
+
if (i >= t.length) {
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
if (cmd === 'rule') {
|
|
42
|
+
const r = (0, tokenize_2.stripWrapping)(t[i++]);
|
|
43
|
+
if (!VALID_RULES.includes(r)) {
|
|
44
|
+
throw new Error(`Parsing error: acceptance: Unknown rule ${r} (valid: ${VALID_RULES.join(', ')})`);
|
|
45
|
+
}
|
|
46
|
+
a.rule = r;
|
|
47
|
+
}
|
|
48
|
+
else if (cmd === 'guard_band') {
|
|
49
|
+
const gt = (0, tokenize_1.default)((0, tokenize_2.unwrapBlock)(t[i++]));
|
|
50
|
+
const band = { kind: '', value: 0 };
|
|
51
|
+
let j = 0;
|
|
52
|
+
while (j < gt.length) {
|
|
53
|
+
const gc = gt[j++];
|
|
54
|
+
if (j >= gt.length) {
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
if (gc === 'kind') {
|
|
58
|
+
band.kind = (0, tokenize_2.stripWrapping)(gt[j++]);
|
|
59
|
+
}
|
|
60
|
+
else if (gc === 'value') {
|
|
61
|
+
band.value = Number((0, tokenize_2.stripWrapping)(gt[j++]));
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
(0, tokenize_2.unwrapBlock)(gt[j++]);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (!VALID_GUARD_KINDS.includes(band.kind)) {
|
|
68
|
+
throw new Error(`Parsing error: acceptance: Unknown guard_band kind ${band.kind} (valid: ${VALID_GUARD_KINDS.join(', ')})`);
|
|
69
|
+
}
|
|
70
|
+
a.guardBand = band;
|
|
71
|
+
}
|
|
72
|
+
else if (cmd === 'uncertainty') {
|
|
73
|
+
const ut = (0, tokenize_1.default)((0, tokenize_2.unwrapBlock)(t[i++]));
|
|
74
|
+
let j = 0;
|
|
75
|
+
while (j < ut.length) {
|
|
76
|
+
const uc = ut[j++];
|
|
77
|
+
if (j >= ut.length) {
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
if (uc === 'max_ratio_to_mpe') {
|
|
81
|
+
a.uncertainty = { maxRatioToMpe: Number((0, tokenize_2.stripWrapping)(ut[j++])) };
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
(0, tokenize_2.unwrapBlock)(ut[j++]);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else if (cmd === 'criterion') {
|
|
89
|
+
const c = (0, tokenize_2.stripWrapping)(t[i++]);
|
|
90
|
+
if (!VALID_CRITERIA.includes(c)) {
|
|
91
|
+
throw new Error(`Parsing error: acceptance: Unknown criterion ${c} (valid: ${VALID_CRITERIA.join(', ')})`);
|
|
92
|
+
}
|
|
93
|
+
a.criterion = c;
|
|
94
|
+
}
|
|
95
|
+
else if (cmd === 'statistics') {
|
|
96
|
+
const st = (0, tokenize_1.default)((0, tokenize_2.unwrapBlock)(t[i++]));
|
|
97
|
+
const stats = { method: '', onBasisOf: '', permits: '' };
|
|
98
|
+
let j = 0;
|
|
99
|
+
while (j < st.length) {
|
|
100
|
+
const sc = st[j++];
|
|
101
|
+
if (j >= st.length) {
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
if (sc === 'method') {
|
|
105
|
+
stats.method = (0, tokenize_2.stripWrapping)(st[j++]);
|
|
106
|
+
}
|
|
107
|
+
else if (sc === 'on_basis_of') {
|
|
108
|
+
stats.onBasisOf = (0, tokenize_2.stripWrapping)(st[j++]);
|
|
109
|
+
}
|
|
110
|
+
else if (sc === 'permits') {
|
|
111
|
+
stats.permits = (0, tokenize_2.stripWrapping)(st[j++]);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
(0, tokenize_2.unwrapBlock)(st[j++]);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
a.statistics = stats;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
(0, tokenize_2.unwrapBlock)(t[i++]);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return a;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Dump an acceptance decision as a single-line `acceptance { … }` block
|
|
127
|
+
* prefixed by `indent` (no trailing newline) — callers embed it in
|
|
128
|
+
* their own line layout.
|
|
129
|
+
*/
|
|
130
|
+
function dumpAcceptance(a, indent) {
|
|
131
|
+
let out = indent + 'acceptance { ';
|
|
132
|
+
if (a.rule) {
|
|
133
|
+
out += 'rule ' + a.rule + ' ';
|
|
134
|
+
}
|
|
135
|
+
if (a.guardBand) {
|
|
136
|
+
out +=
|
|
137
|
+
'guard_band { kind ' +
|
|
138
|
+
a.guardBand.kind +
|
|
139
|
+
' value ' +
|
|
140
|
+
a.guardBand.value +
|
|
141
|
+
' } ';
|
|
142
|
+
}
|
|
143
|
+
if (a.uncertainty) {
|
|
144
|
+
out +=
|
|
145
|
+
'uncertainty { max_ratio_to_mpe ' + a.uncertainty.maxRatioToMpe + ' } ';
|
|
146
|
+
}
|
|
147
|
+
if (a.criterion) {
|
|
148
|
+
out += 'criterion ' + a.criterion + ' ';
|
|
149
|
+
}
|
|
150
|
+
if (a.statistics) {
|
|
151
|
+
out +=
|
|
152
|
+
'statistics { method ' +
|
|
153
|
+
a.statistics.method +
|
|
154
|
+
' on_basis_of ' +
|
|
155
|
+
a.statistics.onBasisOf +
|
|
156
|
+
' permits ' +
|
|
157
|
+
a.statistics.permits +
|
|
158
|
+
' } ';
|
|
159
|
+
}
|
|
160
|
+
out += '}';
|
|
161
|
+
return out;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=acceptance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acceptance.js","sourceRoot":"","sources":["../../../../src/ser-des/config/acceptance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Dumper, Parser } from '../types';
|
|
2
|
+
import ActivityArchetype from '../../types/ActivityArchetype';
|
|
3
|
+
export declare const parseActivityArchetype: Parser;
|
|
4
|
+
export declare const dumpActivityArchetype: Dumper<ActivityArchetype>;
|
|
5
|
+
//# sourceMappingURL=activityArchetype.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activityArchetype.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/activityArchetype.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAE9D,eAAO,MAAM,sBAAsB,EAAE,MAkCpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,CAgB3D,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// `activity_archetype` construct (TODO.roadmap/39) — one entry of an
|
|
4
|
+
// ISO/IEC 17000 functional-approach activity-kind register:
|
|
5
|
+
//
|
|
6
|
+
// activity_archetype testing {
|
|
7
|
+
// label "testing"
|
|
8
|
+
// clause "6.2"
|
|
9
|
+
// definition "determination of one or more characteristics of an
|
|
10
|
+
// object of conformity assessment (4.2), according to a procedure
|
|
11
|
+
// (5.2)"
|
|
12
|
+
// parent determination
|
|
13
|
+
// }
|
|
14
|
+
//
|
|
15
|
+
// The register is the resolution target of a process's
|
|
16
|
+
// `activity_kind { <id>+ }` classification facet (C58
|
|
17
|
+
// activity-kind-resolves). `parent` carries only the type-of
|
|
18
|
+
// relationships the source standard states (ISO/IEC 17000 A.3.2
|
|
19
|
+
// determination types, A.4.3 attestation types).
|
|
20
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.dumpActivityArchetype = exports.parseActivityArchetype = void 0;
|
|
23
|
+
const tokenize_1 = require("../tokenize");
|
|
24
|
+
const parse_block_1 = require("../parse-block");
|
|
25
|
+
const field_parser_1 = require("./field-parser");
|
|
26
|
+
const parseActivityArchetype = (id, data) => {
|
|
27
|
+
const archetype = {
|
|
28
|
+
id: id,
|
|
29
|
+
label: '',
|
|
30
|
+
clause: '',
|
|
31
|
+
definition: '',
|
|
32
|
+
parent: '',
|
|
33
|
+
};
|
|
34
|
+
(0, parse_block_1.forEachEntry)(data, (keyword, value) => {
|
|
35
|
+
// stripWrapping (not unwrapped): `parent` is a BARE id, and
|
|
36
|
+
// unwrapped's unwrapBlock would strip its first/last characters.
|
|
37
|
+
if (keyword === 'label') {
|
|
38
|
+
archetype.label = (0, tokenize_1.stripWrapping)(value());
|
|
39
|
+
}
|
|
40
|
+
else if (keyword === 'clause') {
|
|
41
|
+
archetype.clause = (0, tokenize_1.stripWrapping)(value());
|
|
42
|
+
}
|
|
43
|
+
else if (keyword === 'definition') {
|
|
44
|
+
archetype.definition = (0, tokenize_1.stripWrapping)(value());
|
|
45
|
+
}
|
|
46
|
+
else if (keyword === 'parent') {
|
|
47
|
+
archetype.parent = (0, tokenize_1.stripWrapping)(value());
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
}, { construct: 'activity_archetype', id });
|
|
54
|
+
return ctx => {
|
|
55
|
+
ctx.activityArchetypes[id] = archetype;
|
|
56
|
+
return ctx;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
exports.parseActivityArchetype = parseActivityArchetype;
|
|
60
|
+
const dumpActivityArchetype = function (a) {
|
|
61
|
+
let out = 'activity_archetype ' + a.id + ' {\n';
|
|
62
|
+
if (a.label) {
|
|
63
|
+
out += ' label "' + (0, tokenize_1.escapeString)(a.label) + '"\n';
|
|
64
|
+
}
|
|
65
|
+
if (a.clause) {
|
|
66
|
+
out += ' clause "' + (0, tokenize_1.escapeString)(a.clause) + '"\n';
|
|
67
|
+
}
|
|
68
|
+
if (a.definition) {
|
|
69
|
+
out += ' definition "' + (0, tokenize_1.escapeString)(a.definition) + '"\n';
|
|
70
|
+
}
|
|
71
|
+
if (a.parent) {
|
|
72
|
+
out += ' parent ' + (0, field_parser_1.dumpBareSafe)(a.parent) + '\n';
|
|
73
|
+
}
|
|
74
|
+
out += '}\n';
|
|
75
|
+
return out;
|
|
76
|
+
};
|
|
77
|
+
exports.dumpActivityArchetype = dumpActivityArchetype;
|
|
78
|
+
//# sourceMappingURL=activityArchetype.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activityArchetype.js","sourceRoot":"","sources":["../../../../src/ser-des/config/activityArchetype.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,qEAAqE;AACrE,4DAA4D;AAC5D,EAAE;AACF,iCAAiC;AACjC,sBAAsB;AACtB,mBAAmB;AACnB,qEAAqE;AACrE,wEAAwE;AACxE,eAAe;AACf,2BAA2B;AAC3B,MAAM;AACN,EAAE;AACF,uDAAuD;AACvD,sDAAsD;AACtD,6DAA6D;AAC7D,gEAAgE;AAChE,iDAAiD;AACjD,wEAAwE;;;AAGxE,0CAA0D;AAC1D,gDAA8C;AAC9C,iDAA8C;AAGvC,MAAM,sBAAsB,GAAW,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IACzE,MAAM,SAAS,GAAsB;QACnC,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,IAAA,0BAAY,EACV,IAAI,EACJ,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjB,4DAA4D;QAC5D,iEAAiE;QACjE,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,SAAS,CAAC,KAAK,GAAG,IAAA,wBAAa,EAAC,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,SAAS,CAAC,MAAM,GAAG,IAAA,wBAAa,EAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YACpC,SAAS,CAAC,UAAU,GAAG,IAAA,wBAAa,EAAC,KAAK,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,SAAS,CAAC,MAAM,GAAG,IAAA,wBAAa,EAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAAE,EAAE,CACxC,CAAC;IAEF,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;QACvC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AAlCW,QAAA,sBAAsB,0BAkCjC;AAEK,MAAM,qBAAqB,GAA8B,UAAU,CAAC;IACzE,IAAI,GAAG,GAAW,qBAAqB,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC;IACxD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,GAAG,IAAI,WAAW,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACb,GAAG,IAAI,YAAY,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;IACvD,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QACjB,GAAG,IAAI,gBAAgB,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACb,GAAG,IAAI,WAAW,GAAG,IAAA,2BAAY,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACrD,CAAC;IACD,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAhBW,QAAA,qBAAqB,yBAgBhC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ArtifactDefinition, ArtifactInstance } from '../../types/Artifact';
|
|
2
|
+
export declare const artifactDefinitionConstruct: {
|
|
3
|
+
readonly keyword: "artifact_definition";
|
|
4
|
+
readonly field: "artifactDefinitions";
|
|
5
|
+
readonly takesID: true;
|
|
6
|
+
readonly parse: import("../types").Parser;
|
|
7
|
+
readonly dump: (d: ArtifactDefinition) => string;
|
|
8
|
+
};
|
|
9
|
+
export declare const artifactInstanceConstruct: {
|
|
10
|
+
readonly keyword: "artifact_instance";
|
|
11
|
+
readonly field: "artifactInstances";
|
|
12
|
+
readonly takesID: true;
|
|
13
|
+
readonly parse: import("../types").Parser;
|
|
14
|
+
readonly dump: (a: ArtifactInstance) => string;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=artifact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/artifact.ts"],"names":[],"mappings":"AA4DA,OAAO,KAAK,EAEV,kBAAkB,EAElB,gBAAgB,EAGjB,MAAM,sBAAsB,CAAC;AAyU9B,eAAO,MAAM,2BAA2B;;;;;uBAnII,kBAAkB,KAAG,MAAM;CAyI7D,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;uBAlCI,gBAAgB,KAAG,MAAM;CAwCzD,CAAC"}
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// Artifact constructs (Primmel v3, TODO.roadmap/09 — gap audit G2).
|
|
4
|
+
//
|
|
5
|
+
// artifact_definition enforcement-evidence-file {
|
|
6
|
+
// name "Enforcement evidence file"
|
|
7
|
+
// description "Electronic record the instrument produces per enforcement measurement."
|
|
8
|
+
// content_contract {
|
|
9
|
+
// fields {
|
|
10
|
+
// measured_speed : speed
|
|
11
|
+
// ego_speed : speed optional
|
|
12
|
+
// driving_direction : string
|
|
13
|
+
// measurement_timestamp : datetime
|
|
14
|
+
// site_parameters : structure
|
|
15
|
+
// alignment_parameters : structure
|
|
16
|
+
// instrument_identification : string
|
|
17
|
+
// image_evidence : media optional
|
|
18
|
+
// }
|
|
19
|
+
// structure "one record per enforcement measurement; images embedded"
|
|
20
|
+
// media {
|
|
21
|
+
// image_evidence { kinds { jpeg png } role "vehicle identification" }
|
|
22
|
+
// }
|
|
23
|
+
// }
|
|
24
|
+
// produced_when per_measurement
|
|
25
|
+
// retention "approx. three months (secure storage)"
|
|
26
|
+
// source { doc "urn:oiml:pub:r:91-1:2025" clause "6.6, 7.2.2, 7.3" }
|
|
27
|
+
// }
|
|
28
|
+
//
|
|
29
|
+
// artifact_instance evf-001 {
|
|
30
|
+
// of enforcement-evidence-file
|
|
31
|
+
// produced_at 2026-09-15T10:14:00Z
|
|
32
|
+
// by smp-r91-001
|
|
33
|
+
// content {
|
|
34
|
+
// measured_speed : 137 km/h
|
|
35
|
+
// driving_direction : "approaching"
|
|
36
|
+
// measurement_timestamp : 2026-09-15T10:14:00Z
|
|
37
|
+
// }
|
|
38
|
+
// links { run-stationary-001 trp-r91-001 }
|
|
39
|
+
// }
|
|
40
|
+
//
|
|
41
|
+
// The subject slots (task 01) reference these constructs by id:
|
|
42
|
+
// is.artifacts { enforcement-evidence-file } — definitions (IS)
|
|
43
|
+
// has.artifact_instances { evf-001 } — produced records (HAS)
|
|
44
|
+
//
|
|
45
|
+
// MECE firewall (doctrine ch. 02 §2.3/§2.4): an artifact is an output OF
|
|
46
|
+
// the instrument; an EvidenceRecord is a record OF the test. The linter's
|
|
47
|
+
// artifact-evidence-separation (C47) keeps the two vocabularies apart.
|
|
48
|
+
//
|
|
49
|
+
// produced_when shapes:
|
|
50
|
+
// produced_when per_measurement — one instance per measurement run
|
|
51
|
+
// produced_when per_interval <ISO-8601> — one instance per interval
|
|
52
|
+
// produced_when on_event <event> — one instance per event occurrence
|
|
53
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
54
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
|
+
exports.artifactInstanceConstruct = exports.artifactDefinitionConstruct = void 0;
|
|
56
|
+
const tokenize_1 = require("../tokenize");
|
|
57
|
+
const tokenize_2 = require("../tokenize");
|
|
58
|
+
const tokenize_3 = require("../tokenize");
|
|
59
|
+
const field_parser_1 = require("./field-parser");
|
|
60
|
+
const quantity_1 = require("./quantity");
|
|
61
|
+
const instance_1 = require("./instance");
|
|
62
|
+
// ── shared little readers (same shapes as subject.ts) ────────────────
|
|
63
|
+
function dumpSource(keyword, src, indent) {
|
|
64
|
+
if (!src || (!src.doc && !src.clause)) {
|
|
65
|
+
return '';
|
|
66
|
+
}
|
|
67
|
+
const frag = src.fragment ? ` fragment "${(0, tokenize_2.escapeString)(src.fragment)}"` : '';
|
|
68
|
+
return `${indent}${keyword} { doc "${(0, tokenize_2.escapeString)(src.doc)}" clause "${(0, tokenize_2.escapeString)(src.clause)}"${frag} }\n`;
|
|
69
|
+
}
|
|
70
|
+
function readIdList(block) {
|
|
71
|
+
return (0, tokenize_1.default)((0, tokenize_2.stripWrapping)(block))
|
|
72
|
+
.map(field_parser_1.stripColon)
|
|
73
|
+
.map(tokenize_2.stripWrapping)
|
|
74
|
+
.filter(s => s.length > 0);
|
|
75
|
+
}
|
|
76
|
+
function dumpIdList(keyword, ids, indent) {
|
|
77
|
+
if (ids.length === 0) {
|
|
78
|
+
return '';
|
|
79
|
+
}
|
|
80
|
+
return `${indent}${keyword} { ${ids.join(' ')} }\n`;
|
|
81
|
+
}
|
|
82
|
+
function readReference(block) {
|
|
83
|
+
return (0, tokenize_1.default)((0, tokenize_2.stripWrapping)(block))
|
|
84
|
+
.map(tokenize_2.stripWrapping)
|
|
85
|
+
.filter(s => s.length > 0);
|
|
86
|
+
}
|
|
87
|
+
// ── artifact_definition ──────────────────────────────────────────────
|
|
88
|
+
/**
|
|
89
|
+
* Read `name : type [optional] ["description"]` field entries. The type is
|
|
90
|
+
* one token (quantity kind, data type, 'media', 'structure', …); a missing
|
|
91
|
+
* type parses as '' and is flagged by the linter (C45). A trailing quoted
|
|
92
|
+
* string is the field's description.
|
|
93
|
+
*/
|
|
94
|
+
function readContractFields(block) {
|
|
95
|
+
const out = [];
|
|
96
|
+
const t = (0, tokenize_1.default)(block);
|
|
97
|
+
let i = 0;
|
|
98
|
+
while (i < t.length) {
|
|
99
|
+
const name = (0, field_parser_1.stripColon)(t[i++]);
|
|
100
|
+
if (!name) {
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
if (t[i] === ':') {
|
|
104
|
+
i++;
|
|
105
|
+
}
|
|
106
|
+
let type = '';
|
|
107
|
+
if (i < t.length && t[i] !== ':') {
|
|
108
|
+
type = (0, tokenize_2.stripWrapping)(t[i++]);
|
|
109
|
+
}
|
|
110
|
+
let optional = false;
|
|
111
|
+
if (t[i] === 'optional') {
|
|
112
|
+
optional = true;
|
|
113
|
+
i++;
|
|
114
|
+
}
|
|
115
|
+
let description = '';
|
|
116
|
+
if (i < t.length && t[i].startsWith('"')) {
|
|
117
|
+
description = (0, tokenize_2.stripWrapping)(t[i++]);
|
|
118
|
+
}
|
|
119
|
+
out.push({ name, type, optional, description });
|
|
120
|
+
}
|
|
121
|
+
return out;
|
|
122
|
+
}
|
|
123
|
+
/** Read `field { kinds { … } role "…" }` media refinement entries. */
|
|
124
|
+
function readContractMedia(block) {
|
|
125
|
+
const out = [];
|
|
126
|
+
const t = (0, tokenize_1.default)(block);
|
|
127
|
+
let i = 0;
|
|
128
|
+
while (i < t.length) {
|
|
129
|
+
const field = (0, field_parser_1.stripColon)(t[i++]);
|
|
130
|
+
if (!field) {
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
const m = { field, kinds: [], role: '' };
|
|
134
|
+
if (i < t.length && t[i].startsWith('{')) {
|
|
135
|
+
const inner = (0, tokenize_1.default)((0, tokenize_3.unwrapBlock)(t[i++]));
|
|
136
|
+
let j = 0;
|
|
137
|
+
while (j < inner.length) {
|
|
138
|
+
const cmd = inner[j++];
|
|
139
|
+
if (j >= inner.length) {
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
if (cmd === 'kinds') {
|
|
143
|
+
m.kinds = readIdList(inner[j++]);
|
|
144
|
+
}
|
|
145
|
+
else if (cmd === 'role') {
|
|
146
|
+
m.role = (0, tokenize_2.stripWrapping)(inner[j++]);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
(0, tokenize_3.unwrapBlock)(inner[j++]);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
out.push(m);
|
|
154
|
+
}
|
|
155
|
+
return out;
|
|
156
|
+
}
|
|
157
|
+
function parseContentContract(block) {
|
|
158
|
+
const contract = {
|
|
159
|
+
fields: [],
|
|
160
|
+
structure: '',
|
|
161
|
+
media: [],
|
|
162
|
+
};
|
|
163
|
+
const t = (0, tokenize_1.default)(block);
|
|
164
|
+
let i = 0;
|
|
165
|
+
while (i < t.length) {
|
|
166
|
+
const cmd = t[i++];
|
|
167
|
+
if (i >= t.length) {
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
if (cmd === 'fields') {
|
|
171
|
+
contract.fields = readContractFields((0, tokenize_3.unwrapBlock)(t[i++]));
|
|
172
|
+
}
|
|
173
|
+
else if (cmd === 'structure') {
|
|
174
|
+
contract.structure = (0, tokenize_2.stripWrapping)(t[i++]);
|
|
175
|
+
}
|
|
176
|
+
else if (cmd === 'media') {
|
|
177
|
+
contract.media = readContractMedia((0, tokenize_3.unwrapBlock)(t[i++]));
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
(0, tokenize_3.unwrapBlock)(t[i++]);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return contract;
|
|
184
|
+
}
|
|
185
|
+
const parseArtifactDefinition = function (id, data) {
|
|
186
|
+
const result = {
|
|
187
|
+
id,
|
|
188
|
+
name: '',
|
|
189
|
+
description: '',
|
|
190
|
+
contentContract: { fields: [], structure: '', media: [] },
|
|
191
|
+
producedWhen: { kind: '' },
|
|
192
|
+
retention: '',
|
|
193
|
+
source: null,
|
|
194
|
+
referenceIds: [],
|
|
195
|
+
};
|
|
196
|
+
const t = (0, tokenize_2.tokenizePackage)(data);
|
|
197
|
+
let i = 0;
|
|
198
|
+
while (i < t.length) {
|
|
199
|
+
const cmd = t[i++];
|
|
200
|
+
if (i >= t.length) {
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
203
|
+
if (cmd === 'name') {
|
|
204
|
+
result.name = (0, tokenize_2.stripWrapping)(t[i++]);
|
|
205
|
+
}
|
|
206
|
+
else if (cmd === 'description') {
|
|
207
|
+
result.description = (0, tokenize_2.stripWrapping)(t[i++]);
|
|
208
|
+
}
|
|
209
|
+
else if (cmd === 'content_contract') {
|
|
210
|
+
result.contentContract = parseContentContract((0, tokenize_3.unwrapBlock)(t[i++]));
|
|
211
|
+
}
|
|
212
|
+
else if (cmd === 'produced_when') {
|
|
213
|
+
const kind = (0, tokenize_2.stripWrapping)(t[i++] ?? '');
|
|
214
|
+
if (kind === 'per_interval') {
|
|
215
|
+
result.producedWhen = { kind, interval: (0, tokenize_2.stripWrapping)(t[i++] ?? '') };
|
|
216
|
+
}
|
|
217
|
+
else if (kind === 'on_event') {
|
|
218
|
+
result.producedWhen = { kind, event: (0, tokenize_2.stripWrapping)(t[i++] ?? '') };
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
result.producedWhen = { kind };
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
else if (cmd === 'retention') {
|
|
225
|
+
result.retention = (0, tokenize_2.stripWrapping)(t[i++]);
|
|
226
|
+
}
|
|
227
|
+
else if (cmd === 'source') {
|
|
228
|
+
result.source = (0, field_parser_1.readSource)((0, tokenize_3.unwrapBlock)(t[i++]));
|
|
229
|
+
}
|
|
230
|
+
else if (cmd === 'reference') {
|
|
231
|
+
result.referenceIds = readReference(t[i++]);
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
(0, tokenize_3.unwrapBlock)(t[i++]);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
return ctx => {
|
|
238
|
+
ctx.artifactDefinitions[id] = result;
|
|
239
|
+
return ctx;
|
|
240
|
+
};
|
|
241
|
+
};
|
|
242
|
+
function dumpProducedWhen(pw) {
|
|
243
|
+
if (pw.kind === 'per_interval') {
|
|
244
|
+
return `per_interval ${(0, field_parser_1.dumpBareSafe)(pw.interval ?? '')}`;
|
|
245
|
+
}
|
|
246
|
+
if (pw.kind === 'on_event') {
|
|
247
|
+
return `on_event ${(0, field_parser_1.dumpBareSafe)(pw.event ?? '')}`;
|
|
248
|
+
}
|
|
249
|
+
return pw.kind;
|
|
250
|
+
}
|
|
251
|
+
const dumpArtifactDefinition = function (d) {
|
|
252
|
+
let out = 'artifact_definition ' + d.id + ' {\n';
|
|
253
|
+
if (d.name) {
|
|
254
|
+
out += ' name "' + (0, tokenize_2.escapeString)(d.name) + '"\n';
|
|
255
|
+
}
|
|
256
|
+
if (d.description) {
|
|
257
|
+
out += ' description "' + (0, tokenize_2.escapeString)(d.description) + '"\n';
|
|
258
|
+
}
|
|
259
|
+
const c = d.contentContract;
|
|
260
|
+
const hasContract = c.fields.length > 0 || c.structure || c.media.length > 0;
|
|
261
|
+
if (hasContract) {
|
|
262
|
+
out += ' content_contract {\n';
|
|
263
|
+
if (c.fields.length > 0) {
|
|
264
|
+
out += ' fields {\n';
|
|
265
|
+
for (const f of c.fields) {
|
|
266
|
+
out +=
|
|
267
|
+
' ' +
|
|
268
|
+
f.name +
|
|
269
|
+
' : ' +
|
|
270
|
+
(0, field_parser_1.dumpBareSafe)(f.type) +
|
|
271
|
+
(f.optional ? ' optional' : '') +
|
|
272
|
+
(f.description ? ' "' + (0, tokenize_2.escapeString)(f.description) + '"' : '') +
|
|
273
|
+
'\n';
|
|
274
|
+
}
|
|
275
|
+
out += ' }\n';
|
|
276
|
+
}
|
|
277
|
+
if (c.structure) {
|
|
278
|
+
out += ' structure "' + (0, tokenize_2.escapeString)(c.structure) + '"\n';
|
|
279
|
+
}
|
|
280
|
+
if (c.media.length > 0) {
|
|
281
|
+
out += ' media {\n';
|
|
282
|
+
for (const m of c.media) {
|
|
283
|
+
let line = ' ' + m.field + ' { ';
|
|
284
|
+
if (m.kinds.length > 0) {
|
|
285
|
+
line += 'kinds { ' + m.kinds.join(' ') + ' } ';
|
|
286
|
+
}
|
|
287
|
+
if (m.role) {
|
|
288
|
+
line += 'role "' + (0, tokenize_2.escapeString)(m.role) + '" ';
|
|
289
|
+
}
|
|
290
|
+
out += line + '}\n';
|
|
291
|
+
}
|
|
292
|
+
out += ' }\n';
|
|
293
|
+
}
|
|
294
|
+
out += ' }\n';
|
|
295
|
+
}
|
|
296
|
+
if (d.producedWhen.kind) {
|
|
297
|
+
out += ' produced_when ' + dumpProducedWhen(d.producedWhen) + '\n';
|
|
298
|
+
}
|
|
299
|
+
if (d.retention) {
|
|
300
|
+
out += ' retention "' + (0, tokenize_2.escapeString)(d.retention) + '"\n';
|
|
301
|
+
}
|
|
302
|
+
out += dumpSource('source', d.source, ' ');
|
|
303
|
+
out += dumpIdList('reference', d.referenceIds, ' ');
|
|
304
|
+
out += '}\n';
|
|
305
|
+
return out;
|
|
306
|
+
};
|
|
307
|
+
// ── artifact_instance ────────────────────────────────────────────────
|
|
308
|
+
const parseArtifactInstance = function (id, data) {
|
|
309
|
+
const result = {
|
|
310
|
+
id,
|
|
311
|
+
of: '',
|
|
312
|
+
producedAt: '',
|
|
313
|
+
by: '',
|
|
314
|
+
content: {},
|
|
315
|
+
links: [],
|
|
316
|
+
referenceIds: [],
|
|
317
|
+
};
|
|
318
|
+
const t = (0, tokenize_2.tokenizePackage)(data);
|
|
319
|
+
let i = 0;
|
|
320
|
+
while (i < t.length) {
|
|
321
|
+
const cmd = t[i++];
|
|
322
|
+
if (i >= t.length) {
|
|
323
|
+
break;
|
|
324
|
+
}
|
|
325
|
+
if (cmd === 'of') {
|
|
326
|
+
result.of = (0, tokenize_2.stripWrapping)(t[i++]);
|
|
327
|
+
}
|
|
328
|
+
else if (cmd === 'produced_at') {
|
|
329
|
+
result.producedAt = (0, tokenize_2.stripWrapping)(t[i++]);
|
|
330
|
+
}
|
|
331
|
+
else if (cmd === 'by') {
|
|
332
|
+
result.by = (0, tokenize_2.stripWrapping)(t[i++]);
|
|
333
|
+
}
|
|
334
|
+
else if (cmd === 'content') {
|
|
335
|
+
// Same `key : value [unit]` entry shape as instance has.attributes
|
|
336
|
+
// (QuantityValue block form included) — readValueMap is shared.
|
|
337
|
+
result.content = (0, instance_1.readValueMap)((0, tokenize_3.unwrapBlock)(t[i++]));
|
|
338
|
+
}
|
|
339
|
+
else if (cmd === 'links') {
|
|
340
|
+
result.links = readIdList(t[i++]);
|
|
341
|
+
}
|
|
342
|
+
else if (cmd === 'reference') {
|
|
343
|
+
result.referenceIds = readReference(t[i++]);
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
(0, tokenize_3.unwrapBlock)(t[i++]);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
return ctx => {
|
|
350
|
+
ctx.artifactInstances[id] = result;
|
|
351
|
+
return ctx;
|
|
352
|
+
};
|
|
353
|
+
};
|
|
354
|
+
const dumpArtifactInstance = function (a) {
|
|
355
|
+
let out = 'artifact_instance ' + a.id + ' {\n';
|
|
356
|
+
if (a.of) {
|
|
357
|
+
out += ' of ' + a.of + '\n';
|
|
358
|
+
}
|
|
359
|
+
if (a.producedAt) {
|
|
360
|
+
out += ' produced_at ' + (0, field_parser_1.dumpBareSafe)(a.producedAt) + '\n';
|
|
361
|
+
}
|
|
362
|
+
if (a.by) {
|
|
363
|
+
out += ' by ' + (0, field_parser_1.dumpBareSafe)(a.by) + '\n';
|
|
364
|
+
}
|
|
365
|
+
const keys = Object.keys(a.content);
|
|
366
|
+
if (keys.length > 0) {
|
|
367
|
+
out +=
|
|
368
|
+
' content { ' +
|
|
369
|
+
keys.map(k => k + ' : ' + (0, quantity_1.dumpQuantityValue)(a.content[k])).join(' ') +
|
|
370
|
+
' }\n';
|
|
371
|
+
}
|
|
372
|
+
out += dumpIdList('links', a.links, ' ');
|
|
373
|
+
out += dumpIdList('reference', a.referenceIds, ' ');
|
|
374
|
+
out += '}\n';
|
|
375
|
+
return out;
|
|
376
|
+
};
|
|
377
|
+
// ── construct registry entries ───────────────────────────────────────
|
|
378
|
+
exports.artifactDefinitionConstruct = {
|
|
379
|
+
keyword: 'artifact_definition',
|
|
380
|
+
field: 'artifactDefinitions',
|
|
381
|
+
takesID: true,
|
|
382
|
+
parse: parseArtifactDefinition,
|
|
383
|
+
dump: dumpArtifactDefinition,
|
|
384
|
+
};
|
|
385
|
+
exports.artifactInstanceConstruct = {
|
|
386
|
+
keyword: 'artifact_instance',
|
|
387
|
+
field: 'artifactInstances',
|
|
388
|
+
takesID: true,
|
|
389
|
+
parse: parseArtifactInstance,
|
|
390
|
+
dump: dumpArtifactInstance,
|
|
391
|
+
};
|
|
392
|
+
//# sourceMappingURL=artifact.js.map
|