@cratis/chronicle 6.9.0 → 6.10.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/ChronicleClient.ts +52 -13
- package/ChronicleOptions.spec.ts +54 -0
- package/ChronicleOptions.ts +20 -5
- package/EventStore.ts +7 -1
- package/README.md +2 -3
- package/artifacts/DefaultClientArtifactsProvider.ts +4 -1
- package/connection/ChronicleConnection.auth.spec.ts +219 -0
- package/connection/ChronicleConnection.ts +70 -31
- package/connection/ChronicleServices.ts +1 -1
- package/connection/CompatibilityPreflight.ts +1 -1
- package/connection/RejectedChronicleCredentials.ts +10 -0
- package/connection/TokenProvider.spec.ts +5 -6
- package/connection/TokenProvider.ts +26 -17
- package/connection/clientVersion.spec.ts +27 -0
- package/connection/clientVersion.ts +9 -0
- package/connection/describeRequestError.spec.ts +22 -0
- package/connection/fetchOAuthAccessToken.ts +33 -2
- package/dist/ChronicleClient.d.ts +3 -0
- package/dist/ChronicleClient.d.ts.map +1 -1
- package/dist/ChronicleClient.js +55 -13
- package/dist/ChronicleClient.js.map +1 -1
- package/dist/ChronicleOptions.d.ts +5 -1
- package/dist/ChronicleOptions.d.ts.map +1 -1
- package/dist/ChronicleOptions.js +20 -5
- package/dist/ChronicleOptions.js.map +1 -1
- package/dist/EventStore.d.ts +2 -0
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +6 -1
- package/dist/EventStore.js.map +1 -1
- package/dist/artifacts/DefaultClientArtifactsProvider.d.ts.map +1 -1
- package/dist/artifacts/DefaultClientArtifactsProvider.js +4 -1
- package/dist/artifacts/DefaultClientArtifactsProvider.js.map +1 -1
- package/dist/connection/ChronicleConnection.d.ts +3 -3
- package/dist/connection/ChronicleConnection.d.ts.map +1 -1
- package/dist/connection/ChronicleConnection.js +74 -26
- package/dist/connection/ChronicleConnection.js.map +1 -1
- package/dist/connection/ChronicleServices.d.ts +1 -2
- package/dist/connection/ChronicleServices.d.ts.map +1 -1
- package/dist/connection/CompatibilityPreflight.js +1 -1
- package/dist/connection/CompatibilityPreflight.js.map +1 -1
- package/dist/connection/RejectedChronicleCredentials.d.ts +5 -0
- package/dist/connection/RejectedChronicleCredentials.d.ts.map +1 -0
- package/dist/connection/RejectedChronicleCredentials.js +10 -0
- package/dist/connection/RejectedChronicleCredentials.js.map +1 -0
- package/dist/connection/TokenProvider.d.ts +8 -6
- package/dist/connection/TokenProvider.d.ts.map +1 -1
- package/dist/connection/TokenProvider.js +25 -11
- package/dist/connection/TokenProvider.js.map +1 -1
- package/dist/connection/clientVersion.d.ts +3 -0
- package/dist/connection/clientVersion.d.ts.map +1 -0
- package/dist/connection/clientVersion.js +7 -0
- package/dist/connection/clientVersion.js.map +1 -0
- package/dist/connection/fetchOAuthAccessToken.d.ts +12 -0
- package/dist/connection/fetchOAuthAccessToken.d.ts.map +1 -1
- package/dist/connection/fetchOAuthAccessToken.js +37 -2
- package/dist/connection/fetchOAuthAccessToken.js.map +1 -1
- package/dist/externalServices/ExternalServiceBuilder.d.ts +1 -1
- package/dist/externalServices/ExternalServiceBuilder.d.ts.map +1 -1
- package/dist/externalServices/ExternalServiceBuilder.js +1 -1
- package/dist/externalServices/ExternalServiceBuilder.js.map +1 -1
- package/dist/externalServices/ExternalServices.d.ts.map +1 -1
- package/dist/externalServices/ExternalServices.js +3 -1
- package/dist/externalServices/ExternalServices.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/projections/Projections.d.ts.map +1 -1
- package/dist/projections/Projections.js +9 -7
- package/dist/projections/Projections.js.map +1 -1
- package/dist/projections/constantValueExpression.d.ts +3 -0
- package/dist/projections/constantValueExpression.d.ts.map +1 -0
- package/dist/projections/constantValueExpression.js +26 -0
- package/dist/projections/constantValueExpression.js.map +1 -0
- package/dist/projections/declarative/ChildrenBuilder.d.ts +2 -0
- package/dist/projections/declarative/ChildrenBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/ChildrenBuilder.js +5 -0
- package/dist/projections/declarative/ChildrenBuilder.js.map +1 -1
- package/dist/projections/declarative/FromBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/FromBuilder.js +3 -2
- package/dist/projections/declarative/FromBuilder.js.map +1 -1
- package/dist/projections/declarative/JoinBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/JoinBuilder.js +2 -1
- package/dist/projections/declarative/JoinBuilder.js.map +1 -1
- package/dist/projections/declarative/NestedBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/NestedBuilder.js +3 -1
- package/dist/projections/declarative/NestedBuilder.js.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderCore.d.ts +5 -0
- package/dist/projections/declarative/ProjectionBuilderCore.d.ts.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderCore.js +18 -2
- package/dist/projections/declarative/ProjectionBuilderCore.js.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderFor.d.ts +6 -0
- package/dist/projections/declarative/ProjectionBuilderFor.d.ts.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderFor.js +5 -0
- package/dist/projections/declarative/ProjectionBuilderFor.js.map +1 -1
- package/dist/projections/declarative/SetBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/SetBuilder.js +2 -1
- package/dist/projections/declarative/SetBuilder.js.map +1 -1
- package/dist/projections/modelBound/addFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/addFrom.js +3 -2
- package/dist/projections/modelBound/addFrom.js.map +1 -1
- package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts +20 -0
- package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts.map +1 -1
- package/dist/projections/modelBound/childrenAndNestedBuilder.js +14 -11
- package/dist/projections/modelBound/childrenAndNestedBuilder.js.map +1 -1
- package/dist/projections/modelBound/childrenFrom.d.ts +4 -2
- package/dist/projections/modelBound/childrenFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/childrenFrom.js +8 -4
- package/dist/projections/modelBound/childrenFrom.js.map +1 -1
- package/dist/projections/modelBound/clearWith.d.ts.map +1 -1
- package/dist/projections/modelBound/clearWith.js +3 -2
- package/dist/projections/modelBound/clearWith.js.map +1 -1
- package/dist/projections/modelBound/count.d.ts.map +1 -1
- package/dist/projections/modelBound/count.js +3 -2
- package/dist/projections/modelBound/count.js.map +1 -1
- package/dist/projections/modelBound/decrement.d.ts.map +1 -1
- package/dist/projections/modelBound/decrement.js +3 -2
- package/dist/projections/modelBound/decrement.js.map +1 -1
- package/dist/projections/modelBound/fromAll.d.ts.map +1 -1
- package/dist/projections/modelBound/fromAll.js +3 -2
- package/dist/projections/modelBound/fromAll.js.map +1 -1
- package/dist/projections/modelBound/fromEvery.d.ts.map +1 -1
- package/dist/projections/modelBound/fromEvery.js +3 -2
- package/dist/projections/modelBound/fromEvery.js.map +1 -1
- package/dist/projections/modelBound/increment.d.ts.map +1 -1
- package/dist/projections/modelBound/increment.js +3 -2
- package/dist/projections/modelBound/increment.js.map +1 -1
- package/dist/projections/modelBound/join.d.ts.map +1 -1
- package/dist/projections/modelBound/join.js +3 -2
- package/dist/projections/modelBound/join.js.map +1 -1
- package/dist/projections/modelBound/nested.d.ts.map +1 -1
- package/dist/projections/modelBound/nested.js +3 -2
- package/dist/projections/modelBound/nested.js.map +1 -1
- package/dist/projections/modelBound/noAutoMap.d.ts.map +1 -1
- package/dist/projections/modelBound/noAutoMap.js +3 -2
- package/dist/projections/modelBound/noAutoMap.js.map +1 -1
- package/dist/projections/modelBound/removedWith.d.ts.map +1 -1
- package/dist/projections/modelBound/removedWith.js +3 -2
- package/dist/projections/modelBound/removedWith.js.map +1 -1
- package/dist/projections/modelBound/removedWithJoin.d.ts.map +1 -1
- package/dist/projections/modelBound/removedWithJoin.js +3 -2
- package/dist/projections/modelBound/removedWithJoin.js.map +1 -1
- package/dist/projections/modelBound/setFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/setFrom.js +3 -2
- package/dist/projections/modelBound/setFrom.js.map +1 -1
- package/dist/projections/modelBound/setFromContext.d.ts.map +1 -1
- package/dist/projections/modelBound/setFromContext.js +3 -2
- package/dist/projections/modelBound/setFromContext.js.map +1 -1
- package/dist/projections/modelBound/setValue.d.ts.map +1 -1
- package/dist/projections/modelBound/setValue.js +3 -2
- package/dist/projections/modelBound/setValue.js.map +1 -1
- package/dist/projections/modelBound/subtractFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/subtractFrom.js +3 -2
- package/dist/projections/modelBound/subtractFrom.js.map +1 -1
- package/dist/projections/notSetPropertyPath.d.ts +3 -0
- package/dist/projections/notSetPropertyPath.d.ts.map +1 -0
- package/dist/projections/notSetPropertyPath.js +5 -0
- package/dist/projections/notSetPropertyPath.js.map +1 -0
- package/dist/reactors/Reactors.d.ts +4 -0
- package/dist/reactors/Reactors.d.ts.map +1 -1
- package/dist/reactors/Reactors.js +24 -6
- package/dist/reactors/Reactors.js.map +1 -1
- package/dist/reactors/reactor.d.ts +2 -2
- package/dist/reactors/reactor.js +2 -2
- package/dist/readModels/MaterializedReadModels.d.ts.map +1 -1
- package/dist/readModels/MaterializedReadModels.js +2 -4
- package/dist/readModels/MaterializedReadModels.js.map +1 -1
- package/dist/readModels/ReadModels.d.ts +2 -1
- package/dist/readModels/ReadModels.d.ts.map +1 -1
- package/dist/readModels/ReadModels.js +19 -10
- package/dist/readModels/ReadModels.js.map +1 -1
- package/dist/readModels/deserializeReadModel.d.ts +5 -0
- package/dist/readModels/deserializeReadModel.d.ts.map +1 -0
- package/dist/readModels/deserializeReadModel.js +84 -0
- package/dist/readModels/deserializeReadModel.js.map +1 -0
- package/dist/readModels/rootReadModelTypes.d.ts +5 -0
- package/dist/readModels/rootReadModelTypes.d.ts.map +1 -0
- package/dist/readModels/rootReadModelTypes.js +69 -0
- package/dist/readModels/rootReadModelTypes.js.map +1 -0
- package/dist/reducers/Reducers.d.ts +4 -0
- package/dist/reducers/Reducers.d.ts.map +1 -1
- package/dist/reducers/Reducers.js +24 -6
- package/dist/reducers/Reducers.js.map +1 -1
- package/dist/schemas/JsonSchemaGenerator.d.ts.map +1 -1
- package/dist/schemas/JsonSchemaGenerator.js +4 -4
- package/dist/schemas/JsonSchemaGenerator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/TypeDiscoverer.d.ts +8 -1
- package/dist/types/TypeDiscoverer.d.ts.map +1 -1
- package/dist/types/TypeDiscoverer.js +25 -5
- package/dist/types/TypeDiscoverer.js.map +1 -1
- package/dist/types/TypeIntrospector.d.ts.map +1 -1
- package/dist/types/TypeIntrospector.js +3 -2
- package/dist/types/TypeIntrospector.js.map +1 -1
- package/dist/types/conceptValueType.d.ts +4 -0
- package/dist/types/conceptValueType.d.ts.map +1 -0
- package/dist/types/conceptValueType.js +10 -0
- package/dist/types/conceptValueType.js.map +1 -0
- package/dist/types/modelBoundProperty.d.ts +6 -0
- package/dist/types/modelBoundProperty.d.ts.map +1 -0
- package/dist/types/modelBoundProperty.js +53 -0
- package/dist/types/modelBoundProperty.js.map +1 -0
- package/externalServices/ExternalServiceBuilder.ts +4 -4
- package/externalServices/ExternalServices.spec.ts +87 -0
- package/externalServices/ExternalServices.ts +3 -1
- package/for_ChronicleClient/connectionAuthentication.spec.ts +67 -0
- package/index.ts +1 -0
- package/observation/observationDisposal.spec.ts +74 -0
- package/package.json +2 -1
- package/projections/Projections.childrenAndNested.spec.ts +2 -0
- package/projections/Projections.modelBoundCompleteness.spec.ts +47 -0
- package/projections/Projections.ts +9 -7
- package/projections/constantValueExpression.spec.ts +31 -0
- package/projections/constantValueExpression.ts +28 -0
- package/projections/declarative/ChildrenBuilder.spec.ts +46 -1
- package/projections/declarative/ChildrenBuilder.ts +6 -0
- package/projections/declarative/FromBuilder.ts +3 -2
- package/projections/declarative/JoinBuilder.ts +2 -1
- package/projections/declarative/NestedBuilder.ts +3 -1
- package/projections/declarative/ProjectionBuilderCore.ts +20 -2
- package/projections/declarative/ProjectionBuilderFor.spec.ts +61 -4
- package/projections/declarative/ProjectionBuilderFor.ts +7 -0
- package/projections/declarative/SetBuilder.ts +2 -1
- package/projections/modelBound/addFrom.ts +3 -2
- package/projections/modelBound/childrenAndNestedBuilder.ts +14 -11
- package/projections/modelBound/childrenFrom.ts +11 -5
- package/projections/modelBound/clearWith.ts +3 -2
- package/projections/modelBound/count.ts +3 -2
- package/projections/modelBound/decorators.standard.spec.ts +45 -0
- package/projections/modelBound/decrement.ts +3 -2
- package/projections/modelBound/fromAll.ts +3 -2
- package/projections/modelBound/fromEvery.ts +3 -2
- package/projections/modelBound/increment.ts +3 -2
- package/projections/modelBound/join.ts +3 -2
- package/projections/modelBound/nested.ts +3 -2
- package/projections/modelBound/noAutoMap.ts +3 -2
- package/projections/modelBound/removedWith.ts +3 -2
- package/projections/modelBound/removedWithJoin.ts +3 -2
- package/projections/modelBound/setFrom.ts +3 -2
- package/projections/modelBound/setFromContext.ts +3 -2
- package/projections/modelBound/setValue.ts +3 -2
- package/projections/modelBound/subtractFrom.ts +3 -2
- package/projections/notSetPropertyPath.ts +5 -0
- package/reactors/Reactors.ts +22 -7
- package/reactors/reactor.ts +2 -2
- package/readModels/MaterializedReadModels.spec.ts +22 -0
- package/readModels/MaterializedReadModels.ts +2 -4
- package/readModels/ReadModels.spec.ts +109 -1
- package/readModels/ReadModels.ts +21 -11
- package/readModels/conceptValueType.spec.ts +20 -0
- package/readModels/deserializeReadModel.spec.ts +84 -0
- package/readModels/deserializeReadModel.ts +82 -0
- package/readModels/discovery.spec.ts +27 -0
- package/readModels/rootReadModelTypes.spec.ts +115 -0
- package/readModels/rootReadModelTypes.ts +65 -0
- package/reducers/Reducers.ts +22 -7
- package/schemas/JsonSchemaGenerator.ts +4 -4
- package/schemas/legacyDesignMetadata.spec.ts +24 -2
- package/types/TypeDiscoverer.spec.ts +57 -0
- package/types/TypeDiscoverer.ts +27 -6
- package/types/TypeIntrospector.ts +3 -2
- package/types/conceptValueType.ts +11 -0
- package/types/modelBoundProperty.ts +53 -0
- package/dist/externalServices/ExternalServicesContracts.d.ts +0 -137
- package/dist/externalServices/ExternalServicesContracts.d.ts.map +0 -1
- package/dist/externalServices/ExternalServicesContracts.js +0 -654
- package/dist/externalServices/ExternalServicesContracts.js.map +0 -1
- package/externalServices/ExternalServicesContracts.ts +0 -709
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
// Copyright (c) Cratis. All rights reserved.
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
-
import {
|
|
3
|
+
import { status } from '@grpc/grpc-js';
|
|
4
|
+
import { diag } from '@opentelemetry/api';
|
|
5
|
+
import { ConnectionServiceDefinition, ConstraintsDefinition, EventSeedingDefinition, EventSequencesDefinition, EventStoresDefinition, EventTypesDefinition, ExternalServicesDefinition, FailedPartitionsDefinition, IdentitiesDefinition, JobsDefinition, MaterializedReadModelsDefinition, NamespacesDefinition, ObserversDefinition, ProjectionsDefinition, ReactorsDefinition, ReadModelExplorerDefinition, ReadModelsDefinition, RecommendationsDefinition, ReducersDefinition, ServerDefinition, WebhooksDefinition } from '@cratis/chronicle.contracts';
|
|
4
6
|
import { ComplianceDefinition } from '../compliance/ComplianceContracts.js';
|
|
5
7
|
import { createChannel, createClientFactory } from 'nice-grpc';
|
|
6
|
-
import { Metadata } from 'nice-grpc-common';
|
|
8
|
+
import { ClientError, Metadata } from 'nice-grpc-common';
|
|
7
9
|
import { EventStoreSubscriptionsDefinition } from '../eventStoreSubscriptions/contracts.js';
|
|
8
|
-
import {
|
|
9
|
-
import { AuthenticationMode, ChronicleConnectionString } from './ChronicleConnectionString.js';
|
|
10
|
+
import { ChronicleConnectionString } from './ChronicleConnectionString.js';
|
|
10
11
|
import { ChronicleServerAddressResolver } from './ChronicleServerAddressResolver.js';
|
|
11
12
|
import { CompatibilityPreflight } from './CompatibilityPreflight.js';
|
|
12
13
|
import { formatServerAddress } from './formatServerAddress.js';
|
|
@@ -22,7 +23,7 @@ export class ChronicleConnection {
|
|
|
22
23
|
_connections;
|
|
23
24
|
_compatibility;
|
|
24
25
|
_connectionString;
|
|
25
|
-
|
|
26
|
+
_tokenProviders = new Map();
|
|
26
27
|
_addressResolver;
|
|
27
28
|
_loadBalancerStrategy;
|
|
28
29
|
_isConnected = false;
|
|
@@ -40,7 +41,9 @@ export class ChronicleConnection {
|
|
|
40
41
|
else {
|
|
41
42
|
this._connectionString = ChronicleConnectionString.Default;
|
|
42
43
|
}
|
|
43
|
-
this.
|
|
44
|
+
if (!this._connectionString.apiKey && (!!this._connectionString.username !== !!this._connectionString.password)) {
|
|
45
|
+
throw new Error('Connection string must contain both username and password, or neither');
|
|
46
|
+
}
|
|
44
47
|
this._addressResolver = new ChronicleServerAddressResolver();
|
|
45
48
|
this._loadBalancerStrategy = createLoadBalancerStrategy(this._connectionString.loadBalancer, this._connectionString.skipTlsValidation);
|
|
46
49
|
this._clientsReady = this.createClients();
|
|
@@ -167,9 +170,10 @@ export class ChronicleConnection {
|
|
|
167
170
|
const candidates = await this._addressResolver.resolve(this._connectionString);
|
|
168
171
|
const selected = await this._loadBalancerStrategy.select(candidates);
|
|
169
172
|
const serverAddress = formatServerAddress(selected);
|
|
173
|
+
const tokenProvider = this.createTokenProvider(selected);
|
|
170
174
|
const credentials = this._options.credentials ?? this._connectionString.createCredentials();
|
|
171
175
|
this._channel = createChannel(serverAddress, credentials, channelOptions);
|
|
172
|
-
const factory = createClientFactory().use(this.createAuthMiddleware());
|
|
176
|
+
const factory = createClientFactory().use(this.createAuthMiddleware(tokenProvider));
|
|
173
177
|
this._connections = factory.create(ConnectionServiceDefinition, this._channel);
|
|
174
178
|
this._compatibility = new CompatibilityPreflight(this._connections, this._options.connectTimeout ?? 10_000);
|
|
175
179
|
const eventSequenceFactory = factory.use(this._compatibility.middleware());
|
|
@@ -198,25 +202,21 @@ export class ChronicleConnection {
|
|
|
198
202
|
externalServices: factory.create(ExternalServicesDefinition, this._channel)
|
|
199
203
|
};
|
|
200
204
|
}
|
|
201
|
-
createTokenProvider() {
|
|
205
|
+
createTokenProvider(selected) {
|
|
202
206
|
const hasUsername = !!this._connectionString.username;
|
|
203
|
-
const hasPassword = !!this._connectionString.password;
|
|
204
207
|
const hasApiKey = !!this._connectionString.apiKey;
|
|
205
208
|
if (hasApiKey) {
|
|
206
209
|
return new NoOpTokenProvider();
|
|
207
210
|
}
|
|
208
|
-
if (hasUsername
|
|
209
|
-
|
|
211
|
+
if (hasUsername) {
|
|
212
|
+
return this.createOAuthTokenProvider(selected, this._connectionString.username, this._connectionString.password);
|
|
210
213
|
}
|
|
211
|
-
|
|
212
|
-
return this.createOAuthTokenProvider(this._connectionString.username, this._connectionString.password);
|
|
213
|
-
}
|
|
214
|
-
return this.createOAuthTokenProvider(ChronicleConnectionString.DEVELOPMENT_CLIENT, ChronicleConnectionString.DEVELOPMENT_CLIENT_SECRET);
|
|
214
|
+
return this.createOAuthTokenProvider(selected, ChronicleConnectionString.DEVELOPMENT_CLIENT, ChronicleConnectionString.DEVELOPMENT_CLIENT_SECRET);
|
|
215
215
|
}
|
|
216
|
-
createOAuthTokenProvider(username, password) {
|
|
217
|
-
// Chronicle serves
|
|
218
|
-
//
|
|
219
|
-
const serverPort =
|
|
216
|
+
createOAuthTokenProvider(selected, username, password) {
|
|
217
|
+
// Chronicle serves authentication on the selected kernel's port unless an explicit
|
|
218
|
+
// authority overrides it. Cache providers by endpoint across channel resets.
|
|
219
|
+
const serverPort = selected.port;
|
|
220
220
|
let authorityHost;
|
|
221
221
|
let authorityPort;
|
|
222
222
|
if (this._options.authority) {
|
|
@@ -225,28 +225,76 @@ export class ChronicleConnection {
|
|
|
225
225
|
authorityPort = authority.port ? parseInt(authority.port, 10) : serverPort;
|
|
226
226
|
}
|
|
227
227
|
else {
|
|
228
|
-
authorityHost =
|
|
228
|
+
authorityHost = selected.host;
|
|
229
229
|
authorityPort = serverPort;
|
|
230
230
|
}
|
|
231
231
|
const scheme = this._connectionString.disableTls ? 'http' : 'https';
|
|
232
|
-
|
|
232
|
+
const endpoint = `${scheme}://${authorityHost.includes(':') && !authorityHost.startsWith('[') ? `[${authorityHost}]` : authorityHost}:${authorityPort}/connect/token`;
|
|
233
|
+
let provider = this._tokenProviders.get(endpoint);
|
|
234
|
+
if (!provider) {
|
|
235
|
+
provider = new OAuthTokenProvider(endpoint, username, password, this._connectionString.skipTlsValidation);
|
|
236
|
+
this._tokenProviders.set(endpoint, provider);
|
|
237
|
+
}
|
|
238
|
+
return provider;
|
|
233
239
|
}
|
|
234
|
-
createAuthMiddleware() {
|
|
235
|
-
const tokenProvider = this._tokenProvider;
|
|
240
|
+
createAuthMiddleware(tokenProvider) {
|
|
236
241
|
const connectionString = this._connectionString;
|
|
242
|
+
const logger = diag.createComponentLogger({ namespace: '@cratis/chronicle/ChronicleConnection' });
|
|
243
|
+
const loggedFailures = new WeakSet();
|
|
237
244
|
return async function* authMiddleware(call, options) {
|
|
238
|
-
|
|
245
|
+
let token;
|
|
246
|
+
let tokenFailure;
|
|
247
|
+
try {
|
|
248
|
+
token = await tokenProvider.getAccessToken();
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
tokenFailure = error instanceof Error ? error : new Error(String(error));
|
|
252
|
+
if (!loggedFailures.has(tokenFailure)) {
|
|
253
|
+
loggedFailures.add(tokenFailure);
|
|
254
|
+
logger.warn('Failed to obtain OAuth2 token; sending RPC without authorization', { error: tokenFailure.message });
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
if (!token)
|
|
258
|
+
tokenFailure ??= tokenProvider.lastTokenFailure;
|
|
239
259
|
if (token) {
|
|
240
260
|
const metadata = options.metadata ? Metadata(options.metadata) : Metadata();
|
|
241
261
|
metadata.set('authorization', `Bearer ${token}`);
|
|
242
262
|
options.metadata = metadata;
|
|
243
263
|
}
|
|
244
|
-
else if (connectionString.
|
|
264
|
+
else if (connectionString.apiKey) {
|
|
245
265
|
const metadata = options.metadata ? Metadata(options.metadata) : Metadata();
|
|
246
266
|
metadata.set('api-key', connectionString.apiKey);
|
|
247
267
|
options.metadata = metadata;
|
|
248
268
|
}
|
|
249
|
-
|
|
269
|
+
try {
|
|
270
|
+
return yield* call.next(call.request, options);
|
|
271
|
+
}
|
|
272
|
+
catch (error) {
|
|
273
|
+
if (error?.code !== status.UNAUTHENTICATED)
|
|
274
|
+
throw error;
|
|
275
|
+
if (token && !call.responseStream && !call.requestStream) {
|
|
276
|
+
try {
|
|
277
|
+
const refreshed = await tokenProvider.refresh();
|
|
278
|
+
if (refreshed) {
|
|
279
|
+
const metadata = options.metadata ? Metadata(options.metadata) : Metadata();
|
|
280
|
+
metadata.set('authorization', `Bearer ${refreshed}`);
|
|
281
|
+
return yield* call.next(call.request, { ...options, metadata });
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
catch (refreshError) {
|
|
285
|
+
tokenFailure = refreshError instanceof Error ? refreshError : new Error(String(refreshError));
|
|
286
|
+
}
|
|
287
|
+
tokenFailure ??= tokenProvider.lastTokenFailure;
|
|
288
|
+
}
|
|
289
|
+
if (tokenFailure) {
|
|
290
|
+
const original = error;
|
|
291
|
+
const wrapped = new ClientError(original.path, original.code, `${tokenFailure.message}; Chronicle rejected the unauthenticated RPC`);
|
|
292
|
+
Object.defineProperty(wrapped, 'cause', { value: original });
|
|
293
|
+
Object.defineProperty(wrapped, 'tokenFailure', { value: tokenFailure });
|
|
294
|
+
throw wrapped;
|
|
295
|
+
}
|
|
296
|
+
throw error;
|
|
297
|
+
}
|
|
250
298
|
};
|
|
251
299
|
}
|
|
252
300
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChronicleConnection.js","sourceRoot":"","sources":["../../connection/ChronicleConnection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChronicleConnection.js","sourceRoot":"","sources":["../../connection/ChronicleConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { ConstraintsClient, EventSeedingClient, EventSequencesClient, EventStoresClient, EventTypesClient, FailedPartitionsClient, IdentitiesClient, JobsClient, MaterializedReadModelsClient, NamespacesClient, ObserversClient, ProjectionsClient, ReactorsClient, ReadModelExplorerClient, ReadModelsClient, RecommendationsClient, ReducersClient, ServerClient, WebhooksClient } from '@cratis/chronicle.contracts';
|
|
1
|
+
import type { ConstraintsClient, EventSeedingClient, EventSequencesClient, EventStoresClient, EventTypesClient, ExternalServicesClient, FailedPartitionsClient, IdentitiesClient, JobsClient, MaterializedReadModelsClient, NamespacesClient, ObserversClient, ProjectionsClient, ReactorsClient, ReadModelExplorerClient, ReadModelsClient, RecommendationsClient, ReducersClient, ServerClient, WebhooksClient } from '@cratis/chronicle.contracts';
|
|
2
2
|
import type { ComplianceClient } from '../compliance/ComplianceContracts.js';
|
|
3
3
|
import type { EventStoreSubscriptionsClient } from '../eventStoreSubscriptions/contracts.js';
|
|
4
|
-
import type { ExternalServicesClient } from '../externalServices/ExternalServicesContracts.js';
|
|
5
4
|
/**
|
|
6
5
|
* Represents all Chronicle gRPC services.
|
|
7
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChronicleServices.d.ts","sourceRoot":"","sources":["../../connection/ChronicleServices.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,cAAc,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChronicleServices.d.ts","sourceRoot":"","sources":["../../connection/ChronicleServices.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,cAAc,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,eAAe,EAAE,qBAAqB,CAAC;IACvC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,cAAc,EAAE,oBAAoB,CAAC;IACrC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,SAAS,EAAE,eAAe,CAAC;IAC3B,uBAAuB,EAAE,6BAA6B,CAAC;IACvD,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,sBAAsB,EAAE,4BAA4B,CAAC;IACrD,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,EAAE,kBAAkB,CAAC;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,EAAE,sBAAsB,CAAC;CAC5C"}
|
|
@@ -4,8 +4,8 @@ import { createRequire } from 'node:module';
|
|
|
4
4
|
import { chronicleDescriptorSet } from '@cratis/chronicle.contracts';
|
|
5
5
|
import { ClientError, Status } from 'nice-grpc-common';
|
|
6
6
|
import { IncompatibleChronicleServer } from './IncompatibleChronicleServer.js';
|
|
7
|
+
import { clientVersion } from './clientVersion.js';
|
|
7
8
|
const require = createRequire(import.meta.url);
|
|
8
|
-
const clientVersion = require('@cratis/chronicle/package.json').version;
|
|
9
9
|
const protocolVersion = require('@cratis/chronicle.contracts/package.json').version;
|
|
10
10
|
/** Verifies the installed wire contract before a channel can perform event-sequence operations. */
|
|
11
11
|
export class CompatibilityPreflight {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompatibilityPreflight.js","sourceRoot":"","sources":["../../connection/CompatibilityPreflight.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAgC,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,EAAyB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"CompatibilityPreflight.js","sourceRoot":"","sources":["../../connection/CompatibilityPreflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Authentication failed permanently because the token endpoint rejected the credentials. */
|
|
2
|
+
export declare class RejectedChronicleCredentials extends Error {
|
|
3
|
+
constructor(message: string, options?: ErrorOptions);
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=RejectedChronicleCredentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RejectedChronicleCredentials.d.ts","sourceRoot":"","sources":["../../connection/RejectedChronicleCredentials.ts"],"names":[],"mappings":"AAGA,6FAA6F;AAC7F,qBAAa,4BAA6B,SAAQ,KAAK;IACnD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAGlD;CACJ"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
/** Authentication failed permanently because the token endpoint rejected the credentials. */
|
|
4
|
+
export class RejectedChronicleCredentials extends Error {
|
|
5
|
+
constructor(message, options) {
|
|
6
|
+
super(message, options);
|
|
7
|
+
this.name = 'RejectedChronicleCredentials';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=RejectedChronicleCredentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RejectedChronicleCredentials.js","sourceRoot":"","sources":["../../connection/RejectedChronicleCredentials.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,6FAA6F;AAC7F,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACnD,YAAY,OAAe,EAAE,OAAsB;QAC/C,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC/C,CAAC;CACJ"}
|
|
@@ -6,12 +6,12 @@ export interface ITokenProvider {
|
|
|
6
6
|
/**
|
|
7
7
|
* Gets the current access token.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* session machinery recovers from.
|
|
12
|
-
* @returns Promise resolving to the access token or undefined if not available.
|
|
9
|
+
* A failed fetch rejects with the token endpoint and cause; throttled calls return undefined.
|
|
10
|
+
* @returns Promise resolving to the access token or undefined when no token is available.
|
|
13
11
|
*/
|
|
14
12
|
getAccessToken(): Promise<string | undefined>;
|
|
13
|
+
/** Most recent token failure when no token could be obtained. */
|
|
14
|
+
readonly lastTokenFailure?: Error;
|
|
15
15
|
/**
|
|
16
16
|
* Refreshes the access token by clearing cached tokens and obtaining a new one.
|
|
17
17
|
* @returns Promise resolving to the new access token or undefined if not available.
|
|
@@ -37,12 +37,14 @@ export declare class NoOpTokenProvider implements ITokenProvider {
|
|
|
37
37
|
* auth endpoint does not turn every RPC into a fetch attempt.
|
|
38
38
|
*/
|
|
39
39
|
export declare class OAuthTokenProvider implements ITokenProvider {
|
|
40
|
+
private readonly _tokenEndpoint;
|
|
40
41
|
private readonly _fetchToken;
|
|
41
|
-
private readonly _logger;
|
|
42
42
|
private _accessToken?;
|
|
43
43
|
private _expiresAt;
|
|
44
44
|
private _lastFailedFetch?;
|
|
45
|
+
private _lastFetchError?;
|
|
45
46
|
private _refreshPromise?;
|
|
47
|
+
get lastTokenFailure(): Error | undefined;
|
|
46
48
|
/**
|
|
47
49
|
* Creates a new {@link OAuthTokenProvider}.
|
|
48
50
|
* @param tokenEndpoint - The OAuth2 token endpoint to request tokens from.
|
|
@@ -51,7 +53,7 @@ export declare class OAuthTokenProvider implements ITokenProvider {
|
|
|
51
53
|
* @param skipTlsValidation - Whether to skip TLS certificate chain validation.
|
|
52
54
|
* @param _fetchToken - Test-only seam replacing the OAuth2 token request.
|
|
53
55
|
*/
|
|
54
|
-
constructor(
|
|
56
|
+
constructor(_tokenEndpoint: string, clientId: string, clientSecret: string, skipTlsValidation?: boolean, _fetchToken?: () => Promise<OAuthTokenResponse>);
|
|
55
57
|
getAccessToken(): Promise<string | undefined>;
|
|
56
58
|
refresh(): Promise<string | undefined>;
|
|
57
59
|
private hasFreshToken;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenProvider.d.ts","sourceRoot":"","sources":["../../connection/TokenProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TokenProvider.d.ts","sourceRoot":"","sources":["../../connection/TokenProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAA8C,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAUjH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;;;;OAKG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,iEAAiE;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC;IAElC;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IAC9C,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAElD;IAEK,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE3C;CACJ;AAED;;;;;;;;;;GAUG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IAoBjD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAI/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAvBhC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,eAAe,CAAC,CAAQ;IAChC,OAAO,CAAC,eAAe,CAAC,CAA8B;IAEtD,IAAI,gBAAgB,IAAI,KAAK,GAAG,SAAS,CAExC;IAED;;;;;;;OAOG;IACH,YACqB,cAAc,EAAE,MAAM,EACvC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,iBAAiB,GAAE,OAAc,EAChB,WAAW,GAAE,MAAM,OAAO,CAAC,kBAAkB,CAC2B,EACzF;IAEE,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqBlD;IAEK,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM3C;IAED,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,qBAAqB;YAIf,wBAAwB;IAmBtC,OAAO,CAAC,mBAAmB;CAI9B;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Cratis. All rights reserved.
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
-
import {
|
|
4
|
-
import { fetchOAuthAccessToken } from './fetchOAuthAccessToken.js';
|
|
3
|
+
import { fetchOAuthAccessToken, OAuthTokenHttpError } from './fetchOAuthAccessToken.js';
|
|
5
4
|
// Refresh once the token has less than this long left before it expires.
|
|
6
5
|
const TOKEN_REFRESH_MARGIN_MS = 60_000;
|
|
7
6
|
// Assumed lifetime when the token response carries no usable expires_in.
|
|
@@ -32,14 +31,16 @@ export class NoOpTokenProvider {
|
|
|
32
31
|
* auth endpoint does not turn every RPC into a fetch attempt.
|
|
33
32
|
*/
|
|
34
33
|
export class OAuthTokenProvider {
|
|
34
|
+
_tokenEndpoint;
|
|
35
35
|
_fetchToken;
|
|
36
|
-
_logger = diag.createComponentLogger({
|
|
37
|
-
namespace: '@cratis/chronicle/OAuthTokenProvider'
|
|
38
|
-
});
|
|
39
36
|
_accessToken;
|
|
40
37
|
_expiresAt = 0;
|
|
41
38
|
_lastFailedFetch;
|
|
39
|
+
_lastFetchError;
|
|
42
40
|
_refreshPromise;
|
|
41
|
+
get lastTokenFailure() {
|
|
42
|
+
return this._lastFetchError;
|
|
43
|
+
}
|
|
43
44
|
/**
|
|
44
45
|
* Creates a new {@link OAuthTokenProvider}.
|
|
45
46
|
* @param tokenEndpoint - The OAuth2 token endpoint to request tokens from.
|
|
@@ -48,7 +49,8 @@ export class OAuthTokenProvider {
|
|
|
48
49
|
* @param skipTlsValidation - Whether to skip TLS certificate chain validation.
|
|
49
50
|
* @param _fetchToken - Test-only seam replacing the OAuth2 token request.
|
|
50
51
|
*/
|
|
51
|
-
constructor(
|
|
52
|
+
constructor(_tokenEndpoint, clientId, clientSecret, skipTlsValidation = true, _fetchToken = () => fetchOAuthAccessToken(this._tokenEndpoint, clientId, clientSecret, skipTlsValidation)) {
|
|
53
|
+
this._tokenEndpoint = _tokenEndpoint;
|
|
52
54
|
this._fetchToken = _fetchToken;
|
|
53
55
|
}
|
|
54
56
|
async getAccessToken() {
|
|
@@ -59,7 +61,10 @@ export class OAuthTokenProvider {
|
|
|
59
61
|
return this._refreshPromise;
|
|
60
62
|
}
|
|
61
63
|
if (this.isThrottled()) {
|
|
62
|
-
|
|
64
|
+
const cached = this.cachedTokenWhileValid();
|
|
65
|
+
if (cached)
|
|
66
|
+
return cached;
|
|
67
|
+
return undefined;
|
|
63
68
|
}
|
|
64
69
|
this._refreshPromise = this.fetchAndCacheAccessToken();
|
|
65
70
|
try {
|
|
@@ -73,12 +78,19 @@ export class OAuthTokenProvider {
|
|
|
73
78
|
this._accessToken = undefined;
|
|
74
79
|
this._expiresAt = 0;
|
|
75
80
|
this._lastFailedFetch = undefined;
|
|
81
|
+
this._lastFetchError = undefined;
|
|
76
82
|
return this.getAccessToken();
|
|
77
83
|
}
|
|
78
84
|
hasFreshToken() {
|
|
79
85
|
return !!this._accessToken && this._expiresAt - Date.now() > TOKEN_REFRESH_MARGIN_MS;
|
|
80
86
|
}
|
|
81
87
|
isThrottled() {
|
|
88
|
+
// Authentication rejections must be checked on each new connection attempt: the
|
|
89
|
+
// kernel may still be registering bootstrap clients during startup.
|
|
90
|
+
const failure = this._lastFetchError?.cause;
|
|
91
|
+
if (failure instanceof OAuthTokenHttpError && [400, 401].includes(failure.statusCode) &&
|
|
92
|
+
['invalid_client', 'unauthorized_client', 'invalid_grant'].includes(failure.errorCode ?? ''))
|
|
93
|
+
return false;
|
|
82
94
|
return this._lastFailedFetch !== undefined && Date.now() - this._lastFailedFetch < FAILED_FETCH_RETRY_DELAY_MS;
|
|
83
95
|
}
|
|
84
96
|
cachedTokenWhileValid() {
|
|
@@ -90,14 +102,16 @@ export class OAuthTokenProvider {
|
|
|
90
102
|
this._accessToken = response.access_token;
|
|
91
103
|
this._expiresAt = Date.now() + this.lifetimeSecondsFrom(response) * 1000;
|
|
92
104
|
this._lastFailedFetch = undefined;
|
|
105
|
+
this._lastFetchError = undefined;
|
|
93
106
|
return this._accessToken;
|
|
94
107
|
}
|
|
95
108
|
catch (error) {
|
|
96
|
-
this._logger.warn('Failed to fetch OAuth2 token', {
|
|
97
|
-
error: error instanceof Error ? error.message : String(error)
|
|
98
|
-
});
|
|
99
109
|
this._lastFailedFetch = Date.now();
|
|
100
|
-
|
|
110
|
+
this._lastFetchError = new Error(`Failed to obtain OAuth2 token from ${this._tokenEndpoint}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
111
|
+
const cached = this.cachedTokenWhileValid();
|
|
112
|
+
if (cached)
|
|
113
|
+
return cached;
|
|
114
|
+
throw this._lastFetchError;
|
|
101
115
|
}
|
|
102
116
|
}
|
|
103
117
|
// expires_in is RECOMMENDED but not required by OAuth2, and some servers send it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenProvider.js","sourceRoot":"","sources":["../../connection/TokenProvider.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TokenProvider.js","sourceRoot":"","sources":["../../connection/TokenProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientVersion.d.ts","sourceRoot":"","sources":["../../connection/clientVersion.ts"],"names":[],"mappings":"AAOA,yDAAyD;AACzD,eAAO,MAAM,aAAa,QAA6E,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
import { createRequire } from 'node:module';
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
/** Version of the installed Chronicle client package. */
|
|
6
|
+
export const clientVersion = require('@cratis/chronicle/package.json').version;
|
|
7
|
+
//# sourceMappingURL=clientVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientVersion.js","sourceRoot":"","sources":["../../connection/clientVersion.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,yDAAyD;AACzD,MAAM,CAAC,MAAM,aAAa,GAAI,OAAO,CAAC,gCAAgC,CAAyB,CAAC,OAAO,CAAC"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The shape of a successful OAuth2 token response.
|
|
3
3
|
*/
|
|
4
|
+
export declare class OAuthTokenHttpError extends Error {
|
|
5
|
+
readonly statusCode: number;
|
|
6
|
+
readonly errorCode?: string;
|
|
7
|
+
constructor(statusCode: number, body: string);
|
|
8
|
+
}
|
|
4
9
|
export interface OAuthTokenResponse {
|
|
5
10
|
access_token: string;
|
|
6
11
|
/** RECOMMENDED but not required by OAuth2, and some servers send it as a string. */
|
|
@@ -15,4 +20,11 @@ export interface OAuthTokenResponse {
|
|
|
15
20
|
* @returns The parsed token response; rejects when the request fails or the response is not a valid token.
|
|
16
21
|
*/
|
|
17
22
|
export declare function fetchOAuthAccessToken(tokenEndpoint: string, clientId: string, clientSecret: string, skipTlsValidation: boolean): Promise<OAuthTokenResponse>;
|
|
23
|
+
/**
|
|
24
|
+
* Describes a request error. Connecting to a host that resolves to several addresses, such as
|
|
25
|
+
* localhost, fails with an AggregateError whose own message is empty.
|
|
26
|
+
* @param error - The request error.
|
|
27
|
+
* @returns A description that names the failure.
|
|
28
|
+
*/
|
|
29
|
+
export declare function describeRequestError(error: Error): string;
|
|
18
30
|
//# sourceMappingURL=fetchOAuthAccessToken.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchOAuthAccessToken.d.ts","sourceRoot":"","sources":["../../connection/fetchOAuthAccessToken.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,YAAY,EAAE,MAAM,CAAC;IAErB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACjC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,OAAO,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAwD7B"}
|
|
1
|
+
{"version":3,"file":"fetchOAuthAccessToken.d.ts","sourceRoot":"","sources":["../../connection/fetchOAuthAccessToken.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAG9B,QAAQ,CAAC,UAAU,EAAE,MAAM;IAFvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,YAAqB,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EASpD;CACJ;AAED,MAAM,WAAW,kBAAkB;IAC/B,YAAY,EAAE,MAAM,CAAC;IAErB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACjC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,OAAO,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAwD7B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAQzD"}
|
|
@@ -2,6 +2,26 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import * as http from 'http';
|
|
4
4
|
import * as https from 'https';
|
|
5
|
+
/**
|
|
6
|
+
* The shape of a successful OAuth2 token response.
|
|
7
|
+
*/
|
|
8
|
+
export class OAuthTokenHttpError extends Error {
|
|
9
|
+
statusCode;
|
|
10
|
+
errorCode;
|
|
11
|
+
constructor(statusCode, body) {
|
|
12
|
+
super(`Token request failed with status ${statusCode}: ${body}`);
|
|
13
|
+
this.statusCode = statusCode;
|
|
14
|
+
this.name = 'OAuthTokenHttpError';
|
|
15
|
+
try {
|
|
16
|
+
const parsed = JSON.parse(body);
|
|
17
|
+
if (parsed && typeof parsed.error === 'string')
|
|
18
|
+
this.errorCode = parsed.error;
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// A proxy may return HTML or plain text instead of an OAuth error response.
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
5
25
|
/**
|
|
6
26
|
* Requests an access token from an OAuth2 token endpoint using the client credentials flow.
|
|
7
27
|
* @param tokenEndpoint - The token endpoint URL.
|
|
@@ -36,7 +56,7 @@ export function fetchOAuthAccessToken(tokenEndpoint, clientId, clientSecret, ski
|
|
|
36
56
|
});
|
|
37
57
|
response.on('end', () => {
|
|
38
58
|
if (response.statusCode !== 200) {
|
|
39
|
-
reject(new
|
|
59
|
+
reject(new OAuthTokenHttpError(response.statusCode ?? 0, data));
|
|
40
60
|
return;
|
|
41
61
|
}
|
|
42
62
|
try {
|
|
@@ -53,10 +73,25 @@ export function fetchOAuthAccessToken(tokenEndpoint, clientId, clientSecret, ski
|
|
|
53
73
|
});
|
|
54
74
|
});
|
|
55
75
|
request.on('error', error => {
|
|
56
|
-
reject(new Error(`Token request failed: ${error
|
|
76
|
+
reject(new Error(`Token request failed: ${describeRequestError(error)}`, { cause: error }));
|
|
57
77
|
});
|
|
58
78
|
request.write(body);
|
|
59
79
|
request.end();
|
|
60
80
|
});
|
|
61
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Describes a request error. Connecting to a host that resolves to several addresses, such as
|
|
84
|
+
* localhost, fails with an AggregateError whose own message is empty.
|
|
85
|
+
* @param error - The request error.
|
|
86
|
+
* @returns A description that names the failure.
|
|
87
|
+
*/
|
|
88
|
+
export function describeRequestError(error) {
|
|
89
|
+
const code = error.code;
|
|
90
|
+
const inner = error instanceof AggregateError
|
|
91
|
+
? error.errors.map(item => item instanceof Error ? item.message : String(item)).filter(Boolean).join('; ')
|
|
92
|
+
: '';
|
|
93
|
+
return [error.message, inner, code && !error.message.includes(code) && !inner.includes(code) ? code : '']
|
|
94
|
+
.filter(Boolean)
|
|
95
|
+
.join(' ') || 'unknown error';
|
|
96
|
+
}
|
|
62
97
|
//# sourceMappingURL=fetchOAuthAccessToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchOAuthAccessToken.js","sourceRoot":"","sources":["../../connection/fetchOAuthAccessToken.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"fetchOAuthAccessToken.js","sourceRoot":"","sources":["../../connection/fetchOAuthAccessToken.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExternalServiceDefinition } from '
|
|
1
|
+
import { type ExternalServiceDefinition } from '@cratis/chronicle.contracts';
|
|
2
2
|
import { IExternalServiceBuilder } from './IExternalServiceBuilder.js';
|
|
3
3
|
/**
|
|
4
4
|
* Implements {@link IExternalServiceBuilder}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalServiceBuilder.d.ts","sourceRoot":"","sources":["../../externalServices/ExternalServiceBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,yBAAyB,
|
|
1
|
+
{"version":3,"file":"ExternalServiceBuilder.d.ts","sourceRoot":"","sources":["../../externalServices/ExternalServiceBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,yBAAyB,EAIjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;GAEG;AACH,qBAAa,sBAAuB,YAAW,uBAAuB;IAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,cAAc,CAAgF;IACtG,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,SAAS,CAAM;IAEvB,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,CAIzC;IAED,kBAAkB;IAClB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,uBAAuB,CAOzE;IAED,kBAAkB;IAClB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAOtD;IAED,kBAAkB;IAClB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,uBAAuB,CAO5F;IAED,kBAAkB;IAClB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAG9D;IAED,kBAAkB;IAClB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,uBAAuB,CAE3G;IAED,kBAAkB;IAClB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,uBAAuB,CAEhH;IAED,kBAAkB;IAClB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAG9D;IAED;;;;;OAKG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAyBzD;IAED,OAAO,CAAC,iBAAiB;CAS5B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Cratis. All rights reserved.
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
-
import { ExternalServiceEndpointType } from '
|
|
3
|
+
import { ExternalServiceEndpointType } from '@cratis/chronicle.contracts';
|
|
4
4
|
/**
|
|
5
5
|
* Implements {@link IExternalServiceBuilder}.
|
|
6
6
|
*/
|