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

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 (448) hide show
  1. package/dist/o-core/src/connection/index.d.ts +8 -0
  2. package/dist/o-core/src/connection/index.d.ts.map +1 -0
  3. package/dist/o-core/src/connection/index.js +7 -0
  4. package/dist/o-core/src/connection/interfaces/connection-manager.config.d.ts +15 -0
  5. package/dist/o-core/src/connection/interfaces/connection-manager.config.d.ts.map +1 -0
  6. package/dist/o-core/src/connection/interfaces/connection-manager.config.js +1 -0
  7. package/dist/o-core/src/connection/interfaces/connection-send-params.interface.d.ts +9 -0
  8. package/dist/o-core/src/connection/interfaces/connection-send-params.interface.d.ts.map +1 -0
  9. package/dist/o-core/src/connection/interfaces/connection-send-params.interface.js +1 -0
  10. package/dist/o-core/src/connection/interfaces/connection.config.d.ts +20 -0
  11. package/dist/o-core/src/connection/interfaces/connection.config.d.ts.map +1 -0
  12. package/dist/o-core/src/connection/interfaces/connection.config.js +1 -0
  13. package/dist/o-core/src/connection/interfaces/index.d.ts +5 -0
  14. package/dist/o-core/src/connection/interfaces/index.d.ts.map +1 -0
  15. package/dist/o-core/src/connection/interfaces/index.js +4 -0
  16. package/dist/o-core/src/connection/interfaces/request-state.enum.d.ts +7 -0
  17. package/dist/o-core/src/connection/interfaces/request-state.enum.d.ts.map +1 -0
  18. package/dist/o-core/src/connection/interfaces/request-state.enum.js +7 -0
  19. package/dist/o-core/src/connection/o-connection-manager.d.ts +19 -0
  20. package/dist/o-core/src/connection/o-connection-manager.d.ts.map +1 -0
  21. package/dist/o-core/src/connection/o-connection-manager.js +27 -0
  22. package/dist/o-core/src/connection/o-connection.d.ts +26 -0
  23. package/dist/o-core/src/connection/o-connection.d.ts.map +1 -0
  24. package/dist/o-core/src/connection/o-connection.js +54 -0
  25. package/dist/o-core/src/connection/o-request.d.ts +23 -0
  26. package/dist/o-core/src/connection/o-request.d.ts.map +1 -0
  27. package/dist/o-core/src/connection/o-request.js +42 -0
  28. package/dist/o-core/src/connection/o-response.d.ts +13 -0
  29. package/dist/o-core/src/connection/o-response.d.ts.map +1 -0
  30. package/dist/o-core/src/connection/o-response.js +25 -0
  31. package/dist/o-core/src/core/defaults/config.d.ts +4 -0
  32. package/dist/o-core/src/core/defaults/config.d.ts.map +1 -0
  33. package/dist/o-core/src/core/defaults/config.js +5 -0
  34. package/dist/o-core/src/core/defaults/index.d.ts +2 -0
  35. package/dist/o-core/src/core/defaults/index.d.ts.map +1 -0
  36. package/dist/o-core/src/core/defaults/index.js +1 -0
  37. package/dist/o-core/src/core/graceful-shutdown.d.ts +25 -0
  38. package/dist/o-core/src/core/graceful-shutdown.d.ts.map +1 -0
  39. package/dist/o-core/src/core/graceful-shutdown.js +84 -0
  40. package/dist/o-core/src/core/index.d.ts +9 -0
  41. package/dist/o-core/src/core/index.d.ts.map +1 -0
  42. package/dist/o-core/src/core/index.js +8 -0
  43. package/dist/o-core/src/core/interfaces/index.d.ts +7 -0
  44. package/dist/o-core/src/core/interfaces/index.d.ts.map +1 -0
  45. package/dist/o-core/src/core/interfaces/index.js +6 -0
  46. package/dist/o-core/src/core/interfaces/node-type.enum.d.ts +10 -0
  47. package/dist/o-core/src/core/interfaces/node-type.enum.d.ts.map +1 -0
  48. package/dist/o-core/src/core/interfaces/node-type.enum.js +10 -0
  49. package/dist/o-core/src/core/interfaces/o-core.config.d.ts +23 -0
  50. package/dist/o-core/src/core/interfaces/o-core.config.d.ts.map +1 -0
  51. package/dist/o-core/src/core/interfaces/o-core.config.js +1 -0
  52. package/dist/o-core/src/core/interfaces/o-core.interface.d.ts +18 -0
  53. package/dist/o-core/src/core/interfaces/o-core.interface.d.ts.map +1 -0
  54. package/dist/o-core/src/core/interfaces/o-core.interface.js +1 -0
  55. package/dist/o-core/src/core/interfaces/state.enum.d.ts +8 -0
  56. package/dist/o-core/src/core/interfaces/state.enum.d.ts.map +1 -0
  57. package/dist/o-core/src/core/interfaces/state.enum.js +8 -0
  58. package/dist/o-core/src/core/interfaces/use-options.interface.d.ts +11 -0
  59. package/dist/o-core/src/core/interfaces/use-options.interface.d.ts.map +1 -0
  60. package/dist/o-core/src/core/interfaces/use-options.interface.js +1 -0
  61. package/dist/o-core/src/core/interfaces/use-stream-options.interface.d.ts +4 -0
  62. package/dist/o-core/src/core/interfaces/use-stream-options.interface.d.ts.map +1 -0
  63. package/dist/o-core/src/core/interfaces/use-stream-options.interface.js +1 -0
  64. package/dist/o-core/src/core/lib/events/connection-events.d.ts +31 -0
  65. package/dist/o-core/src/core/lib/events/connection-events.d.ts.map +1 -0
  66. package/dist/o-core/src/core/lib/events/connection-events.js +46 -0
  67. package/dist/o-core/src/core/lib/events/hierarchy-events.d.ts +69 -0
  68. package/dist/o-core/src/core/lib/events/hierarchy-events.d.ts.map +1 -0
  69. package/dist/o-core/src/core/lib/events/hierarchy-events.js +100 -0
  70. package/dist/o-core/src/core/lib/events/index.d.ts +6 -0
  71. package/dist/o-core/src/core/lib/events/index.d.ts.map +1 -0
  72. package/dist/o-core/src/core/lib/events/index.js +5 -0
  73. package/dist/o-core/src/core/lib/events/node-events.d.ts +40 -0
  74. package/dist/o-core/src/core/lib/events/node-events.d.ts.map +1 -0
  75. package/dist/o-core/src/core/lib/events/node-events.js +58 -0
  76. package/dist/o-core/src/core/lib/events/o-notification-event.d.ts +26 -0
  77. package/dist/o-core/src/core/lib/events/o-notification-event.d.ts.map +1 -0
  78. package/dist/o-core/src/core/lib/events/o-notification-event.js +30 -0
  79. package/dist/o-core/src/core/lib/index.d.ts +8 -0
  80. package/dist/o-core/src/core/lib/index.d.ts.map +1 -0
  81. package/dist/o-core/src/core/lib/index.js +7 -0
  82. package/dist/o-core/src/core/lib/interfaces/notification-types.d.ts +49 -0
  83. package/dist/o-core/src/core/lib/interfaces/notification-types.d.ts.map +1 -0
  84. package/dist/o-core/src/core/lib/interfaces/notification-types.js +1 -0
  85. package/dist/o-core/src/core/lib/o-hierarchy.manager.d.ts +24 -0
  86. package/dist/o-core/src/core/lib/o-hierarchy.manager.d.ts.map +1 -0
  87. package/dist/o-core/src/core/lib/o-hierarchy.manager.js +58 -0
  88. package/dist/o-core/src/core/lib/o-metrics.d.ts +5 -0
  89. package/dist/o-core/src/core/lib/o-metrics.d.ts.map +1 -0
  90. package/dist/o-core/src/core/lib/o-metrics.js +6 -0
  91. package/dist/o-core/src/core/lib/o-notification.manager.d.ts +58 -0
  92. package/dist/o-core/src/core/lib/o-notification.manager.d.ts.map +1 -0
  93. package/dist/o-core/src/core/lib/o-notification.manager.js +159 -0
  94. package/dist/o-core/src/core/lib/o-request.manager.d.ts +10 -0
  95. package/dist/o-core/src/core/lib/o-request.manager.d.ts.map +1 -0
  96. package/dist/o-core/src/core/lib/o-request.manager.js +18 -0
  97. package/dist/o-core/src/core/lib/utils/event-filters.d.ts +38 -0
  98. package/dist/o-core/src/core/lib/utils/event-filters.d.ts.map +1 -0
  99. package/dist/o-core/src/core/lib/utils/event-filters.js +159 -0
  100. package/dist/o-core/src/core/o-core.d.ts +240 -0
  101. package/dist/o-core/src/core/o-core.d.ts.map +1 -0
  102. package/dist/o-core/src/core/o-core.js +463 -0
  103. package/dist/o-core/src/core/o-dependency.d.ts +9 -0
  104. package/dist/o-core/src/core/o-dependency.d.ts.map +1 -0
  105. package/dist/o-core/src/core/o-dependency.js +15 -0
  106. package/dist/o-core/src/core/o-object.d.ts +7 -0
  107. package/dist/o-core/src/core/o-object.d.ts.map +1 -0
  108. package/dist/o-core/src/core/o-object.js +10 -0
  109. package/dist/o-core/src/core/o-parameter.d.ts +12 -0
  110. package/dist/o-core/src/core/o-parameter.d.ts.map +1 -0
  111. package/dist/o-core/src/core/o-parameter.js +21 -0
  112. package/dist/o-core/src/error/enums/codes.error.d.ts +20 -0
  113. package/dist/o-core/src/error/enums/codes.error.d.ts.map +1 -0
  114. package/dist/o-core/src/error/enums/codes.error.js +20 -0
  115. package/dist/o-core/src/error/index.d.ts +3 -0
  116. package/dist/o-core/src/error/index.d.ts.map +1 -0
  117. package/dist/o-core/src/error/index.js +2 -0
  118. package/dist/o-core/src/error/interfaces/o-error.interface.d.ts +6 -0
  119. package/dist/o-core/src/error/interfaces/o-error.interface.d.ts.map +1 -0
  120. package/dist/o-core/src/error/interfaces/o-error.interface.js +1 -0
  121. package/dist/o-core/src/error/o-error.d.ts +15 -0
  122. package/dist/o-core/src/error/o-error.d.ts.map +1 -0
  123. package/dist/o-core/src/error/o-error.js +27 -0
  124. package/dist/o-core/src/index.d.ts +8 -0
  125. package/dist/o-core/src/index.d.ts.map +1 -0
  126. package/dist/o-core/src/index.js +7 -0
  127. package/dist/o-core/src/response/index.d.ts +2 -0
  128. package/dist/o-core/src/response/index.d.ts.map +1 -0
  129. package/dist/o-core/src/response/index.js +1 -0
  130. package/dist/o-core/src/response/response-builder.d.ts +140 -0
  131. package/dist/o-core/src/response/response-builder.d.ts.map +1 -0
  132. package/dist/o-core/src/response/response-builder.js +190 -0
  133. package/dist/o-core/src/router/enums/restricted-addresses.enum.d.ts +8 -0
  134. package/dist/o-core/src/router/enums/restricted-addresses.enum.d.ts.map +1 -0
  135. package/dist/o-core/src/router/enums/restricted-addresses.enum.js +13 -0
  136. package/dist/o-core/src/router/index.d.ts +11 -0
  137. package/dist/o-core/src/router/index.d.ts.map +1 -0
  138. package/dist/o-core/src/router/index.js +10 -0
  139. package/dist/o-core/src/router/interfaces/resolve.request.d.ts +10 -0
  140. package/dist/o-core/src/router/interfaces/resolve.request.d.ts.map +1 -0
  141. package/dist/o-core/src/router/interfaces/resolve.request.js +1 -0
  142. package/dist/o-core/src/router/interfaces/route.response.d.ts +8 -0
  143. package/dist/o-core/src/router/interfaces/route.response.d.ts.map +1 -0
  144. package/dist/o-core/src/router/interfaces/route.response.js +1 -0
  145. package/dist/o-core/src/router/o-address-resolver.d.ts +14 -0
  146. package/dist/o-core/src/router/o-address-resolver.d.ts.map +1 -0
  147. package/dist/o-core/src/router/o-address-resolver.js +19 -0
  148. package/dist/o-core/src/router/o-address.d.ts +33 -0
  149. package/dist/o-core/src/router/o-address.d.ts.map +1 -0
  150. package/dist/o-core/src/router/o-address.js +114 -0
  151. package/dist/o-core/src/router/o-request-preparation.d.ts +37 -0
  152. package/dist/o-core/src/router/o-request-preparation.d.ts.map +1 -0
  153. package/dist/o-core/src/router/o-request-preparation.js +75 -0
  154. package/dist/o-core/src/router/o-request.router.d.ts +18 -0
  155. package/dist/o-core/src/router/o-request.router.d.ts.map +1 -0
  156. package/dist/o-core/src/router/o-request.router.js +12 -0
  157. package/dist/o-core/src/router/o-resolver-chain.d.ts +32 -0
  158. package/dist/o-core/src/router/o-resolver-chain.d.ts.map +1 -0
  159. package/dist/o-core/src/router/o-resolver-chain.js +62 -0
  160. package/dist/o-core/src/router/o-router.d.ts +19 -0
  161. package/dist/o-core/src/router/o-router.d.ts.map +1 -0
  162. package/dist/o-core/src/router/o-router.js +14 -0
  163. package/dist/o-core/src/router/o-routing-policy.d.ts +36 -0
  164. package/dist/o-core/src/router/o-routing-policy.d.ts.map +1 -0
  165. package/dist/o-core/src/router/o-routing-policy.js +19 -0
  166. package/dist/o-core/src/streaming/index.d.ts +11 -0
  167. package/dist/o-core/src/streaming/index.d.ts.map +1 -0
  168. package/dist/o-core/src/streaming/index.js +14 -0
  169. package/dist/o-core/src/streaming/protocol-builder.d.ts +62 -0
  170. package/dist/o-core/src/streaming/protocol-builder.d.ts.map +1 -0
  171. package/dist/o-core/src/streaming/protocol-builder.js +93 -0
  172. package/dist/o-core/src/streaming/stream-config.d.ts +36 -0
  173. package/dist/o-core/src/streaming/stream-config.d.ts.map +1 -0
  174. package/dist/o-core/src/streaming/stream-config.js +19 -0
  175. package/dist/o-core/src/streaming/stream-handler.base.d.ts +85 -0
  176. package/dist/o-core/src/streaming/stream-handler.base.d.ts.map +1 -0
  177. package/dist/o-core/src/streaming/stream-handler.base.js +112 -0
  178. package/dist/o-core/src/streaming/stream-transport.interface.d.ts +61 -0
  179. package/dist/o-core/src/streaming/stream-transport.interface.d.ts.map +1 -0
  180. package/dist/o-core/src/streaming/stream-transport.interface.js +10 -0
  181. package/dist/o-core/src/transports/custom.transport.d.ts +6 -0
  182. package/dist/o-core/src/transports/custom.transport.d.ts.map +1 -0
  183. package/dist/o-core/src/transports/custom.transport.js +10 -0
  184. package/dist/o-core/src/transports/index.d.ts +4 -0
  185. package/dist/o-core/src/transports/index.d.ts.map +1 -0
  186. package/dist/o-core/src/transports/index.js +3 -0
  187. package/dist/o-core/src/transports/interfaces/transport-type.enum.d.ts +5 -0
  188. package/dist/o-core/src/transports/interfaces/transport-type.enum.d.ts.map +1 -0
  189. package/dist/o-core/src/transports/interfaces/transport-type.enum.js +5 -0
  190. package/dist/o-core/src/transports/o-transport.d.ts +10 -0
  191. package/dist/o-core/src/transports/o-transport.d.ts.map +1 -0
  192. package/dist/o-core/src/transports/o-transport.js +16 -0
  193. package/dist/o-core/src/utils/core.utils.d.ts +34 -0
  194. package/dist/o-core/src/utils/core.utils.d.ts.map +1 -0
  195. package/dist/o-core/src/utils/core.utils.js +123 -0
  196. package/dist/o-core/src/utils/index.d.ts +6 -0
  197. package/dist/o-core/src/utils/index.d.ts.map +1 -0
  198. package/dist/o-core/src/utils/index.js +5 -0
  199. package/dist/o-core/src/utils/logger.d.ts +14 -0
  200. package/dist/o-core/src/utils/logger.d.ts.map +1 -0
  201. package/dist/o-core/src/utils/logger.js +31 -0
  202. package/dist/o-core/src/utils/object.utils.d.ts +5 -0
  203. package/dist/o-core/src/utils/object.utils.d.ts.map +1 -0
  204. package/dist/o-core/src/utils/object.utils.js +23 -0
  205. package/dist/o-core/src/utils/regex.utils.d.ts +4 -0
  206. package/dist/o-core/src/utils/regex.utils.d.ts.map +1 -0
  207. package/dist/o-core/src/utils/regex.utils.js +13 -0
  208. package/dist/o-core/src/utils/remote.utils.d.ts +4 -0
  209. package/dist/o-core/src/utils/remote.utils.d.ts.map +1 -0
  210. package/dist/o-core/src/utils/remote.utils.js +5 -0
  211. package/dist/o-core/src/utils/streaming.utils.d.ts +22 -0
  212. package/dist/o-core/src/utils/streaming.utils.d.ts.map +1 -0
  213. package/dist/o-core/src/utils/streaming.utils.js +45 -0
  214. package/dist/o-node/src/connection/index.d.ts +5 -0
  215. package/dist/o-node/src/connection/index.d.ts.map +1 -0
  216. package/dist/o-node/src/connection/index.js +4 -0
  217. package/dist/o-node/src/connection/interfaces/o-node-connection-manager.config.d.ts +6 -0
  218. package/dist/o-node/src/connection/interfaces/o-node-connection-manager.config.d.ts.map +1 -0
  219. package/dist/o-node/src/connection/interfaces/o-node-connection-manager.config.js +1 -0
  220. package/dist/o-node/src/connection/interfaces/o-node-connection.config.d.ts +6 -0
  221. package/dist/o-node/src/connection/interfaces/o-node-connection.config.d.ts.map +1 -0
  222. package/dist/o-node/src/connection/interfaces/o-node-connection.config.js +1 -0
  223. package/dist/o-node/src/connection/o-node-connection.d.ts +13 -0
  224. package/dist/o-node/src/connection/o-node-connection.d.ts.map +1 -0
  225. package/dist/o-node/src/connection/o-node-connection.js +93 -0
  226. package/dist/o-node/src/connection/o-node-connection.manager.d.ts +19 -0
  227. package/dist/o-node/src/connection/o-node-connection.manager.d.ts.map +1 -0
  228. package/dist/o-node/src/connection/o-node-connection.manager.js +65 -0
  229. package/dist/o-node/src/connection/o-stream.request.d.ts +11 -0
  230. package/dist/o-node/src/connection/o-stream.request.d.ts.map +1 -0
  231. package/dist/o-node/src/connection/o-stream.request.js +7 -0
  232. package/dist/o-node/src/index.d.ts +12 -0
  233. package/dist/o-node/src/index.d.ts.map +1 -0
  234. package/dist/o-node/src/index.js +11 -0
  235. package/dist/o-node/src/interfaces/i-heartbeatable-node.d.ts +49 -0
  236. package/dist/o-node/src/interfaces/i-heartbeatable-node.d.ts.map +1 -0
  237. package/dist/o-node/src/interfaces/i-heartbeatable-node.js +1 -0
  238. package/dist/o-node/src/interfaces/i-reconnectable-node.d.ts +46 -0
  239. package/dist/o-node/src/interfaces/i-reconnectable-node.d.ts.map +1 -0
  240. package/dist/o-node/src/interfaces/i-reconnectable-node.js +1 -0
  241. package/dist/o-node/src/interfaces/o-node.config.d.ts +49 -0
  242. package/dist/o-node/src/interfaces/o-node.config.d.ts.map +1 -0
  243. package/dist/o-node/src/interfaces/o-node.config.js +1 -0
  244. package/dist/o-node/src/interfaces/o-node.tool-config.d.ts +4 -0
  245. package/dist/o-node/src/interfaces/o-node.tool-config.d.ts.map +1 -0
  246. package/dist/o-node/src/interfaces/o-node.tool-config.js +1 -0
  247. package/dist/o-node/src/lib/network-activity.lib.d.ts +1 -0
  248. package/dist/o-node/src/lib/network-activity.lib.d.ts.map +1 -0
  249. package/dist/o-node/src/lib/network-activity.lib.js +34 -0
  250. package/dist/o-node/src/managers/o-connection-heartbeat.manager.d.ts +63 -0
  251. package/dist/o-node/src/managers/o-connection-heartbeat.manager.d.ts.map +1 -0
  252. package/dist/o-node/src/managers/o-connection-heartbeat.manager.js +227 -0
  253. package/dist/o-node/src/managers/o-reconnection.manager.d.ts +51 -0
  254. package/dist/o-node/src/managers/o-reconnection.manager.d.ts.map +1 -0
  255. package/dist/o-node/src/managers/o-reconnection.manager.js +266 -0
  256. package/dist/o-node/src/nodes/client.node.d.ts +7 -0
  257. package/dist/o-node/src/nodes/client.node.d.ts.map +1 -0
  258. package/dist/o-node/src/nodes/client.node.js +16 -0
  259. package/dist/o-node/src/nodes/index.d.ts +4 -0
  260. package/dist/o-node/src/nodes/index.d.ts.map +1 -0
  261. package/dist/o-node/src/nodes/index.js +3 -0
  262. package/dist/o-node/src/nodes/server.node.d.ts +7 -0
  263. package/dist/o-node/src/nodes/server.node.d.ts.map +1 -0
  264. package/dist/o-node/src/nodes/server.node.js +20 -0
  265. package/dist/o-node/src/nodes/websocket.node.d.ts +7 -0
  266. package/dist/o-node/src/nodes/websocket.node.d.ts.map +1 -0
  267. package/dist/o-node/src/nodes/websocket.node.js +18 -0
  268. package/dist/o-node/src/o-node.d.ts +72 -0
  269. package/dist/o-node/src/o-node.d.ts.map +1 -0
  270. package/dist/o-node/src/o-node.hierarchy-manager.d.ts +15 -0
  271. package/dist/o-node/src/o-node.hierarchy-manager.d.ts.map +1 -0
  272. package/dist/o-node/src/o-node.hierarchy-manager.js +15 -0
  273. package/dist/o-node/src/o-node.js +493 -0
  274. package/dist/o-node/src/o-node.notification-manager.d.ts +52 -0
  275. package/dist/o-node/src/o-node.notification-manager.d.ts.map +1 -0
  276. package/dist/o-node/src/o-node.notification-manager.js +188 -0
  277. package/dist/o-node/src/o-node.tool.d.ts +18 -0
  278. package/dist/o-node/src/o-node.tool.d.ts.map +1 -0
  279. package/dist/o-node/src/o-node.tool.js +83 -0
  280. package/dist/o-node/src/router/index.d.ts +6 -0
  281. package/dist/o-node/src/router/index.d.ts.map +1 -0
  282. package/dist/o-node/src/router/index.js +5 -0
  283. package/dist/o-node/src/router/interfaces/o-node-router.config.d.ts +3 -0
  284. package/dist/o-node/src/router/interfaces/o-node-router.config.d.ts.map +1 -0
  285. package/dist/o-node/src/router/interfaces/o-node-router.config.js +1 -0
  286. package/dist/o-node/src/router/interfaces/o-node-router.response.d.ts +8 -0
  287. package/dist/o-node/src/router/interfaces/o-node-router.response.d.ts.map +1 -0
  288. package/dist/o-node/src/router/interfaces/o-node-router.response.js +1 -0
  289. package/dist/o-node/src/router/o-node.address.d.ts +18 -0
  290. package/dist/o-node/src/router/o-node.address.d.ts.map +1 -0
  291. package/dist/o-node/src/router/o-node.address.js +29 -0
  292. package/dist/o-node/src/router/o-node.router.d.ts +46 -0
  293. package/dist/o-node/src/router/o-node.router.d.ts.map +1 -0
  294. package/dist/o-node/src/router/o-node.router.js +181 -0
  295. package/dist/o-node/src/router/o-node.routing-policy.d.ts +30 -0
  296. package/dist/o-node/src/router/o-node.routing-policy.d.ts.map +1 -0
  297. package/dist/o-node/src/router/o-node.routing-policy.js +57 -0
  298. package/dist/o-node/src/router/o-node.transport.d.ts +11 -0
  299. package/dist/o-node/src/router/o-node.transport.d.ts.map +1 -0
  300. package/dist/o-node/src/router/o-node.transport.js +18 -0
  301. package/dist/o-node/src/router/resolvers/index.d.ts +4 -0
  302. package/dist/o-node/src/router/resolvers/index.d.ts.map +1 -0
  303. package/dist/o-node/src/router/resolvers/index.js +3 -0
  304. package/dist/o-node/src/router/resolvers/o-node.leader-resolver-fallback.d.ts +8 -0
  305. package/dist/o-node/src/router/resolvers/o-node.leader-resolver-fallback.d.ts.map +1 -0
  306. package/dist/o-node/src/router/resolvers/o-node.leader-resolver-fallback.js +35 -0
  307. package/dist/{src/router/resolvers/o-node.child-resolver.d.ts → o-node/src/router/resolvers/o-node.resolver.d.ts} +2 -2
  308. package/dist/o-node/src/router/resolvers/o-node.resolver.d.ts.map +1 -0
  309. package/dist/o-node/src/router/resolvers/o-node.resolver.js +45 -0
  310. package/dist/o-node/src/router/resolvers/o-node.search-resolver.d.ts +170 -0
  311. package/dist/o-node/src/router/resolvers/o-node.search-resolver.d.ts.map +1 -0
  312. package/dist/o-node/src/router/resolvers/o-node.search-resolver.js +285 -0
  313. package/dist/o-node/src/router/route.request.d.ts +14 -0
  314. package/dist/o-node/src/router/route.request.d.ts.map +1 -0
  315. package/dist/o-node/src/router/route.request.js +1 -0
  316. package/dist/o-node/src/streaming/index.d.ts +10 -0
  317. package/dist/o-node/src/streaming/index.d.ts.map +1 -0
  318. package/dist/o-node/src/streaming/index.js +12 -0
  319. package/dist/o-node/src/streaming/libp2p-stream-transport.d.ts +50 -0
  320. package/dist/o-node/src/streaming/libp2p-stream-transport.d.ts.map +1 -0
  321. package/dist/o-node/src/streaming/libp2p-stream-transport.js +137 -0
  322. package/dist/o-node/src/streaming/node-stream-handler.d.ts +65 -0
  323. package/dist/o-node/src/streaming/node-stream-handler.d.ts.map +1 -0
  324. package/dist/o-node/src/streaming/node-stream-handler.js +101 -0
  325. package/dist/o-node/src/ui/index.d.ts +3 -0
  326. package/dist/o-node/src/ui/index.d.ts.map +1 -0
  327. package/dist/o-node/src/ui/index.js +2 -0
  328. package/dist/o-node/src/ui/types.d.ts +110 -0
  329. package/dist/o-node/src/ui/types.d.ts.map +1 -0
  330. package/dist/o-node/src/ui/types.js +17 -0
  331. package/dist/o-node/src/ui/ui-graph.manager.d.ts +70 -0
  332. package/dist/o-node/src/ui/ui-graph.manager.d.ts.map +1 -0
  333. package/dist/o-node/src/ui/ui-graph.manager.js +274 -0
  334. package/dist/o-node/src/utils/circuit-breaker.d.ts +107 -0
  335. package/dist/o-node/src/utils/circuit-breaker.d.ts.map +1 -0
  336. package/dist/o-node/src/utils/circuit-breaker.js +175 -0
  337. package/dist/o-node/src/utils/index.d.ts +3 -0
  338. package/dist/o-node/src/utils/index.d.ts.map +1 -0
  339. package/dist/o-node/src/utils/index.js +2 -0
  340. package/dist/o-node/src/utils/leader-request-wrapper.d.ts +66 -0
  341. package/dist/o-node/src/utils/leader-request-wrapper.d.ts.map +1 -0
  342. package/dist/o-node/src/utils/leader-request-wrapper.js +160 -0
  343. package/dist/o-node/src/utils/network.utils.d.ts +20 -0
  344. package/dist/o-node/src/utils/network.utils.d.ts.map +1 -0
  345. package/dist/o-node/src/utils/network.utils.js +74 -0
  346. package/dist/o-node/src/utils/stream.utils.d.ts +6 -0
  347. package/dist/o-node/src/utils/stream.utils.d.ts.map +1 -0
  348. package/dist/o-node/src/utils/stream.utils.js +31 -0
  349. package/dist/o-node/test/circuit-breaker.test.d.ts +2 -0
  350. package/dist/o-node/test/circuit-breaker.test.d.ts.map +1 -0
  351. package/dist/o-node/test/circuit-breaker.test.js +262 -0
  352. package/dist/o-node/test/helpers/test-node.tool.d.ts +15 -0
  353. package/dist/o-node/test/helpers/test-node.tool.d.ts.map +1 -0
  354. package/dist/o-node/test/helpers/test-node.tool.js +27 -0
  355. package/dist/o-node/test/leader-request-wrapper.test.d.ts +1 -0
  356. package/dist/o-node/test/leader-request-wrapper.test.d.ts.map +1 -0
  357. package/dist/o-node/test/leader-request-wrapper.test.js +246 -0
  358. package/dist/o-node/test/o-node.spec.d.ts +2 -0
  359. package/dist/o-node/test/o-node.spec.d.ts.map +1 -0
  360. package/dist/o-node/test/o-node.spec.js +20 -0
  361. package/dist/o-node/test/search-resolver.spec.d.ts +2 -0
  362. package/dist/o-node/test/search-resolver.spec.d.ts.map +1 -0
  363. package/dist/o-node/test/search-resolver.spec.js +693 -0
  364. package/dist/src/connection/o-node-connection.d.ts +2 -2
  365. package/dist/src/connection/o-node-connection.d.ts.map +1 -1
  366. package/dist/src/connection/o-node-connection.js +54 -19
  367. package/dist/src/connection/o-node-connection.manager.d.ts +16 -4
  368. package/dist/src/connection/o-node-connection.manager.d.ts.map +1 -1
  369. package/dist/src/connection/o-node-connection.manager.js +73 -44
  370. package/dist/src/connection/o-stream.request.d.ts +11 -0
  371. package/dist/src/connection/o-stream.request.d.ts.map +1 -0
  372. package/dist/src/connection/o-stream.request.js +7 -0
  373. package/dist/src/index.d.ts +2 -1
  374. package/dist/src/index.d.ts.map +1 -1
  375. package/dist/src/index.js +2 -1
  376. package/dist/src/interfaces/i-heartbeatable-node.d.ts +49 -0
  377. package/dist/src/interfaces/i-heartbeatable-node.d.ts.map +1 -0
  378. package/dist/src/interfaces/i-heartbeatable-node.js +1 -0
  379. package/dist/src/interfaces/i-reconnectable-node.d.ts +46 -0
  380. package/dist/src/interfaces/i-reconnectable-node.d.ts.map +1 -0
  381. package/dist/src/interfaces/i-reconnectable-node.js +1 -0
  382. package/dist/src/interfaces/o-node.config.d.ts +42 -0
  383. package/dist/src/interfaces/o-node.config.d.ts.map +1 -1
  384. package/dist/src/managers/o-connection-heartbeat.manager.d.ts +63 -0
  385. package/dist/src/managers/o-connection-heartbeat.manager.d.ts.map +1 -0
  386. package/dist/src/managers/o-connection-heartbeat.manager.js +227 -0
  387. package/dist/src/managers/o-reconnection.manager.d.ts +51 -0
  388. package/dist/src/managers/o-reconnection.manager.d.ts.map +1 -0
  389. package/dist/src/managers/o-reconnection.manager.js +266 -0
  390. package/dist/src/o-node.d.ts +30 -2
  391. package/dist/src/o-node.d.ts.map +1 -1
  392. package/dist/src/o-node.js +244 -33
  393. package/dist/src/o-node.notification-manager.d.ts +52 -0
  394. package/dist/src/o-node.notification-manager.d.ts.map +1 -0
  395. package/dist/src/o-node.notification-manager.js +188 -0
  396. package/dist/src/o-node.tool.d.ts.map +1 -1
  397. package/dist/src/o-node.tool.js +33 -24
  398. package/dist/src/router/o-node.router.d.ts +1 -0
  399. package/dist/src/router/o-node.router.d.ts.map +1 -1
  400. package/dist/src/router/o-node.router.js +61 -5
  401. package/dist/src/router/o-node.routing-policy.d.ts.map +1 -1
  402. package/dist/src/router/o-node.routing-policy.js +7 -2
  403. package/dist/src/router/resolvers/o-node.resolver.d.ts.map +1 -1
  404. package/dist/src/router/resolvers/o-node.resolver.js +5 -1
  405. package/dist/src/router/resolvers/o-node.search-resolver.d.ts.map +1 -1
  406. package/dist/src/router/resolvers/o-node.search-resolver.js +34 -9
  407. package/dist/src/streaming/index.d.ts +10 -0
  408. package/dist/src/streaming/index.d.ts.map +1 -0
  409. package/dist/src/streaming/index.js +12 -0
  410. package/dist/src/streaming/libp2p-stream-transport.d.ts +50 -0
  411. package/dist/src/streaming/libp2p-stream-transport.d.ts.map +1 -0
  412. package/dist/src/streaming/libp2p-stream-transport.js +137 -0
  413. package/dist/src/streaming/node-stream-handler.d.ts +65 -0
  414. package/dist/src/streaming/node-stream-handler.d.ts.map +1 -0
  415. package/dist/src/streaming/node-stream-handler.js +101 -0
  416. package/dist/src/streaming/o-node-streaming-client.d.ts +33 -0
  417. package/dist/src/streaming/o-node-streaming-client.d.ts.map +1 -0
  418. package/dist/src/streaming/o-node-streaming-client.js +130 -0
  419. package/dist/src/utils/circuit-breaker.d.ts +107 -0
  420. package/dist/src/utils/circuit-breaker.d.ts.map +1 -0
  421. package/dist/src/utils/circuit-breaker.js +175 -0
  422. package/dist/src/utils/circuit-breaker.test.d.ts +2 -0
  423. package/dist/src/utils/circuit-breaker.test.d.ts.map +1 -0
  424. package/dist/src/utils/circuit-breaker.test.js +262 -0
  425. package/dist/src/utils/index.d.ts +3 -0
  426. package/dist/src/utils/index.d.ts.map +1 -0
  427. package/dist/src/utils/index.js +2 -0
  428. package/dist/src/utils/leader-request-wrapper.d.ts +66 -0
  429. package/dist/src/utils/leader-request-wrapper.d.ts.map +1 -0
  430. package/dist/src/utils/leader-request-wrapper.js +160 -0
  431. package/dist/src/utils/leader-request-wrapper.test.d.ts +1 -0
  432. package/dist/src/utils/leader-request-wrapper.test.d.ts.map +1 -0
  433. package/dist/src/utils/leader-request-wrapper.test.js +246 -0
  434. package/dist/src/utils/stream.utils.d.ts +6 -0
  435. package/dist/src/utils/stream.utils.d.ts.map +1 -0
  436. package/dist/src/utils/stream.utils.js +31 -0
  437. package/dist/test/circuit-breaker.test.d.ts +2 -0
  438. package/dist/test/circuit-breaker.test.d.ts.map +1 -0
  439. package/dist/test/circuit-breaker.test.js +262 -0
  440. package/dist/test/helpers/test-node.tool.d.ts +15 -0
  441. package/dist/test/helpers/test-node.tool.d.ts.map +1 -0
  442. package/dist/test/helpers/test-node.tool.js +27 -0
  443. package/dist/test/leader-request-wrapper.test.d.ts +1 -0
  444. package/dist/test/leader-request-wrapper.test.d.ts.map +1 -0
  445. package/dist/test/leader-request-wrapper.test.js +246 -0
  446. package/package.json +6 -6
  447. package/dist/src/router/resolvers/o-node.child-resolver.d.ts.map +0 -1
  448. package/dist/src/router/resolvers/o-node.child-resolver.js +0 -58
@@ -0,0 +1,85 @@
1
+ import { oError } from '../error/o-error.js';
2
+ import { oRequest } from '@olane/o-protocol';
3
+ /**
4
+ * State machine states for streaming operations
5
+ */
6
+ export declare enum StreamHandlerState {
7
+ IDLE = "idle",
8
+ STREAMING = "streaming",
9
+ COMPLETED = "completed",
10
+ ERROR = "error"
11
+ }
12
+ /**
13
+ * Options for stream handler operations
14
+ */
15
+ export interface StreamHandlerOptions {
16
+ /**
17
+ * Enable metrics tracking
18
+ */
19
+ enableMetrics?: boolean;
20
+ }
21
+ /**
22
+ * Abstract base class for handling streaming operations.
23
+ * Provides transport-agnostic AsyncGenerator iteration, chunk sequencing,
24
+ * error handling, and state management.
25
+ *
26
+ * Implementations must provide the sendChunk method for transport-specific
27
+ * chunk transmission.
28
+ */
29
+ export declare abstract class StreamHandlerBase {
30
+ protected state: StreamHandlerState;
31
+ protected currentSequence: number;
32
+ protected options: StreamHandlerOptions;
33
+ constructor(options?: StreamHandlerOptions);
34
+ /**
35
+ * Get the current state of the stream handler
36
+ */
37
+ getState(): StreamHandlerState;
38
+ /**
39
+ * Get the current sequence number
40
+ */
41
+ getCurrentSequence(): number;
42
+ /**
43
+ * Abstract method that implementations must provide to send a chunk.
44
+ * This method should handle the actual transmission using the specific transport.
45
+ *
46
+ * @param chunk - The data chunk to send
47
+ * @param sequence - The sequence number of this chunk
48
+ * @param isLast - Whether this is the final chunk
49
+ * @param request - The original request
50
+ */
51
+ protected abstract sendChunk(chunk: unknown, sequence: number, isLast: boolean, request: oRequest): Promise<void>;
52
+ /**
53
+ * Optional hook called when streaming starts
54
+ */
55
+ protected onStreamStart?(request: oRequest): void;
56
+ /**
57
+ * Optional hook called when streaming completes successfully
58
+ */
59
+ protected onStreamComplete?(request: oRequest, totalChunks: number): void;
60
+ /**
61
+ * Optional hook called when streaming encounters an error
62
+ */
63
+ protected onStreamError?(request: oRequest, error: oError): void;
64
+ /**
65
+ * Handle streaming of an AsyncGenerator.
66
+ * Iterates through the generator, sends each chunk with proper sequencing,
67
+ * and handles errors appropriately.
68
+ *
69
+ * @param generator - The AsyncGenerator to stream
70
+ * @param request - The original request
71
+ * @returns Promise that resolves when streaming is complete
72
+ */
73
+ handleStream(generator: AsyncGenerator<any>, request: oRequest): Promise<void>;
74
+ /**
75
+ * Convert any error to an oError instance
76
+ * @param error - The error to convert
77
+ * @returns An oError instance
78
+ */
79
+ protected convertToOError(error: unknown): oError;
80
+ /**
81
+ * Reset the handler state for reuse
82
+ */
83
+ reset(): void;
84
+ }
85
+ //# sourceMappingURL=stream-handler.base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-handler.base.d.ts","sourceRoot":"","sources":["../../../../../o-core/src/streaming/stream-handler.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,8BAAsB,iBAAiB;IACrC,SAAS,CAAC,KAAK,EAAE,kBAAkB,CAA2B;IAC9D,SAAS,CAAC,eAAe,EAAE,MAAM,CAAK;IACtC,SAAS,CAAC,OAAO,EAAE,oBAAoB,CAAC;gBAE5B,OAAO,GAAE,oBAAyB;IAO9C;;OAEG;IACI,QAAQ,IAAI,kBAAkB;IAIrC;;OAEG;IACI,kBAAkB,IAAI,MAAM;IAInC;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAC1B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAEjD;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAEzE;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAEhE;;;;;;;;OAQG;IACU,YAAY,CACvB,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,EAC9B,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAqDhB;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAoBjD;;OAEG;IACI,KAAK,IAAI,IAAI;CAIrB"}
@@ -0,0 +1,112 @@
1
+ import { oError } from '../error/o-error.js';
2
+ import { oErrorCodes } from '../error/enums/codes.error.js';
3
+ /**
4
+ * State machine states for streaming operations
5
+ */
6
+ export var StreamHandlerState;
7
+ (function (StreamHandlerState) {
8
+ StreamHandlerState["IDLE"] = "idle";
9
+ StreamHandlerState["STREAMING"] = "streaming";
10
+ StreamHandlerState["COMPLETED"] = "completed";
11
+ StreamHandlerState["ERROR"] = "error";
12
+ })(StreamHandlerState || (StreamHandlerState = {}));
13
+ /**
14
+ * Abstract base class for handling streaming operations.
15
+ * Provides transport-agnostic AsyncGenerator iteration, chunk sequencing,
16
+ * error handling, and state management.
17
+ *
18
+ * Implementations must provide the sendChunk method for transport-specific
19
+ * chunk transmission.
20
+ */
21
+ export class StreamHandlerBase {
22
+ constructor(options = {}) {
23
+ this.state = StreamHandlerState.IDLE;
24
+ this.currentSequence = 0;
25
+ this.options = {
26
+ enableMetrics: true,
27
+ ...options,
28
+ };
29
+ }
30
+ /**
31
+ * Get the current state of the stream handler
32
+ */
33
+ getState() {
34
+ return this.state;
35
+ }
36
+ /**
37
+ * Get the current sequence number
38
+ */
39
+ getCurrentSequence() {
40
+ return this.currentSequence;
41
+ }
42
+ /**
43
+ * Handle streaming of an AsyncGenerator.
44
+ * Iterates through the generator, sends each chunk with proper sequencing,
45
+ * and handles errors appropriately.
46
+ *
47
+ * @param generator - The AsyncGenerator to stream
48
+ * @param request - The original request
49
+ * @returns Promise that resolves when streaming is complete
50
+ */
51
+ async handleStream(generator, request) {
52
+ this.state = StreamHandlerState.STREAMING;
53
+ this.currentSequence = 0;
54
+ // Call optional hook
55
+ if (this.onStreamStart) {
56
+ this.onStreamStart(request);
57
+ }
58
+ try {
59
+ // Iterate through the generator and send each chunk
60
+ for await (const chunk of generator) {
61
+ this.currentSequence++;
62
+ await this.sendChunk(chunk, this.currentSequence, false, request);
63
+ }
64
+ // Send final empty chunk to signal completion
65
+ await this.sendChunk(null, this.currentSequence, true, request);
66
+ this.state = StreamHandlerState.COMPLETED;
67
+ // Call optional hook
68
+ if (this.onStreamComplete) {
69
+ this.onStreamComplete(request, this.currentSequence);
70
+ }
71
+ }
72
+ catch (error) {
73
+ this.state = StreamHandlerState.ERROR;
74
+ // Convert error to oError if needed
75
+ const oErrorInstance = this.convertToOError(error);
76
+ // Call optional hook
77
+ if (this.onStreamError) {
78
+ this.onStreamError(request, oErrorInstance);
79
+ }
80
+ // Send error as final chunk
81
+ try {
82
+ await this.sendChunk(oErrorInstance.toJSON(), this.currentSequence, true, request);
83
+ }
84
+ catch (sendError) {
85
+ console.error('Failed to send error chunk:', sendError);
86
+ throw oErrorInstance;
87
+ }
88
+ throw oErrorInstance;
89
+ }
90
+ }
91
+ /**
92
+ * Convert any error to an oError instance
93
+ * @param error - The error to convert
94
+ * @returns An oError instance
95
+ */
96
+ convertToOError(error) {
97
+ if (error instanceof oError) {
98
+ return error;
99
+ }
100
+ if (error instanceof Error) {
101
+ return new oError(oErrorCodes.UNKNOWN, error.message, { stack: error.stack });
102
+ }
103
+ return new oError(oErrorCodes.UNKNOWN, String(error), { originalError: error });
104
+ }
105
+ /**
106
+ * Reset the handler state for reuse
107
+ */
108
+ reset() {
109
+ this.state = StreamHandlerState.IDLE;
110
+ this.currentSequence = 0;
111
+ }
112
+ }
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Stream status states
3
+ */
4
+ export declare enum StreamStatus {
5
+ OPEN = "open",
6
+ CLOSING = "closing",
7
+ CLOSED = "closed",
8
+ RESET = "reset"
9
+ }
10
+ /**
11
+ * Transport-agnostic interface for stream operations.
12
+ * Implementations can use libp2p, WebSockets, HTTP/2, or any other streaming transport.
13
+ */
14
+ export interface IStreamTransport {
15
+ /**
16
+ * Send data through the stream with backpressure handling
17
+ * @param data - The data to send (UTF-8 encoded bytes)
18
+ * @returns Promise that resolves when data is sent (handles backpressure internally)
19
+ */
20
+ send(data: Uint8Array): Promise<void>;
21
+ /**
22
+ * Set up a message handler for incoming data
23
+ * @param handler - Callback function to handle incoming messages
24
+ */
25
+ onMessage(handler: (data: Uint8Array) => void): void;
26
+ /**
27
+ * Remove the message handler
28
+ */
29
+ removeMessageHandler(): void;
30
+ /**
31
+ * Close the stream and clean up resources
32
+ * @returns Promise that resolves when stream is closed
33
+ */
34
+ close(): Promise<void>;
35
+ /**
36
+ * Get the current status of the stream
37
+ * @returns The current stream status
38
+ */
39
+ getStatus(): StreamStatus;
40
+ /**
41
+ * Check if the stream is in a usable state
42
+ * @returns true if stream can send/receive data
43
+ */
44
+ isOpen(): boolean;
45
+ }
46
+ /**
47
+ * Configuration options for stream transport operations
48
+ */
49
+ export interface StreamTransportConfig {
50
+ /**
51
+ * Timeout in milliseconds for drain operations when handling backpressure
52
+ * @default 30000 (30 seconds)
53
+ */
54
+ drainTimeoutMs?: number;
55
+ /**
56
+ * Maximum time in milliseconds to wait for the first message
57
+ * @default 120000 (2 minutes)
58
+ */
59
+ readTimeoutMs?: number;
60
+ }
61
+ //# sourceMappingURL=stream-transport.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-transport.interface.d.ts","sourceRoot":"","sources":["../../../../../o-core/src/streaming/stream-transport.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAErD;;OAEG;IACH,oBAAoB,IAAI,IAAI,CAAC;IAE7B;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;OAGG;IACH,SAAS,IAAI,YAAY,CAAC;IAE1B;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Stream status states
3
+ */
4
+ export var StreamStatus;
5
+ (function (StreamStatus) {
6
+ StreamStatus["OPEN"] = "open";
7
+ StreamStatus["CLOSING"] = "closing";
8
+ StreamStatus["CLOSED"] = "closed";
9
+ StreamStatus["RESET"] = "reset";
10
+ })(StreamStatus || (StreamStatus = {}));
@@ -0,0 +1,6 @@
1
+ import { oTransport } from './o-transport.js';
2
+ export declare class oCustomTransport extends oTransport {
3
+ constructor(value: string);
4
+ toString(): string;
5
+ }
6
+ //# sourceMappingURL=custom.transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.transport.d.ts","sourceRoot":"","sources":["../../../../../o-core/src/transports/custom.transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,gBAAiB,SAAQ,UAAU;gBAClC,KAAK,EAAE,MAAM;IAIzB,QAAQ,IAAI,MAAM;CAGnB"}
@@ -0,0 +1,10 @@
1
+ import { TransportType } from './interfaces/transport-type.enum.js';
2
+ import { oTransport } from './o-transport.js';
3
+ export class oCustomTransport extends oTransport {
4
+ constructor(value) {
5
+ super(value, TransportType.CUSTOM);
6
+ }
7
+ toString() {
8
+ return this.value.toString();
9
+ }
10
+ }
@@ -0,0 +1,4 @@
1
+ export * from './o-transport.js';
2
+ export * from './custom.transport.js';
3
+ export * from './interfaces/transport-type.enum.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../o-core/src/transports/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './o-transport.js';
2
+ export * from './custom.transport.js';
3
+ export * from './interfaces/transport-type.enum.js';
@@ -0,0 +1,5 @@
1
+ export declare enum TransportType {
2
+ LIBP2P = "libp2p",
3
+ CUSTOM = "custom"
4
+ }
5
+ //# sourceMappingURL=transport-type.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-type.enum.d.ts","sourceRoot":"","sources":["../../../../../../o-core/src/transports/interfaces/transport-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB"}
@@ -0,0 +1,5 @@
1
+ export var TransportType;
2
+ (function (TransportType) {
3
+ TransportType["LIBP2P"] = "libp2p";
4
+ TransportType["CUSTOM"] = "custom";
5
+ })(TransportType || (TransportType = {}));
@@ -0,0 +1,10 @@
1
+ import { oObject } from '../core/o-object.js';
2
+ import { TransportType } from './interfaces/transport-type.enum.js';
3
+ export declare abstract class oTransport extends oObject {
4
+ readonly value: any;
5
+ readonly type: TransportType;
6
+ constructor(value: any, type?: TransportType);
7
+ abstract toString(): string;
8
+ toJSON(): any;
9
+ }
10
+ //# sourceMappingURL=o-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-transport.d.ts","sourceRoot":"","sources":["../../../../../o-core/src/transports/o-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,8BAAsB,UAAW,SAAQ,OAAO;IAC9C,SAAgB,KAAK,EAAE,GAAG,CAAC;IAC3B,SAAgB,IAAI,EAAE,aAAa,CAAwB;gBAE/C,KAAK,EAAE,GAAG,EAAE,IAAI,GAAE,aAAoC;IAMlE,QAAQ,CAAC,QAAQ,IAAI,MAAM;IAE3B,MAAM,IAAI,GAAG;CAMd"}
@@ -0,0 +1,16 @@
1
+ import { oObject } from '../core/o-object.js';
2
+ import { TransportType } from './interfaces/transport-type.enum.js';
3
+ export class oTransport extends oObject {
4
+ constructor(value, type = TransportType.LIBP2P) {
5
+ super();
6
+ this.type = TransportType.LIBP2P;
7
+ this.value = value;
8
+ this.type = type;
9
+ }
10
+ toJSON() {
11
+ return {
12
+ value: this.value,
13
+ type: this.type,
14
+ };
15
+ }
16
+ }
@@ -0,0 +1,34 @@
1
+ import { Stream } from '@olane/o-config';
2
+ import { oAddress } from '../router/o-address.js';
3
+ import { oResponse } from '../connection/o-response.js';
4
+ import { oRequest } from '../connection/o-request.js';
5
+ import { CID } from 'multiformats';
6
+ import { oObject } from '../core/o-object.js';
7
+ export declare class CoreUtils extends oObject {
8
+ static generatePeerId(): Promise<any>;
9
+ static doHealthCheck(address: oAddress, node: any): Promise<boolean>;
10
+ static healthCheck(config: {
11
+ type?: 'leader' | 'parent' | 'child';
12
+ address?: oAddress;
13
+ node: any;
14
+ timeout?: number;
15
+ }): Promise<boolean>;
16
+ static generatePrivateKey(seed: string): Promise<any>;
17
+ /**
18
+ * Convert any user phrase to exactly 32 bytes for Ed25519 key generation.
19
+ * This function uses SHA-256 hashing to ensure:
20
+ * - Deterministic: Same phrase always produces same seed
21
+ * - Uniform distribution: Good entropy even for weak phrases
22
+ * - Exactly 32 bytes: Meets Ed25519 cryptographic requirements
23
+ */
24
+ static phraseToSeedBytes(phrase: string): Uint8Array;
25
+ static phraseToSeed(phrase: string): string;
26
+ static childAddress(parentAddress: oAddress, childAddress: oAddress): oAddress;
27
+ static sendResponse(response: oResponse, stream: Stream): Promise<void>;
28
+ static sendStreamResponse(response: oResponse, stream: Stream): Promise<void>;
29
+ static processStream(event: any): Promise<any>;
30
+ static processStreamRequest(event: any): Promise<oRequest>;
31
+ static processStreamResponse(event: any): Promise<oResponse>;
32
+ static toCID(data: any): Promise<CID>;
33
+ }
34
+ //# sourceMappingURL=core.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.utils.d.ts","sourceRoot":"","sources":["../../../../../o-core/src/utils/core.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EAGP,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,SAAU,SAAQ,OAAO;WACvB,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAK3C,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;WAkBvD,WAAW,CAAC,MAAM,EAAE;QAC/B,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;QACrC,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,GAAG,CAAC;QACV,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,OAAO,CAAC;WA4BP,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAQ3D;;;;;;OAMG;WACW,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;WAO7C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;WAOpC,YAAY,CACxB,aAAa,EAAE,QAAQ,EACvB,YAAY,EAAE,QAAQ,GACrB,QAAQ;WAIS,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;WAahD,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;WAgBtD,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;WAMvC,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;WAKnD,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;WAOrD,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAMnD"}
@@ -0,0 +1,123 @@
1
+ import { generateKeyPairFromSeed, createEd25519PeerId, Uint8ArrayList, } from '@olane/o-config';
2
+ import { createHash } from 'crypto';
3
+ import { oAddress } from '../router/o-address.js';
4
+ import { oResponse } from '../connection/o-response.js';
5
+ import { oRequest } from '../connection/o-request.js';
6
+ import { CID } from 'multiformats';
7
+ import * as json from 'multiformats/codecs/json';
8
+ import { sha256 } from 'multiformats/hashes/sha2';
9
+ import { oObject } from '../core/o-object.js';
10
+ export class CoreUtils extends oObject {
11
+ static async generatePeerId() {
12
+ const peerId = await createEd25519PeerId();
13
+ return peerId;
14
+ }
15
+ static doHealthCheck(address, node) {
16
+ return new Promise(async (resolve, reject) => {
17
+ const timer = setTimeout(() => {
18
+ reject(new Error('Health check timed out'));
19
+ }, 30000); // 30 seconds
20
+ const response = await node.use(new oAddress(address.toString() + '/ping', address.transports));
21
+ clearTimeout(timer);
22
+ if (response.result.error) {
23
+ reject(new Error('Health check failed'));
24
+ }
25
+ else {
26
+ resolve(true);
27
+ }
28
+ });
29
+ }
30
+ static async healthCheck(config) {
31
+ if (!config.node) {
32
+ throw new Error('Node is required');
33
+ }
34
+ const { type, address, node } = config;
35
+ if (type === 'leader') {
36
+ return CoreUtils.doHealthCheck(node.leader, node);
37
+ }
38
+ else if (type === 'parent') {
39
+ return CoreUtils.doHealthCheck(node.parent, node);
40
+ }
41
+ else if (type === 'child') {
42
+ const children = node.hierarchyManager.getChildren();
43
+ return (await Promise.all(children.map((child) => CoreUtils.doHealthCheck(child, node)))).every((result) => result === true);
44
+ }
45
+ if (address) {
46
+ return CoreUtils.doHealthCheck(address, node);
47
+ }
48
+ throw new Error('Address is required');
49
+ }
50
+ static async generatePrivateKey(seed) {
51
+ // Convert any user phrase to exactly 32 bytes using SHA-256
52
+ const seedBytes = CoreUtils.phraseToSeedBytes(seed);
53
+ const privateKey = await generateKeyPairFromSeed('Ed25519', seedBytes);
54
+ return privateKey;
55
+ }
56
+ /**
57
+ * Convert any user phrase to exactly 32 bytes for Ed25519 key generation.
58
+ * This function uses SHA-256 hashing to ensure:
59
+ * - Deterministic: Same phrase always produces same seed
60
+ * - Uniform distribution: Good entropy even for weak phrases
61
+ * - Exactly 32 bytes: Meets Ed25519 cryptographic requirements
62
+ */
63
+ static phraseToSeedBytes(phrase) {
64
+ // Use SHA-256 to create a consistent 32-byte hash
65
+ const hash = createHash('sha256').update(phrase, 'utf8').digest();
66
+ return new Uint8Array(hash);
67
+ }
68
+ // Legacy utility function to convert any phrase into a 32-character hex string
69
+ static phraseToSeed(phrase) {
70
+ // Use SHA-256 to create a consistent 32-byte hash
71
+ const hash = createHash('sha256').update(phrase).digest('hex');
72
+ // Take the first 32 characters of the hex string
73
+ return hash.substring(0, 32);
74
+ }
75
+ static childAddress(parentAddress, childAddress) {
76
+ return new oAddress(parentAddress.toString() + '/' + childAddress.paths);
77
+ }
78
+ static async sendResponse(response, stream) {
79
+ if (stream.status !== 'open') {
80
+ return;
81
+ }
82
+ try {
83
+ await stream.send(new TextEncoder().encode(response.toString()));
84
+ await stream.close();
85
+ }
86
+ catch (error) {
87
+ console.error('Error sending response: ', error);
88
+ }
89
+ }
90
+ static async sendStreamResponse(response, stream) {
91
+ const utils = new CoreUtils();
92
+ if (!stream || stream.status !== 'open') {
93
+ utils.logger.warn('Stream is not open. Status: ' + stream?.status || 'undefined');
94
+ return;
95
+ }
96
+ try {
97
+ await stream.send(new TextEncoder().encode(response.toString()));
98
+ }
99
+ catch (error) {
100
+ utils.logger.error('Error sending stream response: ', error);
101
+ }
102
+ }
103
+ static async processStream(event) {
104
+ const bytes = event.data instanceof Uint8ArrayList ? event.data.subarray() : event.data;
105
+ return JSON.parse(new TextDecoder().decode(bytes));
106
+ }
107
+ static async processStreamRequest(event) {
108
+ const req = await CoreUtils.processStream(event);
109
+ return new oRequest(req);
110
+ }
111
+ static async processStreamResponse(event) {
112
+ const res = await CoreUtils.processStream(event);
113
+ return new oResponse({
114
+ ...res.result,
115
+ });
116
+ }
117
+ static async toCID(data) {
118
+ const bytes = json.encode(data);
119
+ const hash = await sha256.digest(bytes);
120
+ const cid = CID.create(1, json.code, hash);
121
+ return cid;
122
+ }
123
+ }
@@ -0,0 +1,6 @@
1
+ export * from './object.utils.js';
2
+ export * from './regex.utils.js';
3
+ export * from './remote.utils.js';
4
+ export * from './logger.js';
5
+ export * from './core.utils.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../o-core/src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './object.utils.js';
2
+ export * from './regex.utils.js';
3
+ export * from './remote.utils.js';
4
+ export * from './logger.js';
5
+ export * from './core.utils.js';
@@ -0,0 +1,14 @@
1
+ export declare class Logger {
2
+ private readonly name;
3
+ private log;
4
+ private suffix;
5
+ constructor(name: string);
6
+ setNamespace(name: string): void;
7
+ verbose(...args: any[]): void;
8
+ debug(...args: any[]): void;
9
+ info(...args: any[]): void;
10
+ warn(...args: any[]): void;
11
+ error(...args: any[]): void;
12
+ alert(...args: any[]): void;
13
+ }
14
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../../o-core/src/utils/logger.ts"],"names":[],"mappings":"AAGA,qBAAa,MAAM;IAIL,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,GAAG,CAAW;IACtB,OAAO,CAAC,MAAM,CAAc;gBAEC,IAAI,EAAE,MAAM;IAKzC,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAItB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAIpB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAInB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAInB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAIpB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAGrB"}
@@ -0,0 +1,31 @@
1
+ import debug from 'debug';
2
+ import chalk from 'chalk';
3
+ export class Logger {
4
+ constructor(name) {
5
+ this.name = name;
6
+ this.suffix = '';
7
+ this.suffix = process.env.LOG_ID ? process.env.LOG_ID + ':' : '';
8
+ this.log = debug('olane-os:' + this.suffix + name);
9
+ }
10
+ setNamespace(name) {
11
+ this.log = debug('olane-os:' + this.suffix + name);
12
+ }
13
+ verbose(...args) {
14
+ this.log(chalk.gray('[VERBOSE]'), ...args);
15
+ }
16
+ debug(...args) {
17
+ this.log(chalk.blue('[DEBUG]'), ...args);
18
+ }
19
+ info(...args) {
20
+ this.log(chalk.green('[INFO]'), ...args);
21
+ }
22
+ warn(...args) {
23
+ this.log(chalk.yellow('[WARN]'), ...args);
24
+ }
25
+ error(...args) {
26
+ this.log(chalk.red('[ERROR]'), ...args);
27
+ }
28
+ alert(...args) {
29
+ this.log(chalk.redBright('[ALERT]'), ...args);
30
+ }
31
+ }
@@ -0,0 +1,5 @@
1
+ export declare class ObjectUtils {
2
+ static isObject(obj: any): boolean;
3
+ static allKeyValues(obj: any, callback: (key: string, value: any) => Promise<any>): Promise<any>;
4
+ }
5
+ //# sourceMappingURL=object.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.utils.d.ts","sourceRoot":"","sources":["../../../../../o-core/src/utils/object.utils.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;WAIrB,YAAY,CACvB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAClD,OAAO,CAAC,GAAG,CAAC;CAkBhB"}
@@ -0,0 +1,23 @@
1
+ export class ObjectUtils {
2
+ static isObject(obj) {
3
+ return obj !== null && typeof obj === 'object';
4
+ }
5
+ static async allKeyValues(obj, callback) {
6
+ if (!ObjectUtils.isObject(obj)) {
7
+ return obj;
8
+ }
9
+ for (const key in obj) {
10
+ let value = obj[key];
11
+ // iterate over the object if not a primitive
12
+ if (ObjectUtils.isObject(value)) {
13
+ value = await ObjectUtils.allKeyValues(value, callback);
14
+ }
15
+ else {
16
+ value = await callback(key, value);
17
+ }
18
+ // update the object
19
+ obj[key] = value;
20
+ }
21
+ return obj;
22
+ }
23
+ }
@@ -0,0 +1,4 @@
1
+ export declare class RegexUtils {
2
+ static extractResultFromAI(message: string): any;
3
+ }
4
+ //# sourceMappingURL=regex.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regex.utils.d.ts","sourceRoot":"","sources":["../../../../../o-core/src/utils/regex.utils.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU;IACrB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG;CAajD"}