@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 @@
|
|
|
1
|
+
{"version":3,"file":"model-diff.js","sourceRoot":"","sources":["../../src/model-diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type StateMachine from './types/StateMachine';
|
|
2
|
+
import type { TestPrecondition } from './types/ConformanceTest';
|
|
3
|
+
/** One `self.state <op> #literal` comparison found in a check expression. */
|
|
4
|
+
export interface StateGate {
|
|
5
|
+
/** The state literal without the `#` sigil (e.g. `ready`). */
|
|
6
|
+
state: string;
|
|
7
|
+
/** True for `=`/`==` (current must equal), false for `<>`/`!=`. */
|
|
8
|
+
positive: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Extract the state gates of a precondition check expression. Only
|
|
12
|
+
* comparisons AGAINST `self.state` count — other `#literal` occurrences
|
|
13
|
+
* (enum literals like `#fail` on an ordinary register) are not state
|
|
14
|
+
* references and never gate.
|
|
15
|
+
*/
|
|
16
|
+
export declare function extractStateGates(check: string): StateGate[];
|
|
17
|
+
/** A state gate the current node violates. */
|
|
18
|
+
export interface StateGateViolation {
|
|
19
|
+
/** Id of the precondition carrying the violated gate. */
|
|
20
|
+
preconditionId: string;
|
|
21
|
+
/** The gated state literal (without `#`). */
|
|
22
|
+
gate: string;
|
|
23
|
+
/** The machine's current node at evaluation time. */
|
|
24
|
+
actual: string;
|
|
25
|
+
/** True when the gate was negated (`self.state <> #x`) and x matched. */
|
|
26
|
+
negated: boolean;
|
|
27
|
+
}
|
|
28
|
+
/** The gate classification: the run proceeds, or it is void. */
|
|
29
|
+
export type StateGateOutcome = 'ok' | 'invalid';
|
|
30
|
+
export interface StateGateResult {
|
|
31
|
+
outcome: StateGateOutcome;
|
|
32
|
+
violations: StateGateViolation[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Classify a process's preconditions against the machine's current node.
|
|
36
|
+
*
|
|
37
|
+
* Preconditions without a `self.state` comparison are NOT state gates —
|
|
38
|
+
* other engines evaluate them; they are ignored here. A gate holds by
|
|
39
|
+
* node-name comparison; a current node the machine does not even DECLARE
|
|
40
|
+
* is off-model (an impossible node asserts nothing), so it violates
|
|
41
|
+
* every gate — positive or negated — rather than passing silently.
|
|
42
|
+
*
|
|
43
|
+
* Conjunction boundary: ALL extracted gates are conjoined — every gate
|
|
44
|
+
* must hold. Multiple positive equality gates on the same
|
|
45
|
+
* subject-machine (`self.state = #ready or self.state = #measuring` in
|
|
46
|
+
* one check) are contradictory unless the machine allows simultaneous
|
|
47
|
+
* states, and are therefore permanently invalid — silently, by verdict
|
|
48
|
+
* only. Callers wanting OR semantics should use one gate per process,
|
|
49
|
+
* or the negated form (`self.state <> #fault`).
|
|
50
|
+
*/
|
|
51
|
+
export declare function evaluateStateGate(machine: StateMachine, currentState: string, preconditions: TestPrecondition[]): StateGateResult;
|
|
52
|
+
/**
|
|
53
|
+
* One entry of the state trajectory: the machine ENTERED `state` at `at`
|
|
54
|
+
* because the step `firedBy` completed. The genesis entry (run start)
|
|
55
|
+
* carries `firedBy: ''`.
|
|
56
|
+
*/
|
|
57
|
+
export interface StateTrajectoryEntry {
|
|
58
|
+
state: string;
|
|
59
|
+
/** ISO-8601 timestamp of the entry (run-trace time). */
|
|
60
|
+
at: string;
|
|
61
|
+
/** Id of the step whose completion fired the transition ('' = start). */
|
|
62
|
+
firedBy: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The state trajectory record of one run — the sequence of nodes the
|
|
66
|
+
* machine entered, in order. Lands in the run's trace next to the
|
|
67
|
+
* conditions log (doctrine ch. 04 §4.6); runtime storage is task 29's.
|
|
68
|
+
*/
|
|
69
|
+
export type StateTrajectory = StateTrajectoryEntry[];
|
|
70
|
+
/** A completed step, as the run trace records it for the fold. */
|
|
71
|
+
export interface FiredStep {
|
|
72
|
+
id: string;
|
|
73
|
+
/** The step's `fires` transition action (''/absent = no fire). */
|
|
74
|
+
fires?: string;
|
|
75
|
+
/** ISO-8601 completion timestamp. */
|
|
76
|
+
at: string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Thrown when a step's `fires` cannot be taken: the machine declares no
|
|
80
|
+
* transition with that action name, or none is enabled from the current
|
|
81
|
+
* node. The linter (C37 state-fires-resolve) rules the first case out
|
|
82
|
+
* statically; the second is a genuine run-trace inconsistency (the trace
|
|
83
|
+
* claims a fire the machine could not take).
|
|
84
|
+
*/
|
|
85
|
+
export declare class StateTrajectoryError extends Error {
|
|
86
|
+
constructor(message: string);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Fold a sequence of completed steps into the run's state trajectory.
|
|
90
|
+
*
|
|
91
|
+
* Starts from the machine's initial node (`initial.at` = the run's start
|
|
92
|
+
* timestamp — pass '' when the trace does not time the start) and takes
|
|
93
|
+
* one transition per step that declares `fires`: the transition named by
|
|
94
|
+
* its action, enabled when its `from` is the current node or the `*`
|
|
95
|
+
* wildcard. Steps without `fires` leave the machine where it is.
|
|
96
|
+
*
|
|
97
|
+
* Replay semantics, three boundaries:
|
|
98
|
+
* - Transition GUARDS are not evaluated during replay: this is trace
|
|
99
|
+
* semantics — the trace asserts the fire happened, so a recorded
|
|
100
|
+
* fire is taken, not re-judged.
|
|
101
|
+
* - An explicit `initial.state` the machine does not declare is NOT
|
|
102
|
+
* validated here — the C-rules cover the declaration side; replay
|
|
103
|
+
* starts from the node as given.
|
|
104
|
+
* - Same-action ambiguity (several transitions sharing one action,
|
|
105
|
+
* enabled from the current node) resolves by FIRST match in
|
|
106
|
+
* declaration order.
|
|
107
|
+
*/
|
|
108
|
+
export declare function foldTrajectory(machine: StateMachine, initial: {
|
|
109
|
+
state?: string;
|
|
110
|
+
at: string;
|
|
111
|
+
}, steps: FiredStep[]): StateTrajectory;
|
|
112
|
+
//# sourceMappingURL=operational-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operational-state.d.ts","sourceRoot":"","sources":["../../src/operational-state.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAWD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,CAS5D;AAED,8CAA8C;AAC9C,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,gEAAgE;AAChE,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,YAAY,EACrB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,gBAAgB,EAAE,GAChC,eAAe,CAmBjB;AAID;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,oBAAoB,EAAE,CAAC;AAErD,kEAAkE;AAClE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EACvC,KAAK,EAAE,SAAS,EAAE,GACjB,eAAe,CA2BjB"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// Operational state machines (Primmel v3, TODO.roadmap/07) — the
|
|
4
|
+
// language-level executable semantics of the subject's HAS state.
|
|
5
|
+
//
|
|
6
|
+
// The instrument's operational state (off → warming → ready → measuring →
|
|
7
|
+
// fault) is a first-class HAS aspect: a `state_machine` typed
|
|
8
|
+
// `kind operational`, bound to a subject via `has.state`, driven by
|
|
9
|
+
// process steps via `fires`, and gated on by run-validity preconditions
|
|
10
|
+
// (`self.state = #ready`).
|
|
11
|
+
//
|
|
12
|
+
// Two helpers live here:
|
|
13
|
+
//
|
|
14
|
+
// evaluateStateGate — classify a process's state-gate preconditions
|
|
15
|
+
// against the machine's CURRENT node: ok | invalid. A violated state
|
|
16
|
+
// gate yields `invalid`, NEVER `fail`: the gate is a run-validity
|
|
17
|
+
// rule, not a conformity criterion. An unwarmed instrument has not
|
|
18
|
+
// been measured against its limits at all — recording `fail` would
|
|
19
|
+
// state a conformity verdict the instrument never earned, and the
|
|
20
|
+
// evidence of a void run would be mistaken for a measurement (the
|
|
21
|
+
// R 144 warm-up and R 91 "no measurement if image quality
|
|
22
|
+
// insufficient" patterns; doctrine ch. 04 §4.5).
|
|
23
|
+
//
|
|
24
|
+
// Conjunction boundary: ALL extracted gates are conjoined — every
|
|
25
|
+
// gate must hold for the run to proceed. Multiple positive equality
|
|
26
|
+
// gates on the same subject-machine (`self.state = #ready or
|
|
27
|
+
// self.state = #measuring` in one check) are therefore contradictory
|
|
28
|
+
// unless the machine allows simultaneous states, and classify
|
|
29
|
+
// permanently invalid — silently, by verdict only. Callers wanting
|
|
30
|
+
// OR semantics use one gate per process, or the negated form
|
|
31
|
+
// (`self.state <> #fault`).
|
|
32
|
+
//
|
|
33
|
+
// foldTrajectory — fold a sequence of completed steps (each possibly
|
|
34
|
+
// `fires`-ing a transition) into the run's state trajectory: the
|
|
35
|
+
// trace record that lands in evidence as the conditions log's
|
|
36
|
+
// sibling (runtime storage is task 29's; the schema and the fold are
|
|
37
|
+
// the language's).
|
|
38
|
+
//
|
|
39
|
+
// Both families share the state_machine ser-des, but the families are
|
|
40
|
+
// disjoint — cross-references are the linter's (C38), not this module's.
|
|
41
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.StateTrajectoryError = void 0;
|
|
44
|
+
exports.extractStateGates = extractStateGates;
|
|
45
|
+
exports.evaluateStateGate = evaluateStateGate;
|
|
46
|
+
exports.foldTrajectory = foldTrajectory;
|
|
47
|
+
// self.state = #ready / self.state == #ready / self.state <> #ready —
|
|
48
|
+
// and the mirrored `#ready = self.state` form. The comparison operators
|
|
49
|
+
// are ordered longest-first so `==` is never misread as two `=`.
|
|
50
|
+
// The mirrored NEGATED form (`#fault <> self.state`) is intentionally
|
|
51
|
+
// NOT extracted — write the forward form (`self.state <> #fault`).
|
|
52
|
+
const GATE_FORWARD = /\bself\.state\s*(<>|!=|==|=)\s*#([A-Za-z_][A-Za-z0-9_]*)/g;
|
|
53
|
+
const GATE_MIRRORED = /#([A-Za-z_][A-Za-z0-9_]*)\s*(==|=)\s*self\.state\b/g;
|
|
54
|
+
/**
|
|
55
|
+
* Extract the state gates of a precondition check expression. Only
|
|
56
|
+
* comparisons AGAINST `self.state` count — other `#literal` occurrences
|
|
57
|
+
* (enum literals like `#fail` on an ordinary register) are not state
|
|
58
|
+
* references and never gate.
|
|
59
|
+
*/
|
|
60
|
+
function extractStateGates(check) {
|
|
61
|
+
const gates = [];
|
|
62
|
+
for (const m of check.matchAll(GATE_FORWARD)) {
|
|
63
|
+
gates.push({ state: m[2], positive: m[1] === '=' || m[1] === '==' });
|
|
64
|
+
}
|
|
65
|
+
for (const m of check.matchAll(GATE_MIRRORED)) {
|
|
66
|
+
gates.push({ state: m[1], positive: true });
|
|
67
|
+
}
|
|
68
|
+
return gates;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Classify a process's preconditions against the machine's current node.
|
|
72
|
+
*
|
|
73
|
+
* Preconditions without a `self.state` comparison are NOT state gates —
|
|
74
|
+
* other engines evaluate them; they are ignored here. A gate holds by
|
|
75
|
+
* node-name comparison; a current node the machine does not even DECLARE
|
|
76
|
+
* is off-model (an impossible node asserts nothing), so it violates
|
|
77
|
+
* every gate — positive or negated — rather than passing silently.
|
|
78
|
+
*
|
|
79
|
+
* Conjunction boundary: ALL extracted gates are conjoined — every gate
|
|
80
|
+
* must hold. Multiple positive equality gates on the same
|
|
81
|
+
* subject-machine (`self.state = #ready or self.state = #measuring` in
|
|
82
|
+
* one check) are contradictory unless the machine allows simultaneous
|
|
83
|
+
* states, and are therefore permanently invalid — silently, by verdict
|
|
84
|
+
* only. Callers wanting OR semantics should use one gate per process,
|
|
85
|
+
* or the negated form (`self.state <> #fault`).
|
|
86
|
+
*/
|
|
87
|
+
function evaluateStateGate(machine, currentState, preconditions) {
|
|
88
|
+
const onModel = machine.states.some(s => s.name === currentState);
|
|
89
|
+
const violations = [];
|
|
90
|
+
for (const p of preconditions) {
|
|
91
|
+
for (const g of extractStateGates(p.check)) {
|
|
92
|
+
const holds = onModel &&
|
|
93
|
+
(g.positive ? currentState === g.state : currentState !== g.state);
|
|
94
|
+
if (!holds) {
|
|
95
|
+
violations.push({
|
|
96
|
+
preconditionId: p.id,
|
|
97
|
+
gate: g.state,
|
|
98
|
+
actual: currentState,
|
|
99
|
+
negated: !g.positive,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return { outcome: violations.length > 0 ? 'invalid' : 'ok', violations };
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Thrown when a step's `fires` cannot be taken: the machine declares no
|
|
108
|
+
* transition with that action name, or none is enabled from the current
|
|
109
|
+
* node. The linter (C37 state-fires-resolve) rules the first case out
|
|
110
|
+
* statically; the second is a genuine run-trace inconsistency (the trace
|
|
111
|
+
* claims a fire the machine could not take).
|
|
112
|
+
*/
|
|
113
|
+
class StateTrajectoryError extends Error {
|
|
114
|
+
constructor(message) {
|
|
115
|
+
super(message);
|
|
116
|
+
this.name = 'StateTrajectoryError';
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.StateTrajectoryError = StateTrajectoryError;
|
|
120
|
+
/**
|
|
121
|
+
* Fold a sequence of completed steps into the run's state trajectory.
|
|
122
|
+
*
|
|
123
|
+
* Starts from the machine's initial node (`initial.at` = the run's start
|
|
124
|
+
* timestamp — pass '' when the trace does not time the start) and takes
|
|
125
|
+
* one transition per step that declares `fires`: the transition named by
|
|
126
|
+
* its action, enabled when its `from` is the current node or the `*`
|
|
127
|
+
* wildcard. Steps without `fires` leave the machine where it is.
|
|
128
|
+
*
|
|
129
|
+
* Replay semantics, three boundaries:
|
|
130
|
+
* - Transition GUARDS are not evaluated during replay: this is trace
|
|
131
|
+
* semantics — the trace asserts the fire happened, so a recorded
|
|
132
|
+
* fire is taken, not re-judged.
|
|
133
|
+
* - An explicit `initial.state` the machine does not declare is NOT
|
|
134
|
+
* validated here — the C-rules cover the declaration side; replay
|
|
135
|
+
* starts from the node as given.
|
|
136
|
+
* - Same-action ambiguity (several transitions sharing one action,
|
|
137
|
+
* enabled from the current node) resolves by FIRST match in
|
|
138
|
+
* declaration order.
|
|
139
|
+
*/
|
|
140
|
+
function foldTrajectory(machine, initial, steps) {
|
|
141
|
+
let current = initial.state ?? machine.initialState;
|
|
142
|
+
const trajectory = [
|
|
143
|
+
{ state: current, at: initial.at, firedBy: '' },
|
|
144
|
+
];
|
|
145
|
+
for (const step of steps) {
|
|
146
|
+
if (!step.fires) {
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
const candidates = machine.transitions.filter(t => t.actionName === step.fires);
|
|
150
|
+
if (candidates.length === 0) {
|
|
151
|
+
throw new StateTrajectoryError(`step "${step.id}" fires "${step.fires}", which state machine "${machine.entityName}" does not declare as a transition action`);
|
|
152
|
+
}
|
|
153
|
+
const enabled = candidates.find(t => t.from === current || t.from === '*');
|
|
154
|
+
if (!enabled) {
|
|
155
|
+
throw new StateTrajectoryError(`step "${step.id}" fires "${step.fires}", but state machine "${machine.entityName}" is in state "${current}" — no such transition is enabled (from: ${candidates.map(t => t.from).join(', ')})`);
|
|
156
|
+
}
|
|
157
|
+
current = enabled.to;
|
|
158
|
+
trajectory.push({ state: current, at: step.at, firedBy: step.id });
|
|
159
|
+
}
|
|
160
|
+
return trajectory;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=operational-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operational-state.js","sourceRoot":"","sources":["../../src/operational-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type Standard from './types/Standard';
|
|
2
|
+
import type { ValidationIssue } from './validate';
|
|
3
|
+
import { type ResolvePackage } from './ser-des/package';
|
|
4
|
+
import { type MappingRecord } from './mapping-coverage';
|
|
5
|
+
import { type ClauseTextIndex, type ModelDiff, type ModelDiffOptions } from './model-diff';
|
|
6
|
+
export interface PackageDiffOptions extends ModelDiffOptions {
|
|
7
|
+
/** Package locator for `uses` composition (the check.mts --with map). */
|
|
8
|
+
resolvePackage?: ResolvePackage;
|
|
9
|
+
/**
|
|
10
|
+
* Also read `sources-prd/<part>.sentences.json` payloads on both sides
|
|
11
|
+
* and classify renumbered clauses as same-text / differed (the
|
|
12
|
+
* rewording detector). Off by default — structural drift needs none.
|
|
13
|
+
*/
|
|
14
|
+
compareTexts?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface PackageDiffResult {
|
|
17
|
+
diff: ModelDiff;
|
|
18
|
+
standardA: Standard;
|
|
19
|
+
standardB: Standard;
|
|
20
|
+
issuesA: ValidationIssue[];
|
|
21
|
+
issuesB: ValidationIssue[];
|
|
22
|
+
}
|
|
23
|
+
/** In-model map profiles + standalone .prm files in the package root —
|
|
24
|
+
* both serializations of the mapping primitive, diffed uniformly (the
|
|
25
|
+
* check.ts C21 discovery pattern). */
|
|
26
|
+
export declare function packageMappings(dir: string, standard: Standard): MappingRecord[];
|
|
27
|
+
/** Clause → text index over a package's sources-prd sentence payloads. */
|
|
28
|
+
export declare function packageClauseTexts(dir: string): ClauseTextIndex;
|
|
29
|
+
/**
|
|
30
|
+
* Diff two package directories — any two states of a package (working
|
|
31
|
+
* tree vs baseline, baseline vs baseline, edition vs edition). This is
|
|
32
|
+
* the change-audit entry point; the CLI (`primmel diff <a> <b>`) wires
|
|
33
|
+
* it into review flows.
|
|
34
|
+
*/
|
|
35
|
+
export declare function diffPackageDirs(dirA: string, dirB: string, options?: PackageDiffOptions): PackageDiffResult;
|
|
36
|
+
//# sourceMappingURL=package-diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-diff.d.ts","sourceRoot":"","sources":["../../src/package-diff.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,yEAAyE;IACzE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,QAAQ,CAAC;IACpB,SAAS,EAAE,QAAQ,CAAC;IACpB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED;;uCAEuC;AACvC,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,GACjB,aAAa,EAAE,CAejB;AAOD,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAmC/D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CAyBnB"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// Package-dir diff loading (TODO.roadmap/28) — the node side of the
|
|
4
|
+
// model diff: load two package directories, collect their standalone
|
|
5
|
+
// .prm mappings (the check.ts discovery pattern) and, on request, their
|
|
6
|
+
// sources-prd sentence payloads (the rewording classifier's input), then
|
|
7
|
+
// run the pure engine (model-diff.ts). Pure for testing: every I/O edge
|
|
8
|
+
// is this module's; diffStandards never touches the disk.
|
|
9
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.packageMappings = packageMappings;
|
|
12
|
+
exports.packageClauseTexts = packageClauseTexts;
|
|
13
|
+
exports.diffPackageDirs = diffPackageDirs;
|
|
14
|
+
const fs_1 = require("fs");
|
|
15
|
+
const path_1 = require("path");
|
|
16
|
+
const package_1 = require("./ser-des/package");
|
|
17
|
+
const prm_1 = require("./ser-des/prm");
|
|
18
|
+
const mapping_coverage_1 = require("./mapping-coverage");
|
|
19
|
+
const model_diff_1 = require("./model-diff");
|
|
20
|
+
/** In-model map profiles + standalone .prm files in the package root —
|
|
21
|
+
* both serializations of the mapping primitive, diffed uniformly (the
|
|
22
|
+
* check.ts C21 discovery pattern). */
|
|
23
|
+
function packageMappings(dir, standard) {
|
|
24
|
+
const profiles = [...(standard.mapProfiles ?? [])];
|
|
25
|
+
if ((0, fs_1.existsSync)(dir)) {
|
|
26
|
+
for (const entry of (0, fs_1.readdirSync)(dir).sort()) {
|
|
27
|
+
if (!entry.endsWith('.prm')) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
profiles.push(...(0, prm_1.prmToMapProfiles)((0, prm_1.loadPrm)((0, fs_1.readFileSync)((0, path_1.join)(dir, entry), 'utf8'))));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const modelId = standard.packageManifest?.id ?? standard.meta?.namespace ?? '';
|
|
34
|
+
return profiles.flatMap(p => (0, mapping_coverage_1.mappingsFromProfile)(p, modelId));
|
|
35
|
+
}
|
|
36
|
+
/** Clause → text index over a package's sources-prd sentence payloads. */
|
|
37
|
+
function packageClauseTexts(dir) {
|
|
38
|
+
const out = new Map();
|
|
39
|
+
const prdDir = (0, path_1.join)(dir, 'sources-prd');
|
|
40
|
+
if (!(0, fs_1.existsSync)(prdDir)) {
|
|
41
|
+
return out;
|
|
42
|
+
}
|
|
43
|
+
for (const entry of (0, fs_1.readdirSync)(prdDir).sort()) {
|
|
44
|
+
if (!entry.endsWith('.sentences.json')) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
let payload;
|
|
48
|
+
try {
|
|
49
|
+
payload = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(prdDir, entry), 'utf8'));
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
continue; // a malformed payload is not the diff's business
|
|
53
|
+
}
|
|
54
|
+
const urn = payload.document?.urn ?? '';
|
|
55
|
+
if (!urn) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
const basis = (0, model_diff_1.normalizeSourceRef)(urn, '').basis;
|
|
59
|
+
const byClause = new Map();
|
|
60
|
+
for (const s of payload.sentences ?? []) {
|
|
61
|
+
if (!s.clause || s.text === undefined) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
(byClause.get(s.clause) ?? byClause.set(s.clause, []).get(s.clause)).push(s.text);
|
|
65
|
+
}
|
|
66
|
+
for (const [clause, texts] of byClause) {
|
|
67
|
+
out.set((0, model_diff_1.clauseTextKey)(basis, clause), texts.join('\n'));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return out;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Diff two package directories — any two states of a package (working
|
|
74
|
+
* tree vs baseline, baseline vs baseline, edition vs edition). This is
|
|
75
|
+
* the change-audit entry point; the CLI (`primmel diff <a> <b>`) wires
|
|
76
|
+
* it into review flows.
|
|
77
|
+
*/
|
|
78
|
+
function diffPackageDirs(dirA, dirB, options = {}) {
|
|
79
|
+
const loadedA = (0, package_1.loadPackageWithIssues)(dirA, {
|
|
80
|
+
resolvePackage: options.resolvePackage,
|
|
81
|
+
});
|
|
82
|
+
const loadedB = (0, package_1.loadPackageWithIssues)(dirB, {
|
|
83
|
+
resolvePackage: options.resolvePackage,
|
|
84
|
+
});
|
|
85
|
+
const diff = (0, model_diff_1.diffStandards)(loadedA.standard, loadedB.standard, {
|
|
86
|
+
...options,
|
|
87
|
+
mappingsA: packageMappings(dirA, loadedA.standard),
|
|
88
|
+
mappingsB: packageMappings(dirB, loadedB.standard),
|
|
89
|
+
...(options.compareTexts
|
|
90
|
+
? {
|
|
91
|
+
sentencesA: packageClauseTexts(dirA),
|
|
92
|
+
sentencesB: packageClauseTexts(dirB),
|
|
93
|
+
}
|
|
94
|
+
: {}),
|
|
95
|
+
});
|
|
96
|
+
return {
|
|
97
|
+
diff,
|
|
98
|
+
standardA: loadedA.standard,
|
|
99
|
+
standardB: loadedB.standard,
|
|
100
|
+
issuesA: loadedA.issues,
|
|
101
|
+
issuesB: loadedB.issues,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=package-diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-diff.js","sourceRoot":"","sources":["../../src/package-diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type AcceptanceDecision from '../../types/Acceptance';
|
|
2
|
+
/** Parse the content of an `acceptance { … }` block. */
|
|
3
|
+
export declare function parseAcceptance(block: string): AcceptanceDecision;
|
|
4
|
+
/**
|
|
5
|
+
* Dump an acceptance decision as a single-line `acceptance { … }` block
|
|
6
|
+
* prefixed by `indent` (no trailing newline) — callers embed it in
|
|
7
|
+
* their own line layout.
|
|
8
|
+
*/
|
|
9
|
+
export declare function dumpAcceptance(a: AcceptanceDecision, indent: string): string;
|
|
10
|
+
//# sourceMappingURL=acceptance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acceptance.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/acceptance.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,kBAAkB,MAAM,wBAAwB,CAAC;AAQ7D,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAmGjE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAgC5E"}
|