@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,9 @@
1
+ /** Shared-core reconstruction after all complete native WORD predicates are compiled. */
2
+ import type { RegularLanguage } from './schemaRegularLanguage.js';
3
+ import { schemaRegularLanguages } from './schemaRegularLanguage.js';
4
+ import type { SchemaPatternContext } from './schemaValueContext.js';
5
+ /** No semantic authority is issued here: callers supply exact masks from native owners. */
6
+ export declare function reconstructBinaryWords<Owner>(c: SchemaPatternContext<Owner>, regular: ReturnType<typeof schemaRegularLanguages<Owner>>, masks: readonly RegularLanguage[], binaryMask: RegularLanguage, literal: (word: string) => RegularLanguage, owner: Owner): Readonly<{
7
+ core: string;
8
+ words: readonly string[];
9
+ }> | undefined;
@@ -0,0 +1,33 @@
1
+ import { schemaRegularLanguages } from './schemaRegularLanguage.js';
2
+ /** No semantic authority is issued here: callers supply exact masks from native owners. */
3
+ export function reconstructBinaryWords(c, regular, masks, binaryMask, literal, owner) {
4
+ const erased = [{ lo: 9, hi: 10, remove: true }, { lo: 13, hi: 13, remove: true }, { lo: 32, hi: 32, remove: true }];
5
+ c.step(owner, masks.length * 2 + 8);
6
+ const projected = masks.map(mask => regular.characterImage(mask, erased, owner));
7
+ projected.push(regular.characterImage(binaryMask, erased, owner));
8
+ const core = regular.witness(regular.intersect(projected, owner), owner);
9
+ if (core === undefined)
10
+ return undefined;
11
+ // The complete erasure inverse has arbitrary XML whitespace at every cut.
12
+ // literal() quotes complete words; whitespace alternatives stay private to
13
+ // this regular factory, so no externally fabricated language handle enters.
14
+ const whitespace = regular.union([literal(' '), literal('\t'), literal('\r'), literal('\n')], owner);
15
+ const gaps = regular.repeat(whitespace, 0, 'unbounded', owner);
16
+ c.step(owner, core.length * 3 + 4);
17
+ const pieces = [gaps];
18
+ for (const character of core) {
19
+ c.step(owner, 3 + character.length);
20
+ pieces.push(literal(character), gaps);
21
+ }
22
+ const inverse = regular.concatenate(pieces, owner);
23
+ c.step(owner, masks.length * 2 + 2);
24
+ const words = [];
25
+ for (const mask of masks) {
26
+ const word = regular.witness(regular.intersect([mask, inverse], owner), owner);
27
+ if (word === undefined)
28
+ throw new TypeError('A projected binary core must have an actual WORD preimage');
29
+ c.step(owner, word.length + 2);
30
+ words.push(word);
31
+ }
32
+ return { core, words };
33
+ }
@@ -0,0 +1,13 @@
1
+ import type { SchemaValueContext } from './schemaValueContext.js';
2
+ export type IntrinsicScalarFacet = Readonly<{
3
+ name: string;
4
+ kind: 'integer' | 'bound' | 'whiteSpace';
5
+ value: string;
6
+ fixed: boolean;
7
+ }>;
8
+ export type IntrinsicFacetProperties = Readonly<{
9
+ scalars: readonly IntrinsicScalarFacet[];
10
+ patterns: readonly string[];
11
+ }>;
12
+ export declare const LIST_CONSTRUCTOR_FACETS: IntrinsicFacetProperties;
13
+ export declare function schemaBuiltinFacetProperties<Owner>(name: string, owner: Owner, c: Pick<SchemaValueContext<Owner>, 'step' | 'text'>): IntrinsicFacetProperties;
@@ -0,0 +1,51 @@
1
+ /** Exact derived-builtin facet components from dated Datatypes Appendix A.
2
+ * Primitive normalization behavior is separate: primitive {facets} is empty.
3
+ */
4
+ import { builtinListItem, builtinParents, integerBounds } from './schemaDatatypeValues.js';
5
+ export const LIST_CONSTRUCTOR_FACETS = Object.freeze({
6
+ scalars: Object.freeze([Object.freeze({ name: 'whiteSpace', kind: 'whiteSpace', value: 'collapse', fixed: true })]),
7
+ patterns: Object.freeze([]),
8
+ });
9
+ const exactPatterns = Object.freeze({
10
+ language: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*', NMTOKEN: '\\c+', Name: '\\i\\c*',
11
+ NCName: '[\\i-[:]][\\c-[:]]*', integer: '[\\-+]?[0-9]+',
12
+ });
13
+ export function schemaBuiltinFacetProperties(name, owner, c) {
14
+ c.step(owner, 5);
15
+ if (builtinListItem(name)) {
16
+ c.step(owner, 6);
17
+ return { scalars: [...LIST_CONSTRUCTOR_FACETS.scalars, { name: 'minLength', kind: 'integer', value: '1', fixed: false }], patterns: [] };
18
+ }
19
+ const path = [], scalars = new Map(), patterns = [];
20
+ for (let current = name; builtinParents[current]; current = builtinParents[current]) {
21
+ c.step(owner, 2);
22
+ path.push(current);
23
+ }
24
+ for (let index = path.length - 1; index >= 0; index--) {
25
+ c.step(owner, 6);
26
+ const current = path[index], pattern = exactPatterns[current];
27
+ if (pattern !== undefined) {
28
+ c.text(pattern, owner);
29
+ patterns.push(pattern);
30
+ }
31
+ if (current === 'normalizedString' || current === 'token')
32
+ scalars.set('whiteSpace', {
33
+ name: 'whiteSpace', kind: 'whiteSpace', value: current === 'token' ? 'collapse' : 'replace', fixed: false,
34
+ });
35
+ if (current === 'integer')
36
+ scalars.set('fractionDigits', { name: 'fractionDigits', kind: 'integer', value: '0', fixed: true });
37
+ const bounds = integerBounds[current];
38
+ if (bounds)
39
+ for (const position of [0, 1]) {
40
+ c.step(owner, 4);
41
+ const value = bounds[position];
42
+ if (value !== undefined) {
43
+ c.text(value, owner);
44
+ const boundName = position === 0 ? 'minInclusive' : 'maxInclusive';
45
+ scalars.set(boundName, { name: boundName, kind: 'bound', value, fixed: false });
46
+ }
47
+ }
48
+ }
49
+ c.step(owner, scalars.size + 2);
50
+ return { scalars: [...scalars.values()], patterns };
51
+ }
@@ -0,0 +1,7 @@
1
+ import type { CalendarFamily } from './schemaExactCalendar.js';
2
+ import type { RegularLanguage } from './schemaRegularLanguage.js';
3
+ import { schemaRegularLanguages } from './schemaRegularLanguage.js';
4
+ import type { SchemaPatternContext } from './schemaValueContext.js';
5
+ export declare function schemaCalendarImages<Owner>(c: SchemaPatternContext<Owner>, regular: ReturnType<typeof schemaRegularLanguages<Owner>>, expression: (text: string, owner: Owner) => RegularLanguage): {
6
+ image: (source: RegularLanguage, family: CalendarFamily, owner: Owner) => RegularLanguage;
7
+ };
@@ -0,0 +1,204 @@
1
+ /** Finite field-boundary images of exact DT A calendar values. */
2
+ import { parseCalendar, parseReduced, showInstant } from './schemaExactCalendar.js';
3
+ import { schemaRegularLanguages } from './schemaRegularLanguage.js';
4
+ import { schemaCalendarLanguages } from './schemaCalendarLanguage.js';
5
+ import { schemaIntegerImages } from './schemaIntegerImages.js';
6
+ export function schemaCalendarImages(c, regular, expression) {
7
+ const calendars = schemaCalendarLanguages(c, regular, expression), integers = schemaIntegerImages(c, regular, expression);
8
+ const quote = (text, owner) => { c.text(text, owner); c.step(owner, text.length * 2 + 1); return expression(text.replace(/[\\.\-^?*+{}()\[\]|]/g, '\\$&'), owner); };
9
+ const padded = (language, owner) => {
10
+ c.step(owner, 3);
11
+ const choices = [regular.intersect([language, expression('[1-9][0-9]{3,}', owner)], owner)];
12
+ for (let size = 1; size < 4; size++) {
13
+ c.step(owner, 16);
14
+ choices.push(regular.concatenate([expression('0'.repeat(4 - size), owner),
15
+ regular.intersect([language, expression('[0-9]{' + size + '}', owner)], owner)], owner));
16
+ }
17
+ return regular.union(choices, owner);
18
+ };
19
+ const image = (source, family, owner) => {
20
+ const b = { charge: count => c.step(owner, count), arithmetic: digits => c.step(owner, (digits + 4) ** 2), text: value => { c.text(value, owner); } };
21
+ c.step(owner, 4);
22
+ const images = [], epsilon = quote('', owner), yearPresent = ['date', 'dateTime', 'gYear', 'gYearMonth'].includes(family);
23
+ const sourceProgram = regular.automaton(source, owner), suffixCache = new Map();
24
+ c.step(owner, sourceProgram.states.length * 3 + 2);
25
+ const finals = sourceProgram.states.flatMap((state, index) => state.accepting ? [index] : []);
26
+ const prefixFor = (suffix) => {
27
+ c.text(suffix, owner);
28
+ let current = finals;
29
+ for (let offset = suffix.length - 1; offset >= 0; offset--) {
30
+ c.step(owner, current.length * 16 + 8);
31
+ const key = suffix.charCodeAt(offset) + ':' + JSON.stringify(current), known = suffixCache.get(key);
32
+ if (known) {
33
+ current = known;
34
+ continue;
35
+ }
36
+ c.step(owner, current.length * 2 + 3);
37
+ const accepted = new Set(current), previous = [];
38
+ for (let state = 0; state < sourceProgram.states.length; state++)
39
+ for (const edge of sourceProgram.states[state].transitions) {
40
+ c.step(owner);
41
+ if (edge.lo <= suffix.charCodeAt(offset) && edge.hi >= suffix.charCodeAt(offset) && accepted.has(edge.to)) {
42
+ c.step(owner);
43
+ previous.push(state);
44
+ break;
45
+ }
46
+ }
47
+ c.step(owner, key.length + previous.length + 2);
48
+ suffixCache.set(key, previous);
49
+ current = previous;
50
+ if (!current.length)
51
+ return undefined;
52
+ }
53
+ if (!current.length)
54
+ return undefined;
55
+ return regular.paths(sourceProgram, [sourceProgram.start], new Set(current), owner);
56
+ };
57
+ for (let offset = -841; offset <= 840; offset++) {
58
+ c.step(owner, 16);
59
+ const zoned = offset !== -841, minutes = zoned ? offset : 0;
60
+ const zones = !zoned ? [''] : !minutes ? ['Z', '+00:00', '-00:00']
61
+ : [(minutes < 0 ? '-' : '+') + Math.floor(Math.abs(minutes) / 60).toString().padStart(2, '0') + ':' + (Math.abs(minutes) % 60).toString().padStart(2, '0')];
62
+ for (const zone of zones) {
63
+ const prefix = prefixFor(zone);
64
+ if (!prefix)
65
+ continue;
66
+ for (const negative of yearPresent ? [false, true] : [false]) {
67
+ const unsigned = negative ? regular.quotient(prefix, quote('-', owner), epsilon, owner) : prefix, program = regular.automaton(unsigned, owner);
68
+ c.step(owner, program.states.length * 3 + 4);
69
+ const incoming = program.states.map(() => []), productive = new Set(), pending = [];
70
+ for (let from = 0; from < program.states.length; from++) {
71
+ if (program.states[from].accepting) {
72
+ c.step(owner, 2);
73
+ productive.add(from);
74
+ pending.push(from);
75
+ }
76
+ for (const edge of program.states[from].transitions) {
77
+ c.step(owner);
78
+ incoming[edge.to].push(from);
79
+ }
80
+ }
81
+ while (pending.length) {
82
+ c.step(owner);
83
+ const state = pending.pop();
84
+ for (const from of incoming[state]) {
85
+ c.step(owner);
86
+ if (!productive.has(from)) {
87
+ c.step(owner, 2);
88
+ productive.add(from);
89
+ pending.push(from);
90
+ }
91
+ }
92
+ }
93
+ c.step(owner, 3);
94
+ let frames = [];
95
+ if (!yearPresent)
96
+ frames.push({ at: program.start, year: quote('2000', owner), fields: [] });
97
+ else
98
+ for (let end = 0; end < program.states.length; end++) {
99
+ const year = regular.intersect([regular.paths(program, [program.start], new Set([end]), owner), calendars.year(false, owner)], owner);
100
+ if (regular.witness(year, owner) !== undefined)
101
+ frames.push({ at: end, year, fields: [] });
102
+ }
103
+ const walk = (from, text) => {
104
+ c.text(text, owner);
105
+ let state = from;
106
+ for (const character of text) {
107
+ c.step(owner, program.states[state].transitions.length + 1);
108
+ const cp = character.charCodeAt(0), edge = program.states[state].transitions.find(edge => edge.lo <= cp && edge.hi >= cp);
109
+ if (!edge || !productive.has(edge.to))
110
+ return undefined;
111
+ state = edge.to;
112
+ }
113
+ return state;
114
+ };
115
+ const clock = family === 'dateTime' || family === 'time';
116
+ const descriptors = [
117
+ { present: !['gYear', 'gDay', 'time'].includes(family), separator: family === 'gMonthDay' || family === 'gMonth' ? '--' : '-', min: 1, max: 12, fixed: 1 },
118
+ { present: ['date', 'dateTime', 'gMonthDay', 'gDay'].includes(family), separator: family === 'gDay' ? '---' : '-', min: 1, max: 31, fixed: 1 },
119
+ { present: clock, separator: family === 'dateTime' ? 'T' : '', min: 0, max: 24, fixed: 0 },
120
+ { present: clock, separator: ':', min: 0, max: 59, fixed: 0 },
121
+ { present: clock, separator: ':', min: 0, max: 60, fixed: 0 },
122
+ ];
123
+ for (const descriptor of descriptors) {
124
+ c.step(owner, 3);
125
+ const next = [];
126
+ for (const frame of frames) {
127
+ if (!descriptor.present) {
128
+ c.step(owner, frame.fields.length + 4);
129
+ next.push({ ...frame, fields: [...frame.fields, descriptor.fixed] });
130
+ continue;
131
+ }
132
+ for (let value = descriptor.min; value <= descriptor.max; value++) {
133
+ c.step(owner, 12);
134
+ const at = walk(frame.at, descriptor.separator + value.toString().padStart(2, '0'));
135
+ if (at !== undefined) {
136
+ c.step(owner, frame.fields.length + 4);
137
+ next.push({ ...frame, at, fields: [...frame.fields, value] });
138
+ }
139
+ }
140
+ }
141
+ frames = next;
142
+ }
143
+ c.step(owner, program.states.length * 4 + 3);
144
+ const accepted = new Set(program.states.flatMap((state, index) => state.accepting ? [index] : []));
145
+ for (const frame of frames) {
146
+ c.step(owner, 3);
147
+ const fractions = [];
148
+ if (accepted.has(frame.at))
149
+ fractions.push(undefined);
150
+ const dot = clock ? walk(frame.at, '.') : undefined;
151
+ if (dot !== undefined) {
152
+ const tail = regular.intersect([regular.paths(program, [dot], accepted, owner), expression('[0-9]+', owner)], owner);
153
+ if (regular.witness(regular.intersect([tail, expression('0+', owner)], owner), owner) !== undefined)
154
+ fractions.push(undefined);
155
+ const trimmed = regular.intersect([regular.quotient(tail, epsilon, expression('0*', owner), owner), expression('[0-9]*[1-9]', owner)], owner);
156
+ if (regular.witness(trimmed, owner) !== undefined)
157
+ fractions.push(trimmed);
158
+ }
159
+ if (!fractions.length)
160
+ continue;
161
+ for (const leap of yearPresent ? [false, true] : [true]) {
162
+ const rawYear = !yearPresent ? frame.year : regular.intersect([frame.year, leap ? calendars.year(true, owner) : regular.negate(calendars.year(true, owner), owner)], owner);
163
+ if (regular.witness(rawYear, owner) === undefined)
164
+ continue;
165
+ const representative = !yearPresent ? '2000' : negative ? leap ? '-0004' : '-0001' : leap ? '2000' : '2001';
166
+ c.step(owner, 96);
167
+ const [month, day, hour, minute, second] = frame.fields, two = (n) => n.toString().padStart(2, '0');
168
+ const date = representative + '-' + two(month) + '-' + two(day), time = two(hour) + ':' + two(minute) + ':' + two(second);
169
+ const lexical = family === 'dateTime' ? date + 'T' + time + zone : family === 'date' ? date + zone : family === 'time' ? time + zone
170
+ : family === 'gYear' ? representative + zone : family === 'gYearMonth' ? representative + '-' + two(month) + zone
171
+ : family === 'gMonthDay' ? '--' + two(month) + '-' + two(day) + zone : family === 'gDay' ? '---' + two(day) + zone : '--' + two(month) + zone;
172
+ const value = family === 'date' || family === 'dateTime' ? parseCalendar(family, lexical, b) : parseReduced(family, lexical, b), coordinate = showInstant(value.seconds, b);
173
+ c.step(owner, coordinate.length * 3 + 8);
174
+ const split = /^(-?[0-9]+)(-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2})Z$/.exec(coordinate);
175
+ let years;
176
+ if (!yearPresent)
177
+ years = quote(split[1], owner);
178
+ else {
179
+ const continuous = (year) => year > 0n ? year - 1n : year;
180
+ c.step(owner, 64);
181
+ const change = Number(continuous(BigInt(split[1])) - continuous(BigInt(representative))), magnitudeChange = negative ? -change : change;
182
+ const absolute = regular.intersect([regular.quotient(rawYear, expression('0*', owner), epsilon, owner), expression('[1-9][0-9]*', owner)], owner);
183
+ const one = quote('1', owner), parts = [];
184
+ if (magnitudeChange === -1 && regular.witness(regular.intersect([absolute, one], owner), owner) !== undefined)
185
+ parts.push(quote(negative ? '0001' : '-0001', owner));
186
+ const remaining = magnitudeChange === -1 ? regular.intersect([absolute, regular.negate(one, owner)], owner) : absolute;
187
+ const shifted = integers.sum([{ language: remaining, weight: 1 }], owner, magnitudeChange);
188
+ parts.push(regular.concatenate([quote(negative ? '-' : '', owner), padded(shifted, owner)], owner));
189
+ years = regular.union(parts, owner);
190
+ }
191
+ for (const fraction of fractions) {
192
+ c.step(owner, 2);
193
+ images.push(regular.concatenate([years, quote(split[2], owner),
194
+ fraction ? regular.concatenate([quote('.', owner), fraction], owner) : epsilon, quote(zoned ? 'Z' : '', owner)], owner));
195
+ }
196
+ }
197
+ }
198
+ }
199
+ }
200
+ }
201
+ return regular.union(images, owner);
202
+ };
203
+ return { image };
204
+ }
@@ -0,0 +1,10 @@
1
+ import type { Calendar, CalendarFamily } from './schemaExactCalendar.js';
2
+ import type { RegularLanguage } from './schemaRegularLanguage.js';
3
+ import { schemaRegularLanguages } from './schemaRegularLanguage.js';
4
+ import type { SchemaPatternContext } from './schemaValueContext.js';
5
+ export declare function schemaCalendarLanguages<Owner>(c: SchemaPatternContext<Owner>, regular: ReturnType<typeof schemaRegularLanguages<Owner>>, expression: (text: string, owner: Owner) => RegularLanguage): {
6
+ bound: (source: RegularLanguage, endpoint: Calendar, name: "minInclusive" | "minExclusive" | "maxInclusive" | "maxExclusive", owner: Owner) => RegularLanguage;
7
+ validDate: (family: CalendarFamily, owner: Owner) => RegularLanguage;
8
+ valid: (family: CalendarFamily, owner: Owner) => RegularLanguage;
9
+ year: (leap: boolean, owner: Owner) => RegularLanguage;
10
+ };
@@ -0,0 +1,227 @@
1
+ /** Exact regular preimages of DT A calendar validity and bound predicates. */
2
+ import { showInstant, ordinal } from './schemaExactCalendar.js';
3
+ import { schemaRegularLanguages } from './schemaRegularLanguage.js';
4
+ import { schemaDecimalLanguages } from './schemaDecimalLanguage.js';
5
+ export function schemaCalendarLanguages(c, regular, expression) {
6
+ const decimals = schemaDecimalLanguages(c), yearLanguages = new Map();
7
+ const empty = (owner) => regular.union([], owner);
8
+ const literal = (text, owner) => {
9
+ c.text(text, owner);
10
+ c.step(owner, text.length * 2 + 1);
11
+ return expression(text.replace(/[\\.\-^?*+{}()\[\]|]/g, '\\$&'), owner);
12
+ };
13
+ const calendarBudget = (owner) => ({ charge: work => c.step(owner, work),
14
+ arithmetic: digits => c.step(owner, (digits + 4) ** 2), text: text => { c.text(text, owner); } });
15
+ const year = (leap, owner) => {
16
+ const cached = yearLanguages.get(leap);
17
+ if (cached)
18
+ return cached;
19
+ const grammar = regular.intersect([expression('\\-?([0-9]{4}|[1-9][0-9]{4,})', owner), regular.negate(expression('\\-?0000', owner), owner)], owner);
20
+ if (!leap) {
21
+ c.step(owner);
22
+ yearLanguages.set(false, grammar);
23
+ return grammar;
24
+ }
25
+ // 10^4 is divisible by 400. Noncentury leap years have a nonzero
26
+ // two-digit suffix divisible by four; centuries require their preceding
27
+ // two digits (the last four digits overall) to be divisible by four.
28
+ const suffix = '\\-?[0-9]*(([02468][48]|[13579][26]|[2468]0)|([02468][048]|[13579][26])00)';
29
+ c.step(owner, suffix.length + 2);
30
+ const language = regular.intersect([grammar, expression(suffix, owner)], owner);
31
+ c.step(owner);
32
+ yearLanguages.set(true, language);
33
+ return language;
34
+ };
35
+ const validDate = (family, owner) => {
36
+ const epsilon = literal('', owner);
37
+ if (family === 'time')
38
+ return epsilon;
39
+ if (family === 'gYear')
40
+ return year(false, owner);
41
+ if (family === 'gYearMonth')
42
+ return regular.concatenate([year(false, owner), expression('\\-(0[1-9]|1[0-2])', owner)], owner);
43
+ if (family === 'gMonth')
44
+ return expression('\\-\\-(0[1-9]|1[0-2])', owner);
45
+ if (family === 'gDay')
46
+ return expression('\\-\\-\\-(0[1-9]|[12][0-9]|3[01])', owner);
47
+ const monthDay = '((01|03|05|07|08|10|12)\\-(0[1-9]|[12][0-9]|3[01])|(04|06|09|11)\\-(0[1-9]|[12][0-9]|30)|02\\-(0[1-9]|1[0-9]|2[0-8]))';
48
+ if (family === 'gMonthDay')
49
+ return expression('\\-\\-(' + monthDay + '|02\\-29)', owner);
50
+ return regular.union([regular.concatenate([year(false, owner), literal('-', owner), expression(monthDay, owner)], owner),
51
+ regular.concatenate([year(true, owner), literal('-02-29', owner)], owner)], owner);
52
+ };
53
+ const fields = (family, style, owner) => {
54
+ c.step(owner, 48);
55
+ const epsilon = literal('', owner), digits = expression('[0-9]{2}', owner);
56
+ const y = ['time', 'gMonthDay', 'gDay', 'gMonth'].includes(family)
57
+ ? { language: epsilon, fixed: 2000, separator: '' } : { language: year(false, owner), separator: '' };
58
+ const m = family === 'gYear' || family === 'gDay' || family === 'time'
59
+ ? { language: epsilon, fixed: 1, separator: '' } : { language: digits, separator: family === 'gMonthDay' || family === 'gMonth' ? '--' : '-' };
60
+ const d = family === 'gYear' || family === 'gYearMonth' || family === 'gMonth' || family === 'time'
61
+ ? { language: epsilon, fixed: 1, separator: '' } : { language: digits, separator: family === 'gDay' ? '---' : '-' };
62
+ const clock = family === 'dateTime' || family === 'time';
63
+ const h = !clock ? { language: epsilon, fixed: 0, separator: '' }
64
+ : style === '24' ? { language: literal('24', owner), fixed: 0, separator: family === 'dateTime' ? 'T' : '' }
65
+ : { language: expression('([01][0-9]|2[0-3])', owner), separator: family === 'dateTime' ? 'T' : '' };
66
+ const minute = !clock ? { language: epsilon, fixed: 0, separator: '' }
67
+ : style === '24' ? { language: literal('00', owner), fixed: 0, separator: ':' } : { language: expression('[0-5][0-9]', owner), separator: ':' };
68
+ const second = !clock ? { language: epsilon, fixed: 0, separator: '' }
69
+ : style === '24' ? { language: expression('00([.]0+)?', owner), fixed: 0, separator: ':' }
70
+ : { language: expression(style === '60' ? '60([.][0-9]+)?' : '[0-5][0-9]([.][0-9]+)?', owner), shift: style === '60' ? 60 : undefined, separator: ':' };
71
+ return [y, m, d, h, minute, second];
72
+ };
73
+ const joinFields = (parts, descriptor, owner) => {
74
+ c.step(owner, parts.length * 2 + 2);
75
+ const result = [];
76
+ for (let index = 0; index < parts.length; index++) {
77
+ c.step(owner, 2);
78
+ result.push(literal(descriptor[index].separator, owner), parts[index]);
79
+ }
80
+ return regular.concatenate(result, owner);
81
+ };
82
+ const compareFields = (descriptor, threshold, greater, inclusive, owner) => {
83
+ const budget = calendarBudget(owner), text = showInstant(threshold, budget);
84
+ c.step(owner, text.length * 3 + 8);
85
+ const match = /^(-?[0-9]+)-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2}(?:\.[0-9]+)?)Z$/.exec(text);
86
+ const targets = match.slice(1), equals = [], alternatives = [];
87
+ for (let index = 0; index < descriptor.length; index++) {
88
+ c.step(owner, targets[index].length * 2 + 4);
89
+ const field = descriptor[index], target = targets[index].replace(/^(-?)0+(?=[0-9])/, '$1');
90
+ let unequal, equal;
91
+ if (field.fixed !== undefined) {
92
+ c.step(owner, target.length ** 2 + 4);
93
+ const order = field.fixed === 0 ? /[1-9]/.test(target) ? -1 : 0
94
+ : BigInt(field.fixed) < BigInt(target) ? -1 : BigInt(field.fixed) > BigInt(target) ? 1 : 0;
95
+ unequal = (greater ? order > 0 : order < 0) ? field.language : empty(owner);
96
+ equal = order === 0 ? field.language : empty(owner);
97
+ }
98
+ else {
99
+ c.text(target, owner);
100
+ let compared = target;
101
+ if (field.shift) {
102
+ c.step(owner, target.length + 16);
103
+ const [whole, fraction] = target.split('.');
104
+ compared = String(Number(whole) + field.shift) + (fraction ? '.' + fraction : '');
105
+ }
106
+ const relation = decimals.relation(compared, greater, owner);
107
+ unequal = relation === undefined ? empty(owner) : regular.intersect([field.language, expression(relation, owner)], owner);
108
+ const negative = compared.startsWith('-'), unsigned = negative ? compared.slice(1) : compared;
109
+ const [whole, fraction] = unsigned.split('.');
110
+ c.step(owner, compared.length * 3 + 32);
111
+ const inverse = compared.replace(/^[-+]?0+(?=[0-9])/, '') === '0' ? '[+\\-]?(0+([.]0*)?|[.]0+)'
112
+ : (negative ? '\\-' : '[+]?') + (fraction ? '0*' + whole + '[.]' + fraction + '0*' : '0*' + whole + '([.]0*)?');
113
+ equal = regular.intersect([field.language, expression(inverse, owner)], owner);
114
+ }
115
+ c.step(owner, descriptor.length * 2 + equals.length + 4);
116
+ alternatives.push(joinFields([...equals, unequal, ...descriptor.slice(index + 1).map(field => field.language)], descriptor, owner));
117
+ equals.push(equal);
118
+ }
119
+ if (inclusive)
120
+ alternatives.push(joinFields(equals, descriptor, owner));
121
+ return regular.union(alternatives, owner);
122
+ };
123
+ const suffixChecker = (source, owner) => {
124
+ const program = regular.automaton(source, owner), cache = new Map();
125
+ c.step(owner, program.states.length + 4);
126
+ const final = program.states.flatMap((state, index) => state.accepting ? [index] : []);
127
+ return (text) => {
128
+ c.text(text, owner);
129
+ let current = final;
130
+ for (let offset = text.length - 1; offset >= 0; offset--) {
131
+ c.step(owner, current.length * 16 + 8);
132
+ const identity = text.charCodeAt(offset) + ':' + JSON.stringify(current), known = cache.get(identity);
133
+ if (known) {
134
+ current = known;
135
+ continue;
136
+ }
137
+ c.step(owner, current.length * 2 + 3);
138
+ const accepted = new Set(current), previous = [], cp = text.charCodeAt(offset);
139
+ for (let state = 0; state < program.states.length; state++)
140
+ for (const edge of program.states[state].transitions) {
141
+ c.step(owner, 2);
142
+ if (cp >= edge.lo && cp <= edge.hi && accepted.has(edge.to)) {
143
+ c.step(owner);
144
+ previous.push(state);
145
+ break;
146
+ }
147
+ }
148
+ c.step(owner, identity.length + previous.length + 2);
149
+ cache.set(identity, previous);
150
+ current = previous;
151
+ if (!current.length)
152
+ return undefined;
153
+ }
154
+ if (!current.length)
155
+ return undefined;
156
+ c.step(owner, current.length * 2 + program.states.length * 3 + 4);
157
+ const accepted = new Set(current);
158
+ return regular.fromAutomaton({ start: program.start, states: program.states.map((state, index) => ({ transitions: state.transitions, accepting: accepted.has(index) })) }, owner);
159
+ };
160
+ };
161
+ const bound = (source, endpoint, name, owner) => {
162
+ const family = endpoint.family, budget = calendarBudget(owner), possibleSuffix = suffixChecker(source, owner);
163
+ c.step(owner, 4);
164
+ const choices = [], greater = name.startsWith('min'), inclusive = name.endsWith('Inclusive');
165
+ budget.arithmetic(endpoint.seconds.digits + endpoint.seconds.scale + 8);
166
+ const power = 10n ** BigInt(endpoint.seconds.scale);
167
+ const shifted = (seconds) => {
168
+ budget.arithmetic(endpoint.seconds.digits + endpoint.seconds.scale + 8);
169
+ c.step(owner, 4);
170
+ return { ...endpoint.seconds, coefficient: endpoint.seconds.coefficient + BigInt(seconds) * power };
171
+ };
172
+ c.step(owner, 4);
173
+ const date = validDate(family, owner);
174
+ for (let index = -841; index <= 840; index++) {
175
+ c.step(owner, 16);
176
+ const zoned = index !== -841, offset = zoned ? index : 0;
177
+ const suffixes = !zoned ? [''] : !offset ? ['Z', '+00:00', '-00:00']
178
+ : [(offset < 0 ? '-' : '+') + Math.floor(Math.abs(offset) / 60).toString().padStart(2, '0') + ':' + (Math.abs(offset) % 60).toString().padStart(2, '0')];
179
+ for (const zone of suffixes) {
180
+ const prefix = possibleSuffix(zone);
181
+ if (!prefix)
182
+ continue;
183
+ if (!zone && regular.witness(regular.intersect([source, expression('.*[0-9]', owner)], owner), owner) === undefined)
184
+ continue;
185
+ const crossTimeline = zoned !== endpoint.zoned;
186
+ const uncertainty = crossTimeline ? (greater ? 50400 : -50400) : 0;
187
+ for (const style of family === 'dateTime' || family === 'time' ? ['normal', '60', '24'] : ['normal']) {
188
+ const descriptor = fields(family, style, owner), rendered = joinFields(descriptor.map(field => field.language), descriptor, owner);
189
+ const validity = regular.concatenate([regular.intersect([prefix, rendered,
190
+ family === 'dateTime' ? regular.concatenate([date, expression('T.*', owner)], owner)
191
+ : family === 'time' ? rendered : date], owner), literal(zone, owner)], owner);
192
+ if (regular.witness(regular.intersect([source, validity], owner), owner) === undefined)
193
+ continue;
194
+ const adjustment = style === '60' ? 60 : style === '24' ? 86400 : 0;
195
+ if (family !== 'time') {
196
+ const predicate = compareFields(descriptor, shifted(offset * 60 + uncertainty - adjustment), greater, inclusive && !crossTimeline, owner);
197
+ choices.push(regular.intersect([validity, regular.concatenate([predicate, literal(zone, owner)], owner)], owner));
198
+ }
199
+ else {
200
+ // Raw clocks occupy one reference day. Four carries cover every
201
+ // allowed offset and the two overflow styles under DT A modulo.
202
+ const baseDay = ordinal(2000n, 1, 1, budget, 4) * 86400n;
203
+ for (let carry = -1; carry <= 2; carry++) {
204
+ const main = shifted(offset * 60 + uncertainty - adjustment + carry * 86400);
205
+ budget.arithmetic(endpoint.seconds.digits + endpoint.seconds.scale + 16);
206
+ c.step(owner, 8);
207
+ const begin = { coefficient: (baseDay + BigInt(offset * 60 - adjustment + carry * 86400)) * power, scale: endpoint.seconds.scale, digits: endpoint.seconds.digits + 16 };
208
+ const end = { ...begin, coefficient: begin.coefficient + 86400n * power };
209
+ const predicate = regular.intersect([compareFields(descriptor, main, greater, inclusive && !crossTimeline, owner),
210
+ compareFields(descriptor, begin, true, true, owner), compareFields(descriptor, end, false, false, owner)], owner);
211
+ choices.push(regular.intersect([validity, regular.concatenate([predicate, literal(zone, owner)], owner)], owner));
212
+ }
213
+ }
214
+ }
215
+ }
216
+ }
217
+ return regular.union(choices, owner);
218
+ };
219
+ const valid = (family, owner) => {
220
+ const zone = expression('(Z|[+\\-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?', owner);
221
+ const clock = expression('(([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?|24:00:00([.]0+)?)', owner);
222
+ const value = family === 'time' ? clock : family === 'dateTime'
223
+ ? regular.concatenate([validDate(family, owner), literal('T', owner), clock], owner) : validDate(family, owner);
224
+ return regular.concatenate([value, zone], owner);
225
+ };
226
+ return { bound, validDate, valid, year };
227
+ }
@@ -232,4 +232,3 @@ export type CompiledCatalog = {
232
232
  * portType reference, then enumerate operations and their soapAction URIs.
233
233
  */
234
234
  export declare function compileCatalog(cat: WsdlCatalog, options: CompilerOptions, streamConfig?: StreamConfig): CompiledCatalog;
235
- //# sourceMappingURL=schemaCompiler.d.ts.map
@@ -0,0 +1,27 @@
1
+ /** Sufficient recursive component-property equality for cos-particle-extend.
2
+ * Paired recurrence closes equality only; component validity remains a premise.
3
+ */
4
+ import type { GraphNode, NodeId } from './canonicalGraph.js';
5
+ import type { SemanticContext } from './semanticContext.js';
6
+ import type { ScalarFailure } from './schemaScalarKernel.js';
7
+ import type { ScalarObligation } from './scalarSchemaAssessment.js';
8
+ import type { RelationFailure } from './schemaTypeRelations.js';
9
+ import type { AttributeFailure } from './schemaAttributeUses.js';
10
+ import type { ResourceLimitFailure } from './semanticBudget.js';
11
+ import type { SemanticTypeDependency } from './semanticTypeReference.js';
12
+ import type { IdentityConstraintDependency } from './schemaIdentityConstraints.js';
13
+ type Failure = RelationFailure | ScalarFailure | AttributeFailure | ResourceLimitFailure;
14
+ export type ComponentEqualityResult = Readonly<{
15
+ kind: 'checked';
16
+ value: boolean;
17
+ contextId: string;
18
+ authority: 'XSD10-component-properties-v1';
19
+ obligations: readonly string[];
20
+ scalarObligations: readonly ScalarObligation[];
21
+ typeDependencies: readonly SemanticTypeDependency[];
22
+ identityConstraintDependencies: readonly IdentityConstraintDependency[];
23
+ /** Concrete component operands whose property facts this comparison consumed. */
24
+ dependencies: readonly NodeId[];
25
+ }> | Failure;
26
+ export declare function compareComponentProperties(context: SemanticContext, a: GraphNode, b: GraphNode): ComponentEqualityResult;
27
+ export {};