@techspokes/typescript-wsdl-client 1.1.5 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) hide show
  1. package/README.md +80 -68
  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 +268 -0
  10. package/dist/cli.d.ts +0 -1
  11. package/dist/cli.js +92 -2
  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 +98 -28
  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/generateOperations.js +30 -11
  24. package/dist/client/generateTypes.d.ts +0 -1
  25. package/dist/client/generateUtils.d.ts +0 -1
  26. package/dist/client/generateUtils.js +7 -1
  27. package/dist/compiler/applicationGroups.d.ts +53 -0
  28. package/dist/compiler/applicationGroups.js +403 -0
  29. package/dist/compiler/buildCanonicalGraph.d.ts +0 -1
  30. package/dist/compiler/canonicalGraph.d.ts +4 -16
  31. package/dist/compiler/canonicalGraph.js +1 -8
  32. package/dist/compiler/catalogErrors.d.ts +0 -1
  33. package/dist/compiler/catalogProvenance.d.ts +0 -1
  34. package/dist/compiler/checkedAssessment.d.ts +0 -1
  35. package/dist/compiler/checkedAssessment.js +1 -1
  36. package/dist/compiler/checkedComponentSource.d.ts +16 -0
  37. package/dist/compiler/checkedComponentSource.js +31 -0
  38. package/dist/compiler/checkedSourcePreparation.d.ts +38 -1
  39. package/dist/compiler/checkedSourcePreparation.js +71 -0
  40. package/dist/compiler/complexTypeContent.d.ts +5 -6
  41. package/dist/compiler/complexTypeContent.js +2 -2
  42. package/dist/compiler/componentCorrespondence.d.ts +32 -0
  43. package/dist/compiler/componentCorrespondence.js +140 -0
  44. package/dist/compiler/componentRecordProjection.d.ts +112 -0
  45. package/dist/compiler/componentRecordProjection.js +329 -0
  46. package/dist/compiler/componentSoapPreparation.d.ts +20 -0
  47. package/dist/compiler/componentSoapPreparation.js +36 -0
  48. package/dist/compiler/composeCanonicalGraph.d.ts +0 -1
  49. package/dist/compiler/dataOwnership.d.ts +0 -1
  50. package/dist/compiler/dataOwnership.js +14 -4
  51. package/dist/compiler/datatypeValues.d.ts +0 -1
  52. package/dist/compiler/declarationIdentity.d.ts +22 -0
  53. package/dist/compiler/declarationIdentity.js +9 -0
  54. package/dist/compiler/directCodec.d.ts +79 -2
  55. package/dist/compiler/directCodec.js +310 -92
  56. package/dist/compiler/directExecutionPolicy.d.ts +0 -1
  57. package/dist/compiler/directOperation.d.ts +72 -8
  58. package/dist/compiler/directOperation.js +164 -19
  59. package/dist/compiler/directSoap.d.ts +29 -5
  60. package/dist/compiler/directSoap.js +154 -44
  61. package/dist/compiler/directSoapSource.d.ts +24 -1
  62. package/dist/compiler/directSoapSource.js +166 -19
  63. package/dist/compiler/directSourceCapsule.d.ts +74 -2
  64. package/dist/compiler/directSourceCapsule.js +484 -6
  65. package/dist/compiler/directStructure.d.ts +83 -6
  66. package/dist/compiler/directStructure.js +353 -58
  67. package/dist/compiler/directStructurePlan.d.ts +144 -2
  68. package/dist/compiler/directStructurePlan.js +615 -30
  69. package/dist/compiler/directValues.d.ts +76 -5
  70. package/dist/compiler/directValues.js +967 -117
  71. package/dist/compiler/finiteRe01Construction.d.ts +69 -0
  72. package/dist/compiler/finiteRe01Construction.js +422 -0
  73. package/dist/compiler/finiteRe01Verification.d.ts +81 -3
  74. package/dist/compiler/finiteRe01Verification.js +391 -4
  75. package/dist/compiler/generateCatalog.d.ts +0 -1
  76. package/dist/compiler/graphTraversal.d.ts +0 -1
  77. package/dist/compiler/hypotheticalScopedIdentity.d.ts +0 -1
  78. package/dist/compiler/legacyDeclarations.d.ts +26 -0
  79. package/dist/compiler/legacyDeclarations.js +144 -0
  80. package/dist/compiler/occurrenceAnalysis.d.ts +2 -1
  81. package/dist/compiler/occurrenceAnalysis.js +23 -7
  82. package/dist/compiler/originalSourceMembership.d.ts +0 -1
  83. package/dist/compiler/particleAttribution.d.ts +0 -1
  84. package/dist/compiler/particleAttribution.js +20 -0
  85. package/dist/compiler/particleDeclarationConsistency.d.ts +0 -1
  86. package/dist/compiler/particleDeclarationConsistency.js +9 -0
  87. package/dist/compiler/particleExtension.d.ts +0 -1
  88. package/dist/compiler/particleExtension.js +5 -1
  89. package/dist/compiler/particleLocalAssessment.d.ts +0 -1
  90. package/dist/compiler/particleRestriction.d.ts +0 -1
  91. package/dist/compiler/particleRestriction.js +6 -1
  92. package/dist/compiler/particleSemanticView.d.ts +2 -1
  93. package/dist/compiler/particleSemanticView.js +16 -3
  94. package/dist/compiler/particleWildcardRelation.d.ts +0 -1
  95. package/dist/compiler/projectionScalar.d.ts +49 -0
  96. package/dist/compiler/projectionScalar.js +218 -0
  97. package/dist/compiler/re01CandidateAssignments.d.ts +95 -0
  98. package/dist/compiler/re01CandidateAssignments.js +341 -0
  99. package/dist/compiler/re01CandidateCorrespondence.d.ts +22 -1
  100. package/dist/compiler/re01CandidateCorrespondence.js +167 -38
  101. package/dist/compiler/re01TypeProperties.d.ts +0 -1
  102. package/dist/compiler/re01TypePropertyValidation.d.ts +0 -1
  103. package/dist/compiler/resolveCanonicalGraph.d.ts +5 -2
  104. package/dist/compiler/resolveCanonicalGraph.js +77 -7
  105. package/dist/compiler/rpcStringValues.d.ts +30 -0
  106. package/dist/compiler/rpcStringValues.js +196 -0
  107. package/dist/compiler/rpcTypedValues.d.ts +48 -0
  108. package/dist/compiler/rpcTypedValues.js +190 -0
  109. package/dist/compiler/scalarSchemaAssessment.d.ts +0 -1
  110. package/dist/compiler/schemaAttributeGroupProperties.d.ts +0 -1
  111. package/dist/compiler/schemaAttributeProperties.d.ts +0 -1
  112. package/dist/compiler/schemaAttributeUses.d.ts +22 -2
  113. package/dist/compiler/schemaAttributeUses.js +86 -13
  114. package/dist/compiler/schemaBinaryWordReconstruction.d.ts +0 -1
  115. package/dist/compiler/schemaBuiltinFacets.d.ts +0 -1
  116. package/dist/compiler/schemaCalendarImages.d.ts +0 -1
  117. package/dist/compiler/schemaCalendarLanguage.d.ts +0 -1
  118. package/dist/compiler/schemaCompiler.d.ts +0 -1
  119. package/dist/compiler/schemaCompiler.js +44 -109
  120. package/dist/compiler/schemaComponentEquality.d.ts +0 -1
  121. package/dist/compiler/schemaConstructionAssessment.d.ts +34 -1
  122. package/dist/compiler/schemaConstructionAssessment.js +88 -6
  123. package/dist/compiler/schemaDatatypeValues.d.ts +0 -1
  124. package/dist/compiler/schemaDecimalLanguage.d.ts +0 -1
  125. package/dist/compiler/schemaDeclarationPrimitives.d.ts +7 -2
  126. package/dist/compiler/schemaDeclarationPrimitives.js +18 -1
  127. package/dist/compiler/schemaDocumentSyntax.d.ts +0 -1
  128. package/dist/compiler/schemaDurationLanguage.d.ts +0 -1
  129. package/dist/compiler/schemaElementInstance.d.ts +30 -0
  130. package/dist/compiler/schemaElementInstance.js +45 -0
  131. package/dist/compiler/schemaElementProperties.d.ts +0 -1
  132. package/dist/compiler/schemaEndpointWordCapacity.d.ts +0 -1
  133. package/dist/compiler/schemaExactCalendar.d.ts +0 -1
  134. package/dist/compiler/schemaFacetAnnotation.d.ts +0 -1
  135. package/dist/compiler/schemaGeneratedScalarShape.d.ts +0 -1
  136. package/dist/compiler/schemaGeneratedScalarShape.js +2 -0
  137. package/dist/compiler/schemaIdentityConstraints.d.ts +0 -1
  138. package/dist/compiler/schemaIeeeLanguage.d.ts +0 -1
  139. package/dist/compiler/schemaIntegerImages.d.ts +0 -1
  140. package/dist/compiler/schemaLexicalPredicates.d.ts +0 -1
  141. package/dist/compiler/schemaNotationProperties.d.ts +0 -1
  142. package/dist/compiler/schemaNumericImageConditions.d.ts +0 -1
  143. package/dist/compiler/schemaParticleWildcardProperties.d.ts +0 -1
  144. package/dist/compiler/schemaPattern.d.ts +0 -1
  145. package/dist/compiler/schemaRegularLanguage.d.ts +0 -1
  146. package/dist/compiler/schemaScalarContext.d.ts +5 -1
  147. package/dist/compiler/schemaScalarKernel.d.ts +0 -1
  148. package/dist/compiler/schemaScalarWitnesses.d.ts +0 -1
  149. package/dist/compiler/schemaSimpleTypeProperties.d.ts +0 -1
  150. package/dist/compiler/schemaSourceGrammar.d.ts +0 -1
  151. package/dist/compiler/schemaSourceLexical.d.ts +0 -1
  152. package/dist/compiler/schemaSourceValues.d.ts +0 -1
  153. package/dist/compiler/schemaSourceWildcards.d.ts +1 -2
  154. package/dist/compiler/schemaSourceWildcards.js +3 -1
  155. package/dist/compiler/schemaSymbolicSequences.d.ts +0 -1
  156. package/dist/compiler/schemaSymbolicValueSets.d.ts +0 -1
  157. package/dist/compiler/schemaSyntaxAssessment.d.ts +0 -1
  158. package/dist/compiler/schemaTemporalAliases.d.ts +0 -1
  159. package/dist/compiler/schemaTokenImages.d.ts +0 -1
  160. package/dist/compiler/schemaTypeIdentity.d.ts +0 -1
  161. package/dist/compiler/schemaTypeIdentity.js +2 -0
  162. package/dist/compiler/schemaTypeRelations.d.ts +0 -1
  163. package/dist/compiler/schemaUri.d.ts +0 -1
  164. package/dist/compiler/schemaValueContext.d.ts +0 -1
  165. package/dist/compiler/schemaValueImages.d.ts +0 -1
  166. package/dist/compiler/schemaValueSequences.d.ts +0 -1
  167. package/dist/compiler/semanticBudget.d.ts +18 -1
  168. package/dist/compiler/semanticBudget.js +17 -2
  169. package/dist/compiler/semanticCatalog.d.ts +2 -3
  170. package/dist/compiler/semanticContext.d.ts +12 -1
  171. package/dist/compiler/semanticContext.js +39 -0
  172. package/dist/compiler/semanticTypeDependencies.d.ts +0 -1
  173. package/dist/compiler/semanticTypeReference.d.ts +0 -1
  174. package/dist/compiler/shapeResolver.d.ts +0 -1
  175. package/dist/compiler/soapHeaders.d.ts +16 -0
  176. package/dist/compiler/soapHeaders.js +42 -0
  177. package/dist/compiler/sourceSchemaBinding.d.ts +0 -1
  178. package/dist/compiler/standardSchemaComponents.d.ts +71 -0
  179. package/dist/compiler/standardSchemaComponents.js +74 -0
  180. package/dist/compiler/standardSchemaConstruction.d.ts +20 -0
  181. package/dist/compiler/standardSchemaConstruction.js +34 -0
  182. package/dist/compiler/structuralCompanions.d.ts +0 -1
  183. package/dist/compiler/validateSemanticGraph.d.ts +0 -1
  184. package/dist/compiler/wildcardAlgebra.d.ts +0 -1
  185. package/dist/compiler/wsdlPolicyRequirements.d.ts +43 -0
  186. package/dist/compiler/wsdlPolicyRequirements.js +239 -0
  187. package/dist/config.d.ts +0 -1
  188. package/dist/gateway/generateCheckedGateway.d.ts +32 -0
  189. package/dist/gateway/generateCheckedGateway.js +293 -0
  190. package/dist/gateway/generateComposedGateway.d.ts +16 -0
  191. package/dist/gateway/generateComposedGateway.js +65 -0
  192. package/dist/gateway/generateGateway.d.ts +0 -1
  193. package/dist/gateway/generateGateway.js +1 -0
  194. package/dist/gateway/generators.d.ts +0 -1
  195. package/dist/gateway/generators.js +19 -4
  196. package/dist/gateway/helpers.d.ts +1 -1
  197. package/dist/gateway/helpers.js +15 -0
  198. package/dist/generation/componentShape.d.ts +14 -0
  199. package/dist/generation/componentShape.js +293 -0
  200. package/dist/generation/preamble.d.ts +0 -1
  201. package/dist/generation/sourceLayout.d.ts +13 -0
  202. package/dist/generation/sourceLayout.js +40 -0
  203. package/dist/generation/writeGeneratedSource.d.ts +0 -1
  204. package/dist/index.d.ts +11 -2
  205. package/dist/index.js +4 -1
  206. package/dist/loader/fetch.d.ts +0 -1
  207. package/dist/loader/orderedSyntax.d.ts +12 -1
  208. package/dist/loader/orderedSyntax.js +40 -6
  209. package/dist/loader/resolutionDepth.d.ts +0 -1
  210. package/dist/loader/schemaInput.d.ts +28 -1
  211. package/dist/loader/schemaInput.js +41 -4
  212. package/dist/loader/schemaResources.d.ts +2 -1
  213. package/dist/loader/schemaResources.js +45 -4
  214. package/dist/loader/wsdlLoader.d.ts +0 -1
  215. package/dist/multiServicePipeline.d.ts +41 -0
  216. package/dist/multiServicePipeline.js +287 -0
  217. package/dist/openapi/casing.d.ts +0 -1
  218. package/dist/openapi/composeOpenAPI.d.ts +29 -0
  219. package/dist/openapi/composeOpenAPI.js +322 -0
  220. package/dist/openapi/generateOpenAPI.d.ts +0 -1
  221. package/dist/openapi/generatePaths.d.ts +0 -1
  222. package/dist/openapi/generateSchemas.d.ts +0 -1
  223. package/dist/openapi/security.d.ts +0 -1
  224. package/dist/pipeline.d.ts +7 -3
  225. package/dist/pipeline.js +15 -0
  226. package/dist/test/generateCheckedTests.d.ts +17 -0
  227. package/dist/test/generateCheckedTests.js +60 -0
  228. package/dist/test/generateTests.d.ts +0 -1
  229. package/dist/test/generators.d.ts +0 -1
  230. package/dist/test/mockData.d.ts +0 -1
  231. package/dist/test/mockData.js +20 -14
  232. package/dist/util/attributeWildcards.d.ts +0 -1
  233. package/dist/util/builder.d.ts +0 -1
  234. package/dist/util/catalogMeta.d.ts +0 -1
  235. package/dist/util/checkedCliDiagnostics.d.ts +11 -0
  236. package/dist/util/checkedCliDiagnostics.js +22 -0
  237. package/dist/util/cli.d.ts +0 -1
  238. package/dist/util/errors.d.ts +0 -1
  239. package/dist/util/imports.d.ts +0 -1
  240. package/dist/util/runtimeSource.d.ts +0 -1
  241. package/dist/util/runtimeSource.js +3 -5
  242. package/dist/util/securityConfig.d.ts +0 -1
  243. package/dist/util/streamConfig.d.ts +0 -1
  244. package/dist/util/tools.d.ts +0 -1
  245. package/dist/util/xmlWhitespace.d.ts +0 -1
  246. package/dist/xsd/primitives.d.ts +0 -1
  247. package/docs/agent-skill.md +12 -1
  248. package/docs/api-reference.md +127 -9
  249. package/docs/checked-gateway.md +212 -0
  250. package/docs/checked-generation.md +167 -0
  251. package/docs/cli-reference.md +48 -6
  252. package/docs/concepts.md +139 -5
  253. package/docs/configuration.md +15 -4
  254. package/docs/corpus.md +33 -0
  255. package/docs/direct-values.md +13 -13
  256. package/docs/examples/checked-forecast.wsdl +19 -0
  257. package/docs/gateway-guide.md +104 -27
  258. package/docs/generated-code.md +22 -11
  259. package/docs/mapping-contract.md +114 -0
  260. package/docs/migration-playbook.md +5 -1
  261. package/docs/migration.md +124 -6
  262. package/docs/output-anatomy.md +21 -18
  263. package/docs/production.md +7 -5
  264. package/docs/start-here.md +19 -3
  265. package/docs/supported-patterns.md +24 -3
  266. package/docs/testing.md +119 -31
  267. package/docs/troubleshooting.md +3 -1
  268. package/llms.txt +16 -8
  269. package/package.json +64 -23
  270. package/src/runtime/checkedGatewayHost.tpl.txt +157 -0
  271. package/src/runtime/clientStreamMethods.tpl.txt +156 -148
  272. package/src/runtime/operationsStreamHelper.tpl.txt +6 -6
  273. package/src/runtime/streamXml.ts +49 -21
  274. package/dist/app/generateApp.d.ts.map +0 -1
  275. package/dist/cli.d.ts.map +0 -1
  276. package/dist/client/checkedDirectRuntime.d.ts.map +0 -1
  277. package/dist/client/directClientRuntime.d.ts.map +0 -1
  278. package/dist/client/directClientVersion.d.ts.map +0 -1
  279. package/dist/client/generateClient.d.ts.map +0 -1
  280. package/dist/client/generateDirectClient.d.ts.map +0 -1
  281. package/dist/client/generateOperations.d.ts.map +0 -1
  282. package/dist/client/generateTypes.d.ts.map +0 -1
  283. package/dist/client/generateUtils.d.ts.map +0 -1
  284. package/dist/compiler/buildCanonicalGraph.d.ts.map +0 -1
  285. package/dist/compiler/canonicalGraph.d.ts.map +0 -1
  286. package/dist/compiler/catalogErrors.d.ts.map +0 -1
  287. package/dist/compiler/catalogProvenance.d.ts.map +0 -1
  288. package/dist/compiler/checkedAssessment.d.ts.map +0 -1
  289. package/dist/compiler/checkedSourcePreparation.d.ts.map +0 -1
  290. package/dist/compiler/complexTypeContent.d.ts.map +0 -1
  291. package/dist/compiler/composeCanonicalGraph.d.ts.map +0 -1
  292. package/dist/compiler/dataOwnership.d.ts.map +0 -1
  293. package/dist/compiler/datatypeValues.d.ts.map +0 -1
  294. package/dist/compiler/directCodec.d.ts.map +0 -1
  295. package/dist/compiler/directExecutionPolicy.d.ts.map +0 -1
  296. package/dist/compiler/directOperation.d.ts.map +0 -1
  297. package/dist/compiler/directSoap.d.ts.map +0 -1
  298. package/dist/compiler/directSoapSource.d.ts.map +0 -1
  299. package/dist/compiler/directSourceCapsule.d.ts.map +0 -1
  300. package/dist/compiler/directStructure.d.ts.map +0 -1
  301. package/dist/compiler/directStructurePlan.d.ts.map +0 -1
  302. package/dist/compiler/directValues.d.ts.map +0 -1
  303. package/dist/compiler/finiteRe01Verification.d.ts.map +0 -1
  304. package/dist/compiler/generateCatalog.d.ts.map +0 -1
  305. package/dist/compiler/graphTraversal.d.ts.map +0 -1
  306. package/dist/compiler/hypotheticalScopedIdentity.d.ts.map +0 -1
  307. package/dist/compiler/occurrenceAnalysis.d.ts.map +0 -1
  308. package/dist/compiler/originalSourceMembership.d.ts.map +0 -1
  309. package/dist/compiler/particleAttribution.d.ts.map +0 -1
  310. package/dist/compiler/particleDeclarationConsistency.d.ts.map +0 -1
  311. package/dist/compiler/particleExtension.d.ts.map +0 -1
  312. package/dist/compiler/particleLocalAssessment.d.ts.map +0 -1
  313. package/dist/compiler/particleRestriction.d.ts.map +0 -1
  314. package/dist/compiler/particleSemanticView.d.ts.map +0 -1
  315. package/dist/compiler/particleWildcardRelation.d.ts.map +0 -1
  316. package/dist/compiler/re01CandidateCorrespondence.d.ts.map +0 -1
  317. package/dist/compiler/re01TypeProperties.d.ts.map +0 -1
  318. package/dist/compiler/re01TypePropertyValidation.d.ts.map +0 -1
  319. package/dist/compiler/resolveCanonicalGraph.d.ts.map +0 -1
  320. package/dist/compiler/scalarSchemaAssessment.d.ts.map +0 -1
  321. package/dist/compiler/schemaAttributeGroupProperties.d.ts.map +0 -1
  322. package/dist/compiler/schemaAttributeProperties.d.ts.map +0 -1
  323. package/dist/compiler/schemaAttributeUses.d.ts.map +0 -1
  324. package/dist/compiler/schemaBinaryWordReconstruction.d.ts.map +0 -1
  325. package/dist/compiler/schemaBuiltinFacets.d.ts.map +0 -1
  326. package/dist/compiler/schemaCalendarImages.d.ts.map +0 -1
  327. package/dist/compiler/schemaCalendarLanguage.d.ts.map +0 -1
  328. package/dist/compiler/schemaCompiler.d.ts.map +0 -1
  329. package/dist/compiler/schemaComponentEquality.d.ts.map +0 -1
  330. package/dist/compiler/schemaConstructionAssessment.d.ts.map +0 -1
  331. package/dist/compiler/schemaDatatypeValues.d.ts.map +0 -1
  332. package/dist/compiler/schemaDecimalLanguage.d.ts.map +0 -1
  333. package/dist/compiler/schemaDeclarationPrimitives.d.ts.map +0 -1
  334. package/dist/compiler/schemaDocumentSyntax.d.ts.map +0 -1
  335. package/dist/compiler/schemaDurationLanguage.d.ts.map +0 -1
  336. package/dist/compiler/schemaElementProperties.d.ts.map +0 -1
  337. package/dist/compiler/schemaEndpointWordCapacity.d.ts.map +0 -1
  338. package/dist/compiler/schemaExactCalendar.d.ts.map +0 -1
  339. package/dist/compiler/schemaFacetAnnotation.d.ts.map +0 -1
  340. package/dist/compiler/schemaGeneratedScalarShape.d.ts.map +0 -1
  341. package/dist/compiler/schemaIdentityConstraints.d.ts.map +0 -1
  342. package/dist/compiler/schemaIeeeLanguage.d.ts.map +0 -1
  343. package/dist/compiler/schemaIntegerImages.d.ts.map +0 -1
  344. package/dist/compiler/schemaLexicalPredicates.d.ts.map +0 -1
  345. package/dist/compiler/schemaNotationProperties.d.ts.map +0 -1
  346. package/dist/compiler/schemaNumericImageConditions.d.ts.map +0 -1
  347. package/dist/compiler/schemaParticleWildcardProperties.d.ts.map +0 -1
  348. package/dist/compiler/schemaPattern.d.ts.map +0 -1
  349. package/dist/compiler/schemaRegularLanguage.d.ts.map +0 -1
  350. package/dist/compiler/schemaScalarContext.d.ts.map +0 -1
  351. package/dist/compiler/schemaScalarKernel.d.ts.map +0 -1
  352. package/dist/compiler/schemaScalarWitnesses.d.ts.map +0 -1
  353. package/dist/compiler/schemaSimpleTypeProperties.d.ts.map +0 -1
  354. package/dist/compiler/schemaSourceGrammar.d.ts.map +0 -1
  355. package/dist/compiler/schemaSourceLexical.d.ts.map +0 -1
  356. package/dist/compiler/schemaSourceValues.d.ts.map +0 -1
  357. package/dist/compiler/schemaSourceWildcards.d.ts.map +0 -1
  358. package/dist/compiler/schemaSymbolicSequences.d.ts.map +0 -1
  359. package/dist/compiler/schemaSymbolicValueSets.d.ts.map +0 -1
  360. package/dist/compiler/schemaSyntaxAssessment.d.ts.map +0 -1
  361. package/dist/compiler/schemaTemporalAliases.d.ts.map +0 -1
  362. package/dist/compiler/schemaTokenImages.d.ts.map +0 -1
  363. package/dist/compiler/schemaTypeIdentity.d.ts.map +0 -1
  364. package/dist/compiler/schemaTypeRelations.d.ts.map +0 -1
  365. package/dist/compiler/schemaUri.d.ts.map +0 -1
  366. package/dist/compiler/schemaValueContext.d.ts.map +0 -1
  367. package/dist/compiler/schemaValueImages.d.ts.map +0 -1
  368. package/dist/compiler/schemaValueSequences.d.ts.map +0 -1
  369. package/dist/compiler/semanticBudget.d.ts.map +0 -1
  370. package/dist/compiler/semanticCatalog.d.ts.map +0 -1
  371. package/dist/compiler/semanticContext.d.ts.map +0 -1
  372. package/dist/compiler/semanticTypeDependencies.d.ts.map +0 -1
  373. package/dist/compiler/semanticTypeReference.d.ts.map +0 -1
  374. package/dist/compiler/shapeResolver.d.ts.map +0 -1
  375. package/dist/compiler/sourceSchemaBinding.d.ts.map +0 -1
  376. package/dist/compiler/structuralCompanions.d.ts.map +0 -1
  377. package/dist/compiler/validateSemanticGraph.d.ts.map +0 -1
  378. package/dist/compiler/wildcardAlgebra.d.ts.map +0 -1
  379. package/dist/config.d.ts.map +0 -1
  380. package/dist/gateway/generateGateway.d.ts.map +0 -1
  381. package/dist/gateway/generators.d.ts.map +0 -1
  382. package/dist/gateway/helpers.d.ts.map +0 -1
  383. package/dist/generation/preamble.d.ts.map +0 -1
  384. package/dist/generation/writeGeneratedSource.d.ts.map +0 -1
  385. package/dist/index.d.ts.map +0 -1
  386. package/dist/loader/fetch.d.ts.map +0 -1
  387. package/dist/loader/orderedSyntax.d.ts.map +0 -1
  388. package/dist/loader/resolutionDepth.d.ts.map +0 -1
  389. package/dist/loader/schemaInput.d.ts.map +0 -1
  390. package/dist/loader/schemaResources.d.ts.map +0 -1
  391. package/dist/loader/wsdlLoader.d.ts.map +0 -1
  392. package/dist/openapi/casing.d.ts.map +0 -1
  393. package/dist/openapi/generateOpenAPI.d.ts.map +0 -1
  394. package/dist/openapi/generatePaths.d.ts.map +0 -1
  395. package/dist/openapi/generateSchemas.d.ts.map +0 -1
  396. package/dist/openapi/security.d.ts.map +0 -1
  397. package/dist/pipeline.d.ts.map +0 -1
  398. package/dist/runtime/jsonArray.d.ts +0 -24
  399. package/dist/runtime/jsonArray.d.ts.map +0 -1
  400. package/dist/runtime/jsonArray.js +0 -52
  401. package/dist/runtime/ndjson.d.ts +0 -24
  402. package/dist/runtime/ndjson.d.ts.map +0 -1
  403. package/dist/runtime/ndjson.js +0 -30
  404. package/dist/runtime/streamXml.d.ts +0 -45
  405. package/dist/runtime/streamXml.d.ts.map +0 -1
  406. package/dist/runtime/streamXml.js +0 -212
  407. package/dist/test/generateTests.d.ts.map +0 -1
  408. package/dist/test/generators.d.ts.map +0 -1
  409. package/dist/test/mockData.d.ts.map +0 -1
  410. package/dist/util/attributeWildcards.d.ts.map +0 -1
  411. package/dist/util/builder.d.ts.map +0 -1
  412. package/dist/util/catalogMeta.d.ts.map +0 -1
  413. package/dist/util/cli.d.ts.map +0 -1
  414. package/dist/util/errors.d.ts.map +0 -1
  415. package/dist/util/imports.d.ts.map +0 -1
  416. package/dist/util/runtimeSource.d.ts.map +0 -1
  417. package/dist/util/securityConfig.d.ts.map +0 -1
  418. package/dist/util/streamConfig.d.ts.map +0 -1
  419. package/dist/util/tools.d.ts.map +0 -1
  420. package/dist/util/xmlWhitespace.d.ts.map +0 -1
  421. package/dist/xsd/primitives.d.ts.map +0 -1
  422. package/docs/AGENTS.md +0 -47
  423. package/docs/README.md +0 -69
  424. package/docs/architecture.md +0 -158
  425. package/docs/content-model-analysis.md +0 -92
  426. package/docs/content-model-baseline.md +0 -121
  427. package/docs/content-model-catalog.md +0 -116
  428. package/docs/content-model-companions.md +0 -90
  429. package/docs/content-model-composition.md +0 -103
  430. package/docs/content-model-decisions.md +0 -79
  431. package/docs/content-model-gateway-feasibility.md +0 -169
  432. package/docs/content-model-graph.md +0 -121
  433. package/docs/content-model-loading.md +0 -163
  434. package/docs/content-model-matching.md +0 -85
  435. package/docs/content-model-readiness.md +0 -144
  436. package/docs/content-model-resolution.md +0 -81
  437. package/docs/content-model-s02-handoff.md +0 -98
  438. package/docs/content-model-s06-au-01.md +0 -425
  439. package/docs/content-model-s06-dt-01.md +0 -386
  440. package/docs/content-model-s06-pw-01.md +0 -350
  441. package/docs/content-model-s06-re-01-resolver-implementation.md +0 -869
  442. package/docs/content-model-s06-re-01-resolver.md +0 -513
  443. package/docs/content-model-s06-re-01-scalar-witnesses.md +0 -1423
  444. package/docs/content-model-s06-re-01-support-reconstruction.md +0 -6337
  445. package/docs/content-model-s06-re-01.md +0 -7477
  446. package/docs/content-model-s06-research-handoff.md +0 -909
  447. package/docs/content-model-shipped-fix.md +0 -83
  448. package/docs/content-model-soap-feasibility.md +0 -165
  449. package/docs/decisions/001-test-generation.md +0 -36
  450. package/docs/decisions/002-streamable-responses.md +0 -332
  451. package/docs/decisions/003-content-model-contracts.md +0 -280
  452. package/docs/file-naming-and-path-organization.md +0 -213
  453. package/docs/reference-validation.md +0 -243
  454. package/docs/releases/README.md +0 -94
  455. package/docs/releases/v0.20.0.md +0 -22
  456. package/docs/releases/v0.21.0.md +0 -30
  457. package/docs/releases/v0.22.0.md +0 -30
  458. package/docs/releases/v0.23.0.md +0 -31
  459. package/docs/releases/v0.24.0.md +0 -38
  460. package/docs/releases/v0.25.0.md +0 -31
  461. package/docs/releases/v0.25.2.md +0 -32
  462. package/docs/releases/v0.26.0.md +0 -32
  463. package/docs/releases/v0.27.0.md +0 -31
  464. package/docs/releases/v0.28.0.md +0 -32
  465. package/docs/releases/v0.29.0.md +0 -32
  466. package/docs/releases/v0.30.0.md +0 -30
  467. package/docs/releases/v0.30.1.md +0 -31
  468. package/docs/releases/v0.30.2.md +0 -30
  469. package/docs/releases/v0.30.3.md +0 -33
  470. package/docs/releases/v0.31.0.md +0 -33
  471. package/docs/releases/v0.32.0.md +0 -33
  472. package/docs/releases/v0.33.0.md +0 -34
  473. package/docs/releases/v0.34.0.md +0 -30
  474. package/docs/releases/v0.35.0.md +0 -33
  475. package/docs/releases/v0.36.0.md +0 -32
  476. package/docs/releases/v0.37.0.md +0 -33
  477. package/docs/releases/v0.38.0.md +0 -35
  478. package/docs/releases/v0.39.0.md +0 -35
  479. package/docs/releases/v0.40.0.md +0 -45
  480. package/docs/releases/v0.40.1.md +0 -34
  481. package/docs/releases/v1.0.0.md +0 -42
  482. package/docs/releases/v1.0.1.md +0 -38
  483. package/docs/releases/v1.0.2.md +0 -51
  484. package/docs/releases/v1.0.3.md +0 -37
  485. package/docs/releases/v1.0.4.md +0 -45
  486. package/docs/releases/v1.0.5.md +0 -41
  487. package/docs/releases/v1.0.6.md +0 -35
  488. package/docs/releases/v1.0.7.md +0 -36
  489. package/docs/releases/v1.1.0.md +0 -42
  490. package/docs/releases/v1.1.1.md +0 -44
  491. package/docs/releases/v1.1.2.md +0 -42
  492. package/docs/releases/v1.1.3.md +0 -36
  493. package/docs/releases/v1.1.4.md +0 -36
  494. package/docs/releases/v1.1.5.md +0 -38
  495. package/docs/roadmap/README.md +0 -107
  496. package/docs/roadmap/v1.0-capability-conformance-framework.md +0 -582
  497. package/docs/roadmap/v1.0-choice-union-mode.md +0 -90
  498. package/docs/roadmap/v1.0-contract-audit.md +0 -75
  499. package/docs/roadmap/v1.0-json-array-streaming.md +0 -101
  500. package/docs/roadmap/v1.0-openapi-fastify-compatibility.md +0 -99
  501. package/docs/roadmap/v1.0-release-candidate-gates.md +0 -92
  502. package/docs/roadmap/v1.0-wsdl-coverage-matrix.md +0 -200
  503. package/docs/roadmap/v1.0-xs-anyattribute-wildcard-bag.md +0 -932
  504. package/src/runtime/jsonArray.ts +0 -55
  505. package/src/runtime/ndjson.ts +0 -32
@@ -0,0 +1,48 @@
1
+ import type { GraphNode, Reference } from './canonicalGraph.js';
2
+ import type { SemanticContext } from './semanticContext.js';
3
+ import type { RpcMessageRoot } from './directOperation.js';
4
+ import type { DirectProjectionPlan } from './directStructurePlan.js';
5
+ import type { ExpandedName, SyntaxElement } from '../loader/orderedSyntax.js';
6
+ type Scalar = string | boolean;
7
+ export type RpcTypedValue = Readonly<Record<string, Scalar | Readonly<Record<string, boolean>>>>;
8
+ type Fail = (kind: 'value-invalid' | 'unsupported' | 'mismatch', rule: string, node?: SyntaxElement) => never;
9
+ type Control = {
10
+ check(): void;
11
+ fail: Fail;
12
+ };
13
+ export interface RpcPartPlan {
14
+ readonly name: string;
15
+ readonly reference: Reference;
16
+ readonly owner: GraphNode;
17
+ readonly type: ExpandedName;
18
+ readonly projection: DirectProjectionPlan;
19
+ }
20
+ /** Plan actual message parts; original source references remain native authority.
21
+ * @param context Exact qualified context.
22
+ * @param root Source-owned RPC message.
23
+ * @param control Shared cancellation and refusal controls.
24
+ * @returns Native scalar/flat Boolean record plans in WSDL declaration order.
25
+ */
26
+ export declare function planRpcParts(context: SemanticContext, root: RpcMessageRoot, control: Control): readonly RpcPartPlan[];
27
+ /** Expand typed values with native restrictions and canonical inline type accessors.
28
+ * @param context Exact qualified context.
29
+ * @param root Source-owned RPC parameters.
30
+ * @param plans Native type plans.
31
+ * @param application Data-only JSON value.
32
+ * @param control Shared invocation controls.
33
+ * @returns Canonical RPC wrapper plus its validated application value.
34
+ */
35
+ export declare function expandRpcTyped(context: SemanticContext, root: RpcMessageRoot, plans: readonly RpcPartPlan[], application: unknown, control: Control): {
36
+ payload: SyntaxElement;
37
+ value: RpcTypedValue;
38
+ };
39
+ /** Validate actual dispatched inline parameters through native scalar/particle duties.
40
+ * @param context Exact source context.
41
+ * @param root Source-owned RPC input.
42
+ * @param plans Native type plans.
43
+ * @param payload Actual outgoing envelope Body or wrapper.
44
+ * @param control Shared execution controls.
45
+ * @returns Validated values keyed by original message part names.
46
+ */
47
+ export declare function readRpcTyped(context: SemanticContext, root: RpcMessageRoot, plans: readonly RpcPartPlan[], payload: SyntaxElement, control: Control): RpcTypedValue;
48
+ export {};
@@ -0,0 +1,190 @@
1
+ /** Typed RPC composition over native scalar and record owners.
2
+ * @since 1.1.9
3
+ * @constraints Canonical inline parameters; no encoded request graph or array support.
4
+ */
5
+ import { globalId } from './canonicalGraph.js';
6
+ import { planProjectionType, matchOrderedProjection, isXmlCharacters } from './directStructurePlan.js';
7
+ import { assessProjectionTypeOperand } from './projectionScalar.js';
8
+ import { resolveLexicalQName, syntaxAttribute, syntaxElements, XSD_NAMESPACE, XML_NAMESPACE } from '../loader/orderedSyntax.js';
9
+ import { directDataOwnership } from './directExecutionPolicy.js';
10
+ const SOAP = 'http://schemas.xmlsoap.org/soap/envelope/';
11
+ const ENC = 'http://schemas.xmlsoap.org/soap/encoding/';
12
+ const XSI = 'http://www.w3.org/2001/XMLSchema-instance';
13
+ /** Plan actual message parts; original source references remain native authority.
14
+ * @param context Exact qualified context.
15
+ * @param root Source-owned RPC message.
16
+ * @param control Shared cancellation and refusal controls.
17
+ * @returns Native scalar/flat Boolean record plans in WSDL declaration order.
18
+ */
19
+ export function planRpcParts(context, root, control) {
20
+ const found = context.lookup(globalId('message', root.message));
21
+ if (found.kind !== 'found' || found.node.kind !== 'wsdl' || found.node.role !== 'message')
22
+ return control.fail('unsupported', 'rpc-message-owner');
23
+ const owner = found.node;
24
+ return Object.freeze(root.parts.map(part => {
25
+ control.check();
26
+ context.budget.chargeWork(128);
27
+ const resolved = context.resolve(part.type);
28
+ const type = resolved.kind === 'builtin' ? resolved.name : resolved.kind === 'found' && resolved.node.identity.kind === 'global'
29
+ ? resolved.node.identity.name : control.fail('unsupported', 'rpc-named-type-required');
30
+ const projection = planProjectionType(context, owner, part.type, control.check, () => control.fail('unsupported', 'rpc-native-type-shape'));
31
+ const scalar = (value) => value.kind === 'scalar' && !value.list && !value.nillable
32
+ && ['string', 'boolean', 'decimal', 'integer', 'date', 'dateTime'].includes(value.builtin.local);
33
+ if (projection.root.kind === 'scalar') {
34
+ if (!scalar(projection.root))
35
+ return control.fail('unsupported', 'rpc-scalar-representation');
36
+ }
37
+ else {
38
+ const record = projection.records.find(record => record.type.id === projection.root.type);
39
+ if (projection.records.length !== 1 || record.content !== 'element-only' || record.attributes.length || record.attributeWildcard
40
+ || !record.ordered || record.keyed || record.contextual || record.slots.some(slot => !scalar(slot.value)
41
+ || slot.value.kind !== 'scalar' || slot.value.builtin.local !== 'boolean' || slot.particle.occurs.min !== '1' || slot.particle.occurs.max !== '1'))
42
+ return control.fail('unsupported', 'rpc-flat-boolean-record');
43
+ }
44
+ return Object.freeze({ name: part.name, reference: part.type, owner, type, projection });
45
+ }));
46
+ }
47
+ function scalar(context, owner, reference, shape, lexical, node, control) {
48
+ if (shape.kind !== 'scalar' || !isXmlCharacters(lexical))
49
+ return control.fail('value-invalid', 'rpc-scalar-characters', node);
50
+ const assessed = assessProjectionTypeOperand(context, owner, reference, { value: lexical, context: { namespaces: node.namespaces, source: node.source } }, control.check);
51
+ if (assessed.kind !== 'projection-scalar-operand')
52
+ return control.fail('value-invalid', 'rule' in assessed ? assessed.rule : 'rpc-scalar-budget', node);
53
+ if (shape.constraint?.kind === 'fixed' && assessed.operand.canonical !== shape.constraint.canonical)
54
+ return control.fail('value-invalid', 'fixed-element-value', node);
55
+ return shape.builtin.local === 'boolean' ? assessed.operand.canonical === 'true' : lexical;
56
+ }
57
+ function recordOf(part) { return part.projection.records[0]; }
58
+ function object(value, names, control) {
59
+ if (!value || typeof value !== 'object' || Array.isArray(value))
60
+ return control.fail('value-invalid', 'rpc-data-object-required');
61
+ const keys = Object.keys(value);
62
+ if (keys.length !== names.length || keys.some(key => !names.includes(key)))
63
+ return control.fail('value-invalid', 'rpc-required-parts');
64
+ return value;
65
+ }
66
+ /** Expand typed values with native restrictions and canonical inline type accessors.
67
+ * @param context Exact qualified context.
68
+ * @param root Source-owned RPC parameters.
69
+ * @param plans Native type plans.
70
+ * @param application Data-only JSON value.
71
+ * @param control Shared invocation controls.
72
+ * @returns Canonical RPC wrapper plus its validated application value.
73
+ */
74
+ export function expandRpcTyped(context, root, plans, application, control) {
75
+ let owned;
76
+ try {
77
+ owned = directDataOwnership(context.budget).snapshot(application, control.check);
78
+ }
79
+ catch (error) {
80
+ if (error instanceof TypeError)
81
+ return control.fail('value-invalid', 'rpc-data-object-required');
82
+ throw error;
83
+ }
84
+ const input = object(owned, plans.map(part => part.name), control);
85
+ const namespaces = { xml: XML_NAMESPACE, '': '', rpc: root.bodyNamespace, xsi: XSI, xsd: XSD_NAMESPACE, enc: ENC, soap: SOAP };
86
+ const typeNamespaces = [...new Set(plans.map(part => part.type.namespace))].filter(ns => ns !== XSD_NAMESPACE).sort();
87
+ typeNamespaces.forEach((namespace, index) => { namespaces['t' + index] = namespace; });
88
+ const element = (name, value, shape, owner, reference, type) => {
89
+ control.check();
90
+ context.budget.chargeWork(256);
91
+ const prefix = type?.namespace === XSD_NAMESPACE ? 'xsd' : type ? 't' + typeNamespaces.indexOf(type.namespace) : '';
92
+ const node = { kind: 'element', name, lexicalName: name.local, namespaces, baseUri: root.source.uri, source: root.source,
93
+ attributes: type ? [{ name: { namespace: XSI, local: 'type' }, lexicalName: 'xsi:type', value: prefix + ':' + type.local }] : [], children: [] };
94
+ if (shape.kind !== 'scalar')
95
+ return control.fail('unsupported', 'rpc-scalar-required');
96
+ const lexical = shape.builtin.local === 'boolean' ? typeof value === 'boolean' ? String(value) : control.fail('value-invalid', 'boolean-required')
97
+ : typeof value === 'string' ? value : control.fail('value-invalid', 'string-required');
98
+ scalar(context, owner, reference, shape, lexical, node, control);
99
+ return { ...node, children: [{ kind: 'text', value: lexical, source: root.source }] };
100
+ };
101
+ const children = plans.map(part => {
102
+ if (part.projection.root.kind === 'scalar')
103
+ return element({ namespace: '', local: part.name }, input[part.name], part.projection.root, part.owner, part.reference, part.type);
104
+ const record = recordOf(part), value = object(input[part.name], record.slots.map(slot => slot.element.name.local), control);
105
+ const fields = record.slots.map(slot => element(slot.element.name, value[slot.element.name.local], slot.value, slot.element, slot.element.type, slot.value.kind === 'scalar' ? slot.value.builtin : undefined));
106
+ const prefix = 't' + typeNamespaces.indexOf(part.type.namespace);
107
+ return { kind: 'element', name: { namespace: '', local: part.name }, lexicalName: part.name, namespaces, baseUri: root.source.uri, source: root.source,
108
+ attributes: [{ name: { namespace: XSI, local: 'type' }, lexicalName: 'xsi:type', value: prefix + ':' + part.type.local }], children: fields };
109
+ });
110
+ const payload = { kind: 'element', name: root.wrapper, lexicalName: 'rpc:' + root.wrapper.local, namespaces,
111
+ baseUri: root.source.uri, source: root.source, attributes: [{ name: { namespace: SOAP, local: 'encodingStyle' }, lexicalName: 'soap:encodingStyle', value: ENC }], children };
112
+ return { payload, value: readRpcTyped(context, root, plans, payload, control) };
113
+ }
114
+ /** Validate actual dispatched inline parameters through native scalar/particle duties.
115
+ * @param context Exact source context.
116
+ * @param root Source-owned RPC input.
117
+ * @param plans Native type plans.
118
+ * @param payload Actual outgoing envelope Body or wrapper.
119
+ * @param control Shared execution controls.
120
+ * @returns Validated values keyed by original message part names.
121
+ */
122
+ export function readRpcTyped(context, root, plans, payload, control) {
123
+ const elements = (node) => {
124
+ control.check();
125
+ context.budget.chargeWork(64 + node.children.length * 16);
126
+ if (node.children.some(child => child.kind === 'text' && /[^\t\r\n ]/.test(child.value)))
127
+ return control.fail('mismatch', 'rpc-unexpected-text', node);
128
+ return syntaxElements(node);
129
+ };
130
+ const attrs = (node, type) => {
131
+ for (const attribute of node.attributes) {
132
+ control.check();
133
+ if (attribute.name.namespace === SOAP && attribute.name.local === 'encodingStyle' && attribute.value === ENC)
134
+ continue;
135
+ if (type && attribute.name.namespace === XSI && attribute.name.local === 'type') {
136
+ let actual;
137
+ try {
138
+ actual = resolveLexicalQName(attribute.value, node);
139
+ }
140
+ catch {
141
+ return control.fail('unsupported', 'rpc-typed-accessor', node);
142
+ }
143
+ if (actual.namespace === type.namespace && actual.local === type.local)
144
+ continue;
145
+ }
146
+ return control.fail('unsupported', 'rpc-typed-accessor', node);
147
+ }
148
+ };
149
+ if (payload.name.namespace === SOAP && payload.name.local === 'Body') {
150
+ attrs(payload);
151
+ const wrappers = elements(payload);
152
+ if (wrappers.length !== 1)
153
+ return control.fail('mismatch', 'rpc-request-wrapper', payload);
154
+ payload = wrappers[0];
155
+ }
156
+ if (payload.name.namespace !== root.wrapper.namespace || payload.name.local !== root.wrapper.local)
157
+ return control.fail('mismatch', 'rpc-request-wrapper', payload);
158
+ attrs(payload);
159
+ const parameters = elements(payload);
160
+ if (parameters.length !== plans.length)
161
+ return control.fail('mismatch', 'rpc-parameter-count', payload);
162
+ const result = Object.create(null);
163
+ plans.forEach((part, index) => {
164
+ const node = parameters[index];
165
+ if (node.name.namespace !== '' || node.name.local !== part.name)
166
+ return control.fail('mismatch', 'rpc-parameter-name-order', node);
167
+ attrs(node, part.type);
168
+ const readScalar = (node, owner, reference, shape) => {
169
+ if (syntaxElements(node).length)
170
+ return control.fail('mismatch', 'rpc-scalar-content', node);
171
+ return scalar(context, owner, reference, shape, node.children.map(child => child.kind === 'text' ? child.value : '').join(''), node, control);
172
+ };
173
+ if (part.projection.root.kind === 'scalar')
174
+ result[part.name] = readScalar(node, part.owner, part.reference, part.projection.root);
175
+ else {
176
+ const record = recordOf(part), fields = elements(node);
177
+ const matched = matchOrderedProjection(context, record, fields.map(field => field.name), control.check);
178
+ if (!matched || matched.some(slot => 'kind' in slot))
179
+ return control.fail('mismatch', 'rpc-native-record-content', node);
180
+ const value = Object.create(null);
181
+ fields.forEach(field => {
182
+ const slot = record.slots.find(slot => slot.element.name.local === field.name.local && slot.element.name.namespace === field.name.namespace);
183
+ attrs(field, slot.value.kind === 'scalar' ? slot.value.builtin : undefined);
184
+ value[slot.element.name.local] = readScalar(field, slot.element, slot.element.type, slot.value);
185
+ });
186
+ result[part.name] = value;
187
+ }
188
+ });
189
+ return result;
190
+ }
@@ -422,4 +422,3 @@ export declare function scalarSchemaAssessment(c: AssessmentContext, options?: {
422
422
  selectedMembers?: readonly Reference[];
423
423
  }>, owner: GraphNode | undefined) => number | undefined;
424
424
  };
425
- //# sourceMappingURL=scalarSchemaAssessment.d.ts.map
@@ -14,4 +14,3 @@ export type RawAttributeGroupProperties = Readonly<{
14
14
  }>;
15
15
  /** Data shape only; effective mapping and semantic validity require their owners. */
16
16
  export declare function validateRawAttributeGroupShape(value: unknown, budget: SemanticBudget): asserts value is RawAttributeGroupProperties;
17
- //# sourceMappingURL=schemaAttributeGroupProperties.d.ts.map
@@ -7,4 +7,3 @@ export type RawAttributeProperties = Readonly<{
7
7
  type: SemanticTypeReference;
8
8
  }>;
9
9
  export declare function validateRawAttributeShape(value: unknown, budget: SemanticBudget): value is RawAttributeProperties;
10
- //# sourceMappingURL=schemaAttributeProperties.d.ts.map
@@ -62,7 +62,7 @@ export type AttributeFailure = Readonly<{
62
62
  export type AttributeResult = Readonly<{
63
63
  kind: 'checked';
64
64
  contextId: string;
65
- authority: 'AU01-C1-source-v1' | 'AU01-C1-raw-v2' | 'AU01-C1-original-construction-v1' | 'AU01-C1-raw-properties-v1' | 'AU01-C1-original-properties-v1';
65
+ authority: 'AU01-C1-source-v1' | 'AU01-C1-raw-v2' | 'AU01-C1-original-construction-v1' | 'AU01-C1-raw-properties-v1' | 'AU01-C1-original-properties-v1' | 'AU01-C1-restriction-pair-v1';
66
66
  value: SourceAttributePlan;
67
67
  obligations: readonly string[];
68
68
  scalarObligations: readonly ScalarObligation[];
@@ -87,4 +87,24 @@ export declare function readRawAttributeProperties(context: SemanticContext, own
87
87
  * qualification, supplied by the whole actual assessment, never an H aggregate receipt.
88
88
  */
89
89
  export declare function readOriginalAttributeProperties(context: SemanticContext, ownerId: NodeId): AttributeResult;
90
- //# sourceMappingURL=schemaAttributeUses.d.ts.map
90
+ export type AttributeRestrictionPair = Readonly<{
91
+ kind: 'checked-attribute-restriction';
92
+ derived: NodeId;
93
+ base: NodeId;
94
+ assessment: Extract<AttributeResult, {
95
+ kind: 'checked';
96
+ }>;
97
+ remaining: readonly ['source-and-base-construction', 'alternative-content-derivation'];
98
+ }>;
99
+ export type AttributeRestrictionPairResult = AttributeRestrictionPair | ResourceLimitFailure | Readonly<{
100
+ kind: 'not-attribute-restriction';
101
+ failure: AttributeFailure;
102
+ }>;
103
+ /** Authenticate a paired AU predicate, not the containing type's actual derivation. */
104
+ export declare function assertAttributeRestrictionPair(context: SemanticContext, receipt: AttributeRestrictionPair): void;
105
+ /** Check the existing AU restriction rules against an explicit alternative complex base without changing bindings.
106
+ * @remarks Only the root predicate's base/method arguments differ; TYPE/SCOPE lookups and every original node remain intact.
107
+ * Failed alternative relations never classify the original schema invalid. Construction and content remain separate duties.
108
+ * @returns An authenticated paired AU predicate, a non-restriction diagnostic or sticky resource failure.
109
+ */
110
+ export declare function assessAttributeRestrictionPair(context: SemanticContext, derived: NodeId, base: NodeId): AttributeRestrictionPairResult;
@@ -1,12 +1,12 @@
1
1
  import { XSD_NAMESPACE } from '../loader/orderedSyntax.js';
2
2
  import { assertSemanticContext } from './semanticContext.js';
3
3
  import { createSchemaScalarKernel } from './schemaScalarKernel.js';
4
- import { checkTypeDerivation, checkImmediateTypeFinal } from './schemaTypeRelations.js';
5
- import { checkDeclaration } from './schemaDeclarationPrimitives.js';
4
+ import { checkTypeDerivation, checkImmediateTypeFinal, declarationMethods } from './schemaTypeRelations.js';
5
+ import { checkDeclaration, declarationValueConstraint } from './schemaDeclarationPrimitives.js';
6
6
  import { namespaceAllows, namespaceExpressible, namespaceIntersection, namespaceSubset, namespaceUnion, processContentsRestricts, wildcardNamespaces } from './wildcardAlgebra.js';
7
7
  import { declaredType, resolveSemanticType, semanticTypeKey } from './schemaTypeIdentity.js';
8
8
  import { collectSemanticTypeDependencies } from './semanticTypeDependencies.js';
9
- import { deriveOriginalComplexPropertyContent } from './complexTypeContent.js';
9
+ import { deriveOriginalComplexPropertyContent, deriveActualComplexContent } from './complexTypeContent.js';
10
10
  // Only immutable, completely evaluated local facts are retained. Context identity
11
11
  // captures active membership, raw properties and original/active operand roles;
12
12
  // shared source nodes never authorize transfer to another authentic context.
@@ -56,6 +56,45 @@ export function readRawAttributeProperties(context, ownerId) {
56
56
  export function readOriginalAttributeProperties(context, ownerId) {
57
57
  return rawResult(context, assessAttributeUses(context, ownerId, 'raw', 'original-properties'));
58
58
  }
59
+ const restrictionPairs = new WeakMap();
60
+ /** Authenticate a paired AU predicate, not the containing type's actual derivation. */
61
+ export function assertAttributeRestrictionPair(context, receipt) {
62
+ assertSemanticContext(context);
63
+ if (restrictionPairs.get(receipt) !== context)
64
+ throw new TypeError('Fresh matching attribute restriction pair required');
65
+ }
66
+ /** Check the existing AU restriction rules against an explicit alternative complex base without changing bindings.
67
+ * @remarks Only the root predicate's base/method arguments differ; TYPE/SCOPE lookups and every original node remain intact.
68
+ * Failed alternative relations never classify the original schema invalid. Construction and content remain separate duties.
69
+ * @returns An authenticated paired AU predicate, a non-restriction diagnostic or sticky resource failure.
70
+ */
71
+ export function assessAttributeRestrictionPair(context, derived, base) {
72
+ assertSemanticContext(context);
73
+ return context.budget.guard(() => {
74
+ context.budget.chargeWork(64 + derived.length + base.length);
75
+ const baseNode = context.lookup(base), derivedNode = context.lookup(derived);
76
+ if (baseNode.kind !== 'found' || baseNode.node.kind !== 'complexType' || derivedNode.kind !== 'found' || derivedNode.node.kind !== 'complexType')
77
+ return Object.freeze({ kind: 'not-attribute-restriction', failure: Object.freeze({ kind: 'unresolved', rule: 'attribute-restriction-types',
78
+ component: derived, message: 'Available complex types are required for both relation arguments' }) });
79
+ // @why The base is evaluated under its actual derivation before applying root-only relation arguments.
80
+ // Reusing the proposed root's arguments while reading the base chain would shadow that component indirectly.
81
+ const baseAssessment = context.kind === 'actual' ? assessSourceAttributeUses(context, base) : assessCandidateAttributeUses(context, base);
82
+ if (baseAssessment.kind === 'resource-limit')
83
+ return baseAssessment;
84
+ if (baseAssessment.kind !== 'checked')
85
+ return Object.freeze({ kind: 'not-attribute-restriction', failure: baseAssessment });
86
+ const result = assessAttributeUses(context, derived, 'raw', 'restriction-pair', base, baseAssessment);
87
+ if (result.kind === 'resource-limit')
88
+ return result;
89
+ if (result.kind !== 'checked')
90
+ return Object.freeze({ kind: 'not-attribute-restriction', failure: result });
91
+ context.budget.chargeWork(64);
92
+ const receipt = Object.freeze({ kind: 'checked-attribute-restriction', derived, base, assessment: result,
93
+ remaining: Object.freeze(['source-and-base-construction', 'alternative-content-derivation']) });
94
+ restrictionPairs.set(receipt, context);
95
+ return receipt;
96
+ });
97
+ }
59
98
  function rawResult(context, result) {
60
99
  return result.kind === 'invalid-schema' ? context.budget.guard(() => {
61
100
  if (result.contextId !== undefined && result.contextId === context.originalContext().contextId)
@@ -64,7 +103,7 @@ function rawResult(context, result) {
64
103
  return Object.freeze({ ...result, kind: 'candidate-rejected' });
65
104
  }) : result;
66
105
  }
67
- function assessAttributeUses(context, ownerId, role, mode = 'container') {
106
+ function assessAttributeUses(context, ownerId, role, mode = 'container', restrictionBase, restrictionBasePlan) {
68
107
  assertSemanticContext(context);
69
108
  const budget = context.budget, charge = budget.chargeWork;
70
109
  return budget.guard(() => {
@@ -170,7 +209,7 @@ function assessAttributeUses(context, ownerId, role, mode = 'container') {
170
209
  const dependencies = collectSemanticTypeDependencies(context);
171
210
  dependencies.add(checked.typeDependencies);
172
211
  unwrap(scalar.describe(declaredType(context, node), node.id), node, obligations, dependencies);
173
- const value = typed(node, node.value, node, 'declaration', obligations, dependencies);
212
+ const value = typed(node, declarationValueConstraint(context, node), node, 'declaration', obligations, dependencies);
174
213
  charge(10 + obligations.length + node.id.length);
175
214
  const fact = Object.freeze({ receipt: checked, value, scalarObligations: Object.freeze(obligations), typeDependencies: dependencies.snapshot() });
176
215
  cached.declarations.set(node.id, fact);
@@ -415,9 +454,19 @@ function assessAttributeUses(context, ownerId, role, mode = 'container') {
415
454
  let originalInput = false;
416
455
  const input = (node) => {
417
456
  const raw = context.rawTypeProperties(node.id);
418
- if (raw || mode !== 'original-container' || !context.originalComplexPropertySource(node.id))
419
- return raw;
420
- const content = deriveOriginalComplexPropertyContent(context, node.id);
457
+ if (raw) {
458
+ if (mode !== 'restriction-pair' || node.id !== ownerId)
459
+ return raw;
460
+ charge(16);
461
+ return { attributeUses: raw.attributeUses, wildcard: raw.wildcard,
462
+ derivation: { method: 'restriction', base: { kind: 'local', target: restrictionBase } } };
463
+ }
464
+ if (mode !== 'original-container' && mode !== 'restriction-pair')
465
+ return undefined;
466
+ const actualInput = mode === 'restriction-pair' && context.kind === 'actual' && context.originalComplexContentSource(node.id) !== undefined;
467
+ if (!actualInput && !context.originalComplexPropertySource(node.id))
468
+ return undefined;
469
+ const content = actualInput ? deriveActualComplexContent(context, node.id) : deriveOriginalComplexPropertyContent(context, node.id);
421
470
  if (content.kind === 'resource-limit')
422
471
  throw new AttributeAbort(content);
423
472
  if (content.kind !== 'checked')
@@ -433,10 +482,27 @@ function assessAttributeUses(context, ownerId, role, mode = 'container') {
433
482
  scalarObligations.push(Object.freeze({ ...item, contextId: item.contextId ?? actual.contextId }));
434
483
  }
435
484
  charge(5 + source.value.uses.length);
436
- return { derivation: { method: node.derivation?.kind ?? 'restriction', base: node.derivation?.base
437
- ?? { kind: 'builtin', name: { namespace: XSD_NAMESPACE, local: 'anyType' } } },
485
+ return { derivation: mode === 'restriction-pair' && node.id === ownerId
486
+ ? { method: 'restriction', base: { kind: 'local', target: restrictionBase } }
487
+ : { method: node.derivation?.kind ?? 'restriction', base: node.derivation?.base
488
+ ?? { kind: 'builtin', name: { namespace: XSD_NAMESPACE, local: 'anyType' } } },
438
489
  attributeUses: source.value.uses.map(use => use.id), wildcard: source.value.wildcard };
439
490
  };
491
+ if (mode === 'restriction-pair') {
492
+ if (!restrictionBasePlan || restrictionBasePlan.contextId !== context.contextId || restrictionBasePlan.value.owner !== restrictionBase)
493
+ return problem(root, 'attribute-restriction-base-plan', 'The alternative base needs its own checked attribute plan', 'unresolved');
494
+ charge(8 + restrictionBasePlan.scalarObligations.length + restrictionBasePlan.value.declarations.length);
495
+ typeDependencies.add(restrictionBasePlan.typeDependencies);
496
+ for (const obligation of restrictionBasePlan.scalarObligations) {
497
+ charge();
498
+ scalarObligations.push(obligation);
499
+ }
500
+ for (const receipt of restrictionBasePlan.value.declarations) {
501
+ charge(2 + receipt.component.length);
502
+ declarationEvidence.set(receipt.component, receipt);
503
+ }
504
+ plans.set(restrictionBase, restrictionBasePlan.value);
505
+ }
440
506
  charge(3);
441
507
  const stack = [root], active = new Set();
442
508
  while (stack.length) {
@@ -475,14 +541,20 @@ function assessAttributeUses(context, ownerId, role, mode = 'container') {
475
541
  local.push(mapped);
476
542
  }
477
543
  const uses = checkUses(local, node), wildcard = raw.wildcard;
478
- if (mode === 'original-container' && wildcard)
544
+ if ((mode === 'original-container' || mode === 'restriction-pair') && wildcard)
479
545
  for (const id of wildcard.sources) {
480
546
  charge();
481
547
  get(id);
482
548
  }
483
549
  if (wildcard && (!['strict', 'lax', 'skip'].includes(wildcard.processContents) || !namespaceExpressible(wildcard.namespace, charge)))
484
550
  return problem(node, 'cos-aw-union/intersect', 'Literal wildcard has invalid component properties');
485
- if (!unwrap(checkImmediateTypeFinal(context, { kind: 'local', target: node.id }), node))
551
+ if (mode === 'restriction-pair' && node.id === ownerId) {
552
+ if (!baseNode || baseNode.kind !== 'complexType')
553
+ return problem(node, 'attribute-restriction-base', 'Alternative base must be complex', 'unresolved');
554
+ if (declarationMethods(context, baseNode, 'final').includes('restriction'))
555
+ return problem(node, 'derivation-ok-restriction.1', 'Alternative base prohibits restriction');
556
+ }
557
+ else if (!unwrap(checkImmediateTypeFinal(context, { kind: 'local', target: node.id }), node))
486
558
  return problem(node, 'cos-ct-extends/derivation-ok-restriction', 'Base final excludes derivation');
487
559
  if (raw.derivation.method === 'extension') {
488
560
  for (const original of base?.uses ?? []) {
@@ -574,7 +646,8 @@ function assessAttributeUses(context, ownerId, role, mode = 'container') {
574
646
  }
575
647
  charge(10 + scalarObligations.length);
576
648
  return Object.freeze({ kind: 'checked', contextId: context.contextId,
577
- authority: originalInput ? 'AU01-C1-original-construction-v1' : 'AU01-C1-raw-v2',
649
+ authority: mode === 'restriction-pair' ? 'AU01-C1-restriction-pair-v1'
650
+ : originalInput ? 'AU01-C1-original-construction-v1' : 'AU01-C1-raw-v2',
578
651
  value: plans.get(root.id), obligations: Object.freeze(['aggregate-type-validity', 'raw-type-property-correspondence']), scalarObligations: Object.freeze(scalarObligations), typeDependencies: typeDependencies.snapshot() });
579
652
  }
580
653
  const dependencies = (node) => {
@@ -7,4 +7,3 @@ export declare function reconstructBinaryWords<Owner>(c: SchemaPatternContext<Ow
7
7
  core: string;
8
8
  words: readonly string[];
9
9
  }> | undefined;
10
- //# sourceMappingURL=schemaBinaryWordReconstruction.d.ts.map
@@ -11,4 +11,3 @@ export type IntrinsicFacetProperties = Readonly<{
11
11
  }>;
12
12
  export declare const LIST_CONSTRUCTOR_FACETS: IntrinsicFacetProperties;
13
13
  export declare function schemaBuiltinFacetProperties<Owner>(name: string, owner: Owner, c: Pick<SchemaValueContext<Owner>, 'step' | 'text'>): IntrinsicFacetProperties;
14
- //# sourceMappingURL=schemaBuiltinFacets.d.ts.map
@@ -5,4 +5,3 @@ import type { SchemaPatternContext } from './schemaValueContext.js';
5
5
  export declare function schemaCalendarImages<Owner>(c: SchemaPatternContext<Owner>, regular: ReturnType<typeof schemaRegularLanguages<Owner>>, expression: (text: string, owner: Owner) => RegularLanguage): {
6
6
  image: (source: RegularLanguage, family: CalendarFamily, owner: Owner) => RegularLanguage;
7
7
  };
8
- //# sourceMappingURL=schemaCalendarImages.d.ts.map
@@ -8,4 +8,3 @@ export declare function schemaCalendarLanguages<Owner>(c: SchemaPatternContext<O
8
8
  valid: (family: CalendarFamily, owner: Owner) => RegularLanguage;
9
9
  year: (leap: boolean, owner: Owner) => RegularLanguage;
10
10
  };
11
- //# sourceMappingURL=schemaCalendarLanguage.d.ts.map
@@ -232,4 +232,3 @@ export type CompiledCatalog = {
232
232
  * portType reference, then enumerate operations and their soapAction URIs.
233
233
  */
234
234
  export declare function compileCatalog(cat: WsdlCatalog, options: CompilerOptions, streamConfig?: StreamConfig): CompiledCatalog;
235
- //# sourceMappingURL=schemaCompiler.d.ts.map