@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
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import { types } from "node:util";
|
|
2
|
+
const methods = new Set(["get", "put", "post", "delete", "options", "head", "patch", "trace"]);
|
|
3
|
+
const categories = {
|
|
4
|
+
schemas: "schema", responses: "response", parameters: "parameter", examples: "example",
|
|
5
|
+
requestBodies: "requestBody", headers: "header", securitySchemes: "securityScheme", links: "link",
|
|
6
|
+
callbacks: "callback", pathItems: "pathItem",
|
|
7
|
+
};
|
|
8
|
+
const dict = () => Object.create(null);
|
|
9
|
+
const record = (value, context) => {
|
|
10
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
11
|
+
throw new TypeError(`${context} must be an object`);
|
|
12
|
+
return value;
|
|
13
|
+
};
|
|
14
|
+
const items = (value, context) => {
|
|
15
|
+
if (!Array.isArray(value))
|
|
16
|
+
throw new TypeError(`${context} must be an array`);
|
|
17
|
+
return value;
|
|
18
|
+
};
|
|
19
|
+
const pointerToken = (value) => value.replaceAll("~", "~0").replaceAll("/", "~1");
|
|
20
|
+
/** Copy JSON data without invoking accessors or sharing mutable source objects.
|
|
21
|
+
* @throws For non-JSON values, accessors, proxies, sparse arrays or cycles.
|
|
22
|
+
*/
|
|
23
|
+
function copyJson(value, active = new Set()) {
|
|
24
|
+
if (value === null || typeof value === "string" || typeof value === "boolean")
|
|
25
|
+
return value;
|
|
26
|
+
if (typeof value === "number" && Number.isFinite(value))
|
|
27
|
+
return value;
|
|
28
|
+
if (!value || typeof value !== "object" || types.isProxy(value) || active.has(value))
|
|
29
|
+
throw new TypeError("Actual acyclic JSON data required");
|
|
30
|
+
if (!Array.isArray(value) && ![null, Object.prototype].includes(Object.getPrototypeOf(value)))
|
|
31
|
+
throw new TypeError("Plain JSON objects required");
|
|
32
|
+
active.add(value);
|
|
33
|
+
try {
|
|
34
|
+
if (Array.isArray(value)) {
|
|
35
|
+
if (Reflect.ownKeys(value).length !== value.length + 1)
|
|
36
|
+
throw new TypeError("Dense JSON arrays required");
|
|
37
|
+
return Array.from({ length: value.length }, (_, index) => {
|
|
38
|
+
const property = Object.getOwnPropertyDescriptor(value, String(index));
|
|
39
|
+
if (!property || !Object.hasOwn(property, "value"))
|
|
40
|
+
throw new TypeError("JSON array data properties required");
|
|
41
|
+
return copyJson(property.value, active);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
const result = dict();
|
|
45
|
+
for (const key of Reflect.ownKeys(value)) {
|
|
46
|
+
const property = Object.getOwnPropertyDescriptor(value, key);
|
|
47
|
+
if (typeof key !== "string" || !property.enumerable || !Object.hasOwn(property, "value"))
|
|
48
|
+
throw new TypeError("JSON object data properties required");
|
|
49
|
+
result[key] = copyJson(property.value, active);
|
|
50
|
+
}
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
finally {
|
|
54
|
+
active.delete(value);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function stable(value) {
|
|
58
|
+
if (Array.isArray(value))
|
|
59
|
+
return value.map(stable);
|
|
60
|
+
if (!value || typeof value !== "object")
|
|
61
|
+
return value;
|
|
62
|
+
return Object.fromEntries(Object.keys(value).sort().map(key => [key, stable(value[key])]));
|
|
63
|
+
}
|
|
64
|
+
/** Compose service-scoped OpenAPI contracts without changing SOAP client ownership.
|
|
65
|
+
* @param entries Self-contained OpenAPI 3.1 documents whose HTTP paths already contain their service prefixes.
|
|
66
|
+
* @param options Combined API metadata and default gateway servers; custom source servers remain operation-local.
|
|
67
|
+
* @returns A fresh deterministic document with qualified component names and operation identifiers.
|
|
68
|
+
* @throws For invalid JSON, duplicate service keys/paths/operation IDs, unresolved local references or unsupported relative references/schema resources.
|
|
69
|
+
* @constraints Only reference-bearing OpenAPI/JSON Schema positions are rewritten; examples, literal values and extensions remain data.
|
|
70
|
+
* @see https://spec.openapis.org/oas/v3.1.0.html Reference, Link, Security Requirement and Schema objects govern distinct reference positions.
|
|
71
|
+
*/
|
|
72
|
+
export function composeOpenApiDocuments(entries, options = {}) {
|
|
73
|
+
if (!Array.isArray(entries) || entries.length === 0)
|
|
74
|
+
throw new TypeError("At least one service document is required");
|
|
75
|
+
const input = items(copyJson(entries), "services");
|
|
76
|
+
const keys = new Set();
|
|
77
|
+
const paths = dict();
|
|
78
|
+
const components = dict();
|
|
79
|
+
const webhooks = dict();
|
|
80
|
+
const tags = dict();
|
|
81
|
+
const services = dict();
|
|
82
|
+
const rootServers = options.servers?.map(url => ({ url })) ?? [{ url: "/" }];
|
|
83
|
+
let dialect;
|
|
84
|
+
for (const entry of input.map(value => record(value, "service")).sort((left, right) => String(left.key).localeCompare(String(right.key)))) {
|
|
85
|
+
const key = entry.key;
|
|
86
|
+
if (typeof key !== "string" || !/^[a-z][a-z0-9-]*$/.test(key) || keys.has(key))
|
|
87
|
+
throw new TypeError("Unique lowercase service keys required");
|
|
88
|
+
keys.add(key);
|
|
89
|
+
const source = record(entry.document, `service ${key}`);
|
|
90
|
+
if (typeof source.openapi !== "string" || !/^3\.1\.\d+$/.test(source.openapi))
|
|
91
|
+
throw new TypeError("OpenAPI 3.1 documents required");
|
|
92
|
+
record(source.info, "OpenAPI info");
|
|
93
|
+
const sourcePaths = record(source.paths, "OpenAPI paths");
|
|
94
|
+
const sourceComponents = source.components === undefined ? dict() : record(source.components, "OpenAPI components");
|
|
95
|
+
const sourceDialect = source.jsonSchemaDialect ?? "https://spec.openapis.org/oas/3.1/dialect/base";
|
|
96
|
+
if (typeof sourceDialect !== "string" || dialect !== undefined && dialect !== sourceDialect)
|
|
97
|
+
throw new TypeError("Source schema dialects must agree");
|
|
98
|
+
dialect = sourceDialect;
|
|
99
|
+
const qualified = (name) => `${key}__${name}`;
|
|
100
|
+
const operationIds = new Map();
|
|
101
|
+
const operationNodes = new Set();
|
|
102
|
+
const sourceRootServers = source.servers === undefined ? undefined : items(source.servers, "servers");
|
|
103
|
+
const defaultSourceServer = JSON.stringify(sourceRootServers) === '[{"url":"/"}]';
|
|
104
|
+
const effectiveServers = options.servers && defaultSourceServer ? undefined : sourceRootServers;
|
|
105
|
+
const defaultSecurity = source.security;
|
|
106
|
+
function resolve(tokens, reference) {
|
|
107
|
+
let target = source;
|
|
108
|
+
for (const token of tokens) {
|
|
109
|
+
if (!target || typeof target !== "object" || !Object.hasOwn(target, token))
|
|
110
|
+
throw new TypeError(`Unresolved local reference ${reference} in ${key}`);
|
|
111
|
+
target = target[token];
|
|
112
|
+
}
|
|
113
|
+
return target;
|
|
114
|
+
}
|
|
115
|
+
function reference(value, operation = false) {
|
|
116
|
+
if (typeof value !== "string" || value.length === 0)
|
|
117
|
+
throw new TypeError("Reference must be a nonempty string");
|
|
118
|
+
if (!value.startsWith("#")) {
|
|
119
|
+
try {
|
|
120
|
+
new URL(value);
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
throw new TypeError(`Relative external references need resolution before composition: ${value}`);
|
|
124
|
+
}
|
|
125
|
+
return value;
|
|
126
|
+
}
|
|
127
|
+
let fragment;
|
|
128
|
+
try {
|
|
129
|
+
fragment = decodeURIComponent(value.slice(1));
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
throw new TypeError(`Invalid reference ${value}`);
|
|
133
|
+
}
|
|
134
|
+
if (!fragment.startsWith("/") || /~(?![01])/u.test(fragment))
|
|
135
|
+
throw new TypeError(`Unsupported local reference ${value}`);
|
|
136
|
+
const tokens = fragment.slice(1).split("/").map(token => token.replaceAll("~1", "/").replaceAll("~0", "~"));
|
|
137
|
+
const target = resolve(tokens, value);
|
|
138
|
+
if (operation && (!target || typeof target !== "object" || Array.isArray(target) || !operationNodes.has(target)))
|
|
139
|
+
throw new TypeError(`operationRef does not resolve to an operation: ${value}`);
|
|
140
|
+
if (tokens[0] === "components" && tokens.length >= 3)
|
|
141
|
+
tokens[2] = qualified(tokens[2]);
|
|
142
|
+
else if (tokens[0] === "webhooks" && tokens.length >= 2)
|
|
143
|
+
tokens[1] = qualified(tokens[1]);
|
|
144
|
+
else if (tokens[0] !== "paths")
|
|
145
|
+
throw new TypeError(`Reference target cannot be retained during composition: ${value}`);
|
|
146
|
+
return "#/" + tokens.map(token => encodeURIComponent(pointerToken(token))).join("/");
|
|
147
|
+
}
|
|
148
|
+
function security(value) {
|
|
149
|
+
return items(value, "security").map(requirement => Object.fromEntries(Object.entries(record(requirement, "security requirement")).map(([name, scopes]) => {
|
|
150
|
+
if (!Object.hasOwn(record(sourceComponents.securitySchemes, "securitySchemes"), name))
|
|
151
|
+
throw new TypeError(`Missing security scheme ${name}`);
|
|
152
|
+
if (!items(scopes, "security scopes").every(scope => typeof scope === "string"))
|
|
153
|
+
throw new TypeError("Security scopes must be strings");
|
|
154
|
+
return [qualified(name), scopes];
|
|
155
|
+
})));
|
|
156
|
+
}
|
|
157
|
+
function map(value, kind, scan, extensions = false) {
|
|
158
|
+
return Object.fromEntries(Object.entries(record(value, `${kind} map`)).map(([name, child]) => [name,
|
|
159
|
+
extensions && name.startsWith("x-") ? child : walk(child, kind, scan)]));
|
|
160
|
+
}
|
|
161
|
+
function walk(value, kind, scan, inheritedServers = effectiveServers) {
|
|
162
|
+
if (kind === "data")
|
|
163
|
+
return value;
|
|
164
|
+
if (kind === "schema" && typeof value === "boolean")
|
|
165
|
+
return value;
|
|
166
|
+
const node = record(value, kind);
|
|
167
|
+
const out = { ...node };
|
|
168
|
+
if (kind === "operation" && scan) {
|
|
169
|
+
operationNodes.add(node);
|
|
170
|
+
if (node.operationId !== undefined) {
|
|
171
|
+
if (typeof node.operationId !== "string" || !node.operationId || operationIds.has(node.operationId))
|
|
172
|
+
throw new TypeError(`Duplicate or invalid operationId in ${key}`);
|
|
173
|
+
operationIds.set(node.operationId, node);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (Object.hasOwn(node, "$ref") && !scan)
|
|
177
|
+
out.$ref = reference(node.$ref);
|
|
178
|
+
const array = (name, childKind) => { if (node[name] !== undefined)
|
|
179
|
+
out[name] = items(node[name], name).map(child => walk(child, childKind, scan)); };
|
|
180
|
+
const child = (name, childKind) => { if (node[name] !== undefined)
|
|
181
|
+
out[name] = walk(node[name], childKind, scan); };
|
|
182
|
+
const keyed = (name, childKind, extensions = false) => { if (node[name] !== undefined)
|
|
183
|
+
out[name] = map(node[name], childKind, scan, extensions); };
|
|
184
|
+
if (kind === "schema") {
|
|
185
|
+
if (["$id", "$anchor", "$dynamicAnchor", "$vocabulary"].some(name => Object.hasOwn(node, name)))
|
|
186
|
+
throw new TypeError("Resolve schema resources/anchors before OpenAPI composition");
|
|
187
|
+
if (node.$dynamicRef !== undefined && !scan)
|
|
188
|
+
out.$dynamicRef = reference(node.$dynamicRef);
|
|
189
|
+
for (const name of ["properties", "patternProperties", "dependentSchemas", "$defs", "definitions"])
|
|
190
|
+
keyed(name, "schema");
|
|
191
|
+
for (const name of ["allOf", "anyOf", "oneOf", "prefixItems"])
|
|
192
|
+
array(name, "schema");
|
|
193
|
+
for (const name of ["items", "contains", "additionalProperties", "unevaluatedProperties", "unevaluatedItems", "propertyNames", "not", "if", "then", "else", "additionalItems"])
|
|
194
|
+
child(name, "schema");
|
|
195
|
+
if (node.discriminator !== undefined && !scan) {
|
|
196
|
+
const discriminator = record(node.discriminator, "discriminator");
|
|
197
|
+
const mapping = discriminator.mapping;
|
|
198
|
+
if (mapping !== undefined)
|
|
199
|
+
out.discriminator = { ...discriminator, mapping: Object.fromEntries(Object.entries(record(mapping, "discriminator mapping")).map(([name, target]) => {
|
|
200
|
+
if (typeof target !== "string")
|
|
201
|
+
throw new TypeError("Discriminator targets must be strings");
|
|
202
|
+
const schemas = record(sourceComponents.schemas, "schemas");
|
|
203
|
+
return [name, Object.hasOwn(schemas, target) ? qualified(target) : reference(target)];
|
|
204
|
+
})) };
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
else if (kind === "pathItem") {
|
|
208
|
+
array("parameters", "parameter");
|
|
209
|
+
const servers = node.servers === undefined ? inheritedServers : items(node.servers, "path servers");
|
|
210
|
+
for (const method of methods)
|
|
211
|
+
if (node[method] !== undefined)
|
|
212
|
+
out[method] = walk(node[method], "operation", scan, servers);
|
|
213
|
+
}
|
|
214
|
+
else if (kind === "operation") {
|
|
215
|
+
array("parameters", "parameter");
|
|
216
|
+
child("requestBody", "requestBody");
|
|
217
|
+
keyed("responses", "response", true);
|
|
218
|
+
keyed("callbacks", "callback");
|
|
219
|
+
if (!scan) {
|
|
220
|
+
if (node.operationId !== undefined)
|
|
221
|
+
out.operationId = `${key}.${node.operationId}`;
|
|
222
|
+
if (node.security !== undefined || defaultSecurity !== undefined)
|
|
223
|
+
out.security = security(node.security ?? defaultSecurity);
|
|
224
|
+
if (node.servers === undefined && inheritedServers !== undefined && JSON.stringify(inheritedServers) !== JSON.stringify(rootServers))
|
|
225
|
+
out.servers = inheritedServers;
|
|
226
|
+
if (node.tags !== undefined)
|
|
227
|
+
out.tags = items(node.tags, "tags").map(tag => { if (typeof tag !== "string")
|
|
228
|
+
throw new TypeError("Tags must be strings"); return `${key}.${tag}`; });
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
else if (kind === "parameter" || kind === "header" || kind === "mediaType") {
|
|
232
|
+
child("schema", "schema");
|
|
233
|
+
keyed("examples", "example");
|
|
234
|
+
keyed("content", "mediaType");
|
|
235
|
+
keyed("encoding", "encoding");
|
|
236
|
+
if (kind === "mediaType" && node["x-wsdl-tsc-stream"] !== undefined) {
|
|
237
|
+
// @why Generated stream consumers discover record schemas here; unrelated extension payloads may contain literal $ref data.
|
|
238
|
+
const stream = record(node["x-wsdl-tsc-stream"], "stream metadata");
|
|
239
|
+
out["x-wsdl-tsc-stream"] = { ...stream,
|
|
240
|
+
...(stream.itemSchema === undefined ? {} : { itemSchema: walk(stream.itemSchema, "schema", scan) }) };
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
else if (kind === "encoding")
|
|
244
|
+
keyed("headers", "header");
|
|
245
|
+
else if (kind === "requestBody")
|
|
246
|
+
keyed("content", "mediaType");
|
|
247
|
+
else if (kind === "response") {
|
|
248
|
+
keyed("headers", "header");
|
|
249
|
+
keyed("content", "mediaType");
|
|
250
|
+
keyed("links", "link");
|
|
251
|
+
}
|
|
252
|
+
else if (kind === "callback") {
|
|
253
|
+
for (const [expression, pathItem] of Object.entries(node))
|
|
254
|
+
if (expression !== "$ref" && !expression.startsWith("x-"))
|
|
255
|
+
out[expression] = walk(pathItem, "pathItem", scan);
|
|
256
|
+
}
|
|
257
|
+
else if (kind === "link" && !scan) {
|
|
258
|
+
if (node.operationId !== undefined && node.operationRef !== undefined)
|
|
259
|
+
throw new TypeError("A link cannot set both operationId and operationRef");
|
|
260
|
+
if (node.operationId !== undefined) {
|
|
261
|
+
if (typeof node.operationId !== "string" || !operationIds.has(node.operationId))
|
|
262
|
+
throw new TypeError(`Unresolved link operationId ${String(node.operationId)}`);
|
|
263
|
+
out.operationId = `${key}.${node.operationId}`;
|
|
264
|
+
}
|
|
265
|
+
if (node.operationRef !== undefined)
|
|
266
|
+
out.operationRef = reference(node.operationRef, true);
|
|
267
|
+
}
|
|
268
|
+
return out;
|
|
269
|
+
}
|
|
270
|
+
for (const [route, value] of Object.entries(sourcePaths))
|
|
271
|
+
if (!route.startsWith("x-"))
|
|
272
|
+
walk(value, "pathItem", true);
|
|
273
|
+
if (source.webhooks !== undefined)
|
|
274
|
+
map(source.webhooks, "pathItem", true);
|
|
275
|
+
for (const [category, values] of Object.entries(sourceComponents)) {
|
|
276
|
+
if (category.startsWith("x-"))
|
|
277
|
+
continue;
|
|
278
|
+
if (!Object.hasOwn(categories, category))
|
|
279
|
+
throw new TypeError(`Unsupported OpenAPI component category ${category}`);
|
|
280
|
+
map(values, categories[category], true);
|
|
281
|
+
}
|
|
282
|
+
for (const [route, value] of Object.entries(sourcePaths)) {
|
|
283
|
+
if (route.startsWith("x-"))
|
|
284
|
+
continue;
|
|
285
|
+
if (!route.startsWith("/") || Object.hasOwn(paths, route))
|
|
286
|
+
throw new TypeError(`Duplicate or invalid final path ${route}`);
|
|
287
|
+
paths[route] = record(walk(value, "pathItem", false), "path item");
|
|
288
|
+
}
|
|
289
|
+
if (source.webhooks !== undefined)
|
|
290
|
+
for (const [name, value] of Object.entries(record(source.webhooks, "webhooks")))
|
|
291
|
+
webhooks[qualified(name)] = walk(value, "pathItem", false);
|
|
292
|
+
for (const [category, values] of Object.entries(sourceComponents)) {
|
|
293
|
+
if (category.startsWith("x-"))
|
|
294
|
+
continue;
|
|
295
|
+
const destination = components[category] ??= dict();
|
|
296
|
+
for (const [name, value] of Object.entries(record(values, "components")))
|
|
297
|
+
destination[qualified(name)] = walk(value, categories[category], false);
|
|
298
|
+
}
|
|
299
|
+
if (source.tags !== undefined)
|
|
300
|
+
for (const value of items(source.tags, "tags")) {
|
|
301
|
+
const tag = record(value, "tag");
|
|
302
|
+
if (typeof tag.name !== "string")
|
|
303
|
+
throw new TypeError("Tag name must be a string");
|
|
304
|
+
tags[`${key}.${tag.name}`] = { ...tag, name: `${key}.${tag.name}` };
|
|
305
|
+
}
|
|
306
|
+
services[key] = { info: source.info,
|
|
307
|
+
extensions: Object.fromEntries(Object.entries(source).filter(([name]) => name.startsWith("x-"))),
|
|
308
|
+
componentExtensions: Object.fromEntries(Object.entries(sourceComponents).filter(([name]) => name.startsWith("x-"))),
|
|
309
|
+
pathExtensions: Object.fromEntries(Object.entries(sourcePaths).filter(([name]) => name.startsWith("x-"))) };
|
|
310
|
+
}
|
|
311
|
+
const info = { title: options.title ?? "Composed SOAP API", version: options.version ?? "0.0.0" };
|
|
312
|
+
if (options.description !== undefined)
|
|
313
|
+
info.description = options.description;
|
|
314
|
+
const result = { openapi: "3.1.0", info, servers: rootServers, paths, components, "x-wsdl-tsc-services": services };
|
|
315
|
+
if (Object.keys(webhooks).length)
|
|
316
|
+
result.webhooks = webhooks;
|
|
317
|
+
if (Object.keys(tags).length)
|
|
318
|
+
result.tags = Object.keys(tags).sort().map(name => tags[name]);
|
|
319
|
+
if (dialect !== "https://spec.openapis.org/oas/3.1/dialect/base")
|
|
320
|
+
result.jsonSchemaDialect = dialect;
|
|
321
|
+
return stable(result);
|
|
322
|
+
}
|
|
@@ -42,4 +42,3 @@ export type ComponentsSchemas = Record<string, any>;
|
|
|
42
42
|
* const schemas = generateSchemas(compiledCatalog, { closedSchemas: true, pruneUnusedSchemas: true });
|
|
43
43
|
*/
|
|
44
44
|
export declare function generateSchemas(compiled: CompiledCatalog, opts: GenerateSchemasOptions): ComponentsSchemas;
|
|
45
|
-
//# sourceMappingURL=generateSchemas.d.ts.map
|
package/dist/pipeline.d.ts
CHANGED
|
@@ -21,8 +21,11 @@ import { type StreamConfig } from "./util/streamConfig.js";
|
|
|
21
21
|
* @property {"copy"|"reference"} [app.openapiMode] - How to handle OpenAPI file (default: "copy")
|
|
22
22
|
*/
|
|
23
23
|
export interface PipelineOptions {
|
|
24
|
+
/** Additive preview selection; omission preserves the legacy pipeline. */
|
|
25
|
+
model?: 'legacy' | 'checked-components-v1';
|
|
26
|
+
checkedComponents?: Partial<import('./checkedPipeline.js').CheckedComponentOptions>;
|
|
24
27
|
wsdl: string;
|
|
25
|
-
catalogOut
|
|
28
|
+
catalogOut?: string;
|
|
26
29
|
clientOutDir?: string;
|
|
27
30
|
compiler?: Partial<CompilerOptions>;
|
|
28
31
|
openapi?: Omit<GenerateOpenAPIOptions, "wsdl" | "catalogFile" | "compiledCatalog"> & {
|
|
@@ -50,7 +53,7 @@ export interface PipelineOptions {
|
|
|
50
53
|
/**
|
|
51
54
|
* Path to a stream configuration JSON file. Loaded and parsed once before
|
|
52
55
|
* compilation; the parsed value takes precedence over `streamConfig` when
|
|
53
|
-
* both are set.
|
|
56
|
+
* both are set. Unlisted operations retain their buffered API selection.
|
|
54
57
|
*/
|
|
55
58
|
streamConfigFile?: string;
|
|
56
59
|
/**
|
|
@@ -78,5 +81,6 @@ export interface PipelineOptions {
|
|
|
78
81
|
export declare function runGenerationPipeline(opts: PipelineOptions): Promise<{
|
|
79
82
|
compiled: any;
|
|
80
83
|
openapiDoc?: any;
|
|
84
|
+
checked?: import('./checkedPipeline.js').CheckedInventory;
|
|
85
|
+
planning?: import('./checkedPlanning.js').CheckedComponentPlan;
|
|
81
86
|
}>;
|
|
82
|
-
//# sourceMappingURL=pipeline.d.ts.map
|
package/dist/pipeline.js
CHANGED
|
@@ -21,6 +21,7 @@ import { resolveCompilerOptions } from "./config.js";
|
|
|
21
21
|
import { emitClientArtifacts, reportCompilationStats, reportOpenApiSuccess, success } from "./util/cli.js";
|
|
22
22
|
import { loadStreamConfigFile } from "./util/streamConfig.js";
|
|
23
23
|
import { applyShapeCatalogs } from "./compiler/shapeResolver.js";
|
|
24
|
+
import { deriveClientName } from "./util/tools.js";
|
|
24
25
|
/**
|
|
25
26
|
* Runs the complete generation pipeline from WSDL to TypeScript artifacts and optionally OpenAPI/Gateway/App
|
|
26
27
|
*
|
|
@@ -37,6 +38,19 @@ import { applyShapeCatalogs } from "./compiler/shapeResolver.js";
|
|
|
37
38
|
* @returns {Promise<{compiled: any; openapiDoc?: any}>} - The compiled catalog and optional OpenAPI document
|
|
38
39
|
*/
|
|
39
40
|
export async function runGenerationPipeline(opts) {
|
|
41
|
+
if (Object.hasOwn(opts, 'checkedDirect'))
|
|
42
|
+
throw new Error('The unpublished checkedDirect generation option has been removed; use checked-components-v1');
|
|
43
|
+
if (opts.model === 'checked-components-v1') {
|
|
44
|
+
const { runCheckedPipeline } = await import('./checkedPipeline.js');
|
|
45
|
+
return runCheckedPipeline(opts);
|
|
46
|
+
}
|
|
47
|
+
if (opts.model !== undefined && opts.model !== 'legacy') {
|
|
48
|
+
throw new Error('Supported generation models are legacy and checked-components-v1');
|
|
49
|
+
}
|
|
50
|
+
if (opts.checkedComponents !== undefined)
|
|
51
|
+
throw new Error('Explicit model checked-components-v1 is required for component configuration');
|
|
52
|
+
if (!opts.catalogOut)
|
|
53
|
+
throw new Error('Legacy pipeline requires catalogOut');
|
|
40
54
|
// Determine a working directory for the compiler (used for relative path resolution)
|
|
41
55
|
// Use the first available output location as the base
|
|
42
56
|
const workingDir = opts.clientOutDir
|
|
@@ -116,6 +130,7 @@ export async function runGenerationPipeline(opts) {
|
|
|
116
130
|
clientDir: opts.clientOutDir ? path.resolve(opts.clientOutDir) : undefined,
|
|
117
131
|
// Reuse the same imports mode as the TypeScript client/types/utils emitters
|
|
118
132
|
imports: finalCompiler.imports,
|
|
133
|
+
clientClassName: opts.gateway.clientClassName ?? deriveClientName(compiled),
|
|
119
134
|
// Pass catalog for runtime unwrap generation
|
|
120
135
|
catalogFile: path.resolve(opts.catalogOut),
|
|
121
136
|
// Thread flatten flag from OpenAPI options
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface GenerateCheckedTestsOptions {
|
|
2
|
+
readonly testDir: string;
|
|
3
|
+
readonly appDir: string;
|
|
4
|
+
readonly clientDir: string;
|
|
5
|
+
readonly routePath: string;
|
|
6
|
+
readonly force?: boolean;
|
|
7
|
+
readonly routePaths?: readonly string[];
|
|
8
|
+
readonly sourceFile: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Emits runnable host checks without authorizing any production transaction.
|
|
12
|
+
* @param options - Explicit project paths and the selected generated operation route.
|
|
13
|
+
* @returns Resolves after writing missing scaffold tests.
|
|
14
|
+
* @throws If writing or preamble resolution fails.
|
|
15
|
+
* @sideEffects Creates a test file, preserving an existing file unless forced.
|
|
16
|
+
*/
|
|
17
|
+
export declare function generateCheckedTests(options: GenerateCheckedTestsOptions): Promise<void>;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emits consumer-owned checks for the checked gateway scaffold.
|
|
3
|
+
* @since 1.1.6
|
|
4
|
+
* @constraints These checks are distinct from independently specified SOAP wire/business oracles.
|
|
5
|
+
*/
|
|
6
|
+
import fs from 'node:fs';
|
|
7
|
+
import path from 'node:path';
|
|
8
|
+
import { writeGeneratedSource } from '../generation/writeGeneratedSource.js';
|
|
9
|
+
/**
|
|
10
|
+
* Emits runnable host checks without authorizing any production transaction.
|
|
11
|
+
* @param options - Explicit project paths and the selected generated operation route.
|
|
12
|
+
* @returns Resolves after writing missing scaffold tests.
|
|
13
|
+
* @throws If writing or preamble resolution fails.
|
|
14
|
+
* @sideEffects Creates a test file, preserving an existing file unless forced.
|
|
15
|
+
*/
|
|
16
|
+
export async function generateCheckedTests(options) {
|
|
17
|
+
const testDir = path.resolve(options.testDir);
|
|
18
|
+
let serverImport = path.relative(testDir, path.join(options.appDir, 'server.js')).split(path.sep).join('/');
|
|
19
|
+
if (!serverImport.startsWith('.'))
|
|
20
|
+
serverImport = './' + serverImport;
|
|
21
|
+
const localSource = path.relative(testDir, options.sourceFile).split(path.sep).join('/');
|
|
22
|
+
const fileRoot = path.relative(testDir, options.clientDir).split(path.sep).join('/');
|
|
23
|
+
fs.mkdirSync(testDir, { recursive: true });
|
|
24
|
+
const destination = path.join(testDir, 'checked-scaffold.test.ts');
|
|
25
|
+
if (!options.force && fs.existsSync(destination))
|
|
26
|
+
return;
|
|
27
|
+
writeGeneratedSource(destination, `import {afterEach, describe, expect, it} from 'vitest';
|
|
28
|
+
import {fileURLToPath} from 'node:url';
|
|
29
|
+
import {buildServer} from ${JSON.stringify(serverImport)};
|
|
30
|
+
|
|
31
|
+
describe('generated scaffold checks (independent wire/business oracles are separate)', () => {
|
|
32
|
+
let app: Awaited<ReturnType<typeof buildServer>> | undefined;
|
|
33
|
+
afterEach(async () => {await app?.close();});
|
|
34
|
+
async function host() {
|
|
35
|
+
app = await buildServer({
|
|
36
|
+
localSource: fileURLToPath(new URL(${JSON.stringify(localSource)}, import.meta.url)),
|
|
37
|
+
fileRoots: [fileURLToPath(new URL(${JSON.stringify(fileRoot + '/')}, import.meta.url))],
|
|
38
|
+
endpoint: 'http://127.0.0.1:1/soap',
|
|
39
|
+
allowedEndpoints: [],
|
|
40
|
+
sourceResources: [], sourceOrigins: [],
|
|
41
|
+
});
|
|
42
|
+
return app;
|
|
43
|
+
}
|
|
44
|
+
it('serves health and selected OpenAPI without upstream SOAP calls', async () => {
|
|
45
|
+
const server = await host();
|
|
46
|
+
expect((await server.inject({method: 'GET', url: '/health'})).json()).toEqual({status: 'ok'});
|
|
47
|
+
const spec = (await server.inject({method: 'GET', url: '/openapi.json'})).json();
|
|
48
|
+
expect(spec.openapi).toBe('3.1.1');
|
|
49
|
+
for (const route of ${JSON.stringify(options.routePaths ?? [options.routePath])}) expect(spec.paths).toHaveProperty(route);
|
|
50
|
+
});
|
|
51
|
+
it.each(${JSON.stringify(options.routePaths ?? [options.routePath])})('rejects an invalid shape before upstream dispatch: %s', async route => {
|
|
52
|
+
const server = await host();
|
|
53
|
+
// @constraints Every supported checked root is non-nullable; no field spelling is reserved for test sentinels.
|
|
54
|
+
const response = await server.inject({method: 'POST', url: route,
|
|
55
|
+
headers: {'content-type': 'application/json'}, payload: 'null'});
|
|
56
|
+
expect(response.statusCode).toBe(400);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
`, 'test');
|
|
60
|
+
}
|
|
@@ -71,4 +71,3 @@ export declare function emitEnvelopeBuildersTest(testDir: string, gatewayDir: st
|
|
|
71
71
|
* Returns null if no array wrappers exist in the catalog.
|
|
72
72
|
*/
|
|
73
73
|
export declare function emitUnwrapTest(testDir: string, gatewayDir: string, importsMode: "js" | "ts" | "bare", catalog: CatalogForMocks): string | null;
|
|
74
|
-
//# sourceMappingURL=generators.d.ts.map
|
package/dist/test/mockData.d.ts
CHANGED
package/dist/test/mockData.js
CHANGED
|
@@ -119,14 +119,8 @@ export function generateMockData(typeName, catalog, opts, visited, depth) {
|
|
|
119
119
|
const value = generateMockPrimitive(propType, propName);
|
|
120
120
|
result[propName] = isArray ? [value] : value;
|
|
121
121
|
}
|
|
122
|
-
else if (catalog.aliases?.some(alias => alias.name === propType)) {
|
|
123
|
-
const alias = catalog.aliases.find(entry => entry.name === propType);
|
|
124
|
-
const value = generateMockPrimitive(alias.tsType, propName);
|
|
125
|
-
result[propName] = isArray ? [value] : value;
|
|
126
|
-
}
|
|
127
122
|
else {
|
|
128
|
-
|
|
129
|
-
const childData = generateMockData(propType, catalog, opts, newVisited, currentDepth + 1);
|
|
123
|
+
const childData = generateMockValue(propType, propName, catalog, opts, newVisited, currentDepth + 1);
|
|
130
124
|
result[propName] = isArray ? [childData] : childData;
|
|
131
125
|
}
|
|
132
126
|
}
|
|
@@ -155,14 +149,26 @@ export function generateMockData(typeName, catalog, opts, visited, depth) {
|
|
|
155
149
|
}
|
|
156
150
|
return result;
|
|
157
151
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
152
|
+
/** Resolve aliases before choosing scalar or structured mock generation; cycles terminate without inventing text. */
|
|
153
|
+
function generateMockValue(typeName, propName, catalog, opts, visited = new Set(), depth = 0) {
|
|
154
|
+
const aliasNames = new Set();
|
|
155
|
+
let resolved = typeName;
|
|
156
|
+
while (true) {
|
|
157
|
+
const alias = catalog.aliases?.find(a => a.name === resolved);
|
|
158
|
+
if (!alias)
|
|
159
|
+
break;
|
|
160
|
+
if (aliasNames.has(resolved) || visited.has(resolved))
|
|
161
|
+
return {};
|
|
162
|
+
aliasNames.add(resolved);
|
|
163
|
+
resolved = alias.tsType;
|
|
164
164
|
}
|
|
165
|
-
|
|
165
|
+
if (resolved === 'string' || resolved === 'number' || resolved === 'boolean' || aliasNames.size && !catalog.types?.some(type => type.name === resolved) && !catalog.meta?.childType?.[resolved] && !catalog.meta?.attrType?.[resolved]) {
|
|
166
|
+
return generateMockPrimitive(resolved, propName);
|
|
167
|
+
}
|
|
168
|
+
return generateMockData(resolved, catalog, opts, visited, depth);
|
|
169
|
+
}
|
|
170
|
+
function generateOperationPayload(typeName, catalog) {
|
|
171
|
+
return typeName ? generateMockValue(typeName, typeName, catalog) : {};
|
|
166
172
|
}
|
|
167
173
|
/**
|
|
168
174
|
* Generates mock request and response data for all operations in the catalog.
|
package/dist/util/builder.d.ts
CHANGED
|
@@ -22,4 +22,3 @@ export declare function buildCompilerOptionsFromArgv(argv: any): Partial<Compile
|
|
|
22
22
|
* @returns Partial OpenAPI options (excluding wsdl/catalogFile/compiledCatalog/outFile)
|
|
23
23
|
*/
|
|
24
24
|
export declare function buildOpenApiOptionsFromArgv(argv: any, format: "json" | "yaml" | "both" | undefined, servers: string[]): Omit<GenerateOpenAPIOptions, "wsdl" | "catalogFile" | "compiledCatalog" | "outFile">;
|
|
25
|
-
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -30,4 +30,3 @@ export declare function detectChildrenTypes(childTypeMap: Record<string, Record<
|
|
|
30
30
|
* Recursion follows the childType map.
|
|
31
31
|
*/
|
|
32
32
|
export declare function flattenMockPayload(data: Record<string, unknown>, typeName: string, childTypeMap: Record<string, Record<string, string>>, arrayWrappers: Record<string, string>): Record<string, unknown>;
|
|
33
|
-
//# sourceMappingURL=catalogMeta.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Presents checked planning refusals without changing their structured report.
|
|
3
|
+
* @since Unreleased
|
|
4
|
+
*/
|
|
5
|
+
import type { CheckedComponentPlan } from '../checkedPlanning.js';
|
|
6
|
+
/**
|
|
7
|
+
* Formats each refusal with its construct, reason and next action.
|
|
8
|
+
* @param report Diagnostic data from the unchanged native planning path.
|
|
9
|
+
* @returns Human-readable diagnostics without a stack trace or dumped report object.
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatCheckedCliRefusal(report: CheckedComponentPlan): string;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formats each refusal with its construct, reason and next action.
|
|
3
|
+
* @param report Diagnostic data from the unchanged native planning path.
|
|
4
|
+
* @returns Human-readable diagnostics without a stack trace or dumped report object.
|
|
5
|
+
*/
|
|
6
|
+
export function formatCheckedCliRefusal(report) {
|
|
7
|
+
return report.blockers.map(blocker => {
|
|
8
|
+
const location = blocker.source
|
|
9
|
+
? `${blocker.source.path} at ${blocker.source.resource}:${blocker.source.line}:${blocker.source.column}`
|
|
10
|
+
: blocker.pointer;
|
|
11
|
+
const ambiguous = blocker.stage === 'selection' && blocker.category === 'ambiguous-selection';
|
|
12
|
+
const operations = [...new Set(blocker.affected.map(selector => selector.operation))];
|
|
13
|
+
const reason = blocker.reason === 'multiple-service-port-binding-candidates'
|
|
14
|
+
? 'The WSDL has multiple service, port or binding choices.' : blocker.reason;
|
|
15
|
+
const choices = [...new Set(report.candidates.map(candidate => `{${candidate.service.namespace}}${candidate.service.local} / ${candidate.port}`))].join(', ');
|
|
16
|
+
const action = ambiguous
|
|
17
|
+
? `Set service, port and selectors in a JSON file passed with --checked-config. Available choices: ${choices || 'see the planning report'}. Use --checked-report for operation candidates. Legacy mode (--model legacy) has a separate support profile.`
|
|
18
|
+
: `${blocker.action} See ${blocker.pointer}; use --checked-report to save the structured diagnostics.`;
|
|
19
|
+
return [`Checked generation refused: ${blocker.category}.`, `Construct: ${location}${operations.length ? '; operations: ' + operations.join(', ') : ''}`,
|
|
20
|
+
`Reason: ${reason}`, `Next: ${action}`].join('\n');
|
|
21
|
+
}).join('\n\n');
|
|
22
|
+
}
|
package/dist/util/cli.d.ts
CHANGED
|
@@ -107,4 +107,3 @@ export declare function emitClientArtifacts(outDir: string, compiled: any, gener
|
|
|
107
107
|
* @throws Error if requirements are not met
|
|
108
108
|
*/
|
|
109
109
|
export declare function validateGatewayRequirements(gatewayDir: string | undefined, openapiFile: string | undefined, gatewayServiceName: string | undefined, gatewayVersionPrefix: string | undefined): void;
|
|
110
|
-
//# sourceMappingURL=cli.d.ts.map
|
package/dist/util/errors.d.ts
CHANGED
package/dist/util/imports.d.ts
CHANGED
|
@@ -14,4 +14,3 @@ export declare function getImportExtension(imports: string): string;
|
|
|
14
14
|
* @returns {string} - Relative import specifier with proper extension
|
|
15
15
|
*/
|
|
16
16
|
export declare function computeRelativeImport(from: string, to: string, imports: string): string;
|
|
17
|
-
//# sourceMappingURL=imports.d.ts.map
|