@techspokes/typescript-wsdl-client 1.1.4 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -1
- package/dist/app/generateApp.d.ts.map +1 -1
- package/dist/app/generateApp.js +8 -6
- package/dist/cli.js +49 -5
- package/dist/client/checkedDirectRuntime.d.ts +59 -0
- package/dist/client/checkedDirectRuntime.d.ts.map +1 -0
- package/dist/client/checkedDirectRuntime.js +23 -0
- package/dist/client/directClientRuntime.d.ts +49 -0
- package/dist/client/directClientRuntime.d.ts.map +1 -0
- package/dist/client/directClientRuntime.js +112 -0
- package/dist/client/directClientVersion.d.ts +4 -0
- package/dist/client/directClientVersion.d.ts.map +1 -0
- package/dist/client/directClientVersion.js +3 -0
- package/dist/client/generateDirectClient.d.ts +14 -0
- package/dist/client/generateDirectClient.d.ts.map +1 -0
- package/dist/client/generateDirectClient.js +136 -0
- package/dist/compiler/buildCanonicalGraph.d.ts +7 -0
- package/dist/compiler/buildCanonicalGraph.d.ts.map +1 -0
- package/dist/compiler/buildCanonicalGraph.js +381 -0
- package/dist/compiler/canonicalGraph.d.ts +198 -0
- package/dist/compiler/canonicalGraph.d.ts.map +1 -0
- package/dist/compiler/canonicalGraph.js +37 -0
- package/dist/compiler/catalogErrors.d.ts +18 -0
- package/dist/compiler/catalogErrors.d.ts.map +1 -0
- package/dist/compiler/catalogErrors.js +86 -0
- package/dist/compiler/catalogProvenance.d.ts +15 -0
- package/dist/compiler/catalogProvenance.d.ts.map +1 -0
- package/dist/compiler/catalogProvenance.js +229 -0
- package/dist/compiler/checkedAssessment.d.ts +91 -0
- package/dist/compiler/checkedAssessment.d.ts.map +1 -0
- package/dist/compiler/checkedAssessment.js +300 -0
- package/dist/compiler/checkedSourcePreparation.d.ts +35 -0
- package/dist/compiler/checkedSourcePreparation.d.ts.map +1 -0
- package/dist/compiler/checkedSourcePreparation.js +131 -0
- package/dist/compiler/complexTypeContent.d.ts +59 -0
- package/dist/compiler/complexTypeContent.d.ts.map +1 -0
- package/dist/compiler/complexTypeContent.js +558 -0
- package/dist/compiler/composeCanonicalGraph.d.ts +69 -0
- package/dist/compiler/composeCanonicalGraph.d.ts.map +1 -0
- package/dist/compiler/composeCanonicalGraph.js +252 -0
- package/dist/compiler/dataOwnership.d.ts +22 -0
- package/dist/compiler/dataOwnership.d.ts.map +1 -0
- package/dist/compiler/dataOwnership.js +157 -0
- package/dist/compiler/datatypeValues.d.ts +47 -0
- package/dist/compiler/datatypeValues.d.ts.map +1 -0
- package/dist/compiler/datatypeValues.js +275 -0
- package/dist/compiler/directCodec.d.ts +59 -0
- package/dist/compiler/directCodec.d.ts.map +1 -0
- package/dist/compiler/directCodec.js +192 -0
- package/dist/compiler/directExecutionPolicy.d.ts +10 -0
- package/dist/compiler/directExecutionPolicy.d.ts.map +1 -0
- package/dist/compiler/directExecutionPolicy.js +17 -0
- package/dist/compiler/directOperation.d.ts +72 -0
- package/dist/compiler/directOperation.d.ts.map +1 -0
- package/dist/compiler/directOperation.js +282 -0
- package/dist/compiler/directSoap.d.ts +42 -0
- package/dist/compiler/directSoap.d.ts.map +1 -0
- package/dist/compiler/directSoap.js +298 -0
- package/dist/compiler/directSoapSource.d.ts +15 -0
- package/dist/compiler/directSoapSource.d.ts.map +1 -0
- package/dist/compiler/directSoapSource.js +86 -0
- package/dist/compiler/directSourceCapsule.d.ts +97 -0
- package/dist/compiler/directSourceCapsule.d.ts.map +1 -0
- package/dist/compiler/directSourceCapsule.js +305 -0
- package/dist/compiler/directStructure.d.ts +51 -0
- package/dist/compiler/directStructure.d.ts.map +1 -0
- package/dist/compiler/directStructure.js +252 -0
- package/dist/compiler/directStructurePlan.d.ts +16 -0
- package/dist/compiler/directStructurePlan.d.ts.map +1 -0
- package/dist/compiler/directStructurePlan.js +58 -0
- package/dist/compiler/directValues.d.ts +69 -0
- package/dist/compiler/directValues.d.ts.map +1 -0
- package/dist/compiler/directValues.js +282 -0
- package/dist/compiler/finiteRe01Verification.d.ts +140 -0
- package/dist/compiler/finiteRe01Verification.d.ts.map +1 -0
- package/dist/compiler/finiteRe01Verification.js +830 -0
- package/dist/compiler/graphTraversal.d.ts +11 -0
- package/dist/compiler/graphTraversal.d.ts.map +1 -0
- package/dist/compiler/graphTraversal.js +37 -0
- package/dist/compiler/hypotheticalScopedIdentity.d.ts +23 -0
- package/dist/compiler/hypotheticalScopedIdentity.d.ts.map +1 -0
- package/dist/compiler/hypotheticalScopedIdentity.js +81 -0
- package/dist/compiler/occurrenceAnalysis.d.ts +65 -0
- package/dist/compiler/occurrenceAnalysis.d.ts.map +1 -0
- package/dist/compiler/occurrenceAnalysis.js +300 -0
- package/dist/compiler/originalSourceMembership.d.ts +6 -0
- package/dist/compiler/originalSourceMembership.d.ts.map +1 -0
- package/dist/compiler/originalSourceMembership.js +31 -0
- package/dist/compiler/particleAttribution.d.ts +17 -0
- package/dist/compiler/particleAttribution.d.ts.map +1 -0
- package/dist/compiler/particleAttribution.js +474 -0
- package/dist/compiler/particleDeclarationConsistency.d.ts +24 -0
- package/dist/compiler/particleDeclarationConsistency.d.ts.map +1 -0
- package/dist/compiler/particleDeclarationConsistency.js +197 -0
- package/dist/compiler/particleExtension.d.ts +22 -0
- package/dist/compiler/particleExtension.d.ts.map +1 -0
- package/dist/compiler/particleExtension.js +119 -0
- package/dist/compiler/particleLocalAssessment.d.ts +20 -0
- package/dist/compiler/particleLocalAssessment.d.ts.map +1 -0
- package/dist/compiler/particleLocalAssessment.js +92 -0
- package/dist/compiler/particleRestriction.d.ts +24 -0
- package/dist/compiler/particleRestriction.d.ts.map +1 -0
- package/dist/compiler/particleRestriction.js +489 -0
- package/dist/compiler/particleSemanticView.d.ts +50 -0
- package/dist/compiler/particleSemanticView.d.ts.map +1 -0
- package/dist/compiler/particleSemanticView.js +297 -0
- package/dist/compiler/particleWildcardRelation.d.ts +88 -0
- package/dist/compiler/particleWildcardRelation.d.ts.map +1 -0
- package/dist/compiler/particleWildcardRelation.js +143 -0
- package/dist/compiler/re01CandidateCorrespondence.d.ts +64 -0
- package/dist/compiler/re01CandidateCorrespondence.d.ts.map +1 -0
- package/dist/compiler/re01CandidateCorrespondence.js +572 -0
- package/dist/compiler/re01TypeProperties.d.ts +71 -0
- package/dist/compiler/re01TypeProperties.d.ts.map +1 -0
- package/dist/compiler/re01TypeProperties.js +120 -0
- package/dist/compiler/re01TypePropertyValidation.d.ts +23 -0
- package/dist/compiler/re01TypePropertyValidation.d.ts.map +1 -0
- package/dist/compiler/re01TypePropertyValidation.js +161 -0
- package/dist/compiler/resolveCanonicalGraph.d.ts +38 -0
- package/dist/compiler/resolveCanonicalGraph.d.ts.map +1 -0
- package/dist/compiler/resolveCanonicalGraph.js +170 -0
- package/dist/compiler/scalarSchemaAssessment.d.ts +425 -0
- package/dist/compiler/scalarSchemaAssessment.d.ts.map +1 -0
- package/dist/compiler/scalarSchemaAssessment.js +5198 -0
- package/dist/compiler/schemaAttributeGroupProperties.d.ts +17 -0
- package/dist/compiler/schemaAttributeGroupProperties.d.ts.map +1 -0
- package/dist/compiler/schemaAttributeGroupProperties.js +53 -0
- package/dist/compiler/schemaAttributeProperties.d.ts +10 -0
- package/dist/compiler/schemaAttributeProperties.d.ts.map +1 -0
- package/dist/compiler/schemaAttributeProperties.js +11 -0
- package/dist/compiler/schemaAttributeUses.d.ts +90 -0
- package/dist/compiler/schemaAttributeUses.d.ts.map +1 -0
- package/dist/compiler/schemaAttributeUses.js +725 -0
- package/dist/compiler/schemaBinaryWordReconstruction.d.ts +10 -0
- package/dist/compiler/schemaBinaryWordReconstruction.d.ts.map +1 -0
- package/dist/compiler/schemaBinaryWordReconstruction.js +33 -0
- package/dist/compiler/schemaBuiltinFacets.d.ts +14 -0
- package/dist/compiler/schemaBuiltinFacets.d.ts.map +1 -0
- package/dist/compiler/schemaBuiltinFacets.js +51 -0
- package/dist/compiler/schemaCalendarImages.d.ts +8 -0
- package/dist/compiler/schemaCalendarImages.d.ts.map +1 -0
- package/dist/compiler/schemaCalendarImages.js +204 -0
- package/dist/compiler/schemaCalendarLanguage.d.ts +11 -0
- package/dist/compiler/schemaCalendarLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaCalendarLanguage.js +227 -0
- package/dist/compiler/schemaComponentEquality.d.ts +28 -0
- package/dist/compiler/schemaComponentEquality.d.ts.map +1 -0
- package/dist/compiler/schemaComponentEquality.js +446 -0
- package/dist/compiler/schemaConstructionAssessment.d.ts +46 -0
- package/dist/compiler/schemaConstructionAssessment.d.ts.map +1 -0
- package/dist/compiler/schemaConstructionAssessment.js +663 -0
- package/dist/compiler/schemaDatatypeValues.d.ts +4 -0
- package/dist/compiler/schemaDatatypeValues.d.ts.map +1 -0
- package/dist/compiler/schemaDatatypeValues.js +2 -0
- package/dist/compiler/schemaDecimalLanguage.d.ts +7 -0
- package/dist/compiler/schemaDecimalLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaDecimalLanguage.js +102 -0
- package/dist/compiler/schemaDeclarationPrimitives.d.ts +34 -0
- package/dist/compiler/schemaDeclarationPrimitives.d.ts.map +1 -0
- package/dist/compiler/schemaDeclarationPrimitives.js +194 -0
- package/dist/compiler/schemaDocumentSyntax.d.ts +55 -0
- package/dist/compiler/schemaDocumentSyntax.d.ts.map +1 -0
- package/dist/compiler/schemaDocumentSyntax.js +294 -0
- package/dist/compiler/schemaDurationLanguage.d.ts +11 -0
- package/dist/compiler/schemaDurationLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaDurationLanguage.js +170 -0
- package/dist/compiler/schemaElementProperties.d.ts +16 -0
- package/dist/compiler/schemaElementProperties.d.ts.map +1 -0
- package/dist/compiler/schemaElementProperties.js +23 -0
- package/dist/compiler/schemaEndpointWordCapacity.d.ts +36 -0
- package/dist/compiler/schemaEndpointWordCapacity.d.ts.map +1 -0
- package/dist/compiler/schemaEndpointWordCapacity.js +39 -0
- package/dist/compiler/schemaExactCalendar.d.ts +73 -0
- package/dist/compiler/schemaExactCalendar.d.ts.map +1 -0
- package/dist/compiler/schemaExactCalendar.js +264 -0
- package/dist/compiler/schemaFacetAnnotation.d.ts +32 -0
- package/dist/compiler/schemaFacetAnnotation.d.ts.map +1 -0
- package/dist/compiler/schemaFacetAnnotation.js +199 -0
- package/dist/compiler/schemaGeneratedScalarShape.d.ts +35 -0
- package/dist/compiler/schemaGeneratedScalarShape.d.ts.map +1 -0
- package/dist/compiler/schemaGeneratedScalarShape.js +176 -0
- package/dist/compiler/schemaIdentityConstraints.d.ts +73 -0
- package/dist/compiler/schemaIdentityConstraints.d.ts.map +1 -0
- package/dist/compiler/schemaIdentityConstraints.js +362 -0
- package/dist/compiler/schemaIeeeLanguage.d.ts +43 -0
- package/dist/compiler/schemaIeeeLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaIeeeLanguage.js +759 -0
- package/dist/compiler/schemaIntegerImages.d.ts +11 -0
- package/dist/compiler/schemaIntegerImages.d.ts.map +1 -0
- package/dist/compiler/schemaIntegerImages.js +113 -0
- package/dist/compiler/schemaLexicalPredicates.d.ts +29 -0
- package/dist/compiler/schemaLexicalPredicates.d.ts.map +1 -0
- package/dist/compiler/schemaLexicalPredicates.js +63 -0
- package/dist/compiler/schemaNotationProperties.d.ts +32 -0
- package/dist/compiler/schemaNotationProperties.d.ts.map +1 -0
- package/dist/compiler/schemaNotationProperties.js +84 -0
- package/dist/compiler/schemaNumericImageConditions.d.ts +24 -0
- package/dist/compiler/schemaNumericImageConditions.d.ts.map +1 -0
- package/dist/compiler/schemaNumericImageConditions.js +66 -0
- package/dist/compiler/schemaParticleWildcardProperties.d.ts +20 -0
- package/dist/compiler/schemaParticleWildcardProperties.d.ts.map +1 -0
- package/dist/compiler/schemaParticleWildcardProperties.js +43 -0
- package/dist/compiler/schemaPattern.d.ts +1062 -0
- package/dist/compiler/schemaPattern.d.ts.map +1 -0
- package/dist/compiler/schemaPattern.js +581 -0
- package/dist/compiler/schemaRegularLanguage.d.ts +67 -0
- package/dist/compiler/schemaRegularLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaRegularLanguage.js +1166 -0
- package/dist/compiler/schemaScalarContext.d.ts +81 -0
- package/dist/compiler/schemaScalarContext.d.ts.map +1 -0
- package/dist/compiler/schemaScalarContext.js +78 -0
- package/dist/compiler/schemaScalarKernel.d.ts +182 -0
- package/dist/compiler/schemaScalarKernel.d.ts.map +1 -0
- package/dist/compiler/schemaScalarKernel.js +391 -0
- package/dist/compiler/schemaScalarWitnesses.d.ts +6 -0
- package/dist/compiler/schemaScalarWitnesses.d.ts.map +1 -0
- package/dist/compiler/schemaScalarWitnesses.js +118 -0
- package/dist/compiler/schemaSimpleTypeProperties.d.ts +95 -0
- package/dist/compiler/schemaSimpleTypeProperties.d.ts.map +1 -0
- package/dist/compiler/schemaSimpleTypeProperties.js +103 -0
- package/dist/compiler/schemaSourceGrammar.d.ts +27 -0
- package/dist/compiler/schemaSourceGrammar.d.ts.map +1 -0
- package/dist/compiler/schemaSourceGrammar.js +290 -0
- package/dist/compiler/schemaSourceLexical.d.ts +4 -0
- package/dist/compiler/schemaSourceLexical.d.ts.map +1 -0
- package/dist/compiler/schemaSourceLexical.js +12 -0
- package/dist/compiler/schemaSourceValues.d.ts +51 -0
- package/dist/compiler/schemaSourceValues.d.ts.map +1 -0
- package/dist/compiler/schemaSourceValues.js +225 -0
- package/dist/compiler/schemaSourceWildcards.d.ts +28 -0
- package/dist/compiler/schemaSourceWildcards.d.ts.map +1 -0
- package/dist/compiler/schemaSourceWildcards.js +247 -0
- package/dist/compiler/schemaSymbolicSequences.d.ts +16 -0
- package/dist/compiler/schemaSymbolicSequences.d.ts.map +1 -0
- package/dist/compiler/schemaSymbolicSequences.js +99 -0
- package/dist/compiler/schemaSymbolicValueSets.d.ts +32 -0
- package/dist/compiler/schemaSymbolicValueSets.d.ts.map +1 -0
- package/dist/compiler/schemaSymbolicValueSets.js +149 -0
- package/dist/compiler/schemaSyntaxAssessment.d.ts +25 -0
- package/dist/compiler/schemaSyntaxAssessment.d.ts.map +1 -0
- package/dist/compiler/schemaSyntaxAssessment.js +361 -0
- package/dist/compiler/schemaTemporalAliases.d.ts +6 -0
- package/dist/compiler/schemaTemporalAliases.d.ts.map +1 -0
- package/dist/compiler/schemaTemporalAliases.js +195 -0
- package/dist/compiler/schemaTokenImages.d.ts +9 -0
- package/dist/compiler/schemaTokenImages.d.ts.map +1 -0
- package/dist/compiler/schemaTokenImages.js +142 -0
- package/dist/compiler/schemaTypeIdentity.d.ts +39 -0
- package/dist/compiler/schemaTypeIdentity.d.ts.map +1 -0
- package/dist/compiler/schemaTypeIdentity.js +78 -0
- package/dist/compiler/schemaTypeRelations.d.ts +38 -0
- package/dist/compiler/schemaTypeRelations.d.ts.map +1 -0
- package/dist/compiler/schemaTypeRelations.js +576 -0
- package/dist/compiler/schemaUri.d.ts +13 -0
- package/dist/compiler/schemaUri.d.ts.map +1 -0
- package/dist/compiler/schemaUri.js +103 -0
- package/dist/compiler/schemaValueContext.d.ts +26 -0
- package/dist/compiler/schemaValueContext.d.ts.map +1 -0
- package/dist/compiler/schemaValueContext.js +1 -0
- package/dist/compiler/schemaValueImages.d.ts +10 -0
- package/dist/compiler/schemaValueImages.d.ts.map +1 -0
- package/dist/compiler/schemaValueImages.js +142 -0
- package/dist/compiler/schemaValueSequences.d.ts +15 -0
- package/dist/compiler/schemaValueSequences.d.ts.map +1 -0
- package/dist/compiler/schemaValueSequences.js +19 -0
- package/dist/compiler/semanticBudget.d.ts +50 -0
- package/dist/compiler/semanticBudget.d.ts.map +1 -0
- package/dist/compiler/semanticBudget.js +178 -0
- package/dist/compiler/semanticCatalog.d.ts +122 -0
- package/dist/compiler/semanticCatalog.d.ts.map +1 -0
- package/dist/compiler/semanticCatalog.js +160 -0
- package/dist/compiler/semanticContext.d.ts +172 -0
- package/dist/compiler/semanticContext.d.ts.map +1 -0
- package/dist/compiler/semanticContext.js +1168 -0
- package/dist/compiler/semanticTypeDependencies.d.ts +8 -0
- package/dist/compiler/semanticTypeDependencies.d.ts.map +1 -0
- package/dist/compiler/semanticTypeDependencies.js +64 -0
- package/dist/compiler/semanticTypeReference.d.ts +24 -0
- package/dist/compiler/semanticTypeReference.d.ts.map +1 -0
- package/dist/compiler/semanticTypeReference.js +36 -0
- package/dist/compiler/shapeResolver.d.ts +1 -0
- package/dist/compiler/shapeResolver.d.ts.map +1 -1
- package/dist/compiler/shapeResolver.js +7 -9
- package/dist/compiler/sourceSchemaBinding.d.ts +26 -0
- package/dist/compiler/sourceSchemaBinding.d.ts.map +1 -0
- package/dist/compiler/sourceSchemaBinding.js +39 -0
- package/dist/compiler/structuralCompanions.d.ts +16 -0
- package/dist/compiler/structuralCompanions.d.ts.map +1 -0
- package/dist/compiler/structuralCompanions.js +232 -0
- package/dist/compiler/validateSemanticGraph.d.ts +5 -0
- package/dist/compiler/validateSemanticGraph.d.ts.map +1 -0
- package/dist/compiler/validateSemanticGraph.js +376 -0
- package/dist/compiler/wildcardAlgebra.d.ts +26 -0
- package/dist/compiler/wildcardAlgebra.d.ts.map +1 -0
- package/dist/compiler/wildcardAlgebra.js +155 -0
- package/dist/gateway/generateGateway.d.ts.map +1 -1
- package/dist/gateway/generateGateway.js +2 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/loader/orderedSyntax.d.ts +77 -0
- package/dist/loader/orderedSyntax.d.ts.map +1 -0
- package/dist/loader/orderedSyntax.js +202 -0
- package/dist/loader/resolutionDepth.d.ts +7 -0
- package/dist/loader/resolutionDepth.d.ts.map +1 -0
- package/dist/loader/resolutionDepth.js +65 -0
- package/dist/loader/schemaInput.d.ts +53 -0
- package/dist/loader/schemaInput.d.ts.map +1 -0
- package/dist/loader/schemaInput.js +212 -0
- package/dist/loader/schemaResources.d.ts +59 -0
- package/dist/loader/schemaResources.d.ts.map +1 -0
- package/dist/loader/schemaResources.js +292 -0
- package/dist/openapi/generateOpenAPI.d.ts.map +1 -1
- package/dist/openapi/generateOpenAPI.js +2 -2
- package/dist/test/generateTests.d.ts.map +1 -1
- package/dist/test/generateTests.js +2 -2
- package/dist/util/xmlWhitespace.d.ts +3 -0
- package/dist/util/xmlWhitespace.d.ts.map +1 -0
- package/dist/util/xmlWhitespace.js +4 -0
- package/docs/README.md +14 -1
- package/docs/architecture.md +9 -0
- package/docs/cli-reference.md +21 -1
- package/docs/content-model-analysis.md +92 -0
- package/docs/content-model-baseline.md +121 -0
- package/docs/content-model-catalog.md +116 -0
- package/docs/content-model-companions.md +90 -0
- package/docs/content-model-composition.md +103 -0
- package/docs/content-model-decisions.md +79 -0
- package/docs/content-model-gateway-feasibility.md +169 -0
- package/docs/content-model-graph.md +121 -0
- package/docs/content-model-loading.md +163 -0
- package/docs/content-model-matching.md +85 -0
- package/docs/content-model-readiness.md +144 -0
- package/docs/content-model-resolution.md +81 -0
- package/docs/content-model-s02-handoff.md +98 -0
- package/docs/content-model-s06-au-01.md +425 -0
- package/docs/content-model-s06-dt-01.md +386 -0
- package/docs/content-model-s06-pw-01.md +350 -0
- package/docs/content-model-s06-re-01-resolver-implementation.md +869 -0
- package/docs/content-model-s06-re-01-resolver.md +513 -0
- package/docs/content-model-s06-re-01-scalar-witnesses.md +1423 -0
- package/docs/content-model-s06-re-01-support-reconstruction.md +6337 -0
- package/docs/content-model-s06-re-01.md +7477 -0
- package/docs/content-model-s06-research-handoff.md +909 -0
- package/docs/content-model-shipped-fix.md +83 -0
- package/docs/content-model-soap-feasibility.md +165 -0
- package/docs/decisions/002-streamable-responses.md +2 -0
- package/docs/decisions/003-content-model-contracts.md +280 -0
- package/docs/direct-values.md +311 -0
- package/docs/reference-validation.md +243 -0
- package/docs/releases/v1.1.5.md +38 -0
- package/docs/roadmap/README.md +2 -2
- package/docs/supported-patterns.md +13 -5
- package/package.json +26 -13
- package/src/generation/preambles/direct-client/typescript.preamble +3 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Checked WSDL readiness inventory
|
|
2
|
+
|
|
3
|
+
Measured source assessment and the next bounded client packet. See the root [README](../README.md).
|
|
4
|
+
|
|
5
|
+
## Accepted assessment boundary
|
|
6
|
+
|
|
7
|
+
[P1 PR #371](https://github.com/TechSpokes/typescript-wsdl-client/pull/371) merged as `2a362164e4ece1c840b53243074069c5fe89c4da`, with reviewed tree `7a762018c9512d060aeb5dd10a0031e45c29e6fc`. The [ADR amendment](decisions/003-content-model-contracts.md#checked-product-assessment-amendment-p1-d01) separates native whole-actual direct premises, dated-XSD correspondence, runtime capability, execution and admission.
|
|
8
|
+
|
|
9
|
+
The production entry is `assessSchemaSource`; the diagnostic command is `wsdl-tsc assess --wsdl-source <source> --report <path>`. Report version is `checked-assessment-v1`, native basis `native-direct-premises-v1`, and the qualified correspondence route is `dated-XSD-2004-direct-v1`. Diagnostic JSON is not an authenticated reusable operation contract or permission to generate.
|
|
10
|
+
|
|
11
|
+
P1 contract review accepted `7e40478`; implementation review accepted final head `5f66b665659f28ebf84b504cf8ccc31ceec07c93`. All nine head checks passed; actual main had the identical tree. Independent probes exercised direct aliases, duplicate names, correspondence exclusions, native budget exhaustion, malformed reports and loading/CLI cancellation.
|
|
12
|
+
|
|
13
|
+
## Corpus and reproduction
|
|
14
|
+
|
|
15
|
+
The [manifest](../test/conformance/readiness-corpus.json) pins seven inputs and nine resource entries with origin, permission, digest, bytes and selection rationale. Weather, import, chameleon and shared recursion reuse [#272](https://github.com/TechSpokes/typescript-wsdl-client/issues/272)'s provenance work; existing conformance sources add repeated/deep composition. New Forecast is authored in P2, separately from the reused-corpus baseline.
|
|
16
|
+
|
|
17
|
+
Two inputs are synthetic and five are reference controls. No real production-service or reduced tier is counted. The unavailable real tier contains no redistributable complete production-service snapshot; Weather is a repository example and does not establish customer or market coverage.
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm run assess:inventory -- --profile default
|
|
21
|
+
npm run assess:inventory -- --profile diagnostic
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The [strict TypeScript runner](../scripts/readiness-inventory.ts) calls only the P1 production checker. Each profile is an independent request per input, with no hidden retry or reset. Default limits are 125,000,000 work and 100,000 cumulative nodes; the explicitly selected diagnostic profile uses 1,000,000,000 work and the same node cap.
|
|
25
|
+
|
|
26
|
+
Every report also records exact loading and publication limits. Complete runs verify the canonical URI identity, digest and byte count of every loaded resource against the pinned closure; partial runs retain `closureVerified: false`. Source/context identity, component origins, interpretation namespaces/bases and all unresolved report obligations remain in the evidence.
|
|
27
|
+
|
|
28
|
+
## Measured results
|
|
29
|
+
|
|
30
|
+
Measurements use runner revision `9314ae2bcffd1ce977a35f5da625500f8127ab36`, Node 24.19.0, package 1.1.4 and the pinned lockfile digest in each output. [Default evidence](../test/conformance/readiness-default.json) and [diagnostic evidence](../test/conformance/readiness-diagnostic.json) contain exact counters, contexts, operations, limits, reproduction commands, memory and timing observations.
|
|
31
|
+
|
|
32
|
+
| Input | Native / correspondence | Execution | Ops | Work | Nodes | API ms | Peak RSS KiB |
|
|
33
|
+
|---|---|---|---:|---:|---:|---:|---:|
|
|
34
|
+
| weather | established / inconclusive | completed | 9 | 41723204 | 412 | 166.6 | 97892 |
|
|
35
|
+
| import | established / inconclusive | completed | 1 | 19528100 | 56 | 72.6 | 70220 |
|
|
36
|
+
| chameleon | established / inconclusive | completed | 0 | 18117154 | 32 | 68.2 | 69832 |
|
|
37
|
+
| shared-recursive | inconclusive / inconclusive | resource-limit | 0 | 124999821 | 122 | 135.6 | 83476 |
|
|
38
|
+
| repeated-composite | established / inconclusive | completed | 1 | 22732410 | 144 | 90.8 | 75432 |
|
|
39
|
+
| deep-composition | established / inconclusive | completed | 1 | 19205747 | 54 | 71.9 | 68620 |
|
|
40
|
+
| checked-forecast | established / established | completed | 1 | 20269795 | 84 | 80.1 | 69312 |
|
|
41
|
+
|
|
42
|
+
Both profiles have 7 input requests: 6 completed and 1 resource-limited; 6 native-established, 0 native-disproved and 1 native-inconclusive. Only 1/7 inputs has qualified schema eligibility. The 13 discovered operations include 1 schema-eligible operation and 0 admitted operations; all seven operation inventories completed, including the exhausted XSD-only input's empty operation inventory.
|
|
43
|
+
|
|
44
|
+
All 13 operations report structured generation unsupported and their six runtime prerequisites not-assessed: 13 unsupported and 78 not-assessed capability entries, with none qualified supported. These are exact selected-corpus denominators. A partial operation inventory would be counted separately and would not imply zero actual operations.
|
|
45
|
+
|
|
46
|
+
For five completed noneligible inputs, the named blocker is `dated-XSD-correspondence`, outside P1's sufficient direct grammar. Shared recursion exhausts both profiles; its native whole-actual assessment remains unfinished. Neither exhaustion nor unavailable correspondence is an invalid-schema conclusion, and the diagnostic run does not replace or repair its default result.
|
|
47
|
+
|
|
48
|
+
Wall time measures the assessment API, including its source preparation/checking/publication; it excludes manifest hashing and the runner's report reparse. Peak RSS is the OS high-water value for an isolated child process including Node, module imports, input verification and report handling. It is not incremental checker allocation, a universal complexity result or a throughput benchmark.
|
|
49
|
+
|
|
50
|
+
## Selected P3 source and behavior
|
|
51
|
+
|
|
52
|
+
Select synthetic [Forecast WSDL](../test/conformance/fixtures/assessment/forecast.wsdl), 2,456 bytes, SHA-256 `51ae02c9950c15530193231d9f1bfbd5605d00934581cc73336132fa489834ea`. Its complete source closure is this one MIT-licensed WSDL, with one inline `urn:checked:forecast` schema and no imports. The P1 reports establish both native direct scope and the qualified dated-XSD correspondence route under both profiles.
|
|
53
|
+
|
|
54
|
+
The operation is `{urn:checked:forecast}ForecastPortType/GetForecast`, document/literal SOAP 1.1 with action `urn:checked:GetForecast`. The required request sequence is `city: string`, then `days: int`; response is `city: string`, zero or more ordered `temperature: int` values, then `complete: boolean`. This exercises namespace-qualified order and repeated scalar values without claiming nested composite or record support.
|
|
55
|
+
|
|
56
|
+
The declared `ForecastError` uses `{urn:checked:forecast}ForecastFault` detail with ordered `code` and `message` strings. Independent [request](../test/conformance/fixtures/assessment/forecast-messages/request.xml), [response](../test/conformance/fixtures/assessment/forecast-messages/response.xml), [fault](../test/conformance/fixtures/assessment/forecast-messages/fault.xml) and [expectations](../test/conformance/fixtures/assessment/forecast-messages/expectations.json) pin application values, SOAP faultcode/faultstring, HTTP 500 and detail separately. Their bare message roots now run through the internal [direct XML codec](direct-values.md#internal-bare-root-xml-codec); SOAP transport acceptance remains open.
|
|
57
|
+
|
|
58
|
+
The fixture address is a deliberately unusable localhost port. The later transport fixture must inject its actual local server address, retain SOAPAction and text/xml behavior, and exercise requests, responses and declared faults without production dispatch. The real-service validation requirement remains missing and must not be silently replaced by this synthetic target.
|
|
59
|
+
|
|
60
|
+
## P3.1 entry packet
|
|
61
|
+
|
|
62
|
+
[#372](https://github.com/TechSpokes/typescript-wsdl-client/issues/372) supplies the bounded entry for #179/#201: an authenticated transient direct-operation source contract, described below. P1 intentionally exposes diagnostic data; the new internal selector joins one operation's input/output/fault roots, source closure and binding/action for structured runtime consumers. Report JSON cannot become that receipt by assertion.
|
|
63
|
+
|
|
64
|
+
The entry reuses native loading, direct verification and aggregate discharge; resolves one unambiguous operation and its message/fault roots; preserves source/context/model identity; and reports missing runtime capabilities without dispatch or generation. Independent negatives cover ambiguous selection, changed/missing source/message/binding context, diagnostic replay, cancellation and exhaustion. It is a concrete predecessor to matching, with no universal RE01 or full-profile completion claim.
|
|
65
|
+
|
|
66
|
+
| Component | Existing evidence | Remaining selected-slice owner |
|
|
67
|
+
|---|---|---|
|
|
68
|
+
| Loading/graph/occurrence | Implemented native source and exact schema analysis | Preserve in #372 |
|
|
69
|
+
| Schema assessment/correspondence | Qualified direct facts for this source | #179/#201 transient operation contract in #372 |
|
|
70
|
+
| Payload matcher | Direct structure-only matching with unassessed scalar duties | Broader #154/#180/#181 remain |
|
|
71
|
+
| Projection/scalar payload | Internal direct values and fresh inverse; qualified logical resource model accepted | #382/#155/#182/#184 |
|
|
72
|
+
| Bundle/compatibility | Format-2 graph persistence exists; runtime contract unqualified | #185/#186 |
|
|
73
|
+
| XML/codec | Existing legacy templates; selected structured codec unqualified | #187/#188/#189 |
|
|
74
|
+
| Buffered transport | Existing legacy SOAP path; selected structured exchange unqualified | #190 |
|
|
75
|
+
| Generation/CLI | Legacy generator and P1 diagnostics exist; structured path inactive | #195/#201 |
|
|
76
|
+
|
|
77
|
+
After #378 structural matching, implement reversible projection/scalars, minimal internal metadata/compatibility, secure XML/codec, buffered binding/transport, then internal generation/CLI integration in that order. Reuse existing owners and the same semantic core. Wildcards, imported/chameleon correspondence, recursive payloads, attributes, nil-enabled declarations, polymorphism, streaming, gateways and OpenAPI are unnecessary for this exact first slice; their broader owners remain open.
|
|
78
|
+
|
|
79
|
+
Acceptance must exercise order/group boundaries, namespace rebinding, zero/one/many repetitions, int32 edges and invalid values, boolean lexical forms, empty versus absent text, forbidden nil/attributes, round-trip laws, XML security/truncation, local HTTP/SOAP faults, installed consumers and deterministic regeneration. [#369](https://github.com/TechSpokes/typescript-wsdl-client/issues/369) remains blocked on this implemented evidence chain, rather than becoming ready from its schema report alone.
|
|
80
|
+
|
|
81
|
+
## Validation and retained boundaries
|
|
82
|
+
|
|
83
|
+
P1 passed fresh dependency/reference setup, full CI with 3,853 tests/294 files and 73 installed-consumer artifacts, full reference with 245 tests/47 files and 14 schemas/40 instances, full conformance with 359 tests/48 files, strict TypeScript, documentation, provenance and toolchain checks. The two new P2 controls verify corpus integrity and execute the production inventory, including its selected direct-schema expectation.
|
|
84
|
+
|
|
85
|
+
Final P2 nonauthor review, required gate results, merged revisions, actual-main checks and cleanup are recorded in [#368](https://github.com/TechSpokes/typescript-wsdl-client/issues/368). Legacy defaults, full-profile/research claims and package version remain unchanged. No conditional generation, public structured activation, release, tag or publication is part of P1/P2.
|
|
86
|
+
|
|
87
|
+
## P3.1 internal operation selection
|
|
88
|
+
|
|
89
|
+
The internal `selectDirectOperation` entry in [directOperation.ts](../src/compiler/directOperation.ts) takes a source, an explicit expanded-name `portType`, an explicit expanded-name `binding`, an exact case-sensitive `operation`, and controlled loading options. It refuses overloaded operation names rather than inferring input/output signatures or choosing a first match. Service addresses remain inert metadata.
|
|
90
|
+
|
|
91
|
+
[qualifyDirectSource](../src/compiler/checkedSourcePreparation.ts) is shared with diagnostic assessment. One loaded immutable source, prepared native request and inclusive sticky budget cover local actual-component duties, aggregate direct closure, the unchanged P1 dated-direct correspondence route, selection and publication. An unrelated invalid actual declaration still prevents selection; missing correspondence remains inconclusive.
|
|
92
|
+
|
|
93
|
+
The initial WSDL shape is request-response SOAP 1.1 over SOAP HTTP, effective document style, literal use, one global-element part per input/output/fault, and exact bound fault-name correspondence. An operation style may override a valid binding style; omitted binding style means document. Explicit body `parts` must select the sole part, and SOAPAction must be present, including an explicitly empty action.
|
|
94
|
+
|
|
95
|
+
The primary binding rules are WSDL 1.1 [request-response](https://www.w3.org/TR/2001/NOTE-wsdl-20010315#_request-response), [SOAP binding](https://www.w3.org/TR/2001/NOTE-wsdl-20010315#_soap:binding), [SOAP operation](https://www.w3.org/TR/2001/NOTE-wsdl-20010315#_soap:operation), [SOAP body](https://www.w3.org/TR/2001/NOTE-wsdl-20010315#_soap:body) and [SOAP fault](https://www.w3.org/TR/2001/NOTE-wsdl-20010315#_soap:fault). Single-part bodies and refusing overloads are this entry's sufficient supported subset, not general WSDL validity rules.
|
|
96
|
+
|
|
97
|
+
Headers, security, attachments, other SOAP versions/transports, rpc/encoded bodies, type-based/multipart bodies and foreign extensions are unsupported. The conservative extension policy refuses unfamiliar optional extensions too, including extensions outside the selected binding; it skips only WSDL documentation payload and separately qualified XSD syntax. This policy makes no claim that a legal unsupported WSDL is invalid.
|
|
98
|
+
|
|
99
|
+
Results distinguish `selected`, `selection-refused`, `unsupported`, `invalid-schema`, `inconclusive`, `loading-refused`, `resource-limit` and `cancelled`. Every failure carries usage and a rule, and issues no contract. Loading limits remain additional bounds; cancellation is cooperative at loading, component, selection and publication boundaries.
|
|
100
|
+
|
|
101
|
+
### Authenticated consumption
|
|
102
|
+
|
|
103
|
+
`inspectDirectOperation(contract, expectedContext?)` accepts only the exact issued immutable contract object. It returns the exact native context, original loaded source and qualification evidence; every message root contains its actual global element, type reference, message/part identity and source provenance. Copies, JSON reports and foreign contexts fail authentication, even when their deterministic identities agree.
|
|
104
|
+
|
|
105
|
+
Authority lasts for the retained in-memory snapshot. A later changed source needs fresh loading and qualification and may legitimately issue a different contract; it does not invalidate the old immutable snapshot. Neither a digest nor a context ID authenticates copied data, and no persisted format or package-root export is added.
|
|
106
|
+
|
|
107
|
+
Run this repository-local example from the repository root with `node --import tsx --input-type=module`, supplying the following program on standard input:
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
import path from 'node:path';
|
|
111
|
+
import {selectDirectOperation, inspectDirectOperation} from './src/compiler/directOperation.ts';
|
|
112
|
+
|
|
113
|
+
const namespace = 'urn:checked:forecast';
|
|
114
|
+
const result = await selectDirectOperation(
|
|
115
|
+
'test/conformance/fixtures/assessment/forecast.wsdl',
|
|
116
|
+
{
|
|
117
|
+
portType: {namespace, local: 'ForecastPortType'},
|
|
118
|
+
binding: {namespace, local: 'ForecastBinding'},
|
|
119
|
+
operation: 'GetForecast',
|
|
120
|
+
},
|
|
121
|
+
{loading: {policy: {fileRoots: [path.resolve('test/conformance/fixtures/assessment')]}}},
|
|
122
|
+
);
|
|
123
|
+
if (result.kind !== 'selected') throw new Error(result.kind + ': ' + result.rule);
|
|
124
|
+
const {contract, context} = inspectDirectOperation(result.contract);
|
|
125
|
+
const root = context.lookup(contract.input.element.id);
|
|
126
|
+
if (root.kind !== 'found' || root.node !== contract.input.element) throw new Error('Foreign root');
|
|
127
|
+
console.log(contract.input.element.name, context.resolve(contract.input.type));
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Selection establishes schema-qualified roots and binding metadata only. `admitted` remains false; matcher, projection, scalar payload validation, bundle, codec, buffered transport and structured generation are explicitly missing. Independent message fixtures remain expectations for later implementation, with no SOAP dispatch or generated artifacts in this entry.
|
|
131
|
+
|
|
132
|
+
### P3.2 structural matcher checkpoint
|
|
133
|
+
|
|
134
|
+
The internal [direct structural matcher](content-model-matching.md) now consumes authenticated contracts and all three directions across the current qualified direct grammar. It checks root/order/count/namespace/text and complete consumption while retaining ordered unassessed scalar duties. The original selected contract remains unadmitted, including its historical missing-capability fields.
|
|
135
|
+
|
|
136
|
+
Independent literal tests and 1,444 finite-language comparisons cover the synthetic Forecast messages and genuinely qualified renamed/form/occurrence/scalar-root/empty-sequence sources. Ownership/resource controls exercise immutable copies, authority, malformed/cyclic/getter data, inclusive limits, cancellation and sticky repeated calls. This finite scope does not establish general S07 or scalar payload validity.
|
|
137
|
+
|
|
138
|
+
Delivery/review/check revisions are recorded in [#378](https://github.com/TechSpokes/typescript-wsdl-client/issues/378) and the [durable roadmap #379](https://github.com/TechSpokes/typescript-wsdl-client/issues/379). The [scalar/projection implementation](direct-values.md) belongs to #184/#182 under #155; it consumes actual lexical/type/context/map facts and must authenticate receipts before granting scalar authority. #154/#180/#181/#369 and broader owners remain open.
|
|
139
|
+
|
|
140
|
+
## P3.3 implementation checkpoint
|
|
141
|
+
|
|
142
|
+
The internal [direct value chain](direct-values.md) now implements issued structural-result consumption, shared datatype scalar validation, complete native mapping and fresh-value inverse with structural/scalar revalidation. Its success remains admitted:false; historic assessment capability flags retain their original meanings. The internal bare-root XML codec is described below; transport/generation and broader owner criteria remain open.
|
|
143
|
+
|
|
144
|
+
Fresh-context nonauthor review identified the intrinsic key-enumeration boundary, and the user explicitly accepted the [qualified logical resource model](direct-values.md#accepted-resource-model) after codebase research and a valid-key-vector precharge improvement. Controlled work, every valid key vector and retained output are precharged; oversized malformed-object engine vectors are excluded, with no hard V8 memory ceiling claimed. Exact review, final validation and protected-delivery evidence is recorded in [#382](https://github.com/TechSpokes/typescript-wsdl-client/issues/382) and [#379](https://github.com/TechSpokes/typescript-wsdl-client/issues/379). The [internal P3.4 codec](direct-values.md#internal-bare-root-xml-codec) consumes these authentic mappings and reuses the inverse/matcher/scalars with a bounded observed-byte parser. It leaves historical capability flags and admitted:false unchanged; #384 records its review and delivery.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Canonical Reference Resolution
|
|
2
|
+
|
|
3
|
+
Internal S05 reference contracts for the unreleased faithful compiler. See the root [README](../README.md).
|
|
4
|
+
|
|
5
|
+
## Boundary and ownership
|
|
6
|
+
|
|
7
|
+
[The canonical graph](content-model-graph.md) remains the sole declaration model.
|
|
8
|
+
[`resolveCanonicalGraph`](../src/compiler/resolveCanonicalGraph.ts) returns a frozen `ResolvedGraph {graph, links, metrics}`.
|
|
9
|
+
Each link identifies its declaring node, typed field path, original reference and resolved target; builtin types have no graph target.
|
|
10
|
+
|
|
11
|
+
Resolution performs no I/O and does not expand definitions, overwrite occurrences or parse generated TypeScript.
|
|
12
|
+
[`referenceSlots` and `containedNodes`](../src/compiler/graphTraversal.ts) describe typed graph edges for resolution and companion closure traversal.
|
|
13
|
+
`referenceTarget` checks role-qualified symbol identity against complete definitions rather than trusting an existing target link.
|
|
14
|
+
|
|
15
|
+
S05.2 consumes this reviewed boundary for derivation composition; S05.3 integrates structural companions.
|
|
16
|
+
S06 owns occurrence summaries, emptiness, complete schema legality and reachable capabilities.
|
|
17
|
+
Payload scalar enforcement remains #184's responsibility under [ADR-003](decisions/003-content-model-contracts.md).
|
|
18
|
+
|
|
19
|
+
## Visibility and identity
|
|
20
|
+
|
|
21
|
+
Global lookup uses namespace, local name and symbol role; local references retain their containing declaration identity.
|
|
22
|
+
The same element/type/attribute spelling occupies different symbol spaces.
|
|
23
|
+
Named and anonymous types remain complete definitions, including self and mutual recursion through element content.
|
|
24
|
+
|
|
25
|
+
A schema reference can use its effective target namespace, XSD builtin types, or a namespace explicitly imported by its declaring interpretation.
|
|
26
|
+
An including schema's imports do not authorize references in an included document, and transitive imports do not authorize another namespace.
|
|
27
|
+
Every origin of a shared declaration must supply the same applicable permission; interpretation keys remain loading context only.
|
|
28
|
+
|
|
29
|
+
Chameleon references retain their lexical namespace scope and use the effective adopted namespace already recorded by S04.
|
|
30
|
+
Missing targets produce `invalid-schema` with the referring component and source path even when another symbol role has that name.
|
|
31
|
+
Prefix aliases and output names never supply permission or identity.
|
|
32
|
+
|
|
33
|
+
WSDL reference nodes receive role-qualified target linking here; XSD import checks apply to schema references.
|
|
34
|
+
Complete WSDL import, binding and transport legality remains with downstream capability/binding assessment.
|
|
35
|
+
|
|
36
|
+
## Catalog evidence
|
|
37
|
+
|
|
38
|
+
The builder now retains import/include syntax in the existing `schemaRetained` field, including imports without locations.
|
|
39
|
+
This uses the existing [format 2](content-model-catalog.md) typed syntax contract without changing mandatory fields, model or profile.
|
|
40
|
+
Import namespace declarations supply visibility evidence; schema locations remain portable provenance and are excluded from semantic fingerprints.
|
|
41
|
+
|
|
42
|
+
Located imports in existing S04 catalogs retain namespace evidence through their loading targets.
|
|
43
|
+
If a foreign reference needs an unlocated import whose declaration was omitted by S04, resolution returns `incompatible-artifact` and requires original-source regeneration.
|
|
44
|
+
Neither successful reading nor an existing symbol target certifies semantic resolution.
|
|
45
|
+
|
|
46
|
+
## Recursion and component cycles
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
element Shared -> type Shared -> particle using element Shared: legal value recursion
|
|
50
|
+
group A -> sequence -> group B -> choice -> group A: forbidden expansion cycle
|
|
51
|
+
type A -> derivation base B -> derivation base A: forbidden base cycle
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
An explicit iterative active/done traversal checks structural, group-expansion, scalar-variety and derivation edges.
|
|
55
|
+
Crossing an element declaration's type boundary admits recursive values, so those edges are excluded from the forbidden-cycle traversal.
|
|
56
|
+
Model groups, attribute groups, scalar list/union/base dependencies and complex derivation cannot expand cyclically.
|
|
57
|
+
Cycle diagnostics retain all involved source paths rather than inserting an empty stub.
|
|
58
|
+
|
|
59
|
+
Declared references and component cycles are assessed even beneath zero bounds; occurrence elimination belongs to #178.
|
|
60
|
+
Pinned xmlschema rejects zero-bound group cycles and missing references; libxml2 optimizes those particles away and accepts them.
|
|
61
|
+
That additional oracle disagreement is recorded separately from the existing [S01 disagreement](content-model-baseline.md).
|
|
62
|
+
|
|
63
|
+
## Resources and executable evidence
|
|
64
|
+
|
|
65
|
+
Resolution defaults to 100,000 graph nodes and 1,000,000 traversal steps, inclusive, with positive safe-integer overrides.
|
|
66
|
+
Each reference/origin/edge and DFS transition consumes work; exhaustion returns `resource-limit` without a partial result.
|
|
67
|
+
S03 loading limits and its conservative cyclic-depth behavior remain unchanged.
|
|
68
|
+
|
|
69
|
+
[Resolver tests](../test/unit/resolved-graph.test.ts) reuse graph/chameleon fixtures and cover role collisions, repeated bounds, missing targets, cycles, visibility, unlocated imports, immutability and catalog round trips.
|
|
70
|
+
[Independent reference fixtures](../test/conformance/fixtures/xsd/references/resolved.xsd) and [Node qualification](../test/conformance/reference/resolution-contract.test.ts) provide current primary, scoped source checks and historical evidence independently of the production graph under [NT-CONT-01](reference-validation.md).
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
npx vitest run test/unit/resolved-graph.test.ts test/unit/semantic-catalog.test.ts
|
|
74
|
+
npx tsc -p test/unit/tsconfig.json
|
|
75
|
+
npm run test:reference:full
|
|
76
|
+
npm run ci
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
These are internal faithful checks; existing public behavior and support claims remain on the legacy route.
|
|
80
|
+
No faithful CLI activation, projection, codec, package publication or tags belong to this boundary.
|
|
81
|
+
Optional IDE inspections, Windows/private-production qualification and [S02 transport/security gates](content-model-decisions.md) remain unqualified.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# S02 Content Model Handoff
|
|
2
|
+
|
|
3
|
+
Delivery evidence and continuation inputs for architecture contracts and integration feasibility. See the root [README](../README.md).
|
|
4
|
+
|
|
5
|
+
## Delivery boundary
|
|
6
|
+
|
|
7
|
+
[S02 #149](https://github.com/TechSpokes/typescript-wsdl-client/issues/149) integrates #168/#169/#170 in [PR #224](https://github.com/TechSpokes/typescript-wsdl-client/pull/224). The issue's final acceptance checkpoint pins the exact delivery head, normal protected merge, joint independent review and local/hosted/merged-main checks. No S03 implementation, public default activation, production transport/schema rewrite, dependency upgrade or release operation belongs to this delivery.
|
|
8
|
+
|
|
9
|
+
Starting main: `86089d73d02f39b04c0ae2eac8522efc2b3d47c8`. The reviewed draft is `2f88ec81f77f4fc5a06b78f2d507ae8e20fe7a7c`; the original draft `13d33cbaccf1a1de30edd21b1dab9c40aa199acc` received blocking findings which the follow-up commits resolved before probes started. Independent semantic and integration agents explicitly passed the reviewed draft.
|
|
10
|
+
|
|
11
|
+
| Probe | Independently reviewed source commit | Integrated commit |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| Gateway #170 | `d826ff506a80437bca1b747f40b772727643a506` | `f98b8c852e806ea455bc225fc1e2f8c3c99d489c` |
|
|
14
|
+
| SOAP #169 | `4d1d3972fbb0f8170232a3bd143f0fcf0adc842d` | `6cf38a5474acc6015539c97e84b0dd17614aee9b` |
|
|
15
|
+
|
|
16
|
+
## Contracts and ownership
|
|
17
|
+
|
|
18
|
+
The [ADR-003](decisions/003-content-model-contracts.md) is the contract source; the [decision register](content-model-decisions.md) owns resolved decisions S02-D01 through S02-D11 and the six D06 dialect/fallback subentries. D07's two open security qualification subentries block their affected consumers, with explicit resolution tasks and S03 nonblocking rationale. The [S01 manifest](../test/conformance/semantic-baseline.json) remains unchanged, including its known independently recorded oracle disagreement and BCsabaEngine attribution in the [shipped-fix record](content-model-shipped-fix.md).
|
|
19
|
+
|
|
20
|
+
S03 consumes D01/D04/D09: ordered syntax and local namespace/base context, legal supported-profile input and bounded policy-controlled fetching. S08/S10 consume D02/D03/D04: XML-value equivalence, admitted lexical witnesses, nil attributes, normalized invisible group history and one scalar/particle core.
|
|
21
|
+
|
|
22
|
+
#174 implements legacy/new catalog routing; #185/#186 implement bundle/version/fingerprint checks; #195/#196/#201 consume them before dispatch. #204 qualifies migration. The 1.x default stays legacy; the architecture release train is 2.0.0, with default activation separately approved after S17/S18.
|
|
23
|
+
|
|
24
|
+
#190/#192 consume the transport decision and one shared content encoder. #193 owns verification-before-yield, cancellation, backpressure and declared completion scope; #194 proves parity. #197/#198 emit selected JSON dialects and shared supplemental checks; #199/#200 integrate non-mutating request and independent response validation.
|
|
25
|
+
|
|
26
|
+
## Proven capabilities and limits
|
|
27
|
+
|
|
28
|
+
The [SOAP evidence](content-model-soap-feasibility.md) executes eleven tests through actual generated transports and bounded test-only seams. Both carry the same independently validated ordered body; incoming raw XML retains order/namespace/QName/nil attributes; records arrive before EOF. Buffered Basic, HTTP/SOAP headers, UsernameToken, TLS client authentication and outgoing signature verification pass. A per-call action override corrects the locked dependency's multi-binding action collision without mutable global action state.
|
|
29
|
+
|
|
30
|
+
Current streaming drops configured auth/headers/version/endpoint overrides, faults and early-return cancellation. Raw namespace/fault/cancel seams prove bounded correction points; #192/#193 must implement them. Streaming auth/TLS/SOAP 1.2 and incoming/combined security remain qualification blockers for affected dispatch/yielding. The probe's syntax completion does not certify the future profile's whole-response semantic completion.
|
|
31
|
+
|
|
32
|
+
The [gateway evidence](content-model-gateway-feasibility.md) executes nineteen tests with validator-visible snapshots and actual response bytes. Route-local Ajv rejects input without repair while the host control route keeps its defaults. Recursion, nullable boundaries, closure, exact strings and ordinary facets execute; test-only supplemental int64/fractionDigits callbacks reject before handler/serialization. Current serializer field loss, changed allOf meaning and unchecked 150-reference fallback are captured failures; independent validation and explicit JSON fallback preserve admitted data.
|
|
33
|
+
|
|
34
|
+
The selected dialects are OAS 3.1.1 documentation and separate draft-07 runtime/serializer plans. Current OAS output remains 3.1.0; no production lowering changed. #180/#184/#198 implement full shared particle/scalar checks; schema success or inert annotations cannot replace those checks. No foundational S03 decision remains open, but none of these probe seams is a shipped faithful codec.
|
|
35
|
+
|
|
36
|
+
## Execution and validation
|
|
37
|
+
|
|
38
|
+
Local toolchain: Node 24.19.0, npm 11.9.0, TypeScript 6.0.3, Vitest 5.0.3 and Python 3.12.14. Locked libraries: soap 1.13.3, saxes 6.0.0, Axios 1.20.0, xml-crypto 6.3.3, xmldom 0.8.15, Fastify 5.12.5, Ajv 8.20.0, fast-json-stringify 7.0.1, Ajv compiler 4.0.6 and serializer compiler 5.1.0. Independent reference tools are lxml 6.1.0/libxml2 2.14.6, xmlschema 4.2.0 and elementpath 5.0.4.
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm ci --cache tmp/cache/npm
|
|
42
|
+
npm run reference:setup
|
|
43
|
+
npm run test:feasibility
|
|
44
|
+
npm run typecheck:integration
|
|
45
|
+
npm run docs:validate
|
|
46
|
+
npm run ci
|
|
47
|
+
npm run test:reference:full
|
|
48
|
+
git diff --check
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
The existing aggregate CI owns build/typechecking, reference subset, all Vitest/conformance tests, documentation/support-matrix checks, pipeline smoke and installed-package smoke. Final exact revision, commands, counts, hosted Node 24/26 and merged-main results are recorded in #149's acceptance checkpoint; historical S01 results are not substituted for new checks.
|
|
52
|
+
|
|
53
|
+
Leaf validation passed 11 SOAP and 19 gateway tests, integration typechecking, documentation checks and pipeline smoke. Each leaf ran all 138 conformance tests; independent reviewers reran both targeted suites, and the gateway reviewer also reran integration typechecking/docs. The final integration gate runs both together through `test:feasibility` and the repository aggregate.
|
|
54
|
+
|
|
55
|
+
IDE inspections are unavailable; repository checks provide the portable verification. Private vendor production, real credentials and external provider security systems are unrun. The individual probe records must name every unverified combination; no documentation-only capability counts as executed support. Release preflight, package/tag publication and S03 tests are outside this task.
|
|
56
|
+
|
|
57
|
+
## Provisional budgets
|
|
58
|
+
|
|
59
|
+
The [ADR budget table](decisions/003-content-model-contracts.md#provisional-resource-budgets-s02-d09) is authoritative. S03's initial budgets are 128 schema resources, 8 MiB/resource and 64 MiB aggregate decompressed bytes, 32 resolution edges, five redirects/fetch, 15 seconds/resource and 120 seconds compilation I/O, and XML syntax depth 256.
|
|
60
|
+
|
|
61
|
+
Later first owners enforce 100,000 graph nodes, 1,000,000 matcher transitions/10,000 live states, 1 MiB scalar lexical text/4,096 numeric digits, 32 MiB buffered payloads, 4 MiB stream records, at most 16 queued records/8 MiB, and 30 seconds stream inactivity. These are provisional selected budgets, not measured supported maxima; #208 qualifies measurements without becoming their first implementation owner.
|
|
62
|
+
|
|
63
|
+
## S03 continuation prompt
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
Implement and deliver S03 (#150) for TechSpokes/typescript-wsdl-client, starting
|
|
67
|
+
with #171. Read current repository instructions and current bodies/comments/
|
|
68
|
+
dependencies for #147, completed #149, #150, #171 and #172. Fetch current main
|
|
69
|
+
and verify S02's accepted PR #224 and exact final handoff in #149; preserve
|
|
70
|
+
unrelated changes and use isolated worktrees. Do not infer readiness from
|
|
71
|
+
labels alone.
|
|
72
|
+
|
|
73
|
+
Read ADR-003, the S02 decision register and both feasibility records. Consume
|
|
74
|
+
D01/D04/D09: ordered element/text syntax, expanded names, local namespaces,
|
|
75
|
+
full source URI/location/digest and inherited xml:base; keep global identities
|
|
76
|
+
distinct from scoped local declarations. Preserve default-element versus
|
|
77
|
+
unprefixed-attribute namespace rules and lexical QName context. Keep parser
|
|
78
|
+
details behind the #171 adapter and retain legacy default behavior.
|
|
79
|
+
|
|
80
|
+
After #171's reviewed adapter/provenance contract, implement #172: separately
|
|
81
|
+
cache fetched bytes and schema interpretations keyed by digest, effective
|
|
82
|
+
document/base URI, effective target namespace and include/import context.
|
|
83
|
+
Resolve relative references against the final policy-checked retrieval URI
|
|
84
|
+
plus xml:base. Reject DTD/entities, unsupported schemes, unauthorized roots/
|
|
85
|
+
hosts/redirects and payload-triggered schema fetching. Implement provisional
|
|
86
|
+
budgets and measure at/beyond-limit cases: 128 resources, 8 MiB/resource,
|
|
87
|
+
64 MiB aggregate decompressed bytes, 32 resolution edges, five redirects,
|
|
88
|
+
15,000 ms/resource, 120,000 ms total I/O and syntax depth 256.
|
|
89
|
+
|
|
90
|
+
Reuse independent fixtures and add interleaving, arbitrary/default/rebound
|
|
91
|
+
namespaces, chameleon includes, identical bytes at distinct base URIs,
|
|
92
|
+
relative chains, repeated includes, cycles and forbidden-resolution cases.
|
|
93
|
+
Obtain independent substantive review, run required repository checks and
|
|
94
|
+
normal protected merges, reconcile #150/#171/#172 and the execution index,
|
|
95
|
+
and hand off exact interfaces/revisions/results to S04. Do not implement
|
|
96
|
+
the canonical graph, projections, production codecs or activate defaults
|
|
97
|
+
during S03; do not publish packages or tags.
|
|
98
|
+
```
|