@adapt-toolkit/sdk 0.4.0 → 0.5.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 (37) hide show
  1. package/dist/utilities/broker/broker.d.ts +2 -0
  2. package/dist/utilities/broker/broker.d.ts.map +1 -1
  3. package/dist/utilities/broker/broker.js +66 -13
  4. package/dist/utilities/broker/broker.js.map +1 -1
  5. package/dist/utilities/broker/broker_client.d.ts +4 -8
  6. package/dist/utilities/broker/broker_client.d.ts.map +1 -1
  7. package/dist/utilities/broker/broker_client.js +47 -38
  8. package/dist/utilities/broker/broker_client.js.map +1 -1
  9. package/dist/utilities/broker/pending_message_store.d.ts +5 -1
  10. package/dist/utilities/broker/pending_message_store.d.ts.map +1 -1
  11. package/dist/utilities/broker/pending_message_store.js +7 -4
  12. package/dist/utilities/broker/pending_message_store.js.map +1 -1
  13. package/dist/utilities/common/web_socket_client.d.ts +18 -1
  14. package/dist/utilities/common/web_socket_client.d.ts.map +1 -1
  15. package/dist/utilities/common/web_socket_client.js +144 -10
  16. package/dist/utilities/common/web_socket_client.js.map +1 -1
  17. package/dist/utilities/common/web_socket_connection.d.ts +7 -0
  18. package/dist/utilities/common/web_socket_connection.d.ts.map +1 -1
  19. package/dist/utilities/common/web_socket_connection.js +62 -2
  20. package/dist/utilities/common/web_socket_connection.js.map +1 -1
  21. package/dist/utilities/storage/storage_client.d.ts +3 -2
  22. package/dist/utilities/storage/storage_client.d.ts.map +1 -1
  23. package/dist/utilities/storage/storage_client.js +61 -41
  24. package/dist/utilities/storage/storage_client.js.map +1 -1
  25. package/dist/utilities/wrappers/wrappers/adapt_packet_wrapper.d.ts +1 -0
  26. package/dist/utilities/wrappers/wrappers/adapt_packet_wrapper.d.ts.map +1 -1
  27. package/dist/utilities/wrappers/wrappers/adapt_packet_wrapper.js +6 -0
  28. package/dist/utilities/wrappers/wrappers/adapt_packet_wrapper.js.map +1 -1
  29. package/dist/utilities/wrappers/wrappers/adapt_wrapper.d.ts +3 -0
  30. package/dist/utilities/wrappers/wrappers/adapt_wrapper.d.ts.map +1 -1
  31. package/dist/utilities/wrappers/wrappers/adapt_wrapper.js +28 -2
  32. package/dist/utilities/wrappers/wrappers/adapt_wrapper.js.map +1 -1
  33. package/dist/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.d.ts +1 -1
  34. package/dist/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.d.ts.map +1 -1
  35. package/dist/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.js +10 -4
  36. package/dist/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.js.map +1 -1
  37. package/package.json +2 -2
@@ -7,6 +7,8 @@ declare namespace Broker {
7
7
  kind: EventKind;
8
8
  connection_id: number;
9
9
  data: AdaptValue;
10
+ to_cid?: string;
11
+ pending_row_id?: number;
10
12
  };
11
13
  }
12
14
  export declare class Broker extends HttpServer implements NetworkComponentI<BrokerConfigurator> {
@@ -1 +1 @@
1
- {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../../src/utilities/broker/broker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAyC,MAAM,UAAU,CAAA;AAG5E,OAAO,EAA6B,UAAU,EAAE,iBAAiB,EAAiG,iBAAiB,EAAkD,MAAM,oBAAoB,CAAA;AAE/P,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AA8F7D,kBAAO,MAAM,CAAC;IACV,KAAY,SAAS,GAAG,kBAAkB,GAAG,kBAAkB,CAAA;IAC/D,KAAY,KAAK,GAAG;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAA;CACnF;AACD,qBAAa,MAAO,SAAQ,UAAW,YAAW,iBAAiB,CAAC,kBAAkB,CAAC;;IACnF,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAUtC,MAAM,EAAE,kBAAkB,CAAA;gBAEd,oBAAoB,EAAE,kBAAkB;IAkCpD,iBAAiB,CAAC,aAAa,EAAE,MAAM;IAcvC,KAAK,aAsBJ;CAyKJ"}
1
+ {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../../src/utilities/broker/broker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAyC,MAAM,UAAU,CAAA;AAG5E,OAAO,EAA6B,UAAU,EAAE,iBAAiB,EAAiG,iBAAiB,EAAkD,MAAM,oBAAoB,CAAA;AAE/P,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAiG7D,kBAAO,MAAM,CAAC;IACV,KAAY,SAAS,GAAG,kBAAkB,GAAG,kBAAkB,CAAA;IAC/D,KAAY,KAAK,GAAG;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7H;AACD,qBAAa,MAAO,SAAQ,UAAW,YAAW,iBAAiB,CAAC,kBAAkB,CAAC;;IACnF,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAUtC,MAAM,EAAE,kBAAkB,CAAA;gBAEd,oBAAoB,EAAE,kBAAkB;IAoCpD,iBAAiB,CAAC,aAAa,EAAE,MAAM;IAiCvC,KAAK,aAuBJ;CAoMJ"}
@@ -70,6 +70,8 @@ class PacketConnection {
70
70
  this.connection.send(message);
71
71
  }
72
72
  }
73
+ const IDLE_SWEEP_INTERVAL_MS = 10_000;
74
+ const IDLE_TIMEOUT_MS = 35_000;
73
75
  export class Broker extends HttpServer {
74
76
  queue;
75
77
  #connections = {};
@@ -92,6 +94,8 @@ export class Broker extends HttpServer {
92
94
  [Protocol.MessageName.w2b_transaction, this.#w2b_transaction_v1_handler.bind(this)]
93
95
  ]);
94
96
  ExitHandlerRegistrar.getInstance().registerOnExitHandler(() => {
97
+ if (this.#idle_sweep_timer)
98
+ clearInterval(this.#idle_sweep_timer);
95
99
  this.#pending_store?.close();
96
100
  console.log(`Destroying ${this.#global_lifetime.size} objects from Broker lifetime`);
97
101
  this.#global_lifetime.Finalize();
@@ -112,7 +116,10 @@ export class Broker extends HttpServer {
112
116
  if (connection_id in this.#connections) {
113
117
  const connection = this.#connections[connection_id];
114
118
  connection.managed_packets.forEach((cid) => {
115
- delete this.#connections_by_cid[cid];
119
+ if (this.#connections_by_cid[cid]?.connection_id === connection_id)
120
+ delete this.#connections_by_cid[cid];
121
+ else
122
+ logging.debug("Packet ", cid, " has already re-registered on another connection, keeping the new registration");
116
123
  });
117
124
  delete this.#connections[connection_id];
118
125
  }
@@ -120,10 +127,25 @@ export class Broker extends HttpServer {
120
127
  logging.warning("Task 'socket_close' with connection_id ", connection_id, " that is not known to us, ignoring");
121
128
  }
122
129
  }
130
+ #idle_sweep_timer;
131
+ #start_idle_sweep() {
132
+ this.#idle_sweep_timer = setInterval(() => {
133
+ const now = Date.now();
134
+ for (const connection of Object.values(this.#connections)) {
135
+ if (connection.heartbeat_received && now - connection.last_activity_ms > IDLE_TIMEOUT_MS) {
136
+ logging.warning("Connection ", connection.connection_id, " timed out (no heartbeat), terminating");
137
+ connection.terminate();
138
+ }
139
+ }
140
+ }, IDLE_SWEEP_INTERVAL_MS);
141
+ if (typeof this.#idle_sweep_timer?.unref === 'function')
142
+ this.#idle_sweep_timer.unref();
143
+ }
123
144
  start = () => {
124
145
  this.listen(() => {
125
146
  logging.info(`Server started on port ${this.server.address().port} :)`);
126
147
  });
148
+ this.#start_idle_sweep();
127
149
  this.add_event_listener('connection', (socket) => {
128
150
  logging.info("new connection");
129
151
  const connection = new Connection(this, socket);
@@ -148,13 +170,21 @@ export class Broker extends HttpServer {
148
170
  if (task.kind === 'outgoing_message') {
149
171
  const connection_id = task.connection_id;
150
172
  if (connection_id in this.#connections) {
151
- this.#connections[connection_id].send(task.data);
173
+ try {
174
+ this.#connections[connection_id].send(task.data);
175
+ if (task.pending_row_id !== undefined)
176
+ this.#pending_store?.remove(task.pending_row_id);
177
+ task.data.Destroy();
178
+ }
179
+ catch (e) {
180
+ logging.error("Failed to send outgoing message on connection ", connection_id, ": ", e instanceof Error ? e.message : e);
181
+ this.#handle_undeliverable(task);
182
+ }
152
183
  }
153
184
  else {
154
- logging.error("Invalid connection_id ", connection_id, " in queue outgoing message task");
185
+ logging.warning("Invalid connection_id ", connection_id, " in queue outgoing message task");
186
+ this.#handle_undeliverable(task);
155
187
  }
156
- task.data.Destroy(); // we no longer need the value and no longer have an access to it
157
- // even in case connection id is not found, we still destroy the data, because we have removed the event from the queue
158
188
  }
159
189
  else {
160
190
  this.#incoming_message_handler(task);
@@ -169,6 +199,20 @@ export class Broker extends HttpServer {
169
199
  callback();
170
200
  }
171
201
  };
202
+ #handle_undeliverable(task) {
203
+ if (task.to_cid !== undefined) {
204
+ if (task.pending_row_id !== undefined) {
205
+ task.data.Destroy();
206
+ }
207
+ else {
208
+ logging.debug("Returning undeliverable message for container ", task.to_cid, " to the pending store");
209
+ this.#add_pending_message(task.data, task.to_cid);
210
+ }
211
+ }
212
+ else {
213
+ task.data.Destroy();
214
+ }
215
+ }
172
216
  #incoming_message_handler(task) {
173
217
  const message = task.data;
174
218
  const message_type_id = Protocol.GetTypeId(message);
@@ -226,14 +270,17 @@ export class Broker extends HttpServer {
226
270
  connection_id: connection_id,
227
271
  data: data_to_send
228
272
  });
229
- const pending = this.#pending_store
230
- ? this.#pending_store.drain(cid)
231
- : this.#pending_messages_by_cid[cid] ?? [];
232
- for (const message of pending) {
233
- this.queue.push({ kind: 'outgoing_message', connection_id: connection_id, data: message });
273
+ if (this.#pending_store) {
274
+ for (const { id, value } of this.#pending_store.peek(cid)) {
275
+ this.queue.push({ kind: 'outgoing_message', connection_id: connection_id, data: value, to_cid: cid, pending_row_id: id });
276
+ }
234
277
  }
235
- if (!this.#pending_store) {
278
+ else {
279
+ const pending = this.#pending_messages_by_cid[cid] ?? [];
236
280
  delete this.#pending_messages_by_cid[cid];
281
+ for (const message of pending) {
282
+ this.queue.push({ kind: 'outgoing_message', connection_id: connection_id, data: message, to_cid: cid });
283
+ }
237
284
  }
238
285
  }
239
286
  finally {
@@ -270,8 +317,14 @@ export class Broker extends HttpServer {
270
317
  let args = builder.Attach(Protocol.GetProtocolContainer().CreateDictionary().Mutate(Protocol.FieldName.envlp, envlp));
271
318
  const send_message = Protocol.CreateProtocolMessage(Protocol.MessageName.b2w_exec_transaction, { from: builder.AdaptValue.New(from), to: builder.AdaptValue.New(to), body: args }).Detach();
272
319
  if (to in this.#connections_by_cid) {
273
- this.#connections_by_cid[to].send(send_message);
274
- send_message.Destroy();
320
+ try {
321
+ this.#connections_by_cid[to].send(send_message);
322
+ send_message.Destroy();
323
+ }
324
+ catch (e) {
325
+ logging.error("Failed to send transaction message to container ", to, ": ", e instanceof Error ? e.message : e);
326
+ this.#add_pending_message(send_message, to);
327
+ }
275
328
  }
276
329
  else {
277
330
  this.#add_pending_message(send_message, to);
@@ -1 +1 @@
1
- {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../src/utilities/broker/broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../src/utilities/broker/broker.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { AdaptProtocolWebSocketClient } from '../common/index.js';
2
- import { Protocol } from '../../wrapper/index.js';
3
2
  import { AdaptValue } from '@adapt-toolkit/sdk/backend';
4
3
  import * as async from 'async';
5
4
  type EventKind = 'broker_message_in' | 'broker_message_out' | 'adapt_message_in' | 'adapt_message_out';
@@ -11,30 +10,27 @@ export interface IAdaptWrapperBrokerClientAPI {
11
10
  receive_from_broker(message: AdaptValue): void;
12
11
  register_callback_broker(cb: (message: AdaptValue) => void): void;
13
12
  broker_client_ready(): void;
13
+ broker_connection_lost(): void;
14
+ collect_registration_messages(): AdaptValue[];
14
15
  }
15
16
  export declare class BrokerClient extends AdaptProtocolWebSocketClient<Event> {
16
- in_flight_message: any;
17
+ #private;
17
18
  adapt_wrapper: IAdaptWrapperBrokerClientAPI;
18
19
  broker_open: boolean;
19
20
  private pending_messages;
20
- worker_functions: Map<Protocol.MessageName, (task: Event) => void>;
21
21
  constructor(address: string, wrapper: IAdaptWrapperBrokerClientAPI);
22
22
  msg_callback(m: AdaptValue): void;
23
23
  /**
24
24
  * Message would not be sent, unless broker is already opened(message b2w_init_v1 was sent)
25
25
  * @param data data to send to broker
26
- * @param save if specified, message is saved as in_flight_message
27
- * @returns
28
26
  */
29
- send_to_broker: (data: AdaptValue, save?: boolean) => void;
27
+ send_to_broker: (data: AdaptValue) => void;
30
28
  start: () => void;
31
29
  on_open(): void;
32
30
  on_error(error: Error): void;
33
31
  on_message(data: AdaptValue): void;
34
32
  on_close(): void;
35
33
  worker(task: Event, cb: async.ErrorCallback): void;
36
- incoming_message_handler(task: Event): void;
37
- b2w_init_v1_handler(task: Event): void;
38
34
  }
39
35
  export {};
40
36
  //# sourceMappingURL=broker_client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"broker_client.d.ts","sourceRoot":"","sources":["../../../src/utilities/broker/broker_client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAA2C,MAAM,oBAAoB,CAAA;AAC1G,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,KAAK,SAAS,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,mBAAmB,CAAA;AACtG,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAA;AAElD,MAAM,WAAW,4BAA4B;IACzC,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/C,wBAAwB,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAA;IACjE,mBAAmB,IAAI,IAAI,CAAA;CAC9B;AAED,qBAAa,YAAa,SAAQ,4BAA4B,CAAC,KAAK,CAAC;IACjE,iBAAiB,EAAE,GAAG,CAAY;IAClC,aAAa,EAAE,4BAA4B,CAAA;IAC3C,WAAW,EAAE,OAAO,CAAQ;IAC5B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,CAAA;gBAGtD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B;IAWlE,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B;;;;;OAKG;IACH,cAAc,GAAI,MAAM,UAAU,EAAE,OAAM,OAAc,UAWvD;IAED,KAAK,aAGJ;IAEQ,OAAO;IAIP,QAAQ,CAAC,KAAK,EAAE,KAAK;IAI9B,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAKlC,QAAQ,IAAI,IAAI;IAQP,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa;IA+BpD,wBAAwB,CAAC,IAAI,EAAE,KAAK;IAapC,mBAAmB,CAAC,IAAI,EAAE,KAAK;CAUlC"}
1
+ {"version":3,"file":"broker_client.d.ts","sourceRoot":"","sources":["../../../src/utilities/broker/broker_client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAwB,MAAM,oBAAoB,CAAA;AAEvF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,KAAK,SAAS,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,mBAAmB,CAAA;AACtG,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAA;AAElD,MAAM,WAAW,4BAA4B;IACzC,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/C,wBAAwB,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAA;IACjE,mBAAmB,IAAI,IAAI,CAAA;IAC3B,sBAAsB,IAAI,IAAI,CAAA;IAC9B,6BAA6B,IAAI,UAAU,EAAE,CAAA;CAChD;AAED,qBAAa,YAAa,SAAQ,4BAA4B,CAAC,KAAK,CAAC;;IACjE,aAAa,EAAE,4BAA4B,CAAA;IAC3C,WAAW,EAAE,OAAO,CAAQ;IAC5B,OAAO,CAAC,gBAAgB,CAAmB;gBAG/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B;IASlE,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B;;;OAGG;IACH,cAAc,GAAI,MAAM,UAAU,UAejC;IAED,KAAK,aAGJ;IAEQ,OAAO;IAIP,QAAQ,CAAC,KAAK,EAAE,KAAK;IAI9B,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IASzB,QAAQ,IAAI,IAAI;IAuChB,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa;CA8BvD"}
@@ -1,16 +1,12 @@
1
1
  import { AdaptProtocolWebSocketClient, LazyMessage, logging } from '../common/index.js';
2
2
  import { Protocol } from '../../wrapper/index.js';
3
3
  export class BrokerClient extends AdaptProtocolWebSocketClient {
4
- in_flight_message = undefined;
5
4
  adapt_wrapper;
6
5
  broker_open = false;
7
6
  pending_messages = [];
8
- worker_functions;
9
7
  constructor(address, wrapper) {
10
8
  super(address);
11
- this.worker_functions = new Map([
12
- [Protocol.MessageName.b2w_init, this.b2w_init_v1_handler.bind(this)]
13
- ]);
9
+ this.heartbeat_enabled = true;
14
10
  this.adapt_wrapper = wrapper;
15
11
  this.adapt_wrapper.register_callback_broker(this.msg_callback.bind(this));
16
12
  }
@@ -21,20 +17,23 @@ export class BrokerClient extends AdaptProtocolWebSocketClient {
21
17
  /**
22
18
  * Message would not be sent, unless broker is already opened(message b2w_init_v1 was sent)
23
19
  * @param data data to send to broker
24
- * @param save if specified, message is saved as in_flight_message
25
- * @returns
26
20
  */
27
- send_to_broker = (data, save = true) => {
28
- if (!this.broker_open) {
21
+ send_to_broker = (data) => {
22
+ if (!this.broker_open || !this.ws) {
29
23
  logging.debug("Message not sent:", new LazyMessage(() => data.Visualize()), " - broker isn't open");
30
24
  logging.debug("Adding message to list of pending messages");
31
25
  this.pending_messages.push(data);
32
26
  return;
33
27
  }
34
- if (save)
35
- this.in_flight_message = data;
36
- logging.message_sent('broker_client', 'broker', data);
37
- this.ws.send(data);
28
+ try {
29
+ logging.message_sent('broker_client', 'broker', data);
30
+ this.ws.send(data);
31
+ }
32
+ catch (e) {
33
+ logging.error("[Broker client] Failed to send message to broker: ", e instanceof Error ? e.message : e);
34
+ this.broker_open = false;
35
+ this.pending_messages.push(data);
36
+ }
38
37
  };
39
38
  start = () => {
40
39
  logging.debug("Starting the broker client");
@@ -48,12 +47,44 @@ export class BrokerClient extends AdaptProtocolWebSocketClient {
48
47
  }
49
48
  on_message(data) {
50
49
  logging.message_received('broker', 'broker_client', data);
50
+ if (Protocol.GetTypeId(data) === Protocol.MessageName.b2w_init) {
51
+ this.#handle_init(data);
52
+ return;
53
+ }
51
54
  this.queue.push({ kind: 'broker_message_in', data: data });
52
55
  }
53
56
  on_close() {
57
+ logging.debug("Broker client lost connection with broker");
58
+ this.broker_open = false;
54
59
  this.queue.pause();
55
- this.ws.close();
56
- setTimeout(() => this.start(), 1000);
60
+ this.adapt_wrapper.broker_connection_lost();
61
+ }
62
+ #handle_init(message) {
63
+ message.Destroy();
64
+ if (this.broker_open) {
65
+ logging.debug("Ignoring repeated b2w_init on an already initialized connection");
66
+ return;
67
+ }
68
+ this.broker_open = true;
69
+ const registrations = this.adapt_wrapper.collect_registration_messages();
70
+ registrations.forEach(registration => {
71
+ try {
72
+ logging.message_sent('broker_client', 'broker', registration);
73
+ this.ws.send(registration);
74
+ }
75
+ catch (e) {
76
+ logging.error("[Broker client] Failed to send registration message: ", e instanceof Error ? e.message : e);
77
+ this.pending_messages.push(registration);
78
+ return;
79
+ }
80
+ registration.Destroy();
81
+ });
82
+ this.adapt_wrapper.broker_client_ready();
83
+ const pending = this.pending_messages;
84
+ this.pending_messages = [];
85
+ for (let i = pending.length - 1; i >= 0; i--) {
86
+ this.queue.unshift({ kind: 'broker_message_out', data: pending[i] });
87
+ }
57
88
  }
58
89
  // =================================== worker and related methods ==============================================
59
90
  worker(task, cb) {
@@ -65,7 +96,7 @@ export class BrokerClient extends AdaptProtocolWebSocketClient {
65
96
  break;
66
97
  }
67
98
  case 'broker_message_in': {
68
- this.incoming_message_handler(task);
99
+ this.queue.push({ kind: 'adapt_message_out', data: message });
69
100
  break;
70
101
  }
71
102
  case 'adapt_message_in': {
@@ -85,27 +116,5 @@ export class BrokerClient extends AdaptProtocolWebSocketClient {
85
116
  cb();
86
117
  }
87
118
  }
88
- incoming_message_handler(task) {
89
- const message_type_id = Protocol.GetTypeId(task.data);
90
- const func = this.worker_functions.get(message_type_id);
91
- if (!func) {
92
- this.queue.push({
93
- kind: 'adapt_message_out',
94
- data: task.data
95
- });
96
- return;
97
- }
98
- func(task);
99
- }
100
- b2w_init_v1_handler(task) {
101
- this.broker_open = true;
102
- this.adapt_wrapper.broker_client_ready();
103
- this.pending_messages.forEach(message => {
104
- this.queue.unshift({
105
- kind: 'broker_message_out',
106
- data: message
107
- });
108
- });
109
- }
110
119
  }
111
120
  //# sourceMappingURL=broker_client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"broker_client.js","sourceRoot":"","sources":["../../../src/utilities/broker/broker_client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker_client.js","sourceRoot":"","sources":["../../../src/utilities/broker/broker_client.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,11 @@ export declare class PendingMessageStore {
3
3
  #private;
4
4
  constructor(db_path: string);
5
5
  add(cid: string, message: AdaptValue): void;
6
- drain(cid: string): AdaptValue[];
6
+ peek(cid: string): {
7
+ id: number;
8
+ value: AdaptValue;
9
+ }[];
10
+ remove(id: number): void;
7
11
  has(cid: string): boolean;
8
12
  close(): void;
9
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pending_message_store.d.ts","sourceRoot":"","sources":["../../../src/utilities/broker/pending_message_store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAIrC,qBAAa,mBAAmB;;gBAMhB,OAAO,EAAE,MAAM;IAkB3B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAM3C,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE;IAmBhC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKzB,KAAK,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"pending_message_store.d.ts","sourceRoot":"","sources":["../../../src/utilities/broker/pending_message_store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAIrC,qBAAa,mBAAmB;;gBAMhB,OAAO,EAAE,MAAM;IAkB3B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAM3C,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,EAAE;IAmBtD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKzB,KAAK,IAAI,IAAI;CAGhB"}
@@ -19,14 +19,14 @@ export class PendingMessageStore {
19
19
  this.#db.exec(`CREATE INDEX IF NOT EXISTS idx_pending_cid ON pending_messages(cid)`);
20
20
  this.#insert = this.#db.prepare('INSERT INTO pending_messages (cid, message) VALUES (?, ?)');
21
21
  this.#select = this.#db.prepare('SELECT id, message FROM pending_messages WHERE cid = ? ORDER BY id');
22
- this.#delete = this.#db.prepare('DELETE FROM pending_messages WHERE cid = ?');
22
+ this.#delete = this.#db.prepare('DELETE FROM pending_messages WHERE id = ?');
23
23
  }
24
24
  add(cid, message) {
25
25
  const serialized = message.Serialize();
26
26
  this.#insert.run(cid, Buffer.from(serialized));
27
27
  message.Destroy();
28
28
  }
29
- drain(cid) {
29
+ peek(cid) {
30
30
  const rows = this.#select.all(cid);
31
31
  if (rows.length === 0)
32
32
  return [];
@@ -35,15 +35,18 @@ export class PendingMessageStore {
35
35
  try {
36
36
  const value = Protocol.GetProtocolContainer().ParseValue(new Uint8Array(row.message));
37
37
  value.Detach();
38
- values.push(value);
38
+ values.push({ id: row.id, value });
39
39
  }
40
40
  catch (e) {
41
41
  logging.error("Failed to deserialize pending message:", e instanceof Error ? e.message : e);
42
+ this.#delete.run(row.id);
42
43
  }
43
44
  }
44
- this.#delete.run(cid);
45
45
  return values;
46
46
  }
47
+ remove(id) {
48
+ this.#delete.run(id);
49
+ }
47
50
  has(cid) {
48
51
  const row = this.#db.prepare('SELECT 1 FROM pending_messages WHERE cid = ? LIMIT 1').get(cid);
49
52
  return row !== undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"pending_message_store.js","sourceRoot":"","sources":["../../../src/utilities/broker/pending_message_store.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,OAAO,mBAAmB;IAC5B,GAAG,CAAmB;IACtB,OAAO,CAAoB;IAC3B,OAAO,CAAoB;IAC3B,OAAO,CAAoB;IAE3B,YAAY,OAAe;QACvB,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAA;QAChC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAErC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;;;;;;SAMb,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAA;QAEpF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAA;QAC5F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oEAAoE,CAAC,CAAA;QACrG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAA;IACjF,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,OAAmB;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,CAAA;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QAC9C,OAAO,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,GAAW;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAsC,CAAA;QACvE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAEhC,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;gBACrF,KAAK,CAAC,MAAM,EAAE,CAAA;gBACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACtB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/F,CAAC;QACL,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACrB,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,GAAG,CAAC,GAAW;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7F,OAAO,GAAG,KAAK,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;CACJ"}
1
+ {"version":3,"file":"pending_message_store.js","sourceRoot":"","sources":["../../../src/utilities/broker/pending_message_store.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,OAAO,mBAAmB;IAC5B,GAAG,CAAmB;IACtB,OAAO,CAAoB;IAC3B,OAAO,CAAoB;IAC3B,OAAO,CAAoB;IAE3B,YAAY,OAAe;QACvB,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAA;QAChC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAErC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;;;;;;SAMb,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAA;QAEpF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAA;QAC5F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oEAAoE,CAAC,CAAA;QACrG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAA;IAChF,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,OAAmB;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,CAAA;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QAC9C,OAAO,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,CAAC,GAAW;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAsC,CAAA;QACvE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAEhC,MAAM,MAAM,GAAwC,EAAE,CAAA;QACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;gBACrF,KAAK,CAAC,MAAM,EAAE,CAAA;gBACd,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YACtC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC3F,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC5B,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,EAAU;QACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACxB,CAAC;IAED,GAAG,CAAC,GAAW;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7F,OAAO,GAAG,KAAK,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;CACJ"}
@@ -3,9 +3,16 @@ import WebSocket from 'isomorphic-ws';
3
3
  import { WebSocketConnection, AdaptProtocolWSConnection } from './web_socket_connection.js';
4
4
  import { AdaptValue } from '@adapt-toolkit/sdk/backend';
5
5
  import * as async from 'async';
6
+ export declare const NetworkTimings: {
7
+ RECONNECT_BASE_DELAY_MS: number;
8
+ RECONNECT_MAX_DELAY_MS: number;
9
+ HEARTBEAT_INTERVAL_MS: number;
10
+ HEARTBEAT_TIMEOUT_MS: number;
11
+ };
6
12
  declare class GenericWebSocketClient<EventType, T extends WebSocketConnection, OnMessageType> {
13
+ #private;
7
14
  protected server_address: string;
8
- protected ws: T;
15
+ protected ws?: T;
9
16
  wsconnection: {
10
17
  new (socket: WebSocket): T;
11
18
  };
@@ -14,6 +21,7 @@ declare class GenericWebSocketClient<EventType, T extends WebSocketConnection, O
14
21
  new (socket: WebSocket): T;
15
22
  });
16
23
  get queue(): AsyncQueueAdapter<EventType, number, (task: EventType) => void>;
24
+ get connected(): boolean;
17
25
  /**
18
26
  * Async queue worker. Override this method in child class to create custom behavior of the worker
19
27
  *
@@ -22,12 +30,17 @@ declare class GenericWebSocketClient<EventType, T extends WebSocketConnection, O
22
30
  */
23
31
  worker(e: EventType, cb: async.ErrorCallback): void;
24
32
  ws_start(): void;
33
+ protected force_reconnect(reason: string): void;
34
+ stop(): void;
35
+ protected start_heartbeat(): void;
36
+ protected stop_heartbeat(): void;
25
37
  /**
26
38
  * Override this method in child class to create 'open' event listener.
27
39
  */
28
40
  on_open(): void;
29
41
  /**
30
42
  * Override this method in child class to create 'close' event listener.
43
+ * Reconnection is scheduled by the base class; the override only needs to reset its own state.
31
44
  */
32
45
  on_close(code: number, reason: Buffer): void;
33
46
  /**
@@ -44,7 +57,11 @@ export declare class WebSocketClient<EventType> extends GenericWebSocketClient<E
44
57
  constructor(server_address: string);
45
58
  }
46
59
  export declare class AdaptProtocolWebSocketClient<EventType> extends GenericWebSocketClient<EventType, AdaptProtocolWSConnection, AdaptValue> {
60
+ #private;
61
+ protected heartbeat_enabled: boolean;
47
62
  constructor(server_address: string);
63
+ protected start_heartbeat(): void;
64
+ protected stop_heartbeat(): void;
48
65
  }
49
66
  export {};
50
67
  //# sourceMappingURL=web_socket_client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web_socket_client.d.ts","sourceRoot":"","sources":["../../../src/utilities/common/web_socket_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAA;AAC1D,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,EAAC,mBAAmB,EAAE,yBAAyB,EAAC,MAAM,4BAA4B,CAAA;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,cAAM,sBAAsB,CAAC,SAAS,EAAE,CAAC,SAAS,mBAAmB,EAAE,aAAa;IAChF,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,YAAY,EAAE;QAAE,KAAI,MAAM,EAAE,SAAS,GAAG,CAAC,CAAA;KAAC,CAAA;IAG1C,OAAO,CAAC,MAAM,CAA+B;gBAEhC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE;QAAE,KAAI,MAAM,EAAE,SAAS,GAAG,CAAC,CAAA;KAAC;IAQ/E,IAAI,KAAK,oEAER;IAED;;;;;OAKG;IACH,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa;IAK5C,QAAQ;IAWR;;OAEG;IACH,OAAO;IAIP;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAKrC;;OAEG;IACH,QAAQ,CAAC,CAAC,EAAE,KAAK;IAIjB;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa;CAIjC;AAED,qBAAa,eAAe,CAAC,SAAS,CAAE,SAAQ,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,EAAE,GAAG,CAAC;gBAC3F,cAAc,EAAE,MAAM;CAGrC;AAED,qBAAa,4BAA4B,CAAC,SAAS,CAAE,SAAQ,sBAAsB,CAAC,SAAS,EAAE,yBAAyB,EAAE,UAAU,CAAC;gBACrH,cAAc,EAAE,MAAM;CAGrC"}
1
+ {"version":3,"file":"web_socket_client.d.ts","sourceRoot":"","sources":["../../../src/utilities/common/web_socket_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,eAAO,MAAM,cAAc;;;;;CAK1B,CAAA;AAMD,cAAM,sBAAsB,CAAC,SAAS,EAAE,CAAC,SAAS,mBAAmB,EAAE,aAAa;;IAChF,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACjB,YAAY,EAAE;QAAE,KAAI,MAAM,EAAE,SAAS,GAAG,CAAC,CAAA;KAAE,CAAA;IAO3C,OAAO,CAAC,MAAM,CAA+B;gBAEjC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE;QAAE,KAAI,MAAM,EAAE,SAAS,GAAG,CAAC,CAAA;KAAE;IAM/E,IAAI,KAAK,oEAER;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;OAKG;IACH,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa;IAI5C,QAAQ;IA+DR,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM;IAiBxC,IAAI;IAiBJ,SAAS,CAAC,eAAe;IAEzB,SAAS,CAAC,cAAc;IAExB;;OAEG;IACH,OAAO;IAIP;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAIrC;;OAEG;IACH,QAAQ,CAAC,CAAC,EAAE,KAAK;IAIjB;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa;CAIjC;AAED,qBAAa,eAAe,CAAC,SAAS,CAAE,SAAQ,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,EAAE,GAAG,CAAC;gBAC3F,cAAc,EAAE,MAAM;CAGrC;AAED,qBAAa,4BAA4B,CAAC,SAAS,CAAE,SAAQ,sBAAsB,CAAC,SAAS,EAAE,yBAAyB,EAAE,UAAU,CAAC;;IAEjI,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAQ;gBAGhC,cAAc,EAAE,MAAM;cAIf,eAAe;cA8Bf,cAAc;CAMpC"}