@sogni-ai/sogni-client 4.0.0-alpha.2 → 4.0.0-alpha.20

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 (60) hide show
  1. package/CHANGELOG.md +135 -0
  2. package/README.md +38 -2
  3. package/dist/Account/index.d.ts +5 -2
  4. package/dist/Account/index.js +20 -7
  5. package/dist/Account/index.js.map +1 -1
  6. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.d.ts +66 -0
  7. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js +332 -0
  8. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js.map +1 -0
  9. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.d.ts +28 -0
  10. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js +207 -0
  11. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js.map +1 -0
  12. package/dist/ApiClient/WebSocketClient/events.d.ts +1 -0
  13. package/dist/ApiClient/WebSocketClient/index.d.ts +2 -2
  14. package/dist/ApiClient/WebSocketClient/index.js +2 -2
  15. package/dist/ApiClient/WebSocketClient/index.js.map +1 -1
  16. package/dist/ApiClient/WebSocketClient/types.d.ts +13 -0
  17. package/dist/ApiClient/index.d.ts +4 -4
  18. package/dist/ApiClient/index.js +22 -3
  19. package/dist/ApiClient/index.js.map +1 -1
  20. package/dist/Projects/Job.d.ts +1 -1
  21. package/dist/Projects/createJobRequestMessage.js +3 -3
  22. package/dist/Projects/createJobRequestMessage.js.map +1 -1
  23. package/dist/Projects/index.d.ts +3 -9
  24. package/dist/Projects/index.js +7 -4
  25. package/dist/Projects/index.js.map +1 -1
  26. package/dist/Projects/types/EstimationResponse.d.ts +2 -0
  27. package/dist/Projects/types/SamplerParams.d.ts +13 -0
  28. package/dist/Projects/types/SamplerParams.js +26 -0
  29. package/dist/Projects/types/SamplerParams.js.map +1 -0
  30. package/dist/Projects/types/SchedulerParams.d.ts +14 -0
  31. package/dist/Projects/types/SchedulerParams.js +24 -0
  32. package/dist/Projects/types/SchedulerParams.js.map +1 -0
  33. package/dist/Projects/types/index.d.ts +21 -6
  34. package/dist/Projects/types/index.js +5 -0
  35. package/dist/Projects/types/index.js.map +1 -1
  36. package/dist/index.d.ts +12 -4
  37. package/dist/index.js +12 -4
  38. package/dist/index.js.map +1 -1
  39. package/dist/lib/DataEntity.js +4 -2
  40. package/dist/lib/DataEntity.js.map +1 -1
  41. package/dist/lib/validation.d.ts +2 -0
  42. package/dist/lib/validation.js +28 -0
  43. package/dist/lib/validation.js.map +1 -1
  44. package/package.json +4 -4
  45. package/src/Account/index.ts +22 -13
  46. package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.ts +426 -0
  47. package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/index.ts +241 -0
  48. package/src/ApiClient/WebSocketClient/events.ts +2 -0
  49. package/src/ApiClient/WebSocketClient/index.ts +4 -4
  50. package/src/ApiClient/WebSocketClient/types.ts +16 -0
  51. package/src/ApiClient/index.ts +29 -7
  52. package/src/Projects/createJobRequestMessage.ts +11 -5
  53. package/src/Projects/index.ts +9 -5
  54. package/src/Projects/types/EstimationResponse.ts +2 -0
  55. package/src/Projects/types/SamplerParams.ts +24 -0
  56. package/src/Projects/types/SchedulerParams.ts +22 -0
  57. package/src/Projects/types/index.ts +22 -12
  58. package/src/index.ts +23 -8
  59. package/src/lib/DataEntity.ts +4 -2
  60. package/src/lib/validation.ts +33 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,138 @@
1
+ # [4.0.0-alpha.20](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.19...v4.0.0-alpha.20) (2025-12-04)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Better socket coordinator implementation. Handle socket disconnection properly ([2a1a922](https://github.com/Sogni-AI/sogni-client/commit/2a1a922a0dd41446c1dcf6ffeaccfe54556af5bb))
7
+
8
+ # [4.0.0-alpha.19](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.18...v4.0.0-alpha.19) (2025-12-03)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * Connect socket if client tries to send the message ([b5fa7bc](https://github.com/Sogni-AI/sogni-client/commit/b5fa7bc9599f30ff575521e76d76d42f031769fc))
14
+
15
+ # [4.0.0-alpha.18](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.17...v4.0.0-alpha.18) (2025-12-02)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * Pass error iin message ack ([7b73d87](https://github.com/Sogni-AI/sogni-client/commit/7b73d87fdd27634b75fe5aa0bbba43415d6e7dce))
21
+
22
+ # [4.0.0-alpha.17](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.16...v4.0.0-alpha.17) (2025-12-02)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * Initialization bug ([42b4e26](https://github.com/Sogni-AI/sogni-client/commit/42b4e26dad8f634eb6c17d172081d6c3d03a3d41))
28
+
29
+ # [4.0.0-alpha.16](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.15...v4.0.0-alpha.16) (2025-12-02)
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * Make shared socket connection optional ([7ee2311](https://github.com/Sogni-AI/sogni-client/commit/7ee2311354071bbcc3087cad0a8c321cea28cd25))
35
+
36
+ # [4.0.0-alpha.15](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.14...v4.0.0-alpha.15) (2025-12-02)
37
+
38
+
39
+ ### Bug Fixes
40
+
41
+ * Avoid double initialization for WSCoordinator.ts ([1b7e973](https://github.com/Sogni-AI/sogni-client/commit/1b7e973cebd6b35667fa248656127b60125dd4f9))
42
+
43
+ # [4.0.0-alpha.14](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.13...v4.0.0-alpha.14) (2025-12-01)
44
+
45
+
46
+ ### Bug Fixes
47
+
48
+ * Move type definitions to dependencies from devDependencies ([95b5201](https://github.com/Sogni-AI/sogni-client/commit/95b520191593913bd0b74cd8cf41241eac16dd8e))
49
+
50
+ # [4.0.0-alpha.13](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.12...v4.0.0-alpha.13) (2025-12-01)
51
+
52
+
53
+ ### Features
54
+
55
+ * When using cookies auth in browser environment allow sharing one socket connection between multiple tabs ([794d6e1](https://github.com/Sogni-AI/sogni-client/commit/794d6e18d960c8758094f09b2bc516b8b08175d0))
56
+
57
+ # [4.0.0-alpha.12](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.11...v4.0.0-alpha.12) (2025-10-30)
58
+
59
+
60
+ ### Features
61
+
62
+ * Expose project cost in both Spark Points and Sogni tokens when estimating ([9d5f556](https://github.com/Sogni-AI/sogni-client/commit/9d5f556154013ae15e49e93e9941533e730502c5))
63
+
64
+ # [4.0.0-alpha.11](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.10...v4.0.0-alpha.11) (2025-10-23)
65
+
66
+
67
+ ### Bug Fixes
68
+
69
+ * Accept raw samplers and schedulers for backward compatibility ([8c04552](https://github.com/Sogni-AI/sogni-client/commit/8c04552667fe054e9a330a3aab8fd776060a0ed6))
70
+
71
+ # [4.0.0-alpha.10](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.9...v4.0.0-alpha.10) (2025-10-21)
72
+
73
+
74
+ ### Bug Fixes
75
+
76
+ * Fix project estimation. Export supported samplers and schedulers list ([502d4d1](https://github.com/Sogni-AI/sogni-client/commit/502d4d19529883b5272466a122720f2c6fd01e2e))
77
+
78
+ # [4.0.0-alpha.9](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.8...v4.0.0-alpha.9) (2025-10-17)
79
+
80
+
81
+ ### Bug Fixes
82
+
83
+ * Hide samplers that are not well tested ([0522bed](https://github.com/Sogni-AI/sogni-client/commit/0522bed6cfad5f8bc9c37d65c30b63b31aa0168a))
84
+
85
+ # [4.0.0-alpha.8](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.7...v4.0.0-alpha.8) (2025-10-17)
86
+
87
+
88
+ ### Bug Fixes
89
+
90
+ * Fix cost estimation call ([920981c](https://github.com/Sogni-AI/sogni-client/commit/920981c86a3b1217c8dc6437e0fcdc26f50fe4ec))
91
+
92
+ # [4.0.0-alpha.7](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.6...v4.0.0-alpha.7) (2025-10-17)
93
+
94
+
95
+ ### Bug Fixes
96
+
97
+ * Update docs ([d486f44](https://github.com/Sogni-AI/sogni-client/commit/d486f448f3d55098449ba676dd77148c6a7104c4))
98
+
99
+ # [4.0.0-alpha.6](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.5...v4.0.0-alpha.6) (2025-10-17)
100
+
101
+
102
+ ### Bug Fixes
103
+
104
+ * Update docs ([7f28fe7](https://github.com/Sogni-AI/sogni-client/commit/7f28fe7f651937f244a3b5f56a92aac5d3b637a5))
105
+
106
+ # [4.0.0-alpha.5](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.4...v4.0.0-alpha.5) (2025-10-17)
107
+
108
+
109
+ ### Bug Fixes
110
+
111
+ * Code cleanup ([7b482dd](https://github.com/Sogni-AI/sogni-client/commit/7b482dd5c0667b3ad57e0fec75811f8bf5a14bee))
112
+
113
+ # [4.0.0-alpha.4](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.3...v4.0.0-alpha.4) (2025-10-17)
114
+
115
+
116
+ ### Features
117
+
118
+ * Update schedulers and samplers options. ([7971cdc](https://github.com/Sogni-AI/sogni-client/commit/7971cdc7b1114840196fdada5adbf22cf867053e))
119
+
120
+
121
+ ### BREAKING CHANGES
122
+
123
+ * `scheduler` and `timeStepSpacing` options renamed
124
+
125
+ - `scheduler` option renamed to `sampler`
126
+ - `timeStepSpacing` is now `scheduler`
127
+ - Options are now referenced by short aliases
128
+
129
+ # [4.0.0-alpha.3](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.2...v4.0.0-alpha.3) (2025-10-02)
130
+
131
+
132
+ ### Features
133
+
134
+ * Add rememberMe parameter for login and signup API to allow long lived cookie-based session ([e0c1395](https://github.com/Sogni-AI/sogni-client/commit/e0c13957c3ff8d548e40453f9c57d72390fdd9d7))
135
+
1
136
  # [4.0.0-alpha.2](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.1...v4.0.0-alpha.2) (2025-09-30)
2
137
 
3
138
 
package/README.md CHANGED
@@ -182,8 +182,8 @@ Turbo and LCM models are designed for quality output in as little as 1 step. ([M
182
182
  - `disableNSFWFilter` - disable NSFW filter for this project. NSFW filter is enabled by default and workers won't upload resulting images if they are detected as NSFW.
183
183
  - `seed` - uint32 number to use as seed. If not provided, random seed will be used. If `numberOfImages` is greater than 1, provided seed will be user only for one of them. ([More info](https://docs.sogni.ai/learn/basics/generation-seed)).
184
184
  - `numberOfPreviews` - number of preview images to generate. If not provided, no preview images will be generated.
185
- - `scheduler` - scheduler to use ([More info](https://docs.sogni.ai/learn/advanced/schedulers)). For available options see type definition.
186
- - `timeStepSpacing` - time step spacing algorithm ([More info](https://docs.sogni.ai/learn/advanced/schedulers)). For available options see type definition.
185
+ - `sampler` - sampler algorithm ([More info](https://docs.sogni.ai/sogni-studio/advanced/samplers-and-schedulers)). For available options, see the **"Samplers"** section below.
186
+ - `scheduler` - scheduler to use ([More info](https://docs.sogni.ai/sogni-studio/advanced/samplers-and-schedulers)). For available options, see the **"Schedulers"** section below.
187
187
  - `startingImage` - guide image in PNG format. Can be [File](https://developer.mozilla.org/en-US/docs/Web/API/File), [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) or [Buffer](https://nodejs.org/api/buffer.html)
188
188
  - `startingImageStrength` - strong effect of starting image should be. From 0 to 1, default 0.5.
189
189
  - `controlNet` - Stable Diffusion ControlNet parameters. See **ControlNets** section below for more info.
@@ -282,6 +282,42 @@ Sample response:
282
282
  }
283
283
  ]
284
284
  ```
285
+
286
+ ### Samplers
287
+ Samplers control the denoising process — the sequence of steps that transforms random noise into your final image.
288
+
289
+ Available sampler options:
290
+
291
+ | Option | Description |
292
+ |-----------------|-------------------------------------|
293
+ | `dfs_sd3` | Discrete Flow Sampler (SD3) |
294
+ | `dpm_pp` | DPM Solver Multistep (DPM-Solver++) |
295
+ | `dpm_pp_sde` | DPM++ SDE |
296
+ | `dpm_pp_2m` | DPM++ 2M |
297
+ | `euler` | Euler |
298
+ | `euler_a` | Euler a |
299
+ | `lcm` | LCM (Latent Consistency Model) |
300
+ | `pndm_plms` | PNDM (Pseudo-linear multi-step) |
301
+
302
+ **IMPORTANT:** Sampler compatibility depends on model and network. See [Samplers and Schedulers](https://docs.sogni.ai/sogni-studio/advanced/samplers-and-schedulers) docs for more info.
303
+
304
+ ### Schedulers
305
+ Control how steps are distributed. For more info see [Schedulers and Samplers](https://docs.sogni.ai/sogni-studio/advanced/samplers-and-schedulers#schedulers) docs.
306
+
307
+ Available scheduler options:
308
+
309
+ | Option | Description |
310
+ |---------------|-------------|
311
+ | `beta` | Beta |
312
+ | `ddim` | DDIM |
313
+ | `karras` | Karras |
314
+ | `kl_optimal` | KL Optimal |
315
+ | `leading` | Automatic |
316
+ | `linear` | Automatic |
317
+ | `normal` | Normal |
318
+ | `sgm_uniform` | SGM Uniform |
319
+ | `simple` | Simple |
320
+
285
321
  ### ControlNets
286
322
  **EXPERIMENTAL FEATURE:** This feature is still in development and may not work as expected. Use at your own risk.
287
323
 
@@ -19,6 +19,7 @@ declare class AccountApi extends ApiGroup {
19
19
  readonly currentAccount: CurrentAccount;
20
20
  constructor(config: ApiConfig);
21
21
  private handleBalanceUpdate;
22
+ private handleChangeNetwork;
22
23
  private handleServerConnected;
23
24
  private handleServerDisconnected;
24
25
  private handleAuthUpdated;
@@ -47,7 +48,7 @@ declare class AccountApi extends ApiGroup {
47
48
  * Create a new account with the given username, email, and password.
48
49
  * @internal
49
50
  */
50
- create({ username, email, password, subscribe, turnstileToken, referralCode }: AccountCreateParams): Promise<AccountCreateData>;
51
+ create({ username, email, password, subscribe, turnstileToken, referralCode }: AccountCreateParams, rememberMe?: boolean): Promise<AccountCreateData>;
51
52
  /**
52
53
  * Login with username and password. WebSocket connection is established after successful login.
53
54
  *
@@ -59,8 +60,10 @@ declare class AccountApi extends ApiGroup {
59
60
  *
60
61
  * @param username
61
62
  * @param password
63
+ * @param rememberMe - Whether to establish a long-lived session. Default is false. Only
64
+ * applicable for cookie-based authentication.
62
65
  */
63
- login(username: string, password: string): Promise<LoginData>;
66
+ login(username: string, password: string, rememberMe?: boolean): Promise<LoginData>;
64
67
  /**
65
68
  * Logout the user and close the WebSocket connection.
66
69
  *
@@ -39,7 +39,12 @@ class AccountApi extends ApiGroup_1.default {
39
39
  constructor(config) {
40
40
  super(config);
41
41
  this.currentAccount = new CurrentAccount_1.default();
42
+ this.currentAccount._update({
43
+ networkStatus: this.client.socket.isConnected ? 'connected' : 'disconnected',
44
+ network: this.client.socket.supernetType
45
+ });
42
46
  this.client.socket.on('balanceUpdate', this.handleBalanceUpdate.bind(this));
47
+ this.client.socket.on('changeNetwork', this.handleChangeNetwork.bind(this));
43
48
  this.client.on('connected', this.handleServerConnected.bind(this));
44
49
  this.client.on('disconnected', this.handleServerDisconnected.bind(this));
45
50
  this.client.auth.on('updated', this.handleAuthUpdated.bind(this));
@@ -47,6 +52,9 @@ class AccountApi extends ApiGroup_1.default {
47
52
  handleBalanceUpdate(data) {
48
53
  this.currentAccount._update({ balance: data });
49
54
  }
55
+ handleChangeNetwork({ network }) {
56
+ this.currentAccount._update({ network, networkStatus: 'connected' });
57
+ }
50
58
  handleServerConnected({ network }) {
51
59
  this.currentAccount._update({
52
60
  networkStatus: 'connected',
@@ -63,6 +71,9 @@ class AccountApi extends ApiGroup_1.default {
63
71
  if (!isAuthenticated) {
64
72
  this.currentAccount._clear();
65
73
  }
74
+ else {
75
+ this.me();
76
+ }
66
77
  }
67
78
  /**
68
79
  * Get the nonce for the given wallet address.
@@ -102,7 +113,7 @@ class AccountApi extends ApiGroup_1.default {
102
113
  * @internal
103
114
  */
104
115
  create(_a) {
105
- return __awaiter(this, arguments, void 0, function* ({ username, email, password, subscribe, turnstileToken, referralCode }) {
116
+ return __awaiter(this, arguments, void 0, function* ({ username, email, password, subscribe, turnstileToken, referralCode }, rememberMe = false) {
106
117
  const wallet = this.getWallet(username, password);
107
118
  const nonce = yield this.getNonce(wallet.address);
108
119
  const payload = {
@@ -115,7 +126,8 @@ class AccountApi extends ApiGroup_1.default {
115
126
  };
116
127
  const signature = yield this.eip712.signTypedData(wallet, 'signup', Object.assign(Object.assign({}, payload), { nonce }));
117
128
  const res = yield this.client.rest.post('/v1/account/create', Object.assign(Object.assign({}, payload), { referralCode,
118
- signature }));
129
+ signature,
130
+ rememberMe }));
119
131
  const auth = this.client.auth;
120
132
  if (auth instanceof AuthManager_1.TokenAuthManager) {
121
133
  yield auth.authenticate({ refreshToken: res.data.refreshToken, token: res.data.token });
@@ -123,7 +135,6 @@ class AccountApi extends ApiGroup_1.default {
123
135
  else {
124
136
  yield auth.authenticate();
125
137
  }
126
- yield this.me();
127
138
  return res.data;
128
139
  });
129
140
  }
@@ -138,9 +149,11 @@ class AccountApi extends ApiGroup_1.default {
138
149
  *
139
150
  * @param username
140
151
  * @param password
152
+ * @param rememberMe - Whether to establish a long-lived session. Default is false. Only
153
+ * applicable for cookie-based authentication.
141
154
  */
142
- login(username, password) {
143
- return __awaiter(this, void 0, void 0, function* () {
155
+ login(username_1, password_1) {
156
+ return __awaiter(this, arguments, void 0, function* (username, password, rememberMe = false) {
144
157
  const wallet = this.getWallet(username, password);
145
158
  const nonce = yield this.getNonce(wallet.address);
146
159
  const signature = yield this.eip712.signTypedData(wallet, 'authentication', {
@@ -149,7 +162,8 @@ class AccountApi extends ApiGroup_1.default {
149
162
  });
150
163
  const res = yield this.client.rest.post('/v1/account/login', {
151
164
  walletAddress: wallet.address,
152
- signature
165
+ signature,
166
+ rememberMe
153
167
  });
154
168
  const auth = this.client.auth;
155
169
  if (auth instanceof AuthManager_1.TokenAuthManager) {
@@ -158,7 +172,6 @@ class AccountApi extends ApiGroup_1.default {
158
172
  else {
159
173
  yield auth.authenticate();
160
174
  }
161
- yield this.me();
162
175
  return res.data;
163
176
  });
164
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Account/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Account/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { Logger } from '../../../lib/DefaultLogger';
2
+ interface Callbacks<M, N> {
3
+ onRoleChange: (isPrimary: boolean) => void;
4
+ onMessage: (message: M) => Promise<void>;
5
+ onNotification: (notification: N) => void;
6
+ }
7
+ interface Options<M, N> {
8
+ callbacks: Callbacks<M, N>;
9
+ logger: Logger;
10
+ }
11
+ /**
12
+ * A class responsible for coordinating communication across browser tabs or windows via BroadcastChannel API.
13
+ * It handles the role election of the primary (leader) tab, message broadcasting, heartbeats for primary tab monitoring,
14
+ * and message acknowledgment for reliable communication.
15
+ *
16
+ * The `ChannelCoordinator` ensures that one tab per session is assigned as the primary, while allowing others to act as secondaries,
17
+ * utilizing various message types for communication and coordination.
18
+ *
19
+ * Message is sent by secondary tabs to the primary tab via the `sendMessage` method. By sending message
20
+ * tab can tell primary to connect, disconnect, send message to socket etc.
21
+ *
22
+ * Notification is type of message broadcasted by primary to secondary tabs. This is mostly used to
23
+ * broadcast socket events from primary to secondary tabs.
24
+ *
25
+ * @template M - The type of messages being broadcast to other tabs/windows.
26
+ * @template N - The type of notifications being handled within the coordinator.
27
+ */
28
+ declare class ChannelCoordinator<M, N> {
29
+ private readonly id;
30
+ private priority;
31
+ private readonly channel;
32
+ private _isPrimary;
33
+ private callbacks;
34
+ private logger;
35
+ private ackCallbacks;
36
+ private electionInProgress;
37
+ private electionResponses;
38
+ private lastPrimaryHeartbeat;
39
+ private heartbeatTimer;
40
+ private primaryCheckTimer;
41
+ private readyCallback;
42
+ private readonly readyPromise;
43
+ constructor({ callbacks, logger }: Options<M, N>);
44
+ get isPrimary(): boolean;
45
+ private get currentPriority();
46
+ isReady(): Promise<void>;
47
+ private startElections;
48
+ private finishElections;
49
+ private becomePrimary;
50
+ private startHeartbeat;
51
+ private stopHeartbeat;
52
+ private startPrimaryMonitor;
53
+ private handleMessage;
54
+ private handleElection;
55
+ private handleElectionResponse;
56
+ private handlePrimaryAnnounce;
57
+ private handlePrimaryHeartbeat;
58
+ private handleBroadcast;
59
+ private handleRequest;
60
+ private handleRequestAck;
61
+ private send;
62
+ private broadcast;
63
+ sendMessage(message: M): Promise<any>;
64
+ notify(message: N): void;
65
+ }
66
+ export default ChannelCoordinator;