@skmtc/core 0.18.1 → 0.26.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 (482) hide show
  1. package/README.md +0 -1
  2. package/esm/anchors/buildSidecar.js +1 -1
  3. package/esm/anchors/postPass.d.ts +1 -1
  4. package/esm/anchors/postPass.js +1 -1
  5. package/esm/anchors/sidecar.d.ts +2 -2
  6. package/esm/anchors/sidecar.js +1 -1
  7. package/esm/context/CoreContext.d.ts +7 -1
  8. package/esm/context/CoreContext.d.ts.map +1 -1
  9. package/esm/context/CoreContext.js +17 -11
  10. package/esm/context/GenerateContext.d.ts +25 -4
  11. package/esm/context/GenerateContext.d.ts.map +1 -1
  12. package/esm/context/GenerateContext.js +135 -70
  13. package/esm/context/ParseIssue.d.ts +1 -1
  14. package/esm/context/RenderContext.d.ts +2 -6
  15. package/esm/context/RenderContext.d.ts.map +1 -1
  16. package/esm/context/RenderContext.js +4 -14
  17. package/esm/context/generateTypes.d.ts +35 -8
  18. package/esm/context/generateTypes.d.ts.map +1 -1
  19. package/{script/deps/jsr.io/@std/fs/1.0.23 → esm/deps/jsr.io/@std/fs/1.0.24}/exists.d.ts.map +1 -1
  20. package/esm/deps/jsr.io/@std/internal/1.0.14/_os.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@std/internal/1.0.14/_os.js +14 -0
  22. package/esm/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.d.ts.map +1 -1
  23. package/esm/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.js +1 -1
  24. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.d.ts.map +1 -1
  25. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.js +1 -1
  26. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.d.ts.map +1 -1
  27. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.js +1 -1
  28. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.d.ts.map +1 -1
  29. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.js +1 -1
  30. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.d.ts.map +1 -1
  31. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.js +1 -1
  32. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.d.ts.map +1 -1
  33. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.js +1 -1
  34. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.d.ts.map +1 -1
  35. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.js +2 -2
  36. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.d.ts.map +1 -1
  37. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.js +2 -2
  38. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.d.ts.map +1 -1
  39. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.js +1 -1
  40. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.d.ts.map +1 -1
  41. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.js +1 -1
  42. package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/posix/join.d.ts.map +1 -1
  43. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/join.js +1 -1
  44. package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/posix/normalize.d.ts.map +1 -1
  45. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/normalize.js +1 -1
  46. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.d.ts.map +1 -1
  47. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.js +1 -1
  48. package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/windows/from_file_url.d.ts.map +1 -1
  49. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/from_file_url.js +1 -1
  50. package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/windows/join.d.ts.map +1 -1
  51. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/join.js +1 -1
  52. package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/windows/normalize.d.ts.map +1 -1
  53. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/normalize.js +1 -1
  54. package/esm/dsl/CodeFileBase.d.ts +57 -24
  55. package/esm/dsl/CodeFileBase.d.ts.map +1 -1
  56. package/esm/dsl/CodeFileBase.js +35 -53
  57. package/esm/dsl/FileBase.d.ts +21 -25
  58. package/esm/dsl/FileBase.d.ts.map +1 -1
  59. package/esm/dsl/FileBase.js +20 -29
  60. package/esm/dsl/GeneratorKeys.d.ts +19 -19
  61. package/esm/dsl/GeneratorKeys.d.ts.map +1 -1
  62. package/esm/dsl/GeneratorKeys.js +6 -5
  63. package/esm/dsl/IdentifierBase.d.ts +19 -5
  64. package/esm/dsl/IdentifierBase.d.ts.map +1 -1
  65. package/esm/dsl/IdentifierBase.js +21 -5
  66. package/esm/dsl/IdentifierType.d.ts +8 -14
  67. package/esm/dsl/IdentifierType.d.ts.map +1 -1
  68. package/esm/dsl/Lang.d.ts +18 -38
  69. package/esm/dsl/Lang.d.ts.map +1 -1
  70. package/esm/dsl/MarkdownFile.d.ts +55 -0
  71. package/esm/dsl/MarkdownFile.d.ts.map +1 -0
  72. package/esm/dsl/MarkdownFile.js +58 -0
  73. package/esm/dsl/model/ModelDriver.d.ts +3 -1
  74. package/esm/dsl/model/ModelDriver.d.ts.map +1 -1
  75. package/esm/dsl/model/ModelDriver.js +6 -8
  76. package/esm/dsl/model/toModelEntry.d.ts +21 -17
  77. package/esm/dsl/model/toModelEntry.d.ts.map +1 -1
  78. package/esm/dsl/model/toModelEntry.js +3 -27
  79. package/esm/dsl/model/toModelProjectionBase.d.ts +15 -15
  80. package/esm/dsl/model/toModelProjectionBase.d.ts.map +1 -1
  81. package/esm/dsl/model/types.d.ts +2 -52
  82. package/esm/dsl/model/types.d.ts.map +1 -1
  83. package/esm/dsl/operation/gql/GqlOperationDriver.d.ts +3 -1
  84. package/esm/dsl/operation/gql/GqlOperationDriver.d.ts.map +1 -1
  85. package/esm/dsl/operation/gql/GqlOperationDriver.js +12 -9
  86. package/esm/dsl/operation/gql/toGqlOperationEntry.d.ts +20 -15
  87. package/esm/dsl/operation/gql/toGqlOperationEntry.d.ts.map +1 -1
  88. package/esm/dsl/operation/gql/toGqlOperationEntry.js +3 -25
  89. package/esm/dsl/operation/gql/toGqlOperationProjectionBase.d.ts +11 -10
  90. package/esm/dsl/operation/gql/toGqlOperationProjectionBase.d.ts.map +1 -1
  91. package/esm/dsl/operation/gql/types.d.ts +1 -33
  92. package/esm/dsl/operation/gql/types.d.ts.map +1 -1
  93. package/esm/dsl/operation/oas/OasOperationDriver.d.ts +3 -1
  94. package/esm/dsl/operation/oas/OasOperationDriver.d.ts.map +1 -1
  95. package/esm/dsl/operation/oas/OasOperationDriver.js +12 -9
  96. package/esm/dsl/operation/oas/toOasOperationEntry.d.ts +21 -17
  97. package/esm/dsl/operation/oas/toOasOperationEntry.d.ts.map +1 -1
  98. package/esm/dsl/operation/oas/toOasOperationEntry.js +3 -32
  99. package/esm/dsl/operation/oas/toOasOperationProjectionBase.d.ts +11 -10
  100. package/esm/dsl/operation/oas/toOasOperationProjectionBase.d.ts.map +1 -1
  101. package/esm/dsl/operation/oas/types.d.ts +1 -43
  102. package/esm/dsl/operation/oas/types.d.ts.map +1 -1
  103. package/esm/dsl/webhook/WebhookDriver.d.ts +3 -1
  104. package/esm/dsl/webhook/WebhookDriver.d.ts.map +1 -1
  105. package/esm/dsl/webhook/WebhookDriver.js +12 -9
  106. package/esm/dsl/webhook/toWebhookEntry.d.ts +21 -16
  107. package/esm/dsl/webhook/toWebhookEntry.d.ts.map +1 -1
  108. package/esm/dsl/webhook/toWebhookEntry.js +3 -32
  109. package/esm/dsl/webhook/toWebhookProjectionBase.d.ts +11 -10
  110. package/esm/dsl/webhook/toWebhookProjectionBase.d.ts.map +1 -1
  111. package/esm/dsl/webhook/types.d.ts +1 -36
  112. package/esm/dsl/webhook/types.d.ts.map +1 -1
  113. package/esm/enrichments/toEnrichmentDescriptor.d.ts +72 -27
  114. package/esm/enrichments/toEnrichmentDescriptor.d.ts.map +1 -1
  115. package/esm/enrichments/toEnrichmentDescriptor.js +57 -31
  116. package/esm/enrichments/validateConfig.d.ts +1 -1
  117. package/esm/enrichments/validateConfig.js +2 -2
  118. package/esm/helpers/isImported.js +1 -1
  119. package/esm/helpers/toResolvedArtifactPath.js +1 -1
  120. package/esm/mod.d.ts +7 -1
  121. package/esm/mod.d.ts.map +1 -1
  122. package/esm/mod.js +7 -1
  123. package/esm/oas/array/Array.d.ts +2 -0
  124. package/esm/oas/array/Array.d.ts.map +1 -1
  125. package/esm/oas/array/Array.js +4 -0
  126. package/esm/oas/boolean/Boolean.d.ts +3 -1
  127. package/esm/oas/boolean/Boolean.d.ts.map +1 -1
  128. package/esm/oas/boolean/Boolean.js +4 -0
  129. package/esm/oas/components/Components.d.ts +5 -0
  130. package/esm/oas/components/Components.d.ts.map +1 -1
  131. package/esm/oas/components/Components.js +6 -1
  132. package/esm/oas/integer/Integer.d.ts +3 -1
  133. package/esm/oas/integer/Integer.d.ts.map +1 -1
  134. package/esm/oas/integer/Integer.js +4 -0
  135. package/esm/oas/link/Link.d.ts +68 -0
  136. package/esm/oas/link/Link.d.ts.map +1 -0
  137. package/esm/oas/link/Link.js +107 -0
  138. package/esm/oas/number/Number.d.ts +3 -1
  139. package/esm/oas/number/Number.d.ts.map +1 -1
  140. package/esm/oas/number/Number.js +4 -0
  141. package/esm/oas/object/Object.d.ts +9 -0
  142. package/esm/oas/object/Object.d.ts.map +1 -1
  143. package/esm/oas/object/Object.js +14 -0
  144. package/esm/oas/operation/Operation.d.ts +15 -0
  145. package/esm/oas/operation/Operation.d.ts.map +1 -1
  146. package/esm/oas/operation/Operation.js +33 -0
  147. package/esm/oas/ref/Ref.d.ts +23 -1
  148. package/esm/oas/ref/Ref.d.ts.map +1 -1
  149. package/esm/oas/ref/Ref.js +32 -0
  150. package/esm/oas/ref/ref-types.d.ts +18 -1
  151. package/esm/oas/ref/ref-types.d.ts.map +1 -1
  152. package/esm/oas/ref/ref-types.js +12 -1
  153. package/esm/oas/response/Response.d.ts +4 -0
  154. package/esm/oas/response/Response.d.ts.map +1 -1
  155. package/esm/oas/response/Response.js +7 -0
  156. package/esm/oas/schemaPath/traverseSchema.d.ts +31 -0
  157. package/esm/oas/schemaPath/traverseSchema.d.ts.map +1 -0
  158. package/esm/oas/schemaPath/traverseSchema.js +113 -0
  159. package/esm/oas/string/String.d.ts +3 -1
  160. package/esm/oas/string/String.d.ts.map +1 -1
  161. package/esm/oas/string/String.js +4 -0
  162. package/esm/oas/union/Union.d.ts +9 -0
  163. package/esm/oas/union/Union.d.ts.map +1 -1
  164. package/esm/oas/union/Union.js +14 -0
  165. package/esm/oas/unknown/Unknown.d.ts +3 -1
  166. package/esm/oas/unknown/Unknown.d.ts.map +1 -1
  167. package/esm/oas/unknown/Unknown.js +4 -0
  168. package/esm/parse/v3-0/components/toComponentsV3.d.ts.map +1 -1
  169. package/esm/parse/v3-0/components/toComponentsV3.js +3 -1
  170. package/esm/parse/v3-0/link/toLinksV3.d.ts +17 -0
  171. package/esm/parse/v3-0/link/toLinksV3.d.ts.map +1 -0
  172. package/esm/parse/v3-0/link/toLinksV3.js +40 -0
  173. package/esm/parse/v3-0/object/toObject.d.ts.map +1 -1
  174. package/esm/parse/v3-0/object/toObject.js +3 -1
  175. package/esm/parse/v3-0/response/toResponseV3.d.ts.map +1 -1
  176. package/esm/parse/v3-0/response/toResponseV3.js +4 -1
  177. package/esm/parse/v3-0/union/toUnion.d.ts.map +1 -1
  178. package/esm/parse/v3-0/union/toUnion.js +3 -1
  179. package/esm/parse/v3-1/components/toComponentsV3.d.ts.map +1 -1
  180. package/esm/parse/v3-1/components/toComponentsV3.js +3 -1
  181. package/esm/parse/v3-1/link/toLinksV3.d.ts +17 -0
  182. package/esm/parse/v3-1/link/toLinksV3.d.ts.map +1 -0
  183. package/esm/parse/v3-1/link/toLinksV3.js +40 -0
  184. package/esm/parse/v3-1/object/toObject.d.ts.map +1 -1
  185. package/esm/parse/v3-1/object/toObject.js +3 -1
  186. package/esm/parse/v3-1/response/toResponseV3.d.ts.map +1 -1
  187. package/esm/parse/v3-1/response/toResponseV3.js +4 -1
  188. package/esm/parse/v3-1/union/toUnion.d.ts.map +1 -1
  189. package/esm/parse/v3-1/union/toUnion.js +3 -1
  190. package/esm/run/toArtifacts.d.ts +8 -1
  191. package/esm/run/toArtifacts.d.ts.map +1 -1
  192. package/esm/run/toArtifacts.js +5 -5
  193. package/esm/run/toInspection.d.ts +8 -0
  194. package/esm/run/toInspection.d.ts.map +1 -0
  195. package/esm/run/toInspection.js +78 -0
  196. package/esm/types/Enrichments.d.ts +19 -8
  197. package/esm/types/Enrichments.d.ts.map +1 -1
  198. package/esm/types/Enrichments.js +4 -3
  199. package/esm/types/GeneratorType.d.ts +5 -5
  200. package/esm/types/GeneratorType.d.ts.map +1 -1
  201. package/esm/types/Manifest.d.ts +1 -2
  202. package/esm/types/Manifest.d.ts.map +1 -1
  203. package/esm/types/Manifest.js +1 -2
  204. package/esm/types/ModuleSelect.d.ts +81 -0
  205. package/esm/types/ModuleSelect.d.ts.map +1 -0
  206. package/esm/types/ModuleSelect.js +63 -0
  207. package/esm/types/Preview.d.ts +4 -27
  208. package/esm/types/Preview.d.ts.map +1 -1
  209. package/esm/types/Preview.js +4 -25
  210. package/esm/types/SchemaPath.d.ts +17 -0
  211. package/esm/types/SchemaPath.d.ts.map +1 -0
  212. package/esm/types/SchemaPath.js +9 -0
  213. package/esm/types/Settings.d.ts +8 -0
  214. package/esm/types/Settings.d.ts.map +1 -1
  215. package/esm/types/Settings.js +1 -0
  216. package/esm/types/SkmtcDocument.d.ts +1 -1
  217. package/esm/types/SupportedSubjects.d.ts +1 -1
  218. package/package.json +1 -1
  219. package/script/anchors/buildSidecar.js +1 -1
  220. package/script/anchors/postPass.d.ts +1 -1
  221. package/script/anchors/postPass.js +1 -1
  222. package/script/anchors/sidecar.d.ts +2 -2
  223. package/script/anchors/sidecar.js +1 -1
  224. package/script/context/CoreContext.d.ts +7 -1
  225. package/script/context/CoreContext.d.ts.map +1 -1
  226. package/script/context/CoreContext.js +17 -11
  227. package/script/context/GenerateContext.d.ts +25 -4
  228. package/script/context/GenerateContext.d.ts.map +1 -1
  229. package/script/context/GenerateContext.js +135 -70
  230. package/script/context/ParseIssue.d.ts +1 -1
  231. package/script/context/RenderContext.d.ts +2 -6
  232. package/script/context/RenderContext.d.ts.map +1 -1
  233. package/script/context/RenderContext.js +4 -14
  234. package/script/context/generateTypes.d.ts +35 -8
  235. package/script/context/generateTypes.d.ts.map +1 -1
  236. package/{esm/deps/jsr.io/@std/fs/1.0.23 → script/deps/jsr.io/@std/fs/1.0.24}/exists.d.ts.map +1 -1
  237. package/script/deps/jsr.io/@std/internal/1.0.14/_os.d.ts.map +1 -0
  238. package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/_os.js +7 -5
  239. package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.d.ts.map +1 -1
  240. package/script/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.js +1 -1
  241. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.d.ts.map +1 -1
  242. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.js +1 -1
  243. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.d.ts.map +1 -1
  244. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.js +1 -1
  245. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.d.ts.map +1 -1
  246. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.js +1 -1
  247. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.d.ts.map +1 -1
  248. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.js +1 -1
  249. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.d.ts.map +1 -1
  250. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.js +1 -1
  251. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.d.ts.map +1 -1
  252. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.js +2 -2
  253. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.d.ts.map +1 -1
  254. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.js +2 -2
  255. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.d.ts.map +1 -1
  256. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.js +1 -1
  257. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.d.ts.map +1 -1
  258. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.js +1 -1
  259. package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/posix/join.d.ts.map +1 -1
  260. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/join.js +1 -1
  261. package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/posix/normalize.d.ts.map +1 -1
  262. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/normalize.js +1 -1
  263. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.d.ts.map +1 -1
  264. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.js +1 -1
  265. package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/windows/from_file_url.d.ts.map +1 -1
  266. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/from_file_url.js +1 -1
  267. package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/windows/join.d.ts.map +1 -1
  268. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/join.js +1 -1
  269. package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/windows/normalize.d.ts.map +1 -1
  270. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/normalize.js +1 -1
  271. package/script/dsl/CodeFileBase.d.ts +57 -24
  272. package/script/dsl/CodeFileBase.d.ts.map +1 -1
  273. package/script/dsl/CodeFileBase.js +37 -54
  274. package/script/dsl/FileBase.d.ts +21 -25
  275. package/script/dsl/FileBase.d.ts.map +1 -1
  276. package/script/dsl/FileBase.js +20 -29
  277. package/script/dsl/GeneratorKeys.d.ts +19 -19
  278. package/script/dsl/GeneratorKeys.d.ts.map +1 -1
  279. package/script/dsl/GeneratorKeys.js +6 -5
  280. package/script/dsl/IdentifierBase.d.ts +19 -5
  281. package/script/dsl/IdentifierBase.d.ts.map +1 -1
  282. package/script/dsl/IdentifierBase.js +21 -5
  283. package/script/dsl/IdentifierType.d.ts +8 -14
  284. package/script/dsl/IdentifierType.d.ts.map +1 -1
  285. package/script/dsl/Lang.d.ts +18 -38
  286. package/script/dsl/Lang.d.ts.map +1 -1
  287. package/script/dsl/MarkdownFile.d.ts +55 -0
  288. package/script/dsl/MarkdownFile.d.ts.map +1 -0
  289. package/script/dsl/MarkdownFile.js +62 -0
  290. package/script/dsl/model/ModelDriver.d.ts +3 -1
  291. package/script/dsl/model/ModelDriver.d.ts.map +1 -1
  292. package/script/dsl/model/ModelDriver.js +6 -8
  293. package/script/dsl/model/toModelEntry.d.ts +21 -17
  294. package/script/dsl/model/toModelEntry.d.ts.map +1 -1
  295. package/script/dsl/model/toModelEntry.js +3 -63
  296. package/script/dsl/model/toModelProjectionBase.d.ts +15 -15
  297. package/script/dsl/model/toModelProjectionBase.d.ts.map +1 -1
  298. package/script/dsl/model/types.d.ts +2 -52
  299. package/script/dsl/model/types.d.ts.map +1 -1
  300. package/script/dsl/operation/gql/GqlOperationDriver.d.ts +3 -1
  301. package/script/dsl/operation/gql/GqlOperationDriver.d.ts.map +1 -1
  302. package/script/dsl/operation/gql/GqlOperationDriver.js +12 -9
  303. package/script/dsl/operation/gql/toGqlOperationEntry.d.ts +20 -15
  304. package/script/dsl/operation/gql/toGqlOperationEntry.d.ts.map +1 -1
  305. package/script/dsl/operation/gql/toGqlOperationEntry.js +3 -61
  306. package/script/dsl/operation/gql/toGqlOperationProjectionBase.d.ts +11 -10
  307. package/script/dsl/operation/gql/toGqlOperationProjectionBase.d.ts.map +1 -1
  308. package/script/dsl/operation/gql/types.d.ts +1 -33
  309. package/script/dsl/operation/gql/types.d.ts.map +1 -1
  310. package/script/dsl/operation/oas/OasOperationDriver.d.ts +3 -1
  311. package/script/dsl/operation/oas/OasOperationDriver.d.ts.map +1 -1
  312. package/script/dsl/operation/oas/OasOperationDriver.js +12 -9
  313. package/script/dsl/operation/oas/toOasOperationEntry.d.ts +21 -17
  314. package/script/dsl/operation/oas/toOasOperationEntry.d.ts.map +1 -1
  315. package/script/dsl/operation/oas/toOasOperationEntry.js +3 -68
  316. package/script/dsl/operation/oas/toOasOperationProjectionBase.d.ts +11 -10
  317. package/script/dsl/operation/oas/toOasOperationProjectionBase.d.ts.map +1 -1
  318. package/script/dsl/operation/oas/types.d.ts +1 -43
  319. package/script/dsl/operation/oas/types.d.ts.map +1 -1
  320. package/script/dsl/webhook/WebhookDriver.d.ts +3 -1
  321. package/script/dsl/webhook/WebhookDriver.d.ts.map +1 -1
  322. package/script/dsl/webhook/WebhookDriver.js +12 -9
  323. package/script/dsl/webhook/toWebhookEntry.d.ts +21 -16
  324. package/script/dsl/webhook/toWebhookEntry.d.ts.map +1 -1
  325. package/script/dsl/webhook/toWebhookEntry.js +3 -68
  326. package/script/dsl/webhook/toWebhookProjectionBase.d.ts +11 -10
  327. package/script/dsl/webhook/toWebhookProjectionBase.d.ts.map +1 -1
  328. package/script/dsl/webhook/types.d.ts +1 -36
  329. package/script/dsl/webhook/types.d.ts.map +1 -1
  330. package/script/enrichments/toEnrichmentDescriptor.d.ts +72 -27
  331. package/script/enrichments/toEnrichmentDescriptor.d.ts.map +1 -1
  332. package/script/enrichments/toEnrichmentDescriptor.js +57 -31
  333. package/script/enrichments/validateConfig.d.ts +1 -1
  334. package/script/enrichments/validateConfig.js +2 -2
  335. package/script/helpers/isImported.js +1 -1
  336. package/script/helpers/toResolvedArtifactPath.js +1 -1
  337. package/script/mod.d.ts +7 -1
  338. package/script/mod.d.ts.map +1 -1
  339. package/script/mod.js +7 -1
  340. package/script/oas/array/Array.d.ts +2 -0
  341. package/script/oas/array/Array.d.ts.map +1 -1
  342. package/script/oas/array/Array.js +4 -0
  343. package/script/oas/boolean/Boolean.d.ts +3 -1
  344. package/script/oas/boolean/Boolean.d.ts.map +1 -1
  345. package/script/oas/boolean/Boolean.js +4 -0
  346. package/script/oas/components/Components.d.ts +5 -0
  347. package/script/oas/components/Components.d.ts.map +1 -1
  348. package/script/oas/components/Components.js +6 -1
  349. package/script/oas/integer/Integer.d.ts +3 -1
  350. package/script/oas/integer/Integer.d.ts.map +1 -1
  351. package/script/oas/integer/Integer.js +4 -0
  352. package/script/oas/link/Link.d.ts +68 -0
  353. package/script/oas/link/Link.d.ts.map +1 -0
  354. package/script/oas/link/Link.js +111 -0
  355. package/script/oas/number/Number.d.ts +3 -1
  356. package/script/oas/number/Number.d.ts.map +1 -1
  357. package/script/oas/number/Number.js +4 -0
  358. package/script/oas/object/Object.d.ts +9 -0
  359. package/script/oas/object/Object.d.ts.map +1 -1
  360. package/script/oas/object/Object.js +14 -0
  361. package/script/oas/operation/Operation.d.ts +15 -0
  362. package/script/oas/operation/Operation.d.ts.map +1 -1
  363. package/script/oas/operation/Operation.js +33 -0
  364. package/script/oas/ref/Ref.d.ts +23 -1
  365. package/script/oas/ref/Ref.d.ts.map +1 -1
  366. package/script/oas/ref/Ref.js +32 -0
  367. package/script/oas/ref/ref-types.d.ts +18 -1
  368. package/script/oas/ref/ref-types.d.ts.map +1 -1
  369. package/script/oas/ref/ref-types.js +13 -2
  370. package/script/oas/response/Response.d.ts +4 -0
  371. package/script/oas/response/Response.d.ts.map +1 -1
  372. package/script/oas/response/Response.js +7 -0
  373. package/script/oas/schemaPath/traverseSchema.d.ts +31 -0
  374. package/script/oas/schemaPath/traverseSchema.d.ts.map +1 -0
  375. package/script/oas/schemaPath/traverseSchema.js +117 -0
  376. package/script/oas/string/String.d.ts +3 -1
  377. package/script/oas/string/String.d.ts.map +1 -1
  378. package/script/oas/string/String.js +4 -0
  379. package/script/oas/union/Union.d.ts +9 -0
  380. package/script/oas/union/Union.d.ts.map +1 -1
  381. package/script/oas/union/Union.js +14 -0
  382. package/script/oas/unknown/Unknown.d.ts +3 -1
  383. package/script/oas/unknown/Unknown.d.ts.map +1 -1
  384. package/script/oas/unknown/Unknown.js +4 -0
  385. package/script/parse/v3-0/components/toComponentsV3.d.ts.map +1 -1
  386. package/script/parse/v3-0/components/toComponentsV3.js +3 -1
  387. package/script/parse/v3-0/link/toLinksV3.d.ts +17 -0
  388. package/script/parse/v3-0/link/toLinksV3.d.ts.map +1 -0
  389. package/script/parse/v3-0/link/toLinksV3.js +44 -0
  390. package/script/parse/v3-0/object/toObject.d.ts.map +1 -1
  391. package/script/parse/v3-0/object/toObject.js +3 -1
  392. package/script/parse/v3-0/response/toResponseV3.d.ts.map +1 -1
  393. package/script/parse/v3-0/response/toResponseV3.js +4 -1
  394. package/script/parse/v3-0/union/toUnion.d.ts.map +1 -1
  395. package/script/parse/v3-0/union/toUnion.js +3 -1
  396. package/script/parse/v3-1/components/toComponentsV3.d.ts.map +1 -1
  397. package/script/parse/v3-1/components/toComponentsV3.js +3 -1
  398. package/script/parse/v3-1/link/toLinksV3.d.ts +17 -0
  399. package/script/parse/v3-1/link/toLinksV3.d.ts.map +1 -0
  400. package/script/parse/v3-1/link/toLinksV3.js +44 -0
  401. package/script/parse/v3-1/object/toObject.d.ts.map +1 -1
  402. package/script/parse/v3-1/object/toObject.js +3 -1
  403. package/script/parse/v3-1/response/toResponseV3.d.ts.map +1 -1
  404. package/script/parse/v3-1/response/toResponseV3.js +4 -1
  405. package/script/parse/v3-1/union/toUnion.d.ts.map +1 -1
  406. package/script/parse/v3-1/union/toUnion.js +3 -1
  407. package/script/run/toArtifacts.d.ts +8 -1
  408. package/script/run/toArtifacts.d.ts.map +1 -1
  409. package/script/run/toArtifacts.js +5 -5
  410. package/script/run/toInspection.d.ts +8 -0
  411. package/script/run/toInspection.d.ts.map +1 -0
  412. package/script/run/toInspection.js +82 -0
  413. package/script/types/Enrichments.d.ts +19 -8
  414. package/script/types/Enrichments.d.ts.map +1 -1
  415. package/script/types/Enrichments.js +5 -4
  416. package/script/types/GeneratorType.d.ts +5 -5
  417. package/script/types/GeneratorType.d.ts.map +1 -1
  418. package/script/types/Manifest.d.ts +1 -2
  419. package/script/types/Manifest.d.ts.map +1 -1
  420. package/script/types/Manifest.js +0 -1
  421. package/script/types/ModuleSelect.d.ts +81 -0
  422. package/script/types/ModuleSelect.d.ts.map +1 -0
  423. package/script/types/ModuleSelect.js +101 -0
  424. package/script/types/Preview.d.ts +4 -27
  425. package/script/types/Preview.d.ts.map +1 -1
  426. package/script/types/Preview.js +5 -26
  427. package/script/types/SchemaPath.d.ts +17 -0
  428. package/script/types/SchemaPath.d.ts.map +1 -0
  429. package/script/types/{AccessorPath.js → SchemaPath.js} +7 -7
  430. package/script/types/Settings.d.ts +8 -0
  431. package/script/types/Settings.d.ts.map +1 -1
  432. package/script/types/Settings.js +1 -0
  433. package/script/types/SkmtcDocument.d.ts +1 -1
  434. package/script/types/SupportedSubjects.d.ts +1 -1
  435. package/esm/deps/jsr.io/@std/internal/1.0.13/_os.d.ts.map +0 -1
  436. package/esm/deps/jsr.io/@std/internal/1.0.13/_os.js +0 -12
  437. package/esm/types/AccessorPath.d.ts +0 -17
  438. package/esm/types/AccessorPath.d.ts.map +0 -1
  439. package/esm/types/AccessorPath.js +0 -9
  440. package/script/deps/jsr.io/@std/internal/1.0.13/_os.d.ts.map +0 -1
  441. package/script/types/AccessorPath.d.ts +0 -17
  442. package/script/types/AccessorPath.d.ts.map +0 -1
  443. /package/esm/deps/jsr.io/@std/fs/{1.0.23 → 1.0.24}/exists.d.ts +0 -0
  444. /package/esm/deps/jsr.io/@std/fs/{1.0.23 → 1.0.24}/exists.js +0 -0
  445. /package/esm/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/_os.d.ts +0 -0
  446. /package/esm/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.d.ts +0 -0
  447. /package/esm/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.js +0 -0
  448. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.d.ts +0 -0
  449. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.d.ts +0 -0
  450. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.d.ts +0 -0
  451. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.d.ts +0 -0
  452. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.d.ts +0 -0
  453. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.d.ts +0 -0
  454. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.d.ts +0 -0
  455. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.d.ts +0 -0
  456. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.d.ts +0 -0
  457. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/join.d.ts +0 -0
  458. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/normalize.d.ts +0 -0
  459. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.d.ts +0 -0
  460. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/from_file_url.d.ts +0 -0
  461. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/join.d.ts +0 -0
  462. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/normalize.d.ts +0 -0
  463. /package/script/deps/jsr.io/@std/fs/{1.0.23 → 1.0.24}/exists.d.ts +0 -0
  464. /package/script/deps/jsr.io/@std/fs/{1.0.23 → 1.0.24}/exists.js +0 -0
  465. /package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/_os.d.ts +0 -0
  466. /package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.d.ts +0 -0
  467. /package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.js +0 -0
  468. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.d.ts +0 -0
  469. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.d.ts +0 -0
  470. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.d.ts +0 -0
  471. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.d.ts +0 -0
  472. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.d.ts +0 -0
  473. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.d.ts +0 -0
  474. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.d.ts +0 -0
  475. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.d.ts +0 -0
  476. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.d.ts +0 -0
  477. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/join.d.ts +0 -0
  478. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/normalize.d.ts +0 -0
  479. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.d.ts +0 -0
  480. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/from_file_url.d.ts +0 -0
  481. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/join.d.ts +0 -0
  482. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/normalize.d.ts +0 -0
@@ -1,60 +1,42 @@
1
1
  import { FileBase } from './FileBase.js';
2
+ /**
3
+ * The neutral name/type filter every language's `findDefinitions` shares. The
4
+ * language passes its definition list and a `typeOf` extractor — the one
5
+ * lang-specific bit, which narrows to the language's Identifier subclass to
6
+ * read the typed `type` (returned here as the opaque `string`).
7
+ *
8
+ * - no `name` and no `type` → returns `all` (the whole list; the former
9
+ * `listDefinitions`).
10
+ * - otherwise → the matching subset, or `undefined` when nothing matches.
11
+ */
12
+ export const matchDefinitions = (all, query, typeOf) => {
13
+ const name = query?.name;
14
+ const type = query?.type;
15
+ if (name === undefined && type === undefined) {
16
+ return all;
17
+ }
18
+ const matches = all.filter(definition => {
19
+ const nameMatches = name === undefined || definition.identifier.name === name;
20
+ const typeMatches = type === undefined || typeOf(definition.identifier) === type;
21
+ return nameMatches && typeMatches;
22
+ });
23
+ return matches.length > 0 ? matches : undefined;
24
+ };
2
25
  /**
3
26
  * The base every language's *code* file extends — a {@link FileBase} that
4
- * also carries imports. (`JsonFile`, which has no imports, extends
5
- * {@link FileBase} directly.)
27
+ * coordinates definitions, imports, and re-exports. (`JsonFile`, with none of
28
+ * these, extends {@link FileBase} directly.)
6
29
  *
7
- * The import collection and its merge are **language-neutral**: imports are
8
- * held keyed by {@link ImportBase.mergeKey} and collapsed via
9
- * {@link ImportBase.merge}, with no language-specific logic. The spike
10
- * proved this same `Map` + merge serves TypeScript (per-module grouping,
11
- * type-tags) and Go (whole-package imports, discarded symbol lists)
12
- * identically — only the *arrangement* of the rendered import section
13
- * differs, which is why `toString()` stays abstract and lives on the
14
- * language subclass (`TsFile`, `GoFile`).
30
+ * Language-blind: the declaration type {@link findDefinitions} filters on is
31
+ * the opaque-boundary `string` here; a lang's concrete file narrows its own
32
+ * `findDefinitions` override to its `XxEntityType`.
33
+ *
34
+ * Pure contract — no fields, no merge logic. Storage AND the duplication/merge
35
+ * policy are language-specific and live in the concrete lang subclass; the
36
+ * engine speaks only these four neutral operations — three writers driven by
37
+ * `register`, plus {@link findDefinitions}, the read seam the cross-generator
38
+ * cache and file inspection use. The cache resolves a single primary by name
39
+ * via `findDefinitions({ name })?.[0]`.
15
40
  */
16
41
  export class CodeFileBase extends FileBase {
17
- constructor() {
18
- super(...arguments);
19
- /** Registered imports, keyed by {@link ImportBase.mergeKey}. */
20
- Object.defineProperty(this, "imports", {
21
- enumerable: true,
22
- configurable: true,
23
- writable: true,
24
- value: new Map()
25
- });
26
- /** Registered re-exports, keyed by {@link ReExportBase.mergeKey}. */
27
- Object.defineProperty(this, "reExports", {
28
- enumerable: true,
29
- configurable: true,
30
- writable: true,
31
- value: new Map()
32
- });
33
- }
34
- /**
35
- * Merge imports in, collapsing any that share a `mergeKey()` with an
36
- * existing entry via {@link ImportBase.merge}. Neutral — the engine's
37
- * `register` calls this on the abstract base for every language's file.
38
- */
39
- addImports(incoming) {
40
- for (const importEntry of incoming) {
41
- const key = importEntry.mergeKey();
42
- const existing = this.imports.get(key);
43
- this.imports.set(key, existing ? existing.merge(importEntry) : importEntry);
44
- }
45
- }
46
- /**
47
- * Merge re-exports in, collapsing any that share a `mergeKey()` with an
48
- * existing entry via {@link ReExportBase.merge}. Neutral — the engine's
49
- * `register` calls this on the abstract base; a language without
50
- * re-exports never receives any (its concise register vocabulary has no
51
- * `reExports` field).
52
- */
53
- addReExports(incoming) {
54
- for (const reExportEntry of incoming) {
55
- const key = reExportEntry.mergeKey();
56
- const existing = this.reExports.get(key);
57
- this.reExports.set(key, existing ? existing.merge(reExportEntry) : reExportEntry);
58
- }
59
- }
60
42
  }
@@ -1,41 +1,37 @@
1
- import type { DefinitionBase } from './Definition.js';
1
+ import type { Stringable } from './Stringable.js';
2
2
  /**
3
3
  * The language-neutral coordination surface shared by the engine and
4
4
  * every `@skmtc/lang-*` package's concrete file subclass.
5
5
  *
6
- * The engine (`GenerateContext` and the cross-generator cache) only ever
7
- * reads this surface — the file's `path` and its `definitions` map. It
8
- * never reads a file's language-specific output state (imports,
9
- * re-exports) or its rendered string, which is what keeps the engine
10
- * language-blind. A language package subclasses `FileBase`, adds its own
11
- * output state, and implements `toString()` to render itself.
6
+ * `FileBase` carries only what is common to *every* file — code or not:
7
+ * its `path`, an optional free-form `custom` content slot, and the
8
+ * `toString()` contract. It holds NO definitions, imports, or dedup
9
+ * policy — those are code-file concerns that live on {@link CodeFileBase}
10
+ * and the language subclass, which is what keeps the engine
11
+ * language-blind.
12
12
  *
13
- * `JsonFile` extends this too — a JSON file is a `FileBase` whose
14
- * `definitions` map stays empty and whose `toString()` serialises its
15
- * content. (See notes/lang: "JSON is a degenerate language".)
13
+ * `JsonFile` extends this directly — a JSON file has a `path`, serialises
14
+ * its content in `toString()`, and never touches definitions. (See
15
+ * notes/lang: "JSON is a degenerate language".)
16
16
  *
17
- * Lives in its own leaf module (only a type-only `DefinitionBase` import)
18
- * so that `File` and `JsonFile` — which both `extends FileBase` — can
19
- * import it without forming a value-level import cycle through `File.ts`.
17
+ * Lives in its own leaf module (only a type-only `Stringable` import) so
18
+ * that the file subclasses can import it without forming a value-level
19
+ * import cycle.
20
20
  */
21
21
  export declare abstract class FileBase {
22
22
  /** The file path for this generated file */
23
23
  path: string;
24
- /** Map of definition names to their Definition objects */
25
- definitions: Map<string, DefinitionBase>;
24
+ /**
25
+ * Optional free-form content. On a code file this is the leading banner
26
+ * (e.g. a codegen header); on an ad-hoc non-code file (Markdown, plain
27
+ * text) it can carry the body. Inert until a concrete subclass renders
28
+ * it in `toString()`. Set through the neutral `register` vocabulary's
29
+ * `custom` field (last write wins).
30
+ */
31
+ custom: Stringable | undefined;
26
32
  constructor({ path }: {
27
33
  path: string;
28
34
  });
29
- /**
30
- * Add a definition, deduplicating by identifier name (first write wins).
31
- *
32
- * Neutral: the engine's `register` calls this on the abstract base, so it
33
- * works for every language's file. Per-language duplication rules (e.g.
34
- * TypeScript declaration merging — a class and its `declare namespace`
35
- * sharing a name) belong in the language's file subclass, which overrides
36
- * this method.
37
- */
38
- addDefinition(definition: DefinitionBase): void;
39
35
  /** Renders the file's complete contents. Implemented by the subclass. */
40
36
  abstract toString(): string;
41
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FileBase.d.ts","sourceRoot":"","sources":["../../src/dsl/FileBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAAsB,QAAQ;IAC5B,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAA;IAEZ,0DAA0D;IAC1D,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;gBAE5B,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAKtC;;;;;;;;OAQG;IACH,aAAa,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;IAM/C,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,IAAI,MAAM;CAC5B"}
1
+ {"version":3,"file":"FileBase.d.ts","sourceRoot":"","sources":["../../src/dsl/FileBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAAsB,QAAQ;IAC5B,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAA;IAEZ;;;;;;OAMG;IACH,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;gBAElB,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAItC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,IAAI,MAAM;CAC5B"}
@@ -2,20 +2,20 @@
2
2
  * The language-neutral coordination surface shared by the engine and
3
3
  * every `@skmtc/lang-*` package's concrete file subclass.
4
4
  *
5
- * The engine (`GenerateContext` and the cross-generator cache) only ever
6
- * reads this surface — the file's `path` and its `definitions` map. It
7
- * never reads a file's language-specific output state (imports,
8
- * re-exports) or its rendered string, which is what keeps the engine
9
- * language-blind. A language package subclasses `FileBase`, adds its own
10
- * output state, and implements `toString()` to render itself.
5
+ * `FileBase` carries only what is common to *every* file — code or not:
6
+ * its `path`, an optional free-form `custom` content slot, and the
7
+ * `toString()` contract. It holds NO definitions, imports, or dedup
8
+ * policy — those are code-file concerns that live on {@link CodeFileBase}
9
+ * and the language subclass, which is what keeps the engine
10
+ * language-blind.
11
11
  *
12
- * `JsonFile` extends this too — a JSON file is a `FileBase` whose
13
- * `definitions` map stays empty and whose `toString()` serialises its
14
- * content. (See notes/lang: "JSON is a degenerate language".)
12
+ * `JsonFile` extends this directly — a JSON file has a `path`, serialises
13
+ * its content in `toString()`, and never touches definitions. (See
14
+ * notes/lang: "JSON is a degenerate language".)
15
15
  *
16
- * Lives in its own leaf module (only a type-only `DefinitionBase` import)
17
- * so that `File` and `JsonFile` — which both `extends FileBase` — can
18
- * import it without forming a value-level import cycle through `File.ts`.
16
+ * Lives in its own leaf module (only a type-only `Stringable` import) so
17
+ * that the file subclasses can import it without forming a value-level
18
+ * import cycle.
19
19
  */
20
20
  export class FileBase {
21
21
  constructor({ path }) {
@@ -26,28 +26,19 @@ export class FileBase {
26
26
  writable: true,
27
27
  value: void 0
28
28
  });
29
- /** Map of definition names to their Definition objects */
30
- Object.defineProperty(this, "definitions", {
29
+ /**
30
+ * Optional free-form content. On a code file this is the leading banner
31
+ * (e.g. a codegen header); on an ad-hoc non-code file (Markdown, plain
32
+ * text) it can carry the body. Inert until a concrete subclass renders
33
+ * it in `toString()`. Set through the neutral `register` vocabulary's
34
+ * `custom` field (last write wins).
35
+ */
36
+ Object.defineProperty(this, "custom", {
31
37
  enumerable: true,
32
38
  configurable: true,
33
39
  writable: true,
34
40
  value: void 0
35
41
  });
36
42
  this.path = path;
37
- this.definitions = new Map();
38
- }
39
- /**
40
- * Add a definition, deduplicating by identifier name (first write wins).
41
- *
42
- * Neutral: the engine's `register` calls this on the abstract base, so it
43
- * works for every language's file. Per-language duplication rules (e.g.
44
- * TypeScript declaration merging — a class and its `declare namespace`
45
- * sharing a name) belong in the language's file subclass, which overrides
46
- * this method.
47
- */
48
- addDefinition(definition) {
49
- if (!this.definitions.has(definition.identifier.name)) {
50
- this.definitions.set(definition.identifier.name, definition);
51
- }
52
43
  }
53
44
  }
@@ -129,7 +129,7 @@ export type OasOperationGeneratorKey = Brand<NakedOasOperationGeneratorKey, 'Oas
129
129
  * Branded type for GraphQL operation generator keys.
130
130
  *
131
131
  * Sibling to {@link OasOperationGeneratorKey} for the GraphQL protocol. The key
132
- * encodes the generator ID, the root kind (`query` / `mutation` /
132
+ * encodes the generator ID, the root type (`query` / `mutation` /
133
133
  * `subscription`), and the root field name.
134
134
  */
135
135
  export type GqlOperationGeneratorKey = Brand<NakedGqlOperationGeneratorKey, 'GqlOperationGeneratorKey'>;
@@ -210,15 +210,15 @@ type ToOasOperationGeneratorKeyArgs = {
210
210
  path: string;
211
211
  /** HTTP method */
212
212
  method: Method;
213
- /** Operation variant name (use `'main'` for variants-unaware generators) */
214
- variant: string;
213
+ /** Operation variant name — omitted means `'main'` */
214
+ variant?: string;
215
215
  } | {
216
216
  /** Unique identifier for the generator */
217
217
  generatorId: string;
218
218
  /** OpenAPI operation object containing path and method */
219
219
  operation: OasOperation;
220
- /** Operation variant name (use `'main'` for variants-unaware generators) */
221
- variant: string;
220
+ /** Operation variant name — omitted means `'main'` */
221
+ variant?: string;
222
222
  };
223
223
  /**
224
224
  * Creates an OAS operation generator key from generator ID and operation details.
@@ -271,15 +271,15 @@ type ToWebhookGeneratorKeyArgs = {
271
271
  name: string;
272
272
  /** HTTP method */
273
273
  method: Method;
274
- /** Webhook variant name (use `'main'` for variants-unaware generators) */
275
- variant: string;
274
+ /** Webhook variant name — omitted means `'main'` */
275
+ variant?: string;
276
276
  } | {
277
277
  /** Unique identifier for the generator */
278
278
  generatorId: string;
279
279
  /** OpenAPI webhook object containing name and method */
280
280
  webhook: OasWebhook;
281
- /** Webhook variant name (use `'main'` for variants-unaware generators) */
282
- variant: string;
281
+ /** Webhook variant name — omitted means `'main'` */
282
+ variant?: string;
283
283
  };
284
284
  /**
285
285
  * Creates a webhook generator key from generator ID and webhook details.
@@ -293,25 +293,25 @@ export declare const toWebhookGeneratorKey: ({ generatorId, variant, ...rest }:
293
293
  * Arguments for {@link toGqlOperationGeneratorKey}.
294
294
  *
295
295
  * Can specify operation details directly or provide a {@link GqlOperation}
296
- * object from which the root kind and field name will be extracted. The
296
+ * object from which the root type and field name will be extracted. The
297
297
  * `variant` segment is always required (see {@link Variant}).
298
298
  */
299
299
  type ToGqlOperationGeneratorKeyArgs = {
300
300
  /** Unique identifier for the generator */
301
301
  generatorId: string;
302
- /** GraphQL root kind */
302
+ /** GraphQL root type */
303
303
  rootKind: GqlRootKind;
304
304
  /** Root field name */
305
305
  fieldName: string;
306
- /** Operation variant name (use `'main'` for variants-unaware generators) */
307
- variant: string;
306
+ /** Operation variant name — omitted means `'main'` */
307
+ variant?: string;
308
308
  } | {
309
309
  /** Unique identifier for the generator */
310
310
  generatorId: string;
311
311
  /** GraphQL operation object */
312
312
  operation: GqlOperation;
313
- /** Operation variant name (use `'main'` for variants-unaware generators) */
314
- variant: string;
313
+ /** Operation variant name — omitted means `'main'` */
314
+ variant?: string;
315
315
  };
316
316
  /**
317
317
  * Creates a GraphQL operation generator key.
@@ -331,8 +331,8 @@ type ToModelGeneratorKeyArgs = {
331
331
  generatorId: string;
332
332
  /** Reference name of the schema model */
333
333
  refName: RefName;
334
- /** Model variant name (use `'main'` for variants-unaware generators) */
335
- variant: string;
334
+ /** Model variant name — omitted means `'main'` */
335
+ variant?: string;
336
336
  };
337
337
  /**
338
338
  * Creates a model generator key from generator ID, schema reference name,
@@ -455,7 +455,7 @@ export declare const isWebhookGeneratorKey: (arg: unknown) => arg is WebhookGene
455
455
  *
456
456
  * Validates that the argument is a string with the format
457
457
  * `generatorId|rootKind|fieldName`, with `rootKind` constrained to a
458
- * GraphQL root operation kind (`query` / `mutation` / `subscription`).
458
+ * GraphQL root operation type (`query` / `mutation` / `subscription`).
459
459
  */
460
460
  export declare const isGqlOperationGeneratorKey: (arg: unknown) => arg is GqlOperationGeneratorKey;
461
461
  /**
@@ -572,7 +572,7 @@ export type GeneratorKeyObject = {
572
572
  type: 'gqlOperation';
573
573
  /** Generator identifier */
574
574
  generatorId: string;
575
- /** GraphQL root kind */
575
+ /** GraphQL root type */
576
576
  rootKind: GqlRootKind;
577
577
  /** Root field name */
578
578
  fieldName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorKeys.d.ts","sourceRoot":"","sources":["../../src/dsl/GeneratorKeys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeneratorKeys.d.ts","sourceRoot":"","sources":["../../src/dsl/GeneratorKeys.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,7 @@
65
65
  */
66
66
  import "../_dnt.polyfills.js";
67
67
  import { isMethod } from '../types/Method.js';
68
+ import { DEFAULT_VARIANT } from '../types/Variant.js';
68
69
  const GQL_ROOT_KINDS = ['query', 'mutation', 'subscription'];
69
70
  const isGqlRootKind = (value) => GQL_ROOT_KINDS.includes(value);
70
71
  /**
@@ -102,7 +103,7 @@ const isGqlRootKind = (value) => GQL_ROOT_KINDS.includes(value);
102
103
  * // Result: 'rest-client|/posts|post' (branded)
103
104
  * ```
104
105
  */
105
- export const toOasOperationGeneratorKey = ({ generatorId, variant, ...rest }) => {
106
+ export const toOasOperationGeneratorKey = ({ generatorId, variant = DEFAULT_VARIANT, ...rest }) => {
106
107
  const { path, method } = 'operation' in rest ? rest.operation : rest;
107
108
  const nakedKey = `${generatorId}|${path}|${method}|${variant}`;
108
109
  return nakedKey;
@@ -114,7 +115,7 @@ export const toOasOperationGeneratorKey = ({ generatorId, variant, ...rest }) =>
114
115
  * Format: `generatorId|webhook|name|method|variant`. The literal `webhook`
115
116
  * segment keeps webhook keys from colliding with operation keys.
116
117
  */
117
- export const toWebhookGeneratorKey = ({ generatorId, variant, ...rest }) => {
118
+ export const toWebhookGeneratorKey = ({ generatorId, variant = DEFAULT_VARIANT, ...rest }) => {
118
119
  const { name, method } = 'webhook' in rest ? rest.webhook : rest;
119
120
  const nakedKey = `${generatorId}|webhook|${name}|${method}|${variant}`;
120
121
  return nakedKey;
@@ -125,7 +126,7 @@ export const toWebhookGeneratorKey = ({ generatorId, variant, ...rest }) => {
125
126
  * Sibling to {@link toOasOperationGeneratorKey} for the GraphQL protocol. Format:
126
127
  * `generatorId|rootKind|fieldName|variant`.
127
128
  */
128
- export const toGqlOperationGeneratorKey = ({ generatorId, variant, ...rest }) => {
129
+ export const toGqlOperationGeneratorKey = ({ generatorId, variant = DEFAULT_VARIANT, ...rest }) => {
129
130
  const { rootKind, fieldName } = 'operation' in rest
130
131
  ? { rootKind: rest.operation.rootKind, fieldName: rest.operation.fieldName }
131
132
  : rest;
@@ -160,7 +161,7 @@ export const toGqlOperationGeneratorKey = ({ generatorId, variant, ...rest }) =>
160
161
  * // Result: 'zod-schemas|CreateUserRequest|coercive' (branded)
161
162
  * ```
162
163
  */
163
- export const toModelGeneratorKey = ({ generatorId, refName, variant }) => {
164
+ export const toModelGeneratorKey = ({ generatorId, refName, variant = DEFAULT_VARIANT }) => {
164
165
  const nakedKey = `${generatorId}|${refName}|${variant}`;
165
166
  return nakedKey;
166
167
  };
@@ -305,7 +306,7 @@ export const isWebhookGeneratorKey = (arg) => {
305
306
  *
306
307
  * Validates that the argument is a string with the format
307
308
  * `generatorId|rootKind|fieldName`, with `rootKind` constrained to a
308
- * GraphQL root operation kind (`query` / `mutation` / `subscription`).
309
+ * GraphQL root operation type (`query` / `mutation` / `subscription`).
309
310
  */
310
311
  export const isGqlOperationGeneratorKey = (arg) => {
311
312
  if (typeof arg !== 'string') {
@@ -17,19 +17,19 @@ export type IdentifierBaseArgs = {
17
17
  * `(name, exportPath)` cross-generator cache key, and `DefinitionBase`. The
18
18
  * engine reads ONLY `.name` (the cache-key source); `typeName` and
19
19
  * `exported` are language-neutral facts it threads but never interprets.
20
- * Crucially it carries NO `kind` — the per-language declaration vocabulary
20
+ * Crucially it carries NO `type` — the per-language declaration vocabulary
21
21
  * lives, typed, on the language subclasses.
22
22
  *
23
23
  * It completes the neutral `*Base` family
24
24
  * (`CodeFileBase` / `DefinitionBase` / `ImportBase`): the concrete,
25
- * kind-carrying subclasses (`TsIdentifier`, `KtIdentifier`) live in the
25
+ * type-carrying subclasses (`TsIdentifier`, `KtIdentifier`) live in the
26
26
  * `@skmtc/lang-*` packages and **extend** this base. Construction goes
27
27
  * through a language package's factories (`createVariable` / `createType`
28
28
  * for TypeScript; `createDataClass` / `createEnumClass` / … for Kotlin) or
29
29
  * the engine's assembly seam `lang.toIdentifier({ name, ...identifierType })`.
30
- * The engine holds the result as `IdentifierBase`; the language's `kind` is
31
- * read only by the language renderers, which narrow via an `instanceof`
32
- * guard (`isTsIdentifier` / `isKtIdentifier`).
30
+ * The engine holds the result as `IdentifierBase`; the language's `type` is
31
+ * read only by the language renderers, which narrow back to the concrete
32
+ * subclass via `instanceof` (e.g. `value instanceof TsIdentifier`).
33
33
  */
34
34
  export declare class IdentifierBase {
35
35
  /** The identifier name — the only field the engine reads. */
@@ -51,5 +51,19 @@ export declare class IdentifierBase {
51
51
  * identifier is interpolated into generated code.
52
52
  */
53
53
  toString(): string;
54
+ /**
55
+ * The key under which a file stores and dedups this identifier's
56
+ * definition: two definitions whose identifiers share a `declarationKey`
57
+ * occupy the same declaration slot, so the later one collapses into the
58
+ * first (the cross-generator cache then resolves a name to its
59
+ * first-registered definition).
60
+ *
61
+ * The neutral default is the bare {@link name} — one definition per name,
62
+ * which is what most languages want. A language whose declaration space is
63
+ * richer overrides this: TypeScript folds in the declaration `type` so a
64
+ * `class Foo` and a `declare namespace Foo` — distinct declarations the
65
+ * compiler legitimately merges — get distinct keys instead of colliding.
66
+ */
67
+ declarationKey(): string;
54
68
  }
55
69
  //# sourceMappingURL=IdentifierBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IdentifierBase.d.ts","sourceRoot":"","sources":["../../src/dsl/IdentifierBase.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,cAAc;IACzB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IAEZ,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;;;;OAOG;IACH,QAAQ,EAAE,OAAO,CAAA;gBAEL,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,kBAAkB;IAM5D;;;OAGG;IACH,QAAQ,IAAI,MAAM;CAGnB"}
1
+ {"version":3,"file":"IdentifierBase.d.ts","sourceRoot":"","sources":["../../src/dsl/IdentifierBase.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,cAAc;IACzB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IAEZ,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;;;;OAOG;IACH,QAAQ,EAAE,OAAO,CAAA;gBAEL,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,kBAAkB;IAM5D;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;;;;;OAYG;IACH,cAAc,IAAI,MAAM;CAGzB"}
@@ -6,19 +6,19 @@
6
6
  * `(name, exportPath)` cross-generator cache key, and `DefinitionBase`. The
7
7
  * engine reads ONLY `.name` (the cache-key source); `typeName` and
8
8
  * `exported` are language-neutral facts it threads but never interprets.
9
- * Crucially it carries NO `kind` — the per-language declaration vocabulary
9
+ * Crucially it carries NO `type` — the per-language declaration vocabulary
10
10
  * lives, typed, on the language subclasses.
11
11
  *
12
12
  * It completes the neutral `*Base` family
13
13
  * (`CodeFileBase` / `DefinitionBase` / `ImportBase`): the concrete,
14
- * kind-carrying subclasses (`TsIdentifier`, `KtIdentifier`) live in the
14
+ * type-carrying subclasses (`TsIdentifier`, `KtIdentifier`) live in the
15
15
  * `@skmtc/lang-*` packages and **extend** this base. Construction goes
16
16
  * through a language package's factories (`createVariable` / `createType`
17
17
  * for TypeScript; `createDataClass` / `createEnumClass` / … for Kotlin) or
18
18
  * the engine's assembly seam `lang.toIdentifier({ name, ...identifierType })`.
19
- * The engine holds the result as `IdentifierBase`; the language's `kind` is
20
- * read only by the language renderers, which narrow via an `instanceof`
21
- * guard (`isTsIdentifier` / `isKtIdentifier`).
19
+ * The engine holds the result as `IdentifierBase`; the language's `type` is
20
+ * read only by the language renderers, which narrow back to the concrete
21
+ * subclass via `instanceof` (e.g. `value instanceof TsIdentifier`).
22
22
  */
23
23
  export class IdentifierBase {
24
24
  constructor({ name, typeName, exported }) {
@@ -61,4 +61,20 @@ export class IdentifierBase {
61
61
  toString() {
62
62
  return this.name;
63
63
  }
64
+ /**
65
+ * The key under which a file stores and dedups this identifier's
66
+ * definition: two definitions whose identifiers share a `declarationKey`
67
+ * occupy the same declaration slot, so the later one collapses into the
68
+ * first (the cross-generator cache then resolves a name to its
69
+ * first-registered definition).
70
+ *
71
+ * The neutral default is the bare {@link name} — one definition per name,
72
+ * which is what most languages want. A language whose declaration space is
73
+ * richer overrides this: TypeScript folds in the declaration `type` so a
74
+ * `class Foo` and a `declare namespace Foo` — distinct declarations the
75
+ * compiler legitimately merges — get distinct keys instead of colliding.
76
+ */
77
+ declarationKey() {
78
+ return this.name;
79
+ }
64
80
  }
@@ -1,28 +1,22 @@
1
- import type { Lang, LangKind } from './Lang.js';
2
1
  /**
3
2
  * The non-`name` parts of an identifier — everything a projection's
4
3
  * `toIdentifierType` derives from the schema (context-aware), bundled so
5
4
  * the engine can assemble the full identifier with
6
5
  * `lang.toIdentifier({ name, ...identifierType })`.
7
6
  *
8
- * Generic over the projection's {@link Lang}: the `kind` is drawn from that
9
- * language's declaration vocabulary, recovered via {@link LangKind} from the
10
- * typed `kind` on the {@link import('@/dsl/IdentifierBase.ts').IdentifierBase}
11
- * subclass the lang produces (`KtEntityKind` for `KtLang`, `TsEntityKind` for
12
- * the TypeScript `Lang`, …). A bare `Lang` falls back to the loose
13
- * `kind: string` — the opaque-kind boundary the engine never interprets.
14
- *
15
- * This is what lets a language's projection-base veneer parameterize core's
16
- * config (`ModelProjectionBaseConfig<E, KtLang>`) instead of recasting
17
- * `toIdentifierType`'s return: the tightening rides the `L` type argument.
7
+ * The `type` is the opaque-boundary `string` — the engine never interprets
8
+ * it. Each language's declaration-type vocabulary is a fixed fact of its lang
9
+ * package; a lang veneer tightens `toIdentifierType`'s return to its own
10
+ * `XxIdentifierType` (`type` narrowed to `XxEntityType`), which is assignable
11
+ * back to this shape. Core never models or recovers that vocabulary.
18
12
  *
19
13
  * Pairs with `toIdentifierName(args) -> string` (the pure, cache-key
20
14
  * source): the engine assembles
21
15
  * `lang.toIdentifier({ name: P.toIdentifierName(args), ...P.toIdentifierType(coordinate, context) })`.
22
16
  */
23
- export type IdentifierType<L extends Lang = Lang> = {
24
- /** Per-language declaration kind — `LangKind<L>`, opaque to the engine. */
25
- kind: LangKind<L>;
17
+ export type IdentifierType = {
18
+ /** Per-language declaration type — the opaque-boundary `string`. */
19
+ type: string;
26
20
  /** Optional type annotation, opaque to the engine (lang-interpreted). */
27
21
  typeName?: string;
28
22
  /** Whether the identifier is exported. Defaults to `true`. */
@@ -1 +1 @@
1
- {"version":3,"file":"IdentifierType.d.ts","sourceRoot":"","sources":["../../src/dsl/IdentifierType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI;IAClD,2EAA2E;IAC3E,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA"}
1
+ {"version":3,"file":"IdentifierType.d.ts","sourceRoot":"","sources":["../../src/dsl/IdentifierType.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAA;IACZ,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA"}