@techspokes/typescript-wsdl-client 1.1.5 → 1.2.0
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 +80 -68
- 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 +268 -0
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +92 -2
- 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 +98 -28
- 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/generateOperations.js +30 -11
- package/dist/client/generateTypes.d.ts +0 -1
- package/dist/client/generateUtils.d.ts +0 -1
- package/dist/client/generateUtils.js +7 -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 +4 -16
- package/dist/compiler/canonicalGraph.js +1 -8
- 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 +112 -0
- package/dist/compiler/componentRecordProjection.js +329 -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/declarationIdentity.d.ts +22 -0
- package/dist/compiler/declarationIdentity.js +9 -0
- package/dist/compiler/directCodec.d.ts +79 -2
- package/dist/compiler/directCodec.js +310 -92
- package/dist/compiler/directExecutionPolicy.d.ts +0 -1
- package/dist/compiler/directOperation.d.ts +72 -8
- package/dist/compiler/directOperation.js +164 -19
- package/dist/compiler/directSoap.d.ts +29 -5
- package/dist/compiler/directSoap.js +154 -44
- 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 +484 -6
- package/dist/compiler/directStructure.d.ts +83 -6
- package/dist/compiler/directStructure.js +353 -58
- package/dist/compiler/directStructurePlan.d.ts +144 -2
- package/dist/compiler/directStructurePlan.js +615 -30
- package/dist/compiler/directValues.d.ts +76 -5
- package/dist/compiler/directValues.js +967 -117
- 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/legacyDeclarations.d.ts +26 -0
- package/dist/compiler/legacyDeclarations.js +144 -0
- 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 +49 -0
- package/dist/compiler/projectionScalar.js +218 -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/rpcStringValues.d.ts +30 -0
- package/dist/compiler/rpcStringValues.js +196 -0
- package/dist/compiler/rpcTypedValues.d.ts +48 -0
- package/dist/compiler/rpcTypedValues.js +190 -0
- 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/schemaCompiler.js +44 -109
- 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 +2 -3
- 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/generateComposedGateway.d.ts +16 -0
- package/dist/gateway/generateComposedGateway.js +65 -0
- package/dist/gateway/generateGateway.d.ts +0 -1
- package/dist/gateway/generateGateway.js +1 -0
- package/dist/gateway/generators.d.ts +0 -1
- package/dist/gateway/generators.js +19 -4
- package/dist/gateway/helpers.d.ts +1 -1
- package/dist/gateway/helpers.js +15 -0
- package/dist/generation/componentShape.d.ts +14 -0
- package/dist/generation/componentShape.js +293 -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 +11 -2
- package/dist/index.js +4 -1
- package/dist/loader/fetch.d.ts +0 -1
- package/dist/loader/orderedSyntax.d.ts +12 -1
- package/dist/loader/orderedSyntax.js +40 -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/multiServicePipeline.d.ts +41 -0
- package/dist/multiServicePipeline.js +287 -0
- package/dist/openapi/casing.d.ts +0 -1
- package/dist/openapi/composeOpenAPI.d.ts +29 -0
- package/dist/openapi/composeOpenAPI.js +322 -0
- 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 +7 -3
- package/dist/pipeline.js +15 -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 +12 -1
- package/docs/api-reference.md +127 -9
- package/docs/checked-gateway.md +212 -0
- package/docs/checked-generation.md +167 -0
- package/docs/cli-reference.md +48 -6
- package/docs/concepts.md +139 -5
- package/docs/configuration.md +15 -4
- 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 +104 -27
- package/docs/generated-code.md +22 -11
- package/docs/mapping-contract.md +114 -0
- package/docs/migration-playbook.md +5 -1
- package/docs/migration.md +124 -6
- package/docs/output-anatomy.md +21 -18
- package/docs/production.md +7 -5
- package/docs/start-here.md +19 -3
- package/docs/supported-patterns.md +24 -3
- package/docs/testing.md +119 -31
- package/docs/troubleshooting.md +3 -1
- package/llms.txt +16 -8
- package/package.json +64 -23
- package/src/runtime/checkedGatewayHost.tpl.txt +157 -0
- package/src/runtime/clientStreamMethods.tpl.txt +156 -148
- package/src/runtime/operationsStreamHelper.tpl.txt +6 -6
- package/src/runtime/streamXml.ts +49 -21
- 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
|
@@ -4,6 +4,7 @@ import type { ComposedGraph } from "./composeCanonicalGraph.js";
|
|
|
4
4
|
import { SemanticError } from "./resolveCanonicalGraph.js";
|
|
5
5
|
import type { SemanticLimits } from "./resolveCanonicalGraph.js";
|
|
6
6
|
import type { ResourceLimitFailure, SemanticBudget } from './semanticBudget.js';
|
|
7
|
+
import type { StandardSchemaElementDeclaration } from './standardSchemaComponents.js';
|
|
7
8
|
export type Bound = Occurs["max"];
|
|
8
9
|
export declare const ZERO_OCCURS: Occurs;
|
|
9
10
|
/** Charge operand and result work before BigInt conversion or arithmetic allocation. */
|
|
@@ -61,5 +62,5 @@ export declare function analyzeOccurrences(composed: ComposedGraph, limits: Sema
|
|
|
61
62
|
/** Selected semantic projection data; omission preserves canonical analysis's qualified ANY default. */
|
|
62
63
|
budget: SemanticBudget;
|
|
63
64
|
wildcardRealization?: ReadonlyMap<NodeId, boolean>;
|
|
65
|
+
standardElements?: ReadonlyMap<NodeId, StandardSchemaElementDeclaration>;
|
|
64
66
|
}>): AnalysisResult | ResourceLimitFailure;
|
|
65
|
-
//# sourceMappingURL=occurrenceAnalysis.d.ts.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/** Exact S06 summaries of child particles. Intervals never describe the full language. */
|
|
2
2
|
import { deepFreeze } from "./canonicalGraph.js";
|
|
3
3
|
import { referenceTarget, SemanticError, semanticBudget } from "./resolveCanonicalGraph.js";
|
|
4
|
+
import { inspectStandardSchemaElement } from './standardSchemaComponents.js';
|
|
4
5
|
export const ZERO_OCCURS = Object.freeze({ min: "0", max: "0" });
|
|
5
6
|
const ONE_OCCURS = Object.freeze({ min: "1", max: "1" });
|
|
6
7
|
/** Charge operand and result work before BigInt conversion or arithmetic allocation. */
|
|
@@ -50,9 +51,9 @@ export function occurrenceAlgebra(charge) {
|
|
|
50
51
|
};
|
|
51
52
|
}
|
|
52
53
|
export function analyzeOccurrences(composed, limits = {}, accounting) {
|
|
53
|
-
return accounting ? accounting.budget.guard(() => analyzeOwnedOccurrences(composed, limits, accounting.budget, accounting.wildcardRealization)) : analyzeOwnedOccurrences(composed, limits);
|
|
54
|
+
return accounting ? accounting.budget.guard(() => analyzeOwnedOccurrences(composed, limits, accounting.budget, accounting.wildcardRealization, accounting.standardElements)) : analyzeOwnedOccurrences(composed, limits);
|
|
54
55
|
}
|
|
55
|
-
function analyzeOwnedOccurrences(composed, limits, request, wildcardRealization) {
|
|
56
|
+
function analyzeOwnedOccurrences(composed, limits, request, wildcardRealization, standardElements) {
|
|
56
57
|
let current;
|
|
57
58
|
const allocate = (units) => request?.chargeWork(units);
|
|
58
59
|
try {
|
|
@@ -71,6 +72,22 @@ function analyzeOwnedOccurrences(composed, limits, request, wildcardRealization)
|
|
|
71
72
|
allocate(2);
|
|
72
73
|
nodes.set(n.id, n);
|
|
73
74
|
}
|
|
75
|
+
for (const [id, declaration] of standardElements ?? []) {
|
|
76
|
+
budget.step();
|
|
77
|
+
allocate(4);
|
|
78
|
+
inspectStandardSchemaElement(declaration);
|
|
79
|
+
if (id !== declaration.id || nodes.has(id))
|
|
80
|
+
throw new SemanticError('unsupported-capability', 'Conflicting acquired standard occurrence declaration', id);
|
|
81
|
+
}
|
|
82
|
+
const element = (id) => {
|
|
83
|
+
const node = nodes.get(id);
|
|
84
|
+
if (node?.kind === 'element')
|
|
85
|
+
return node;
|
|
86
|
+
const declaration = standardElements?.get(id);
|
|
87
|
+
if (!declaration)
|
|
88
|
+
throw new SemanticError('invalid-schema', 'Element particle requires an element declaration', id, current?.context.source);
|
|
89
|
+
return inspectStandardSchemaElement(declaration);
|
|
90
|
+
};
|
|
74
91
|
const summaries = new Map(), active = new Set();
|
|
75
92
|
const algebra = occurrenceAlgebra(() => budget.step(current));
|
|
76
93
|
const get = (id) => nodes.get(id) ?? (() => { throw new SemanticError("invalid-schema", "Missing structural component", id, current?.context.source); })();
|
|
@@ -86,7 +103,7 @@ function analyzeOwnedOccurrences(composed, limits, request, wildcardRealization)
|
|
|
86
103
|
for (const value of [reference.role, reference.name.namespace, reference.name.local])
|
|
87
104
|
for (let i = 0; i < value.length; i++)
|
|
88
105
|
budget.step(owner);
|
|
89
|
-
return referenceTarget(reference, nodes, owner);
|
|
106
|
+
return referenceTarget(reference, nodes, owner, standardElements);
|
|
90
107
|
};
|
|
91
108
|
const copyIds = (a, b) => {
|
|
92
109
|
allocate(1);
|
|
@@ -170,8 +187,9 @@ function analyzeOwnedOccurrences(composed, limits, request, wildcardRealization)
|
|
|
170
187
|
}
|
|
171
188
|
if (node.term.kind === "element") {
|
|
172
189
|
const id = target(node.term.declaration, node);
|
|
173
|
-
if (!id
|
|
190
|
+
if (!id)
|
|
174
191
|
throw new SemanticError("invalid-schema", "Element particle requires an element declaration", node.id, node.context.source);
|
|
192
|
+
element(id);
|
|
175
193
|
}
|
|
176
194
|
allocate(1);
|
|
177
195
|
return [];
|
|
@@ -203,9 +221,7 @@ function analyzeOwnedOccurrences(composed, limits, request, wildcardRealization)
|
|
|
203
221
|
const node = f.node;
|
|
204
222
|
let content;
|
|
205
223
|
if (node.term.kind === "element") {
|
|
206
|
-
const id = target(node.term.declaration, node), declaration =
|
|
207
|
-
if (declaration.kind !== "element")
|
|
208
|
-
throw new Error("Checked element target changed");
|
|
224
|
+
const id = target(node.term.declaration, node), declaration = element(id);
|
|
209
225
|
allocate(20);
|
|
210
226
|
content = { nullable: false, hasRealization: true, elements: [{ name: declaration.name, occurs: ONE_OCCURS, declarations: [id], particles: [node.id] }], wildcard: ZERO_OCCURS, effectiveTotalRange: ONE_OCCURS, schemaEmptiable: false };
|
|
211
227
|
}
|
|
@@ -3,4 +3,3 @@ import type { GraphNode, NodeId } from './canonicalGraph.js';
|
|
|
3
3
|
import type { SemanticBudget } from './semanticBudget.js';
|
|
4
4
|
/** Called on the private immutable original graph inside the request guard. */
|
|
5
5
|
export declare function computeOriginalSourceAbsence(input: readonly GraphNode[], budget: SemanticBudget): ReadonlySet<NodeId>;
|
|
6
|
-
//# sourceMappingURL=originalSourceMembership.d.ts.map
|
|
@@ -14,4 +14,3 @@ export type AttributionResult = Readonly<{
|
|
|
14
14
|
}> | RelationFailure | ResourceLimitFailure;
|
|
15
15
|
/** Counted iteration preserves each leaf incidence tag; shared child edges remain distinct. */
|
|
16
16
|
export declare function checkParticleAttribution(context: SemanticContext, view: SemanticParticleView): AttributionResult;
|
|
17
|
-
//# sourceMappingURL=particleAttribution.d.ts.map
|
|
@@ -81,6 +81,13 @@ export function checkParticleAttribution(context, view) {
|
|
|
81
81
|
namespaces.add(ns);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
+
else if (p.standardElement) {
|
|
85
|
+
// Fixed acquired declarations block substitution; their dependency is
|
|
86
|
+
// checked separately by native standard-component construction.
|
|
87
|
+
charge(3);
|
|
88
|
+
names.push(p.standardElement.name);
|
|
89
|
+
addName(p.standardElement.name);
|
|
90
|
+
}
|
|
84
91
|
else {
|
|
85
92
|
const element = p.element;
|
|
86
93
|
if (element.identity.kind === 'global') {
|
|
@@ -152,6 +159,19 @@ export function checkParticleAttribution(context, view) {
|
|
|
152
159
|
counters.push({ min, max, digits: Math.max(p.particle.occurs.min.length, max === undefined ? 1 : p.particle.occurs.max.length) });
|
|
153
160
|
facts.set(p, { counter });
|
|
154
161
|
}
|
|
162
|
+
// @why Disjoint full alphabet quotients admit at most one leaf incidence for any next QName, independently of counter reachability.
|
|
163
|
+
charge(2);
|
|
164
|
+
const attributedTokens = new Set();
|
|
165
|
+
let disjoint = true;
|
|
166
|
+
for (const label of labels)
|
|
167
|
+
for (const token of label.tokens) {
|
|
168
|
+
charge(3);
|
|
169
|
+
if (attributedTokens.has(token))
|
|
170
|
+
disjoint = false;
|
|
171
|
+
attributedTokens.add(token);
|
|
172
|
+
}
|
|
173
|
+
if (disjoint)
|
|
174
|
+
return done(true);
|
|
155
175
|
charge(2);
|
|
156
176
|
const states = [];
|
|
157
177
|
const state = () => { charge(7); const id = states.length; states.push({ epsilon: [], consuming: [] }); return id; };
|
|
@@ -21,4 +21,3 @@ export type ElementConsistencyResult = Readonly<{
|
|
|
21
21
|
* Type/declaration validity remains an explicit separately owned prerequisite.
|
|
22
22
|
*/
|
|
23
23
|
export declare function checkElementDeclarationsConsistent(context: SemanticContext, roots: readonly NodeId[]): ElementConsistencyResult;
|
|
24
|
-
//# sourceMappingURL=particleDeclarationConsistency.d.ts.map
|
|
@@ -84,6 +84,15 @@ export function checkElementDeclarationsConsistent(context, roots) {
|
|
|
84
84
|
const declared = (particle) => {
|
|
85
85
|
if (particle.term.kind !== 'element')
|
|
86
86
|
return new Map();
|
|
87
|
+
const selected = context.resolve(particle.term.declaration);
|
|
88
|
+
if (selected.kind === 'standard-element') {
|
|
89
|
+
const declaration = selected.declaration;
|
|
90
|
+
budget.chargeWork(48 + 6 * (declaration.name.namespace.length + declaration.name.local.length));
|
|
91
|
+
const name = JSON.stringify([declaration.name.namespace, declaration.name.local]);
|
|
92
|
+
// The fixed schema element's type is anonymous. Repeated positions
|
|
93
|
+
// still require the dated EDC top-level named-type premise.
|
|
94
|
+
return new Map([[name, { declaration: declaration.id, count: 1 }]]);
|
|
95
|
+
}
|
|
87
96
|
const declaration = target(particle.term.declaration, particle.id);
|
|
88
97
|
if (declaration.kind !== 'element')
|
|
89
98
|
return unresolved(particle.id, 'Element particle does not reference an element declaration');
|
|
@@ -19,4 +19,3 @@ export type ParticleExtensionResult = Readonly<{
|
|
|
19
19
|
identityConstraintDependencies: readonly IdentityConstraintDependency[];
|
|
20
20
|
}> | RelationFailure | ScalarFailure | AttributeFailure | ResourceLimitFailure;
|
|
21
21
|
export declare function checkRawParticleExtension(context: SemanticContext, derived: ParticleContentView, base: ParticleContentView): ParticleExtensionResult;
|
|
22
|
-
//# sourceMappingURL=particleExtension.d.ts.map
|
|
@@ -68,7 +68,11 @@ export function checkRawParticleExtension(context, derived, base) {
|
|
|
68
68
|
charge(x.occurs.min.length + y.occurs.min.length + x.occurs.max.length + y.occurs.max.length);
|
|
69
69
|
if (x.kind !== y.kind || x.occurs.min !== y.occurs.min || x.occurs.max !== y.occurs.max || x.children.length !== y.children.length)
|
|
70
70
|
return done(false);
|
|
71
|
-
if (x.
|
|
71
|
+
if (x.standardElement || y.standardElement) {
|
|
72
|
+
if (x.standardElement !== y.standardElement)
|
|
73
|
+
return unresolved('fixed-standard-declaration-correspondence', x.source, 'Extension requires the same acquired standard declaration');
|
|
74
|
+
}
|
|
75
|
+
else if (x.element && y.element) {
|
|
72
76
|
charge(2 + x.element.id.length + y.element.id.length);
|
|
73
77
|
if (x.element.id !== y.element.id) {
|
|
74
78
|
const same = compareComponentProperties(context, x.element, y.element);
|
|
@@ -17,4 +17,3 @@ export type ParticleLocalResult = Readonly<{
|
|
|
17
17
|
}> | RelationFailure | ResourceLimitFailure;
|
|
18
18
|
export declare function checkDeclaredParticleLegality(context: SemanticContext, view: SemanticParticleView): ParticleLocalResult;
|
|
19
19
|
export declare function checkComplexParticleContent(context: SemanticContext, content: ParticleContentView): ParticleLocalResult;
|
|
20
|
-
//# sourceMappingURL=particleLocalAssessment.d.ts.map
|
|
@@ -21,4 +21,3 @@ export type ParticleRestrictionResult = Readonly<{
|
|
|
21
21
|
export declare function checkParticleRestriction(context: SemanticContext, derived: SemanticParticleView, base: SemanticParticleView, options?: Readonly<{
|
|
22
22
|
deferScalarObligations?: boolean;
|
|
23
23
|
}>): ParticleRestrictionResult;
|
|
24
|
-
//# sourceMappingURL=particleRestriction.d.ts.map
|
|
@@ -212,7 +212,7 @@ export function checkParticleRestriction(context, derived, base, options = {}) {
|
|
|
212
212
|
if (!source)
|
|
213
213
|
return unresolved(p, 'Semantic particle provenance is unavailable');
|
|
214
214
|
decisions.set(p, Object.freeze({ owner: Object.freeze({ id: p.source, context: Object.freeze({ source }) }), kind: p.kind, occurs: p.occurs,
|
|
215
|
-
total: p.summary.effectiveTotalRange, members: Object.freeze(p.children.map(child => decisions.get(child))), namespace: p.element?.name.namespace,
|
|
215
|
+
total: p.summary.effectiveTotalRange, members: Object.freeze(p.children.map(child => decisions.get(child))), namespace: p.element?.name.namespace ?? p.standardElement?.name.namespace,
|
|
216
216
|
wildcard: p.wildcard ? Object.freeze({ constraint: p.wildcard.namespace, processContents: p.wildcard.processContents,
|
|
217
217
|
lexical: Object.freeze({ value: p.wildcard.lexical.value, effectiveNamespace: p.wildcard.lexical.context.effectiveNamespace }) }) : undefined }));
|
|
218
218
|
}
|
|
@@ -223,6 +223,11 @@ export function checkParticleRestriction(context, derived, base, options = {}) {
|
|
|
223
223
|
if (r === b || r.originalParticle !== undefined && r.originalParticle === b.originalParticle)
|
|
224
224
|
return true;
|
|
225
225
|
if (r.kind === 'element' && b.kind === 'element') {
|
|
226
|
+
if (r.standardElement || b.standardElement) {
|
|
227
|
+
if (r.standardElement && r.standardElement === b.standardElement)
|
|
228
|
+
return within(r.occurs, b.occurs);
|
|
229
|
+
return unresolved(r, 'Restriction between fixed standard and application declarations is not implemented');
|
|
230
|
+
}
|
|
226
231
|
const x = r.element, y = b.element;
|
|
227
232
|
charge(x.name.namespace.length + y.name.namespace.length + x.name.local.length + y.name.local.length);
|
|
228
233
|
if (x.name.namespace !== y.name.namespace || x.name.local !== y.name.local || !within(r.occurs, b.occurs))
|
|
@@ -7,6 +7,7 @@ import type { ParticleSummary } from './occurrenceAnalysis.js';
|
|
|
7
7
|
import type { RelationFailure } from './schemaTypeRelations.js';
|
|
8
8
|
import type { ResourceLimitFailure } from './semanticBudget.js';
|
|
9
9
|
import type { SemanticTypeDependency } from './semanticTypeReference.js';
|
|
10
|
+
import type { StandardSchemaElementDeclaration } from './standardSchemaComponents.js';
|
|
10
11
|
type GroupKind = 'sequence' | 'choice' | 'all';
|
|
11
12
|
/** Explicit positions survive flattening; only each implicit block is a set. */
|
|
12
13
|
export type SemanticParticleOrderBlock = Readonly<{
|
|
@@ -29,6 +30,7 @@ export type SemanticParticle = Readonly<{
|
|
|
29
30
|
orderBlocks: readonly SemanticParticleOrderBlock[];
|
|
30
31
|
element?: ElementNode;
|
|
31
32
|
wildcard?: SelectedParticleWildcard;
|
|
33
|
+
standardElement?: StandardSchemaElementDeclaration;
|
|
32
34
|
summary: ParticleSummary;
|
|
33
35
|
urTypeWildcard: boolean;
|
|
34
36
|
orderUnspecified: boolean;
|
|
@@ -47,4 +49,3 @@ export type ParticleViewResult = Readonly<{
|
|
|
47
49
|
export declare function assertSemanticParticleView(context: SemanticContext, view: SemanticParticleView): void;
|
|
48
50
|
export declare function prepareSemanticParticleView(context: SemanticContext, content: ParticleContentView, purpose: SemanticParticleView['purpose']): ParticleViewResult;
|
|
49
51
|
export {};
|
|
50
|
-
//# sourceMappingURL=particleSemanticView.d.ts.map
|
|
@@ -106,7 +106,12 @@ export function prepareSemanticParticleView(context, content, purpose) {
|
|
|
106
106
|
|| content.synthetic.includes(node.id))
|
|
107
107
|
p.originalParticle = node.id;
|
|
108
108
|
if (term.term.kind === 'element') {
|
|
109
|
-
const
|
|
109
|
+
const selected = context.resolve(term.term.declaration);
|
|
110
|
+
if (selected.kind === 'standard-element') {
|
|
111
|
+
p.standardElement = selected.declaration;
|
|
112
|
+
return p;
|
|
113
|
+
}
|
|
114
|
+
const declaration = selected.kind === 'found' ? selected.node : fail(node.id, 'Element target unavailable');
|
|
110
115
|
if (declaration.kind !== 'element')
|
|
111
116
|
return fail(node.id, 'Element particle requires an element declaration');
|
|
112
117
|
p.element = declaration;
|
|
@@ -220,18 +225,26 @@ export function prepareSemanticParticleView(context, content, purpose) {
|
|
|
220
225
|
}
|
|
221
226
|
charge(3 + shapes.size * 2);
|
|
222
227
|
const nodes = [], declarations = new Map();
|
|
228
|
+
const standardElements = new Map();
|
|
223
229
|
for (const p of shapes.values())
|
|
224
230
|
if (p.element) {
|
|
225
231
|
charge(2 + p.element.id.length);
|
|
226
232
|
declarations.set(p.element.id, p.element);
|
|
227
233
|
}
|
|
234
|
+
for (const p of shapes.values())
|
|
235
|
+
if (p.standardElement) {
|
|
236
|
+
charge(2 + p.standardElement.id.length);
|
|
237
|
+
standardElements.set(p.standardElement.id, p.standardElement);
|
|
238
|
+
}
|
|
228
239
|
charge(declarations.size);
|
|
229
240
|
nodes.push(...declarations.values());
|
|
230
241
|
let wildcardRealization;
|
|
231
242
|
for (const p of shapes.values()) {
|
|
232
243
|
const original = get(p.source);
|
|
233
244
|
charge(20 + p.children.length);
|
|
234
|
-
const term = p.kind === 'element' ? Object.freeze({ kind: 'element', declaration:
|
|
245
|
+
const term = p.kind === 'element' ? Object.freeze({ kind: 'element', declaration: p.standardElement
|
|
246
|
+
? original.kind === 'particle' && original.term.kind === 'element' ? original.term.declaration : fail(p.source, 'Standard element source unavailable')
|
|
247
|
+
: Object.freeze({ kind: 'local', target: p.element.id }) })
|
|
235
248
|
: p.kind === 'any' ? Object.freeze({ kind: 'any', wildcard: Object.freeze({ namespace: p.wildcard.lexical,
|
|
236
249
|
processContents: p.wildcard.processContents }) })
|
|
237
250
|
: Object.freeze({ kind: p.kind, children: Object.freeze(p.children.map(child => child.id)) });
|
|
@@ -248,7 +261,7 @@ export function prepareSemanticParticleView(context, content, purpose) {
|
|
|
248
261
|
charge(18);
|
|
249
262
|
const graph = Object.freeze({ ...semanticContextGraphMetadata(context), nodes: Object.freeze(nodes), globals: EMPTY });
|
|
250
263
|
const composed = Object.freeze({ resolved: Object.freeze({ graph, links: EMPTY, metrics: Object.freeze({ steps: 0 }) }), types: EMPTY, metrics: Object.freeze({ steps: 0 }) });
|
|
251
|
-
const analysis = analyzeOccurrences(composed, { maxNodes: Number.MAX_SAFE_INTEGER, maxSteps: Number.MAX_SAFE_INTEGER }, { budget, wildcardRealization });
|
|
264
|
+
const analysis = analyzeOccurrences(composed, { maxNodes: Number.MAX_SAFE_INTEGER, maxSteps: Number.MAX_SAFE_INTEGER }, { budget, wildcardRealization, standardElements });
|
|
252
265
|
if (analysis.kind === 'resource-limit')
|
|
253
266
|
return analysis;
|
|
254
267
|
if (analysis.kind === 'failure')
|
|
@@ -85,4 +85,3 @@ export type QualifiedWildcardResult = Readonly<{
|
|
|
85
85
|
* adapter and is deliberately not inferred from ##any or lax spelling here.
|
|
86
86
|
*/
|
|
87
87
|
export declare function restrictParticleToWildcard(context: SemanticContext, root: DecisionParticle, base: DecisionParticle): QualifiedWildcardResult;
|
|
88
|
-
//# sourceMappingURL=particleWildcardRelation.d.ts.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { SemanticContext } from './semanticContext.js';
|
|
2
|
+
import type { AttributeNode, ElementNode, GraphNode, Reference } from './canonicalGraph.js';
|
|
3
|
+
import type { DatatypeOperand } from './datatypeValues.js';
|
|
4
|
+
import type { ExpandedName } from '../loader/orderedSyntax.js';
|
|
5
|
+
import type { ResourceLimitFailure } from './semanticBudget.js';
|
|
6
|
+
import type { DatatypeLexicalOperand } from './schemaValueContext.js';
|
|
7
|
+
type Declaration = AttributeNode | ElementNode;
|
|
8
|
+
export type ProjectionScalarFailure = Readonly<{
|
|
9
|
+
kind: 'unavailable' | 'scalar-invalid';
|
|
10
|
+
rule: string;
|
|
11
|
+
}>;
|
|
12
|
+
export interface ProjectionScalarList {
|
|
13
|
+
readonly builtin: ExpandedName;
|
|
14
|
+
readonly whitespace: 'preserve' | 'replace' | 'collapse';
|
|
15
|
+
readonly retainLexical?: true;
|
|
16
|
+
}
|
|
17
|
+
export type ProjectionScalarDescription = Readonly<{
|
|
18
|
+
kind: 'projection-scalar-type';
|
|
19
|
+
builtin: ExpandedName;
|
|
20
|
+
retainLexical?: true;
|
|
21
|
+
list?: ProjectionScalarList;
|
|
22
|
+
}>;
|
|
23
|
+
type DescriptionResult = ProjectionScalarDescription | ProjectionScalarFailure | ResourceLimitFailure;
|
|
24
|
+
type OperandResult = Readonly<{
|
|
25
|
+
kind: 'projection-scalar-operand';
|
|
26
|
+
operand: DatatypeOperand;
|
|
27
|
+
}> | ProjectionScalarFailure | ResourceLimitFailure;
|
|
28
|
+
/** Native declaration lookup and source-type formation precede any payload calculation. */
|
|
29
|
+
export declare function describeProjectionScalar(context: SemanticContext, declaration: Declaration, check?: () => void): DescriptionResult;
|
|
30
|
+
/** A successful calculation is payload-only data; it grants no schema, operation or portable artifact authority. */
|
|
31
|
+
export declare function assessProjectionScalarOperand(context: SemanticContext, declaration: Declaration, lexical: DatatypeLexicalOperand, check?: () => void): OperandResult;
|
|
32
|
+
/** Describe a source-owned type without inventing an element declaration.
|
|
33
|
+
* @param context Native source context.
|
|
34
|
+
* @param owner Exact graph node owning the reference.
|
|
35
|
+
* @param reference Source-selected type reference.
|
|
36
|
+
* @param check Cooperative budget/cancellation checkpoint.
|
|
37
|
+
* @returns The existing native scalar description or explicit refusal.
|
|
38
|
+
*/
|
|
39
|
+
export declare function describeProjectionType(context: SemanticContext, owner: GraphNode, reference: Reference, check?: () => void): DescriptionResult;
|
|
40
|
+
/** Assess a typed value through the same native restrictions as element values.
|
|
41
|
+
* @param context Native source context.
|
|
42
|
+
* @param owner Exact source node owning the reference.
|
|
43
|
+
* @param reference Source-selected type reference.
|
|
44
|
+
* @param lexical Observed lexical value and namespace context.
|
|
45
|
+
* @param check Cooperative checkpoint.
|
|
46
|
+
* @returns Native datatype operand or explicit refusal.
|
|
47
|
+
*/
|
|
48
|
+
export declare function assessProjectionTypeOperand(context: SemanticContext, owner: GraphNode, reference: Reference, lexical: DatatypeLexicalOperand, check?: () => void): OperandResult;
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/** Payload facade over the existing native scalar implementation; no source-validity or admission receipt. */
|
|
2
|
+
import { assertSemanticContext } from './semanticContext.js';
|
|
3
|
+
import { schemaScalarContext, SchemaAssessmentError, SchemaOperandContextError } from './schemaScalarContext.js';
|
|
4
|
+
import { scalarSchemaAssessment } from './scalarSchemaAssessment.js';
|
|
5
|
+
import { XSD_NAMESPACE } from '../loader/orderedSyntax.js';
|
|
6
|
+
import { types } from 'node:util';
|
|
7
|
+
import { occurrenceAlgebra } from './occurrenceAnalysis.js';
|
|
8
|
+
import { deriveActualComplexContent } from './complexTypeContent.js';
|
|
9
|
+
const kernels = new WeakMap();
|
|
10
|
+
function kernel(context) {
|
|
11
|
+
const base = schemaScalarContext(context);
|
|
12
|
+
let callerCheck;
|
|
13
|
+
let interrupted = false;
|
|
14
|
+
const check = () => {
|
|
15
|
+
try {
|
|
16
|
+
callerCheck?.();
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
interrupted = true;
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const c = { ...base,
|
|
24
|
+
step(owner, count = 1) { check(); base.step(owner, count); },
|
|
25
|
+
text(value, owner) { check(); return base.text(value, owner); },
|
|
26
|
+
algebra: occurrenceAlgebra(() => { check(); base.step(); }), };
|
|
27
|
+
// The default scalar profile excludes document-wide identity/DTD/NOTATION duties.
|
|
28
|
+
// SOURCE formation remains the existing implementation; payload operands never become schema evidence.
|
|
29
|
+
const core = scalarSchemaAssessment(c);
|
|
30
|
+
const descriptions = new Map();
|
|
31
|
+
const references = new Map();
|
|
32
|
+
const keyFor = (declaration, reference) => JSON.stringify([declaration.id,
|
|
33
|
+
reference.kind, reference.kind === 'local' ? reference.target : [reference.name.namespace, reference.name.local]]);
|
|
34
|
+
const owner = (declaration) => {
|
|
35
|
+
if (types.isProxy(declaration))
|
|
36
|
+
throw new TypeError('Expected exact native scalar declaration');
|
|
37
|
+
const id = Object.getOwnPropertyDescriptor(declaration, 'id');
|
|
38
|
+
if (!id || !('value' in id) || typeof id.value !== 'string')
|
|
39
|
+
throw new TypeError('Expected exact native scalar declaration');
|
|
40
|
+
const found = context.lookup(id.value);
|
|
41
|
+
if (found.kind !== 'found' || found.node !== declaration)
|
|
42
|
+
throw new TypeError('Expected exact native scalar declaration');
|
|
43
|
+
return declaration;
|
|
44
|
+
};
|
|
45
|
+
const describe = (declaration, selected) => {
|
|
46
|
+
owner(declaration);
|
|
47
|
+
const key = keyFor(declaration, selected);
|
|
48
|
+
const cached = descriptions.get(key);
|
|
49
|
+
if (cached)
|
|
50
|
+
return cached;
|
|
51
|
+
let reference = selected;
|
|
52
|
+
const type = context.resolve(selected);
|
|
53
|
+
if (type.kind === 'found' && type.node.kind === 'complexType') {
|
|
54
|
+
const content = deriveActualComplexContent(context, type.node.id);
|
|
55
|
+
if (content.kind !== 'checked' || content.view.content.kind !== 'simple')
|
|
56
|
+
return Object.freeze({ kind: 'unavailable', rule: 'scalar-content-reference' });
|
|
57
|
+
reference = content.view.content.type;
|
|
58
|
+
}
|
|
59
|
+
const plan = core.ensure(reference, declaration);
|
|
60
|
+
const stringUnion = (candidate) => {
|
|
61
|
+
if (candidate.variety !== 'union' || !candidate.members?.length || candidate.obligations?.length)
|
|
62
|
+
return false;
|
|
63
|
+
for (const reference of candidate.members) {
|
|
64
|
+
check();
|
|
65
|
+
c.step(declaration);
|
|
66
|
+
const member = core.ensure(reference, declaration);
|
|
67
|
+
if (member.variety !== 'atomic' || member.primitive !== 'string' || member.obligations?.length)
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
return true;
|
|
71
|
+
};
|
|
72
|
+
const union = plan.variety === 'union';
|
|
73
|
+
if (union && !stringUnion(plan))
|
|
74
|
+
return Object.freeze({ kind: 'unavailable', rule: 'declared-scalar-union' });
|
|
75
|
+
if (plan.obligations?.length)
|
|
76
|
+
return Object.freeze({ kind: 'unavailable', rule: 'scalar-source-obligations' });
|
|
77
|
+
let item;
|
|
78
|
+
if (plan.variety === 'list') {
|
|
79
|
+
if (!plan.item)
|
|
80
|
+
return Object.freeze({ kind: 'unavailable', rule: 'scalar-list-item' });
|
|
81
|
+
const member = core.ensure(plan.item, declaration);
|
|
82
|
+
const unionItem = stringUnion(member);
|
|
83
|
+
if (member.variety !== 'atomic' && !unionItem)
|
|
84
|
+
return Object.freeze({ kind: 'unavailable', rule: 'scalar-list-item-' + member.variety });
|
|
85
|
+
if (member.obligations?.length || member.whitespace === 'member' && !unionItem)
|
|
86
|
+
return Object.freeze({ kind: 'unavailable', rule: 'scalar-list-item-source-obligations' });
|
|
87
|
+
const local = unionItem ? 'string' : member.builtin ?? member.primitive;
|
|
88
|
+
if (!local)
|
|
89
|
+
return Object.freeze({ kind: 'unavailable', rule: 'scalar-list-item-representation' });
|
|
90
|
+
context.budget.chargeWork(64);
|
|
91
|
+
item = Object.freeze({ builtin: Object.freeze({ namespace: XSD_NAMESPACE, local }), whitespace: unionItem ? 'preserve' : member.whitespace,
|
|
92
|
+
...(unionItem || member.layers.some(layer => layer.patterns.length > 0) ? { retainLexical: true } : {}) });
|
|
93
|
+
}
|
|
94
|
+
const local = union ? 'string' : item?.builtin.local ?? plan.builtin ?? plan.primitive;
|
|
95
|
+
if (!local)
|
|
96
|
+
return Object.freeze({ kind: 'unavailable', rule: 'scalar-representation' });
|
|
97
|
+
context.budget.chargeWork(64 + declaration.id.length);
|
|
98
|
+
const retainLexical = union || plan.layers.some(layer => layer.patterns.length > 0);
|
|
99
|
+
const result = Object.freeze({ kind: 'projection-scalar-type', builtin: Object.freeze({ namespace: XSD_NAMESPACE, local }),
|
|
100
|
+
...(retainLexical ? { retainLexical: true } : {}), ...(item ? { list: item } : {}) });
|
|
101
|
+
descriptions.set(key, result);
|
|
102
|
+
references.set(key, reference);
|
|
103
|
+
return result;
|
|
104
|
+
};
|
|
105
|
+
const failure = (error, operand) => {
|
|
106
|
+
if (error instanceof SchemaOperandContextError)
|
|
107
|
+
return Object.freeze({ kind: 'unavailable', rule: error.rule });
|
|
108
|
+
if (!(error instanceof SchemaAssessmentError))
|
|
109
|
+
throw error;
|
|
110
|
+
return Object.freeze({ kind: operand && error.category === 'invalid-schema' ? 'scalar-invalid' : 'unavailable', rule: error.rule });
|
|
111
|
+
};
|
|
112
|
+
return {
|
|
113
|
+
declarationType(declaration) {
|
|
114
|
+
owner(declaration);
|
|
115
|
+
return declaration.type;
|
|
116
|
+
},
|
|
117
|
+
describe(declaration, reference, cooperative) {
|
|
118
|
+
const previous = callerCheck;
|
|
119
|
+
callerCheck = cooperative;
|
|
120
|
+
interrupted = false;
|
|
121
|
+
try {
|
|
122
|
+
return context.budget.guard(() => {
|
|
123
|
+
try {
|
|
124
|
+
return describe(declaration, reference);
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
return failure(error, false);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
finally {
|
|
132
|
+
if (interrupted)
|
|
133
|
+
kernels.delete(context);
|
|
134
|
+
callerCheck = previous;
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
assess(declaration, reference, supplied, cooperative) {
|
|
138
|
+
const previous = callerCheck;
|
|
139
|
+
callerCheck = cooperative;
|
|
140
|
+
interrupted = false;
|
|
141
|
+
try {
|
|
142
|
+
return context.budget.guard(() => {
|
|
143
|
+
let operand = false;
|
|
144
|
+
try {
|
|
145
|
+
const description = describe(declaration, reference);
|
|
146
|
+
if (description.kind !== 'projection-scalar-type')
|
|
147
|
+
return description;
|
|
148
|
+
const input = context.budget.freeze(context.budget.snapshot(supplied));
|
|
149
|
+
// GraphContext here is calculation data, not a source/context receipt. Namespace and source facts come from the payload.
|
|
150
|
+
const lexical = { value: input.value, context: { ...declaration.context,
|
|
151
|
+
namespaces: input.context.namespaces, source: input.context.source, baseUri: input.context.source.uri } };
|
|
152
|
+
operand = true;
|
|
153
|
+
const value = core.assess(references.get(keyFor(declaration, reference)), lexical, declaration);
|
|
154
|
+
context.budget.chargeWork(16);
|
|
155
|
+
return Object.freeze({ kind: 'projection-scalar-operand', operand: value });
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
return failure(error, operand);
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
finally {
|
|
163
|
+
if (interrupted)
|
|
164
|
+
kernels.delete(context);
|
|
165
|
+
callerCheck = previous;
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
function get(context) {
|
|
171
|
+
assertSemanticContext(context);
|
|
172
|
+
if (context.kind !== 'actual')
|
|
173
|
+
throw new TypeError('Payload scalar projection requires actual source');
|
|
174
|
+
let result = kernels.get(context);
|
|
175
|
+
if (!result) {
|
|
176
|
+
context.budget.chargeWork(16);
|
|
177
|
+
result = kernel(context);
|
|
178
|
+
kernels.set(context, result);
|
|
179
|
+
}
|
|
180
|
+
return result;
|
|
181
|
+
}
|
|
182
|
+
/** Native declaration lookup and source-type formation precede any payload calculation. */
|
|
183
|
+
export function describeProjectionScalar(context, declaration, check) {
|
|
184
|
+
assertSemanticContext(context);
|
|
185
|
+
return context.budget.guard(() => {
|
|
186
|
+
const scalar = get(context);
|
|
187
|
+
return scalar.describe(declaration, scalar.declarationType(declaration), check);
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
/** A successful calculation is payload-only data; it grants no schema, operation or portable artifact authority. */
|
|
191
|
+
export function assessProjectionScalarOperand(context, declaration, lexical, check) {
|
|
192
|
+
assertSemanticContext(context);
|
|
193
|
+
return context.budget.guard(() => {
|
|
194
|
+
const scalar = get(context);
|
|
195
|
+
return scalar.assess(declaration, scalar.declarationType(declaration), lexical, check);
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
/** Describe a source-owned type without inventing an element declaration.
|
|
199
|
+
* @param context Native source context.
|
|
200
|
+
* @param owner Exact graph node owning the reference.
|
|
201
|
+
* @param reference Source-selected type reference.
|
|
202
|
+
* @param check Cooperative budget/cancellation checkpoint.
|
|
203
|
+
* @returns The existing native scalar description or explicit refusal.
|
|
204
|
+
*/
|
|
205
|
+
export function describeProjectionType(context, owner, reference, check) {
|
|
206
|
+
return context.budget.guard(() => get(context).describe(owner, reference, check));
|
|
207
|
+
}
|
|
208
|
+
/** Assess a typed value through the same native restrictions as element values.
|
|
209
|
+
* @param context Native source context.
|
|
210
|
+
* @param owner Exact source node owning the reference.
|
|
211
|
+
* @param reference Source-selected type reference.
|
|
212
|
+
* @param lexical Observed lexical value and namespace context.
|
|
213
|
+
* @param check Cooperative checkpoint.
|
|
214
|
+
* @returns Native datatype operand or explicit refusal.
|
|
215
|
+
*/
|
|
216
|
+
export function assessProjectionTypeOperand(context, owner, reference, lexical, check) {
|
|
217
|
+
return context.budget.guard(() => get(context).assess(owner, reference, lexical, check));
|
|
218
|
+
}
|