@techspokes/typescript-wsdl-client 1.1.3 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -1
- package/dist/app/generateApp.d.ts.map +1 -1
- package/dist/app/generateApp.js +8 -6
- package/dist/cli.js +49 -5
- package/dist/client/checkedDirectRuntime.d.ts +59 -0
- package/dist/client/checkedDirectRuntime.d.ts.map +1 -0
- package/dist/client/checkedDirectRuntime.js +23 -0
- package/dist/client/directClientRuntime.d.ts +49 -0
- package/dist/client/directClientRuntime.d.ts.map +1 -0
- package/dist/client/directClientRuntime.js +112 -0
- package/dist/client/directClientVersion.d.ts +4 -0
- package/dist/client/directClientVersion.d.ts.map +1 -0
- package/dist/client/directClientVersion.js +3 -0
- package/dist/client/generateClient.d.ts.map +1 -1
- package/dist/client/generateClient.js +22 -9
- package/dist/client/generateDirectClient.d.ts +14 -0
- package/dist/client/generateDirectClient.d.ts.map +1 -0
- package/dist/client/generateDirectClient.js +136 -0
- package/dist/compiler/buildCanonicalGraph.d.ts +7 -0
- package/dist/compiler/buildCanonicalGraph.d.ts.map +1 -0
- package/dist/compiler/buildCanonicalGraph.js +381 -0
- package/dist/compiler/canonicalGraph.d.ts +198 -0
- package/dist/compiler/canonicalGraph.d.ts.map +1 -0
- package/dist/compiler/canonicalGraph.js +37 -0
- package/dist/compiler/catalogErrors.d.ts +18 -0
- package/dist/compiler/catalogErrors.d.ts.map +1 -0
- package/dist/compiler/catalogErrors.js +86 -0
- package/dist/compiler/catalogProvenance.d.ts +15 -0
- package/dist/compiler/catalogProvenance.d.ts.map +1 -0
- package/dist/compiler/catalogProvenance.js +229 -0
- package/dist/compiler/checkedAssessment.d.ts +91 -0
- package/dist/compiler/checkedAssessment.d.ts.map +1 -0
- package/dist/compiler/checkedAssessment.js +300 -0
- package/dist/compiler/checkedSourcePreparation.d.ts +35 -0
- package/dist/compiler/checkedSourcePreparation.d.ts.map +1 -0
- package/dist/compiler/checkedSourcePreparation.js +131 -0
- package/dist/compiler/complexTypeContent.d.ts +59 -0
- package/dist/compiler/complexTypeContent.d.ts.map +1 -0
- package/dist/compiler/complexTypeContent.js +558 -0
- package/dist/compiler/composeCanonicalGraph.d.ts +69 -0
- package/dist/compiler/composeCanonicalGraph.d.ts.map +1 -0
- package/dist/compiler/composeCanonicalGraph.js +252 -0
- package/dist/compiler/dataOwnership.d.ts +22 -0
- package/dist/compiler/dataOwnership.d.ts.map +1 -0
- package/dist/compiler/dataOwnership.js +157 -0
- package/dist/compiler/datatypeValues.d.ts +47 -0
- package/dist/compiler/datatypeValues.d.ts.map +1 -0
- package/dist/compiler/datatypeValues.js +275 -0
- package/dist/compiler/directCodec.d.ts +59 -0
- package/dist/compiler/directCodec.d.ts.map +1 -0
- package/dist/compiler/directCodec.js +192 -0
- package/dist/compiler/directExecutionPolicy.d.ts +10 -0
- package/dist/compiler/directExecutionPolicy.d.ts.map +1 -0
- package/dist/compiler/directExecutionPolicy.js +17 -0
- package/dist/compiler/directOperation.d.ts +72 -0
- package/dist/compiler/directOperation.d.ts.map +1 -0
- package/dist/compiler/directOperation.js +282 -0
- package/dist/compiler/directSoap.d.ts +42 -0
- package/dist/compiler/directSoap.d.ts.map +1 -0
- package/dist/compiler/directSoap.js +298 -0
- package/dist/compiler/directSoapSource.d.ts +15 -0
- package/dist/compiler/directSoapSource.d.ts.map +1 -0
- package/dist/compiler/directSoapSource.js +86 -0
- package/dist/compiler/directSourceCapsule.d.ts +97 -0
- package/dist/compiler/directSourceCapsule.d.ts.map +1 -0
- package/dist/compiler/directSourceCapsule.js +305 -0
- package/dist/compiler/directStructure.d.ts +51 -0
- package/dist/compiler/directStructure.d.ts.map +1 -0
- package/dist/compiler/directStructure.js +252 -0
- package/dist/compiler/directStructurePlan.d.ts +16 -0
- package/dist/compiler/directStructurePlan.d.ts.map +1 -0
- package/dist/compiler/directStructurePlan.js +58 -0
- package/dist/compiler/directValues.d.ts +69 -0
- package/dist/compiler/directValues.d.ts.map +1 -0
- package/dist/compiler/directValues.js +282 -0
- package/dist/compiler/finiteRe01Verification.d.ts +140 -0
- package/dist/compiler/finiteRe01Verification.d.ts.map +1 -0
- package/dist/compiler/finiteRe01Verification.js +830 -0
- package/dist/compiler/graphTraversal.d.ts +11 -0
- package/dist/compiler/graphTraversal.d.ts.map +1 -0
- package/dist/compiler/graphTraversal.js +37 -0
- package/dist/compiler/hypotheticalScopedIdentity.d.ts +23 -0
- package/dist/compiler/hypotheticalScopedIdentity.d.ts.map +1 -0
- package/dist/compiler/hypotheticalScopedIdentity.js +81 -0
- package/dist/compiler/occurrenceAnalysis.d.ts +65 -0
- package/dist/compiler/occurrenceAnalysis.d.ts.map +1 -0
- package/dist/compiler/occurrenceAnalysis.js +300 -0
- package/dist/compiler/originalSourceMembership.d.ts +6 -0
- package/dist/compiler/originalSourceMembership.d.ts.map +1 -0
- package/dist/compiler/originalSourceMembership.js +31 -0
- package/dist/compiler/particleAttribution.d.ts +17 -0
- package/dist/compiler/particleAttribution.d.ts.map +1 -0
- package/dist/compiler/particleAttribution.js +474 -0
- package/dist/compiler/particleDeclarationConsistency.d.ts +24 -0
- package/dist/compiler/particleDeclarationConsistency.d.ts.map +1 -0
- package/dist/compiler/particleDeclarationConsistency.js +197 -0
- package/dist/compiler/particleExtension.d.ts +22 -0
- package/dist/compiler/particleExtension.d.ts.map +1 -0
- package/dist/compiler/particleExtension.js +119 -0
- package/dist/compiler/particleLocalAssessment.d.ts +20 -0
- package/dist/compiler/particleLocalAssessment.d.ts.map +1 -0
- package/dist/compiler/particleLocalAssessment.js +92 -0
- package/dist/compiler/particleRestriction.d.ts +24 -0
- package/dist/compiler/particleRestriction.d.ts.map +1 -0
- package/dist/compiler/particleRestriction.js +489 -0
- package/dist/compiler/particleSemanticView.d.ts +50 -0
- package/dist/compiler/particleSemanticView.d.ts.map +1 -0
- package/dist/compiler/particleSemanticView.js +297 -0
- package/dist/compiler/particleWildcardRelation.d.ts +88 -0
- package/dist/compiler/particleWildcardRelation.d.ts.map +1 -0
- package/dist/compiler/particleWildcardRelation.js +143 -0
- package/dist/compiler/re01CandidateCorrespondence.d.ts +64 -0
- package/dist/compiler/re01CandidateCorrespondence.d.ts.map +1 -0
- package/dist/compiler/re01CandidateCorrespondence.js +572 -0
- package/dist/compiler/re01TypeProperties.d.ts +71 -0
- package/dist/compiler/re01TypeProperties.d.ts.map +1 -0
- package/dist/compiler/re01TypeProperties.js +120 -0
- package/dist/compiler/re01TypePropertyValidation.d.ts +23 -0
- package/dist/compiler/re01TypePropertyValidation.d.ts.map +1 -0
- package/dist/compiler/re01TypePropertyValidation.js +161 -0
- package/dist/compiler/resolveCanonicalGraph.d.ts +38 -0
- package/dist/compiler/resolveCanonicalGraph.d.ts.map +1 -0
- package/dist/compiler/resolveCanonicalGraph.js +170 -0
- package/dist/compiler/scalarSchemaAssessment.d.ts +425 -0
- package/dist/compiler/scalarSchemaAssessment.d.ts.map +1 -0
- package/dist/compiler/scalarSchemaAssessment.js +5198 -0
- package/dist/compiler/schemaAttributeGroupProperties.d.ts +17 -0
- package/dist/compiler/schemaAttributeGroupProperties.d.ts.map +1 -0
- package/dist/compiler/schemaAttributeGroupProperties.js +53 -0
- package/dist/compiler/schemaAttributeProperties.d.ts +10 -0
- package/dist/compiler/schemaAttributeProperties.d.ts.map +1 -0
- package/dist/compiler/schemaAttributeProperties.js +11 -0
- package/dist/compiler/schemaAttributeUses.d.ts +90 -0
- package/dist/compiler/schemaAttributeUses.d.ts.map +1 -0
- package/dist/compiler/schemaAttributeUses.js +725 -0
- package/dist/compiler/schemaBinaryWordReconstruction.d.ts +10 -0
- package/dist/compiler/schemaBinaryWordReconstruction.d.ts.map +1 -0
- package/dist/compiler/schemaBinaryWordReconstruction.js +33 -0
- package/dist/compiler/schemaBuiltinFacets.d.ts +14 -0
- package/dist/compiler/schemaBuiltinFacets.d.ts.map +1 -0
- package/dist/compiler/schemaBuiltinFacets.js +51 -0
- package/dist/compiler/schemaCalendarImages.d.ts +8 -0
- package/dist/compiler/schemaCalendarImages.d.ts.map +1 -0
- package/dist/compiler/schemaCalendarImages.js +204 -0
- package/dist/compiler/schemaCalendarLanguage.d.ts +11 -0
- package/dist/compiler/schemaCalendarLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaCalendarLanguage.js +227 -0
- package/dist/compiler/schemaComponentEquality.d.ts +28 -0
- package/dist/compiler/schemaComponentEquality.d.ts.map +1 -0
- package/dist/compiler/schemaComponentEquality.js +446 -0
- package/dist/compiler/schemaConstructionAssessment.d.ts +46 -0
- package/dist/compiler/schemaConstructionAssessment.d.ts.map +1 -0
- package/dist/compiler/schemaConstructionAssessment.js +663 -0
- package/dist/compiler/schemaDatatypeValues.d.ts +4 -0
- package/dist/compiler/schemaDatatypeValues.d.ts.map +1 -0
- package/dist/compiler/schemaDatatypeValues.js +2 -0
- package/dist/compiler/schemaDecimalLanguage.d.ts +7 -0
- package/dist/compiler/schemaDecimalLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaDecimalLanguage.js +102 -0
- package/dist/compiler/schemaDeclarationPrimitives.d.ts +34 -0
- package/dist/compiler/schemaDeclarationPrimitives.d.ts.map +1 -0
- package/dist/compiler/schemaDeclarationPrimitives.js +194 -0
- package/dist/compiler/schemaDocumentSyntax.d.ts +55 -0
- package/dist/compiler/schemaDocumentSyntax.d.ts.map +1 -0
- package/dist/compiler/schemaDocumentSyntax.js +294 -0
- package/dist/compiler/schemaDurationLanguage.d.ts +11 -0
- package/dist/compiler/schemaDurationLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaDurationLanguage.js +170 -0
- package/dist/compiler/schemaElementProperties.d.ts +16 -0
- package/dist/compiler/schemaElementProperties.d.ts.map +1 -0
- package/dist/compiler/schemaElementProperties.js +23 -0
- package/dist/compiler/schemaEndpointWordCapacity.d.ts +36 -0
- package/dist/compiler/schemaEndpointWordCapacity.d.ts.map +1 -0
- package/dist/compiler/schemaEndpointWordCapacity.js +39 -0
- package/dist/compiler/schemaExactCalendar.d.ts +73 -0
- package/dist/compiler/schemaExactCalendar.d.ts.map +1 -0
- package/dist/compiler/schemaExactCalendar.js +264 -0
- package/dist/compiler/schemaFacetAnnotation.d.ts +32 -0
- package/dist/compiler/schemaFacetAnnotation.d.ts.map +1 -0
- package/dist/compiler/schemaFacetAnnotation.js +199 -0
- package/dist/compiler/schemaGeneratedScalarShape.d.ts +35 -0
- package/dist/compiler/schemaGeneratedScalarShape.d.ts.map +1 -0
- package/dist/compiler/schemaGeneratedScalarShape.js +176 -0
- package/dist/compiler/schemaIdentityConstraints.d.ts +73 -0
- package/dist/compiler/schemaIdentityConstraints.d.ts.map +1 -0
- package/dist/compiler/schemaIdentityConstraints.js +362 -0
- package/dist/compiler/schemaIeeeLanguage.d.ts +43 -0
- package/dist/compiler/schemaIeeeLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaIeeeLanguage.js +759 -0
- package/dist/compiler/schemaIntegerImages.d.ts +11 -0
- package/dist/compiler/schemaIntegerImages.d.ts.map +1 -0
- package/dist/compiler/schemaIntegerImages.js +113 -0
- package/dist/compiler/schemaLexicalPredicates.d.ts +29 -0
- package/dist/compiler/schemaLexicalPredicates.d.ts.map +1 -0
- package/dist/compiler/schemaLexicalPredicates.js +63 -0
- package/dist/compiler/schemaNotationProperties.d.ts +32 -0
- package/dist/compiler/schemaNotationProperties.d.ts.map +1 -0
- package/dist/compiler/schemaNotationProperties.js +84 -0
- package/dist/compiler/schemaNumericImageConditions.d.ts +24 -0
- package/dist/compiler/schemaNumericImageConditions.d.ts.map +1 -0
- package/dist/compiler/schemaNumericImageConditions.js +66 -0
- package/dist/compiler/schemaParticleWildcardProperties.d.ts +20 -0
- package/dist/compiler/schemaParticleWildcardProperties.d.ts.map +1 -0
- package/dist/compiler/schemaParticleWildcardProperties.js +43 -0
- package/dist/compiler/schemaPattern.d.ts +1062 -0
- package/dist/compiler/schemaPattern.d.ts.map +1 -0
- package/dist/compiler/schemaPattern.js +581 -0
- package/dist/compiler/schemaRegularLanguage.d.ts +67 -0
- package/dist/compiler/schemaRegularLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaRegularLanguage.js +1166 -0
- package/dist/compiler/schemaScalarContext.d.ts +81 -0
- package/dist/compiler/schemaScalarContext.d.ts.map +1 -0
- package/dist/compiler/schemaScalarContext.js +78 -0
- package/dist/compiler/schemaScalarKernel.d.ts +182 -0
- package/dist/compiler/schemaScalarKernel.d.ts.map +1 -0
- package/dist/compiler/schemaScalarKernel.js +391 -0
- package/dist/compiler/schemaScalarWitnesses.d.ts +6 -0
- package/dist/compiler/schemaScalarWitnesses.d.ts.map +1 -0
- package/dist/compiler/schemaScalarWitnesses.js +118 -0
- package/dist/compiler/schemaSimpleTypeProperties.d.ts +95 -0
- package/dist/compiler/schemaSimpleTypeProperties.d.ts.map +1 -0
- package/dist/compiler/schemaSimpleTypeProperties.js +103 -0
- package/dist/compiler/schemaSourceGrammar.d.ts +27 -0
- package/dist/compiler/schemaSourceGrammar.d.ts.map +1 -0
- package/dist/compiler/schemaSourceGrammar.js +290 -0
- package/dist/compiler/schemaSourceLexical.d.ts +4 -0
- package/dist/compiler/schemaSourceLexical.d.ts.map +1 -0
- package/dist/compiler/schemaSourceLexical.js +12 -0
- package/dist/compiler/schemaSourceValues.d.ts +51 -0
- package/dist/compiler/schemaSourceValues.d.ts.map +1 -0
- package/dist/compiler/schemaSourceValues.js +225 -0
- package/dist/compiler/schemaSourceWildcards.d.ts +28 -0
- package/dist/compiler/schemaSourceWildcards.d.ts.map +1 -0
- package/dist/compiler/schemaSourceWildcards.js +247 -0
- package/dist/compiler/schemaSymbolicSequences.d.ts +16 -0
- package/dist/compiler/schemaSymbolicSequences.d.ts.map +1 -0
- package/dist/compiler/schemaSymbolicSequences.js +99 -0
- package/dist/compiler/schemaSymbolicValueSets.d.ts +32 -0
- package/dist/compiler/schemaSymbolicValueSets.d.ts.map +1 -0
- package/dist/compiler/schemaSymbolicValueSets.js +149 -0
- package/dist/compiler/schemaSyntaxAssessment.d.ts +25 -0
- package/dist/compiler/schemaSyntaxAssessment.d.ts.map +1 -0
- package/dist/compiler/schemaSyntaxAssessment.js +361 -0
- package/dist/compiler/schemaTemporalAliases.d.ts +6 -0
- package/dist/compiler/schemaTemporalAliases.d.ts.map +1 -0
- package/dist/compiler/schemaTemporalAliases.js +195 -0
- package/dist/compiler/schemaTokenImages.d.ts +9 -0
- package/dist/compiler/schemaTokenImages.d.ts.map +1 -0
- package/dist/compiler/schemaTokenImages.js +142 -0
- package/dist/compiler/schemaTypeIdentity.d.ts +39 -0
- package/dist/compiler/schemaTypeIdentity.d.ts.map +1 -0
- package/dist/compiler/schemaTypeIdentity.js +78 -0
- package/dist/compiler/schemaTypeRelations.d.ts +38 -0
- package/dist/compiler/schemaTypeRelations.d.ts.map +1 -0
- package/dist/compiler/schemaTypeRelations.js +576 -0
- package/dist/compiler/schemaUri.d.ts +13 -0
- package/dist/compiler/schemaUri.d.ts.map +1 -0
- package/dist/compiler/schemaUri.js +103 -0
- package/dist/compiler/schemaValueContext.d.ts +26 -0
- package/dist/compiler/schemaValueContext.d.ts.map +1 -0
- package/dist/compiler/schemaValueContext.js +1 -0
- package/dist/compiler/schemaValueImages.d.ts +10 -0
- package/dist/compiler/schemaValueImages.d.ts.map +1 -0
- package/dist/compiler/schemaValueImages.js +142 -0
- package/dist/compiler/schemaValueSequences.d.ts +15 -0
- package/dist/compiler/schemaValueSequences.d.ts.map +1 -0
- package/dist/compiler/schemaValueSequences.js +19 -0
- package/dist/compiler/semanticBudget.d.ts +50 -0
- package/dist/compiler/semanticBudget.d.ts.map +1 -0
- package/dist/compiler/semanticBudget.js +178 -0
- package/dist/compiler/semanticCatalog.d.ts +122 -0
- package/dist/compiler/semanticCatalog.d.ts.map +1 -0
- package/dist/compiler/semanticCatalog.js +160 -0
- package/dist/compiler/semanticContext.d.ts +172 -0
- package/dist/compiler/semanticContext.d.ts.map +1 -0
- package/dist/compiler/semanticContext.js +1168 -0
- package/dist/compiler/semanticTypeDependencies.d.ts +8 -0
- package/dist/compiler/semanticTypeDependencies.d.ts.map +1 -0
- package/dist/compiler/semanticTypeDependencies.js +64 -0
- package/dist/compiler/semanticTypeReference.d.ts +24 -0
- package/dist/compiler/semanticTypeReference.d.ts.map +1 -0
- package/dist/compiler/semanticTypeReference.js +36 -0
- package/dist/compiler/shapeResolver.d.ts +1 -0
- package/dist/compiler/shapeResolver.d.ts.map +1 -1
- package/dist/compiler/shapeResolver.js +7 -9
- package/dist/compiler/sourceSchemaBinding.d.ts +26 -0
- package/dist/compiler/sourceSchemaBinding.d.ts.map +1 -0
- package/dist/compiler/sourceSchemaBinding.js +39 -0
- package/dist/compiler/structuralCompanions.d.ts +16 -0
- package/dist/compiler/structuralCompanions.d.ts.map +1 -0
- package/dist/compiler/structuralCompanions.js +232 -0
- package/dist/compiler/validateSemanticGraph.d.ts +5 -0
- package/dist/compiler/validateSemanticGraph.d.ts.map +1 -0
- package/dist/compiler/validateSemanticGraph.js +376 -0
- package/dist/compiler/wildcardAlgebra.d.ts +26 -0
- package/dist/compiler/wildcardAlgebra.d.ts.map +1 -0
- package/dist/compiler/wildcardAlgebra.js +155 -0
- package/dist/gateway/generateGateway.d.ts.map +1 -1
- package/dist/gateway/generateGateway.js +2 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/loader/orderedSyntax.d.ts +77 -0
- package/dist/loader/orderedSyntax.d.ts.map +1 -0
- package/dist/loader/orderedSyntax.js +202 -0
- package/dist/loader/resolutionDepth.d.ts +7 -0
- package/dist/loader/resolutionDepth.d.ts.map +1 -0
- package/dist/loader/resolutionDepth.js +65 -0
- package/dist/loader/schemaInput.d.ts +53 -0
- package/dist/loader/schemaInput.d.ts.map +1 -0
- package/dist/loader/schemaInput.js +212 -0
- package/dist/loader/schemaResources.d.ts +59 -0
- package/dist/loader/schemaResources.d.ts.map +1 -0
- package/dist/loader/schemaResources.js +292 -0
- package/dist/openapi/generateOpenAPI.d.ts.map +1 -1
- package/dist/openapi/generateOpenAPI.js +2 -2
- package/dist/test/generateTests.d.ts.map +1 -1
- package/dist/test/generateTests.js +2 -2
- package/dist/util/xmlWhitespace.d.ts +3 -0
- package/dist/util/xmlWhitespace.d.ts.map +1 -0
- package/dist/util/xmlWhitespace.js +4 -0
- package/docs/README.md +14 -1
- package/docs/architecture.md +9 -0
- package/docs/cli-reference.md +21 -1
- package/docs/content-model-analysis.md +92 -0
- package/docs/content-model-baseline.md +121 -0
- package/docs/content-model-catalog.md +116 -0
- package/docs/content-model-companions.md +90 -0
- package/docs/content-model-composition.md +103 -0
- package/docs/content-model-decisions.md +79 -0
- package/docs/content-model-gateway-feasibility.md +169 -0
- package/docs/content-model-graph.md +121 -0
- package/docs/content-model-loading.md +163 -0
- package/docs/content-model-matching.md +85 -0
- package/docs/content-model-readiness.md +144 -0
- package/docs/content-model-resolution.md +81 -0
- package/docs/content-model-s02-handoff.md +98 -0
- package/docs/content-model-s06-au-01.md +425 -0
- package/docs/content-model-s06-dt-01.md +386 -0
- package/docs/content-model-s06-pw-01.md +350 -0
- package/docs/content-model-s06-re-01-resolver-implementation.md +869 -0
- package/docs/content-model-s06-re-01-resolver.md +513 -0
- package/docs/content-model-s06-re-01-scalar-witnesses.md +1423 -0
- package/docs/content-model-s06-re-01-support-reconstruction.md +6337 -0
- package/docs/content-model-s06-re-01.md +7477 -0
- package/docs/content-model-s06-research-handoff.md +909 -0
- package/docs/content-model-shipped-fix.md +83 -0
- package/docs/content-model-soap-feasibility.md +165 -0
- package/docs/decisions/002-streamable-responses.md +2 -0
- package/docs/decisions/003-content-model-contracts.md +280 -0
- package/docs/direct-values.md +311 -0
- package/docs/generated-code.md +4 -0
- package/docs/reference-validation.md +243 -0
- package/docs/releases/v1.1.4.md +36 -0
- package/docs/releases/v1.1.5.md +38 -0
- package/docs/roadmap/README.md +2 -2
- package/docs/supported-patterns.md +13 -5
- package/package.json +27 -13
- package/src/generation/preambles/direct-client/typescript.preamble +3 -0
- package/src/runtime/clientStreamMethods.tpl.txt +1 -1
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import { readParticleWildcard } from './schemaParticleWildcardProperties.js';
|
|
2
|
+
import { semanticContextGraphMetadata } from './semanticContext.js';
|
|
3
|
+
import { assertParticleContentView, particleContentNode } from './complexTypeContent.js';
|
|
4
|
+
import { analyzeOccurrences, occurrenceAlgebra } from './occurrenceAnalysis.js';
|
|
5
|
+
import { effectiveSubstitutionMembers } from './schemaTypeRelations.js';
|
|
6
|
+
import { SemanticError } from './resolveCanonicalGraph.js';
|
|
7
|
+
import { collectSemanticTypeDependencies } from './semanticTypeDependencies.js';
|
|
8
|
+
const authority = new WeakMap();
|
|
9
|
+
const cache = new WeakMap();
|
|
10
|
+
const ONE = Object.freeze({ min: '1', max: '1' });
|
|
11
|
+
const EMPTY = Object.freeze([]);
|
|
12
|
+
class Incomplete extends Error {
|
|
13
|
+
result;
|
|
14
|
+
constructor(result) {
|
|
15
|
+
super(result.kind);
|
|
16
|
+
this.result = result;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export function assertSemanticParticleView(context, view) {
|
|
20
|
+
const owner = authority.get(view);
|
|
21
|
+
if (!owner || owner !== context)
|
|
22
|
+
throw new TypeError('Unauthenticated or foreign semantic particle view');
|
|
23
|
+
assertParticleContentView(context, view.content);
|
|
24
|
+
}
|
|
25
|
+
export function prepareSemanticParticleView(context, content, purpose) {
|
|
26
|
+
assertParticleContentView(context, content);
|
|
27
|
+
const budget = context.budget, charge = (n = 1) => budget.chargeWork(n);
|
|
28
|
+
return budget.guard(() => {
|
|
29
|
+
const fail = (component, message) => {
|
|
30
|
+
charge(10 + component.length + message.length);
|
|
31
|
+
throw new Incomplete(Object.freeze({ kind: 'unresolved', rule: 'particle-view', component, message }));
|
|
32
|
+
};
|
|
33
|
+
try {
|
|
34
|
+
charge(16);
|
|
35
|
+
if (purpose !== 'declared' && purpose !== 'restriction')
|
|
36
|
+
return fail(content.type, 'Unknown particle view purpose');
|
|
37
|
+
let entries = cache.get(content);
|
|
38
|
+
if (!entries) {
|
|
39
|
+
charge(2);
|
|
40
|
+
entries = new Map();
|
|
41
|
+
cache.set(content, entries);
|
|
42
|
+
}
|
|
43
|
+
const prior = entries.get(purpose);
|
|
44
|
+
if (prior) {
|
|
45
|
+
charge(3);
|
|
46
|
+
return Object.freeze({ kind: 'checked', view: prior });
|
|
47
|
+
}
|
|
48
|
+
if (content.content.kind === 'simple' || content.content.kind === 'opaque-builtin')
|
|
49
|
+
return fail(content.type, 'Particle view requires empty or particle content');
|
|
50
|
+
const typeDependencies = collectSemanticTypeDependencies(context);
|
|
51
|
+
const memo = new Map(), active = new Set();
|
|
52
|
+
const algebra = occurrenceAlgebra(charge);
|
|
53
|
+
let serial = 0;
|
|
54
|
+
const get = (id) => particleContentNode(context, content, id) ?? fail(id, 'Missing semantic view component');
|
|
55
|
+
const target = (reference, owner) => {
|
|
56
|
+
const found = context.resolve(reference);
|
|
57
|
+
return found.kind === 'found' ? found.node : fail(owner, 'Particle target unavailable');
|
|
58
|
+
};
|
|
59
|
+
const shape = (source, kind, occurs, children, origins = [source]) => {
|
|
60
|
+
budget.reserveNodes(1);
|
|
61
|
+
charge(20 + source.length + content.contextId.length + purpose.length);
|
|
62
|
+
const id = `${content.contextId}/${purpose}/${++serial}/${source}`;
|
|
63
|
+
charge(3);
|
|
64
|
+
return { id, source, kind, occurs, children, orderBlocks: children.length ? [{ kind: 'explicit', children }] : EMPTY,
|
|
65
|
+
origins, urTypeWildcard: false, orderUnspecified: false };
|
|
66
|
+
};
|
|
67
|
+
const frame = (id) => {
|
|
68
|
+
const node = get(id);
|
|
69
|
+
if (node.kind !== 'particle')
|
|
70
|
+
return fail(id, 'Particle child must be a particle');
|
|
71
|
+
algebra.validate(node.occurs);
|
|
72
|
+
let term = node;
|
|
73
|
+
if (node.term.kind === 'group') {
|
|
74
|
+
const group = target(node.term.reference, id);
|
|
75
|
+
if (group.kind !== 'group')
|
|
76
|
+
return fail(id, 'Group use must reference a model group');
|
|
77
|
+
const groupTerm = get(group.content);
|
|
78
|
+
if (groupTerm.kind !== 'particle' || !('children' in groupTerm.term))
|
|
79
|
+
return fail(id, 'Model-group definition requires a compositor');
|
|
80
|
+
if (groupTerm.occurs.min !== '1' || groupTerm.occurs.max !== '1')
|
|
81
|
+
return fail(id, 'Named model-group compositor must have occurrence 1..1');
|
|
82
|
+
term = groupTerm;
|
|
83
|
+
}
|
|
84
|
+
charge(7);
|
|
85
|
+
return { node, term, children: 'children' in term.term
|
|
86
|
+
? context.originalCompositorChildren(term.id) ?? term.term.children : EMPTY, index: 0 };
|
|
87
|
+
};
|
|
88
|
+
const build = (f) => {
|
|
89
|
+
const { node, term } = f;
|
|
90
|
+
if (node.occurs.max === '0')
|
|
91
|
+
return undefined;
|
|
92
|
+
if (term.term.kind === 'group')
|
|
93
|
+
return fail(node.id, 'Unexpanded group reference');
|
|
94
|
+
charge(2 + f.children.length);
|
|
95
|
+
const children = [];
|
|
96
|
+
for (const id of f.children) {
|
|
97
|
+
charge(2 + id.length);
|
|
98
|
+
const child = memo.get(id);
|
|
99
|
+
if (child)
|
|
100
|
+
children.push(child);
|
|
101
|
+
}
|
|
102
|
+
let p = shape(node.id, term.term.kind, node.occurs, children, node.id === term.id ? [node.id] : [node.id, term.id]);
|
|
103
|
+
const original = context.lookup(node.id);
|
|
104
|
+
charge(1 + content.synthetic.length);
|
|
105
|
+
if (original.kind === 'found' && original.node === node && original.node.kind === 'particle'
|
|
106
|
+
|| content.synthetic.includes(node.id))
|
|
107
|
+
p.originalParticle = node.id;
|
|
108
|
+
if (term.term.kind === 'element') {
|
|
109
|
+
const declaration = target(term.term.declaration, node.id);
|
|
110
|
+
if (declaration.kind !== 'element')
|
|
111
|
+
return fail(node.id, 'Element particle requires an element declaration');
|
|
112
|
+
p.element = declaration;
|
|
113
|
+
if (purpose === 'restriction' && declaration.identity.kind === 'global') {
|
|
114
|
+
if (context.membership !== 'complete-actual-plus-additions')
|
|
115
|
+
return fail(node.id, 'Complete substitution universe required');
|
|
116
|
+
const members = effectiveSubstitutionMembers(context, declaration.id);
|
|
117
|
+
if (members.kind !== 'checked')
|
|
118
|
+
throw new Incomplete(members);
|
|
119
|
+
typeDependencies.add(members.typeDependencies);
|
|
120
|
+
charge(1 + members.value.length);
|
|
121
|
+
if (members.value.some(id => id !== declaration.id)) {
|
|
122
|
+
charge(2);
|
|
123
|
+
const virtual = [];
|
|
124
|
+
for (const id of members.value) {
|
|
125
|
+
const member = get(id);
|
|
126
|
+
if (member.kind !== 'element')
|
|
127
|
+
return fail(id, 'Substitution member is not an element');
|
|
128
|
+
const leaf = shape(node.id, 'element', ONE, EMPTY);
|
|
129
|
+
leaf.element = member;
|
|
130
|
+
charge();
|
|
131
|
+
virtual.push(leaf);
|
|
132
|
+
}
|
|
133
|
+
p.kind = 'choice';
|
|
134
|
+
p.children = virtual;
|
|
135
|
+
p.element = undefined;
|
|
136
|
+
p.orderUnspecified = true;
|
|
137
|
+
charge(4);
|
|
138
|
+
p.orderBlocks = [{ kind: 'implicit', particle: node.id, head: declaration.id, children: virtual }];
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else if (term.term.kind === 'any') {
|
|
143
|
+
p.wildcard = readParticleWildcard(context, term);
|
|
144
|
+
p.urTypeWildcard = content.urTypeWildcards.includes(term.id);
|
|
145
|
+
}
|
|
146
|
+
if (purpose !== 'restriction' || !('children' in term.term))
|
|
147
|
+
return p;
|
|
148
|
+
if (!children.length && (p.kind !== 'choice' || p.occurs.min === '0'))
|
|
149
|
+
return undefined;
|
|
150
|
+
charge(3);
|
|
151
|
+
const flattened = [], blocks = [];
|
|
152
|
+
for (const child of children) {
|
|
153
|
+
charge(4);
|
|
154
|
+
if (child.kind === p.kind && p.kind !== 'all' && child.occurs.min === '1' && child.occurs.max === '1') {
|
|
155
|
+
charge(child.children.length + child.orderBlocks.length);
|
|
156
|
+
flattened.push(...child.children);
|
|
157
|
+
blocks.push(...child.orderBlocks);
|
|
158
|
+
p.orderUnspecified ||= child.orderUnspecified;
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
charge(4);
|
|
162
|
+
flattened.push(child);
|
|
163
|
+
blocks.push({ kind: 'explicit', children: [child] });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
p.children = flattened;
|
|
167
|
+
p.orderBlocks = blocks;
|
|
168
|
+
// Flattening unit choices can remove the last comparison member.
|
|
169
|
+
if (!flattened.length && (p.kind !== 'choice' || p.occurs.min === '0'))
|
|
170
|
+
return undefined;
|
|
171
|
+
if (flattened.length === 1 && (p.kind === 'all' || p.occurs.min === '1' && p.occurs.max === '1')) {
|
|
172
|
+
const child = flattened[0];
|
|
173
|
+
charge(4 + p.origins.length + child.origins.length);
|
|
174
|
+
p = { ...child, id: p.id, originalParticle: p.originalParticle, occurs: p.kind === 'all' ? Object.freeze(algebra.product(p.occurs, child.occurs)) : child.occurs,
|
|
175
|
+
origins: Object.freeze([...p.origins, ...child.origins]) };
|
|
176
|
+
}
|
|
177
|
+
return p;
|
|
178
|
+
};
|
|
179
|
+
let root;
|
|
180
|
+
if ('particle' in content.content) {
|
|
181
|
+
charge(3);
|
|
182
|
+
const stack = [frame(content.content.particle)];
|
|
183
|
+
active.add(content.content.particle);
|
|
184
|
+
while (stack.length) {
|
|
185
|
+
charge(4);
|
|
186
|
+
const top = stack[stack.length - 1];
|
|
187
|
+
if (top.index < top.children.length) {
|
|
188
|
+
const id = top.children[top.index++];
|
|
189
|
+
charge(2 + id.length);
|
|
190
|
+
if (active.has(id))
|
|
191
|
+
return fail(id, 'Particle containment cycle');
|
|
192
|
+
if (!memo.has(id)) {
|
|
193
|
+
charge(2);
|
|
194
|
+
active.add(id);
|
|
195
|
+
stack.push(frame(id));
|
|
196
|
+
}
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
const value = build(top);
|
|
200
|
+
charge(3);
|
|
201
|
+
memo.set(top.node.id, value);
|
|
202
|
+
active.delete(top.node.id);
|
|
203
|
+
stack.pop();
|
|
204
|
+
}
|
|
205
|
+
root = memo.get(content.content.particle);
|
|
206
|
+
}
|
|
207
|
+
root ??= shape(content.type, 'sequence', ONE, EMPTY);
|
|
208
|
+
// Only the semantic particle view is analyzed. Declared source records
|
|
209
|
+
// remain immutable outside this nonpersistent graph projection.
|
|
210
|
+
charge(5);
|
|
211
|
+
const shapes = new Map(), pending = [root];
|
|
212
|
+
while (pending.length) {
|
|
213
|
+
charge(3);
|
|
214
|
+
const item = pending.pop();
|
|
215
|
+
if (shapes.has(item.id))
|
|
216
|
+
continue;
|
|
217
|
+
shapes.set(item.id, item);
|
|
218
|
+
charge(item.children.length);
|
|
219
|
+
pending.push(...item.children);
|
|
220
|
+
}
|
|
221
|
+
charge(3 + shapes.size * 2);
|
|
222
|
+
const nodes = [], declarations = new Map();
|
|
223
|
+
for (const p of shapes.values())
|
|
224
|
+
if (p.element) {
|
|
225
|
+
charge(2 + p.element.id.length);
|
|
226
|
+
declarations.set(p.element.id, p.element);
|
|
227
|
+
}
|
|
228
|
+
charge(declarations.size);
|
|
229
|
+
nodes.push(...declarations.values());
|
|
230
|
+
let wildcardRealization;
|
|
231
|
+
for (const p of shapes.values()) {
|
|
232
|
+
const original = get(p.source);
|
|
233
|
+
charge(20 + p.children.length);
|
|
234
|
+
const term = p.kind === 'element' ? Object.freeze({ kind: 'element', declaration: Object.freeze({ kind: 'local', target: p.element.id }) })
|
|
235
|
+
: p.kind === 'any' ? Object.freeze({ kind: 'any', wildcard: Object.freeze({ namespace: p.wildcard.lexical,
|
|
236
|
+
processContents: p.wildcard.processContents }) })
|
|
237
|
+
: Object.freeze({ kind: p.kind, children: Object.freeze(p.children.map(child => child.id)) });
|
|
238
|
+
if (p.wildcard?.namespace.kind === 'set' && !p.wildcard.namespace.namespaces.length) {
|
|
239
|
+
if (!wildcardRealization) {
|
|
240
|
+
charge(3);
|
|
241
|
+
wildcardRealization = new Map();
|
|
242
|
+
}
|
|
243
|
+
charge(3 + p.id.length);
|
|
244
|
+
wildcardRealization.set(p.id, false);
|
|
245
|
+
}
|
|
246
|
+
nodes.push(Object.freeze({ ...original, id: p.id, kind: 'particle', occurs: p.occurs, term }));
|
|
247
|
+
}
|
|
248
|
+
charge(18);
|
|
249
|
+
const graph = Object.freeze({ ...semanticContextGraphMetadata(context), nodes: Object.freeze(nodes), globals: EMPTY });
|
|
250
|
+
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 });
|
|
252
|
+
if (analysis.kind === 'resource-limit')
|
|
253
|
+
return analysis;
|
|
254
|
+
if (analysis.kind === 'failure')
|
|
255
|
+
return fail(analysis.diagnostic.component ?? content.type, analysis.diagnostic.message);
|
|
256
|
+
charge(4 + analysis.analysis.particles.length * 2);
|
|
257
|
+
const summaries = new Map(analysis.analysis.particles.map(row => [row.id, row]));
|
|
258
|
+
const completed = new Map();
|
|
259
|
+
charge(2);
|
|
260
|
+
const stack = [{ p: root, done: false }];
|
|
261
|
+
while (stack.length) {
|
|
262
|
+
charge(3);
|
|
263
|
+
const current = stack.pop(), p = current.p;
|
|
264
|
+
if (completed.has(p.id))
|
|
265
|
+
continue;
|
|
266
|
+
if (!current.done) {
|
|
267
|
+
charge(2 + p.children.length * 2);
|
|
268
|
+
stack.push({ p, done: true });
|
|
269
|
+
for (const child of p.children)
|
|
270
|
+
stack.push({ p: child, done: false });
|
|
271
|
+
continue;
|
|
272
|
+
}
|
|
273
|
+
charge(16 + p.children.length + p.origins.length + p.orderBlocks.length);
|
|
274
|
+
const orderBlocks = p.orderBlocks.map(block => {
|
|
275
|
+
charge(5 + block.children.length);
|
|
276
|
+
return Object.freeze({ ...block, children: Object.freeze(block.children.map(child => completed.get(child.id))) });
|
|
277
|
+
});
|
|
278
|
+
completed.set(p.id, Object.freeze({ ...p, origins: Object.freeze([...p.origins]), children: Object.freeze(p.children.map(child => completed.get(child.id))),
|
|
279
|
+
orderBlocks: Object.freeze(orderBlocks), summary: summaries.get(p.id) }));
|
|
280
|
+
}
|
|
281
|
+
charge(8);
|
|
282
|
+
const view = Object.freeze({ contextId: context.contextId, content, purpose, root: completed.get(root.id), typeDependencies: typeDependencies.snapshot() });
|
|
283
|
+
authority.set(view, context);
|
|
284
|
+
entries.set(purpose, view);
|
|
285
|
+
return Object.freeze({ kind: 'checked', view });
|
|
286
|
+
}
|
|
287
|
+
catch (error) {
|
|
288
|
+
if (error instanceof Incomplete)
|
|
289
|
+
return error.result;
|
|
290
|
+
if (error instanceof SemanticError) {
|
|
291
|
+
budget.chargeWork(10 + error.message.length);
|
|
292
|
+
return Object.freeze({ kind: 'invalid-input', rule: 'particle-view', component: error.component, message: error.message });
|
|
293
|
+
}
|
|
294
|
+
throw error;
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { SemanticContext } from './semanticContext.js';
|
|
2
|
+
import type { ResourceLimitFailure } from './semanticBudget.js';
|
|
3
|
+
export type Occurs = Readonly<{
|
|
4
|
+
min: string;
|
|
5
|
+
max: string;
|
|
6
|
+
}>;
|
|
7
|
+
export type Origin = Readonly<{
|
|
8
|
+
id: string;
|
|
9
|
+
context: {
|
|
10
|
+
source: Readonly<{
|
|
11
|
+
path: string;
|
|
12
|
+
}>;
|
|
13
|
+
};
|
|
14
|
+
}>;
|
|
15
|
+
export type NamespaceConstraint = Readonly<{
|
|
16
|
+
kind: "set" | "not";
|
|
17
|
+
namespaces: readonly string[];
|
|
18
|
+
}>;
|
|
19
|
+
export type WildcardOperand = Readonly<{
|
|
20
|
+
constraint: NamespaceConstraint;
|
|
21
|
+
processContents: "skip" | "lax" | "strict";
|
|
22
|
+
/** Original lexical/effective namespace context survives decoded constraints. */
|
|
23
|
+
lexical: Readonly<{
|
|
24
|
+
value: string;
|
|
25
|
+
effectiveNamespace: string;
|
|
26
|
+
}>;
|
|
27
|
+
}>;
|
|
28
|
+
export type DecisionParticle = Readonly<{
|
|
29
|
+
owner: Origin;
|
|
30
|
+
kind: "sequence" | "choice" | "all" | "element" | "any";
|
|
31
|
+
occurs: Occurs;
|
|
32
|
+
/** Supplied by #178; this experiment never calculates an effective range. */
|
|
33
|
+
total: Occurs;
|
|
34
|
+
members: readonly DecisionParticle[];
|
|
35
|
+
namespace?: string;
|
|
36
|
+
wildcard?: WildcardOperand;
|
|
37
|
+
}>;
|
|
38
|
+
export type Interpretation = "literal2004" | "proposed2232";
|
|
39
|
+
export type Callbacks = Readonly<{
|
|
40
|
+
arithmetic: (charge: (count?: number) => void) => {
|
|
41
|
+
validate(range: Occurs): void;
|
|
42
|
+
compare(a: string, b: string): number;
|
|
43
|
+
};
|
|
44
|
+
namespaces: (derived: DecisionParticle, base: DecisionParticle, charge: (count?: number) => void) => boolean;
|
|
45
|
+
}>;
|
|
46
|
+
export type Failure = Readonly<{
|
|
47
|
+
category: "invalid-schema" | "resource-limit";
|
|
48
|
+
message: string;
|
|
49
|
+
component: string;
|
|
50
|
+
source: Origin["context"]["source"];
|
|
51
|
+
}>;
|
|
52
|
+
export type PredicateResult = Readonly<{
|
|
53
|
+
kind: "answer";
|
|
54
|
+
validRestriction: boolean;
|
|
55
|
+
steps: number;
|
|
56
|
+
} | {
|
|
57
|
+
kind: "failure";
|
|
58
|
+
diagnostic: Failure;
|
|
59
|
+
steps: number;
|
|
60
|
+
}>;
|
|
61
|
+
export declare class ParticleWildcardInputError extends Error {
|
|
62
|
+
readonly owner: Origin;
|
|
63
|
+
constructor(message: string, owner: Origin);
|
|
64
|
+
}
|
|
65
|
+
/** Shared control flow. Callbacks exist only for pinned historical research comparisons. */
|
|
66
|
+
export declare function evaluateGroupWildcard(root: DecisionParticle, base: DecisionParticle, interpretation: Interpretation, callbacks: Callbacks, charge: (count?: number) => void, baseIsUrTypeWildcard?: boolean, currentOwner?: (owner: Origin) => void): boolean;
|
|
67
|
+
/** Internal concrete adapter for an authenticated semantic-view owner. */
|
|
68
|
+
export declare function evaluatePreparedGroupWildcard(root: DecisionParticle, base: DecisionParticle, charge: (count?: number) => void, urTypeWildcard?: boolean): boolean;
|
|
69
|
+
export declare const PW_RELATION_REQUIREMENTS: readonly ["restriction-normalized-view", "view-total-ranges-from-178", "source-local-particle-legality", "upa-edc", "enclosing-derivation"];
|
|
70
|
+
export type QualifiedWildcardResult = Readonly<{
|
|
71
|
+
kind: 'conditional-relation';
|
|
72
|
+
contextId: string;
|
|
73
|
+
ruleVersion: 'PW-R-240-v1';
|
|
74
|
+
validRestriction: boolean;
|
|
75
|
+
requirements: typeof PW_RELATION_REQUIREMENTS;
|
|
76
|
+
}> | Readonly<{
|
|
77
|
+
kind: 'input-error';
|
|
78
|
+
component: string;
|
|
79
|
+
message: string;
|
|
80
|
+
}> | ResourceLimitFailure;
|
|
81
|
+
/**
|
|
82
|
+
* Fixed semantic owners and one caller budget. This function checks the named
|
|
83
|
+
* relation over supplied normalized operands, not their normalization or schema.
|
|
84
|
+
* The actual ur-type identity exception requires a future authenticated operand
|
|
85
|
+
* adapter and is deliberately not inferred from ##any or lax spelling here.
|
|
86
|
+
*/
|
|
87
|
+
export declare function restrictParticleToWildcard(context: SemanticContext, root: DecisionParticle, base: DecisionParticle): QualifiedWildcardResult;
|
|
88
|
+
//# sourceMappingURL=particleWildcardRelation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"particleWildcardRelation.d.ts","sourceRoot":"","sources":["../../src/compiler/particleWildcardRelation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/** Shared local PW R-240 relation; normalized-view qualifications remain explicit. */
|
|
2
|
+
import { occurrenceAlgebra } from './occurrenceAnalysis.js';
|
|
3
|
+
import { namespaceAllows, namespaceSubset, processContentsRestricts } from './wildcardAlgebra.js';
|
|
4
|
+
import { assertSemanticContext } from './semanticContext.js';
|
|
5
|
+
export class ParticleWildcardInputError extends Error {
|
|
6
|
+
owner;
|
|
7
|
+
constructor(message, owner) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.owner = owner;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/** Shared control flow. Callbacks exist only for pinned historical research comparisons. */
|
|
13
|
+
export function evaluateGroupWildcard(root, base, interpretation, callbacks, charge, baseIsUrTypeWildcard = false, currentOwner) {
|
|
14
|
+
let current = base.owner;
|
|
15
|
+
currentOwner?.(current);
|
|
16
|
+
const algebra = callbacks.arithmetic(charge);
|
|
17
|
+
const within = (actual, min) => algebra.compare(actual.min, min) >= 0 && algebra.compare(actual.max, base.occurs.max) <= 0;
|
|
18
|
+
try {
|
|
19
|
+
if (base.kind !== 'any' || !base.wildcard)
|
|
20
|
+
throw new ParticleWildcardInputError('PW01 requires an original wildcard particle', current);
|
|
21
|
+
algebra.validate(base.occurs);
|
|
22
|
+
charge(2);
|
|
23
|
+
const memo = new Map();
|
|
24
|
+
const active = new Set();
|
|
25
|
+
charge(2);
|
|
26
|
+
const stack = [{ particle: root, min: base.occurs.min, index: 0, entered: false, valid: true }];
|
|
27
|
+
active.add(root);
|
|
28
|
+
while (stack.length) {
|
|
29
|
+
const frame = stack[stack.length - 1], p = frame.particle;
|
|
30
|
+
current = p.owner;
|
|
31
|
+
currentOwner?.(current);
|
|
32
|
+
charge();
|
|
33
|
+
if (!frame.entered) {
|
|
34
|
+
frame.entered = true;
|
|
35
|
+
algebra.validate(p.occurs);
|
|
36
|
+
algebra.validate(p.total);
|
|
37
|
+
frame.valid = within(p.kind === 'element' || p.kind === 'any' ? p.occurs : p.total, frame.min);
|
|
38
|
+
if (p.kind === 'any' && !p.wildcard)
|
|
39
|
+
throw new ParticleWildcardInputError('Missing wildcard operand', current);
|
|
40
|
+
if (p.kind === 'element' || p.kind === 'any')
|
|
41
|
+
frame.valid &&= callbacks.namespaces(p, base, charge);
|
|
42
|
+
if (p.kind === 'any')
|
|
43
|
+
frame.valid &&= baseIsUrTypeWildcard || processContentsRestricts(p.wildcard.processContents, base.wildcard.processContents, charge);
|
|
44
|
+
}
|
|
45
|
+
if (frame.valid && p.kind !== 'element' && p.kind !== 'any' && frame.index < p.members.length) {
|
|
46
|
+
const child = p.members[frame.index], min = interpretation === 'proposed2232' ? '0' : frame.min;
|
|
47
|
+
charge();
|
|
48
|
+
const known = memo.get(child)?.get(min);
|
|
49
|
+
if (known !== undefined) {
|
|
50
|
+
frame.valid &&= known;
|
|
51
|
+
frame.index++;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
charge();
|
|
55
|
+
if (active.has(child))
|
|
56
|
+
throw new ParticleWildcardInputError('Forbidden normalized particle cycle', child.owner);
|
|
57
|
+
charge(2);
|
|
58
|
+
active.add(child);
|
|
59
|
+
stack.push({ particle: child, min, index: 0, entered: false, valid: true });
|
|
60
|
+
}
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
charge();
|
|
64
|
+
let values = memo.get(p);
|
|
65
|
+
if (!values) {
|
|
66
|
+
charge();
|
|
67
|
+
values = new Map();
|
|
68
|
+
memo.set(p, values);
|
|
69
|
+
}
|
|
70
|
+
charge(2);
|
|
71
|
+
values.set(frame.min, frame.valid);
|
|
72
|
+
active.delete(p);
|
|
73
|
+
stack.pop();
|
|
74
|
+
if (!stack.length)
|
|
75
|
+
return frame.valid;
|
|
76
|
+
}
|
|
77
|
+
throw new Error('Missing PW01 predicate result');
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
if (error instanceof Error && 'category' in error && error.category === 'invalid-schema')
|
|
81
|
+
throw new ParticleWildcardInputError(error.message, current);
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const concreteCallbacks = Object.freeze({
|
|
86
|
+
arithmetic: (charge) => occurrenceAlgebra(charge),
|
|
87
|
+
namespaces: (derived, base, charge) => {
|
|
88
|
+
const constraint = base.wildcard.constraint;
|
|
89
|
+
return derived.kind === 'element' ? namespaceAllows(constraint, derived.namespace ?? '', charge)
|
|
90
|
+
: namespaceSubset(derived.wildcard.constraint, constraint, charge);
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
/** Internal concrete adapter for an authenticated semantic-view owner. */
|
|
94
|
+
export function evaluatePreparedGroupWildcard(root, base, charge, urTypeWildcard = false) {
|
|
95
|
+
return evaluateGroupWildcard(root, base, 'proposed2232', concreteCallbacks, charge, urTypeWildcard);
|
|
96
|
+
}
|
|
97
|
+
export const PW_RELATION_REQUIREMENTS = Object.freeze([
|
|
98
|
+
'restriction-normalized-view', 'view-total-ranges-from-178',
|
|
99
|
+
'source-local-particle-legality', 'upa-edc', 'enclosing-derivation',
|
|
100
|
+
]);
|
|
101
|
+
/**
|
|
102
|
+
* Fixed semantic owners and one caller budget. This function checks the named
|
|
103
|
+
* relation over supplied normalized operands, not their normalization or schema.
|
|
104
|
+
* The actual ur-type identity exception requires a future authenticated operand
|
|
105
|
+
* adapter and is deliberately not inferred from ##any or lax spelling here.
|
|
106
|
+
*/
|
|
107
|
+
export function restrictParticleToWildcard(context, root, base) {
|
|
108
|
+
assertSemanticContext(context);
|
|
109
|
+
const budget = context.budget;
|
|
110
|
+
return budget.guard(() => {
|
|
111
|
+
const input = budget.freeze(budget.snapshot({ root, base }));
|
|
112
|
+
budget.chargeWork(3);
|
|
113
|
+
const seen = new Set(), stack = [input.root, input.base];
|
|
114
|
+
while (stack.length) {
|
|
115
|
+
budget.chargeWork(2);
|
|
116
|
+
const particle = stack.pop();
|
|
117
|
+
if (seen.has(particle))
|
|
118
|
+
continue;
|
|
119
|
+
budget.chargeWork();
|
|
120
|
+
seen.add(particle);
|
|
121
|
+
const result = context.lookup(particle.owner.id);
|
|
122
|
+
if (result.kind !== 'found' || result.node.kind !== 'particle') {
|
|
123
|
+
budget.chargeWork(5);
|
|
124
|
+
return Object.freeze({ kind: 'input-error', component: particle.owner.id, message: 'Normalized operand requires an active original particle owner' });
|
|
125
|
+
}
|
|
126
|
+
for (const child of particle.members) {
|
|
127
|
+
budget.chargeWork();
|
|
128
|
+
stack.push(child);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
try {
|
|
132
|
+
const validRestriction = evaluateGroupWildcard(input.root, input.base, 'proposed2232', concreteCallbacks, budget.chargeWork);
|
|
133
|
+
budget.chargeWork(8);
|
|
134
|
+
return Object.freeze({ kind: 'conditional-relation', contextId: context.contextId, ruleVersion: 'PW-R-240-v1', validRestriction, requirements: PW_RELATION_REQUIREMENTS });
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
if (!(error instanceof ParticleWildcardInputError))
|
|
138
|
+
throw error;
|
|
139
|
+
budget.chargeWork(5 + error.message.length);
|
|
140
|
+
return Object.freeze({ kind: 'input-error', component: error.owner.id, message: error.message });
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/** Literal endpoint/property correspondence. No normalized-language equivalence. */
|
|
2
|
+
import type { NodeId } from './canonicalGraph.js';
|
|
3
|
+
import type { SemanticContext } from './semanticContext.js';
|
|
4
|
+
import type { ResourceLimitFailure } from './semanticBudget.js';
|
|
5
|
+
import { RE01_DERIVATION_DOMAIN } from './re01TypeProperties.js';
|
|
6
|
+
import type { ScalarObligation } from './scalarSchemaAssessment.js';
|
|
7
|
+
import type { SemanticTypeDependency, SemanticTypeReference } from './semanticTypeReference.js';
|
|
8
|
+
export type CorrespondenceFailure = Readonly<{
|
|
9
|
+
kind: 'invalid-schema' | 'candidate-rejected' | 'invalid-evidence' | 'unresolved' | 'unsupported-capability';
|
|
10
|
+
rule: string;
|
|
11
|
+
component?: NodeId;
|
|
12
|
+
contextId?: string;
|
|
13
|
+
message: string;
|
|
14
|
+
}>;
|
|
15
|
+
export type CorrespondenceReceipt = Readonly<{
|
|
16
|
+
kind: 'checked';
|
|
17
|
+
authority: typeof RE01_DERIVATION_DOMAIN;
|
|
18
|
+
parentContext: string;
|
|
19
|
+
contextId: string;
|
|
20
|
+
target: NodeId;
|
|
21
|
+
intermediate: NodeId;
|
|
22
|
+
ancestor: SemanticTypeReference;
|
|
23
|
+
originalProperties: readonly NodeId[];
|
|
24
|
+
fresh: readonly NodeId[];
|
|
25
|
+
scalarObligations: readonly Readonly<{
|
|
26
|
+
contextId: string;
|
|
27
|
+
obligation: ScalarObligation;
|
|
28
|
+
}>[];
|
|
29
|
+
typeDependencies: readonly SemanticTypeDependency[];
|
|
30
|
+
}>;
|
|
31
|
+
export type CorrespondenceResult = CorrespondenceReceipt | CorrespondenceFailure | ResourceLimitFailure;
|
|
32
|
+
export type Re01FreshAffiliationObstruction = Readonly<{
|
|
33
|
+
kind: 'proved-no-construction';
|
|
34
|
+
domain: typeof RE01_DERIVATION_DOMAIN;
|
|
35
|
+
scope: 'contextual-nonprimitive-two-step';
|
|
36
|
+
criterion: 'mandatory-fresh-affiliate-fixed-complex-ancestry';
|
|
37
|
+
actualContextId: string;
|
|
38
|
+
contextId: string;
|
|
39
|
+
target: NodeId;
|
|
40
|
+
ancestor: SemanticTypeReference;
|
|
41
|
+
affiliate: NodeId;
|
|
42
|
+
head: NodeId;
|
|
43
|
+
headType: NodeId;
|
|
44
|
+
}>;
|
|
45
|
+
export type Re01FreshAffiliationResult = Re01FreshAffiliationObstruction | Readonly<{
|
|
46
|
+
kind: 'not-established';
|
|
47
|
+
contextId: string;
|
|
48
|
+
target: NodeId;
|
|
49
|
+
message: string;
|
|
50
|
+
}> | CorrespondenceFailure | ResourceLimitFailure;
|
|
51
|
+
export declare function assertCandidateCorrespondence(context: SemanticContext, receipt: CorrespondenceReceipt): void;
|
|
52
|
+
/** The selected ancestor is computed from the complete context, never selected by a caller label. */
|
|
53
|
+
export declare function re01Ancestor(context: SemanticContext, target: NodeId): Readonly<{
|
|
54
|
+
kind: 'checked';
|
|
55
|
+
ancestor: SemanticTypeReference;
|
|
56
|
+
typeDependencies: readonly SemanticTypeDependency[];
|
|
57
|
+
}> | CorrespondenceFailure | ResourceLimitFailure;
|
|
58
|
+
/** A sufficient contextual contradiction, not a complete RE01 decision.
|
|
59
|
+
* Every fresh affiliate remains a child legality root in domain B. A complex
|
|
60
|
+
* head outside X -> E -> A's fixed chain cannot satisfy e-props-correct.4.
|
|
61
|
+
*/
|
|
62
|
+
export declare function proveRe01FreshAffiliationObstruction(actual: SemanticContext, parent: SemanticContext, target: NodeId): Re01FreshAffiliationResult;
|
|
63
|
+
export declare function checkCandidateCorrespondence(actual: SemanticContext, parent: SemanticContext, candidate: SemanticContext, target: NodeId, intermediate: NodeId, ancestor: SemanticTypeReference): CorrespondenceResult;
|
|
64
|
+
//# sourceMappingURL=re01CandidateCorrespondence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"re01CandidateCorrespondence.d.ts","sourceRoot":"","sources":["../../src/compiler/re01CandidateCorrespondence.ts"],"names":[],"mappings":"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"}
|