@cratis/chronicle 2.0.0 → 2.1.1

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 (102) hide show
  1. package/ChronicleClient.ts +69 -60
  2. package/connection/ChronicleConnection.ts +32 -9
  3. package/connection/ChronicleConnectionString.spec.ts +227 -0
  4. package/connection/ChronicleConnectionString.ts +290 -40
  5. package/connection/ChronicleServerAddressResolver.spec.ts +41 -0
  6. package/connection/ChronicleServerAddressResolver.ts +33 -0
  7. package/connection/ChronicleSrvResolutionError.ts +13 -0
  8. package/connection/ChronicleSrvResolver.spec.ts +103 -0
  9. package/connection/ChronicleSrvResolver.ts +57 -0
  10. package/connection/ConnectionLifecycle.spec.ts +109 -0
  11. package/connection/ILoadBalancerStrategy.ts +16 -0
  12. package/connection/KernelKeepAlive.spec.ts +175 -0
  13. package/connection/KernelKeepAlive.ts +161 -0
  14. package/connection/LeastConnectionsLoadBalancerStrategy.spec.ts +159 -0
  15. package/connection/LeastConnectionsLoadBalancerStrategy.ts +117 -0
  16. package/connection/LoadBalancerMode.ts +25 -0
  17. package/connection/LoadBalancerStrategyFactory.ts +28 -0
  18. package/connection/RandomLoadBalancerStrategy.spec.ts +50 -0
  19. package/connection/RandomLoadBalancerStrategy.ts +19 -0
  20. package/connection/RoundRobinLoadBalancerStrategy.spec.ts +61 -0
  21. package/connection/RoundRobinLoadBalancerStrategy.ts +29 -0
  22. package/connection/TokenProvider.spec.ts +159 -0
  23. package/connection/TokenProvider.ts +80 -68
  24. package/connection/fetchOAuthAccessToken.ts +86 -0
  25. package/connection/formatServerAddress.ts +16 -0
  26. package/dist/ChronicleClient.d.ts +8 -1
  27. package/dist/ChronicleClient.d.ts.map +1 -1
  28. package/dist/ChronicleClient.js +63 -56
  29. package/dist/ChronicleClient.js.map +1 -1
  30. package/dist/connection/ChronicleConnection.d.ts +4 -1
  31. package/dist/connection/ChronicleConnection.d.ts.map +1 -1
  32. package/dist/connection/ChronicleConnection.js +29 -9
  33. package/dist/connection/ChronicleConnection.js.map +1 -1
  34. package/dist/connection/ChronicleConnectionString.d.ts +77 -3
  35. package/dist/connection/ChronicleConnectionString.d.ts.map +1 -1
  36. package/dist/connection/ChronicleConnectionString.js +251 -37
  37. package/dist/connection/ChronicleConnectionString.js.map +1 -1
  38. package/dist/connection/ChronicleServerAddressResolver.d.ts +23 -0
  39. package/dist/connection/ChronicleServerAddressResolver.d.ts.map +1 -0
  40. package/dist/connection/ChronicleServerAddressResolver.js +32 -0
  41. package/dist/connection/ChronicleServerAddressResolver.js.map +1 -0
  42. package/dist/connection/ChronicleSrvResolutionError.d.ts +8 -0
  43. package/dist/connection/ChronicleSrvResolutionError.d.ts.map +1 -0
  44. package/dist/connection/ChronicleSrvResolutionError.js +13 -0
  45. package/dist/connection/ChronicleSrvResolutionError.js.map +1 -0
  46. package/dist/connection/ChronicleSrvResolver.d.ts +28 -0
  47. package/dist/connection/ChronicleSrvResolver.d.ts.map +1 -0
  48. package/dist/connection/ChronicleSrvResolver.js +51 -0
  49. package/dist/connection/ChronicleSrvResolver.js.map +1 -0
  50. package/dist/connection/ILoadBalancerStrategy.d.ts +13 -0
  51. package/dist/connection/ILoadBalancerStrategy.d.ts.map +1 -0
  52. package/dist/connection/ILoadBalancerStrategy.js +4 -0
  53. package/dist/connection/ILoadBalancerStrategy.js.map +1 -0
  54. package/dist/connection/KernelKeepAlive.d.ts +73 -0
  55. package/dist/connection/KernelKeepAlive.d.ts.map +1 -0
  56. package/dist/connection/KernelKeepAlive.js +115 -0
  57. package/dist/connection/KernelKeepAlive.js.map +1 -0
  58. package/dist/connection/LeastConnectionsLoadBalancerStrategy.d.ts +30 -0
  59. package/dist/connection/LeastConnectionsLoadBalancerStrategy.d.ts.map +1 -0
  60. package/dist/connection/LeastConnectionsLoadBalancerStrategy.js +95 -0
  61. package/dist/connection/LeastConnectionsLoadBalancerStrategy.js.map +1 -0
  62. package/dist/connection/LoadBalancerMode.d.ts +21 -0
  63. package/dist/connection/LoadBalancerMode.d.ts.map +1 -0
  64. package/dist/connection/LoadBalancerMode.js +24 -0
  65. package/dist/connection/LoadBalancerMode.js.map +1 -0
  66. package/dist/connection/LoadBalancerStrategyFactory.d.ts +11 -0
  67. package/dist/connection/LoadBalancerStrategyFactory.d.ts.map +1 -0
  68. package/dist/connection/LoadBalancerStrategyFactory.js +26 -0
  69. package/dist/connection/LoadBalancerStrategyFactory.js.map +1 -0
  70. package/dist/connection/RandomLoadBalancerStrategy.d.ts +9 -0
  71. package/dist/connection/RandomLoadBalancerStrategy.d.ts.map +1 -0
  72. package/dist/connection/RandomLoadBalancerStrategy.js +15 -0
  73. package/dist/connection/RandomLoadBalancerStrategy.js.map +1 -0
  74. package/dist/connection/RoundRobinLoadBalancerStrategy.d.ts +12 -0
  75. package/dist/connection/RoundRobinLoadBalancerStrategy.d.ts.map +1 -0
  76. package/dist/connection/RoundRobinLoadBalancerStrategy.js +22 -0
  77. package/dist/connection/RoundRobinLoadBalancerStrategy.js.map +1 -0
  78. package/dist/connection/TokenProvider.d.ts +32 -7
  79. package/dist/connection/TokenProvider.d.ts.map +1 -1
  80. package/dist/connection/TokenProvider.js +69 -61
  81. package/dist/connection/TokenProvider.js.map +1 -1
  82. package/dist/connection/fetchOAuthAccessToken.d.ts +18 -0
  83. package/dist/connection/fetchOAuthAccessToken.d.ts.map +1 -0
  84. package/dist/connection/fetchOAuthAccessToken.js +62 -0
  85. package/dist/connection/fetchOAuthAccessToken.js.map +1 -0
  86. package/dist/connection/formatServerAddress.d.ts +10 -0
  87. package/dist/connection/formatServerAddress.d.ts.map +1 -0
  88. package/dist/connection/formatServerAddress.js +14 -0
  89. package/dist/connection/formatServerAddress.js.map +1 -0
  90. package/dist/reactors/Reactors.d.ts +13 -0
  91. package/dist/reactors/Reactors.d.ts.map +1 -1
  92. package/dist/reactors/Reactors.js +42 -4
  93. package/dist/reactors/Reactors.js.map +1 -1
  94. package/dist/reducers/Reducers.d.ts +14 -0
  95. package/dist/reducers/Reducers.d.ts.map +1 -1
  96. package/dist/reducers/Reducers.js +43 -8
  97. package/dist/reducers/Reducers.js.map +1 -1
  98. package/dist/tsconfig.tsbuildinfo +1 -1
  99. package/package.json +8 -5
  100. package/reactors/Reactors.ts +53 -4
  101. package/reducers/Reducers.ts +55 -8
  102. package/vitest.config.ts +12 -0
@@ -6,6 +6,9 @@ import { createChannel, createClientFactory, waitForChannelReady } from 'nice-gr
6
6
  import { Metadata } from 'nice-grpc-common';
7
7
  import { EventStoreSubscriptionsDefinition } from '../eventStoreSubscriptions/contracts';
8
8
  import { AuthenticationMode, ChronicleConnectionString } from './ChronicleConnectionString';
9
+ import { ChronicleServerAddressResolver } from './ChronicleServerAddressResolver';
10
+ import { formatServerAddress } from './formatServerAddress';
11
+ import { createLoadBalancerStrategy } from './LoadBalancerStrategyFactory';
9
12
  import { NoOpTokenProvider, OAuthTokenProvider } from './TokenProvider';
10
13
  /**
11
14
  * Manages the gRPC connection to Chronicle and exposes the generated service clients.
@@ -17,7 +20,10 @@ export class ChronicleConnection {
17
20
  _connections;
18
21
  _connectionString;
19
22
  _tokenProvider;
23
+ _addressResolver;
24
+ _loadBalancerStrategy;
20
25
  _isConnected = false;
26
+ _clientsReady;
21
27
  constructor(_options) {
22
28
  this._options = _options;
23
29
  if (_options.connectionString) {
@@ -32,7 +38,14 @@ export class ChronicleConnection {
32
38
  this._connectionString = ChronicleConnectionString.Default;
33
39
  }
34
40
  this._tokenProvider = this.createTokenProvider();
35
- this.createClients();
41
+ this._addressResolver = new ChronicleServerAddressResolver();
42
+ this._loadBalancerStrategy = createLoadBalancerStrategy(this._connectionString.loadBalancer, this._connectionString.skipTlsValidation);
43
+ this._clientsReady = this.createClients();
44
+ // Building the initial channel is async (address resolution + load balancer
45
+ // selection), so the constructor cannot await it. Real failures still surface to
46
+ // callers that await connect()/resetChannel(); this only prevents an unhandled
47
+ // rejection warning from the fire-and-forget initial build.
48
+ this._clientsReady.catch(() => { });
36
49
  }
37
50
  get connectionString() {
38
51
  return this._connectionString;
@@ -104,32 +117,34 @@ export class ChronicleConnection {
104
117
  return this._connections;
105
118
  }
106
119
  async connect() {
120
+ await this._clientsReady;
107
121
  const deadline = new Date(Date.now() + (this._options.connectTimeout ?? 10_000));
108
122
  await waitForChannelReady(this._channel, deadline);
109
123
  this._isConnected = true;
110
124
  }
111
- resetChannel() {
125
+ async resetChannel() {
112
126
  try {
113
- this._channel.close();
127
+ this._channel?.close();
114
128
  }
115
129
  catch {
116
130
  // Best-effort shutdown before recreating the channel.
117
131
  }
118
132
  this._isConnected = false;
119
- this.createClients();
133
+ this._clientsReady = this.createClients();
134
+ await this._clientsReady;
120
135
  }
121
136
  async reconnect() {
122
- this.resetChannel();
137
+ await this.resetChannel();
123
138
  await this.connect();
124
139
  }
125
140
  disconnect() {
126
141
  this._isConnected = false;
127
- this._channel.close();
142
+ this._channel?.close();
128
143
  }
129
144
  dispose() {
130
145
  this.disconnect();
131
146
  }
132
- createClients() {
147
+ async createClients() {
133
148
  const channelOptions = {};
134
149
  if (this._options.maxReceiveMessageSize !== undefined) {
135
150
  channelOptions['grpc.max_receive_message_length'] = this._options.maxReceiveMessageSize;
@@ -137,7 +152,12 @@ export class ChronicleConnection {
137
152
  if (this._options.maxSendMessageSize !== undefined) {
138
153
  channelOptions['grpc.max_send_message_length'] = this._options.maxSendMessageSize;
139
154
  }
140
- const serverAddress = `${this._connectionString.serverAddress.host}:${this._connectionString.serverAddress.port}`;
155
+ // Re-resolved (DNS SRV, when applicable) and re-selected (load balancer strategy)
156
+ // on every call, so every connect/reconnect attempt picks up membership and load
157
+ // changes rather than pinning to whatever was selected at startup.
158
+ const candidates = await this._addressResolver.resolve(this._connectionString);
159
+ const selected = await this._loadBalancerStrategy.select(candidates);
160
+ const serverAddress = formatServerAddress(selected);
141
161
  const credentials = this._options.credentials ?? this._connectionString.createCredentials();
142
162
  this._channel = createChannel(serverAddress, credentials, channelOptions);
143
163
  const factory = createClientFactory().use(this.createAuthMiddleware());
@@ -196,7 +216,7 @@ export class ChronicleConnection {
196
216
  authorityPort = serverPort;
197
217
  }
198
218
  const scheme = this._connectionString.disableTls ? 'http' : 'https';
199
- return new OAuthTokenProvider(`${scheme}://${authorityHost}:${authorityPort}/connect/token`, username, password);
219
+ return new OAuthTokenProvider(`${scheme}://${authorityHost}:${authorityPort}/connect/token`, username, password, this._connectionString.skipTlsValidation);
200
220
  }
201
221
  createAuthMiddleware() {
202
222
  const tokenProvider = this._tokenProvider;
@@ -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;AAGrG,OAAO,EACH,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EACd,gCAAgC,EAChC,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEpF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAkB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AA+CxF;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAWC;IAVrB,QAAQ,CAAW;IACnB,SAAS,CAAqB;IAC9B,YAAY,CAA2B;IAC9B,iBAAiB,CAA4B;IAC7C,cAAc,CAAiB;IAC/B,gBAAgB,CAAiC;IACjD,qBAAqB,CAAwB;IACtD,YAAY,GAAG,KAAK,CAAC;IACrB,aAAa,CAAgB;IAErC,YAA6B,QAAoC;QAApC,aAAQ,GAAR,QAAQ,CAA4B;QAC7D,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,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjD,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,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,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,CAAC,aAAa,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC,CAAC;QACjF,MAAM,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,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,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,EAAE,CAAC,CAAC;QACvE,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,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC;YACvE,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,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;SAChF,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnF,CAAC;IAEO,mBAAmB;QACvB,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QACtD,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,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAS,CAAC,CAAC;QAC7G,CAAC;QAED,OAAO,IAAI,CAAC,wBAAwB,CAChC,yBAAyB,CAAC,kBAAkB,EAC5C,yBAAyB,CAAC,yBAAyB,CACtD,CAAC;IACN,CAAC;IAEO,wBAAwB,CAAC,QAAgB,EAAE,QAAgB;QAC/D,mFAAmF;QACnF,+EAA+E;QAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC;QAC7D,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,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC;YAC1D,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,OAAO,IAAI,kBAAkB,CACzB,GAAG,MAAM,MAAM,aAAa,IAAI,aAAa,gBAAgB,EAC7D,QAAQ,EACR,QAAQ,EACR,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAC3C,CAAC;IACN,CAAC;IAEO,oBAAoB;QACxB,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEhD,OAAO,KAAK,SAAS,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO;YAC/C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,CAAC;YAEnD,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,kBAAkB,KAAK,kBAAkB,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBACtG,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,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC;IACN,CAAC;CACJ"}
@@ -1,4 +1,5 @@
1
1
  import * as grpc from '@grpc/grpc-js';
2
+ import { LoadBalancerMode } from './LoadBalancerMode';
2
3
  /**
3
4
  * Authentication mode for Chronicle connection.
4
5
  */
@@ -18,19 +19,34 @@ export interface ChronicleServerAddress {
18
19
  */
19
20
  export declare class ChronicleConnectionStringBuilder {
20
21
  private static readonly _defaultPort;
21
- private static readonly _hostKey;
22
- private static readonly _portKey;
23
22
  private static readonly _usernameKey;
24
23
  private static readonly _passwordKey;
25
24
  private static readonly _schemeKey;
26
25
  private static readonly _apiKeyKey;
27
26
  private static readonly _disableTlsKey;
27
+ private static readonly _skipTlsValidationKey;
28
28
  private static readonly _certificatePathKey;
29
29
  private static readonly _certificatePasswordKey;
30
+ private static readonly _loadBalancerKey;
31
+ private static readonly _srvNameServerKey;
30
32
  private readonly _properties;
33
+ private _hosts;
31
34
  constructor(connectionString?: string);
35
+ get hosts(): ChronicleServerAddress[];
36
+ set hosts(value: ChronicleServerAddress[]);
37
+ /**
38
+ * Convenience accessor for the first host in {@link hosts}. Setting it collapses the
39
+ * configuration to that single host, discarding any others previously set via
40
+ * {@link hosts} - the same "single server" reset a plain host/port connection string
41
+ * implies.
42
+ */
32
43
  get host(): string;
33
44
  set host(value: string);
45
+ /**
46
+ * Convenience accessor for the first host's port in {@link hosts}. Setting it collapses
47
+ * the configuration to that single host, discarding any others previously set via
48
+ * {@link hosts}.
49
+ */
34
50
  get port(): number;
35
51
  set port(value: number);
36
52
  get username(): string | undefined;
@@ -39,15 +55,42 @@ export declare class ChronicleConnectionStringBuilder {
39
55
  set password(value: string | undefined);
40
56
  get scheme(): string;
41
57
  set scheme(value: string);
58
+ /**
59
+ * Whether the connection string uses the DNS SRV lookup scheme (`chronicle+srv://`).
60
+ * Compared case-insensitively, matching {@link scheme}'s own parsing.
61
+ */
62
+ get isSrv(): boolean;
42
63
  get authenticationMode(): AuthenticationMode;
43
64
  get apiKey(): string | undefined;
44
65
  set apiKey(value: string | undefined);
45
66
  get disableTls(): boolean;
46
67
  set disableTls(value: boolean);
68
+ /**
69
+ * Whether TLS certificate validation is skipped for the gRPC channel and OAuth token
70
+ * requests. Distinct from {@link disableTls}, which controls whether TLS is used at
71
+ * all. Defaults to `true` - set to `false` to require full certificate validation
72
+ * whenever TLS is on.
73
+ */
74
+ get skipTlsValidation(): boolean;
75
+ set skipTlsValidation(value: boolean);
47
76
  get certificatePath(): string | undefined;
48
77
  set certificatePath(value: string | undefined);
49
78
  get certificatePassword(): string | undefined;
50
79
  set certificatePassword(value: string | undefined);
80
+ /**
81
+ * The strategy used to select one address from {@link hosts} (or the addresses
82
+ * resolved from a `chronicle+srv://` host) on every connect/reconnect attempt.
83
+ * Defaults to {@link LoadBalancerMode.LeastConnections}.
84
+ */
85
+ get loadBalancer(): LoadBalancerMode;
86
+ set loadBalancer(value: LoadBalancerMode);
87
+ /**
88
+ * The `host[:port]` DNS name server used to resolve `chronicle+srv://` SRV records.
89
+ * Defaults to port 53 when no port is given. Undefined uses the system default
90
+ * resolver.
91
+ */
92
+ get srvNameServer(): string | undefined;
93
+ set srvNameServer(value: string | undefined);
51
94
  build(): string;
52
95
  private parseConnectionString;
53
96
  private parseUrl;
@@ -61,16 +104,47 @@ export declare class ChronicleConnectionString {
61
104
  static readonly Default: ChronicleConnectionString;
62
105
  static readonly Development: ChronicleConnectionString;
63
106
  private readonly _builder;
64
- private readonly _serverAddress;
107
+ private readonly _serverAddresses;
65
108
  constructor(connectionString: string);
109
+ /**
110
+ * The connection string's scheme, either `chronicle` or `chronicle+srv`.
111
+ */
112
+ get scheme(): string;
113
+ /**
114
+ * Whether the connection string uses the DNS SRV lookup scheme (`chronicle+srv://`).
115
+ */
116
+ get isSrv(): boolean;
117
+ /**
118
+ * Convenience accessor for the first entry in {@link serverAddresses}, for callers
119
+ * that only ever expect a single server address.
120
+ */
66
121
  get serverAddress(): ChronicleServerAddress;
122
+ /**
123
+ * All server addresses parsed from a multi-host `chronicle://` connection string.
124
+ * For `chronicle+srv://` connection strings, this holds the single SRV lookup host,
125
+ * not the resolved addresses - resolve those via {@link ChronicleServerAddressResolver}.
126
+ */
127
+ get serverAddresses(): ChronicleServerAddress[];
67
128
  get username(): string | undefined;
68
129
  get password(): string | undefined;
69
130
  get authenticationMode(): AuthenticationMode;
70
131
  get apiKey(): string | undefined;
71
132
  get disableTls(): boolean;
133
+ /**
134
+ * Whether TLS certificate validation is skipped. See
135
+ * {@link ChronicleConnectionStringBuilder.skipTlsValidation}.
136
+ */
137
+ get skipTlsValidation(): boolean;
72
138
  get certificatePath(): string | undefined;
73
139
  get certificatePassword(): string | undefined;
140
+ /**
141
+ * The strategy used to select one server address on every connect/reconnect attempt.
142
+ */
143
+ get loadBalancer(): LoadBalancerMode;
144
+ /**
145
+ * The `host[:port]` DNS name server used to resolve `chronicle+srv://` SRV records.
146
+ */
147
+ get srvNameServer(): string | undefined;
74
148
  withCredentials(username: string, password: string): ChronicleConnectionString;
75
149
  withApiKey(apiKey: string): ChronicleConnectionString;
76
150
  createCredentials(): grpc.ChannelCredentials;
@@ -1 +1 @@
1
- {"version":3,"file":"ChronicleConnectionString.d.ts","sourceRoot":"","sources":["../../connection/ChronicleConnectionString.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChronicleConnectionString.d.ts","sourceRoot":"","sources":["../../connection/ChronicleConnectionString.ts"],"names":[],"mappings":"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"}