@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,184 @@
1
+ /** Payload facade over the existing native scalar implementation; no source-validity or admission receipt. */
2
+ import { assertSemanticContext } from './semanticContext.js';
3
+ import { schemaScalarContext, SchemaAssessmentError, SchemaOperandContextError } from './schemaScalarContext.js';
4
+ import { scalarSchemaAssessment } from './scalarSchemaAssessment.js';
5
+ import { XSD_NAMESPACE } from '../loader/orderedSyntax.js';
6
+ import { types } from 'node:util';
7
+ import { occurrenceAlgebra } from './occurrenceAnalysis.js';
8
+ import { deriveActualComplexContent } from './complexTypeContent.js';
9
+ const kernels = new WeakMap();
10
+ function kernel(context) {
11
+ const base = schemaScalarContext(context);
12
+ let callerCheck;
13
+ let interrupted = false;
14
+ const check = () => {
15
+ try {
16
+ callerCheck?.();
17
+ }
18
+ catch (error) {
19
+ interrupted = true;
20
+ throw error;
21
+ }
22
+ };
23
+ const c = { ...base,
24
+ step(owner, count = 1) { check(); base.step(owner, count); },
25
+ text(value, owner) { check(); return base.text(value, owner); },
26
+ algebra: occurrenceAlgebra(() => { check(); base.step(); }), };
27
+ // The default scalar profile excludes document-wide identity/DTD/NOTATION duties.
28
+ // SOURCE formation remains the existing implementation; payload operands never become schema evidence.
29
+ const core = scalarSchemaAssessment(c);
30
+ const descriptions = new Map();
31
+ const references = new Map();
32
+ const owner = (declaration) => {
33
+ if (types.isProxy(declaration))
34
+ throw new TypeError('Expected exact native scalar declaration');
35
+ const id = Object.getOwnPropertyDescriptor(declaration, 'id');
36
+ if (!id || !('value' in id) || typeof id.value !== 'string')
37
+ throw new TypeError('Expected exact native scalar declaration');
38
+ const found = context.lookup(id.value);
39
+ if (found.kind !== 'found' || found.node !== declaration)
40
+ throw new TypeError('Expected exact native scalar declaration');
41
+ return declaration;
42
+ };
43
+ const describe = (declaration) => {
44
+ owner(declaration);
45
+ const cached = descriptions.get(declaration.id);
46
+ if (cached)
47
+ return cached;
48
+ let reference = declaration.type;
49
+ const type = context.resolve(declaration.type);
50
+ if (type.kind === 'found' && type.node.kind === 'complexType') {
51
+ const content = deriveActualComplexContent(context, type.node.id);
52
+ if (content.kind !== 'checked' || content.view.content.kind !== 'simple')
53
+ return Object.freeze({ kind: 'unavailable', rule: 'scalar-content-reference' });
54
+ reference = content.view.content.type;
55
+ }
56
+ const plan = core.ensure(reference, declaration);
57
+ const stringUnion = (candidate) => {
58
+ if (candidate.variety !== 'union' || !candidate.members?.length || candidate.obligations?.length)
59
+ return false;
60
+ for (const reference of candidate.members) {
61
+ check();
62
+ c.step(declaration);
63
+ const member = core.ensure(reference, declaration);
64
+ if (member.variety !== 'atomic' || member.primitive !== 'string' || member.obligations?.length)
65
+ return false;
66
+ }
67
+ return true;
68
+ };
69
+ const union = plan.variety === 'union';
70
+ if (union && !stringUnion(plan))
71
+ return Object.freeze({ kind: 'unavailable', rule: 'declared-scalar-union' });
72
+ if (plan.obligations?.length)
73
+ return Object.freeze({ kind: 'unavailable', rule: 'scalar-source-obligations' });
74
+ let item;
75
+ if (plan.variety === 'list') {
76
+ if (!plan.item)
77
+ return Object.freeze({ kind: 'unavailable', rule: 'scalar-list-item' });
78
+ const member = core.ensure(plan.item, declaration);
79
+ const unionItem = stringUnion(member);
80
+ if (member.variety !== 'atomic' && !unionItem)
81
+ return Object.freeze({ kind: 'unavailable', rule: 'scalar-list-item-' + member.variety });
82
+ if (member.obligations?.length || member.whitespace === 'member' && !unionItem)
83
+ return Object.freeze({ kind: 'unavailable', rule: 'scalar-list-item-source-obligations' });
84
+ const local = unionItem ? 'string' : member.builtin ?? member.primitive;
85
+ if (!local)
86
+ return Object.freeze({ kind: 'unavailable', rule: 'scalar-list-item-representation' });
87
+ context.budget.chargeWork(64);
88
+ item = Object.freeze({ builtin: Object.freeze({ namespace: XSD_NAMESPACE, local }), whitespace: unionItem ? 'preserve' : member.whitespace,
89
+ ...(unionItem || member.layers.some(layer => layer.patterns.length > 0) ? { retainLexical: true } : {}) });
90
+ }
91
+ const local = union ? 'string' : item?.builtin.local ?? plan.builtin ?? plan.primitive;
92
+ if (!local)
93
+ return Object.freeze({ kind: 'unavailable', rule: 'scalar-representation' });
94
+ context.budget.chargeWork(64 + declaration.id.length);
95
+ const retainLexical = union || plan.layers.some(layer => layer.patterns.length > 0);
96
+ const result = Object.freeze({ kind: 'projection-scalar-type', builtin: Object.freeze({ namespace: XSD_NAMESPACE, local }),
97
+ ...(retainLexical ? { retainLexical: true } : {}), ...(item ? { list: item } : {}) });
98
+ descriptions.set(declaration.id, result);
99
+ references.set(declaration.id, reference);
100
+ return result;
101
+ };
102
+ const failure = (error, operand) => {
103
+ if (error instanceof SchemaOperandContextError)
104
+ return Object.freeze({ kind: 'unavailable', rule: error.rule });
105
+ if (!(error instanceof SchemaAssessmentError))
106
+ throw error;
107
+ return Object.freeze({ kind: operand && error.category === 'invalid-schema' ? 'scalar-invalid' : 'unavailable', rule: error.rule });
108
+ };
109
+ return {
110
+ describe(declaration, cooperative) {
111
+ const previous = callerCheck;
112
+ callerCheck = cooperative;
113
+ interrupted = false;
114
+ try {
115
+ return context.budget.guard(() => {
116
+ try {
117
+ return describe(declaration);
118
+ }
119
+ catch (error) {
120
+ return failure(error, false);
121
+ }
122
+ });
123
+ }
124
+ finally {
125
+ if (interrupted)
126
+ kernels.delete(context);
127
+ callerCheck = previous;
128
+ }
129
+ },
130
+ assess(declaration, supplied, cooperative) {
131
+ const previous = callerCheck;
132
+ callerCheck = cooperative;
133
+ interrupted = false;
134
+ try {
135
+ return context.budget.guard(() => {
136
+ let operand = false;
137
+ try {
138
+ const description = describe(declaration);
139
+ if (description.kind !== 'projection-scalar-type')
140
+ return description;
141
+ const input = context.budget.freeze(context.budget.snapshot(supplied));
142
+ // GraphContext here is calculation data, not a source/context receipt. Namespace and source facts come from the payload.
143
+ const lexical = { value: input.value, context: { ...declaration.context,
144
+ namespaces: input.context.namespaces, source: input.context.source, baseUri: input.context.source.uri } };
145
+ operand = true;
146
+ const value = core.assess(references.get(declaration.id), lexical, declaration);
147
+ context.budget.chargeWork(16);
148
+ return Object.freeze({ kind: 'projection-scalar-operand', operand: value });
149
+ }
150
+ catch (error) {
151
+ return failure(error, operand);
152
+ }
153
+ });
154
+ }
155
+ finally {
156
+ if (interrupted)
157
+ kernels.delete(context);
158
+ callerCheck = previous;
159
+ }
160
+ },
161
+ };
162
+ }
163
+ function get(context) {
164
+ assertSemanticContext(context);
165
+ if (context.kind !== 'actual')
166
+ throw new TypeError('Payload scalar projection requires actual source');
167
+ let result = kernels.get(context);
168
+ if (!result) {
169
+ context.budget.chargeWork(16);
170
+ result = kernel(context);
171
+ kernels.set(context, result);
172
+ }
173
+ return result;
174
+ }
175
+ /** Native declaration lookup and source-type formation precede any payload calculation. */
176
+ export function describeProjectionScalar(context, declaration, check) {
177
+ assertSemanticContext(context);
178
+ return context.budget.guard(() => get(context).describe(declaration, check));
179
+ }
180
+ /** A successful calculation is payload-only data; it grants no schema, operation or portable artifact authority. */
181
+ export function assessProjectionScalarOperand(context, declaration, lexical, check) {
182
+ assertSemanticContext(context);
183
+ return context.budget.guard(() => get(context).assess(declaration, lexical, check));
184
+ }
@@ -0,0 +1,95 @@
1
+ import type { NodeId } from './canonicalGraph.js';
2
+ import type { CandidatePreparation, SemanticCandidateDelta, SemanticContext } from './semanticContext.js';
3
+ import type { CorrespondenceFailure } from './re01CandidateCorrespondence.js';
4
+ import type { SemanticTypeReference, SemanticTypeDependency } from './semanticTypeReference.js';
5
+ import type { ScalarObligation } from './scalarSchemaAssessment.js';
6
+ import type { ResourceLimitFailure } from './semanticBudget.js';
7
+ import type { FiniteRe01EvidenceNode } from './finiteRe01Verification.js';
8
+ /**
9
+ * The retained context plus one native delta is the shared physical assignment.
10
+ * BASE/TYPE/SCOPE/SG, BODY/CODE, scalar first modes, providers, WORD/maps and
11
+ * VALUE slots retain their actual identities; no projected scalar palette is
12
+ * copied into a second graph. New producers must assemble their choices into
13
+ * this same native representation before replay, not supply independent receipts.
14
+ */
15
+ export type SharedRe01Assignment = Readonly<{
16
+ kind: 'prepared-local-assignment';
17
+ family: 'inherited-primitive-middle-v1' | 'fresh-source-middle-v1';
18
+ actual: SemanticContext;
19
+ parent: SemanticContext;
20
+ target: NodeId;
21
+ intermediate: NodeId;
22
+ ancestor: SemanticTypeReference;
23
+ delta: SemanticCandidateDelta;
24
+ /** Preparation duties remain pending until the complete native forest checks. */
25
+ scalarObligations: readonly ScalarObligation[];
26
+ typeDependencies: readonly SemanticTypeDependency[];
27
+ introducedStoredNonprimitive: 0;
28
+ }>;
29
+ export type InheritedAssignments = Readonly<{
30
+ kind: 'prepared-inherited-assignments';
31
+ assignments: readonly SharedRe01Assignment[];
32
+ /** Exhausting this subfamily cannot establish full nonexistence. */
33
+ universalCoverage: false;
34
+ }>;
35
+ export type AssignmentPreparation = InheritedAssignments | CorrespondenceFailure | ResourceLimitFailure;
36
+ /** Derive every retained E-over-designated-ancestor middle, without a caller roster or old witness. */
37
+ export declare function prepareInheritedMiddleAssignments(actual: SemanticContext, parent: SemanticContext, target: NodeId): AssignmentPreparation;
38
+ export type FreshAssignments = Readonly<{
39
+ kind: 'prepared-fresh-assignments';
40
+ assignments: readonly SharedRe01Assignment[];
41
+ universalCoverage: false;
42
+ }>;
43
+ /**
44
+ * Propose one fresh E from native target properties over the designated ancestor.
45
+ * @remarks E preserves target attribute identities; its body is supplied by native source properties,
46
+ * or the simple ancestor itself. For particle content, native extension checking must establish the retained prefix.
47
+ * Native correspondence and finite closure decide legality.
48
+ * Declining this limited family proves no nonexistence or dated-XSD eligibility.
49
+ */
50
+ export declare function prepareFreshMiddleAssignments(actual: SemanticContext, parent: SemanticContext, target: NodeId): FreshAssignments | CorrespondenceFailure | ResourceLimitFailure;
51
+ /** Replay only. A local node must be placed in its enclosing actual-root forest. */
52
+ export declare function replaySharedAssignment(assignment: SharedRe01Assignment): Readonly<{
53
+ kind: 'prepared-local-evidence';
54
+ evidence: FiniteRe01EvidenceNode;
55
+ }> | Exclude<CandidatePreparation, {
56
+ kind: 'prepared';
57
+ }>;
58
+ export type AdditiveRestrictionPreparation = Readonly<{
59
+ kind: 'prepared-additive-restriction';
60
+ actual: SemanticContext;
61
+ context: SemanticContext;
62
+ target: NodeId;
63
+ intermediate: NodeId;
64
+ representative: NodeId;
65
+ scalarObligations: readonly ScalarObligation[];
66
+ typeDependencies: readonly SemanticTypeDependency[];
67
+ }>;
68
+ export type AdditiveMiddlePreparation = Readonly<{
69
+ kind: 'prepared-additive-middle';
70
+ actual: SemanticContext;
71
+ context: SemanticContext;
72
+ target: NodeId;
73
+ intermediate: NodeId;
74
+ ancestor: SemanticTypeReference;
75
+ scalarObligations: readonly ScalarObligation[];
76
+ typeDependencies: readonly SemanticTypeDependency[];
77
+ }>;
78
+ /** Propose only a fresh extension middle; the actual target is never replaced or represented by another type.
79
+ * @remarks Native local construction, dependency closure and any paired restriction predicate remain separate checks.
80
+ * @returns An additive native context or explicit unavailability/resource result.
81
+ * @throws TypeError For a non-actual context.
82
+ */
83
+ export declare function prepareAdditiveExtensionMiddle(actual: SemanticContext, target: NodeId): AdditiveMiddlePreparation | CorrespondenceFailure | ResourceLimitFailure | Exclude<CandidatePreparation, {
84
+ kind: 'prepared';
85
+ }>;
86
+ /** Propose fresh extension and restriction representatives without replacing any actual component.
87
+ * @remarks The restriction representative has the target's effective properties with a fresh identity and base.
88
+ * This is construction input, not a derivation or correspondence certificate. Native checking, dependency closure
89
+ * and the relation between the representative and the original target remain separate obligations.
90
+ * @returns A native prepared additive context or an explicit unavailable/resource result.
91
+ * @throws TypeError For a non-actual context.
92
+ */
93
+ export declare function prepareAdditiveRestrictionRepresentative(actual: SemanticContext, target: NodeId): AdditiveRestrictionPreparation | CorrespondenceFailure | ResourceLimitFailure | Exclude<CandidatePreparation, {
94
+ kind: 'prepared';
95
+ }>;
@@ -0,0 +1,341 @@
1
+ /** Input-derived finite middle recipes; neither a complete catalogue nor dated-XSD admission. */
2
+ import { createHash } from 'node:crypto';
3
+ import { globalId } from './canonicalGraph.js';
4
+ import { allocateHypotheticalScopedIdentity, semanticIdentityTuple } from './hypotheticalScopedIdentity.js';
5
+ import { assertSemanticContext, contextsShareRequest, forkSemanticCandidate } from './semanticContext.js';
6
+ import { deriveActualComplexContent, deriveOriginalComplexParticle } from './complexTypeContent.js';
7
+ import { assessSourceAttributeUses } from './schemaAttributeUses.js';
8
+ import { declarationMethods, immediateTypeBase } from './schemaTypeRelations.js';
9
+ import { resolveSemanticType, semanticTypeKey } from './schemaTypeIdentity.js';
10
+ import { re01Ancestor } from './re01CandidateCorrespondence.js';
11
+ const issued = new WeakSet();
12
+ /** Reconstruct only through native property owners; a producer cannot issue validity evidence. */
13
+ function mapSharedProperties(actual, parent, node, scalarObligations, typeDependencies, outside) {
14
+ const b = parent.budget;
15
+ const prior = parent.rawTypeProperties(node.id);
16
+ if (prior)
17
+ return prior;
18
+ if (!(parent.kind === 'actual' ? parent.originalComplexContentSource(node.id) : parent.originalComplexPropertySource(node.id)))
19
+ return outside('assignment-target-properties', 'Inherited fresh or changed types require native RAW properties');
20
+ const content = deriveActualComplexContent(actual, node.id);
21
+ if (content.kind !== 'checked')
22
+ return content.kind === 'resource-limit' ? content : outside(content.rule, content.message);
23
+ let body = content.view.content;
24
+ if ('particle' in body) {
25
+ const whole = deriveOriginalComplexParticle(actual, node.id);
26
+ if (whole.kind !== 'checked')
27
+ return whole.kind === 'resource-limit' ? whole : outside(whole.rule, whole.message);
28
+ body = whole.content;
29
+ }
30
+ // @why Keep genuine named/builtin/inherited scalar references; only restrictions own registered GSC1 slots.
31
+ const attributes = assessSourceAttributeUses(actual, node.id);
32
+ if (attributes.kind !== 'checked')
33
+ return attributes;
34
+ for (const obligation of attributes.scalarObligations) {
35
+ b.chargeWork();
36
+ scalarObligations.push(obligation);
37
+ }
38
+ for (const dependency of attributes.typeDependencies) {
39
+ b.chargeWork();
40
+ typeDependencies.push(dependency);
41
+ }
42
+ b.chargeWork(24 + attributes.value.uses.length);
43
+ return { type: node.id, targetNamespace: node.context.effectiveNamespace,
44
+ derivation: { method: node.derivation?.kind ?? 'restriction', base: node.derivation?.base ?? { kind: 'builtin', name: { namespace: 'http://www.w3.org/2001/XMLSchema', local: 'anyType' } } }, abstract: node.abstract,
45
+ final: declarationMethods(actual, node, 'final'),
46
+ block: declarationMethods(actual, node, 'block'), content: body,
47
+ attributeUses: attributes.value.uses.map(use => use.id), wildcard: attributes.value.wildcard,
48
+ provenance: { kind: 'actual-mapped', original: node.id } };
49
+ }
50
+ /** Derive every retained E-over-designated-ancestor middle, without a caller roster or old witness. */
51
+ export function prepareInheritedMiddleAssignments(actual, parent, target) {
52
+ assertSemanticContext(actual);
53
+ assertSemanticContext(parent);
54
+ const b = parent.budget;
55
+ return b.guard(() => {
56
+ b.chargeWork(16 + target.length);
57
+ if (!contextsShareRequest(actual, parent) || actual !== parent.originalContext())
58
+ throw new TypeError('Expected the actual context of this request');
59
+ const outside = (rule, message) => {
60
+ b.chargeWork(12 + rule.length + message.length);
61
+ return Object.freeze({ kind: 'unresolved', rule, message, component: target, contextId: parent.contextId });
62
+ };
63
+ if (actual.kind !== 'actual' || actual.membership !== 'complete-actual-plus-additions' || parent.membership !== 'complete-actual-plus-additions')
64
+ return outside('complete-domain-membership', 'The assignment requires complete actual and inherited membership');
65
+ const selected = parent.lookup(target);
66
+ if (selected.kind !== 'found' || selected.node.kind !== 'complexType')
67
+ return outside('assignment-target', 'An available complex target is required');
68
+ const current = parent.rawTypeProperties(target);
69
+ if ((current?.derivation.method ?? selected.node.derivation?.kind) !== 'extension')
70
+ return outside('assignment-target', 'This recipe family handles complex extension targets');
71
+ const designated = re01Ancestor(parent, target);
72
+ if (designated.kind !== 'checked')
73
+ return designated;
74
+ const ancestor = resolveSemanticType(parent, designated.ancestor);
75
+ if (!('identity' in ancestor))
76
+ return outside('ancestor-domain', 'The designated ancestor must be available');
77
+ const ancestorKey = semanticTypeKey(parent, ancestor.identity);
78
+ const scalarObligations = [];
79
+ b.chargeWork(2);
80
+ const typeDependencies = [];
81
+ for (const dependency of designated.typeDependencies) {
82
+ b.chargeWork();
83
+ typeDependencies.push(dependency);
84
+ }
85
+ const mapProperties = (node) => mapSharedProperties(actual, parent, node, scalarObligations, typeDependencies, outside);
86
+ const properties = mapProperties(selected.node);
87
+ if ('kind' in properties)
88
+ return properties;
89
+ b.chargeWork(2);
90
+ const assignments = [];
91
+ for (const middleId of parent.members) {
92
+ b.chargeWork(8 + middleId.length);
93
+ if (middleId === target)
94
+ continue;
95
+ const found = parent.lookup(middleId);
96
+ if (found.kind !== 'found' || found.node.kind !== 'complexType')
97
+ continue;
98
+ const row = parent.rawTypeProperties(middleId);
99
+ if ((row?.derivation.method ?? found.node.derivation?.kind) !== 'extension')
100
+ continue;
101
+ const base = immediateTypeBase(parent, { kind: 'local', target: middleId });
102
+ if (base.kind !== 'checked')
103
+ return base.kind === 'resource-limit' ? base : outside(base.rule, base.message);
104
+ if (!base.value)
105
+ continue;
106
+ const resolved = resolveSemanticType(parent, base.value);
107
+ if (!('identity' in resolved))
108
+ return outside('middle-base', 'An inherited middle has an unavailable BASE');
109
+ if (b.compareText(semanticTypeKey(parent, resolved.identity), ancestorKey) !== 0)
110
+ continue;
111
+ const middle = mapProperties(found.node);
112
+ if ('kind' in middle)
113
+ return middle;
114
+ b.chargeWork(24);
115
+ const reference = { kind: 'local', target: middleId };
116
+ const endpoint = { ...selected.node,
117
+ derivation: { kind: 'restriction', contentKind: properties.content.kind === 'simple' ? 'simple' : 'complex', base: reference, facets: [] } };
118
+ // The inputs here are authenticated immutable records. Preserve opaque
119
+ // SOURCE particle handles by identity; a generic snapshot loses authority.
120
+ b.chargeWork('inherited-middle:'.length + target.length + 1 + middleId.length);
121
+ const delta = b.freeze({ key: 'inherited-middle:' + target + ':' + middleId, active: parent.members,
122
+ endpoint, additions: [], rawTypes: [{ ...properties, derivation: { method: 'restriction', base: reference } },
123
+ ...(row ? [] : [middle])] });
124
+ b.chargeWork(4 + typeDependencies.length + base.typeDependencies.length);
125
+ const dependencies = b.freeze(b.snapshot([...typeDependencies, ...base.typeDependencies]));
126
+ const obligations = b.freeze(b.snapshot(scalarObligations));
127
+ b.chargeWork(20);
128
+ const assignment = Object.freeze({ kind: 'prepared-local-assignment', family: 'inherited-primitive-middle-v1',
129
+ actual, parent, target, intermediate: middleId, ancestor: designated.ancestor, delta,
130
+ scalarObligations: obligations, typeDependencies: dependencies, introducedStoredNonprimitive: 0 });
131
+ issued.add(assignment);
132
+ assignments.push(assignment);
133
+ }
134
+ b.chargeWork(4 + assignments.length);
135
+ return Object.freeze({ kind: 'prepared-inherited-assignments', assignments: Object.freeze(assignments), universalCoverage: false });
136
+ });
137
+ }
138
+ /**
139
+ * Propose one fresh E from native target properties over the designated ancestor.
140
+ * @remarks E preserves target attribute identities; its body is supplied by native source properties,
141
+ * or the simple ancestor itself. For particle content, native extension checking must establish the retained prefix.
142
+ * Native correspondence and finite closure decide legality.
143
+ * Declining this limited family proves no nonexistence or dated-XSD eligibility.
144
+ */
145
+ export function prepareFreshMiddleAssignments(actual, parent, target) {
146
+ assertSemanticContext(actual);
147
+ assertSemanticContext(parent);
148
+ const b = parent.budget;
149
+ return b.guard(() => {
150
+ b.chargeWork(16 + target.length);
151
+ if (!contextsShareRequest(actual, parent) || actual !== parent.originalContext())
152
+ throw new TypeError('Expected one actual native request');
153
+ const outside = (rule, message) => Object.freeze({ kind: 'unresolved', rule, message, component: target, contextId: parent.contextId });
154
+ if (actual.kind !== 'actual' || actual.membership !== 'complete-actual-plus-additions' || parent.membership !== 'complete-actual-plus-additions')
155
+ return outside('complete-domain-membership', 'Fresh construction requires complete actual and parent membership');
156
+ const selected = parent.lookup(target);
157
+ if (selected.kind !== 'found' || selected.node.kind !== 'complexType')
158
+ return outside('assignment-target', 'An available complex extension is required');
159
+ const scalarObligations = [], typeDependencies = [];
160
+ const properties = mapSharedProperties(actual, parent, selected.node, scalarObligations, typeDependencies, outside);
161
+ if ('kind' in properties)
162
+ return properties;
163
+ if (properties.derivation.method !== 'extension')
164
+ return outside('assignment-target', 'This family handles extension targets');
165
+ const designated = re01Ancestor(parent, target);
166
+ if (designated.kind !== 'checked')
167
+ return designated;
168
+ typeDependencies.push(...designated.typeDependencies);
169
+ const ancestor = resolveSemanticType(parent, designated.ancestor);
170
+ let body = properties.content;
171
+ if (ancestor.kind === 'builtin' && ancestor.name.local !== 'anyType')
172
+ body = { kind: 'simple', type: designated.ancestor };
173
+ else if (ancestor.kind === 'component' && ancestor.node.kind === 'complexType') {
174
+ const source = mapSharedProperties(actual, parent, ancestor.node, scalarObligations, typeDependencies, outside);
175
+ if ('kind' in source)
176
+ return source;
177
+ if (source.content.kind === 'simple')
178
+ body = source.content;
179
+ else if (source.content.kind === 'opaque-builtin')
180
+ return outside('fresh-middle-content-family', 'Opaque ancestor content is not represented');
181
+ }
182
+ else
183
+ return outside('fresh-middle-content-family', 'The designated ancestor is outside this family');
184
+ if (designated.ancestor.kind === 'original-generated')
185
+ return outside('fresh-middle-base-family', 'A canonical carrier base is required');
186
+ const namespace = properties.targetNamespace ?? selected.node.context.effectiveNamespace;
187
+ let ordinal = 0, name, intermediate;
188
+ do {
189
+ b.chargeWork(128 + target.length);
190
+ name = { namespace, local: 'Re01Middle_' + createHash('sha256').update(target + ':' + ordinal++).digest('hex').slice(0, 24) };
191
+ intermediate = globalId('type', name);
192
+ } while (parent.lookup(intermediate).kind !== 'missing');
193
+ const middle = { ...selected.node, id: intermediate, identity: { kind: 'global', role: 'type', name },
194
+ context: { ...selected.node.context, effectiveNamespace: namespace }, mixed: body.kind === 'mixed', abstract: false,
195
+ content: undefined, attributes: [], declaredAttributes: [], annotations: [], retained: [], syntaxDetails: [],
196
+ derivation: { kind: 'extension', contentKind: body.kind === 'simple' ? 'simple' : 'complex', base: designated.ancestor, facets: [] } };
197
+ const base = { kind: 'local', target: intermediate };
198
+ const endpoint = { ...selected.node,
199
+ derivation: { kind: 'restriction', contentKind: properties.content.kind === 'simple' ? 'simple' : 'complex', base, facets: [] } };
200
+ const rawMiddle = { type: intermediate, targetNamespace: namespace,
201
+ derivation: { method: 'extension', base: designated.ancestor }, abstract: false, final: [], block: [], content: body,
202
+ attributeUses: properties.attributeUses, wildcard: properties.wildcard,
203
+ provenance: { kind: 'hypothetical-abstract', originals: [target] } };
204
+ const delta = b.freeze({ key: 'fresh-source-middle:' + target + ':' + intermediate, endpoint, additions: [middle],
205
+ active: [...parent.members, intermediate], rawTypes: [{ ...properties, derivation: { method: 'restriction', base } }, rawMiddle] });
206
+ const assignment = Object.freeze({ kind: 'prepared-local-assignment', family: 'fresh-source-middle-v1',
207
+ actual, parent, target, intermediate, ancestor: designated.ancestor, delta,
208
+ scalarObligations: b.freeze(b.snapshot(scalarObligations)), typeDependencies: b.freeze(b.snapshot(typeDependencies)), introducedStoredNonprimitive: 0 });
209
+ issued.add(assignment);
210
+ return Object.freeze({ kind: 'prepared-fresh-assignments', assignments: Object.freeze([assignment]), universalCoverage: false });
211
+ });
212
+ }
213
+ /** Replay only. A local node must be placed in its enclosing actual-root forest. */
214
+ export function replaySharedAssignment(assignment) {
215
+ if (!issued.has(assignment))
216
+ throw new TypeError('Unauthenticated shared assignment');
217
+ const b = assignment.parent.budget;
218
+ return b.guard(() => {
219
+ const built = forkSemanticCandidate(assignment.parent, assignment.delta);
220
+ if (built.kind !== 'prepared')
221
+ return built;
222
+ b.chargeWork(16);
223
+ return Object.freeze({ kind: 'prepared-local-evidence', evidence: Object.freeze({ id: assignment.delta.key,
224
+ parent: assignment.parent, context: built.context, target: assignment.target, intermediate: assignment.intermediate,
225
+ ancestor: assignment.ancestor, premises: Object.freeze([]) }) });
226
+ });
227
+ }
228
+ /** Propose only a fresh extension middle; the actual target is never replaced or represented by another type.
229
+ * @remarks Native local construction, dependency closure and any paired restriction predicate remain separate checks.
230
+ * @returns An additive native context or explicit unavailability/resource result.
231
+ * @throws TypeError For a non-actual context.
232
+ */
233
+ export function prepareAdditiveExtensionMiddle(actual, target) {
234
+ assertSemanticContext(actual);
235
+ if (actual.kind !== 'actual')
236
+ throw new TypeError('Actual source context required');
237
+ const b = actual.budget;
238
+ return b.guard(() => {
239
+ const proposed = prepareFreshMiddleAssignments(actual, actual, target);
240
+ if (proposed.kind !== 'prepared-fresh-assignments')
241
+ return proposed;
242
+ const assignment = proposed.assignments[0];
243
+ if (!assignment)
244
+ return Object.freeze({ kind: 'unresolved', rule: 'additive-middle-family', component: target,
245
+ message: 'The limited fresh-middle family supplied no assignment' });
246
+ const source = assessSourceAttributeUses(actual, target);
247
+ if (source.kind !== 'checked')
248
+ return source;
249
+ const middle = assignment.delta.additions[0];
250
+ if (middle.kind !== 'complexType')
251
+ throw new TypeError('Fresh complex middle required');
252
+ const raw = assignment.delta.rawTypes.find(properties => properties.type === assignment.intermediate);
253
+ b.chargeWork(16);
254
+ const additions = [], uses = [];
255
+ const forbiddenIds = new Set(), forbiddenTuples = new Set();
256
+ const allocate = (role) => {
257
+ const allocated = allocateHypotheticalScopedIdentity(middle.id, role, forbiddenIds, forbiddenTuples, b.chargeWork);
258
+ b.chargeWork(4 + allocated.id.length);
259
+ forbiddenIds.add(allocated.id);
260
+ forbiddenTuples.add(semanticIdentityTuple(allocated.identity, b.chargeWork));
261
+ return allocated;
262
+ };
263
+ for (const use of source.value.uses) {
264
+ b.chargeWork(32);
265
+ let declaration = use.declaration;
266
+ if (declaration.identity.kind !== 'global') {
267
+ // @why A fresh middle must own its local declarations; a reference to a D-scoped declaration is not an E scope.
268
+ if (declaration.name.namespace !== '' && declaration.name.namespace !== raw.targetNamespace)
269
+ return Object.freeze({ kind: 'unresolved',
270
+ rule: 'additive-owned-attribute-namespace', component: target, message: 'A foreign qualified local attribute is outside this fresh-owned family' });
271
+ const slot = allocate('attribute');
272
+ const copied = { ...declaration, id: slot.id, identity: slot.identity, value: undefined,
273
+ declaredAttributes: [], syntaxDetails: [], retained: [] };
274
+ declaration = copied;
275
+ additions.push(copied);
276
+ }
277
+ const slot = allocate('attributeUse');
278
+ const copied = { ...use.source, id: slot.id, identity: slot.identity,
279
+ declaration: { kind: 'local', target: declaration.id }, use: use.required ? 'required' : 'optional',
280
+ value: use.effective ? { kind: use.effective.kind, lexical: use.effective.value.lexical } : undefined,
281
+ declaredAttributes: [], syntaxDetails: [], retained: [] };
282
+ b.chargeWork(24);
283
+ additions.push(copied);
284
+ uses.push(copied.id);
285
+ }
286
+ const delta = b.freeze({ key: 'additive-middle-owned-attributes:' + assignment.delta.key,
287
+ additions: [{ ...middle, attributes: uses }, ...additions], active: [...actual.members, middle.id, ...additions.map(node => node.id)],
288
+ rawTypes: [{ ...raw, attributeUses: uses }] });
289
+ const built = forkSemanticCandidate(actual, delta);
290
+ if (built.kind !== 'prepared')
291
+ return built;
292
+ b.chargeWork(128);
293
+ return Object.freeze({ kind: 'prepared-additive-middle', actual, context: built.context, target,
294
+ intermediate: assignment.intermediate, ancestor: assignment.ancestor,
295
+ scalarObligations: b.freeze([...assignment.scalarObligations, ...source.scalarObligations]),
296
+ typeDependencies: b.freeze([...assignment.typeDependencies, ...source.typeDependencies]) });
297
+ });
298
+ }
299
+ /** Propose fresh extension and restriction representatives without replacing any actual component.
300
+ * @remarks The restriction representative has the target's effective properties with a fresh identity and base.
301
+ * This is construction input, not a derivation or correspondence certificate. Native checking, dependency closure
302
+ * and the relation between the representative and the original target remain separate obligations.
303
+ * @returns A native prepared additive context or an explicit unavailable/resource result.
304
+ * @throws TypeError For a non-actual context.
305
+ */
306
+ export function prepareAdditiveRestrictionRepresentative(actual, target) {
307
+ assertSemanticContext(actual);
308
+ if (actual.kind !== 'actual')
309
+ throw new TypeError('Actual source context required');
310
+ const b = actual.budget;
311
+ return b.guard(() => {
312
+ const proposed = prepareFreshMiddleAssignments(actual, actual, target);
313
+ if (proposed.kind !== 'prepared-fresh-assignments')
314
+ return proposed;
315
+ const assignment = proposed.assignments[0];
316
+ if (!assignment)
317
+ return Object.freeze({ kind: 'unresolved', rule: 'additive-restriction-family', component: target,
318
+ message: 'The limited fresh-middle family supplied no assignment' });
319
+ const endpoint = assignment.delta.endpoint;
320
+ const properties = assignment.delta.rawTypes.find(properties => properties.type === target);
321
+ const namespace = properties.targetNamespace ?? endpoint.context.effectiveNamespace;
322
+ let ordinal = 0, name, representative;
323
+ do {
324
+ b.chargeWork(128 + target.length);
325
+ name = { namespace, local: 'Re01Restriction_' + createHash('sha256').update(target + ':' + ordinal++).digest('hex').slice(0, 24) };
326
+ representative = globalId('type', name);
327
+ } while (representative === assignment.intermediate || actual.lookup(representative).kind !== 'missing');
328
+ const node = { ...endpoint, id: representative, identity: { kind: 'global', role: 'type', name } };
329
+ const delta = b.freeze({ key: 'additive-restriction:' + assignment.delta.key,
330
+ additions: [...assignment.delta.additions, node], active: [...assignment.delta.active, representative],
331
+ rawTypes: [...assignment.delta.rawTypes.filter(properties => properties.type !== target),
332
+ { ...properties, type: representative, provenance: { kind: 'hypothetical-abstract', originals: [target] } }] });
333
+ const built = forkSemanticCandidate(actual, delta);
334
+ if (built.kind !== 'prepared')
335
+ return built;
336
+ b.chargeWork(128);
337
+ return Object.freeze({ kind: 'prepared-additive-restriction', actual, context: built.context,
338
+ target, intermediate: assignment.intermediate, representative,
339
+ scalarObligations: assignment.scalarObligations, typeDependencies: assignment.typeDependencies });
340
+ });
341
+ }