@techspokes/typescript-wsdl-client 1.1.4 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/README.md +49 -1
  2. package/dist/app/generateApp.d.ts.map +1 -1
  3. package/dist/app/generateApp.js +8 -6
  4. package/dist/cli.js +49 -5
  5. package/dist/client/checkedDirectRuntime.d.ts +59 -0
  6. package/dist/client/checkedDirectRuntime.d.ts.map +1 -0
  7. package/dist/client/checkedDirectRuntime.js +23 -0
  8. package/dist/client/directClientRuntime.d.ts +49 -0
  9. package/dist/client/directClientRuntime.d.ts.map +1 -0
  10. package/dist/client/directClientRuntime.js +112 -0
  11. package/dist/client/directClientVersion.d.ts +4 -0
  12. package/dist/client/directClientVersion.d.ts.map +1 -0
  13. package/dist/client/directClientVersion.js +3 -0
  14. package/dist/client/generateDirectClient.d.ts +14 -0
  15. package/dist/client/generateDirectClient.d.ts.map +1 -0
  16. package/dist/client/generateDirectClient.js +136 -0
  17. package/dist/compiler/buildCanonicalGraph.d.ts +7 -0
  18. package/dist/compiler/buildCanonicalGraph.d.ts.map +1 -0
  19. package/dist/compiler/buildCanonicalGraph.js +381 -0
  20. package/dist/compiler/canonicalGraph.d.ts +198 -0
  21. package/dist/compiler/canonicalGraph.d.ts.map +1 -0
  22. package/dist/compiler/canonicalGraph.js +37 -0
  23. package/dist/compiler/catalogErrors.d.ts +18 -0
  24. package/dist/compiler/catalogErrors.d.ts.map +1 -0
  25. package/dist/compiler/catalogErrors.js +86 -0
  26. package/dist/compiler/catalogProvenance.d.ts +15 -0
  27. package/dist/compiler/catalogProvenance.d.ts.map +1 -0
  28. package/dist/compiler/catalogProvenance.js +229 -0
  29. package/dist/compiler/checkedAssessment.d.ts +91 -0
  30. package/dist/compiler/checkedAssessment.d.ts.map +1 -0
  31. package/dist/compiler/checkedAssessment.js +300 -0
  32. package/dist/compiler/checkedSourcePreparation.d.ts +35 -0
  33. package/dist/compiler/checkedSourcePreparation.d.ts.map +1 -0
  34. package/dist/compiler/checkedSourcePreparation.js +131 -0
  35. package/dist/compiler/complexTypeContent.d.ts +59 -0
  36. package/dist/compiler/complexTypeContent.d.ts.map +1 -0
  37. package/dist/compiler/complexTypeContent.js +558 -0
  38. package/dist/compiler/composeCanonicalGraph.d.ts +69 -0
  39. package/dist/compiler/composeCanonicalGraph.d.ts.map +1 -0
  40. package/dist/compiler/composeCanonicalGraph.js +252 -0
  41. package/dist/compiler/dataOwnership.d.ts +22 -0
  42. package/dist/compiler/dataOwnership.d.ts.map +1 -0
  43. package/dist/compiler/dataOwnership.js +157 -0
  44. package/dist/compiler/datatypeValues.d.ts +47 -0
  45. package/dist/compiler/datatypeValues.d.ts.map +1 -0
  46. package/dist/compiler/datatypeValues.js +275 -0
  47. package/dist/compiler/directCodec.d.ts +59 -0
  48. package/dist/compiler/directCodec.d.ts.map +1 -0
  49. package/dist/compiler/directCodec.js +192 -0
  50. package/dist/compiler/directExecutionPolicy.d.ts +10 -0
  51. package/dist/compiler/directExecutionPolicy.d.ts.map +1 -0
  52. package/dist/compiler/directExecutionPolicy.js +17 -0
  53. package/dist/compiler/directOperation.d.ts +72 -0
  54. package/dist/compiler/directOperation.d.ts.map +1 -0
  55. package/dist/compiler/directOperation.js +282 -0
  56. package/dist/compiler/directSoap.d.ts +42 -0
  57. package/dist/compiler/directSoap.d.ts.map +1 -0
  58. package/dist/compiler/directSoap.js +298 -0
  59. package/dist/compiler/directSoapSource.d.ts +15 -0
  60. package/dist/compiler/directSoapSource.d.ts.map +1 -0
  61. package/dist/compiler/directSoapSource.js +86 -0
  62. package/dist/compiler/directSourceCapsule.d.ts +97 -0
  63. package/dist/compiler/directSourceCapsule.d.ts.map +1 -0
  64. package/dist/compiler/directSourceCapsule.js +305 -0
  65. package/dist/compiler/directStructure.d.ts +51 -0
  66. package/dist/compiler/directStructure.d.ts.map +1 -0
  67. package/dist/compiler/directStructure.js +252 -0
  68. package/dist/compiler/directStructurePlan.d.ts +16 -0
  69. package/dist/compiler/directStructurePlan.d.ts.map +1 -0
  70. package/dist/compiler/directStructurePlan.js +58 -0
  71. package/dist/compiler/directValues.d.ts +69 -0
  72. package/dist/compiler/directValues.d.ts.map +1 -0
  73. package/dist/compiler/directValues.js +282 -0
  74. package/dist/compiler/finiteRe01Verification.d.ts +140 -0
  75. package/dist/compiler/finiteRe01Verification.d.ts.map +1 -0
  76. package/dist/compiler/finiteRe01Verification.js +830 -0
  77. package/dist/compiler/graphTraversal.d.ts +11 -0
  78. package/dist/compiler/graphTraversal.d.ts.map +1 -0
  79. package/dist/compiler/graphTraversal.js +37 -0
  80. package/dist/compiler/hypotheticalScopedIdentity.d.ts +23 -0
  81. package/dist/compiler/hypotheticalScopedIdentity.d.ts.map +1 -0
  82. package/dist/compiler/hypotheticalScopedIdentity.js +81 -0
  83. package/dist/compiler/occurrenceAnalysis.d.ts +65 -0
  84. package/dist/compiler/occurrenceAnalysis.d.ts.map +1 -0
  85. package/dist/compiler/occurrenceAnalysis.js +300 -0
  86. package/dist/compiler/originalSourceMembership.d.ts +6 -0
  87. package/dist/compiler/originalSourceMembership.d.ts.map +1 -0
  88. package/dist/compiler/originalSourceMembership.js +31 -0
  89. package/dist/compiler/particleAttribution.d.ts +17 -0
  90. package/dist/compiler/particleAttribution.d.ts.map +1 -0
  91. package/dist/compiler/particleAttribution.js +474 -0
  92. package/dist/compiler/particleDeclarationConsistency.d.ts +24 -0
  93. package/dist/compiler/particleDeclarationConsistency.d.ts.map +1 -0
  94. package/dist/compiler/particleDeclarationConsistency.js +197 -0
  95. package/dist/compiler/particleExtension.d.ts +22 -0
  96. package/dist/compiler/particleExtension.d.ts.map +1 -0
  97. package/dist/compiler/particleExtension.js +119 -0
  98. package/dist/compiler/particleLocalAssessment.d.ts +20 -0
  99. package/dist/compiler/particleLocalAssessment.d.ts.map +1 -0
  100. package/dist/compiler/particleLocalAssessment.js +92 -0
  101. package/dist/compiler/particleRestriction.d.ts +24 -0
  102. package/dist/compiler/particleRestriction.d.ts.map +1 -0
  103. package/dist/compiler/particleRestriction.js +489 -0
  104. package/dist/compiler/particleSemanticView.d.ts +50 -0
  105. package/dist/compiler/particleSemanticView.d.ts.map +1 -0
  106. package/dist/compiler/particleSemanticView.js +297 -0
  107. package/dist/compiler/particleWildcardRelation.d.ts +88 -0
  108. package/dist/compiler/particleWildcardRelation.d.ts.map +1 -0
  109. package/dist/compiler/particleWildcardRelation.js +143 -0
  110. package/dist/compiler/re01CandidateCorrespondence.d.ts +64 -0
  111. package/dist/compiler/re01CandidateCorrespondence.d.ts.map +1 -0
  112. package/dist/compiler/re01CandidateCorrespondence.js +572 -0
  113. package/dist/compiler/re01TypeProperties.d.ts +71 -0
  114. package/dist/compiler/re01TypeProperties.d.ts.map +1 -0
  115. package/dist/compiler/re01TypeProperties.js +120 -0
  116. package/dist/compiler/re01TypePropertyValidation.d.ts +23 -0
  117. package/dist/compiler/re01TypePropertyValidation.d.ts.map +1 -0
  118. package/dist/compiler/re01TypePropertyValidation.js +161 -0
  119. package/dist/compiler/resolveCanonicalGraph.d.ts +38 -0
  120. package/dist/compiler/resolveCanonicalGraph.d.ts.map +1 -0
  121. package/dist/compiler/resolveCanonicalGraph.js +170 -0
  122. package/dist/compiler/scalarSchemaAssessment.d.ts +425 -0
  123. package/dist/compiler/scalarSchemaAssessment.d.ts.map +1 -0
  124. package/dist/compiler/scalarSchemaAssessment.js +5198 -0
  125. package/dist/compiler/schemaAttributeGroupProperties.d.ts +17 -0
  126. package/dist/compiler/schemaAttributeGroupProperties.d.ts.map +1 -0
  127. package/dist/compiler/schemaAttributeGroupProperties.js +53 -0
  128. package/dist/compiler/schemaAttributeProperties.d.ts +10 -0
  129. package/dist/compiler/schemaAttributeProperties.d.ts.map +1 -0
  130. package/dist/compiler/schemaAttributeProperties.js +11 -0
  131. package/dist/compiler/schemaAttributeUses.d.ts +90 -0
  132. package/dist/compiler/schemaAttributeUses.d.ts.map +1 -0
  133. package/dist/compiler/schemaAttributeUses.js +725 -0
  134. package/dist/compiler/schemaBinaryWordReconstruction.d.ts +10 -0
  135. package/dist/compiler/schemaBinaryWordReconstruction.d.ts.map +1 -0
  136. package/dist/compiler/schemaBinaryWordReconstruction.js +33 -0
  137. package/dist/compiler/schemaBuiltinFacets.d.ts +14 -0
  138. package/dist/compiler/schemaBuiltinFacets.d.ts.map +1 -0
  139. package/dist/compiler/schemaBuiltinFacets.js +51 -0
  140. package/dist/compiler/schemaCalendarImages.d.ts +8 -0
  141. package/dist/compiler/schemaCalendarImages.d.ts.map +1 -0
  142. package/dist/compiler/schemaCalendarImages.js +204 -0
  143. package/dist/compiler/schemaCalendarLanguage.d.ts +11 -0
  144. package/dist/compiler/schemaCalendarLanguage.d.ts.map +1 -0
  145. package/dist/compiler/schemaCalendarLanguage.js +227 -0
  146. package/dist/compiler/schemaComponentEquality.d.ts +28 -0
  147. package/dist/compiler/schemaComponentEquality.d.ts.map +1 -0
  148. package/dist/compiler/schemaComponentEquality.js +446 -0
  149. package/dist/compiler/schemaConstructionAssessment.d.ts +46 -0
  150. package/dist/compiler/schemaConstructionAssessment.d.ts.map +1 -0
  151. package/dist/compiler/schemaConstructionAssessment.js +663 -0
  152. package/dist/compiler/schemaDatatypeValues.d.ts +4 -0
  153. package/dist/compiler/schemaDatatypeValues.d.ts.map +1 -0
  154. package/dist/compiler/schemaDatatypeValues.js +2 -0
  155. package/dist/compiler/schemaDecimalLanguage.d.ts +7 -0
  156. package/dist/compiler/schemaDecimalLanguage.d.ts.map +1 -0
  157. package/dist/compiler/schemaDecimalLanguage.js +102 -0
  158. package/dist/compiler/schemaDeclarationPrimitives.d.ts +34 -0
  159. package/dist/compiler/schemaDeclarationPrimitives.d.ts.map +1 -0
  160. package/dist/compiler/schemaDeclarationPrimitives.js +194 -0
  161. package/dist/compiler/schemaDocumentSyntax.d.ts +55 -0
  162. package/dist/compiler/schemaDocumentSyntax.d.ts.map +1 -0
  163. package/dist/compiler/schemaDocumentSyntax.js +294 -0
  164. package/dist/compiler/schemaDurationLanguage.d.ts +11 -0
  165. package/dist/compiler/schemaDurationLanguage.d.ts.map +1 -0
  166. package/dist/compiler/schemaDurationLanguage.js +170 -0
  167. package/dist/compiler/schemaElementProperties.d.ts +16 -0
  168. package/dist/compiler/schemaElementProperties.d.ts.map +1 -0
  169. package/dist/compiler/schemaElementProperties.js +23 -0
  170. package/dist/compiler/schemaEndpointWordCapacity.d.ts +36 -0
  171. package/dist/compiler/schemaEndpointWordCapacity.d.ts.map +1 -0
  172. package/dist/compiler/schemaEndpointWordCapacity.js +39 -0
  173. package/dist/compiler/schemaExactCalendar.d.ts +73 -0
  174. package/dist/compiler/schemaExactCalendar.d.ts.map +1 -0
  175. package/dist/compiler/schemaExactCalendar.js +264 -0
  176. package/dist/compiler/schemaFacetAnnotation.d.ts +32 -0
  177. package/dist/compiler/schemaFacetAnnotation.d.ts.map +1 -0
  178. package/dist/compiler/schemaFacetAnnotation.js +199 -0
  179. package/dist/compiler/schemaGeneratedScalarShape.d.ts +35 -0
  180. package/dist/compiler/schemaGeneratedScalarShape.d.ts.map +1 -0
  181. package/dist/compiler/schemaGeneratedScalarShape.js +176 -0
  182. package/dist/compiler/schemaIdentityConstraints.d.ts +73 -0
  183. package/dist/compiler/schemaIdentityConstraints.d.ts.map +1 -0
  184. package/dist/compiler/schemaIdentityConstraints.js +362 -0
  185. package/dist/compiler/schemaIeeeLanguage.d.ts +43 -0
  186. package/dist/compiler/schemaIeeeLanguage.d.ts.map +1 -0
  187. package/dist/compiler/schemaIeeeLanguage.js +759 -0
  188. package/dist/compiler/schemaIntegerImages.d.ts +11 -0
  189. package/dist/compiler/schemaIntegerImages.d.ts.map +1 -0
  190. package/dist/compiler/schemaIntegerImages.js +113 -0
  191. package/dist/compiler/schemaLexicalPredicates.d.ts +29 -0
  192. package/dist/compiler/schemaLexicalPredicates.d.ts.map +1 -0
  193. package/dist/compiler/schemaLexicalPredicates.js +63 -0
  194. package/dist/compiler/schemaNotationProperties.d.ts +32 -0
  195. package/dist/compiler/schemaNotationProperties.d.ts.map +1 -0
  196. package/dist/compiler/schemaNotationProperties.js +84 -0
  197. package/dist/compiler/schemaNumericImageConditions.d.ts +24 -0
  198. package/dist/compiler/schemaNumericImageConditions.d.ts.map +1 -0
  199. package/dist/compiler/schemaNumericImageConditions.js +66 -0
  200. package/dist/compiler/schemaParticleWildcardProperties.d.ts +20 -0
  201. package/dist/compiler/schemaParticleWildcardProperties.d.ts.map +1 -0
  202. package/dist/compiler/schemaParticleWildcardProperties.js +43 -0
  203. package/dist/compiler/schemaPattern.d.ts +1062 -0
  204. package/dist/compiler/schemaPattern.d.ts.map +1 -0
  205. package/dist/compiler/schemaPattern.js +581 -0
  206. package/dist/compiler/schemaRegularLanguage.d.ts +67 -0
  207. package/dist/compiler/schemaRegularLanguage.d.ts.map +1 -0
  208. package/dist/compiler/schemaRegularLanguage.js +1166 -0
  209. package/dist/compiler/schemaScalarContext.d.ts +81 -0
  210. package/dist/compiler/schemaScalarContext.d.ts.map +1 -0
  211. package/dist/compiler/schemaScalarContext.js +78 -0
  212. package/dist/compiler/schemaScalarKernel.d.ts +182 -0
  213. package/dist/compiler/schemaScalarKernel.d.ts.map +1 -0
  214. package/dist/compiler/schemaScalarKernel.js +391 -0
  215. package/dist/compiler/schemaScalarWitnesses.d.ts +6 -0
  216. package/dist/compiler/schemaScalarWitnesses.d.ts.map +1 -0
  217. package/dist/compiler/schemaScalarWitnesses.js +118 -0
  218. package/dist/compiler/schemaSimpleTypeProperties.d.ts +95 -0
  219. package/dist/compiler/schemaSimpleTypeProperties.d.ts.map +1 -0
  220. package/dist/compiler/schemaSimpleTypeProperties.js +103 -0
  221. package/dist/compiler/schemaSourceGrammar.d.ts +27 -0
  222. package/dist/compiler/schemaSourceGrammar.d.ts.map +1 -0
  223. package/dist/compiler/schemaSourceGrammar.js +290 -0
  224. package/dist/compiler/schemaSourceLexical.d.ts +4 -0
  225. package/dist/compiler/schemaSourceLexical.d.ts.map +1 -0
  226. package/dist/compiler/schemaSourceLexical.js +12 -0
  227. package/dist/compiler/schemaSourceValues.d.ts +51 -0
  228. package/dist/compiler/schemaSourceValues.d.ts.map +1 -0
  229. package/dist/compiler/schemaSourceValues.js +225 -0
  230. package/dist/compiler/schemaSourceWildcards.d.ts +28 -0
  231. package/dist/compiler/schemaSourceWildcards.d.ts.map +1 -0
  232. package/dist/compiler/schemaSourceWildcards.js +247 -0
  233. package/dist/compiler/schemaSymbolicSequences.d.ts +16 -0
  234. package/dist/compiler/schemaSymbolicSequences.d.ts.map +1 -0
  235. package/dist/compiler/schemaSymbolicSequences.js +99 -0
  236. package/dist/compiler/schemaSymbolicValueSets.d.ts +32 -0
  237. package/dist/compiler/schemaSymbolicValueSets.d.ts.map +1 -0
  238. package/dist/compiler/schemaSymbolicValueSets.js +149 -0
  239. package/dist/compiler/schemaSyntaxAssessment.d.ts +25 -0
  240. package/dist/compiler/schemaSyntaxAssessment.d.ts.map +1 -0
  241. package/dist/compiler/schemaSyntaxAssessment.js +361 -0
  242. package/dist/compiler/schemaTemporalAliases.d.ts +6 -0
  243. package/dist/compiler/schemaTemporalAliases.d.ts.map +1 -0
  244. package/dist/compiler/schemaTemporalAliases.js +195 -0
  245. package/dist/compiler/schemaTokenImages.d.ts +9 -0
  246. package/dist/compiler/schemaTokenImages.d.ts.map +1 -0
  247. package/dist/compiler/schemaTokenImages.js +142 -0
  248. package/dist/compiler/schemaTypeIdentity.d.ts +39 -0
  249. package/dist/compiler/schemaTypeIdentity.d.ts.map +1 -0
  250. package/dist/compiler/schemaTypeIdentity.js +78 -0
  251. package/dist/compiler/schemaTypeRelations.d.ts +38 -0
  252. package/dist/compiler/schemaTypeRelations.d.ts.map +1 -0
  253. package/dist/compiler/schemaTypeRelations.js +576 -0
  254. package/dist/compiler/schemaUri.d.ts +13 -0
  255. package/dist/compiler/schemaUri.d.ts.map +1 -0
  256. package/dist/compiler/schemaUri.js +103 -0
  257. package/dist/compiler/schemaValueContext.d.ts +26 -0
  258. package/dist/compiler/schemaValueContext.d.ts.map +1 -0
  259. package/dist/compiler/schemaValueContext.js +1 -0
  260. package/dist/compiler/schemaValueImages.d.ts +10 -0
  261. package/dist/compiler/schemaValueImages.d.ts.map +1 -0
  262. package/dist/compiler/schemaValueImages.js +142 -0
  263. package/dist/compiler/schemaValueSequences.d.ts +15 -0
  264. package/dist/compiler/schemaValueSequences.d.ts.map +1 -0
  265. package/dist/compiler/schemaValueSequences.js +19 -0
  266. package/dist/compiler/semanticBudget.d.ts +50 -0
  267. package/dist/compiler/semanticBudget.d.ts.map +1 -0
  268. package/dist/compiler/semanticBudget.js +178 -0
  269. package/dist/compiler/semanticCatalog.d.ts +122 -0
  270. package/dist/compiler/semanticCatalog.d.ts.map +1 -0
  271. package/dist/compiler/semanticCatalog.js +160 -0
  272. package/dist/compiler/semanticContext.d.ts +172 -0
  273. package/dist/compiler/semanticContext.d.ts.map +1 -0
  274. package/dist/compiler/semanticContext.js +1168 -0
  275. package/dist/compiler/semanticTypeDependencies.d.ts +8 -0
  276. package/dist/compiler/semanticTypeDependencies.d.ts.map +1 -0
  277. package/dist/compiler/semanticTypeDependencies.js +64 -0
  278. package/dist/compiler/semanticTypeReference.d.ts +24 -0
  279. package/dist/compiler/semanticTypeReference.d.ts.map +1 -0
  280. package/dist/compiler/semanticTypeReference.js +36 -0
  281. package/dist/compiler/shapeResolver.d.ts +1 -0
  282. package/dist/compiler/shapeResolver.d.ts.map +1 -1
  283. package/dist/compiler/shapeResolver.js +7 -9
  284. package/dist/compiler/sourceSchemaBinding.d.ts +26 -0
  285. package/dist/compiler/sourceSchemaBinding.d.ts.map +1 -0
  286. package/dist/compiler/sourceSchemaBinding.js +39 -0
  287. package/dist/compiler/structuralCompanions.d.ts +16 -0
  288. package/dist/compiler/structuralCompanions.d.ts.map +1 -0
  289. package/dist/compiler/structuralCompanions.js +232 -0
  290. package/dist/compiler/validateSemanticGraph.d.ts +5 -0
  291. package/dist/compiler/validateSemanticGraph.d.ts.map +1 -0
  292. package/dist/compiler/validateSemanticGraph.js +376 -0
  293. package/dist/compiler/wildcardAlgebra.d.ts +26 -0
  294. package/dist/compiler/wildcardAlgebra.d.ts.map +1 -0
  295. package/dist/compiler/wildcardAlgebra.js +155 -0
  296. package/dist/gateway/generateGateway.d.ts.map +1 -1
  297. package/dist/gateway/generateGateway.js +2 -2
  298. package/dist/index.d.ts +3 -0
  299. package/dist/index.d.ts.map +1 -1
  300. package/dist/index.js +2 -0
  301. package/dist/loader/orderedSyntax.d.ts +77 -0
  302. package/dist/loader/orderedSyntax.d.ts.map +1 -0
  303. package/dist/loader/orderedSyntax.js +202 -0
  304. package/dist/loader/resolutionDepth.d.ts +7 -0
  305. package/dist/loader/resolutionDepth.d.ts.map +1 -0
  306. package/dist/loader/resolutionDepth.js +65 -0
  307. package/dist/loader/schemaInput.d.ts +53 -0
  308. package/dist/loader/schemaInput.d.ts.map +1 -0
  309. package/dist/loader/schemaInput.js +212 -0
  310. package/dist/loader/schemaResources.d.ts +59 -0
  311. package/dist/loader/schemaResources.d.ts.map +1 -0
  312. package/dist/loader/schemaResources.js +292 -0
  313. package/dist/openapi/generateOpenAPI.d.ts.map +1 -1
  314. package/dist/openapi/generateOpenAPI.js +2 -2
  315. package/dist/test/generateTests.d.ts.map +1 -1
  316. package/dist/test/generateTests.js +2 -2
  317. package/dist/util/xmlWhitespace.d.ts +3 -0
  318. package/dist/util/xmlWhitespace.d.ts.map +1 -0
  319. package/dist/util/xmlWhitespace.js +4 -0
  320. package/docs/README.md +14 -1
  321. package/docs/architecture.md +9 -0
  322. package/docs/cli-reference.md +21 -1
  323. package/docs/content-model-analysis.md +92 -0
  324. package/docs/content-model-baseline.md +121 -0
  325. package/docs/content-model-catalog.md +116 -0
  326. package/docs/content-model-companions.md +90 -0
  327. package/docs/content-model-composition.md +103 -0
  328. package/docs/content-model-decisions.md +79 -0
  329. package/docs/content-model-gateway-feasibility.md +169 -0
  330. package/docs/content-model-graph.md +121 -0
  331. package/docs/content-model-loading.md +163 -0
  332. package/docs/content-model-matching.md +85 -0
  333. package/docs/content-model-readiness.md +144 -0
  334. package/docs/content-model-resolution.md +81 -0
  335. package/docs/content-model-s02-handoff.md +98 -0
  336. package/docs/content-model-s06-au-01.md +425 -0
  337. package/docs/content-model-s06-dt-01.md +386 -0
  338. package/docs/content-model-s06-pw-01.md +350 -0
  339. package/docs/content-model-s06-re-01-resolver-implementation.md +869 -0
  340. package/docs/content-model-s06-re-01-resolver.md +513 -0
  341. package/docs/content-model-s06-re-01-scalar-witnesses.md +1423 -0
  342. package/docs/content-model-s06-re-01-support-reconstruction.md +6337 -0
  343. package/docs/content-model-s06-re-01.md +7477 -0
  344. package/docs/content-model-s06-research-handoff.md +909 -0
  345. package/docs/content-model-shipped-fix.md +83 -0
  346. package/docs/content-model-soap-feasibility.md +165 -0
  347. package/docs/decisions/002-streamable-responses.md +2 -0
  348. package/docs/decisions/003-content-model-contracts.md +280 -0
  349. package/docs/direct-values.md +311 -0
  350. package/docs/reference-validation.md +243 -0
  351. package/docs/releases/v1.1.5.md +38 -0
  352. package/docs/roadmap/README.md +2 -2
  353. package/docs/supported-patterns.md +13 -5
  354. package/package.json +26 -13
  355. package/src/generation/preambles/direct-client/typescript.preamble +3 -0
@@ -0,0 +1,103 @@
1
+ /** Generic RFC2396/2732 syntax for schema anyURI operands, after XLink escaping. */
2
+ import { isIP } from "node:net";
3
+ /** Regular preimage of the RFC2396/2732 assessor below, before XLink escaping.
4
+ * Every escaped source character contributes one or more percent octets;
5
+ * these are legal in precisely the generic URI-token positions. Raw percent
6
+ * signs still require their two hexadecimal digits. IPv6 has eight 16-bit
7
+ * units, with an embedded IPv4 tail consuming two and :: omitting at least one.
8
+ */
9
+ export function schemaUriExpression(owner, c) {
10
+ c.step(owner, 8192);
11
+ const escaped = "[^A-Za-z0-9\\-_.!~*'();/?:@&=+$,#\\[\\]%]";
12
+ const octet = '(%[0-9A-Fa-f]{2}|' + escaped + ')';
13
+ const token = (characters) => '([' + characters + ']|' + octet + ')';
14
+ const mark = "A-Za-z0-9\\-_.!~*'()";
15
+ const uric = token(mark + ';/?:@&=+$,\\[\\]');
16
+ const nonSlash = token(mark + ';?:@&=+$,\\[\\]');
17
+ const pchar = token(mark + ':@&=+$,;');
18
+ const first = token(mark + ';@&=+$,');
19
+ const registry = token(mark + '$,:;@&=+');
20
+ const userinfo = token(mark + ';:&=+$,');
21
+ const hex = '[0-9A-Fa-f]{1,4}';
22
+ const ipv4octet = '([0-9]{1,2}|[01][0-9]{2}|2[0-4][0-9]|25[0-5])';
23
+ const ipv4 = ipv4octet + '([.]' + ipv4octet + '){3}';
24
+ const addresses = [hex + '(:' + hex + '){7}', hex + '(:' + hex + '){5}:' + ipv4];
25
+ for (const tail of [false, true])
26
+ for (let left = 0; left <= (tail ? 5 : 7); left++)
27
+ for (let right = 0; right + left < (tail ? 6 : 8); right++) {
28
+ c.step(owner, 512);
29
+ const before = left ? hex + (left > 1 ? '(:' + hex + '){' + (left - 1) + '}' : '') : '';
30
+ const after = right ? hex + (right > 1 ? '(:' + hex + '){' + (right - 1) + '}' : '') : '';
31
+ addresses.push(before + '::' + after + (tail ? (right ? ':' : '') + ipv4 : ''));
32
+ }
33
+ c.step(owner, addresses.reduce((total, value) => total + value.length, 0) * 4 + 4096);
34
+ const server = '(' + userinfo + '*@)?\\[(' + addresses.join('|') + ')\\](:[0-9]*)?';
35
+ const authority = '(' + registry + '*|' + server + ')';
36
+ const path = pchar + '*(/' + pchar + '*)*';
37
+ const hierarchical = '(//' + authority + '(/' + path + ')?|/' + path + ')';
38
+ const query = '([?]' + uric + '*)?';
39
+ const relative = '(//' + authority + '(/' + path + ')?|/' + path + '|' + first + '+(/' + path + ')?)?';
40
+ const scheme = '[A-Za-z][A-Za-z0-9+.\\-]*:';
41
+ const result = '(' + scheme + '(' + nonSlash + uric + '*|' + hierarchical + query + ')|' + relative + query + ')(#' + uric + '*)?';
42
+ c.step(owner, result.length * 2 + 2);
43
+ return result;
44
+ }
45
+ export function schemaUri(value, owner, c) {
46
+ c.step(owner, value.length * 12 + 1);
47
+ let escaped = "";
48
+ for (const character of value) {
49
+ c.step(owner);
50
+ if (/^[A-Za-z0-9\-_.!~*'();/?:@&=+$,#[\]%]$/.test(character))
51
+ escaped += character;
52
+ else
53
+ for (const byte of Buffer.from(character, "utf8"))
54
+ escaped += `%${byte.toString(16).padStart(2, "0")}`;
55
+ }
56
+ if (/%(?![0-9A-Fa-f]{2})/.test(escaped))
57
+ return false;
58
+ const uric = /^(?:[A-Za-z0-9\-_.!~*'();/?:@&=+$,[\]]|%[0-9A-Fa-f]{2})*$/;
59
+ const hash = escaped.indexOf("#"), fragment = hash < 0 ? "" : escaped.slice(hash + 1), resource = hash < 0 ? escaped : escaped.slice(0, hash);
60
+ if (!uric.test(fragment))
61
+ return false;
62
+ const scheme = /^([A-Za-z][A-Za-z0-9+.-]*):/.exec(resource);
63
+ let rest = scheme ? resource.slice(scheme[0].length) : resource;
64
+ if (scheme && !rest)
65
+ return false;
66
+ // Opaque absolute identifiers use uric, beginning with a non-slash.
67
+ if (scheme && rest[0] !== "/")
68
+ return uric.test(rest);
69
+ const question = rest.indexOf("?"), query = question < 0 ? "" : rest.slice(question + 1);
70
+ rest = question < 0 ? rest : rest.slice(0, question);
71
+ if (!uric.test(query))
72
+ return false;
73
+ if (rest.startsWith("//")) {
74
+ const slash = rest.indexOf("/", 2), authority = rest.slice(2, slash < 0 ? undefined : slash);
75
+ rest = slash < 0 ? "" : rest.slice(slash);
76
+ // RFC2396 registry authorities are legal, even where a named protocol
77
+ // would demand a numeric port. Brackets denote the RFC2732 server form.
78
+ if (/[\[\]]/.test(authority)) {
79
+ const server = /^(?:((?:[A-Za-z0-9\-_.!~*'();:&=+$,]|%[0-9A-Fa-f]{2})*)@)?\[([^\]]+)\](?::[0-9]*)?$/.exec(authority);
80
+ if (!server || server[2].includes("%"))
81
+ return false;
82
+ let address = server[2];
83
+ if (address.includes(".")) {
84
+ const colon = address.lastIndexOf(":"), octets = address.slice(colon + 1).split(".");
85
+ // RFC2732 imports RFC2373: embedded IPv4 octets are one to three
86
+ // decimal digits, including leading zeros (not modern URL grammar).
87
+ if (octets.length !== 4 || octets.some(octet => !/^[0-9]{1,3}$/.test(octet) || Number(octet) > 255))
88
+ return false;
89
+ address = address.slice(0, colon + 1) + octets.map(octet => String(Number(octet))).join(".");
90
+ }
91
+ if (isIP(address) !== 6)
92
+ return false;
93
+ }
94
+ else if (!/^(?:[A-Za-z0-9\-_.!~*'()$,:;@&=+]|%[0-9A-Fa-f]{2})*$/.test(authority))
95
+ return false;
96
+ }
97
+ else if (rest && rest[0] !== "/") {
98
+ const slash = rest.indexOf("/"), segment = slash < 0 ? rest : rest.slice(0, slash);
99
+ if (!/^(?:[A-Za-z0-9\-_.!~*'();@&=+$,]|%[0-9A-Fa-f]{2})+$/.test(segment))
100
+ return false;
101
+ }
102
+ return /^(?:[A-Za-z0-9\-_.!~*'():@&=+$,;/]|%[0-9A-Fa-f]{2})*$/.test(rest);
103
+ }
@@ -0,0 +1,26 @@
1
+ /** Internal diagnostic and accounting seam; it confers no component authority. */
2
+ import type { SyntaxSource } from '../loader/orderedSyntax.js';
3
+ export type DatatypeLexicalOperand = Readonly<{
4
+ value: string;
5
+ context: Readonly<{
6
+ namespaces: Readonly<Record<string, string>>;
7
+ source: SyntaxSource;
8
+ }>;
9
+ }>;
10
+ export type DatatypeValueContext<Owner> = {
11
+ step(owner: Owner, count?: number): void;
12
+ text(value: string, owner: Owner): string;
13
+ fail(owner: Owner, rule: string, message: string, source?: SyntaxSource): never;
14
+ unsupported(owner: Owner, rule: string, message: string, source?: SyntaxSource): never;
15
+ unresolved(owner: Owner, rule: string, message: string, source?: SyntaxSource): never;
16
+ notation(namespace: string, local: string, owner: Owner): void;
17
+ };
18
+ export type SchemaPatternContext<Owner> = Pick<SchemaValueContext<Owner>, 'step' | 'text' | 'fail' | 'unsupported'> & {
19
+ algebra: {
20
+ compare(a: string, b: string): number;
21
+ };
22
+ };
23
+ /** Schema-facing aliases preserve existing ownership contracts. */
24
+ export type SchemaLexicalOperand = DatatypeLexicalOperand;
25
+ export type SchemaValueContext<Owner> = DatatypeValueContext<Owner>;
26
+ //# sourceMappingURL=schemaValueContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaValueContext.d.ts","sourceRoot":"","sources":["../../src/compiler/schemaValueContext.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAE7D,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAC,CAAC,CAAC;CACzF,CAAC,CAAC;AACH,MAAM,MAAM,oBAAoB,CAAC,KAAK,IAAI;IACxC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAChF,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IACvF,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IACtF,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAChE,CAAC;AACF,MAAM,MAAM,oBAAoB,CAAC,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,GAAG;IACpH,OAAO,EAAE;QAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;CAClD,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAC1D,MAAM,MAAM,kBAAkB,CAAC,KAAK,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ /** Regular images of schema-normalized scalar spellings, with typed families. */
2
+ import type { RegularLanguage } from './schemaRegularLanguage.js';
3
+ import { schemaRegularLanguages } from './schemaRegularLanguage.js';
4
+ import type { SchemaPatternContext } from './schemaValueContext.js';
5
+ export declare function schemaValueImages<Owner>(c: SchemaPatternContext<Owner>, regular: ReturnType<typeof schemaRegularLanguages<Owner>>, expression: (text: string, owner: Owner) => RegularLanguage): {
6
+ decimal: (source: RegularLanguage, owner: Owner) => RegularLanguage;
7
+ duration: (source: RegularLanguage, owner: Owner) => RegularLanguage;
8
+ simple: (source: RegularLanguage, family: string, owner: Owner) => RegularLanguage | undefined;
9
+ };
10
+ //# sourceMappingURL=schemaValueImages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaValueImages.d.ts","sourceRoot":"","sources":["../../src/compiler/schemaValueImages.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAGlE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAChI,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,eAAe;sBAElC,eAAe,SAAS,KAAK,KAAG,eAAe;uBA0B9C,eAAe,SAAS,KAAK,KAAG,eAAe;qBAuDjD,eAAe,UAAU,MAAM,SAAS,KAAK,KAAG,eAAe,GAAG,SAAS;EAepG"}
@@ -0,0 +1,142 @@
1
+ import { schemaRegularLanguages } from './schemaRegularLanguage.js';
2
+ import { schemaIntegerImages } from './schemaIntegerImages.js';
3
+ export function schemaValueImages(c, regular, expression) {
4
+ const integers = schemaIntegerImages(c, regular, expression);
5
+ const decimal = (source, owner) => {
6
+ c.step(owner, 4);
7
+ const choices = [], epsilon = expression('', owner), digits = expression('[0-9]*', owner);
8
+ const positiveInteger = expression('[1-9][0-9]*', owner), fractional = expression('[0-9]*[1-9]', owner);
9
+ const zero = expression('0', owner), zeroes = expression('0*', owner);
10
+ if (regular.witness(regular.intersect([source, expression('[+\\-]?(0+([.]0*)?|[.]0+)', owner)], owner), owner) !== undefined)
11
+ choices.push(zero);
12
+ for (const negative of [false, true]) {
13
+ const unsigned = regular.quotient(source, expression(negative ? '\\-' : '[+]?', owner), epsilon, owner);
14
+ const integral = regular.intersect([regular.quotient(unsigned, zeroes, expression('([.]0*)?', owner), owner), positiveInteger], owner);
15
+ choices.push(regular.concatenate([expression(negative ? '\\-' : '', owner), integral], owner));
16
+ const program = regular.automaton(unsigned, owner);
17
+ c.step(owner, program.states.length * 4 + 4);
18
+ const accepting = new Set(program.states.flatMap((state, index) => state.accepting ? [index] : []));
19
+ for (let before = 0; before < program.states.length; before++)
20
+ for (const edge of program.states[before].transitions) {
21
+ c.step(owner);
22
+ if (edge.lo > 46 || edge.hi < 46)
23
+ continue;
24
+ const whole = regular.intersect([regular.paths(program, [program.start], new Set([before]), owner), digits], owner);
25
+ const canonicalWhole = regular.intersect([regular.quotient(whole, zeroes, epsilon, owner), positiveInteger], owner);
26
+ const integralChoices = [canonicalWhole];
27
+ if (regular.witness(regular.intersect([whole, zeroes], owner), owner) !== undefined)
28
+ integralChoices.push(zero);
29
+ const tail = regular.intersect([regular.paths(program, [edge.to], accepting, owner), digits], owner);
30
+ const canonicalTail = regular.intersect([regular.quotient(tail, epsilon, zeroes, owner), fractional], owner);
31
+ choices.push(regular.concatenate([expression(negative ? '\\-' : '', owner), regular.union(integralChoices, owner),
32
+ expression('[.]', owner), canonicalTail], owner));
33
+ }
34
+ }
35
+ return regular.union(choices, owner);
36
+ };
37
+ const duration = (source, owner) => {
38
+ c.step(owner, 4);
39
+ const images = [], epsilon = expression('', owner), zero = expression('0', owner), digits = expression('[0-9]+', owner);
40
+ const signed = (language, negative) => !negative ? language : regular.union([
41
+ regular.intersect([language, zero], owner), regular.concatenate([expression('\\-', owner), regular.intersect([language, regular.negate(zero, owner)], owner)], owner)
42
+ ], owner);
43
+ for (const negative of [false, true]) {
44
+ const unsigned = regular.quotient(source, expression(negative ? '\\-P' : 'P', owner), epsilon, owner), program = regular.automaton(unsigned, owner);
45
+ c.step(owner, program.states.length * 2 + 4);
46
+ const accepted = new Set(program.states.flatMap((state, index) => state.accepting ? [index] : []));
47
+ const cache = new Map();
48
+ const fields = (start, unit) => {
49
+ c.step(owner, 24);
50
+ const key = start + ':' + unit, known = cache.get(key);
51
+ if (known)
52
+ return known;
53
+ c.step(owner, 3);
54
+ const options = [{ at: start, value: zero }], cp = unit.charCodeAt(0);
55
+ for (let end = 0; end < program.states.length; end++)
56
+ for (const edge of program.states[end].transitions) {
57
+ c.step(owner);
58
+ if (edge.lo > cp || edge.hi < cp)
59
+ continue;
60
+ const value = regular.intersect([regular.paths(program, [start], new Set([end]), owner), digits], owner);
61
+ if (regular.witness(value, owner) !== undefined) {
62
+ c.step(owner, 3);
63
+ options.push({ at: edge.to, value });
64
+ }
65
+ }
66
+ c.step(owner, 2);
67
+ cache.set(key, options);
68
+ return options;
69
+ };
70
+ const next = (from, cp) => {
71
+ c.step(owner, program.states[from].transitions.length + 2);
72
+ return program.states[from].transitions.flatMap(edge => edge.lo <= cp && edge.hi >= cp ? [edge.to] : []);
73
+ };
74
+ const publish = (month, whole, fraction) => {
75
+ const seconds = fraction ? regular.concatenate([whole, expression('[.]', owner), fraction], owner) : whole;
76
+ c.step(owner, 2);
77
+ images.push(regular.concatenate([signed(month, negative), expression('/', owner), signed(seconds, negative)], owner));
78
+ };
79
+ for (const year of fields(program.start, 'Y'))
80
+ for (const month of fields(year.at, 'M')) {
81
+ const months = integers.sum([{ language: year.value, weight: 12 }, { language: month.value, weight: 1 }], owner);
82
+ for (const day of fields(month.at, 'D')) {
83
+ if (accepted.has(day.at))
84
+ publish(months, integers.sum([{ language: day.value, weight: 86400 }], owner));
85
+ for (const clock of next(day.at, 84))
86
+ for (const hour of fields(clock, 'H'))
87
+ for (const minute of fields(hour.at, 'M')) {
88
+ const input = [{ language: day.value, weight: 86400 }, { language: hour.value, weight: 3600 }, { language: minute.value, weight: 60 }];
89
+ if (accepted.has(minute.at))
90
+ publish(months, integers.sum(input, owner));
91
+ for (let end = 0; end < program.states.length; end++) {
92
+ c.step(owner);
93
+ if (!next(end, 83).some(state => accepted.has(state)))
94
+ continue;
95
+ const whole = regular.intersect([regular.paths(program, [minute.at], new Set([end]), owner), digits], owner);
96
+ if (regular.witness(whole, owner) !== undefined)
97
+ publish(months, integers.sum([...input, { language: whole, weight: 1 }], owner));
98
+ for (let before = 0; before < program.states.length; before++)
99
+ for (const after of next(before, 46)) {
100
+ const integral = regular.intersect([regular.paths(program, [minute.at], new Set([before]), owner), digits], owner);
101
+ if (regular.witness(integral, owner) === undefined)
102
+ continue;
103
+ const fractional = regular.intersect([regular.paths(program, [after], new Set([end]), owner), digits], owner);
104
+ if (regular.witness(fractional, owner) === undefined)
105
+ continue;
106
+ const sum = integers.sum([...input, { language: integral, weight: 1 }], owner);
107
+ if (regular.witness(regular.intersect([fractional, expression('0+', owner)], owner), owner) !== undefined)
108
+ publish(months, sum);
109
+ const canonical = regular.intersect([regular.quotient(fractional, epsilon, expression('0*', owner), owner), expression('[0-9]*[1-9]', owner)], owner);
110
+ if (regular.witness(canonical, owner) !== undefined)
111
+ publish(months, sum, canonical);
112
+ }
113
+ }
114
+ }
115
+ }
116
+ }
117
+ }
118
+ return regular.union(images, owner);
119
+ };
120
+ const simple = (source, family, owner) => {
121
+ if (family === 'string' || family === 'anyURI')
122
+ return source;
123
+ if (family === 'decimal')
124
+ return decimal(source, owner);
125
+ if (family === 'duration')
126
+ return duration(source, owner);
127
+ if (family === 'hexBinary')
128
+ return regular.characterImage(source, [{ lo: 65, hi: 70, shift: 32 }], owner);
129
+ if (family === 'base64Binary')
130
+ return regular.characterImage(source, [{ lo: 32, hi: 32, remove: true }], owner);
131
+ if (family === 'boolean') {
132
+ c.step(owner, 3);
133
+ const choices = [];
134
+ for (const [syntax, canonical] of [['true|1', 'true'], ['false|0', 'false']])
135
+ if (regular.witness(regular.intersect([source, expression(syntax, owner)], owner), owner) !== undefined)
136
+ choices.push(expression(canonical, owner));
137
+ return regular.union(choices, owner);
138
+ }
139
+ return undefined;
140
+ };
141
+ return { decimal, duration, simple };
142
+ }
@@ -0,0 +1,15 @@
1
+ /** Shared private ordered-member scheduling, independent of descriptor ownership. */
2
+ import type { SchemaOperand } from './schemaDatatypeValues.js';
3
+ export type SchemaUnionContext<Owner> = {
4
+ step(owner: Owner, count?: number): void;
5
+ /** Must recognize the adapter's own error identity and invalid-schema category. */
6
+ isInvalidSchema(error: unknown): boolean;
7
+ };
8
+ export declare function schemaValueSequences<Owner>(context: SchemaUnionContext<Owner>): {
9
+ chooseUnionMember: <Request>(requests: readonly Request[], owner: Owner) => Generator<Request, {
10
+ request: Request;
11
+ index: number;
12
+ value: SchemaOperand;
13
+ } | undefined, SchemaOperand>;
14
+ };
15
+ //# sourceMappingURL=schemaValueSequences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaValueSequences.d.ts","sourceRoot":"","sources":["../../src/compiler/schemaValueSequences.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAE7D,MAAM,MAAM,kBAAkB,CAAC,KAAK,IAAI;IACtC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,mFAAmF;IACnF,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CAC1C,CAAC;AACF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC;wBAChD,OAAO,YAAY,SAAS,OAAO,EAAE,SAAS,KAAK,KAC7E,SAAS,CAAC,OAAO,EAAE;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,aAAa,CAAA;KAAC,GAAG,SAAS,EAAE,aAAa,CAAC;EAUzG"}
@@ -0,0 +1,19 @@
1
+ export function schemaValueSequences(context) {
2
+ function* chooseUnionMember(requests, owner) {
3
+ for (let index = 0; index < requests.length; index++) {
4
+ context.step(owner);
5
+ const request = requests[index];
6
+ try {
7
+ const value = yield request;
8
+ context.step(owner, 3);
9
+ return { request, index, value };
10
+ }
11
+ catch (error) {
12
+ if (!context.isInvalidSchema(error))
13
+ throw error;
14
+ }
15
+ }
16
+ return undefined;
17
+ }
18
+ return { chooseUnionMember };
19
+ }
@@ -0,0 +1,50 @@
1
+ export interface ResolverLimits {
2
+ readonly maxNodes?: number;
3
+ readonly maxWork?: number;
4
+ }
5
+ export interface ResolverUsage {
6
+ readonly nodes: number;
7
+ readonly work: number;
8
+ }
9
+ export interface ResourceLimitFailure {
10
+ readonly kind: 'resource-limit';
11
+ readonly limit: 'nodes' | 'work';
12
+ readonly usage: ResolverUsage;
13
+ }
14
+ export interface ResolverBudget {
15
+ chargeWork(amount?: number): void;
16
+ reserveNodes(amount: number): void;
17
+ usage(): ResolverUsage;
18
+ exhausted(): boolean;
19
+ failure(): ResourceLimitFailure | undefined;
20
+ guard<T>(operation: () => T): T | ResourceLimitFailure;
21
+ compareText(left: string, right: string): number;
22
+ sorted<T>(values: readonly T[], compare: (left: T, right: T) => number): T[];
23
+ snapshot<T>(value: T): T;
24
+ freeze<T>(value: T): Readonly<T>;
25
+ }
26
+ export declare const DEFAULT_MAX_NODES = 100000;
27
+ export declare const DEFAULT_MAX_WORK = 125000000;
28
+ /**
29
+ * The terminal result is reserved once, including its borrowed counter view.
30
+ * Construction: 2 records + 5 fields + 23 field-name units + 14 kind units +
31
+ * 5 limit units = 49. Freezing: 2 records + 5 fields + 23 field-name units = 30.
32
+ * Fixed budget bookkeeping and the private abort signal do not contain input
33
+ * data and are the constant escape machinery, rather than graph work.
34
+ */
35
+ export declare const TERMINAL_RESERVATION_WORK = 79;
36
+ export declare class ResolverInvalidLimitsError extends RangeError {
37
+ constructor();
38
+ }
39
+ export declare function createResolverBudget(limits?: ResolverLimits): ResolverBudget;
40
+ /** Shared production owner; historical research names remain source-compatible. */
41
+ export type SemanticBudget = ResolverBudget;
42
+ export type SemanticBudgetLimits = ResolverLimits;
43
+ export declare const createSemanticBudget: typeof createResolverBudget;
44
+ /** Observe sticky failure without charging routine procedural work. */
45
+ export declare function checkSemanticBudget(budget: SemanticBudget): void;
46
+ /** Application execution has no work quota unless the caller explicitly supplies one. */
47
+ export declare function createApplicationBudget(limits?: SemanticBudgetLimits): SemanticBudget;
48
+ /** Internal identity marker, never source/transport authorization. */
49
+ export declare function isApplicationUnmetered(budget: SemanticBudget): boolean;
50
+ //# sourceMappingURL=semanticBudget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semanticBudget.d.ts","sourceRoot":"","sources":["../../src/compiler/semanticBudget.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,KAAK,IAAI,aAAa,CAAC;IACvB,SAAS,IAAI,OAAO,CAAC;IACrB,OAAO,IAAI,oBAAoB,GAAG,SAAS,CAAC;IAC5C,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC;IACvD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE,CAAC;IAC7E,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,iBAAiB,SAAU,CAAC;AAMzC,eAAO,MAAM,gBAAgB,YAAc,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,qBAAa,0BAA2B,SAAQ,UAAU;;CAKzD;AAoBD,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,cAA0B,GAAG,cAAc,CA8GvF;AAED,mFAAmF;AACnF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC;AAC5C,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAClD,eAAO,MAAM,oBAAoB,6BAAuB,CAAC;AAEzD,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAwB;AAGzF,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,cAAc,CAWrF;AACD,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAgC"}
@@ -0,0 +1,178 @@
1
+ /** Shared request-local semantic accounting; historical resolver names remain compatible. */
2
+ import { createDataOwnership } from './dataOwnership.js';
3
+ export const DEFAULT_MAX_NODES = 100_000;
4
+ // Scalar containment calibration includes a 79-million-work complete URI /
5
+ // IEEE-list query. The 125-million default allows substantial workload
6
+ // variation; earlier 25-million and one-million regression profiles remain.
7
+ // See the resolver implementation's scalar capacity evidence. These remain
8
+ // revisable engineering limits, not semantic or mathematical proof bounds.
9
+ export const DEFAULT_MAX_WORK = 125_000_000;
10
+ /**
11
+ * The terminal result is reserved once, including its borrowed counter view.
12
+ * Construction: 2 records + 5 fields + 23 field-name units + 14 kind units +
13
+ * 5 limit units = 49. Freezing: 2 records + 5 fields + 23 field-name units = 30.
14
+ * Fixed budget bookkeeping and the private abort signal do not contain input
15
+ * data and are the constant escape machinery, rather than graph work.
16
+ */
17
+ export const TERMINAL_RESERVATION_WORK = 79;
18
+ export class ResolverInvalidLimitsError extends RangeError {
19
+ constructor() {
20
+ super('RE01 limits must be positive safe integers');
21
+ this.name = 'ResolverInvalidLimitsError';
22
+ }
23
+ }
24
+ function validLimit(value) {
25
+ return Number.isSafeInteger(value) && value > 0;
26
+ }
27
+ const NO_LIMITS = Object.freeze({});
28
+ /** Fixed limit metadata belongs to the bounded request-start machinery. */
29
+ function limit(limits, key, fallback) {
30
+ if (!limits || typeof limits !== 'object' || Array.isArray(limits))
31
+ throw new ResolverInvalidLimitsError();
32
+ const descriptor = Object.getOwnPropertyDescriptor(limits, key);
33
+ if (descriptor === undefined)
34
+ return fallback;
35
+ if (!('value' in descriptor))
36
+ throw new ResolverInvalidLimitsError();
37
+ const value = descriptor.value;
38
+ if (value === undefined)
39
+ return fallback;
40
+ if (typeof value !== 'number' || !validLimit(value))
41
+ throw new ResolverInvalidLimitsError();
42
+ return value;
43
+ }
44
+ export function createResolverBudget(limits = NO_LIMITS) {
45
+ const maxNodes = limit(limits, 'maxNodes', DEFAULT_MAX_NODES);
46
+ const maxWork = limit(limits, 'maxWork', DEFAULT_MAX_WORK);
47
+ if (!validLimit(maxNodes) || !validLimit(maxWork))
48
+ throw new ResolverInvalidLimitsError();
49
+ let nodes = 0;
50
+ let work = 0;
51
+ let failed;
52
+ // These fixed-size objects are the request's reserved terminal machinery.
53
+ const usage = Object.freeze({ get nodes() { return nodes; }, get work() { return work; } });
54
+ const failure = Object.freeze({
55
+ kind: 'resource-limit',
56
+ get limit() { return failed ?? 'work'; },
57
+ usage,
58
+ });
59
+ const abort = Object.freeze({});
60
+ function charge(amount, limit) {
61
+ if (failed !== undefined)
62
+ throw abort;
63
+ if (!Number.isSafeInteger(amount) || amount < 0) {
64
+ throw new RangeError('RE01 charges must be nonnegative safe integers');
65
+ }
66
+ const used = limit === 'nodes' ? nodes : work;
67
+ const maximum = limit === 'nodes' ? maxNodes : maxWork;
68
+ // Subtraction is checked before adding: no overflow and inclusive limits.
69
+ if (amount > maximum - used) {
70
+ failed = limit;
71
+ throw abort;
72
+ }
73
+ if (limit === 'nodes')
74
+ nodes += amount;
75
+ else
76
+ work += amount;
77
+ }
78
+ function chargeWork(amount = 1) { charge(amount, 'work'); }
79
+ function compareText(left, right) {
80
+ chargeWork(2); // Constant-time length reads.
81
+ const leftLength = left.length;
82
+ const rightLength = right.length;
83
+ const length = Math.min(leftLength, rightLength);
84
+ for (let index = 0; index < length; index += 1) {
85
+ chargeWork(2); // Both inspected UTF-16 units, before inspection.
86
+ const a = left.charCodeAt(index);
87
+ const b = right.charCodeAt(index);
88
+ if (a !== b)
89
+ return a < b ? -1 : 1;
90
+ }
91
+ return leftLength < rightLength ? -1 : leftLength > rightLength ? 1 : 0;
92
+ }
93
+ function sorted(values, compare) {
94
+ chargeWork(); // Input length read.
95
+ const length = values.length;
96
+ chargeWork(2); // The two containers, before allocation.
97
+ let source = [];
98
+ let target = [];
99
+ for (let index = 0; index < length; index += 1) {
100
+ chargeWork(2); // Input read and copied output entry.
101
+ source[index] = values[index];
102
+ }
103
+ // A specified merge order avoids engine/version-dependent comparator counts.
104
+ for (let width = 1; width < length; width *= 2) {
105
+ for (let start = 0; start < length; start += width * 2) {
106
+ const middle = Math.min(start + width, length);
107
+ const end = Math.min(middle + width, length);
108
+ let left = start;
109
+ let right = middle;
110
+ for (let output = start; output < end; output += 1) {
111
+ let takeLeft = right >= end;
112
+ if (left < middle && right < end) {
113
+ chargeWork(3); // Two reads and one comparator visit.
114
+ takeLeft = compare(source[left], source[right]) <= 0;
115
+ }
116
+ if (left >= middle)
117
+ takeLeft = false;
118
+ chargeWork(2); // Chosen input read and output write.
119
+ target[output] = takeLeft ? source[left++] : source[right++];
120
+ }
121
+ }
122
+ const previous = source;
123
+ source = target;
124
+ target = previous;
125
+ }
126
+ return source;
127
+ }
128
+ const { snapshot, freeze } = createDataOwnership(chargeWork);
129
+ // Budgets smaller than the reservation fail without performing graph work;
130
+ // their one constant terminal envelope remains the reserved escape path.
131
+ if (maxWork < TERMINAL_RESERVATION_WORK)
132
+ failed = 'work';
133
+ else
134
+ work = TERMINAL_RESERVATION_WORK;
135
+ return {
136
+ chargeWork,
137
+ reserveNodes: (amount) => charge(amount, 'nodes'),
138
+ usage: () => usage,
139
+ exhausted: () => failed !== undefined,
140
+ failure: () => failed === undefined ? undefined : failure,
141
+ guard(operation) {
142
+ if (failed !== undefined)
143
+ return failure;
144
+ try {
145
+ return operation();
146
+ }
147
+ catch (error) {
148
+ if (error === abort)
149
+ return failure;
150
+ throw error;
151
+ }
152
+ },
153
+ compareText,
154
+ sorted,
155
+ snapshot,
156
+ freeze,
157
+ };
158
+ }
159
+ export const createSemanticBudget = createResolverBudget;
160
+ /** Observe sticky failure without charging routine procedural work. */
161
+ export function checkSemanticBudget(budget) { budget.chargeWork(0); }
162
+ const unmetered = new WeakSet();
163
+ /** Application execution has no work quota unless the caller explicitly supplies one. */
164
+ export function createApplicationBudget(limits) {
165
+ if (limits !== undefined)
166
+ return createSemanticBudget(limits);
167
+ const ownership = createDataOwnership(() => { });
168
+ const budget = {
169
+ chargeWork() { }, reserveNodes() { }, usage: () => ({ nodes: 0, work: 0 }),
170
+ exhausted: () => false, failure: () => undefined, guard: operation => operation(),
171
+ compareText: (a, b) => a < b ? -1 : a > b ? 1 : 0,
172
+ sorted: (values, compare) => Array.from(values).sort(compare), ...ownership,
173
+ };
174
+ unmetered.add(budget);
175
+ return budget;
176
+ }
177
+ /** Internal identity marker, never source/transport authorization. */
178
+ export function isApplicationUnmetered(budget) { return unmetered.has(budget); }