@primmel/primmel 1.3.2 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/dist/index.d.ts +40 -4
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +112 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/check-allowlist.d.ts +56 -0
  6. package/dist/src/check-allowlist.d.ts.map +1 -0
  7. package/dist/src/check-allowlist.js +307 -0
  8. package/dist/src/check-allowlist.js.map +1 -0
  9. package/dist/src/check-rules.d.ts +17 -0
  10. package/dist/src/check-rules.d.ts.map +1 -0
  11. package/dist/src/check-rules.js +351 -0
  12. package/dist/src/check-rules.js.map +1 -0
  13. package/dist/src/check.d.ts +115 -0
  14. package/dist/src/check.d.ts.map +1 -0
  15. package/dist/src/check.js +4164 -0
  16. package/dist/src/check.js.map +1 -0
  17. package/dist/src/export/rdf-competency-questions.d.ts +11 -0
  18. package/dist/src/export/rdf-competency-questions.d.ts.map +1 -0
  19. package/dist/src/export/rdf-competency-questions.js +99 -0
  20. package/dist/src/export/rdf-competency-questions.js.map +1 -0
  21. package/dist/src/export/rdf-shapes.d.ts +3 -0
  22. package/dist/src/export/rdf-shapes.d.ts.map +1 -0
  23. package/dist/src/export/rdf-shapes.js +225 -0
  24. package/dist/src/export/rdf-shapes.js.map +1 -0
  25. package/dist/src/export/rdf-vocabulary.d.ts +125 -0
  26. package/dist/src/export/rdf-vocabulary.d.ts.map +1 -0
  27. package/dist/src/export/rdf-vocabulary.js +230 -0
  28. package/dist/src/export/rdf-vocabulary.js.map +1 -0
  29. package/dist/src/export/rdf.d.ts +92 -0
  30. package/dist/src/export/rdf.d.ts.map +1 -0
  31. package/dist/src/export/rdf.js +707 -0
  32. package/dist/src/export/rdf.js.map +1 -0
  33. package/dist/src/export/reqif.d.ts +81 -0
  34. package/dist/src/export/reqif.d.ts.map +1 -0
  35. package/dist/src/export/reqif.js +703 -0
  36. package/dist/src/export/reqif.js.map +1 -0
  37. package/dist/src/instance-resolution.d.ts +68 -0
  38. package/dist/src/instance-resolution.d.ts.map +1 -0
  39. package/dist/src/instance-resolution.js +239 -0
  40. package/dist/src/instance-resolution.js.map +1 -0
  41. package/dist/src/mapping-coverage.d.ts +220 -0
  42. package/dist/src/mapping-coverage.d.ts.map +1 -0
  43. package/dist/src/mapping-coverage.js +528 -0
  44. package/dist/src/mapping-coverage.js.map +1 -0
  45. package/dist/src/model-diff.d.ts +198 -0
  46. package/dist/src/model-diff.d.ts.map +1 -0
  47. package/dist/src/model-diff.js +914 -0
  48. package/dist/src/model-diff.js.map +1 -0
  49. package/dist/src/operational-state.d.ts +112 -0
  50. package/dist/src/operational-state.d.ts.map +1 -0
  51. package/dist/src/operational-state.js +162 -0
  52. package/dist/src/operational-state.js.map +1 -0
  53. package/dist/src/package-diff.d.ts +36 -0
  54. package/dist/src/package-diff.d.ts.map +1 -0
  55. package/dist/src/package-diff.js +104 -0
  56. package/dist/src/package-diff.js.map +1 -0
  57. package/dist/src/ser-des/config/acceptance.d.ts +10 -0
  58. package/dist/src/ser-des/config/acceptance.d.ts.map +1 -0
  59. package/dist/src/ser-des/config/acceptance.js +163 -0
  60. package/dist/src/ser-des/config/acceptance.js.map +1 -0
  61. package/dist/src/ser-des/config/activityArchetype.d.ts +5 -0
  62. package/dist/src/ser-des/config/activityArchetype.d.ts.map +1 -0
  63. package/dist/src/ser-des/config/activityArchetype.js +78 -0
  64. package/dist/src/ser-des/config/activityArchetype.js.map +1 -0
  65. package/dist/src/ser-des/config/artifact.d.ts +16 -0
  66. package/dist/src/ser-des/config/artifact.d.ts.map +1 -0
  67. package/dist/src/ser-des/config/artifact.js +392 -0
  68. package/dist/src/ser-des/config/artifact.js.map +1 -0
  69. package/dist/src/ser-des/config/calculation.d.ts.map +1 -1
  70. package/dist/src/ser-des/config/calculation.js +214 -12
  71. package/dist/src/ser-des/config/calculation.js.map +1 -1
  72. package/dist/src/ser-des/config/comment.d.ts +34 -0
  73. package/dist/src/ser-des/config/comment.d.ts.map +1 -0
  74. package/dist/src/ser-des/config/comment.js +121 -0
  75. package/dist/src/ser-des/config/comment.js.map +1 -0
  76. package/dist/src/ser-des/config/competenceKind.d.ts +8 -0
  77. package/dist/src/ser-des/config/competenceKind.d.ts.map +1 -0
  78. package/dist/src/ser-des/config/competenceKind.js +266 -0
  79. package/dist/src/ser-des/config/competenceKind.js.map +1 -0
  80. package/dist/src/ser-des/config/composition.d.ts +6 -0
  81. package/dist/src/ser-des/config/composition.d.ts.map +1 -0
  82. package/dist/src/ser-des/config/composition.js +165 -0
  83. package/dist/src/ser-des/config/composition.js.map +1 -0
  84. package/dist/src/ser-des/config/conformanceClass.d.ts +9 -0
  85. package/dist/src/ser-des/config/conformanceClass.d.ts.map +1 -0
  86. package/dist/src/ser-des/config/conformanceClass.js +128 -0
  87. package/dist/src/ser-des/config/conformanceClass.js.map +1 -0
  88. package/dist/src/ser-des/config/conformanceTest.d.ts +6 -0
  89. package/dist/src/ser-des/config/conformanceTest.d.ts.map +1 -0
  90. package/dist/src/ser-des/config/conformanceTest.js +929 -0
  91. package/dist/src/ser-des/config/conformanceTest.js.map +1 -0
  92. package/dist/src/ser-des/config/constraint.d.ts +5 -0
  93. package/dist/src/ser-des/config/constraint.d.ts.map +1 -0
  94. package/dist/src/ser-des/config/constraint.js +108 -0
  95. package/dist/src/ser-des/config/constraint.js.map +1 -0
  96. package/dist/src/ser-des/config/data.d.ts.map +1 -1
  97. package/dist/src/ser-des/config/data.js +105 -12
  98. package/dist/src/ser-des/config/data.js.map +1 -1
  99. package/dist/src/ser-des/config/design.d.ts +9 -0
  100. package/dist/src/ser-des/config/design.d.ts.map +1 -0
  101. package/dist/src/ser-des/config/design.js +847 -0
  102. package/dist/src/ser-des/config/design.js.map +1 -0
  103. package/dist/src/ser-des/config/discrepancyRecord.d.ts +5 -0
  104. package/dist/src/ser-des/config/discrepancyRecord.d.ts.map +1 -0
  105. package/dist/src/ser-des/config/discrepancyRecord.js +109 -0
  106. package/dist/src/ser-des/config/discrepancyRecord.js.map +1 -0
  107. package/dist/src/ser-des/config/dual.d.ts +9 -0
  108. package/dist/src/ser-des/config/dual.d.ts.map +1 -0
  109. package/dist/src/ser-des/config/dual.js +84 -0
  110. package/dist/src/ser-des/config/dual.js.map +1 -0
  111. package/dist/src/ser-des/config/field-parser.d.ts +92 -7
  112. package/dist/src/ser-des/config/field-parser.d.ts.map +1 -1
  113. package/dist/src/ser-des/config/field-parser.js +844 -29
  114. package/dist/src/ser-des/config/field-parser.js.map +1 -1
  115. package/dist/src/ser-des/config/form.d.ts.map +1 -1
  116. package/dist/src/ser-des/config/form.js +356 -134
  117. package/dist/src/ser-des/config/form.js.map +1 -1
  118. package/dist/src/ser-des/config/formulasUsed.d.ts +9 -0
  119. package/dist/src/ser-des/config/formulasUsed.d.ts.map +1 -0
  120. package/dist/src/ser-des/config/formulasUsed.js +126 -0
  121. package/dist/src/ser-des/config/formulasUsed.js.map +1 -0
  122. package/dist/src/ser-des/config/index.d.ts.map +1 -1
  123. package/dist/src/ser-des/config/index.js +180 -1
  124. package/dist/src/ser-des/config/index.js.map +1 -1
  125. package/dist/src/ser-des/config/instance.d.ts +22 -0
  126. package/dist/src/ser-des/config/instance.d.ts.map +1 -0
  127. package/dist/src/ser-des/config/instance.js +266 -0
  128. package/dist/src/ser-des/config/instance.js.map +1 -0
  129. package/dist/src/ser-des/config/invariant.d.ts +9 -0
  130. package/dist/src/ser-des/config/invariant.d.ts.map +1 -0
  131. package/dist/src/ser-des/config/invariant.js +143 -0
  132. package/dist/src/ser-des/config/invariant.js.map +1 -0
  133. package/dist/src/ser-des/config/mapProfile.d.ts.map +1 -1
  134. package/dist/src/ser-des/config/mapProfile.js +199 -14
  135. package/dist/src/ser-des/config/mapProfile.js.map +1 -1
  136. package/dist/src/ser-des/config/metadata.js +6 -6
  137. package/dist/src/ser-des/config/metadata.js.map +1 -1
  138. package/dist/src/ser-des/config/monitor.d.ts +9 -0
  139. package/dist/src/ser-des/config/monitor.d.ts.map +1 -0
  140. package/dist/src/ser-des/config/monitor.js +322 -0
  141. package/dist/src/ser-des/config/monitor.js.map +1 -0
  142. package/dist/src/ser-des/config/note.d.ts.map +1 -1
  143. package/dist/src/ser-des/config/note.js +16 -1
  144. package/dist/src/ser-des/config/note.js.map +1 -1
  145. package/dist/src/ser-des/config/packageManifest.d.ts +5 -0
  146. package/dist/src/ser-des/config/packageManifest.d.ts.map +1 -0
  147. package/dist/src/ser-des/config/packageManifest.js +349 -0
  148. package/dist/src/ser-des/config/packageManifest.js.map +1 -0
  149. package/dist/src/ser-des/config/passport.d.ts +9 -0
  150. package/dist/src/ser-des/config/passport.d.ts.map +1 -0
  151. package/dist/src/ser-des/config/passport.js +191 -0
  152. package/dist/src/ser-des/config/passport.js.map +1 -0
  153. package/dist/src/ser-des/config/process.d.ts +5 -3
  154. package/dist/src/ser-des/config/process.d.ts.map +1 -1
  155. package/dist/src/ser-des/config/process.js +915 -8
  156. package/dist/src/ser-des/config/process.js.map +1 -1
  157. package/dist/src/ser-des/config/quantity.d.ts +21 -0
  158. package/dist/src/ser-des/config/quantity.d.ts.map +1 -0
  159. package/dist/src/ser-des/config/quantity.js +114 -0
  160. package/dist/src/ser-des/config/quantity.js.map +1 -0
  161. package/dist/src/ser-des/config/quantityRegister.d.ts +9 -0
  162. package/dist/src/ser-des/config/quantityRegister.d.ts.map +1 -0
  163. package/dist/src/ser-des/config/quantityRegister.js +202 -0
  164. package/dist/src/ser-des/config/quantityRegister.js.map +1 -0
  165. package/dist/src/ser-des/config/reference.d.ts.map +1 -1
  166. package/dist/src/ser-des/config/reference.js +6 -0
  167. package/dist/src/ser-des/config/reference.js.map +1 -1
  168. package/dist/src/ser-des/config/referenceMaterial.d.ts +5 -0
  169. package/dist/src/ser-des/config/referenceMaterial.d.ts.map +1 -0
  170. package/dist/src/ser-des/config/referenceMaterial.js +296 -0
  171. package/dist/src/ser-des/config/referenceMaterial.js.map +1 -0
  172. package/dist/src/ser-des/config/requirement.d.ts +16 -0
  173. package/dist/src/ser-des/config/requirement.d.ts.map +1 -0
  174. package/dist/src/ser-des/config/requirement.js +579 -0
  175. package/dist/src/ser-des/config/requirement.js.map +1 -0
  176. package/dist/src/ser-des/config/role.d.ts.map +1 -1
  177. package/dist/src/ser-des/config/role.js +12 -0
  178. package/dist/src/ser-des/config/role.js.map +1 -1
  179. package/dist/src/ser-des/config/series.d.ts +9 -0
  180. package/dist/src/ser-des/config/series.d.ts.map +1 -0
  181. package/dist/src/ser-des/config/series.js +121 -0
  182. package/dist/src/ser-des/config/series.js.map +1 -0
  183. package/dist/src/ser-des/config/sourceDiscrepancy.d.ts +11 -0
  184. package/dist/src/ser-des/config/sourceDiscrepancy.d.ts.map +1 -0
  185. package/dist/src/ser-des/config/sourceDiscrepancy.js +83 -0
  186. package/dist/src/ser-des/config/sourceDiscrepancy.js.map +1 -0
  187. package/dist/src/ser-des/config/stateMachine.d.ts.map +1 -1
  188. package/dist/src/ser-des/config/stateMachine.js +189 -38
  189. package/dist/src/ser-des/config/stateMachine.js.map +1 -1
  190. package/dist/src/ser-des/config/subform.d.ts.map +1 -1
  191. package/dist/src/ser-des/config/subform.js +25 -33
  192. package/dist/src/ser-des/config/subform.js.map +1 -1
  193. package/dist/src/ser-des/config/subject.d.ts +58 -0
  194. package/dist/src/ser-des/config/subject.d.ts.map +1 -0
  195. package/dist/src/ser-des/config/subject.js +2093 -0
  196. package/dist/src/ser-des/config/subject.js.map +1 -0
  197. package/dist/src/ser-des/config/symbol.d.ts.map +1 -1
  198. package/dist/src/ser-des/config/symbol.js +130 -6
  199. package/dist/src/ser-des/config/symbol.js.map +1 -1
  200. package/dist/src/ser-des/config/table.d.ts.map +1 -1
  201. package/dist/src/ser-des/config/table.js +373 -7
  202. package/dist/src/ser-des/config/table.js.map +1 -1
  203. package/dist/src/ser-des/config/term.d.ts.map +1 -1
  204. package/dist/src/ser-des/config/term.js +107 -0
  205. package/dist/src/ser-des/config/term.js.map +1 -1
  206. package/dist/src/ser-des/config/testPointSet.d.ts +5 -0
  207. package/dist/src/ser-des/config/testPointSet.d.ts.map +1 -0
  208. package/dist/src/ser-des/config/testPointSet.js +199 -0
  209. package/dist/src/ser-des/config/testPointSet.js.map +1 -0
  210. package/dist/src/ser-des/config/testSequence.d.ts +9 -0
  211. package/dist/src/ser-des/config/testSequence.d.ts.map +1 -0
  212. package/dist/src/ser-des/config/testSequence.js +206 -0
  213. package/dist/src/ser-des/config/testSequence.js.map +1 -0
  214. package/dist/src/ser-des/config/text.d.ts +5 -0
  215. package/dist/src/ser-des/config/text.d.ts.map +1 -0
  216. package/dist/src/ser-des/config/text.js +106 -0
  217. package/dist/src/ser-des/config/text.js.map +1 -0
  218. package/dist/src/ser-des/config/twin.d.ts +31 -0
  219. package/dist/src/ser-des/config/twin.d.ts.map +1 -0
  220. package/dist/src/ser-des/config/twin.js +362 -0
  221. package/dist/src/ser-des/config/twin.js.map +1 -0
  222. package/dist/src/ser-des/config/verdict.d.ts +5 -0
  223. package/dist/src/ser-des/config/verdict.d.ts.map +1 -0
  224. package/dist/src/ser-des/config/verdict.js +159 -0
  225. package/dist/src/ser-des/config/verdict.js.map +1 -0
  226. package/dist/src/ser-des/config/viewProfile.d.ts.map +1 -1
  227. package/dist/src/ser-des/config/viewProfile.js +7 -0
  228. package/dist/src/ser-des/config/viewProfile.js.map +1 -1
  229. package/dist/src/ser-des/includes.d.ts.map +1 -1
  230. package/dist/src/ser-des/includes.js +5 -2
  231. package/dist/src/ser-des/includes.js.map +1 -1
  232. package/dist/src/ser-des/index.d.ts +12 -0
  233. package/dist/src/ser-des/index.d.ts.map +1 -1
  234. package/dist/src/ser-des/index.js +42 -0
  235. package/dist/src/ser-des/index.js.map +1 -1
  236. package/dist/src/ser-des/package.d.ts +53 -0
  237. package/dist/src/ser-des/package.d.ts.map +1 -0
  238. package/dist/src/ser-des/package.js +404 -0
  239. package/dist/src/ser-des/package.js.map +1 -0
  240. package/dist/src/ser-des/parse-block.d.ts.map +1 -1
  241. package/dist/src/ser-des/parse-block.js +7 -1
  242. package/dist/src/ser-des/parse-block.js.map +1 -1
  243. package/dist/src/ser-des/parse.d.ts.map +1 -1
  244. package/dist/src/ser-des/parse.js +45 -0
  245. package/dist/src/ser-des/parse.js.map +1 -1
  246. package/dist/src/ser-des/prm.d.ts +53 -0
  247. package/dist/src/ser-des/prm.d.ts.map +1 -0
  248. package/dist/src/ser-des/prm.js +257 -0
  249. package/dist/src/ser-des/prm.js.map +1 -0
  250. package/dist/src/ser-des/resolve.d.ts.map +1 -1
  251. package/dist/src/ser-des/resolve.js +1 -0
  252. package/dist/src/ser-des/resolve.js.map +1 -1
  253. package/dist/src/ser-des/tokenize.d.ts +11 -0
  254. package/dist/src/ser-des/tokenize.d.ts.map +1 -1
  255. package/dist/src/ser-des/tokenize.js +28 -1
  256. package/dist/src/ser-des/tokenize.js.map +1 -1
  257. package/dist/src/ser-des/types.d.ts +56 -1
  258. package/dist/src/ser-des/types.d.ts.map +1 -1
  259. package/dist/src/spelling.d.ts +35 -0
  260. package/dist/src/spelling.d.ts.map +1 -0
  261. package/dist/src/spelling.js +140 -0
  262. package/dist/src/spelling.js.map +1 -0
  263. package/dist/src/text-coverage.d.ts +164 -0
  264. package/dist/src/text-coverage.d.ts.map +1 -0
  265. package/dist/src/text-coverage.js +679 -0
  266. package/dist/src/text-coverage.js.map +1 -0
  267. package/dist/src/time.d.ts +55 -0
  268. package/dist/src/time.d.ts.map +1 -0
  269. package/dist/src/time.js +223 -0
  270. package/dist/src/time.js.map +1 -0
  271. package/dist/src/type-expr.d.ts +31 -0
  272. package/dist/src/type-expr.d.ts.map +1 -0
  273. package/dist/src/type-expr.js +110 -0
  274. package/dist/src/type-expr.js.map +1 -0
  275. package/dist/src/types/Acceptance.d.ts +31 -0
  276. package/dist/src/types/Acceptance.d.ts.map +1 -0
  277. package/dist/src/types/Acceptance.js +12 -0
  278. package/dist/src/types/Acceptance.js.map +1 -0
  279. package/dist/src/types/ActivityArchetype.d.ts +14 -0
  280. package/dist/src/types/ActivityArchetype.d.ts.map +1 -0
  281. package/dist/src/types/ActivityArchetype.js +17 -0
  282. package/dist/src/types/ActivityArchetype.js.map +1 -0
  283. package/dist/src/types/Artifact.d.ts +117 -0
  284. package/dist/src/types/Artifact.d.ts.map +1 -0
  285. package/dist/src/types/Artifact.js +35 -0
  286. package/dist/src/types/Artifact.js.map +1 -0
  287. package/dist/src/types/Calculation.d.ts +49 -0
  288. package/dist/src/types/Calculation.d.ts.map +1 -1
  289. package/dist/src/types/Comment.d.ts +23 -0
  290. package/dist/src/types/Comment.d.ts.map +1 -0
  291. package/dist/src/types/Comment.js +3 -0
  292. package/dist/src/types/Comment.js.map +1 -0
  293. package/dist/src/types/CompetenceKind.d.ts +70 -0
  294. package/dist/src/types/CompetenceKind.d.ts.map +1 -0
  295. package/dist/src/types/CompetenceKind.js +3 -0
  296. package/dist/src/types/CompetenceKind.js.map +1 -0
  297. package/dist/src/types/Composition.d.ts +80 -0
  298. package/dist/src/types/Composition.d.ts.map +1 -0
  299. package/dist/src/types/Composition.js +44 -0
  300. package/dist/src/types/Composition.js.map +1 -0
  301. package/dist/src/types/ConformanceClass.d.ts +22 -0
  302. package/dist/src/types/ConformanceClass.d.ts.map +1 -0
  303. package/dist/src/types/ConformanceClass.js +7 -0
  304. package/dist/src/types/ConformanceClass.js.map +1 -0
  305. package/dist/src/types/ConformanceTest.d.ts +206 -0
  306. package/dist/src/types/ConformanceTest.d.ts.map +1 -0
  307. package/dist/src/types/ConformanceTest.js +3 -0
  308. package/dist/src/types/ConformanceTest.js.map +1 -0
  309. package/dist/src/types/Constraint.d.ts +34 -0
  310. package/dist/src/types/Constraint.d.ts.map +1 -0
  311. package/dist/src/types/Constraint.js +3 -0
  312. package/dist/src/types/Constraint.js.map +1 -0
  313. package/dist/src/types/Design.d.ts +147 -0
  314. package/dist/src/types/Design.d.ts.map +1 -0
  315. package/dist/src/types/Design.js +10 -0
  316. package/dist/src/types/Design.js.map +1 -0
  317. package/dist/src/types/DiscrepancyRecord.d.ts +42 -0
  318. package/dist/src/types/DiscrepancyRecord.d.ts.map +1 -0
  319. package/dist/src/types/DiscrepancyRecord.js +3 -0
  320. package/dist/src/types/DiscrepancyRecord.js.map +1 -0
  321. package/dist/src/types/Form.d.ts +132 -1
  322. package/dist/src/types/Form.d.ts.map +1 -1
  323. package/dist/src/types/FormulasUsed.d.ts +95 -0
  324. package/dist/src/types/FormulasUsed.d.ts.map +1 -0
  325. package/dist/src/types/FormulasUsed.js +64 -0
  326. package/dist/src/types/FormulasUsed.js.map +1 -0
  327. package/dist/src/types/Instance.d.ts +105 -0
  328. package/dist/src/types/Instance.d.ts.map +1 -0
  329. package/dist/src/types/Instance.js +40 -0
  330. package/dist/src/types/Instance.js.map +1 -0
  331. package/dist/src/types/Invariant.d.ts +82 -0
  332. package/dist/src/types/Invariant.d.ts.map +1 -0
  333. package/dist/src/types/Invariant.js +50 -0
  334. package/dist/src/types/Invariant.js.map +1 -0
  335. package/dist/src/types/MapProfile.d.ts +36 -1
  336. package/dist/src/types/MapProfile.d.ts.map +1 -1
  337. package/dist/src/types/Monitor.d.ts +144 -0
  338. package/dist/src/types/Monitor.d.ts.map +1 -0
  339. package/dist/src/types/Monitor.js +74 -0
  340. package/dist/src/types/Monitor.js.map +1 -0
  341. package/dist/src/types/Note.d.ts +4 -1
  342. package/dist/src/types/Note.d.ts.map +1 -1
  343. package/dist/src/types/Package.d.ts +161 -0
  344. package/dist/src/types/Package.d.ts.map +1 -0
  345. package/dist/src/types/Package.js +3 -0
  346. package/dist/src/types/Package.js.map +1 -0
  347. package/dist/src/types/Passport.d.ts +125 -0
  348. package/dist/src/types/Passport.d.ts.map +1 -0
  349. package/dist/src/types/Passport.js +84 -0
  350. package/dist/src/types/Passport.js.map +1 -0
  351. package/dist/src/types/Quantity.d.ts +99 -0
  352. package/dist/src/types/Quantity.d.ts.map +1 -0
  353. package/dist/src/types/Quantity.js +24 -0
  354. package/dist/src/types/Quantity.js.map +1 -0
  355. package/dist/src/types/Reference.d.ts +2 -0
  356. package/dist/src/types/Reference.d.ts.map +1 -1
  357. package/dist/src/types/ReferenceMaterial.d.ts +53 -0
  358. package/dist/src/types/ReferenceMaterial.d.ts.map +1 -0
  359. package/dist/src/types/ReferenceMaterial.js +14 -0
  360. package/dist/src/types/ReferenceMaterial.js.map +1 -0
  361. package/dist/src/types/Requirement.d.ts +111 -0
  362. package/dist/src/types/Requirement.d.ts.map +1 -0
  363. package/dist/src/types/Requirement.js +10 -0
  364. package/dist/src/types/Requirement.js.map +1 -0
  365. package/dist/src/types/Role.d.ts +4 -0
  366. package/dist/src/types/Role.d.ts.map +1 -1
  367. package/dist/src/types/Series.d.ts +31 -0
  368. package/dist/src/types/Series.d.ts.map +1 -0
  369. package/dist/src/types/Series.js +14 -0
  370. package/dist/src/types/Series.js.map +1 -0
  371. package/dist/src/types/SourceDiscrepancy.d.ts +21 -0
  372. package/dist/src/types/SourceDiscrepancy.d.ts.map +1 -0
  373. package/dist/src/types/SourceDiscrepancy.js +13 -0
  374. package/dist/src/types/SourceDiscrepancy.js.map +1 -0
  375. package/dist/src/types/Standard.d.ts +68 -0
  376. package/dist/src/types/Standard.d.ts.map +1 -1
  377. package/dist/src/types/StateMachine.d.ts +43 -0
  378. package/dist/src/types/StateMachine.d.ts.map +1 -1
  379. package/dist/src/types/StateMachine.js +7 -0
  380. package/dist/src/types/StateMachine.js.map +1 -1
  381. package/dist/src/types/Subject.d.ts +432 -0
  382. package/dist/src/types/Subject.d.ts.map +1 -0
  383. package/dist/src/types/Subject.js +13 -0
  384. package/dist/src/types/Subject.js.map +1 -0
  385. package/dist/src/types/Symbol.d.ts +31 -1
  386. package/dist/src/types/Symbol.d.ts.map +1 -1
  387. package/dist/src/types/Table.d.ts +43 -0
  388. package/dist/src/types/Table.d.ts.map +1 -1
  389. package/dist/src/types/Term.d.ts +29 -0
  390. package/dist/src/types/Term.d.ts.map +1 -1
  391. package/dist/src/types/TestPointSet.d.ts +33 -0
  392. package/dist/src/types/TestPointSet.d.ts.map +1 -0
  393. package/dist/src/types/TestPointSet.js +11 -0
  394. package/dist/src/types/TestPointSet.js.map +1 -0
  395. package/dist/src/types/TestSequence.d.ts +105 -0
  396. package/dist/src/types/TestSequence.d.ts.map +1 -0
  397. package/dist/src/types/TestSequence.js +65 -0
  398. package/dist/src/types/TestSequence.js.map +1 -0
  399. package/dist/src/types/Text.d.ts +21 -0
  400. package/dist/src/types/Text.d.ts.map +1 -0
  401. package/dist/src/types/Text.js +38 -0
  402. package/dist/src/types/Text.js.map +1 -0
  403. package/dist/src/types/Time.d.ts +43 -0
  404. package/dist/src/types/Time.d.ts.map +1 -0
  405. package/dist/src/types/Time.js +14 -0
  406. package/dist/src/types/Time.js.map +1 -0
  407. package/dist/src/types/Twin.d.ts +155 -0
  408. package/dist/src/types/Twin.d.ts.map +1 -0
  409. package/dist/src/types/Twin.js +102 -0
  410. package/dist/src/types/Twin.js.map +1 -0
  411. package/dist/src/types/Verdict.d.ts +40 -0
  412. package/dist/src/types/Verdict.d.ts.map +1 -0
  413. package/dist/src/types/Verdict.js +14 -0
  414. package/dist/src/types/Verdict.js.map +1 -0
  415. package/dist/src/types/ViewProfile.d.ts +6 -0
  416. package/dist/src/types/ViewProfile.d.ts.map +1 -1
  417. package/dist/src/types/data.d.ts +27 -0
  418. package/dist/src/types/data.d.ts.map +1 -1
  419. package/dist/src/types/process.d.ts +231 -0
  420. package/dist/src/types/process.d.ts.map +1 -1
  421. package/dist-browser/index.mjs +6699 -661
  422. package/dist-cli/primmel.mjs +21462 -0
  423. 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"}