@olane/o-node 0.7.12-alpha.41 → 0.7.12-alpha.43

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 -0
  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,493 +0,0 @@
1
- import { createNode, defaultLibp2pConfig, } from '@olane/o-config';
2
- import { v4 as uuidv4 } from 'uuid';
3
- import { oNodeRouter } from './router/o-node.router.js';
4
- import { oNodeHierarchyManager } from './o-node.hierarchy-manager.js';
5
- import { oNodeTransport } from './router/o-node.transport.js';
6
- import { CoreUtils, NodeState, NodeType, oAddress, RestrictedAddresses, } from '@olane/o-core';
7
- import { oNodeAddress } from './router/o-node.address.js';
8
- import { oNodeConnectionManager } from './connection/o-node-connection.manager.js';
9
- import { oNodeResolver } from './router/resolvers/o-node.resolver.js';
10
- import { oMethodResolver, oToolBase } from '@olane/o-tool';
11
- import { oLeaderResolverFallback } from './router/index.js';
12
- import { oNodeNotificationManager } from './o-node.notification-manager.js';
13
- import { oConnectionHeartbeatManager } from './managers/o-connection-heartbeat.manager.js';
14
- import { oReconnectionManager } from './managers/o-reconnection.manager.js';
15
- export class oNode extends oToolBase {
16
- constructor(config) {
17
- super(config);
18
- this.didRegister = false;
19
- this.config = config;
20
- }
21
- get leader() {
22
- return this.isLeader ? this.address : this.config?.leader || null;
23
- }
24
- get networkConfig() {
25
- return {
26
- ...defaultLibp2pConfig,
27
- ...(this.config.network || {}),
28
- };
29
- }
30
- get parentPeerId() {
31
- if (!this.parent || this.parent?.transports?.length === 0) {
32
- return null;
33
- }
34
- const transport = this.parent?.transports[0];
35
- const peerId = transport.toPeerId();
36
- return peerId;
37
- }
38
- configureTransports() {
39
- return [...(defaultLibp2pConfig.transports || [])];
40
- }
41
- async initializeRouter() {
42
- this.hierarchyManager = new oNodeHierarchyManager({
43
- leaders: this.config.leader ? [this.config.leader] : [],
44
- parents: this.config.parent ? [this.config.parent] : [],
45
- children: [],
46
- });
47
- this.router = new oNodeRouter();
48
- }
49
- createNotificationManager() {
50
- return new oNodeNotificationManager(this.p2pNode, this.hierarchyManager, this.address);
51
- }
52
- get staticAddress() {
53
- return this.config.address;
54
- }
55
- get parentTransports() {
56
- return this.config.parent?.transports || [];
57
- }
58
- get transports() {
59
- return this.p2pNode
60
- .getMultiaddrs()
61
- .map((multiaddr) => new oNodeTransport(multiaddr.toString()));
62
- }
63
- async unregister() {
64
- this.logger.debug('Unregistering node...');
65
- if (this.type === NodeType.LEADER) {
66
- this.logger.debug('Skipping unregistration, node is leader');
67
- return;
68
- }
69
- // Notify parent we're stopping (best-effort, 2s timeout)
70
- if (this.config.parent) {
71
- try {
72
- await Promise.race([
73
- this.use(this.config.parent, {
74
- method: 'notify',
75
- params: {
76
- eventType: 'node:stopping',
77
- eventData: {
78
- address: this.address.toString(),
79
- reason: 'graceful_shutdown',
80
- expectedDowntime: null,
81
- },
82
- source: this.address.toString(),
83
- },
84
- }),
85
- new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), 2000)),
86
- ]);
87
- this.logger.debug('Notified parent of shutdown');
88
- }
89
- catch (error) {
90
- this.logger.warn('Failed to notify parent (will be detected by heartbeat):', error instanceof Error ? error.message : error);
91
- }
92
- }
93
- if (!this.config.leader) {
94
- this.logger.debug('No leader found, skipping unregistration');
95
- return;
96
- }
97
- const address = new oNodeAddress(RestrictedAddresses.REGISTRY);
98
- // attempt to unregister from the network
99
- const params = {
100
- method: 'remove',
101
- params: {
102
- peerId: this.peerId.toString(),
103
- },
104
- };
105
- this.use(address, params).catch((error) => {
106
- this.logger.error('Failed to unregister from network:', error);
107
- });
108
- }
109
- async registerParent() {
110
- if (this.type === NodeType.LEADER) {
111
- this.logger.debug('Skipping parent registration, node is leader');
112
- return;
113
- }
114
- if (!this.parent?.libp2pTransports?.length) {
115
- this.logger.debug('Parent has no transports, waiting for reconnection & leader ack');
116
- if (this.parent?.toString() === oAddress.leader().toString()) {
117
- this.parent.setTransports(this.leader?.libp2pTransports || []);
118
- }
119
- else {
120
- this.logger.debug('Waiting for parent and reconnecting...');
121
- await this.reconnectionManager?.waitForParentAndReconnect();
122
- }
123
- }
124
- // if no parent transports, register with the parent to get them
125
- // TODO: should we remove the transports check to make this more consistent?
126
- if (this.config.parent) {
127
- this.logger.debug('Registering node with parent...', this.config.parent?.toString());
128
- await this.use(this.config.parent, {
129
- method: 'child_register',
130
- params: {
131
- address: this.address.toString(),
132
- transports: this.transports.map((t) => t.toString()),
133
- peerId: this.peerId.toString(),
134
- _token: this.config.joinToken,
135
- },
136
- });
137
- }
138
- }
139
- async registerLeader() {
140
- const address = oAddress.registry();
141
- const params = {
142
- method: 'commit',
143
- params: {
144
- peerId: this.peerId.toString(),
145
- address: this.address.toString(),
146
- protocols: this.p2pNode.getProtocols(),
147
- transports: this.transports,
148
- staticAddress: this.staticAddress.toString(),
149
- },
150
- };
151
- await this.use(address, params);
152
- }
153
- async register() {
154
- if (this.type === NodeType.LEADER) {
155
- this.logger.debug('Skipping registration, node is leader');
156
- return;
157
- }
158
- if (this.didRegister) {
159
- this.logger.debug('Node already registered, skipping registration');
160
- return;
161
- }
162
- this.didRegister = true;
163
- this.logger.debug('Registering node...');
164
- // register with the leader global registry
165
- if (!this.config.leader) {
166
- this.logger.warn('No leaders found, skipping registration');
167
- return;
168
- }
169
- else {
170
- this.logger.debug('Registering node with leader...');
171
- }
172
- await this.registerParent();
173
- await this.registerLeader();
174
- this.logger.debug('Registration successful');
175
- }
176
- extractMethod(address) {
177
- return address.protocol.split('/').pop() || '';
178
- }
179
- async start() {
180
- await super.start();
181
- // Start heartbeat after node is running
182
- if (this.connectionHeartbeatManager) {
183
- await this.connectionHeartbeatManager.start();
184
- }
185
- }
186
- async validateJoinRequest(request) {
187
- return true;
188
- }
189
- /**
190
- * Configure the libp2p node
191
- * @returns The libp2p config
192
- */
193
- async configure() {
194
- const params = {
195
- ...defaultLibp2pConfig,
196
- ...this.networkConfig,
197
- transports: this.configureTransports(),
198
- listeners: (this.config.network?.listeners ||
199
- defaultLibp2pConfig.listeners ||
200
- []).concat(`/memory/${uuidv4()}`), // ensure we allow for local in-memory communication
201
- };
202
- // if the seed is provided, use it to generate the private key
203
- if (this.config.seed) {
204
- this.logger.debug('Seed provided, generating private key...');
205
- const privateKey = await CoreUtils.generatePrivateKey(this.config.seed);
206
- params.privateKey = privateKey;
207
- }
208
- else {
209
- this.logger.debug('No seed provided, generating private key...');
210
- this.logger.debug('Without providing a seed, this node peer id will be destroyed after the node shuts down.');
211
- // TODO: add a link to documentation about how to setup a seed
212
- }
213
- // this is a child node of the network, so communication is heavily restricted
214
- if (this.parentTransports.length > 0) {
215
- // peer discovery is only allowed through the parent transports
216
- const transports = this.parentTransports.map((t) => t.toMultiaddr().toString()) || [];
217
- // this.logger.debug('Parent transports: ', transports);
218
- // this.logger.debug(
219
- // 'Bootstrap transports: ',
220
- // transports.concat(
221
- // this.leader?.libp2pTransports.map((t) => t.toString()) || [],
222
- // ),
223
- // );
224
- // params.peerDiscovery = [
225
- // bootstrap({
226
- // list: transports.concat(
227
- // this.leader?.libp2pTransports.map((t) => t.toString()) || [],
228
- // ),
229
- // }),
230
- // ...(defaultLibp2pConfig.peerDiscovery || []),
231
- // ];
232
- // // let's make sure we only allow communication through the parent transports
233
- params.connectionGater = {
234
- denyDialPeer: (peerId) => {
235
- // we can call the leader
236
- if (this.config.leader?.libp2pTransports.some((t) => t.toPeerId() === peerId.toString())) {
237
- return false;
238
- }
239
- // we can call our parent
240
- if (this.parentPeerId === peerId.toString()) {
241
- return false;
242
- }
243
- // we can call our children
244
- if (this.hierarchyManager.children.some((c) => c.libp2pTransports.some((t) => t.toPeerId() === peerId.toString()))) {
245
- return false;
246
- }
247
- // check for standalone node
248
- if (!this.config.parent && !this.config.leader) {
249
- return false;
250
- }
251
- return true;
252
- },
253
- // who can call us?
254
- denyInboundEncryptedConnection: (peerId, maConn) => {
255
- // deny all inbound connections unless they are from a parent transport
256
- if (this.parentPeerId === peerId.toString()) {
257
- return false;
258
- }
259
- // allow connections from children (for ping)
260
- if (this.hierarchyManager.children.some((c) => c.libp2pTransports.some((t) => t.toPeerId() === peerId.toString()))) {
261
- return false;
262
- }
263
- // allow leader inbounds
264
- if (this.config.type === NodeType.LEADER) {
265
- return false;
266
- }
267
- // deny everything else
268
- return true;
269
- },
270
- // allow the user to override the default connection gater
271
- ...(this.config.network?.connectionGater || {}),
272
- };
273
- }
274
- // handle the address encapsulation
275
- if (this.config.leader &&
276
- !this.address.protocol.includes(this.config.leader.protocol)) {
277
- const parentAddress = this.config.parent || this.config.leader;
278
- this.address = CoreUtils.childAddress(parentAddress, this.address);
279
- }
280
- return params;
281
- }
282
- async createNode() {
283
- const params = await this.configure();
284
- this.p2pNode = await createNode(params);
285
- return this.p2pNode;
286
- }
287
- async connect(config) {
288
- if (!this.connectionManager) {
289
- this.logger.error('Connection manager not initialized');
290
- throw new Error('Node is not ready to connect to other nodes');
291
- }
292
- const connection = await this.connectionManager
293
- .connect(config)
294
- .catch((error) => {
295
- // TODO: we need to handle this better and document
296
- if (error.message === 'Can not dial self') {
297
- this.logger.error('Make sure you are entering the network not directly through the leader node.');
298
- }
299
- throw error;
300
- });
301
- if (!connection) {
302
- throw new Error('Connection failed');
303
- }
304
- return connection;
305
- }
306
- async initConnectionManager() {
307
- this.connectionManager = new oNodeConnectionManager({
308
- p2pNode: this.p2pNode,
309
- defaultReadTimeoutMs: this.config.connectionTimeouts?.readTimeoutMs,
310
- defaultDrainTimeoutMs: this.config.connectionTimeouts?.drainTimeoutMs,
311
- });
312
- }
313
- async initReconnectionManager() {
314
- // Initialize reconnection manager
315
- if (this.config.reconnection?.enabled !== false) {
316
- this.reconnectionManager = new oReconnectionManager(this, {
317
- enabled: true,
318
- maxAttempts: this.config.reconnection?.maxAttempts ?? 10,
319
- baseDelayMs: this.config.reconnection?.baseDelayMs ?? 5000,
320
- maxDelayMs: this.config.reconnection?.maxDelayMs ?? 60000,
321
- useLeaderFallback: this.config.reconnection?.useLeaderFallback ?? true,
322
- parentDiscoveryIntervalMs: this.config.reconnection?.parentDiscoveryIntervalMs ?? 10000,
323
- parentDiscoveryMaxDelayMs: this.config.reconnection?.parentDiscoveryMaxDelayMs ?? 60000,
324
- });
325
- }
326
- }
327
- async hookInitializeFinished() { }
328
- async hookStartFinished() {
329
- // Initialize connection heartbeat manager
330
- this.connectionHeartbeatManager = new oConnectionHeartbeatManager(this, {
331
- enabled: this.config.connectionHeartbeat?.enabled ?? true,
332
- intervalMs: this.config.connectionHeartbeat?.intervalMs ?? 15000,
333
- timeoutMs: this.config.connectionHeartbeat?.timeoutMs ?? 15000,
334
- failureThreshold: this.config.connectionHeartbeat?.failureThreshold ?? 3,
335
- checkChildren: this.config.connectionHeartbeat?.checkChildren ?? false,
336
- checkParent: this.config.connectionHeartbeat?.checkParent ?? true,
337
- checkLeader: true,
338
- });
339
- this.logger.info(`Connection heartbeat config: leader=${this.connectionHeartbeatManager.getConfig().checkLeader}, ` +
340
- `parent=${this.connectionHeartbeatManager.getConfig().checkParent}`);
341
- }
342
- async initialize() {
343
- this.logger.debug('Initializing node...');
344
- if (this.p2pNode && this.state !== NodeState.STOPPED) {
345
- throw new Error('Node is not in a valid state to be initialized');
346
- }
347
- if (!this.address.validate()) {
348
- throw new Error('Invalid address');
349
- }
350
- await this.createNode();
351
- await this.initializeRouter();
352
- // need to wait until our libpp2 node is initialized before calling super.initialize
353
- await super.initialize();
354
- this.logger.debug('Node initialized!', this.transports.map((t) => t.toString()));
355
- this.address.setTransports(this.transports);
356
- this.peerId = this.p2pNode.peerId;
357
- // initialize connection manager
358
- await this.initConnectionManager();
359
- // initialize address resolution
360
- this.router.addResolver(new oMethodResolver(this.address));
361
- this.router.addResolver(new oNodeResolver(this.address));
362
- // setup a fallback resolver for non-leader nodes
363
- if (this.isLeader === false) {
364
- this.logger.debug('Adding leader resolver fallback...');
365
- this.router.addResolver(new oLeaderResolverFallback(this.address));
366
- }
367
- // initialize reconnection manager
368
- await this.initReconnectionManager();
369
- await this.hookInitializeFinished();
370
- }
371
- /**
372
- * Override use() to wrap leader/registry requests with retry logic
373
- */
374
- // async use(
375
- // address: oAddress,
376
- // data?: {
377
- // method?: string;
378
- // params?: { [key: string]: any };
379
- // id?: string;
380
- // },
381
- // options?: UseOptions,
382
- // ): Promise<any> {
383
- // // Wrap leader/registry requests with retry logic
384
- // return super.use(address, data, options),
385
- // address,
386
- // data?.method,
387
- // }
388
- async teardown() {
389
- // Stop heartbeat before parent teardown
390
- if (this.connectionHeartbeatManager) {
391
- await this.connectionHeartbeatManager.stop();
392
- }
393
- await this.unregister();
394
- await super.teardown();
395
- if (this.p2pNode) {
396
- await this.p2pNode.stop();
397
- }
398
- }
399
- // IHeartbeatableNode interface methods
400
- getLeaders() {
401
- return [this.leader];
402
- }
403
- getParents() {
404
- return this.hierarchyManager.getParents();
405
- }
406
- getChildren() {
407
- return this.hierarchyManager.getChildren();
408
- }
409
- removeChild(childAddress) {
410
- this.hierarchyManager.removeChild(childAddress);
411
- }
412
- /**
413
- * Get the total number of active streams across all connections
414
- * @returns Total count of active streams
415
- */
416
- getStreamCount() {
417
- if (!this.p2pNode) {
418
- return 0;
419
- }
420
- const connections = this.p2pNode.getConnections();
421
- return connections.reduce((count, conn) => {
422
- return count + (conn.streams?.length || 0);
423
- }, 0);
424
- }
425
- /**
426
- * Get libp2p metrics for this node
427
- * Tool method that can be called remotely by monitoring systems
428
- */
429
- async _tool_get_libp2p_metrics(request) {
430
- if (!this.p2pNode) {
431
- return {
432
- error: 'libp2p node not available',
433
- available: false,
434
- };
435
- }
436
- try {
437
- // Get basic connection stats
438
- const connections = this.p2pNode.getConnections();
439
- const peers = await this.p2pNode.peerStore.all();
440
- const inbound = connections.filter((c) => c.direction === 'inbound').length;
441
- const outbound = connections.filter((c) => c.direction === 'outbound').length;
442
- // Get DHT info if available
443
- const services = this.p2pNode.services;
444
- const dht = services?.dht;
445
- const routingTable = dht?.routingTable;
446
- const kBuckets = routingTable?.kb || null;
447
- let routingTableSize = 0;
448
- if (kBuckets) {
449
- // Handle both array and object-like structures
450
- if (Array.isArray(kBuckets)) {
451
- for (const bucket of kBuckets) {
452
- routingTableSize += bucket.peers?.length || 0;
453
- }
454
- }
455
- else if (typeof kBuckets === 'object') {
456
- // If it's an object, iterate over its values
457
- for (const bucket of Object.values(kBuckets)) {
458
- routingTableSize += bucket?.peers?.length || 0;
459
- }
460
- }
461
- }
462
- // Calculate total stream count across all connections
463
- const streamCount = connections.reduce((count, conn) => {
464
- return count + (conn.streams?.length || 0);
465
- }, 0);
466
- return {
467
- available: true,
468
- timestamp: Date.now(),
469
- nodeAddress: this.address.toString(),
470
- peerCount: peers.length,
471
- connectionCount: connections.length,
472
- inboundConnections: inbound,
473
- outboundConnections: outbound,
474
- streamCount,
475
- dhtEnabled: !!dht,
476
- dhtMode: dht?.clientMode ? 'client' : 'server',
477
- dhtRoutingTableSize: routingTableSize,
478
- protocols: Array.from(this.p2pNode.getProtocols()),
479
- selfPeerId: this.p2pNode.peerId.toString(),
480
- multiaddrs: this.p2pNode
481
- .getMultiaddrs()
482
- .map((ma) => ma.toString()),
483
- };
484
- }
485
- catch (error) {
486
- return {
487
- error: `Failed to collect libp2p metrics: ${error.message}`,
488
- available: false,
489
- nodeAddress: this.address.toString(),
490
- };
491
- }
492
- }
493
- }
@@ -1,52 +0,0 @@
1
- import { Libp2p } from '@olane/o-config';
2
- import { oNotificationManager } from '@olane/o-core';
3
- import { oNodeAddress } from './router/o-node.address.js';
4
- import { oNodeHierarchyManager } from './o-node.hierarchy-manager.js';
5
- /**
6
- * libp2p-specific implementation of oNotificationManager
7
- * Wraps libp2p events and enriches them with Olane context
8
- */
9
- export declare class oNodeNotificationManager extends oNotificationManager {
10
- private p2pNode;
11
- private hierarchyManager;
12
- private address;
13
- constructor(p2pNode: Libp2p, hierarchyManager: oNodeHierarchyManager, address: oNodeAddress);
14
- /**
15
- * Wire up libp2p event listeners
16
- */
17
- protected setupListeners(): void;
18
- /**
19
- * Handle peer connect event from libp2p
20
- */
21
- private handlePeerConnect;
22
- /**
23
- * Handle peer disconnect event from libp2p
24
- */
25
- private handlePeerDisconnect;
26
- /**
27
- * Handle peer discovery event from libp2p
28
- */
29
- private handlePeerDiscovery;
30
- /**
31
- * Handle connection open event from libp2p
32
- */
33
- private handleConnectionOpen;
34
- /**
35
- * Handle connection close event from libp2p
36
- */
37
- private handleConnectionClose;
38
- /**
39
- * Try to resolve a libp2p peer ID to an Olane address
40
- * Checks hierarchy manager for known peers
41
- */
42
- private peerIdToAddress;
43
- /**
44
- * Check if an address is a direct child
45
- */
46
- private isChild;
47
- /**
48
- * Check if an address is a parent
49
- */
50
- private isParent;
51
- }
52
- //# sourceMappingURL=o-node.notification-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"o-node.notification-manager.d.ts","sourceRoot":"","sources":["../../../src/o-node.notification-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EACL,oBAAoB,EAQrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,oBAAoB;IAE9D,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,OAAO;gBAFP,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,qBAAqB,EACvC,OAAO,EAAE,YAAY;IAK/B;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IAgChC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkDzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoD5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkCvB;;OAEG;IACH,OAAO,CAAC,OAAO;IAMf;;OAEG;IACH,OAAO,CAAC,QAAQ;CAKjB"}