@olane/o-node 0.7.12-alpha.42 → 0.7.12-alpha.44

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 (396) hide show
  1. package/dist/src/connection/o-node-connection.manager.d.ts.map +1 -1
  2. package/dist/src/connection/o-node-connection.manager.js +1 -3
  3. package/package.json +6 -6
  4. package/dist/o-core/src/connection/index.d.ts +0 -8
  5. package/dist/o-core/src/connection/index.d.ts.map +0 -1
  6. package/dist/o-core/src/connection/index.js +0 -7
  7. package/dist/o-core/src/connection/interfaces/connection-manager.config.d.ts +0 -15
  8. package/dist/o-core/src/connection/interfaces/connection-manager.config.d.ts.map +0 -1
  9. package/dist/o-core/src/connection/interfaces/connection-manager.config.js +0 -1
  10. package/dist/o-core/src/connection/interfaces/connection-send-params.interface.d.ts +0 -9
  11. package/dist/o-core/src/connection/interfaces/connection-send-params.interface.d.ts.map +0 -1
  12. package/dist/o-core/src/connection/interfaces/connection-send-params.interface.js +0 -1
  13. package/dist/o-core/src/connection/interfaces/connection.config.d.ts +0 -20
  14. package/dist/o-core/src/connection/interfaces/connection.config.d.ts.map +0 -1
  15. package/dist/o-core/src/connection/interfaces/connection.config.js +0 -1
  16. package/dist/o-core/src/connection/interfaces/index.d.ts +0 -5
  17. package/dist/o-core/src/connection/interfaces/index.d.ts.map +0 -1
  18. package/dist/o-core/src/connection/interfaces/index.js +0 -4
  19. package/dist/o-core/src/connection/interfaces/request-state.enum.d.ts +0 -7
  20. package/dist/o-core/src/connection/interfaces/request-state.enum.d.ts.map +0 -1
  21. package/dist/o-core/src/connection/interfaces/request-state.enum.js +0 -7
  22. package/dist/o-core/src/connection/o-connection-manager.d.ts +0 -19
  23. package/dist/o-core/src/connection/o-connection-manager.d.ts.map +0 -1
  24. package/dist/o-core/src/connection/o-connection-manager.js +0 -27
  25. package/dist/o-core/src/connection/o-connection.d.ts +0 -26
  26. package/dist/o-core/src/connection/o-connection.d.ts.map +0 -1
  27. package/dist/o-core/src/connection/o-connection.js +0 -54
  28. package/dist/o-core/src/connection/o-request.d.ts +0 -23
  29. package/dist/o-core/src/connection/o-request.d.ts.map +0 -1
  30. package/dist/o-core/src/connection/o-request.js +0 -42
  31. package/dist/o-core/src/connection/o-response.d.ts +0 -13
  32. package/dist/o-core/src/connection/o-response.d.ts.map +0 -1
  33. package/dist/o-core/src/connection/o-response.js +0 -25
  34. package/dist/o-core/src/core/defaults/config.d.ts +0 -4
  35. package/dist/o-core/src/core/defaults/config.d.ts.map +0 -1
  36. package/dist/o-core/src/core/defaults/config.js +0 -5
  37. package/dist/o-core/src/core/defaults/index.d.ts +0 -2
  38. package/dist/o-core/src/core/defaults/index.d.ts.map +0 -1
  39. package/dist/o-core/src/core/defaults/index.js +0 -1
  40. package/dist/o-core/src/core/graceful-shutdown.d.ts +0 -25
  41. package/dist/o-core/src/core/graceful-shutdown.d.ts.map +0 -1
  42. package/dist/o-core/src/core/graceful-shutdown.js +0 -84
  43. package/dist/o-core/src/core/index.d.ts +0 -9
  44. package/dist/o-core/src/core/index.d.ts.map +0 -1
  45. package/dist/o-core/src/core/index.js +0 -8
  46. package/dist/o-core/src/core/interfaces/index.d.ts +0 -7
  47. package/dist/o-core/src/core/interfaces/index.d.ts.map +0 -1
  48. package/dist/o-core/src/core/interfaces/index.js +0 -6
  49. package/dist/o-core/src/core/interfaces/node-type.enum.d.ts +0 -10
  50. package/dist/o-core/src/core/interfaces/node-type.enum.d.ts.map +0 -1
  51. package/dist/o-core/src/core/interfaces/node-type.enum.js +0 -10
  52. package/dist/o-core/src/core/interfaces/o-core.config.d.ts +0 -23
  53. package/dist/o-core/src/core/interfaces/o-core.config.d.ts.map +0 -1
  54. package/dist/o-core/src/core/interfaces/o-core.config.js +0 -1
  55. package/dist/o-core/src/core/interfaces/o-core.interface.d.ts +0 -18
  56. package/dist/o-core/src/core/interfaces/o-core.interface.d.ts.map +0 -1
  57. package/dist/o-core/src/core/interfaces/o-core.interface.js +0 -1
  58. package/dist/o-core/src/core/interfaces/state.enum.d.ts +0 -8
  59. package/dist/o-core/src/core/interfaces/state.enum.d.ts.map +0 -1
  60. package/dist/o-core/src/core/interfaces/state.enum.js +0 -8
  61. package/dist/o-core/src/core/interfaces/use-options.interface.d.ts +0 -11
  62. package/dist/o-core/src/core/interfaces/use-options.interface.d.ts.map +0 -1
  63. package/dist/o-core/src/core/interfaces/use-options.interface.js +0 -1
  64. package/dist/o-core/src/core/interfaces/use-stream-options.interface.d.ts +0 -4
  65. package/dist/o-core/src/core/interfaces/use-stream-options.interface.d.ts.map +0 -1
  66. package/dist/o-core/src/core/interfaces/use-stream-options.interface.js +0 -1
  67. package/dist/o-core/src/core/lib/events/connection-events.d.ts +0 -31
  68. package/dist/o-core/src/core/lib/events/connection-events.d.ts.map +0 -1
  69. package/dist/o-core/src/core/lib/events/connection-events.js +0 -46
  70. package/dist/o-core/src/core/lib/events/hierarchy-events.d.ts +0 -69
  71. package/dist/o-core/src/core/lib/events/hierarchy-events.d.ts.map +0 -1
  72. package/dist/o-core/src/core/lib/events/hierarchy-events.js +0 -100
  73. package/dist/o-core/src/core/lib/events/index.d.ts +0 -6
  74. package/dist/o-core/src/core/lib/events/index.d.ts.map +0 -1
  75. package/dist/o-core/src/core/lib/events/index.js +0 -5
  76. package/dist/o-core/src/core/lib/events/node-events.d.ts +0 -40
  77. package/dist/o-core/src/core/lib/events/node-events.d.ts.map +0 -1
  78. package/dist/o-core/src/core/lib/events/node-events.js +0 -58
  79. package/dist/o-core/src/core/lib/events/o-notification-event.d.ts +0 -26
  80. package/dist/o-core/src/core/lib/events/o-notification-event.d.ts.map +0 -1
  81. package/dist/o-core/src/core/lib/events/o-notification-event.js +0 -30
  82. package/dist/o-core/src/core/lib/index.d.ts +0 -8
  83. package/dist/o-core/src/core/lib/index.d.ts.map +0 -1
  84. package/dist/o-core/src/core/lib/index.js +0 -7
  85. package/dist/o-core/src/core/lib/interfaces/notification-types.d.ts +0 -49
  86. package/dist/o-core/src/core/lib/interfaces/notification-types.d.ts.map +0 -1
  87. package/dist/o-core/src/core/lib/interfaces/notification-types.js +0 -1
  88. package/dist/o-core/src/core/lib/o-hierarchy.manager.d.ts +0 -24
  89. package/dist/o-core/src/core/lib/o-hierarchy.manager.d.ts.map +0 -1
  90. package/dist/o-core/src/core/lib/o-hierarchy.manager.js +0 -58
  91. package/dist/o-core/src/core/lib/o-metrics.d.ts +0 -5
  92. package/dist/o-core/src/core/lib/o-metrics.d.ts.map +0 -1
  93. package/dist/o-core/src/core/lib/o-metrics.js +0 -6
  94. package/dist/o-core/src/core/lib/o-notification.manager.d.ts +0 -58
  95. package/dist/o-core/src/core/lib/o-notification.manager.d.ts.map +0 -1
  96. package/dist/o-core/src/core/lib/o-notification.manager.js +0 -159
  97. package/dist/o-core/src/core/lib/o-request.manager.d.ts +0 -10
  98. package/dist/o-core/src/core/lib/o-request.manager.d.ts.map +0 -1
  99. package/dist/o-core/src/core/lib/o-request.manager.js +0 -18
  100. package/dist/o-core/src/core/lib/utils/event-filters.d.ts +0 -38
  101. package/dist/o-core/src/core/lib/utils/event-filters.d.ts.map +0 -1
  102. package/dist/o-core/src/core/lib/utils/event-filters.js +0 -159
  103. package/dist/o-core/src/core/o-core.d.ts +0 -240
  104. package/dist/o-core/src/core/o-core.d.ts.map +0 -1
  105. package/dist/o-core/src/core/o-core.js +0 -463
  106. package/dist/o-core/src/core/o-dependency.d.ts +0 -9
  107. package/dist/o-core/src/core/o-dependency.d.ts.map +0 -1
  108. package/dist/o-core/src/core/o-dependency.js +0 -15
  109. package/dist/o-core/src/core/o-object.d.ts +0 -7
  110. package/dist/o-core/src/core/o-object.d.ts.map +0 -1
  111. package/dist/o-core/src/core/o-object.js +0 -10
  112. package/dist/o-core/src/core/o-parameter.d.ts +0 -12
  113. package/dist/o-core/src/core/o-parameter.d.ts.map +0 -1
  114. package/dist/o-core/src/core/o-parameter.js +0 -21
  115. package/dist/o-core/src/error/enums/codes.error.d.ts +0 -20
  116. package/dist/o-core/src/error/enums/codes.error.d.ts.map +0 -1
  117. package/dist/o-core/src/error/enums/codes.error.js +0 -20
  118. package/dist/o-core/src/error/index.d.ts +0 -3
  119. package/dist/o-core/src/error/index.d.ts.map +0 -1
  120. package/dist/o-core/src/error/index.js +0 -2
  121. package/dist/o-core/src/error/interfaces/o-error.interface.d.ts +0 -6
  122. package/dist/o-core/src/error/interfaces/o-error.interface.d.ts.map +0 -1
  123. package/dist/o-core/src/error/interfaces/o-error.interface.js +0 -1
  124. package/dist/o-core/src/error/o-error.d.ts +0 -15
  125. package/dist/o-core/src/error/o-error.d.ts.map +0 -1
  126. package/dist/o-core/src/error/o-error.js +0 -27
  127. package/dist/o-core/src/index.d.ts +0 -8
  128. package/dist/o-core/src/index.d.ts.map +0 -1
  129. package/dist/o-core/src/index.js +0 -7
  130. package/dist/o-core/src/response/index.d.ts +0 -2
  131. package/dist/o-core/src/response/index.d.ts.map +0 -1
  132. package/dist/o-core/src/response/index.js +0 -1
  133. package/dist/o-core/src/response/response-builder.d.ts +0 -140
  134. package/dist/o-core/src/response/response-builder.d.ts.map +0 -1
  135. package/dist/o-core/src/response/response-builder.js +0 -190
  136. package/dist/o-core/src/router/enums/restricted-addresses.enum.d.ts +0 -8
  137. package/dist/o-core/src/router/enums/restricted-addresses.enum.d.ts.map +0 -1
  138. package/dist/o-core/src/router/enums/restricted-addresses.enum.js +0 -13
  139. package/dist/o-core/src/router/index.d.ts +0 -11
  140. package/dist/o-core/src/router/index.d.ts.map +0 -1
  141. package/dist/o-core/src/router/index.js +0 -10
  142. package/dist/o-core/src/router/interfaces/resolve.request.d.ts +0 -10
  143. package/dist/o-core/src/router/interfaces/resolve.request.d.ts.map +0 -1
  144. package/dist/o-core/src/router/interfaces/resolve.request.js +0 -1
  145. package/dist/o-core/src/router/interfaces/route.response.d.ts +0 -8
  146. package/dist/o-core/src/router/interfaces/route.response.d.ts.map +0 -1
  147. package/dist/o-core/src/router/interfaces/route.response.js +0 -1
  148. package/dist/o-core/src/router/o-address-resolver.d.ts +0 -14
  149. package/dist/o-core/src/router/o-address-resolver.d.ts.map +0 -1
  150. package/dist/o-core/src/router/o-address-resolver.js +0 -19
  151. package/dist/o-core/src/router/o-address.d.ts +0 -33
  152. package/dist/o-core/src/router/o-address.d.ts.map +0 -1
  153. package/dist/o-core/src/router/o-address.js +0 -114
  154. package/dist/o-core/src/router/o-request-preparation.d.ts +0 -37
  155. package/dist/o-core/src/router/o-request-preparation.d.ts.map +0 -1
  156. package/dist/o-core/src/router/o-request-preparation.js +0 -75
  157. package/dist/o-core/src/router/o-request.router.d.ts +0 -18
  158. package/dist/o-core/src/router/o-request.router.d.ts.map +0 -1
  159. package/dist/o-core/src/router/o-request.router.js +0 -12
  160. package/dist/o-core/src/router/o-resolver-chain.d.ts +0 -32
  161. package/dist/o-core/src/router/o-resolver-chain.d.ts.map +0 -1
  162. package/dist/o-core/src/router/o-resolver-chain.js +0 -62
  163. package/dist/o-core/src/router/o-router.d.ts +0 -19
  164. package/dist/o-core/src/router/o-router.d.ts.map +0 -1
  165. package/dist/o-core/src/router/o-router.js +0 -14
  166. package/dist/o-core/src/router/o-routing-policy.d.ts +0 -36
  167. package/dist/o-core/src/router/o-routing-policy.d.ts.map +0 -1
  168. package/dist/o-core/src/router/o-routing-policy.js +0 -19
  169. package/dist/o-core/src/streaming/index.d.ts +0 -11
  170. package/dist/o-core/src/streaming/index.d.ts.map +0 -1
  171. package/dist/o-core/src/streaming/index.js +0 -14
  172. package/dist/o-core/src/streaming/protocol-builder.d.ts +0 -62
  173. package/dist/o-core/src/streaming/protocol-builder.d.ts.map +0 -1
  174. package/dist/o-core/src/streaming/protocol-builder.js +0 -93
  175. package/dist/o-core/src/streaming/stream-config.d.ts +0 -36
  176. package/dist/o-core/src/streaming/stream-config.d.ts.map +0 -1
  177. package/dist/o-core/src/streaming/stream-config.js +0 -19
  178. package/dist/o-core/src/streaming/stream-handler.base.d.ts +0 -85
  179. package/dist/o-core/src/streaming/stream-handler.base.d.ts.map +0 -1
  180. package/dist/o-core/src/streaming/stream-handler.base.js +0 -112
  181. package/dist/o-core/src/streaming/stream-transport.interface.d.ts +0 -61
  182. package/dist/o-core/src/streaming/stream-transport.interface.d.ts.map +0 -1
  183. package/dist/o-core/src/streaming/stream-transport.interface.js +0 -10
  184. package/dist/o-core/src/transports/custom.transport.d.ts +0 -6
  185. package/dist/o-core/src/transports/custom.transport.d.ts.map +0 -1
  186. package/dist/o-core/src/transports/custom.transport.js +0 -10
  187. package/dist/o-core/src/transports/index.d.ts +0 -4
  188. package/dist/o-core/src/transports/index.d.ts.map +0 -1
  189. package/dist/o-core/src/transports/index.js +0 -3
  190. package/dist/o-core/src/transports/interfaces/transport-type.enum.d.ts +0 -5
  191. package/dist/o-core/src/transports/interfaces/transport-type.enum.d.ts.map +0 -1
  192. package/dist/o-core/src/transports/interfaces/transport-type.enum.js +0 -5
  193. package/dist/o-core/src/transports/o-transport.d.ts +0 -10
  194. package/dist/o-core/src/transports/o-transport.d.ts.map +0 -1
  195. package/dist/o-core/src/transports/o-transport.js +0 -16
  196. package/dist/o-core/src/utils/core.utils.d.ts +0 -34
  197. package/dist/o-core/src/utils/core.utils.d.ts.map +0 -1
  198. package/dist/o-core/src/utils/core.utils.js +0 -123
  199. package/dist/o-core/src/utils/index.d.ts +0 -6
  200. package/dist/o-core/src/utils/index.d.ts.map +0 -1
  201. package/dist/o-core/src/utils/index.js +0 -5
  202. package/dist/o-core/src/utils/logger.d.ts +0 -14
  203. package/dist/o-core/src/utils/logger.d.ts.map +0 -1
  204. package/dist/o-core/src/utils/logger.js +0 -31
  205. package/dist/o-core/src/utils/object.utils.d.ts +0 -5
  206. package/dist/o-core/src/utils/object.utils.d.ts.map +0 -1
  207. package/dist/o-core/src/utils/object.utils.js +0 -23
  208. package/dist/o-core/src/utils/regex.utils.d.ts +0 -4
  209. package/dist/o-core/src/utils/regex.utils.d.ts.map +0 -1
  210. package/dist/o-core/src/utils/regex.utils.js +0 -13
  211. package/dist/o-core/src/utils/remote.utils.d.ts +0 -4
  212. package/dist/o-core/src/utils/remote.utils.d.ts.map +0 -1
  213. package/dist/o-core/src/utils/remote.utils.js +0 -5
  214. package/dist/o-core/src/utils/streaming.utils.d.ts +0 -22
  215. package/dist/o-core/src/utils/streaming.utils.d.ts.map +0 -1
  216. package/dist/o-core/src/utils/streaming.utils.js +0 -45
  217. package/dist/o-node/src/connection/index.d.ts +0 -5
  218. package/dist/o-node/src/connection/index.d.ts.map +0 -1
  219. package/dist/o-node/src/connection/index.js +0 -4
  220. package/dist/o-node/src/connection/interfaces/o-node-connection-manager.config.d.ts +0 -6
  221. package/dist/o-node/src/connection/interfaces/o-node-connection-manager.config.d.ts.map +0 -1
  222. package/dist/o-node/src/connection/interfaces/o-node-connection-manager.config.js +0 -1
  223. package/dist/o-node/src/connection/interfaces/o-node-connection.config.d.ts +0 -6
  224. package/dist/o-node/src/connection/interfaces/o-node-connection.config.d.ts.map +0 -1
  225. package/dist/o-node/src/connection/interfaces/o-node-connection.config.js +0 -1
  226. package/dist/o-node/src/connection/o-node-connection.d.ts +0 -13
  227. package/dist/o-node/src/connection/o-node-connection.d.ts.map +0 -1
  228. package/dist/o-node/src/connection/o-node-connection.js +0 -93
  229. package/dist/o-node/src/connection/o-node-connection.manager.d.ts +0 -19
  230. package/dist/o-node/src/connection/o-node-connection.manager.d.ts.map +0 -1
  231. package/dist/o-node/src/connection/o-node-connection.manager.js +0 -65
  232. package/dist/o-node/src/connection/o-stream.request.d.ts +0 -11
  233. package/dist/o-node/src/connection/o-stream.request.d.ts.map +0 -1
  234. package/dist/o-node/src/connection/o-stream.request.js +0 -7
  235. package/dist/o-node/src/index.d.ts +0 -12
  236. package/dist/o-node/src/index.d.ts.map +0 -1
  237. package/dist/o-node/src/index.js +0 -11
  238. package/dist/o-node/src/interfaces/i-heartbeatable-node.d.ts +0 -49
  239. package/dist/o-node/src/interfaces/i-heartbeatable-node.d.ts.map +0 -1
  240. package/dist/o-node/src/interfaces/i-heartbeatable-node.js +0 -1
  241. package/dist/o-node/src/interfaces/i-reconnectable-node.d.ts +0 -46
  242. package/dist/o-node/src/interfaces/i-reconnectable-node.d.ts.map +0 -1
  243. package/dist/o-node/src/interfaces/i-reconnectable-node.js +0 -1
  244. package/dist/o-node/src/interfaces/o-node.config.d.ts +0 -49
  245. package/dist/o-node/src/interfaces/o-node.config.d.ts.map +0 -1
  246. package/dist/o-node/src/interfaces/o-node.config.js +0 -1
  247. package/dist/o-node/src/interfaces/o-node.tool-config.d.ts +0 -4
  248. package/dist/o-node/src/interfaces/o-node.tool-config.d.ts.map +0 -1
  249. package/dist/o-node/src/interfaces/o-node.tool-config.js +0 -1
  250. package/dist/o-node/src/lib/network-activity.lib.d.ts +0 -1
  251. package/dist/o-node/src/lib/network-activity.lib.d.ts.map +0 -1
  252. package/dist/o-node/src/lib/network-activity.lib.js +0 -34
  253. package/dist/o-node/src/managers/o-connection-heartbeat.manager.d.ts +0 -63
  254. package/dist/o-node/src/managers/o-connection-heartbeat.manager.d.ts.map +0 -1
  255. package/dist/o-node/src/managers/o-connection-heartbeat.manager.js +0 -227
  256. package/dist/o-node/src/managers/o-reconnection.manager.d.ts +0 -51
  257. package/dist/o-node/src/managers/o-reconnection.manager.d.ts.map +0 -1
  258. package/dist/o-node/src/managers/o-reconnection.manager.js +0 -266
  259. package/dist/o-node/src/nodes/client.node.d.ts +0 -7
  260. package/dist/o-node/src/nodes/client.node.d.ts.map +0 -1
  261. package/dist/o-node/src/nodes/client.node.js +0 -16
  262. package/dist/o-node/src/nodes/index.d.ts +0 -4
  263. package/dist/o-node/src/nodes/index.d.ts.map +0 -1
  264. package/dist/o-node/src/nodes/index.js +0 -3
  265. package/dist/o-node/src/nodes/server.node.d.ts +0 -7
  266. package/dist/o-node/src/nodes/server.node.d.ts.map +0 -1
  267. package/dist/o-node/src/nodes/server.node.js +0 -20
  268. package/dist/o-node/src/nodes/websocket.node.d.ts +0 -7
  269. package/dist/o-node/src/nodes/websocket.node.d.ts.map +0 -1
  270. package/dist/o-node/src/nodes/websocket.node.js +0 -18
  271. package/dist/o-node/src/o-node.d.ts +0 -72
  272. package/dist/o-node/src/o-node.d.ts.map +0 -1
  273. package/dist/o-node/src/o-node.hierarchy-manager.d.ts +0 -15
  274. package/dist/o-node/src/o-node.hierarchy-manager.d.ts.map +0 -1
  275. package/dist/o-node/src/o-node.hierarchy-manager.js +0 -15
  276. package/dist/o-node/src/o-node.js +0 -493
  277. package/dist/o-node/src/o-node.notification-manager.d.ts +0 -52
  278. package/dist/o-node/src/o-node.notification-manager.d.ts.map +0 -1
  279. package/dist/o-node/src/o-node.notification-manager.js +0 -188
  280. package/dist/o-node/src/o-node.tool.d.ts +0 -18
  281. package/dist/o-node/src/o-node.tool.d.ts.map +0 -1
  282. package/dist/o-node/src/o-node.tool.js +0 -83
  283. package/dist/o-node/src/router/index.d.ts +0 -6
  284. package/dist/o-node/src/router/index.d.ts.map +0 -1
  285. package/dist/o-node/src/router/index.js +0 -5
  286. package/dist/o-node/src/router/interfaces/o-node-router.config.d.ts +0 -3
  287. package/dist/o-node/src/router/interfaces/o-node-router.config.d.ts.map +0 -1
  288. package/dist/o-node/src/router/interfaces/o-node-router.config.js +0 -1
  289. package/dist/o-node/src/router/interfaces/o-node-router.response.d.ts +0 -8
  290. package/dist/o-node/src/router/interfaces/o-node-router.response.d.ts.map +0 -1
  291. package/dist/o-node/src/router/interfaces/o-node-router.response.js +0 -1
  292. package/dist/o-node/src/router/o-node.address.d.ts +0 -18
  293. package/dist/o-node/src/router/o-node.address.d.ts.map +0 -1
  294. package/dist/o-node/src/router/o-node.address.js +0 -29
  295. package/dist/o-node/src/router/o-node.router.d.ts +0 -46
  296. package/dist/o-node/src/router/o-node.router.d.ts.map +0 -1
  297. package/dist/o-node/src/router/o-node.router.js +0 -181
  298. package/dist/o-node/src/router/o-node.routing-policy.d.ts +0 -30
  299. package/dist/o-node/src/router/o-node.routing-policy.d.ts.map +0 -1
  300. package/dist/o-node/src/router/o-node.routing-policy.js +0 -57
  301. package/dist/o-node/src/router/o-node.transport.d.ts +0 -11
  302. package/dist/o-node/src/router/o-node.transport.d.ts.map +0 -1
  303. package/dist/o-node/src/router/o-node.transport.js +0 -18
  304. package/dist/o-node/src/router/resolvers/index.d.ts +0 -4
  305. package/dist/o-node/src/router/resolvers/index.d.ts.map +0 -1
  306. package/dist/o-node/src/router/resolvers/index.js +0 -3
  307. package/dist/o-node/src/router/resolvers/o-node.leader-resolver-fallback.d.ts +0 -8
  308. package/dist/o-node/src/router/resolvers/o-node.leader-resolver-fallback.d.ts.map +0 -1
  309. package/dist/o-node/src/router/resolvers/o-node.leader-resolver-fallback.js +0 -35
  310. package/dist/o-node/src/router/resolvers/o-node.resolver.d.ts +0 -11
  311. package/dist/o-node/src/router/resolvers/o-node.resolver.d.ts.map +0 -1
  312. package/dist/o-node/src/router/resolvers/o-node.resolver.js +0 -45
  313. package/dist/o-node/src/router/resolvers/o-node.search-resolver.d.ts +0 -170
  314. package/dist/o-node/src/router/resolvers/o-node.search-resolver.d.ts.map +0 -1
  315. package/dist/o-node/src/router/resolvers/o-node.search-resolver.js +0 -285
  316. package/dist/o-node/src/router/route.request.d.ts +0 -14
  317. package/dist/o-node/src/router/route.request.d.ts.map +0 -1
  318. package/dist/o-node/src/router/route.request.js +0 -1
  319. package/dist/o-node/src/streaming/index.d.ts +0 -10
  320. package/dist/o-node/src/streaming/index.d.ts.map +0 -1
  321. package/dist/o-node/src/streaming/index.js +0 -12
  322. package/dist/o-node/src/streaming/libp2p-stream-transport.d.ts +0 -50
  323. package/dist/o-node/src/streaming/libp2p-stream-transport.d.ts.map +0 -1
  324. package/dist/o-node/src/streaming/libp2p-stream-transport.js +0 -137
  325. package/dist/o-node/src/streaming/node-stream-handler.d.ts +0 -65
  326. package/dist/o-node/src/streaming/node-stream-handler.d.ts.map +0 -1
  327. package/dist/o-node/src/streaming/node-stream-handler.js +0 -101
  328. package/dist/o-node/src/ui/index.d.ts +0 -3
  329. package/dist/o-node/src/ui/index.d.ts.map +0 -1
  330. package/dist/o-node/src/ui/index.js +0 -2
  331. package/dist/o-node/src/ui/types.d.ts +0 -110
  332. package/dist/o-node/src/ui/types.d.ts.map +0 -1
  333. package/dist/o-node/src/ui/types.js +0 -17
  334. package/dist/o-node/src/ui/ui-graph.manager.d.ts +0 -70
  335. package/dist/o-node/src/ui/ui-graph.manager.d.ts.map +0 -1
  336. package/dist/o-node/src/ui/ui-graph.manager.js +0 -274
  337. package/dist/o-node/src/utils/circuit-breaker.d.ts +0 -107
  338. package/dist/o-node/src/utils/circuit-breaker.d.ts.map +0 -1
  339. package/dist/o-node/src/utils/circuit-breaker.js +0 -175
  340. package/dist/o-node/src/utils/index.d.ts +0 -3
  341. package/dist/o-node/src/utils/index.d.ts.map +0 -1
  342. package/dist/o-node/src/utils/index.js +0 -2
  343. package/dist/o-node/src/utils/leader-request-wrapper.d.ts +0 -66
  344. package/dist/o-node/src/utils/leader-request-wrapper.d.ts.map +0 -1
  345. package/dist/o-node/src/utils/leader-request-wrapper.js +0 -160
  346. package/dist/o-node/src/utils/network.utils.d.ts +0 -20
  347. package/dist/o-node/src/utils/network.utils.d.ts.map +0 -1
  348. package/dist/o-node/src/utils/network.utils.js +0 -74
  349. package/dist/o-node/src/utils/stream.utils.d.ts +0 -6
  350. package/dist/o-node/src/utils/stream.utils.d.ts.map +0 -1
  351. package/dist/o-node/src/utils/stream.utils.js +0 -31
  352. package/dist/o-node/test/circuit-breaker.test.d.ts +0 -2
  353. package/dist/o-node/test/circuit-breaker.test.d.ts.map +0 -1
  354. package/dist/o-node/test/circuit-breaker.test.js +0 -262
  355. package/dist/o-node/test/helpers/test-node.tool.d.ts +0 -15
  356. package/dist/o-node/test/helpers/test-node.tool.d.ts.map +0 -1
  357. package/dist/o-node/test/helpers/test-node.tool.js +0 -27
  358. package/dist/o-node/test/leader-request-wrapper.test.d.ts +0 -1
  359. package/dist/o-node/test/leader-request-wrapper.test.d.ts.map +0 -1
  360. package/dist/o-node/test/leader-request-wrapper.test.js +0 -246
  361. package/dist/o-node/test/o-node.spec.d.ts +0 -2
  362. package/dist/o-node/test/o-node.spec.d.ts.map +0 -1
  363. package/dist/o-node/test/o-node.spec.js +0 -20
  364. package/dist/o-node/test/search-resolver.spec.d.ts +0 -2
  365. package/dist/o-node/test/search-resolver.spec.d.ts.map +0 -1
  366. package/dist/o-node/test/search-resolver.spec.js +0 -693
  367. package/dist/src/streaming/index.d.ts +0 -10
  368. package/dist/src/streaming/index.d.ts.map +0 -1
  369. package/dist/src/streaming/index.js +0 -12
  370. package/dist/src/streaming/libp2p-stream-transport.d.ts +0 -50
  371. package/dist/src/streaming/libp2p-stream-transport.d.ts.map +0 -1
  372. package/dist/src/streaming/libp2p-stream-transport.js +0 -137
  373. package/dist/src/streaming/node-stream-handler.d.ts +0 -65
  374. package/dist/src/streaming/node-stream-handler.d.ts.map +0 -1
  375. package/dist/src/streaming/node-stream-handler.js +0 -101
  376. package/dist/src/streaming/o-node-streaming-client.d.ts +0 -33
  377. package/dist/src/streaming/o-node-streaming-client.d.ts.map +0 -1
  378. package/dist/src/streaming/o-node-streaming-client.js +0 -130
  379. package/dist/src/utils/circuit-breaker.d.ts +0 -107
  380. package/dist/src/utils/circuit-breaker.d.ts.map +0 -1
  381. package/dist/src/utils/circuit-breaker.js +0 -175
  382. package/dist/src/utils/circuit-breaker.test.d.ts +0 -2
  383. package/dist/src/utils/circuit-breaker.test.d.ts.map +0 -1
  384. package/dist/src/utils/circuit-breaker.test.js +0 -262
  385. package/dist/src/utils/leader-request-wrapper.d.ts +0 -66
  386. package/dist/src/utils/leader-request-wrapper.d.ts.map +0 -1
  387. package/dist/src/utils/leader-request-wrapper.js +0 -160
  388. package/dist/src/utils/leader-request-wrapper.test.d.ts +0 -1
  389. package/dist/src/utils/leader-request-wrapper.test.d.ts.map +0 -1
  390. package/dist/src/utils/leader-request-wrapper.test.js +0 -246
  391. package/dist/test/circuit-breaker.test.d.ts +0 -2
  392. package/dist/test/circuit-breaker.test.d.ts.map +0 -1
  393. package/dist/test/circuit-breaker.test.js +0 -262
  394. package/dist/test/leader-request-wrapper.test.d.ts +0 -1
  395. package/dist/test/leader-request-wrapper.test.d.ts.map +0 -1
  396. package/dist/test/leader-request-wrapper.test.js +0 -246
@@ -1,11 +0,0 @@
1
- export * from './o-node.js';
2
- export * from './utils/index.js';
3
- export * from './o-node.hierarchy-manager.js';
4
- export * from './interfaces/o-node.config.js';
5
- export * from './connection/index.js';
6
- export * from './o-node.tool.js';
7
- export * from './nodes/index.js';
8
- export * from './interfaces/o-node.tool-config.js';
9
- export * from './router/index.js';
10
- export * from './connection/o-stream.request.js';
11
- export * from './ui/index.js';
@@ -1,49 +0,0 @@
1
- import { oNotificationManager } from '@olane/o-core';
2
- import { Libp2p } from '@olane/o-config';
3
- import { oNodeAddress } from '../router/o-node.address.js';
4
- /**
5
- * Interface for nodes that support connection heartbeat monitoring.
6
- * This interface defines the contract that oConnectionHeartbeatManager needs
7
- * to access live hierarchy state without holding stale references.
8
- */
9
- export interface IHeartbeatableNode {
10
- /**
11
- * The node's current address
12
- */
13
- address: oNodeAddress;
14
- /**
15
- * The notification manager for emitting heartbeat events
16
- */
17
- notificationManager: oNotificationManager;
18
- /**
19
- * The underlying libp2p node for ping operations
20
- */
21
- p2pNode: Libp2p;
22
- /**
23
- * The current parent address (with live transport updates)
24
- * @returns Parent address or null if no parent
25
- */
26
- parent: oNodeAddress | null;
27
- /**
28
- * Get the current list of leader addresses
29
- * @returns Array of leader addresses (empty if this node is the leader)
30
- */
31
- getLeaders(): oNodeAddress[];
32
- /**
33
- * Get the current list of parent addresses
34
- * @returns Array of parent addresses
35
- */
36
- getParents(): oNodeAddress[];
37
- /**
38
- * Get the current list of child addresses
39
- * @returns Array of child addresses
40
- */
41
- getChildren(): oNodeAddress[];
42
- /**
43
- * Remove a child from the hierarchy
44
- * @param childAddress The address of the child to remove
45
- */
46
- removeChild(childAddress: oNodeAddress): void;
47
- use(param1: any, param2: any): Promise<any>;
48
- }
49
- //# sourceMappingURL=i-heartbeatable-node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i-heartbeatable-node.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/i-heartbeatable-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,mBAAmB,EAAE,oBAAoB,CAAC;IAE1C;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAE5B;;;OAGG;IACH,UAAU,IAAI,YAAY,EAAE,CAAC;IAE7B;;;OAGG;IACH,UAAU,IAAI,YAAY,EAAE,CAAC;IAE7B;;;OAGG;IACH,WAAW,IAAI,YAAY,EAAE,CAAC;IAE9B;;;OAGG;IACH,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAE9C,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC7C"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,46 +0,0 @@
1
- import { oAddress, NodeState, oNotificationManager } from '@olane/o-core';
2
- import { oNodeAddress } from '../router/o-node.address.js';
3
- import { oNodeConfig } from './o-node.config.js';
4
- /**
5
- * Interface for nodes that support reconnection management.
6
- * This interface defines the contract that oReconnectionManager needs
7
- * to perform reconnection operations without creating a circular dependency.
8
- */
9
- export interface IReconnectableNode {
10
- /**
11
- * The node's configuration
12
- */
13
- config: oNodeConfig;
14
- /**
15
- * The node's current address
16
- */
17
- address: oNodeAddress;
18
- /**
19
- * The node's current state
20
- */
21
- state: NodeState;
22
- /**
23
- * The notification manager for subscribing to events
24
- */
25
- notificationManager: oNotificationManager;
26
- /**
27
- * Register with the parent node
28
- */
29
- registerParent(): Promise<void>;
30
- /**
31
- * Register with the leader's global registry
32
- */
33
- register(): Promise<void>;
34
- useSelf(request?: any): Promise<any>;
35
- /**
36
- * Execute a method on another node
37
- */
38
- use(address: oAddress, data?: {
39
- method?: string;
40
- params?: {
41
- [key: string]: any;
42
- };
43
- id?: string;
44
- }): Promise<any>;
45
- }
46
- //# sourceMappingURL=i-reconnectable-node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i-reconnectable-node.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/i-reconnectable-node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,oBAAoB,EAErB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC;IAEpB;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,mBAAmB,EAAE,oBAAoB,CAAC;IAE1C;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAErC;;OAEG;IACH,GAAG,CACD,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QAChC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,GACA,OAAO,CAAC,GAAG,CAAC,CAAC;CACjB"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,49 +0,0 @@
1
- import { oCoreConfig } from '@olane/o-core';
2
- import { oNodeAddress } from '../router/o-node.address.js';
3
- export interface oNodeConfig extends oCoreConfig {
4
- leader: oNodeAddress | null;
5
- parent: oNodeAddress | null;
6
- /**
7
- * Connection heartbeat configuration (libp2p-native pings)
8
- * Detects dead connections via periodic pings using libp2p's ping service
9
- */
10
- connectionHeartbeat?: {
11
- enabled?: boolean;
12
- intervalMs?: number;
13
- timeoutMs?: number;
14
- failureThreshold?: number;
15
- checkChildren?: boolean;
16
- checkParent?: boolean;
17
- checkLeader?: boolean;
18
- };
19
- /**
20
- * Automatic reconnection configuration
21
- * Handles parent connection failures and attempts to reconnect
22
- */
23
- reconnection?: {
24
- enabled?: boolean;
25
- maxAttempts?: number;
26
- baseDelayMs?: number;
27
- maxDelayMs?: number;
28
- useLeaderFallback?: boolean;
29
- parentDiscoveryIntervalMs?: number;
30
- parentDiscoveryMaxDelayMs?: number;
31
- };
32
- /**
33
- * Connection timeout configuration
34
- * Controls timeouts for stream read and drain operations in connections
35
- */
36
- connectionTimeouts?: {
37
- /**
38
- * Timeout in milliseconds for reading response data from a stream
39
- * Default: 120000 (2 minutes)
40
- */
41
- readTimeoutMs?: number;
42
- /**
43
- * Timeout in milliseconds for waiting for stream buffer to drain when backpressure occurs
44
- * Default: 30000 (30 seconds)
45
- */
46
- drainTimeoutMs?: number;
47
- };
48
- }
49
- //# sourceMappingURL=o-node.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"o-node.config.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/o-node.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;IAEF;;;OAGG;IACH,YAAY,CAAC,EAAE;QACb,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;KACpC,CAAC;IAEF;;;OAGG;IACH,kBAAkB,CAAC,EAAE;QACnB;;;WAGG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB;;;WAGG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +0,0 @@
1
- import { oNodeConfig } from './o-node.config';
2
- export interface oNodeToolConfig extends Omit<oNodeConfig, 'address'> {
3
- }
4
- //# sourceMappingURL=o-node.tool-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"o-node.tool-config.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/o-node.tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;CAAG"}
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- //# sourceMappingURL=network-activity.lib.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network-activity.lib.d.ts","sourceRoot":"","sources":["../../../../src/lib/network-activity.lib.ts"],"names":[],"mappings":""}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- // import { Libp2p, Libp2pEvents, ServiceFactoryMap } from '@olane/o-config';
3
- // import { Logger } from '../../core/utils/logger.js';
4
- // export const NETWORK_ACTIVITY_EVENTS: NetworkActivityEvent[] = [
5
- // 'peer:connect',
6
- // 'peer:disconnect',
7
- // 'peer:update',
8
- // 'peer:discovery',
9
- // 'peer:reconnect-failure',
10
- // 'peer:identify',
11
- // 'transport:listening',
12
- // 'transport:close',
13
- // 'connection:prune',
14
- // 'connection:open',
15
- // 'connection:close',
16
- // 'certificate:provision',
17
- // 'certificate:renew',
18
- // ];
19
- // type NetworkActivityEvent = keyof Libp2pEvents<ServiceFactoryMap>;
20
- // export class NetworkActivity {
21
- // constructor(
22
- // private readonly logger: Logger,
23
- // private readonly p2pNode: Libp2p,
24
- // ) {
25
- // this.setup();
26
- // }
27
- // setup() {
28
- // for (const event of NETWORK_ACTIVITY_EVENTS) {
29
- // this.p2pNode.addEventListener(event, (evt: any) => {
30
- // this.logger.debug('Network activity: ', event, evt.detail);
31
- // });
32
- // }
33
- // }
34
- // }
@@ -1,63 +0,0 @@
1
- import { oObject } from '@olane/o-core';
2
- import { oNodeAddress } from '../router/o-node.address.js';
3
- import { IHeartbeatableNode } from '../interfaces/i-heartbeatable-node.js';
4
- export interface HeartbeatConfig {
5
- enabled: boolean;
6
- intervalMs: number;
7
- timeoutMs: number;
8
- failureThreshold: number;
9
- checkChildren: boolean;
10
- checkParent: boolean;
11
- checkLeader: boolean;
12
- }
13
- export interface ConnectionHealth {
14
- address: oNodeAddress;
15
- peerId: string;
16
- lastSuccessfulPing: number;
17
- consecutiveFailures: number;
18
- averageLatency: number;
19
- status: 'healthy' | 'degraded' | 'dead';
20
- }
21
- /**
22
- * Connection Heartbeat Manager
23
- *
24
- * Uses libp2p's native ping service to detect dead connections early.
25
- * Continuously pings parent and children to ensure they're alive.
26
- *
27
- * How it works:
28
- * - Every `intervalMs`, pings all tracked connections
29
- * - If ping fails, increments failure counter
30
- * - After `failureThreshold` failures, marks connection as dead
31
- * - Emits events for degraded/recovered/dead connections
32
- * - Automatically removes dead children from hierarchy
33
- * - Emits ParentDisconnectedEvent when parent dies (triggers reconnection)
34
- */
35
- export declare class oConnectionHeartbeatManager extends oObject {
36
- private node;
37
- private config;
38
- private heartbeatInterval?;
39
- private healthMap;
40
- private isRunning;
41
- constructor(node: IHeartbeatableNode, config: HeartbeatConfig);
42
- start(): Promise<void>;
43
- stop(): Promise<void>;
44
- private performHeartbeatCycle;
45
- private doPing;
46
- private pingTarget;
47
- private handleConnectionDead;
48
- private emitConnectionDegradedEvent;
49
- private emitConnectionRecoveredEvent;
50
- /**
51
- * Get current health status of all connections
52
- */
53
- getHealthStatus(): ConnectionHealth[];
54
- /**
55
- * Get health status for specific address
56
- */
57
- getConnectionHealth(address: oNodeAddress): ConnectionHealth | undefined;
58
- /**
59
- * Get current configuration
60
- */
61
- getConfig(): HeartbeatConfig;
62
- }
63
- //# sourceMappingURL=o-connection-heartbeat.manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"o-connection-heartbeat.manager.d.ts","sourceRoot":"","sources":["../../../../src/managers/o-connection-heartbeat.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAOR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;CACzC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,2BAA4B,SAAQ,OAAO;IAMpD,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM;IANhB,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,SAAS,CAAS;gBAGhB,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,eAAe;IAK3B,KAAK;IAqBL,IAAI;YAQI,qBAAqB;IAgDnC,OAAO,CAAC,MAAM;YAcA,UAAU;IAuFxB,OAAO,CAAC,oBAAoB;IAyD5B,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,4BAA4B;IAiBpC;;OAEG;IACH,eAAe,IAAI,gBAAgB,EAAE;IAIrC;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,gBAAgB,GAAG,SAAS;IAIxE;;OAEG;IACH,SAAS,IAAI,eAAe;CAG7B"}
@@ -1,227 +0,0 @@
1
- import { oObject, ChildLeftEvent, ParentDisconnectedEvent, LeaderDisconnectedEvent, ConnectionDegradedEvent, ConnectionRecoveredEvent, oAddress, } from '@olane/o-core';
2
- /**
3
- * Connection Heartbeat Manager
4
- *
5
- * Uses libp2p's native ping service to detect dead connections early.
6
- * Continuously pings parent and children to ensure they're alive.
7
- *
8
- * How it works:
9
- * - Every `intervalMs`, pings all tracked connections
10
- * - If ping fails, increments failure counter
11
- * - After `failureThreshold` failures, marks connection as dead
12
- * - Emits events for degraded/recovered/dead connections
13
- * - Automatically removes dead children from hierarchy
14
- * - Emits ParentDisconnectedEvent when parent dies (triggers reconnection)
15
- */
16
- export class oConnectionHeartbeatManager extends oObject {
17
- constructor(node, config) {
18
- super();
19
- this.node = node;
20
- this.config = config;
21
- this.healthMap = new Map();
22
- this.isRunning = false;
23
- }
24
- async start() {
25
- if (!this.config.enabled) {
26
- this.logger.debug('Connection heartbeat disabled');
27
- return;
28
- }
29
- this.logger.info(`Starting connection heartbeat: interval=${this.config.intervalMs}ms, ` +
30
- `timeout=${this.config.timeoutMs}ms, threshold=${this.config.failureThreshold}`);
31
- // Immediate first check
32
- await this.performHeartbeatCycle();
33
- // Schedule recurring checks
34
- this.heartbeatInterval = setInterval(() => this.performHeartbeatCycle(), this.config.intervalMs);
35
- }
36
- async stop() {
37
- if (this.heartbeatInterval) {
38
- clearInterval(this.heartbeatInterval);
39
- this.heartbeatInterval = undefined;
40
- }
41
- this.healthMap.clear();
42
- }
43
- async performHeartbeatCycle() {
44
- if (!this.isRunning) {
45
- return;
46
- }
47
- this.isRunning = true;
48
- const targets = [];
49
- // Check if this is a leader node (no leader in hierarchy = we are leader)
50
- const isLeaderNode = this.node.getLeaders().length === 0;
51
- // Collect leader (if enabled and we're not the leader)
52
- if (!isLeaderNode) {
53
- const leaders = this.node.getLeaders();
54
- for (const leader of leaders) {
55
- targets.push({ address: leader, role: 'leader' });
56
- }
57
- }
58
- // Collect parent
59
- if (this.config.checkParent && !isLeaderNode) {
60
- // Use this.node.parent getter to get the current parent address with transports
61
- // rather than getParents() which may have a stale reference
62
- const parent = this.node.parent;
63
- // make sure that we don't double ping the leader
64
- if (parent && parent?.toString() !== oAddress.leader().toString()) {
65
- targets.push({ address: parent, role: 'parent' });
66
- }
67
- }
68
- // Collect children
69
- if (this.config.checkChildren) {
70
- const children = this.node.getChildren();
71
- for (const child of children) {
72
- targets.push({ address: child, role: 'child' });
73
- }
74
- }
75
- // Ping all targets in parallel
76
- await Promise.allSettled(targets.map((target) => this.pingTarget(target.address, target.role)));
77
- this.isRunning = false;
78
- }
79
- doPing(address) {
80
- if (address.toString() === this.node.address.toString()) {
81
- return Promise.resolve();
82
- }
83
- const transport = address.libp2pTransports[0].toMultiaddr();
84
- if (transport.toString().indexOf('p2p-circuit') > -1) {
85
- return this.node.use(address, {
86
- method: 'ping',
87
- params: {},
88
- });
89
- }
90
- return this.node.p2pNode.services.ping.ping(transport);
91
- }
92
- async pingTarget(address, role) {
93
- if (!address.libp2pTransports.length) {
94
- this.logger.debug(`${role} has no transports, skipping ping`, address);
95
- return;
96
- }
97
- const key = address.toString();
98
- let health = this.healthMap.get(key);
99
- if (!health) {
100
- health = {
101
- address,
102
- peerId: 'unknown',
103
- lastSuccessfulPing: 0,
104
- consecutiveFailures: 0,
105
- averageLatency: 0,
106
- status: 'healthy',
107
- };
108
- this.healthMap.set(key, health);
109
- }
110
- try {
111
- // Use libp2p's native ping service
112
- const startTime = Date.now();
113
- // Create timeout promise
114
- const timeoutPromise = new Promise((_, reject) => {
115
- setTimeout(() => reject(new Error('Ping timeout')), this.config.timeoutMs);
116
- });
117
- // Race between ping and timeout
118
- // The ping service accepts PeerId as string or object
119
- await Promise.race([this.doPing(address), timeoutPromise]);
120
- const latency = Date.now() - startTime;
121
- // Success - update health
122
- health.lastSuccessfulPing = Date.now();
123
- health.consecutiveFailures = 0;
124
- health.averageLatency =
125
- health.averageLatency === 0
126
- ? latency
127
- : health.averageLatency * 0.7 + latency * 0.3; // Exponential moving average
128
- const previousStatus = health.status;
129
- health.status = 'healthy';
130
- // Emit recovery event if was degraded
131
- if (previousStatus === 'degraded') {
132
- this.logger.info(`Connection recovered: ${address} (latency: ${latency}ms)`);
133
- this.emitConnectionRecoveredEvent(address, role);
134
- }
135
- // this.logger.debug(`Ping successful: ${address} (${latency}ms)`);
136
- }
137
- catch (error) {
138
- health.consecutiveFailures++;
139
- this.logger.warn(`Ping failed: ${address} (failures: ${health.consecutiveFailures}/${this.config.failureThreshold})`, error);
140
- // Update status based on failure count
141
- if (health.consecutiveFailures >= this.config.failureThreshold) {
142
- this.handleConnectionDead(address, role, health);
143
- }
144
- else if (health.consecutiveFailures >=
145
- Math.ceil(this.config.failureThreshold / 2)) {
146
- health.status = 'degraded';
147
- this.emitConnectionDegradedEvent(address, role, health.consecutiveFailures);
148
- }
149
- }
150
- }
151
- handleConnectionDead(address, role, health) {
152
- health.status = 'dead';
153
- this.logger.error(`Connection dead after ${health.consecutiveFailures} failures: ${address} (role: ${role})`);
154
- // Remove from health tracking
155
- this.healthMap.delete(address.toString());
156
- // Emit events based on role
157
- if (role === 'child') {
158
- // Remove dead child from hierarchy
159
- this.node.removeChild(address);
160
- // Emit child left event
161
- this.node.notificationManager.emit(new ChildLeftEvent({
162
- source: this.node.address,
163
- childAddress: address,
164
- parentAddress: this.node.address,
165
- reason: `heartbeat_failed_${health.consecutiveFailures}_times`,
166
- }));
167
- this.logger.warn(`Removed dead child: ${address}`);
168
- }
169
- else if (role === 'parent') {
170
- // Emit parent disconnected event
171
- this.node.notificationManager.emit(new ParentDisconnectedEvent({
172
- source: this.node.address,
173
- parentAddress: address,
174
- reason: `heartbeat_failed_${health.consecutiveFailures}_times`,
175
- }));
176
- this.logger.error(`Parent connection dead: ${address}`);
177
- // Reconnection manager will handle this event
178
- }
179
- else if (role === 'leader') {
180
- // Emit leader disconnected event
181
- this.node.notificationManager.emit(new LeaderDisconnectedEvent({
182
- source: this.node.address,
183
- leaderAddress: address,
184
- reason: `heartbeat_failed_${health.consecutiveFailures}_times`,
185
- }));
186
- this.logger.error(`Leader connection dead: ${address}`);
187
- // Reconnection manager will handle this event
188
- }
189
- }
190
- emitConnectionDegradedEvent(address, role, failures) {
191
- // ConnectionDegradedEvent only supports parent/child, so we map leader to parent
192
- const eventRole = role === 'leader' ? 'parent' : role === 'child' ? 'child' : 'parent';
193
- this.node.notificationManager.emit(new ConnectionDegradedEvent({
194
- source: this.node.address,
195
- targetAddress: address,
196
- role: eventRole,
197
- consecutiveFailures: failures,
198
- }));
199
- }
200
- emitConnectionRecoveredEvent(address, role) {
201
- // ConnectionRecoveredEvent only supports parent/child, so we map leader to parent
202
- const eventRole = role === 'leader' ? 'parent' : role === 'child' ? 'child' : 'parent';
203
- this.node.notificationManager.emit(new ConnectionRecoveredEvent({
204
- source: this.node.address,
205
- targetAddress: address,
206
- role: eventRole,
207
- }));
208
- }
209
- /**
210
- * Get current health status of all connections
211
- */
212
- getHealthStatus() {
213
- return Array.from(this.healthMap.values());
214
- }
215
- /**
216
- * Get health status for specific address
217
- */
218
- getConnectionHealth(address) {
219
- return this.healthMap.get(address.toString());
220
- }
221
- /**
222
- * Get current configuration
223
- */
224
- getConfig() {
225
- return { ...this.config };
226
- }
227
- }
@@ -1,51 +0,0 @@
1
- import { oObject } from '@olane/o-core';
2
- import { IReconnectableNode } from '../interfaces/i-reconnectable-node.js';
3
- export interface ReconnectionConfig {
4
- enabled: boolean;
5
- maxAttempts: number;
6
- baseDelayMs: number;
7
- maxDelayMs: number;
8
- useLeaderFallback: boolean;
9
- parentDiscoveryIntervalMs: number;
10
- parentDiscoveryMaxDelayMs: number;
11
- }
12
- /**
13
- * Reconnection Manager
14
- *
15
- * Automatically attempts to reconnect to parent when connection is lost.
16
- *
17
- * Strategy:
18
- * 1. Listen for ParentDisconnectedEvent (from heartbeat or libp2p)
19
- * 2. Attempt direct reconnection with exponential backoff
20
- * 3. If direct reconnection fails, query leader for new parent
21
- * 4. Register with new parent and continue operation
22
- * 5. If all attempts fail, transition node to ERROR state
23
- */
24
- export declare class oReconnectionManager extends oObject {
25
- private node;
26
- private config;
27
- private reconnecting;
28
- constructor(node: IReconnectableNode, config: ReconnectionConfig);
29
- private setupEventListeners;
30
- handleNodeConnected(event: any): Promise<void>;
31
- private handleConnectionDegraded;
32
- private handleLeaderDisconnected;
33
- private handleParentDisconnected;
34
- attemptReconnection(): Promise<void>;
35
- private tryDirectParentReconnection;
36
- private tryLeaderFallback;
37
- /**
38
- * Wait for leader to become available and reconnect
39
- * Leader transports are static (configured), so we just need to detect when it's back
40
- */
41
- private waitForLeaderAndReconnect;
42
- /**
43
- * Wait for non-leader parent to appear in registry and reconnect
44
- */
45
- waitForParentAndReconnect(): Promise<void>;
46
- private handleReconnectionFailure;
47
- private calculateNodeLevel;
48
- private calculateBackoffDelay;
49
- private sleep;
50
- }
51
- //# sourceMappingURL=o-reconnection.manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"o-reconnection.manager.d.ts","sourceRoot":"","sources":["../../../../src/managers/o-reconnection.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EASR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAI3E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,oBAAqB,SAAQ,OAAO;IAI7C,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,YAAY,CAAS;gBAGnB,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,kBAAkB;IAMpC,OAAO,CAAC,mBAAmB;IAyBrB,mBAAmB,CAAC,KAAK,EAAE,GAAG;YAatB,wBAAwB;YAaxB,wBAAwB;YAexB,wBAAwB;IAehC,mBAAmB;YAgDX,2BAA2B;YAiB3B,iBAAiB;IAkB/B;;;OAGG;YACW,yBAAyB;IAiFvC;;OAEG;IACG,yBAAyB;IAkG/B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,KAAK;CAGd"}