@primmel/primmel 1.6.1 → 1.8.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.
Files changed (165) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +4 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/check-rules.d.ts +1 -1
  6. package/dist/src/check-rules.d.ts.map +1 -1
  7. package/dist/src/check-rules.js +24 -2
  8. package/dist/src/check-rules.js.map +1 -1
  9. package/dist/src/check.d.ts.map +1 -1
  10. package/dist/src/check.js +204 -0
  11. package/dist/src/check.js.map +1 -1
  12. package/dist/src/ser-des/config/artifact.d.ts.map +1 -1
  13. package/dist/src/ser-des/config/artifact.js +8 -0
  14. package/dist/src/ser-des/config/artifact.js.map +1 -1
  15. package/dist/src/ser-des/config/calculation.d.ts.map +1 -1
  16. package/dist/src/ser-des/config/calculation.js +9 -0
  17. package/dist/src/ser-des/config/calculation.js.map +1 -1
  18. package/dist/src/ser-des/config/competenceKind.d.ts.map +1 -1
  19. package/dist/src/ser-des/config/competenceKind.js +10 -1
  20. package/dist/src/ser-des/config/competenceKind.js.map +1 -1
  21. package/dist/src/ser-des/config/conformanceTest.d.ts.map +1 -1
  22. package/dist/src/ser-des/config/conformanceTest.js +6 -0
  23. package/dist/src/ser-des/config/conformanceTest.js.map +1 -1
  24. package/dist/src/ser-des/config/constraint.d.ts.map +1 -1
  25. package/dist/src/ser-des/config/constraint.js +10 -1
  26. package/dist/src/ser-des/config/constraint.js.map +1 -1
  27. package/dist/src/ser-des/config/correspondence.d.ts +19 -0
  28. package/dist/src/ser-des/config/correspondence.d.ts.map +1 -0
  29. package/dist/src/ser-des/config/correspondence.js +107 -0
  30. package/dist/src/ser-des/config/correspondence.js.map +1 -0
  31. package/dist/src/ser-des/config/data.d.ts.map +1 -1
  32. package/dist/src/ser-des/config/data.js +4 -2
  33. package/dist/src/ser-des/config/data.js.map +1 -1
  34. package/dist/src/ser-des/config/dataspace.d.ts +9 -0
  35. package/dist/src/ser-des/config/dataspace.d.ts.map +1 -0
  36. package/dist/src/ser-des/config/dataspace.js +269 -0
  37. package/dist/src/ser-des/config/dataspace.js.map +1 -0
  38. package/dist/src/ser-des/config/field-parser.d.ts.map +1 -1
  39. package/dist/src/ser-des/config/field-parser.js +11 -0
  40. package/dist/src/ser-des/config/field-parser.js.map +1 -1
  41. package/dist/src/ser-des/config/form.d.ts.map +1 -1
  42. package/dist/src/ser-des/config/form.js +8 -0
  43. package/dist/src/ser-des/config/form.js.map +1 -1
  44. package/dist/src/ser-des/config/formulasUsed.d.ts.map +1 -1
  45. package/dist/src/ser-des/config/formulasUsed.js +6 -0
  46. package/dist/src/ser-des/config/formulasUsed.js.map +1 -1
  47. package/dist/src/ser-des/config/index.d.ts.map +1 -1
  48. package/dist/src/ser-des/config/index.js +10 -0
  49. package/dist/src/ser-des/config/index.js.map +1 -1
  50. package/dist/src/ser-des/config/packageManifest.d.ts.map +1 -1
  51. package/dist/src/ser-des/config/packageManifest.js +10 -0
  52. package/dist/src/ser-des/config/packageManifest.js.map +1 -1
  53. package/dist/src/ser-des/config/policy.d.ts +9 -0
  54. package/dist/src/ser-des/config/policy.d.ts.map +1 -0
  55. package/dist/src/ser-des/config/policy.js +192 -0
  56. package/dist/src/ser-des/config/policy.js.map +1 -0
  57. package/dist/src/ser-des/config/process.d.ts.map +1 -1
  58. package/dist/src/ser-des/config/process.js +6 -0
  59. package/dist/src/ser-des/config/process.js.map +1 -1
  60. package/dist/src/ser-des/config/referenceMaterial.d.ts.map +1 -1
  61. package/dist/src/ser-des/config/referenceMaterial.js +6 -0
  62. package/dist/src/ser-des/config/referenceMaterial.js.map +1 -1
  63. package/dist/src/ser-des/config/requirement.d.ts.map +1 -1
  64. package/dist/src/ser-des/config/requirement.js +8 -0
  65. package/dist/src/ser-des/config/requirement.js.map +1 -1
  66. package/dist/src/ser-des/config/subject.d.ts.map +1 -1
  67. package/dist/src/ser-des/config/subject.js +37 -0
  68. package/dist/src/ser-des/config/subject.js.map +1 -1
  69. package/dist/src/ser-des/config/symbol.d.ts.map +1 -1
  70. package/dist/src/ser-des/config/symbol.js +10 -2
  71. package/dist/src/ser-des/config/symbol.js.map +1 -1
  72. package/dist/src/ser-des/config/table.d.ts.map +1 -1
  73. package/dist/src/ser-des/config/table.js +10 -1
  74. package/dist/src/ser-des/config/table.js.map +1 -1
  75. package/dist/src/ser-des/config/term.d.ts.map +1 -1
  76. package/dist/src/ser-des/config/term.js +9 -0
  77. package/dist/src/ser-des/config/term.js.map +1 -1
  78. package/dist/src/ser-des/config/testPointSet.d.ts.map +1 -1
  79. package/dist/src/ser-des/config/testPointSet.js +6 -0
  80. package/dist/src/ser-des/config/testPointSet.js.map +1 -1
  81. package/dist/src/ser-des/config/testSequence.d.ts.map +1 -1
  82. package/dist/src/ser-des/config/testSequence.js +8 -0
  83. package/dist/src/ser-des/config/testSequence.js.map +1 -1
  84. package/dist/src/ser-des/config/trustRef.d.ts +13 -0
  85. package/dist/src/ser-des/config/trustRef.d.ts.map +1 -0
  86. package/dist/src/ser-des/config/trustRef.js +51 -0
  87. package/dist/src/ser-des/config/trustRef.js.map +1 -0
  88. package/dist/src/ser-des/config/verdict.d.ts.map +1 -1
  89. package/dist/src/ser-des/config/verdict.js +7 -0
  90. package/dist/src/ser-des/config/verdict.js.map +1 -1
  91. package/dist/src/ser-des/index.d.ts +1 -1
  92. package/dist/src/ser-des/index.d.ts.map +1 -1
  93. package/dist/src/ser-des/index.js +3 -1
  94. package/dist/src/ser-des/index.js.map +1 -1
  95. package/dist/src/ser-des/package.d.ts +68 -0
  96. package/dist/src/ser-des/package.d.ts.map +1 -1
  97. package/dist/src/ser-des/package.js +155 -23
  98. package/dist/src/ser-des/package.js.map +1 -1
  99. package/dist/src/ser-des/parse-block.d.ts +9 -6
  100. package/dist/src/ser-des/parse-block.d.ts.map +1 -1
  101. package/dist/src/ser-des/parse-block.js +50 -21
  102. package/dist/src/ser-des/parse-block.js.map +1 -1
  103. package/dist/src/ser-des/parse.d.ts +8 -0
  104. package/dist/src/ser-des/parse.d.ts.map +1 -1
  105. package/dist/src/ser-des/parse.js +28 -0
  106. package/dist/src/ser-des/parse.js.map +1 -1
  107. package/dist/src/ser-des/types.d.ts +19 -0
  108. package/dist/src/ser-des/types.d.ts.map +1 -1
  109. package/dist/src/types/Artifact.d.ts +2 -0
  110. package/dist/src/types/Artifact.d.ts.map +1 -1
  111. package/dist/src/types/Calculation.d.ts +2 -0
  112. package/dist/src/types/Calculation.d.ts.map +1 -1
  113. package/dist/src/types/CompetenceKind.d.ts +2 -0
  114. package/dist/src/types/CompetenceKind.d.ts.map +1 -1
  115. package/dist/src/types/ConformanceTest.d.ts +2 -0
  116. package/dist/src/types/ConformanceTest.d.ts.map +1 -1
  117. package/dist/src/types/Constraint.d.ts +2 -0
  118. package/dist/src/types/Constraint.d.ts.map +1 -1
  119. package/dist/src/types/Correspondence.d.ts +27 -0
  120. package/dist/src/types/Correspondence.d.ts.map +1 -0
  121. package/dist/src/types/Correspondence.js +23 -0
  122. package/dist/src/types/Correspondence.js.map +1 -0
  123. package/dist/src/types/Dataspace.d.ts +60 -0
  124. package/dist/src/types/Dataspace.d.ts.map +1 -0
  125. package/dist/src/types/Dataspace.js +36 -0
  126. package/dist/src/types/Dataspace.js.map +1 -0
  127. package/dist/src/types/Form.d.ts +5 -0
  128. package/dist/src/types/Form.d.ts.map +1 -1
  129. package/dist/src/types/FormulasUsed.d.ts +2 -0
  130. package/dist/src/types/FormulasUsed.d.ts.map +1 -1
  131. package/dist/src/types/Package.d.ts +4 -0
  132. package/dist/src/types/Package.d.ts.map +1 -1
  133. package/dist/src/types/Policy.d.ts +40 -0
  134. package/dist/src/types/Policy.d.ts.map +1 -0
  135. package/dist/src/types/Policy.js +48 -0
  136. package/dist/src/types/Policy.js.map +1 -0
  137. package/dist/src/types/ReferenceMaterial.d.ts +2 -0
  138. package/dist/src/types/ReferenceMaterial.d.ts.map +1 -1
  139. package/dist/src/types/Requirement.d.ts +2 -0
  140. package/dist/src/types/Requirement.d.ts.map +1 -1
  141. package/dist/src/types/Standard.d.ts +4 -0
  142. package/dist/src/types/Standard.d.ts.map +1 -1
  143. package/dist/src/types/Subject.d.ts +11 -0
  144. package/dist/src/types/Subject.d.ts.map +1 -1
  145. package/dist/src/types/Symbol.d.ts +2 -0
  146. package/dist/src/types/Symbol.d.ts.map +1 -1
  147. package/dist/src/types/Table.d.ts +4 -0
  148. package/dist/src/types/Table.d.ts.map +1 -1
  149. package/dist/src/types/Term.d.ts +2 -0
  150. package/dist/src/types/Term.d.ts.map +1 -1
  151. package/dist/src/types/TestPointSet.d.ts +2 -0
  152. package/dist/src/types/TestPointSet.d.ts.map +1 -1
  153. package/dist/src/types/TestSequence.d.ts +2 -0
  154. package/dist/src/types/TestSequence.d.ts.map +1 -1
  155. package/dist/src/types/TrustRef.d.ts +10 -0
  156. package/dist/src/types/TrustRef.d.ts.map +1 -0
  157. package/dist/src/types/TrustRef.js +28 -0
  158. package/dist/src/types/TrustRef.js.map +1 -0
  159. package/dist/src/types/Verdict.d.ts +2 -0
  160. package/dist/src/types/Verdict.d.ts.map +1 -1
  161. package/dist/src/types/process.d.ts +2 -0
  162. package/dist/src/types/process.d.ts.map +1 -1
  163. package/dist-browser/index.mjs +1691 -1274
  164. package/dist-cli/primmel.mjs +1144 -31
  165. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ser-des/index.ts"],"names":[],"mappings":";;;AAkCA,oBAGC;AAQD,wCAOC;AAMD,4BAMC;AAKD,gDAMC;AAED,oBAEC;AAyBD,4BAEC;AAzGD,mCAA4B;AAE5B,uCAAgC;AAChC,iCAA2B;AAC3B,qCAAyE;AACzE,yCAAgD;AAChD,0CAKqB;AAerB;;;;;;GAMG;AACH,SAAgB,IAAI,CAAC,UAAkB,EAAE,UAAuB,EAAE;IAChE,MAAM,OAAO,GAAG,IAAA,eAAK,EAAC,UAAU,EAAE,sBAAa,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,IAAA,iBAAO,EAAC,OAAO,EAAE,wBAAe,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,UAAkB,EAClB,UAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,IAAA,eAAK,EAAC,UAAU,EAAE,sBAAa,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,OAAO,EAAE,wBAAe,CAAC,CAAC;IACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CACtB,QAAgB,EAChB,UAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,IAAA,6BAAkB,EAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,QAAgB,EAChB,UAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,IAAA,6BAAkB,EAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,IAAI,CAAC,QAAkB;IACrC,OAAO,IAAA,cAAK,EAAC,QAAQ,EAAE,sBAAa,CAAC,CAAC;AACxC,CAAC;AAED,qCAWmB;AAVjB,sGAAA,WAAW,OAAA;AACX,gHAAA,qBAAqB,OAAA;AACrB,uGAAA,YAAY,OAAA;AACZ,wGAAA,aAAa,OAAA;AACb,8GAAA,mBAAmB,OAAA;AACnB,2GAAA,gBAAgB,OAAA;AAMlB,4DAAuD;AAA9C,8GAAA,WAAW,OAAA;AACpB,6BAQe;AAPb,8FAAA,OAAO,OAAA;AACP,8FAAA,OAAO,OAAA;AACP,uGAAA,gBAAgB,OAAA;AAChB,uGAAA,gBAAgB,OAAA;AAMlB,SAAgB,QAAQ,CAAC,QAAkB;IACzC,OAAO,IAAA,mBAAS,EAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAMD,qEAAqE;AACrE,oEAAoE;AACpE,qEAAqE;AACrE,oDAAoD;AACpD,0CAKsB;AAJpB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,gHAAA,mBAAmB,OAAA;AAGrB,wDAqB6B;AApB3B,kHAAA,cAAc,OAAA;AACd,uHAAA,mBAAmB,OAAA;AACnB,mHAAA,eAAe,OAAA;AACf,oHAAA,gBAAgB,OAAA;AAChB,mHAAA,eAAe,OAAA;AACf,sHAAA,kBAAkB,OAAA;AAClB,2GAAA,OAAO,OAAA;AACP,6GAAA,SAAS,OAAA;AACT,gHAAA,YAAY,OAAA;AAad,4CAwBuB;AAvBrB,uGAAA,SAAS,OAAA;AACT,2GAAA,aAAa,OAAA;AACb,2GAAA,aAAa,OAAA;AACb,0GAAA,YAAY,OAAA;AACZ,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,2GAAA,aAAa,OAAA;AACb,wGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ser-des/index.ts"],"names":[],"mappings":";;;AAkCA,oBAGC;AAQD,wCAOC;AAMD,4BAMC;AAKD,gDAMC;AAED,oBAEC;AAiCD,4BAEC;AAjHD,mCAA4B;AAE5B,uCAAgC;AAChC,iCAA2B;AAC3B,qCAAyE;AACzE,yCAAgD;AAChD,0CAKqB;AAerB;;;;;;GAMG;AACH,SAAgB,IAAI,CAAC,UAAkB,EAAE,UAAuB,EAAE;IAChE,MAAM,OAAO,GAAG,IAAA,eAAK,EAAC,UAAU,EAAE,sBAAa,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,IAAA,iBAAO,EAAC,OAAO,EAAE,wBAAe,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,UAAkB,EAClB,UAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,IAAA,eAAK,EAAC,UAAU,EAAE,sBAAa,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,OAAO,EAAE,wBAAe,CAAC,CAAC;IACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CACtB,QAAgB,EAChB,UAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,IAAA,6BAAkB,EAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,QAAgB,EAChB,UAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,IAAA,6BAAkB,EAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,IAAI,CAAC,QAAkB;IACrC,OAAO,IAAA,cAAK,EAAC,QAAQ,EAAE,sBAAa,CAAC,CAAC;AACxC,CAAC;AAED,qCAmBmB;AAlBjB,sGAAA,WAAW,OAAA;AACX,gHAAA,qBAAqB,OAAA;AACrB,oHAAA,yBAAyB,OAAA;AACzB,4GAAA,iBAAiB,OAAA;AACjB,uGAAA,YAAY,OAAA;AACZ,wGAAA,aAAa,OAAA;AACb,8GAAA,mBAAmB,OAAA;AACnB,2GAAA,gBAAgB,OAAA;AAYlB,4DAAuD;AAA9C,8GAAA,WAAW,OAAA;AACpB,6BAQe;AAPb,8FAAA,OAAO,OAAA;AACP,8FAAA,OAAO,OAAA;AACP,uGAAA,gBAAgB,OAAA;AAChB,uGAAA,gBAAgB,OAAA;AAMlB,SAAgB,QAAQ,CAAC,QAAkB;IACzC,OAAO,IAAA,mBAAS,EAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAMD,qEAAqE;AACrE,oEAAoE;AACpE,qEAAqE;AACrE,oDAAoD;AACpD,0CAKsB;AAJpB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,gHAAA,mBAAmB,OAAA;AAGrB,wDAqB6B;AApB3B,kHAAA,cAAc,OAAA;AACd,uHAAA,mBAAmB,OAAA;AACnB,mHAAA,eAAe,OAAA;AACf,oHAAA,gBAAgB,OAAA;AAChB,mHAAA,eAAe,OAAA;AACf,sHAAA,kBAAkB,OAAA;AAClB,2GAAA,OAAO,OAAA;AACP,6GAAA,SAAS,OAAA;AACT,gHAAA,YAAY,OAAA;AAad,4CAwBuB;AAvBrB,uGAAA,SAAS,OAAA;AACT,2GAAA,aAAa,OAAA;AACb,2GAAA,aAAa,OAAA;AACb,0GAAA,YAAY,OAAA;AACZ,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,2GAAA,aAAa,OAAA;AACb,wGAAA,UAAU,OAAA"}
@@ -16,6 +16,74 @@ export declare function packageFiles(dir: string): PackageFile[];
16
16
  * (see composePackage); otherwise only this directory is loaded.
17
17
  */
18
18
  export declare function loadPackage(dir: string, options?: LoadPackageOptions): Standard;
19
+ /** A source position inside a package content file. */
20
+ export interface ProvenancePosition {
21
+ /** 1-based line. */
22
+ line: number;
23
+ /** 1-based column (UTF-16 code units). */
24
+ col: number;
25
+ /** 0-based character offset (UTF-16 code units). */
26
+ offset: number;
27
+ }
28
+ /** Where one top-level construct came from. */
29
+ export interface ConstructSource {
30
+ /** Absolute path of the file the construct was parsed from. */
31
+ file: string;
32
+ /** Id of the package that file belongs to. Absent only when the loaded
33
+ directory carries no manifest. Under `uses` composition this names
34
+ the DECLARING package, never the importer. */
35
+ package?: string;
36
+ /** File-local span of the declaration, keyword through payload. */
37
+ span: {
38
+ start: ProvenancePosition;
39
+ end: ProvenancePosition;
40
+ };
41
+ }
42
+ /**
43
+ * The per-file provenance of one package load: every top-level construct
44
+ * the merge parsed, keyed by its Standard collection (the ParseContext
45
+ * field names: `requirements`, `terms`, `instruments`, ...) and its id.
46
+ * The id-less singletons key under their keyword with id ''
47
+ * (`constructs.metadata['']`). A duplicate id records the declaration
48
+ * that won the merge (the last one, matching parser overwrite semantics;
49
+ * the duplicate itself is a parse issue, never silent here).
50
+ */
51
+ export interface PackageProvenance {
52
+ /** Absolute path of the root package's manifest, when one was loaded. */
53
+ manifest?: string;
54
+ constructs: Record<string, Record<string, ConstructSource>>;
55
+ }
56
+ export interface PackageLoadResult extends LoadResult {
57
+ provenance: PackageProvenance;
58
+ }
59
+ /** A construct reference: the Standard collection + the construct id. */
60
+ export interface ConstructRef {
61
+ field: string;
62
+ id: string;
63
+ }
64
+ export interface SourceFileGroups<T extends ConstructRef> {
65
+ /** Absolute file path to the refs parsed from that file, input order. */
66
+ byFile: Map<string, T[]>;
67
+ /** Refs with no provenance entry (constructs authored after the load);
68
+ the caller assigns their file by the package's conventions. */
69
+ unassigned: T[];
70
+ }
71
+ /**
72
+ * The inverse of the load for a package-aware save: partition construct
73
+ * references by their source file, one group per file to write back.
74
+ * What a group becomes on disk (full-file re-serialization or a span
75
+ * splice at the recorded range) is the caller's choice; the kernel only
76
+ * attests where each construct came from.
77
+ */
78
+ export declare function groupBySourceFile<T extends ConstructRef>(provenance: PackageProvenance, refs: readonly T[]): SourceFileGroups<T>;
79
+ /**
80
+ * Like loadPackageWithIssues(), but also reports the per-file provenance
81
+ * of every top-level construct (PackageProvenance). The merged Standard,
82
+ * the issues, and the composition info are byte-identical to a plain
83
+ * loadPackage() of the same directory: provenance is an observation of
84
+ * the merge, never a change to it.
85
+ */
86
+ export declare function loadPackageWithProvenance(dir: string, options?: LoadPackageOptions): PackageLoadResult;
19
87
  /** Read + parse the manifest of the package at `dir`. Throws when absent
20
88
  * or id-less. */
21
89
  export declare function readPackageManifest(path: string): PackageManifest;
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/ser-des/package.ts"],"names":[],"mappings":"AAoBA,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAMzC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AA4BxD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAC9B;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,CA8BvD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,GAC/B,QAAQ,CAEV;AAED;kBACkB;AAClB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAkBjE;AA8CD;8EAC8E;AAC9E,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,GAC/B,UAAU,CAEZ;AAqBD,uEAAuE;AACvE,MAAM,MAAM,cAAc,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,GACzB,eAAe,GAAG,kBAAkB,GAAG,YAAY,GAAG,oBAAoB,CAAC;AAE7E;4DAC4D;AAC5D,qBAAa,gBAAiB,SAAQ,KAAK;aAEvB,IAAI,EAAE,eAAe;gBAArB,IAAI,EAAE,eAAe,EACrC,OAAO,EAAE,MAAM;CAKlB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,EAAE,CAWjE"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/ser-des/package.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,19 @@
15
15
  // TOGETHER (single token stream), so cross-file references resolve and
16
16
  // duplicate IDs across files are detected by the parser's dupChecker.
17
17
  // Deterministic order: manifest first, then files sorted by path.
18
+ //
19
+ // Provenance (opt-in): loadPackageWithProvenance() additionally reports,
20
+ // for every top-level construct, the source file it was parsed from (and
21
+ // the construct's file-local span), so tools can save package-aware
22
+ // instead of degenerating to a single-file dump. The merge itself is
23
+ // untouched: same joined stream, same parse, same resolution.
18
24
  // ─────────────────────────────────────────────────────────────────────
19
25
  Object.defineProperty(exports, "__esModule", { value: true });
20
26
  exports.CompositionError = void 0;
21
27
  exports.packageFiles = packageFiles;
22
28
  exports.loadPackage = loadPackage;
29
+ exports.groupBySourceFile = groupBySourceFile;
30
+ exports.loadPackageWithProvenance = loadPackageWithProvenance;
23
31
  exports.readPackageManifest = readPackageManifest;
24
32
  exports.loadPackageWithIssues = loadPackageWithIssues;
25
33
  exports.effectiveUses = effectiveUses;
@@ -94,6 +102,100 @@ function packageFiles(dir) {
94
102
  function loadPackage(dir, options = {}) {
95
103
  return loadPackageInternal(dir, options).standard;
96
104
  }
105
+ /**
106
+ * The inverse of the load for a package-aware save: partition construct
107
+ * references by their source file, one group per file to write back.
108
+ * What a group becomes on disk (full-file re-serialization or a span
109
+ * splice at the recorded range) is the caller's choice; the kernel only
110
+ * attests where each construct came from.
111
+ */
112
+ function groupBySourceFile(provenance, refs) {
113
+ const byFile = new Map();
114
+ const unassigned = [];
115
+ for (const ref of refs) {
116
+ const source = provenance.constructs[ref.field]?.[ref.id];
117
+ if (!source) {
118
+ unassigned.push(ref);
119
+ continue;
120
+ }
121
+ const group = byFile.get(source.file);
122
+ if (group) {
123
+ group.push(ref);
124
+ }
125
+ else {
126
+ byFile.set(source.file, [ref]);
127
+ }
128
+ }
129
+ return { byFile, unassigned };
130
+ }
131
+ /**
132
+ * Like loadPackageWithIssues(), but also reports the per-file provenance
133
+ * of every top-level construct (PackageProvenance). The merged Standard,
134
+ * the issues, and the composition info are byte-identical to a plain
135
+ * loadPackage() of the same directory: provenance is an observation of
136
+ * the merge, never a change to it.
137
+ */
138
+ function loadPackageWithProvenance(dir, options = {}) {
139
+ const result = loadPackageInternal(dir, options, true);
140
+ if (!result.provenance) {
141
+ // Unreachable: the internal load always builds provenance when asked.
142
+ throw new Error('loadPackageWithProvenance: provenance not collected');
143
+ }
144
+ return { ...result, provenance: result.provenance };
145
+ }
146
+ function countNewlines(text) {
147
+ let n = 0;
148
+ for (let i = 0; i < text.length; i++) {
149
+ if (text.charAt(i) === '\n') {
150
+ n++;
151
+ }
152
+ }
153
+ return n;
154
+ }
155
+ /** The content files of a package directory as join-ready chunks. */
156
+ function chunkify(files) {
157
+ const chunks = [];
158
+ let offset = 0;
159
+ let line = 1;
160
+ for (const f of files) {
161
+ if (f.role !== 'content') {
162
+ continue;
163
+ }
164
+ const text = (0, includes_1.preprocessIncludes)(f.path);
165
+ chunks.push({ path: f.path, text, start: offset, lineStart: line });
166
+ offset += text.length + 2;
167
+ line += countNewlines(text) + 2;
168
+ }
169
+ return chunks;
170
+ }
171
+ function joinChunks(chunks) {
172
+ return chunks.map(c => c.text).join('\n\n');
173
+ }
174
+ /** Map the parser's joined-stream construct spans to per-file sources.
175
+ * Constructs arrive in source order and chunks are in join order, so a
176
+ * two-pointer walk attributes each construct in O(1) amortized. */
177
+ function mapConstructs(parsed, chunks, packageId) {
178
+ const out = {};
179
+ let ci = 0;
180
+ for (const c of parsed) {
181
+ while (ci + 1 < chunks.length && c.start.offset >= chunks[ci + 1].start) {
182
+ ci++;
183
+ }
184
+ const chunk = chunks[ci];
185
+ const local = (p) => ({
186
+ line: p.line - chunk.lineStart + 1,
187
+ col: p.col,
188
+ offset: p.offset - chunk.start,
189
+ });
190
+ const source = {
191
+ file: chunk.path,
192
+ ...(packageId !== undefined ? { package: packageId } : {}),
193
+ span: { start: local(c.start), end: local(c.end) },
194
+ };
195
+ (out[c.field] ??= {})[c.id] = source;
196
+ }
197
+ return out;
198
+ }
97
199
  /** Read + parse the manifest of the package at `dir`. Throws when absent
98
200
  * or id-less. */
99
201
  function readPackageManifest(path) {
@@ -111,32 +213,30 @@ function readPackageManifest(path) {
111
213
  }
112
214
  return manifest;
113
215
  }
114
- function loadPackageInternal(dir, options = {}) {
216
+ function loadPackageInternal(dir, options = {}, withProvenance = false) {
115
217
  const files = packageFiles(dir);
116
218
  if (files.length === 0) {
117
219
  throw new Error(`loadPackage: no package files found in ${(0, path_1.resolve)(dir)}`);
118
220
  }
119
221
  let manifest = null;
120
- const chunks = [];
121
- for (const f of files) {
122
- if (f.role === 'manifest') {
123
- manifest = readPackageManifest(dir);
124
- }
125
- else {
126
- chunks.push((0, includes_1.preprocessIncludes)(f.path));
127
- }
222
+ if (files.some(f => f.role === 'manifest')) {
223
+ manifest = readPackageManifest(dir);
128
224
  }
225
+ const chunks = chunkify(files);
129
226
  // `uses` composition (TODO.roadmap/05): with a package locator and a
130
227
  // manifest declaring imports, load the whole dependency closure and
131
228
  // merge it in topological order with no-redefine semantics.
132
229
  if (manifest &&
133
230
  options.resolvePackage &&
134
231
  effectiveUses(manifest).length > 0) {
135
- return composePackage(dir, options, manifest);
232
+ return composePackage(dir, options, manifest, withProvenance);
136
233
  }
137
234
  // Parse all content files as ONE token stream: cross-file refs resolve,
138
235
  // duplicate IDs across files are caught by the dupChecker.
139
- const ctx = (0, parse_1.default)(chunks.join('\n\n'), config_1.PARSER_CONFIG, options);
236
+ const parseOptions = withProvenance
237
+ ? { ...options, withProvenance: true }
238
+ : options;
239
+ const ctx = (0, parse_1.default)(joinChunks(chunks), config_1.PARSER_CONFIG, parseOptions);
140
240
  if (manifest) {
141
241
  ctx.packageManifest = manifest;
142
242
  const deprecated = extendsDeprecationIssue(manifest);
@@ -145,7 +245,15 @@ function loadPackageInternal(dir, options = {}) {
145
245
  }
146
246
  }
147
247
  const standard = (0, resolve_1.default)(ctx, config_1.RESOLVER_CONFIG);
148
- return { standard, issues: ctx.issues };
248
+ const result = { standard, issues: ctx.issues };
249
+ if (withProvenance) {
250
+ const manifestFile = files.find(f => f.role === 'manifest')?.path;
251
+ result.provenance = {
252
+ ...(manifestFile !== undefined ? { manifest: manifestFile } : {}),
253
+ constructs: mapConstructs(ctx.constructs ?? [], chunks, manifest?.id),
254
+ };
255
+ }
256
+ return result;
149
257
  }
150
258
  /** Like loadPackage(), but also returns parse-time issues (e.g. duplicate
151
259
  * IDs ACROSS package files — the merge parses all content as one stream). */
@@ -253,17 +361,14 @@ const MERGE_FIELDS = [
253
361
  'formulasUsed',
254
362
  'texts',
255
363
  ];
256
- /** Parse one package's content files (manifest excluded) as a single stream. */
364
+ /** Parse one package's content files (manifest excluded) as a single
365
+ * stream, keeping each file's joined-stream range for provenance. */
257
366
  function parsePackageContent(dir, options) {
258
- const chunks = [];
259
- for (const f of packageFiles(dir)) {
260
- if (f.role === 'content') {
261
- chunks.push((0, includes_1.preprocessIncludes)(f.path));
262
- }
263
- }
264
- return (0, parse_1.default)(chunks.join('\n\n'), config_1.PARSER_CONFIG, options);
367
+ const chunks = chunkify(packageFiles(dir));
368
+ const ctx = (0, parse_1.default)(joinChunks(chunks), config_1.PARSER_CONFIG, options);
369
+ return { ctx, chunks };
265
370
  }
266
- function composePackage(rootDir, options, rootManifest) {
371
+ function composePackage(rootDir, options, rootManifest, withProvenance = false) {
267
372
  const locate = options.resolvePackage;
268
373
  const rootId = rootManifest.id;
269
374
  const dirs = new Map([[rootId, (0, path_1.resolve)(rootDir)]]);
@@ -319,9 +424,15 @@ function composePackage(rootDir, options, rootManifest) {
319
424
  // Parse each package's content as one stream (intra-package duplicates
320
425
  // are caught by the dupChecker), then merge in topological order with
321
426
  // provenance-tracked no-redefine semantics.
427
+ const parseOptions = withProvenance
428
+ ? { ...options, withProvenance: true }
429
+ : options;
322
430
  const ctxs = new Map();
431
+ const pkgChunks = new Map();
323
432
  for (const id of order) {
324
- ctxs.set(id, parsePackageContent(dirs.get(id), options));
433
+ const parsed = parsePackageContent(dirs.get(id), parseOptions);
434
+ ctxs.set(id, parsed.ctx);
435
+ pkgChunks.set(id, parsed.chunks);
325
436
  }
326
437
  const provenance = new Map();
327
438
  for (const field of MERGE_FIELDS) {
@@ -408,10 +519,31 @@ function composePackage(rootDir, options, rootManifest) {
408
519
  }
409
520
  acc.packageManifest = rootManifest;
410
521
  const standard = (0, resolve_1.default)(acc, config_1.RESOLVER_CONFIG);
411
- return {
522
+ const result = {
412
523
  standard,
413
524
  issues: [...acc.issues, ...compositionIssues],
414
525
  composition: { root: rootId, order },
415
526
  };
527
+ if (withProvenance) {
528
+ // Fold in merge order with last-write-wins, mirroring the merge
529
+ // exactly: illegal redefines threw above (uses-no-redefine), so the
530
+ // only overwrites possible here are the legal overlay=true terms,
531
+ // whose provenance must name the OVERLAYING package's file.
532
+ const constructs = {};
533
+ for (const id of order) {
534
+ const perPackage = mapConstructs(ctxs.get(id).constructs ?? [], pkgChunks.get(id), id);
535
+ for (const [field, byId] of Object.entries(perPackage)) {
536
+ const target = (constructs[field] ??= {});
537
+ for (const [constructId, source] of Object.entries(byId)) {
538
+ target[constructId] = source;
539
+ }
540
+ }
541
+ }
542
+ result.provenance = {
543
+ manifest: (0, path_1.join)((0, path_1.resolve)(rootDir), 'package.primmel'),
544
+ constructs,
545
+ };
546
+ }
547
+ return result;
416
548
  }
417
549
  //# sourceMappingURL=package.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/ser-des/package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/ser-des/package.ts"],"names":[],"mappings":"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"}
@@ -19,12 +19,15 @@ export interface ParseEntryErrorContext {
19
19
  */
20
20
  export declare function forEachEntry(data: string, visitor: (keyword: string, value: () => string, peek: () => string | undefined) => boolean, errCtx: ParseEntryErrorContext): void;
21
21
  /**
22
- * The manual-walk forward-compat skip, ref-aware (docs/primmel/18): the
23
- * unknown-keyword fallback consumes ONE value token, EXCEPT the unified
24
- * ref construct, whose shape is `ref <predicate> "<target>"` plus an
25
- * optional `{ note }` block — a one-token skip there would desync the
26
- * walk and silently eat every following facet. `i` sits just AFTER the
27
- * keyword; returns the index past the skipped value.
22
+ * The manual-walk forward-compat skip, multi-token-facet-aware (MN 114
23
+ * §9.5): the unknown-keyword fallback consumes ONE value token, EXCEPT:
24
+ * - `ref <predicate> "<target>" [{ note }]` (docs/primmel/18),
25
+ * - `corresponds <scheme> "<concept>" [{ projection ... }]` (v3.1,
26
+ * clause 19.4),
27
+ * - `trust_ref <org-id> [key <kid>]` (v3.1, clause 19.3),
28
+ * whose multi-token shapes would desync a one-token skip and silently eat
29
+ * every following facet. `i` sits just AFTER the keyword; returns the
30
+ * index past the skipped value.
28
31
  */
29
32
  export declare function skipUnknownValue(t: string[], i: number, keyword: string): number;
30
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"parse-block.d.ts","sourceRoot":"","sources":["../../../src/ser-des/parse-block.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,MAAM,EACnB,IAAI,EAAE,MAAM,MAAM,GAAG,SAAS,KAC3B,OAAO,EACZ,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CAiCN;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,GACd,MAAM,CAeR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EAClD,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CA2CN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,MAAM,GAAG,MAAM,CAQrD"}
1
+ {"version":3,"file":"parse-block.d.ts","sourceRoot":"","sources":["../../../src/ser-des/parse-block.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,MAAM,EACnB,IAAI,EAAE,MAAM,MAAM,GAAG,SAAS,KAC3B,OAAO,EACZ,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CA4CN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,GACd,MAAM,CA2BR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EAClD,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CA+CN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,MAAM,GAAG,MAAM,CAQrD"}
@@ -51,14 +51,26 @@ function forEachEntry(data, visitor, errCtx) {
51
51
  }
52
52
  const claimed = visitor(keyword, () => t[i++], () => t[i]);
53
53
  if (!claimed) {
54
- // The unified ref construct (docs/primmel/18) is tolerated on every
55
- // construct — even where the construct's own facets don't model it
56
- // yet: skip the predicate + the target + the optional note block.
57
- if (keyword === 'ref') {
58
- i++; // the predicate
59
- i++; // the target
54
+ // The multi-token facets are tolerated on every construct — even
55
+ // where the construct's own facets don't model them yet — with a
56
+ // shape-aware skip (MN 114 §9.5):
57
+ // ref — predicate + target + the optional note block
58
+ // corresponds — scheme + concept + the optional projection block
59
+ // trust_ref — the org id + the optional `key <kid>` pair
60
+ // A one-token skip on any of these would desynchronize the facet
61
+ // walk.
62
+ if (keyword === 'ref' || keyword === 'corresponds') {
63
+ i++; // the predicate / scheme
64
+ i++; // the target / concept
60
65
  if (i < t.length && t[i].startsWith('{')) {
61
- i++; // the note block
66
+ i++; // the note / projection block
67
+ }
68
+ }
69
+ else if (keyword === 'trust_ref') {
70
+ i++; // the organization identifier
71
+ if (t[i] === 'key') {
72
+ i++; // the `key` keyword
73
+ i++; // the key id
62
74
  }
63
75
  }
64
76
  else {
@@ -68,21 +80,36 @@ function forEachEntry(data, visitor, errCtx) {
68
80
  }
69
81
  }
70
82
  /**
71
- * The manual-walk forward-compat skip, ref-aware (docs/primmel/18): the
72
- * unknown-keyword fallback consumes ONE value token, EXCEPT the unified
73
- * ref construct, whose shape is `ref <predicate> "<target>"` plus an
74
- * optional `{ note }` block — a one-token skip there would desync the
75
- * walk and silently eat every following facet. `i` sits just AFTER the
76
- * keyword; returns the index past the skipped value.
83
+ * The manual-walk forward-compat skip, multi-token-facet-aware (MN 114
84
+ * §9.5): the unknown-keyword fallback consumes ONE value token, EXCEPT:
85
+ * - `ref <predicate> "<target>" [{ note }]` (docs/primmel/18),
86
+ * - `corresponds <scheme> "<concept>" [{ projection ... }]` (v3.1,
87
+ * clause 19.4),
88
+ * - `trust_ref <org-id> [key <kid>]` (v3.1, clause 19.3),
89
+ * whose multi-token shapes would desync a one-token skip and silently eat
90
+ * every following facet. `i` sits just AFTER the keyword; returns the
91
+ * index past the skipped value.
77
92
  */
78
93
  function skipUnknownValue(t, i, keyword) {
79
- if (keyword === 'ref') {
80
- i++; // the predicate
94
+ if (keyword === 'ref' || keyword === 'corresponds') {
95
+ i++; // the predicate / scheme
81
96
  if (i < t.length) {
82
- i++; // the target
97
+ i++; // the target / concept
83
98
  }
84
99
  if (i < t.length && t[i].startsWith('{')) {
85
- i++; // the note block
100
+ i++; // the note / projection block
101
+ }
102
+ return i;
103
+ }
104
+ if (keyword === 'trust_ref') {
105
+ if (i < t.length) {
106
+ i++; // the organization identifier
107
+ }
108
+ if (t[i] === 'key') {
109
+ i++; // the `key` keyword
110
+ if (i < t.length) {
111
+ i++; // the key id
112
+ }
86
113
  }
87
114
  return i;
88
115
  }
@@ -121,10 +148,12 @@ function forEachAttribute(data, visitor, errCtx) {
121
148
  // checking `nameSpec.startsWith('ref ')`.
122
149
  if (t[i] === 'ref') {
123
150
  const nameParts = [t[i++]];
124
- if (i < t.length)
125
- nameParts.push(t[i++]); // predicate
126
- if (i < t.length)
127
- nameParts.push(t[i++]); // target
151
+ if (i < t.length) {
152
+ nameParts.push(t[i++]);
153
+ } // predicate
154
+ if (i < t.length) {
155
+ nameParts.push(t[i++]);
156
+ } // target
128
157
  let blockContent = '';
129
158
  if (i < t.length && t[i].charAt(0) === '{') {
130
159
  blockContent = (0, tokenize_1.unwrapBlock)(t[i++]);
@@ -1 +1 @@
1
- {"version":3,"file":"parse-block.js","sourceRoot":"","sources":["../../../src/ser-des/parse-block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-block.js","sourceRoot":"","sources":["../../../src/ser-des/parse-block.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,14 @@ export interface ParseOptions {
6
6
  * forward compatibility with newer MMEL/Primmel revisions.
7
7
  */
8
8
  strict?: boolean;
9
+ /**
10
+ * When true, parse() records every recognized top-level construct
11
+ * declaration (keyword through payload span, in source order) on
12
+ * `ctx.constructs`. Default off: no collection, no overhead. The
13
+ * package loader uses this to attribute each construct to its source
14
+ * file (loadPackageWithProvenance in ser-des/package.ts).
15
+ */
16
+ withProvenance?: boolean;
9
17
  }
10
18
  /**
11
19
  * Parse a .mmel string into a ParseContext.
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/ser-des/parse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG5D,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,YAAiB,GACzB,YAAY,CAmJd"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/ser-des/parse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAI5D,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,YAAiB,GACzB,YAAY,CAiLd"}