@techspokes/typescript-wsdl-client 1.1.4 → 1.1.5

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 (355) hide show
  1. package/README.md +49 -1
  2. package/dist/app/generateApp.d.ts.map +1 -1
  3. package/dist/app/generateApp.js +8 -6
  4. package/dist/cli.js +49 -5
  5. package/dist/client/checkedDirectRuntime.d.ts +59 -0
  6. package/dist/client/checkedDirectRuntime.d.ts.map +1 -0
  7. package/dist/client/checkedDirectRuntime.js +23 -0
  8. package/dist/client/directClientRuntime.d.ts +49 -0
  9. package/dist/client/directClientRuntime.d.ts.map +1 -0
  10. package/dist/client/directClientRuntime.js +112 -0
  11. package/dist/client/directClientVersion.d.ts +4 -0
  12. package/dist/client/directClientVersion.d.ts.map +1 -0
  13. package/dist/client/directClientVersion.js +3 -0
  14. package/dist/client/generateDirectClient.d.ts +14 -0
  15. package/dist/client/generateDirectClient.d.ts.map +1 -0
  16. package/dist/client/generateDirectClient.js +136 -0
  17. package/dist/compiler/buildCanonicalGraph.d.ts +7 -0
  18. package/dist/compiler/buildCanonicalGraph.d.ts.map +1 -0
  19. package/dist/compiler/buildCanonicalGraph.js +381 -0
  20. package/dist/compiler/canonicalGraph.d.ts +198 -0
  21. package/dist/compiler/canonicalGraph.d.ts.map +1 -0
  22. package/dist/compiler/canonicalGraph.js +37 -0
  23. package/dist/compiler/catalogErrors.d.ts +18 -0
  24. package/dist/compiler/catalogErrors.d.ts.map +1 -0
  25. package/dist/compiler/catalogErrors.js +86 -0
  26. package/dist/compiler/catalogProvenance.d.ts +15 -0
  27. package/dist/compiler/catalogProvenance.d.ts.map +1 -0
  28. package/dist/compiler/catalogProvenance.js +229 -0
  29. package/dist/compiler/checkedAssessment.d.ts +91 -0
  30. package/dist/compiler/checkedAssessment.d.ts.map +1 -0
  31. package/dist/compiler/checkedAssessment.js +300 -0
  32. package/dist/compiler/checkedSourcePreparation.d.ts +35 -0
  33. package/dist/compiler/checkedSourcePreparation.d.ts.map +1 -0
  34. package/dist/compiler/checkedSourcePreparation.js +131 -0
  35. package/dist/compiler/complexTypeContent.d.ts +59 -0
  36. package/dist/compiler/complexTypeContent.d.ts.map +1 -0
  37. package/dist/compiler/complexTypeContent.js +558 -0
  38. package/dist/compiler/composeCanonicalGraph.d.ts +69 -0
  39. package/dist/compiler/composeCanonicalGraph.d.ts.map +1 -0
  40. package/dist/compiler/composeCanonicalGraph.js +252 -0
  41. package/dist/compiler/dataOwnership.d.ts +22 -0
  42. package/dist/compiler/dataOwnership.d.ts.map +1 -0
  43. package/dist/compiler/dataOwnership.js +157 -0
  44. package/dist/compiler/datatypeValues.d.ts +47 -0
  45. package/dist/compiler/datatypeValues.d.ts.map +1 -0
  46. package/dist/compiler/datatypeValues.js +275 -0
  47. package/dist/compiler/directCodec.d.ts +59 -0
  48. package/dist/compiler/directCodec.d.ts.map +1 -0
  49. package/dist/compiler/directCodec.js +192 -0
  50. package/dist/compiler/directExecutionPolicy.d.ts +10 -0
  51. package/dist/compiler/directExecutionPolicy.d.ts.map +1 -0
  52. package/dist/compiler/directExecutionPolicy.js +17 -0
  53. package/dist/compiler/directOperation.d.ts +72 -0
  54. package/dist/compiler/directOperation.d.ts.map +1 -0
  55. package/dist/compiler/directOperation.js +282 -0
  56. package/dist/compiler/directSoap.d.ts +42 -0
  57. package/dist/compiler/directSoap.d.ts.map +1 -0
  58. package/dist/compiler/directSoap.js +298 -0
  59. package/dist/compiler/directSoapSource.d.ts +15 -0
  60. package/dist/compiler/directSoapSource.d.ts.map +1 -0
  61. package/dist/compiler/directSoapSource.js +86 -0
  62. package/dist/compiler/directSourceCapsule.d.ts +97 -0
  63. package/dist/compiler/directSourceCapsule.d.ts.map +1 -0
  64. package/dist/compiler/directSourceCapsule.js +305 -0
  65. package/dist/compiler/directStructure.d.ts +51 -0
  66. package/dist/compiler/directStructure.d.ts.map +1 -0
  67. package/dist/compiler/directStructure.js +252 -0
  68. package/dist/compiler/directStructurePlan.d.ts +16 -0
  69. package/dist/compiler/directStructurePlan.d.ts.map +1 -0
  70. package/dist/compiler/directStructurePlan.js +58 -0
  71. package/dist/compiler/directValues.d.ts +69 -0
  72. package/dist/compiler/directValues.d.ts.map +1 -0
  73. package/dist/compiler/directValues.js +282 -0
  74. package/dist/compiler/finiteRe01Verification.d.ts +140 -0
  75. package/dist/compiler/finiteRe01Verification.d.ts.map +1 -0
  76. package/dist/compiler/finiteRe01Verification.js +830 -0
  77. package/dist/compiler/graphTraversal.d.ts +11 -0
  78. package/dist/compiler/graphTraversal.d.ts.map +1 -0
  79. package/dist/compiler/graphTraversal.js +37 -0
  80. package/dist/compiler/hypotheticalScopedIdentity.d.ts +23 -0
  81. package/dist/compiler/hypotheticalScopedIdentity.d.ts.map +1 -0
  82. package/dist/compiler/hypotheticalScopedIdentity.js +81 -0
  83. package/dist/compiler/occurrenceAnalysis.d.ts +65 -0
  84. package/dist/compiler/occurrenceAnalysis.d.ts.map +1 -0
  85. package/dist/compiler/occurrenceAnalysis.js +300 -0
  86. package/dist/compiler/originalSourceMembership.d.ts +6 -0
  87. package/dist/compiler/originalSourceMembership.d.ts.map +1 -0
  88. package/dist/compiler/originalSourceMembership.js +31 -0
  89. package/dist/compiler/particleAttribution.d.ts +17 -0
  90. package/dist/compiler/particleAttribution.d.ts.map +1 -0
  91. package/dist/compiler/particleAttribution.js +474 -0
  92. package/dist/compiler/particleDeclarationConsistency.d.ts +24 -0
  93. package/dist/compiler/particleDeclarationConsistency.d.ts.map +1 -0
  94. package/dist/compiler/particleDeclarationConsistency.js +197 -0
  95. package/dist/compiler/particleExtension.d.ts +22 -0
  96. package/dist/compiler/particleExtension.d.ts.map +1 -0
  97. package/dist/compiler/particleExtension.js +119 -0
  98. package/dist/compiler/particleLocalAssessment.d.ts +20 -0
  99. package/dist/compiler/particleLocalAssessment.d.ts.map +1 -0
  100. package/dist/compiler/particleLocalAssessment.js +92 -0
  101. package/dist/compiler/particleRestriction.d.ts +24 -0
  102. package/dist/compiler/particleRestriction.d.ts.map +1 -0
  103. package/dist/compiler/particleRestriction.js +489 -0
  104. package/dist/compiler/particleSemanticView.d.ts +50 -0
  105. package/dist/compiler/particleSemanticView.d.ts.map +1 -0
  106. package/dist/compiler/particleSemanticView.js +297 -0
  107. package/dist/compiler/particleWildcardRelation.d.ts +88 -0
  108. package/dist/compiler/particleWildcardRelation.d.ts.map +1 -0
  109. package/dist/compiler/particleWildcardRelation.js +143 -0
  110. package/dist/compiler/re01CandidateCorrespondence.d.ts +64 -0
  111. package/dist/compiler/re01CandidateCorrespondence.d.ts.map +1 -0
  112. package/dist/compiler/re01CandidateCorrespondence.js +572 -0
  113. package/dist/compiler/re01TypeProperties.d.ts +71 -0
  114. package/dist/compiler/re01TypeProperties.d.ts.map +1 -0
  115. package/dist/compiler/re01TypeProperties.js +120 -0
  116. package/dist/compiler/re01TypePropertyValidation.d.ts +23 -0
  117. package/dist/compiler/re01TypePropertyValidation.d.ts.map +1 -0
  118. package/dist/compiler/re01TypePropertyValidation.js +161 -0
  119. package/dist/compiler/resolveCanonicalGraph.d.ts +38 -0
  120. package/dist/compiler/resolveCanonicalGraph.d.ts.map +1 -0
  121. package/dist/compiler/resolveCanonicalGraph.js +170 -0
  122. package/dist/compiler/scalarSchemaAssessment.d.ts +425 -0
  123. package/dist/compiler/scalarSchemaAssessment.d.ts.map +1 -0
  124. package/dist/compiler/scalarSchemaAssessment.js +5198 -0
  125. package/dist/compiler/schemaAttributeGroupProperties.d.ts +17 -0
  126. package/dist/compiler/schemaAttributeGroupProperties.d.ts.map +1 -0
  127. package/dist/compiler/schemaAttributeGroupProperties.js +53 -0
  128. package/dist/compiler/schemaAttributeProperties.d.ts +10 -0
  129. package/dist/compiler/schemaAttributeProperties.d.ts.map +1 -0
  130. package/dist/compiler/schemaAttributeProperties.js +11 -0
  131. package/dist/compiler/schemaAttributeUses.d.ts +90 -0
  132. package/dist/compiler/schemaAttributeUses.d.ts.map +1 -0
  133. package/dist/compiler/schemaAttributeUses.js +725 -0
  134. package/dist/compiler/schemaBinaryWordReconstruction.d.ts +10 -0
  135. package/dist/compiler/schemaBinaryWordReconstruction.d.ts.map +1 -0
  136. package/dist/compiler/schemaBinaryWordReconstruction.js +33 -0
  137. package/dist/compiler/schemaBuiltinFacets.d.ts +14 -0
  138. package/dist/compiler/schemaBuiltinFacets.d.ts.map +1 -0
  139. package/dist/compiler/schemaBuiltinFacets.js +51 -0
  140. package/dist/compiler/schemaCalendarImages.d.ts +8 -0
  141. package/dist/compiler/schemaCalendarImages.d.ts.map +1 -0
  142. package/dist/compiler/schemaCalendarImages.js +204 -0
  143. package/dist/compiler/schemaCalendarLanguage.d.ts +11 -0
  144. package/dist/compiler/schemaCalendarLanguage.d.ts.map +1 -0
  145. package/dist/compiler/schemaCalendarLanguage.js +227 -0
  146. package/dist/compiler/schemaComponentEquality.d.ts +28 -0
  147. package/dist/compiler/schemaComponentEquality.d.ts.map +1 -0
  148. package/dist/compiler/schemaComponentEquality.js +446 -0
  149. package/dist/compiler/schemaConstructionAssessment.d.ts +46 -0
  150. package/dist/compiler/schemaConstructionAssessment.d.ts.map +1 -0
  151. package/dist/compiler/schemaConstructionAssessment.js +663 -0
  152. package/dist/compiler/schemaDatatypeValues.d.ts +4 -0
  153. package/dist/compiler/schemaDatatypeValues.d.ts.map +1 -0
  154. package/dist/compiler/schemaDatatypeValues.js +2 -0
  155. package/dist/compiler/schemaDecimalLanguage.d.ts +7 -0
  156. package/dist/compiler/schemaDecimalLanguage.d.ts.map +1 -0
  157. package/dist/compiler/schemaDecimalLanguage.js +102 -0
  158. package/dist/compiler/schemaDeclarationPrimitives.d.ts +34 -0
  159. package/dist/compiler/schemaDeclarationPrimitives.d.ts.map +1 -0
  160. package/dist/compiler/schemaDeclarationPrimitives.js +194 -0
  161. package/dist/compiler/schemaDocumentSyntax.d.ts +55 -0
  162. package/dist/compiler/schemaDocumentSyntax.d.ts.map +1 -0
  163. package/dist/compiler/schemaDocumentSyntax.js +294 -0
  164. package/dist/compiler/schemaDurationLanguage.d.ts +11 -0
  165. package/dist/compiler/schemaDurationLanguage.d.ts.map +1 -0
  166. package/dist/compiler/schemaDurationLanguage.js +170 -0
  167. package/dist/compiler/schemaElementProperties.d.ts +16 -0
  168. package/dist/compiler/schemaElementProperties.d.ts.map +1 -0
  169. package/dist/compiler/schemaElementProperties.js +23 -0
  170. package/dist/compiler/schemaEndpointWordCapacity.d.ts +36 -0
  171. package/dist/compiler/schemaEndpointWordCapacity.d.ts.map +1 -0
  172. package/dist/compiler/schemaEndpointWordCapacity.js +39 -0
  173. package/dist/compiler/schemaExactCalendar.d.ts +73 -0
  174. package/dist/compiler/schemaExactCalendar.d.ts.map +1 -0
  175. package/dist/compiler/schemaExactCalendar.js +264 -0
  176. package/dist/compiler/schemaFacetAnnotation.d.ts +32 -0
  177. package/dist/compiler/schemaFacetAnnotation.d.ts.map +1 -0
  178. package/dist/compiler/schemaFacetAnnotation.js +199 -0
  179. package/dist/compiler/schemaGeneratedScalarShape.d.ts +35 -0
  180. package/dist/compiler/schemaGeneratedScalarShape.d.ts.map +1 -0
  181. package/dist/compiler/schemaGeneratedScalarShape.js +176 -0
  182. package/dist/compiler/schemaIdentityConstraints.d.ts +73 -0
  183. package/dist/compiler/schemaIdentityConstraints.d.ts.map +1 -0
  184. package/dist/compiler/schemaIdentityConstraints.js +362 -0
  185. package/dist/compiler/schemaIeeeLanguage.d.ts +43 -0
  186. package/dist/compiler/schemaIeeeLanguage.d.ts.map +1 -0
  187. package/dist/compiler/schemaIeeeLanguage.js +759 -0
  188. package/dist/compiler/schemaIntegerImages.d.ts +11 -0
  189. package/dist/compiler/schemaIntegerImages.d.ts.map +1 -0
  190. package/dist/compiler/schemaIntegerImages.js +113 -0
  191. package/dist/compiler/schemaLexicalPredicates.d.ts +29 -0
  192. package/dist/compiler/schemaLexicalPredicates.d.ts.map +1 -0
  193. package/dist/compiler/schemaLexicalPredicates.js +63 -0
  194. package/dist/compiler/schemaNotationProperties.d.ts +32 -0
  195. package/dist/compiler/schemaNotationProperties.d.ts.map +1 -0
  196. package/dist/compiler/schemaNotationProperties.js +84 -0
  197. package/dist/compiler/schemaNumericImageConditions.d.ts +24 -0
  198. package/dist/compiler/schemaNumericImageConditions.d.ts.map +1 -0
  199. package/dist/compiler/schemaNumericImageConditions.js +66 -0
  200. package/dist/compiler/schemaParticleWildcardProperties.d.ts +20 -0
  201. package/dist/compiler/schemaParticleWildcardProperties.d.ts.map +1 -0
  202. package/dist/compiler/schemaParticleWildcardProperties.js +43 -0
  203. package/dist/compiler/schemaPattern.d.ts +1062 -0
  204. package/dist/compiler/schemaPattern.d.ts.map +1 -0
  205. package/dist/compiler/schemaPattern.js +581 -0
  206. package/dist/compiler/schemaRegularLanguage.d.ts +67 -0
  207. package/dist/compiler/schemaRegularLanguage.d.ts.map +1 -0
  208. package/dist/compiler/schemaRegularLanguage.js +1166 -0
  209. package/dist/compiler/schemaScalarContext.d.ts +81 -0
  210. package/dist/compiler/schemaScalarContext.d.ts.map +1 -0
  211. package/dist/compiler/schemaScalarContext.js +78 -0
  212. package/dist/compiler/schemaScalarKernel.d.ts +182 -0
  213. package/dist/compiler/schemaScalarKernel.d.ts.map +1 -0
  214. package/dist/compiler/schemaScalarKernel.js +391 -0
  215. package/dist/compiler/schemaScalarWitnesses.d.ts +6 -0
  216. package/dist/compiler/schemaScalarWitnesses.d.ts.map +1 -0
  217. package/dist/compiler/schemaScalarWitnesses.js +118 -0
  218. package/dist/compiler/schemaSimpleTypeProperties.d.ts +95 -0
  219. package/dist/compiler/schemaSimpleTypeProperties.d.ts.map +1 -0
  220. package/dist/compiler/schemaSimpleTypeProperties.js +103 -0
  221. package/dist/compiler/schemaSourceGrammar.d.ts +27 -0
  222. package/dist/compiler/schemaSourceGrammar.d.ts.map +1 -0
  223. package/dist/compiler/schemaSourceGrammar.js +290 -0
  224. package/dist/compiler/schemaSourceLexical.d.ts +4 -0
  225. package/dist/compiler/schemaSourceLexical.d.ts.map +1 -0
  226. package/dist/compiler/schemaSourceLexical.js +12 -0
  227. package/dist/compiler/schemaSourceValues.d.ts +51 -0
  228. package/dist/compiler/schemaSourceValues.d.ts.map +1 -0
  229. package/dist/compiler/schemaSourceValues.js +225 -0
  230. package/dist/compiler/schemaSourceWildcards.d.ts +28 -0
  231. package/dist/compiler/schemaSourceWildcards.d.ts.map +1 -0
  232. package/dist/compiler/schemaSourceWildcards.js +247 -0
  233. package/dist/compiler/schemaSymbolicSequences.d.ts +16 -0
  234. package/dist/compiler/schemaSymbolicSequences.d.ts.map +1 -0
  235. package/dist/compiler/schemaSymbolicSequences.js +99 -0
  236. package/dist/compiler/schemaSymbolicValueSets.d.ts +32 -0
  237. package/dist/compiler/schemaSymbolicValueSets.d.ts.map +1 -0
  238. package/dist/compiler/schemaSymbolicValueSets.js +149 -0
  239. package/dist/compiler/schemaSyntaxAssessment.d.ts +25 -0
  240. package/dist/compiler/schemaSyntaxAssessment.d.ts.map +1 -0
  241. package/dist/compiler/schemaSyntaxAssessment.js +361 -0
  242. package/dist/compiler/schemaTemporalAliases.d.ts +6 -0
  243. package/dist/compiler/schemaTemporalAliases.d.ts.map +1 -0
  244. package/dist/compiler/schemaTemporalAliases.js +195 -0
  245. package/dist/compiler/schemaTokenImages.d.ts +9 -0
  246. package/dist/compiler/schemaTokenImages.d.ts.map +1 -0
  247. package/dist/compiler/schemaTokenImages.js +142 -0
  248. package/dist/compiler/schemaTypeIdentity.d.ts +39 -0
  249. package/dist/compiler/schemaTypeIdentity.d.ts.map +1 -0
  250. package/dist/compiler/schemaTypeIdentity.js +78 -0
  251. package/dist/compiler/schemaTypeRelations.d.ts +38 -0
  252. package/dist/compiler/schemaTypeRelations.d.ts.map +1 -0
  253. package/dist/compiler/schemaTypeRelations.js +576 -0
  254. package/dist/compiler/schemaUri.d.ts +13 -0
  255. package/dist/compiler/schemaUri.d.ts.map +1 -0
  256. package/dist/compiler/schemaUri.js +103 -0
  257. package/dist/compiler/schemaValueContext.d.ts +26 -0
  258. package/dist/compiler/schemaValueContext.d.ts.map +1 -0
  259. package/dist/compiler/schemaValueContext.js +1 -0
  260. package/dist/compiler/schemaValueImages.d.ts +10 -0
  261. package/dist/compiler/schemaValueImages.d.ts.map +1 -0
  262. package/dist/compiler/schemaValueImages.js +142 -0
  263. package/dist/compiler/schemaValueSequences.d.ts +15 -0
  264. package/dist/compiler/schemaValueSequences.d.ts.map +1 -0
  265. package/dist/compiler/schemaValueSequences.js +19 -0
  266. package/dist/compiler/semanticBudget.d.ts +50 -0
  267. package/dist/compiler/semanticBudget.d.ts.map +1 -0
  268. package/dist/compiler/semanticBudget.js +178 -0
  269. package/dist/compiler/semanticCatalog.d.ts +122 -0
  270. package/dist/compiler/semanticCatalog.d.ts.map +1 -0
  271. package/dist/compiler/semanticCatalog.js +160 -0
  272. package/dist/compiler/semanticContext.d.ts +172 -0
  273. package/dist/compiler/semanticContext.d.ts.map +1 -0
  274. package/dist/compiler/semanticContext.js +1168 -0
  275. package/dist/compiler/semanticTypeDependencies.d.ts +8 -0
  276. package/dist/compiler/semanticTypeDependencies.d.ts.map +1 -0
  277. package/dist/compiler/semanticTypeDependencies.js +64 -0
  278. package/dist/compiler/semanticTypeReference.d.ts +24 -0
  279. package/dist/compiler/semanticTypeReference.d.ts.map +1 -0
  280. package/dist/compiler/semanticTypeReference.js +36 -0
  281. package/dist/compiler/shapeResolver.d.ts +1 -0
  282. package/dist/compiler/shapeResolver.d.ts.map +1 -1
  283. package/dist/compiler/shapeResolver.js +7 -9
  284. package/dist/compiler/sourceSchemaBinding.d.ts +26 -0
  285. package/dist/compiler/sourceSchemaBinding.d.ts.map +1 -0
  286. package/dist/compiler/sourceSchemaBinding.js +39 -0
  287. package/dist/compiler/structuralCompanions.d.ts +16 -0
  288. package/dist/compiler/structuralCompanions.d.ts.map +1 -0
  289. package/dist/compiler/structuralCompanions.js +232 -0
  290. package/dist/compiler/validateSemanticGraph.d.ts +5 -0
  291. package/dist/compiler/validateSemanticGraph.d.ts.map +1 -0
  292. package/dist/compiler/validateSemanticGraph.js +376 -0
  293. package/dist/compiler/wildcardAlgebra.d.ts +26 -0
  294. package/dist/compiler/wildcardAlgebra.d.ts.map +1 -0
  295. package/dist/compiler/wildcardAlgebra.js +155 -0
  296. package/dist/gateway/generateGateway.d.ts.map +1 -1
  297. package/dist/gateway/generateGateway.js +2 -2
  298. package/dist/index.d.ts +3 -0
  299. package/dist/index.d.ts.map +1 -1
  300. package/dist/index.js +2 -0
  301. package/dist/loader/orderedSyntax.d.ts +77 -0
  302. package/dist/loader/orderedSyntax.d.ts.map +1 -0
  303. package/dist/loader/orderedSyntax.js +202 -0
  304. package/dist/loader/resolutionDepth.d.ts +7 -0
  305. package/dist/loader/resolutionDepth.d.ts.map +1 -0
  306. package/dist/loader/resolutionDepth.js +65 -0
  307. package/dist/loader/schemaInput.d.ts +53 -0
  308. package/dist/loader/schemaInput.d.ts.map +1 -0
  309. package/dist/loader/schemaInput.js +212 -0
  310. package/dist/loader/schemaResources.d.ts +59 -0
  311. package/dist/loader/schemaResources.d.ts.map +1 -0
  312. package/dist/loader/schemaResources.js +292 -0
  313. package/dist/openapi/generateOpenAPI.d.ts.map +1 -1
  314. package/dist/openapi/generateOpenAPI.js +2 -2
  315. package/dist/test/generateTests.d.ts.map +1 -1
  316. package/dist/test/generateTests.js +2 -2
  317. package/dist/util/xmlWhitespace.d.ts +3 -0
  318. package/dist/util/xmlWhitespace.d.ts.map +1 -0
  319. package/dist/util/xmlWhitespace.js +4 -0
  320. package/docs/README.md +14 -1
  321. package/docs/architecture.md +9 -0
  322. package/docs/cli-reference.md +21 -1
  323. package/docs/content-model-analysis.md +92 -0
  324. package/docs/content-model-baseline.md +121 -0
  325. package/docs/content-model-catalog.md +116 -0
  326. package/docs/content-model-companions.md +90 -0
  327. package/docs/content-model-composition.md +103 -0
  328. package/docs/content-model-decisions.md +79 -0
  329. package/docs/content-model-gateway-feasibility.md +169 -0
  330. package/docs/content-model-graph.md +121 -0
  331. package/docs/content-model-loading.md +163 -0
  332. package/docs/content-model-matching.md +85 -0
  333. package/docs/content-model-readiness.md +144 -0
  334. package/docs/content-model-resolution.md +81 -0
  335. package/docs/content-model-s02-handoff.md +98 -0
  336. package/docs/content-model-s06-au-01.md +425 -0
  337. package/docs/content-model-s06-dt-01.md +386 -0
  338. package/docs/content-model-s06-pw-01.md +350 -0
  339. package/docs/content-model-s06-re-01-resolver-implementation.md +869 -0
  340. package/docs/content-model-s06-re-01-resolver.md +513 -0
  341. package/docs/content-model-s06-re-01-scalar-witnesses.md +1423 -0
  342. package/docs/content-model-s06-re-01-support-reconstruction.md +6337 -0
  343. package/docs/content-model-s06-re-01.md +7477 -0
  344. package/docs/content-model-s06-research-handoff.md +909 -0
  345. package/docs/content-model-shipped-fix.md +83 -0
  346. package/docs/content-model-soap-feasibility.md +165 -0
  347. package/docs/decisions/002-streamable-responses.md +2 -0
  348. package/docs/decisions/003-content-model-contracts.md +280 -0
  349. package/docs/direct-values.md +311 -0
  350. package/docs/reference-validation.md +243 -0
  351. package/docs/releases/v1.1.5.md +38 -0
  352. package/docs/roadmap/README.md +2 -2
  353. package/docs/supported-patterns.md +13 -5
  354. package/package.json +26 -13
  355. package/src/generation/preambles/direct-client/typescript.preamble +3 -0
@@ -0,0 +1,376 @@
1
+ /** One explicit graph reader boundary; typed fields are checked before identity/reference integrity. */
2
+ import { DEFAULT_GRAPH_NODES, GRAPH_MODEL, globalId, scopedId, isBuiltinType, wsdlReferenceRoles } from "./canonicalGraph.js";
3
+ import { CatalogError, positiveLimit, canonicalJson } from "./catalogErrors.js";
4
+ import { resolveLexicalQName, syntaxAttribute, syntaxElements, XSD_NAMESPACE } from "../loader/orderedSyntax.js";
5
+ const invalid = (field, reason) => { throw new CatalogError("invalid-schema", `Malformed catalog: ${reason}`, field); };
6
+ const str = (v, p) => { if (typeof v !== "string")
7
+ invalid(p, "expected string"); };
8
+ const bool = (v, p) => { if (typeof v !== "boolean")
9
+ invalid(p, "expected boolean"); };
10
+ const integer = (min) => (v, p) => { if (!Number.isSafeInteger(v) || v < min)
11
+ invalid(p, "expected safe integer"); };
12
+ const enumeration = (...values) => (v, p) => { if (!values.includes(v))
13
+ invalid(p, "unknown discriminant or value"); };
14
+ const pattern = (regexp) => (v, p) => { str(v, p); if (!regexp.test(v))
15
+ invalid(p, "invalid string shape"); };
16
+ const array = (check) => (v, p) => { if (!Array.isArray(v))
17
+ invalid(p, "expected array"); v.forEach((c, i) => check(c, `${p}/${i}`)); };
18
+ const field = (check, optional = false) => ({ check, optional });
19
+ const object = (fields) => (v, p) => {
20
+ if (!v || typeof v !== "object" || Array.isArray(v))
21
+ invalid(p, "expected object");
22
+ const o = v;
23
+ for (const k of Object.keys(o))
24
+ if (!Object.hasOwn(fields, k))
25
+ invalid(`${p}/${k}`, "unknown mandatory field");
26
+ for (const [k, f] of Object.entries(fields)) {
27
+ if (!Object.hasOwn(o, k)) {
28
+ if (!f.optional)
29
+ invalid(`${p}/${k}`, "missing required field");
30
+ }
31
+ else
32
+ f.check(o[k], `${p}/${k}`);
33
+ }
34
+ };
35
+ const record = (check) => (v, p) => {
36
+ if (!v || typeof v !== "object" || Array.isArray(v))
37
+ invalid(p, "expected record");
38
+ for (const [k, c] of Object.entries(v))
39
+ check(c, `${p}/${k}`);
40
+ };
41
+ const discriminator = (key, variants) => (v, p) => {
42
+ if (!v || typeof v !== "object" || Array.isArray(v))
43
+ invalid(p, "expected discriminated object");
44
+ const tag = v[key];
45
+ if (typeof tag !== "string" || !Object.hasOwn(variants, tag))
46
+ invalid(`${p}/${key}`, "unknown discriminant");
47
+ variants[tag](v, p);
48
+ };
49
+ const roles = ["element", "attribute", "type", "group", "attributeGroup", "message", "portType", "binding", "service"];
50
+ const role = enumeration(...roles);
51
+ const digest = pattern(/^[a-f0-9]{64}$/);
52
+ const sourceUri = pattern(/^urn:source:sha256:[a-f0-9]{64}$/);
53
+ const baseUri = pattern(/^urn:base:sha256:[a-f0-9]{64}$/);
54
+ const interpretation = (v, p) => {
55
+ str(v, p);
56
+ if (/^urn:source:sha256:[a-f0-9]{64}$/.test(v))
57
+ return;
58
+ let tuple;
59
+ try {
60
+ tuple = JSON.parse(v);
61
+ }
62
+ catch {
63
+ invalid(p, "invalid interpretation key");
64
+ }
65
+ if (!Array.isArray(tuple) || tuple.length !== 7)
66
+ invalid(p, "invalid interpretation tuple");
67
+ const t = tuple;
68
+ [digest, sourceUri, baseUri, str, enumeration("root", "inline", "include", "import"), str, pattern(/^(?:\/\d+)+$/)].forEach((check, i) => check(t[i], `${p}/${i}`));
69
+ if (t[1] !== `urn:source:sha256:${t[0]}`)
70
+ invalid(p, "inconsistent interpretation resource");
71
+ };
72
+ const position = object({ offset: field(integer(0)), line: field(integer(1)), column: field(integer(1)) });
73
+ const source = (v, p) => {
74
+ object({ uri: field(sourceUri), digest: field(digest), path: field(pattern(/^(?:\/\d+)+$/)), start: field(position), end: field(position) })(v, p);
75
+ const s = v;
76
+ if (s.uri !== `urn:source:sha256:${s.digest}` || s.start.offset > s.end.offset)
77
+ invalid(p, "inconsistent source digest/span");
78
+ };
79
+ const name = (v, p) => {
80
+ object({ namespace: field(str), local: field(str) })(v, p);
81
+ const n = v;
82
+ try {
83
+ if (n.local.includes(":") || resolveLexicalQName(n.local, { namespaces: Object.create(null) }).local !== n.local)
84
+ invalid(p, "invalid canonical NCName");
85
+ }
86
+ catch (e) {
87
+ if (e instanceof CatalogError)
88
+ throw e;
89
+ invalid(p, "invalid canonical NCName");
90
+ }
91
+ };
92
+ const attribute = object({ name: field(name), lexicalName: field(str), value: field(str) });
93
+ const context = object({ namespaces: field(record(str)), baseUri: field(baseUri), source: field(source), effectiveNamespace: field(str), chameleon: field(bool), schemaAttributes: field(array(attribute)) });
94
+ const lexical = object({ value: field(str), context: field(context) });
95
+ const syntax = (v, p) => discriminator("kind", {
96
+ text: object({ kind: field(enumeration("text")), value: field(str), source: field(source) }),
97
+ element: object({ kind: field(enumeration("element")), name: field(name), lexicalName: field(str), attributes: field(array(attribute)), namespaces: field(record(str)), baseUri: field(baseUri), source: field(source), children: field(array(syntax)) }),
98
+ })(v, p);
99
+ const elementSyntax = (v, p) => { syntax(v, p); if (v.kind !== "element")
100
+ invalid(p, "expected element syntax"); };
101
+ const value = object({ kind: field(enumeration("default", "fixed")), lexical: field(lexical) });
102
+ const facet = object({ name: field(enumeration("enumeration", "pattern", "whiteSpace", "length", "minLength", "maxLength", "minInclusive", "minExclusive", "maxInclusive", "maxExclusive", "totalDigits", "fractionDigits")), lexical: field(lexical), fixed: field(bool), syntax: field(elementSyntax) });
103
+ const wildcard = object({ namespace: field(lexical), processContents: field(enumeration("strict", "lax", "skip")) });
104
+ const identity = discriminator("kind", {
105
+ global: object({ kind: field(enumeration("global")), role: field(role), name: field(name) }),
106
+ scoped: object({ kind: field(enumeration("scoped")), owner: field(str), path: field(pattern(/^(?:\/\d+)+$|^\/$/)), role: field(str) }),
107
+ });
108
+ const occurs = (v, p) => {
109
+ object({ min: field(pattern(/^(?:0|[1-9]\d*)$/)), max: field((v, p) => { if (v !== "unbounded")
110
+ pattern(/^(?:0|[1-9]\d*)$/)(v, p); }) })(v, p);
111
+ const { min, max } = v;
112
+ if (max !== "unbounded" && (min.length > max.length || (min.length === max.length && min > max)))
113
+ invalid(p, "occurrence minimum exceeds maximum");
114
+ };
115
+ const base = { id: field(str), identity: field(identity), context: field(context), declaredAttributes: field(array(attribute)), annotations: field(array(elementSyntax)), retained: field(array(elementSyntax)), syntaxDetails: field(array(elementSyntax)) };
116
+ const attrs = field(array(str));
117
+ export function validateSemanticGraph(input, options = {}) {
118
+ const maxNodes = positiveLimit(options.maxNodes, DEFAULT_GRAPH_NODES, "maxNodes");
119
+ const refs = [];
120
+ const reference = (...expected) => (v, p) => {
121
+ discriminator("kind", {
122
+ symbol: object({ kind: field(enumeration("symbol")), role: field(enumeration(...expected)), name: field(name), lexical: field(lexical), target: field(str, true) }),
123
+ builtin: object({ kind: field(enumeration("builtin")), name: field(name), lexical: field(lexical, true) }),
124
+ local: object({ kind: field(enumeration("local")), target: field(str) }),
125
+ })(v, p);
126
+ refs.push({ reference: v, expected, field: p });
127
+ };
128
+ const term = discriminator("kind", {
129
+ sequence: object({ kind: field(enumeration("sequence")), children: attrs }),
130
+ choice: object({ kind: field(enumeration("choice")), children: attrs }),
131
+ all: object({ kind: field(enumeration("all")), children: attrs }),
132
+ element: object({ kind: field(enumeration("element")), declaration: field(reference("element")) }),
133
+ group: object({ kind: field(enumeration("group")), reference: field(reference("group")) }),
134
+ any: object({ kind: field(enumeration("any")), wildcard: field(wildcard) }),
135
+ });
136
+ const node = discriminator("kind", {
137
+ element: object({ ...base, kind: field(enumeration("element")), name: field(name), type: field(reference("type")), nillable: field(bool), abstract: field(bool), value: field(value, true), substitutionGroup: field(reference("element"), true) }),
138
+ attribute: object({ ...base, kind: field(enumeration("attribute")), name: field(name), type: field(reference("type")), value: field(value, true) }),
139
+ particle: object({ ...base, kind: field(enumeration("particle")), occurs: field(occurs), term: field(term) }),
140
+ attributeUse: object({ ...base, kind: field(enumeration("attributeUse")), declaration: field(reference("attribute")), use: field(enumeration("optional", "required", "prohibited")), value: field(value, true) }),
141
+ attributeGroupUse: object({ ...base, kind: field(enumeration("attributeGroupUse")), reference: field(reference("attributeGroup")) }),
142
+ attributeWildcard: object({ ...base, kind: field(enumeration("attributeWildcard")), wildcard: field(wildcard) }),
143
+ simpleType: object({ ...base, kind: field(enumeration("simpleType")), variety: field(discriminator("kind", {
144
+ restriction: object({ kind: field(enumeration("restriction")), base: field(reference("type")), facets: field(array(facet)) }),
145
+ list: object({ kind: field(enumeration("list")), item: field(reference("type")) }),
146
+ union: object({ kind: field(enumeration("union")), members: field(array(reference("type"))) }),
147
+ })) }),
148
+ complexType: object({ ...base, kind: field(enumeration("complexType")), mixed: field(bool), abstract: field(bool), content: field(str, true), attributes: attrs,
149
+ derivation: field(object({ kind: field(enumeration("extension", "restriction")), contentKind: field(enumeration("simple", "complex")), base: field(reference("type")), inlineType: field(reference("type"), true), facets: field(array(facet)) }), true) }),
150
+ group: object({ ...base, kind: field(enumeration("group")), content: field(str) }),
151
+ attributeGroup: object({ ...base, kind: field(enumeration("attributeGroup")), attributes: attrs }),
152
+ wsdl: object({ ...base, kind: field(enumeration("wsdl")), role: field(enumeration("message", "portType", "binding", "service")), name: field(name), syntax: field(elementSyntax),
153
+ references: field(array(object({ path: field(str), attribute: field(str), reference: field(reference(...roles)) }))) }),
154
+ });
155
+ object({ model: field(enumeration(GRAPH_MODEL)), nodes: field((v, p) => {
156
+ if (!Array.isArray(v))
157
+ invalid(p, "expected node array");
158
+ if (v.length > maxNodes)
159
+ throw new CatalogError("resource-limit", `Catalog graph exceeds ${maxNodes} nodes`, p);
160
+ array(node)(v, p);
161
+ }), globals: field(array(str)), origins: field(record(array(object({ interpretation: field(interpretation), context: field(context) })))),
162
+ schemaAnnotations: field(array(elementSyntax)), schemaRetained: field(array(object({ context: field(context), syntax: field(elementSyntax) }))),
163
+ loading: field(object({ limits: field(object({ resources: field(integer(1)), resourceBytes: field(integer(1)), totalBytes: field(integer(1)), resolutionDepth: field(integer(1)), redirects: field(integer(0)), resourceMs: field(integer(1)), totalIoMs: field(integer(1)), syntaxDepth: field(integer(1)) })),
164
+ edges: field(array(object({ kind: field(enumeration("include", "import", "wsdl-import")), from: field(interpretation), to: field(interpretation, true), referenceUri: field(baseUri, true), source: field(source), cycle: field(bool) }))) })), })(input, "graph");
165
+ const graph = input, nodes = new Map();
166
+ const nodeRole = (n) => !n ? undefined : n.kind === "simpleType" || n.kind === "complexType" ? "type" : n.kind === "wsdl" ? n.role : roles.includes(n.kind) ? n.kind : undefined;
167
+ for (const n of graph.nodes) {
168
+ if (nodes.has(n.id))
169
+ invalid(`graph/nodes/${n.id}`, "duplicate node identity");
170
+ const expectedId = n.identity.kind === "global" ? globalId(n.identity.role, n.identity.name) : scopedId(n.identity.owner, n.identity.path, n.identity.role);
171
+ if (n.id !== expectedId)
172
+ invalid(`graph/nodes/${n.id}`, "identity does not match ID");
173
+ if (n.identity.kind === "global" && (nodeRole(n) !== n.identity.role || ("name" in n && (n.name.namespace !== n.identity.name.namespace || n.name.local !== n.identity.name.local))))
174
+ invalid(`graph/nodes/${n.id}`, "global symbol role/name mismatch");
175
+ if (n.identity.kind === "scoped") {
176
+ const expectedRole = n.kind === "simpleType" || n.kind === "complexType" ? "type" : ["attributeUse", "attributeGroupUse", "attributeWildcard"].includes(n.kind) ? "attributeUse" : n.kind;
177
+ if (n.identity.role !== expectedRole)
178
+ invalid(n.id, "scoped role disagrees with node kind");
179
+ }
180
+ nodes.set(n.id, n);
181
+ }
182
+ const expectedGlobals = graph.nodes.filter(n => n.identity.kind === "global").map(n => n.id).sort();
183
+ if (JSON.stringify([...graph.globals].sort()) !== JSON.stringify(expectedGlobals))
184
+ invalid("graph/globals", "global index does not match declarations");
185
+ if (Object.keys(graph.origins).length !== nodes.size)
186
+ invalid("graph/origins", "provenance index does not match nodes");
187
+ for (const n of graph.nodes) {
188
+ if (!Object.hasOwn(graph.origins, n.id) || !graph.origins[n.id].length)
189
+ invalid("graph/origins", "missing node provenance");
190
+ if (n.identity.kind === "scoped" && !nodeRole(nodes.get(n.identity.owner)))
191
+ invalid(`graph/nodes/${n.id}/identity/owner`, "missing or invalid containing declaration");
192
+ for (const origin of graph.origins[n.id]) {
193
+ if (origin.interpretation.startsWith("urn:")) {
194
+ if (origin.interpretation !== origin.context.source.uri)
195
+ invalid(n.id, "inconsistent document provenance");
196
+ }
197
+ else {
198
+ const t = JSON.parse(origin.interpretation);
199
+ if (t[0] !== origin.context.source.digest || t[3] !== origin.context.effectiveNamespace || !(origin.context.source.path === t[6] || origin.context.source.path.startsWith(t[6] + "/")))
200
+ invalid(n.id, "inconsistent schema provenance");
201
+ }
202
+ }
203
+ }
204
+ const get = (id, allowed, field) => {
205
+ const n = nodes.get(id);
206
+ if (!n || !allowed.includes(n.kind))
207
+ invalid(field, "missing or wrong-role reference target");
208
+ return n;
209
+ };
210
+ const structural = new Map();
211
+ for (const n of graph.nodes) {
212
+ const children = [];
213
+ if (n.kind === "particle" && ["sequence", "choice", "all"].includes(n.term.kind)) {
214
+ const term = n.term;
215
+ for (const id of term.children)
216
+ get(id, ["particle"], `graph/nodes/${n.id}/term/children`);
217
+ children.push(...term.children);
218
+ if (term.children.some(id => { const child = nodes.get(id); return child.kind === "particle" && child.term.kind === "all"; }))
219
+ invalid(n.id, "all cannot be nested inside a compositor");
220
+ if (term.kind === "all") {
221
+ if (n.occurs.max !== "1" || !["0", "1"].includes(n.occurs.min))
222
+ invalid(n.id, "illegal all occurrence");
223
+ for (const id of term.children) {
224
+ const child = nodes.get(id);
225
+ if (child.kind !== "particle" || child.term.kind !== "element" || !["0", "1"].includes(child.occurs.min) || !["0", "1"].includes(child.occurs.max))
226
+ invalid(n.id, "illegal all child");
227
+ }
228
+ }
229
+ }
230
+ if (n.kind === "complexType" || n.kind === "group") {
231
+ if (n.content) {
232
+ const content = get(n.content, ["particle"], `${n.id}/content`);
233
+ if (!(n.kind === "group" ? ["sequence", "choice", "all"] : ["sequence", "choice", "all", "group"]).includes(content.term.kind))
234
+ invalid(n.id, "invalid declaration content particle");
235
+ if (n.kind === "group" && (content.occurs.min !== "1" || content.occurs.max !== "1"))
236
+ invalid(n.id, "group definition has occurrence bounds");
237
+ if (n.kind === "complexType" && n.derivation?.contentKind === "simple")
238
+ invalid(n.id, "simple content cannot contain a particle");
239
+ children.push(n.content);
240
+ }
241
+ }
242
+ if (n.kind === "simpleType" && n.variety.kind === "union" && !n.variety.members.length)
243
+ invalid(n.id, "empty union");
244
+ if (n.kind === "complexType" || n.kind === "attributeGroup")
245
+ for (const id of n.attributes) {
246
+ get(id, ["attributeUse", "attributeGroupUse", "attributeWildcard"], `${n.id}/attributes`);
247
+ children.push(id);
248
+ }
249
+ if (new Set(children).size !== children.length)
250
+ invalid(n.id, "duplicate structural use site");
251
+ const owner = n.kind === "particle" && n.identity.kind === "scoped" ? n.identity.owner : n.id;
252
+ for (const id of children) {
253
+ const child = nodes.get(id);
254
+ if (child.identity.kind !== "scoped" || child.identity.owner !== owner)
255
+ invalid(n.id, "structural child belongs to a different declaration");
256
+ }
257
+ structural.set(n.id, children);
258
+ }
259
+ for (const { reference: r, expected, field: p } of refs) {
260
+ if (r.kind === "builtin") {
261
+ if (!expected.includes("type") || r.name.namespace !== XSD_NAMESPACE || !isBuiltinType(r.name.local))
262
+ invalid(p, "invalid builtin type reference");
263
+ if (r.lexical) {
264
+ try {
265
+ const resolved = resolveLexicalQName(r.lexical.value, { namespaces: Object.assign(Object.create(null), r.lexical.context.namespaces), source: r.lexical.context.source });
266
+ if (resolved.namespace !== r.name.namespace || resolved.local !== r.name.local)
267
+ invalid(p, "builtin QName context disagrees with reference");
268
+ }
269
+ catch (e) {
270
+ if (e instanceof CatalogError)
271
+ throw e;
272
+ invalid(p, "invalid builtin QName context");
273
+ }
274
+ }
275
+ }
276
+ else if (r.kind === "symbol") {
277
+ const expectedId = globalId(r.role, r.name), target = nodes.get(expectedId);
278
+ if ((r.target !== undefined && r.target !== expectedId) || (r.target !== undefined && !target) || (target && r.target === undefined))
279
+ invalid(p, "corrupt symbol link");
280
+ try {
281
+ const lexicalName = resolveLexicalQName(r.lexical.value, { namespaces: Object.assign(Object.create(null), r.lexical.context.namespaces), source: r.lexical.context.source });
282
+ const namespace = !lexicalName.namespace && r.lexical.context.chameleon ? r.lexical.context.effectiveNamespace : lexicalName.namespace;
283
+ if (namespace !== r.name.namespace || lexicalName.local !== r.name.local)
284
+ invalid(p, "QName context disagrees with reference identity");
285
+ }
286
+ catch (e) {
287
+ if (e instanceof CatalogError)
288
+ throw e;
289
+ invalid(p, "invalid lexical QName context");
290
+ }
291
+ }
292
+ else {
293
+ const target = nodes.get(r.target);
294
+ if (!target || !expected.includes(nodeRole(target)))
295
+ invalid(p, "corrupt local declaration reference");
296
+ const from = graph.nodes[Number(p.split("/")[2])];
297
+ const owner = ["particle", "attributeUse"].includes(from.kind) && from.identity.kind === "scoped" ? from.identity.owner : from.id;
298
+ if (target.identity.kind !== "scoped" || target.identity.owner !== owner)
299
+ invalid(p, "local reference belongs to a different declaration");
300
+ structural.get(from.id).push(r.target);
301
+ }
302
+ }
303
+ for (const n of graph.nodes)
304
+ if (n.kind === "wsdl") {
305
+ const expected = [];
306
+ const visit = (s) => {
307
+ for (const [attribute, role] of Object.entries(wsdlReferenceRoles(s))) {
308
+ const value = syntaxAttribute(s, attribute);
309
+ if (value !== undefined)
310
+ expected.push({ path: s.source.path.slice(n.syntax.source.path.length) || "/", attribute, role, value, syntax: s });
311
+ }
312
+ for (const child of syntaxElements(s))
313
+ visit(child);
314
+ };
315
+ visit(n.syntax);
316
+ if (expected.length !== n.references.length)
317
+ invalid(n.id, "WSDL reference index incomplete");
318
+ expected.forEach((e, i) => {
319
+ const r = n.references[i];
320
+ if (r.path !== e.path || r.attribute !== e.attribute || r.reference.kind === "local" || (r.reference.kind === "symbol" && r.reference.role !== e.role) || r.reference.lexical?.value !== e.value)
321
+ invalid(n.id, "WSDL reference role/context mismatch");
322
+ const c = r.reference.kind !== "local" ? r.reference.lexical?.context : undefined;
323
+ if (!c || canonicalJson(c.namespaces) !== canonicalJson(e.syntax.namespaces) || canonicalJson(c.source) !== canonicalJson(e.syntax.source) || c.baseUri !== e.syntax.baseUri || c.effectiveNamespace !== n.context.effectiveNamespace || c.chameleon !== n.context.chameleon || canonicalJson(c.schemaAttributes) !== canonicalJson(n.context.schemaAttributes))
324
+ invalid(n.id, "WSDL reference disagrees with declaring syntax context");
325
+ });
326
+ }
327
+ const parents = new Map();
328
+ for (const [parent, children] of structural)
329
+ for (const child of children) {
330
+ if (parents.has(child))
331
+ invalid(child, "structural use site has multiple parents");
332
+ parents.set(child, parent);
333
+ }
334
+ for (const n of graph.nodes)
335
+ if (n.identity.kind === "scoped") {
336
+ if (!parents.has(n.id))
337
+ invalid(n.id, "orphan scoped use site or declaration");
338
+ const owner = nodes.get(n.identity.owner);
339
+ if (n.context.source.path !== owner.context.source.path + (n.identity.path === "/" ? "" : n.identity.path))
340
+ invalid(n.id, "scoped path disagrees with containing declaration");
341
+ }
342
+ // Ownership and structural containment must be acyclic. Semantic recursion through references is legal.
343
+ const complete = new Set(), active = new Set();
344
+ for (const id of nodes.keys()) {
345
+ const stack = [{ id, exit: false }];
346
+ while (stack.length) {
347
+ const item = stack.pop();
348
+ if (item.exit) {
349
+ active.delete(item.id);
350
+ complete.add(item.id);
351
+ continue;
352
+ }
353
+ if (complete.has(item.id))
354
+ continue;
355
+ if (active.has(item.id))
356
+ invalid(item.id, "cyclic structural containment");
357
+ active.add(item.id);
358
+ stack.push({ id: item.id, exit: true });
359
+ for (const child of [...(structural.get(item.id) ?? [])].reverse())
360
+ stack.push({ id: child, exit: false });
361
+ }
362
+ }
363
+ const ownersDone = new Set();
364
+ for (const n of graph.nodes) {
365
+ let current = n;
366
+ const path = new Set();
367
+ while (current.identity.kind === "scoped" && !ownersDone.has(current.id)) {
368
+ if (path.has(current.id))
369
+ invalid(n.id, "cyclic declaration ownership");
370
+ path.add(current.id);
371
+ current = nodes.get(current.identity.owner);
372
+ }
373
+ for (const id of path)
374
+ ownersDone.add(id);
375
+ }
376
+ }
@@ -0,0 +1,26 @@
1
+ /** XSD 1.0 namespace algebra. These local relations do not certify a schema. */
2
+ import type { Wildcard } from './canonicalGraph.js';
3
+ export type NamespaceConstraint = Readonly<{
4
+ kind: 'set' | 'not';
5
+ namespaces: readonly string[];
6
+ }>;
7
+ export type WildcardProcess = Wildcard['processContents'];
8
+ export type WildcardCharge = (amount?: number) => void;
9
+ /** Canonical mathematical namespace properties; no XML lexical form is invented. */
10
+ export declare function canonicalNamespaceConstraint(value: NamespaceConstraint, charge: WildcardCharge): NamespaceConstraint;
11
+ export declare function wildcardNamespaces(wildcard: Wildcard, charge?: WildcardCharge): NamespaceConstraint;
12
+ export declare function namespaceAllows(value: NamespaceConstraint, namespace: string, charge?: WildcardCharge): boolean;
13
+ /** Mathematical inclusion; the XSD Wildcard Subset rule is stricter. */
14
+ export declare function namespaceSetSubset(derived: NamespaceConstraint, base: NamespaceConstraint, charge?: WildcardCharge): boolean;
15
+ /** XSD 1.0 cos-ns-subset: non-any negations must have the same value. */
16
+ export declare function namespaceSubset(derived: NamespaceConstraint, base: NamespaceConstraint, charge?: WildcardCharge): boolean;
17
+ export declare function namespaceUnion(a: NamespaceConstraint, b: NamespaceConstraint, charge?: WildcardCharge): NamespaceConstraint;
18
+ export declare function namespaceIntersection(a: NamespaceConstraint, b: NamespaceConstraint, charge?: WildcardCharge): NamespaceConstraint;
19
+ /** Abstract namespace-property expressibility, not XML syntax representability.
20
+ * A finite set (including empty), any, or not(namespace/absent) is expressible.
21
+ * Keep an unexpressible mathematical intersection intact for diagnostics.
22
+ */
23
+ export declare function namespaceExpressible(value: NamespaceConstraint, charge?: WildcardCharge): boolean;
24
+ /** The ur-type identity exception belongs to the invoking rule, never spelling. */
25
+ export declare function processContentsRestricts(derived: WildcardProcess, base: WildcardProcess, charge?: WildcardCharge): boolean;
26
+ //# sourceMappingURL=wildcardAlgebra.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wildcardAlgebra.d.ts","sourceRoot":"","sources":["../../src/compiler/wildcardAlgebra.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAGlD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IAAC,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAAC,CAAC,CAAC;AACjG,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AA8CvD,oFAAoF;AACpF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,GAAG,mBAAmB,CAEpH;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAE,cAAyB,GAAG,mBAAmB,CAmB7G;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,cAAyB,GAAG,OAAO,CAGzH;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,GAAE,cAAyB,GAAG,OAAO,CAetI;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,GAAE,cAAyB,GAAG,OAAO,CAMnI;AAyBD,wBAAgB,cAAc,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,mBAAmB,EAAE,MAAM,GAAE,cAAyB,GAAG,mBAAmB,CAErI;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,mBAAmB,EAAE,MAAM,GAAE,cAAyB,GAAG,mBAAmB,CAE5I;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,GAAE,cAAyB,GAAG,OAAO,CAK3G;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,GAAE,cAAyB,GAAG,OAAO,CAIpI"}
@@ -0,0 +1,155 @@
1
+ import { SemanticError } from './resolveCanonicalGraph.js';
2
+ // Compatibility callers may already account for work; new semantic callers
3
+ // pass their shared request charge. No semantic receipt or cache is issued here.
4
+ const noCharge = () => { };
5
+ function textEqual(a, b, charge) {
6
+ charge(1 + a.length + b.length);
7
+ return a === b;
8
+ }
9
+ function contains(values, value, charge) {
10
+ charge();
11
+ for (const item of values) {
12
+ charge();
13
+ if (textEqual(item, value, charge))
14
+ return true;
15
+ }
16
+ return false;
17
+ }
18
+ /** Deterministic insertion avoids an engine-dependent uncharged sort. */
19
+ function canonical(values, charge) {
20
+ charge();
21
+ const result = [];
22
+ for (const value of values) {
23
+ charge();
24
+ let at = 0;
25
+ while (at < result.length) {
26
+ charge(1 + value.length + result[at].length);
27
+ if (value <= result[at])
28
+ break;
29
+ at++;
30
+ }
31
+ if (at < result.length && textEqual(value, result[at], charge))
32
+ continue;
33
+ charge(1 + result.length - at); // Entry and shifts, before allocation/mutation.
34
+ result.splice(at, 0, value);
35
+ }
36
+ charge(result.length + 1);
37
+ return Object.freeze(result);
38
+ }
39
+ function constraint(kind, values, charge) {
40
+ const namespaces = canonical(values, charge);
41
+ charge(4);
42
+ return Object.freeze({ kind, namespaces });
43
+ }
44
+ /** Canonical mathematical namespace properties; no XML lexical form is invented. */
45
+ export function canonicalNamespaceConstraint(value, charge) {
46
+ return constraint(value.kind, value.namespaces, charge);
47
+ }
48
+ export function wildcardNamespaces(wildcard, charge = noCharge) {
49
+ const raw = wildcard.namespace.value;
50
+ charge(4 * raw.length + 4); // Scans and token/text output before regex/split.
51
+ const value = raw.replace(/^[\x20\t\r\n]+|[\x20\t\r\n]+$/g, '');
52
+ const namespace = wildcard.namespace.context.effectiveNamespace;
53
+ if (value === '##any')
54
+ return constraint('not', [], charge);
55
+ if (value === '##other')
56
+ return constraint('not', ['', namespace], charge);
57
+ const tokens = value.split(/[\x20\t\r\n]+/);
58
+ charge(tokens.length + 1);
59
+ const values = [];
60
+ for (const token of tokens) {
61
+ charge(token.length + 3);
62
+ if (!token || token.startsWith('##') && token !== '##local' && token !== '##targetNamespace') {
63
+ throw new SemanticError('invalid-schema', 'Invalid wildcard namespace constraint', undefined, wildcard.namespace.context.source);
64
+ }
65
+ charge();
66
+ values.push(token === '##local' ? '' : token === '##targetNamespace' ? namespace : token);
67
+ }
68
+ return constraint('set', values, charge);
69
+ }
70
+ export function namespaceAllows(value, namespace, charge = noCharge) {
71
+ const present = contains(value.namespaces, namespace, charge);
72
+ return value.kind === 'set' ? present : !present;
73
+ }
74
+ /** Mathematical inclusion; the XSD Wildcard Subset rule is stricter. */
75
+ export function namespaceSetSubset(derived, base, charge = noCharge) {
76
+ charge();
77
+ if (derived.kind === 'set') {
78
+ for (const namespace of derived.namespaces) {
79
+ charge();
80
+ if (!namespaceAllows(base, namespace, charge))
81
+ return false;
82
+ }
83
+ return true;
84
+ }
85
+ if (base.kind === 'set')
86
+ return false; // A cofinite set cannot fit a finite one.
87
+ for (const namespace of base.namespaces) {
88
+ charge();
89
+ if (!contains(derived.namespaces, namespace, charge))
90
+ return false;
91
+ }
92
+ return true;
93
+ }
94
+ /** XSD 1.0 cos-ns-subset: non-any negations must have the same value. */
95
+ export function namespaceSubset(derived, base, charge = noCharge) {
96
+ charge();
97
+ if (base.kind === 'not' && base.namespaces.length === 0)
98
+ return true;
99
+ if (derived.kind === 'set')
100
+ return namespaceSetSubset(derived, base, charge);
101
+ if (base.kind !== 'not')
102
+ return false;
103
+ return namespaceSetSubset(derived, base, charge) && namespaceSetSubset(base, derived, charge);
104
+ }
105
+ function combine(a, b, union, charge) {
106
+ charge();
107
+ const values = [];
108
+ const append = (value) => { charge(); values.push(value); };
109
+ if (a.kind === b.kind) {
110
+ const concatenate = union === (a.kind === 'set');
111
+ for (const value of a.namespaces) {
112
+ charge();
113
+ if (concatenate || contains(b.namespaces, value, charge))
114
+ append(value);
115
+ }
116
+ if (concatenate)
117
+ for (const value of b.namespaces) {
118
+ charge();
119
+ append(value);
120
+ }
121
+ return constraint(a.kind, values, charge);
122
+ }
123
+ const excluded = a.kind === 'not' ? a : b;
124
+ const included = a.kind === 'set' ? a : b;
125
+ const from = union ? excluded : included, subtract = union ? included : excluded;
126
+ for (const value of from.namespaces) {
127
+ charge();
128
+ if (!contains(subtract.namespaces, value, charge))
129
+ append(value);
130
+ }
131
+ return constraint(union ? 'not' : 'set', values, charge);
132
+ }
133
+ export function namespaceUnion(a, b, charge = noCharge) {
134
+ return combine(a, b, true, charge);
135
+ }
136
+ export function namespaceIntersection(a, b, charge = noCharge) {
137
+ return combine(a, b, false, charge);
138
+ }
139
+ /** Abstract namespace-property expressibility, not XML syntax representability.
140
+ * A finite set (including empty), any, or not(namespace/absent) is expressible.
141
+ * Keep an unexpressible mathematical intersection intact for diagnostics.
142
+ */
143
+ export function namespaceExpressible(value, charge = noCharge) {
144
+ charge();
145
+ if (value.kind === 'set')
146
+ return true;
147
+ const excluded = canonical(value.namespaces, charge);
148
+ return excluded.length === 0 || excluded.length <= 2 && contains(excluded, '', charge);
149
+ }
150
+ /** The ur-type identity exception belongs to the invoking rule, never spelling. */
151
+ export function processContentsRestricts(derived, base, charge = noCharge) {
152
+ charge();
153
+ const rank = { skip: 0, lax: 1, strict: 2 };
154
+ return rank[derived] >= rank[base];
155
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"generateGateway.d.ts","sourceRoot":"","sources":["../../src/gateway/generateGateway.ts"],"names":[],"mappings":"AA6CA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAE/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8JjF"}
1
+ {"version":3,"file":"generateGateway.d.ts","sourceRoot":"","sources":["../../src/gateway/generateGateway.ts"],"names":[],"mappings":"AA8CA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAE/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6JjF"}
@@ -21,6 +21,7 @@
21
21
  * routes.ts - Route registration module
22
22
  */
23
23
  import fs from "node:fs";
24
+ import { readLegacyCatalogFile } from "../compiler/semanticCatalog.js";
24
25
  import path from "node:path";
25
26
  import * as yaml from "js-yaml";
26
27
  import { buildParamSchemasForOperation, getJsonSchemaRefName, isNumericStatus, resolveClientMeta, resolveOperationMeta, } from "./helpers.js";
@@ -126,8 +127,7 @@ export async function generateGateway(opts) {
126
127
  // Load catalog if provided (for operation metadata)
127
128
  let catalog = undefined;
128
129
  if (opts.catalogFile && fs.existsSync(opts.catalogFile)) {
129
- const catalogRaw = fs.readFileSync(opts.catalogFile, "utf8");
130
- catalog = JSON.parse(catalogRaw);
130
+ catalog = readLegacyCatalogFile(opts.catalogFile);
131
131
  }
132
132
  // Resolve client metadata for full handler generation
133
133
  const clientMeta = resolveClientMeta({
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export { generateTests } from "./test/generateTests.js";
6
6
  export { runGenerationPipeline } from "./pipeline.js";
7
7
  export { loadStreamConfigFile, parseStreamConfig, StreamConfigError, type OperationStreamMetadata, type ShapeCatalogRef, type StreamConfig, } from "./util/streamConfig.js";
8
8
  export { applyShapeCatalogs, type ApplyShapeCatalogsOptions } from "./compiler/shapeResolver.js";
9
+ export { checkedDirectRuntimeV1 } from './client/checkedDirectRuntime.js';
9
10
  /**
10
11
  * Compiles a WSDL file to TypeScript client code
11
12
  *
@@ -35,4 +36,6 @@ export declare function compileWsdlToProject(input: {
35
36
  /** In-memory stream configuration. Ignored when `streamConfigFile` is set. */
36
37
  streamConfig?: import("./util/streamConfig.js").StreamConfig;
37
38
  }): Promise<void>;
39
+ export { assessSchemaSource, serializeAssessmentReport, parseAssessmentReport, assessmentExitCode, ASSESSMENT_VERSION, ASSESSMENT_BASIS } from './compiler/checkedAssessment.js';
40
+ export type { CheckedAssessmentReport, AssessmentObligation, AssessedOperation, AssessmentStatus } from './compiler/checkedAssessment.js';
38
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAWjD,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,kBAAkB,EAAE,KAAK,yBAAyB,EAAC,MAAM,6BAA6B,CAAC;AAG/F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE;IACL,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,kHAAkH;IAClH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,YAAY,CAAC,EAAE,OAAO,wBAAwB,EAAE,YAAY,CAAC;CAC9D,GACA,OAAO,CAAC,IAAI,CAAC,CA2Ef"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAWjD,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,kBAAkB,EAAE,KAAK,yBAAyB,EAAC,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EAAC,sBAAsB,EAAC,MAAM,kCAAkC,CAAC;AAGxE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE;IACL,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,kHAAkH;IAClH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,YAAY,CAAC,EAAE,OAAO,wBAAwB,EAAE,YAAY,CAAC;CAC9D,GACA,OAAO,CAAC,IAAI,CAAC,CA2Ef;AAED,OAAO,EAAC,kBAAkB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAC/K,YAAY,EAAC,uBAAuB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,iCAAiC,CAAC"}
package/dist/index.js CHANGED
@@ -29,6 +29,7 @@ export { generateTests } from "./test/generateTests.js";
29
29
  export { runGenerationPipeline } from "./pipeline.js";
30
30
  export { loadStreamConfigFile, parseStreamConfig, StreamConfigError, } from "./util/streamConfig.js";
31
31
  export { applyShapeCatalogs } from "./compiler/shapeResolver.js";
32
+ export { checkedDirectRuntimeV1 } from './client/checkedDirectRuntime.js';
32
33
  // noinspection JSUnusedGlobalSymbols
33
34
  /**
34
35
  * Compiles a WSDL file to TypeScript client code
@@ -117,3 +118,4 @@ export async function compileWsdlToProject(input) {
117
118
  generateCatalog(catalogFile, compiled);
118
119
  }
119
120
  }
121
+ export { assessSchemaSource, serializeAssessmentReport, parseAssessmentReport, assessmentExitCode, ASSESSMENT_VERSION, ASSESSMENT_BASIS } from './compiler/checkedAssessment.js';