@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
@@ -1,90 +0,0 @@
1
- # Version 1.0 Choice Union Mode
2
-
3
- Status: implemented for `0.26.0`.
4
-
5
- This page records the completed `xs:choice` union support behind `--client-choice-mode union`.
6
-
7
- See the root [README.md](../../README.md) for project overview and [Version 1.0 Roadmap Plan](README.md) for the complete 1.0 route.
8
-
9
- ## Goal
10
-
11
- `0.26.0` completes opt-in `--client-choice-mode union` for TypeScript, OpenAPI, generated gateway schemas, generated mocks, and generated test artifacts. The existing `all-optional` mode remains the default and keeps its current generated output unless a bug is explicitly fixed.
12
-
13
- ## Completed Scope
14
-
15
- - Preserved choice-group metadata during schema compilation.
16
- - Emitted TypeScript union types for choice groups in union mode.
17
- - Kept default all-optional TypeScript output stable.
18
- - Emitted Fastify-compatible OpenAPI schemas that reflect choice exclusivity.
19
- - Generated mock data that selects a valid choice branch.
20
- - Generated gateway tests that reject invalid branch combinations.
21
- - Generated gateway tests that reject missing required choice branches.
22
- - Updated README, CLI reference, concepts, supported patterns, generated code docs, and production docs.
23
-
24
- ## Out Of Scope
25
-
26
- - Do not make union mode the default before 1.0.
27
- - Do not change XML runtime mapping for non-choice elements.
28
- - Do not solve abstract substitution groups in this slice unless required by choice fixtures.
29
-
30
- ## Implementation Units
31
-
32
- ### Catalog Metadata
33
-
34
- The compiler preserves catalog metadata for choice groups with stable names, branch element names, branch type names, occurrence constraints, nillable flags, and source order. This lets downstream emitters render deterministic output in both `all-optional` and `union` mode.
35
-
36
- ### TypeScript Emitter
37
-
38
- In `all-optional` mode, the emitter keeps the existing interface shape. In `union` mode, it emits a base object for non-choice fields and combines it with a generated branch union.
39
-
40
- The generated union uses peer `?: never` properties so TypeScript rejects payloads containing more than one branch. Optional choice groups include an empty branch where the WSDL permits omitting all choice members.
41
-
42
- ### OpenAPI Emitter
43
-
44
- The schema strategy is the one proven by [OpenAPI Fastify Compatibility](v1.0-openapi-fastify-compatibility.md). The generated request-body schema uses `oneOf` over containing-object branches with peer `not` constraints.
45
-
46
- Choice member properties remain on the containing object, required non-choice properties stay top-level, and optional choice groups get an empty branch constraint. Closed `oneOf` branches alone were avoided because AJV can remove additional properties before evaluating branch results under Fastify defaults.
47
-
48
- ### Gateway And Test Emitters
49
-
50
- Generated gateway route schemas consume the new OpenAPI shape without hand edits. Generated mock clients select one choice branch in union mode.
51
-
52
- Generated validation tests include invalid multi-branch request cases and missing required-branch request cases for top-level request choice groups. Fastify rejection is covered in generated suites.
53
-
54
- ## Testing Coverage
55
-
56
- ### Compiler Tests
57
-
58
- Coverage asserts catalog metadata for simple, optional, required, nested, attribute-mixed, and sequence-mixed choice groups.
59
-
60
- ### TypeScript Tests
61
-
62
- Coverage checks generated `types.ts` in both `all-optional` and `union` mode. Compile-only tests prove invalid multi-branch payloads fail when union mode is selected.
63
-
64
- ### OpenAPI Tests
65
-
66
- Coverage checks generated schema branches and validates generated specs with the existing OpenAPI validation path.
67
-
68
- ### Gateway Tests
69
-
70
- Coverage checks valid choice request bodies, invalid multi-branch request bodies, and missing required choice request bodies.
71
-
72
- ### Regression Tests
73
-
74
- Snapshot coverage protects default generated output from unintended drift.
75
-
76
- ## Acceptance Criteria
77
-
78
- Satisfied by `0.26.0`:
79
-
80
- - `--client-choice-mode union` changes generated output in a test-backed way.
81
- - `all-optional` mode remains default and stable.
82
- - TypeScript rejects invalid multi-branch payloads in union mode where the object model can represent exclusivity.
83
- - OpenAPI schemas validate with the project validator.
84
- - Generated Fastify routes accept valid branch payloads.
85
- - Generated Fastify routes reject invalid branch combinations through the selected schema strategy.
86
- - Docs describe both modes and their tradeoffs accurately.
87
-
88
- ## Release Implications
89
-
90
- This slice shipped as the `0.26.0` user-facing feature release. It remains opt-in before 1.0, with no upgrade steps for users who keep the default mode.
@@ -1,75 +0,0 @@
1
- # Version 1.0 Contract Audit
2
-
3
- Status: final 1.0 audit completed after `0.40.1`; ongoing as release hygiene.
4
-
5
- Plan for keeping public flags, programmatic options, docs, generated behavior, and roadmap statements aligned through `1.0.0`.
6
-
7
- See the root [README.md](../../README.md) for project overview and [Version 1.0 Roadmap Plan](README.md) for the complete 1.0 route.
8
-
9
- ## Goal
10
-
11
- The contract audit makes every public promise explicit before 1.0. A public promise includes CLI flags, programmatic options, configuration files, generated file shapes, documentation examples, release workflow claims, and roadmap statements.
12
-
13
- ## Why This Slice Remains Active
14
-
15
- This slice prevents later work from building on ambiguous behavior. Choice union mode and JSON array streaming are shipped, so the audit now protects those contracts while WSDL coverage and release-candidate work proceed.
16
-
17
- ## Ongoing Scope
18
-
19
- - Audit CLI flags in `src/cli.ts` against `docs/cli-reference.md`.
20
- - Audit programmatic options in exported types against `docs/api-reference.md`.
21
- - Audit configuration file formats against `docs/configuration.md`.
22
- - Audit generated output claims against snapshots and `examples/generated-output`.
23
- - Refresh `ROADMAP.md` so shipped work is not listed as future work.
24
- - Add focused tests for public behavior when the audit finds a real drift risk.
25
-
26
- ## Out Of Scope
27
-
28
- - Do not expand WSDL feature support in this slice.
29
- - Do not change default generated output unless a contract is already wrong.
30
- - Do not treat release metadata gaps as feature support.
31
-
32
- ## Required Findings
33
-
34
- ### Choice Mode
35
-
36
- `--client-choice-mode union` is implemented in `0.26.0`. Audit passes should keep CLI docs, API docs, generated-code docs, supported-pattern docs, tests, and examples aligned with the released opt-in behavior.
37
-
38
- ### JSON Array Streaming
39
-
40
- `format: "json-array"` is implemented in `0.28.0`. The audit should keep every parser, client, OpenAPI, gateway, runtime, and docs surface aligned across both stream formats.
41
-
42
- ### Roadmap State
43
-
44
- `ROADMAP.md` must reflect the current `0.40.x` line. Choice union mode, JSON array streaming, conformance gate wiring, baseline WSDL coverage, wildcard attribute bags, dependency refreshes, and stage-specific conformance commands must be treated as shipped work before final release-candidate gates begin.
45
-
46
- ### Release Metadata
47
-
48
- Tag gaps before `1.0.0` are not blockers by themselves. The audit should only confirm that release-preflight and release workflows catch missing metadata for the target 1.0 release.
49
-
50
- ## Testing Approach
51
-
52
- ### Documentation Validation
53
-
54
- Run `npm run docs:validate` after documentation changes. This verifies Markdown links and TypeScript fenced snippets.
55
-
56
- ### Contract Snapshot
57
-
58
- Add or update focused tests that inspect CLI option availability and generated metadata defaults. These tests should fail only when public contract surfaces drift from documentation.
59
-
60
- ### Negative Tests
61
-
62
- Add negative tests only for newly identified contract gaps that a follow-up slice can consume. These tests should be skipped or marked as expected failures only if the repository already has an accepted pattern for that.
63
-
64
- ## Acceptance Criteria
65
-
66
- - `ROADMAP.md` names released `0.40.x` work accurately.
67
- - `docs/roadmap/README.md` links every 1.0 slice.
68
- - CLI, API, and configuration docs agree on required 1.0 behavior.
69
- - Known contract gaps are linked to implementation slices.
70
- - `CHANGELOG.md` has one `docs(roadmap):` entry when audit docs change.
71
- - `npm run docs:validate` passes.
72
-
73
- ## Release Implications
74
-
75
- This slice can ship as a documentation-only minor release if no behavior changes are made. If tests are added that currently fail or are skipped, the release notes must explain that they are roadmap scaffolding rather than completed support.
@@ -1,101 +0,0 @@
1
- # Version 1.0 JSON Array Streaming
2
-
3
- Status: implemented for `0.28.0`.
4
-
5
- This document records the implementation slice for `format: "json-array"` streaming for SOAP operations that already use the stream configuration model.
6
-
7
- See the root [README.md](../../README.md) for project overview and [Version 1.0 Roadmap Plan](README.md) for the complete 1.0 route.
8
-
9
- ## Goal
10
-
11
- `0.28.0` completes `format: "json-array"` streaming as a valid JSON array without buffering the full SOAP response. The implementation is compatible with generated clients, OpenAPI output, Fastify routes, generated tests, and production docs.
12
-
13
- ## Design Direction
14
-
15
- JSON array streaming writes an opening bracket with the first record, streams comma-separated JSON records, and writes a closing bracket after the async iterable completes. The implementation preserves backpressure by converting the async iterable into a Node `Readable` stream.
16
-
17
- The key researched constraint is error timing. The helper prefetches the first record before sending the first byte, so an upstream error before the first record still returns the normal error envelope. Once the JSON array response has started, a later error truncates the response and clients must treat the JSON parse failure as a failed stream.
18
-
19
- ## Completed Scope
20
-
21
- - Implemented a runtime helper for JSON array streaming.
22
- - Preserved existing NDJSON behavior.
23
- - Emitted JSON array route handlers when stream metadata says `format: "json-array"`.
24
- - Emitted `application/json` OpenAPI content with an array item schema.
25
- - Generated stream-aware mock clients and tests for JSON array operations.
26
- - Documented terminal-error behavior for JSON array clients.
27
-
28
- ## Out Of Scope
29
-
30
- - Do not implement streaming request bodies in this slice.
31
- - Do not change buffered SOAP operations.
32
- - Do not make JSON array the default stream format.
33
-
34
- ## Research Findings
35
-
36
- ### First-Byte Timing
37
-
38
- Generated routes prefetch the first record before emitting the first JSON array byte. This preserves normal error envelopes for errors that happen before any record is available, with the tradeoff that response headers wait for the first upstream record.
39
-
40
- ### Empty Stream Handling
41
-
42
- An empty stream returns `[]` with `application/json`. The helper emits a syntactically valid empty array without special route code.
43
-
44
- ### Backpressure Handling
45
-
46
- Tests confirm that the helper does not pull from the async iterable faster than the HTTP stream can write. The coverage mirrors the existing NDJSON backpressure tests.
47
-
48
- ### Terminal Error Handling
49
-
50
- Fastify surfaces stream errors after the JSON array has begun as a destroyed or reset response under inject and as a truncated response to real clients. Production docs and troubleshooting docs describe this as a failed stream.
51
-
52
- ## Implementation Units
53
-
54
- ### Runtime Helper
55
-
56
- Added `toJsonArray<T>(records: AsyncIterable<T>): Readable` beside `toNdjson`. The helper serializes records with `JSON.stringify`, inserts commas between records, and closes the array when iteration completes.
57
-
58
- ### Gateway Emitter
59
-
60
- Generate stream route handlers that import `toJsonArray` for `json-array` operations and `toNdjson` for `ndjson` operations. The handler must set the media type from stream metadata.
61
-
62
- ### OpenAPI Emitter
63
-
64
- Emit `application/json` with `schema.type = "array"` and `items` pointing at the record schema. Keep `x-wsdl-tsc-stream` metadata so downstream tooling can still identify stream operations.
65
-
66
- ### Client And Test Emitters
67
-
68
- Keep the client method return shape as `StreamOperationResponse<RecordType>`. Generated tests should parse the HTTP response as a JSON array and assert record values.
69
-
70
- ## Testing Approach
71
-
72
- ### Unit Tests
73
-
74
- Test `toJsonArray` with empty records, one record, multiple records, string escaping, source errors, and backpressure. Mirror the existing `toNdjson` tests where possible.
75
-
76
- ### OpenAPI Tests
77
-
78
- Test that JSON array operations advertise `application/json`, array schema items, and stream extension metadata.
79
-
80
- ### Gateway Integration Tests
81
-
82
- Test Fastify route output for a JSON array stream operation. Assert content type, parseable JSON, and record order.
83
-
84
- ### Error Tests
85
-
86
- Test errors before the first emitted record separately from errors after at least one emitted byte. The expected post-start behavior is a failed or truncated response, not a JSON error envelope.
87
-
88
- ## Acceptance Criteria
89
-
90
- Satisfied by `0.28.0`:
91
-
92
- - `format: "json-array"` generates working client, OpenAPI, gateway, and tests.
93
- - JSON array output is parseable when the source completes normally.
94
- - Output is streamed incrementally and does not buffer the full response.
95
- - NDJSON behavior remains unchanged.
96
- - Terminal-error behavior is documented accurately.
97
- - `npm test` and `npm run smoke:pipeline` pass.
98
-
99
- ## Release Implications
100
-
101
- This slice shipped as the `0.28.0` user-facing feature release. The release notes state that `json-array` can be selected per operation with `stream-config`, while NDJSON remains the default stream format.
@@ -1,99 +0,0 @@
1
- # Version 1.0 OpenAPI Fastify Compatibility
2
-
3
- Status: compatibility baseline completed for `0.26.0` choice union mode and `0.28.0` JSON array streaming.
4
-
5
- Plan for preserving Fastify compatibility as schema output evolves toward `1.0.0`.
6
-
7
- See the root [README.md](../../README.md) for project overview and [Version 1.0 Roadmap Plan](README.md) for the complete 1.0 route.
8
-
9
- ## Goal
10
-
11
- This slice confirms which OpenAPI 3.1 and JSON Schema constructs are safe for generated Fastify gateways. The completed findings constrain released choice union mode, released JSON array streaming, and any future schema complexity work.
12
-
13
- ## Why This Slice Remains Active
14
-
15
- Fastify compatibility is part of the generated gateway contract. A TypeScript type shape can be correct while the generated OpenAPI schema is unusable for Fastify request validation or response serialization.
16
-
17
- ## Scope
18
-
19
- - Maintain probes for `oneOf`, `anyOf`, and `allOf` request schemas through Fastify validation.
20
- - Maintain probes for generated response schemas through Fastify serialization where applicable.
21
- - Maintain probes for streamed routes that omit response serialization schemas.
22
- - Keep the response-depth safety limit aware of schema composition.
23
- - Document the allowed schema strategy for choice union mode.
24
- - Document the allowed schema strategy for JSON array streaming.
25
-
26
- ## Out Of Scope
27
-
28
- - Do not change shipped choice union behavior without new compatibility evidence.
29
- - Do not change shipped JSON array streaming behavior without new compatibility evidence.
30
- - Do not change public WSDL feature coverage in this slice.
31
-
32
- ## Research Questions
33
-
34
- ### Choice Request Validation
35
-
36
- The research determined that `oneOf` with mutually exclusive object branches needs peer exclusion constraints for request bodies. Additional branch exclusion properties are needed to reject payloads that send more than one choice branch.
37
-
38
- ### Choice Response Serialization
39
-
40
- The research determined that generated response schemas should stay conservative unless a future slice proves a stricter strategy. If Fastify serialization becomes fragile, generated route response schemas must stay conservative.
41
-
42
- ### JSON Array Streaming Schema
43
-
44
- The research determined how to advertise an incrementally streamed JSON array in OpenAPI while keeping generated Fastify route schemas valid. Stream routes omit normal response serialization because the response is not a single buffered object.
45
-
46
- ## Local Fastify Findings
47
-
48
- The initial probes use the current project Fastify dependency and `fastify.inject` in `test/integration/fastify-schema-compatibility.test.ts`.
49
-
50
- ### Choice Request Validation
51
-
52
- Fastify's default AJV options remove additional properties when `additionalProperties: false` is present. Because of that, closed `oneOf` branch schemas are not enough for `xsd:choice`: a payload containing both choice fields can be mutated into one valid branch before the `oneOf` result is evaluated.
53
-
54
- The allowed request strategy is:
55
-
56
- - Put the choice member properties on the containing object schema.
57
- - Use `oneOf` for exact branch selection.
58
- - Add peer `not` constraints to each branch so a branch fails when another choice member is present.
59
- - Keep `additionalProperties: false` at the containing object level when the generator already owns the full object shape.
60
-
61
- Do not use bare `anyOf` for exclusive choices. The local probe confirms it accepts a payload containing more than one choice field when branches are open.
62
-
63
- ### Choice Response Serialization
64
-
65
- Keep generated gateway response schemas conservative for this slice. The local probe confirms current envelope-style responses with `anyOf` payload branches serialize under Fastify, so no generator response-schema expansion is required before the choice implementation slice.
66
-
67
- ### JSON Array Streaming Schema
68
-
69
- Keep streamed Fastify routes free of response serialization schemas. The local probe confirms a route can stream an `application/json` array body without registering a Fastify response schema. OpenAPI can advertise the array response, while generated route registration should omit the response schema for streamed handlers.
70
-
71
- ### Response Schema Complexity
72
-
73
- The existing response complexity guard walks `$ref` values inside `allOf`, `anyOf`, and `oneOf`. Unit coverage now locks that behavior so future union work does not bypass the depth safety limit.
74
-
75
- ## Testing Approach
76
-
77
- ### Local Fastify Probes
78
-
79
- Create focused Vitest tests that instantiate Fastify, register minimal schemas, and call `fastify.inject`. These tests should use the project dependency versions rather than external assumptions.
80
-
81
- ### Generator Contract Tests
82
-
83
- Once a schema strategy is chosen, add tests that assert generated OpenAPI and gateway operation schemas use only approved constructs.
84
-
85
- ### Compatibility Fixtures
86
-
87
- Use small synthetic schemas for compatibility probes. Do not require WSDL fixtures until the generator implementation slices.
88
-
89
- ## Acceptance Criteria
90
-
91
- - A documented schema strategy exists for choice union request bodies.
92
- - A documented schema strategy exists for choice union response schemas.
93
- - A documented schema strategy exists for JSON array stream responses.
94
- - Tests prove the selected strategy against local Fastify behavior.
95
- - Existing gateway integration tests still pass.
96
-
97
- ## Release Implications
98
-
99
- This slice shipped its released findings through the choice union and JSON array streaming work. Future schema-generation changes must be paired with compatibility probes, snapshot updates, and migration notes when behavior changes.
@@ -1,92 +0,0 @@
1
- # Version 1.0 Release Candidate Gates
2
-
3
- Status: completed for the `1.0.0` final candidate.
4
-
5
- Plan for validating that `1.0.0` is repeatable, documented, test-backed, and ready to publish.
6
-
7
- See the root [README.md](../../README.md) for project overview and [Version 1.0 Roadmap Plan](README.md) for the complete 1.0 route.
8
-
9
- ## Goal
10
-
11
- The release candidate gates define what must be true before tagging `v1.0.0`. They turn release readiness into concrete checks rather than subjective confidence.
12
-
13
- ## Scope
14
-
15
- - Verify public docs match shipped behavior.
16
- - Verify generated examples are current.
17
- - Verify package contents and agent skill artifact.
18
- - Verify supported Node.js coverage.
19
- - Verify provenance publish workflow readiness.
20
- - Verify release notes and changelog.
21
-
22
- ## Out Of Scope
23
-
24
- - Do not add new generator features in this slice.
25
- - Do not accept known contract gaps as release notes caveats.
26
- - Do not publish `1.0.0` until all gates pass.
27
-
28
- ## Required Gates
29
-
30
- ### Documentation Gate
31
-
32
- Run `npm run docs:validate`. Confirm README, CLI reference, API reference, configuration docs, supported patterns, production docs, and roadmap agree on choice union mode, JSON array streaming, baseline conformance coverage, and Node support.
33
-
34
- ### Test Gate
35
-
36
- Release preflight runs the broad Vitest suite through `npm run ci`. Use focused tests while developing and avoid a separate final `npm test` pass.
37
-
38
- ### Conformance Gate
39
-
40
- Use the narrowest `npm run test:conformance:<stage>` command while changing one evidence layer. Run `npm run test:conformance` when changing capability rows, fixture-backed behavior, shared runner behavior, or the final candidate. Confirm `npm test` and `npm run ci` keep broad Vitest discovery so the canonical full suite stays covered, and confirm release preflight reports a passing `conformance-gate` script check.
41
-
42
- Allow at least six minutes for the full command on Windows. It generates several consumer-style projects and may stay quiet while nested TypeScript or Vitest processes run.
43
-
44
- ### Smoke Gate
45
-
46
- Release preflight runs `npm run smoke:pipeline` through `npm run ci`. Use the focused smoke command while developing pipeline changes and avoid a separate final smoke pass.
47
-
48
- ### CI Gate
49
-
50
- Release preflight runs `npm run ci` once for the final candidate. Do not run a separate final CI pass immediately before or after preflight.
51
-
52
- ### Example Gate
53
-
54
- Run the generated example freshness check through release preflight. Confirm committed examples match regenerated output.
55
-
56
- ### Node Gate
57
-
58
- Run Node 24 as the supported Node.js floor and Node 26 as the current line in CI before the release candidate is accepted. Release workflows should run on Node 24, and release preflight should fail if CI stops covering either line.
59
-
60
- ### Release Gate
61
-
62
- Run `npm run release:preflight -- v1.0.0` once on the final uncommitted release tree. Confirm release notes, changelog, dependency pins, conformance wiring, generated examples, CI, and skill packaging pass, then commit the exact validated tree.
63
-
64
- Set the release version before preflight. Preflight verifies tracked release files without rewriting them and fails if any preflight step changes tracked content; generated checks and the skill ZIP remain under ignored `tmp/` and `dist/` paths.
65
-
66
- The post-release package workflow should run `npm run release:publish-check` before publishing from the tag. It must not rerun full CI because `release:preflight` is the release-blocking gate before the tag is pushed.
67
-
68
- ## Documentation Checklist
69
-
70
- - README names supported 1.0 capabilities accurately.
71
- - CLI reference lists implemented flags only.
72
- - API reference lists implemented options only.
73
- - Configuration docs describe both stream formats.
74
- - Supported patterns reflects the WSDL matrix.
75
- - The conformance gate documents `npm run test:conformance`, broad Vitest discovery, and release preflight wiring.
76
- - The Node gate documents Node 24 as the package floor and Node 26 as the current-line CI check.
77
- - Production docs describe terminal-error behavior for both stream formats.
78
- - Release docs include release-preflight validation as a consumer-facing outcome.
79
- - Migration docs explain any behavior changes since `0.x`.
80
-
81
- ## Acceptance Criteria
82
-
83
- - All required gates pass without skipped 1.0 blockers.
84
- - `docs/releases/v1.0.0.md` exists and follows the release note structure.
85
- - `CHANGELOG.md` has a dated `1.0.0` section during release preparation.
86
- - The package dry-run contents include required runtime templates and docs.
87
- - The agent skill artifact validates and packages deterministically.
88
- - The release workflow can publish with provenance after the targeted publish check passes.
89
-
90
- ## Release Implications
91
-
92
- This slice is the final release preparation work. It should produce the `1.0.0` release commit only after all feature slices have shipped or merged into the release branch.
@@ -1,200 +0,0 @@
1
- # Version 1.0 WSDL Coverage Matrix
2
-
3
- Status: baseline support registry expanded through `0.36.0`; generated-test evidence, app evidence, validation-gate wiring, and `xs:anyAttribute` wildcard-bag support shipped before `1.0.0`.
4
-
5
- Plan for turning WSDL and XSD support claims into automated, fixture-backed evidence before 1.0. This is the first domain under the [Capability Conformance Framework](v1.0-capability-conformance-framework.md).
6
-
7
- The initial fixture-backed compile matrix shipped in `0.30.2` and `0.30.3`, with the baseline support corpus expanded in `0.35.0` and `xs:anyAttribute` promoted to supported in `0.36.0`. Client, OpenAPI, gateway runtime, generated-test, and app evidence now prove the current supported and partial rows, and terminal rows have executable diagnostics. The matrix is now the public baseline support registry. Examples remain demos, while conformance fixtures are the durable support evidence. `npm test` and `npm run ci` cover the conformance suite through broad Vitest discovery, and release preflight verifies that the script wiring remains intact.
8
-
9
- See the root [README.md](../../README.md) for project overview and [Version 1.0 Roadmap Plan](README.md) for the complete 1.0 route.
10
-
11
- ## Goal
12
-
13
- The project should have an automated WSDL and XSD feature matrix that proves which patterns are supported, partially supported, or rejected with diagnostics. The matrix is the conformance registry, aligns with `docs/supported-patterns.md`, and protects 1.0 from silent miscompilation.
14
-
15
- ## Design Direction
16
-
17
- Each matrix row should have a minimal fixture, an expected support status, and a test that proves the status. A supported or partial feature must compile and generate aligned client, OpenAPI, gateway, generated-test, and app artifacts unless the row documents why a stage is inapplicable. An unsupported, diagnostic, or terminal feature must stop before downstream generation and fail with a clear diagnostic or be documented as intentionally out of scope.
18
-
19
- ## Shipped Baseline
20
-
21
- - `test/conformance/fixtures/` contains the baseline WSDL and XSD support fixture set.
22
- - `test/conformance/registry.ts` lists baseline support rows with status, decision, provenance, and public contract text.
23
- - `test/conformance/conformance.test.ts` runs compile-stage expectations for runnable rows.
24
- - Supported and partial rows generate client artifacts that type-check.
25
- - Supported and partial rows generate validated OpenAPI specs with targeted contract assertions.
26
- - Supported and partial rows generate gateway artifacts that type-check and run through Fastify injection.
27
- - Diagnostic and unsupported rows have executable compiler error expectations.
28
- - `docs/supported-patterns.md` includes a generated capability evidence matrix.
29
- - `npm run docs:support-matrix:check` prevents support matrix drift.
30
-
31
- ## Remaining Scope
32
-
33
- - Keep diagnostics executable as more unsupported rows are added.
34
- - Keep fixture metadata useful for a future public conformance fixture corpus.
35
- - Preserve the weather smoke fixture as the canonical end-to-end demo while the copied conformance fixture proves the baseline support claim.
36
-
37
- ## Accepted 1.0 Boundaries
38
-
39
- The remaining partial and terminal rows are accepted for `1.0.0`. They are explicit compatibility boundaries rather than unfinished release blockers.
40
-
41
- - Abstract complex types remain compile-terminal until polymorphic instance handling is designed.
42
- - Substitution groups remain compile-terminal until polymorphic element expansion is designed.
43
- - Multi-binding WSDLs keep deterministic first SOAP binding selection without a new selection option.
44
- - External `PolicyReference` documents are not fetched, resolved, or enforced.
45
- - MTOM/XOP attachments remain outside the typed SOAP-to-REST transport contract.
46
-
47
- ## Out Of Scope
48
-
49
- - Do not implement every unsupported WSDL feature in this slice.
50
- - Do not replace the existing weather fixture for smoke tests.
51
- - Do not generate the explanatory supported-pattern sections from the registry.
52
- - Do not add public CLI commands for the inspector until the registry evidence model stabilizes.
53
-
54
- ## Priority Feature Rows
55
-
56
- | Feature | Expected 1.0 Status | Notes |
57
- |----------------------------|-------------------------|---------------------------------------|
58
- | Weather document-literal baseline | supported | Canonical demo also lives in conformance |
59
- | Complex sequences | supported | Nested references, repeated fields, and optional wrappers |
60
- | Simple restrictions | supported | Enumerations, list aliases, and same-name aliases |
61
- | Simple content attributes | supported | `$value` text content and flattened attributes |
62
- | Documentation propagation | supported | Catalog, TypeScript, OpenAPI, and gateway comments |
63
- | SOAP binding detection | supported | SOAP 1.1, SOAP 1.2, and first SOAP binding behavior |
64
- | Relative XSD imports | supported | Local imports with committed companion XSDs |
65
- | `xs:choice` union mode | supported | Implemented in `0.26.0` |
66
- | `xs:union` | supported | Simple unions implemented after fixture work |
67
- | Abstract types | diagnostic | Avoid silent concrete treatment |
68
- | Substitution groups | diagnostic | Avoid silent omission |
69
- | Multi-binding WSDLs | documented behavior | First binding or explicit selection |
70
- | External `PolicyReference` | partial or diagnostic | Inline policy already exists |
71
- | Deep composition | supported | Prove current recursion behavior |
72
- | `xs:anyAttribute` | supported | Metadata retained; wildcard attribute bag emitted |
73
- | MTOM/XOP attachments | unsupported diagnostic | Keep out of 1.0 scope unless required |
74
-
75
- ## Manifest Shape
76
-
77
- The manifest should be small and reviewable. A JSON or TypeScript manifest is acceptable if tests can import it deterministically.
78
-
79
- ```json
80
- {
81
- "features": [
82
- {
83
- "id": "choice-union-simple",
84
- "fixture": "choice-union-simple.wsdl",
85
- "status": "supported",
86
- "commands": ["compile", "client", "openapi", "gateway"]
87
- }
88
- ]
89
- }
90
- ```
91
-
92
- ## Testing Approach
93
-
94
- ### Matrix Runner
95
-
96
- The existing Vitest suite reads the TypeScript registry and runs compile expectations through programmatic APIs. The next runner should generate artifacts into per-case temporary directories and avoid shelling out where direct generator APIs give better diagnostics.
97
-
98
- ### Supported Feature Tests
99
-
100
- For supported rows, assert successful compilation, generated TypeScript type-checking, OpenAPI validation, and gateway schema generation when applicable.
101
-
102
- Generated client checks should verify that emitted `client.ts`, `types.ts`, `utils.ts`, and `operations.ts` type-check together. OpenAPI checks should validate the full spec and assert capability-specific schema shapes only where the shape is part of the public contract.
103
-
104
- ### Diagnostic Feature Tests
105
-
106
- For diagnostic rows, assert the exact error class or user-facing message shape. Avoid brittle full-message assertions unless the message is part of the public contract.
107
-
108
- Rows marked `diagnostic` should not remain permanent `research` placeholders. If full diagnostics are not implemented in the next slice, the row should say `defer` or carry a clear unresolved decision rather than implying that diagnostic behavior already exists.
109
-
110
- ### Documentation Tests
111
-
112
- Ensure every documented unsupported or partial feature has a corresponding matrix row. This can be a lightweight consistency test that compares feature IDs with anchors or explicit markers in `docs/supported-patterns.md`.
113
-
114
- ## Acceptance Criteria
115
-
116
- - The matrix includes every roadmap priority feature.
117
- - Supported and partial rows have compile, client, OpenAPI, gateway, generated-test, and app evidence when those stages apply.
118
- - Unsupported, diagnostic, or terminal rows fail with clear diagnostics, or are explicitly deferred without support claims.
119
- - `docs/supported-patterns.md` reflects the matrix.
120
- - No known feature silently miscompiles in matrix coverage.
121
- - The matrix can run in CI or release preflight without network access.
122
-
123
- ## Gateway Runtime Evidence
124
-
125
- Phase 3 gateway runtime evidence is shipped for the current supported and partial rows. The current matrix now proves the WSDL to client to OpenAPI to Fastify path for rows that claim support or partial support.
126
-
127
- Use [Capability Conformance Framework](v1.0-capability-conformance-framework.md) as the detailed implementation baseline. This section defines the WSDL-matrix-specific shipped scope.
128
-
129
- ### Phase 3 Shipped Scope
130
-
131
- - Optional `gateway` expectations exist in the conformance type model.
132
- - Gateway artifacts are generated from each relevant row's OpenAPI document.
133
- - The generated `catalog.json` is written before gateway generation.
134
- - Generated gateway artifacts type-check with the generated client artifacts.
135
- - Mock operations clients and `fastify.inject` assertions cover HTTP behavior.
136
- - Diagnostic and unsupported rows stop at compile.
137
- - The generated public support matrix remains status-focused.
138
-
139
- ### Phase 3 Row Scope
140
-
141
- Rows that should gain gateway evidence:
142
-
143
- - `choice-union-simple`
144
- - `xs-union-simple-type`
145
- - `multi-binding-first-soap`
146
- - `external-policy-reference`
147
- - `deep-composition-sequence`
148
- - `xs-anyattribute`
149
-
150
- Rows that should stay compile-terminal:
151
-
152
- - `abstract-complex-type`
153
- - `substitution-group-element`
154
- - `mtom-xop-attachment`
155
-
156
- ### Phase 3 Runtime Expectations
157
-
158
- Each gateway-enabled row should prove plugin import, plugin registration, and at least one `fastify.inject` request when route behavior is relevant. Assertions should inspect the generated success or error envelope, not just the existence of generated files.
159
-
160
- Partial rows must prove only the documented subset. External `PolicyReference` should not imply fetched or enforced external policy. The `xs:anyAttribute` row is supported through generated wildcard attribute bag evidence.
161
-
162
- ### Phase 3 Gotchas
163
-
164
- - Do not overclaim `supported` when gateway behavior is relevant but unproven.
165
- - Do not snapshoot whole generated files for conformance rows; assert stable contract surfaces instead.
166
- - Do not share temporary output directories across rows.
167
- - Do not let diagnostic or unsupported rows proceed to client, OpenAPI, or gateway generation.
168
- - Do not add a public inspector command in this slice.
169
-
170
- ### Next Slice
171
-
172
- Version `0.40.1` adds stage-specific conformance commands and records the accepted 1.0 boundaries. After that release, the next slice is release-candidate preparation. Run it before adding more feature rows unless a production bug requires a focused diagnostic or support decision.
173
-
174
- Work items:
175
-
176
- - Keep `npm run test:conformance` as the focused command for maintainers who want only conformance checks.
177
- - Keep `npm test` and `npm run ci` broad enough for Vitest to discover `test/conformance`.
178
- - Keep release preflight's `conformance-gate` script check aligned with the package scripts.
179
- - Keep release preflight's Node gate aligned with the package engine, Node 24 CI coverage, Node 26 CI coverage, and Node 24 release workflows.
180
- - Confirm release preflight runtime remains acceptable.
181
- - Keep diagnostic and unsupported rows stopped at compile.
182
- - Preserve the accepted partial and terminal 1.0 decisions unless production evidence requires a patch.
183
- - Update public docs only when a row status or public contract changes.
184
-
185
- ### Verification
186
-
187
- Run these commands before the slice is considered ready:
188
-
189
- ```bash
190
- npm run test:conformance
191
- npm run typecheck
192
- npm run docs:validate
193
- npm test
194
- ```
195
-
196
- Run `npm run smoke:pipeline` if the gateway generator or pipeline behavior changes.
197
-
198
- ## Release Implications
199
-
200
- This slice may reveal features that should be implemented before 1.0. It may also justify explicit post-1.0 deferrals if diagnostics and documentation are strong enough.