@primmel/primmel 1.3.2 → 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 +5 -2
- 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 +6695 -662
- package/dist-cli/primmel.mjs +21453 -0
- package/package.json +61 -5
|
@@ -1,8 +1,43 @@
|
|
|
1
1
|
import Resolvable from './Resolvable';
|
|
2
|
+
/** The four coverage levels of the coverage calculus (concept doc §5.3). */
|
|
3
|
+
export type CoverageLevel = 'full' | 'minimal' | 'partial' | 'none';
|
|
4
|
+
/** One mapping pair: source component ⇒ target component. */
|
|
5
|
+
export interface MappingPair {
|
|
6
|
+
/**
|
|
7
|
+
* Target element as authored — the `Namespace#ElementID` aliasing form
|
|
8
|
+
* (e.g. `StdS#Process5`) or a bare id scoped by the profile's namespace
|
|
9
|
+
* (the v2 spelling). Both normalize against the profile namespace.
|
|
10
|
+
*/
|
|
11
|
+
target: string;
|
|
12
|
+
/** How the fulfilment works (warning at audit strictness when missing). */
|
|
13
|
+
description: string;
|
|
14
|
+
/** Why the claim holds (optional per pair, demanded by auditors). */
|
|
15
|
+
justification: string;
|
|
16
|
+
/**
|
|
17
|
+
* Authored coverage assertion for the TARGET component ('' = none).
|
|
18
|
+
* Coverage is COMPUTED, not authored — an assertion that disagrees
|
|
19
|
+
* with the calculus is a lint error (C23).
|
|
20
|
+
*/
|
|
21
|
+
coverage: CoverageLevel | '';
|
|
22
|
+
}
|
|
2
23
|
interface MapProfile {
|
|
24
|
+
/** The TARGET (reference model) namespace this profile maps into. */
|
|
3
25
|
namespace: string;
|
|
4
26
|
description: string;
|
|
5
|
-
|
|
27
|
+
/**
|
|
28
|
+
* source component id (local to the owning model) → the pairs it maps
|
|
29
|
+
* to. One source may fulfil several reference components at once —
|
|
30
|
+
* "write once, comply twice" (concept doc §5.6 c).
|
|
31
|
+
*/
|
|
32
|
+
mappings: Record<string, MappingPair[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Authored coverage ASSERTIONS about reference components (bare or
|
|
35
|
+
* `Namespace#ElementID`-qualified ids) — e.g. pinning "Process1 is
|
|
36
|
+
* partially covered" as a regression tripwire. Coverage is COMPUTED,
|
|
37
|
+
* not authored: the linter (C23) flags every assertion that disagrees
|
|
38
|
+
* with the calculus.
|
|
39
|
+
*/
|
|
40
|
+
coverage: Record<string, CoverageLevel>;
|
|
6
41
|
}
|
|
7
42
|
export default MapProfile;
|
|
8
43
|
export type ResolvableMapProfile = Resolvable<MapProfile, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapProfile.d.ts","sourceRoot":"","sources":["../../../src/types/MapProfile.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"MapProfile.d.ts","sourceRoot":"","sources":["../../../src/types/MapProfile.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAiBtC,4EAA4E;AAC5E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpE,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,EAAE,aAAa,GAAG,EAAE,CAAC;CAC9B;AAED,UAAU,UAAU;IAClB,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACxC;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACzC;AAED,eAAe,UAAU,CAAC;AAG1B,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `monitor` construct (Primmel v3, TODO.roadmap/34 — doctrine
|
|
3
|
+
* ch. 14 §14.5, grammar sketch §14.11): continuous compliance. A monitor
|
|
4
|
+
* is a continuous process — the tertiary tier run as a service against
|
|
5
|
+
* live twins:
|
|
6
|
+
*
|
|
7
|
+
* monitor fleet_watch {
|
|
8
|
+
* over { LoadCellModel }
|
|
9
|
+
* triggers { every 1h on signal artifact_arrived on change state }
|
|
10
|
+
* evaluate { requirements applicable_to(this.classification) promises all }
|
|
11
|
+
* emit { evidence -> workspace verdicts -> verdict_log }
|
|
12
|
+
* escalate { on fail { flag_certificate open_service_case } on invalid { open_service_case } }
|
|
13
|
+
* }
|
|
14
|
+
*
|
|
15
|
+
* The loop (§14.5), every step existing for a reason:
|
|
16
|
+
* 1. TRIGGER — something says check now: a timer (every <window>), a
|
|
17
|
+
* signal (an artifact arrived), a change (a watched aspect moved).
|
|
18
|
+
* Without triggers, "continuous" has no clock.
|
|
19
|
+
* 2. FETCH — the engine queries the endpoint (or receives the push);
|
|
20
|
+
* values arrive with timestamps (the gateway, TODO.roadmap/33).
|
|
21
|
+
* 3. FRESHNESS — a stale value degrades the verdict to `indeterminate`,
|
|
22
|
+
* never `fail` (a network outage is not a metrological event), never
|
|
23
|
+
* a silent pass (silence is not evidence). Runtime semantics, owned
|
|
24
|
+
* by the smart app's verdict service (TODO.roadmap/32).
|
|
25
|
+
* 4. EVALUATE — the requirement's OCL limit and the promise's
|
|
26
|
+
* conditions run over the fresh values — the SAME statements the lab
|
|
27
|
+
* used (INV-9); no second dialect for "online mode". The refs are
|
|
28
|
+
* applicability-expanded per twin at runtime.
|
|
29
|
+
* 5. VERDICT — pass · fail · indeterminate · invalid, per requirement
|
|
30
|
+
* × twin. Invalid still means the setup was wrong; fail means the
|
|
31
|
+
* product was wrong.
|
|
32
|
+
* 6. EVIDENCE — values seen, rule results, verdicts, timestamps,
|
|
33
|
+
* appended to the workspace. Facts only; permanent; every record
|
|
34
|
+
* carries definition version pins (INV-8, §14.12).
|
|
35
|
+
* 7. ACT — pass: history accrues (that IS the deliverable). Fail/
|
|
36
|
+
* invalid: escalation — notify roles, flag the certificate, open a
|
|
37
|
+
* case. §14.12: a monitor without an escalation path for `fail` is
|
|
38
|
+
* a warning (linter C68).
|
|
39
|
+
*
|
|
40
|
+
* Surface-syntax notes (deviations from the §14.11 sketch — the chapter
|
|
41
|
+
* is the spec for SEMANTICS, not for delimiters; the same convention the
|
|
42
|
+
* twin constructs established): the sketch's `monitor <id> over <subject>`
|
|
43
|
+
* head moves `over` INSIDE the block (the kernel's construct shape is
|
|
44
|
+
* `keyword id { … }`), and the escalate action lists are `{ … }` blocks —
|
|
45
|
+
* PRL id lists are brace-delimited everywhere.
|
|
46
|
+
*
|
|
47
|
+
* Linter rules (check.ts, family twins): C65 monitor-subject-resolves,
|
|
48
|
+
* C66 monitor-trigger-wellformed, C67 monitor-evaluate-resolves,
|
|
49
|
+
* C68 monitor-fail-escalation (the §14.12 warning),
|
|
50
|
+
* C69 monitor-escalation-resolves, C70 monitor-emit-sinks.
|
|
51
|
+
*/
|
|
52
|
+
/** Trigger kinds (§14.5 step 1): a timer | a signal | a watched change. */
|
|
53
|
+
export declare const MONITOR_TRIGGER_KINDS: readonly ["timer", "signal", "change"];
|
|
54
|
+
export type MonitorTriggerKind = (typeof MONITOR_TRIGGER_KINDS)[number];
|
|
55
|
+
/**
|
|
56
|
+
* One trigger of the monitor's clock. Exactly one field is populated per
|
|
57
|
+
* kind (the linter's C66 enforces the shape):
|
|
58
|
+
* timer — `every <window>`: a freshness-window duration (5s, 1h, PT1H);
|
|
59
|
+
* signal — `on signal <name>`: an external signal (an artifact arrived);
|
|
60
|
+
* change — `on change <aspect>`: a watched aspect moved (the serve
|
|
61
|
+
* aspect vocabulary of types/Twin.ts).
|
|
62
|
+
*/
|
|
63
|
+
export interface MonitorTrigger {
|
|
64
|
+
kind: string;
|
|
65
|
+
/** kind=timer: the recurrence window (e.g. `1h`, `PT1H`). */
|
|
66
|
+
every: string;
|
|
67
|
+
/** kind=signal: the signal name (e.g. artifact_arrived). */
|
|
68
|
+
signal: string;
|
|
69
|
+
/** kind=change: the watched aspect path (serve aspect vocabulary). */
|
|
70
|
+
aspect: string;
|
|
71
|
+
}
|
|
72
|
+
/** Evaluate-selector kinds: everything | applicability-expanded | explicit. */
|
|
73
|
+
export declare const MONITOR_REFSET_KINDS: readonly ["all", "applicable_to", "refs"];
|
|
74
|
+
export type MonitorRefSetKind = (typeof MONITOR_REFSET_KINDS)[number];
|
|
75
|
+
/**
|
|
76
|
+
* One evaluate selector (§14.5 step 4): which requirements / promises the
|
|
77
|
+
* cycle judges. `all` and `applicable_to(<expr>)` expand per twin at
|
|
78
|
+
* runtime (applicability-expanded — the brief); `refs` names explicit
|
|
79
|
+
* requirement / promise ids (the linter's C67 resolves them).
|
|
80
|
+
*/
|
|
81
|
+
export interface MonitorRefSet {
|
|
82
|
+
/** 'all' | 'applicable_to' | 'refs' (C67 flags others). */
|
|
83
|
+
kind: string;
|
|
84
|
+
/** kind=applicable_to: the applicability expression (e.g.
|
|
85
|
+
* this.classification). */
|
|
86
|
+
expression: string;
|
|
87
|
+
/** kind=refs: the explicit ids. */
|
|
88
|
+
refs: string[];
|
|
89
|
+
}
|
|
90
|
+
/** The evaluate block: requirement + promise refs (§14.11). */
|
|
91
|
+
export interface MonitorEvaluate {
|
|
92
|
+
requirements: MonitorRefSet;
|
|
93
|
+
promises: MonitorRefSet;
|
|
94
|
+
}
|
|
95
|
+
/** The emitted streams (§14.5 step 6): the fact stream + the verdict log. */
|
|
96
|
+
export declare const MONITOR_STREAMS: readonly ["evidence", "verdicts"];
|
|
97
|
+
export type MonitorStream = (typeof MONITOR_STREAMS)[number];
|
|
98
|
+
/** One emit entry: `<stream> -> <sink>` (evidence -> workspace). */
|
|
99
|
+
export interface MonitorEmitSink {
|
|
100
|
+
/** 'evidence' | 'verdicts' (C70 flags others). */
|
|
101
|
+
stream: string;
|
|
102
|
+
/** The sink id (deployment-named, e.g. workspace, verdict_log). */
|
|
103
|
+
target: string;
|
|
104
|
+
}
|
|
105
|
+
/** Escalation outcomes — the verdict outcomes an escalation rule binds. */
|
|
106
|
+
export declare const MONITOR_OUTCOMES: readonly ["pass", "fail", "indeterminate", "invalid"];
|
|
107
|
+
export type MonitorOutcome = (typeof MONITOR_OUTCOMES)[number];
|
|
108
|
+
/** Escalation actions (§14.5 step 7): notify / flag certificate / open case. */
|
|
109
|
+
export declare const MONITOR_ESCALATION_ACTIONS: readonly ["notify", "flag_certificate", "open_service_case"];
|
|
110
|
+
export type MonitorEscalationActionKind = (typeof MONITOR_ESCALATION_ACTIONS)[number];
|
|
111
|
+
/**
|
|
112
|
+
* One escalation action. `notify` carries the notified role id (C69
|
|
113
|
+
* resolves it against the package's roles); flag_certificate /
|
|
114
|
+
* open_service_case carry none.
|
|
115
|
+
*/
|
|
116
|
+
export interface MonitorEscalationAction {
|
|
117
|
+
/** 'notify' | 'flag_certificate' | 'open_service_case' (C69 flags others). */
|
|
118
|
+
action: string;
|
|
119
|
+
/** action=notify: the role notified (resolves against declared roles). */
|
|
120
|
+
role: string;
|
|
121
|
+
}
|
|
122
|
+
/** One escalation rule: `on <outcome> { <action> [<role>] … }`. */
|
|
123
|
+
export interface MonitorEscalationRule {
|
|
124
|
+
/** The bound verdict outcome (C69: one of MONITOR_OUTCOMES). */
|
|
125
|
+
outcome: string;
|
|
126
|
+
actions: MonitorEscalationAction[];
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* monitor <id> — a continuous compliance process over a subject set
|
|
130
|
+
* (§14.5/§14.11). Top-level construct: a monitor watches subjects from
|
|
131
|
+
* the outside (the engine operator speaks for the standard, §14.8) — it
|
|
132
|
+
* is not anatomy of the watched subject.
|
|
133
|
+
*/
|
|
134
|
+
export interface Monitor {
|
|
135
|
+
id: string;
|
|
136
|
+
/** The monitored subject set — subject ids (C65 resolves them). */
|
|
137
|
+
over: string[];
|
|
138
|
+
triggers: MonitorTrigger[];
|
|
139
|
+
evaluate: MonitorEvaluate;
|
|
140
|
+
emit: MonitorEmitSink[];
|
|
141
|
+
escalate: MonitorEscalationRule[];
|
|
142
|
+
referenceIds: string[];
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=Monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Monitor.d.ts","sourceRoot":"","sources":["../../../src/types/Monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,wCAAyC,CAAC;AAC5E,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB,2CAA4C,CAAC;AAC9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb;gCAC4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,aAAa,CAAC;IAC5B,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,6EAA6E;AAC7E,eAAO,MAAM,eAAe,mCAAoC,CAAC;AACjE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,uDAKnB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,8DAI7B,CAAC;AACX,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The `monitor` construct (Primmel v3, TODO.roadmap/34 — doctrine
|
|
4
|
+
* ch. 14 §14.5, grammar sketch §14.11): continuous compliance. A monitor
|
|
5
|
+
* is a continuous process — the tertiary tier run as a service against
|
|
6
|
+
* live twins:
|
|
7
|
+
*
|
|
8
|
+
* monitor fleet_watch {
|
|
9
|
+
* over { LoadCellModel }
|
|
10
|
+
* triggers { every 1h on signal artifact_arrived on change state }
|
|
11
|
+
* evaluate { requirements applicable_to(this.classification) promises all }
|
|
12
|
+
* emit { evidence -> workspace verdicts -> verdict_log }
|
|
13
|
+
* escalate { on fail { flag_certificate open_service_case } on invalid { open_service_case } }
|
|
14
|
+
* }
|
|
15
|
+
*
|
|
16
|
+
* The loop (§14.5), every step existing for a reason:
|
|
17
|
+
* 1. TRIGGER — something says check now: a timer (every <window>), a
|
|
18
|
+
* signal (an artifact arrived), a change (a watched aspect moved).
|
|
19
|
+
* Without triggers, "continuous" has no clock.
|
|
20
|
+
* 2. FETCH — the engine queries the endpoint (or receives the push);
|
|
21
|
+
* values arrive with timestamps (the gateway, TODO.roadmap/33).
|
|
22
|
+
* 3. FRESHNESS — a stale value degrades the verdict to `indeterminate`,
|
|
23
|
+
* never `fail` (a network outage is not a metrological event), never
|
|
24
|
+
* a silent pass (silence is not evidence). Runtime semantics, owned
|
|
25
|
+
* by the smart app's verdict service (TODO.roadmap/32).
|
|
26
|
+
* 4. EVALUATE — the requirement's OCL limit and the promise's
|
|
27
|
+
* conditions run over the fresh values — the SAME statements the lab
|
|
28
|
+
* used (INV-9); no second dialect for "online mode". The refs are
|
|
29
|
+
* applicability-expanded per twin at runtime.
|
|
30
|
+
* 5. VERDICT — pass · fail · indeterminate · invalid, per requirement
|
|
31
|
+
* × twin. Invalid still means the setup was wrong; fail means the
|
|
32
|
+
* product was wrong.
|
|
33
|
+
* 6. EVIDENCE — values seen, rule results, verdicts, timestamps,
|
|
34
|
+
* appended to the workspace. Facts only; permanent; every record
|
|
35
|
+
* carries definition version pins (INV-8, §14.12).
|
|
36
|
+
* 7. ACT — pass: history accrues (that IS the deliverable). Fail/
|
|
37
|
+
* invalid: escalation — notify roles, flag the certificate, open a
|
|
38
|
+
* case. §14.12: a monitor without an escalation path for `fail` is
|
|
39
|
+
* a warning (linter C68).
|
|
40
|
+
*
|
|
41
|
+
* Surface-syntax notes (deviations from the §14.11 sketch — the chapter
|
|
42
|
+
* is the spec for SEMANTICS, not for delimiters; the same convention the
|
|
43
|
+
* twin constructs established): the sketch's `monitor <id> over <subject>`
|
|
44
|
+
* head moves `over` INSIDE the block (the kernel's construct shape is
|
|
45
|
+
* `keyword id { … }`), and the escalate action lists are `{ … }` blocks —
|
|
46
|
+
* PRL id lists are brace-delimited everywhere.
|
|
47
|
+
*
|
|
48
|
+
* Linter rules (check.ts, family twins): C65 monitor-subject-resolves,
|
|
49
|
+
* C66 monitor-trigger-wellformed, C67 monitor-evaluate-resolves,
|
|
50
|
+
* C68 monitor-fail-escalation (the §14.12 warning),
|
|
51
|
+
* C69 monitor-escalation-resolves, C70 monitor-emit-sinks.
|
|
52
|
+
*/
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
exports.MONITOR_ESCALATION_ACTIONS = exports.MONITOR_OUTCOMES = exports.MONITOR_STREAMS = exports.MONITOR_REFSET_KINDS = exports.MONITOR_TRIGGER_KINDS = void 0;
|
|
55
|
+
/** Trigger kinds (§14.5 step 1): a timer | a signal | a watched change. */
|
|
56
|
+
exports.MONITOR_TRIGGER_KINDS = ['timer', 'signal', 'change'];
|
|
57
|
+
/** Evaluate-selector kinds: everything | applicability-expanded | explicit. */
|
|
58
|
+
exports.MONITOR_REFSET_KINDS = ['all', 'applicable_to', 'refs'];
|
|
59
|
+
/** The emitted streams (§14.5 step 6): the fact stream + the verdict log. */
|
|
60
|
+
exports.MONITOR_STREAMS = ['evidence', 'verdicts'];
|
|
61
|
+
/** Escalation outcomes — the verdict outcomes an escalation rule binds. */
|
|
62
|
+
exports.MONITOR_OUTCOMES = [
|
|
63
|
+
'pass',
|
|
64
|
+
'fail',
|
|
65
|
+
'indeterminate',
|
|
66
|
+
'invalid',
|
|
67
|
+
];
|
|
68
|
+
/** Escalation actions (§14.5 step 7): notify / flag certificate / open case. */
|
|
69
|
+
exports.MONITOR_ESCALATION_ACTIONS = [
|
|
70
|
+
'notify',
|
|
71
|
+
'flag_certificate',
|
|
72
|
+
'open_service_case',
|
|
73
|
+
];
|
|
74
|
+
//# sourceMappingURL=Monitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Monitor.js","sourceRoot":"","sources":["../../../src/types/Monitor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;;;AAEH,2EAA2E;AAC9D,QAAA,qBAAqB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAqB5E,+EAA+E;AAClE,QAAA,oBAAoB,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAU,CAAC;AAyB9E,6EAA6E;AAChE,QAAA,eAAe,GAAG,CAAC,UAAU,EAAE,UAAU,CAAU,CAAC;AAWjE,2EAA2E;AAC9D,QAAA,gBAAgB,GAAG;IAC9B,MAAM;IACN,MAAM;IACN,eAAe;IACf,SAAS;CACD,CAAC;AAGX,gFAAgF;AACnE,QAAA,0BAA0B,GAAG;IACxC,QAAQ;IACR,kBAAkB;IAClB,mBAAmB;CACX,CAAC"}
|
package/dist/src/types/Note.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import Reference from './Reference';
|
|
2
2
|
import Resolvable from './Resolvable';
|
|
3
|
-
|
|
3
|
+
import type SourceDiscrepancy from './SourceDiscrepancy';
|
|
4
|
+
export type NoteType = 'NOTE' | 'CAUTION' | 'WARNING' | 'EXAMPLE' | 'COMMENTARY';
|
|
4
5
|
interface Note {
|
|
5
6
|
id: string;
|
|
6
7
|
type: NoteType;
|
|
7
8
|
message: string;
|
|
9
|
+
/** Source-discrepancy annotation attached to this note. */
|
|
10
|
+
sourceDiscrepancy?: SourceDiscrepancy | null;
|
|
8
11
|
ref: Reference[];
|
|
9
12
|
}
|
|
10
13
|
export default Note;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Note.d.ts","sourceRoot":"","sources":["../../../src/types/Note.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,UAAU,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Note.d.ts","sourceRoot":"","sources":["../../../src/types/Note.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,QAAQ,GAClB,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAE5D,UAAU,IAAI;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,GAAG,EAAE,SAAS,EAAE,CAAC;CAClB;AAED,eAAe,IAAI,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package manifest (Primmel v2, gap G8).
|
|
3
|
+
*
|
|
4
|
+
* One `package.primmel` per Recommendation package — the only required file.
|
|
5
|
+
* Everything else in the package directory is merged by convention.
|
|
6
|
+
*/
|
|
7
|
+
export interface PackageSource {
|
|
8
|
+
collection: string;
|
|
9
|
+
parts: string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Edition lifecycle status (TODO.roadmap/28, doctrine §13.4): `current`
|
|
13
|
+
* (the in-force edition), `preview` (published for review, not yet in
|
|
14
|
+
* force — e.g. R 91:2025), `superseded` (a later edition holds force),
|
|
15
|
+
* `withdrawn` (pulled without a successor).
|
|
16
|
+
*/
|
|
17
|
+
export type EditionStatus = 'current' | 'preview' | 'superseded' | 'withdrawn';
|
|
18
|
+
/**
|
|
19
|
+
* An edition's validity window (doctrine §13.4: "a fact about the
|
|
20
|
+
* package's force", time-primitive machinery applied at the manifest).
|
|
21
|
+
* `from` is an ISO 8601 date/datetime; `to` optional — the window closes
|
|
22
|
+
* when the edition is superseded (or explicitly at `to`).
|
|
23
|
+
*/
|
|
24
|
+
export interface EditionValidity {
|
|
25
|
+
from: string;
|
|
26
|
+
to?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Package tier (TODO.roadmap/05): `core` = the shared kernel, `module` =
|
|
30
|
+
* a shared capability package consumed by ≥2 recs, `rec` = a publishable
|
|
31
|
+
* Recommendation. Registries skip non-rec kinds in rec listings.
|
|
32
|
+
* `product_reference` (TODO.roadmap/36, doctrine ch. 15) = a
|
|
33
|
+
* manufacturer's product model, mapped aspect-by-aspect to the
|
|
34
|
+
* Recommendation — a REFERENCE model consumed by users in two modes
|
|
35
|
+
* (abstract import / live integration), never a refinement of the
|
|
36
|
+
* standard: the two are related by mapping only.
|
|
37
|
+
* `certification_program` (TODO.v2/01, twin-certification-design Q4) =
|
|
38
|
+
* a scheme operator's certification program (e.g. the digital-twin
|
|
39
|
+
* program) — a FOURTH publisher with the product_reference shape:
|
|
40
|
+
* related to recs (maps_to) and product packages (pinned abstract
|
|
41
|
+
* imports) by mapping only, composed into nothing.
|
|
42
|
+
*/
|
|
43
|
+
export type PackageKind = 'core' | 'module' | 'rec' | 'product_reference' | 'certification_program';
|
|
44
|
+
export interface PackageManifest {
|
|
45
|
+
id: string;
|
|
46
|
+
title: string;
|
|
47
|
+
version: string;
|
|
48
|
+
/** Available editions, newest first (e.g. [2021, 2017, 2000]). */
|
|
49
|
+
editions: string[];
|
|
50
|
+
baseUrn: string;
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated Metamodel package this package extends (e.g. oiml-core).
|
|
53
|
+
* Kept for backwards compatibility: the loader treats it as a single
|
|
54
|
+
* entry of `uses` (with a deprecation warning). New packages declare
|
|
55
|
+
* `uses` instead.
|
|
56
|
+
*/
|
|
57
|
+
extends: string;
|
|
58
|
+
/**
|
|
59
|
+
* Imported packages (`uses` composition — structural inclusion, "my
|
|
60
|
+
* model contains yours"; concept doc §5.6 b). Multi-package, merged in
|
|
61
|
+
* topological order by the loader (TODO.roadmap/05): a downstream
|
|
62
|
+
* package may REFERENCE upstream ids but never REDEFINE them.
|
|
63
|
+
* Import is NOT mapping: a namespace listed here (or in `extends`) may
|
|
64
|
+
* not also be the target of a map_profile/.prm mapSet — linter rule
|
|
65
|
+
* C24 (import-not-mapping).
|
|
66
|
+
*
|
|
67
|
+
* Two entry forms: a bare package id (`oiml-smart-core`), or a
|
|
68
|
+
* version-pinned ABSTRACT IMPORT `acme-lc500@2021` (TODO.roadmap/36)
|
|
69
|
+
* of a `product_reference` package — reference content cited at a
|
|
70
|
+
* pinned edition, located and checked but NEVER content-merged by the
|
|
71
|
+
* composer, and exempt from C24 (the import is expressed as a mapping
|
|
72
|
+
* to the product's promised aspects; doctrine ch. 15 §15.3). The pins
|
|
73
|
+
* land in `usePins`; this list always carries the bare ids.
|
|
74
|
+
*/
|
|
75
|
+
uses?: string[];
|
|
76
|
+
/**
|
|
77
|
+
* Version pins parsed from `uses` entries of the form
|
|
78
|
+
* `<package-id>@<edition>` (abstract imports of product reference
|
|
79
|
+
* packages — linter rule C83 abstract-import-pinned requires the pin
|
|
80
|
+
* and checks it against the product package's edition register).
|
|
81
|
+
* Keyed by the bare package id.
|
|
82
|
+
*/
|
|
83
|
+
usePins?: Record<string, string>;
|
|
84
|
+
/** Package tier; absent means an ordinary (rec) package. */
|
|
85
|
+
kind?: PackageKind;
|
|
86
|
+
/**
|
|
87
|
+
* Product reference packages only (TODO.roadmap/36, doctrine ch. 15
|
|
88
|
+
* §15.1): the manufacturer this model speaks for, and the product
|
|
89
|
+
* designation (e.g. "LC-500"). Linter rule C81 requires both.
|
|
90
|
+
*/
|
|
91
|
+
manufacturer?: string;
|
|
92
|
+
product?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Product reference and certification program packages only: the
|
|
95
|
+
* standards-reference packages this model maps to (`maps_to { oiml-r60 }`)
|
|
96
|
+
* — the declaration its map_profile/.prm maps must resolve into (C81
|
|
97
|
+
* product-maps-resolves, C97 program-maps-resolves).
|
|
98
|
+
*/
|
|
99
|
+
mapsTo?: string[];
|
|
100
|
+
/**
|
|
101
|
+
* Certification program packages only (TODO.v2/01,
|
|
102
|
+
* twin-certification-design Q4): the program's self-classification
|
|
103
|
+
* against the ISO/IEC 17067 scheme-type register (`scheme_type
|
|
104
|
+
* type_5`) — a free token here (the register lives consumer-side; the
|
|
105
|
+
* kernel stays register-free, the C89 spelling precedent). C98 warns
|
|
106
|
+
* when a no-surveillance shape (type_1a/1b) is declared alongside
|
|
107
|
+
* surveillance machinery.
|
|
108
|
+
*/
|
|
109
|
+
schemeType?: string;
|
|
110
|
+
/**
|
|
111
|
+
* Capability ids this package contributes for downstream consumers
|
|
112
|
+
* (module manifests). Every provides entry must be consumed by a
|
|
113
|
+
* downstream package's `requires` or explicitly waived — linter rule
|
|
114
|
+
* C30 (provides-consumed-or-waived).
|
|
115
|
+
*/
|
|
116
|
+
provides?: string[];
|
|
117
|
+
/**
|
|
118
|
+
* Capability or package ids this package expects in the composition.
|
|
119
|
+
* Satisfied when the entry names a composed package's id or one of its
|
|
120
|
+
* `provides` entries — checked after the merge (C31 requires-satisfied).
|
|
121
|
+
*/
|
|
122
|
+
requires?: string[];
|
|
123
|
+
/**
|
|
124
|
+
* Explicit consumer-side waivers for provides entries the composer
|
|
125
|
+
* would otherwise flag as unconsumed: `<packageId>:<providesEntry>`
|
|
126
|
+
* (a bare `<providesEntry>` also matches).
|
|
127
|
+
*/
|
|
128
|
+
waives?: string[];
|
|
129
|
+
/**
|
|
130
|
+
* Edition lifecycle (TODO.roadmap/28, doctrine §13.4) — packagings, not
|
|
131
|
+
* core semantics: versioning relations live on the package manifest,
|
|
132
|
+
* never in subject models. `supersedes`/`replaces` name package URNs of
|
|
133
|
+
* earlier editions (urn:oiml:pub:r:60:2017); the supersedes graph must
|
|
134
|
+
* be acyclic (linter C79).
|
|
135
|
+
*/
|
|
136
|
+
supersedes?: string[];
|
|
137
|
+
/** Stronger than supersedes: this edition takes the place of the target. */
|
|
138
|
+
replaces?: string[];
|
|
139
|
+
/** The edition's validity window; `to` absent = closes when superseded. */
|
|
140
|
+
validity?: EditionValidity;
|
|
141
|
+
/** Lifecycle status of THIS packaged edition (linter C77). */
|
|
142
|
+
status?: EditionStatus;
|
|
143
|
+
/**
|
|
144
|
+
* ISO 24229 multilinguality (TODO.roadmap/25, doctrine ch. 10 §10.6):
|
|
145
|
+
* the package's DEFAULT spelling code — the spelling every inline prose
|
|
146
|
+
* string (`name "…"`, `statement "…"`, …) is authored in. Alternate
|
|
147
|
+
* spellings are added by `text` blocks; every content set carries the
|
|
148
|
+
* default. Syntax checked by C89 (script mandatory).
|
|
149
|
+
*/
|
|
150
|
+
defaultSpelling?: string;
|
|
151
|
+
/**
|
|
152
|
+
* The declared spelling set of the package (the default plus every
|
|
153
|
+
* spelling a localization ships) — the linter's coverage declaration
|
|
154
|
+
* (doctrine §10.6: declared spellings missing from a set are coverage
|
|
155
|
+
* gaps). Absent means the default spelling only.
|
|
156
|
+
*/
|
|
157
|
+
spellings?: string[];
|
|
158
|
+
description: string;
|
|
159
|
+
source: PackageSource | null;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=Package.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Package.d.ts","sourceRoot":"","sources":["../../../src/types/Package.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,GACrB,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,mBAAmB,GAAG,uBAAuB,CAAC;AAE5E,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,4DAA4D;IAC5D,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Package.js","sourceRoot":"","sources":["../../../src/types/Package.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `passport` construct (Primmel v3, TODO.roadmap/35 — doctrine
|
|
3
|
+
* ch. 14 §14.6, ch. 15 §15.6, grammar sketch §15.8): the model-native
|
|
4
|
+
* Digital Product Passport. A passport is a named, access-classed
|
|
5
|
+
* PROJECTION of the product model plus its live instance state —
|
|
6
|
+
* "generated from the model, served by the endpoint, verified through
|
|
7
|
+
* the engine. It cannot drift from the model because it *is* the
|
|
8
|
+
* model" (§14.6) — declared on a `kind product_reference` package
|
|
9
|
+
* (ch. 15: the manufacturer's side of the model supply chain):
|
|
10
|
+
*
|
|
11
|
+
* passport lc500_passport {
|
|
12
|
+
* upi { pattern upi:acme:lc500 level model }
|
|
13
|
+
* carrier { kind qr payload "https://passport.acme.example/passport/upi:acme:lc500.json" }
|
|
14
|
+
* public { identity composition promises_as_verified }
|
|
15
|
+
* authority { live_compliance_status }
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* The facets (TODO.roadmap/35 scope, first bullet):
|
|
19
|
+
* - CONTENT CLASSES — what the projection serves, a subset of
|
|
20
|
+
* {identity, composition, promises_as_verified,
|
|
21
|
+
* live_compliance_status, artifacts, sustainability}. An entry is a
|
|
22
|
+
* bare class (the whole class) or a qualified `<class>.<ref>` naming
|
|
23
|
+
* one aspect/promise/artifact within the class's resolution domain
|
|
24
|
+
* (the linter's C86 resolves it; §15.9: "the passport projection
|
|
25
|
+
* contains only aspects that resolve"). `sustainability` is the
|
|
26
|
+
* forward class — the ESPR delegated-act content models do not
|
|
27
|
+
* exist yet (TODO.roadmap/35, "Out"), so its refs are not
|
|
28
|
+
* kernel-resolved.
|
|
29
|
+
* - ACCESS CLASSES — who may read an entry: public | restricted |
|
|
30
|
+
* authority (the JTC24 "access rights" area; §15.6: the abstract
|
|
31
|
+
* passport is "what the EU DPP registry looks up", the authority
|
|
32
|
+
* view is "what market surveillance actually wants"). Distinct
|
|
33
|
+
* from the twin endpoint's access scopes (public | registered |
|
|
34
|
+
* authority, types/Twin.ts): endpoint scopes govern API calls,
|
|
35
|
+
* passport classes govern projection visibility. §15.9: "public
|
|
36
|
+
* classes contain nothing marked restricted" (the linter's C87).
|
|
37
|
+
* - UPI — the unique product identifier (ESPR; JTC24 "unique
|
|
38
|
+
* identifiers" area): a pattern (`upi:acme:lc500`, per-unit
|
|
39
|
+
* `upi:acme:lc500:{serial}`) and its LEVEL — model | batch | item
|
|
40
|
+
* (the ESPR unique-product-identifier levels). The sketch's
|
|
41
|
+
* `identifier upi:acme:lc500` spelling parses as the bare pattern
|
|
42
|
+
* with no level — the linter's C88 demands the level.
|
|
43
|
+
* - DATA CARRIER — the linkage (JTC24 "data carriers" area; §14.6:
|
|
44
|
+
* reachable "through a data carrier on the product"): `kind` is
|
|
45
|
+
* the carrier technology token (qr, rfid, nfc — free, OCP) and
|
|
46
|
+
* `payload` is the carrier's content: the passport endpoint URL
|
|
47
|
+
* (TODO.roadmap/35: "QR/RFID payload = the passport endpoint URL").
|
|
48
|
+
*
|
|
49
|
+
* The two SERVICE MODES of §15.6 are NOT a facet: abstract
|
|
50
|
+
* (point-in-time, as-certified — the buyer's design-time view) and
|
|
51
|
+
* live (continuous — the regulator's fleet view) are serving decisions
|
|
52
|
+
* of the projection engine; the declaration already separates the live
|
|
53
|
+
* content via the `live_compliance_status` class ("the same identity
|
|
54
|
+
* and composition, plus live compliance status computed by the
|
|
55
|
+
* engine").
|
|
56
|
+
*
|
|
57
|
+
* Linter rules (check.ts, family supply-chain):
|
|
58
|
+
* C86 passport-content-resolves, C87 passport-access-leak,
|
|
59
|
+
* C88 passport-upi-scheme.
|
|
60
|
+
*/
|
|
61
|
+
/**
|
|
62
|
+
* The passport content classes (TODO.roadmap/35; §14.6's "identity,
|
|
63
|
+
* composition, compliance and sustainability data" + §15.6's two modes).
|
|
64
|
+
*/
|
|
65
|
+
export declare const PASSPORT_CONTENT_CLASSES: readonly ["identity", "composition", "promises_as_verified", "live_compliance_status", "artifacts", "sustainability"];
|
|
66
|
+
export type PassportContentClass = (typeof PASSPORT_CONTENT_CLASSES)[number];
|
|
67
|
+
/** The access classes (TODO.roadmap/35; JTC24 access rights). */
|
|
68
|
+
export declare const PASSPORT_ACCESS_CLASSES: readonly ["public", "restricted", "authority"];
|
|
69
|
+
export type PassportAccessClass = (typeof PASSPORT_ACCESS_CLASSES)[number];
|
|
70
|
+
/** The ESPR unique-product-identifier levels (JTC24). */
|
|
71
|
+
export declare const PASSPORT_UPI_LEVELS: readonly ["model", "batch", "item"];
|
|
72
|
+
export type PassportUpiLevel = (typeof PASSPORT_UPI_LEVELS)[number];
|
|
73
|
+
/**
|
|
74
|
+
* One content entry: `<class>` or `<class>.<ref>` declared under an
|
|
75
|
+
* access class. Content tokens are kept raw — the parser stays total
|
|
76
|
+
* and the linter (C86/C87) judges the content vocabularies. The ACCESS
|
|
77
|
+
* vocabulary is fail-closed at parse time (an unknown access class is a
|
|
78
|
+
* parse error), so `access` always names a declared class.
|
|
79
|
+
*/
|
|
80
|
+
export interface PassportContentEntry {
|
|
81
|
+
/** The access class the entry is served under ('public' | 'restricted'
|
|
82
|
+
* | 'authority' — the parse is fail-closed on anything else). */
|
|
83
|
+
access: string;
|
|
84
|
+
/** The content class token as authored (C86 judges unknown classes). */
|
|
85
|
+
contentClass: string;
|
|
86
|
+
/** The qualified ref within the class's resolution domain ('' = the
|
|
87
|
+
* whole class; C86 resolves it against the package's declared
|
|
88
|
+
* aspects/promises). */
|
|
89
|
+
ref: string;
|
|
90
|
+
}
|
|
91
|
+
/** The unique product identifier: the pattern and its ESPR level. */
|
|
92
|
+
export interface PassportUpi {
|
|
93
|
+
/** The UPI pattern (e.g. upi:acme:lc500, upi:acme:lc500:{serial}).
|
|
94
|
+
* '' = undeclared (C88). */
|
|
95
|
+
pattern: string;
|
|
96
|
+
/** The ESPR level — 'model' | 'batch' | 'item'. '' = undeclared
|
|
97
|
+
* (C88: the UPI pattern declares its level). */
|
|
98
|
+
level: string;
|
|
99
|
+
}
|
|
100
|
+
/** One data carrier: the on-product linkage to the passport endpoint. */
|
|
101
|
+
export interface PassportCarrier {
|
|
102
|
+
/** The carrier technology token (qr | rfid | nfc — free, OCP). */
|
|
103
|
+
kind: string;
|
|
104
|
+
/** The carrier payload: the passport endpoint URL. */
|
|
105
|
+
payload: string;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* passport <id> — the model-native DPP projection (§14.6/§15.6).
|
|
109
|
+
* Top-level construct of a product reference package: the passport is
|
|
110
|
+
* the product model's PUBLIC PROJECTION — declared once per served
|
|
111
|
+
* passport, alongside the subject it projects, never inside the
|
|
112
|
+
* anatomy (the projection speaks about the subject; it is not an
|
|
113
|
+
* aspect of it).
|
|
114
|
+
*/
|
|
115
|
+
export interface Passport {
|
|
116
|
+
id: string;
|
|
117
|
+
/** The unique product identifier scheme (C88 judges it). */
|
|
118
|
+
upi: PassportUpi;
|
|
119
|
+
/** The data-carrier linkages (payload = the passport endpoint URL). */
|
|
120
|
+
carriers: PassportCarrier[];
|
|
121
|
+
/** The access-classed content entries (C86 resolves, C87 leak-checks). */
|
|
122
|
+
entries: PassportContentEntry[];
|
|
123
|
+
referenceIds: string[];
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=Passport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Passport.d.ts","sourceRoot":"","sources":["../../../src/types/Passport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEH;;;GAGG;AACH,eAAO,MAAM,wBAAwB,uHAO3B,CAAC;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,gDAI1B,CAAC;AACX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E,yDAAyD;AACzD,eAAO,MAAM,mBAAmB,qCAAsC,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC;sEACkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;IACrB;;6BAEyB;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B;iCAC6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB;qDACiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,4DAA4D;IAC5D,GAAG,EAAE,WAAW,CAAC;IACjB,uEAAuE;IACvE,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,0EAA0E;IAC1E,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB"}
|