@techspokes/typescript-wsdl-client 1.1.5 → 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 (480) hide show
  1. package/README.md +64 -66
  2. package/dist/app/generateApp.d.ts +0 -1
  3. package/dist/app/generateApp.js +1 -1
  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 +75 -1
  12. package/dist/client/checkedDirectRuntime.d.ts +40 -3
  13. package/dist/client/checkedDirectRuntime.js +28 -8
  14. package/dist/client/directClientRuntime.d.ts +27 -2
  15. package/dist/client/directClientRuntime.js +142 -89
  16. package/dist/client/directClientVersion.d.ts +3 -1
  17. package/dist/client/directClientVersion.js +3 -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 +21 -3
  21. package/dist/client/generateDirectClient.js +138 -6
  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 +0 -1
  29. package/dist/compiler/canonicalGraph.d.ts +0 -1
  30. package/dist/compiler/catalogErrors.d.ts +0 -1
  31. package/dist/compiler/catalogProvenance.d.ts +0 -1
  32. package/dist/compiler/checkedAssessment.d.ts +0 -1
  33. package/dist/compiler/checkedAssessment.js +1 -1
  34. package/dist/compiler/checkedComponentSource.d.ts +16 -0
  35. package/dist/compiler/checkedComponentSource.js +31 -0
  36. package/dist/compiler/checkedSourcePreparation.d.ts +38 -1
  37. package/dist/compiler/checkedSourcePreparation.js +71 -0
  38. package/dist/compiler/complexTypeContent.d.ts +5 -6
  39. package/dist/compiler/complexTypeContent.js +2 -2
  40. package/dist/compiler/componentCorrespondence.d.ts +32 -0
  41. package/dist/compiler/componentCorrespondence.js +140 -0
  42. package/dist/compiler/componentRecordProjection.d.ts +109 -0
  43. package/dist/compiler/componentRecordProjection.js +319 -0
  44. package/dist/compiler/componentSoapPreparation.d.ts +20 -0
  45. package/dist/compiler/componentSoapPreparation.js +36 -0
  46. package/dist/compiler/composeCanonicalGraph.d.ts +0 -1
  47. package/dist/compiler/dataOwnership.d.ts +0 -1
  48. package/dist/compiler/dataOwnership.js +14 -4
  49. package/dist/compiler/datatypeValues.d.ts +0 -1
  50. package/dist/compiler/directCodec.d.ts +59 -2
  51. package/dist/compiler/directCodec.js +275 -90
  52. package/dist/compiler/directExecutionPolicy.d.ts +0 -1
  53. package/dist/compiler/directOperation.d.ts +46 -4
  54. package/dist/compiler/directOperation.js +105 -14
  55. package/dist/compiler/directSoap.d.ts +29 -5
  56. package/dist/compiler/directSoap.js +130 -37
  57. package/dist/compiler/directSoapSource.d.ts +24 -1
  58. package/dist/compiler/directSoapSource.js +166 -19
  59. package/dist/compiler/directSourceCapsule.d.ts +74 -2
  60. package/dist/compiler/directSourceCapsule.js +428 -6
  61. package/dist/compiler/directStructure.d.ts +83 -6
  62. package/dist/compiler/directStructure.js +349 -58
  63. package/dist/compiler/directStructurePlan.d.ts +135 -2
  64. package/dist/compiler/directStructurePlan.js +594 -29
  65. package/dist/compiler/directValues.d.ts +63 -4
  66. package/dist/compiler/directValues.js +950 -116
  67. package/dist/compiler/finiteRe01Construction.d.ts +69 -0
  68. package/dist/compiler/finiteRe01Construction.js +422 -0
  69. package/dist/compiler/finiteRe01Verification.d.ts +81 -3
  70. package/dist/compiler/finiteRe01Verification.js +391 -4
  71. package/dist/compiler/generateCatalog.d.ts +0 -1
  72. package/dist/compiler/graphTraversal.d.ts +0 -1
  73. package/dist/compiler/hypotheticalScopedIdentity.d.ts +0 -1
  74. package/dist/compiler/occurrenceAnalysis.d.ts +2 -1
  75. package/dist/compiler/occurrenceAnalysis.js +23 -7
  76. package/dist/compiler/originalSourceMembership.d.ts +0 -1
  77. package/dist/compiler/particleAttribution.d.ts +0 -1
  78. package/dist/compiler/particleAttribution.js +20 -0
  79. package/dist/compiler/particleDeclarationConsistency.d.ts +0 -1
  80. package/dist/compiler/particleDeclarationConsistency.js +9 -0
  81. package/dist/compiler/particleExtension.d.ts +0 -1
  82. package/dist/compiler/particleExtension.js +5 -1
  83. package/dist/compiler/particleLocalAssessment.d.ts +0 -1
  84. package/dist/compiler/particleRestriction.d.ts +0 -1
  85. package/dist/compiler/particleRestriction.js +6 -1
  86. package/dist/compiler/particleSemanticView.d.ts +2 -1
  87. package/dist/compiler/particleSemanticView.js +16 -3
  88. package/dist/compiler/particleWildcardRelation.d.ts +0 -1
  89. package/dist/compiler/projectionScalar.d.ts +32 -0
  90. package/dist/compiler/projectionScalar.js +184 -0
  91. package/dist/compiler/re01CandidateAssignments.d.ts +95 -0
  92. package/dist/compiler/re01CandidateAssignments.js +341 -0
  93. package/dist/compiler/re01CandidateCorrespondence.d.ts +22 -1
  94. package/dist/compiler/re01CandidateCorrespondence.js +167 -38
  95. package/dist/compiler/re01TypeProperties.d.ts +0 -1
  96. package/dist/compiler/re01TypePropertyValidation.d.ts +0 -1
  97. package/dist/compiler/resolveCanonicalGraph.d.ts +5 -2
  98. package/dist/compiler/resolveCanonicalGraph.js +77 -7
  99. package/dist/compiler/scalarSchemaAssessment.d.ts +0 -1
  100. package/dist/compiler/schemaAttributeGroupProperties.d.ts +0 -1
  101. package/dist/compiler/schemaAttributeProperties.d.ts +0 -1
  102. package/dist/compiler/schemaAttributeUses.d.ts +22 -2
  103. package/dist/compiler/schemaAttributeUses.js +86 -13
  104. package/dist/compiler/schemaBinaryWordReconstruction.d.ts +0 -1
  105. package/dist/compiler/schemaBuiltinFacets.d.ts +0 -1
  106. package/dist/compiler/schemaCalendarImages.d.ts +0 -1
  107. package/dist/compiler/schemaCalendarLanguage.d.ts +0 -1
  108. package/dist/compiler/schemaCompiler.d.ts +0 -1
  109. package/dist/compiler/schemaComponentEquality.d.ts +0 -1
  110. package/dist/compiler/schemaConstructionAssessment.d.ts +34 -1
  111. package/dist/compiler/schemaConstructionAssessment.js +88 -6
  112. package/dist/compiler/schemaDatatypeValues.d.ts +0 -1
  113. package/dist/compiler/schemaDecimalLanguage.d.ts +0 -1
  114. package/dist/compiler/schemaDeclarationPrimitives.d.ts +7 -2
  115. package/dist/compiler/schemaDeclarationPrimitives.js +18 -1
  116. package/dist/compiler/schemaDocumentSyntax.d.ts +0 -1
  117. package/dist/compiler/schemaDurationLanguage.d.ts +0 -1
  118. package/dist/compiler/schemaElementInstance.d.ts +30 -0
  119. package/dist/compiler/schemaElementInstance.js +45 -0
  120. package/dist/compiler/schemaElementProperties.d.ts +0 -1
  121. package/dist/compiler/schemaEndpointWordCapacity.d.ts +0 -1
  122. package/dist/compiler/schemaExactCalendar.d.ts +0 -1
  123. package/dist/compiler/schemaFacetAnnotation.d.ts +0 -1
  124. package/dist/compiler/schemaGeneratedScalarShape.d.ts +0 -1
  125. package/dist/compiler/schemaGeneratedScalarShape.js +2 -0
  126. package/dist/compiler/schemaIdentityConstraints.d.ts +0 -1
  127. package/dist/compiler/schemaIeeeLanguage.d.ts +0 -1
  128. package/dist/compiler/schemaIntegerImages.d.ts +0 -1
  129. package/dist/compiler/schemaLexicalPredicates.d.ts +0 -1
  130. package/dist/compiler/schemaNotationProperties.d.ts +0 -1
  131. package/dist/compiler/schemaNumericImageConditions.d.ts +0 -1
  132. package/dist/compiler/schemaParticleWildcardProperties.d.ts +0 -1
  133. package/dist/compiler/schemaPattern.d.ts +0 -1
  134. package/dist/compiler/schemaRegularLanguage.d.ts +0 -1
  135. package/dist/compiler/schemaScalarContext.d.ts +5 -1
  136. package/dist/compiler/schemaScalarKernel.d.ts +0 -1
  137. package/dist/compiler/schemaScalarWitnesses.d.ts +0 -1
  138. package/dist/compiler/schemaSimpleTypeProperties.d.ts +0 -1
  139. package/dist/compiler/schemaSourceGrammar.d.ts +0 -1
  140. package/dist/compiler/schemaSourceLexical.d.ts +0 -1
  141. package/dist/compiler/schemaSourceValues.d.ts +0 -1
  142. package/dist/compiler/schemaSourceWildcards.d.ts +1 -2
  143. package/dist/compiler/schemaSourceWildcards.js +3 -1
  144. package/dist/compiler/schemaSymbolicSequences.d.ts +0 -1
  145. package/dist/compiler/schemaSymbolicValueSets.d.ts +0 -1
  146. package/dist/compiler/schemaSyntaxAssessment.d.ts +0 -1
  147. package/dist/compiler/schemaTemporalAliases.d.ts +0 -1
  148. package/dist/compiler/schemaTokenImages.d.ts +0 -1
  149. package/dist/compiler/schemaTypeIdentity.d.ts +0 -1
  150. package/dist/compiler/schemaTypeIdentity.js +2 -0
  151. package/dist/compiler/schemaTypeRelations.d.ts +0 -1
  152. package/dist/compiler/schemaUri.d.ts +0 -1
  153. package/dist/compiler/schemaValueContext.d.ts +0 -1
  154. package/dist/compiler/schemaValueImages.d.ts +0 -1
  155. package/dist/compiler/schemaValueSequences.d.ts +0 -1
  156. package/dist/compiler/semanticBudget.d.ts +18 -1
  157. package/dist/compiler/semanticBudget.js +17 -2
  158. package/dist/compiler/semanticCatalog.d.ts +1 -2
  159. package/dist/compiler/semanticContext.d.ts +12 -1
  160. package/dist/compiler/semanticContext.js +39 -0
  161. package/dist/compiler/semanticTypeDependencies.d.ts +0 -1
  162. package/dist/compiler/semanticTypeReference.d.ts +0 -1
  163. package/dist/compiler/shapeResolver.d.ts +0 -1
  164. package/dist/compiler/soapHeaders.d.ts +16 -0
  165. package/dist/compiler/soapHeaders.js +42 -0
  166. package/dist/compiler/sourceSchemaBinding.d.ts +0 -1
  167. package/dist/compiler/standardSchemaComponents.d.ts +71 -0
  168. package/dist/compiler/standardSchemaComponents.js +74 -0
  169. package/dist/compiler/standardSchemaConstruction.d.ts +20 -0
  170. package/dist/compiler/standardSchemaConstruction.js +34 -0
  171. package/dist/compiler/structuralCompanions.d.ts +0 -1
  172. package/dist/compiler/validateSemanticGraph.d.ts +0 -1
  173. package/dist/compiler/wildcardAlgebra.d.ts +0 -1
  174. package/dist/compiler/wsdlPolicyRequirements.d.ts +43 -0
  175. package/dist/compiler/wsdlPolicyRequirements.js +239 -0
  176. package/dist/config.d.ts +0 -1
  177. package/dist/gateway/generateCheckedGateway.d.ts +32 -0
  178. package/dist/gateway/generateCheckedGateway.js +293 -0
  179. package/dist/gateway/generateGateway.d.ts +0 -1
  180. package/dist/gateway/generators.d.ts +0 -1
  181. package/dist/gateway/helpers.d.ts +0 -1
  182. package/dist/generation/componentShape.d.ts +14 -0
  183. package/dist/generation/componentShape.js +269 -0
  184. package/dist/generation/preamble.d.ts +0 -1
  185. package/dist/generation/sourceLayout.d.ts +13 -0
  186. package/dist/generation/sourceLayout.js +40 -0
  187. package/dist/generation/writeGeneratedSource.d.ts +0 -1
  188. package/dist/index.d.ts +7 -2
  189. package/dist/index.js +2 -1
  190. package/dist/loader/fetch.d.ts +0 -1
  191. package/dist/loader/orderedSyntax.d.ts +8 -1
  192. package/dist/loader/orderedSyntax.js +26 -6
  193. package/dist/loader/resolutionDepth.d.ts +0 -1
  194. package/dist/loader/schemaInput.d.ts +28 -1
  195. package/dist/loader/schemaInput.js +41 -4
  196. package/dist/loader/schemaResources.d.ts +2 -1
  197. package/dist/loader/schemaResources.js +45 -4
  198. package/dist/loader/wsdlLoader.d.ts +0 -1
  199. package/dist/openapi/casing.d.ts +0 -1
  200. package/dist/openapi/generateOpenAPI.d.ts +0 -1
  201. package/dist/openapi/generatePaths.d.ts +0 -1
  202. package/dist/openapi/generateSchemas.d.ts +0 -1
  203. package/dist/openapi/security.d.ts +0 -1
  204. package/dist/pipeline.d.ts +6 -2
  205. package/dist/pipeline.js +13 -0
  206. package/dist/test/generateCheckedTests.d.ts +17 -0
  207. package/dist/test/generateCheckedTests.js +60 -0
  208. package/dist/test/generateTests.d.ts +0 -1
  209. package/dist/test/generators.d.ts +0 -1
  210. package/dist/test/mockData.d.ts +0 -1
  211. package/dist/test/mockData.js +20 -14
  212. package/dist/util/attributeWildcards.d.ts +0 -1
  213. package/dist/util/builder.d.ts +0 -1
  214. package/dist/util/catalogMeta.d.ts +0 -1
  215. package/dist/util/checkedCliDiagnostics.d.ts +11 -0
  216. package/dist/util/checkedCliDiagnostics.js +22 -0
  217. package/dist/util/cli.d.ts +0 -1
  218. package/dist/util/errors.d.ts +0 -1
  219. package/dist/util/imports.d.ts +0 -1
  220. package/dist/util/runtimeSource.d.ts +0 -1
  221. package/dist/util/runtimeSource.js +3 -5
  222. package/dist/util/securityConfig.d.ts +0 -1
  223. package/dist/util/streamConfig.d.ts +0 -1
  224. package/dist/util/tools.d.ts +0 -1
  225. package/dist/util/xmlWhitespace.d.ts +0 -1
  226. package/dist/xsd/primitives.d.ts +0 -1
  227. package/docs/agent-skill.md +2 -0
  228. package/docs/api-reference.md +1 -1
  229. package/docs/checked-gateway.md +210 -0
  230. package/docs/checked-generation.md +161 -0
  231. package/docs/cli-reference.md +23 -1
  232. package/docs/concepts.md +136 -1
  233. package/docs/configuration.md +5 -1
  234. package/docs/corpus.md +33 -0
  235. package/docs/direct-values.md +13 -13
  236. package/docs/examples/checked-forecast.wsdl +19 -0
  237. package/docs/gateway-guide.md +1 -1
  238. package/docs/generated-code.md +10 -5
  239. package/docs/mapping-contract.md +114 -0
  240. package/docs/migration-playbook.md +1 -1
  241. package/docs/output-anatomy.md +1 -1
  242. package/docs/start-here.md +8 -2
  243. package/docs/supported-patterns.md +7 -3
  244. package/docs/testing.md +117 -31
  245. package/llms.txt +7 -7
  246. package/package.json +63 -22
  247. package/src/runtime/checkedGatewayHost.tpl.txt +157 -0
  248. package/src/runtime/streamXml.ts +1 -1
  249. package/dist/app/generateApp.d.ts.map +0 -1
  250. package/dist/cli.d.ts.map +0 -1
  251. package/dist/client/checkedDirectRuntime.d.ts.map +0 -1
  252. package/dist/client/directClientRuntime.d.ts.map +0 -1
  253. package/dist/client/directClientVersion.d.ts.map +0 -1
  254. package/dist/client/generateClient.d.ts.map +0 -1
  255. package/dist/client/generateDirectClient.d.ts.map +0 -1
  256. package/dist/client/generateOperations.d.ts.map +0 -1
  257. package/dist/client/generateTypes.d.ts.map +0 -1
  258. package/dist/client/generateUtils.d.ts.map +0 -1
  259. package/dist/compiler/buildCanonicalGraph.d.ts.map +0 -1
  260. package/dist/compiler/canonicalGraph.d.ts.map +0 -1
  261. package/dist/compiler/catalogErrors.d.ts.map +0 -1
  262. package/dist/compiler/catalogProvenance.d.ts.map +0 -1
  263. package/dist/compiler/checkedAssessment.d.ts.map +0 -1
  264. package/dist/compiler/checkedSourcePreparation.d.ts.map +0 -1
  265. package/dist/compiler/complexTypeContent.d.ts.map +0 -1
  266. package/dist/compiler/composeCanonicalGraph.d.ts.map +0 -1
  267. package/dist/compiler/dataOwnership.d.ts.map +0 -1
  268. package/dist/compiler/datatypeValues.d.ts.map +0 -1
  269. package/dist/compiler/directCodec.d.ts.map +0 -1
  270. package/dist/compiler/directExecutionPolicy.d.ts.map +0 -1
  271. package/dist/compiler/directOperation.d.ts.map +0 -1
  272. package/dist/compiler/directSoap.d.ts.map +0 -1
  273. package/dist/compiler/directSoapSource.d.ts.map +0 -1
  274. package/dist/compiler/directSourceCapsule.d.ts.map +0 -1
  275. package/dist/compiler/directStructure.d.ts.map +0 -1
  276. package/dist/compiler/directStructurePlan.d.ts.map +0 -1
  277. package/dist/compiler/directValues.d.ts.map +0 -1
  278. package/dist/compiler/finiteRe01Verification.d.ts.map +0 -1
  279. package/dist/compiler/generateCatalog.d.ts.map +0 -1
  280. package/dist/compiler/graphTraversal.d.ts.map +0 -1
  281. package/dist/compiler/hypotheticalScopedIdentity.d.ts.map +0 -1
  282. package/dist/compiler/occurrenceAnalysis.d.ts.map +0 -1
  283. package/dist/compiler/originalSourceMembership.d.ts.map +0 -1
  284. package/dist/compiler/particleAttribution.d.ts.map +0 -1
  285. package/dist/compiler/particleDeclarationConsistency.d.ts.map +0 -1
  286. package/dist/compiler/particleExtension.d.ts.map +0 -1
  287. package/dist/compiler/particleLocalAssessment.d.ts.map +0 -1
  288. package/dist/compiler/particleRestriction.d.ts.map +0 -1
  289. package/dist/compiler/particleSemanticView.d.ts.map +0 -1
  290. package/dist/compiler/particleWildcardRelation.d.ts.map +0 -1
  291. package/dist/compiler/re01CandidateCorrespondence.d.ts.map +0 -1
  292. package/dist/compiler/re01TypeProperties.d.ts.map +0 -1
  293. package/dist/compiler/re01TypePropertyValidation.d.ts.map +0 -1
  294. package/dist/compiler/resolveCanonicalGraph.d.ts.map +0 -1
  295. package/dist/compiler/scalarSchemaAssessment.d.ts.map +0 -1
  296. package/dist/compiler/schemaAttributeGroupProperties.d.ts.map +0 -1
  297. package/dist/compiler/schemaAttributeProperties.d.ts.map +0 -1
  298. package/dist/compiler/schemaAttributeUses.d.ts.map +0 -1
  299. package/dist/compiler/schemaBinaryWordReconstruction.d.ts.map +0 -1
  300. package/dist/compiler/schemaBuiltinFacets.d.ts.map +0 -1
  301. package/dist/compiler/schemaCalendarImages.d.ts.map +0 -1
  302. package/dist/compiler/schemaCalendarLanguage.d.ts.map +0 -1
  303. package/dist/compiler/schemaCompiler.d.ts.map +0 -1
  304. package/dist/compiler/schemaComponentEquality.d.ts.map +0 -1
  305. package/dist/compiler/schemaConstructionAssessment.d.ts.map +0 -1
  306. package/dist/compiler/schemaDatatypeValues.d.ts.map +0 -1
  307. package/dist/compiler/schemaDecimalLanguage.d.ts.map +0 -1
  308. package/dist/compiler/schemaDeclarationPrimitives.d.ts.map +0 -1
  309. package/dist/compiler/schemaDocumentSyntax.d.ts.map +0 -1
  310. package/dist/compiler/schemaDurationLanguage.d.ts.map +0 -1
  311. package/dist/compiler/schemaElementProperties.d.ts.map +0 -1
  312. package/dist/compiler/schemaEndpointWordCapacity.d.ts.map +0 -1
  313. package/dist/compiler/schemaExactCalendar.d.ts.map +0 -1
  314. package/dist/compiler/schemaFacetAnnotation.d.ts.map +0 -1
  315. package/dist/compiler/schemaGeneratedScalarShape.d.ts.map +0 -1
  316. package/dist/compiler/schemaIdentityConstraints.d.ts.map +0 -1
  317. package/dist/compiler/schemaIeeeLanguage.d.ts.map +0 -1
  318. package/dist/compiler/schemaIntegerImages.d.ts.map +0 -1
  319. package/dist/compiler/schemaLexicalPredicates.d.ts.map +0 -1
  320. package/dist/compiler/schemaNotationProperties.d.ts.map +0 -1
  321. package/dist/compiler/schemaNumericImageConditions.d.ts.map +0 -1
  322. package/dist/compiler/schemaParticleWildcardProperties.d.ts.map +0 -1
  323. package/dist/compiler/schemaPattern.d.ts.map +0 -1
  324. package/dist/compiler/schemaRegularLanguage.d.ts.map +0 -1
  325. package/dist/compiler/schemaScalarContext.d.ts.map +0 -1
  326. package/dist/compiler/schemaScalarKernel.d.ts.map +0 -1
  327. package/dist/compiler/schemaScalarWitnesses.d.ts.map +0 -1
  328. package/dist/compiler/schemaSimpleTypeProperties.d.ts.map +0 -1
  329. package/dist/compiler/schemaSourceGrammar.d.ts.map +0 -1
  330. package/dist/compiler/schemaSourceLexical.d.ts.map +0 -1
  331. package/dist/compiler/schemaSourceValues.d.ts.map +0 -1
  332. package/dist/compiler/schemaSourceWildcards.d.ts.map +0 -1
  333. package/dist/compiler/schemaSymbolicSequences.d.ts.map +0 -1
  334. package/dist/compiler/schemaSymbolicValueSets.d.ts.map +0 -1
  335. package/dist/compiler/schemaSyntaxAssessment.d.ts.map +0 -1
  336. package/dist/compiler/schemaTemporalAliases.d.ts.map +0 -1
  337. package/dist/compiler/schemaTokenImages.d.ts.map +0 -1
  338. package/dist/compiler/schemaTypeIdentity.d.ts.map +0 -1
  339. package/dist/compiler/schemaTypeRelations.d.ts.map +0 -1
  340. package/dist/compiler/schemaUri.d.ts.map +0 -1
  341. package/dist/compiler/schemaValueContext.d.ts.map +0 -1
  342. package/dist/compiler/schemaValueImages.d.ts.map +0 -1
  343. package/dist/compiler/schemaValueSequences.d.ts.map +0 -1
  344. package/dist/compiler/semanticBudget.d.ts.map +0 -1
  345. package/dist/compiler/semanticCatalog.d.ts.map +0 -1
  346. package/dist/compiler/semanticContext.d.ts.map +0 -1
  347. package/dist/compiler/semanticTypeDependencies.d.ts.map +0 -1
  348. package/dist/compiler/semanticTypeReference.d.ts.map +0 -1
  349. package/dist/compiler/shapeResolver.d.ts.map +0 -1
  350. package/dist/compiler/sourceSchemaBinding.d.ts.map +0 -1
  351. package/dist/compiler/structuralCompanions.d.ts.map +0 -1
  352. package/dist/compiler/validateSemanticGraph.d.ts.map +0 -1
  353. package/dist/compiler/wildcardAlgebra.d.ts.map +0 -1
  354. package/dist/config.d.ts.map +0 -1
  355. package/dist/gateway/generateGateway.d.ts.map +0 -1
  356. package/dist/gateway/generators.d.ts.map +0 -1
  357. package/dist/gateway/helpers.d.ts.map +0 -1
  358. package/dist/generation/preamble.d.ts.map +0 -1
  359. package/dist/generation/writeGeneratedSource.d.ts.map +0 -1
  360. package/dist/index.d.ts.map +0 -1
  361. package/dist/loader/fetch.d.ts.map +0 -1
  362. package/dist/loader/orderedSyntax.d.ts.map +0 -1
  363. package/dist/loader/resolutionDepth.d.ts.map +0 -1
  364. package/dist/loader/schemaInput.d.ts.map +0 -1
  365. package/dist/loader/schemaResources.d.ts.map +0 -1
  366. package/dist/loader/wsdlLoader.d.ts.map +0 -1
  367. package/dist/openapi/casing.d.ts.map +0 -1
  368. package/dist/openapi/generateOpenAPI.d.ts.map +0 -1
  369. package/dist/openapi/generatePaths.d.ts.map +0 -1
  370. package/dist/openapi/generateSchemas.d.ts.map +0 -1
  371. package/dist/openapi/security.d.ts.map +0 -1
  372. package/dist/pipeline.d.ts.map +0 -1
  373. package/dist/runtime/jsonArray.d.ts +0 -24
  374. package/dist/runtime/jsonArray.d.ts.map +0 -1
  375. package/dist/runtime/jsonArray.js +0 -52
  376. package/dist/runtime/ndjson.d.ts +0 -24
  377. package/dist/runtime/ndjson.d.ts.map +0 -1
  378. package/dist/runtime/ndjson.js +0 -30
  379. package/dist/runtime/streamXml.d.ts +0 -45
  380. package/dist/runtime/streamXml.d.ts.map +0 -1
  381. package/dist/runtime/streamXml.js +0 -212
  382. package/dist/test/generateTests.d.ts.map +0 -1
  383. package/dist/test/generators.d.ts.map +0 -1
  384. package/dist/test/mockData.d.ts.map +0 -1
  385. package/dist/util/attributeWildcards.d.ts.map +0 -1
  386. package/dist/util/builder.d.ts.map +0 -1
  387. package/dist/util/catalogMeta.d.ts.map +0 -1
  388. package/dist/util/cli.d.ts.map +0 -1
  389. package/dist/util/errors.d.ts.map +0 -1
  390. package/dist/util/imports.d.ts.map +0 -1
  391. package/dist/util/runtimeSource.d.ts.map +0 -1
  392. package/dist/util/securityConfig.d.ts.map +0 -1
  393. package/dist/util/streamConfig.d.ts.map +0 -1
  394. package/dist/util/tools.d.ts.map +0 -1
  395. package/dist/util/xmlWhitespace.d.ts.map +0 -1
  396. package/dist/xsd/primitives.d.ts.map +0 -1
  397. package/docs/AGENTS.md +0 -47
  398. package/docs/README.md +0 -69
  399. package/docs/architecture.md +0 -158
  400. package/docs/content-model-analysis.md +0 -92
  401. package/docs/content-model-baseline.md +0 -121
  402. package/docs/content-model-catalog.md +0 -116
  403. package/docs/content-model-companions.md +0 -90
  404. package/docs/content-model-composition.md +0 -103
  405. package/docs/content-model-decisions.md +0 -79
  406. package/docs/content-model-gateway-feasibility.md +0 -169
  407. package/docs/content-model-graph.md +0 -121
  408. package/docs/content-model-loading.md +0 -163
  409. package/docs/content-model-matching.md +0 -85
  410. package/docs/content-model-readiness.md +0 -144
  411. package/docs/content-model-resolution.md +0 -81
  412. package/docs/content-model-s02-handoff.md +0 -98
  413. package/docs/content-model-s06-au-01.md +0 -425
  414. package/docs/content-model-s06-dt-01.md +0 -386
  415. package/docs/content-model-s06-pw-01.md +0 -350
  416. package/docs/content-model-s06-re-01-resolver-implementation.md +0 -869
  417. package/docs/content-model-s06-re-01-resolver.md +0 -513
  418. package/docs/content-model-s06-re-01-scalar-witnesses.md +0 -1423
  419. package/docs/content-model-s06-re-01-support-reconstruction.md +0 -6337
  420. package/docs/content-model-s06-re-01.md +0 -7477
  421. package/docs/content-model-s06-research-handoff.md +0 -909
  422. package/docs/content-model-shipped-fix.md +0 -83
  423. package/docs/content-model-soap-feasibility.md +0 -165
  424. package/docs/decisions/001-test-generation.md +0 -36
  425. package/docs/decisions/002-streamable-responses.md +0 -332
  426. package/docs/decisions/003-content-model-contracts.md +0 -280
  427. package/docs/file-naming-and-path-organization.md +0 -213
  428. package/docs/reference-validation.md +0 -243
  429. package/docs/releases/README.md +0 -94
  430. package/docs/releases/v0.20.0.md +0 -22
  431. package/docs/releases/v0.21.0.md +0 -30
  432. package/docs/releases/v0.22.0.md +0 -30
  433. package/docs/releases/v0.23.0.md +0 -31
  434. package/docs/releases/v0.24.0.md +0 -38
  435. package/docs/releases/v0.25.0.md +0 -31
  436. package/docs/releases/v0.25.2.md +0 -32
  437. package/docs/releases/v0.26.0.md +0 -32
  438. package/docs/releases/v0.27.0.md +0 -31
  439. package/docs/releases/v0.28.0.md +0 -32
  440. package/docs/releases/v0.29.0.md +0 -32
  441. package/docs/releases/v0.30.0.md +0 -30
  442. package/docs/releases/v0.30.1.md +0 -31
  443. package/docs/releases/v0.30.2.md +0 -30
  444. package/docs/releases/v0.30.3.md +0 -33
  445. package/docs/releases/v0.31.0.md +0 -33
  446. package/docs/releases/v0.32.0.md +0 -33
  447. package/docs/releases/v0.33.0.md +0 -34
  448. package/docs/releases/v0.34.0.md +0 -30
  449. package/docs/releases/v0.35.0.md +0 -33
  450. package/docs/releases/v0.36.0.md +0 -32
  451. package/docs/releases/v0.37.0.md +0 -33
  452. package/docs/releases/v0.38.0.md +0 -35
  453. package/docs/releases/v0.39.0.md +0 -35
  454. package/docs/releases/v0.40.0.md +0 -45
  455. package/docs/releases/v0.40.1.md +0 -34
  456. package/docs/releases/v1.0.0.md +0 -42
  457. package/docs/releases/v1.0.1.md +0 -38
  458. package/docs/releases/v1.0.2.md +0 -51
  459. package/docs/releases/v1.0.3.md +0 -37
  460. package/docs/releases/v1.0.4.md +0 -45
  461. package/docs/releases/v1.0.5.md +0 -41
  462. package/docs/releases/v1.0.6.md +0 -35
  463. package/docs/releases/v1.0.7.md +0 -36
  464. package/docs/releases/v1.1.0.md +0 -42
  465. package/docs/releases/v1.1.1.md +0 -44
  466. package/docs/releases/v1.1.2.md +0 -42
  467. package/docs/releases/v1.1.3.md +0 -36
  468. package/docs/releases/v1.1.4.md +0 -36
  469. package/docs/releases/v1.1.5.md +0 -38
  470. package/docs/roadmap/README.md +0 -107
  471. package/docs/roadmap/v1.0-capability-conformance-framework.md +0 -582
  472. package/docs/roadmap/v1.0-choice-union-mode.md +0 -90
  473. package/docs/roadmap/v1.0-contract-audit.md +0 -75
  474. package/docs/roadmap/v1.0-json-array-streaming.md +0 -101
  475. package/docs/roadmap/v1.0-openapi-fastify-compatibility.md +0 -99
  476. package/docs/roadmap/v1.0-release-candidate-gates.md +0 -92
  477. package/docs/roadmap/v1.0-wsdl-coverage-matrix.md +0 -200
  478. package/docs/roadmap/v1.0-xs-anyattribute-wildcard-bag.md +0 -932
  479. package/src/runtime/jsonArray.ts +0 -55
  480. package/src/runtime/ndjson.ts +0 -32
@@ -0,0 +1,319 @@
1
+ /** Explicit buffered companion-record projection; wrapper and record source contexts never merge. */
2
+ import { inspectDirectOperation } from './directOperation.js';
3
+ import { createComponentValueMapping, inspectComponentValueMapping, expandProjectionValue } from './directValues.js';
4
+ import { observeComponentXml, assertComponentObservedPayload, assessObservedComponentPayload } from './directCodec.js';
5
+ import { deriveActualComplexContent } from './complexTypeContent.js';
6
+ import { prepareSemanticParticleView } from './particleSemanticView.js';
7
+ import { checkDeclaredParticleLegality } from './particleLocalAssessment.js';
8
+ import { assessSourceAttributeUses } from './schemaAttributeUses.js';
9
+ import { assessStandardSchemaElement } from './standardSchemaComponents.js';
10
+ import { namespaceAllows } from './wildcardAlgebra.js';
11
+ import { directDataOwnership } from './directExecutionPolicy.js';
12
+ import { DataOwnershipLimitError } from './dataOwnership.js';
13
+ import { isXmlNCName, syntaxElements } from '../loader/orderedSyntax.js';
14
+ const issued = new WeakMap();
15
+ const values = new WeakMap();
16
+ /** Identity-only dispatch; inspecting an unowned object's fields cannot select this mapping profile. */
17
+ export function isComponentRecordProjection(value) {
18
+ return !!value && typeof value === 'object' && issued.has(value);
19
+ }
20
+ class ScopeStop extends Error {
21
+ kind;
22
+ rule;
23
+ constructor(kind, rule) {
24
+ super(rule);
25
+ this.kind = kind;
26
+ this.rule = rule;
27
+ }
28
+ }
29
+ const same = (a, b) => a.namespace === b.namespace && a.local === b.local;
30
+ const ownKeys = (value, keys) => Object.keys(value).length === keys.length && keys.every(key => Object.hasOwn(value, key));
31
+ /** Build an explicit mapping from independently qualified native contracts.
32
+ * @remarks The current wrapper family is a unit sequence of fixed standard metadata elements and one strict
33
+ * wildcard. Native occurrence/EDC/UPA checks remain authoritative. The complete companion payload is retained;
34
+ * record paths establish intended record declarations, not permission to discard other payload fields.
35
+ * This is a buffered projection, not full-response XSD validation in a merged declaration universe or streaming.
36
+ * @returns An exact native projection or a specific unsupported/value/resource/cancellation result.
37
+ */
38
+ export function createComponentRecordProjection(outer, companion, supplied, options = {}) {
39
+ const { context } = inspectDirectOperation(outer);
40
+ inspectDirectOperation(companion);
41
+ const { budget } = context;
42
+ const check = () => { budget.chargeWork(); if (options.signal?.aborted)
43
+ throw new ScopeStop('cancelled', 'cooperative-cancellation'); };
44
+ const stop = rule => { throw new ScopeStop('unsupported', rule); };
45
+ const failure = (kind, rule) => Object.freeze({ kind, rule, usage: Object.freeze({ ...budget.usage() }) });
46
+ try {
47
+ const result = budget.guard(() => {
48
+ check();
49
+ if (outer.basis !== 'native-component-premises-v1' || companion.basis !== 'native-component-premises-v1'
50
+ || outer.correspondence !== 'dated-XSD-2004-components-v1' || companion.correspondence !== 'dated-XSD-2004-components-v1')
51
+ stop('component-record-source-authority');
52
+ const requested = directDataOwnership(budget).freeze(directDataOwnership(budget).snapshot(supplied, check));
53
+ const association = requested && typeof requested === 'object' && !Object.hasOwn(requested, 'version');
54
+ if (association && (requested.scope !== 'records-with-declared-wrapper-scope'
55
+ || !ownKeys(requested, Object.hasOwn(requested, 'recordPath') ? ['scope', 'recordPath'] : ['scope'])))
56
+ throw new ScopeStop('value-invalid', 'explicit-component-record-scope');
57
+ let spec = association ? { version: 'component-record-scope-v1', scope: requested.scope,
58
+ payloadPath: [companion.output.element.name], recordPath: requested.recordPath ?? [], opaqueExclusions: [] } : requested;
59
+ const validName = (name) => name && typeof name === 'object' && ownKeys(name, ['namespace', 'local'])
60
+ && typeof name.namespace === 'string' && typeof name.local === 'string' && isXmlNCName(name.local);
61
+ const path = (names) => Array.isArray(names) && names.length > 0 && names.every(validName);
62
+ if (!spec || typeof spec !== 'object' || !ownKeys(spec, ['version', 'scope', 'payloadPath', 'recordPath', 'opaqueExclusions'])
63
+ || spec.version !== 'component-record-scope-v1' || spec.scope !== 'records-with-declared-wrapper-scope'
64
+ || !path(spec.payloadPath) || spec.payloadPath.length !== 1 || !(association && !Object.hasOwn(requested, 'recordPath') || path(spec.recordPath))
65
+ || !Array.isArray(spec.opaqueExclusions) || !spec.opaqueExclusions.every(item => item && typeof item === 'object'
66
+ && ownKeys(item, ['path', 'reason']) && path(item.path) && item.path.length === 1
67
+ && ['standard-schema-metadata', 'wrapper-declaration-universe'].includes(item.reason)))
68
+ throw new ScopeStop('value-invalid', 'explicit-component-record-scope');
69
+ if (!same(spec.payloadPath[0], companion.output.element.name))
70
+ stop('companion-output-payload-path');
71
+ const parser = createComponentValueMapping(outer, { kind: 'input' }, options);
72
+ if (parser.kind !== 'component-mapping')
73
+ return parser;
74
+ const mapping = createComponentValueMapping(companion, { kind: 'output' }, options);
75
+ if (mapping.kind !== 'component-mapping')
76
+ return mapping;
77
+ const projection = inspectComponentValueMapping(mapping, companion).projection;
78
+ const records = new Map(projection.records.map(record => [record.type.id, record]));
79
+ if (association && !Object.hasOwn(requested, 'recordPath')) {
80
+ const candidates = [];
81
+ let recursive = false;
82
+ const pending = [
83
+ { value: projection.root, prefix: [], ancestors: new Set() },
84
+ ];
85
+ while (pending.length) {
86
+ check();
87
+ const { value, prefix, ancestors } = pending.pop();
88
+ if (value.kind !== 'record')
89
+ continue;
90
+ if (ancestors.has(value.type)) {
91
+ recursive = true;
92
+ continue;
93
+ }
94
+ const record = records.get(value.type);
95
+ if (!record)
96
+ stop('record-path-native-record');
97
+ const next = new Set(ancestors);
98
+ next.add(value.type);
99
+ for (const slot of record.slots) {
100
+ check();
101
+ const path = [...prefix, slot.element.name];
102
+ if (slot.value.kind === 'record' && slot.particle.occurs.max !== '1')
103
+ candidates.push(path);
104
+ pending.push({ value: slot.value, prefix: path, ancestors: next });
105
+ }
106
+ }
107
+ if (!recursive && !candidates.length)
108
+ stop('record-path-complex-repeated-declaration');
109
+ if (recursive || candidates.length !== 1)
110
+ stop(`ambiguous-record-path: supply recordPath selecting one repeated complex declaration; candidates=${JSON.stringify(candidates)}; recursive=${recursive}`);
111
+ spec = { ...spec, recordPath: candidates[0] };
112
+ }
113
+ let value = projection.root;
114
+ for (let index = 0; index < spec.recordPath.length; index++) {
115
+ check();
116
+ if (value.kind !== 'record')
117
+ stop('record-path-record-parent');
118
+ const record = records.get(value.type);
119
+ if (!record)
120
+ stop('record-path-native-record');
121
+ const slots = record.slots.filter(slot => { check(); return same(slot.element.name, spec.recordPath[index]); });
122
+ if (slots.length !== 1)
123
+ stop('record-path-unique-declaration');
124
+ value = slots[0].value;
125
+ if (index === spec.recordPath.length - 1 && (value.kind !== 'record' || slots[0].particle.occurs.max === '1'))
126
+ stop('record-path-complex-repeated-declaration');
127
+ }
128
+ const root = outer.output.element;
129
+ if (root.nillable || root.abstract || root.value || root.substitutionGroup)
130
+ stop('record-wrapper-declaration');
131
+ const type = context.resolve(root.type);
132
+ if (type.kind !== 'found' || type.node.kind !== 'complexType' || type.node.abstract || type.node.mixed)
133
+ stop('record-wrapper-complex-type');
134
+ const attributes = assessSourceAttributeUses(context, type.node.id);
135
+ if (attributes.kind === 'resource-limit')
136
+ return failure('resource-limit', 'record-wrapper-attributes');
137
+ if (attributes.kind !== 'checked' || attributes.value.wildcard || attributes.value.attributes.length)
138
+ stop('record-wrapper-attribute-scope');
139
+ const content = deriveActualComplexContent(context, type.node.id);
140
+ if (content.kind === 'resource-limit')
141
+ return failure('resource-limit', 'record-wrapper-content');
142
+ if (content.kind !== 'checked' || content.view.content.kind !== 'element-only')
143
+ stop('record-wrapper-content');
144
+ const prepared = prepareSemanticParticleView(context, content.view, 'declared');
145
+ if (prepared.kind === 'resource-limit')
146
+ return failure('resource-limit', 'record-wrapper-particle');
147
+ if (prepared.kind !== 'checked')
148
+ stop('record-wrapper-particle');
149
+ const legal = checkDeclaredParticleLegality(context, prepared.view);
150
+ if (legal.kind === 'resource-limit')
151
+ return failure('resource-limit', 'record-wrapper-particle-legality');
152
+ if (legal.kind !== 'checked' || !legal.value)
153
+ stop('record-wrapper-particle-legality');
154
+ const leaves = [], pending = [prepared.view.root];
155
+ let boundaries = 0;
156
+ while (pending.length) {
157
+ check();
158
+ const particle = pending.pop();
159
+ if (particle.occurs.min !== '1' || particle.occurs.max !== '1')
160
+ stop('record-wrapper-unit-occurrence');
161
+ if (particle.kind === 'sequence')
162
+ for (let index = particle.children.length - 1; index >= 0; index--) {
163
+ check();
164
+ pending.push(particle.children[index]);
165
+ }
166
+ else if (particle.standardElement)
167
+ leaves.push(Object.freeze({ kind: 'standard', declaration: particle.standardElement }));
168
+ else if (particle.kind === 'any' && particle.wildcard?.processContents === 'strict') {
169
+ if (++boundaries > 1 || !namespaceAllows(particle.wildcard.namespace, spec.payloadPath[0].namespace, budget.chargeWork))
170
+ stop('record-wrapper-wildcard-boundary');
171
+ leaves.push(Object.freeze({ kind: 'boundary', namespace: particle.wildcard.namespace }));
172
+ }
173
+ else
174
+ stop('record-wrapper-terminal-scope');
175
+ }
176
+ if (boundaries !== 1)
177
+ stop('record-wrapper-one-boundary');
178
+ const metadata = leaves.filter((leaf) => leaf.kind === 'standard');
179
+ if (association)
180
+ spec = { ...spec, opaqueExclusions: [
181
+ ...metadata.map(leaf => ({ path: [leaf.declaration.name], reason: 'standard-schema-metadata' })),
182
+ { path: spec.payloadPath, reason: 'wrapper-declaration-universe' },
183
+ ] };
184
+ const exclusions = spec.opaqueExclusions.filter(item => item.reason === 'standard-schema-metadata');
185
+ const universes = spec.opaqueExclusions.filter(item => item.reason === 'wrapper-declaration-universe');
186
+ if (metadata.length !== exclusions.length || metadata.some(leaf => exclusions.filter(item => same(item.path[0], leaf.declaration.name)).length !== 1)
187
+ || universes.length !== 1 || !same(universes[0].path[0], spec.payloadPath[0]))
188
+ stop('record-wrapper-explicit-exclusions');
189
+ check();
190
+ const result = Object.freeze({ kind: 'component-record-projection', version: 'component-record-scope-v1',
191
+ direction: Object.freeze({ kind: 'output' }), root: outer.output, contextId: outer.contextId, admitted: false, spec: directDataOwnership(budget).freeze(spec),
192
+ usage: Object.freeze({ ...budget.usage() }) });
193
+ issued.set(result, Object.freeze({ outer, companion, parser, mapping, leaves: Object.freeze(leaves) }));
194
+ return result;
195
+ });
196
+ return result.kind === 'resource-limit' && !('rule' in result) ? failure('resource-limit', 'record-projection-budget') : result;
197
+ }
198
+ catch (error) {
199
+ if (budget.exhausted())
200
+ return failure('resource-limit', 'record-projection-budget');
201
+ if (error instanceof DataOwnershipLimitError)
202
+ return failure('resource-limit', error.message);
203
+ if (error instanceof ScopeStop)
204
+ return failure(error.kind, error.rule);
205
+ throw error;
206
+ }
207
+ }
208
+ /** Native projection identity and exact outer contract are checked before reading projection fields. */
209
+ export function inspectComponentRecordProjection(projection, outer) {
210
+ const owned = issued.get(projection);
211
+ if (!owned || outer !== undefined && owned.outer !== outer)
212
+ throw new TypeError('Native matching component record projection required');
213
+ inspectDirectOperation(owned.outer);
214
+ inspectDirectOperation(owned.companion);
215
+ return owned;
216
+ }
217
+ export function inspectComponentRecordValue(value, projection) {
218
+ inspectComponentRecordProjection(projection);
219
+ if (values.get(value) !== projection)
220
+ throw new TypeError('Native matching component record value required');
221
+ return value;
222
+ }
223
+ /** Revalidate the projected application value, including after JSON serialization.
224
+ * @remarks This uses the exact companion's existing inverse and scalar/structure owners. It establishes only
225
+ * projected-value validity; it cannot reconstruct or certify omitted wrapper metadata or SOAP protocol state.
226
+ */
227
+ export function validateComponentRecordApplication(projection, application, options = {}) {
228
+ const owned = inspectComponentRecordProjection(projection), { context } = inspectDirectOperation(owned.companion);
229
+ return expandProjectionValue(context, owned.mapping.root.element, application, options);
230
+ }
231
+ /** Decode once and validate the declared wrapper plus its explicitly selected companion payload.
232
+ * @remarks The complete companion value survives; only declared standard metadata is omitted. This function
233
+ * does not validate SOAP protocol grammar itself. Its protocol selector can choose only this projection or
234
+ * an actual declared fault mapping of the outer contract, always on nodes from the same parse.
235
+ */
236
+ export function decodeComponentRecordXml(outer, projection, bytes, options = {}) {
237
+ const owned = inspectComponentRecordProjection(projection, outer), { context } = inspectDirectOperation(outer), { budget } = context;
238
+ const check = () => { budget.chargeWork(); if (options.signal?.aborted)
239
+ throw new ScopeStop('cancelled', 'cooperative-cancellation'); };
240
+ const failure = (kind, rule) => Object.freeze({ kind, rule, usage: Object.freeze({ ...budget.usage() }) });
241
+ try {
242
+ const result = budget.guard(() => {
243
+ check();
244
+ const observation = observeComponentXml(outer, owned.parser, bytes, options);
245
+ if (observation.kind !== 'observed-component-xml')
246
+ return observation;
247
+ const selected = options.selectPayload?.(observation.root) ?? { payload: observation.root, mapping: projection };
248
+ assertComponentObservedPayload(observation, selected.payload, check);
249
+ if (selected.mapping !== projection) {
250
+ const { mapping } = inspectComponentValueMapping(selected.mapping, outer);
251
+ if (mapping.direction.kind !== 'fault')
252
+ throw new TypeError('Record projection selection requires this output or a declared fault');
253
+ return assessObservedComponentPayload(outer, mapping, observation, selected.payload, options);
254
+ }
255
+ const wrapper = selected.payload;
256
+ if (!same(wrapper.name, outer.output.element.name))
257
+ throw new ScopeStop('mismatch', 'record-wrapper-root');
258
+ if (wrapper.attributes.length || wrapper.children.some(node => node.kind === 'text' && /[^\t\r\n ]/.test(node.value)))
259
+ throw new ScopeStop('mismatch', 'record-wrapper-attributes-or-text');
260
+ const children = syntaxElements(wrapper);
261
+ if (children.length !== owned.leaves.length)
262
+ throw new ScopeStop('mismatch', 'record-wrapper-child-count');
263
+ let payload;
264
+ for (let index = 0; index < owned.leaves.length; index++) {
265
+ check();
266
+ const leaf = owned.leaves[index], child = children[index];
267
+ if (leaf.kind === 'standard') {
268
+ if (!same(child.name, leaf.declaration.name))
269
+ throw new ScopeStop('mismatch', 'record-wrapper-standard-order');
270
+ const assessed = assessStandardSchemaElement(leaf.declaration, child, budget, { signal: options.signal, check });
271
+ if (assessed.kind !== 'schema-element-instance')
272
+ return failure(assessed.kind, assessed.kind === 'resource-limit' ? 'record-standard-budget' : assessed.rule);
273
+ if (assessed.remaining.length)
274
+ throw new ScopeStop('unsupported', 'record-standard-instance-obligations');
275
+ }
276
+ else {
277
+ if (!same(child.name, projection.spec.payloadPath[0]) || !namespaceAllows(leaf.namespace, child.name.namespace, budget.chargeWork))
278
+ throw new ScopeStop('mismatch', 'record-wrapper-companion-boundary');
279
+ payload = child;
280
+ }
281
+ }
282
+ if (!payload)
283
+ throw new TypeError('Native record boundary unavailable');
284
+ const decoded = assessObservedComponentPayload(owned.companion, owned.mapping, observation, payload, options);
285
+ if (decoded.kind !== 'component-decoded')
286
+ return decoded;
287
+ const recordCount = countRecords(observation, payload, projection.spec.recordPath, check);
288
+ const validated = Object.freeze({ kind: 'component-record-value', scope: 'records-with-declared-wrapper-scope',
289
+ admitted: false, value: decoded.validated.value, recordCount, companion: decoded.validated });
290
+ values.set(validated, projection);
291
+ check();
292
+ return Object.freeze({ kind: 'component-record-decoded', admitted: false, payload: wrapper, mapping: projection,
293
+ validated, usage: Object.freeze({ ...budget.usage() }) });
294
+ });
295
+ return result.kind === 'resource-limit' && !('rule' in result) ? failure('resource-limit', 'record-projection-budget') : result;
296
+ }
297
+ catch (error) {
298
+ if (budget.exhausted())
299
+ return failure('resource-limit', 'record-projection-budget');
300
+ if (error instanceof ScopeStop)
301
+ return failure(error.kind, error.rule);
302
+ throw error;
303
+ }
304
+ }
305
+ function countRecords(observation, payload, path, check) {
306
+ assertComponentObservedPayload(observation, payload, check);
307
+ let current = [payload];
308
+ for (const name of path) {
309
+ const next = [];
310
+ for (const parent of current)
311
+ for (const child of syntaxElements(parent)) {
312
+ check();
313
+ if (same(child.name, name))
314
+ next.push(child);
315
+ }
316
+ current = next;
317
+ }
318
+ return current.length;
319
+ }
@@ -0,0 +1,20 @@
1
+ import type { DirectOperationContract } from './directOperation.js';
2
+ import type { ExpandedName } from '../loader/orderedSyntax.js';
3
+ /** Own closed metadata for one invocation; runtime reconstruction never consumes this object.
4
+ * @since 1.1.7
5
+ * @constraints Every action and selection is checked against authentic native source before reuse.
6
+ */
7
+ export declare class ComponentSoapPreparation {
8
+ #private;
9
+ /** Prepare one source/service/binding within this invocation.
10
+ * @param contract Fresh native operation identity.
11
+ * @param selection Service/port choice checked before reuse.
12
+ * @param check Cancellation and resource checks owned by this invocation.
13
+ * @returns Resolves after closed metadata preparation; dependency objects remain private.
14
+ * @throws For foreign handles, unsupported selection, cancellation or bootstrap failures.
15
+ */
16
+ prepare(contract: DirectOperationContract, selection: {
17
+ service: ExpandedName;
18
+ port: string;
19
+ }, check: () => void): Promise<void>;
20
+ }
@@ -0,0 +1,36 @@
1
+ /** Invocation-local SOAP preparation ownership without exposing dependency metadata types.
2
+ * @since 1.1.7
3
+ */
4
+ import { inspectDirectOperation } from './directOperation.js';
5
+ import { prepareComponentSoapWsdl, validateComponentSoapSelection } from './directSoapSource.js';
6
+ /** Own closed metadata for one invocation; runtime reconstruction never consumes this object.
7
+ * @since 1.1.7
8
+ * @constraints Every action and selection is checked against authentic native source before reuse.
9
+ */
10
+ export class ComponentSoapPreparation {
11
+ #sources = new WeakMap();
12
+ /** Prepare one source/service/binding within this invocation.
13
+ * @param contract Fresh native operation identity.
14
+ * @param selection Service/port choice checked before reuse.
15
+ * @param check Cancellation and resource checks owned by this invocation.
16
+ * @returns Resolves after closed metadata preparation; dependency objects remain private.
17
+ * @throws For foreign handles, unsupported selection, cancellation or bootstrap failures.
18
+ */
19
+ async prepare(contract, selection, check) {
20
+ const { source } = inspectDirectOperation(contract);
21
+ validateComponentSoapSelection(contract, selection, check);
22
+ const key = JSON.stringify([selection.service, selection.port, contract.selector.binding]);
23
+ let entries = this.#sources.get(source);
24
+ if (!entries) {
25
+ entries = new Map();
26
+ this.#sources.set(source, entries);
27
+ }
28
+ let prepared = entries.get(key);
29
+ if (!prepared) {
30
+ prepared = prepareComponentSoapWsdl(contract, selection, check);
31
+ entries.set(key, prepared);
32
+ }
33
+ await prepared;
34
+ check();
35
+ }
36
+ }
@@ -66,4 +66,3 @@ export declare function extendContent(base: readonly ContentContribution[], loca
66
66
  /** Restriction replaces child content, including the empty case. No removed base particle is appended. */
67
67
  export declare function restrictContent(local: NodeId | undefined): readonly ContentContribution[];
68
68
  export declare function composeCanonicalGraph(resolved: ResolvedGraph, limits?: SemanticLimits): ComposedGraph;
69
- //# sourceMappingURL=composeCanonicalGraph.d.ts.map
@@ -19,4 +19,3 @@ export declare const dataOwnership: Readonly<{
19
19
  snapshot: <T>(value: T, check?: () => void) => T;
20
20
  freeze: <T>(value: T) => Readonly<T>;
21
21
  }>;
22
- //# sourceMappingURL=dataOwnership.d.ts.map
@@ -4,6 +4,8 @@ export class DataOwnershipLimitError extends RangeError {
4
4
  }
5
5
  export const DIRECT_METADATA_LIMITS = Object.freeze({ maxEntries: 100_000, maxText: 1024 * 1024, maxDepth: 256 });
6
6
  export function createDataOwnership(chargeWork, limits) {
7
+ // @why Canonical preparation revisits shared immutable source subtrees; only this owner's completed traversals are reusable.
8
+ const frozen = new WeakSet();
7
9
  function arrayIndex(index) {
8
10
  // Array positions are bounded by JavaScript's array length, so this is a
9
11
  // constant-size numeric decision, followed by a precharged text conversion.
@@ -119,6 +121,9 @@ export function createDataOwnership(chargeWork, limits) {
119
121
  chargeWork(); // Set read.
120
122
  if (seen.has(current))
121
123
  continue;
124
+ chargeWork();
125
+ if (frozen.has(current))
126
+ continue;
122
127
  chargeWork(2); // Visit-state insertion and freeze traversal.
123
128
  seen.add(current);
124
129
  chargeWork(); // Array classification.
@@ -136,12 +141,11 @@ export function createDataOwnership(chargeWork, limits) {
136
141
  }
137
142
  else {
138
143
  for (const key in current) {
139
- chargeWork(); // Own-field introspection.
140
- if (!Object.hasOwn(current, key))
141
- continue;
142
144
  chargeWork(43 + key.length); // Descriptor, field access, name inspection and push.
143
145
  const descriptor = Object.getOwnPropertyDescriptor(current, key);
144
- if (descriptor === undefined || !('value' in descriptor)) {
146
+ if (descriptor === undefined)
147
+ continue;
148
+ if (!('value' in descriptor)) {
145
149
  throw new TypeError('RE01 records require data fields');
146
150
  }
147
151
  stack.push(descriptor.value);
@@ -149,6 +153,12 @@ export function createDataOwnership(chargeWork, limits) {
149
153
  }
150
154
  Object.freeze(current);
151
155
  }
156
+ // @constraints A shallow external freeze or interrupted traversal supplies no reusable deep-freeze evidence.
157
+ for (const current of seen) {
158
+ chargeWork(2);
159
+ if (!types.isProxy(current))
160
+ frozen.add(current);
161
+ }
152
162
  return value;
153
163
  }
154
164
  return { snapshot, freeze };
@@ -44,4 +44,3 @@ export declare function datatypeValues<Owner>(c: DatatypeValueContext<Owner>): {
44
44
  sameValue: (a: DatatypeOperand, b: DatatypeOperand, owner: Owner) => boolean;
45
45
  compare: (a: DatatypeOperand, b: DatatypeOperand, owner: Owner) => number | undefined;
46
46
  };
47
- //# sourceMappingURL=datatypeValues.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import type { DirectOperationContract } from './directOperation.js';
2
- import type { DirectValueMapping, DirectValueReceipt, DirectValueFailure, DirectExpandedValue } from './directValues.js';
2
+ import type { DirectValueMapping, DirectValueReceipt, DirectValueFailure, DirectExpandedValue, ComponentValueMapping, ProjectionExpandedValue, ProjectionValueReceipt } from './directValues.js';
3
3
  import type { SyntaxElement, SyntaxSource } from '../loader/orderedSyntax.js';
4
4
  import type { ResolverUsage } from './semanticBudget.js';
5
5
  export interface DirectXmlLimits {
@@ -48,12 +48,69 @@ export interface DirectDecodedXml {
48
48
  readonly validated: DirectValueReceipt;
49
49
  readonly usage: ResolverUsage;
50
50
  }
51
+ export interface ComponentEncodedXml {
52
+ readonly kind: 'component-encoded';
53
+ readonly admitted: false;
54
+ readonly encoding: 'utf-8';
55
+ readonly bytes: Uint8Array;
56
+ readonly expanded: ProjectionExpandedValue;
57
+ readonly mapping: ComponentValueMapping;
58
+ readonly usage: ResolverUsage;
59
+ }
60
+ export interface ComponentDecodedXml {
61
+ readonly kind: 'component-decoded';
62
+ readonly admitted: false;
63
+ readonly payload: SyntaxElement;
64
+ readonly validated: ProjectionValueReceipt;
65
+ readonly mapping: ComponentValueMapping;
66
+ readonly usage: ResolverUsage;
67
+ }
68
+ export interface ComponentPayloadSelection {
69
+ readonly payload: SyntaxElement;
70
+ readonly mapping: ComponentValueMapping;
71
+ }
72
+ /** Parser ownership only; neither the observation nor its displayed fields establish value or operation validity. */
73
+ export interface ComponentXmlObservation {
74
+ readonly kind: 'observed-component-xml';
75
+ readonly root: SyntaxElement;
76
+ readonly usage: ResolverUsage;
77
+ }
51
78
  /** Validate fresh values using the delivered inverse, then emit deterministic UTF-8. */
52
79
  export declare function encodeDirectXml(contract: DirectOperationContract, mapping: unknown, application: unknown, options?: Options): DirectEncodedXml | DirectCodecFailure;
80
+ /** Encode a component-qualified structured operation direction through the same native inverse and XML writer.
81
+ * @remarks Mapping/source authority is checked before values. This supplies XML bytes only, not policy enforcement or dispatch.
82
+ * @returns Native-validated UTF-8 output or explicit scalar/value/unsupported/cancellation/resource failure.
83
+ */
84
+ export declare function encodeComponentXml(contract: DirectOperationContract, mapping: unknown, application: unknown, options?: Options): ComponentEncodedXml | DirectCodecFailure;
85
+ /** Observe once through the existing component parser and execution controls.
86
+ * @remarks Any exact operation-owned mapping can bind parsing to its execution context. Its value/root is not
87
+ * assessed here. Source qualification, wrapper scope and selected payload validation remain separate owners.
88
+ */
89
+ export declare function observeComponentXml(contract: DirectOperationContract, mapping: unknown, bytes: Uint8Array, options?: Options & Readonly<{
90
+ uri?: string;
91
+ }>): ComponentXmlObservation | DirectCodecFailure;
92
+ /** Validate a genuine observed subtree through an independently qualified component mapping.
93
+ * @remarks XML capacities belong to the observation episode. This entry assesses the selected mapping's
94
+ * structure and scalar duties; it does not assert cross-contract wrapper, SOAP or runtime authority.
95
+ * @throws TypeError For copied observations, foreign mappings or a node outside the observed document.
96
+ */
97
+ export declare function assessObservedComponentPayload(contract: DirectOperationContract, mapping: unknown, observation: ComponentXmlObservation, payload: SyntaxElement, options?: Readonly<{
98
+ signal?: AbortSignal;
99
+ }>): ComponentDecodedXml | DirectCodecFailure;
100
+ /** Verify membership without conferring a selected mapping or wrapper validity. */
101
+ export declare function assertComponentObservedPayload(observation: ComponentXmlObservation, payload: SyntaxElement, check: () => void): void;
53
102
  /** Bounded observed bytes -> ordered syntax -> existing structural/scalar checks. */
54
103
  export declare function decodeDirectXml(contract: DirectOperationContract, mapping: unknown, bytes: Uint8Array, options?: Options & Readonly<{
55
104
  uri?: string;
56
105
  selectPayload?: (root: SyntaxElement) => DirectPayloadSelection;
57
106
  }>): DirectDecodedXml | DirectCodecFailure;
107
+ /** Decode observed component-profile bytes through the same parser and native structured/scalar owners.
108
+ * @remarks Protocol selection may choose only an actual node from this parse and an exact operation-owned mapping.
109
+ * It cannot relabel a copied syntax tree, switch operations or acquire runtime/policy enforcement authority.
110
+ * @returns A native-validated structured value or explicit XML/structure/scalar/unsupported/resource failure.
111
+ */
112
+ export declare function decodeComponentXml(contract: DirectOperationContract, mapping: unknown, bytes: Uint8Array, options?: Options & Readonly<{
113
+ uri?: string;
114
+ selectPayload?: (root: SyntaxElement) => ComponentPayloadSelection;
115
+ }>): ComponentDecodedXml | DirectCodecFailure;
58
116
  export {};
59
- //# sourceMappingURL=directCodec.d.ts.map