@olane/o-core 0.6.13 → 0.7.2

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 (257) hide show
  1. package/README.md +490 -140
  2. package/dist/src/connection/index.d.ts +8 -0
  3. package/dist/src/connection/index.d.ts.map +1 -0
  4. package/dist/src/connection/index.js +7 -0
  5. package/dist/src/connection/interfaces/connection-manager.config.d.ts +3 -0
  6. package/dist/src/connection/interfaces/connection-manager.config.d.ts.map +1 -0
  7. package/dist/src/connection/interfaces/connection-send-params.interface.d.ts.map +1 -0
  8. package/dist/src/connection/interfaces/connection.config.d.ts +7 -0
  9. package/dist/src/connection/interfaces/connection.config.d.ts.map +1 -0
  10. package/dist/src/connection/interfaces/index.d.ts +5 -0
  11. package/dist/src/connection/interfaces/index.d.ts.map +1 -0
  12. package/dist/src/connection/interfaces/index.js +4 -0
  13. package/dist/src/connection/interfaces/request-state.enum.d.ts +7 -0
  14. package/dist/src/connection/interfaces/request-state.enum.d.ts.map +1 -0
  15. package/dist/src/connection/interfaces/request-state.enum.js +7 -0
  16. package/dist/src/connection/o-connection-manager.d.ts +19 -0
  17. package/dist/src/connection/o-connection-manager.d.ts.map +1 -0
  18. package/dist/src/connection/o-connection-manager.js +27 -0
  19. package/dist/src/connection/o-connection.d.ts +20 -0
  20. package/dist/src/connection/o-connection.d.ts.map +1 -0
  21. package/dist/src/connection/o-connection.js +45 -0
  22. package/dist/src/{core/lib → connection}/o-request.d.ts +5 -1
  23. package/dist/src/connection/o-request.d.ts.map +1 -0
  24. package/dist/src/{core/lib → connection}/o-request.js +8 -1
  25. package/dist/src/connection/o-response.d.ts.map +1 -0
  26. package/dist/src/core/defaults/config.d.ts +1 -1
  27. package/dist/src/core/defaults/config.d.ts.map +1 -1
  28. package/dist/src/core/defaults/config.js +1 -1
  29. package/dist/src/core/graceful-shutdown.d.ts +1 -1
  30. package/dist/src/core/graceful-shutdown.d.ts.map +1 -1
  31. package/dist/src/core/graceful-shutdown.js +1 -1
  32. package/dist/src/core/index.d.ts +3 -5
  33. package/dist/src/core/index.d.ts.map +1 -1
  34. package/dist/src/core/index.js +3 -5
  35. package/dist/src/core/interfaces/index.d.ts +1 -2
  36. package/dist/src/core/interfaces/index.d.ts.map +1 -1
  37. package/dist/src/core/interfaces/index.js +1 -2
  38. package/dist/src/core/interfaces/{core-config.interface.d.ts → o-core.config.d.ts} +4 -5
  39. package/dist/src/core/interfaces/o-core.config.d.ts.map +1 -0
  40. package/dist/src/core/interfaces/o-core.interface.d.ts +18 -0
  41. package/dist/src/core/interfaces/o-core.interface.d.ts.map +1 -0
  42. package/dist/src/core/lib/index.d.ts +3 -7
  43. package/dist/src/core/lib/index.d.ts.map +1 -1
  44. package/dist/src/core/lib/index.js +3 -7
  45. package/dist/src/core/lib/o-hierarchy.manager.d.ts +24 -0
  46. package/dist/src/core/lib/o-hierarchy.manager.d.ts.map +1 -0
  47. package/dist/src/core/lib/o-hierarchy.manager.js +57 -0
  48. package/dist/src/core/lib/o-metrics.d.ts +5 -0
  49. package/dist/src/core/lib/o-metrics.d.ts.map +1 -0
  50. package/dist/src/core/lib/o-metrics.js +6 -0
  51. package/dist/src/core/lib/o-request.manager.d.ts +10 -0
  52. package/dist/src/core/lib/o-request.manager.d.ts.map +1 -0
  53. package/dist/src/core/lib/o-request.manager.js +18 -0
  54. package/dist/src/core/o-core.d.ts +190 -0
  55. package/dist/src/core/o-core.d.ts.map +1 -0
  56. package/dist/src/core/o-core.js +334 -0
  57. package/dist/src/core/o-object.d.ts +7 -0
  58. package/dist/src/core/o-object.d.ts.map +1 -0
  59. package/dist/src/core/o-object.js +10 -0
  60. package/dist/src/error/enums/codes.error.d.ts +16 -14
  61. package/dist/src/error/enums/codes.error.d.ts.map +1 -1
  62. package/dist/src/error/enums/codes.error.js +18 -16
  63. package/dist/src/error/index.d.ts +1 -1
  64. package/dist/src/error/index.d.ts.map +1 -1
  65. package/dist/src/error/index.js +1 -1
  66. package/dist/src/error/interfaces/o-error.interface.d.ts +6 -0
  67. package/dist/src/error/interfaces/o-error.interface.d.ts.map +1 -0
  68. package/dist/src/error/o-error.d.ts +15 -0
  69. package/dist/src/error/o-error.d.ts.map +1 -0
  70. package/dist/src/error/{tool.error.js → o-error.js} +4 -4
  71. package/dist/src/index.d.ts +3 -3
  72. package/dist/src/index.d.ts.map +1 -1
  73. package/dist/src/index.js +3 -3
  74. package/dist/src/router/enums/restricted-addresses.enum.d.ts +8 -0
  75. package/dist/src/router/enums/restricted-addresses.enum.d.ts.map +1 -0
  76. package/dist/src/router/enums/restricted-addresses.enum.js +13 -0
  77. package/dist/src/router/index.d.ts +9 -0
  78. package/dist/src/router/index.d.ts.map +1 -0
  79. package/dist/src/router/index.js +8 -0
  80. package/dist/src/router/interfaces/resolve.request.d.ts +10 -0
  81. package/dist/src/router/interfaces/resolve.request.d.ts.map +1 -0
  82. package/dist/src/router/interfaces/route.response.d.ts +8 -0
  83. package/dist/src/router/interfaces/route.response.d.ts.map +1 -0
  84. package/dist/src/router/o-address-resolution.d.ts +12 -0
  85. package/dist/src/router/o-address-resolution.d.ts.map +1 -0
  86. package/dist/src/router/o-address-resolution.js +42 -0
  87. package/dist/src/router/o-address-resolver.d.ts +14 -0
  88. package/dist/src/router/o-address-resolver.d.ts.map +1 -0
  89. package/dist/src/router/o-address-resolver.js +19 -0
  90. package/dist/src/router/o-address.d.ts +33 -0
  91. package/dist/src/router/o-address.d.ts.map +1 -0
  92. package/dist/src/router/o-address.js +101 -0
  93. package/dist/src/router/o-request.router.d.ts +18 -0
  94. package/dist/src/router/o-request.router.d.ts.map +1 -0
  95. package/dist/src/router/o-request.router.js +12 -0
  96. package/dist/src/router/o-router.d.ts +19 -0
  97. package/dist/src/router/o-router.d.ts.map +1 -0
  98. package/dist/src/router/o-router.js +14 -0
  99. package/dist/src/transports/custom.transport.d.ts +6 -0
  100. package/dist/src/transports/custom.transport.d.ts.map +1 -0
  101. package/dist/src/transports/custom.transport.js +10 -0
  102. package/dist/src/transports/index.d.ts +4 -0
  103. package/dist/src/transports/index.d.ts.map +1 -0
  104. package/dist/src/transports/index.js +3 -0
  105. package/dist/src/transports/interfaces/transport-type.enum.d.ts +5 -0
  106. package/dist/src/transports/interfaces/transport-type.enum.d.ts.map +1 -0
  107. package/dist/src/transports/interfaces/transport-type.enum.js +5 -0
  108. package/dist/src/transports/o-transport.d.ts +10 -0
  109. package/dist/src/transports/o-transport.d.ts.map +1 -0
  110. package/dist/src/transports/o-transport.js +16 -0
  111. package/dist/src/{core/utils → utils}/core.utils.d.ts +4 -3
  112. package/dist/src/utils/core.utils.d.ts.map +1 -0
  113. package/dist/src/{core/utils → utils}/core.utils.js +17 -2
  114. package/dist/src/utils/index.d.ts +2 -0
  115. package/dist/src/utils/index.d.ts.map +1 -1
  116. package/dist/src/utils/index.js +2 -0
  117. package/dist/src/{core/utils → utils}/logger.d.ts +1 -0
  118. package/dist/src/utils/logger.d.ts.map +1 -0
  119. package/dist/src/{core/utils → utils}/logger.js +4 -1
  120. package/dist/test/server/in-process.spec.js +2 -14
  121. package/package.json +3 -3
  122. package/dist/src/core/core.node.d.ts +0 -79
  123. package/dist/src/core/core.node.d.ts.map +0 -1
  124. package/dist/src/core/core.node.js +0 -304
  125. package/dist/src/core/interfaces/connection-manager.config.d.ts +0 -7
  126. package/dist/src/core/interfaces/connection-manager.config.d.ts.map +0 -1
  127. package/dist/src/core/interfaces/connection-send-params.interface.d.ts.map +0 -1
  128. package/dist/src/core/interfaces/core-config.interface.d.ts.map +0 -1
  129. package/dist/src/core/interfaces/restricted-addresses.enum.d.ts +0 -13
  130. package/dist/src/core/interfaces/restricted-addresses.enum.d.ts.map +0 -1
  131. package/dist/src/core/interfaces/restricted-addresses.enum.js +0 -18
  132. package/dist/src/core/lib/o-address-resolution.d.ts +0 -9
  133. package/dist/src/core/lib/o-address-resolution.d.ts.map +0 -1
  134. package/dist/src/core/lib/o-address-resolution.js +0 -24
  135. package/dist/src/core/lib/o-address-resolver.d.ts +0 -17
  136. package/dist/src/core/lib/o-address-resolver.d.ts.map +0 -1
  137. package/dist/src/core/lib/o-address-resolver.js +0 -36
  138. package/dist/src/core/lib/o-connection-manager.d.ts +0 -22
  139. package/dist/src/core/lib/o-connection-manager.d.ts.map +0 -1
  140. package/dist/src/core/lib/o-connection-manager.js +0 -65
  141. package/dist/src/core/lib/o-connection.d.ts +0 -27
  142. package/dist/src/core/lib/o-connection.d.ts.map +0 -1
  143. package/dist/src/core/lib/o-connection.js +0 -84
  144. package/dist/src/core/lib/o-request.d.ts.map +0 -1
  145. package/dist/src/core/lib/o-response.d.ts.map +0 -1
  146. package/dist/src/core/lib/resolvers/anything.resolver.d.ts +0 -8
  147. package/dist/src/core/lib/resolvers/anything.resolver.d.ts.map +0 -1
  148. package/dist/src/core/lib/resolvers/anything.resolver.js +0 -15
  149. package/dist/src/core/lib/resolvers/index.d.ts +0 -5
  150. package/dist/src/core/lib/resolvers/index.d.ts.map +0 -1
  151. package/dist/src/core/lib/resolvers/index.js +0 -4
  152. package/dist/src/core/lib/resolvers/method.resolver.d.ts +0 -8
  153. package/dist/src/core/lib/resolvers/method.resolver.d.ts.map +0 -1
  154. package/dist/src/core/lib/resolvers/method.resolver.js +0 -18
  155. package/dist/src/core/lib/resolvers/next-hop.resolver.d.ts +0 -10
  156. package/dist/src/core/lib/resolvers/next-hop.resolver.d.ts.map +0 -1
  157. package/dist/src/core/lib/resolvers/next-hop.resolver.js +0 -59
  158. package/dist/src/core/lib/resolvers/storage.resolver.d.ts +0 -6
  159. package/dist/src/core/lib/resolvers/storage.resolver.d.ts.map +0 -1
  160. package/dist/src/core/lib/resolvers/storage.resolver.js +0 -10
  161. package/dist/src/core/o-address.d.ts +0 -20
  162. package/dist/src/core/o-address.d.ts.map +0 -1
  163. package/dist/src/core/o-address.js +0 -47
  164. package/dist/src/core/utils/core.utils.d.ts.map +0 -1
  165. package/dist/src/core/utils/index.d.ts +0 -4
  166. package/dist/src/core/utils/index.d.ts.map +0 -1
  167. package/dist/src/core/utils/index.js +0 -3
  168. package/dist/src/core/utils/logger.d.ts.map +0 -1
  169. package/dist/src/core/utils/network.utils.d.ts +0 -16
  170. package/dist/src/core/utils/network.utils.d.ts.map +0 -1
  171. package/dist/src/core/utils/network.utils.js +0 -35
  172. package/dist/src/error/tool.error.d.ts +0 -19
  173. package/dist/src/error/tool.error.d.ts.map +0 -1
  174. package/dist/src/node/index.d.ts +0 -4
  175. package/dist/src/node/index.d.ts.map +0 -1
  176. package/dist/src/node/index.js +0 -3
  177. package/dist/src/node/interfaces/route.request.d.ts +0 -14
  178. package/dist/src/node/interfaces/route.request.d.ts.map +0 -1
  179. package/dist/src/node/lib/local-search.lib.d.ts +0 -6
  180. package/dist/src/node/lib/local-search.lib.d.ts.map +0 -1
  181. package/dist/src/node/lib/local-search.lib.js +0 -10
  182. package/dist/src/node/lib/network-activity.lib.d.ts +0 -12
  183. package/dist/src/node/lib/network-activity.lib.d.ts.map +0 -1
  184. package/dist/src/node/lib/network-activity.lib.js +0 -29
  185. package/dist/src/node/node.d.ts +0 -45
  186. package/dist/src/node/node.d.ts.map +0 -1
  187. package/dist/src/node/node.js +0 -359
  188. package/dist/src/node-virtual/index.d.ts +0 -2
  189. package/dist/src/node-virtual/index.d.ts.map +0 -1
  190. package/dist/src/node-virtual/index.js +0 -1
  191. package/dist/src/node-virtual/virtual.node.d.ts +0 -10
  192. package/dist/src/node-virtual/virtual.node.d.ts.map +0 -1
  193. package/dist/src/node-virtual/virtual.node.js +0 -12
  194. package/dist/src/plan/agent.plan.d.ts +0 -28
  195. package/dist/src/plan/agent.plan.d.ts.map +0 -1
  196. package/dist/src/plan/agent.plan.js +0 -187
  197. package/dist/src/plan/index.d.ts +0 -5
  198. package/dist/src/plan/index.d.ts.map +0 -1
  199. package/dist/src/plan/index.js +0 -4
  200. package/dist/src/plan/interfaces/configure.result.d.ts +0 -6
  201. package/dist/src/plan/interfaces/configure.result.d.ts.map +0 -1
  202. package/dist/src/plan/interfaces/handshake.result.d.ts +0 -14
  203. package/dist/src/plan/interfaces/handshake.result.d.ts.map +0 -1
  204. package/dist/src/plan/interfaces/plan-config.interface.d.ts +0 -16
  205. package/dist/src/plan/interfaces/plan-config.interface.d.ts.map +0 -1
  206. package/dist/src/plan/interfaces/plan-result.interface.d.ts +0 -6
  207. package/dist/src/plan/interfaces/plan-result.interface.d.ts.map +0 -1
  208. package/dist/src/plan/interfaces/plan-type.enum.d.ts +0 -8
  209. package/dist/src/plan/interfaces/plan-type.enum.d.ts.map +0 -1
  210. package/dist/src/plan/interfaces/plan-type.enum.js +0 -8
  211. package/dist/src/plan/interfaces/plan.result.d.ts +0 -15
  212. package/dist/src/plan/interfaces/plan.result.d.ts.map +0 -1
  213. package/dist/src/plan/interfaces/plan.result.js +0 -1
  214. package/dist/src/plan/interfaces/query.config.d.ts +0 -6
  215. package/dist/src/plan/interfaces/query.config.d.ts.map +0 -1
  216. package/dist/src/plan/interfaces/query.config.js +0 -1
  217. package/dist/src/plan/interfaces/task.config.d.ts +0 -10
  218. package/dist/src/plan/interfaces/task.config.d.ts.map +0 -1
  219. package/dist/src/plan/interfaces/task.config.js +0 -1
  220. package/dist/src/plan/o-plan.d.ts +0 -36
  221. package/dist/src/plan/o-plan.d.ts.map +0 -1
  222. package/dist/src/plan/o-plan.js +0 -202
  223. package/dist/src/plan/plan.context.d.ts +0 -10
  224. package/dist/src/plan/plan.context.d.ts.map +0 -1
  225. package/dist/src/plan/plan.context.js +0 -28
  226. package/dist/src/plan/prompts/agent.prompt.d.ts +0 -2
  227. package/dist/src/plan/prompts/agent.prompt.d.ts.map +0 -1
  228. package/dist/src/plan/prompts/agent.prompt.js +0 -112
  229. package/dist/src/plan/prompts/configure.prompt.d.ts +0 -2
  230. package/dist/src/plan/prompts/configure.prompt.d.ts.map +0 -1
  231. package/dist/src/plan/prompts/configure.prompt.js +0 -40
  232. package/dist/src/plan/prompts/custom.prompt.d.ts +0 -2
  233. package/dist/src/plan/prompts/custom.prompt.d.ts.map +0 -1
  234. package/dist/src/plan/prompts/custom.prompt.js +0 -80
  235. package/dist/src/plan/search/prompts/search-analysis.prompt.d.ts +0 -2
  236. package/dist/src/plan/search/prompts/search-analysis.prompt.d.ts.map +0 -1
  237. package/dist/src/plan/search/prompts/search-analysis.prompt.js +0 -14
  238. package/dist/src/plan/search/search.plan.d.ts +0 -21
  239. package/dist/src/plan/search/search.plan.d.ts.map +0 -1
  240. package/dist/src/plan/search/search.plan.js +0 -53
  241. package/dist/src/plan/use/index.d.ts +0 -2
  242. package/dist/src/plan/use/index.d.ts.map +0 -1
  243. package/dist/src/plan/use/index.js +0 -1
  244. package/dist/src/plan/use/use.plan.d.ts +0 -16
  245. package/dist/src/plan/use/use.plan.d.ts.map +0 -1
  246. package/dist/src/plan/use/use.plan.js +0 -149
  247. /package/dist/src/{core → connection}/interfaces/connection-manager.config.js +0 -0
  248. /package/dist/src/{core → connection}/interfaces/connection-send-params.interface.d.ts +0 -0
  249. /package/dist/src/{core → connection}/interfaces/connection-send-params.interface.js +0 -0
  250. /package/dist/src/{core/interfaces/core-config.interface.js → connection/interfaces/connection.config.js} +0 -0
  251. /package/dist/src/{core/lib → connection}/o-response.d.ts +0 -0
  252. /package/dist/src/{core/lib → connection}/o-response.js +0 -0
  253. /package/dist/src/{node/interfaces/route.request.js → core/interfaces/o-core.config.js} +0 -0
  254. /package/dist/src/{plan/interfaces/configure.result.js → core/interfaces/o-core.interface.js} +0 -0
  255. /package/dist/src/{plan/interfaces/handshake.result.js → error/interfaces/o-error.interface.js} +0 -0
  256. /package/dist/src/{plan/interfaces/plan-config.interface.js → router/interfaces/resolve.request.js} +0 -0
  257. /package/dist/src/{plan/interfaces/plan-result.interface.js → router/interfaces/route.response.js} +0 -0
@@ -0,0 +1,8 @@
1
+ export * from './o-connection.js';
2
+ export * from './o-connection-manager.js';
3
+ export * from './interfaces/connection.config.js';
4
+ export * from './interfaces/connection-manager.config.js';
5
+ export * from './o-request.js';
6
+ export * from './o-response.js';
7
+ export * from './interfaces/index.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './o-connection.js';
2
+ export * from './o-connection-manager.js';
3
+ export * from './interfaces/connection.config.js';
4
+ export * from './interfaces/connection-manager.config.js';
5
+ export * from './o-request.js';
6
+ export * from './o-response.js';
7
+ export * from './interfaces/index.js';
@@ -0,0 +1,3 @@
1
+ export interface oConnectionManagerConfig {
2
+ }
3
+ //# sourceMappingURL=connection-manager.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-manager.config.d.ts","sourceRoot":"","sources":["../../../../src/connection/interfaces/connection-manager.config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;CAAG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-send-params.interface.d.ts","sourceRoot":"","sources":["../../../../src/connection/interfaces/connection-send-params.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
@@ -0,0 +1,7 @@
1
+ import { oAddress } from '../../router/o-address.js';
2
+ export interface oConnectionConfig {
3
+ nextHopAddress: oAddress;
4
+ callerAddress?: oAddress;
5
+ address: oAddress;
6
+ }
7
+ //# sourceMappingURL=connection.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.config.d.ts","sourceRoot":"","sources":["../../../../src/connection/interfaces/connection.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,QAAQ,CAAC;IACzB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,OAAO,EAAE,QAAQ,CAAC;CACnB"}
@@ -0,0 +1,5 @@
1
+ export * from './connection.config.js';
2
+ export * from './connection-manager.config.js';
3
+ export * from './connection-send-params.interface.js';
4
+ export * from './request-state.enum.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connection/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './connection.config.js';
2
+ export * from './connection-manager.config.js';
3
+ export * from './connection-send-params.interface.js';
4
+ export * from './request-state.enum.js';
@@ -0,0 +1,7 @@
1
+ export declare enum RequestState {
2
+ PENDING = "PENDING",
3
+ PROCESSING = "PROCESSING",
4
+ COMPLETED = "COMPLETED",
5
+ FAILED = "FAILED"
6
+ }
7
+ //# sourceMappingURL=request-state.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-state.enum.d.ts","sourceRoot":"","sources":["../../../../src/connection/interfaces/request-state.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB"}
@@ -0,0 +1,7 @@
1
+ export var RequestState;
2
+ (function (RequestState) {
3
+ RequestState["PENDING"] = "PENDING";
4
+ RequestState["PROCESSING"] = "PROCESSING";
5
+ RequestState["COMPLETED"] = "COMPLETED";
6
+ RequestState["FAILED"] = "FAILED";
7
+ })(RequestState || (RequestState = {}));
@@ -0,0 +1,19 @@
1
+ import { oAddress } from '../router/o-address.js';
2
+ import { oConnection } from './o-connection.js';
3
+ import { oConnectionManagerConfig } from './interfaces/connection-manager.config.js';
4
+ import { oObject } from '../core/o-object.js';
5
+ import { oConnectionConfig } from './interfaces/connection.config.js';
6
+ export declare abstract class oConnectionManager extends oObject {
7
+ readonly config: oConnectionManagerConfig;
8
+ protected cache: Map<string, oConnection>;
9
+ constructor(config: oConnectionManagerConfig);
10
+ /**
11
+ * Connect to a given address
12
+ * @param address - The address to connect to
13
+ * @returns The connection object
14
+ */
15
+ abstract connect(config: oConnectionConfig): Promise<oConnection>;
16
+ isCached(address: oAddress): boolean;
17
+ getCachedConnection(address: oAddress): oConnection | null;
18
+ }
19
+ //# sourceMappingURL=o-connection-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-connection-manager.d.ts","sourceRoot":"","sources":["../../../src/connection/o-connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,8BAAsB,kBAAmB,SAAQ,OAAO;IAG1C,QAAQ,CAAC,MAAM,EAAE,wBAAwB;IAFrD,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAa;gBAEjC,MAAM,EAAE,wBAAwB;IAIrD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAEjE,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO;IAIpC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI;CAe3D"}
@@ -0,0 +1,27 @@
1
+ import { oObject } from '../core/o-object.js';
2
+ export class oConnectionManager extends oObject {
3
+ constructor(config) {
4
+ super();
5
+ this.config = config;
6
+ this.cache = new Map();
7
+ }
8
+ isCached(address) {
9
+ return this.cache.has(address.toString());
10
+ }
11
+ getCachedConnection(address) {
12
+ const key = address.toString();
13
+ try {
14
+ const connection = this.cache.get(key);
15
+ if (!connection) {
16
+ throw new Error('Connection not found in cache');
17
+ }
18
+ connection.validate();
19
+ return connection;
20
+ }
21
+ catch (error) {
22
+ this.cache.delete(key);
23
+ this.logger.error('Error getting cached connection:', error);
24
+ }
25
+ return null;
26
+ }
27
+ }
@@ -0,0 +1,20 @@
1
+ import { oAddress } from '../router/o-address.js';
2
+ import { oRequest } from './o-request.js';
3
+ import { oResponse } from './o-response.js';
4
+ import { ConnectionSendParams } from './interfaces/connection-send-params.interface.js';
5
+ import { oObject } from '../core/o-object.js';
6
+ import { oConnectionConfig } from './interfaces/connection.config.js';
7
+ export declare abstract class oConnection extends oObject {
8
+ protected readonly config: oConnectionConfig;
9
+ readonly id: string;
10
+ readonly address: oAddress;
11
+ readonly nextHopAddress: oAddress;
12
+ readonly callerAddress: oAddress | undefined;
13
+ constructor(config: oConnectionConfig);
14
+ validate(): void;
15
+ createRequest(method: string, params: ConnectionSendParams): oRequest;
16
+ abstract transmit(request: oRequest): Promise<oResponse>;
17
+ send(data: ConnectionSendParams): Promise<oResponse>;
18
+ close(): Promise<void>;
19
+ }
20
+ //# sourceMappingURL=o-connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-connection.d.ts","sourceRoot":"","sources":["../../../src/connection/o-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAExF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,8BAAsB,WAAY,SAAQ,OAAO;IAMnC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB;IALxD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,OAAO,EAAE,QAAQ,CAAC;IAClC,SAAgB,cAAc,EAAE,QAAQ,CAAC;IACzC,SAAgB,aAAa,EAAE,QAAQ,GAAG,SAAS,CAAC;gBAErB,MAAM,EAAE,iBAAiB;IAgBxD,QAAQ,IAAI,IAAI;IAMhB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,QAAQ;IAarE,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IAElD,IAAI,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;IAMpD,KAAK;CAGZ"}
@@ -0,0 +1,45 @@
1
+ import { oRequest } from './o-request.js';
2
+ import { oProtocolMethods } from '@olane/o-protocol';
3
+ import { v4 as uuidv4 } from 'uuid';
4
+ import { oObject } from '../core/o-object.js';
5
+ export class oConnection extends oObject {
6
+ constructor(config) {
7
+ super();
8
+ this.config = config;
9
+ this.id = uuidv4();
10
+ this.address = config.address;
11
+ this.nextHopAddress = config.nextHopAddress;
12
+ this.callerAddress = config.callerAddress;
13
+ this.logger.setNamespace('Connection:[' +
14
+ (config.callerAddress?.value || 'unknown') +
15
+ ']-->[' +
16
+ this.address.value +
17
+ ']:' +
18
+ this.id);
19
+ }
20
+ validate() {
21
+ if (!this.address || !this.nextHopAddress || !this.callerAddress) {
22
+ throw new Error('Connection configuration is invalid');
23
+ }
24
+ }
25
+ createRequest(method, params) {
26
+ return new oRequest({
27
+ method: method,
28
+ params: {
29
+ _connectionId: this.id,
30
+ _requestMethod: method,
31
+ _callerAddress: this.callerAddress?.value,
32
+ ...params,
33
+ },
34
+ id: params.id || uuidv4(),
35
+ });
36
+ }
37
+ async send(data) {
38
+ // proxy through the router tool
39
+ const request = this.createRequest(oProtocolMethods.ROUTE, data);
40
+ return this.transmit(request);
41
+ }
42
+ async close() {
43
+ this.logger.debug('Closing connection...');
44
+ }
45
+ }
@@ -1,14 +1,18 @@
1
1
  import { JSONRPC_VERSION, JSONRPCRequest, Request, RequestId, RequestParams } from '@olane/o-protocol';
2
- export declare class oRequest implements JSONRPCRequest {
2
+ import { RequestState } from './interfaces/request-state.enum.js';
3
+ import { oObject } from '../core/o-object.js';
4
+ export declare class oRequest extends oObject implements JSONRPCRequest {
3
5
  jsonrpc: typeof JSONRPC_VERSION;
4
6
  method: string;
5
7
  params: RequestParams;
6
8
  id: RequestId;
9
+ state: RequestState;
7
10
  constructor(config: Request & {
8
11
  id: RequestId;
9
12
  });
10
13
  get connectionId(): string;
11
14
  toJSON(): JSONRPCRequest;
15
+ setState(state: RequestState): void;
12
16
  toString(): string;
13
17
  static hasOlaneAddress(value: string): boolean;
14
18
  static extractAddresses(value: string): string[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-request.d.ts","sourceRoot":"","sources":["../../../src/connection/o-request.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACd,OAAO,EACP,SAAS,EACT,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,QAAS,SAAQ,OAAQ,YAAW,cAAc;IAC7D,OAAO,EAAE,OAAO,eAAe,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,SAAS,CAAC;IACd,KAAK,EAAE,YAAY,CAAwB;gBAE/B,MAAM,EAAE,OAAO,GAAG;QAAE,EAAE,EAAE,SAAS,CAAA;KAAE;IAU/C,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,MAAM,IAAI,cAAc;IASxB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAInC,QAAQ;IAIR,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQ9C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAKhD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG;QAAE,EAAE,EAAE,SAAS,CAAA;KAAE,GAAG,QAAQ;CAG7D"}
@@ -1,6 +1,10 @@
1
1
  import { JSONRPC_VERSION, } from '@olane/o-protocol';
2
- export class oRequest {
2
+ import { RequestState } from './interfaces/request-state.enum.js';
3
+ import { oObject } from '../core/o-object.js';
4
+ export class oRequest extends oObject {
3
5
  constructor(config) {
6
+ super(`Request:${config.id}${config.params?._callerAddress ? `Origin:${config.params._callerAddress}` : ''}`);
7
+ this.state = RequestState.PENDING;
4
8
  this.jsonrpc = JSONRPC_VERSION;
5
9
  this.method = config.method;
6
10
  this.params = config.params;
@@ -17,6 +21,9 @@ export class oRequest {
17
21
  id: this.id,
18
22
  };
19
23
  }
24
+ setState(state) {
25
+ this.state = state;
26
+ }
20
27
  toString() {
21
28
  return JSON.stringify(this.toJSON());
22
29
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-response.d.ts","sourceRoot":"","sources":["../../../src/connection/o-response.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,SAAS,EACT,SAAS,IAAI,QAAQ,EACrB,MAAM,EACP,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,SAAU,YAAW,QAAQ;IACxC,OAAO,EAAE,OAAO,eAAe,CAAC;IAChC,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,SAAS,CAAA;KAAE;IAM9C,MAAM,IAAI,GAAG;IAQb,QAAQ,IAAI,MAAM;CAGnB"}
@@ -1,4 +1,4 @@
1
1
  export declare const DEFAULT_CONFIG_PATH: string;
2
- export declare const DEFAULT_NETWORKS_PATH: string;
2
+ export declare const DEFAULT_INSTANCE_PATH: string;
3
3
  export declare const DEFAULT_CONFIG_FILE: string;
4
4
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/core/defaults/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,QAAoC,CAAC;AACrE,eAAO,MAAM,qBAAqB,QAA6C,CAAC;AAChF,eAAO,MAAM,mBAAmB,QAG/B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/core/defaults/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,QAAoC,CAAC;AACrE,eAAO,MAAM,qBAAqB,QAGjC,CAAC;AACF,eAAO,MAAM,mBAAmB,QAG/B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import path from 'path';
2
2
  import os from 'os';
3
3
  export const DEFAULT_CONFIG_PATH = path.join(os.homedir(), '.olane');
4
- export const DEFAULT_NETWORKS_PATH = path.join(DEFAULT_CONFIG_PATH, 'networks');
4
+ export const DEFAULT_INSTANCE_PATH = path.join(DEFAULT_CONFIG_PATH, 'os-instances');
5
5
  export const DEFAULT_CONFIG_FILE = path.join(DEFAULT_CONFIG_PATH, 'config.json');
@@ -1,4 +1,4 @@
1
- import { Logger } from './utils/logger.js';
1
+ import { Logger } from '../utils/logger.js';
2
2
  export interface CleanupFunction {
3
3
  (): Promise<void> | void;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graceful-shutdown.d.ts","sourceRoot":"","sources":["../../../src/core/graceful-shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,uBAA4B,GACpC,IAAI,CAmEN;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,KAAK,CAAC;IAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACpE,MAAM,GAAE,MAA2C,GAClD,eAAe,CAmBjB"}
1
+ {"version":3,"file":"graceful-shutdown.d.ts","sourceRoot":"","sources":["../../../src/core/graceful-shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,uBAA4B,GACpC,IAAI,CAmEN;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,KAAK,CAAC;IAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACpE,MAAM,GAAE,MAA2C,GAClD,eAAe,CAmBjB"}
@@ -1,4 +1,4 @@
1
- import { Logger } from './utils/logger.js';
1
+ import { Logger } from '../utils/logger.js';
2
2
  /**
3
3
  * Sets up signal handlers for graceful shutdown
4
4
  * @param cleanup Cleanup function to run on shutdown
@@ -1,11 +1,9 @@
1
- export * from './core.node.js';
2
- export * from './utils/core.utils.js';
3
- export * from './o-address.js';
1
+ export * from './o-core.js';
4
2
  export * from './interfaces/index.js';
5
3
  export * from './o-dependency.js';
6
- export * from './utils/logger.js';
7
- export * from './lib/index.js';
8
4
  export * from './o-parameter.js';
9
5
  export * from './defaults/index.js';
10
6
  export * from './graceful-shutdown.js';
7
+ export * from './lib/index.js';
8
+ export * from './o-object.js';
11
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
@@ -1,10 +1,8 @@
1
- export * from './core.node.js';
2
- export * from './utils/core.utils.js';
3
- export * from './o-address.js';
1
+ export * from './o-core.js';
4
2
  export * from './interfaces/index.js';
5
3
  export * from './o-dependency.js';
6
- export * from './utils/logger.js';
7
- export * from './lib/index.js';
8
4
  export * from './o-parameter.js';
9
5
  export * from './defaults/index.js';
10
6
  export * from './graceful-shutdown.js';
7
+ export * from './lib/index.js';
8
+ export * from './o-object.js';
@@ -1,5 +1,4 @@
1
- export * from './core-config.interface.js';
1
+ export * from './o-core.config.js';
2
2
  export * from './node-type.enum.js';
3
- export * from './restricted-addresses.enum.js';
4
3
  export * from './state.enum.js';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
@@ -1,4 +1,3 @@
1
- export * from './core-config.interface.js';
1
+ export * from './o-core.config.js';
2
2
  export * from './node-type.enum.js';
3
- export * from './restricted-addresses.enum.js';
4
3
  export * from './state.enum.js';
@@ -1,8 +1,8 @@
1
1
  import { Libp2pConfig } from '@olane/o-config';
2
- import { oAddress } from '../o-address.js';
2
+ import { oAddress } from '../../router/o-address.js';
3
3
  import { NodeType } from './node-type.enum.js';
4
4
  import { oDependency, oMethod } from '@olane/o-protocol';
5
- export interface CoreConfig {
5
+ export interface oCoreConfig {
6
6
  address: oAddress;
7
7
  leader: oAddress | null;
8
8
  parent: oAddress | null;
@@ -17,7 +17,6 @@ export interface CoreConfig {
17
17
  [key: string]: oMethod;
18
18
  };
19
19
  cwd?: string;
20
- networkName?: string;
21
- promptAddress?: oAddress;
20
+ systemName?: string;
22
21
  }
23
- //# sourceMappingURL=core-config.interface.d.ts.map
22
+ //# sourceMappingURL=o-core.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-core.config.d.ts","sourceRoot":"","sources":["../../../../src/core/interfaces/o-core.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,18 @@
1
+ import { Multiaddr } from '@olane/o-config';
2
+ import { oAddress } from '../../router/o-address';
3
+ import { oConnectionManager } from '../../connection/o-connection-manager';
4
+ import { oAddressResolution } from '../../router/o-address-resolution';
5
+ import { NodeState } from './state.enum';
6
+ export interface oCoreInterface {
7
+ leaders: Multiaddr[];
8
+ address: oAddress;
9
+ staticAddress: oAddress;
10
+ state: NodeState;
11
+ errors: Error[];
12
+ connectionManager: oConnectionManager;
13
+ addressResolution: oAddressResolution;
14
+ description: string;
15
+ start: () => Promise<void>;
16
+ stop: () => Promise<void>;
17
+ }
18
+ //# sourceMappingURL=o-core.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-core.interface.d.ts","sourceRoot":"","sources":["../../../../src/core/interfaces/o-core.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,QAAQ,CAAC;IAClB,aAAa,EAAE,QAAQ,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
@@ -1,8 +1,4 @@
1
- export * from './o-request.js';
2
- export * from './o-response.js';
3
- export * from './o-connection.js';
4
- export * from './o-connection-manager.js';
5
- export * from './o-address-resolution.js';
6
- export * from './o-address-resolver.js';
7
- export * from './resolvers/index.js';
1
+ export * from './o-hierarchy.manager.js';
2
+ export * from './o-metrics.js';
3
+ export * from './o-request.manager.js';
8
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC"}
@@ -1,7 +1,3 @@
1
- export * from './o-request.js';
2
- export * from './o-response.js';
3
- export * from './o-connection.js';
4
- export * from './o-connection-manager.js';
5
- export * from './o-address-resolution.js';
6
- export * from './o-address-resolver.js';
7
- export * from './resolvers/index.js';
1
+ export * from './o-hierarchy.manager.js';
2
+ export * from './o-metrics.js';
3
+ export * from './o-request.manager.js';
@@ -0,0 +1,24 @@
1
+ import { oAddress } from '../../router/o-address.js';
2
+ import { oObject } from '../o-object.js';
3
+ export interface oHierarchyManagerConfig {
4
+ leaders?: oAddress[];
5
+ parents?: oAddress[];
6
+ children?: oAddress[];
7
+ }
8
+ export declare class oHierarchyManager extends oObject {
9
+ leaders: oAddress[];
10
+ children: oAddress[];
11
+ parents: oAddress[];
12
+ constructor(config: oHierarchyManagerConfig);
13
+ clear(): void;
14
+ private deduplicate;
15
+ addChild(address: oAddress): void;
16
+ getChild(address: oAddress): oAddress | undefined;
17
+ removeChild(address: oAddress | string): void;
18
+ addParent(address: oAddress): void;
19
+ removeParent(address: oAddress | string): void;
20
+ getChildren(): oAddress[];
21
+ getParents(): oAddress[];
22
+ getLeaders(): oAddress[];
23
+ }
24
+ //# sourceMappingURL=o-hierarchy.manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-hierarchy.manager.d.ts","sourceRoot":"","sources":["../../../../src/core/lib/o-hierarchy.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,qBAAa,iBAAkB,SAAQ,OAAO;IACrC,OAAO,EAAE,QAAQ,EAAE,CAAM;IACzB,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAC1B,OAAO,EAAE,QAAQ,EAAE,CAAM;gBAEpB,MAAM,EAAE,uBAAuB;IAO3C,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,WAAW;IAWnB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAQjC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAOjD,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI;IAM7C,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAIlC,YAAY,CAAC,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI;IAM9C,WAAW,IAAI,QAAQ,EAAE;IAIzB,UAAU,IAAI,QAAQ,EAAE;IAIxB,UAAU,IAAI,QAAQ,EAAE;CAGzB"}
@@ -0,0 +1,57 @@
1
+ import { oObject } from '../o-object.js';
2
+ export class oHierarchyManager extends oObject {
3
+ constructor(config) {
4
+ super();
5
+ this.leaders = [];
6
+ this.children = [];
7
+ this.parents = []; // multiple parents allow for more flexibility with address construction
8
+ this.leaders = config.leaders || [];
9
+ this.children = config.children || [];
10
+ this.parents = config.parents || [];
11
+ }
12
+ clear() {
13
+ this.leaders = [];
14
+ this.children = [];
15
+ this.parents = [];
16
+ }
17
+ deduplicate(addresses) {
18
+ const added = {};
19
+ return addresses.filter((a) => {
20
+ if (added[a.toString()]) {
21
+ return false;
22
+ }
23
+ added[a.toString()] = true;
24
+ return true;
25
+ });
26
+ }
27
+ addChild(address) {
28
+ // deduplicate
29
+ this.logger.debug(`Adding child: ${address.toString()}, transports: ${address.transports.map((t) => t.toString()).join(', ')}`);
30
+ this.children = this.deduplicate([...this.children, address]);
31
+ }
32
+ getChild(address) {
33
+ return this.children.find((a) => a.toStaticAddress().toString() === address.toStaticAddress().toString());
34
+ }
35
+ removeChild(address) {
36
+ this.children = this.deduplicate([
37
+ ...this.children.filter((a) => a.toString() !== address.toString()),
38
+ ]);
39
+ }
40
+ addParent(address) {
41
+ this.parents = this.deduplicate([...this.parents, address]);
42
+ }
43
+ removeParent(address) {
44
+ this.parents = this.deduplicate([
45
+ ...this.parents.filter((a) => a.toString() !== address.toString()),
46
+ ]);
47
+ }
48
+ getChildren() {
49
+ return this.children;
50
+ }
51
+ getParents() {
52
+ return this.parents;
53
+ }
54
+ getLeaders() {
55
+ return this.leaders;
56
+ }
57
+ }
@@ -0,0 +1,5 @@
1
+ export declare class oMetrics {
2
+ successCount: number;
3
+ errorCount: number;
4
+ }
5
+ //# sourceMappingURL=o-metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-metrics.d.ts","sourceRoot":"","sources":["../../../../src/core/lib/o-metrics.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ;IACZ,YAAY,EAAE,MAAM,CAAK;IACzB,UAAU,EAAE,MAAM,CAAK;CAC/B"}
@@ -0,0 +1,6 @@
1
+ export class oMetrics {
2
+ constructor() {
3
+ this.successCount = 0;
4
+ this.errorCount = 0;
5
+ }
6
+ }
@@ -0,0 +1,10 @@
1
+ import { oRequest } from '../../connection/o-request.js';
2
+ export declare class oRequestManager {
3
+ private requests;
4
+ constructor();
5
+ addRequest(request: oRequest): void;
6
+ removeRequest(request: oRequest): void;
7
+ getRequest(id: string): oRequest | undefined;
8
+ get activeRequests(): oRequest[];
9
+ }
10
+ //# sourceMappingURL=o-request.manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-request.manager.d.ts","sourceRoot":"","sources":["../../../../src/core/lib/o-request.manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAkB;;IAGlC,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAInC,aAAa,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAItC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI5C,IAAI,cAAc,IAAI,QAAQ,EAAE,CAE/B;CACF"}
@@ -0,0 +1,18 @@
1
+ import { RequestState } from '../../connection/interfaces/request-state.enum.js';
2
+ export class oRequestManager {
3
+ constructor() {
4
+ this.requests = [];
5
+ }
6
+ addRequest(request) {
7
+ this.requests.push(request);
8
+ }
9
+ removeRequest(request) {
10
+ this.requests = this.requests.filter((r) => r !== request);
11
+ }
12
+ getRequest(id) {
13
+ return this.requests.find((r) => r.id === id);
14
+ }
15
+ get activeRequests() {
16
+ return this.requests.filter((r) => r.state === RequestState.PENDING);
17
+ }
18
+ }