@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,101 @@
1
+ import { StreamHandlerBase, ProtocolBuilder, } from '../../../o-core/src/streaming/index.js';
2
+ /**
3
+ * o-node specific implementation of StreamHandlerBase.
4
+ * Integrates with libp2p streams and tracks metrics for o-node tools.
5
+ */
6
+ export class NodeStreamHandler extends StreamHandlerBase {
7
+ constructor(transport, options = {}) {
8
+ super(options);
9
+ this.successCount = 0;
10
+ this.errorCount = 0;
11
+ this.transport = transport;
12
+ this.nodeOptions = {
13
+ trackSuccessCount: true,
14
+ trackErrorCount: true,
15
+ ...options,
16
+ };
17
+ }
18
+ /**
19
+ * Get the success count (number of chunks successfully sent)
20
+ */
21
+ getSuccessCount() {
22
+ return this.successCount;
23
+ }
24
+ /**
25
+ * Get the error count
26
+ */
27
+ getErrorCount() {
28
+ return this.errorCount;
29
+ }
30
+ /**
31
+ * Reset metrics
32
+ */
33
+ resetMetrics() {
34
+ this.successCount = 0;
35
+ this.errorCount = 0;
36
+ }
37
+ /**
38
+ * Implementation of sendChunk using libp2p transport and protocol builder
39
+ */
40
+ async sendChunk(chunk, sequence, isLast, request) {
41
+ // Build the JSON-RPC streaming chunk message
42
+ const message = ProtocolBuilder.buildStreamChunkFromRequest(chunk, sequence, isLast, request);
43
+ // Encode the message to bytes
44
+ const encoded = ProtocolBuilder.encodeMessage(message);
45
+ // Send through the transport (handles backpressure)
46
+ await this.transport.send(encoded);
47
+ // Track metrics if enabled
48
+ if (this.nodeOptions.trackSuccessCount) {
49
+ this.successCount++;
50
+ }
51
+ // Close the stream if this is the last chunk
52
+ if (isLast) {
53
+ await this.transport.close();
54
+ }
55
+ }
56
+ /**
57
+ * Hook: Called when streaming starts
58
+ */
59
+ onStreamStart(request) {
60
+ // Reset metrics for this stream
61
+ if (this.nodeOptions.enableMetrics) {
62
+ this.resetMetrics();
63
+ }
64
+ }
65
+ /**
66
+ * Hook: Called when streaming completes successfully
67
+ */
68
+ onStreamComplete(request, totalChunks) {
69
+ // Log completion if metrics enabled
70
+ if (this.nodeOptions.enableMetrics) {
71
+ console.log(`Stream completed for ${request.method}: ${totalChunks} chunks sent`);
72
+ }
73
+ }
74
+ /**
75
+ * Hook: Called when streaming encounters an error
76
+ */
77
+ onStreamError(request, error) {
78
+ // Track error count
79
+ if (this.nodeOptions.trackErrorCount) {
80
+ this.errorCount++;
81
+ }
82
+ // Log error
83
+ console.error(`Stream error for ${request.method}:`, error);
84
+ }
85
+ /**
86
+ * Reset the handler for reuse with a new transport
87
+ */
88
+ reset() {
89
+ // Call parent reset
90
+ this.state = 0; // Reset state (IDLE)
91
+ this.currentSequence = 0;
92
+ this.resetMetrics();
93
+ }
94
+ /**
95
+ * Create a new NodeStreamHandler with a different transport
96
+ * (useful for handling multiple streams)
97
+ */
98
+ static create(transport, options) {
99
+ return new NodeStreamHandler(transport, options);
100
+ }
101
+ }
@@ -0,0 +1,3 @@
1
+ export * from './types';
2
+ export * from './ui-graph.manager';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './ui-graph.manager';
@@ -0,0 +1,110 @@
1
+ import { oAddress } from '../../../o-core/src';
2
+ /**
3
+ * UI component node types
4
+ */
5
+ export declare enum UINodeType {
6
+ SCREEN = "screen",
7
+ BUTTON = "button",
8
+ INPUT = "input",
9
+ TEXT = "text",
10
+ VIEW = "view",
11
+ MODAL = "modal",
12
+ BOTTOM_SHEET = "bottom_sheet",
13
+ FORM = "form",
14
+ LIST = "list",
15
+ LIST_ITEM = "list_item",
16
+ CUSTOM = "custom"
17
+ }
18
+ /**
19
+ * Represents a virtual UI component node in the graph
20
+ */
21
+ export interface ComponentNode {
22
+ /** Unique identifier for the component */
23
+ id: string;
24
+ /** Component type (button, input, screen, etc.) */
25
+ type: UINodeType | string;
26
+ /** Component's address in the Olane graph */
27
+ address: oAddress;
28
+ /** Component props/configuration */
29
+ props: Record<string, any>;
30
+ /** Component internal state */
31
+ state: Record<string, any>;
32
+ /** Parent component ID (null for root screens) */
33
+ parentId: string | null;
34
+ /** Array of child component IDs */
35
+ childIds: string[];
36
+ /** Available tool methods for this component */
37
+ methods: string[];
38
+ /** Timestamp when registered */
39
+ registeredAt: number;
40
+ /** Last update timestamp */
41
+ updatedAt: number;
42
+ /** Component metadata */
43
+ metadata?: {
44
+ screenName?: string;
45
+ routePath?: string;
46
+ visible?: boolean;
47
+ disabled?: boolean;
48
+ [key: string]: any;
49
+ };
50
+ }
51
+ /**
52
+ * Request to register a component
53
+ */
54
+ export interface RegisterComponentRequest {
55
+ id: string;
56
+ type: UINodeType | string;
57
+ address: string;
58
+ props?: Record<string, any>;
59
+ state?: Record<string, any>;
60
+ parentId?: string | null;
61
+ methods?: string[];
62
+ metadata?: Record<string, any>;
63
+ }
64
+ /**
65
+ * Response from component registration
66
+ */
67
+ export interface RegisterComponentResponse {
68
+ success: boolean;
69
+ nodeId: string;
70
+ address: string;
71
+ message?: string;
72
+ }
73
+ /**
74
+ * Request to update component
75
+ */
76
+ export interface UpdateComponentRequest {
77
+ nodeId: string;
78
+ props?: Record<string, any>;
79
+ state?: Record<string, any>;
80
+ metadata?: Record<string, any>;
81
+ }
82
+ /**
83
+ * Request to invoke component action
84
+ */
85
+ export interface InvokeActionRequest {
86
+ nodeId: string;
87
+ method: string;
88
+ params?: any;
89
+ }
90
+ /**
91
+ * Response from component query
92
+ */
93
+ export interface QueryHierarchyResponse {
94
+ node: ComponentNode;
95
+ children: ComponentNode[];
96
+ parent: ComponentNode | null;
97
+ }
98
+ /**
99
+ * Component method handler
100
+ */
101
+ export type ComponentMethodHandler = (params?: any) => Promise<any> | any;
102
+ /**
103
+ * Component method registry
104
+ */
105
+ export interface ComponentMethodRegistry {
106
+ [nodeId: string]: {
107
+ [method: string]: ComponentMethodHandler;
108
+ };
109
+ }
110
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ui/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * UI component node types
3
+ */
4
+ export var UINodeType;
5
+ (function (UINodeType) {
6
+ UINodeType["SCREEN"] = "screen";
7
+ UINodeType["BUTTON"] = "button";
8
+ UINodeType["INPUT"] = "input";
9
+ UINodeType["TEXT"] = "text";
10
+ UINodeType["VIEW"] = "view";
11
+ UINodeType["MODAL"] = "modal";
12
+ UINodeType["BOTTOM_SHEET"] = "bottom_sheet";
13
+ UINodeType["FORM"] = "form";
14
+ UINodeType["LIST"] = "list";
15
+ UINodeType["LIST_ITEM"] = "list_item";
16
+ UINodeType["CUSTOM"] = "custom";
17
+ })(UINodeType || (UINodeType = {}));
@@ -0,0 +1,70 @@
1
+ import { oNodeTool } from '../o-node.tool';
2
+ import { oRequest } from '../../../o-core/src';
3
+ import { ComponentNode, RegisterComponentResponse, QueryHierarchyResponse } from './types';
4
+ /**
5
+ * UIGraphManager manages the hierarchical graph of UI components
6
+ * Acts as a centralized registry for all UI elements in the application
7
+ */
8
+ export declare class UIGraphManager extends oNodeTool {
9
+ private componentRegistry;
10
+ private methodHandlers;
11
+ /**
12
+ * Register a new UI component in the graph
13
+ */
14
+ _tool_register_component(request: oRequest): Promise<RegisterComponentResponse>;
15
+ /**
16
+ * Unregister a UI component from the graph
17
+ */
18
+ _tool_unregister_component(request: oRequest): Promise<{
19
+ success: boolean;
20
+ message: string;
21
+ }>;
22
+ /**
23
+ * Update component props, state, or metadata
24
+ */
25
+ _tool_update_component(request: oRequest): Promise<{
26
+ success: boolean;
27
+ message: string;
28
+ }>;
29
+ /**
30
+ * Invoke a method on a component
31
+ */
32
+ _tool_invoke_action(request: oRequest): Promise<any>;
33
+ /**
34
+ * Query component hierarchy
35
+ */
36
+ _tool_query_hierarchy(request: oRequest): Promise<QueryHierarchyResponse>;
37
+ /**
38
+ * Get all registered components (for debugging)
39
+ */
40
+ _tool_list_components(request: oRequest): Promise<{
41
+ components: ComponentNode[];
42
+ count: number;
43
+ }>;
44
+ /**
45
+ * Get component tree structure
46
+ */
47
+ _tool_get_tree(request: oRequest): Promise<any>;
48
+ /**
49
+ * Register a method handler for a component
50
+ * This is called from the client side to register callbacks
51
+ */
52
+ registerMethodHandler(nodeId: string, method: string, handler: (params?: any) => Promise<any> | any): void;
53
+ /**
54
+ * Unregister all method handlers for a component
55
+ */
56
+ unregisterMethodHandlers(nodeId: string): void;
57
+ /**
58
+ * Get component by ID
59
+ */
60
+ getComponent(nodeId: string): ComponentNode | undefined;
61
+ /**
62
+ * Get all children of a component
63
+ */
64
+ getComponentChildren(nodeId: string): ComponentNode[];
65
+ /**
66
+ * Get parent of a component
67
+ */
68
+ getParent(nodeId: string): ComponentNode | null;
69
+ }
70
+ //# sourceMappingURL=ui-graph.manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-graph.manager.d.ts","sourceRoot":"","sources":["../../../../src/ui/ui-graph.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EACL,aAAa,EAEb,yBAAyB,EAGzB,sBAAsB,EAEvB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,cAAc,CAA+B;IAErD;;OAEG;IACG,wBAAwB,CAC5B,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,yBAAyB,CAAC;IA8ErC;;OAEG;IACG,0BAA0B,CAC9B,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAiDjD;;OAEG;IACG,sBAAsB,CAC1B,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAqCjD;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,GAAG,CAAC;IAiCf;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,sBAAsB,CAAC;IAyBlC;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC;QAAE,UAAU,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAS1D;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IA2BrD;;;OAGG;IACI,qBAAqB,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAC5C,IAAI;IAQP;;OAEG;IACI,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrD;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9D;;OAEG;IACI,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE;IAS5D;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;CAMvD"}
@@ -0,0 +1,274 @@
1
+ import { oNodeTool } from '../o-node.tool';
2
+ import { oRequest } from '../../../o-core/src';
3
+ import { oAddress } from '../../../o-core/src';
4
+ /**
5
+ * UIGraphManager manages the hierarchical graph of UI components
6
+ * Acts as a centralized registry for all UI elements in the application
7
+ */
8
+ export class UIGraphManager extends oNodeTool {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.componentRegistry = new Map();
12
+ this.methodHandlers = {};
13
+ }
14
+ /**
15
+ * Register a new UI component in the graph
16
+ */
17
+ async _tool_register_component(request) {
18
+ const { id, type, address, props = {}, state = {}, parentId = null, methods = [], metadata = {}, } = request.params;
19
+ this.logger.info(`Registering component: ${id} (${type})`);
20
+ // Check if component already exists
21
+ if (this.componentRegistry.has(id)) {
22
+ this.logger.warn(`Component ${id} already registered, updating instead`);
23
+ const updateRequest = new oRequest({
24
+ method: 'update_component',
25
+ params: { nodeId: id, props, state, metadata },
26
+ id: request.id,
27
+ });
28
+ await this._tool_update_component(updateRequest);
29
+ return {
30
+ success: true,
31
+ nodeId: id,
32
+ address: address,
33
+ message: 'Component already exists, updated instead',
34
+ };
35
+ }
36
+ const now = Date.now();
37
+ // Create component node
38
+ const componentNode = {
39
+ id,
40
+ type,
41
+ address: new oAddress(address),
42
+ props,
43
+ state,
44
+ parentId,
45
+ childIds: [],
46
+ methods,
47
+ registeredAt: now,
48
+ updatedAt: now,
49
+ metadata,
50
+ };
51
+ // Add to registry
52
+ this.componentRegistry.set(id, componentNode);
53
+ // If has parent, add as child to parent
54
+ if (parentId) {
55
+ const parent = this.componentRegistry.get(parentId);
56
+ if (parent) {
57
+ if (!parent.childIds.includes(id)) {
58
+ parent.childIds.push(id);
59
+ parent.updatedAt = now;
60
+ }
61
+ }
62
+ else {
63
+ this.logger.warn(`Parent ${parentId} not found for component ${id}, will register as orphan`);
64
+ }
65
+ }
66
+ this.logger.info(`Component ${id} registered successfully. Total components: ${this.componentRegistry.size}`);
67
+ return {
68
+ success: true,
69
+ nodeId: id,
70
+ address: componentNode.address.toString(),
71
+ message: 'Component registered successfully',
72
+ };
73
+ }
74
+ /**
75
+ * Unregister a UI component from the graph
76
+ */
77
+ async _tool_unregister_component(request) {
78
+ const { nodeId } = request.params;
79
+ this.logger.info(`Unregistering component: ${nodeId}`);
80
+ const component = this.componentRegistry.get(nodeId);
81
+ if (!component) {
82
+ this.logger.warn(`Component ${nodeId} not found`);
83
+ return {
84
+ success: false,
85
+ message: 'Component not found',
86
+ };
87
+ }
88
+ // Remove from parent's children
89
+ if (component.parentId) {
90
+ const parent = this.componentRegistry.get(component.parentId);
91
+ if (parent) {
92
+ parent.childIds = parent.childIds.filter((id) => id !== nodeId);
93
+ parent.updatedAt = Date.now();
94
+ }
95
+ }
96
+ // Recursively unregister all children
97
+ for (const childId of component.childIds) {
98
+ const childRequest = new oRequest({
99
+ method: 'unregister_component',
100
+ params: { nodeId: childId },
101
+ id: request.id,
102
+ });
103
+ await this._tool_unregister_component(childRequest);
104
+ }
105
+ // Remove method handlers
106
+ delete this.methodHandlers[nodeId];
107
+ // Remove from registry
108
+ this.componentRegistry.delete(nodeId);
109
+ this.logger.info(`Component ${nodeId} unregistered. Total components: ${this.componentRegistry.size}`);
110
+ return {
111
+ success: true,
112
+ message: 'Component unregistered successfully',
113
+ };
114
+ }
115
+ /**
116
+ * Update component props, state, or metadata
117
+ */
118
+ async _tool_update_component(request) {
119
+ const { nodeId, props, state, metadata } = request.params;
120
+ const component = this.componentRegistry.get(nodeId);
121
+ if (!component) {
122
+ this.logger.warn(`Component ${nodeId} not found for update`);
123
+ return {
124
+ success: false,
125
+ message: 'Component not found',
126
+ };
127
+ }
128
+ // Update props
129
+ if (props) {
130
+ component.props = { ...component.props, ...props };
131
+ }
132
+ // Update state
133
+ if (state) {
134
+ component.state = { ...component.state, ...state };
135
+ }
136
+ // Update metadata
137
+ if (metadata) {
138
+ component.metadata = { ...component.metadata, ...metadata };
139
+ }
140
+ component.updatedAt = Date.now();
141
+ this.logger.debug(`Component ${nodeId} updated`);
142
+ return {
143
+ success: true,
144
+ message: 'Component updated successfully',
145
+ };
146
+ }
147
+ /**
148
+ * Invoke a method on a component
149
+ */
150
+ async _tool_invoke_action(request) {
151
+ const { nodeId, method, params } = request.params;
152
+ this.logger.info(`Invoking ${method} on component ${nodeId}`);
153
+ const component = this.componentRegistry.get(nodeId);
154
+ if (!component) {
155
+ throw new Error(`Component ${nodeId} not found`);
156
+ }
157
+ if (!component.methods.includes(method)) {
158
+ throw new Error(`Method ${method} not available on component ${nodeId}`);
159
+ }
160
+ // Get method handler
161
+ const handler = this.methodHandlers[nodeId]?.[method];
162
+ if (!handler) {
163
+ throw new Error(`Method handler for ${method} not registered for component ${nodeId}`);
164
+ }
165
+ // Invoke handler
166
+ const result = await handler(params);
167
+ this.logger.debug(`Method ${method} invoked on ${nodeId}`);
168
+ return {
169
+ success: true,
170
+ result,
171
+ };
172
+ }
173
+ /**
174
+ * Query component hierarchy
175
+ */
176
+ async _tool_query_hierarchy(request) {
177
+ const { nodeId } = request.params;
178
+ const component = this.componentRegistry.get(nodeId);
179
+ if (!component) {
180
+ throw new Error(`Component ${nodeId} not found`);
181
+ }
182
+ // Get children
183
+ const children = component.childIds
184
+ .map((id) => this.componentRegistry.get(id))
185
+ .filter((c) => c !== undefined);
186
+ // Get parent
187
+ const parent = component.parentId
188
+ ? this.componentRegistry.get(component.parentId) || null
189
+ : null;
190
+ return {
191
+ node: component,
192
+ children,
193
+ parent,
194
+ };
195
+ }
196
+ /**
197
+ * Get all registered components (for debugging)
198
+ */
199
+ async _tool_list_components(request) {
200
+ const components = Array.from(this.componentRegistry.values());
201
+ return {
202
+ components,
203
+ count: components.length,
204
+ };
205
+ }
206
+ /**
207
+ * Get component tree structure
208
+ */
209
+ async _tool_get_tree(request) {
210
+ // Find root components (those without parents)
211
+ const roots = Array.from(this.componentRegistry.values()).filter((c) => !c.parentId);
212
+ const buildTree = (node) => {
213
+ const children = node.childIds
214
+ .map((id) => this.componentRegistry.get(id))
215
+ .filter((c) => c !== undefined)
216
+ .map((c) => buildTree(c));
217
+ return {
218
+ id: node.id,
219
+ type: node.type,
220
+ address: node.address.toString(),
221
+ props: node.props,
222
+ metadata: node.metadata,
223
+ children,
224
+ };
225
+ };
226
+ return {
227
+ roots: roots.map((r) => buildTree(r)),
228
+ };
229
+ }
230
+ /**
231
+ * Register a method handler for a component
232
+ * This is called from the client side to register callbacks
233
+ */
234
+ registerMethodHandler(nodeId, method, handler) {
235
+ if (!this.methodHandlers[nodeId]) {
236
+ this.methodHandlers[nodeId] = {};
237
+ }
238
+ this.methodHandlers[nodeId][method] = handler;
239
+ this.logger.debug(`Method handler ${method} registered for ${nodeId}`);
240
+ }
241
+ /**
242
+ * Unregister all method handlers for a component
243
+ */
244
+ unregisterMethodHandlers(nodeId) {
245
+ delete this.methodHandlers[nodeId];
246
+ this.logger.debug(`Method handlers unregistered for ${nodeId}`);
247
+ }
248
+ /**
249
+ * Get component by ID
250
+ */
251
+ getComponent(nodeId) {
252
+ return this.componentRegistry.get(nodeId);
253
+ }
254
+ /**
255
+ * Get all children of a component
256
+ */
257
+ getComponentChildren(nodeId) {
258
+ const component = this.componentRegistry.get(nodeId);
259
+ if (!component)
260
+ return [];
261
+ return component.childIds
262
+ .map((id) => this.componentRegistry.get(id))
263
+ .filter((c) => c !== undefined);
264
+ }
265
+ /**
266
+ * Get parent of a component
267
+ */
268
+ getParent(nodeId) {
269
+ const component = this.componentRegistry.get(nodeId);
270
+ if (!component || !component.parentId)
271
+ return null;
272
+ return this.componentRegistry.get(component.parentId) || null;
273
+ }
274
+ }