@techspokes/typescript-wsdl-client 1.1.4 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/README.md +81 -35
  2. package/dist/app/generateApp.d.ts +0 -1
  3. package/dist/app/generateApp.js +8 -6
  4. package/dist/app/generateCheckedApp.d.ts +38 -0
  5. package/dist/app/generateCheckedApp.js +108 -0
  6. package/dist/checkedPipeline.d.ts +155 -0
  7. package/dist/checkedPipeline.js +448 -0
  8. package/dist/checkedPlanning.d.ts +123 -0
  9. package/dist/checkedPlanning.js +245 -0
  10. package/dist/cli.d.ts +0 -1
  11. package/dist/cli.js +123 -5
  12. package/dist/client/checkedDirectRuntime.d.ts +96 -0
  13. package/dist/client/checkedDirectRuntime.js +43 -0
  14. package/dist/client/directClientRuntime.d.ts +74 -0
  15. package/dist/client/directClientRuntime.js +165 -0
  16. package/dist/client/directClientVersion.d.ts +6 -0
  17. package/dist/client/directClientVersion.js +6 -0
  18. package/dist/client/generateClient.d.ts +0 -1
  19. package/dist/client/generateClient.js +26 -12
  20. package/dist/client/generateDirectClient.d.ts +32 -0
  21. package/dist/client/generateDirectClient.js +268 -0
  22. package/dist/client/generateOperations.d.ts +0 -1
  23. package/dist/client/generateTypes.d.ts +0 -1
  24. package/dist/client/generateUtils.d.ts +0 -1
  25. package/dist/client/generateUtils.js +3 -1
  26. package/dist/compiler/applicationGroups.d.ts +53 -0
  27. package/dist/compiler/applicationGroups.js +403 -0
  28. package/dist/compiler/buildCanonicalGraph.d.ts +6 -0
  29. package/dist/compiler/buildCanonicalGraph.js +381 -0
  30. package/dist/compiler/canonicalGraph.d.ts +197 -0
  31. package/dist/compiler/canonicalGraph.js +37 -0
  32. package/dist/compiler/catalogErrors.d.ts +17 -0
  33. package/dist/compiler/catalogErrors.js +86 -0
  34. package/dist/compiler/catalogProvenance.d.ts +14 -0
  35. package/dist/compiler/catalogProvenance.js +229 -0
  36. package/dist/compiler/checkedAssessment.d.ts +90 -0
  37. package/dist/compiler/checkedAssessment.js +300 -0
  38. package/dist/compiler/checkedComponentSource.d.ts +16 -0
  39. package/dist/compiler/checkedComponentSource.js +31 -0
  40. package/dist/compiler/checkedSourcePreparation.d.ts +72 -0
  41. package/dist/compiler/checkedSourcePreparation.js +202 -0
  42. package/dist/compiler/complexTypeContent.d.ts +58 -0
  43. package/dist/compiler/complexTypeContent.js +558 -0
  44. package/dist/compiler/componentCorrespondence.d.ts +32 -0
  45. package/dist/compiler/componentCorrespondence.js +140 -0
  46. package/dist/compiler/componentRecordProjection.d.ts +109 -0
  47. package/dist/compiler/componentRecordProjection.js +319 -0
  48. package/dist/compiler/componentSoapPreparation.d.ts +20 -0
  49. package/dist/compiler/componentSoapPreparation.js +36 -0
  50. package/dist/compiler/composeCanonicalGraph.d.ts +68 -0
  51. package/dist/compiler/composeCanonicalGraph.js +252 -0
  52. package/dist/compiler/dataOwnership.d.ts +21 -0
  53. package/dist/compiler/dataOwnership.js +167 -0
  54. package/dist/compiler/datatypeValues.d.ts +46 -0
  55. package/dist/compiler/datatypeValues.js +275 -0
  56. package/dist/compiler/directCodec.d.ts +116 -0
  57. package/dist/compiler/directCodec.js +377 -0
  58. package/dist/compiler/directExecutionPolicy.d.ts +9 -0
  59. package/dist/compiler/directExecutionPolicy.js +17 -0
  60. package/dist/compiler/directOperation.d.ts +114 -0
  61. package/dist/compiler/directOperation.js +373 -0
  62. package/dist/compiler/directSoap.d.ts +66 -0
  63. package/dist/compiler/directSoap.js +391 -0
  64. package/dist/compiler/directSoapSource.d.ts +38 -0
  65. package/dist/compiler/directSoapSource.js +233 -0
  66. package/dist/compiler/directSourceCapsule.d.ts +169 -0
  67. package/dist/compiler/directSourceCapsule.js +727 -0
  68. package/dist/compiler/directStructure.d.ts +128 -0
  69. package/dist/compiler/directStructure.js +543 -0
  70. package/dist/compiler/directStructurePlan.d.ts +149 -0
  71. package/dist/compiler/directStructurePlan.js +623 -0
  72. package/dist/compiler/directValues.d.ts +128 -0
  73. package/dist/compiler/directValues.js +1116 -0
  74. package/dist/compiler/finiteRe01Construction.d.ts +69 -0
  75. package/dist/compiler/finiteRe01Construction.js +422 -0
  76. package/dist/compiler/finiteRe01Verification.d.ts +218 -0
  77. package/dist/compiler/finiteRe01Verification.js +1217 -0
  78. package/dist/compiler/generateCatalog.d.ts +0 -1
  79. package/dist/compiler/graphTraversal.d.ts +10 -0
  80. package/dist/compiler/graphTraversal.js +37 -0
  81. package/dist/compiler/hypotheticalScopedIdentity.d.ts +22 -0
  82. package/dist/compiler/hypotheticalScopedIdentity.js +81 -0
  83. package/dist/compiler/occurrenceAnalysis.d.ts +66 -0
  84. package/dist/compiler/occurrenceAnalysis.js +316 -0
  85. package/dist/compiler/originalSourceMembership.d.ts +5 -0
  86. package/dist/compiler/originalSourceMembership.js +31 -0
  87. package/dist/compiler/particleAttribution.d.ts +16 -0
  88. package/dist/compiler/particleAttribution.js +494 -0
  89. package/dist/compiler/particleDeclarationConsistency.d.ts +23 -0
  90. package/dist/compiler/particleDeclarationConsistency.js +206 -0
  91. package/dist/compiler/particleExtension.d.ts +21 -0
  92. package/dist/compiler/particleExtension.js +123 -0
  93. package/dist/compiler/particleLocalAssessment.d.ts +19 -0
  94. package/dist/compiler/particleLocalAssessment.js +92 -0
  95. package/dist/compiler/particleRestriction.d.ts +23 -0
  96. package/dist/compiler/particleRestriction.js +494 -0
  97. package/dist/compiler/particleSemanticView.d.ts +51 -0
  98. package/dist/compiler/particleSemanticView.js +310 -0
  99. package/dist/compiler/particleWildcardRelation.d.ts +87 -0
  100. package/dist/compiler/particleWildcardRelation.js +143 -0
  101. package/dist/compiler/projectionScalar.d.ts +32 -0
  102. package/dist/compiler/projectionScalar.js +184 -0
  103. package/dist/compiler/re01CandidateAssignments.d.ts +95 -0
  104. package/dist/compiler/re01CandidateAssignments.js +341 -0
  105. package/dist/compiler/re01CandidateCorrespondence.d.ts +85 -0
  106. package/dist/compiler/re01CandidateCorrespondence.js +701 -0
  107. package/dist/compiler/re01TypeProperties.d.ts +70 -0
  108. package/dist/compiler/re01TypeProperties.js +120 -0
  109. package/dist/compiler/re01TypePropertyValidation.d.ts +22 -0
  110. package/dist/compiler/re01TypePropertyValidation.js +161 -0
  111. package/dist/compiler/resolveCanonicalGraph.d.ts +41 -0
  112. package/dist/compiler/resolveCanonicalGraph.js +240 -0
  113. package/dist/compiler/scalarSchemaAssessment.d.ts +424 -0
  114. package/dist/compiler/scalarSchemaAssessment.js +5198 -0
  115. package/dist/compiler/schemaAttributeGroupProperties.d.ts +16 -0
  116. package/dist/compiler/schemaAttributeGroupProperties.js +53 -0
  117. package/dist/compiler/schemaAttributeProperties.d.ts +9 -0
  118. package/dist/compiler/schemaAttributeProperties.js +11 -0
  119. package/dist/compiler/schemaAttributeUses.d.ts +110 -0
  120. package/dist/compiler/schemaAttributeUses.js +798 -0
  121. package/dist/compiler/schemaBinaryWordReconstruction.d.ts +9 -0
  122. package/dist/compiler/schemaBinaryWordReconstruction.js +33 -0
  123. package/dist/compiler/schemaBuiltinFacets.d.ts +13 -0
  124. package/dist/compiler/schemaBuiltinFacets.js +51 -0
  125. package/dist/compiler/schemaCalendarImages.d.ts +7 -0
  126. package/dist/compiler/schemaCalendarImages.js +204 -0
  127. package/dist/compiler/schemaCalendarLanguage.d.ts +10 -0
  128. package/dist/compiler/schemaCalendarLanguage.js +227 -0
  129. package/dist/compiler/schemaCompiler.d.ts +0 -1
  130. package/dist/compiler/schemaComponentEquality.d.ts +27 -0
  131. package/dist/compiler/schemaComponentEquality.js +446 -0
  132. package/dist/compiler/schemaConstructionAssessment.d.ts +79 -0
  133. package/dist/compiler/schemaConstructionAssessment.js +745 -0
  134. package/dist/compiler/schemaDatatypeValues.d.ts +3 -0
  135. package/dist/compiler/schemaDatatypeValues.js +2 -0
  136. package/dist/compiler/schemaDecimalLanguage.d.ts +6 -0
  137. package/dist/compiler/schemaDecimalLanguage.js +102 -0
  138. package/dist/compiler/schemaDeclarationPrimitives.d.ts +39 -0
  139. package/dist/compiler/schemaDeclarationPrimitives.js +211 -0
  140. package/dist/compiler/schemaDocumentSyntax.d.ts +54 -0
  141. package/dist/compiler/schemaDocumentSyntax.js +294 -0
  142. package/dist/compiler/schemaDurationLanguage.d.ts +10 -0
  143. package/dist/compiler/schemaDurationLanguage.js +170 -0
  144. package/dist/compiler/schemaElementInstance.d.ts +30 -0
  145. package/dist/compiler/schemaElementInstance.js +45 -0
  146. package/dist/compiler/schemaElementProperties.d.ts +15 -0
  147. package/dist/compiler/schemaElementProperties.js +23 -0
  148. package/dist/compiler/schemaEndpointWordCapacity.d.ts +35 -0
  149. package/dist/compiler/schemaEndpointWordCapacity.js +39 -0
  150. package/dist/compiler/schemaExactCalendar.d.ts +72 -0
  151. package/dist/compiler/schemaExactCalendar.js +264 -0
  152. package/dist/compiler/schemaFacetAnnotation.d.ts +31 -0
  153. package/dist/compiler/schemaFacetAnnotation.js +199 -0
  154. package/dist/compiler/schemaGeneratedScalarShape.d.ts +34 -0
  155. package/dist/compiler/schemaGeneratedScalarShape.js +178 -0
  156. package/dist/compiler/schemaIdentityConstraints.d.ts +72 -0
  157. package/dist/compiler/schemaIdentityConstraints.js +362 -0
  158. package/dist/compiler/schemaIeeeLanguage.d.ts +42 -0
  159. package/dist/compiler/schemaIeeeLanguage.js +759 -0
  160. package/dist/compiler/schemaIntegerImages.d.ts +10 -0
  161. package/dist/compiler/schemaIntegerImages.js +113 -0
  162. package/dist/compiler/schemaLexicalPredicates.d.ts +28 -0
  163. package/dist/compiler/schemaLexicalPredicates.js +63 -0
  164. package/dist/compiler/schemaNotationProperties.d.ts +31 -0
  165. package/dist/compiler/schemaNotationProperties.js +84 -0
  166. package/dist/compiler/schemaNumericImageConditions.d.ts +23 -0
  167. package/dist/compiler/schemaNumericImageConditions.js +66 -0
  168. package/dist/compiler/schemaParticleWildcardProperties.d.ts +19 -0
  169. package/dist/compiler/schemaParticleWildcardProperties.js +43 -0
  170. package/dist/compiler/schemaPattern.d.ts +1061 -0
  171. package/dist/compiler/schemaPattern.js +581 -0
  172. package/dist/compiler/schemaRegularLanguage.d.ts +66 -0
  173. package/dist/compiler/schemaRegularLanguage.js +1166 -0
  174. package/dist/compiler/schemaScalarContext.d.ts +85 -0
  175. package/dist/compiler/schemaScalarContext.js +78 -0
  176. package/dist/compiler/schemaScalarKernel.d.ts +181 -0
  177. package/dist/compiler/schemaScalarKernel.js +391 -0
  178. package/dist/compiler/schemaScalarWitnesses.d.ts +5 -0
  179. package/dist/compiler/schemaScalarWitnesses.js +118 -0
  180. package/dist/compiler/schemaSimpleTypeProperties.d.ts +94 -0
  181. package/dist/compiler/schemaSimpleTypeProperties.js +103 -0
  182. package/dist/compiler/schemaSourceGrammar.d.ts +26 -0
  183. package/dist/compiler/schemaSourceGrammar.js +290 -0
  184. package/dist/compiler/schemaSourceLexical.d.ts +3 -0
  185. package/dist/compiler/schemaSourceLexical.js +12 -0
  186. package/dist/compiler/schemaSourceValues.d.ts +50 -0
  187. package/dist/compiler/schemaSourceValues.js +225 -0
  188. package/dist/compiler/schemaSourceWildcards.d.ts +27 -0
  189. package/dist/compiler/schemaSourceWildcards.js +249 -0
  190. package/dist/compiler/schemaSymbolicSequences.d.ts +15 -0
  191. package/dist/compiler/schemaSymbolicSequences.js +99 -0
  192. package/dist/compiler/schemaSymbolicValueSets.d.ts +31 -0
  193. package/dist/compiler/schemaSymbolicValueSets.js +149 -0
  194. package/dist/compiler/schemaSyntaxAssessment.d.ts +24 -0
  195. package/dist/compiler/schemaSyntaxAssessment.js +361 -0
  196. package/dist/compiler/schemaTemporalAliases.d.ts +5 -0
  197. package/dist/compiler/schemaTemporalAliases.js +195 -0
  198. package/dist/compiler/schemaTokenImages.d.ts +8 -0
  199. package/dist/compiler/schemaTokenImages.js +142 -0
  200. package/dist/compiler/schemaTypeIdentity.d.ts +38 -0
  201. package/dist/compiler/schemaTypeIdentity.js +80 -0
  202. package/dist/compiler/schemaTypeRelations.d.ts +37 -0
  203. package/dist/compiler/schemaTypeRelations.js +576 -0
  204. package/dist/compiler/schemaUri.d.ts +12 -0
  205. package/dist/compiler/schemaUri.js +103 -0
  206. package/dist/compiler/schemaValueContext.d.ts +25 -0
  207. package/dist/compiler/schemaValueContext.js +1 -0
  208. package/dist/compiler/schemaValueImages.d.ts +9 -0
  209. package/dist/compiler/schemaValueImages.js +142 -0
  210. package/dist/compiler/schemaValueSequences.d.ts +14 -0
  211. package/dist/compiler/schemaValueSequences.js +19 -0
  212. package/dist/compiler/semanticBudget.d.ts +67 -0
  213. package/dist/compiler/semanticBudget.js +193 -0
  214. package/dist/compiler/semanticCatalog.d.ts +121 -0
  215. package/dist/compiler/semanticCatalog.js +160 -0
  216. package/dist/compiler/semanticContext.d.ts +183 -0
  217. package/dist/compiler/semanticContext.js +1207 -0
  218. package/dist/compiler/semanticTypeDependencies.d.ts +7 -0
  219. package/dist/compiler/semanticTypeDependencies.js +64 -0
  220. package/dist/compiler/semanticTypeReference.d.ts +23 -0
  221. package/dist/compiler/semanticTypeReference.js +36 -0
  222. package/dist/compiler/shapeResolver.d.ts +1 -1
  223. package/dist/compiler/shapeResolver.js +7 -9
  224. package/dist/compiler/soapHeaders.d.ts +16 -0
  225. package/dist/compiler/soapHeaders.js +42 -0
  226. package/dist/compiler/sourceSchemaBinding.d.ts +25 -0
  227. package/dist/compiler/sourceSchemaBinding.js +39 -0
  228. package/dist/compiler/standardSchemaComponents.d.ts +71 -0
  229. package/dist/compiler/standardSchemaComponents.js +74 -0
  230. package/dist/compiler/standardSchemaConstruction.d.ts +20 -0
  231. package/dist/compiler/standardSchemaConstruction.js +34 -0
  232. package/dist/compiler/structuralCompanions.d.ts +15 -0
  233. package/dist/compiler/structuralCompanions.js +232 -0
  234. package/dist/compiler/validateSemanticGraph.d.ts +4 -0
  235. package/dist/compiler/validateSemanticGraph.js +376 -0
  236. package/dist/compiler/wildcardAlgebra.d.ts +25 -0
  237. package/dist/compiler/wildcardAlgebra.js +155 -0
  238. package/dist/compiler/wsdlPolicyRequirements.d.ts +43 -0
  239. package/dist/compiler/wsdlPolicyRequirements.js +239 -0
  240. package/dist/config.d.ts +0 -1
  241. package/dist/gateway/generateCheckedGateway.d.ts +32 -0
  242. package/dist/gateway/generateCheckedGateway.js +293 -0
  243. package/dist/gateway/generateGateway.d.ts +0 -1
  244. package/dist/gateway/generateGateway.js +2 -2
  245. package/dist/gateway/generators.d.ts +0 -1
  246. package/dist/gateway/helpers.d.ts +0 -1
  247. package/dist/generation/componentShape.d.ts +14 -0
  248. package/dist/generation/componentShape.js +269 -0
  249. package/dist/generation/preamble.d.ts +0 -1
  250. package/dist/generation/sourceLayout.d.ts +13 -0
  251. package/dist/generation/sourceLayout.js +40 -0
  252. package/dist/generation/writeGeneratedSource.d.ts +0 -1
  253. package/dist/index.d.ts +9 -1
  254. package/dist/index.js +3 -0
  255. package/dist/loader/fetch.d.ts +0 -1
  256. package/dist/loader/orderedSyntax.d.ts +84 -0
  257. package/dist/loader/orderedSyntax.js +222 -0
  258. package/dist/loader/resolutionDepth.d.ts +6 -0
  259. package/dist/loader/resolutionDepth.js +65 -0
  260. package/dist/loader/schemaInput.d.ts +80 -0
  261. package/dist/loader/schemaInput.js +249 -0
  262. package/dist/loader/schemaResources.d.ts +60 -0
  263. package/dist/loader/schemaResources.js +333 -0
  264. package/dist/loader/wsdlLoader.d.ts +0 -1
  265. package/dist/openapi/casing.d.ts +0 -1
  266. package/dist/openapi/generateOpenAPI.d.ts +0 -1
  267. package/dist/openapi/generateOpenAPI.js +2 -2
  268. package/dist/openapi/generatePaths.d.ts +0 -1
  269. package/dist/openapi/generateSchemas.d.ts +0 -1
  270. package/dist/openapi/security.d.ts +0 -1
  271. package/dist/pipeline.d.ts +6 -2
  272. package/dist/pipeline.js +13 -0
  273. package/dist/test/generateCheckedTests.d.ts +17 -0
  274. package/dist/test/generateCheckedTests.js +60 -0
  275. package/dist/test/generateTests.d.ts +0 -1
  276. package/dist/test/generateTests.js +2 -2
  277. package/dist/test/generators.d.ts +0 -1
  278. package/dist/test/mockData.d.ts +0 -1
  279. package/dist/test/mockData.js +20 -14
  280. package/dist/util/attributeWildcards.d.ts +0 -1
  281. package/dist/util/builder.d.ts +0 -1
  282. package/dist/util/catalogMeta.d.ts +0 -1
  283. package/dist/util/checkedCliDiagnostics.d.ts +11 -0
  284. package/dist/util/checkedCliDiagnostics.js +22 -0
  285. package/dist/util/cli.d.ts +0 -1
  286. package/dist/util/errors.d.ts +0 -1
  287. package/dist/util/imports.d.ts +0 -1
  288. package/dist/util/runtimeSource.d.ts +0 -1
  289. package/dist/util/runtimeSource.js +3 -5
  290. package/dist/util/securityConfig.d.ts +0 -1
  291. package/dist/util/streamConfig.d.ts +0 -1
  292. package/dist/util/tools.d.ts +0 -1
  293. package/dist/util/xmlWhitespace.d.ts +2 -0
  294. package/dist/util/xmlWhitespace.js +4 -0
  295. package/dist/xsd/primitives.d.ts +0 -1
  296. package/docs/agent-skill.md +2 -0
  297. package/docs/api-reference.md +1 -1
  298. package/docs/checked-gateway.md +210 -0
  299. package/docs/checked-generation.md +161 -0
  300. package/docs/cli-reference.md +43 -1
  301. package/docs/concepts.md +136 -1
  302. package/docs/configuration.md +5 -1
  303. package/docs/corpus.md +33 -0
  304. package/docs/direct-values.md +311 -0
  305. package/docs/examples/checked-forecast.wsdl +19 -0
  306. package/docs/gateway-guide.md +1 -1
  307. package/docs/generated-code.md +10 -5
  308. package/docs/mapping-contract.md +114 -0
  309. package/docs/migration-playbook.md +1 -1
  310. package/docs/output-anatomy.md +1 -1
  311. package/docs/start-here.md +8 -2
  312. package/docs/supported-patterns.md +17 -5
  313. package/docs/testing.md +117 -31
  314. package/llms.txt +7 -7
  315. package/package.json +79 -25
  316. package/src/generation/preambles/direct-client/typescript.preamble +3 -0
  317. package/src/runtime/checkedGatewayHost.tpl.txt +157 -0
  318. package/src/runtime/streamXml.ts +1 -1
  319. package/dist/app/generateApp.d.ts.map +0 -1
  320. package/dist/cli.d.ts.map +0 -1
  321. package/dist/client/generateClient.d.ts.map +0 -1
  322. package/dist/client/generateOperations.d.ts.map +0 -1
  323. package/dist/client/generateTypes.d.ts.map +0 -1
  324. package/dist/client/generateUtils.d.ts.map +0 -1
  325. package/dist/compiler/generateCatalog.d.ts.map +0 -1
  326. package/dist/compiler/schemaCompiler.d.ts.map +0 -1
  327. package/dist/compiler/shapeResolver.d.ts.map +0 -1
  328. package/dist/config.d.ts.map +0 -1
  329. package/dist/gateway/generateGateway.d.ts.map +0 -1
  330. package/dist/gateway/generators.d.ts.map +0 -1
  331. package/dist/gateway/helpers.d.ts.map +0 -1
  332. package/dist/generation/preamble.d.ts.map +0 -1
  333. package/dist/generation/writeGeneratedSource.d.ts.map +0 -1
  334. package/dist/index.d.ts.map +0 -1
  335. package/dist/loader/fetch.d.ts.map +0 -1
  336. package/dist/loader/wsdlLoader.d.ts.map +0 -1
  337. package/dist/openapi/casing.d.ts.map +0 -1
  338. package/dist/openapi/generateOpenAPI.d.ts.map +0 -1
  339. package/dist/openapi/generatePaths.d.ts.map +0 -1
  340. package/dist/openapi/generateSchemas.d.ts.map +0 -1
  341. package/dist/openapi/security.d.ts.map +0 -1
  342. package/dist/pipeline.d.ts.map +0 -1
  343. package/dist/runtime/jsonArray.d.ts +0 -24
  344. package/dist/runtime/jsonArray.d.ts.map +0 -1
  345. package/dist/runtime/jsonArray.js +0 -52
  346. package/dist/runtime/ndjson.d.ts +0 -24
  347. package/dist/runtime/ndjson.d.ts.map +0 -1
  348. package/dist/runtime/ndjson.js +0 -30
  349. package/dist/runtime/streamXml.d.ts +0 -45
  350. package/dist/runtime/streamXml.d.ts.map +0 -1
  351. package/dist/runtime/streamXml.js +0 -212
  352. package/dist/test/generateTests.d.ts.map +0 -1
  353. package/dist/test/generators.d.ts.map +0 -1
  354. package/dist/test/mockData.d.ts.map +0 -1
  355. package/dist/util/attributeWildcards.d.ts.map +0 -1
  356. package/dist/util/builder.d.ts.map +0 -1
  357. package/dist/util/catalogMeta.d.ts.map +0 -1
  358. package/dist/util/cli.d.ts.map +0 -1
  359. package/dist/util/errors.d.ts.map +0 -1
  360. package/dist/util/imports.d.ts.map +0 -1
  361. package/dist/util/runtimeSource.d.ts.map +0 -1
  362. package/dist/util/securityConfig.d.ts.map +0 -1
  363. package/dist/util/streamConfig.d.ts.map +0 -1
  364. package/dist/util/tools.d.ts.map +0 -1
  365. package/dist/xsd/primitives.d.ts.map +0 -1
  366. package/docs/AGENTS.md +0 -47
  367. package/docs/README.md +0 -56
  368. package/docs/architecture.md +0 -149
  369. package/docs/decisions/001-test-generation.md +0 -36
  370. package/docs/decisions/002-streamable-responses.md +0 -330
  371. package/docs/file-naming-and-path-organization.md +0 -213
  372. package/docs/releases/README.md +0 -94
  373. package/docs/releases/v0.20.0.md +0 -22
  374. package/docs/releases/v0.21.0.md +0 -30
  375. package/docs/releases/v0.22.0.md +0 -30
  376. package/docs/releases/v0.23.0.md +0 -31
  377. package/docs/releases/v0.24.0.md +0 -38
  378. package/docs/releases/v0.25.0.md +0 -31
  379. package/docs/releases/v0.25.2.md +0 -32
  380. package/docs/releases/v0.26.0.md +0 -32
  381. package/docs/releases/v0.27.0.md +0 -31
  382. package/docs/releases/v0.28.0.md +0 -32
  383. package/docs/releases/v0.29.0.md +0 -32
  384. package/docs/releases/v0.30.0.md +0 -30
  385. package/docs/releases/v0.30.1.md +0 -31
  386. package/docs/releases/v0.30.2.md +0 -30
  387. package/docs/releases/v0.30.3.md +0 -33
  388. package/docs/releases/v0.31.0.md +0 -33
  389. package/docs/releases/v0.32.0.md +0 -33
  390. package/docs/releases/v0.33.0.md +0 -34
  391. package/docs/releases/v0.34.0.md +0 -30
  392. package/docs/releases/v0.35.0.md +0 -33
  393. package/docs/releases/v0.36.0.md +0 -32
  394. package/docs/releases/v0.37.0.md +0 -33
  395. package/docs/releases/v0.38.0.md +0 -35
  396. package/docs/releases/v0.39.0.md +0 -35
  397. package/docs/releases/v0.40.0.md +0 -45
  398. package/docs/releases/v0.40.1.md +0 -34
  399. package/docs/releases/v1.0.0.md +0 -42
  400. package/docs/releases/v1.0.1.md +0 -38
  401. package/docs/releases/v1.0.2.md +0 -51
  402. package/docs/releases/v1.0.3.md +0 -37
  403. package/docs/releases/v1.0.4.md +0 -45
  404. package/docs/releases/v1.0.5.md +0 -41
  405. package/docs/releases/v1.0.6.md +0 -35
  406. package/docs/releases/v1.0.7.md +0 -36
  407. package/docs/releases/v1.1.0.md +0 -42
  408. package/docs/releases/v1.1.1.md +0 -44
  409. package/docs/releases/v1.1.2.md +0 -42
  410. package/docs/releases/v1.1.3.md +0 -36
  411. package/docs/releases/v1.1.4.md +0 -36
  412. package/docs/roadmap/README.md +0 -107
  413. package/docs/roadmap/v1.0-capability-conformance-framework.md +0 -582
  414. package/docs/roadmap/v1.0-choice-union-mode.md +0 -90
  415. package/docs/roadmap/v1.0-contract-audit.md +0 -75
  416. package/docs/roadmap/v1.0-json-array-streaming.md +0 -101
  417. package/docs/roadmap/v1.0-openapi-fastify-compatibility.md +0 -99
  418. package/docs/roadmap/v1.0-release-candidate-gates.md +0 -92
  419. package/docs/roadmap/v1.0-wsdl-coverage-matrix.md +0 -200
  420. package/docs/roadmap/v1.0-xs-anyattribute-wildcard-bag.md +0 -932
  421. package/src/runtime/jsonArray.ts +0 -55
  422. package/src/runtime/ndjson.ts +0 -32
@@ -0,0 +1,58 @@
1
+ import type { CanonicalGraph, GraphNode, NodeId, ParticleNode } from './canonicalGraph.js';
2
+ import type { SemanticContext } from './semanticContext.js';
3
+ import type { OriginalComplexParticleHandle, OriginalUrWildcardHandle, RawComplexContent } from './re01TypeProperties.js';
4
+ import type { RelationFailure } from './schemaTypeRelations.js';
5
+ import type { ResourceLimitFailure } from './semanticBudget.js';
6
+ export type ParticleContentView = Readonly<{
7
+ contextId: string;
8
+ type: NodeId;
9
+ scope: 'actual-source-mapping' | 'candidate-raw-properties' | 'original-property-projection' | 'builtin-type' | 'model-group';
10
+ /** Effective scalar reference, not a scalar/component-validity receipt.
11
+ * @remarks Actual and retained-source views preserve the source mapper's scalar reference;
12
+ * restrictions retain their registered GSC1 slot and extensions may inherit a named/builtin type.
13
+ * The scalar owner establishes properties, identity and remaining obligations. RAW views carry the supplied reference.
14
+ */
15
+ content: RawComplexContent;
16
+ /** Optional diagnostic materialization, charged on first access; semantic consumers use particleContentNode. */
17
+ graph: CanonicalGraph;
18
+ synthetic: readonly NodeId[];
19
+ urTypeWildcards: readonly NodeId[];
20
+ }>;
21
+ export type ContentViewResult = Readonly<{
22
+ kind: 'checked';
23
+ view: ParticleContentView;
24
+ }> | RelationFailure | ResourceLimitFailure;
25
+ export declare function assertParticleContentView(context: SemanticContext, view: ParticleContentView): void;
26
+ /** Constant-time authenticated semantic lookup, without a whole-graph projection. */
27
+ export declare function particleContentNode(context: SemanticContext, view: ParticleContentView, id: NodeId): GraphNode | undefined;
28
+ /** Source mapping is meaningful only in the actual source context. */
29
+ export declare function deriveActualComplexContent(context: SemanticContext, type: NodeId): ContentViewResult;
30
+ export type OriginalParticleResult = Readonly<{
31
+ kind: 'checked';
32
+ content: Extract<RawComplexContent, {
33
+ particle: NodeId;
34
+ }>;
35
+ }> | RelationFailure | ResourceLimitFailure;
36
+ /** Select the same source component, conditional on the separate actual-source
37
+ * qualification. Neither the source owner's nor its current-H validity is imported. */
38
+ export declare function deriveOriginalComplexParticle(context: SemanticContext, type: NodeId): OriginalParticleResult;
39
+ /** Private issuer authentication used before the context factory snapshots raw data. */
40
+ export declare function originalComplexParticleSource(context: SemanticContext, handle: OriginalComplexParticleHandle): ParticleContentView;
41
+ export type OriginalUrWildcardResult = Readonly<{
42
+ kind: 'checked';
43
+ handle: OriginalUrWildcardHandle;
44
+ }> | RelationFailure | ResourceLimitFailure;
45
+ /** Select one unchanged native leaf from an authenticated actual SOURCE whole. */
46
+ export declare function deriveOriginalUrWildcard(context: SemanticContext, original: OriginalComplexParticleHandle, particle: NodeId): OriginalUrWildcardResult;
47
+ /** Private authentication used by preparation and same-H content owners. */
48
+ export declare function originalUrWildcardSource(context: SemanticContext, handle: OriginalUrWildcardHandle): ParticleNode;
49
+ /** Raw candidate properties are read directly; their component validity remains a separate prerequisite. */
50
+ export declare function deriveRawComplexContent(context: SemanticContext, type: NodeId): ContentViewResult;
51
+ /** Retained source properties interpreted in H; scalar identities remain unchanged and full hypothetical validity stays separate. */
52
+ export declare function deriveOriginalComplexPropertyContent(context: SemanticContext, type: NodeId): ContentViewResult;
53
+ /** Same-H private subtree input for local predicates, never a component-validity receipt. */
54
+ export declare function deriveOriginalContentSubtree(context: SemanticContext, source: ParticleContentView, particle: NodeId): ContentViewResult;
55
+ /** The primary ur-type component, never inferred from an ordinary wildcard's spelling. */
56
+ export declare function deriveBuiltinAnyTypeContent(context: SemanticContext, anchor: NodeId): ContentViewResult;
57
+ /** Local model-group constraints also apply to definitions unused by any type. */
58
+ export declare function deriveModelGroupContent(context: SemanticContext, component: NodeId): ContentViewResult;
@@ -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; scalar identities remain unchanged and full hypothetical validity stays separate. */
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 === '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,32 @@
1
+ /** Sufficient dated correspondence for ordinary source components without endpoint-shadowing witnesses. */
2
+ import type { SchemaInput } from '../loader/schemaInput.js';
3
+ import type { NativeSourceConstruction } from './checkedSourcePreparation.js';
4
+ import type { ResourceLimitFailure, ResolverUsage } from './semanticBudget.js';
5
+ export declare const COMPONENT_CORRESPONDENCE: "dated-XSD-2004-components-v1";
6
+ export interface ComponentCorrespondence {
7
+ readonly kind: 'component-correspondence';
8
+ readonly basis: typeof COMPONENT_CORRESPONDENCE;
9
+ readonly scope: 'ordinary-source-components';
10
+ readonly interpretations: number;
11
+ readonly constructedContexts: number;
12
+ readonly usage: ResolverUsage;
13
+ }
14
+ export type ComponentCorrespondenceResult = ComponentCorrespondence | ResourceLimitFailure | Readonly<{
15
+ kind: 'inconclusive-correspondence';
16
+ rule: string;
17
+ path?: string;
18
+ usage: ResolverUsage;
19
+ }>;
20
+ /** Receipt identity binds correspondence to the exact fresh native construction, never a diagnostic digest. */
21
+ export declare function inspectComponentCorrespondence(value: ComponentCorrespondence, construction: NativeSourceConstruction): ComponentCorrespondence;
22
+ /** Audit a closed representation fragment after whole native construction; this is not a second schema checker.
23
+ * @remarks Source syntax/values and component legality remain the native S4S, construction and aggregate owners.
24
+ * This sufficient route excludes redefine/chameleon, identity/substitution, non-string unions and wider faceted families,
25
+ * source complex restrictions, contextual/explicit ur-type references, foreign attributes and endpoint-shadowing witnesses.
26
+ * Endpoint-shadowing witnesses remain inconclusive until component-valued TYPE/SCOPE interpretation is established.
27
+ * @returns An authenticated correspondence or an inconclusive scope/resource result; never a schema-invalid judgment.
28
+ * @throws TypeError For copied/foreign construction or source. Cancellation callbacks propagate unchanged.
29
+ */
30
+ export declare function checkComponentCorrespondence(input: SchemaInput, supplied: NativeSourceConstruction, options?: Readonly<{
31
+ check?: () => void;
32
+ }>): ComponentCorrespondenceResult;