@techspokes/typescript-wsdl-client 1.1.4 → 1.1.8

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 (422) hide show
  1. package/README.md +81 -35
  2. package/dist/app/generateApp.d.ts +0 -1
  3. package/dist/app/generateApp.js +8 -6
  4. package/dist/app/generateCheckedApp.d.ts +38 -0
  5. package/dist/app/generateCheckedApp.js +108 -0
  6. package/dist/checkedPipeline.d.ts +155 -0
  7. package/dist/checkedPipeline.js +448 -0
  8. package/dist/checkedPlanning.d.ts +123 -0
  9. package/dist/checkedPlanning.js +245 -0
  10. package/dist/cli.d.ts +0 -1
  11. package/dist/cli.js +123 -5
  12. package/dist/client/checkedDirectRuntime.d.ts +96 -0
  13. package/dist/client/checkedDirectRuntime.js +43 -0
  14. package/dist/client/directClientRuntime.d.ts +74 -0
  15. package/dist/client/directClientRuntime.js +165 -0
  16. package/dist/client/directClientVersion.d.ts +6 -0
  17. package/dist/client/directClientVersion.js +6 -0
  18. package/dist/client/generateClient.d.ts +0 -1
  19. package/dist/client/generateClient.js +26 -12
  20. package/dist/client/generateDirectClient.d.ts +32 -0
  21. package/dist/client/generateDirectClient.js +268 -0
  22. package/dist/client/generateOperations.d.ts +0 -1
  23. package/dist/client/generateTypes.d.ts +0 -1
  24. package/dist/client/generateUtils.d.ts +0 -1
  25. package/dist/client/generateUtils.js +3 -1
  26. package/dist/compiler/applicationGroups.d.ts +53 -0
  27. package/dist/compiler/applicationGroups.js +403 -0
  28. package/dist/compiler/buildCanonicalGraph.d.ts +6 -0
  29. package/dist/compiler/buildCanonicalGraph.js +381 -0
  30. package/dist/compiler/canonicalGraph.d.ts +197 -0
  31. package/dist/compiler/canonicalGraph.js +37 -0
  32. package/dist/compiler/catalogErrors.d.ts +17 -0
  33. package/dist/compiler/catalogErrors.js +86 -0
  34. package/dist/compiler/catalogProvenance.d.ts +14 -0
  35. package/dist/compiler/catalogProvenance.js +229 -0
  36. package/dist/compiler/checkedAssessment.d.ts +90 -0
  37. package/dist/compiler/checkedAssessment.js +300 -0
  38. package/dist/compiler/checkedComponentSource.d.ts +16 -0
  39. package/dist/compiler/checkedComponentSource.js +31 -0
  40. package/dist/compiler/checkedSourcePreparation.d.ts +72 -0
  41. package/dist/compiler/checkedSourcePreparation.js +202 -0
  42. package/dist/compiler/complexTypeContent.d.ts +58 -0
  43. package/dist/compiler/complexTypeContent.js +558 -0
  44. package/dist/compiler/componentCorrespondence.d.ts +32 -0
  45. package/dist/compiler/componentCorrespondence.js +140 -0
  46. package/dist/compiler/componentRecordProjection.d.ts +109 -0
  47. package/dist/compiler/componentRecordProjection.js +319 -0
  48. package/dist/compiler/componentSoapPreparation.d.ts +20 -0
  49. package/dist/compiler/componentSoapPreparation.js +36 -0
  50. package/dist/compiler/composeCanonicalGraph.d.ts +68 -0
  51. package/dist/compiler/composeCanonicalGraph.js +252 -0
  52. package/dist/compiler/dataOwnership.d.ts +21 -0
  53. package/dist/compiler/dataOwnership.js +167 -0
  54. package/dist/compiler/datatypeValues.d.ts +46 -0
  55. package/dist/compiler/datatypeValues.js +275 -0
  56. package/dist/compiler/directCodec.d.ts +116 -0
  57. package/dist/compiler/directCodec.js +377 -0
  58. package/dist/compiler/directExecutionPolicy.d.ts +9 -0
  59. package/dist/compiler/directExecutionPolicy.js +17 -0
  60. package/dist/compiler/directOperation.d.ts +114 -0
  61. package/dist/compiler/directOperation.js +373 -0
  62. package/dist/compiler/directSoap.d.ts +66 -0
  63. package/dist/compiler/directSoap.js +391 -0
  64. package/dist/compiler/directSoapSource.d.ts +38 -0
  65. package/dist/compiler/directSoapSource.js +233 -0
  66. package/dist/compiler/directSourceCapsule.d.ts +169 -0
  67. package/dist/compiler/directSourceCapsule.js +727 -0
  68. package/dist/compiler/directStructure.d.ts +128 -0
  69. package/dist/compiler/directStructure.js +543 -0
  70. package/dist/compiler/directStructurePlan.d.ts +149 -0
  71. package/dist/compiler/directStructurePlan.js +623 -0
  72. package/dist/compiler/directValues.d.ts +128 -0
  73. package/dist/compiler/directValues.js +1116 -0
  74. package/dist/compiler/finiteRe01Construction.d.ts +69 -0
  75. package/dist/compiler/finiteRe01Construction.js +422 -0
  76. package/dist/compiler/finiteRe01Verification.d.ts +218 -0
  77. package/dist/compiler/finiteRe01Verification.js +1217 -0
  78. package/dist/compiler/generateCatalog.d.ts +0 -1
  79. package/dist/compiler/graphTraversal.d.ts +10 -0
  80. package/dist/compiler/graphTraversal.js +37 -0
  81. package/dist/compiler/hypotheticalScopedIdentity.d.ts +22 -0
  82. package/dist/compiler/hypotheticalScopedIdentity.js +81 -0
  83. package/dist/compiler/occurrenceAnalysis.d.ts +66 -0
  84. package/dist/compiler/occurrenceAnalysis.js +316 -0
  85. package/dist/compiler/originalSourceMembership.d.ts +5 -0
  86. package/dist/compiler/originalSourceMembership.js +31 -0
  87. package/dist/compiler/particleAttribution.d.ts +16 -0
  88. package/dist/compiler/particleAttribution.js +494 -0
  89. package/dist/compiler/particleDeclarationConsistency.d.ts +23 -0
  90. package/dist/compiler/particleDeclarationConsistency.js +206 -0
  91. package/dist/compiler/particleExtension.d.ts +21 -0
  92. package/dist/compiler/particleExtension.js +123 -0
  93. package/dist/compiler/particleLocalAssessment.d.ts +19 -0
  94. package/dist/compiler/particleLocalAssessment.js +92 -0
  95. package/dist/compiler/particleRestriction.d.ts +23 -0
  96. package/dist/compiler/particleRestriction.js +494 -0
  97. package/dist/compiler/particleSemanticView.d.ts +51 -0
  98. package/dist/compiler/particleSemanticView.js +310 -0
  99. package/dist/compiler/particleWildcardRelation.d.ts +87 -0
  100. package/dist/compiler/particleWildcardRelation.js +143 -0
  101. package/dist/compiler/projectionScalar.d.ts +32 -0
  102. package/dist/compiler/projectionScalar.js +184 -0
  103. package/dist/compiler/re01CandidateAssignments.d.ts +95 -0
  104. package/dist/compiler/re01CandidateAssignments.js +341 -0
  105. package/dist/compiler/re01CandidateCorrespondence.d.ts +85 -0
  106. package/dist/compiler/re01CandidateCorrespondence.js +701 -0
  107. package/dist/compiler/re01TypeProperties.d.ts +70 -0
  108. package/dist/compiler/re01TypeProperties.js +120 -0
  109. package/dist/compiler/re01TypePropertyValidation.d.ts +22 -0
  110. package/dist/compiler/re01TypePropertyValidation.js +161 -0
  111. package/dist/compiler/resolveCanonicalGraph.d.ts +41 -0
  112. package/dist/compiler/resolveCanonicalGraph.js +240 -0
  113. package/dist/compiler/scalarSchemaAssessment.d.ts +424 -0
  114. package/dist/compiler/scalarSchemaAssessment.js +5198 -0
  115. package/dist/compiler/schemaAttributeGroupProperties.d.ts +16 -0
  116. package/dist/compiler/schemaAttributeGroupProperties.js +53 -0
  117. package/dist/compiler/schemaAttributeProperties.d.ts +9 -0
  118. package/dist/compiler/schemaAttributeProperties.js +11 -0
  119. package/dist/compiler/schemaAttributeUses.d.ts +110 -0
  120. package/dist/compiler/schemaAttributeUses.js +798 -0
  121. package/dist/compiler/schemaBinaryWordReconstruction.d.ts +9 -0
  122. package/dist/compiler/schemaBinaryWordReconstruction.js +33 -0
  123. package/dist/compiler/schemaBuiltinFacets.d.ts +13 -0
  124. package/dist/compiler/schemaBuiltinFacets.js +51 -0
  125. package/dist/compiler/schemaCalendarImages.d.ts +7 -0
  126. package/dist/compiler/schemaCalendarImages.js +204 -0
  127. package/dist/compiler/schemaCalendarLanguage.d.ts +10 -0
  128. package/dist/compiler/schemaCalendarLanguage.js +227 -0
  129. package/dist/compiler/schemaCompiler.d.ts +0 -1
  130. package/dist/compiler/schemaComponentEquality.d.ts +27 -0
  131. package/dist/compiler/schemaComponentEquality.js +446 -0
  132. package/dist/compiler/schemaConstructionAssessment.d.ts +79 -0
  133. package/dist/compiler/schemaConstructionAssessment.js +745 -0
  134. package/dist/compiler/schemaDatatypeValues.d.ts +3 -0
  135. package/dist/compiler/schemaDatatypeValues.js +2 -0
  136. package/dist/compiler/schemaDecimalLanguage.d.ts +6 -0
  137. package/dist/compiler/schemaDecimalLanguage.js +102 -0
  138. package/dist/compiler/schemaDeclarationPrimitives.d.ts +39 -0
  139. package/dist/compiler/schemaDeclarationPrimitives.js +211 -0
  140. package/dist/compiler/schemaDocumentSyntax.d.ts +54 -0
  141. package/dist/compiler/schemaDocumentSyntax.js +294 -0
  142. package/dist/compiler/schemaDurationLanguage.d.ts +10 -0
  143. package/dist/compiler/schemaDurationLanguage.js +170 -0
  144. package/dist/compiler/schemaElementInstance.d.ts +30 -0
  145. package/dist/compiler/schemaElementInstance.js +45 -0
  146. package/dist/compiler/schemaElementProperties.d.ts +15 -0
  147. package/dist/compiler/schemaElementProperties.js +23 -0
  148. package/dist/compiler/schemaEndpointWordCapacity.d.ts +35 -0
  149. package/dist/compiler/schemaEndpointWordCapacity.js +39 -0
  150. package/dist/compiler/schemaExactCalendar.d.ts +72 -0
  151. package/dist/compiler/schemaExactCalendar.js +264 -0
  152. package/dist/compiler/schemaFacetAnnotation.d.ts +31 -0
  153. package/dist/compiler/schemaFacetAnnotation.js +199 -0
  154. package/dist/compiler/schemaGeneratedScalarShape.d.ts +34 -0
  155. package/dist/compiler/schemaGeneratedScalarShape.js +178 -0
  156. package/dist/compiler/schemaIdentityConstraints.d.ts +72 -0
  157. package/dist/compiler/schemaIdentityConstraints.js +362 -0
  158. package/dist/compiler/schemaIeeeLanguage.d.ts +42 -0
  159. package/dist/compiler/schemaIeeeLanguage.js +759 -0
  160. package/dist/compiler/schemaIntegerImages.d.ts +10 -0
  161. package/dist/compiler/schemaIntegerImages.js +113 -0
  162. package/dist/compiler/schemaLexicalPredicates.d.ts +28 -0
  163. package/dist/compiler/schemaLexicalPredicates.js +63 -0
  164. package/dist/compiler/schemaNotationProperties.d.ts +31 -0
  165. package/dist/compiler/schemaNotationProperties.js +84 -0
  166. package/dist/compiler/schemaNumericImageConditions.d.ts +23 -0
  167. package/dist/compiler/schemaNumericImageConditions.js +66 -0
  168. package/dist/compiler/schemaParticleWildcardProperties.d.ts +19 -0
  169. package/dist/compiler/schemaParticleWildcardProperties.js +43 -0
  170. package/dist/compiler/schemaPattern.d.ts +1061 -0
  171. package/dist/compiler/schemaPattern.js +581 -0
  172. package/dist/compiler/schemaRegularLanguage.d.ts +66 -0
  173. package/dist/compiler/schemaRegularLanguage.js +1166 -0
  174. package/dist/compiler/schemaScalarContext.d.ts +85 -0
  175. package/dist/compiler/schemaScalarContext.js +78 -0
  176. package/dist/compiler/schemaScalarKernel.d.ts +181 -0
  177. package/dist/compiler/schemaScalarKernel.js +391 -0
  178. package/dist/compiler/schemaScalarWitnesses.d.ts +5 -0
  179. package/dist/compiler/schemaScalarWitnesses.js +118 -0
  180. package/dist/compiler/schemaSimpleTypeProperties.d.ts +94 -0
  181. package/dist/compiler/schemaSimpleTypeProperties.js +103 -0
  182. package/dist/compiler/schemaSourceGrammar.d.ts +26 -0
  183. package/dist/compiler/schemaSourceGrammar.js +290 -0
  184. package/dist/compiler/schemaSourceLexical.d.ts +3 -0
  185. package/dist/compiler/schemaSourceLexical.js +12 -0
  186. package/dist/compiler/schemaSourceValues.d.ts +50 -0
  187. package/dist/compiler/schemaSourceValues.js +225 -0
  188. package/dist/compiler/schemaSourceWildcards.d.ts +27 -0
  189. package/dist/compiler/schemaSourceWildcards.js +249 -0
  190. package/dist/compiler/schemaSymbolicSequences.d.ts +15 -0
  191. package/dist/compiler/schemaSymbolicSequences.js +99 -0
  192. package/dist/compiler/schemaSymbolicValueSets.d.ts +31 -0
  193. package/dist/compiler/schemaSymbolicValueSets.js +149 -0
  194. package/dist/compiler/schemaSyntaxAssessment.d.ts +24 -0
  195. package/dist/compiler/schemaSyntaxAssessment.js +361 -0
  196. package/dist/compiler/schemaTemporalAliases.d.ts +5 -0
  197. package/dist/compiler/schemaTemporalAliases.js +195 -0
  198. package/dist/compiler/schemaTokenImages.d.ts +8 -0
  199. package/dist/compiler/schemaTokenImages.js +142 -0
  200. package/dist/compiler/schemaTypeIdentity.d.ts +38 -0
  201. package/dist/compiler/schemaTypeIdentity.js +80 -0
  202. package/dist/compiler/schemaTypeRelations.d.ts +37 -0
  203. package/dist/compiler/schemaTypeRelations.js +576 -0
  204. package/dist/compiler/schemaUri.d.ts +12 -0
  205. package/dist/compiler/schemaUri.js +103 -0
  206. package/dist/compiler/schemaValueContext.d.ts +25 -0
  207. package/dist/compiler/schemaValueContext.js +1 -0
  208. package/dist/compiler/schemaValueImages.d.ts +9 -0
  209. package/dist/compiler/schemaValueImages.js +142 -0
  210. package/dist/compiler/schemaValueSequences.d.ts +14 -0
  211. package/dist/compiler/schemaValueSequences.js +19 -0
  212. package/dist/compiler/semanticBudget.d.ts +67 -0
  213. package/dist/compiler/semanticBudget.js +193 -0
  214. package/dist/compiler/semanticCatalog.d.ts +121 -0
  215. package/dist/compiler/semanticCatalog.js +160 -0
  216. package/dist/compiler/semanticContext.d.ts +183 -0
  217. package/dist/compiler/semanticContext.js +1207 -0
  218. package/dist/compiler/semanticTypeDependencies.d.ts +7 -0
  219. package/dist/compiler/semanticTypeDependencies.js +64 -0
  220. package/dist/compiler/semanticTypeReference.d.ts +23 -0
  221. package/dist/compiler/semanticTypeReference.js +36 -0
  222. package/dist/compiler/shapeResolver.d.ts +1 -1
  223. package/dist/compiler/shapeResolver.js +7 -9
  224. package/dist/compiler/soapHeaders.d.ts +16 -0
  225. package/dist/compiler/soapHeaders.js +42 -0
  226. package/dist/compiler/sourceSchemaBinding.d.ts +25 -0
  227. package/dist/compiler/sourceSchemaBinding.js +39 -0
  228. package/dist/compiler/standardSchemaComponents.d.ts +71 -0
  229. package/dist/compiler/standardSchemaComponents.js +74 -0
  230. package/dist/compiler/standardSchemaConstruction.d.ts +20 -0
  231. package/dist/compiler/standardSchemaConstruction.js +34 -0
  232. package/dist/compiler/structuralCompanions.d.ts +15 -0
  233. package/dist/compiler/structuralCompanions.js +232 -0
  234. package/dist/compiler/validateSemanticGraph.d.ts +4 -0
  235. package/dist/compiler/validateSemanticGraph.js +376 -0
  236. package/dist/compiler/wildcardAlgebra.d.ts +25 -0
  237. package/dist/compiler/wildcardAlgebra.js +155 -0
  238. package/dist/compiler/wsdlPolicyRequirements.d.ts +43 -0
  239. package/dist/compiler/wsdlPolicyRequirements.js +239 -0
  240. package/dist/config.d.ts +0 -1
  241. package/dist/gateway/generateCheckedGateway.d.ts +32 -0
  242. package/dist/gateway/generateCheckedGateway.js +293 -0
  243. package/dist/gateway/generateGateway.d.ts +0 -1
  244. package/dist/gateway/generateGateway.js +2 -2
  245. package/dist/gateway/generators.d.ts +0 -1
  246. package/dist/gateway/helpers.d.ts +0 -1
  247. package/dist/generation/componentShape.d.ts +14 -0
  248. package/dist/generation/componentShape.js +269 -0
  249. package/dist/generation/preamble.d.ts +0 -1
  250. package/dist/generation/sourceLayout.d.ts +13 -0
  251. package/dist/generation/sourceLayout.js +40 -0
  252. package/dist/generation/writeGeneratedSource.d.ts +0 -1
  253. package/dist/index.d.ts +9 -1
  254. package/dist/index.js +3 -0
  255. package/dist/loader/fetch.d.ts +0 -1
  256. package/dist/loader/orderedSyntax.d.ts +84 -0
  257. package/dist/loader/orderedSyntax.js +222 -0
  258. package/dist/loader/resolutionDepth.d.ts +6 -0
  259. package/dist/loader/resolutionDepth.js +65 -0
  260. package/dist/loader/schemaInput.d.ts +80 -0
  261. package/dist/loader/schemaInput.js +249 -0
  262. package/dist/loader/schemaResources.d.ts +60 -0
  263. package/dist/loader/schemaResources.js +333 -0
  264. package/dist/loader/wsdlLoader.d.ts +0 -1
  265. package/dist/openapi/casing.d.ts +0 -1
  266. package/dist/openapi/generateOpenAPI.d.ts +0 -1
  267. package/dist/openapi/generateOpenAPI.js +2 -2
  268. package/dist/openapi/generatePaths.d.ts +0 -1
  269. package/dist/openapi/generateSchemas.d.ts +0 -1
  270. package/dist/openapi/security.d.ts +0 -1
  271. package/dist/pipeline.d.ts +6 -2
  272. package/dist/pipeline.js +13 -0
  273. package/dist/test/generateCheckedTests.d.ts +17 -0
  274. package/dist/test/generateCheckedTests.js +60 -0
  275. package/dist/test/generateTests.d.ts +0 -1
  276. package/dist/test/generateTests.js +2 -2
  277. package/dist/test/generators.d.ts +0 -1
  278. package/dist/test/mockData.d.ts +0 -1
  279. package/dist/test/mockData.js +20 -14
  280. package/dist/util/attributeWildcards.d.ts +0 -1
  281. package/dist/util/builder.d.ts +0 -1
  282. package/dist/util/catalogMeta.d.ts +0 -1
  283. package/dist/util/checkedCliDiagnostics.d.ts +11 -0
  284. package/dist/util/checkedCliDiagnostics.js +22 -0
  285. package/dist/util/cli.d.ts +0 -1
  286. package/dist/util/errors.d.ts +0 -1
  287. package/dist/util/imports.d.ts +0 -1
  288. package/dist/util/runtimeSource.d.ts +0 -1
  289. package/dist/util/runtimeSource.js +3 -5
  290. package/dist/util/securityConfig.d.ts +0 -1
  291. package/dist/util/streamConfig.d.ts +0 -1
  292. package/dist/util/tools.d.ts +0 -1
  293. package/dist/util/xmlWhitespace.d.ts +2 -0
  294. package/dist/util/xmlWhitespace.js +4 -0
  295. package/dist/xsd/primitives.d.ts +0 -1
  296. package/docs/agent-skill.md +2 -0
  297. package/docs/api-reference.md +1 -1
  298. package/docs/checked-gateway.md +210 -0
  299. package/docs/checked-generation.md +161 -0
  300. package/docs/cli-reference.md +43 -1
  301. package/docs/concepts.md +136 -1
  302. package/docs/configuration.md +5 -1
  303. package/docs/corpus.md +33 -0
  304. package/docs/direct-values.md +311 -0
  305. package/docs/examples/checked-forecast.wsdl +19 -0
  306. package/docs/gateway-guide.md +1 -1
  307. package/docs/generated-code.md +10 -5
  308. package/docs/mapping-contract.md +114 -0
  309. package/docs/migration-playbook.md +1 -1
  310. package/docs/output-anatomy.md +1 -1
  311. package/docs/start-here.md +8 -2
  312. package/docs/supported-patterns.md +17 -5
  313. package/docs/testing.md +117 -31
  314. package/llms.txt +7 -7
  315. package/package.json +79 -25
  316. package/src/generation/preambles/direct-client/typescript.preamble +3 -0
  317. package/src/runtime/checkedGatewayHost.tpl.txt +157 -0
  318. package/src/runtime/streamXml.ts +1 -1
  319. package/dist/app/generateApp.d.ts.map +0 -1
  320. package/dist/cli.d.ts.map +0 -1
  321. package/dist/client/generateClient.d.ts.map +0 -1
  322. package/dist/client/generateOperations.d.ts.map +0 -1
  323. package/dist/client/generateTypes.d.ts.map +0 -1
  324. package/dist/client/generateUtils.d.ts.map +0 -1
  325. package/dist/compiler/generateCatalog.d.ts.map +0 -1
  326. package/dist/compiler/schemaCompiler.d.ts.map +0 -1
  327. package/dist/compiler/shapeResolver.d.ts.map +0 -1
  328. package/dist/config.d.ts.map +0 -1
  329. package/dist/gateway/generateGateway.d.ts.map +0 -1
  330. package/dist/gateway/generators.d.ts.map +0 -1
  331. package/dist/gateway/helpers.d.ts.map +0 -1
  332. package/dist/generation/preamble.d.ts.map +0 -1
  333. package/dist/generation/writeGeneratedSource.d.ts.map +0 -1
  334. package/dist/index.d.ts.map +0 -1
  335. package/dist/loader/fetch.d.ts.map +0 -1
  336. package/dist/loader/wsdlLoader.d.ts.map +0 -1
  337. package/dist/openapi/casing.d.ts.map +0 -1
  338. package/dist/openapi/generateOpenAPI.d.ts.map +0 -1
  339. package/dist/openapi/generatePaths.d.ts.map +0 -1
  340. package/dist/openapi/generateSchemas.d.ts.map +0 -1
  341. package/dist/openapi/security.d.ts.map +0 -1
  342. package/dist/pipeline.d.ts.map +0 -1
  343. package/dist/runtime/jsonArray.d.ts +0 -24
  344. package/dist/runtime/jsonArray.d.ts.map +0 -1
  345. package/dist/runtime/jsonArray.js +0 -52
  346. package/dist/runtime/ndjson.d.ts +0 -24
  347. package/dist/runtime/ndjson.d.ts.map +0 -1
  348. package/dist/runtime/ndjson.js +0 -30
  349. package/dist/runtime/streamXml.d.ts +0 -45
  350. package/dist/runtime/streamXml.d.ts.map +0 -1
  351. package/dist/runtime/streamXml.js +0 -212
  352. package/dist/test/generateTests.d.ts.map +0 -1
  353. package/dist/test/generators.d.ts.map +0 -1
  354. package/dist/test/mockData.d.ts.map +0 -1
  355. package/dist/util/attributeWildcards.d.ts.map +0 -1
  356. package/dist/util/builder.d.ts.map +0 -1
  357. package/dist/util/catalogMeta.d.ts.map +0 -1
  358. package/dist/util/cli.d.ts.map +0 -1
  359. package/dist/util/errors.d.ts.map +0 -1
  360. package/dist/util/imports.d.ts.map +0 -1
  361. package/dist/util/runtimeSource.d.ts.map +0 -1
  362. package/dist/util/securityConfig.d.ts.map +0 -1
  363. package/dist/util/streamConfig.d.ts.map +0 -1
  364. package/dist/util/tools.d.ts.map +0 -1
  365. package/dist/xsd/primitives.d.ts.map +0 -1
  366. package/docs/AGENTS.md +0 -47
  367. package/docs/README.md +0 -56
  368. package/docs/architecture.md +0 -149
  369. package/docs/decisions/001-test-generation.md +0 -36
  370. package/docs/decisions/002-streamable-responses.md +0 -330
  371. package/docs/file-naming-and-path-organization.md +0 -213
  372. package/docs/releases/README.md +0 -94
  373. package/docs/releases/v0.20.0.md +0 -22
  374. package/docs/releases/v0.21.0.md +0 -30
  375. package/docs/releases/v0.22.0.md +0 -30
  376. package/docs/releases/v0.23.0.md +0 -31
  377. package/docs/releases/v0.24.0.md +0 -38
  378. package/docs/releases/v0.25.0.md +0 -31
  379. package/docs/releases/v0.25.2.md +0 -32
  380. package/docs/releases/v0.26.0.md +0 -32
  381. package/docs/releases/v0.27.0.md +0 -31
  382. package/docs/releases/v0.28.0.md +0 -32
  383. package/docs/releases/v0.29.0.md +0 -32
  384. package/docs/releases/v0.30.0.md +0 -30
  385. package/docs/releases/v0.30.1.md +0 -31
  386. package/docs/releases/v0.30.2.md +0 -30
  387. package/docs/releases/v0.30.3.md +0 -33
  388. package/docs/releases/v0.31.0.md +0 -33
  389. package/docs/releases/v0.32.0.md +0 -33
  390. package/docs/releases/v0.33.0.md +0 -34
  391. package/docs/releases/v0.34.0.md +0 -30
  392. package/docs/releases/v0.35.0.md +0 -33
  393. package/docs/releases/v0.36.0.md +0 -32
  394. package/docs/releases/v0.37.0.md +0 -33
  395. package/docs/releases/v0.38.0.md +0 -35
  396. package/docs/releases/v0.39.0.md +0 -35
  397. package/docs/releases/v0.40.0.md +0 -45
  398. package/docs/releases/v0.40.1.md +0 -34
  399. package/docs/releases/v1.0.0.md +0 -42
  400. package/docs/releases/v1.0.1.md +0 -38
  401. package/docs/releases/v1.0.2.md +0 -51
  402. package/docs/releases/v1.0.3.md +0 -37
  403. package/docs/releases/v1.0.4.md +0 -45
  404. package/docs/releases/v1.0.5.md +0 -41
  405. package/docs/releases/v1.0.6.md +0 -35
  406. package/docs/releases/v1.0.7.md +0 -36
  407. package/docs/releases/v1.1.0.md +0 -42
  408. package/docs/releases/v1.1.1.md +0 -44
  409. package/docs/releases/v1.1.2.md +0 -42
  410. package/docs/releases/v1.1.3.md +0 -36
  411. package/docs/releases/v1.1.4.md +0 -36
  412. package/docs/roadmap/README.md +0 -107
  413. package/docs/roadmap/v1.0-capability-conformance-framework.md +0 -582
  414. package/docs/roadmap/v1.0-choice-union-mode.md +0 -90
  415. package/docs/roadmap/v1.0-contract-audit.md +0 -75
  416. package/docs/roadmap/v1.0-json-array-streaming.md +0 -101
  417. package/docs/roadmap/v1.0-openapi-fastify-compatibility.md +0 -99
  418. package/docs/roadmap/v1.0-release-candidate-gates.md +0 -92
  419. package/docs/roadmap/v1.0-wsdl-coverage-matrix.md +0 -200
  420. package/docs/roadmap/v1.0-xs-anyattribute-wildcard-bag.md +0 -932
  421. package/src/runtime/jsonArray.ts +0 -55
  422. package/src/runtime/ndjson.ts +0 -32
@@ -0,0 +1,494 @@
1
+ import { assertSemanticParticleView } from './particleSemanticView.js';
2
+ import { effectiveSubstitutionMembers } from './schemaTypeRelations.js';
3
+ import { namespaceAllows } from './wildcardAlgebra.js';
4
+ import { SemanticError } from './resolveCanonicalGraph.js';
5
+ import { occurrenceAlgebra } from './occurrenceAnalysis.js';
6
+ import { collectSemanticTypeDependencies } from './semanticTypeDependencies.js';
7
+ class Incomplete extends Error {
8
+ result;
9
+ constructor(result) {
10
+ super(result.kind);
11
+ this.result = result;
12
+ }
13
+ }
14
+ /** Counted iteration preserves each leaf incidence tag; shared child edges remain distinct. */
15
+ export function checkParticleAttribution(context, view) {
16
+ assertSemanticParticleView(context, view);
17
+ const budget = context.budget, charge = (n = 1) => budget.chargeWork(n);
18
+ return budget.guard(() => {
19
+ const typeDependencies = collectSemanticTypeDependencies(context);
20
+ typeDependencies.add(view.typeDependencies);
21
+ const unresolved = (component, message) => {
22
+ charge(10 + component.length + message.length);
23
+ throw new Incomplete(Object.freeze({ kind: 'unresolved', rule: 'cos-nonambig', component, message }));
24
+ };
25
+ const done = (value, component) => {
26
+ charge(12);
27
+ return Object.freeze({ kind: 'checked', value, rule: 'cos-nonambig', contextId: context.contextId,
28
+ component, obligations: Object.freeze(['component-validity']), typeDependencies: typeDependencies.snapshot() });
29
+ };
30
+ try {
31
+ charge(24);
32
+ if (view.purpose !== 'declared')
33
+ return unresolved(view.root.source, 'Declared view required for attribution');
34
+ const algebra = occurrenceAlgebra(charge);
35
+ const leaves = [];
36
+ const position = (particle) => {
37
+ charge(6);
38
+ const value = { particle, children: [], tag: -1 };
39
+ if (particle.kind === 'element' || particle.kind === 'any') {
40
+ charge();
41
+ value.tag = leaves.length;
42
+ leaves.push(value);
43
+ }
44
+ return value;
45
+ };
46
+ const root = position(view.root);
47
+ charge(3);
48
+ const expansion = [{ position: root, index: 0 }];
49
+ while (expansion.length) {
50
+ charge(3);
51
+ const frame = expansion[expansion.length - 1];
52
+ if (frame.index === frame.position.particle.children.length) {
53
+ expansion.pop();
54
+ continue;
55
+ }
56
+ const child = position(frame.position.particle.children[frame.index++]);
57
+ charge(4);
58
+ frame.position.children.push(child);
59
+ expansion.push({ position: child, index: 0 });
60
+ }
61
+ charge(5);
62
+ const namespaces = new Set(), nameKeys = new Set(), tokens = [{ namespace: undefined }], labels = [];
63
+ const addName = (name) => {
64
+ charge(20 + 6 * (name.namespace.length + name.local.length));
65
+ const key = JSON.stringify([name.namespace, name.local]);
66
+ namespaces.add(name.namespace);
67
+ if (!nameKeys.has(key)) {
68
+ charge(4);
69
+ nameKeys.add(key);
70
+ tokens.push({ namespace: name.namespace, local: name.local });
71
+ }
72
+ };
73
+ for (const leaf of leaves) {
74
+ charge(6);
75
+ const p = leaf.particle, names = [];
76
+ let wildcard;
77
+ if (p.wildcard) {
78
+ wildcard = p.wildcard.namespace;
79
+ for (const ns of wildcard.namespaces) {
80
+ charge(2 + ns.length);
81
+ namespaces.add(ns);
82
+ }
83
+ }
84
+ else if (p.standardElement) {
85
+ // Fixed acquired declarations block substitution; their dependency is
86
+ // checked separately by native standard-component construction.
87
+ charge(3);
88
+ names.push(p.standardElement.name);
89
+ addName(p.standardElement.name);
90
+ }
91
+ else {
92
+ const element = p.element;
93
+ if (element.identity.kind === 'global') {
94
+ if (context.membership !== 'complete-actual-plus-additions')
95
+ return unresolved(p.source, 'Complete substitution universe required');
96
+ const members = effectiveSubstitutionMembers(context, element.id);
97
+ if (members.kind !== 'checked')
98
+ throw new Incomplete(members);
99
+ typeDependencies.add(members.typeDependencies);
100
+ for (const id of members.value) {
101
+ const found = context.lookup(id);
102
+ if (found.kind !== 'found' || found.node.kind !== 'element')
103
+ return unresolved(id, 'Substitution member unavailable');
104
+ charge();
105
+ names.push(found.node.name);
106
+ }
107
+ }
108
+ else if (!element.abstract) {
109
+ charge();
110
+ names.push(element.name);
111
+ }
112
+ for (const name of names)
113
+ addName(name);
114
+ }
115
+ charge(5);
116
+ labels.push({ position: leaf, names, wildcard, tokens: [] });
117
+ }
118
+ for (const namespace of namespaces) {
119
+ charge(3);
120
+ tokens.push({ namespace });
121
+ }
122
+ for (const label of labels)
123
+ for (let i = 0; i < tokens.length; i++) {
124
+ charge(3);
125
+ const token = tokens[i];
126
+ let accepts = false;
127
+ if (label.wildcard)
128
+ accepts = token.namespace === undefined ? label.wildcard.kind === 'not' : namespaceAllows(label.wildcard, token.namespace, charge);
129
+ else if (token.namespace !== undefined && token.local !== undefined)
130
+ for (const name of label.names) {
131
+ charge(4 + name.namespace.length + name.local.length + token.namespace.length + token.local.length);
132
+ if (name.namespace === token.namespace && name.local === token.local) {
133
+ accepts = true;
134
+ break;
135
+ }
136
+ }
137
+ if (accepts) {
138
+ charge();
139
+ label.tokens.push(i);
140
+ }
141
+ }
142
+ const counters = [], facts = new Map();
143
+ charge(3);
144
+ const postorder = [{ p: root, visited: false }];
145
+ while (postorder.length) {
146
+ charge(4);
147
+ const frame = postorder.pop();
148
+ if (!frame.visited) {
149
+ charge(3 + frame.p.children.length * 3);
150
+ postorder.push({ p: frame.p, visited: true });
151
+ for (const child of frame.p.children)
152
+ postorder.push({ p: child, visited: false });
153
+ continue;
154
+ }
155
+ const p = frame.p, min = algebra.count(p.particle.occurs.min);
156
+ const max = p.particle.occurs.max === 'unbounded' ? undefined : algebra.count(p.particle.occurs.max);
157
+ charge(8);
158
+ const counter = counters.length;
159
+ counters.push({ min, max, digits: Math.max(p.particle.occurs.min.length, max === undefined ? 1 : p.particle.occurs.max.length) });
160
+ facts.set(p, { counter });
161
+ }
162
+ // @why Disjoint full alphabet quotients admit at most one leaf incidence for any next QName, independently of counter reachability.
163
+ charge(2);
164
+ const attributedTokens = new Set();
165
+ let disjoint = true;
166
+ for (const label of labels)
167
+ for (const token of label.tokens) {
168
+ charge(3);
169
+ if (attributedTokens.has(token))
170
+ disjoint = false;
171
+ attributedTokens.add(token);
172
+ }
173
+ if (disjoint)
174
+ return done(true);
175
+ charge(2);
176
+ const states = [];
177
+ const state = () => { charge(7); const id = states.length; states.push({ epsilon: [], consuming: [] }); return id; };
178
+ const epsilon = (from, to, counter, op) => {
179
+ charge(5);
180
+ states[from].epsilon.push({ to, counter, op });
181
+ };
182
+ const edge = (from, to, label) => {
183
+ if (!label.tokens.length)
184
+ return;
185
+ charge(5);
186
+ states[from].consuming.push({ to, label });
187
+ };
188
+ function* compile(request) {
189
+ charge(8);
190
+ const { p, term } = request, particle = p.particle, properties = facts.get(p);
191
+ if (!term) {
192
+ const start = state(), gate = state(), end = state();
193
+ const part = yield { p, term: true };
194
+ epsilon(start, gate, properties.counter, 'reset');
195
+ epsilon(gate, end, properties.counter, 'exit');
196
+ epsilon(gate, part.start, properties.counter, 'enter');
197
+ epsilon(part.end, gate, properties.counter, 'advance');
198
+ if (p.tag >= 0) {
199
+ // This direct loop is the sole acceleration authority. Between
200
+ // consuming its nonnullable leaf and re-entering it, only this
201
+ // counter advances; below min no exit/enclosing action is enabled.
202
+ charge(2);
203
+ states[part.start].leafCounter = properties.counter;
204
+ counters[properties.counter].leaf = part.start;
205
+ }
206
+ charge(3);
207
+ return { start, end };
208
+ }
209
+ const start = state(), end = state();
210
+ if (particle.kind === 'element' || particle.kind === 'any')
211
+ edge(start, end, labels[p.tag]);
212
+ else if (particle.kind === 'sequence') {
213
+ let tail = start;
214
+ for (let i = 0; i < p.children.length; i++) {
215
+ charge(3);
216
+ const part = yield { p: p.children[i], term: false };
217
+ epsilon(tail, part.start);
218
+ tail = part.end;
219
+ }
220
+ epsilon(tail, end);
221
+ }
222
+ else if (particle.kind === 'choice') {
223
+ for (const child of p.children) {
224
+ charge(3);
225
+ const part = yield { p: child, term: false };
226
+ epsilon(start, part.start);
227
+ epsilon(part.end, end);
228
+ }
229
+ }
230
+ else {
231
+ charge(4);
232
+ let required = 0n;
233
+ const queue = [0n], masks = new Map([[0n, start]]);
234
+ for (let i = 0; i < p.children.length; i++) {
235
+ const child = p.children[i].particle;
236
+ charge(5 + p.children.length);
237
+ if (child.kind !== 'element' || !['0', '1'].includes(child.occurs.min) || child.occurs.max !== '1')
238
+ return unresolved(child.source, 'All placement must be checked before attribution');
239
+ if (child.occurs.min === '1')
240
+ required |= 1n << BigInt(i);
241
+ }
242
+ for (let q = 0; q < queue.length; q++) {
243
+ charge(3 + p.children.length);
244
+ const mask = queue[q], from = masks.get(mask);
245
+ if ((mask & required) === required)
246
+ epsilon(from, end);
247
+ for (let i = 0; i < p.children.length; i++) {
248
+ charge(6 + p.children.length);
249
+ const bit = 1n << BigInt(i);
250
+ if (mask & bit)
251
+ continue;
252
+ const next = mask | bit;
253
+ let to = masks.get(next);
254
+ if (to === undefined) {
255
+ charge(3);
256
+ to = state();
257
+ masks.set(next, to);
258
+ queue.push(next);
259
+ }
260
+ edge(from, to, labels[p.children[i].tag]);
261
+ }
262
+ }
263
+ }
264
+ charge(3);
265
+ return { start, end };
266
+ }
267
+ charge(5);
268
+ const stack = [{ iterator: compile({ p: root, term: false }), reply: { start: 0, end: 0 } }];
269
+ let automaton;
270
+ while (stack.length) {
271
+ charge(4);
272
+ const top = stack[stack.length - 1], result = top.iterator.next(top.reply);
273
+ if (result.done) {
274
+ stack.pop();
275
+ if (!stack.length) {
276
+ automaton = result.value;
277
+ break;
278
+ }
279
+ stack[stack.length - 1].reply = result.value;
280
+ }
281
+ else {
282
+ charge(5);
283
+ stack.push({ iterator: compile(result.value), reply: { start: 0, end: 0 } });
284
+ }
285
+ }
286
+ if (!automaton)
287
+ throw Error('Attribution automaton has no root');
288
+ const configurationKey = (config) => {
289
+ charge(25 + config.values.length);
290
+ const parts = [String(config.state)];
291
+ let length = parts[0].length;
292
+ for (let i = 0; i < config.values.length; i++) {
293
+ const digits = counters[i].digits + 1;
294
+ charge(6 + digits * digits * 2);
295
+ const text = config.values[i].toString();
296
+ charge();
297
+ parts.push(text);
298
+ length += text.length + 1;
299
+ }
300
+ charge(1 + length);
301
+ return parts.join(',');
302
+ };
303
+ const setCounter = (config, state, counter, value) => {
304
+ charge(4 + config.values.length);
305
+ const values = [...config.values];
306
+ values[counter] = value;
307
+ return { state, values };
308
+ };
309
+ const closure = (initial, epochs) => {
310
+ charge(3);
311
+ const seen = new Map(), pending = [];
312
+ for (const config of initial) {
313
+ charge();
314
+ pending.push(config);
315
+ }
316
+ while (pending.length) {
317
+ charge(3);
318
+ const config = pending.pop(), key = configurationKey(config);
319
+ if (seen.has(key))
320
+ continue;
321
+ charge();
322
+ seen.set(key, config);
323
+ for (const transition of states[config.state].epsilon) {
324
+ charge(5);
325
+ let next;
326
+ if (transition.counter === undefined) {
327
+ charge(2);
328
+ next = { state: transition.to, values: config.values };
329
+ }
330
+ else {
331
+ const index = transition.counter, range = counters[index], value = config.values[index];
332
+ charge(8 + range.digits * 4);
333
+ if (transition.op === 'enter') {
334
+ if (range.max !== undefined && value >= range.max)
335
+ continue;
336
+ charge(2);
337
+ next = { state: transition.to, values: config.values };
338
+ }
339
+ else if (transition.op === 'exit') {
340
+ if (value < range.min)
341
+ continue;
342
+ if (epochs) {
343
+ charge();
344
+ epochs[index]++;
345
+ }
346
+ next = setCounter(config, transition.to, index, -1n);
347
+ }
348
+ else if (transition.op === 'reset') {
349
+ if (epochs) {
350
+ charge();
351
+ epochs[index]++;
352
+ }
353
+ next = setCounter(config, transition.to, index, 0n);
354
+ }
355
+ else
356
+ next = setCounter(config, transition.to, index, range.max === undefined && value >= range.min ? range.min : value + 1n);
357
+ }
358
+ charge();
359
+ pending.push(next);
360
+ }
361
+ }
362
+ charge(1 + seen.size);
363
+ const keys = budget.sorted([...seen.keys()], budget.compareText);
364
+ charge(keys.length);
365
+ return keys.map(key => seen.get(key));
366
+ };
367
+ const subsetKey = (configs) => {
368
+ charge(2 + configs.length);
369
+ const parts = [];
370
+ let length = 0;
371
+ for (const config of configs) {
372
+ const key = configurationKey(config);
373
+ charge(3);
374
+ parts.push(key);
375
+ length += key.length + 1;
376
+ }
377
+ charge(1 + length);
378
+ return parts.join(';');
379
+ };
380
+ charge(4 + counters.length);
381
+ const first = closure([{ state: automaton.start, values: new Array(counters.length).fill(-1n) }]);
382
+ charge(4 + counters.length);
383
+ const seen = new Set([subsetKey(first)]), pending = [{ subset: first, trajectory: { history: new Map(), epochs: new Array(counters.length).fill(0) } }];
384
+ for (let cursor = 0; cursor < pending.length; cursor++) {
385
+ charge(3);
386
+ let subset = pending[cursor].subset, trajectory = pending[cursor].trajectory;
387
+ let single, consuming = 0;
388
+ for (const config of subset)
389
+ if (states[config.state].consuming.length) {
390
+ charge(2);
391
+ consuming++;
392
+ single = config;
393
+ }
394
+ if (consuming === 1 && single && states[single.state].leafCounter !== undefined && states[single.state].consuming.length === 1) {
395
+ const direct = states[single.state].leafCounter;
396
+ const previous = trajectory.history.get(single.state);
397
+ let accelerated;
398
+ if (direct !== undefined && counters[direct].leaf === single.state) {
399
+ const range = counters[direct], value = single.values[direct];
400
+ charge(8 + range.digits * 4);
401
+ if (value < range.min - 1n)
402
+ accelerated = setCounter(single, single.state, direct, range.min - 1n);
403
+ }
404
+ if (!accelerated && previous) {
405
+ let changed = -1, eligible = true;
406
+ for (let i = 0; i < counters.length; i++) {
407
+ charge(5 + counters[i].digits * 3);
408
+ if (single.values[i] === previous.values[i])
409
+ continue;
410
+ if (changed !== -1 || previous.values[i] < 0n || single.values[i] <= previous.values[i]
411
+ || trajectory.epochs[i] !== previous.epochs[i]) {
412
+ eligible = false;
413
+ break;
414
+ }
415
+ changed = i;
416
+ }
417
+ if (eligible && changed !== -1) {
418
+ const range = counters[changed];
419
+ charge(16 + range.digits * range.digits * 8);
420
+ const value = single.values[changed], delta = value - previous.values[changed], remaining = range.min - 1n - value;
421
+ if (remaining >= delta)
422
+ accelerated = setCounter(single, single.state, changed, value + remaining / delta * delta);
423
+ }
424
+ }
425
+ // A recorded cycle has one consuming configuration in EVERY full
426
+ // closure, the same leaf control state and all other counters equal.
427
+ // Its sole increasing counter never reset/exited along that path.
428
+ // Replaying the marked cycle below min preserves every guard: exit
429
+ // stays disabled, enter stays enabled, other valuations repeat.
430
+ // Induction therefore skips no possible competing attribution.
431
+ if (accelerated) {
432
+ subset = closure([accelerated]);
433
+ single = accelerated;
434
+ charge(2);
435
+ trajectory = { history: new Map(), epochs: trajectory.epochs };
436
+ }
437
+ charge(4 + trajectory.history.size * 2);
438
+ const history = new Map(trajectory.history);
439
+ history.set(single.state, { values: single.values, epochs: trajectory.epochs });
440
+ trajectory = { history, epochs: trajectory.epochs };
441
+ }
442
+ else {
443
+ charge(2);
444
+ trajectory = { history: new Map(), epochs: trajectory.epochs };
445
+ }
446
+ charge(2);
447
+ const moves = new Map();
448
+ for (const config of subset)
449
+ for (const transition of states[config.state].consuming) {
450
+ charge(3);
451
+ for (const token of transition.label.tokens) {
452
+ charge(4);
453
+ let move = moves.get(token);
454
+ if (!move) {
455
+ charge(5);
456
+ move = { targets: [] };
457
+ moves.set(token, move);
458
+ }
459
+ const tag = transition.label.position.tag;
460
+ // cos-nonambig concerns the next attribution without looking at
461
+ // the remaining input. Appendix H's reachable epsilon construction
462
+ // does not trim noncompleting branches before checking labels.
463
+ if (move.tag !== undefined && move.tag !== tag)
464
+ return done(false, transition.label.position.particle.source);
465
+ move.tag = tag;
466
+ charge(3);
467
+ move.targets.push({ state: transition.to, values: config.values });
468
+ }
469
+ }
470
+ for (const move of moves.values()) {
471
+ charge(2 + trajectory.epochs.length);
472
+ const epochs = [...trajectory.epochs];
473
+ const next = closure(move.targets, epochs), name = subsetKey(next);
474
+ charge(2 + name.length);
475
+ if (!seen.has(name)) {
476
+ charge(4);
477
+ seen.add(name);
478
+ pending.push({ subset: next, trajectory: { history: trajectory.history, epochs } });
479
+ }
480
+ }
481
+ }
482
+ return done(true);
483
+ }
484
+ catch (error) {
485
+ if (error instanceof Incomplete)
486
+ return error.result;
487
+ if (error instanceof SemanticError) {
488
+ budget.chargeWork(10 + error.message.length);
489
+ return Object.freeze({ kind: 'invalid-input', rule: 'cos-nonambig', component: error.component, message: error.message });
490
+ }
491
+ throw error;
492
+ }
493
+ });
494
+ }
@@ -0,0 +1,23 @@
1
+ /** XSD 1.0 cos-element-consistent over explicit canonical particle roots. */
2
+ import type { NodeId } from './canonicalGraph.js';
3
+ import type { SemanticContext } from './semanticContext.js';
4
+ import type { RelationFailure } from './schemaTypeRelations.js';
5
+ import type { ResourceLimitFailure } from './semanticBudget.js';
6
+ import type { SemanticTypeDependency } from './semanticTypeReference.js';
7
+ export type ElementConsistencyResult = Readonly<{
8
+ kind: 'checked';
9
+ value: boolean;
10
+ rule: 'cos-element-consistent';
11
+ contextId: string;
12
+ scope: 'declared-particle-roots';
13
+ obligations: readonly ['component-validity'];
14
+ typeDependencies: readonly SemanticTypeDependency[];
15
+ conflict?: readonly [NodeId, NodeId];
16
+ }> | RelationFailure | ResourceLimitFailure;
17
+ /**
18
+ * Repeated group-use edges count distinct positions; numeric repetition does not.
19
+ * The source mapper's max=0 components are omitted, without restriction-specific
20
+ * pointless-compositor normalization. Summary sharing prevents DAG unfolding.
21
+ * Type/declaration validity remains an explicit separately owned prerequisite.
22
+ */
23
+ export declare function checkElementDeclarationsConsistent(context: SemanticContext, roots: readonly NodeId[]): ElementConsistencyResult;