@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
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Twin interface constructs (Primmel v3, TODO.roadmap/32 — doctrine
|
|
3
|
+
* ch. 14 §14.4, concept doc §10.2–10.3): the live twin's integration
|
|
4
|
+
* language.
|
|
5
|
+
*
|
|
6
|
+
* A live twin is a subject instance whose anatomy is SERVED (ch. 14 §14.3):
|
|
7
|
+
* "no new anatomy needed, only plumbing to serve it". Three small
|
|
8
|
+
* primitives, two of which live on the subject anatomy itself:
|
|
9
|
+
*
|
|
10
|
+
* endpoint (IS-level) — the subject's declared API surface, part of the
|
|
11
|
+
* type definition "like a marking or a software identification"
|
|
12
|
+
* (§14.3). Declared inline in the subject's `is { … }` block (§14.11
|
|
13
|
+
* grammar sketch), NOT as a top-level construct: an endpoint is
|
|
14
|
+
* meaningless detached from the subject whose interface it is. Each
|
|
15
|
+
* endpoint declares:
|
|
16
|
+
* operations — { name, kind: query | subscribe | invoke, serves/does
|
|
17
|
+
* refs, payload schema }: query pulls a current value, subscribe
|
|
18
|
+
* pushes on change, invoke triggers a process. Every operation
|
|
19
|
+
* carries a payload schema — a QuantityValue per INV-1, ALWAYS
|
|
20
|
+
* with unit (`1` for dimensionless/state payloads) and timestamp
|
|
21
|
+
* (§14.4; §14.12: "every endpoint operation has an access scope
|
|
22
|
+
* and a payload schema (QuantityValue with timestamp)").
|
|
23
|
+
* access scopes — who may call what: public | registered |
|
|
24
|
+
* authority. Every operation is covered by exactly one scope
|
|
25
|
+
* (linter C62).
|
|
26
|
+
* profile — the connector profile binding the protocol (below).
|
|
27
|
+
*
|
|
28
|
+
* serve (HAS-level) — the binding from an aspect to an operation:
|
|
29
|
+
* `serve <aspect> via <operation> { fresh_within <duration> }`,
|
|
30
|
+
* declared in the subject's `has { … }` block. Freshness is part of
|
|
31
|
+
* the binding (§14.4): "the engine must know how old a value may be
|
|
32
|
+
* before it stops meaning anything" — a live binding without
|
|
33
|
+
* `fresh_within` is an error (§14.12; linter C63). The aspect path
|
|
34
|
+
* uses the task-03 scope vocabulary ([level.]{parameters|
|
|
35
|
+
* classification|test_context}.<key>, plus the reserved `state` /
|
|
36
|
+
* `environmental_context` aspects and bare attribute/characteristic
|
|
37
|
+
* names); the operation resolves against the owning subject's
|
|
38
|
+
* endpoints (linter C60, with unit coherence between the served
|
|
39
|
+
* aspect and the operation's payload).
|
|
40
|
+
*
|
|
41
|
+
* connector_profile (foundations) — the protocol binding registry:
|
|
42
|
+
* the model is protocol-neutral; profiles bind protocols (§14.4).
|
|
43
|
+
* The four standard profiles (rest_json, mqtt, opc_ua, file_drop —
|
|
44
|
+
* BUILTIN_CONNECTOR_PROFILES) are known to the kernel without
|
|
45
|
+
* declaration; packages extend the registry by declaring
|
|
46
|
+
* `connector_profile` constructs (OCP — new profiles are added by
|
|
47
|
+
* declaration, never by kernel edits). An endpoint's `profile`
|
|
48
|
+
* resolves against declared profiles ∪ the built-ins (linter C64).
|
|
49
|
+
*
|
|
50
|
+
* Freshness semantics (§14.5 step 3): served values are timestamped; a
|
|
51
|
+
* stale value degrades the verdict to `indeterminate` — never fail (a
|
|
52
|
+
* network outage is not a metrological event), never a silent pass
|
|
53
|
+
* (silence is not evidence). The runtime half lives in the smart app's
|
|
54
|
+
* verdict service (browser/src/services/verdict.service.ts); the window
|
|
55
|
+
* parser is parseFreshnessWindow in src/time.ts.
|
|
56
|
+
*
|
|
57
|
+
* Maps 1:1 to the OIML SMART domain model layer (data/<rec>/model/
|
|
58
|
+
* twin.yaml): the YAML side carries `endpoints:` / `serves:` registries;
|
|
59
|
+
* the codecs emit/parse the subject blocks (construct-symmetric,
|
|
60
|
+
* TODO.refactor/16).
|
|
61
|
+
*/
|
|
62
|
+
/** Operation kinds (§14.4): pull a current value | push on change |
|
|
63
|
+
* trigger a process. */
|
|
64
|
+
export declare const ENDPOINT_OPERATION_KINDS: readonly ["query", "subscribe", "invoke"];
|
|
65
|
+
export type EndpointOperationKind = (typeof ENDPOINT_OPERATION_KINDS)[number];
|
|
66
|
+
/** Access scopes (§14.4): who may call what. */
|
|
67
|
+
export declare const ENDPOINT_ACCESS_SCOPES: readonly ["public", "registered", "authority"];
|
|
68
|
+
export type EndpointAccessScope = (typeof ENDPOINT_ACCESS_SCOPES)[number];
|
|
69
|
+
/**
|
|
70
|
+
* The payload schema of an operation (§14.4): a QuantityValue per INV-1,
|
|
71
|
+
* always with unit and timestamp. `unit` carries the package register's
|
|
72
|
+
* dimensionless unit id (e.g. R 60's `dimensionless` entry) for
|
|
73
|
+
* non-quantity payloads (state reports, diagnostic reports).
|
|
74
|
+
*/
|
|
75
|
+
export interface EndpointPayload {
|
|
76
|
+
/** Quantity kind of the served value (mass, state, diagnostic_report, …). */
|
|
77
|
+
quantityKind: string;
|
|
78
|
+
/** Unit id from the package's quantity register; the register's
|
|
79
|
+
* dimensionless id (e.g. `dimensionless`) when the payload is
|
|
80
|
+
* non-quantity. */
|
|
81
|
+
unit: string;
|
|
82
|
+
/** Served values carry timestamps (§14.5) — must be true (C61): a value
|
|
83
|
+
* without a time is not evidence. */
|
|
84
|
+
timestamp: boolean;
|
|
85
|
+
}
|
|
86
|
+
/** operation <name> { … } — one operation of an endpoint. */
|
|
87
|
+
export interface EndpointOperation {
|
|
88
|
+
name: string;
|
|
89
|
+
/** query | subscribe | invoke (ENDPOINT_OPERATION_KINDS; C60/C62 flag others). */
|
|
90
|
+
kind: string;
|
|
91
|
+
/**
|
|
92
|
+
* The aspects this operation serves (query/subscribe face) — logical
|
|
93
|
+
* aspect names in the owning subject's vocabulary (attribute ids,
|
|
94
|
+
* characteristic names, the reserved `state` / `environmental_context`
|
|
95
|
+
* aspects); comma- or space-separated in the surface syntax.
|
|
96
|
+
*/
|
|
97
|
+
serves: string[];
|
|
98
|
+
/** The processes this operation invokes (invoke face) — behavior ids. */
|
|
99
|
+
does: string[];
|
|
100
|
+
/** The payload schema; null when undeclared (C61). */
|
|
101
|
+
payload: EndpointPayload | null;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* endpoint <id> — the subject's declared API surface (IS-level). Nested in
|
|
105
|
+
* the subject's `is { … }` block; the owning subject is implicit.
|
|
106
|
+
*/
|
|
107
|
+
export interface Endpoint {
|
|
108
|
+
id: string;
|
|
109
|
+
operations: EndpointOperation[];
|
|
110
|
+
/** Access scope → operation names. Every operation is covered by
|
|
111
|
+
* exactly one scope (C62); scopes are public | registered | authority. */
|
|
112
|
+
access: Partial<Record<EndpointAccessScope, string[]>>;
|
|
113
|
+
/** Connector profile id — a declared connector_profile or one of the
|
|
114
|
+
* built-ins (C64). */
|
|
115
|
+
profile: string;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* serve <aspect> via <operation> { fresh_within <duration> } — the
|
|
119
|
+
* HAS-level binding from an aspect to an endpoint operation (§14.4).
|
|
120
|
+
* `freshWithin` is the freshness window: ISO-8601 duration or the
|
|
121
|
+
* shorthand form (`5s`, `500ms`, `1min`, `1h`, `1d`); empty = C63 (a live
|
|
122
|
+
* binding without fresh_within is an error — §14.12).
|
|
123
|
+
*/
|
|
124
|
+
export interface ServeBinding {
|
|
125
|
+
/** The served aspect path (task-03 scope vocabulary:
|
|
126
|
+
* [level.]{parameters|classification|test_context}.<key>, the reserved
|
|
127
|
+
* `state` / `environmental_context` aspects, or a bare
|
|
128
|
+
* attribute/characteristic/dimension name). */
|
|
129
|
+
aspect: string;
|
|
130
|
+
/** The serving operation name (resolves against the owning subject's
|
|
131
|
+
* endpoints — C60). */
|
|
132
|
+
via: string;
|
|
133
|
+
/** The freshness window (e.g. `5s`, `PT1M`); empty when undeclared (C63). */
|
|
134
|
+
freshWithin: string;
|
|
135
|
+
}
|
|
136
|
+
/** connector_profile <id> — a protocol binding declared per endpoint family. */
|
|
137
|
+
export interface ConnectorProfile {
|
|
138
|
+
id: string;
|
|
139
|
+
/** The bound protocol (free text, e.g. "REST/JSON", "MQTT", "OPC-UA"). */
|
|
140
|
+
protocol: string;
|
|
141
|
+
/** What the profile carries / how the operation kinds map. */
|
|
142
|
+
description: string;
|
|
143
|
+
referenceIds: string[];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* The four standard connector profiles (§14.4) — known to the kernel
|
|
147
|
+
* without declaration; the linter (C64) resolves endpoint profiles
|
|
148
|
+
* against declared connector_profile constructs ∪ this set. The registry
|
|
149
|
+
* is OCP-extensible: packages add profiles by declaring them.
|
|
150
|
+
*/
|
|
151
|
+
export declare const BUILTIN_CONNECTOR_PROFILES: Readonly<Record<string, {
|
|
152
|
+
protocol: string;
|
|
153
|
+
description: string;
|
|
154
|
+
}>>;
|
|
155
|
+
//# sourceMappingURL=Twin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Twin.d.ts","sourceRoot":"","sources":["../../../src/types/Twin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH;yBACyB;AACzB,eAAO,MAAM,wBAAwB,2CAI3B,CAAC;AACX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,gDAAgD;AAChD,eAAO,MAAM,sBAAsB,gDAIzB,CAAC;AACX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB;;wBAEoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb;0CACsC;IACtC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,yEAAyE;IACzE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,sDAAsD;IACtD,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC;+EAC2E;IAC3E,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACvD;2BACuB;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B;;;oDAGgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf;4BACwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAC/C,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB1D,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Twin interface constructs (Primmel v3, TODO.roadmap/32 — doctrine
|
|
4
|
+
* ch. 14 §14.4, concept doc §10.2–10.3): the live twin's integration
|
|
5
|
+
* language.
|
|
6
|
+
*
|
|
7
|
+
* A live twin is a subject instance whose anatomy is SERVED (ch. 14 §14.3):
|
|
8
|
+
* "no new anatomy needed, only plumbing to serve it". Three small
|
|
9
|
+
* primitives, two of which live on the subject anatomy itself:
|
|
10
|
+
*
|
|
11
|
+
* endpoint (IS-level) — the subject's declared API surface, part of the
|
|
12
|
+
* type definition "like a marking or a software identification"
|
|
13
|
+
* (§14.3). Declared inline in the subject's `is { … }` block (§14.11
|
|
14
|
+
* grammar sketch), NOT as a top-level construct: an endpoint is
|
|
15
|
+
* meaningless detached from the subject whose interface it is. Each
|
|
16
|
+
* endpoint declares:
|
|
17
|
+
* operations — { name, kind: query | subscribe | invoke, serves/does
|
|
18
|
+
* refs, payload schema }: query pulls a current value, subscribe
|
|
19
|
+
* pushes on change, invoke triggers a process. Every operation
|
|
20
|
+
* carries a payload schema — a QuantityValue per INV-1, ALWAYS
|
|
21
|
+
* with unit (`1` for dimensionless/state payloads) and timestamp
|
|
22
|
+
* (§14.4; §14.12: "every endpoint operation has an access scope
|
|
23
|
+
* and a payload schema (QuantityValue with timestamp)").
|
|
24
|
+
* access scopes — who may call what: public | registered |
|
|
25
|
+
* authority. Every operation is covered by exactly one scope
|
|
26
|
+
* (linter C62).
|
|
27
|
+
* profile — the connector profile binding the protocol (below).
|
|
28
|
+
*
|
|
29
|
+
* serve (HAS-level) — the binding from an aspect to an operation:
|
|
30
|
+
* `serve <aspect> via <operation> { fresh_within <duration> }`,
|
|
31
|
+
* declared in the subject's `has { … }` block. Freshness is part of
|
|
32
|
+
* the binding (§14.4): "the engine must know how old a value may be
|
|
33
|
+
* before it stops meaning anything" — a live binding without
|
|
34
|
+
* `fresh_within` is an error (§14.12; linter C63). The aspect path
|
|
35
|
+
* uses the task-03 scope vocabulary ([level.]{parameters|
|
|
36
|
+
* classification|test_context}.<key>, plus the reserved `state` /
|
|
37
|
+
* `environmental_context` aspects and bare attribute/characteristic
|
|
38
|
+
* names); the operation resolves against the owning subject's
|
|
39
|
+
* endpoints (linter C60, with unit coherence between the served
|
|
40
|
+
* aspect and the operation's payload).
|
|
41
|
+
*
|
|
42
|
+
* connector_profile (foundations) — the protocol binding registry:
|
|
43
|
+
* the model is protocol-neutral; profiles bind protocols (§14.4).
|
|
44
|
+
* The four standard profiles (rest_json, mqtt, opc_ua, file_drop —
|
|
45
|
+
* BUILTIN_CONNECTOR_PROFILES) are known to the kernel without
|
|
46
|
+
* declaration; packages extend the registry by declaring
|
|
47
|
+
* `connector_profile` constructs (OCP — new profiles are added by
|
|
48
|
+
* declaration, never by kernel edits). An endpoint's `profile`
|
|
49
|
+
* resolves against declared profiles ∪ the built-ins (linter C64).
|
|
50
|
+
*
|
|
51
|
+
* Freshness semantics (§14.5 step 3): served values are timestamped; a
|
|
52
|
+
* stale value degrades the verdict to `indeterminate` — never fail (a
|
|
53
|
+
* network outage is not a metrological event), never a silent pass
|
|
54
|
+
* (silence is not evidence). The runtime half lives in the smart app's
|
|
55
|
+
* verdict service (browser/src/services/verdict.service.ts); the window
|
|
56
|
+
* parser is parseFreshnessWindow in src/time.ts.
|
|
57
|
+
*
|
|
58
|
+
* Maps 1:1 to the OIML SMART domain model layer (data/<rec>/model/
|
|
59
|
+
* twin.yaml): the YAML side carries `endpoints:` / `serves:` registries;
|
|
60
|
+
* the codecs emit/parse the subject blocks (construct-symmetric,
|
|
61
|
+
* TODO.refactor/16).
|
|
62
|
+
*/
|
|
63
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
64
|
+
exports.BUILTIN_CONNECTOR_PROFILES = exports.ENDPOINT_ACCESS_SCOPES = exports.ENDPOINT_OPERATION_KINDS = void 0;
|
|
65
|
+
/** Operation kinds (§14.4): pull a current value | push on change |
|
|
66
|
+
* trigger a process. */
|
|
67
|
+
exports.ENDPOINT_OPERATION_KINDS = [
|
|
68
|
+
'query',
|
|
69
|
+
'subscribe',
|
|
70
|
+
'invoke',
|
|
71
|
+
];
|
|
72
|
+
/** Access scopes (§14.4): who may call what. */
|
|
73
|
+
exports.ENDPOINT_ACCESS_SCOPES = [
|
|
74
|
+
'public',
|
|
75
|
+
'registered',
|
|
76
|
+
'authority',
|
|
77
|
+
];
|
|
78
|
+
/**
|
|
79
|
+
* The four standard connector profiles (§14.4) — known to the kernel
|
|
80
|
+
* without declaration; the linter (C64) resolves endpoint profiles
|
|
81
|
+
* against declared connector_profile constructs ∪ this set. The registry
|
|
82
|
+
* is OCP-extensible: packages add profiles by declaring them.
|
|
83
|
+
*/
|
|
84
|
+
exports.BUILTIN_CONNECTOR_PROFILES = {
|
|
85
|
+
rest_json: {
|
|
86
|
+
protocol: 'REST/JSON',
|
|
87
|
+
description: 'HTTP resource endpoints — query → GET, subscribe → server-push stream, invoke → POST; JSON payloads.',
|
|
88
|
+
},
|
|
89
|
+
mqtt: {
|
|
90
|
+
protocol: 'MQTT',
|
|
91
|
+
description: 'Pub/sub telemetry — subscribe → topic subscription, query → retained topic read, invoke → command topic.',
|
|
92
|
+
},
|
|
93
|
+
opc_ua: {
|
|
94
|
+
protocol: 'OPC-UA',
|
|
95
|
+
description: 'Industrial interoperability — query → read, subscribe → monitored items, invoke → method call.',
|
|
96
|
+
},
|
|
97
|
+
file_drop: {
|
|
98
|
+
protocol: 'file drop',
|
|
99
|
+
description: 'Batch/plugin sources (§14.7) — values arrive as dropped files/records; query reads the latest drop.',
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=Twin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Twin.js","sourceRoot":"","sources":["../../../src/types/Twin.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;;;AAEH;yBACyB;AACZ,QAAA,wBAAwB,GAAG;IACtC,OAAO;IACP,WAAW;IACX,QAAQ;CACA,CAAC;AAGX,gDAAgD;AACnC,QAAA,sBAAsB,GAAG;IACpC,QAAQ;IACR,YAAY;IACZ,WAAW;CACH,CAAC;AAoFX;;;;;GAKG;AACU,QAAA,0BAA0B,GAEnC;IACF,SAAS,EAAE;QACT,QAAQ,EAAE,WAAW;QACrB,WAAW,EACT,sGAAsG;KACzG;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM;QAChB,WAAW,EACT,0GAA0G;KAC7G;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,QAAQ;QAClB,WAAW,EACT,gGAAgG;KACnG;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,WAAW;QACrB,WAAW,EACT,qGAAqG;KACxG;CACF,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verdict construct (OIML SMART TODO.refactor/04 — canonical verdict chain).
|
|
3
|
+
*
|
|
4
|
+
* A Verdict declares the SINGLE canonical derivation of one acceptance
|
|
5
|
+
* quantity ("derive once, reference everywhere"): requirements
|
|
6
|
+
* (limit.accepts), conformance tests, and form fields reference it by id
|
|
7
|
+
* instead of restating the expression. Every free identifier of the
|
|
8
|
+
* derivation must appear in `inputs` (linker rule verdict-inputs-resolve).
|
|
9
|
+
*
|
|
10
|
+
* Maps 1:1 to verdicts.yaml (data/schemas/verdicts.yaml).
|
|
11
|
+
*/
|
|
12
|
+
import type AcceptanceDecision from './Acceptance';
|
|
13
|
+
import type { SourceRef } from './Subject';
|
|
14
|
+
/** How a series of derived values reduces to one scalar before acceptance. */
|
|
15
|
+
export type SeriesReduction = 'none' | 'max' | 'mean' | 'worst_case' | 'max_abs_over_window';
|
|
16
|
+
/** verdict <id> — one canonical acceptance quantity. */
|
|
17
|
+
export default interface Verdict {
|
|
18
|
+
id: string;
|
|
19
|
+
/** Display symbol of the quantity (e.g. C_M for mdlo_normalized). */
|
|
20
|
+
symbol?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Id of the declared behavior this quantity is derived from — the
|
|
23
|
+
* behavior→I/O→characteristic chain link (TODO.roadmap/10).
|
|
24
|
+
*/
|
|
25
|
+
behavior?: string;
|
|
26
|
+
/** Quantity kind of the derived value (e.g. mass, volume-fraction). */
|
|
27
|
+
quantityKind: string;
|
|
28
|
+
/** Measurement unit of the derived value; empty for dimensionless. */
|
|
29
|
+
unit: string;
|
|
30
|
+
/** The single canonical derivation, ocl{...}. */
|
|
31
|
+
derive: string;
|
|
32
|
+
/** Symbol ids the derivation reads (its free identifiers). */
|
|
33
|
+
inputs: string[];
|
|
34
|
+
/** Series→scalar reduction; null for scalar (single-measurement) verdicts. */
|
|
35
|
+
seriesReduction: SeriesReduction | null;
|
|
36
|
+
/** Acceptance decision rule (guarding, criterion, statistics). */
|
|
37
|
+
acceptance?: AcceptanceDecision | null;
|
|
38
|
+
source: SourceRef | null;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=Verdict.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Verdict.d.ts","sourceRoot":"","sources":["../../../src/types/Verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,kBAAkB,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,8EAA8E;AAC9E,MAAM,MAAM,eAAe,GACzB,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAAC;AAEjE,wDAAwD;AACxD,MAAM,CAAC,OAAO,WAAW,OAAO;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8EAA8E;IAC9E,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kEAAkE;IAClE,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Verdict construct (OIML SMART TODO.refactor/04 — canonical verdict chain).
|
|
4
|
+
*
|
|
5
|
+
* A Verdict declares the SINGLE canonical derivation of one acceptance
|
|
6
|
+
* quantity ("derive once, reference everywhere"): requirements
|
|
7
|
+
* (limit.accepts), conformance tests, and form fields reference it by id
|
|
8
|
+
* instead of restating the expression. Every free identifier of the
|
|
9
|
+
* derivation must appear in `inputs` (linker rule verdict-inputs-resolve).
|
|
10
|
+
*
|
|
11
|
+
* Maps 1:1 to verdicts.yaml (data/schemas/verdicts.yaml).
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
//# sourceMappingURL=Verdict.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Verdict.js","sourceRoot":"","sources":["../../../src/types/Verdict.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG"}
|
|
@@ -4,6 +4,12 @@ interface ViewProfile {
|
|
|
4
4
|
description: string;
|
|
5
5
|
roles: string[];
|
|
6
6
|
visibleElements: string[];
|
|
7
|
+
/**
|
|
8
|
+
* The reference-model namespace this view is read against ('' = none).
|
|
9
|
+
* Views reading coverage name the map_profile/mapSet namespace whose
|
|
10
|
+
* coverage they filter — they never mutate it.
|
|
11
|
+
*/
|
|
12
|
+
against: string;
|
|
7
13
|
}
|
|
8
14
|
export default ViewProfile;
|
|
9
15
|
export type ResolvableViewProfile = Resolvable<ViewProfile, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewProfile.d.ts","sourceRoot":"","sources":["../../../src/types/ViewProfile.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ViewProfile.d.ts","sourceRoot":"","sources":["../../../src/types/ViewProfile.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAYtC,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IAEpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAe,WAAW,CAAC;AAG3B,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC"}
|
package/dist/src/types/data.d.ts
CHANGED
|
@@ -10,10 +10,25 @@ export type ResolvableRegistry = Resolvable<Registry, 'data'>;
|
|
|
10
10
|
export interface DataClass {
|
|
11
11
|
id: string;
|
|
12
12
|
attributes: DataAttribute[];
|
|
13
|
+
/** Persistent store name for storable classes (v2 G2). */
|
|
14
|
+
store?: string;
|
|
15
|
+
/** Store indexes (v2 G2). */
|
|
16
|
+
indexes?: string[];
|
|
17
|
+
/** Helper classes embed into their parents (no store) (v2 G2). */
|
|
18
|
+
helper?: boolean;
|
|
19
|
+
/** Inheritance: fields merge from the parent (v2 G2). */
|
|
20
|
+
extends?: string;
|
|
21
|
+
/** Class-level description. */
|
|
22
|
+
description?: string;
|
|
13
23
|
}
|
|
14
24
|
export type ResolvableDataClass = {
|
|
15
25
|
id: string;
|
|
16
26
|
attributes: ResolveableDataAttribute[];
|
|
27
|
+
store?: string;
|
|
28
|
+
indexes?: string[];
|
|
29
|
+
helper?: boolean;
|
|
30
|
+
extends?: string;
|
|
31
|
+
description?: string;
|
|
17
32
|
};
|
|
18
33
|
export interface DataAttribute {
|
|
19
34
|
id: string;
|
|
@@ -23,6 +38,18 @@ export interface DataAttribute {
|
|
|
23
38
|
definition: string;
|
|
24
39
|
ref: Reference[];
|
|
25
40
|
satisfy: string[];
|
|
41
|
+
/** FK edge semantics on reference fields (v2 G2). */
|
|
42
|
+
onDelete?: string;
|
|
43
|
+
/** Legacy field kept for migration only (v2 G2). */
|
|
44
|
+
deprecated?: boolean;
|
|
45
|
+
/** Inline enum values for `enum`-typed fields. */
|
|
46
|
+
enumValues?: string[];
|
|
47
|
+
/** Explicit required flag (companion of modality). */
|
|
48
|
+
required?: boolean;
|
|
49
|
+
/** Unit of a quantity-valued field. */
|
|
50
|
+
unit?: string;
|
|
51
|
+
/** Default value (verbatim; structured defaults travel as JSON strings). */
|
|
52
|
+
defaultValue?: string;
|
|
26
53
|
}
|
|
27
54
|
export type ResolveableDataAttribute = Resolvable<DataAttribute, 'ref'>;
|
|
28
55
|
export interface Enum {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/types/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/types/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,SAAS,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAExE,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -1,8 +1,166 @@
|
|
|
1
1
|
import { Resolvable } from './Resolvable';
|
|
2
2
|
import { Registry } from './data';
|
|
3
3
|
import { Subprocess } from './flow';
|
|
4
|
+
import type { TestInstances, TestPrecondition } from './ConformanceTest';
|
|
5
|
+
import type { QuantityValue } from './Quantity';
|
|
6
|
+
import type { SourceRef } from './Subject';
|
|
4
7
|
import Provision from './Provision';
|
|
5
8
|
import Role from './Role';
|
|
9
|
+
/** A typed name — a signature parameter or a register. */
|
|
10
|
+
export interface ProcessParameter {
|
|
11
|
+
name: string;
|
|
12
|
+
/** Quantity-kind / type annotation (single token, e.g. mass, time). */
|
|
13
|
+
type: string;
|
|
14
|
+
/**
|
|
15
|
+
* Registers only (TODO.roadmap/50): the slot's INITIAL value — a literal
|
|
16
|
+
* consistent with the declared type (number, text, boolean token, or a
|
|
17
|
+
* quantity value + unit; the block form carries the full QuantityValue
|
|
18
|
+
* contract). `= <value> [unit]` in the `registers { … }` entry.
|
|
19
|
+
* undefined = no initial value declared. Signature parameters never
|
|
20
|
+
* carry one (their values arrive at the call).
|
|
21
|
+
*/
|
|
22
|
+
initial?: QuantityValue;
|
|
23
|
+
}
|
|
24
|
+
/** Process I/O signature: what the process consumes (IN) and produces (OUT). */
|
|
25
|
+
export interface ProcessSignature {
|
|
26
|
+
inputs: ProcessParameter[];
|
|
27
|
+
outputs: ProcessParameter[];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* One role-segregation constraint of a process (TODO.roadmap/39b — the
|
|
31
|
+
* ISO/IEC 17065 clause-7 non-involvement rules: 7.5.1 reviewer ∉
|
|
32
|
+
* evaluation, 7.6.2 decider ∉ evaluation, 7.13.5 complaint resolution ∉
|
|
33
|
+
* case activities, 7.13.6/4.2.10 consultancy bars). First-class structured
|
|
34
|
+
* declaration, NOT an OCL invariant: invariants quantify over one
|
|
35
|
+
* process's own signature records, while segregation is a CROSS-process
|
|
36
|
+
* relation over personnel sets, per case — and invariant strings are never
|
|
37
|
+
* mechanically evaluated.
|
|
38
|
+
*
|
|
39
|
+
* `pair` members are PROCESS ids (that process's personnel set for the
|
|
40
|
+
* case at hand), or the reserved token `case_personnel` (the personnel
|
|
41
|
+
* involved in the certification activities of the case a complaint
|
|
42
|
+
* relates to — 7.13.5's case-relative set). Roles are deliberately not
|
|
43
|
+
* members: a scheme may bind one role to evaluation, review AND decision,
|
|
44
|
+
* so the norms quantify over process INVOLVEMENT, not role assignment.
|
|
45
|
+
* The linter (C59 segregation-members-resolve) checks well-formedness;
|
|
46
|
+
* per-assignment runtime enforcement is the platform's business.
|
|
47
|
+
*/
|
|
48
|
+
export interface SegregationEntry {
|
|
49
|
+
id: string;
|
|
50
|
+
/** 'case_personnel_disjoint' | 'consultancy_bar' ('' = undeclared). */
|
|
51
|
+
kind: string;
|
|
52
|
+
/** Clause of the source standard stating the constraint (e.g. "7.5.1"). */
|
|
53
|
+
clause: string;
|
|
54
|
+
/** The two disjoint personnel sets (disjoint entries; exactly two). */
|
|
55
|
+
pair: string[];
|
|
56
|
+
/** ISO-8601 duration of a fixed consultancy bar (7.13.6: "P2Y"); '' = none. */
|
|
57
|
+
period: string;
|
|
58
|
+
/** The barred client relations ('consultancy' | 'employment') — bar entries. */
|
|
59
|
+
barred: string[];
|
|
60
|
+
/** Verbatim-faithful normative statement of the constraint. */
|
|
61
|
+
statement: string;
|
|
62
|
+
}
|
|
63
|
+
/** The eight step kinds of the v3 step vocabulary. */
|
|
64
|
+
export type ProcessStepKind = 'action' | 'approval' | 'gateway' | 'parallel_gateway' | 'start_event' | 'end_event' | 'timer_event' | 'signal_event';
|
|
65
|
+
/**
|
|
66
|
+
* One signature binding of a subprocess call (TODO.roadmap/38): the callee
|
|
67
|
+
* signature parameter `param` binds to the caller-side register/parameter
|
|
68
|
+
* `bind`. `callIn` bindings feed the callee's IN parameters (the caller
|
|
69
|
+
* name is READ); `callOut` mappings return the callee's OUT parameters
|
|
70
|
+
* (the caller name is WRITTEN). The linter (C76
|
|
71
|
+
* subprocess-signature-bound) checks completeness and kind compatibility;
|
|
72
|
+
* the caller-side names join the step's I/O for C12/C13/C75.
|
|
73
|
+
*/
|
|
74
|
+
export interface ProcessCallBinding {
|
|
75
|
+
/** Callee signature parameter name. */
|
|
76
|
+
param: string;
|
|
77
|
+
/** Caller-side register/parameter name it binds to. */
|
|
78
|
+
bind: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* One step of an executable process.
|
|
82
|
+
*
|
|
83
|
+
* Executor typing (`executor`):
|
|
84
|
+
* - 'machine' — the engine runs the step (OCL evaluation, gateway
|
|
85
|
+
* resolution, waits, register writes);
|
|
86
|
+
* - 'actor' — a role performs the step; actor steps are RECORDED, not
|
|
87
|
+
* run: `role` binds the performing role and `capture` binds the form
|
|
88
|
+
* through which the step's outputs land in evidence;
|
|
89
|
+
* - '' — untyped (events; or the author didn't declare one).
|
|
90
|
+
*
|
|
91
|
+
* Step I/O (`reads`/`writes`/`wait`, plus the caller-side names of a
|
|
92
|
+
* call's `with` bindings) names registers and signature parameters — the
|
|
93
|
+
* linter (C12/C13) checks those names resolve and that the step set
|
|
94
|
+
* realizes the process signature.
|
|
95
|
+
*/
|
|
96
|
+
export interface ProcessStep {
|
|
97
|
+
id: string;
|
|
98
|
+
kind: ProcessStepKind;
|
|
99
|
+
executor: 'machine' | 'actor' | '';
|
|
100
|
+
/** Actor steps: the bound role id. */
|
|
101
|
+
role: string;
|
|
102
|
+
/** Actor steps: the capture form id through which outputs are recorded. */
|
|
103
|
+
capture: string;
|
|
104
|
+
/** Register/parameter names the step reads. */
|
|
105
|
+
reads: string[];
|
|
106
|
+
/** Register/parameter names the step writes. */
|
|
107
|
+
writes: string[];
|
|
108
|
+
/**
|
|
109
|
+
* `wait <name>` — a machine hold on a duration register/parameter.
|
|
110
|
+
* Counts as a read for the linter (C12/C13).
|
|
111
|
+
*/
|
|
112
|
+
wait: string;
|
|
113
|
+
/** timer_event: ISO-8601 recurrence period (e.g. "P12M"). */
|
|
114
|
+
period: string;
|
|
115
|
+
/** signal_event: name of the external trigger that starts/resumes. */
|
|
116
|
+
signal: string;
|
|
117
|
+
/**
|
|
118
|
+
* `fires <transition>` (TODO.roadmap/07): when the step COMPLETES, the
|
|
119
|
+
* process's bound state machine (`state <machineRef>`) takes the named
|
|
120
|
+
* transition (identified by its action name). The fired sequence lands
|
|
121
|
+
* in the run's state trajectory (see src/operational-state.ts).
|
|
122
|
+
*/
|
|
123
|
+
fires: string;
|
|
124
|
+
/**
|
|
125
|
+
* `calls <process>` (TODO.roadmap/38): the step invokes a sub-process.
|
|
126
|
+
* When the callee declares a signature, `callIn`/`callOut` bind it —
|
|
127
|
+
* every IN parameter bound from a caller register, every OUT parameter
|
|
128
|
+
* mapped back to a caller register (`calls <p> { with { in {…} out {…} } }`).
|
|
129
|
+
* '' = not a call step.
|
|
130
|
+
*/
|
|
131
|
+
calls: string;
|
|
132
|
+
/** IN bindings of the call (callee param ← caller name; the caller READS). */
|
|
133
|
+
callIn: ProcessCallBinding[];
|
|
134
|
+
/** OUT mappings of the call (callee param → caller name; the caller WRITES). */
|
|
135
|
+
callOut: ProcessCallBinding[];
|
|
136
|
+
description: string;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* A flow edge between two steps of the same `does` body.
|
|
140
|
+
*
|
|
141
|
+
* Connection semantics (three rules only):
|
|
142
|
+
* 1. serial — `A -> B`: do A, then B;
|
|
143
|
+
* 2. parallel — two unconditioned paths: both, in any order;
|
|
144
|
+
* 3. self-loop + timer — repeat with a period (recurrence).
|
|
145
|
+
*
|
|
146
|
+
* `condition` is an OCL Boolean over declared registers ('' = the
|
|
147
|
+
* unconditioned/default edge). On a gateway's outgoing edges the first
|
|
148
|
+
* satisfied condition in document order wins; the unconditioned edge
|
|
149
|
+
* catches the rest.
|
|
150
|
+
*/
|
|
151
|
+
export interface ProcessFlowEdge {
|
|
152
|
+
from: string;
|
|
153
|
+
to: string;
|
|
154
|
+
condition: string;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* The executable body (the DOES of the process). Its PRESENCE is what
|
|
158
|
+
* marks a process executable — `does: null` is the abstract form.
|
|
159
|
+
*/
|
|
160
|
+
export interface ProcessFlow {
|
|
161
|
+
steps: ProcessStep[];
|
|
162
|
+
edges: ProcessFlowEdge[];
|
|
163
|
+
}
|
|
6
164
|
export default interface Process {
|
|
7
165
|
id: string;
|
|
8
166
|
name: string;
|
|
@@ -11,10 +169,83 @@ export default interface Process {
|
|
|
11
169
|
output: Registry[];
|
|
12
170
|
input: Registry[];
|
|
13
171
|
provision: Provision[];
|
|
172
|
+
/**
|
|
173
|
+
* The raw `validate_provision { … }` ids, exactly as authored. Unlike
|
|
174
|
+
* `provision` (which holds only ids that resolved to declared
|
|
175
|
+
* `provision` constructs), this list never loses a reference: OIML
|
|
176
|
+
* SMART packages point validate_provision at REQUIREMENT ids
|
|
177
|
+
* (`/req/cs/*` provisions — verified by the process, never by a
|
|
178
|
+
* conformance test), which the provision resolver cannot see. The
|
|
179
|
+
* linter reads this list (a provision'd requirement is covered, C5);
|
|
180
|
+
* the dumper emits it, so an unresolvable reference survives the
|
|
181
|
+
* load → dump round-trip instead of being silently dropped.
|
|
182
|
+
*/
|
|
183
|
+
provisionRefs: string[];
|
|
14
184
|
page: Subprocess | null;
|
|
15
185
|
measure: string[];
|
|
16
186
|
parent: string;
|
|
17
187
|
children: string[];
|
|
188
|
+
/** IS: the I/O signature (null = undeclared). */
|
|
189
|
+
signature: ProcessSignature | null;
|
|
190
|
+
/** IS: OCL invariants over the signature and registers. */
|
|
191
|
+
invariants: string[];
|
|
192
|
+
/**
|
|
193
|
+
* IS: ISO/IEC 17000 activity-kind ids classifying this process in the
|
|
194
|
+
* functional approach (TODO.roadmap/39) — an abstract process may be
|
|
195
|
+
* tagged with several kinds (ISO/IEC 17065 §7.4 "evaluation" =
|
|
196
|
+
* selection + determination). Classification, not inheritance; the ids
|
|
197
|
+
* resolve against a declared activity_archetype register when one is in
|
|
198
|
+
* scope (C58 activity-kind-resolves).
|
|
199
|
+
*/
|
|
200
|
+
activityKinds: string[];
|
|
201
|
+
/**
|
|
202
|
+
* IS: role-segregation constraints (TODO.roadmap/39b — the ISO/IEC
|
|
203
|
+
* 17065 non-involvement rules: review/decision personnel disjoint from
|
|
204
|
+
* evaluation personnel, complaint-resolution independence, consultancy
|
|
205
|
+
* bars). First-class machine-checkable declarations, not invariants;
|
|
206
|
+
* the linter (C59 segregation-members-resolve) checks well-formedness,
|
|
207
|
+
* per-assignment enforcement is the runtime's business.
|
|
208
|
+
*/
|
|
209
|
+
segregation: SegregationEntry[];
|
|
210
|
+
/**
|
|
211
|
+
* IS: OCL Boolean guards on entry. A violated precondition voids the
|
|
212
|
+
* run AS A RUN (verdicts `invalid`, never `fail`); the language carries
|
|
213
|
+
* the declaration, the runtime evaluates it.
|
|
214
|
+
*/
|
|
215
|
+
preconditions: TestPrecondition[];
|
|
216
|
+
/** IS: default executor — a role id, or the literal `machine`. */
|
|
217
|
+
executor: string;
|
|
218
|
+
/** HAS: typed registers the steps read and write. */
|
|
219
|
+
registers: ProcessParameter[];
|
|
220
|
+
/** HAS: the process's state machine reference. */
|
|
221
|
+
state: string;
|
|
222
|
+
/**
|
|
223
|
+
* Per-classification instance parameters keyed by a subject dimension
|
|
224
|
+
* (R 60: n_runs = 5 for accuracy classes A/B, 3 for C/D). Shared shape
|
|
225
|
+
* with conformance-test instances: TestInstances.
|
|
226
|
+
*/
|
|
227
|
+
instances: TestInstances | null;
|
|
228
|
+
/**
|
|
229
|
+
* Child composition for the coverage calculus (TODO.roadmap/04): how
|
|
230
|
+
* this process's declared CHILDREN combine into its own fulfilment —
|
|
231
|
+
* `all` (default): every child is required (serial/parallel semantics);
|
|
232
|
+
* `gateway`: the children are exclusive branches and the gateway minimum
|
|
233
|
+
* (at least one branch) suffices for minimal cover. Coverage aggregation
|
|
234
|
+
* walks the parent/children tree (concept doc §5.3).
|
|
235
|
+
*/
|
|
236
|
+
childComposition: 'all' | 'gateway';
|
|
237
|
+
/** DOES: the executable body. null = abstract process (always valid). */
|
|
238
|
+
does: ProcessFlow | null;
|
|
239
|
+
/**
|
|
240
|
+
* Clause-URN provenance (the same facet requirement/provision carry):
|
|
241
|
+
* `source { doc "urn:…" clause "…" [fragment "…"] }`. null = undeclared.
|
|
242
|
+
*/
|
|
243
|
+
source: SourceRef | null;
|
|
244
|
+
/**
|
|
245
|
+
* Repeated `source { … }` blocks collect here (TODO.roadmap/24);
|
|
246
|
+
* `source` stays the first entry for back-compatibility.
|
|
247
|
+
*/
|
|
248
|
+
sourceRefs?: SourceRef[];
|
|
18
249
|
}
|
|
19
250
|
export type ResolvableProcess = Resolvable<Process, 'actor' | 'output' | 'input' | 'provision' | 'page'>;
|
|
20
251
|
//# sourceMappingURL=process.d.ts.map
|