@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.
- package/README.md +81 -35
- package/dist/app/generateApp.d.ts +0 -1
- package/dist/app/generateApp.js +8 -6
- package/dist/app/generateCheckedApp.d.ts +38 -0
- package/dist/app/generateCheckedApp.js +108 -0
- package/dist/checkedPipeline.d.ts +155 -0
- package/dist/checkedPipeline.js +448 -0
- package/dist/checkedPlanning.d.ts +123 -0
- package/dist/checkedPlanning.js +245 -0
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +123 -5
- package/dist/client/checkedDirectRuntime.d.ts +96 -0
- package/dist/client/checkedDirectRuntime.js +43 -0
- package/dist/client/directClientRuntime.d.ts +74 -0
- package/dist/client/directClientRuntime.js +165 -0
- package/dist/client/directClientVersion.d.ts +6 -0
- package/dist/client/directClientVersion.js +6 -0
- package/dist/client/generateClient.d.ts +0 -1
- package/dist/client/generateClient.js +26 -12
- package/dist/client/generateDirectClient.d.ts +32 -0
- package/dist/client/generateDirectClient.js +268 -0
- package/dist/client/generateOperations.d.ts +0 -1
- package/dist/client/generateTypes.d.ts +0 -1
- package/dist/client/generateUtils.d.ts +0 -1
- package/dist/client/generateUtils.js +3 -1
- package/dist/compiler/applicationGroups.d.ts +53 -0
- package/dist/compiler/applicationGroups.js +403 -0
- package/dist/compiler/buildCanonicalGraph.d.ts +6 -0
- package/dist/compiler/buildCanonicalGraph.js +381 -0
- package/dist/compiler/canonicalGraph.d.ts +197 -0
- package/dist/compiler/canonicalGraph.js +37 -0
- package/dist/compiler/catalogErrors.d.ts +17 -0
- package/dist/compiler/catalogErrors.js +86 -0
- package/dist/compiler/catalogProvenance.d.ts +14 -0
- package/dist/compiler/catalogProvenance.js +229 -0
- package/dist/compiler/checkedAssessment.d.ts +90 -0
- package/dist/compiler/checkedAssessment.js +300 -0
- package/dist/compiler/checkedComponentSource.d.ts +16 -0
- package/dist/compiler/checkedComponentSource.js +31 -0
- package/dist/compiler/checkedSourcePreparation.d.ts +72 -0
- package/dist/compiler/checkedSourcePreparation.js +202 -0
- package/dist/compiler/complexTypeContent.d.ts +58 -0
- package/dist/compiler/complexTypeContent.js +558 -0
- package/dist/compiler/componentCorrespondence.d.ts +32 -0
- package/dist/compiler/componentCorrespondence.js +140 -0
- package/dist/compiler/componentRecordProjection.d.ts +109 -0
- package/dist/compiler/componentRecordProjection.js +319 -0
- package/dist/compiler/componentSoapPreparation.d.ts +20 -0
- package/dist/compiler/componentSoapPreparation.js +36 -0
- package/dist/compiler/composeCanonicalGraph.d.ts +68 -0
- package/dist/compiler/composeCanonicalGraph.js +252 -0
- package/dist/compiler/dataOwnership.d.ts +21 -0
- package/dist/compiler/dataOwnership.js +167 -0
- package/dist/compiler/datatypeValues.d.ts +46 -0
- package/dist/compiler/datatypeValues.js +275 -0
- package/dist/compiler/directCodec.d.ts +116 -0
- package/dist/compiler/directCodec.js +377 -0
- package/dist/compiler/directExecutionPolicy.d.ts +9 -0
- package/dist/compiler/directExecutionPolicy.js +17 -0
- package/dist/compiler/directOperation.d.ts +114 -0
- package/dist/compiler/directOperation.js +373 -0
- package/dist/compiler/directSoap.d.ts +66 -0
- package/dist/compiler/directSoap.js +391 -0
- package/dist/compiler/directSoapSource.d.ts +38 -0
- package/dist/compiler/directSoapSource.js +233 -0
- package/dist/compiler/directSourceCapsule.d.ts +169 -0
- package/dist/compiler/directSourceCapsule.js +727 -0
- package/dist/compiler/directStructure.d.ts +128 -0
- package/dist/compiler/directStructure.js +543 -0
- package/dist/compiler/directStructurePlan.d.ts +149 -0
- package/dist/compiler/directStructurePlan.js +623 -0
- package/dist/compiler/directValues.d.ts +128 -0
- package/dist/compiler/directValues.js +1116 -0
- package/dist/compiler/finiteRe01Construction.d.ts +69 -0
- package/dist/compiler/finiteRe01Construction.js +422 -0
- package/dist/compiler/finiteRe01Verification.d.ts +218 -0
- package/dist/compiler/finiteRe01Verification.js +1217 -0
- package/dist/compiler/generateCatalog.d.ts +0 -1
- package/dist/compiler/graphTraversal.d.ts +10 -0
- package/dist/compiler/graphTraversal.js +37 -0
- package/dist/compiler/hypotheticalScopedIdentity.d.ts +22 -0
- package/dist/compiler/hypotheticalScopedIdentity.js +81 -0
- package/dist/compiler/occurrenceAnalysis.d.ts +66 -0
- package/dist/compiler/occurrenceAnalysis.js +316 -0
- package/dist/compiler/originalSourceMembership.d.ts +5 -0
- package/dist/compiler/originalSourceMembership.js +31 -0
- package/dist/compiler/particleAttribution.d.ts +16 -0
- package/dist/compiler/particleAttribution.js +494 -0
- package/dist/compiler/particleDeclarationConsistency.d.ts +23 -0
- package/dist/compiler/particleDeclarationConsistency.js +206 -0
- package/dist/compiler/particleExtension.d.ts +21 -0
- package/dist/compiler/particleExtension.js +123 -0
- package/dist/compiler/particleLocalAssessment.d.ts +19 -0
- package/dist/compiler/particleLocalAssessment.js +92 -0
- package/dist/compiler/particleRestriction.d.ts +23 -0
- package/dist/compiler/particleRestriction.js +494 -0
- package/dist/compiler/particleSemanticView.d.ts +51 -0
- package/dist/compiler/particleSemanticView.js +310 -0
- package/dist/compiler/particleWildcardRelation.d.ts +87 -0
- package/dist/compiler/particleWildcardRelation.js +143 -0
- package/dist/compiler/projectionScalar.d.ts +32 -0
- package/dist/compiler/projectionScalar.js +184 -0
- package/dist/compiler/re01CandidateAssignments.d.ts +95 -0
- package/dist/compiler/re01CandidateAssignments.js +341 -0
- package/dist/compiler/re01CandidateCorrespondence.d.ts +85 -0
- package/dist/compiler/re01CandidateCorrespondence.js +701 -0
- package/dist/compiler/re01TypeProperties.d.ts +70 -0
- package/dist/compiler/re01TypeProperties.js +120 -0
- package/dist/compiler/re01TypePropertyValidation.d.ts +22 -0
- package/dist/compiler/re01TypePropertyValidation.js +161 -0
- package/dist/compiler/resolveCanonicalGraph.d.ts +41 -0
- package/dist/compiler/resolveCanonicalGraph.js +240 -0
- package/dist/compiler/scalarSchemaAssessment.d.ts +424 -0
- package/dist/compiler/scalarSchemaAssessment.js +5198 -0
- package/dist/compiler/schemaAttributeGroupProperties.d.ts +16 -0
- package/dist/compiler/schemaAttributeGroupProperties.js +53 -0
- package/dist/compiler/schemaAttributeProperties.d.ts +9 -0
- package/dist/compiler/schemaAttributeProperties.js +11 -0
- package/dist/compiler/schemaAttributeUses.d.ts +110 -0
- package/dist/compiler/schemaAttributeUses.js +798 -0
- package/dist/compiler/schemaBinaryWordReconstruction.d.ts +9 -0
- package/dist/compiler/schemaBinaryWordReconstruction.js +33 -0
- package/dist/compiler/schemaBuiltinFacets.d.ts +13 -0
- package/dist/compiler/schemaBuiltinFacets.js +51 -0
- package/dist/compiler/schemaCalendarImages.d.ts +7 -0
- package/dist/compiler/schemaCalendarImages.js +204 -0
- package/dist/compiler/schemaCalendarLanguage.d.ts +10 -0
- package/dist/compiler/schemaCalendarLanguage.js +227 -0
- package/dist/compiler/schemaCompiler.d.ts +0 -1
- package/dist/compiler/schemaComponentEquality.d.ts +27 -0
- package/dist/compiler/schemaComponentEquality.js +446 -0
- package/dist/compiler/schemaConstructionAssessment.d.ts +79 -0
- package/dist/compiler/schemaConstructionAssessment.js +745 -0
- package/dist/compiler/schemaDatatypeValues.d.ts +3 -0
- package/dist/compiler/schemaDatatypeValues.js +2 -0
- package/dist/compiler/schemaDecimalLanguage.d.ts +6 -0
- package/dist/compiler/schemaDecimalLanguage.js +102 -0
- package/dist/compiler/schemaDeclarationPrimitives.d.ts +39 -0
- package/dist/compiler/schemaDeclarationPrimitives.js +211 -0
- package/dist/compiler/schemaDocumentSyntax.d.ts +54 -0
- package/dist/compiler/schemaDocumentSyntax.js +294 -0
- package/dist/compiler/schemaDurationLanguage.d.ts +10 -0
- package/dist/compiler/schemaDurationLanguage.js +170 -0
- package/dist/compiler/schemaElementInstance.d.ts +30 -0
- package/dist/compiler/schemaElementInstance.js +45 -0
- package/dist/compiler/schemaElementProperties.d.ts +15 -0
- package/dist/compiler/schemaElementProperties.js +23 -0
- package/dist/compiler/schemaEndpointWordCapacity.d.ts +35 -0
- package/dist/compiler/schemaEndpointWordCapacity.js +39 -0
- package/dist/compiler/schemaExactCalendar.d.ts +72 -0
- package/dist/compiler/schemaExactCalendar.js +264 -0
- package/dist/compiler/schemaFacetAnnotation.d.ts +31 -0
- package/dist/compiler/schemaFacetAnnotation.js +199 -0
- package/dist/compiler/schemaGeneratedScalarShape.d.ts +34 -0
- package/dist/compiler/schemaGeneratedScalarShape.js +178 -0
- package/dist/compiler/schemaIdentityConstraints.d.ts +72 -0
- package/dist/compiler/schemaIdentityConstraints.js +362 -0
- package/dist/compiler/schemaIeeeLanguage.d.ts +42 -0
- package/dist/compiler/schemaIeeeLanguage.js +759 -0
- package/dist/compiler/schemaIntegerImages.d.ts +10 -0
- package/dist/compiler/schemaIntegerImages.js +113 -0
- package/dist/compiler/schemaLexicalPredicates.d.ts +28 -0
- package/dist/compiler/schemaLexicalPredicates.js +63 -0
- package/dist/compiler/schemaNotationProperties.d.ts +31 -0
- package/dist/compiler/schemaNotationProperties.js +84 -0
- package/dist/compiler/schemaNumericImageConditions.d.ts +23 -0
- package/dist/compiler/schemaNumericImageConditions.js +66 -0
- package/dist/compiler/schemaParticleWildcardProperties.d.ts +19 -0
- package/dist/compiler/schemaParticleWildcardProperties.js +43 -0
- package/dist/compiler/schemaPattern.d.ts +1061 -0
- package/dist/compiler/schemaPattern.js +581 -0
- package/dist/compiler/schemaRegularLanguage.d.ts +66 -0
- package/dist/compiler/schemaRegularLanguage.js +1166 -0
- package/dist/compiler/schemaScalarContext.d.ts +85 -0
- package/dist/compiler/schemaScalarContext.js +78 -0
- package/dist/compiler/schemaScalarKernel.d.ts +181 -0
- package/dist/compiler/schemaScalarKernel.js +391 -0
- package/dist/compiler/schemaScalarWitnesses.d.ts +5 -0
- package/dist/compiler/schemaScalarWitnesses.js +118 -0
- package/dist/compiler/schemaSimpleTypeProperties.d.ts +94 -0
- package/dist/compiler/schemaSimpleTypeProperties.js +103 -0
- package/dist/compiler/schemaSourceGrammar.d.ts +26 -0
- package/dist/compiler/schemaSourceGrammar.js +290 -0
- package/dist/compiler/schemaSourceLexical.d.ts +3 -0
- package/dist/compiler/schemaSourceLexical.js +12 -0
- package/dist/compiler/schemaSourceValues.d.ts +50 -0
- package/dist/compiler/schemaSourceValues.js +225 -0
- package/dist/compiler/schemaSourceWildcards.d.ts +27 -0
- package/dist/compiler/schemaSourceWildcards.js +249 -0
- package/dist/compiler/schemaSymbolicSequences.d.ts +15 -0
- package/dist/compiler/schemaSymbolicSequences.js +99 -0
- package/dist/compiler/schemaSymbolicValueSets.d.ts +31 -0
- package/dist/compiler/schemaSymbolicValueSets.js +149 -0
- package/dist/compiler/schemaSyntaxAssessment.d.ts +24 -0
- package/dist/compiler/schemaSyntaxAssessment.js +361 -0
- package/dist/compiler/schemaTemporalAliases.d.ts +5 -0
- package/dist/compiler/schemaTemporalAliases.js +195 -0
- package/dist/compiler/schemaTokenImages.d.ts +8 -0
- package/dist/compiler/schemaTokenImages.js +142 -0
- package/dist/compiler/schemaTypeIdentity.d.ts +38 -0
- package/dist/compiler/schemaTypeIdentity.js +80 -0
- package/dist/compiler/schemaTypeRelations.d.ts +37 -0
- package/dist/compiler/schemaTypeRelations.js +576 -0
- package/dist/compiler/schemaUri.d.ts +12 -0
- package/dist/compiler/schemaUri.js +103 -0
- package/dist/compiler/schemaValueContext.d.ts +25 -0
- package/dist/compiler/schemaValueContext.js +1 -0
- package/dist/compiler/schemaValueImages.d.ts +9 -0
- package/dist/compiler/schemaValueImages.js +142 -0
- package/dist/compiler/schemaValueSequences.d.ts +14 -0
- package/dist/compiler/schemaValueSequences.js +19 -0
- package/dist/compiler/semanticBudget.d.ts +67 -0
- package/dist/compiler/semanticBudget.js +193 -0
- package/dist/compiler/semanticCatalog.d.ts +121 -0
- package/dist/compiler/semanticCatalog.js +160 -0
- package/dist/compiler/semanticContext.d.ts +183 -0
- package/dist/compiler/semanticContext.js +1207 -0
- package/dist/compiler/semanticTypeDependencies.d.ts +7 -0
- package/dist/compiler/semanticTypeDependencies.js +64 -0
- package/dist/compiler/semanticTypeReference.d.ts +23 -0
- package/dist/compiler/semanticTypeReference.js +36 -0
- package/dist/compiler/shapeResolver.d.ts +1 -1
- package/dist/compiler/shapeResolver.js +7 -9
- package/dist/compiler/soapHeaders.d.ts +16 -0
- package/dist/compiler/soapHeaders.js +42 -0
- package/dist/compiler/sourceSchemaBinding.d.ts +25 -0
- package/dist/compiler/sourceSchemaBinding.js +39 -0
- package/dist/compiler/standardSchemaComponents.d.ts +71 -0
- package/dist/compiler/standardSchemaComponents.js +74 -0
- package/dist/compiler/standardSchemaConstruction.d.ts +20 -0
- package/dist/compiler/standardSchemaConstruction.js +34 -0
- package/dist/compiler/structuralCompanions.d.ts +15 -0
- package/dist/compiler/structuralCompanions.js +232 -0
- package/dist/compiler/validateSemanticGraph.d.ts +4 -0
- package/dist/compiler/validateSemanticGraph.js +376 -0
- package/dist/compiler/wildcardAlgebra.d.ts +25 -0
- package/dist/compiler/wildcardAlgebra.js +155 -0
- package/dist/compiler/wsdlPolicyRequirements.d.ts +43 -0
- package/dist/compiler/wsdlPolicyRequirements.js +239 -0
- package/dist/config.d.ts +0 -1
- package/dist/gateway/generateCheckedGateway.d.ts +32 -0
- package/dist/gateway/generateCheckedGateway.js +293 -0
- package/dist/gateway/generateGateway.d.ts +0 -1
- package/dist/gateway/generateGateway.js +2 -2
- package/dist/gateway/generators.d.ts +0 -1
- package/dist/gateway/helpers.d.ts +0 -1
- package/dist/generation/componentShape.d.ts +14 -0
- package/dist/generation/componentShape.js +269 -0
- package/dist/generation/preamble.d.ts +0 -1
- package/dist/generation/sourceLayout.d.ts +13 -0
- package/dist/generation/sourceLayout.js +40 -0
- package/dist/generation/writeGeneratedSource.d.ts +0 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +3 -0
- package/dist/loader/fetch.d.ts +0 -1
- package/dist/loader/orderedSyntax.d.ts +84 -0
- package/dist/loader/orderedSyntax.js +222 -0
- package/dist/loader/resolutionDepth.d.ts +6 -0
- package/dist/loader/resolutionDepth.js +65 -0
- package/dist/loader/schemaInput.d.ts +80 -0
- package/dist/loader/schemaInput.js +249 -0
- package/dist/loader/schemaResources.d.ts +60 -0
- package/dist/loader/schemaResources.js +333 -0
- package/dist/loader/wsdlLoader.d.ts +0 -1
- package/dist/openapi/casing.d.ts +0 -1
- package/dist/openapi/generateOpenAPI.d.ts +0 -1
- package/dist/openapi/generateOpenAPI.js +2 -2
- package/dist/openapi/generatePaths.d.ts +0 -1
- package/dist/openapi/generateSchemas.d.ts +0 -1
- package/dist/openapi/security.d.ts +0 -1
- package/dist/pipeline.d.ts +6 -2
- package/dist/pipeline.js +13 -0
- package/dist/test/generateCheckedTests.d.ts +17 -0
- package/dist/test/generateCheckedTests.js +60 -0
- package/dist/test/generateTests.d.ts +0 -1
- package/dist/test/generateTests.js +2 -2
- package/dist/test/generators.d.ts +0 -1
- package/dist/test/mockData.d.ts +0 -1
- package/dist/test/mockData.js +20 -14
- package/dist/util/attributeWildcards.d.ts +0 -1
- package/dist/util/builder.d.ts +0 -1
- package/dist/util/catalogMeta.d.ts +0 -1
- package/dist/util/checkedCliDiagnostics.d.ts +11 -0
- package/dist/util/checkedCliDiagnostics.js +22 -0
- package/dist/util/cli.d.ts +0 -1
- package/dist/util/errors.d.ts +0 -1
- package/dist/util/imports.d.ts +0 -1
- package/dist/util/runtimeSource.d.ts +0 -1
- package/dist/util/runtimeSource.js +3 -5
- package/dist/util/securityConfig.d.ts +0 -1
- package/dist/util/streamConfig.d.ts +0 -1
- package/dist/util/tools.d.ts +0 -1
- package/dist/util/xmlWhitespace.d.ts +2 -0
- package/dist/util/xmlWhitespace.js +4 -0
- package/dist/xsd/primitives.d.ts +0 -1
- package/docs/agent-skill.md +2 -0
- package/docs/api-reference.md +1 -1
- package/docs/checked-gateway.md +210 -0
- package/docs/checked-generation.md +161 -0
- package/docs/cli-reference.md +43 -1
- package/docs/concepts.md +136 -1
- package/docs/configuration.md +5 -1
- package/docs/corpus.md +33 -0
- package/docs/direct-values.md +311 -0
- package/docs/examples/checked-forecast.wsdl +19 -0
- package/docs/gateway-guide.md +1 -1
- package/docs/generated-code.md +10 -5
- package/docs/mapping-contract.md +114 -0
- package/docs/migration-playbook.md +1 -1
- package/docs/output-anatomy.md +1 -1
- package/docs/start-here.md +8 -2
- package/docs/supported-patterns.md +17 -5
- package/docs/testing.md +117 -31
- package/llms.txt +7 -7
- package/package.json +79 -25
- package/src/generation/preambles/direct-client/typescript.preamble +3 -0
- package/src/runtime/checkedGatewayHost.tpl.txt +157 -0
- package/src/runtime/streamXml.ts +1 -1
- package/dist/app/generateApp.d.ts.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/client/generateClient.d.ts.map +0 -1
- package/dist/client/generateOperations.d.ts.map +0 -1
- package/dist/client/generateTypes.d.ts.map +0 -1
- package/dist/client/generateUtils.d.ts.map +0 -1
- package/dist/compiler/generateCatalog.d.ts.map +0 -1
- package/dist/compiler/schemaCompiler.d.ts.map +0 -1
- package/dist/compiler/shapeResolver.d.ts.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/gateway/generateGateway.d.ts.map +0 -1
- package/dist/gateway/generators.d.ts.map +0 -1
- package/dist/gateway/helpers.d.ts.map +0 -1
- package/dist/generation/preamble.d.ts.map +0 -1
- package/dist/generation/writeGeneratedSource.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/loader/fetch.d.ts.map +0 -1
- package/dist/loader/wsdlLoader.d.ts.map +0 -1
- package/dist/openapi/casing.d.ts.map +0 -1
- package/dist/openapi/generateOpenAPI.d.ts.map +0 -1
- package/dist/openapi/generatePaths.d.ts.map +0 -1
- package/dist/openapi/generateSchemas.d.ts.map +0 -1
- package/dist/openapi/security.d.ts.map +0 -1
- package/dist/pipeline.d.ts.map +0 -1
- package/dist/runtime/jsonArray.d.ts +0 -24
- package/dist/runtime/jsonArray.d.ts.map +0 -1
- package/dist/runtime/jsonArray.js +0 -52
- package/dist/runtime/ndjson.d.ts +0 -24
- package/dist/runtime/ndjson.d.ts.map +0 -1
- package/dist/runtime/ndjson.js +0 -30
- package/dist/runtime/streamXml.d.ts +0 -45
- package/dist/runtime/streamXml.d.ts.map +0 -1
- package/dist/runtime/streamXml.js +0 -212
- package/dist/test/generateTests.d.ts.map +0 -1
- package/dist/test/generators.d.ts.map +0 -1
- package/dist/test/mockData.d.ts.map +0 -1
- package/dist/util/attributeWildcards.d.ts.map +0 -1
- package/dist/util/builder.d.ts.map +0 -1
- package/dist/util/catalogMeta.d.ts.map +0 -1
- package/dist/util/cli.d.ts.map +0 -1
- package/dist/util/errors.d.ts.map +0 -1
- package/dist/util/imports.d.ts.map +0 -1
- package/dist/util/runtimeSource.d.ts.map +0 -1
- package/dist/util/securityConfig.d.ts.map +0 -1
- package/dist/util/streamConfig.d.ts.map +0 -1
- package/dist/util/tools.d.ts.map +0 -1
- package/dist/xsd/primitives.d.ts.map +0 -1
- package/docs/AGENTS.md +0 -47
- package/docs/README.md +0 -56
- package/docs/architecture.md +0 -149
- package/docs/decisions/001-test-generation.md +0 -36
- package/docs/decisions/002-streamable-responses.md +0 -330
- package/docs/file-naming-and-path-organization.md +0 -213
- package/docs/releases/README.md +0 -94
- package/docs/releases/v0.20.0.md +0 -22
- package/docs/releases/v0.21.0.md +0 -30
- package/docs/releases/v0.22.0.md +0 -30
- package/docs/releases/v0.23.0.md +0 -31
- package/docs/releases/v0.24.0.md +0 -38
- package/docs/releases/v0.25.0.md +0 -31
- package/docs/releases/v0.25.2.md +0 -32
- package/docs/releases/v0.26.0.md +0 -32
- package/docs/releases/v0.27.0.md +0 -31
- package/docs/releases/v0.28.0.md +0 -32
- package/docs/releases/v0.29.0.md +0 -32
- package/docs/releases/v0.30.0.md +0 -30
- package/docs/releases/v0.30.1.md +0 -31
- package/docs/releases/v0.30.2.md +0 -30
- package/docs/releases/v0.30.3.md +0 -33
- package/docs/releases/v0.31.0.md +0 -33
- package/docs/releases/v0.32.0.md +0 -33
- package/docs/releases/v0.33.0.md +0 -34
- package/docs/releases/v0.34.0.md +0 -30
- package/docs/releases/v0.35.0.md +0 -33
- package/docs/releases/v0.36.0.md +0 -32
- package/docs/releases/v0.37.0.md +0 -33
- package/docs/releases/v0.38.0.md +0 -35
- package/docs/releases/v0.39.0.md +0 -35
- package/docs/releases/v0.40.0.md +0 -45
- package/docs/releases/v0.40.1.md +0 -34
- package/docs/releases/v1.0.0.md +0 -42
- package/docs/releases/v1.0.1.md +0 -38
- package/docs/releases/v1.0.2.md +0 -51
- package/docs/releases/v1.0.3.md +0 -37
- package/docs/releases/v1.0.4.md +0 -45
- package/docs/releases/v1.0.5.md +0 -41
- package/docs/releases/v1.0.6.md +0 -35
- package/docs/releases/v1.0.7.md +0 -36
- package/docs/releases/v1.1.0.md +0 -42
- package/docs/releases/v1.1.1.md +0 -44
- package/docs/releases/v1.1.2.md +0 -42
- package/docs/releases/v1.1.3.md +0 -36
- package/docs/releases/v1.1.4.md +0 -36
- package/docs/roadmap/README.md +0 -107
- package/docs/roadmap/v1.0-capability-conformance-framework.md +0 -582
- package/docs/roadmap/v1.0-choice-union-mode.md +0 -90
- package/docs/roadmap/v1.0-contract-audit.md +0 -75
- package/docs/roadmap/v1.0-json-array-streaming.md +0 -101
- package/docs/roadmap/v1.0-openapi-fastify-compatibility.md +0 -99
- package/docs/roadmap/v1.0-release-candidate-gates.md +0 -92
- package/docs/roadmap/v1.0-wsdl-coverage-matrix.md +0 -200
- package/docs/roadmap/v1.0-xs-anyattribute-wildcard-bag.md +0 -932
- package/src/runtime/jsonArray.ts +0 -55
- package/src/runtime/ndjson.ts +0 -32
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SemanticContext } from './semanticContext.js';
|
|
2
|
+
import type { SemanticTypeDependency } from './semanticTypeReference.js';
|
|
3
|
+
/** Call inside the request guard; inputs are borrowed internal receipt data. */
|
|
4
|
+
export declare function collectSemanticTypeDependencies(context: SemanticContext): Readonly<{
|
|
5
|
+
add(required: readonly SemanticTypeDependency[]): void;
|
|
6
|
+
snapshot(): readonly SemanticTypeDependency[];
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/** Charged accumulation of already-owned type dependency facts; no validity authority. */
|
|
2
|
+
import { assertSemanticContext } from './semanticContext.js';
|
|
3
|
+
import { semanticTypeKey } from './schemaTypeIdentity.js';
|
|
4
|
+
const ownedByContext = new WeakMap();
|
|
5
|
+
/** Call inside the request guard; inputs are borrowed internal receipt data. */
|
|
6
|
+
export function collectSemanticTypeDependencies(context) {
|
|
7
|
+
assertSemanticContext(context);
|
|
8
|
+
const budget = context.budget;
|
|
9
|
+
budget.chargeWork(7);
|
|
10
|
+
let owned = ownedByContext.get(context);
|
|
11
|
+
if (!owned) {
|
|
12
|
+
budget.chargeWork(7);
|
|
13
|
+
owned = { facts: new Map(), keys: new WeakMap() };
|
|
14
|
+
ownedByContext.set(context, owned);
|
|
15
|
+
}
|
|
16
|
+
const facts = new Map();
|
|
17
|
+
let published;
|
|
18
|
+
return Object.freeze({
|
|
19
|
+
add(required) {
|
|
20
|
+
budget.chargeWork();
|
|
21
|
+
for (const dependency of required) {
|
|
22
|
+
budget.chargeWork(4);
|
|
23
|
+
if (!dependency || typeof dependency !== 'object')
|
|
24
|
+
throw new TypeError('Expected a semantic type dependency');
|
|
25
|
+
let key = owned.keys.get(dependency);
|
|
26
|
+
if (key === undefined) {
|
|
27
|
+
// No accessor execution and no lasting trust in a borrowed input's
|
|
28
|
+
// identity. Its current primitive values are checked on every visit.
|
|
29
|
+
budget.chargeWork(48);
|
|
30
|
+
const origin = Object.getOwnPropertyDescriptor(dependency, 'contextId');
|
|
31
|
+
const type = Object.getOwnPropertyDescriptor(dependency, 'type');
|
|
32
|
+
if (!origin || !('value' in origin) || typeof origin.value !== 'string' || !type || !('value' in type))
|
|
33
|
+
throw new TypeError('Expected own-data semantic type dependency fields');
|
|
34
|
+
const identity = semanticTypeKey(context, type.value);
|
|
35
|
+
budget.chargeWork(40 + origin.value.length * 2 + identity.length);
|
|
36
|
+
key = `${origin.value.length}:${origin.value}:${identity}`;
|
|
37
|
+
}
|
|
38
|
+
budget.chargeWork(2);
|
|
39
|
+
let fact = owned.facts.get(key);
|
|
40
|
+
if (!fact) {
|
|
41
|
+
fact = budget.freeze(budget.snapshot(dependency));
|
|
42
|
+
budget.chargeWork(4);
|
|
43
|
+
owned.facts.set(key, fact);
|
|
44
|
+
owned.keys.set(fact, key);
|
|
45
|
+
}
|
|
46
|
+
if (!facts.has(key)) {
|
|
47
|
+
budget.chargeWork(3);
|
|
48
|
+
facts.set(key, fact);
|
|
49
|
+
published = undefined;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
snapshot() {
|
|
54
|
+
budget.chargeWork(2);
|
|
55
|
+
if (published)
|
|
56
|
+
return published;
|
|
57
|
+
// Every member is a private owned immutable result. Only this array is
|
|
58
|
+
// newly copied/frozen; traversing those member graphs again adds no safety.
|
|
59
|
+
budget.chargeWork(3 + facts.size * 3);
|
|
60
|
+
published = Object.freeze([...facts.values()]);
|
|
61
|
+
return published;
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Internal semantic references. Canonical/public/persisted Reference is unchanged. */
|
|
2
|
+
import type { NodeId, Reference } from './canonicalGraph.js';
|
|
3
|
+
import type { ExpandedName } from '../loader/orderedSyntax.js';
|
|
4
|
+
import type { SemanticBudget } from './semanticBudget.js';
|
|
5
|
+
/** Plain selector data, not an issued component or validity receipt. */
|
|
6
|
+
export type OriginalGeneratedScalarReference = Readonly<{
|
|
7
|
+
kind: 'original-generated';
|
|
8
|
+
owner: NodeId;
|
|
9
|
+
}>;
|
|
10
|
+
export type SemanticTypeReference = Reference | OriginalGeneratedScalarReference;
|
|
11
|
+
export type SemanticTypeIdentity = Readonly<{
|
|
12
|
+
kind: 'component';
|
|
13
|
+
id: NodeId;
|
|
14
|
+
} | {
|
|
15
|
+
kind: 'builtin';
|
|
16
|
+
name: ExpandedName;
|
|
17
|
+
}> | OriginalGeneratedScalarReference;
|
|
18
|
+
export type SemanticTypeDependency = Readonly<{
|
|
19
|
+
contextId: string;
|
|
20
|
+
type: SemanticTypeIdentity;
|
|
21
|
+
}>;
|
|
22
|
+
/** Checks only reference shape; authenticated context resolution owns membership. */
|
|
23
|
+
export declare function assertSemanticTypeReferenceShape(value: unknown, budget: SemanticBudget): asserts value is SemanticTypeReference;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** Checks only reference shape; authenticated context resolution owns membership. */
|
|
2
|
+
export function assertSemanticTypeReferenceShape(value, budget) {
|
|
3
|
+
const field = (input, key) => {
|
|
4
|
+
budget.chargeWork(44 + key.length);
|
|
5
|
+
if (!input || typeof input !== 'object' || Array.isArray(input))
|
|
6
|
+
throw new TypeError('Expected semantic type reference data');
|
|
7
|
+
const own = Object.getOwnPropertyDescriptor(input, key);
|
|
8
|
+
if (own && !('value' in own))
|
|
9
|
+
throw new TypeError('Semantic type references cannot contain accessors');
|
|
10
|
+
return own?.value;
|
|
11
|
+
};
|
|
12
|
+
const id = (input) => { budget.chargeWork(); if (typeof input !== 'string' || !input)
|
|
13
|
+
throw new TypeError('Expected semantic type identity'); };
|
|
14
|
+
const kind = field(value, 'kind');
|
|
15
|
+
if (kind === 'original-generated') {
|
|
16
|
+
id(field(value, 'owner'));
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (kind === 'local') {
|
|
20
|
+
id(field(value, 'target'));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (kind !== 'symbol' && kind !== 'builtin')
|
|
24
|
+
throw new TypeError('Unknown semantic type reference kind');
|
|
25
|
+
const name = field(value, 'name');
|
|
26
|
+
if (typeof field(name, 'namespace') !== 'string')
|
|
27
|
+
throw new TypeError('Expected semantic type namespace');
|
|
28
|
+
id(field(name, 'local'));
|
|
29
|
+
if (kind === 'symbol') {
|
|
30
|
+
if (field(value, 'role') !== 'type')
|
|
31
|
+
throw new TypeError('Expected a type symbol');
|
|
32
|
+
const target = field(value, 'target');
|
|
33
|
+
if (target !== undefined)
|
|
34
|
+
id(target);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type CompiledCatalog } from "./schemaCompiler.js";
|
|
2
2
|
import type { StreamConfig } from "../util/streamConfig.js";
|
|
3
|
+
export { prepareResolvedCompilationInput } from "./semanticCatalog.js";
|
|
3
4
|
export interface ApplyShapeCatalogsOptions {
|
|
4
5
|
/** Directory against which relative `catalogFile`/`wsdlSource` paths resolve. Defaults to process.cwd(). */
|
|
5
6
|
baseDir?: string;
|
|
@@ -15,4 +16,3 @@ export interface ApplyShapeCatalogsOptions {
|
|
|
15
16
|
* the current catalog.
|
|
16
17
|
*/
|
|
17
18
|
export declare function applyShapeCatalogs(compiled: CompiledCatalog, streamConfig: StreamConfig, options?: ApplyShapeCatalogsOptions): Promise<void>;
|
|
18
|
-
//# sourceMappingURL=shapeResolver.d.ts.map
|
|
@@ -14,12 +14,15 @@
|
|
|
14
14
|
* - Existing buffered generation stays byte-for-byte identical when no
|
|
15
15
|
* streamConfig.shapeCatalogs entries are declared.
|
|
16
16
|
*/
|
|
17
|
-
import fs from "node:fs";
|
|
18
17
|
import path from "node:path";
|
|
19
18
|
import { compileCatalog } from "./schemaCompiler.js";
|
|
20
19
|
import { loadWsdl } from "../loader/wsdlLoader.js";
|
|
21
20
|
import { resolveCompilerOptions } from "../config.js";
|
|
22
21
|
import { WsdlCompilationError } from "../util/errors.js";
|
|
22
|
+
import { readLegacyCatalogFile, CatalogError } from "./semanticCatalog.js";
|
|
23
|
+
// Internal faithful counterpart consumes namespace/role roots and the typed reader.
|
|
24
|
+
// Public StreamConfig generation continues to call the legacy adapter below.
|
|
25
|
+
export { prepareResolvedCompilationInput } from "./semanticCatalog.js";
|
|
23
26
|
/**
|
|
24
27
|
* Apply a parsed StreamConfig to a compiled catalog:
|
|
25
28
|
* 1. Verify every opted-in operation's record type is resolvable.
|
|
@@ -76,19 +79,14 @@ export async function applyShapeCatalogs(compiled, streamConfig, options = {}) {
|
|
|
76
79
|
async function loadCompanionCatalog(name, ref, baseDir, compiled) {
|
|
77
80
|
if (ref.catalogFile) {
|
|
78
81
|
const abs = path.resolve(baseDir, ref.catalogFile);
|
|
79
|
-
let text;
|
|
80
82
|
try {
|
|
81
|
-
|
|
83
|
+
return readLegacyCatalogFile(abs);
|
|
82
84
|
}
|
|
83
85
|
catch (err) {
|
|
86
|
+
if (err instanceof CatalogError)
|
|
87
|
+
throw err;
|
|
84
88
|
throw new WsdlCompilationError(`Failed to read companion catalog "${name}" at ${abs}: ${err.message}`, { suggestion: `Check that shapeCatalogs.${name}.catalogFile points to an existing catalog.json.` });
|
|
85
89
|
}
|
|
86
|
-
try {
|
|
87
|
-
return JSON.parse(text);
|
|
88
|
-
}
|
|
89
|
-
catch (err) {
|
|
90
|
-
throw new WsdlCompilationError(`Companion catalog "${name}" at ${abs} is not valid JSON: ${err.message}`);
|
|
91
|
-
}
|
|
92
90
|
}
|
|
93
91
|
if (ref.wsdlSource) {
|
|
94
92
|
// Relative paths resolve against baseDir; URLs pass through untouched.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** SOAP 1.1 response-header clauses for the component transport's default ultimate-receiver role. */
|
|
2
|
+
import type { ExpandedName, SyntaxElement } from '../loader/orderedSyntax.js';
|
|
3
|
+
export type ComponentSoapHeaderResult = Readonly<{
|
|
4
|
+
kind: 'ignored-optional-headers';
|
|
5
|
+
headers: readonly ExpandedName[];
|
|
6
|
+
} | {
|
|
7
|
+
kind: 'protocol' | 'unsupported';
|
|
8
|
+
rule: string;
|
|
9
|
+
}>;
|
|
10
|
+
/** Assess borrowed parsed Header syntax without claiming unknown block semantics.
|
|
11
|
+
* @remarks SOAP 1.1 sections 4.2 through 4.2.3 require qualified block names and define absent mustUnderstand
|
|
12
|
+
* as 0. Only immediate block attributes govern header processing. Actor-directed processing and mandatory
|
|
13
|
+
* block semantics remain unsupported; no security/header emission capability is acquired here.
|
|
14
|
+
* @see https://www.w3.org/TR/2000/NOTE-SOAP-20000508/
|
|
15
|
+
*/
|
|
16
|
+
export declare function assessComponentSoapHeader(header: SyntaxElement, check: () => void): ComponentSoapHeaderResult;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const SOAP = 'http://schemas.xmlsoap.org/soap/envelope/';
|
|
2
|
+
/** Assess borrowed parsed Header syntax without claiming unknown block semantics.
|
|
3
|
+
* @remarks SOAP 1.1 sections 4.2 through 4.2.3 require qualified block names and define absent mustUnderstand
|
|
4
|
+
* as 0. Only immediate block attributes govern header processing. Actor-directed processing and mandatory
|
|
5
|
+
* block semantics remain unsupported; no security/header emission capability is acquired here.
|
|
6
|
+
* @see https://www.w3.org/TR/2000/NOTE-SOAP-20000508/
|
|
7
|
+
*/
|
|
8
|
+
export function assessComponentSoapHeader(header, check) {
|
|
9
|
+
check();
|
|
10
|
+
if (header.name.namespace !== SOAP || header.name.local !== 'Header' || header.attributes.length)
|
|
11
|
+
return Object.freeze({ kind: 'protocol', rule: 'SOAP Header shape' });
|
|
12
|
+
const headers = [];
|
|
13
|
+
for (const child of header.children) {
|
|
14
|
+
check();
|
|
15
|
+
if (child.kind === 'text') {
|
|
16
|
+
if (/[^\t\r\n ]/.test(child.value))
|
|
17
|
+
return Object.freeze({ kind: 'protocol', rule: 'SOAP Header text' });
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
if (!child.name.namespace)
|
|
21
|
+
return Object.freeze({ kind: 'protocol', rule: 'SOAP header block namespace required' });
|
|
22
|
+
let mandatory = false;
|
|
23
|
+
for (const attribute of child.attributes) {
|
|
24
|
+
check();
|
|
25
|
+
if (attribute.name.namespace !== SOAP)
|
|
26
|
+
continue;
|
|
27
|
+
if (attribute.name.local === 'actor')
|
|
28
|
+
return Object.freeze({ kind: 'unsupported', rule: 'SOAP actor header capability required' });
|
|
29
|
+
if (attribute.name.local === 'mustUnderstand') {
|
|
30
|
+
if (attribute.value !== '0' && attribute.value !== '1')
|
|
31
|
+
return Object.freeze({ kind: 'protocol', rule: 'SOAP 1.1 mustUnderstand value' });
|
|
32
|
+
mandatory = attribute.value === '1';
|
|
33
|
+
}
|
|
34
|
+
else if (attribute.name.local !== 'encodingStyle')
|
|
35
|
+
return Object.freeze({ kind: 'unsupported', rule: 'unknown SOAP header attribute' });
|
|
36
|
+
}
|
|
37
|
+
if (mandatory)
|
|
38
|
+
return Object.freeze({ kind: 'unsupported', rule: 'incoming mandatory SOAP header' });
|
|
39
|
+
headers.push(Object.freeze({ ...child.name }));
|
|
40
|
+
}
|
|
41
|
+
return Object.freeze({ kind: 'ignored-optional-headers', headers: Object.freeze(headers) });
|
|
42
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SchemaInput, SchemaInterpretation } from '../loader/schemaInput.js';
|
|
2
|
+
import type { SyntaxSource } from '../loader/orderedSyntax.js';
|
|
3
|
+
import { GraphError } from './canonicalGraph.js';
|
|
4
|
+
import { SemanticError } from './resolveCanonicalGraph.js';
|
|
5
|
+
import type { ResolvedGraph, SemanticLimits } from './resolveCanonicalGraph.js';
|
|
6
|
+
import type { ResourceLimitFailure, SemanticBudget } from './semanticBudget.js';
|
|
7
|
+
export type SourcePreparationFailure = Readonly<{
|
|
8
|
+
kind: 'source-preparation-failed';
|
|
9
|
+
stage: 'canonical-build' | 'reference-resolution';
|
|
10
|
+
category: GraphError['category'] | SemanticError['category'];
|
|
11
|
+
message: string;
|
|
12
|
+
source?: SyntaxSource;
|
|
13
|
+
}>;
|
|
14
|
+
export type BoundSourcePreparation = Readonly<{
|
|
15
|
+
kind: 'prepared';
|
|
16
|
+
resolved: ResolvedGraph;
|
|
17
|
+
}> | SourcePreparationFailure | ResourceLimitFailure;
|
|
18
|
+
/** Reads only private identity. A copied/forged resolved handle has no binding. */
|
|
19
|
+
export declare function sourceSchemasForResolvedGraph(resolved: ResolvedGraph): readonly SchemaInterpretation[] | undefined;
|
|
20
|
+
/** One issued source snapshot constructs both the immutable graph and its source universe. */
|
|
21
|
+
export declare function prepareBoundSourceGraph(input: SchemaInput, options: Readonly<{
|
|
22
|
+
budget: SemanticBudget;
|
|
23
|
+
sourceLimits?: SemanticLimits;
|
|
24
|
+
accountPreparation?: true;
|
|
25
|
+
}>): BoundSourcePreparation;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** Exact source-built resolved handles; no caller-issued association or validity receipt. */
|
|
2
|
+
import { assertLoadedSchemaInput } from '../loader/schemaInput.js';
|
|
3
|
+
import { buildCanonicalGraph } from './buildCanonicalGraph.js';
|
|
4
|
+
import { GraphError } from './canonicalGraph.js';
|
|
5
|
+
import { resolveCanonicalGraph, SemanticError } from './resolveCanonicalGraph.js';
|
|
6
|
+
const sourceBindings = new WeakMap();
|
|
7
|
+
/** Reads only private identity. A copied/forged resolved handle has no binding. */
|
|
8
|
+
export function sourceSchemasForResolvedGraph(resolved) {
|
|
9
|
+
return sourceBindings.get(resolved);
|
|
10
|
+
}
|
|
11
|
+
/** One issued source snapshot constructs both the immutable graph and its source universe. */
|
|
12
|
+
export function prepareBoundSourceGraph(input, options) {
|
|
13
|
+
assertLoadedSchemaInput(input);
|
|
14
|
+
const budget = options.budget;
|
|
15
|
+
return budget.guard(() => {
|
|
16
|
+
// The loader authenticates this exact input handle. Claim its complete
|
|
17
|
+
// immutable source tree before any build or caller access can intervene.
|
|
18
|
+
// The shared budget charges the freeze traversal before each field read.
|
|
19
|
+
const owned = budget.freeze(input);
|
|
20
|
+
let stage = 'canonical-build';
|
|
21
|
+
try {
|
|
22
|
+
const graph = buildCanonicalGraph(owned, { maxNodes: options.sourceLimits?.maxNodes, requestBudget: options.accountPreparation ? budget : undefined });
|
|
23
|
+
stage = 'reference-resolution';
|
|
24
|
+
// The fixed resolver deep-freezes its complete result before returning it.
|
|
25
|
+
// No caller code receives this exact handle before the private association.
|
|
26
|
+
const resolved = resolveCanonicalGraph(graph, { ...options.sourceLimits, requestBudget: options.accountPreparation ? budget : undefined });
|
|
27
|
+
budget.chargeWork(6);
|
|
28
|
+
sourceBindings.set(resolved, owned.schemas);
|
|
29
|
+
return Object.freeze({ kind: 'prepared', resolved });
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
if (!(error instanceof GraphError || error instanceof SemanticError))
|
|
33
|
+
throw error;
|
|
34
|
+
budget.chargeWork(200 + error.message.length);
|
|
35
|
+
return Object.freeze({ kind: 'source-preparation-failed', stage, category: error.category,
|
|
36
|
+
message: error.message, ...(error.source ? { source: error.source } : {}) });
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { ExpandedName, SyntaxElement } from '../loader/orderedSyntax.js';
|
|
2
|
+
import type { SemanticBudget } from './semanticBudget.js';
|
|
3
|
+
import { assessSchemaElementInstance } from './schemaElementInstance.js';
|
|
4
|
+
export declare const SCHEMA_ELEMENT_LIBRARY: "w3c-xsd10-schema-element-2004-v1";
|
|
5
|
+
export type StandardSchemaLibraryId = typeof SCHEMA_ELEMENT_LIBRARY;
|
|
6
|
+
export interface StandardSchemaTypeReference {
|
|
7
|
+
readonly kind: 'standard-type';
|
|
8
|
+
readonly library: StandardSchemaLibraryId;
|
|
9
|
+
readonly component: 'schema-element-anonymous' | 'openAttrs';
|
|
10
|
+
}
|
|
11
|
+
export interface StandardSchemaLibrary {
|
|
12
|
+
readonly id: StandardSchemaLibraryId;
|
|
13
|
+
readonly specification: string;
|
|
14
|
+
}
|
|
15
|
+
export interface StandardSchemaElementDeclaration {
|
|
16
|
+
readonly kind: 'standard-element';
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly name: ExpandedName;
|
|
19
|
+
readonly scope: 'global';
|
|
20
|
+
readonly type: StandardSchemaTypeReference;
|
|
21
|
+
readonly abstract: false;
|
|
22
|
+
readonly nillable: false;
|
|
23
|
+
readonly block: readonly ['restriction', 'extension', 'substitution'];
|
|
24
|
+
readonly final: readonly [];
|
|
25
|
+
readonly instanceGrammar: 'XSD10-S4S-element-instance-2004';
|
|
26
|
+
}
|
|
27
|
+
export interface StandardSchemaComplexType {
|
|
28
|
+
readonly kind: 'standard-complex-type';
|
|
29
|
+
readonly reference: StandardSchemaTypeReference;
|
|
30
|
+
readonly identity: Readonly<{
|
|
31
|
+
kind: 'anonymous';
|
|
32
|
+
owner: ExpandedName;
|
|
33
|
+
}> | Readonly<{
|
|
34
|
+
kind: 'global';
|
|
35
|
+
name: ExpandedName;
|
|
36
|
+
}>;
|
|
37
|
+
readonly mixed: false;
|
|
38
|
+
readonly abstract: false;
|
|
39
|
+
readonly derivation: Readonly<{
|
|
40
|
+
kind: 'extension';
|
|
41
|
+
base: StandardSchemaTypeReference;
|
|
42
|
+
}> | Readonly<{
|
|
43
|
+
kind: 'restriction';
|
|
44
|
+
base: Readonly<{
|
|
45
|
+
kind: 'builtin';
|
|
46
|
+
name: ExpandedName;
|
|
47
|
+
}>;
|
|
48
|
+
}>;
|
|
49
|
+
readonly grammar: 'schema' | 'openAttrs';
|
|
50
|
+
}
|
|
51
|
+
/** Acquire the implemented fixed standard definitions explicitly, without metadata I/O.
|
|
52
|
+
* @remarks The schema element has an anonymous complex type extending the named openAttrs type;
|
|
53
|
+
* neither is a primitive builtin or an alias of anyType. These definition handles issue no source-validity receipt.
|
|
54
|
+
* @returns A native library handle; copied JSON or similarly shaped objects cannot resolve definitions.
|
|
55
|
+
* @throws TypeError For unknown library identifiers.
|
|
56
|
+
* @see https://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#composition-schemaImport
|
|
57
|
+
*/
|
|
58
|
+
export declare function acquireStandardSchemaLibrary(id: string): StandardSchemaLibrary;
|
|
59
|
+
/** Authenticate an acquired declaration before a resolver uses its identity. */
|
|
60
|
+
export declare function inspectStandardSchemaElement(declaration: StandardSchemaElementDeclaration): StandardSchemaElementDeclaration;
|
|
61
|
+
/** Borrow the exact acquired declaration's fixed complex ancestry; selectors cannot manufacture this ownership. */
|
|
62
|
+
export declare function standardSchemaElementTypes(declaration: StandardSchemaElementDeclaration): readonly StandardSchemaComplexType[];
|
|
63
|
+
/** Resolve only the supplied library's implemented global declaration; namespace names initiate no acquisition. */
|
|
64
|
+
export declare function standardSchemaElement(library: StandardSchemaLibrary, name: ExpandedName): StandardSchemaElementDeclaration | undefined;
|
|
65
|
+
/** Resolve a selector through an acquired library, retaining anonymous and named complex identities. */
|
|
66
|
+
export declare function standardSchemaType(library: StandardSchemaLibrary, reference: StandardSchemaTypeReference): StandardSchemaComplexType | undefined;
|
|
67
|
+
/** Apply the existing fixed instance owner to an exact native declaration handle.
|
|
68
|
+
* @remarks This does not qualify application schema declarations, WSDL operations, mappings or portable artifacts.
|
|
69
|
+
* @throws TypeError For copied or unowned declaration handles.
|
|
70
|
+
*/
|
|
71
|
+
export declare function assessStandardSchemaElement(declaration: StandardSchemaElementDeclaration, root: SyntaxElement, budget: SemanticBudget, options?: Parameters<typeof assessSchemaElementInstance>[2]): import("./schemaElementInstance.js").SchemaElementInstanceResult;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/** Explicit native standard-component acquisition; selecting a library never qualifies an application source. */
|
|
2
|
+
import { globalId } from './canonicalGraph.js';
|
|
3
|
+
import { XSD_NAMESPACE } from '../loader/orderedSyntax.js';
|
|
4
|
+
import { assessSchemaElementInstance } from './schemaElementInstance.js';
|
|
5
|
+
export const SCHEMA_ELEMENT_LIBRARY = 'w3c-xsd10-schema-element-2004-v1';
|
|
6
|
+
const libraries = new WeakMap();
|
|
7
|
+
const elements = new WeakMap();
|
|
8
|
+
/** Acquire the implemented fixed standard definitions explicitly, without metadata I/O.
|
|
9
|
+
* @remarks The schema element has an anonymous complex type extending the named openAttrs type;
|
|
10
|
+
* neither is a primitive builtin or an alias of anyType. These definition handles issue no source-validity receipt.
|
|
11
|
+
* @returns A native library handle; copied JSON or similarly shaped objects cannot resolve definitions.
|
|
12
|
+
* @throws TypeError For unknown library identifiers.
|
|
13
|
+
* @see https://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#composition-schemaImport
|
|
14
|
+
*/
|
|
15
|
+
export function acquireStandardSchemaLibrary(id) {
|
|
16
|
+
if (id !== SCHEMA_ELEMENT_LIBRARY)
|
|
17
|
+
throw new TypeError('Unsupported standard schema component library');
|
|
18
|
+
const library = Object.freeze({ id, specification: 'https://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-schema' });
|
|
19
|
+
const name = Object.freeze({ namespace: XSD_NAMESPACE, local: 'schema' });
|
|
20
|
+
const reference = (component) => Object.freeze({ kind: 'standard-type', library: id, component });
|
|
21
|
+
const schema = reference('schema-element-anonymous'), openAttrs = reference('openAttrs');
|
|
22
|
+
const element = Object.freeze({ kind: 'standard-element', id: globalId('element', name), name,
|
|
23
|
+
scope: 'global', type: schema, abstract: false, nillable: false,
|
|
24
|
+
block: Object.freeze(['restriction', 'extension', 'substitution']), final: Object.freeze([]),
|
|
25
|
+
instanceGrammar: 'XSD10-S4S-element-instance-2004' });
|
|
26
|
+
const types = Object.freeze({
|
|
27
|
+
'schema-element-anonymous': Object.freeze({ kind: 'standard-complex-type', reference: schema,
|
|
28
|
+
identity: Object.freeze({ kind: 'anonymous', owner: name }), mixed: false, abstract: false,
|
|
29
|
+
derivation: Object.freeze({ kind: 'extension', base: openAttrs }), grammar: 'schema' }),
|
|
30
|
+
openAttrs: Object.freeze({ kind: 'standard-complex-type', reference: openAttrs,
|
|
31
|
+
identity: Object.freeze({ kind: 'global', name: Object.freeze({ namespace: XSD_NAMESPACE, local: 'openAttrs' }) }), mixed: false, abstract: false,
|
|
32
|
+
derivation: Object.freeze({ kind: 'restriction', base: Object.freeze({ kind: 'builtin', name: Object.freeze({ namespace: XSD_NAMESPACE, local: 'anyType' }) }) }), grammar: 'openAttrs' }),
|
|
33
|
+
});
|
|
34
|
+
libraries.set(library, Object.freeze({ element, types }));
|
|
35
|
+
elements.set(element, library);
|
|
36
|
+
return library;
|
|
37
|
+
}
|
|
38
|
+
function definition(library) {
|
|
39
|
+
const owned = libraries.get(library);
|
|
40
|
+
if (!owned)
|
|
41
|
+
throw new TypeError('Native acquired standard schema library required');
|
|
42
|
+
return owned;
|
|
43
|
+
}
|
|
44
|
+
/** Authenticate an acquired declaration before a resolver uses its identity. */
|
|
45
|
+
export function inspectStandardSchemaElement(declaration) {
|
|
46
|
+
if (!elements.has(declaration))
|
|
47
|
+
throw new TypeError('Native standard schema declaration required');
|
|
48
|
+
return declaration;
|
|
49
|
+
}
|
|
50
|
+
/** Borrow the exact acquired declaration's fixed complex ancestry; selectors cannot manufacture this ownership. */
|
|
51
|
+
export function standardSchemaElementTypes(declaration) {
|
|
52
|
+
inspectStandardSchemaElement(declaration);
|
|
53
|
+
const owned = definition(elements.get(declaration));
|
|
54
|
+
return Object.freeze([owned.types['schema-element-anonymous'], owned.types.openAttrs]);
|
|
55
|
+
}
|
|
56
|
+
/** Resolve only the supplied library's implemented global declaration; namespace names initiate no acquisition. */
|
|
57
|
+
export function standardSchemaElement(library, name) {
|
|
58
|
+
const owned = definition(library);
|
|
59
|
+
return name.namespace === XSD_NAMESPACE && name.local === 'schema' ? owned.element : undefined;
|
|
60
|
+
}
|
|
61
|
+
/** Resolve a selector through an acquired library, retaining anonymous and named complex identities. */
|
|
62
|
+
export function standardSchemaType(library, reference) {
|
|
63
|
+
const owned = definition(library);
|
|
64
|
+
return reference.kind === 'standard-type' && reference.library === library.id && Object.hasOwn(owned.types, reference.component)
|
|
65
|
+
? owned.types[reference.component] : undefined;
|
|
66
|
+
}
|
|
67
|
+
/** Apply the existing fixed instance owner to an exact native declaration handle.
|
|
68
|
+
* @remarks This does not qualify application schema declarations, WSDL operations, mappings or portable artifacts.
|
|
69
|
+
* @throws TypeError For copied or unowned declaration handles.
|
|
70
|
+
*/
|
|
71
|
+
export function assessStandardSchemaElement(declaration, root, budget, options = {}) {
|
|
72
|
+
inspectStandardSchemaElement(declaration);
|
|
73
|
+
return assessSchemaElementInstance(root, budget, options);
|
|
74
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SemanticContext } from './semanticContext.js';
|
|
2
|
+
import type { StandardSchemaElementDeclaration, StandardSchemaComplexType } from './standardSchemaComponents.js';
|
|
3
|
+
import type { ResourceLimitFailure } from './semanticBudget.js';
|
|
4
|
+
export interface StandardElementConstruction {
|
|
5
|
+
readonly kind: 'checked-standard-element';
|
|
6
|
+
readonly authority: 'XSD10-fixed-standard-component-v1';
|
|
7
|
+
readonly scope: 'fixed-standard-element-and-complex-ancestry';
|
|
8
|
+
readonly contextId: string;
|
|
9
|
+
readonly declaration: StandardSchemaElementDeclaration;
|
|
10
|
+
readonly types: readonly StandardSchemaComplexType[];
|
|
11
|
+
}
|
|
12
|
+
/** Consume a native acquired definition in this exact context.
|
|
13
|
+
* @remarks The fixed dated definitions and S4S instance clauses are implementation-owned, like the builtin
|
|
14
|
+
* datatype universe. This establishes their component dependency only, never application source validity,
|
|
15
|
+
* opaque payload interpretation, value assessment or portable artifact authority.
|
|
16
|
+
* @throws TypeError For copied declarations or a declaration not acquired in the selected context.
|
|
17
|
+
*/
|
|
18
|
+
export declare function checkStandardElementConstruction(context: SemanticContext, declaration: StandardSchemaElementDeclaration): StandardElementConstruction | ResourceLimitFailure;
|
|
19
|
+
/** Authenticate both native construction and the selected acquired universe before aggregate closure. */
|
|
20
|
+
export declare function assertStandardElementConstruction(context: SemanticContext, receipt: StandardElementConstruction): void;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** Native fixed-standard dependencies, separate from application graph construction and mapping authority. */
|
|
2
|
+
import { assertSemanticContext } from './semanticContext.js';
|
|
3
|
+
import { inspectStandardSchemaElement, standardSchemaElementTypes } from './standardSchemaComponents.js';
|
|
4
|
+
const issued = new WeakMap();
|
|
5
|
+
/** Consume a native acquired definition in this exact context.
|
|
6
|
+
* @remarks The fixed dated definitions and S4S instance clauses are implementation-owned, like the builtin
|
|
7
|
+
* datatype universe. This establishes their component dependency only, never application source validity,
|
|
8
|
+
* opaque payload interpretation, value assessment or portable artifact authority.
|
|
9
|
+
* @throws TypeError For copied declarations or a declaration not acquired in the selected context.
|
|
10
|
+
*/
|
|
11
|
+
export function checkStandardElementConstruction(context, declaration) {
|
|
12
|
+
assertSemanticContext(context);
|
|
13
|
+
inspectStandardSchemaElement(declaration);
|
|
14
|
+
return context.budget.guard(() => {
|
|
15
|
+
context.budget.chargeWork(32 + declaration.id.length);
|
|
16
|
+
if (context.standardElement(declaration.id) !== declaration)
|
|
17
|
+
throw new TypeError('Standard declaration is not acquired in this context');
|
|
18
|
+
const types = standardSchemaElementTypes(declaration);
|
|
19
|
+
const receipt = Object.freeze({ kind: 'checked-standard-element',
|
|
20
|
+
authority: 'XSD10-fixed-standard-component-v1', scope: 'fixed-standard-element-and-complex-ancestry',
|
|
21
|
+
contextId: context.contextId, declaration, types });
|
|
22
|
+
issued.set(receipt, context);
|
|
23
|
+
return receipt;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/** Authenticate both native construction and the selected acquired universe before aggregate closure. */
|
|
27
|
+
export function assertStandardElementConstruction(context, receipt) {
|
|
28
|
+
assertSemanticContext(context);
|
|
29
|
+
if (issued.get(receipt) !== context)
|
|
30
|
+
throw new TypeError('Native matching standard-element construction required');
|
|
31
|
+
context.budget.chargeWork(8);
|
|
32
|
+
if (context.standardElement(receipt.declaration.id) !== receipt.declaration)
|
|
33
|
+
throw new TypeError('Standard construction scope changed');
|
|
34
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CanonicalGraph, NodeId } from "./canonicalGraph.js";
|
|
2
|
+
import type { SemanticLimits } from "./resolveCanonicalGraph.js";
|
|
3
|
+
export type StructuralCompanion = Readonly<{
|
|
4
|
+
graph: CanonicalGraph;
|
|
5
|
+
roots: readonly NodeId[];
|
|
6
|
+
}>;
|
|
7
|
+
export type StructuralMerge = Readonly<{
|
|
8
|
+
graph: CanonicalGraph;
|
|
9
|
+
copied: readonly NodeId[];
|
|
10
|
+
deduplicated: readonly NodeId[];
|
|
11
|
+
metrics: Readonly<{
|
|
12
|
+
steps: number;
|
|
13
|
+
}>;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function mergeStructuralCompanions(primary: CanonicalGraph, companions: readonly StructuralCompanion[], limits?: SemanticLimits): StructuralMerge;
|