@adapt-toolkit/sdk 0.5.14 → 0.6.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 (286) hide show
  1. package/LICENSE +105 -0
  2. package/LICENSE.aefl +172 -0
  3. package/NOTICE +18 -0
  4. package/package.json +8 -4
  5. package/dist/common/index.d.ts +0 -7
  6. package/dist/common/index.d.ts.map +0 -1
  7. package/dist/common/index.js +0 -7
  8. package/dist/common/index.js.map +0 -1
  9. package/dist/common/interfaces/adapt_environment.d.ts +0 -21
  10. package/dist/common/interfaces/adapt_environment.d.ts.map +0 -1
  11. package/dist/common/interfaces/adapt_environment.js +0 -2
  12. package/dist/common/interfaces/adapt_environment.js.map +0 -1
  13. package/dist/common/interfaces/adapt_evaluation_unit.d.ts +0 -12
  14. package/dist/common/interfaces/adapt_evaluation_unit.d.ts.map +0 -1
  15. package/dist/common/interfaces/adapt_evaluation_unit.js +0 -2
  16. package/dist/common/interfaces/adapt_evaluation_unit.js.map +0 -1
  17. package/dist/common/interfaces/adapt_packet_context.d.ts +0 -29
  18. package/dist/common/interfaces/adapt_packet_context.d.ts.map +0 -1
  19. package/dist/common/interfaces/adapt_packet_context.js +0 -2
  20. package/dist/common/interfaces/adapt_packet_context.js.map +0 -1
  21. package/dist/common/interfaces/adapt_value.d.ts +0 -23
  22. package/dist/common/interfaces/adapt_value.d.ts.map +0 -1
  23. package/dist/common/interfaces/adapt_value.js +0 -2
  24. package/dist/common/interfaces/adapt_value.js.map +0 -1
  25. package/dist/common/interfaces/common.d.ts +0 -18
  26. package/dist/common/interfaces/common.d.ts.map +0 -1
  27. package/dist/common/interfaces/common.js +0 -4
  28. package/dist/common/interfaces/common.js.map +0 -1
  29. package/dist/common/memory_management/adapt_object_lifetime.d.ts +0 -121
  30. package/dist/common/memory_management/adapt_object_lifetime.d.ts.map +0 -1
  31. package/dist/common/memory_management/adapt_object_lifetime.js +0 -168
  32. package/dist/common/memory_management/adapt_object_lifetime.js.map +0 -1
  33. package/dist/index.d.ts +0 -3
  34. package/dist/index.d.ts.map +0 -1
  35. package/dist/index.js +0 -2
  36. package/dist/index.js.map +0 -1
  37. package/dist/loaders/browser.d.ts +0 -5
  38. package/dist/loaders/browser.d.ts.map +0 -1
  39. package/dist/loaders/browser.js +0 -6
  40. package/dist/loaders/browser.js.map +0 -1
  41. package/dist/loaders/node.d.ts +0 -13
  42. package/dist/loaders/node.d.ts.map +0 -1
  43. package/dist/loaders/node.js +0 -33
  44. package/dist/loaders/node.js.map +0 -1
  45. package/dist/loaders/react-native.d.ts +0 -11
  46. package/dist/loaders/react-native.d.ts.map +0 -1
  47. package/dist/loaders/react-native.js +0 -19
  48. package/dist/loaders/react-native.js.map +0 -1
  49. package/dist/loaders/shared.d.ts +0 -17
  50. package/dist/loaders/shared.d.ts.map +0 -1
  51. package/dist/loaders/shared.js +0 -2
  52. package/dist/loaders/shared.js.map +0 -1
  53. package/dist/mufl_files/BF38C2D4E98F56F473F78121CF9EAAC3492364F1A11A3B0F1F04C12D24285596.muflo +0 -0
  54. package/dist/utilities/broker/broker.d.ts +0 -23
  55. package/dist/utilities/broker/broker.d.ts.map +0 -1
  56. package/dist/utilities/broker/broker.js +0 -335
  57. package/dist/utilities/broker/broker.js.map +0 -1
  58. package/dist/utilities/broker/broker_client.d.ts +0 -36
  59. package/dist/utilities/broker/broker_client.d.ts.map +0 -1
  60. package/dist/utilities/broker/broker_client.js +0 -121
  61. package/dist/utilities/broker/broker_client.js.map +0 -1
  62. package/dist/utilities/broker/broker_configurator.d.ts +0 -7
  63. package/dist/utilities/broker/broker_configurator.d.ts.map +0 -1
  64. package/dist/utilities/broker/broker_configurator.js +0 -16
  65. package/dist/utilities/broker/broker_configurator.js.map +0 -1
  66. package/dist/utilities/broker/index.d.ts +0 -5
  67. package/dist/utilities/broker/index.d.ts.map +0 -1
  68. package/dist/utilities/broker/index.js +0 -5
  69. package/dist/utilities/broker/index.js.map +0 -1
  70. package/dist/utilities/broker/pending_message_store.d.ts +0 -14
  71. package/dist/utilities/broker/pending_message_store.d.ts.map +0 -1
  72. package/dist/utilities/broker/pending_message_store.js +0 -58
  73. package/dist/utilities/broker/pending_message_store.js.map +0 -1
  74. package/dist/utilities/common/adapt_waitlist.d.ts +0 -5
  75. package/dist/utilities/common/adapt_waitlist.d.ts.map +0 -1
  76. package/dist/utilities/common/adapt_waitlist.js +0 -4
  77. package/dist/utilities/common/adapt_waitlist.js.map +0 -1
  78. package/dist/utilities/common/async_queue_adapter.d.ts +0 -40
  79. package/dist/utilities/common/async_queue_adapter.d.ts.map +0 -1
  80. package/dist/utilities/common/async_queue_adapter.js +0 -88
  81. package/dist/utilities/common/async_queue_adapter.js.map +0 -1
  82. package/dist/utilities/common/command_line_configurator.d.ts +0 -88
  83. package/dist/utilities/common/command_line_configurator.d.ts.map +0 -1
  84. package/dist/utilities/common/command_line_configurator.js +0 -217
  85. package/dist/utilities/common/command_line_configurator.js.map +0 -1
  86. package/dist/utilities/common/decorators.d.ts +0 -17
  87. package/dist/utilities/common/decorators.d.ts.map +0 -1
  88. package/dist/utilities/common/decorators.js +0 -84
  89. package/dist/utilities/common/decorators.js.map +0 -1
  90. package/dist/utilities/common/errors/adapt_initialization_error.d.ts +0 -4
  91. package/dist/utilities/common/errors/adapt_initialization_error.d.ts.map +0 -1
  92. package/dist/utilities/common/errors/adapt_initialization_error.js +0 -6
  93. package/dist/utilities/common/errors/adapt_initialization_error.js.map +0 -1
  94. package/dist/utilities/common/errors/adapt_network_error.d.ts +0 -8
  95. package/dist/utilities/common/errors/adapt_network_error.d.ts.map +0 -1
  96. package/dist/utilities/common/errors/adapt_network_error.js +0 -12
  97. package/dist/utilities/common/errors/adapt_network_error.js.map +0 -1
  98. package/dist/utilities/common/errors/adapt_protocol_error.d.ts +0 -12
  99. package/dist/utilities/common/errors/adapt_protocol_error.d.ts.map +0 -1
  100. package/dist/utilities/common/errors/adapt_protocol_error.js +0 -16
  101. package/dist/utilities/common/errors/adapt_protocol_error.js.map +0 -1
  102. package/dist/utilities/common/errors/adapt_test_mode_error.d.ts +0 -11
  103. package/dist/utilities/common/errors/adapt_test_mode_error.d.ts.map +0 -1
  104. package/dist/utilities/common/errors/adapt_test_mode_error.js +0 -22
  105. package/dist/utilities/common/errors/adapt_test_mode_error.js.map +0 -1
  106. package/dist/utilities/common/http_server.d.ts +0 -18
  107. package/dist/utilities/common/http_server.d.ts.map +0 -1
  108. package/dist/utilities/common/http_server.js +0 -41
  109. package/dist/utilities/common/http_server.js.map +0 -1
  110. package/dist/utilities/common/index.d.ts +0 -25
  111. package/dist/utilities/common/index.d.ts.map +0 -1
  112. package/dist/utilities/common/index.js +0 -36
  113. package/dist/utilities/common/index.js.map +0 -1
  114. package/dist/utilities/common/logger/logger.d.ts +0 -83
  115. package/dist/utilities/common/logger/logger.d.ts.map +0 -1
  116. package/dist/utilities/common/logger/logger.js +0 -272
  117. package/dist/utilities/common/logger/logger.js.map +0 -1
  118. package/dist/utilities/common/logger/logging_level.d.ts +0 -13
  119. package/dist/utilities/common/logger/logging_level.d.ts.map +0 -1
  120. package/dist/utilities/common/logger/logging_level.js +0 -36
  121. package/dist/utilities/common/logger/logging_level.js.map +0 -1
  122. package/dist/utilities/common/logger/message.d.ts +0 -65
  123. package/dist/utilities/common/logger/message.d.ts.map +0 -1
  124. package/dist/utilities/common/logger/message.js +0 -169
  125. package/dist/utilities/common/logger/message.js.map +0 -1
  126. package/dist/utilities/common/logger/network_component.d.ts +0 -3
  127. package/dist/utilities/common/logger/network_component.d.ts.map +0 -1
  128. package/dist/utilities/common/logger/network_component.js +0 -4
  129. package/dist/utilities/common/logger/network_component.js.map +0 -1
  130. package/dist/utilities/common/totp_qr_code_generator.d.ts +0 -12
  131. package/dist/utilities/common/totp_qr_code_generator.d.ts.map +0 -1
  132. package/dist/utilities/common/totp_qr_code_generator.js +0 -19
  133. package/dist/utilities/common/totp_qr_code_generator.js.map +0 -1
  134. package/dist/utilities/common/waitlist/waitlist.d.ts +0 -36
  135. package/dist/utilities/common/waitlist/waitlist.d.ts.map +0 -1
  136. package/dist/utilities/common/waitlist/waitlist.js +0 -116
  137. package/dist/utilities/common/waitlist/waitlist.js.map +0 -1
  138. package/dist/utilities/common/web_socket_client.d.ts +0 -67
  139. package/dist/utilities/common/web_socket_client.d.ts.map +0 -1
  140. package/dist/utilities/common/web_socket_client.js +0 -214
  141. package/dist/utilities/common/web_socket_client.js.map +0 -1
  142. package/dist/utilities/common/web_socket_connection.d.ts +0 -36
  143. package/dist/utilities/common/web_socket_connection.d.ts.map +0 -1
  144. package/dist/utilities/common/web_socket_connection.js +0 -154
  145. package/dist/utilities/common/web_socket_connection.js.map +0 -1
  146. package/dist/utilities/evaluator/common.d.ts +0 -10
  147. package/dist/utilities/evaluator/common.d.ts.map +0 -1
  148. package/dist/utilities/evaluator/common.js +0 -128
  149. package/dist/utilities/evaluator/common.js.map +0 -1
  150. package/dist/utilities/evaluator/evaluator.d.ts +0 -35
  151. package/dist/utilities/evaluator/evaluator.d.ts.map +0 -1
  152. package/dist/utilities/evaluator/evaluator.js +0 -141
  153. package/dist/utilities/evaluator/evaluator.js.map +0 -1
  154. package/dist/utilities/evaluator/index.d.ts +0 -3
  155. package/dist/utilities/evaluator/index.d.ts.map +0 -1
  156. package/dist/utilities/evaluator/index.js +0 -3
  157. package/dist/utilities/evaluator/index.js.map +0 -1
  158. package/dist/utilities/executables/adapt_wrapper.d.ts +0 -3
  159. package/dist/utilities/executables/adapt_wrapper.d.ts.map +0 -1
  160. package/dist/utilities/executables/adapt_wrapper.js +0 -25
  161. package/dist/utilities/executables/adapt_wrapper.js.map +0 -1
  162. package/dist/utilities/executables/adapt_wrapper_mobile.d.ts +0 -3
  163. package/dist/utilities/executables/adapt_wrapper_mobile.d.ts.map +0 -1
  164. package/dist/utilities/executables/adapt_wrapper_mobile.js +0 -20
  165. package/dist/utilities/executables/adapt_wrapper_mobile.js.map +0 -1
  166. package/dist/utilities/executables/adapt_wrapper_script.d.ts +0 -2
  167. package/dist/utilities/executables/adapt_wrapper_script.d.ts.map +0 -1
  168. package/dist/utilities/executables/adapt_wrapper_script.js +0 -6
  169. package/dist/utilities/executables/adapt_wrapper_script.js.map +0 -1
  170. package/dist/utilities/executables/broker.d.ts +0 -2
  171. package/dist/utilities/executables/broker.d.ts.map +0 -1
  172. package/dist/utilities/executables/broker.js +0 -28
  173. package/dist/utilities/executables/broker.js.map +0 -1
  174. package/dist/utilities/executables/index.d.ts +0 -2
  175. package/dist/utilities/executables/index.d.ts.map +0 -1
  176. package/dist/utilities/executables/index.js +0 -2
  177. package/dist/utilities/executables/index.js.map +0 -1
  178. package/dist/utilities/executables/local_data_storage.d.ts +0 -2
  179. package/dist/utilities/executables/local_data_storage.d.ts.map +0 -1
  180. package/dist/utilities/executables/local_data_storage.js +0 -20
  181. package/dist/utilities/executables/local_data_storage.js.map +0 -1
  182. package/dist/utilities/executables/local_data_storage_cmd_helper.d.ts +0 -2
  183. package/dist/utilities/executables/local_data_storage_cmd_helper.d.ts.map +0 -1
  184. package/dist/utilities/executables/local_data_storage_cmd_helper.js +0 -52
  185. package/dist/utilities/executables/local_data_storage_cmd_helper.js.map +0 -1
  186. package/dist/utilities/storage/data_storage.d.ts +0 -97
  187. package/dist/utilities/storage/data_storage.d.ts.map +0 -1
  188. package/dist/utilities/storage/data_storage.js +0 -440
  189. package/dist/utilities/storage/data_storage.js.map +0 -1
  190. package/dist/utilities/storage/index.d.ts +0 -6
  191. package/dist/utilities/storage/index.d.ts.map +0 -1
  192. package/dist/utilities/storage/index.js +0 -6
  193. package/dist/utilities/storage/index.js.map +0 -1
  194. package/dist/utilities/storage/local_data_storage.d.ts +0 -7
  195. package/dist/utilities/storage/local_data_storage.d.ts.map +0 -1
  196. package/dist/utilities/storage/local_data_storage.js +0 -18
  197. package/dist/utilities/storage/local_data_storage.js.map +0 -1
  198. package/dist/utilities/storage/local_data_storage_base.d.ts +0 -74
  199. package/dist/utilities/storage/local_data_storage_base.d.ts.map +0 -1
  200. package/dist/utilities/storage/local_data_storage_base.js +0 -163
  201. package/dist/utilities/storage/local_data_storage_base.js.map +0 -1
  202. package/dist/utilities/storage/local_data_storage_configurator.d.ts +0 -7
  203. package/dist/utilities/storage/local_data_storage_configurator.d.ts.map +0 -1
  204. package/dist/utilities/storage/local_data_storage_configurator.js +0 -13
  205. package/dist/utilities/storage/local_data_storage_configurator.js.map +0 -1
  206. package/dist/utilities/storage/storage_client.d.ts +0 -29
  207. package/dist/utilities/storage/storage_client.d.ts.map +0 -1
  208. package/dist/utilities/storage/storage_client.js +0 -100
  209. package/dist/utilities/storage/storage_client.js.map +0 -1
  210. package/dist/utilities/wrappers/configurators/adapt_wrapper_configurator.d.ts +0 -14
  211. package/dist/utilities/wrappers/configurators/adapt_wrapper_configurator.d.ts.map +0 -1
  212. package/dist/utilities/wrappers/configurators/adapt_wrapper_configurator.js +0 -57
  213. package/dist/utilities/wrappers/configurators/adapt_wrapper_configurator.js.map +0 -1
  214. package/dist/utilities/wrappers/configurators/control_packet_configurator.d.ts +0 -12
  215. package/dist/utilities/wrappers/configurators/control_packet_configurator.d.ts.map +0 -1
  216. package/dist/utilities/wrappers/configurators/control_packet_configurator.js +0 -52
  217. package/dist/utilities/wrappers/configurators/control_packet_configurator.js.map +0 -1
  218. package/dist/utilities/wrappers/configurators/packet_wrapper_configurator.d.ts +0 -32
  219. package/dist/utilities/wrappers/configurators/packet_wrapper_configurator.d.ts.map +0 -1
  220. package/dist/utilities/wrappers/configurators/packet_wrapper_configurator.js +0 -123
  221. package/dist/utilities/wrappers/configurators/packet_wrapper_configurator.js.map +0 -1
  222. package/dist/utilities/wrappers/enclave/control_packet.d.ts +0 -18
  223. package/dist/utilities/wrappers/enclave/control_packet.d.ts.map +0 -1
  224. package/dist/utilities/wrappers/enclave/control_packet.js +0 -213
  225. package/dist/utilities/wrappers/enclave/control_packet.js.map +0 -1
  226. package/dist/utilities/wrappers/index.d.ts +0 -5
  227. package/dist/utilities/wrappers/index.d.ts.map +0 -1
  228. package/dist/utilities/wrappers/index.js +0 -5
  229. package/dist/utilities/wrappers/index.js.map +0 -1
  230. package/dist/utilities/wrappers/wrappers/adapt_packet_wrapper.d.ts +0 -21
  231. package/dist/utilities/wrappers/wrappers/adapt_packet_wrapper.d.ts.map +0 -1
  232. package/dist/utilities/wrappers/wrappers/adapt_packet_wrapper.js +0 -67
  233. package/dist/utilities/wrappers/wrappers/adapt_packet_wrapper.js.map +0 -1
  234. package/dist/utilities/wrappers/wrappers/adapt_wrapper.d.ts +0 -136
  235. package/dist/utilities/wrappers/wrappers/adapt_wrapper.d.ts.map +0 -1
  236. package/dist/utilities/wrappers/wrappers/adapt_wrapper.js +0 -804
  237. package/dist/utilities/wrappers/wrappers/adapt_wrapper.js.map +0 -1
  238. package/dist/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.d.ts +0 -78
  239. package/dist/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.d.ts.map +0 -1
  240. package/dist/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.js +0 -611
  241. package/dist/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.js.map +0 -1
  242. package/dist/wasm/adapt.d.ts +0 -79
  243. package/dist/wasm/adapt.d.ts.map +0 -1
  244. package/dist/wasm/adapt.js +0 -450
  245. package/dist/wasm/adapt.js.map +0 -1
  246. package/dist/wasm/backend-node.d.ts +0 -9
  247. package/dist/wasm/backend-node.d.ts.map +0 -1
  248. package/dist/wasm/backend-node.js +0 -27
  249. package/dist/wasm/backend-node.js.map +0 -1
  250. package/dist/wasm/index.d.ts +0 -12
  251. package/dist/wasm/index.d.ts.map +0 -1
  252. package/dist/wasm/index.js +0 -15
  253. package/dist/wasm/index.js.map +0 -1
  254. package/dist/wasm/mufl-bindings.d.ts +0 -3
  255. package/dist/wasm/mufl-bindings.d.ts.map +0 -1
  256. package/dist/wasm/mufl-bindings.js +0 -3700
  257. package/dist/wasm/mufl-bindings.js.map +0 -1
  258. package/dist/wasm/mufl-bindings.wasm +0 -0
  259. package/dist/wasm/wasm_types.d.ts +0 -97
  260. package/dist/wasm/wasm_types.d.ts.map +0 -1
  261. package/dist/wasm/wasm_types.js +0 -2
  262. package/dist/wasm/wasm_types.js.map +0 -1
  263. package/dist/wrapper/conversion.d.ts +0 -9
  264. package/dist/wrapper/conversion.d.ts.map +0 -1
  265. package/dist/wrapper/conversion.js +0 -30
  266. package/dist/wrapper/conversion.js.map +0 -1
  267. package/dist/wrapper/index.d.ts +0 -11
  268. package/dist/wrapper/index.d.ts.map +0 -1
  269. package/dist/wrapper/index.js +0 -25
  270. package/dist/wrapper/index.js.map +0 -1
  271. package/dist/wrapper/memory_management/adapt_builder.d.ts +0 -36
  272. package/dist/wrapper/memory_management/adapt_builder.d.ts.map +0 -1
  273. package/dist/wrapper/memory_management/adapt_builder.js +0 -98
  274. package/dist/wrapper/memory_management/adapt_builder.js.map +0 -1
  275. package/dist/wrapper/memory_management/exit_handler_registrar.d.ts +0 -10
  276. package/dist/wrapper/memory_management/exit_handler_registrar.d.ts.map +0 -1
  277. package/dist/wrapper/memory_management/exit_handler_registrar.js +0 -38
  278. package/dist/wrapper/memory_management/exit_handler_registrar.js.map +0 -1
  279. package/dist/wrapper/protocol/message_handler_interfaces.d.ts +0 -32
  280. package/dist/wrapper/protocol/message_handler_interfaces.d.ts.map +0 -1
  281. package/dist/wrapper/protocol/message_handler_interfaces.js +0 -2
  282. package/dist/wrapper/protocol/message_handler_interfaces.js.map +0 -1
  283. package/dist/wrapper/protocol/protocol.d.ts +0 -174
  284. package/dist/wrapper/protocol/protocol.d.ts.map +0 -1
  285. package/dist/wrapper/protocol/protocol.js +0 -410
  286. package/dist/wrapper/protocol/protocol.js.map +0 -1
@@ -1,335 +0,0 @@
1
- import { AdaptObjectLifetime } from '@adapt-toolkit/sdk/backend';
2
- import { ExitHandlerRegistrar } from '../../wrapper/index.js';
3
- import { AdaptProtocolWSConnection, HttpServer, AsyncQueueAdapter, AdaptNetworkError, AdaptNetworkErrorType, AdaptProtocolError, AdaptProtocolErrorType, logging, LazyMessage } from '../common/index.js';
4
- import { AdaptObjectBuilder, Protocol } from '../../wrapper/index.js';
5
- import { PendingMessageStore } from './pending_message_store.js';
6
- class AdaptPacketInfo {
7
- cid;
8
- adapt_identity_proof_document;
9
- connected_containers = new Set(); // list of ids of containers, that has identity proof document of THIS container
10
- constructor(packet_id, adapt_identity_proof_document) {
11
- this.cid = packet_id;
12
- this.adapt_identity_proof_document = adapt_identity_proof_document;
13
- }
14
- add_connected_container(cid) {
15
- this.connected_containers.add(cid);
16
- }
17
- ip_should_be_attached(cid) {
18
- return !this.connected_containers.has(cid);
19
- }
20
- }
21
- class Connection extends AdaptProtocolWSConnection {
22
- broker;
23
- managed_packets = new Set();
24
- connection_id;
25
- responded = false;
26
- static last_connection_id = 0;
27
- constructor(broker, socket) {
28
- super(socket);
29
- this.broker = broker;
30
- this.connection_id = Connection.last_connection_id++;
31
- this.on('message', this.on_message_impl.bind(this));
32
- this.on('close', this.on_close_impl.bind(this));
33
- }
34
- on_message_impl(message) {
35
- this.responded = true;
36
- logging.message_received('broker_client', 'broker', message);
37
- this.broker.queue.push({ kind: 'incoming_message', connection_id: this.connection_id, data: message });
38
- }
39
- on_close_impl(code, reason) {
40
- logging.info("Socket connections closed with code:", code);
41
- this.broker.connection_closed(this.connection_id);
42
- }
43
- send(message) {
44
- logging.message_sent('broker', 'broker_client', message);
45
- super.send(message);
46
- }
47
- add_packet(cid) {
48
- this.managed_packets.add(cid);
49
- }
50
- delete_packet(cid) {
51
- this.managed_packets.delete(cid);
52
- }
53
- }
54
- /**
55
- *
56
- * Manages connections with single packet. Stores information about web socket connection
57
- */
58
- class PacketConnection {
59
- connection;
60
- packet_info;
61
- constructor(connection, packet_info) {
62
- this.connection = connection;
63
- this.connection.add_packet(packet_info.cid);
64
- this.packet_info = packet_info;
65
- }
66
- get connection_id() {
67
- return this.connection.connection_id;
68
- }
69
- send(message) {
70
- this.connection.send(message);
71
- }
72
- }
73
- const IDLE_SWEEP_INTERVAL_MS = 10_000;
74
- const IDLE_TIMEOUT_MS = 35_000;
75
- export class Broker extends HttpServer {
76
- queue;
77
- #connections = {};
78
- #connections_by_cid = {};
79
- #pending_messages_by_cid = {};
80
- #pending_store;
81
- #worker_functions;
82
- #global_lifetime = new AdaptObjectLifetime();
83
- config;
84
- constructor(broker_configuration) {
85
- super(broker_configuration.host, broker_configuration.port);
86
- this.config = broker_configuration;
87
- if (broker_configuration.db_path) {
88
- this.#pending_store = new PendingMessageStore(broker_configuration.db_path);
89
- logging.info("Persistent pending message store enabled at:", broker_configuration.db_path);
90
- }
91
- this.queue = new AsyncQueueAdapter(this.#worker.bind(this));
92
- this.#worker_functions = new Map([
93
- [Protocol.MessageName.w2b_reg, this.#w2b_reg_v1_handler.bind(this)],
94
- [Protocol.MessageName.w2b_transaction, this.#w2b_transaction_v1_handler.bind(this)]
95
- ]);
96
- ExitHandlerRegistrar.getInstance().registerOnExitHandler(() => {
97
- if (this.#idle_sweep_timer)
98
- clearInterval(this.#idle_sweep_timer);
99
- this.#pending_store?.close();
100
- console.log(`Destroying ${this.#global_lifetime.size} objects from Broker lifetime`);
101
- this.#global_lifetime.Finalize();
102
- });
103
- }
104
- #add_pending_message(message, to) {
105
- logging.debug("Adding pending message to container:", to, ", message:", new LazyMessage(() => message.Visualize()));
106
- if (this.#pending_store) {
107
- this.#pending_store.add(to, message);
108
- }
109
- else {
110
- if (!(to in this.#pending_messages_by_cid))
111
- this.#pending_messages_by_cid[to] = [];
112
- this.#pending_messages_by_cid[to].push(message);
113
- }
114
- }
115
- connection_closed(connection_id) {
116
- if (connection_id in this.#connections) {
117
- const connection = this.#connections[connection_id];
118
- connection.managed_packets.forEach((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");
123
- });
124
- delete this.#connections[connection_id];
125
- }
126
- else {
127
- logging.warning("Task 'socket_close' with connection_id ", connection_id, " that is not known to us, ignoring");
128
- }
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
- }
144
- start = () => {
145
- this.listen(() => {
146
- logging.info(`Server started on port ${this.server.address().port} :)`);
147
- });
148
- this.#start_idle_sweep();
149
- this.add_event_listener('connection', (socket) => {
150
- logging.info("new connection");
151
- const connection = new Connection(this, socket);
152
- this.#connections[connection.connection_id] = connection;
153
- // message initializing connection between broker and wrapper
154
- const send_init_message_to_wrapper = (connection) => {
155
- if (connection.responded)
156
- return;
157
- if (!(connection.connection_id in this.#connections))
158
- return; // connections closed before we have obtained the registration message
159
- const message = Protocol.CreateProtocolMessage(Protocol.MessageName.b2w_init).Detach();
160
- this.queue.push({ kind: 'outgoing_message', connection_id: connection.connection_id, data: message });
161
- setTimeout(() => send_init_message_to_wrapper(connection), 2000);
162
- };
163
- send_init_message_to_wrapper(connection);
164
- });
165
- };
166
- // =================================== worker and related methods ==============================================
167
- // AdaptValue in task is always detached from lifetime, its memory should be managed here
168
- #worker = (task, callback) => {
169
- try {
170
- if (task.kind === 'outgoing_message') {
171
- const connection_id = task.connection_id;
172
- if (connection_id in this.#connections) {
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
- }
183
- }
184
- else {
185
- logging.warning("Invalid connection_id ", connection_id, " in queue outgoing message task");
186
- this.#handle_undeliverable(task);
187
- }
188
- }
189
- else {
190
- this.#incoming_message_handler(task);
191
- }
192
- }
193
- catch (e) {
194
- // Here also caught exceptions from func
195
- let message = e instanceof Error ? e.message : e;
196
- logging.error(message);
197
- }
198
- finally {
199
- callback();
200
- }
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
- }
216
- #incoming_message_handler(task) {
217
- const message = task.data;
218
- const message_type_id = Protocol.GetTypeId(message);
219
- const connection_id = task.connection_id;
220
- logging.debug("Processing incoming message:", new LazyMessage(() => message.Visualize()));
221
- if (connection_id in this.#connections) {
222
- const func = this.#worker_functions.get(message_type_id);
223
- if (!func)
224
- throw new Error("Unrecognized message type id: " + message_type_id);
225
- func(task); // functions takes care of destroying the object, because we are not in control here of the data lifetime
226
- }
227
- else {
228
- task.data.Destroy(); // we didn't send the data to any other function, so here is the last place in the code where the data is used
229
- throw new AdaptNetworkError(AdaptNetworkErrorType.INTERNAL_ERROR, `Invalid connection id ${connection_id}`);
230
- }
231
- }
232
- /**
233
- *
234
- * 1. Validate attestation document and save it
235
- * 2. send registration ok message
236
- *
237
- */
238
- #w2b_reg_v1_handler(task) {
239
- const builder = new AdaptObjectBuilder();
240
- try {
241
- const message = builder.Attach(task.data); // attach received AdaptValue to current builder to destroy data in the end of the function
242
- const connection_id = task.connection_id;
243
- const connection = this.#connections[connection_id];
244
- if (connection == undefined)
245
- throw new AdaptNetworkError(AdaptNetworkErrorType.INTERNAL_ERROR, "Internal error: connection id is undefined");
246
- const message_body = builder.Attach(Protocol.GetBody(message));
247
- const cid = builder.Attach(Protocol.GetFrom(message)).Visualize();
248
- logging.debug("Received registration message from container with id: ", cid);
249
- // if (cid in this.#connections_by_cid)
250
- // throw new AdaptProtocolError(AdaptProtocolErrorType.LOGIC_ERROR, `Duplicate/invalid registration message for container ${cid}, connection ${task.connection_id}`);
251
- // get and validate identity proof document
252
- const ip_document = message_body.Reduce(Protocol.FieldName.ip_document).Attach(this.#global_lifetime);
253
- try {
254
- builder.Attach(Protocol.ValidateIdentityProofDocument(ip_document, builder.AdaptEnvironment.SystemTime()));
255
- logging.debug("Identity proof document validated");
256
- }
257
- catch (e) {
258
- logging.error(e instanceof Error ? e.message : e);
259
- throw new AdaptProtocolError(AdaptProtocolErrorType.IP_DOCUMENT_VALIDATION_FAILURE, "Identity proof document validation failed");
260
- }
261
- // IP Document validation OK
262
- // create connection with packet
263
- let adapt_packet_info = new AdaptPacketInfo(cid, ip_document.Detach());
264
- let packet_connection = new PacketConnection(connection, adapt_packet_info);
265
- // add new packet connection
266
- this.#connections_by_cid[cid] = packet_connection;
267
- const data_to_send = Protocol.CreateProtocolMessage(Protocol.MessageName.b2w_reg_ok, { to: builder.AdaptValue.New(cid), message_hash: message.GetHash() }).Detach();
268
- this.queue.push({
269
- kind: 'outgoing_message',
270
- connection_id: connection_id,
271
- data: data_to_send
272
- });
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
- }
277
- }
278
- else {
279
- const pending = this.#pending_messages_by_cid[cid] ?? [];
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
- }
284
- }
285
- }
286
- finally {
287
- builder.Destroy();
288
- }
289
- }
290
- /**
291
- *
292
- * 1. Get transaction recipient
293
- * 2. Check, if recipient already has an identity proof document
294
- * 3. If not, send identity proof document together with transaction
295
- * 4. else, send just transaction itself
296
- *
297
- */
298
- #w2b_transaction_v1_handler(task) {
299
- AdaptObjectBuilder.execute_and_collect_garbage(builder => {
300
- const message = builder.Attach(task.data);
301
- const message_body = builder.Attach(Protocol.GetBody(message));
302
- let envlp = builder.Attach(message_body.Reduce(Protocol.FieldName.envlp));
303
- const to = builder.Attach(Protocol.GetTo(message)).Visualize();
304
- const from = builder.Attach(Protocol.GetFrom(message)).Visualize();
305
- if (from in this.#connections_by_cid === false) {
306
- throw new AdaptProtocolError(AdaptProtocolErrorType.LOGIC_ERROR, "Received message from unregistered packet");
307
- }
308
- let from_packet_connection = this.#connections_by_cid[from];
309
- let from_packet_info = from_packet_connection.packet_info;
310
- const ip_document = from_packet_info.adapt_identity_proof_document; // ip document here is already validated by the broker
311
- const attach_ip_document = from_packet_info.ip_should_be_attached(to);
312
- from_packet_info.add_connected_container(to); // What if message would not be sent(connection error, etc.), there should be a way to request ip document of the another container from broker
313
- logging.debug("Identity proof document should be attached: ", attach_ip_document);
314
- if (attach_ip_document) {
315
- envlp = builder.Attach(Protocol.SetIdentityProofDocumentToEnvelope(envlp, ip_document));
316
- }
317
- let args = builder.Attach(Protocol.GetProtocolContainer().CreateDictionary().Mutate(Protocol.FieldName.envlp, envlp));
318
- const send_message = Protocol.CreateProtocolMessage(Protocol.MessageName.b2w_exec_transaction, { from: builder.AdaptValue.New(from), to: builder.AdaptValue.New(to), body: args }).Detach();
319
- if (to in this.#connections_by_cid) {
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
- }
328
- }
329
- else {
330
- this.#add_pending_message(send_message, to);
331
- }
332
- });
333
- }
334
- }
335
- //# sourceMappingURL=broker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../src/utilities/broker/broker.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { AdaptProtocolWebSocketClient } from '../common/index.js';
2
- import { AdaptValue } from '@adapt-toolkit/sdk/backend';
3
- import * as async from 'async';
4
- type EventKind = 'broker_message_in' | 'broker_message_out' | 'adapt_message_in' | 'adapt_message_out';
5
- type Event = {
6
- kind: EventKind;
7
- data: AdaptValue;
8
- };
9
- export interface IAdaptWrapperBrokerClientAPI {
10
- receive_from_broker(message: AdaptValue): void;
11
- register_callback_broker(cb: (message: AdaptValue) => void): void;
12
- broker_client_ready(): void;
13
- broker_connection_lost(): void;
14
- collect_registration_messages(): AdaptValue[];
15
- }
16
- export declare class BrokerClient extends AdaptProtocolWebSocketClient<Event> {
17
- #private;
18
- adapt_wrapper: IAdaptWrapperBrokerClientAPI;
19
- broker_open: boolean;
20
- private pending_messages;
21
- constructor(address: string, wrapper: IAdaptWrapperBrokerClientAPI);
22
- msg_callback(m: AdaptValue): void;
23
- /**
24
- * Message would not be sent, unless broker is already opened(message b2w_init_v1 was sent)
25
- * @param data data to send to broker
26
- */
27
- send_to_broker: (data: AdaptValue) => void;
28
- start: () => void;
29
- on_open(): void;
30
- on_error(error: Error): void;
31
- on_message(data: AdaptValue): void;
32
- on_close(): void;
33
- worker(task: Event, cb: async.ErrorCallback): void;
34
- }
35
- export {};
36
- //# sourceMappingURL=broker_client.d.ts.map
@@ -1 +0,0 @@
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,UAgBjC;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,121 +0,0 @@
1
- import { AdaptProtocolWebSocketClient, LazyMessage, logging } from '../common/index.js';
2
- import { Protocol } from '../../wrapper/index.js';
3
- export class BrokerClient extends AdaptProtocolWebSocketClient {
4
- adapt_wrapper;
5
- broker_open = false;
6
- pending_messages = [];
7
- constructor(address, wrapper) {
8
- super(address);
9
- this.heartbeat_enabled = true;
10
- this.adapt_wrapper = wrapper;
11
- this.adapt_wrapper.register_callback_broker(this.msg_callback.bind(this));
12
- }
13
- // message from adapt wrapper
14
- msg_callback(m) {
15
- this.queue.push({ kind: 'adapt_message_in', data: m });
16
- }
17
- /**
18
- * Message would not be sent, unless broker is already opened(message b2w_init_v1 was sent)
19
- * @param data data to send to broker
20
- */
21
- send_to_broker = (data) => {
22
- if (!this.broker_open || !this.ws) {
23
- logging.debug("Message not sent:", new LazyMessage(() => data.Visualize()), " - broker isn't open");
24
- logging.debug("Adding message to list of pending messages");
25
- this.pending_messages.push(data);
26
- return;
27
- }
28
- try {
29
- logging.message_sent('broker_client', 'broker', data);
30
- this.ws.send(data);
31
- data.Destroy(); // free the message once serialized & sent (matches the registration path in #handle_init)
32
- }
33
- catch (e) {
34
- logging.error("[Broker client] Failed to send message to broker: ", e instanceof Error ? e.message : e);
35
- this.broker_open = false;
36
- this.pending_messages.push(data);
37
- }
38
- };
39
- start = () => {
40
- logging.debug("Starting the broker client");
41
- this.ws_start();
42
- };
43
- on_open() {
44
- logging.debug("Broker client opened web socket connection with broker");
45
- }
46
- on_error(error) {
47
- logging.error("[Broker client] Connection with broker error: ", error.name, ' ', error.message);
48
- }
49
- on_message(data) {
50
- logging.message_received('broker', 'broker_client', data);
51
- if (Protocol.GetTypeId(data) === Protocol.MessageName.b2w_init) {
52
- this.#handle_init(data);
53
- return;
54
- }
55
- this.queue.push({ kind: 'broker_message_in', data: data });
56
- }
57
- on_close() {
58
- logging.debug("Broker client lost connection with broker");
59
- this.broker_open = false;
60
- this.queue.pause();
61
- this.adapt_wrapper.broker_connection_lost();
62
- }
63
- #handle_init(message) {
64
- message.Destroy();
65
- if (this.broker_open) {
66
- logging.debug("Ignoring repeated b2w_init on an already initialized connection");
67
- return;
68
- }
69
- this.broker_open = true;
70
- const registrations = this.adapt_wrapper.collect_registration_messages();
71
- registrations.forEach(registration => {
72
- try {
73
- logging.message_sent('broker_client', 'broker', registration);
74
- this.ws.send(registration);
75
- }
76
- catch (e) {
77
- logging.error("[Broker client] Failed to send registration message: ", e instanceof Error ? e.message : e);
78
- this.pending_messages.push(registration);
79
- return;
80
- }
81
- registration.Destroy();
82
- });
83
- this.adapt_wrapper.broker_client_ready();
84
- const pending = this.pending_messages;
85
- this.pending_messages = [];
86
- for (let i = pending.length - 1; i >= 0; i--) {
87
- this.queue.unshift({ kind: 'broker_message_out', data: pending[i] });
88
- }
89
- }
90
- // =================================== worker and related methods ==============================================
91
- worker(task, cb) {
92
- const message = task.data;
93
- try {
94
- switch (task.kind) {
95
- case 'broker_message_out': {
96
- this.send_to_broker(message);
97
- break;
98
- }
99
- case 'broker_message_in': {
100
- this.queue.push({ kind: 'adapt_message_out', data: message });
101
- break;
102
- }
103
- case 'adapt_message_in': {
104
- this.queue.push({ kind: 'broker_message_out', data: message });
105
- break;
106
- }
107
- case 'adapt_message_out': {
108
- this.adapt_wrapper?.receive_from_broker(message);
109
- break;
110
- }
111
- }
112
- }
113
- catch (e) {
114
- logging.error(e instanceof Error ? e.message : e);
115
- }
116
- finally {
117
- cb();
118
- }
119
- }
120
- }
121
- //# sourceMappingURL=broker_client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker_client.js","sourceRoot":"","sources":["../../../src/utilities/broker/broker_client.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { AdaptNetworkComponentConfigurator } from '../common/index.js';
2
- export declare class BrokerConfigurator extends AdaptNetworkComponentConfigurator {
3
- protected configurator_name: string;
4
- constructor();
5
- get db_path(): string | undefined;
6
- }
7
- //# sourceMappingURL=broker_configurator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker_configurator.d.ts","sourceRoot":"","sources":["../../../src/utilities/broker/broker_configurator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iCAAiC,EAAU,MAAM,oBAAoB,CAAA;AAEvF,qBAAa,kBAAmB,SAAQ,iCAAiC;IACrE,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAyB;;IAW5D,IAAW,OAAO,IAAI,MAAM,GAAG,SAAS,CAEvC;CACJ"}
@@ -1,16 +0,0 @@
1
- import { Argument, AdaptNetworkComponentConfigurator } from '../common/index.js';
2
- export class BrokerConfigurator extends AdaptNetworkComponentConfigurator {
3
- configurator_name = "broker configurator";
4
- constructor() {
5
- super([
6
- new Argument('--db_path')
7
- .set_description("path to the SQLite database file for persistent pending messages")
8
- .set_supply_argument(true)
9
- .set_parameter_description('<path>'),
10
- ], { port: true, host: true, test_mode: true, logger_config: true });
11
- }
12
- get db_path() {
13
- return this.get_argument('--db_path')?.value;
14
- }
15
- }
16
- //# sourceMappingURL=broker_configurator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker_configurator.js","sourceRoot":"","sources":["../../../src/utilities/broker/broker_configurator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,iCAAiC,EAAU,MAAM,oBAAoB,CAAA;AAEvF,MAAM,OAAO,kBAAmB,SAAQ,iCAAiC;IAC3D,iBAAiB,GAAW,qBAAqB,CAAC;IAE5D;QACI,KAAK,CAAC;YACF,IAAI,QAAQ,CAAS,WAAW,CAAC;iBAC5B,eAAe,CAAC,kEAAkE,CAAC;iBACnF,mBAAmB,CAAC,IAAI,CAAC;iBACzB,yBAAyB,CAAC,QAAQ,CAAC;SAC3C,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,KAA2B,CAAA;IACtE,CAAC;CACJ"}
@@ -1,5 +0,0 @@
1
- export * from './broker_client.js';
2
- export * from './broker_configurator.js';
3
- export * from './broker.js';
4
- export * from './pending_message_store.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/broker/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,4BAA4B,CAAA"}
@@ -1,5 +0,0 @@
1
- export * from './broker_client.js';
2
- export * from './broker_configurator.js';
3
- export * from './broker.js';
4
- export * from './pending_message_store.js';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/broker/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,4BAA4B,CAAA"}
@@ -1,14 +0,0 @@
1
- import { AdaptValue } from '@adapt-toolkit/sdk/backend';
2
- export declare class PendingMessageStore {
3
- #private;
4
- constructor(db_path: string);
5
- add(cid: string, message: AdaptValue): void;
6
- peek(cid: string): {
7
- id: number;
8
- value: AdaptValue;
9
- }[];
10
- remove(id: number): void;
11
- has(cid: string): boolean;
12
- close(): void;
13
- }
14
- //# sourceMappingURL=pending_message_store.d.ts.map
@@ -1 +0,0 @@
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"}