@techspokes/typescript-wsdl-client 1.1.5 → 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 +64 -66
- package/dist/app/generateApp.d.ts +0 -1
- package/dist/app/generateApp.js +1 -1
- 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 +75 -1
- package/dist/client/checkedDirectRuntime.d.ts +40 -3
- package/dist/client/checkedDirectRuntime.js +28 -8
- package/dist/client/directClientRuntime.d.ts +27 -2
- package/dist/client/directClientRuntime.js +142 -89
- package/dist/client/directClientVersion.d.ts +3 -1
- package/dist/client/directClientVersion.js +3 -0
- package/dist/client/generateClient.d.ts +0 -1
- package/dist/client/generateClient.js +26 -12
- package/dist/client/generateDirectClient.d.ts +21 -3
- package/dist/client/generateDirectClient.js +138 -6
- 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 +0 -1
- package/dist/compiler/canonicalGraph.d.ts +0 -1
- package/dist/compiler/catalogErrors.d.ts +0 -1
- package/dist/compiler/catalogProvenance.d.ts +0 -1
- package/dist/compiler/checkedAssessment.d.ts +0 -1
- package/dist/compiler/checkedAssessment.js +1 -1
- package/dist/compiler/checkedComponentSource.d.ts +16 -0
- package/dist/compiler/checkedComponentSource.js +31 -0
- package/dist/compiler/checkedSourcePreparation.d.ts +38 -1
- package/dist/compiler/checkedSourcePreparation.js +71 -0
- package/dist/compiler/complexTypeContent.d.ts +5 -6
- package/dist/compiler/complexTypeContent.js +2 -2
- 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 +0 -1
- package/dist/compiler/dataOwnership.d.ts +0 -1
- package/dist/compiler/dataOwnership.js +14 -4
- package/dist/compiler/datatypeValues.d.ts +0 -1
- package/dist/compiler/directCodec.d.ts +59 -2
- package/dist/compiler/directCodec.js +275 -90
- package/dist/compiler/directExecutionPolicy.d.ts +0 -1
- package/dist/compiler/directOperation.d.ts +46 -4
- package/dist/compiler/directOperation.js +105 -14
- package/dist/compiler/directSoap.d.ts +29 -5
- package/dist/compiler/directSoap.js +130 -37
- package/dist/compiler/directSoapSource.d.ts +24 -1
- package/dist/compiler/directSoapSource.js +166 -19
- package/dist/compiler/directSourceCapsule.d.ts +74 -2
- package/dist/compiler/directSourceCapsule.js +428 -6
- package/dist/compiler/directStructure.d.ts +83 -6
- package/dist/compiler/directStructure.js +349 -58
- package/dist/compiler/directStructurePlan.d.ts +135 -2
- package/dist/compiler/directStructurePlan.js +594 -29
- package/dist/compiler/directValues.d.ts +63 -4
- package/dist/compiler/directValues.js +950 -116
- package/dist/compiler/finiteRe01Construction.d.ts +69 -0
- package/dist/compiler/finiteRe01Construction.js +422 -0
- package/dist/compiler/finiteRe01Verification.d.ts +81 -3
- package/dist/compiler/finiteRe01Verification.js +391 -4
- package/dist/compiler/generateCatalog.d.ts +0 -1
- package/dist/compiler/graphTraversal.d.ts +0 -1
- package/dist/compiler/hypotheticalScopedIdentity.d.ts +0 -1
- package/dist/compiler/occurrenceAnalysis.d.ts +2 -1
- package/dist/compiler/occurrenceAnalysis.js +23 -7
- package/dist/compiler/originalSourceMembership.d.ts +0 -1
- package/dist/compiler/particleAttribution.d.ts +0 -1
- package/dist/compiler/particleAttribution.js +20 -0
- package/dist/compiler/particleDeclarationConsistency.d.ts +0 -1
- package/dist/compiler/particleDeclarationConsistency.js +9 -0
- package/dist/compiler/particleExtension.d.ts +0 -1
- package/dist/compiler/particleExtension.js +5 -1
- package/dist/compiler/particleLocalAssessment.d.ts +0 -1
- package/dist/compiler/particleRestriction.d.ts +0 -1
- package/dist/compiler/particleRestriction.js +6 -1
- package/dist/compiler/particleSemanticView.d.ts +2 -1
- package/dist/compiler/particleSemanticView.js +16 -3
- package/dist/compiler/particleWildcardRelation.d.ts +0 -1
- 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 +22 -1
- package/dist/compiler/re01CandidateCorrespondence.js +167 -38
- package/dist/compiler/re01TypeProperties.d.ts +0 -1
- package/dist/compiler/re01TypePropertyValidation.d.ts +0 -1
- package/dist/compiler/resolveCanonicalGraph.d.ts +5 -2
- package/dist/compiler/resolveCanonicalGraph.js +77 -7
- package/dist/compiler/scalarSchemaAssessment.d.ts +0 -1
- package/dist/compiler/schemaAttributeGroupProperties.d.ts +0 -1
- package/dist/compiler/schemaAttributeProperties.d.ts +0 -1
- package/dist/compiler/schemaAttributeUses.d.ts +22 -2
- package/dist/compiler/schemaAttributeUses.js +86 -13
- package/dist/compiler/schemaBinaryWordReconstruction.d.ts +0 -1
- package/dist/compiler/schemaBuiltinFacets.d.ts +0 -1
- package/dist/compiler/schemaCalendarImages.d.ts +0 -1
- package/dist/compiler/schemaCalendarLanguage.d.ts +0 -1
- package/dist/compiler/schemaCompiler.d.ts +0 -1
- package/dist/compiler/schemaComponentEquality.d.ts +0 -1
- package/dist/compiler/schemaConstructionAssessment.d.ts +34 -1
- package/dist/compiler/schemaConstructionAssessment.js +88 -6
- package/dist/compiler/schemaDatatypeValues.d.ts +0 -1
- package/dist/compiler/schemaDecimalLanguage.d.ts +0 -1
- package/dist/compiler/schemaDeclarationPrimitives.d.ts +7 -2
- package/dist/compiler/schemaDeclarationPrimitives.js +18 -1
- package/dist/compiler/schemaDocumentSyntax.d.ts +0 -1
- package/dist/compiler/schemaDurationLanguage.d.ts +0 -1
- package/dist/compiler/schemaElementInstance.d.ts +30 -0
- package/dist/compiler/schemaElementInstance.js +45 -0
- package/dist/compiler/schemaElementProperties.d.ts +0 -1
- package/dist/compiler/schemaEndpointWordCapacity.d.ts +0 -1
- package/dist/compiler/schemaExactCalendar.d.ts +0 -1
- package/dist/compiler/schemaFacetAnnotation.d.ts +0 -1
- package/dist/compiler/schemaGeneratedScalarShape.d.ts +0 -1
- package/dist/compiler/schemaGeneratedScalarShape.js +2 -0
- package/dist/compiler/schemaIdentityConstraints.d.ts +0 -1
- package/dist/compiler/schemaIeeeLanguage.d.ts +0 -1
- package/dist/compiler/schemaIntegerImages.d.ts +0 -1
- package/dist/compiler/schemaLexicalPredicates.d.ts +0 -1
- package/dist/compiler/schemaNotationProperties.d.ts +0 -1
- package/dist/compiler/schemaNumericImageConditions.d.ts +0 -1
- package/dist/compiler/schemaParticleWildcardProperties.d.ts +0 -1
- package/dist/compiler/schemaPattern.d.ts +0 -1
- package/dist/compiler/schemaRegularLanguage.d.ts +0 -1
- package/dist/compiler/schemaScalarContext.d.ts +5 -1
- package/dist/compiler/schemaScalarKernel.d.ts +0 -1
- package/dist/compiler/schemaScalarWitnesses.d.ts +0 -1
- package/dist/compiler/schemaSimpleTypeProperties.d.ts +0 -1
- package/dist/compiler/schemaSourceGrammar.d.ts +0 -1
- package/dist/compiler/schemaSourceLexical.d.ts +0 -1
- package/dist/compiler/schemaSourceValues.d.ts +0 -1
- package/dist/compiler/schemaSourceWildcards.d.ts +1 -2
- package/dist/compiler/schemaSourceWildcards.js +3 -1
- package/dist/compiler/schemaSymbolicSequences.d.ts +0 -1
- package/dist/compiler/schemaSymbolicValueSets.d.ts +0 -1
- package/dist/compiler/schemaSyntaxAssessment.d.ts +0 -1
- package/dist/compiler/schemaTemporalAliases.d.ts +0 -1
- package/dist/compiler/schemaTokenImages.d.ts +0 -1
- package/dist/compiler/schemaTypeIdentity.d.ts +0 -1
- package/dist/compiler/schemaTypeIdentity.js +2 -0
- package/dist/compiler/schemaTypeRelations.d.ts +0 -1
- package/dist/compiler/schemaUri.d.ts +0 -1
- package/dist/compiler/schemaValueContext.d.ts +0 -1
- package/dist/compiler/schemaValueImages.d.ts +0 -1
- package/dist/compiler/schemaValueSequences.d.ts +0 -1
- package/dist/compiler/semanticBudget.d.ts +18 -1
- package/dist/compiler/semanticBudget.js +17 -2
- package/dist/compiler/semanticCatalog.d.ts +1 -2
- package/dist/compiler/semanticContext.d.ts +12 -1
- package/dist/compiler/semanticContext.js +39 -0
- package/dist/compiler/semanticTypeDependencies.d.ts +0 -1
- package/dist/compiler/semanticTypeReference.d.ts +0 -1
- package/dist/compiler/shapeResolver.d.ts +0 -1
- package/dist/compiler/soapHeaders.d.ts +16 -0
- package/dist/compiler/soapHeaders.js +42 -0
- package/dist/compiler/sourceSchemaBinding.d.ts +0 -1
- 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 +0 -1
- package/dist/compiler/validateSemanticGraph.d.ts +0 -1
- package/dist/compiler/wildcardAlgebra.d.ts +0 -1
- 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/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 +7 -2
- package/dist/index.js +2 -1
- package/dist/loader/fetch.d.ts +0 -1
- package/dist/loader/orderedSyntax.d.ts +8 -1
- package/dist/loader/orderedSyntax.js +26 -6
- package/dist/loader/resolutionDepth.d.ts +0 -1
- package/dist/loader/schemaInput.d.ts +28 -1
- package/dist/loader/schemaInput.js +41 -4
- package/dist/loader/schemaResources.d.ts +2 -1
- package/dist/loader/schemaResources.js +45 -4
- 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/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/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 +0 -1
- 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 +23 -1
- package/docs/concepts.md +136 -1
- package/docs/configuration.md +5 -1
- package/docs/corpus.md +33 -0
- package/docs/direct-values.md +13 -13
- 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 +7 -3
- package/docs/testing.md +117 -31
- package/llms.txt +7 -7
- package/package.json +63 -22
- 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/checkedDirectRuntime.d.ts.map +0 -1
- package/dist/client/directClientRuntime.d.ts.map +0 -1
- package/dist/client/directClientVersion.d.ts.map +0 -1
- package/dist/client/generateClient.d.ts.map +0 -1
- package/dist/client/generateDirectClient.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/buildCanonicalGraph.d.ts.map +0 -1
- package/dist/compiler/canonicalGraph.d.ts.map +0 -1
- package/dist/compiler/catalogErrors.d.ts.map +0 -1
- package/dist/compiler/catalogProvenance.d.ts.map +0 -1
- package/dist/compiler/checkedAssessment.d.ts.map +0 -1
- package/dist/compiler/checkedSourcePreparation.d.ts.map +0 -1
- package/dist/compiler/complexTypeContent.d.ts.map +0 -1
- package/dist/compiler/composeCanonicalGraph.d.ts.map +0 -1
- package/dist/compiler/dataOwnership.d.ts.map +0 -1
- package/dist/compiler/datatypeValues.d.ts.map +0 -1
- package/dist/compiler/directCodec.d.ts.map +0 -1
- package/dist/compiler/directExecutionPolicy.d.ts.map +0 -1
- package/dist/compiler/directOperation.d.ts.map +0 -1
- package/dist/compiler/directSoap.d.ts.map +0 -1
- package/dist/compiler/directSoapSource.d.ts.map +0 -1
- package/dist/compiler/directSourceCapsule.d.ts.map +0 -1
- package/dist/compiler/directStructure.d.ts.map +0 -1
- package/dist/compiler/directStructurePlan.d.ts.map +0 -1
- package/dist/compiler/directValues.d.ts.map +0 -1
- package/dist/compiler/finiteRe01Verification.d.ts.map +0 -1
- package/dist/compiler/generateCatalog.d.ts.map +0 -1
- package/dist/compiler/graphTraversal.d.ts.map +0 -1
- package/dist/compiler/hypotheticalScopedIdentity.d.ts.map +0 -1
- package/dist/compiler/occurrenceAnalysis.d.ts.map +0 -1
- package/dist/compiler/originalSourceMembership.d.ts.map +0 -1
- package/dist/compiler/particleAttribution.d.ts.map +0 -1
- package/dist/compiler/particleDeclarationConsistency.d.ts.map +0 -1
- package/dist/compiler/particleExtension.d.ts.map +0 -1
- package/dist/compiler/particleLocalAssessment.d.ts.map +0 -1
- package/dist/compiler/particleRestriction.d.ts.map +0 -1
- package/dist/compiler/particleSemanticView.d.ts.map +0 -1
- package/dist/compiler/particleWildcardRelation.d.ts.map +0 -1
- package/dist/compiler/re01CandidateCorrespondence.d.ts.map +0 -1
- package/dist/compiler/re01TypeProperties.d.ts.map +0 -1
- package/dist/compiler/re01TypePropertyValidation.d.ts.map +0 -1
- package/dist/compiler/resolveCanonicalGraph.d.ts.map +0 -1
- package/dist/compiler/scalarSchemaAssessment.d.ts.map +0 -1
- package/dist/compiler/schemaAttributeGroupProperties.d.ts.map +0 -1
- package/dist/compiler/schemaAttributeProperties.d.ts.map +0 -1
- package/dist/compiler/schemaAttributeUses.d.ts.map +0 -1
- package/dist/compiler/schemaBinaryWordReconstruction.d.ts.map +0 -1
- package/dist/compiler/schemaBuiltinFacets.d.ts.map +0 -1
- package/dist/compiler/schemaCalendarImages.d.ts.map +0 -1
- package/dist/compiler/schemaCalendarLanguage.d.ts.map +0 -1
- package/dist/compiler/schemaCompiler.d.ts.map +0 -1
- package/dist/compiler/schemaComponentEquality.d.ts.map +0 -1
- package/dist/compiler/schemaConstructionAssessment.d.ts.map +0 -1
- package/dist/compiler/schemaDatatypeValues.d.ts.map +0 -1
- package/dist/compiler/schemaDecimalLanguage.d.ts.map +0 -1
- package/dist/compiler/schemaDeclarationPrimitives.d.ts.map +0 -1
- package/dist/compiler/schemaDocumentSyntax.d.ts.map +0 -1
- package/dist/compiler/schemaDurationLanguage.d.ts.map +0 -1
- package/dist/compiler/schemaElementProperties.d.ts.map +0 -1
- package/dist/compiler/schemaEndpointWordCapacity.d.ts.map +0 -1
- package/dist/compiler/schemaExactCalendar.d.ts.map +0 -1
- package/dist/compiler/schemaFacetAnnotation.d.ts.map +0 -1
- package/dist/compiler/schemaGeneratedScalarShape.d.ts.map +0 -1
- package/dist/compiler/schemaIdentityConstraints.d.ts.map +0 -1
- package/dist/compiler/schemaIeeeLanguage.d.ts.map +0 -1
- package/dist/compiler/schemaIntegerImages.d.ts.map +0 -1
- package/dist/compiler/schemaLexicalPredicates.d.ts.map +0 -1
- package/dist/compiler/schemaNotationProperties.d.ts.map +0 -1
- package/dist/compiler/schemaNumericImageConditions.d.ts.map +0 -1
- package/dist/compiler/schemaParticleWildcardProperties.d.ts.map +0 -1
- package/dist/compiler/schemaPattern.d.ts.map +0 -1
- package/dist/compiler/schemaRegularLanguage.d.ts.map +0 -1
- package/dist/compiler/schemaScalarContext.d.ts.map +0 -1
- package/dist/compiler/schemaScalarKernel.d.ts.map +0 -1
- package/dist/compiler/schemaScalarWitnesses.d.ts.map +0 -1
- package/dist/compiler/schemaSimpleTypeProperties.d.ts.map +0 -1
- package/dist/compiler/schemaSourceGrammar.d.ts.map +0 -1
- package/dist/compiler/schemaSourceLexical.d.ts.map +0 -1
- package/dist/compiler/schemaSourceValues.d.ts.map +0 -1
- package/dist/compiler/schemaSourceWildcards.d.ts.map +0 -1
- package/dist/compiler/schemaSymbolicSequences.d.ts.map +0 -1
- package/dist/compiler/schemaSymbolicValueSets.d.ts.map +0 -1
- package/dist/compiler/schemaSyntaxAssessment.d.ts.map +0 -1
- package/dist/compiler/schemaTemporalAliases.d.ts.map +0 -1
- package/dist/compiler/schemaTokenImages.d.ts.map +0 -1
- package/dist/compiler/schemaTypeIdentity.d.ts.map +0 -1
- package/dist/compiler/schemaTypeRelations.d.ts.map +0 -1
- package/dist/compiler/schemaUri.d.ts.map +0 -1
- package/dist/compiler/schemaValueContext.d.ts.map +0 -1
- package/dist/compiler/schemaValueImages.d.ts.map +0 -1
- package/dist/compiler/schemaValueSequences.d.ts.map +0 -1
- package/dist/compiler/semanticBudget.d.ts.map +0 -1
- package/dist/compiler/semanticCatalog.d.ts.map +0 -1
- package/dist/compiler/semanticContext.d.ts.map +0 -1
- package/dist/compiler/semanticTypeDependencies.d.ts.map +0 -1
- package/dist/compiler/semanticTypeReference.d.ts.map +0 -1
- package/dist/compiler/shapeResolver.d.ts.map +0 -1
- package/dist/compiler/sourceSchemaBinding.d.ts.map +0 -1
- package/dist/compiler/structuralCompanions.d.ts.map +0 -1
- package/dist/compiler/validateSemanticGraph.d.ts.map +0 -1
- package/dist/compiler/wildcardAlgebra.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/orderedSyntax.d.ts.map +0 -1
- package/dist/loader/resolutionDepth.d.ts.map +0 -1
- package/dist/loader/schemaInput.d.ts.map +0 -1
- package/dist/loader/schemaResources.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/util/xmlWhitespace.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 -69
- package/docs/architecture.md +0 -158
- package/docs/content-model-analysis.md +0 -92
- package/docs/content-model-baseline.md +0 -121
- package/docs/content-model-catalog.md +0 -116
- package/docs/content-model-companions.md +0 -90
- package/docs/content-model-composition.md +0 -103
- package/docs/content-model-decisions.md +0 -79
- package/docs/content-model-gateway-feasibility.md +0 -169
- package/docs/content-model-graph.md +0 -121
- package/docs/content-model-loading.md +0 -163
- package/docs/content-model-matching.md +0 -85
- package/docs/content-model-readiness.md +0 -144
- package/docs/content-model-resolution.md +0 -81
- package/docs/content-model-s02-handoff.md +0 -98
- package/docs/content-model-s06-au-01.md +0 -425
- package/docs/content-model-s06-dt-01.md +0 -386
- package/docs/content-model-s06-pw-01.md +0 -350
- package/docs/content-model-s06-re-01-resolver-implementation.md +0 -869
- package/docs/content-model-s06-re-01-resolver.md +0 -513
- package/docs/content-model-s06-re-01-scalar-witnesses.md +0 -1423
- package/docs/content-model-s06-re-01-support-reconstruction.md +0 -6337
- package/docs/content-model-s06-re-01.md +0 -7477
- package/docs/content-model-s06-research-handoff.md +0 -909
- package/docs/content-model-shipped-fix.md +0 -83
- package/docs/content-model-soap-feasibility.md +0 -165
- package/docs/decisions/001-test-generation.md +0 -36
- package/docs/decisions/002-streamable-responses.md +0 -332
- package/docs/decisions/003-content-model-contracts.md +0 -280
- package/docs/file-naming-and-path-organization.md +0 -213
- package/docs/reference-validation.md +0 -243
- 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/releases/v1.1.5.md +0 -38
- 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
|
@@ -3,6 +3,8 @@ import { deepFreeze, DEFAULT_GRAPH_NODES, globalId, isBuiltinType } from "./cano
|
|
|
3
3
|
import { positiveLimit } from "./catalogErrors.js";
|
|
4
4
|
import { referenceSlots, containedNodes } from "./graphTraversal.js";
|
|
5
5
|
import { syntaxAttribute, XSD_NAMESPACE } from "../loader/orderedSyntax.js";
|
|
6
|
+
import { normalizeWhitespace } from '../util/xmlWhitespace.js';
|
|
7
|
+
import { standardSchemaElement, inspectStandardSchemaElement } from './standardSchemaComponents.js';
|
|
6
8
|
export class SemanticError extends Error {
|
|
7
9
|
category;
|
|
8
10
|
component;
|
|
@@ -17,6 +19,12 @@ export class SemanticError extends Error {
|
|
|
17
19
|
this.name = "SemanticError";
|
|
18
20
|
}
|
|
19
21
|
}
|
|
22
|
+
/** Internal missing-symbol detail; source resolution must distinguish absent import resources from disproved declarations. */
|
|
23
|
+
class MissingReferenceError extends SemanticError {
|
|
24
|
+
constructor(reference, owner, id) {
|
|
25
|
+
super('invalid-schema', `Missing reference target ${id}`, owner.id, reference.kind === 'symbol' ? reference.lexical.context.source : owner.context.source);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
20
28
|
export function semanticBudget(limits = {}) {
|
|
21
29
|
const maxNodes = positiveLimit(limits.maxNodes, DEFAULT_GRAPH_NODES, "maxNodes");
|
|
22
30
|
const maxSteps = positiveLimit(limits.maxSteps, 1_000_000, "maxSteps");
|
|
@@ -47,8 +55,13 @@ export function countSemanticData(value, budget, node) {
|
|
|
47
55
|
}
|
|
48
56
|
}
|
|
49
57
|
}
|
|
58
|
+
const resolvedStandards = new WeakMap();
|
|
59
|
+
/** Native acquired dependencies only; copied graph reports cannot recreate this association. */
|
|
60
|
+
export function standardSchemaLibrariesForResolved(resolved) {
|
|
61
|
+
return resolvedStandards.get(resolved);
|
|
62
|
+
}
|
|
50
63
|
/** Resolve against a node index, never against generated names or an asserted stored target. */
|
|
51
|
-
export function referenceTarget(reference, nodes, owner) {
|
|
64
|
+
export function referenceTarget(reference, nodes, owner, standards) {
|
|
52
65
|
if (reference.kind === "builtin") {
|
|
53
66
|
if (reference.name.namespace !== XSD_NAMESPACE || !isBuiltinType(reference.name.local))
|
|
54
67
|
throw new SemanticError("invalid-schema", "Unknown builtin type", owner.id, owner.context.source);
|
|
@@ -56,8 +69,16 @@ export function referenceTarget(reference, nodes, owner) {
|
|
|
56
69
|
}
|
|
57
70
|
const id = reference.kind === "symbol" ? globalId(reference.role, reference.name) : reference.target;
|
|
58
71
|
const target = nodes.get(id);
|
|
59
|
-
if (!target)
|
|
60
|
-
|
|
72
|
+
if (!target) {
|
|
73
|
+
const supplied = standards?.get(id);
|
|
74
|
+
if (!supplied)
|
|
75
|
+
throw new MissingReferenceError(reference, owner, id);
|
|
76
|
+
inspectStandardSchemaElement(supplied);
|
|
77
|
+
if (reference.kind !== 'symbol' || reference.role !== 'element' || supplied.id !== id
|
|
78
|
+
|| reference.target !== undefined && reference.target !== id)
|
|
79
|
+
throw new SemanticError('invalid-schema', 'Standard declaration reference role/identity mismatch', owner.id, owner.context.source);
|
|
80
|
+
return id;
|
|
81
|
+
}
|
|
61
82
|
if (reference.kind === "symbol" && (target.identity.kind !== "global" || target.identity.role !== reference.role || (reference.target !== undefined && reference.target !== id))) {
|
|
62
83
|
throw new SemanticError("invalid-schema", `Reference role/identity mismatch ${id}`, owner.id, reference.lexical.context.source);
|
|
63
84
|
}
|
|
@@ -78,9 +99,23 @@ export function resolveCanonicalGraph(graph, limits = {}) {
|
|
|
78
99
|
const nodes = new Map(graph.nodes.map(n => [n.id, n]));
|
|
79
100
|
if (nodes.size !== graph.nodes.length)
|
|
80
101
|
throw new SemanticError("invalid-schema", "Duplicate graph identities");
|
|
102
|
+
const standards = new Map(), selectedLibraries = [];
|
|
103
|
+
for (const library of limits.standardLibraries ?? []) {
|
|
104
|
+
budget.step();
|
|
105
|
+
const declaration = standardSchemaElement(library, { namespace: XSD_NAMESPACE, local: 'schema' });
|
|
106
|
+
if (!declaration)
|
|
107
|
+
throw new SemanticError('unsupported-capability', 'Standard library supplies no implemented schema element');
|
|
108
|
+
if (standards.has(declaration.id))
|
|
109
|
+
throw new SemanticError('unsupported-capability', 'Duplicate standard library selection');
|
|
110
|
+
if (nodes.has(declaration.id))
|
|
111
|
+
throw new SemanticError('unsupported-capability', 'Acquired standard declaration conflicts with explicit schema source; select one source authority');
|
|
112
|
+
standards.set(declaration.id, declaration);
|
|
113
|
+
selectedLibraries.push(library);
|
|
114
|
+
}
|
|
81
115
|
// Imports authorize foreign namespaces in the declaring interpretation only.
|
|
82
116
|
// Including/importing documents do not lend their import permissions to a reference.
|
|
83
117
|
const imports = new Map(), unknownImports = new Set();
|
|
118
|
+
const unlocatedImports = new Map();
|
|
84
119
|
const sourceKey = (source) => JSON.stringify([source.uri, source.digest, source.path]);
|
|
85
120
|
const importSyntax = new Map(graph.schemaRetained.filter(r => r.syntax.name.namespace === XSD_NAMESPACE && r.syntax.name.local === "import")
|
|
86
121
|
.map(r => [sourceKey(r.syntax.source), r.syntax]));
|
|
@@ -89,7 +124,7 @@ export function resolveCanonicalGraph(graph, limits = {}) {
|
|
|
89
124
|
if (edge.kind !== "import")
|
|
90
125
|
continue;
|
|
91
126
|
const syntax = importSyntax.get(sourceKey(edge.source));
|
|
92
|
-
const ns = syntax ? syntaxAttribute(syntax, "namespace") ?? "" : edge.to ? interpretation(edge.to).namespace : undefined;
|
|
127
|
+
const ns = syntax ? normalizeWhitespace(syntaxAttribute(syntax, "namespace") ?? "", 'collapse') : edge.to ? interpretation(edge.to).namespace : undefined;
|
|
93
128
|
if (ns === undefined) {
|
|
94
129
|
unknownImports.add(edge.from);
|
|
95
130
|
continue;
|
|
@@ -99,13 +134,42 @@ export function resolveCanonicalGraph(graph, limits = {}) {
|
|
|
99
134
|
const values = imports.get(edge.from) ?? new Set();
|
|
100
135
|
values.add(ns);
|
|
101
136
|
imports.set(edge.from, values);
|
|
137
|
+
if (!edge.to && syntax && syntaxAttribute(syntax, 'schemaLocation') === undefined) {
|
|
138
|
+
const pending = unlocatedImports.get(edge.from) ?? new Set();
|
|
139
|
+
pending.add(ns);
|
|
140
|
+
unlocatedImports.set(edge.from, pending);
|
|
141
|
+
}
|
|
102
142
|
}
|
|
103
143
|
const links = [];
|
|
144
|
+
let unresolvedImport;
|
|
104
145
|
for (const node of graph.nodes) {
|
|
105
146
|
budget.step(node);
|
|
106
147
|
for (const slot of referenceSlots(node)) {
|
|
107
148
|
budget.step(node);
|
|
108
|
-
const ref = slot.reference
|
|
149
|
+
const ref = slot.reference;
|
|
150
|
+
let target;
|
|
151
|
+
let unavailable;
|
|
152
|
+
try {
|
|
153
|
+
target = referenceTarget(ref, nodes, node, standards);
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
if (error instanceof MissingReferenceError && ref.kind === 'symbol' && node.kind !== 'wsdl') {
|
|
157
|
+
for (const origin of graph.origins[node.id] ?? []) {
|
|
158
|
+
budget.step(node);
|
|
159
|
+
if (ref.name.namespace !== origin.context.effectiveNamespace && unlocatedImports.get(origin.interpretation)?.has(ref.name.namespace)) {
|
|
160
|
+
unavailable = new SemanticError('unsupported-capability', `Missing declaration in namespace ${ref.name.namespace}; supply the locationless import dependency explicitly`, node.id, ref.lexical.context.source);
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (!unavailable)
|
|
166
|
+
throw error;
|
|
167
|
+
}
|
|
168
|
+
// @why P1-D01: missing dependency evidence must not mask independent actual reference failures.
|
|
169
|
+
if (unavailable) {
|
|
170
|
+
unresolvedImport ??= unavailable;
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
109
173
|
if (ref.kind === "symbol" && node.kind !== "wsdl") {
|
|
110
174
|
for (const origin of graph.origins[node.id] ?? []) {
|
|
111
175
|
budget.step(node);
|
|
@@ -121,6 +185,8 @@ export function resolveCanonicalGraph(graph, limits = {}) {
|
|
|
121
185
|
links.push({ owner: node.id, path: slot.path, reference: ref, ...(target ? { target } : {}) });
|
|
122
186
|
}
|
|
123
187
|
}
|
|
188
|
+
if (unresolvedImport)
|
|
189
|
+
throw unresolvedImport;
|
|
124
190
|
// Only expansion/base edges enter this DAG. Element -> type and particle -> element
|
|
125
191
|
// are deliberately excluded: crossing an element admits complete recursive values.
|
|
126
192
|
const forbidden = (n) => {
|
|
@@ -130,7 +196,9 @@ export function resolveCanonicalGraph(graph, limits = {}) {
|
|
|
130
196
|
const expansion = n.kind === "simpleType" || n.kind === "complexType" || n.kind === "attributeGroupUse" ||
|
|
131
197
|
(n.kind === "particle" && n.term.kind === "group") || (n.kind === "element" && slot.path === "substitutionGroup");
|
|
132
198
|
if (expansion) {
|
|
133
|
-
const target = referenceTarget(slot.reference, nodes, n);
|
|
199
|
+
const target = referenceTarget(slot.reference, nodes, n, standards);
|
|
200
|
+
if (target && standards.has(target))
|
|
201
|
+
throw new SemanticError('unsupported-capability', 'Substitution affiliation to an acquired standard element is not implemented', n.id, n.context.source);
|
|
134
202
|
if (target)
|
|
135
203
|
result.push(target);
|
|
136
204
|
}
|
|
@@ -166,5 +234,7 @@ export function resolveCanonicalGraph(graph, limits = {}) {
|
|
|
166
234
|
}
|
|
167
235
|
}
|
|
168
236
|
const result = { graph, links, metrics: { steps: budget.steps } };
|
|
169
|
-
|
|
237
|
+
const frozen = limits.requestBudget ? limits.requestBudget.freeze(result) : deepFreeze(result);
|
|
238
|
+
resolvedStandards.set(frozen, Object.freeze(selectedLibraries));
|
|
239
|
+
return frozen;
|
|
170
240
|
}
|
|
@@ -14,4 +14,3 @@ export type RawAttributeGroupProperties = Readonly<{
|
|
|
14
14
|
}>;
|
|
15
15
|
/** Data shape only; effective mapping and semantic validity require their owners. */
|
|
16
16
|
export declare function validateRawAttributeGroupShape(value: unknown, budget: SemanticBudget): asserts value is RawAttributeGroupProperties;
|
|
17
|
-
//# sourceMappingURL=schemaAttributeGroupProperties.d.ts.map
|
|
@@ -62,7 +62,7 @@ export type AttributeFailure = Readonly<{
|
|
|
62
62
|
export type AttributeResult = Readonly<{
|
|
63
63
|
kind: 'checked';
|
|
64
64
|
contextId: string;
|
|
65
|
-
authority: 'AU01-C1-source-v1' | 'AU01-C1-raw-v2' | 'AU01-C1-original-construction-v1' | 'AU01-C1-raw-properties-v1' | 'AU01-C1-original-properties-v1';
|
|
65
|
+
authority: 'AU01-C1-source-v1' | 'AU01-C1-raw-v2' | 'AU01-C1-original-construction-v1' | 'AU01-C1-raw-properties-v1' | 'AU01-C1-original-properties-v1' | 'AU01-C1-restriction-pair-v1';
|
|
66
66
|
value: SourceAttributePlan;
|
|
67
67
|
obligations: readonly string[];
|
|
68
68
|
scalarObligations: readonly ScalarObligation[];
|
|
@@ -87,4 +87,24 @@ export declare function readRawAttributeProperties(context: SemanticContext, own
|
|
|
87
87
|
* qualification, supplied by the whole actual assessment, never an H aggregate receipt.
|
|
88
88
|
*/
|
|
89
89
|
export declare function readOriginalAttributeProperties(context: SemanticContext, ownerId: NodeId): AttributeResult;
|
|
90
|
-
|
|
90
|
+
export type AttributeRestrictionPair = Readonly<{
|
|
91
|
+
kind: 'checked-attribute-restriction';
|
|
92
|
+
derived: NodeId;
|
|
93
|
+
base: NodeId;
|
|
94
|
+
assessment: Extract<AttributeResult, {
|
|
95
|
+
kind: 'checked';
|
|
96
|
+
}>;
|
|
97
|
+
remaining: readonly ['source-and-base-construction', 'alternative-content-derivation'];
|
|
98
|
+
}>;
|
|
99
|
+
export type AttributeRestrictionPairResult = AttributeRestrictionPair | ResourceLimitFailure | Readonly<{
|
|
100
|
+
kind: 'not-attribute-restriction';
|
|
101
|
+
failure: AttributeFailure;
|
|
102
|
+
}>;
|
|
103
|
+
/** Authenticate a paired AU predicate, not the containing type's actual derivation. */
|
|
104
|
+
export declare function assertAttributeRestrictionPair(context: SemanticContext, receipt: AttributeRestrictionPair): void;
|
|
105
|
+
/** Check the existing AU restriction rules against an explicit alternative complex base without changing bindings.
|
|
106
|
+
* @remarks Only the root predicate's base/method arguments differ; TYPE/SCOPE lookups and every original node remain intact.
|
|
107
|
+
* Failed alternative relations never classify the original schema invalid. Construction and content remain separate duties.
|
|
108
|
+
* @returns An authenticated paired AU predicate, a non-restriction diagnostic or sticky resource failure.
|
|
109
|
+
*/
|
|
110
|
+
export declare function assessAttributeRestrictionPair(context: SemanticContext, derived: NodeId, base: NodeId): AttributeRestrictionPairResult;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { XSD_NAMESPACE } from '../loader/orderedSyntax.js';
|
|
2
2
|
import { assertSemanticContext } from './semanticContext.js';
|
|
3
3
|
import { createSchemaScalarKernel } from './schemaScalarKernel.js';
|
|
4
|
-
import { checkTypeDerivation, checkImmediateTypeFinal } from './schemaTypeRelations.js';
|
|
5
|
-
import { checkDeclaration } from './schemaDeclarationPrimitives.js';
|
|
4
|
+
import { checkTypeDerivation, checkImmediateTypeFinal, declarationMethods } from './schemaTypeRelations.js';
|
|
5
|
+
import { checkDeclaration, declarationValueConstraint } from './schemaDeclarationPrimitives.js';
|
|
6
6
|
import { namespaceAllows, namespaceExpressible, namespaceIntersection, namespaceSubset, namespaceUnion, processContentsRestricts, wildcardNamespaces } from './wildcardAlgebra.js';
|
|
7
7
|
import { declaredType, resolveSemanticType, semanticTypeKey } from './schemaTypeIdentity.js';
|
|
8
8
|
import { collectSemanticTypeDependencies } from './semanticTypeDependencies.js';
|
|
9
|
-
import { deriveOriginalComplexPropertyContent } from './complexTypeContent.js';
|
|
9
|
+
import { deriveOriginalComplexPropertyContent, deriveActualComplexContent } from './complexTypeContent.js';
|
|
10
10
|
// Only immutable, completely evaluated local facts are retained. Context identity
|
|
11
11
|
// captures active membership, raw properties and original/active operand roles;
|
|
12
12
|
// shared source nodes never authorize transfer to another authentic context.
|
|
@@ -56,6 +56,45 @@ export function readRawAttributeProperties(context, ownerId) {
|
|
|
56
56
|
export function readOriginalAttributeProperties(context, ownerId) {
|
|
57
57
|
return rawResult(context, assessAttributeUses(context, ownerId, 'raw', 'original-properties'));
|
|
58
58
|
}
|
|
59
|
+
const restrictionPairs = new WeakMap();
|
|
60
|
+
/** Authenticate a paired AU predicate, not the containing type's actual derivation. */
|
|
61
|
+
export function assertAttributeRestrictionPair(context, receipt) {
|
|
62
|
+
assertSemanticContext(context);
|
|
63
|
+
if (restrictionPairs.get(receipt) !== context)
|
|
64
|
+
throw new TypeError('Fresh matching attribute restriction pair required');
|
|
65
|
+
}
|
|
66
|
+
/** Check the existing AU restriction rules against an explicit alternative complex base without changing bindings.
|
|
67
|
+
* @remarks Only the root predicate's base/method arguments differ; TYPE/SCOPE lookups and every original node remain intact.
|
|
68
|
+
* Failed alternative relations never classify the original schema invalid. Construction and content remain separate duties.
|
|
69
|
+
* @returns An authenticated paired AU predicate, a non-restriction diagnostic or sticky resource failure.
|
|
70
|
+
*/
|
|
71
|
+
export function assessAttributeRestrictionPair(context, derived, base) {
|
|
72
|
+
assertSemanticContext(context);
|
|
73
|
+
return context.budget.guard(() => {
|
|
74
|
+
context.budget.chargeWork(64 + derived.length + base.length);
|
|
75
|
+
const baseNode = context.lookup(base), derivedNode = context.lookup(derived);
|
|
76
|
+
if (baseNode.kind !== 'found' || baseNode.node.kind !== 'complexType' || derivedNode.kind !== 'found' || derivedNode.node.kind !== 'complexType')
|
|
77
|
+
return Object.freeze({ kind: 'not-attribute-restriction', failure: Object.freeze({ kind: 'unresolved', rule: 'attribute-restriction-types',
|
|
78
|
+
component: derived, message: 'Available complex types are required for both relation arguments' }) });
|
|
79
|
+
// @why The base is evaluated under its actual derivation before applying root-only relation arguments.
|
|
80
|
+
// Reusing the proposed root's arguments while reading the base chain would shadow that component indirectly.
|
|
81
|
+
const baseAssessment = context.kind === 'actual' ? assessSourceAttributeUses(context, base) : assessCandidateAttributeUses(context, base);
|
|
82
|
+
if (baseAssessment.kind === 'resource-limit')
|
|
83
|
+
return baseAssessment;
|
|
84
|
+
if (baseAssessment.kind !== 'checked')
|
|
85
|
+
return Object.freeze({ kind: 'not-attribute-restriction', failure: baseAssessment });
|
|
86
|
+
const result = assessAttributeUses(context, derived, 'raw', 'restriction-pair', base, baseAssessment);
|
|
87
|
+
if (result.kind === 'resource-limit')
|
|
88
|
+
return result;
|
|
89
|
+
if (result.kind !== 'checked')
|
|
90
|
+
return Object.freeze({ kind: 'not-attribute-restriction', failure: result });
|
|
91
|
+
context.budget.chargeWork(64);
|
|
92
|
+
const receipt = Object.freeze({ kind: 'checked-attribute-restriction', derived, base, assessment: result,
|
|
93
|
+
remaining: Object.freeze(['source-and-base-construction', 'alternative-content-derivation']) });
|
|
94
|
+
restrictionPairs.set(receipt, context);
|
|
95
|
+
return receipt;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
59
98
|
function rawResult(context, result) {
|
|
60
99
|
return result.kind === 'invalid-schema' ? context.budget.guard(() => {
|
|
61
100
|
if (result.contextId !== undefined && result.contextId === context.originalContext().contextId)
|
|
@@ -64,7 +103,7 @@ function rawResult(context, result) {
|
|
|
64
103
|
return Object.freeze({ ...result, kind: 'candidate-rejected' });
|
|
65
104
|
}) : result;
|
|
66
105
|
}
|
|
67
|
-
function assessAttributeUses(context, ownerId, role, mode = 'container') {
|
|
106
|
+
function assessAttributeUses(context, ownerId, role, mode = 'container', restrictionBase, restrictionBasePlan) {
|
|
68
107
|
assertSemanticContext(context);
|
|
69
108
|
const budget = context.budget, charge = budget.chargeWork;
|
|
70
109
|
return budget.guard(() => {
|
|
@@ -170,7 +209,7 @@ function assessAttributeUses(context, ownerId, role, mode = 'container') {
|
|
|
170
209
|
const dependencies = collectSemanticTypeDependencies(context);
|
|
171
210
|
dependencies.add(checked.typeDependencies);
|
|
172
211
|
unwrap(scalar.describe(declaredType(context, node), node.id), node, obligations, dependencies);
|
|
173
|
-
const value = typed(node, node
|
|
212
|
+
const value = typed(node, declarationValueConstraint(context, node), node, 'declaration', obligations, dependencies);
|
|
174
213
|
charge(10 + obligations.length + node.id.length);
|
|
175
214
|
const fact = Object.freeze({ receipt: checked, value, scalarObligations: Object.freeze(obligations), typeDependencies: dependencies.snapshot() });
|
|
176
215
|
cached.declarations.set(node.id, fact);
|
|
@@ -415,9 +454,19 @@ function assessAttributeUses(context, ownerId, role, mode = 'container') {
|
|
|
415
454
|
let originalInput = false;
|
|
416
455
|
const input = (node) => {
|
|
417
456
|
const raw = context.rawTypeProperties(node.id);
|
|
418
|
-
if (raw
|
|
419
|
-
|
|
420
|
-
|
|
457
|
+
if (raw) {
|
|
458
|
+
if (mode !== 'restriction-pair' || node.id !== ownerId)
|
|
459
|
+
return raw;
|
|
460
|
+
charge(16);
|
|
461
|
+
return { attributeUses: raw.attributeUses, wildcard: raw.wildcard,
|
|
462
|
+
derivation: { method: 'restriction', base: { kind: 'local', target: restrictionBase } } };
|
|
463
|
+
}
|
|
464
|
+
if (mode !== 'original-container' && mode !== 'restriction-pair')
|
|
465
|
+
return undefined;
|
|
466
|
+
const actualInput = mode === 'restriction-pair' && context.kind === 'actual' && context.originalComplexContentSource(node.id) !== undefined;
|
|
467
|
+
if (!actualInput && !context.originalComplexPropertySource(node.id))
|
|
468
|
+
return undefined;
|
|
469
|
+
const content = actualInput ? deriveActualComplexContent(context, node.id) : deriveOriginalComplexPropertyContent(context, node.id);
|
|
421
470
|
if (content.kind === 'resource-limit')
|
|
422
471
|
throw new AttributeAbort(content);
|
|
423
472
|
if (content.kind !== 'checked')
|
|
@@ -433,10 +482,27 @@ function assessAttributeUses(context, ownerId, role, mode = 'container') {
|
|
|
433
482
|
scalarObligations.push(Object.freeze({ ...item, contextId: item.contextId ?? actual.contextId }));
|
|
434
483
|
}
|
|
435
484
|
charge(5 + source.value.uses.length);
|
|
436
|
-
return { derivation:
|
|
437
|
-
|
|
485
|
+
return { derivation: mode === 'restriction-pair' && node.id === ownerId
|
|
486
|
+
? { method: 'restriction', base: { kind: 'local', target: restrictionBase } }
|
|
487
|
+
: { method: node.derivation?.kind ?? 'restriction', base: node.derivation?.base
|
|
488
|
+
?? { kind: 'builtin', name: { namespace: XSD_NAMESPACE, local: 'anyType' } } },
|
|
438
489
|
attributeUses: source.value.uses.map(use => use.id), wildcard: source.value.wildcard };
|
|
439
490
|
};
|
|
491
|
+
if (mode === 'restriction-pair') {
|
|
492
|
+
if (!restrictionBasePlan || restrictionBasePlan.contextId !== context.contextId || restrictionBasePlan.value.owner !== restrictionBase)
|
|
493
|
+
return problem(root, 'attribute-restriction-base-plan', 'The alternative base needs its own checked attribute plan', 'unresolved');
|
|
494
|
+
charge(8 + restrictionBasePlan.scalarObligations.length + restrictionBasePlan.value.declarations.length);
|
|
495
|
+
typeDependencies.add(restrictionBasePlan.typeDependencies);
|
|
496
|
+
for (const obligation of restrictionBasePlan.scalarObligations) {
|
|
497
|
+
charge();
|
|
498
|
+
scalarObligations.push(obligation);
|
|
499
|
+
}
|
|
500
|
+
for (const receipt of restrictionBasePlan.value.declarations) {
|
|
501
|
+
charge(2 + receipt.component.length);
|
|
502
|
+
declarationEvidence.set(receipt.component, receipt);
|
|
503
|
+
}
|
|
504
|
+
plans.set(restrictionBase, restrictionBasePlan.value);
|
|
505
|
+
}
|
|
440
506
|
charge(3);
|
|
441
507
|
const stack = [root], active = new Set();
|
|
442
508
|
while (stack.length) {
|
|
@@ -475,14 +541,20 @@ function assessAttributeUses(context, ownerId, role, mode = 'container') {
|
|
|
475
541
|
local.push(mapped);
|
|
476
542
|
}
|
|
477
543
|
const uses = checkUses(local, node), wildcard = raw.wildcard;
|
|
478
|
-
if (mode === 'original-container' && wildcard)
|
|
544
|
+
if ((mode === 'original-container' || mode === 'restriction-pair') && wildcard)
|
|
479
545
|
for (const id of wildcard.sources) {
|
|
480
546
|
charge();
|
|
481
547
|
get(id);
|
|
482
548
|
}
|
|
483
549
|
if (wildcard && (!['strict', 'lax', 'skip'].includes(wildcard.processContents) || !namespaceExpressible(wildcard.namespace, charge)))
|
|
484
550
|
return problem(node, 'cos-aw-union/intersect', 'Literal wildcard has invalid component properties');
|
|
485
|
-
if (
|
|
551
|
+
if (mode === 'restriction-pair' && node.id === ownerId) {
|
|
552
|
+
if (!baseNode || baseNode.kind !== 'complexType')
|
|
553
|
+
return problem(node, 'attribute-restriction-base', 'Alternative base must be complex', 'unresolved');
|
|
554
|
+
if (declarationMethods(context, baseNode, 'final').includes('restriction'))
|
|
555
|
+
return problem(node, 'derivation-ok-restriction.1', 'Alternative base prohibits restriction');
|
|
556
|
+
}
|
|
557
|
+
else if (!unwrap(checkImmediateTypeFinal(context, { kind: 'local', target: node.id }), node))
|
|
486
558
|
return problem(node, 'cos-ct-extends/derivation-ok-restriction', 'Base final excludes derivation');
|
|
487
559
|
if (raw.derivation.method === 'extension') {
|
|
488
560
|
for (const original of base?.uses ?? []) {
|
|
@@ -574,7 +646,8 @@ function assessAttributeUses(context, ownerId, role, mode = 'container') {
|
|
|
574
646
|
}
|
|
575
647
|
charge(10 + scalarObligations.length);
|
|
576
648
|
return Object.freeze({ kind: 'checked', contextId: context.contextId,
|
|
577
|
-
authority:
|
|
649
|
+
authority: mode === 'restriction-pair' ? 'AU01-C1-restriction-pair-v1'
|
|
650
|
+
: originalInput ? 'AU01-C1-original-construction-v1' : 'AU01-C1-raw-v2',
|
|
578
651
|
value: plans.get(root.id), obligations: Object.freeze(['aggregate-type-validity', 'raw-type-property-correspondence']), scalarObligations: Object.freeze(scalarObligations), typeDependencies: typeDependencies.snapshot() });
|
|
579
652
|
}
|
|
580
653
|
const dependencies = (node) => {
|
|
@@ -11,4 +11,3 @@ export type IntrinsicFacetProperties = Readonly<{
|
|
|
11
11
|
}>;
|
|
12
12
|
export declare const LIST_CONSTRUCTOR_FACETS: IntrinsicFacetProperties;
|
|
13
13
|
export declare function schemaBuiltinFacetProperties<Owner>(name: string, owner: Owner, c: Pick<SchemaValueContext<Owner>, 'step' | 'text'>): IntrinsicFacetProperties;
|
|
14
|
-
//# sourceMappingURL=schemaBuiltinFacets.d.ts.map
|
|
@@ -5,4 +5,3 @@ import type { SchemaPatternContext } from './schemaValueContext.js';
|
|
|
5
5
|
export declare function schemaCalendarImages<Owner>(c: SchemaPatternContext<Owner>, regular: ReturnType<typeof schemaRegularLanguages<Owner>>, expression: (text: string, owner: Owner) => RegularLanguage): {
|
|
6
6
|
image: (source: RegularLanguage, family: CalendarFamily, owner: Owner) => RegularLanguage;
|
|
7
7
|
};
|
|
8
|
-
//# sourceMappingURL=schemaCalendarImages.d.ts.map
|
|
@@ -232,4 +232,3 @@ export type CompiledCatalog = {
|
|
|
232
232
|
* portType reference, then enumerate operations and their soapAction URIs.
|
|
233
233
|
*/
|
|
234
234
|
export declare function compileCatalog(cat: WsdlCatalog, options: CompilerOptions, streamConfig?: StreamConfig): CompiledCatalog;
|
|
235
|
-
//# sourceMappingURL=schemaCompiler.d.ts.map
|
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
import type { NodeId } from './canonicalGraph.js';
|
|
3
3
|
import type { SemanticContext } from './semanticContext.js';
|
|
4
4
|
import type { ResourceLimitFailure } from './semanticBudget.js';
|
|
5
|
+
import type { AttributeRestrictionPair } from './schemaAttributeUses.js';
|
|
6
|
+
import type { ScalarResult } from './schemaScalarKernel.js';
|
|
7
|
+
import type { ScalarObligation } from './scalarSchemaAssessment.js';
|
|
5
8
|
import type { CorrespondenceReceipt } from './re01CandidateCorrespondence.js';
|
|
6
9
|
import type { SemanticTypeDependency, SemanticTypeReference } from './semanticTypeReference.js';
|
|
7
10
|
import type { IdentityConstraintDependency } from './schemaIdentityConstraints.js';
|
|
11
|
+
import type { StandardElementConstruction } from './standardSchemaConstruction.js';
|
|
8
12
|
export type ConstructionObligation = Readonly<{
|
|
9
13
|
rule: string;
|
|
10
14
|
component: NodeId;
|
|
@@ -19,6 +23,7 @@ export type ComponentConstructionReceipt = Readonly<{
|
|
|
19
23
|
receipts: readonly object[];
|
|
20
24
|
dependencies: readonly NodeId[];
|
|
21
25
|
builtinDependencies: readonly string[];
|
|
26
|
+
standardDependencies: readonly StandardElementConstruction[];
|
|
22
27
|
typeDependencies: readonly SemanticTypeDependency[];
|
|
23
28
|
identityConstraintDependencies: readonly IdentityConstraintDependency[];
|
|
24
29
|
re01?: Readonly<{
|
|
@@ -43,4 +48,32 @@ export declare function assertComponentConstruction(context: SemanticContext, re
|
|
|
43
48
|
export declare function checkComponentConstruction(context: SemanticContext, id: NodeId, options?: Readonly<{
|
|
44
49
|
correspondence?: CorrespondenceReceipt;
|
|
45
50
|
}>): ComponentConstructionResult;
|
|
46
|
-
|
|
51
|
+
export type SimpleRestrictionPredicate = Readonly<{
|
|
52
|
+
kind: 'checked-simple-restriction-predicate';
|
|
53
|
+
contextId: string;
|
|
54
|
+
target: NodeId;
|
|
55
|
+
base: NodeId;
|
|
56
|
+
attributes: AttributeRestrictionPair;
|
|
57
|
+
scalar: Extract<ScalarResult<boolean>, {
|
|
58
|
+
kind: 'checked';
|
|
59
|
+
}>;
|
|
60
|
+
typeDependencies: readonly SemanticTypeDependency[];
|
|
61
|
+
scalarObligations: readonly ScalarObligation[];
|
|
62
|
+
remaining: readonly ['source-and-base-construction', 'alternative-derivation-interpretation'];
|
|
63
|
+
}>;
|
|
64
|
+
export type SimpleRestrictionPredicateResult = SimpleRestrictionPredicate | ResourceLimitFailure | Readonly<{
|
|
65
|
+
kind: 'not-simple-restriction';
|
|
66
|
+
rule: string;
|
|
67
|
+
component: NodeId;
|
|
68
|
+
contextId: string;
|
|
69
|
+
details?: object;
|
|
70
|
+
}>;
|
|
71
|
+
/** Authenticate the paired predicate; it never replaces the target's actual derivation. */
|
|
72
|
+
export declare function assertSimpleRestrictionPredicate(context: SemanticContext, receipt: SimpleRestrictionPredicate): void;
|
|
73
|
+
/** Evaluate simple-content restriction constraints for the actual target properties and an explicit alternative base.
|
|
74
|
+
* @remarks Reuses the AU derivation owner and scalar content-derivation kernel. No target node, raw property,
|
|
75
|
+
* TYPE/SCOPE lookup or stored base edge is replaced. Whole construction and the in-principle derivation interpretation
|
|
76
|
+
* remain separate duties; failure of an alternative never declares the source schema invalid.
|
|
77
|
+
* @returns An authenticated native predicate, an explicit predicate/unavailability diagnostic, or sticky resource failure.
|
|
78
|
+
*/
|
|
79
|
+
export declare function checkSimpleRestrictionPredicate(context: SemanticContext, target: NodeId, base: NodeId): SimpleRestrictionPredicateResult;
|