@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.
Files changed (268) hide show
  1. package/ChronicleClient.ts +52 -13
  2. package/ChronicleOptions.spec.ts +54 -0
  3. package/ChronicleOptions.ts +20 -5
  4. package/EventStore.ts +7 -1
  5. package/README.md +2 -3
  6. package/artifacts/DefaultClientArtifactsProvider.ts +4 -1
  7. package/connection/ChronicleConnection.auth.spec.ts +219 -0
  8. package/connection/ChronicleConnection.ts +70 -31
  9. package/connection/ChronicleServices.ts +1 -1
  10. package/connection/CompatibilityPreflight.ts +1 -1
  11. package/connection/RejectedChronicleCredentials.ts +10 -0
  12. package/connection/TokenProvider.spec.ts +5 -6
  13. package/connection/TokenProvider.ts +26 -17
  14. package/connection/clientVersion.spec.ts +27 -0
  15. package/connection/clientVersion.ts +9 -0
  16. package/connection/describeRequestError.spec.ts +22 -0
  17. package/connection/fetchOAuthAccessToken.ts +33 -2
  18. package/dist/ChronicleClient.d.ts +3 -0
  19. package/dist/ChronicleClient.d.ts.map +1 -1
  20. package/dist/ChronicleClient.js +55 -13
  21. package/dist/ChronicleClient.js.map +1 -1
  22. package/dist/ChronicleOptions.d.ts +5 -1
  23. package/dist/ChronicleOptions.d.ts.map +1 -1
  24. package/dist/ChronicleOptions.js +20 -5
  25. package/dist/ChronicleOptions.js.map +1 -1
  26. package/dist/EventStore.d.ts +2 -0
  27. package/dist/EventStore.d.ts.map +1 -1
  28. package/dist/EventStore.js +6 -1
  29. package/dist/EventStore.js.map +1 -1
  30. package/dist/artifacts/DefaultClientArtifactsProvider.d.ts.map +1 -1
  31. package/dist/artifacts/DefaultClientArtifactsProvider.js +4 -1
  32. package/dist/artifacts/DefaultClientArtifactsProvider.js.map +1 -1
  33. package/dist/connection/ChronicleConnection.d.ts +3 -3
  34. package/dist/connection/ChronicleConnection.d.ts.map +1 -1
  35. package/dist/connection/ChronicleConnection.js +74 -26
  36. package/dist/connection/ChronicleConnection.js.map +1 -1
  37. package/dist/connection/ChronicleServices.d.ts +1 -2
  38. package/dist/connection/ChronicleServices.d.ts.map +1 -1
  39. package/dist/connection/CompatibilityPreflight.js +1 -1
  40. package/dist/connection/CompatibilityPreflight.js.map +1 -1
  41. package/dist/connection/RejectedChronicleCredentials.d.ts +5 -0
  42. package/dist/connection/RejectedChronicleCredentials.d.ts.map +1 -0
  43. package/dist/connection/RejectedChronicleCredentials.js +10 -0
  44. package/dist/connection/RejectedChronicleCredentials.js.map +1 -0
  45. package/dist/connection/TokenProvider.d.ts +8 -6
  46. package/dist/connection/TokenProvider.d.ts.map +1 -1
  47. package/dist/connection/TokenProvider.js +25 -11
  48. package/dist/connection/TokenProvider.js.map +1 -1
  49. package/dist/connection/clientVersion.d.ts +3 -0
  50. package/dist/connection/clientVersion.d.ts.map +1 -0
  51. package/dist/connection/clientVersion.js +7 -0
  52. package/dist/connection/clientVersion.js.map +1 -0
  53. package/dist/connection/fetchOAuthAccessToken.d.ts +12 -0
  54. package/dist/connection/fetchOAuthAccessToken.d.ts.map +1 -1
  55. package/dist/connection/fetchOAuthAccessToken.js +37 -2
  56. package/dist/connection/fetchOAuthAccessToken.js.map +1 -1
  57. package/dist/externalServices/ExternalServiceBuilder.d.ts +1 -1
  58. package/dist/externalServices/ExternalServiceBuilder.d.ts.map +1 -1
  59. package/dist/externalServices/ExternalServiceBuilder.js +1 -1
  60. package/dist/externalServices/ExternalServiceBuilder.js.map +1 -1
  61. package/dist/externalServices/ExternalServices.d.ts.map +1 -1
  62. package/dist/externalServices/ExternalServices.js +3 -1
  63. package/dist/externalServices/ExternalServices.js.map +1 -1
  64. package/dist/index.d.ts +1 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +1 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/projections/Projections.d.ts.map +1 -1
  69. package/dist/projections/Projections.js +9 -7
  70. package/dist/projections/Projections.js.map +1 -1
  71. package/dist/projections/constantValueExpression.d.ts +3 -0
  72. package/dist/projections/constantValueExpression.d.ts.map +1 -0
  73. package/dist/projections/constantValueExpression.js +26 -0
  74. package/dist/projections/constantValueExpression.js.map +1 -0
  75. package/dist/projections/declarative/ChildrenBuilder.d.ts +2 -0
  76. package/dist/projections/declarative/ChildrenBuilder.d.ts.map +1 -1
  77. package/dist/projections/declarative/ChildrenBuilder.js +5 -0
  78. package/dist/projections/declarative/ChildrenBuilder.js.map +1 -1
  79. package/dist/projections/declarative/FromBuilder.d.ts.map +1 -1
  80. package/dist/projections/declarative/FromBuilder.js +3 -2
  81. package/dist/projections/declarative/FromBuilder.js.map +1 -1
  82. package/dist/projections/declarative/JoinBuilder.d.ts.map +1 -1
  83. package/dist/projections/declarative/JoinBuilder.js +2 -1
  84. package/dist/projections/declarative/JoinBuilder.js.map +1 -1
  85. package/dist/projections/declarative/NestedBuilder.d.ts.map +1 -1
  86. package/dist/projections/declarative/NestedBuilder.js +3 -1
  87. package/dist/projections/declarative/NestedBuilder.js.map +1 -1
  88. package/dist/projections/declarative/ProjectionBuilderCore.d.ts +5 -0
  89. package/dist/projections/declarative/ProjectionBuilderCore.d.ts.map +1 -1
  90. package/dist/projections/declarative/ProjectionBuilderCore.js +18 -2
  91. package/dist/projections/declarative/ProjectionBuilderCore.js.map +1 -1
  92. package/dist/projections/declarative/ProjectionBuilderFor.d.ts +6 -0
  93. package/dist/projections/declarative/ProjectionBuilderFor.d.ts.map +1 -1
  94. package/dist/projections/declarative/ProjectionBuilderFor.js +5 -0
  95. package/dist/projections/declarative/ProjectionBuilderFor.js.map +1 -1
  96. package/dist/projections/declarative/SetBuilder.d.ts.map +1 -1
  97. package/dist/projections/declarative/SetBuilder.js +2 -1
  98. package/dist/projections/declarative/SetBuilder.js.map +1 -1
  99. package/dist/projections/modelBound/addFrom.d.ts.map +1 -1
  100. package/dist/projections/modelBound/addFrom.js +3 -2
  101. package/dist/projections/modelBound/addFrom.js.map +1 -1
  102. package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts +20 -0
  103. package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts.map +1 -1
  104. package/dist/projections/modelBound/childrenAndNestedBuilder.js +14 -11
  105. package/dist/projections/modelBound/childrenAndNestedBuilder.js.map +1 -1
  106. package/dist/projections/modelBound/childrenFrom.d.ts +4 -2
  107. package/dist/projections/modelBound/childrenFrom.d.ts.map +1 -1
  108. package/dist/projections/modelBound/childrenFrom.js +8 -4
  109. package/dist/projections/modelBound/childrenFrom.js.map +1 -1
  110. package/dist/projections/modelBound/clearWith.d.ts.map +1 -1
  111. package/dist/projections/modelBound/clearWith.js +3 -2
  112. package/dist/projections/modelBound/clearWith.js.map +1 -1
  113. package/dist/projections/modelBound/count.d.ts.map +1 -1
  114. package/dist/projections/modelBound/count.js +3 -2
  115. package/dist/projections/modelBound/count.js.map +1 -1
  116. package/dist/projections/modelBound/decrement.d.ts.map +1 -1
  117. package/dist/projections/modelBound/decrement.js +3 -2
  118. package/dist/projections/modelBound/decrement.js.map +1 -1
  119. package/dist/projections/modelBound/fromAll.d.ts.map +1 -1
  120. package/dist/projections/modelBound/fromAll.js +3 -2
  121. package/dist/projections/modelBound/fromAll.js.map +1 -1
  122. package/dist/projections/modelBound/fromEvery.d.ts.map +1 -1
  123. package/dist/projections/modelBound/fromEvery.js +3 -2
  124. package/dist/projections/modelBound/fromEvery.js.map +1 -1
  125. package/dist/projections/modelBound/increment.d.ts.map +1 -1
  126. package/dist/projections/modelBound/increment.js +3 -2
  127. package/dist/projections/modelBound/increment.js.map +1 -1
  128. package/dist/projections/modelBound/join.d.ts.map +1 -1
  129. package/dist/projections/modelBound/join.js +3 -2
  130. package/dist/projections/modelBound/join.js.map +1 -1
  131. package/dist/projections/modelBound/nested.d.ts.map +1 -1
  132. package/dist/projections/modelBound/nested.js +3 -2
  133. package/dist/projections/modelBound/nested.js.map +1 -1
  134. package/dist/projections/modelBound/noAutoMap.d.ts.map +1 -1
  135. package/dist/projections/modelBound/noAutoMap.js +3 -2
  136. package/dist/projections/modelBound/noAutoMap.js.map +1 -1
  137. package/dist/projections/modelBound/removedWith.d.ts.map +1 -1
  138. package/dist/projections/modelBound/removedWith.js +3 -2
  139. package/dist/projections/modelBound/removedWith.js.map +1 -1
  140. package/dist/projections/modelBound/removedWithJoin.d.ts.map +1 -1
  141. package/dist/projections/modelBound/removedWithJoin.js +3 -2
  142. package/dist/projections/modelBound/removedWithJoin.js.map +1 -1
  143. package/dist/projections/modelBound/setFrom.d.ts.map +1 -1
  144. package/dist/projections/modelBound/setFrom.js +3 -2
  145. package/dist/projections/modelBound/setFrom.js.map +1 -1
  146. package/dist/projections/modelBound/setFromContext.d.ts.map +1 -1
  147. package/dist/projections/modelBound/setFromContext.js +3 -2
  148. package/dist/projections/modelBound/setFromContext.js.map +1 -1
  149. package/dist/projections/modelBound/setValue.d.ts.map +1 -1
  150. package/dist/projections/modelBound/setValue.js +3 -2
  151. package/dist/projections/modelBound/setValue.js.map +1 -1
  152. package/dist/projections/modelBound/subtractFrom.d.ts.map +1 -1
  153. package/dist/projections/modelBound/subtractFrom.js +3 -2
  154. package/dist/projections/modelBound/subtractFrom.js.map +1 -1
  155. package/dist/projections/notSetPropertyPath.d.ts +3 -0
  156. package/dist/projections/notSetPropertyPath.d.ts.map +1 -0
  157. package/dist/projections/notSetPropertyPath.js +5 -0
  158. package/dist/projections/notSetPropertyPath.js.map +1 -0
  159. package/dist/reactors/Reactors.d.ts +4 -0
  160. package/dist/reactors/Reactors.d.ts.map +1 -1
  161. package/dist/reactors/Reactors.js +24 -6
  162. package/dist/reactors/Reactors.js.map +1 -1
  163. package/dist/reactors/reactor.d.ts +2 -2
  164. package/dist/reactors/reactor.js +2 -2
  165. package/dist/readModels/MaterializedReadModels.d.ts.map +1 -1
  166. package/dist/readModels/MaterializedReadModels.js +2 -4
  167. package/dist/readModels/MaterializedReadModels.js.map +1 -1
  168. package/dist/readModels/ReadModels.d.ts +2 -1
  169. package/dist/readModels/ReadModels.d.ts.map +1 -1
  170. package/dist/readModels/ReadModels.js +19 -10
  171. package/dist/readModels/ReadModels.js.map +1 -1
  172. package/dist/readModels/deserializeReadModel.d.ts +5 -0
  173. package/dist/readModels/deserializeReadModel.d.ts.map +1 -0
  174. package/dist/readModels/deserializeReadModel.js +84 -0
  175. package/dist/readModels/deserializeReadModel.js.map +1 -0
  176. package/dist/readModels/rootReadModelTypes.d.ts +5 -0
  177. package/dist/readModels/rootReadModelTypes.d.ts.map +1 -0
  178. package/dist/readModels/rootReadModelTypes.js +69 -0
  179. package/dist/readModels/rootReadModelTypes.js.map +1 -0
  180. package/dist/reducers/Reducers.d.ts +4 -0
  181. package/dist/reducers/Reducers.d.ts.map +1 -1
  182. package/dist/reducers/Reducers.js +24 -6
  183. package/dist/reducers/Reducers.js.map +1 -1
  184. package/dist/schemas/JsonSchemaGenerator.d.ts.map +1 -1
  185. package/dist/schemas/JsonSchemaGenerator.js +4 -4
  186. package/dist/schemas/JsonSchemaGenerator.js.map +1 -1
  187. package/dist/tsconfig.tsbuildinfo +1 -1
  188. package/dist/types/TypeDiscoverer.d.ts +8 -1
  189. package/dist/types/TypeDiscoverer.d.ts.map +1 -1
  190. package/dist/types/TypeDiscoverer.js +25 -5
  191. package/dist/types/TypeDiscoverer.js.map +1 -1
  192. package/dist/types/TypeIntrospector.d.ts.map +1 -1
  193. package/dist/types/TypeIntrospector.js +3 -2
  194. package/dist/types/TypeIntrospector.js.map +1 -1
  195. package/dist/types/conceptValueType.d.ts +4 -0
  196. package/dist/types/conceptValueType.d.ts.map +1 -0
  197. package/dist/types/conceptValueType.js +10 -0
  198. package/dist/types/conceptValueType.js.map +1 -0
  199. package/dist/types/modelBoundProperty.d.ts +6 -0
  200. package/dist/types/modelBoundProperty.d.ts.map +1 -0
  201. package/dist/types/modelBoundProperty.js +53 -0
  202. package/dist/types/modelBoundProperty.js.map +1 -0
  203. package/externalServices/ExternalServiceBuilder.ts +4 -4
  204. package/externalServices/ExternalServices.spec.ts +87 -0
  205. package/externalServices/ExternalServices.ts +3 -1
  206. package/for_ChronicleClient/connectionAuthentication.spec.ts +67 -0
  207. package/index.ts +1 -0
  208. package/observation/observationDisposal.spec.ts +74 -0
  209. package/package.json +2 -1
  210. package/projections/Projections.childrenAndNested.spec.ts +2 -0
  211. package/projections/Projections.modelBoundCompleteness.spec.ts +47 -0
  212. package/projections/Projections.ts +9 -7
  213. package/projections/constantValueExpression.spec.ts +31 -0
  214. package/projections/constantValueExpression.ts +28 -0
  215. package/projections/declarative/ChildrenBuilder.spec.ts +46 -1
  216. package/projections/declarative/ChildrenBuilder.ts +6 -0
  217. package/projections/declarative/FromBuilder.ts +3 -2
  218. package/projections/declarative/JoinBuilder.ts +2 -1
  219. package/projections/declarative/NestedBuilder.ts +3 -1
  220. package/projections/declarative/ProjectionBuilderCore.ts +20 -2
  221. package/projections/declarative/ProjectionBuilderFor.spec.ts +61 -4
  222. package/projections/declarative/ProjectionBuilderFor.ts +7 -0
  223. package/projections/declarative/SetBuilder.ts +2 -1
  224. package/projections/modelBound/addFrom.ts +3 -2
  225. package/projections/modelBound/childrenAndNestedBuilder.ts +14 -11
  226. package/projections/modelBound/childrenFrom.ts +11 -5
  227. package/projections/modelBound/clearWith.ts +3 -2
  228. package/projections/modelBound/count.ts +3 -2
  229. package/projections/modelBound/decorators.standard.spec.ts +45 -0
  230. package/projections/modelBound/decrement.ts +3 -2
  231. package/projections/modelBound/fromAll.ts +3 -2
  232. package/projections/modelBound/fromEvery.ts +3 -2
  233. package/projections/modelBound/increment.ts +3 -2
  234. package/projections/modelBound/join.ts +3 -2
  235. package/projections/modelBound/nested.ts +3 -2
  236. package/projections/modelBound/noAutoMap.ts +3 -2
  237. package/projections/modelBound/removedWith.ts +3 -2
  238. package/projections/modelBound/removedWithJoin.ts +3 -2
  239. package/projections/modelBound/setFrom.ts +3 -2
  240. package/projections/modelBound/setFromContext.ts +3 -2
  241. package/projections/modelBound/setValue.ts +3 -2
  242. package/projections/modelBound/subtractFrom.ts +3 -2
  243. package/projections/notSetPropertyPath.ts +5 -0
  244. package/reactors/Reactors.ts +22 -7
  245. package/reactors/reactor.ts +2 -2
  246. package/readModels/MaterializedReadModels.spec.ts +22 -0
  247. package/readModels/MaterializedReadModels.ts +2 -4
  248. package/readModels/ReadModels.spec.ts +109 -1
  249. package/readModels/ReadModels.ts +21 -11
  250. package/readModels/conceptValueType.spec.ts +20 -0
  251. package/readModels/deserializeReadModel.spec.ts +84 -0
  252. package/readModels/deserializeReadModel.ts +82 -0
  253. package/readModels/discovery.spec.ts +27 -0
  254. package/readModels/rootReadModelTypes.spec.ts +115 -0
  255. package/readModels/rootReadModelTypes.ts +65 -0
  256. package/reducers/Reducers.ts +22 -7
  257. package/schemas/JsonSchemaGenerator.ts +4 -4
  258. package/schemas/legacyDesignMetadata.spec.ts +24 -2
  259. package/types/TypeDiscoverer.spec.ts +57 -0
  260. package/types/TypeDiscoverer.ts +27 -6
  261. package/types/TypeIntrospector.ts +3 -2
  262. package/types/conceptValueType.ts +11 -0
  263. package/types/modelBoundProperty.ts +53 -0
  264. package/dist/externalServices/ExternalServicesContracts.d.ts +0 -137
  265. package/dist/externalServices/ExternalServicesContracts.d.ts.map +0 -1
  266. package/dist/externalServices/ExternalServicesContracts.js +0 -654
  267. package/dist/externalServices/ExternalServicesContracts.js.map +0 -1
  268. 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 { ConnectionServiceDefinition, ConstraintsDefinition, EventSeedingDefinition, EventSequencesDefinition, EventStoresDefinition, EventTypesDefinition, FailedPartitionsDefinition, IdentitiesDefinition, JobsDefinition, MaterializedReadModelsDefinition, NamespacesDefinition, ObserversDefinition, ProjectionsDefinition, ReactorsDefinition, ReadModelExplorerDefinition, ReadModelsDefinition, RecommendationsDefinition, ReducersDefinition, ServerDefinition, WebhooksDefinition } from '@cratis/chronicle.contracts';
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 { ExternalServicesDefinition } from '../externalServices/ExternalServicesContracts.js';
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
- _tokenProvider;
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._tokenProvider = this.createTokenProvider();
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 !== hasPassword) {
209
- throw new Error('Connection string must contain both username and password, or neither');
211
+ if (hasUsername) {
212
+ return this.createOAuthTokenProvider(selected, this._connectionString.username, this._connectionString.password);
210
213
  }
211
- if (hasUsername && hasPassword) {
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 the authentication endpoint on the same port as the rest of the
218
- // Kernel, so the authority defaults to the connection string's server address.
219
- const serverPort = this._connectionString.serverAddress.port;
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 = this._connectionString.serverAddress.host;
228
+ authorityHost = selected.host;
229
229
  authorityPort = serverPort;
230
230
  }
231
231
  const scheme = this._connectionString.disableTls ? 'http' : 'https';
232
- return new OAuthTokenProvider(`${scheme}://${authorityHost}:${authorityPort}/connect/token`, username, password, this._connectionString.skipTlsValidation);
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
- const token = await tokenProvider.getAccessToken();
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.authenticationMode === AuthenticationMode.ApiKey && connectionString.apiKey) {
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
- return yield* call.next(call.request, options);
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":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,MAAM,EAA8D,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EACH,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EACd,gCAAgC,EAChC,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,2BAA2B,EAC3B,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAA+B,MAAM,gCAAgC,CAAC;AACxG,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAkB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AA+C3F;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAYC,QAAQ;IAX7B,QAAQ,CAAW;IACnB,SAAS,CAAqB;IAC9B,YAAY,CAA2B;IACvC,cAAc,CAA0B;IAC/B,iBAAiB,CAA4B;IAC7C,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IACpD,gBAAgB,CAAiC;IACjD,qBAAqB,CAAwB;IACtD,YAAY,GAAG,KAAK,CAAC;IACrB,aAAa,CAAgB;IAErC,YAA6B,QAAoC;wBAApC,QAAQ;QACjC,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC5B,IAAI,CAAC,iBAAiB,GAAG,OAAO,QAAQ,CAAC,gBAAgB,KAAK,QAAQ;gBAClE,CAAC,CAAC,IAAI,yBAAyB,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC1D,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACpC,CAAC;aAAM,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,IAAI,yBAAyB,CAAC,eAAe,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;QACpG,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,iBAAiB,GAAG,yBAAyB,CAAC,OAAO,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9G,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,8BAA8B,EAAE,CAAC;QAC7D,IAAI,CAAC,qBAAqB,GAAG,0BAA0B,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAEvI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,4EAA4E;QAC5E,iFAAiF;QACjF,+EAA+E;QAC/E,4DAA4D;QAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;IACtC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;IAC1C,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;IACzC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;IACtC,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,IAAI,uBAAuB;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC;IAClD,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;IACtC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;IAC5C,CAAC;IAED,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;IACjD,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;IACvC,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAC3C,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,CAAC,aAAa,CAAC;QACzB,+FAA+F;QAC/F,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,YAAY;QACd,IAAI,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACL,sDAAsD;QAC1D,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,aAAa,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAED,UAAU;QACN,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,aAAa;QACvB,MAAM,cAAc,GAAmB,EAAE,CAAC;QAE1C,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YACpD,cAAc,CAAC,iCAAiC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAC5F,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACjD,cAAc,CAAC,8BAA8B,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACtF,CAAC;QAED,kFAAkF;QAClF,iFAAiF;QACjF,mEAAmE;QACnE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;QAE5F,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QAE1E,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,CAAC,cAAc,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;QAC5G,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,GAAG;YACb,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC/D,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,IAAI,CAAC,QAAQ,CAAC;YACzE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC/D,cAAc,EAAE,oBAAoB,CAAC,MAAM,CAAC,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC;YACpF,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC/D,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC7D,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,iCAAiC,EAAE,IAAI,CAAC,QAAQ,CAAC;YACzF,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC3E,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC3D,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC3D,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC/D,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC7E,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,gCAAgC,EAAE,IAAI,CAAC,QAAQ,CAAC;YACvF,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC;YACnD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC3D,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC;YACnE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC;YACvD,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,oBAA2B,EAAE,IAAI,CAAC,QAAQ,CAAQ;YAC7E,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,IAAI,CAAC,QAAQ,CAAC;SAC9E,CAAC;IACN,CAAC;IAEO,mBAAmB,CAAC,QAAgC;QACxD,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QACtD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAElD,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACnC,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAS,CAAC,CAAC;QACvH,CAAC;QAED,OAAO,IAAI,CAAC,wBAAwB,CAChC,QAAQ,EACR,yBAAyB,CAAC,kBAAkB,EAC5C,yBAAyB,CAAC,yBAAyB,CACtD,CAAC;IACN,CAAC;IAEO,wBAAwB,CAAC,QAAgC,EAAE,QAAgB,EAAE,QAAgB;QACjG,mFAAmF;QACnF,6EAA6E;QAC7E,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;QACjC,IAAI,aAAqB,CAAC;QAC1B,IAAI,aAAqB,CAAC;QAE1B,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnD,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC;YACnC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/E,CAAC;aAAM,CAAC;YACJ,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9B,aAAa,GAAG,UAAU,CAAC;QAC/B,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACpE,MAAM,QAAQ,GAAG,GAAG,MAAM,MAAM,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,aAAa,gBAAgB,CAAC;QACtK,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,QAAQ,GAAG,IAAI,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAC1G,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,oBAAoB,CAAC,aAA6B;QACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,SAAS,EAAE,uCAAuC,EAAE,CAAC,CAAC;QAClG,MAAM,cAAc,GAAG,IAAI,OAAO,EAAS,CAAC;QAE5C,OAAO,KAAK,SAAS,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO;YAC/C,IAAI,KAAyB,CAAC;YAC9B,IAAI,YAA+B,CAAC;YACpC,IAAI,CAAC;gBACD,KAAK,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBACpC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC,kEAAkE,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrH,CAAC;YACL,CAAC;YACD,IAAI,CAAC,KAAK;gBAAE,YAAY,KAAK,aAAa,CAAC,gBAAgB,CAAC;YAE5D,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC5E,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;gBACjD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAChC,CAAC;iBAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC5E,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACjD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAChC,CAAC;YAED,IAAI,CAAC;gBACD,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAK,KAA2B,EAAE,IAAI,KAAK,MAAM,CAAC,eAAe;oBAAE,MAAM,KAAK,CAAC;gBAC/E,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvD,IAAI,CAAC;wBACD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;wBAChD,IAAI,SAAS,EAAE,CAAC;4BACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;4BAC5E,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,SAAS,EAAE,CAAC,CAAC;4BACrD,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;wBACpE,CAAC;oBACL,CAAC;oBAAC,OAAO,YAAY,EAAE,CAAC;wBACpB,YAAY,GAAG,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;oBAClG,CAAC;oBACD,YAAY,KAAK,aAAa,CAAC,gBAAgB,CAAC;gBACpD,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBACf,MAAM,QAAQ,GAAG,KAAoB,CAAC;oBACtC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,OAAO,8CAA8C,CAAC,CAAC;oBACrI,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC7D,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;oBACxE,MAAM,OAAO,CAAC;gBAClB,CAAC;gBACD,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;IACN,CAAC;CACJ"}
@@ -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;AAC7F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAE/F;;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"}
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":"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"}
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
- * Never rejects — when no token can be obtained the result is undefined, the RPC
10
- * proceeds without authorization and fails with the server's rejection, which the
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(tokenEndpoint: string, clientId: string, clientSecret: string, skipTlsValidation?: boolean, _fetchToken?: () => Promise<OAuthTokenResponse>);
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":"AAIA,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAU5F;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;;;;;;OAOG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9C;;;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;IAuBjD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAtBhC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAErB;IAEH,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,eAAe,CAAC,CAA8B;IAEtD;;;;;;;OAOG;IACH,YACI,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,iBAAiB,GAAE,OAAc,EAChB,WAAW,GAAE,MAAM,OAAO,CAAC,kBAAkB,CACqB,EACnF;IAEE,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAmBlD;IAEK,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAK3C;IAED,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,qBAAqB;YAIf,wBAAwB;IAkBtC,OAAO,CAAC,mBAAmB;CAI9B;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC"}
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 { diag } from '@opentelemetry/api';
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(tokenEndpoint, clientId, clientSecret, skipTlsValidation = true, _fetchToken = () => fetchOAuthAccessToken(tokenEndpoint, clientId, clientSecret, skipTlsValidation)) {
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
- return this.cachedTokenWhileValid();
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
- return this.cachedTokenWhileValid();
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":"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"}
1
+ {"version":3,"file":"TokenProvider.js","sourceRoot":"","sources":["../../connection/TokenProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Version of the installed Chronicle client package. */
2
+ export declare const clientVersion: string;
3
+ //# sourceMappingURL=clientVersion.d.ts.map
@@ -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 Error(`Token request failed with status ${response.statusCode}: ${data}`));
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.message}`));
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;AAY/B;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACjC,aAAqB,EACrB,QAAgB,EAChB,YAAoB,EACpB,iBAA0B;IAE1B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAE/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,mCAAmC;gBACnD,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;aAC5C;YACD,6EAA6E;YAC7E,0EAA0E;YAC1E,GAAG,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,EAAE,QAAQ,CAAC,EAAE;YACV,IAAI,IAAI,GAAG,EAAE,CAAC;YAEd,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,IAAI,KAAK,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;oBACtF,OAAO;gBACX,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC;oBAC7D,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;wBAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;wBACpE,OAAO;oBACX,CAAC;oBAED,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC3B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnH,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACxB,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,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 './ExternalServicesContracts.js';
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,EAI5B,MAAM,gCAAgC,CAAC;AACxC,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
+ {"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 './ExternalServicesContracts.js';
3
+ import { ExternalServiceEndpointType } from '@cratis/chronicle.contracts';
4
4
  /**
5
5
  * Implements {@link IExternalServiceBuilder}.
6
6
  */