@versori/run 0.2.29 → 0.3.0-beta.2
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/esm/src/connection/DirectConnectionFactory.d.ts +29 -0
- package/esm/src/connection/DirectConnectionFactory.d.ts.map +1 -0
- package/esm/src/connection/DirectConnectionFactory.js +82 -0
- package/esm/src/connection/DynamicFetchFactory.d.ts +30 -0
- package/esm/src/connection/DynamicFetchFactory.d.ts.map +1 -0
- package/esm/src/connection/DynamicFetchFactory.js +113 -0
- package/esm/src/connection/StaticFetchFactory.d.ts +11 -0
- package/esm/src/connection/StaticFetchFactory.d.ts.map +1 -0
- package/esm/src/connection/StaticFetchFactory.js +35 -0
- package/esm/src/connection/internal/CredentialHolder.d.ts +11 -0
- package/esm/src/connection/internal/CredentialHolder.d.ts.map +1 -0
- package/esm/src/connection/internal/CredentialHolder.js +66 -0
- package/esm/src/connection/internal/FetchBuilder.d.ts +15 -0
- package/esm/src/connection/internal/FetchBuilder.d.ts.map +1 -0
- package/esm/src/connection/internal/FetchBuilder.js +89 -0
- package/esm/src/connection/internal/HttpClientFactory.d.ts +14 -0
- package/esm/src/connection/internal/HttpClientFactory.d.ts.map +1 -0
- package/esm/src/connection/internal/HttpClientFactory.js +42 -0
- package/esm/src/connection/internal/InboundConnectionFactory.d.ts +19 -0
- package/esm/src/connection/internal/InboundConnectionFactory.d.ts.map +1 -0
- package/esm/src/connection/internal/InboundConnectionFactory.js +390 -0
- package/esm/src/connection/internal/OutboundConnectionFactory.d.ts +31 -0
- package/esm/src/connection/internal/OutboundConnectionFactory.d.ts.map +1 -0
- package/esm/src/connection/internal/OutboundConnectionFactory.js +447 -0
- package/esm/src/connection/types.d.ts +32 -0
- package/esm/src/connection/types.d.ts.map +1 -0
- package/esm/src/connection/types.js +1 -0
- package/esm/src/context/ActivationImpl.d.ts +18 -0
- package/esm/src/context/ActivationImpl.d.ts.map +1 -0
- package/esm/src/context/ActivationImpl.js +82 -0
- package/esm/src/context/Context.d.ts +4 -6
- package/esm/src/context/Context.d.ts.map +1 -1
- package/esm/src/context/Context.js +8 -16
- package/esm/src/context/ContextProvider.d.ts +7 -3
- package/esm/src/context/ContextProvider.d.ts.map +1 -1
- package/esm/src/context/ContextProvider.js +28 -10
- package/esm/src/dsl/http/default.d.ts.map +1 -1
- package/esm/src/dsl/http/default.js +2 -2
- package/esm/src/dsl/http/types.d.ts +9 -4
- package/esm/src/dsl/http/types.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/configloader.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/configloader.js +3 -1
- package/esm/src/dsl/http/versori/constants.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/constants.js +1 -0
- package/esm/src/dsl/http/versori/contextcredentials.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/platformapi.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/proxyroundtripper.d.ts +5 -3
- package/esm/src/dsl/http/versori/proxyroundtripper.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/proxyroundtripper.js +31 -8
- package/esm/src/dsl/http/versori/webhookmiddleware.d.ts +8 -5
- package/esm/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/webhookmiddleware.js +106 -115
- package/esm/src/dsl/tasks/HttpTask.d.ts +6 -5
- package/esm/src/dsl/tasks/HttpTask.d.ts.map +1 -1
- package/esm/src/dsl/tasks/HttpTask.js +19 -22
- package/esm/src/internal/InternalAuth.d.ts +15 -0
- package/esm/src/internal/InternalAuth.d.ts.map +1 -0
- package/esm/src/internal/InternalAuth.js +90 -0
- package/esm/src/internal/cli.d.ts +2 -0
- package/esm/src/internal/cli.d.ts.map +1 -0
- package/esm/src/internal/cli.js +20 -0
- package/esm/src/internal/constants.d.ts +20 -0
- package/esm/src/internal/constants.d.ts.map +1 -0
- package/esm/src/internal/constants.js +24 -0
- package/esm/src/interpreter/durable/DurableInterpreter.d.ts +14 -5
- package/esm/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
- package/esm/src/interpreter/durable/DurableInterpreter.js +20 -18
- package/esm/src/interpreter/durable/ObservableCompiler.d.ts +6 -3
- package/esm/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/durableworkflow.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/durableworkflow.js +10 -1
- package/esm/src/interpreter/durable/compilers/http.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/http.js +26 -9
- package/esm/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/schedule.js +41 -18
- package/esm/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/webhook.js +30 -33
- package/esm/src/interpreter/memory/MemoryInterpreter.d.ts +4 -4
- package/esm/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
- package/esm/src/interpreter/memory/MemoryInterpreter.js +14 -23
- package/esm/src/interpreter/memory/ObservableCompiler.d.ts +6 -3
- package/esm/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/http.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/http.js +26 -9
- package/esm/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/schedule.js +34 -18
- package/esm/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/webhook.js +31 -34
- package/esm/src/services/credentials/credential-v1alpha1.d.ts +4 -0
- package/esm/src/services/credentials/credential-v1alpha1.d.ts.map +1 -0
- package/esm/src/services/credentials/credential-v1alpha1.js +3 -0
- package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts +119 -0
- package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts.map +1 -0
- package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.js +67 -0
- package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts +245 -0
- package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts.map +1 -0
- package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.js +44 -0
- package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts +38 -0
- package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts.map +1 -0
- package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_pb.js +1 -1
- package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts +471 -0
- package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts.map +1 -0
- package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_service_pb.js +1 -1
- package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts +38 -0
- package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts.map +1 -0
- package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_pb.js +1 -1
- package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts +128 -0
- package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts.map +1 -0
- package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_service_pb.js +1 -1
- package/esm/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts +90 -0
- package/esm/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts.map +1 -0
- package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/common_pb.js +16 -6
- package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts +1468 -0
- package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts.map +1 -0
- package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.js +534 -0
- package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts +390 -0
- package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts.map +1 -0
- package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/credential_service_pb.js +1 -1
- package/esm/src/services/credentials/isTokenValid.d.ts +3 -0
- package/esm/src/services/credentials/isTokenValid.d.ts.map +1 -0
- package/esm/src/services/credentials/isTokenValid.js +8 -0
- package/esm/src/services/credentials/mod.d.ts +5 -0
- package/esm/src/services/credentials/mod.d.ts.map +1 -0
- package/esm/src/services/credentials/mod.js +4 -0
- package/esm/src/services/credentials/oauth1-v1.d.ts +3 -0
- package/esm/src/services/credentials/oauth1-v1.d.ts.map +1 -0
- package/esm/src/services/credentials/oauth1-v1.js +2 -0
- package/esm/src/services/credentials/oauth2-v1.d.ts +3 -0
- package/esm/src/services/credentials/oauth2-v1.d.ts.map +1 -0
- package/esm/src/services/credentials/oauth2-v1.js +2 -0
- package/esm/src/services/credentials/tokens-v1.d.ts +3 -0
- package/esm/src/services/credentials/tokens-v1.d.ts.map +1 -0
- package/esm/src/services/credentials/tokens-v1.js +2 -0
- package/esm/src/services/platform/PlatformApi.d.ts +7 -0
- package/esm/src/services/platform/PlatformApi.d.ts.map +1 -0
- package/esm/src/services/platform/PlatformApi.js +25 -0
- package/esm/src/services/platform/generated/client/client.gen.d.ts +3 -0
- package/esm/src/services/platform/generated/client/client.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/client/client.gen.js +176 -0
- package/esm/src/services/platform/generated/client/index.d.ts +8 -0
- package/esm/src/services/platform/generated/client/index.d.ts.map +1 -0
- package/esm/src/services/platform/generated/client/index.js +5 -0
- package/esm/src/services/platform/generated/client/types.gen.d.ts +125 -0
- package/esm/src/services/platform/generated/client/types.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/client/types.gen.js +2 -0
- package/esm/src/services/platform/generated/client/utils.gen.d.ts +39 -0
- package/esm/src/services/platform/generated/client/utils.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/client/utils.gen.js +234 -0
- package/esm/src/services/platform/generated/client.gen.d.ts +13 -0
- package/esm/src/services/platform/generated/client.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/client.gen.js +5 -0
- package/esm/src/services/platform/generated/core/auth.gen.d.ts +19 -0
- package/esm/src/services/platform/generated/core/auth.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/core/auth.gen.js +14 -0
- package/esm/src/services/platform/generated/core/bodySerializer.gen.d.ts +18 -0
- package/esm/src/services/platform/generated/core/bodySerializer.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/core/bodySerializer.gen.js +57 -0
- package/esm/src/services/platform/generated/core/params.gen.d.ts +34 -0
- package/esm/src/services/platform/generated/core/params.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/core/params.gen.js +88 -0
- package/esm/src/services/platform/generated/core/pathSerializer.gen.d.ts +34 -0
- package/esm/src/services/platform/generated/core/pathSerializer.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/core/pathSerializer.gen.js +114 -0
- package/esm/src/services/platform/generated/core/serverSentEvents.gen.d.ts +60 -0
- package/esm/src/services/platform/generated/core/serverSentEvents.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/core/serverSentEvents.gen.js +121 -0
- package/esm/src/services/platform/generated/core/types.gen.d.ts +79 -0
- package/esm/src/services/platform/generated/core/types.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/core/types.gen.js +2 -0
- package/esm/src/services/platform/generated/core/utils.gen.d.ts +15 -0
- package/esm/src/services/platform/generated/core/utils.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/core/utils.gen.js +69 -0
- package/esm/src/services/platform/generated/index.d.ts +3 -0
- package/esm/src/services/platform/generated/index.d.ts.map +1 -0
- package/esm/src/services/platform/generated/index.js +3 -0
- package/esm/src/services/platform/generated/sdk.gen.d.ts +494 -0
- package/esm/src/services/platform/generated/sdk.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/sdk.gen.js +1908 -0
- package/esm/src/services/platform/generated/types.gen.d.ts +3798 -0
- package/esm/src/services/platform/generated/types.gen.d.ts.map +1 -0
- package/esm/src/services/platform/generated/types.gen.js +2 -0
- package/esm/src/services/platform/mod.d.ts +5 -0
- package/esm/src/services/platform/mod.d.ts.map +1 -0
- package/esm/src/services/platform/mod.js +2 -0
- package/package.json +4 -4
- package/script/src/connection/DirectConnectionFactory.d.ts +29 -0
- package/script/src/connection/DirectConnectionFactory.d.ts.map +1 -0
- package/script/src/connection/DirectConnectionFactory.js +86 -0
- package/script/src/connection/DynamicFetchFactory.d.ts +30 -0
- package/script/src/connection/DynamicFetchFactory.d.ts.map +1 -0
- package/script/src/connection/DynamicFetchFactory.js +117 -0
- package/script/src/connection/StaticFetchFactory.d.ts +11 -0
- package/script/src/connection/StaticFetchFactory.d.ts.map +1 -0
- package/script/src/connection/StaticFetchFactory.js +39 -0
- package/script/src/connection/internal/CredentialHolder.d.ts +11 -0
- package/script/src/connection/internal/CredentialHolder.d.ts.map +1 -0
- package/script/src/connection/internal/CredentialHolder.js +71 -0
- package/script/src/connection/internal/FetchBuilder.d.ts +15 -0
- package/script/src/connection/internal/FetchBuilder.d.ts.map +1 -0
- package/script/src/connection/internal/FetchBuilder.js +93 -0
- package/script/src/connection/internal/HttpClientFactory.d.ts +14 -0
- package/script/src/connection/internal/HttpClientFactory.d.ts.map +1 -0
- package/script/src/connection/internal/HttpClientFactory.js +46 -0
- package/script/src/connection/internal/InboundConnectionFactory.d.ts +19 -0
- package/script/src/connection/internal/InboundConnectionFactory.d.ts.map +1 -0
- package/script/src/connection/internal/InboundConnectionFactory.js +394 -0
- package/script/src/connection/internal/OutboundConnectionFactory.d.ts +31 -0
- package/script/src/connection/internal/OutboundConnectionFactory.d.ts.map +1 -0
- package/script/src/connection/internal/OutboundConnectionFactory.js +454 -0
- package/script/src/connection/types.d.ts +32 -0
- package/script/src/connection/types.d.ts.map +1 -0
- package/script/src/connection/types.js +2 -0
- package/script/src/context/ActivationImpl.d.ts +18 -0
- package/script/src/context/ActivationImpl.d.ts.map +1 -0
- package/script/src/context/ActivationImpl.js +86 -0
- package/script/src/context/Context.d.ts +4 -6
- package/script/src/context/Context.d.ts.map +1 -1
- package/script/src/context/Context.js +8 -16
- package/script/src/context/ContextProvider.d.ts +7 -3
- package/script/src/context/ContextProvider.d.ts.map +1 -1
- package/script/src/context/ContextProvider.js +28 -10
- package/script/src/dsl/http/default.d.ts.map +1 -1
- package/script/src/dsl/http/default.js +2 -2
- package/script/src/dsl/http/types.d.ts +9 -4
- package/script/src/dsl/http/types.d.ts.map +1 -1
- package/script/src/dsl/http/versori/configloader.d.ts.map +1 -1
- package/script/src/dsl/http/versori/configloader.js +3 -1
- package/script/src/dsl/http/versori/constants.d.ts.map +1 -1
- package/script/src/dsl/http/versori/constants.js +1 -0
- package/script/src/dsl/http/versori/contextcredentials.d.ts.map +1 -1
- package/script/src/dsl/http/versori/platformapi.d.ts.map +1 -1
- package/script/src/dsl/http/versori/proxyroundtripper.d.ts +5 -3
- package/script/src/dsl/http/versori/proxyroundtripper.d.ts.map +1 -1
- package/script/src/dsl/http/versori/proxyroundtripper.js +31 -8
- package/script/src/dsl/http/versori/webhookmiddleware.d.ts +8 -5
- package/script/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -1
- package/script/src/dsl/http/versori/webhookmiddleware.js +106 -115
- package/script/src/dsl/tasks/HttpTask.d.ts +6 -5
- package/script/src/dsl/tasks/HttpTask.d.ts.map +1 -1
- package/script/src/dsl/tasks/HttpTask.js +19 -22
- package/script/src/internal/InternalAuth.d.ts +15 -0
- package/script/src/internal/InternalAuth.d.ts.map +1 -0
- package/script/src/internal/InternalAuth.js +94 -0
- package/script/src/internal/cli.d.ts +2 -0
- package/script/src/internal/cli.d.ts.map +1 -0
- package/script/src/internal/cli.js +23 -0
- package/script/src/internal/constants.d.ts +20 -0
- package/script/src/internal/constants.d.ts.map +1 -0
- package/script/src/internal/constants.js +27 -0
- package/script/src/interpreter/durable/DurableInterpreter.d.ts +14 -5
- package/script/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
- package/script/src/interpreter/durable/DurableInterpreter.js +20 -18
- package/script/src/interpreter/durable/ObservableCompiler.d.ts +6 -3
- package/script/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/durableworkflow.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/durableworkflow.js +10 -1
- package/script/src/interpreter/durable/compilers/http.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/http.js +26 -9
- package/script/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/schedule.js +41 -18
- package/script/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/webhook.js +30 -33
- package/script/src/interpreter/memory/MemoryInterpreter.d.ts +4 -4
- package/script/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
- package/script/src/interpreter/memory/MemoryInterpreter.js +14 -23
- package/script/src/interpreter/memory/ObservableCompiler.d.ts +6 -3
- package/script/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/http.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/http.js +26 -9
- package/script/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/schedule.js +34 -18
- package/script/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/webhook.js +31 -34
- package/script/src/services/credentials/credential-v1alpha1.d.ts +4 -0
- package/script/src/services/credentials/credential-v1alpha1.d.ts.map +1 -0
- package/script/src/services/credentials/credential-v1alpha1.js +19 -0
- package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts +119 -0
- package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts.map +1 -0
- package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.js +70 -0
- package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts +245 -0
- package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts.map +1 -0
- package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.js +47 -0
- package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts +38 -0
- package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts.map +1 -0
- package/script/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_pb.js +1 -1
- package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts +471 -0
- package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts.map +1 -0
- package/script/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_service_pb.js +1 -1
- package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts +38 -0
- package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts.map +1 -0
- package/script/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_pb.js +1 -1
- package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts +128 -0
- package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts.map +1 -0
- package/script/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_service_pb.js +1 -1
- package/script/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts +90 -0
- package/script/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts.map +1 -0
- package/script/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/common_pb.js +16 -6
- package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts +1468 -0
- package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts.map +1 -0
- package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.js +538 -0
- package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts +390 -0
- package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts.map +1 -0
- package/script/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/credential_service_pb.js +1 -1
- package/script/src/services/credentials/isTokenValid.d.ts +3 -0
- package/script/src/services/credentials/isTokenValid.d.ts.map +1 -0
- package/script/src/services/credentials/isTokenValid.js +11 -0
- package/script/src/services/credentials/mod.d.ts +5 -0
- package/script/src/services/credentials/mod.d.ts.map +1 -0
- package/script/src/services/credentials/mod.js +30 -0
- package/script/src/services/credentials/oauth1-v1.d.ts +3 -0
- package/script/src/services/credentials/oauth1-v1.d.ts.map +1 -0
- package/script/src/services/credentials/oauth1-v1.js +18 -0
- package/script/src/services/credentials/oauth2-v1.d.ts +3 -0
- package/script/src/services/credentials/oauth2-v1.d.ts.map +1 -0
- package/script/src/services/credentials/oauth2-v1.js +18 -0
- package/script/src/services/credentials/tokens-v1.d.ts +3 -0
- package/script/src/services/credentials/tokens-v1.d.ts.map +1 -0
- package/script/src/services/credentials/tokens-v1.js +18 -0
- package/script/src/services/platform/PlatformApi.d.ts +7 -0
- package/script/src/services/platform/PlatformApi.d.ts.map +1 -0
- package/script/src/services/platform/PlatformApi.js +52 -0
- package/script/src/services/platform/generated/client/client.gen.d.ts +3 -0
- package/script/src/services/platform/generated/client/client.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/client/client.gen.js +180 -0
- package/script/src/services/platform/generated/client/index.d.ts +8 -0
- package/script/src/services/platform/generated/client/index.d.ts.map +1 -0
- package/script/src/services/platform/generated/client/index.js +15 -0
- package/script/src/services/platform/generated/client/types.gen.d.ts +125 -0
- package/script/src/services/platform/generated/client/types.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/client/types.gen.js +3 -0
- package/script/src/services/platform/generated/client/utils.gen.d.ts +39 -0
- package/script/src/services/platform/generated/client/utils.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/client/utils.gen.js +245 -0
- package/script/src/services/platform/generated/client.gen.d.ts +13 -0
- package/script/src/services/platform/generated/client.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/client.gen.js +8 -0
- package/script/src/services/platform/generated/core/auth.gen.d.ts +19 -0
- package/script/src/services/platform/generated/core/auth.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/core/auth.gen.js +18 -0
- package/script/src/services/platform/generated/core/bodySerializer.gen.d.ts +18 -0
- package/script/src/services/platform/generated/core/bodySerializer.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/core/bodySerializer.gen.js +60 -0
- package/script/src/services/platform/generated/core/params.gen.d.ts +34 -0
- package/script/src/services/platform/generated/core/params.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/core/params.gen.js +92 -0
- package/script/src/services/platform/generated/core/pathSerializer.gen.d.ts +34 -0
- package/script/src/services/platform/generated/core/pathSerializer.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/core/pathSerializer.gen.js +123 -0
- package/script/src/services/platform/generated/core/serverSentEvents.gen.d.ts +60 -0
- package/script/src/services/platform/generated/core/serverSentEvents.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/core/serverSentEvents.gen.js +125 -0
- package/script/src/services/platform/generated/core/types.gen.d.ts +79 -0
- package/script/src/services/platform/generated/core/types.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/core/types.gen.js +3 -0
- package/script/src/services/platform/generated/core/utils.gen.d.ts +15 -0
- package/script/src/services/platform/generated/core/utils.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/core/utils.gen.js +74 -0
- package/script/src/services/platform/generated/index.d.ts +3 -0
- package/script/src/services/platform/generated/index.d.ts.map +1 -0
- package/script/src/services/platform/generated/index.js +19 -0
- package/script/src/services/platform/generated/sdk.gen.d.ts +494 -0
- package/script/src/services/platform/generated/sdk.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/sdk.gen.js +1992 -0
- package/script/src/services/platform/generated/types.gen.d.ts +3798 -0
- package/script/src/services/platform/generated/types.gen.d.ts.map +1 -0
- package/script/src/services/platform/generated/types.gen.js +3 -0
- package/script/src/services/platform/mod.d.ts +5 -0
- package/script/src/services/platform/mod.d.ts.map +1 -0
- package/script/src/services/platform/mod.js +18 -0
- package/esm/src/dsl/http/versori/credential/client.d.ts +0 -13
- package/esm/src/dsl/http/versori/credential/client.d.ts.map +0 -1
- package/esm/src/dsl/http/versori/credential/client.js +0 -35
- package/esm/src/dsl/http/versori/credential/credentials.d.ts +0 -98
- package/esm/src/dsl/http/versori/credential/credentials.d.ts.map +0 -1
- package/esm/src/dsl/http/versori/credential/credentials.js +0 -40
- package/esm/src/dsl/http/versori/credential/mod.d.ts +0 -2
- package/esm/src/dsl/http/versori/credential/mod.d.ts.map +0 -1
- package/esm/src/dsl/http/versori/credential/mod.js +0 -1
- package/esm/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts +0 -13
- package/esm/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts.map +0 -1
- package/esm/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts +0 -102
- package/esm/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts.map +0 -1
- package/esm/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts +0 -13
- package/esm/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts.map +0 -1
- package/esm/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts +0 -46
- package/esm/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts.map +0 -1
- package/esm/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts +0 -40
- package/esm/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts.map +0 -1
- package/esm/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts +0 -129
- package/esm/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts.map +0 -1
- package/esm/src/dsl/http/versori/roundtripper.d.ts +0 -61
- package/esm/src/dsl/http/versori/roundtripper.d.ts.map +0 -1
- package/esm/src/dsl/http/versori/roundtripper.js +0 -967
- package/script/src/dsl/http/versori/credential/client.d.ts +0 -13
- package/script/src/dsl/http/versori/credential/client.d.ts.map +0 -1
- package/script/src/dsl/http/versori/credential/client.js +0 -39
- package/script/src/dsl/http/versori/credential/credentials.d.ts +0 -98
- package/script/src/dsl/http/versori/credential/credentials.d.ts.map +0 -1
- package/script/src/dsl/http/versori/credential/credentials.js +0 -46
- package/script/src/dsl/http/versori/credential/mod.d.ts +0 -2
- package/script/src/dsl/http/versori/credential/mod.d.ts.map +0 -1
- package/script/src/dsl/http/versori/credential/mod.js +0 -5
- package/script/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts +0 -13
- package/script/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts.map +0 -1
- package/script/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts +0 -102
- package/script/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts.map +0 -1
- package/script/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts +0 -13
- package/script/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts.map +0 -1
- package/script/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts +0 -46
- package/script/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts.map +0 -1
- package/script/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts +0 -40
- package/script/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts.map +0 -1
- package/script/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts +0 -129
- package/script/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts.map +0 -1
- package/script/src/dsl/http/versori/roundtripper.d.ts +0 -61
- package/script/src/dsl/http/versori/roundtripper.d.ts.map +0 -1
- package/script/src/dsl/http/versori/roundtripper.js +0 -974
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _FetchBuilder_base, _FetchBuilder_cnx;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.FetchBuilder = void 0;
|
|
16
|
+
const helpers_js_1 = require("../../dsl/http/versori/helpers.js");
|
|
17
|
+
/**
|
|
18
|
+
* FetchBuilder is used to build a fetch function which can be composed by multiple middlewares for
|
|
19
|
+
* modifying the request/response and makes the implementation of {@link ConnectionFetchFactory}
|
|
20
|
+
* easier to understand.
|
|
21
|
+
*/
|
|
22
|
+
class FetchBuilder {
|
|
23
|
+
constructor(fetch, cnx) {
|
|
24
|
+
Object.defineProperty(this, "middlewares", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
configurable: true,
|
|
27
|
+
writable: true,
|
|
28
|
+
value: void 0
|
|
29
|
+
});
|
|
30
|
+
_FetchBuilder_base.set(this, void 0);
|
|
31
|
+
_FetchBuilder_cnx.set(this, void 0);
|
|
32
|
+
__classPrivateFieldSet(this, _FetchBuilder_base, fetch, "f");
|
|
33
|
+
__classPrivateFieldSet(this, _FetchBuilder_cnx, cnx, "f");
|
|
34
|
+
this.middlewares = [changeRequestbaseURLMiddleware(cnx)];
|
|
35
|
+
}
|
|
36
|
+
use(fn) {
|
|
37
|
+
this.middlewares.push(fn);
|
|
38
|
+
}
|
|
39
|
+
build() {
|
|
40
|
+
let fetch = __classPrivateFieldGet(this, _FetchBuilder_base, "f");
|
|
41
|
+
for (let i = this.middlewares.length - 1; i >= 0; i--) {
|
|
42
|
+
// apply middlewares in reverse order so that the actual middleware executes in the
|
|
43
|
+
// order they were added
|
|
44
|
+
fetch = this.middlewares[i](fetch);
|
|
45
|
+
}
|
|
46
|
+
return fetch;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.FetchBuilder = FetchBuilder;
|
|
50
|
+
_FetchBuilder_base = new WeakMap(), _FetchBuilder_cnx = new WeakMap();
|
|
51
|
+
function changeBaseUrl(pathname, conn) {
|
|
52
|
+
const connBaseURL = conn.baseUrl;
|
|
53
|
+
// if the connection has no baseUrl set, but the pathname is a valid URL, return it as is
|
|
54
|
+
if (!connBaseURL && (0, helpers_js_1.isValidURL)(pathname)) {
|
|
55
|
+
return pathname;
|
|
56
|
+
}
|
|
57
|
+
// if connBaseURL is undefined, we can't create a URL object
|
|
58
|
+
if (!connBaseURL) {
|
|
59
|
+
throw new Error('Connection baseUrl is required but not provided');
|
|
60
|
+
}
|
|
61
|
+
const connBaseURLObj = new URL(connBaseURL);
|
|
62
|
+
let _pathname = pathname;
|
|
63
|
+
if ((0, helpers_js_1.isValidURL)(pathname)) {
|
|
64
|
+
const pathnameObj = new URL(pathname);
|
|
65
|
+
_pathname = pathnameObj.pathname;
|
|
66
|
+
}
|
|
67
|
+
const newURL = new URL(_pathname, connBaseURLObj.origin);
|
|
68
|
+
return newURL.toString();
|
|
69
|
+
}
|
|
70
|
+
function changeRequestInit(info, conn) {
|
|
71
|
+
if (typeof info === 'string') {
|
|
72
|
+
if ((0, helpers_js_1.isValidURL)(info)) {
|
|
73
|
+
return info;
|
|
74
|
+
}
|
|
75
|
+
return changeBaseUrl(info, conn);
|
|
76
|
+
}
|
|
77
|
+
else if (info instanceof URL) {
|
|
78
|
+
return info;
|
|
79
|
+
}
|
|
80
|
+
else if (info instanceof Request) {
|
|
81
|
+
const url = changeBaseUrl(info.url, conn);
|
|
82
|
+
return new Request(url, info);
|
|
83
|
+
}
|
|
84
|
+
return info;
|
|
85
|
+
}
|
|
86
|
+
function changeRequestbaseURLMiddleware(conn) {
|
|
87
|
+
return (fetch) => {
|
|
88
|
+
return async (input, init = {}) => {
|
|
89
|
+
const newInput = changeRequestInit(input, conn);
|
|
90
|
+
return fetch(newInput, init);
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { credentialv1alpha1 } from '../../services/credentials/mod.js';
|
|
2
|
+
/**
|
|
3
|
+
* HttpClientFactory is used to create a {@link Deno.HttpClient} for a given {@link credentialv1alpha1.Credential}.
|
|
4
|
+
*
|
|
5
|
+
* This is build to support being provided any credential type, and if the credential does not require a specific
|
|
6
|
+
* client then the factory will return undefined.
|
|
7
|
+
*/
|
|
8
|
+
export declare class HttpClientFactory {
|
|
9
|
+
private readonly cache;
|
|
10
|
+
constructor();
|
|
11
|
+
getClient(credential: credentialv1alpha1.Credential): Deno.HttpClient | undefined;
|
|
12
|
+
private newMtlsClient;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=HttpClientFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpClientFactory.d.ts","sourceRoot":"","sources":["../../../../src/src/connection/internal/HttpClientFactory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;;IAM1D,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,SAAS;IAcjF,OAAO,CAAC,aAAa;CAaxB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpClientFactory = void 0;
|
|
4
|
+
const protobuf_1 = require("@bufbuild/protobuf");
|
|
5
|
+
const lru_cache_1 = require("lru-cache");
|
|
6
|
+
const mod_js_1 = require("../../services/credentials/mod.js");
|
|
7
|
+
/**
|
|
8
|
+
* HttpClientFactory is used to create a {@link Deno.HttpClient} for a given {@link credentialv1alpha1.Credential}.
|
|
9
|
+
*
|
|
10
|
+
* This is build to support being provided any credential type, and if the credential does not require a specific
|
|
11
|
+
* client then the factory will return undefined.
|
|
12
|
+
*/
|
|
13
|
+
class HttpClientFactory {
|
|
14
|
+
constructor() {
|
|
15
|
+
Object.defineProperty(this, "cache", {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
configurable: true,
|
|
18
|
+
writable: true,
|
|
19
|
+
value: void 0
|
|
20
|
+
});
|
|
21
|
+
this.cache = new lru_cache_1.LRUCache({ max: 100 });
|
|
22
|
+
}
|
|
23
|
+
getClient(credential) {
|
|
24
|
+
const cached = this.cache.get(credential.id);
|
|
25
|
+
if (cached) {
|
|
26
|
+
return cached;
|
|
27
|
+
}
|
|
28
|
+
switch (credential.type) {
|
|
29
|
+
case mod_js_1.credentialv1alpha1.Credential_Type.Certificate:
|
|
30
|
+
return this.newMtlsClient(credential);
|
|
31
|
+
default:
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
newMtlsClient(credential) {
|
|
36
|
+
const data = (0, protobuf_1.create)(mod_js_1.credentialv1alpha1.CredentialDataCertificateSchema, credential.data);
|
|
37
|
+
const client = Deno.createHttpClient({
|
|
38
|
+
cert: new TextDecoder().decode(data.certificate),
|
|
39
|
+
key: new TextDecoder().decode(data.key),
|
|
40
|
+
caCerts: data.ca ? [new TextDecoder().decode(data.ca)] : [],
|
|
41
|
+
});
|
|
42
|
+
this.cache.set(credential.id, client);
|
|
43
|
+
return client;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.HttpClientFactory = HttpClientFactory;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Client } from '@connectrpc/connect';
|
|
2
|
+
import { Logger } from '../../observability/logging/Logger.js';
|
|
3
|
+
import { credentialv1alpha1, tokensv1 } from '../../services/credentials/mod.js';
|
|
4
|
+
import type * as express from 'express';
|
|
5
|
+
import { Connection } from '../../services/platform/mod.js';
|
|
6
|
+
export declare class ExpressInboundConnectionFactory {
|
|
7
|
+
private readonly credentials;
|
|
8
|
+
private readonly tokens;
|
|
9
|
+
private readonly logger;
|
|
10
|
+
private readonly cache;
|
|
11
|
+
constructor(credentials: Client<typeof credentialv1alpha1.CredentialService>, tokens: Client<typeof tokensv1.TokenService>, logger: Logger);
|
|
12
|
+
handler(cnx: Connection): Promise<express.RequestHandler>;
|
|
13
|
+
private buildHandlers;
|
|
14
|
+
private buildHandler;
|
|
15
|
+
private buildApiKeyHandler;
|
|
16
|
+
private buildBasicAuthHandler;
|
|
17
|
+
private buildHmacHandler;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=InboundConnectionFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InboundConnectionFactory.d.ts","sourceRoot":"","sources":["../../../../src/src/connection/internal/InboundConnectionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,KAAK,OAAO,MAAM,SAAS,CAAC;AACxC,OAAO,EAIH,UAAU,EAGb,MAAM,gCAAgC,CAAC;AAQxC,qBAAa,+BAA+B;IAGpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoD;gBAErD,WAAW,EAAE,MAAM,CAAC,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,EAChE,MAAM,EAAE,MAAM,CAAC,OAAO,QAAQ,CAAC,YAAY,CAAC,EAC5C,MAAM,EAAE,MAAM;IAKnC,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;YAa3C,aAAa;IAc3B,OAAO,CAAC,YAAY;YAuDN,kBAAkB;YAiIlB,qBAAqB;YA2FrB,gBAAgB;CAsJjC"}
|
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExpressInboundConnectionFactory = void 0;
|
|
4
|
+
const mod_js_1 = require("../../services/credentials/mod.js");
|
|
5
|
+
const protobuf_1 = require("@bufbuild/protobuf");
|
|
6
|
+
const node_buffer_1 = require("node:buffer");
|
|
7
|
+
const node_crypto_1 = require("node:crypto");
|
|
8
|
+
const CredentialHolder_js_1 = require("./CredentialHolder.js");
|
|
9
|
+
const isTokenValid_js_1 = require("../../services/credentials/isTokenValid.js");
|
|
10
|
+
const lru_cache_1 = require("lru-cache");
|
|
11
|
+
class ExpressInboundConnectionFactory {
|
|
12
|
+
constructor(credentials, tokens, logger) {
|
|
13
|
+
Object.defineProperty(this, "credentials", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: true,
|
|
17
|
+
value: credentials
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(this, "tokens", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
configurable: true,
|
|
22
|
+
writable: true,
|
|
23
|
+
value: tokens
|
|
24
|
+
});
|
|
25
|
+
Object.defineProperty(this, "logger", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
configurable: true,
|
|
28
|
+
writable: true,
|
|
29
|
+
value: logger
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(this, "cache", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
configurable: true,
|
|
34
|
+
writable: true,
|
|
35
|
+
value: void 0
|
|
36
|
+
});
|
|
37
|
+
this.cache = new lru_cache_1.LRUCache({ max: 100 });
|
|
38
|
+
}
|
|
39
|
+
handler(cnx) {
|
|
40
|
+
const cached = this.cache.get(cnx.id);
|
|
41
|
+
if (cached) {
|
|
42
|
+
return cached;
|
|
43
|
+
}
|
|
44
|
+
const handler = this.buildHandlers(cnx);
|
|
45
|
+
this.cache.set(cnx.id, handler);
|
|
46
|
+
return handler;
|
|
47
|
+
}
|
|
48
|
+
async buildHandlers(cnx) {
|
|
49
|
+
const handlers = [];
|
|
50
|
+
for (const [index, cnxCredential] of cnx.credentials.entries()) {
|
|
51
|
+
const handler = await this.buildHandler(cnxCredential, index, cnx);
|
|
52
|
+
if (handler) {
|
|
53
|
+
handlers.push(handler);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return composeHandlers(handlers);
|
|
57
|
+
}
|
|
58
|
+
buildHandler(cnxCredential, index, cnx) {
|
|
59
|
+
const asc = cnxCredential.authSchemeConfig;
|
|
60
|
+
const redactedCredential = cnxCredential.credential;
|
|
61
|
+
if (!asc || !redactedCredential) {
|
|
62
|
+
this.logger.warn('Connection credential is missing authSchemeConfig or credential', {
|
|
63
|
+
connectionId: cnx.id,
|
|
64
|
+
index,
|
|
65
|
+
asc,
|
|
66
|
+
redactedCredential,
|
|
67
|
+
});
|
|
68
|
+
return Promise.resolve(undefined);
|
|
69
|
+
}
|
|
70
|
+
switch (asc.type) {
|
|
71
|
+
case 'api-key':
|
|
72
|
+
if (!asc.apiKey) {
|
|
73
|
+
this.logger.warn('api-key auth has missing apiKey config', {
|
|
74
|
+
connectionId: cnx.id,
|
|
75
|
+
index,
|
|
76
|
+
});
|
|
77
|
+
return Promise.resolve(undefined);
|
|
78
|
+
}
|
|
79
|
+
return this.buildApiKeyHandler(asc.apiKey, redactedCredential);
|
|
80
|
+
case 'basic-auth':
|
|
81
|
+
return this.buildBasicAuthHandler(redactedCredential);
|
|
82
|
+
case 'hmac':
|
|
83
|
+
if (!asc.hmac) {
|
|
84
|
+
this.logger.warn('hmac auth has missing hmac config', {
|
|
85
|
+
connectionId: cnx.id,
|
|
86
|
+
index,
|
|
87
|
+
});
|
|
88
|
+
return Promise.resolve(undefined);
|
|
89
|
+
}
|
|
90
|
+
return this.buildHmacHandler(asc.hmac, redactedCredential);
|
|
91
|
+
default:
|
|
92
|
+
this.logger.warn('Unsupported inbound authSchemeConfig type', {
|
|
93
|
+
connectionId: cnx.id,
|
|
94
|
+
index,
|
|
95
|
+
type: asc.type,
|
|
96
|
+
});
|
|
97
|
+
return Promise.resolve(undefined);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
async buildApiKeyHandler(cfg, redactedCredential) {
|
|
101
|
+
const initial = await this.tokens.getToken({
|
|
102
|
+
credentialId: redactedCredential.id,
|
|
103
|
+
forceRefresh: false,
|
|
104
|
+
});
|
|
105
|
+
if (!initial || !initial.token) {
|
|
106
|
+
this.logger.error('API key token not found for credential when building handler', {
|
|
107
|
+
credentialId: redactedCredential.id,
|
|
108
|
+
});
|
|
109
|
+
return (_req, res) => {
|
|
110
|
+
this.logger.warn('API key not configured before deployment, please redeploy your project', { credentialId: redactedCredential.id });
|
|
111
|
+
res.status(401).json({ error: 'Unauthorised' });
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
const holder = new CredentialHolder_js_1.CredentialHolder(initial.token, isTokenValid_js_1.isTokenValid, async () => {
|
|
115
|
+
const refreshed = await this.tokens.getToken({
|
|
116
|
+
credentialId: redactedCredential.id,
|
|
117
|
+
forceRefresh: false,
|
|
118
|
+
});
|
|
119
|
+
return refreshed.token;
|
|
120
|
+
});
|
|
121
|
+
let extractor;
|
|
122
|
+
switch (cfg.in) {
|
|
123
|
+
case 'header': {
|
|
124
|
+
const headerKey = cfg.name.toLowerCase();
|
|
125
|
+
extractor = (req) => {
|
|
126
|
+
const headerVal = req.headers[headerKey];
|
|
127
|
+
if (Array.isArray(headerVal)) {
|
|
128
|
+
return headerVal[0];
|
|
129
|
+
}
|
|
130
|
+
if (typeof headerVal === 'string') {
|
|
131
|
+
return headerVal;
|
|
132
|
+
}
|
|
133
|
+
return undefined;
|
|
134
|
+
};
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
case 'query': {
|
|
138
|
+
const name = cfg.name;
|
|
139
|
+
extractor = (req) => {
|
|
140
|
+
const q = req.query?.[name];
|
|
141
|
+
if (typeof q === 'string') {
|
|
142
|
+
return q;
|
|
143
|
+
}
|
|
144
|
+
return undefined;
|
|
145
|
+
};
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
case 'cookie': {
|
|
149
|
+
const name = cfg.name;
|
|
150
|
+
extractor = (req) => {
|
|
151
|
+
const c = req.cookies?.[name];
|
|
152
|
+
if (typeof c === 'string') {
|
|
153
|
+
return c;
|
|
154
|
+
}
|
|
155
|
+
return undefined;
|
|
156
|
+
};
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
default:
|
|
160
|
+
throw new Error('Unsupported apiKey.in value: ' + cfg.in);
|
|
161
|
+
}
|
|
162
|
+
async function verify(apiKey) {
|
|
163
|
+
const expected = await holder.get();
|
|
164
|
+
if (!expected) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
let expectedKey = expected.tokenType
|
|
168
|
+
? `${expected.tokenType} ${expected.accessToken}`
|
|
169
|
+
: expected.accessToken;
|
|
170
|
+
if (apiKey === expectedKey || apiKey === expected.accessToken) {
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
// TODO: Is this a DDOS if they just provide the wrong credential?
|
|
174
|
+
holder.refresh();
|
|
175
|
+
expectedKey = expected.tokenType
|
|
176
|
+
? `${expected.tokenType} ${expected.accessToken}`
|
|
177
|
+
: expected.accessToken;
|
|
178
|
+
return apiKey === expectedKey || apiKey === expected.accessToken;
|
|
179
|
+
}
|
|
180
|
+
return async (req, res, next) => {
|
|
181
|
+
try {
|
|
182
|
+
const gotKey = extractor(req);
|
|
183
|
+
if (!gotKey) {
|
|
184
|
+
return res.status(401).json({ error: 'Unauthorised' });
|
|
185
|
+
}
|
|
186
|
+
if (await verify(gotKey)) {
|
|
187
|
+
return next();
|
|
188
|
+
}
|
|
189
|
+
return res.status(401).json({ error: 'Unauthorised' });
|
|
190
|
+
}
|
|
191
|
+
catch (err) {
|
|
192
|
+
this.logger.error('Error verifying API key', { err });
|
|
193
|
+
res.status(401).json({ error: 'Unauthorised' });
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
async buildBasicAuthHandler(redactedCredential) {
|
|
198
|
+
const response = await this.credentials.get({ id: redactedCredential.id });
|
|
199
|
+
if (!response || !response.credential) {
|
|
200
|
+
this.logger.error('BasicAuth credential not found when building handler', {
|
|
201
|
+
credentialId: redactedCredential.id,
|
|
202
|
+
});
|
|
203
|
+
return (_req, res) => {
|
|
204
|
+
this.logger.warn('BasicAuth not configured before deployment, please redeploy your project', {
|
|
205
|
+
credentialId: redactedCredential.id,
|
|
206
|
+
});
|
|
207
|
+
res.status(401).json({ error: 'Unauthorised' });
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
const holder = new CredentialHolder_js_1.CredentialHolder(response.credential, CredentialHolder_js_1.alwaysValid, async () => {
|
|
211
|
+
const refreshed = await this.credentials.get({ id: redactedCredential.id });
|
|
212
|
+
return refreshed.credential;
|
|
213
|
+
});
|
|
214
|
+
// Build parser once
|
|
215
|
+
const parseAuth = (req) => {
|
|
216
|
+
const headerVal = req.headers['authorization'];
|
|
217
|
+
const header = Array.isArray(headerVal) ? headerVal[0] : headerVal;
|
|
218
|
+
if (!header || typeof header !== 'string') {
|
|
219
|
+
return undefined;
|
|
220
|
+
}
|
|
221
|
+
const [scheme, encoded] = header.split(' ');
|
|
222
|
+
if (!scheme || scheme.toLowerCase() !== 'basic' || !encoded) {
|
|
223
|
+
return undefined;
|
|
224
|
+
}
|
|
225
|
+
let decoded = '';
|
|
226
|
+
try {
|
|
227
|
+
decoded = node_buffer_1.Buffer.from(encoded, 'base64').toString('utf8');
|
|
228
|
+
}
|
|
229
|
+
catch (err) {
|
|
230
|
+
this.logger.warn('Error decoding BasicAuth header', { encoded, error: err });
|
|
231
|
+
return undefined;
|
|
232
|
+
}
|
|
233
|
+
const sep = decoded.indexOf(':');
|
|
234
|
+
if (sep === -1) {
|
|
235
|
+
return undefined;
|
|
236
|
+
}
|
|
237
|
+
return { username: decoded.slice(0, sep), password: decoded.slice(sep + 1) };
|
|
238
|
+
};
|
|
239
|
+
return async (req, res, next) => {
|
|
240
|
+
try {
|
|
241
|
+
const parsed = parseAuth(req);
|
|
242
|
+
if (!parsed) {
|
|
243
|
+
return res.status(401).json({ error: 'Unauthorised' });
|
|
244
|
+
}
|
|
245
|
+
const c1 = await holder.get();
|
|
246
|
+
const data1 = (0, protobuf_1.create)(mod_js_1.credentialv1alpha1.CredentialDataBasicAuthSchema, c1.data);
|
|
247
|
+
if (parsed.username === data1.username && parsed.password === data1.password) {
|
|
248
|
+
return next();
|
|
249
|
+
}
|
|
250
|
+
const c2 = await holder.get(true);
|
|
251
|
+
const data2 = (0, protobuf_1.create)(mod_js_1.credentialv1alpha1.CredentialDataBasicAuthSchema, c2.data);
|
|
252
|
+
if (parsed.username === data2.username && parsed.password === data2.password) {
|
|
253
|
+
return next();
|
|
254
|
+
}
|
|
255
|
+
return res.status(401).json({ error: 'Unauthorised' });
|
|
256
|
+
}
|
|
257
|
+
catch (err) {
|
|
258
|
+
this.logger.error('Error verifying BasicAuth', { err });
|
|
259
|
+
res.status(401).json({ error: 'Unauthorised' });
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
async buildHmacHandler(cfg, redactedCredential) {
|
|
264
|
+
const response = await this.credentials.get({ id: redactedCredential.id });
|
|
265
|
+
if (!response || !response.credential) {
|
|
266
|
+
this.logger.error('HMAC credential not found', { credentialId: redactedCredential.id });
|
|
267
|
+
return (_req, res) => {
|
|
268
|
+
res.status(401).json({ error: 'Unauthorised' });
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
const holder = new CredentialHolder_js_1.CredentialHolder(response.credential, CredentialHolder_js_1.alwaysValid, async () => {
|
|
272
|
+
const refreshed = await this.credentials.get({ id: redactedCredential.id });
|
|
273
|
+
return refreshed.credential;
|
|
274
|
+
});
|
|
275
|
+
let extractor;
|
|
276
|
+
switch (cfg.in) {
|
|
277
|
+
case 'query': {
|
|
278
|
+
const name = cfg.name;
|
|
279
|
+
extractor = (req) => {
|
|
280
|
+
const q = req.query?.[name];
|
|
281
|
+
if (typeof q === 'string') {
|
|
282
|
+
return q;
|
|
283
|
+
}
|
|
284
|
+
return undefined;
|
|
285
|
+
};
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
case 'header': {
|
|
289
|
+
const headerKey = cfg.name.toLowerCase();
|
|
290
|
+
extractor = (req) => {
|
|
291
|
+
const hv = req.headers[headerKey];
|
|
292
|
+
if (Array.isArray(hv)) {
|
|
293
|
+
return hv[0];
|
|
294
|
+
}
|
|
295
|
+
if (typeof hv === 'string') {
|
|
296
|
+
return hv;
|
|
297
|
+
}
|
|
298
|
+
return undefined;
|
|
299
|
+
};
|
|
300
|
+
break;
|
|
301
|
+
}
|
|
302
|
+
case 'cookie': {
|
|
303
|
+
const name = cfg.name;
|
|
304
|
+
extractor = (req) => {
|
|
305
|
+
const c = req.cookies?.[name];
|
|
306
|
+
if (typeof c === 'string') {
|
|
307
|
+
return c;
|
|
308
|
+
}
|
|
309
|
+
return undefined;
|
|
310
|
+
};
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
default:
|
|
314
|
+
throw new Error('Unsupported hmac.in value: ' + cfg.in);
|
|
315
|
+
}
|
|
316
|
+
const logger = this.logger;
|
|
317
|
+
async function computeDigest(req) {
|
|
318
|
+
const cred = await holder.get();
|
|
319
|
+
const raw = (0, protobuf_1.create)(mod_js_1.credentialv1alpha1.CredentialDataRawSchema, cred.data);
|
|
320
|
+
const secret = node_buffer_1.Buffer.from(raw.raw).toString('utf8');
|
|
321
|
+
const hmac = (0, node_crypto_1.createHmac)(cfg.algorithm, secret);
|
|
322
|
+
for (const input of cfg.digestInputs) {
|
|
323
|
+
switch (input) {
|
|
324
|
+
case 'body': {
|
|
325
|
+
if (typeof req.rawBody === 'undefined') {
|
|
326
|
+
const { body: _body, ...rest } = req;
|
|
327
|
+
// NOTE: address this in future, at the moment only the JSON body-parser is populating the
|
|
328
|
+
// rawBody property, so this should only happen if the user is not using JSON.
|
|
329
|
+
logger.warn('request.rawBody missing from request, HMAC signature is likely going to fail, this can happen if the payload is not application/json', { req: { ...rest, body: '**redacted**' } });
|
|
330
|
+
return '';
|
|
331
|
+
}
|
|
332
|
+
hmac.update(req.rawBody);
|
|
333
|
+
break;
|
|
334
|
+
}
|
|
335
|
+
case 'url':
|
|
336
|
+
hmac.update(req.originalUrl ?? req.url);
|
|
337
|
+
break;
|
|
338
|
+
default:
|
|
339
|
+
break;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
return hmac.digest(cfg.encoding);
|
|
343
|
+
}
|
|
344
|
+
return async (req, res, next) => {
|
|
345
|
+
try {
|
|
346
|
+
const provided = extractor(req);
|
|
347
|
+
if (!provided) {
|
|
348
|
+
return res.status(401).json({ error: 'Unauthorised' });
|
|
349
|
+
}
|
|
350
|
+
const digest1 = await computeDigest(req);
|
|
351
|
+
if (provided === digest1) {
|
|
352
|
+
return next();
|
|
353
|
+
}
|
|
354
|
+
// TODO: Is this a DDOS if they just provide the wrong credential?
|
|
355
|
+
holder.refresh();
|
|
356
|
+
const digest2 = await computeDigest(req);
|
|
357
|
+
if (provided === digest2) {
|
|
358
|
+
return next();
|
|
359
|
+
}
|
|
360
|
+
return res.status(401).json({ error: 'Unauthorised' });
|
|
361
|
+
}
|
|
362
|
+
catch (err) {
|
|
363
|
+
this.logger.error('Error verifying HMAC', { err });
|
|
364
|
+
res.status(401).json({ error: 'Unauthorised' });
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
exports.ExpressInboundConnectionFactory = ExpressInboundConnectionFactory;
|
|
370
|
+
function composeHandlers(handlers) {
|
|
371
|
+
return (req, res, next) => {
|
|
372
|
+
let index = -1;
|
|
373
|
+
const dispatch = (i, err) => {
|
|
374
|
+
if (err) {
|
|
375
|
+
return next(err);
|
|
376
|
+
}
|
|
377
|
+
if (i <= index) {
|
|
378
|
+
return next(new Error('next() called multiple times'));
|
|
379
|
+
}
|
|
380
|
+
index = i;
|
|
381
|
+
if (i === handlers.length) {
|
|
382
|
+
return next();
|
|
383
|
+
}
|
|
384
|
+
const handler = handlers[i];
|
|
385
|
+
try {
|
|
386
|
+
handler(req, res, (err2) => dispatch(i + 1, err2));
|
|
387
|
+
}
|
|
388
|
+
catch (e) {
|
|
389
|
+
next(e);
|
|
390
|
+
}
|
|
391
|
+
};
|
|
392
|
+
dispatch(0);
|
|
393
|
+
};
|
|
394
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Client } from '@connectrpc/connect';
|
|
2
|
+
import { Logger } from '../../mod.js';
|
|
3
|
+
import { credentialv1alpha1, tokensv1, oauth1v1 } from '../../services/credentials/mod.js';
|
|
4
|
+
import { Connection } from '../../services/platform/mod.js';
|
|
5
|
+
import { FetchLike } from '../types.js';
|
|
6
|
+
import { HttpClientFactory } from './HttpClientFactory.js';
|
|
7
|
+
export declare class OutboundConnectionFactory {
|
|
8
|
+
private readonly httpClientFactory;
|
|
9
|
+
private readonly credentials;
|
|
10
|
+
private readonly tokens;
|
|
11
|
+
private readonly oauth1;
|
|
12
|
+
private readonly logger;
|
|
13
|
+
private readonly cache;
|
|
14
|
+
constructor(httpClientFactory: HttpClientFactory, credentials: Client<typeof credentialv1alpha1.CredentialService>, tokens: Client<typeof tokensv1.TokenService>, oauth1: Client<typeof oauth1v1.AuthorizationService>, logger: Logger);
|
|
15
|
+
fetcher(cnx: Connection): Promise<FetchLike>;
|
|
16
|
+
private buildFetcher;
|
|
17
|
+
private buildMiddleware;
|
|
18
|
+
private buildCertificateMiddleware;
|
|
19
|
+
private buildApiKeyMiddleware;
|
|
20
|
+
private buildApiKeyHeaderMiddleware;
|
|
21
|
+
private buildApiKeyQueryMiddleware;
|
|
22
|
+
private buildApiKeyCookieMiddleware;
|
|
23
|
+
private buildBasicAuthMiddleware;
|
|
24
|
+
private buildOAuth1Middleware;
|
|
25
|
+
private buildBasicAuthHeaderMiddleware;
|
|
26
|
+
private buildOAuth1HeaderMiddleware;
|
|
27
|
+
private buildJwtBearerMiddleware;
|
|
28
|
+
private buildOAuth2Middleware;
|
|
29
|
+
private buildAuthorizationHeaderMiddleware;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=OutboundConnectionFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutboundConnectionFactory.d.ts","sourceRoot":"","sources":["../../../../src/src/connection/internal/OutboundConnectionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAGH,UAAU,EAGb,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,SAAS,EAAsB,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI3D,qBAAa,yBAAyB;IAI9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAP3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;gBAGxC,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,MAAM,CAAC,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,EAChE,MAAM,EAAE,MAAM,CAAC,OAAO,QAAQ,CAAC,YAAY,CAAC,EAC5C,MAAM,EAAE,MAAM,CAAC,OAAO,QAAQ,CAAC,oBAAoB,CAAC,EACpD,MAAM,EAAE,MAAM;IAKnC,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;YAkB9B,YAAY;IAmB1B,OAAO,CAAC,eAAe;YAiDT,0BAA0B;YAwB1B,qBAAqB;IA4DnC,OAAO,CAAC,2BAA2B;IAuBnC,OAAO,CAAC,0BAA0B;IAkDlC,OAAO,CAAC,2BAA2B;YA0BrB,wBAAwB;YAkCxB,qBAAqB;IAiCnC,OAAO,CAAC,8BAA8B;IAuBtC,OAAO,CAAC,2BAA2B;YA2ErB,wBAAwB;YAkCxB,qBAAqB;IA6CnC,OAAO,CAAC,kCAAkC;CAyB7C"}
|