@techspokes/typescript-wsdl-client 1.1.4 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/README.md +49 -1
  2. package/dist/app/generateApp.d.ts.map +1 -1
  3. package/dist/app/generateApp.js +8 -6
  4. package/dist/cli.js +49 -5
  5. package/dist/client/checkedDirectRuntime.d.ts +59 -0
  6. package/dist/client/checkedDirectRuntime.d.ts.map +1 -0
  7. package/dist/client/checkedDirectRuntime.js +23 -0
  8. package/dist/client/directClientRuntime.d.ts +49 -0
  9. package/dist/client/directClientRuntime.d.ts.map +1 -0
  10. package/dist/client/directClientRuntime.js +112 -0
  11. package/dist/client/directClientVersion.d.ts +4 -0
  12. package/dist/client/directClientVersion.d.ts.map +1 -0
  13. package/dist/client/directClientVersion.js +3 -0
  14. package/dist/client/generateDirectClient.d.ts +14 -0
  15. package/dist/client/generateDirectClient.d.ts.map +1 -0
  16. package/dist/client/generateDirectClient.js +136 -0
  17. package/dist/compiler/buildCanonicalGraph.d.ts +7 -0
  18. package/dist/compiler/buildCanonicalGraph.d.ts.map +1 -0
  19. package/dist/compiler/buildCanonicalGraph.js +381 -0
  20. package/dist/compiler/canonicalGraph.d.ts +198 -0
  21. package/dist/compiler/canonicalGraph.d.ts.map +1 -0
  22. package/dist/compiler/canonicalGraph.js +37 -0
  23. package/dist/compiler/catalogErrors.d.ts +18 -0
  24. package/dist/compiler/catalogErrors.d.ts.map +1 -0
  25. package/dist/compiler/catalogErrors.js +86 -0
  26. package/dist/compiler/catalogProvenance.d.ts +15 -0
  27. package/dist/compiler/catalogProvenance.d.ts.map +1 -0
  28. package/dist/compiler/catalogProvenance.js +229 -0
  29. package/dist/compiler/checkedAssessment.d.ts +91 -0
  30. package/dist/compiler/checkedAssessment.d.ts.map +1 -0
  31. package/dist/compiler/checkedAssessment.js +300 -0
  32. package/dist/compiler/checkedSourcePreparation.d.ts +35 -0
  33. package/dist/compiler/checkedSourcePreparation.d.ts.map +1 -0
  34. package/dist/compiler/checkedSourcePreparation.js +131 -0
  35. package/dist/compiler/complexTypeContent.d.ts +59 -0
  36. package/dist/compiler/complexTypeContent.d.ts.map +1 -0
  37. package/dist/compiler/complexTypeContent.js +558 -0
  38. package/dist/compiler/composeCanonicalGraph.d.ts +69 -0
  39. package/dist/compiler/composeCanonicalGraph.d.ts.map +1 -0
  40. package/dist/compiler/composeCanonicalGraph.js +252 -0
  41. package/dist/compiler/dataOwnership.d.ts +22 -0
  42. package/dist/compiler/dataOwnership.d.ts.map +1 -0
  43. package/dist/compiler/dataOwnership.js +157 -0
  44. package/dist/compiler/datatypeValues.d.ts +47 -0
  45. package/dist/compiler/datatypeValues.d.ts.map +1 -0
  46. package/dist/compiler/datatypeValues.js +275 -0
  47. package/dist/compiler/directCodec.d.ts +59 -0
  48. package/dist/compiler/directCodec.d.ts.map +1 -0
  49. package/dist/compiler/directCodec.js +192 -0
  50. package/dist/compiler/directExecutionPolicy.d.ts +10 -0
  51. package/dist/compiler/directExecutionPolicy.d.ts.map +1 -0
  52. package/dist/compiler/directExecutionPolicy.js +17 -0
  53. package/dist/compiler/directOperation.d.ts +72 -0
  54. package/dist/compiler/directOperation.d.ts.map +1 -0
  55. package/dist/compiler/directOperation.js +282 -0
  56. package/dist/compiler/directSoap.d.ts +42 -0
  57. package/dist/compiler/directSoap.d.ts.map +1 -0
  58. package/dist/compiler/directSoap.js +298 -0
  59. package/dist/compiler/directSoapSource.d.ts +15 -0
  60. package/dist/compiler/directSoapSource.d.ts.map +1 -0
  61. package/dist/compiler/directSoapSource.js +86 -0
  62. package/dist/compiler/directSourceCapsule.d.ts +97 -0
  63. package/dist/compiler/directSourceCapsule.d.ts.map +1 -0
  64. package/dist/compiler/directSourceCapsule.js +305 -0
  65. package/dist/compiler/directStructure.d.ts +51 -0
  66. package/dist/compiler/directStructure.d.ts.map +1 -0
  67. package/dist/compiler/directStructure.js +252 -0
  68. package/dist/compiler/directStructurePlan.d.ts +16 -0
  69. package/dist/compiler/directStructurePlan.d.ts.map +1 -0
  70. package/dist/compiler/directStructurePlan.js +58 -0
  71. package/dist/compiler/directValues.d.ts +69 -0
  72. package/dist/compiler/directValues.d.ts.map +1 -0
  73. package/dist/compiler/directValues.js +282 -0
  74. package/dist/compiler/finiteRe01Verification.d.ts +140 -0
  75. package/dist/compiler/finiteRe01Verification.d.ts.map +1 -0
  76. package/dist/compiler/finiteRe01Verification.js +830 -0
  77. package/dist/compiler/graphTraversal.d.ts +11 -0
  78. package/dist/compiler/graphTraversal.d.ts.map +1 -0
  79. package/dist/compiler/graphTraversal.js +37 -0
  80. package/dist/compiler/hypotheticalScopedIdentity.d.ts +23 -0
  81. package/dist/compiler/hypotheticalScopedIdentity.d.ts.map +1 -0
  82. package/dist/compiler/hypotheticalScopedIdentity.js +81 -0
  83. package/dist/compiler/occurrenceAnalysis.d.ts +65 -0
  84. package/dist/compiler/occurrenceAnalysis.d.ts.map +1 -0
  85. package/dist/compiler/occurrenceAnalysis.js +300 -0
  86. package/dist/compiler/originalSourceMembership.d.ts +6 -0
  87. package/dist/compiler/originalSourceMembership.d.ts.map +1 -0
  88. package/dist/compiler/originalSourceMembership.js +31 -0
  89. package/dist/compiler/particleAttribution.d.ts +17 -0
  90. package/dist/compiler/particleAttribution.d.ts.map +1 -0
  91. package/dist/compiler/particleAttribution.js +474 -0
  92. package/dist/compiler/particleDeclarationConsistency.d.ts +24 -0
  93. package/dist/compiler/particleDeclarationConsistency.d.ts.map +1 -0
  94. package/dist/compiler/particleDeclarationConsistency.js +197 -0
  95. package/dist/compiler/particleExtension.d.ts +22 -0
  96. package/dist/compiler/particleExtension.d.ts.map +1 -0
  97. package/dist/compiler/particleExtension.js +119 -0
  98. package/dist/compiler/particleLocalAssessment.d.ts +20 -0
  99. package/dist/compiler/particleLocalAssessment.d.ts.map +1 -0
  100. package/dist/compiler/particleLocalAssessment.js +92 -0
  101. package/dist/compiler/particleRestriction.d.ts +24 -0
  102. package/dist/compiler/particleRestriction.d.ts.map +1 -0
  103. package/dist/compiler/particleRestriction.js +489 -0
  104. package/dist/compiler/particleSemanticView.d.ts +50 -0
  105. package/dist/compiler/particleSemanticView.d.ts.map +1 -0
  106. package/dist/compiler/particleSemanticView.js +297 -0
  107. package/dist/compiler/particleWildcardRelation.d.ts +88 -0
  108. package/dist/compiler/particleWildcardRelation.d.ts.map +1 -0
  109. package/dist/compiler/particleWildcardRelation.js +143 -0
  110. package/dist/compiler/re01CandidateCorrespondence.d.ts +64 -0
  111. package/dist/compiler/re01CandidateCorrespondence.d.ts.map +1 -0
  112. package/dist/compiler/re01CandidateCorrespondence.js +572 -0
  113. package/dist/compiler/re01TypeProperties.d.ts +71 -0
  114. package/dist/compiler/re01TypeProperties.d.ts.map +1 -0
  115. package/dist/compiler/re01TypeProperties.js +120 -0
  116. package/dist/compiler/re01TypePropertyValidation.d.ts +23 -0
  117. package/dist/compiler/re01TypePropertyValidation.d.ts.map +1 -0
  118. package/dist/compiler/re01TypePropertyValidation.js +161 -0
  119. package/dist/compiler/resolveCanonicalGraph.d.ts +38 -0
  120. package/dist/compiler/resolveCanonicalGraph.d.ts.map +1 -0
  121. package/dist/compiler/resolveCanonicalGraph.js +170 -0
  122. package/dist/compiler/scalarSchemaAssessment.d.ts +425 -0
  123. package/dist/compiler/scalarSchemaAssessment.d.ts.map +1 -0
  124. package/dist/compiler/scalarSchemaAssessment.js +5198 -0
  125. package/dist/compiler/schemaAttributeGroupProperties.d.ts +17 -0
  126. package/dist/compiler/schemaAttributeGroupProperties.d.ts.map +1 -0
  127. package/dist/compiler/schemaAttributeGroupProperties.js +53 -0
  128. package/dist/compiler/schemaAttributeProperties.d.ts +10 -0
  129. package/dist/compiler/schemaAttributeProperties.d.ts.map +1 -0
  130. package/dist/compiler/schemaAttributeProperties.js +11 -0
  131. package/dist/compiler/schemaAttributeUses.d.ts +90 -0
  132. package/dist/compiler/schemaAttributeUses.d.ts.map +1 -0
  133. package/dist/compiler/schemaAttributeUses.js +725 -0
  134. package/dist/compiler/schemaBinaryWordReconstruction.d.ts +10 -0
  135. package/dist/compiler/schemaBinaryWordReconstruction.d.ts.map +1 -0
  136. package/dist/compiler/schemaBinaryWordReconstruction.js +33 -0
  137. package/dist/compiler/schemaBuiltinFacets.d.ts +14 -0
  138. package/dist/compiler/schemaBuiltinFacets.d.ts.map +1 -0
  139. package/dist/compiler/schemaBuiltinFacets.js +51 -0
  140. package/dist/compiler/schemaCalendarImages.d.ts +8 -0
  141. package/dist/compiler/schemaCalendarImages.d.ts.map +1 -0
  142. package/dist/compiler/schemaCalendarImages.js +204 -0
  143. package/dist/compiler/schemaCalendarLanguage.d.ts +11 -0
  144. package/dist/compiler/schemaCalendarLanguage.d.ts.map +1 -0
  145. package/dist/compiler/schemaCalendarLanguage.js +227 -0
  146. package/dist/compiler/schemaComponentEquality.d.ts +28 -0
  147. package/dist/compiler/schemaComponentEquality.d.ts.map +1 -0
  148. package/dist/compiler/schemaComponentEquality.js +446 -0
  149. package/dist/compiler/schemaConstructionAssessment.d.ts +46 -0
  150. package/dist/compiler/schemaConstructionAssessment.d.ts.map +1 -0
  151. package/dist/compiler/schemaConstructionAssessment.js +663 -0
  152. package/dist/compiler/schemaDatatypeValues.d.ts +4 -0
  153. package/dist/compiler/schemaDatatypeValues.d.ts.map +1 -0
  154. package/dist/compiler/schemaDatatypeValues.js +2 -0
  155. package/dist/compiler/schemaDecimalLanguage.d.ts +7 -0
  156. package/dist/compiler/schemaDecimalLanguage.d.ts.map +1 -0
  157. package/dist/compiler/schemaDecimalLanguage.js +102 -0
  158. package/dist/compiler/schemaDeclarationPrimitives.d.ts +34 -0
  159. package/dist/compiler/schemaDeclarationPrimitives.d.ts.map +1 -0
  160. package/dist/compiler/schemaDeclarationPrimitives.js +194 -0
  161. package/dist/compiler/schemaDocumentSyntax.d.ts +55 -0
  162. package/dist/compiler/schemaDocumentSyntax.d.ts.map +1 -0
  163. package/dist/compiler/schemaDocumentSyntax.js +294 -0
  164. package/dist/compiler/schemaDurationLanguage.d.ts +11 -0
  165. package/dist/compiler/schemaDurationLanguage.d.ts.map +1 -0
  166. package/dist/compiler/schemaDurationLanguage.js +170 -0
  167. package/dist/compiler/schemaElementProperties.d.ts +16 -0
  168. package/dist/compiler/schemaElementProperties.d.ts.map +1 -0
  169. package/dist/compiler/schemaElementProperties.js +23 -0
  170. package/dist/compiler/schemaEndpointWordCapacity.d.ts +36 -0
  171. package/dist/compiler/schemaEndpointWordCapacity.d.ts.map +1 -0
  172. package/dist/compiler/schemaEndpointWordCapacity.js +39 -0
  173. package/dist/compiler/schemaExactCalendar.d.ts +73 -0
  174. package/dist/compiler/schemaExactCalendar.d.ts.map +1 -0
  175. package/dist/compiler/schemaExactCalendar.js +264 -0
  176. package/dist/compiler/schemaFacetAnnotation.d.ts +32 -0
  177. package/dist/compiler/schemaFacetAnnotation.d.ts.map +1 -0
  178. package/dist/compiler/schemaFacetAnnotation.js +199 -0
  179. package/dist/compiler/schemaGeneratedScalarShape.d.ts +35 -0
  180. package/dist/compiler/schemaGeneratedScalarShape.d.ts.map +1 -0
  181. package/dist/compiler/schemaGeneratedScalarShape.js +176 -0
  182. package/dist/compiler/schemaIdentityConstraints.d.ts +73 -0
  183. package/dist/compiler/schemaIdentityConstraints.d.ts.map +1 -0
  184. package/dist/compiler/schemaIdentityConstraints.js +362 -0
  185. package/dist/compiler/schemaIeeeLanguage.d.ts +43 -0
  186. package/dist/compiler/schemaIeeeLanguage.d.ts.map +1 -0
  187. package/dist/compiler/schemaIeeeLanguage.js +759 -0
  188. package/dist/compiler/schemaIntegerImages.d.ts +11 -0
  189. package/dist/compiler/schemaIntegerImages.d.ts.map +1 -0
  190. package/dist/compiler/schemaIntegerImages.js +113 -0
  191. package/dist/compiler/schemaLexicalPredicates.d.ts +29 -0
  192. package/dist/compiler/schemaLexicalPredicates.d.ts.map +1 -0
  193. package/dist/compiler/schemaLexicalPredicates.js +63 -0
  194. package/dist/compiler/schemaNotationProperties.d.ts +32 -0
  195. package/dist/compiler/schemaNotationProperties.d.ts.map +1 -0
  196. package/dist/compiler/schemaNotationProperties.js +84 -0
  197. package/dist/compiler/schemaNumericImageConditions.d.ts +24 -0
  198. package/dist/compiler/schemaNumericImageConditions.d.ts.map +1 -0
  199. package/dist/compiler/schemaNumericImageConditions.js +66 -0
  200. package/dist/compiler/schemaParticleWildcardProperties.d.ts +20 -0
  201. package/dist/compiler/schemaParticleWildcardProperties.d.ts.map +1 -0
  202. package/dist/compiler/schemaParticleWildcardProperties.js +43 -0
  203. package/dist/compiler/schemaPattern.d.ts +1062 -0
  204. package/dist/compiler/schemaPattern.d.ts.map +1 -0
  205. package/dist/compiler/schemaPattern.js +581 -0
  206. package/dist/compiler/schemaRegularLanguage.d.ts +67 -0
  207. package/dist/compiler/schemaRegularLanguage.d.ts.map +1 -0
  208. package/dist/compiler/schemaRegularLanguage.js +1166 -0
  209. package/dist/compiler/schemaScalarContext.d.ts +81 -0
  210. package/dist/compiler/schemaScalarContext.d.ts.map +1 -0
  211. package/dist/compiler/schemaScalarContext.js +78 -0
  212. package/dist/compiler/schemaScalarKernel.d.ts +182 -0
  213. package/dist/compiler/schemaScalarKernel.d.ts.map +1 -0
  214. package/dist/compiler/schemaScalarKernel.js +391 -0
  215. package/dist/compiler/schemaScalarWitnesses.d.ts +6 -0
  216. package/dist/compiler/schemaScalarWitnesses.d.ts.map +1 -0
  217. package/dist/compiler/schemaScalarWitnesses.js +118 -0
  218. package/dist/compiler/schemaSimpleTypeProperties.d.ts +95 -0
  219. package/dist/compiler/schemaSimpleTypeProperties.d.ts.map +1 -0
  220. package/dist/compiler/schemaSimpleTypeProperties.js +103 -0
  221. package/dist/compiler/schemaSourceGrammar.d.ts +27 -0
  222. package/dist/compiler/schemaSourceGrammar.d.ts.map +1 -0
  223. package/dist/compiler/schemaSourceGrammar.js +290 -0
  224. package/dist/compiler/schemaSourceLexical.d.ts +4 -0
  225. package/dist/compiler/schemaSourceLexical.d.ts.map +1 -0
  226. package/dist/compiler/schemaSourceLexical.js +12 -0
  227. package/dist/compiler/schemaSourceValues.d.ts +51 -0
  228. package/dist/compiler/schemaSourceValues.d.ts.map +1 -0
  229. package/dist/compiler/schemaSourceValues.js +225 -0
  230. package/dist/compiler/schemaSourceWildcards.d.ts +28 -0
  231. package/dist/compiler/schemaSourceWildcards.d.ts.map +1 -0
  232. package/dist/compiler/schemaSourceWildcards.js +247 -0
  233. package/dist/compiler/schemaSymbolicSequences.d.ts +16 -0
  234. package/dist/compiler/schemaSymbolicSequences.d.ts.map +1 -0
  235. package/dist/compiler/schemaSymbolicSequences.js +99 -0
  236. package/dist/compiler/schemaSymbolicValueSets.d.ts +32 -0
  237. package/dist/compiler/schemaSymbolicValueSets.d.ts.map +1 -0
  238. package/dist/compiler/schemaSymbolicValueSets.js +149 -0
  239. package/dist/compiler/schemaSyntaxAssessment.d.ts +25 -0
  240. package/dist/compiler/schemaSyntaxAssessment.d.ts.map +1 -0
  241. package/dist/compiler/schemaSyntaxAssessment.js +361 -0
  242. package/dist/compiler/schemaTemporalAliases.d.ts +6 -0
  243. package/dist/compiler/schemaTemporalAliases.d.ts.map +1 -0
  244. package/dist/compiler/schemaTemporalAliases.js +195 -0
  245. package/dist/compiler/schemaTokenImages.d.ts +9 -0
  246. package/dist/compiler/schemaTokenImages.d.ts.map +1 -0
  247. package/dist/compiler/schemaTokenImages.js +142 -0
  248. package/dist/compiler/schemaTypeIdentity.d.ts +39 -0
  249. package/dist/compiler/schemaTypeIdentity.d.ts.map +1 -0
  250. package/dist/compiler/schemaTypeIdentity.js +78 -0
  251. package/dist/compiler/schemaTypeRelations.d.ts +38 -0
  252. package/dist/compiler/schemaTypeRelations.d.ts.map +1 -0
  253. package/dist/compiler/schemaTypeRelations.js +576 -0
  254. package/dist/compiler/schemaUri.d.ts +13 -0
  255. package/dist/compiler/schemaUri.d.ts.map +1 -0
  256. package/dist/compiler/schemaUri.js +103 -0
  257. package/dist/compiler/schemaValueContext.d.ts +26 -0
  258. package/dist/compiler/schemaValueContext.d.ts.map +1 -0
  259. package/dist/compiler/schemaValueContext.js +1 -0
  260. package/dist/compiler/schemaValueImages.d.ts +10 -0
  261. package/dist/compiler/schemaValueImages.d.ts.map +1 -0
  262. package/dist/compiler/schemaValueImages.js +142 -0
  263. package/dist/compiler/schemaValueSequences.d.ts +15 -0
  264. package/dist/compiler/schemaValueSequences.d.ts.map +1 -0
  265. package/dist/compiler/schemaValueSequences.js +19 -0
  266. package/dist/compiler/semanticBudget.d.ts +50 -0
  267. package/dist/compiler/semanticBudget.d.ts.map +1 -0
  268. package/dist/compiler/semanticBudget.js +178 -0
  269. package/dist/compiler/semanticCatalog.d.ts +122 -0
  270. package/dist/compiler/semanticCatalog.d.ts.map +1 -0
  271. package/dist/compiler/semanticCatalog.js +160 -0
  272. package/dist/compiler/semanticContext.d.ts +172 -0
  273. package/dist/compiler/semanticContext.d.ts.map +1 -0
  274. package/dist/compiler/semanticContext.js +1168 -0
  275. package/dist/compiler/semanticTypeDependencies.d.ts +8 -0
  276. package/dist/compiler/semanticTypeDependencies.d.ts.map +1 -0
  277. package/dist/compiler/semanticTypeDependencies.js +64 -0
  278. package/dist/compiler/semanticTypeReference.d.ts +24 -0
  279. package/dist/compiler/semanticTypeReference.d.ts.map +1 -0
  280. package/dist/compiler/semanticTypeReference.js +36 -0
  281. package/dist/compiler/shapeResolver.d.ts +1 -0
  282. package/dist/compiler/shapeResolver.d.ts.map +1 -1
  283. package/dist/compiler/shapeResolver.js +7 -9
  284. package/dist/compiler/sourceSchemaBinding.d.ts +26 -0
  285. package/dist/compiler/sourceSchemaBinding.d.ts.map +1 -0
  286. package/dist/compiler/sourceSchemaBinding.js +39 -0
  287. package/dist/compiler/structuralCompanions.d.ts +16 -0
  288. package/dist/compiler/structuralCompanions.d.ts.map +1 -0
  289. package/dist/compiler/structuralCompanions.js +232 -0
  290. package/dist/compiler/validateSemanticGraph.d.ts +5 -0
  291. package/dist/compiler/validateSemanticGraph.d.ts.map +1 -0
  292. package/dist/compiler/validateSemanticGraph.js +376 -0
  293. package/dist/compiler/wildcardAlgebra.d.ts +26 -0
  294. package/dist/compiler/wildcardAlgebra.d.ts.map +1 -0
  295. package/dist/compiler/wildcardAlgebra.js +155 -0
  296. package/dist/gateway/generateGateway.d.ts.map +1 -1
  297. package/dist/gateway/generateGateway.js +2 -2
  298. package/dist/index.d.ts +3 -0
  299. package/dist/index.d.ts.map +1 -1
  300. package/dist/index.js +2 -0
  301. package/dist/loader/orderedSyntax.d.ts +77 -0
  302. package/dist/loader/orderedSyntax.d.ts.map +1 -0
  303. package/dist/loader/orderedSyntax.js +202 -0
  304. package/dist/loader/resolutionDepth.d.ts +7 -0
  305. package/dist/loader/resolutionDepth.d.ts.map +1 -0
  306. package/dist/loader/resolutionDepth.js +65 -0
  307. package/dist/loader/schemaInput.d.ts +53 -0
  308. package/dist/loader/schemaInput.d.ts.map +1 -0
  309. package/dist/loader/schemaInput.js +212 -0
  310. package/dist/loader/schemaResources.d.ts +59 -0
  311. package/dist/loader/schemaResources.d.ts.map +1 -0
  312. package/dist/loader/schemaResources.js +292 -0
  313. package/dist/openapi/generateOpenAPI.d.ts.map +1 -1
  314. package/dist/openapi/generateOpenAPI.js +2 -2
  315. package/dist/test/generateTests.d.ts.map +1 -1
  316. package/dist/test/generateTests.js +2 -2
  317. package/dist/util/xmlWhitespace.d.ts +3 -0
  318. package/dist/util/xmlWhitespace.d.ts.map +1 -0
  319. package/dist/util/xmlWhitespace.js +4 -0
  320. package/docs/README.md +14 -1
  321. package/docs/architecture.md +9 -0
  322. package/docs/cli-reference.md +21 -1
  323. package/docs/content-model-analysis.md +92 -0
  324. package/docs/content-model-baseline.md +121 -0
  325. package/docs/content-model-catalog.md +116 -0
  326. package/docs/content-model-companions.md +90 -0
  327. package/docs/content-model-composition.md +103 -0
  328. package/docs/content-model-decisions.md +79 -0
  329. package/docs/content-model-gateway-feasibility.md +169 -0
  330. package/docs/content-model-graph.md +121 -0
  331. package/docs/content-model-loading.md +163 -0
  332. package/docs/content-model-matching.md +85 -0
  333. package/docs/content-model-readiness.md +144 -0
  334. package/docs/content-model-resolution.md +81 -0
  335. package/docs/content-model-s02-handoff.md +98 -0
  336. package/docs/content-model-s06-au-01.md +425 -0
  337. package/docs/content-model-s06-dt-01.md +386 -0
  338. package/docs/content-model-s06-pw-01.md +350 -0
  339. package/docs/content-model-s06-re-01-resolver-implementation.md +869 -0
  340. package/docs/content-model-s06-re-01-resolver.md +513 -0
  341. package/docs/content-model-s06-re-01-scalar-witnesses.md +1423 -0
  342. package/docs/content-model-s06-re-01-support-reconstruction.md +6337 -0
  343. package/docs/content-model-s06-re-01.md +7477 -0
  344. package/docs/content-model-s06-research-handoff.md +909 -0
  345. package/docs/content-model-shipped-fix.md +83 -0
  346. package/docs/content-model-soap-feasibility.md +165 -0
  347. package/docs/decisions/002-streamable-responses.md +2 -0
  348. package/docs/decisions/003-content-model-contracts.md +280 -0
  349. package/docs/direct-values.md +311 -0
  350. package/docs/reference-validation.md +243 -0
  351. package/docs/releases/v1.1.5.md +38 -0
  352. package/docs/roadmap/README.md +2 -2
  353. package/docs/supported-patterns.md +13 -5
  354. package/package.json +26 -13
  355. package/src/generation/preambles/direct-client/typescript.preamble +3 -0
@@ -0,0 +1,558 @@
1
+ /** Concrete effective-content mapping, separate from source and raw component validity. */
2
+ import { privateParticleId } from './hypotheticalScopedIdentity.js';
3
+ import { assertSemanticContext, graphForSemanticContext, storedIdentityOccupant } from './semanticContext.js';
4
+ const authorities = new WeakMap();
5
+ const generatedNodes = new WeakMap();
6
+ const actualCaches = new WeakMap();
7
+ const candidateCaches = new WeakMap();
8
+ const originalPropertyCaches = new WeakMap();
9
+ const originalParticles = new WeakMap();
10
+ const originalParticleCaches = new WeakMap();
11
+ const originalRawViews = new WeakSet();
12
+ const originalUrWildcards = new WeakMap();
13
+ const originalUrCaches = new WeakMap();
14
+ const ONE = Object.freeze({ min: '1', max: '1' });
15
+ const OPTIONAL_MANY = Object.freeze({ min: '0', max: 'unbounded' });
16
+ const EMPTY = Object.freeze({ kind: 'empty' });
17
+ const NONE = Object.freeze([]);
18
+ class MappingFailure extends Error {
19
+ result;
20
+ constructor(result) {
21
+ super(result.message);
22
+ this.result = result;
23
+ }
24
+ }
25
+ export function assertParticleContentView(context, view) {
26
+ assertSemanticContext(context);
27
+ if (authorities.get(view) !== context)
28
+ throw new TypeError('Unauthenticated or foreign particle content view');
29
+ }
30
+ /** Constant-time authenticated semantic lookup, without a whole-graph projection. */
31
+ export function particleContentNode(context, view, id) {
32
+ assertParticleContentView(context, view);
33
+ context.budget.chargeWork(2 + id.length);
34
+ const generated = generatedNodes.get(view).get(id);
35
+ if (generated)
36
+ return generated;
37
+ const actual = context.lookup(id);
38
+ return actual.kind === 'found' ? actual.node : undefined;
39
+ }
40
+ function issueContentView(context, fields, additions) {
41
+ const budget = context.budget;
42
+ budget.chargeWork(18 + additions.length * 2);
43
+ const generated = new Map();
44
+ for (const node of additions) {
45
+ budget.chargeWork(2 + node.id.length);
46
+ generated.set(node.id, node);
47
+ }
48
+ const borrowed = context.originalUrWildcards();
49
+ if (borrowed.length) {
50
+ budget.chargeWork(8 + fields.synthetic.length + fields.urTypeWildcards.length + borrowed.length * 3);
51
+ const synthetic = new Set(fields.synthetic), markers = new Set(fields.urTypeWildcards);
52
+ for (const handle of borrowed) {
53
+ const node = originalUrWildcardSource(context.originalContext(), handle), prior = generated.get(node.id);
54
+ if (node.term.kind !== 'any')
55
+ throw new TypeError('Invalid original UR wildcard backing');
56
+ if (prior && (prior.kind !== 'particle' || prior.term.kind !== 'any' || prior.id !== node.id
57
+ || prior.identity.kind !== 'scoped' || node.identity.kind !== 'scoped'
58
+ || prior.identity.owner !== node.identity.owner || prior.identity.path !== node.identity.path || prior.identity.role !== node.identity.role
59
+ || prior.occurs.min !== node.occurs.min || prior.occurs.max !== node.occurs.max
60
+ || prior.term.wildcard.namespace.value !== '##any' || prior.term.wildcard.processContents !== 'lax'
61
+ || prior.context !== node.context || prior.term.wildcard.namespace.context !== node.term.wildcard.namespace.context))
62
+ throw new TypeError('Conflicting original UR wildcard backing');
63
+ generated.set(node.id, node);
64
+ synthetic.add(node.id);
65
+ markers.add(node.id);
66
+ }
67
+ fields = { ...fields, synthetic: Object.freeze([...synthetic]), urTypeWildcards: Object.freeze([...markers]) };
68
+ }
69
+ let projection;
70
+ const view = Object.freeze({ ...fields, get graph() {
71
+ budget.chargeWork();
72
+ if (projection)
73
+ return projection;
74
+ const source = graphForSemanticContext(context);
75
+ if (!generated.size)
76
+ return projection = source;
77
+ budget.chargeWork(12 + source.nodes.length + generated.size);
78
+ projection = Object.freeze({ ...source, nodes: Object.freeze([...source.nodes, ...generated.values()]) });
79
+ return projection;
80
+ } });
81
+ authorities.set(view, context);
82
+ generatedNodes.set(view, generated);
83
+ return view;
84
+ }
85
+ /** Source mapping is meaningful only in the actual source context. */
86
+ export function deriveActualComplexContent(context, type) {
87
+ assertSemanticContext(context);
88
+ const budget = context.budget;
89
+ return budget.guard(() => {
90
+ const fail = (component, message) => {
91
+ budget.chargeWork(8 + component.length + message.length);
92
+ throw new MappingFailure(Object.freeze({ kind: 'unresolved', rule: 'effective-complex-content', component, message }));
93
+ };
94
+ try {
95
+ budget.chargeWork(10 + type.length);
96
+ if (context.kind !== 'actual')
97
+ return fail(type, 'Actual-source content mapping requires the actual context');
98
+ let cache = actualCaches.get(context);
99
+ if (!cache) {
100
+ budget.chargeWork(2);
101
+ cache = new Map();
102
+ actualCaches.set(context, cache);
103
+ }
104
+ const cached = cache.get(type);
105
+ if (cached) {
106
+ budget.chargeWork(3);
107
+ return Object.freeze({ kind: 'checked', view: cached });
108
+ }
109
+ budget.chargeWork(8);
110
+ const mapped = new Map(), active = new Set();
111
+ const additions = [], urTypeWildcards = [];
112
+ const get = (id) => {
113
+ const found = context.lookup(id);
114
+ return found.kind === 'found' ? found.node : fail(id, `Required component is ${found.kind}`);
115
+ };
116
+ const complex = (id) => {
117
+ const node = get(id);
118
+ return node.kind === 'complexType' ? node : fail(id, 'Content mapping requires a complex type');
119
+ };
120
+ const synthetic = (owner, term, occurs = ONE) => {
121
+ budget.reserveNodes(1);
122
+ const path = `$semantic-content/${context.contextId}/${additions.length}`;
123
+ const identity = Object.freeze({ kind: 'scoped', owner: owner.id, path, role: 'particle' });
124
+ const id = privateParticleId('effective', owner.id, path, 'particle', budget.chargeWork);
125
+ if (context.lookup(id).kind === 'found')
126
+ return fail(id, 'Synthetic semantic identity collision');
127
+ const occupied = storedIdentityOccupant(context, identity);
128
+ if (occupied !== undefined && context.lookup(occupied).kind === 'found')
129
+ return fail(id, 'Synthetic semantic tuple collision');
130
+ budget.chargeWork(16 + id.length);
131
+ additions.push(Object.freeze({ id, identity, kind: 'particle', occurs, term, context: owner.context,
132
+ declaredAttributes: NONE, annotations: NONE, retained: NONE, syntaxDetails: NONE }));
133
+ return id;
134
+ };
135
+ const sequence = (owner, children) => {
136
+ budget.chargeWork(4 + children.length);
137
+ return synthetic(owner, Object.freeze({ kind: 'sequence', children: Object.freeze([...children]) }));
138
+ };
139
+ const particleContent = (node, particle) => {
140
+ budget.chargeWork(4);
141
+ return Object.freeze({ kind: node.mixed ? 'mixed' : 'element-only', particle });
142
+ };
143
+ const local = (node) => {
144
+ if (!node.content)
145
+ return node.mixed ? particleContent(node, sequence(node, NONE)) : EMPTY;
146
+ const particle = get(node.content);
147
+ if (particle.kind !== 'particle')
148
+ return fail(node.id, 'Declared content is not a particle');
149
+ budget.chargeWork(4 + particle.occurs.min.length + particle.occurs.max.length);
150
+ const absent = particle.occurs.max === '0' || 'children' in particle.term && particle.term.children.length === 0
151
+ && (particle.term.kind !== 'choice' || particle.occurs.min === '0');
152
+ if (absent)
153
+ return node.mixed ? particleContent(node, sequence(node, NONE)) : EMPTY;
154
+ return particleContent(node, particle.id);
155
+ };
156
+ const builtin = (owner, reference) => {
157
+ if (reference.kind !== 'builtin' || reference.name.local !== 'anyType')
158
+ return fail(owner.id, 'Complex content requires a complex base');
159
+ budget.chargeWork(10);
160
+ const wildcard = Object.freeze({ namespace: Object.freeze({ value: '##any', context: owner.context }), processContents: 'lax' });
161
+ const id = synthetic(owner, Object.freeze({ kind: 'any', wildcard }), OPTIONAL_MANY);
162
+ budget.chargeWork();
163
+ urTypeWildcards.push(id);
164
+ budget.chargeWork(4);
165
+ return Object.freeze({ kind: 'mixed', particle: sequence(owner, [id]) });
166
+ };
167
+ budget.chargeWork(4);
168
+ const stack = [{ node: complex(type), entered: false }];
169
+ while (stack.length) {
170
+ budget.chargeWork(5);
171
+ const frame = stack[stack.length - 1], node = frame.node;
172
+ if (!frame.entered) {
173
+ budget.chargeWork(2 + node.id.length);
174
+ if (active.has(node.id))
175
+ return fail(node.id, 'Forbidden type derivation cycle');
176
+ active.add(node.id);
177
+ frame.entered = true;
178
+ if (node.derivation) {
179
+ const target = context.resolve(node.derivation.base);
180
+ if (target.kind === 'found') {
181
+ if (target.node.kind !== 'complexType') {
182
+ if (node.derivation.contentKind === 'complex' || target.node.kind !== 'simpleType')
183
+ return fail(node.id, 'Content derivation requires an appropriate type base');
184
+ }
185
+ else {
186
+ frame.base = target.node;
187
+ if (!mapped.has(target.node.id)) {
188
+ budget.chargeWork(4);
189
+ stack.push({ node: target.node, entered: false });
190
+ continue;
191
+ }
192
+ }
193
+ }
194
+ else if (target.kind !== 'builtin')
195
+ return fail(node.id, 'Base is unavailable in the actual context');
196
+ }
197
+ }
198
+ let content;
199
+ if (node.derivation?.contentKind === 'simple') {
200
+ const inherited = frame.base ? mapped.get(frame.base.id) : undefined;
201
+ const scalar = inherited?.kind === 'simple' ? inherited.type : !frame.base ? node.derivation.base : undefined;
202
+ if (node.derivation.kind === 'extension') {
203
+ if (!scalar || scalar.kind === 'builtin' && scalar.name.local === 'anyType')
204
+ return fail(node.id, 'Simple-content extension requires simple content');
205
+ budget.chargeWork(4);
206
+ content = Object.freeze({ kind: 'simple', type: scalar });
207
+ }
208
+ else {
209
+ const base = node.derivation.inlineType ?? scalar;
210
+ if (!base)
211
+ return fail(node.id, 'Simple-content restriction requires a mapped simple base or explicit inline type');
212
+ // This is only the authentic source slot selector. The scalar
213
+ // owner separately maps its properties and assesses local legality.
214
+ budget.chargeWork(4);
215
+ const slot = context.lookupScalarSlot({ kind: 'original-generated', owner: node.id });
216
+ if (slot.kind !== 'found')
217
+ return fail(node.id, 'Original generated scalar slot is unavailable');
218
+ budget.chargeWork(3);
219
+ content = Object.freeze({ kind: 'simple', type: slot.slot });
220
+ }
221
+ }
222
+ else {
223
+ const declared = local(node);
224
+ if (node.derivation?.kind !== 'extension')
225
+ content = declared;
226
+ else {
227
+ const base = frame.base ? mapped.get(frame.base.id) : builtin(node, node.derivation.base);
228
+ if (base.kind === 'simple' || base.kind === 'opaque-builtin')
229
+ return fail(node.id, 'Complex-content extension cannot extend scalar or unresolved builtin content');
230
+ if (declared.kind === 'empty')
231
+ content = base;
232
+ else if (base.kind === 'empty')
233
+ content = declared;
234
+ else if ('particle' in declared)
235
+ content = particleContent(node, sequence(node, [base.particle, declared.particle]));
236
+ else
237
+ return fail(node.id, 'Complex content unexpectedly mapped to scalar content');
238
+ }
239
+ }
240
+ budget.chargeWork(3);
241
+ mapped.set(node.id, content);
242
+ active.delete(node.id);
243
+ stack.pop();
244
+ }
245
+ budget.chargeWork(24 + 2 * additions.length + urTypeWildcards.length);
246
+ const view = issueContentView(context, { contextId: context.contextId, type, scope: 'actual-source-mapping', content: mapped.get(type),
247
+ synthetic: Object.freeze(additions.map(node => node.id)), urTypeWildcards: Object.freeze(urTypeWildcards) }, additions);
248
+ cache.set(type, view);
249
+ return Object.freeze({ kind: 'checked', view });
250
+ }
251
+ catch (error) {
252
+ if (error instanceof MappingFailure)
253
+ return error.result;
254
+ throw error;
255
+ }
256
+ });
257
+ }
258
+ /** Select the same source component, conditional on the separate actual-source
259
+ * qualification. Neither the source owner's nor its current-H validity is imported. */
260
+ export function deriveOriginalComplexParticle(context, type) {
261
+ assertSemanticContext(context);
262
+ return context.budget.guard(() => {
263
+ const b = context.budget;
264
+ b.chargeWork(12 + type.length);
265
+ if (!context.originalComplexContentSource(type))
266
+ return Object.freeze({ kind: 'unresolved',
267
+ rule: 'original-particle-source', component: type, message: 'Authentic actual complex source mapping required' });
268
+ const source = deriveActualComplexContent(context, type);
269
+ if (source.kind !== 'checked')
270
+ return source;
271
+ if (!('particle' in source.view.content))
272
+ return Object.freeze({ kind: 'unresolved',
273
+ rule: 'original-particle-source', component: type, message: 'Original content must be a particle' });
274
+ let cache = originalParticleCaches.get(context);
275
+ if (!cache) {
276
+ b.chargeWork(2);
277
+ cache = new Map();
278
+ originalParticleCaches.set(context, cache);
279
+ }
280
+ let handle = cache.get(type);
281
+ if (!handle) {
282
+ b.chargeWork(8 + type.length + source.view.content.particle.length);
283
+ handle = Object.freeze({ owner: type, particle: source.view.content.particle });
284
+ originalParticles.set(handle, { context, view: source.view });
285
+ cache.set(type, handle);
286
+ }
287
+ b.chargeWork(5);
288
+ return Object.freeze({ kind: 'checked', content: Object.freeze({ ...source.view.content, original: handle }) });
289
+ });
290
+ }
291
+ /** Private issuer authentication used before the context factory snapshots raw data. */
292
+ export function originalComplexParticleSource(context, handle) {
293
+ assertSemanticContext(context);
294
+ context.budget.chargeWork(4);
295
+ const source = originalParticles.get(handle);
296
+ if (!source || source.context !== context || context.kind !== 'actual')
297
+ throw new TypeError('Unauthenticated or foreign original particle handle');
298
+ return source.view;
299
+ }
300
+ /** Select one unchanged native leaf from an authenticated actual SOURCE whole. */
301
+ export function deriveOriginalUrWildcard(context, original, particle) {
302
+ assertSemanticContext(context);
303
+ return context.budget.guard(() => {
304
+ const b = context.budget, source = originalComplexParticleSource(context, original);
305
+ b.chargeWork(16 + particle.length + source.synthetic.length + source.urTypeWildcards.length);
306
+ const node = particleContentNode(context, source, particle);
307
+ if (!source.synthetic.includes(particle) || !source.urTypeWildcards.includes(particle) || node?.kind !== 'particle' || node.identity.kind !== 'scoped'
308
+ || node.term.kind !== 'any' || node.occurs.min !== '0' || node.occurs.max !== 'unbounded'
309
+ || node.term.wildcard.namespace.value !== '##any' || node.term.wildcard.processContents !== 'lax')
310
+ return Object.freeze({ kind: 'unresolved', rule: 'original-ur-wildcard', component: particle, message: 'An unchanged actual-source native UR wildcard is required' });
311
+ let cache = originalUrCaches.get(context);
312
+ if (!cache) {
313
+ b.chargeWork(2);
314
+ cache = new Map();
315
+ originalUrCaches.set(context, cache);
316
+ }
317
+ let handle = cache.get(particle);
318
+ if (!handle) {
319
+ b.reserveNodes(1);
320
+ b.chargeWork(8 + node.identity.owner.length + particle.length);
321
+ handle = Object.freeze({ owner: node.identity.owner, particle });
322
+ originalUrWildcards.set(handle, Object.freeze({ context, node }));
323
+ cache.set(particle, handle);
324
+ }
325
+ return Object.freeze({ kind: 'checked', handle });
326
+ });
327
+ }
328
+ /** Private authentication used by preparation and same-H content owners. */
329
+ export function originalUrWildcardSource(context, handle) {
330
+ assertSemanticContext(context);
331
+ context.budget.chargeWork(4);
332
+ const source = originalUrWildcards.get(handle);
333
+ if (!source || source.context !== context || context.kind !== 'actual')
334
+ throw new TypeError('Unauthenticated or foreign original UR wildcard handle');
335
+ return source.node;
336
+ }
337
+ /** Raw candidate properties are read directly; their component validity remains a separate prerequisite. */
338
+ export function deriveRawComplexContent(context, type) {
339
+ assertSemanticContext(context);
340
+ const budget = context.budget;
341
+ return budget.guard(() => {
342
+ budget.chargeWork(10 + type.length);
343
+ let cache = candidateCaches.get(context);
344
+ if (!cache) {
345
+ budget.chargeWork(2);
346
+ cache = new Map();
347
+ candidateCaches.set(context, cache);
348
+ }
349
+ const cached = cache.get(type);
350
+ if (cached) {
351
+ budget.chargeWork(3);
352
+ return Object.freeze({ kind: 'checked', view: cached });
353
+ }
354
+ const properties = context.rawTypeProperties(type);
355
+ if (context.kind !== 'candidate' || !properties) {
356
+ budget.chargeWork(8);
357
+ return Object.freeze({ kind: 'unresolved', rule: 'effective-complex-content', component: type, message: 'Candidate raw type properties are required' });
358
+ }
359
+ const additions = [];
360
+ let synthetic = NONE, urTypeWildcards = NONE;
361
+ const original = 'particle' in properties.content ? properties.content.original : undefined;
362
+ if (original) {
363
+ const actual = context.originalContext(), source = originalComplexParticleSource(actual, original);
364
+ const owner = context.lookup(original.owner);
365
+ if (owner.kind !== 'found' || owner.node.kind !== 'complexType' || !('particle' in properties.content)
366
+ || properties.content.particle !== original.particle)
367
+ throw new TypeError('Invalid original particle selection');
368
+ synthetic = source.synthetic;
369
+ urTypeWildcards = source.urTypeWildcards;
370
+ for (const id of synthetic) {
371
+ budget.chargeWork(3 + id.length);
372
+ if (context.lookup(id).kind !== 'missing')
373
+ return Object.freeze({ kind: 'unresolved', rule: 'original-property-synthetic-collision',
374
+ component: id, message: 'Original particle identity is occupied' });
375
+ const node = particleContentNode(actual, source, id);
376
+ if (!node)
377
+ throw new TypeError('Missing original particle backing');
378
+ if (storedIdentityOccupant(context, node.identity) !== undefined)
379
+ return Object.freeze({ kind: 'unresolved',
380
+ rule: 'original-property-synthetic-collision', component: id, message: 'Original particle semantic identity is occupied' });
381
+ additions.push(node);
382
+ }
383
+ }
384
+ else if ('particle' in properties.content) {
385
+ const particle = context.lookup(properties.content.particle);
386
+ if (particle.kind !== 'found' || particle.node.kind !== 'particle') {
387
+ budget.chargeWork(8);
388
+ return Object.freeze({ kind: 'unresolved', rule: 'effective-complex-content', component: type, message: 'Raw content particle is unavailable' });
389
+ }
390
+ }
391
+ budget.chargeWork(12);
392
+ const view = issueContentView(context, { contextId: context.contextId, type, scope: 'candidate-raw-properties', content: properties.content,
393
+ synthetic, urTypeWildcards }, additions);
394
+ if (original)
395
+ originalRawViews.add(view);
396
+ cache.set(type, view);
397
+ return Object.freeze({ kind: 'checked', view });
398
+ });
399
+ }
400
+ /** Retained source properties interpreted in H; never full hypothetical type validity. */
401
+ export function deriveOriginalComplexPropertyContent(context, type) {
402
+ assertSemanticContext(context);
403
+ const budget = context.budget;
404
+ return budget.guard(() => {
405
+ budget.chargeWork(10 + type.length);
406
+ const owner = context.lookup(type);
407
+ const fail = (rule, component = type) => {
408
+ budget.chargeWork(8 + rule.length + component.length);
409
+ return Object.freeze({ kind: 'unresolved', rule, component, message: 'Original property projection is unavailable' });
410
+ };
411
+ if (owner.kind !== 'found' || owner.node.kind !== 'complexType')
412
+ return fail('component-complex-properties');
413
+ if (context.rawTypeProperties(type))
414
+ return deriveRawComplexContent(context, type);
415
+ if (!context.originalComplexPropertySource(type))
416
+ return fail('component-complex-properties');
417
+ let cache = originalPropertyCaches.get(context);
418
+ if (!cache) {
419
+ budget.chargeWork(2);
420
+ cache = new Map();
421
+ originalPropertyCaches.set(context, cache);
422
+ }
423
+ const prior = cache.get(type);
424
+ if (prior) {
425
+ budget.chargeWork(3);
426
+ return Object.freeze({ kind: 'checked', view: prior });
427
+ }
428
+ const source = deriveActualComplexContent(context.originalContext(), type);
429
+ if (source.kind !== 'checked')
430
+ return source;
431
+ if (source.view.content.kind === 'simple' || source.view.content.kind === 'opaque-builtin')
432
+ return fail('component-content-properties');
433
+ const additions = [];
434
+ for (const id of source.view.synthetic) {
435
+ budget.chargeWork(3 + id.length);
436
+ if (context.lookup(id).kind !== 'missing')
437
+ return fail('original-property-synthetic-collision', id);
438
+ const node = particleContentNode(context.originalContext(), source.view, id);
439
+ if (!node)
440
+ return fail('original-property-synthetic-component', id);
441
+ if (storedIdentityOccupant(context, node.identity) !== undefined)
442
+ return fail('original-property-synthetic-collision', id);
443
+ additions.push(node);
444
+ }
445
+ const view = issueContentView(context, { contextId: context.contextId, type, scope: 'original-property-projection',
446
+ content: source.view.content, synthetic: source.view.synthetic, urTypeWildcards: source.view.urTypeWildcards }, additions);
447
+ cache.set(type, view);
448
+ return Object.freeze({ kind: 'checked', view });
449
+ });
450
+ }
451
+ /** Same-H private subtree input for local predicates, never a component-validity receipt. */
452
+ export function deriveOriginalContentSubtree(context, source, particle) {
453
+ assertParticleContentView(context, source);
454
+ const budget = context.budget;
455
+ return budget.guard(() => {
456
+ budget.chargeWork(12 + particle.length + source.synthetic.length);
457
+ if (!(originalRawViews.has(source) || source.scope === 'original-property-projection' && context.originalComplexPropertySource(source.type)
458
+ || context.originalUrWildcard(particle))
459
+ || !source.synthetic.includes(particle) || context.lookup(particle).kind !== 'missing')
460
+ return Object.freeze({ kind: 'unresolved', rule: 'original-content-subtree', component: particle, message: 'Authentic private original subtree required' });
461
+ const node = particleContentNode(context, source, particle);
462
+ if (node?.kind !== 'particle')
463
+ return Object.freeze({ kind: 'unresolved', rule: 'original-content-subtree', component: particle, message: 'Private subtree must be a particle' });
464
+ budget.chargeWork(source.synthetic.length + 4);
465
+ return Object.freeze({ kind: 'checked', view: issueContentView(context, { contextId: context.contextId, type: source.type,
466
+ scope: source.scope, content: Object.freeze({ kind: 'element-only', particle }), synthetic: source.synthetic,
467
+ urTypeWildcards: source.urTypeWildcards }, [...generatedNodes.get(source).values()]) });
468
+ });
469
+ }
470
+ const builtinCaches = new WeakMap();
471
+ /** The primary ur-type component, never inferred from an ordinary wildcard's spelling. */
472
+ export function deriveBuiltinAnyTypeContent(context, anchor) {
473
+ assertSemanticContext(context);
474
+ const budget = context.budget;
475
+ return budget.guard(() => {
476
+ budget.chargeWork(12 + anchor.length);
477
+ let cache = builtinCaches.get(context);
478
+ if (!cache) {
479
+ budget.chargeWork(2);
480
+ cache = new Map();
481
+ builtinCaches.set(context, cache);
482
+ }
483
+ const prior = cache.get(anchor);
484
+ if (prior) {
485
+ budget.chargeWork(3);
486
+ return Object.freeze({ kind: 'checked', view: prior });
487
+ }
488
+ const owner = context.lookup(anchor);
489
+ if (owner.kind !== 'found') {
490
+ budget.chargeWork(8);
491
+ return Object.freeze({ kind: 'unresolved', rule: 'builtin-anyType-content', component: anchor, message: 'Active diagnostic anchor required' });
492
+ }
493
+ budget.reserveNodes(2);
494
+ const path = '$semantic-builtin-anyType/' + context.contextId;
495
+ budget.chargeWork(180 + 12 * (anchor.length + path.length));
496
+ const anyId = privateParticleId('builtin-anyType', anchor, path + '/any', 'particle', budget.chargeWork), groupId = privateParticleId('builtin-anyType', anchor, path + '/sequence', 'particle', budget.chargeWork);
497
+ if (context.lookup(anyId).kind === 'found' || context.lookup(groupId).kind === 'found') {
498
+ budget.chargeWork(8);
499
+ return Object.freeze({ kind: 'unresolved', rule: 'builtin-anyType-content', component: anchor, message: 'Synthetic ur-type identity collision' });
500
+ }
501
+ const common = { kind: 'particle', context: owner.node.context, declaredAttributes: NONE, annotations: NONE, retained: NONE, syntaxDetails: NONE };
502
+ const wildcard = Object.freeze({ namespace: Object.freeze({ value: '##any', context: owner.node.context }), processContents: 'lax' });
503
+ const any = Object.freeze({ ...common, id: anyId, identity: Object.freeze({ kind: 'scoped', owner: anchor, path: path + '/any', role: 'particle' }),
504
+ occurs: OPTIONAL_MANY, term: Object.freeze({ kind: 'any', wildcard }) });
505
+ const sequence = Object.freeze({ ...common, id: groupId, identity: Object.freeze({ kind: 'scoped', owner: anchor, path: path + '/sequence', role: 'particle' }),
506
+ occurs: ONE, term: Object.freeze({ kind: 'sequence', children: Object.freeze([anyId]) }) });
507
+ budget.chargeWork(4);
508
+ for (const node of [any, sequence]) {
509
+ budget.chargeWork(3);
510
+ const occupied = storedIdentityOccupant(context, node.identity);
511
+ if (occupied !== undefined && context.lookup(occupied).kind === 'found')
512
+ return Object.freeze({ kind: 'unresolved',
513
+ rule: 'builtin-anyType-content', component: anchor, message: 'Synthetic ur-type semantic identity collision' });
514
+ }
515
+ budget.chargeWork(25);
516
+ const view = issueContentView(context, { contextId: context.contextId, type: anchor, scope: 'builtin-type',
517
+ content: Object.freeze({ kind: 'mixed', particle: groupId }),
518
+ synthetic: Object.freeze([anyId, groupId]), urTypeWildcards: Object.freeze([anyId]) }, [any, sequence]);
519
+ cache.set(anchor, view);
520
+ return Object.freeze({ kind: 'checked', view });
521
+ });
522
+ }
523
+ const groupCaches = new WeakMap();
524
+ /** Local model-group constraints also apply to definitions unused by any type. */
525
+ export function deriveModelGroupContent(context, component) {
526
+ assertSemanticContext(context);
527
+ const budget = context.budget;
528
+ return budget.guard(() => {
529
+ budget.chargeWork(10 + component.length);
530
+ let cache = groupCaches.get(context);
531
+ if (!cache) {
532
+ budget.chargeWork(2);
533
+ cache = new Map();
534
+ groupCaches.set(context, cache);
535
+ }
536
+ const prior = cache.get(component);
537
+ if (prior) {
538
+ budget.chargeWork(3);
539
+ return Object.freeze({ kind: 'checked', view: prior });
540
+ }
541
+ const node = context.lookup(component);
542
+ if (node.kind !== 'found' || node.node.kind !== 'group' && node.node.kind !== 'particle') {
543
+ budget.chargeWork(8);
544
+ return Object.freeze({ kind: 'unresolved', rule: 'coss-modelGroup', component, message: 'An active model-group definition or particle is required' });
545
+ }
546
+ const particle = node.node.kind === 'group' ? node.node.content : node.node.id;
547
+ const root = context.lookup(particle);
548
+ if (root.kind !== 'found' || root.node.kind !== 'particle') {
549
+ budget.chargeWork(8);
550
+ return Object.freeze({ kind: 'unresolved', rule: 'coss-modelGroup', component, message: 'Model-group root is not an active particle' });
551
+ }
552
+ budget.chargeWork(13);
553
+ const view = issueContentView(context, { contextId: context.contextId, type: component, scope: 'model-group',
554
+ content: Object.freeze({ kind: 'element-only', particle }), synthetic: NONE, urTypeWildcards: NONE }, NONE);
555
+ cache.set(component, view);
556
+ return Object.freeze({ kind: 'checked', view });
557
+ });
558
+ }
@@ -0,0 +1,69 @@
1
+ import type { AttributeUseNode, ComplexTypeNode, Facet, NodeId, Reference, ValueConstraint, Wildcard } from "./canonicalGraph.js";
2
+ import type { ExpandedName } from "../loader/orderedSyntax.js";
3
+ import type { ResolvedGraph, SemanticLimits } from "./resolveCanonicalGraph.js";
4
+ import type { NamespaceConstraint } from "./wildcardAlgebra.js";
5
+ export { namespaceIntersection, namespaceSubset, namespaceUnion, wildcardNamespaces } from "./wildcardAlgebra.js";
6
+ export type { NamespaceConstraint } from "./wildcardAlgebra.js";
7
+ export type WildcardProcess = Wildcard["processContents"];
8
+ export type WildcardPlan = Readonly<{
9
+ namespace: NamespaceConstraint;
10
+ processContents: WildcardProcess | Readonly<{
11
+ kind: "assessment-required";
12
+ alternatives: readonly WildcardProcess[];
13
+ }>;
14
+ sources: readonly NodeId[];
15
+ }>;
16
+ export type AttributePlan = Readonly<{
17
+ name: ExpandedName;
18
+ declaration: NodeId;
19
+ type: Reference;
20
+ use: AttributeUseNode["use"];
21
+ value?: ValueConstraint;
22
+ sources: readonly NodeId[];
23
+ }>;
24
+ /** These obligations are not a schema-validity certificate. #179 must discharge them before planning. */
25
+ export type DerivationObligation = Readonly<{
26
+ kind: "particle-extension" | "particle-restriction" | "attribute-type-restriction" | "attribute-extension-equivalence" | "fixed-value-equivalence" | "wildcard-expressibility" | "group-local-wildcard-process" | "scalar-derivation" | "mixed-content";
27
+ owner: NodeId;
28
+ base?: NodeId | Reference | ValueConstraint;
29
+ local?: NodeId | Reference | ValueConstraint;
30
+ }>;
31
+ export type ComposedType = Readonly<{
32
+ id: NodeId;
33
+ /** Sequence of declared root particles, not flattened children or occurrence summaries. */
34
+ content: readonly ContentContribution[];
35
+ mixed: boolean;
36
+ attributes: readonly AttributePlan[];
37
+ wildcard?: WildcardPlan;
38
+ scalar?: Readonly<{
39
+ base: Reference;
40
+ layers: readonly Readonly<{
41
+ owner: NodeId;
42
+ facets: readonly Facet[];
43
+ inlineType?: Reference;
44
+ }>[];
45
+ }>;
46
+ derivation?: ComplexTypeNode["derivation"];
47
+ obligations: readonly DerivationObligation[];
48
+ assessment: "requires-schema-assessment";
49
+ }>;
50
+ export type ComposedGraph = Readonly<{
51
+ resolved: ResolvedGraph;
52
+ types: readonly ComposedType[];
53
+ metrics: Readonly<{
54
+ steps: number;
55
+ }>;
56
+ }>;
57
+ export type ContentContribution = Readonly<{
58
+ kind: "particle";
59
+ particle: NodeId;
60
+ } | {
61
+ kind: "builtin";
62
+ reference: Reference;
63
+ }>;
64
+ /** Extension concatenates root contributions, retaining each root's exact declared occurrence. */
65
+ export declare function extendContent(base: readonly ContentContribution[], local: NodeId | undefined): readonly ContentContribution[];
66
+ /** Restriction replaces child content, including the empty case. No removed base particle is appended. */
67
+ export declare function restrictContent(local: NodeId | undefined): readonly ContentContribution[];
68
+ export declare function composeCanonicalGraph(resolved: ResolvedGraph, limits?: SemanticLimits): ComposedGraph;
69
+ //# sourceMappingURL=composeCanonicalGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeCanonicalGraph.d.ts","sourceRoot":"","sources":["../../src/compiler/composeCanonicalGraph.ts"],"names":[],"mappings":"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"}