@olane/o-node 0.7.12-alpha.39 → 0.7.12-alpha.40

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 (231) 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 +1 -0
  29. package/dist/o-core/src/connection/o-response.d.ts.map +1 -1
  30. package/dist/o-core/src/connection/o-response.js +7 -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/index.d.ts +3 -0
  113. package/dist/o-core/src/error/index.d.ts.map +1 -0
  114. package/dist/o-core/src/error/index.js +2 -0
  115. package/dist/o-core/src/index.d.ts +8 -0
  116. package/dist/o-core/src/index.d.ts.map +1 -0
  117. package/dist/o-core/src/index.js +7 -0
  118. package/dist/o-core/src/response/index.d.ts +2 -0
  119. package/dist/o-core/src/response/index.d.ts.map +1 -0
  120. package/dist/o-core/src/response/index.js +1 -0
  121. package/dist/o-core/src/response/response-builder.d.ts +140 -0
  122. package/dist/o-core/src/response/response-builder.d.ts.map +1 -0
  123. package/dist/o-core/src/response/response-builder.js +190 -0
  124. package/dist/o-core/src/router/enums/restricted-addresses.enum.d.ts +8 -0
  125. package/dist/o-core/src/router/enums/restricted-addresses.enum.d.ts.map +1 -0
  126. package/dist/o-core/src/router/enums/restricted-addresses.enum.js +13 -0
  127. package/dist/o-core/src/router/index.d.ts +11 -0
  128. package/dist/o-core/src/router/index.d.ts.map +1 -0
  129. package/dist/o-core/src/router/index.js +10 -0
  130. package/dist/o-core/src/router/interfaces/resolve.request.d.ts +10 -0
  131. package/dist/o-core/src/router/interfaces/resolve.request.d.ts.map +1 -0
  132. package/dist/o-core/src/router/interfaces/resolve.request.js +1 -0
  133. package/dist/o-core/src/router/interfaces/route.response.d.ts +8 -0
  134. package/dist/o-core/src/router/interfaces/route.response.d.ts.map +1 -0
  135. package/dist/o-core/src/router/interfaces/route.response.js +1 -0
  136. package/dist/o-core/src/router/o-address-resolver.d.ts +14 -0
  137. package/dist/o-core/src/router/o-address-resolver.d.ts.map +1 -0
  138. package/dist/o-core/src/router/o-address-resolver.js +19 -0
  139. package/dist/o-core/src/router/o-address.d.ts +33 -0
  140. package/dist/o-core/src/router/o-address.d.ts.map +1 -0
  141. package/dist/o-core/src/router/o-address.js +114 -0
  142. package/dist/o-core/src/router/o-request-preparation.d.ts +37 -0
  143. package/dist/o-core/src/router/o-request-preparation.d.ts.map +1 -0
  144. package/dist/o-core/src/router/o-request-preparation.js +75 -0
  145. package/dist/o-core/src/router/o-request.router.d.ts +18 -0
  146. package/dist/o-core/src/router/o-request.router.d.ts.map +1 -0
  147. package/dist/o-core/src/router/o-request.router.js +12 -0
  148. package/dist/o-core/src/router/o-resolver-chain.d.ts +32 -0
  149. package/dist/o-core/src/router/o-resolver-chain.d.ts.map +1 -0
  150. package/dist/o-core/src/router/o-resolver-chain.js +62 -0
  151. package/dist/o-core/src/router/o-router.d.ts +19 -0
  152. package/dist/o-core/src/router/o-router.d.ts.map +1 -0
  153. package/dist/o-core/src/router/o-router.js +14 -0
  154. package/dist/o-core/src/router/o-routing-policy.d.ts +36 -0
  155. package/dist/o-core/src/router/o-routing-policy.d.ts.map +1 -0
  156. package/dist/o-core/src/router/o-routing-policy.js +19 -0
  157. package/dist/o-core/src/transports/custom.transport.d.ts +6 -0
  158. package/dist/o-core/src/transports/custom.transport.d.ts.map +1 -0
  159. package/dist/o-core/src/transports/custom.transport.js +10 -0
  160. package/dist/o-core/src/transports/index.d.ts +4 -0
  161. package/dist/o-core/src/transports/index.d.ts.map +1 -0
  162. package/dist/o-core/src/transports/index.js +3 -0
  163. package/dist/o-core/src/transports/interfaces/transport-type.enum.d.ts +5 -0
  164. package/dist/o-core/src/transports/interfaces/transport-type.enum.d.ts.map +1 -0
  165. package/dist/o-core/src/transports/interfaces/transport-type.enum.js +5 -0
  166. package/dist/o-core/src/transports/o-transport.d.ts +10 -0
  167. package/dist/o-core/src/transports/o-transport.d.ts.map +1 -0
  168. package/dist/o-core/src/transports/o-transport.js +16 -0
  169. package/dist/o-core/src/utils/core.utils.d.ts +34 -0
  170. package/dist/o-core/src/utils/core.utils.d.ts.map +1 -0
  171. package/dist/o-core/src/utils/core.utils.js +123 -0
  172. package/dist/o-core/src/utils/index.d.ts +6 -0
  173. package/dist/o-core/src/utils/index.d.ts.map +1 -0
  174. package/dist/o-core/src/utils/index.js +5 -0
  175. package/dist/o-core/src/utils/logger.d.ts +14 -0
  176. package/dist/o-core/src/utils/logger.d.ts.map +1 -0
  177. package/dist/o-core/src/utils/logger.js +31 -0
  178. package/dist/o-core/src/utils/object.utils.d.ts +5 -0
  179. package/dist/o-core/src/utils/object.utils.d.ts.map +1 -0
  180. package/dist/o-core/src/utils/object.utils.js +23 -0
  181. package/dist/o-core/src/utils/regex.utils.d.ts +4 -0
  182. package/dist/o-core/src/utils/regex.utils.d.ts.map +1 -0
  183. package/dist/o-core/src/utils/regex.utils.js +13 -0
  184. package/dist/o-core/src/utils/remote.utils.d.ts +4 -0
  185. package/dist/o-core/src/utils/remote.utils.d.ts.map +1 -0
  186. package/dist/o-core/src/utils/remote.utils.js +5 -0
  187. package/dist/o-node/src/connection/o-node-connection.d.ts +2 -2
  188. package/dist/o-node/src/connection/o-node-connection.d.ts.map +1 -1
  189. package/dist/o-node/src/connection/o-node-connection.js +36 -23
  190. package/dist/o-node/src/connection/o-node-connection.manager.d.ts.map +1 -1
  191. package/dist/o-node/src/connection/o-node-connection.manager.js +13 -41
  192. package/dist/o-node/src/index.d.ts +1 -0
  193. package/dist/o-node/src/index.d.ts.map +1 -1
  194. package/dist/o-node/src/index.js +1 -0
  195. package/dist/o-node/src/interfaces/o-node.config.d.ts +0 -17
  196. package/dist/o-node/src/interfaces/o-node.config.d.ts.map +1 -1
  197. package/dist/o-node/src/managers/o-connection-heartbeat.manager.d.ts +1 -0
  198. package/dist/o-node/src/managers/o-connection-heartbeat.manager.d.ts.map +1 -1
  199. package/dist/o-node/src/managers/o-connection-heartbeat.manager.js +17 -3
  200. package/dist/o-node/src/o-node.d.ts +11 -12
  201. package/dist/o-node/src/o-node.d.ts.map +1 -1
  202. package/dist/o-node/src/o-node.js +104 -25
  203. package/dist/o-node/src/o-node.notification-manager.js +4 -1
  204. package/dist/o-node/src/o-node.tool.d.ts.map +1 -1
  205. package/dist/o-node/src/o-node.tool.js +16 -23
  206. package/dist/o-node/src/router/o-node.router.d.ts +1 -0
  207. package/dist/o-node/src/router/o-node.router.d.ts.map +1 -1
  208. package/dist/o-node/src/router/o-node.router.js +53 -7
  209. package/dist/o-node/src/router/resolvers/o-node.resolver.d.ts.map +1 -1
  210. package/dist/o-node/src/router/resolvers/o-node.resolver.js +5 -1
  211. package/dist/o-node/src/ui/index.d.ts +3 -0
  212. package/dist/o-node/src/ui/index.d.ts.map +1 -0
  213. package/dist/o-node/src/ui/index.js +2 -0
  214. package/dist/o-node/src/ui/types.d.ts +110 -0
  215. package/dist/o-node/src/ui/types.d.ts.map +1 -0
  216. package/dist/o-node/src/ui/types.js +17 -0
  217. package/dist/o-node/src/ui/ui-graph.manager.d.ts +70 -0
  218. package/dist/o-node/src/ui/ui-graph.manager.d.ts.map +1 -0
  219. package/dist/o-node/src/ui/ui-graph.manager.js +274 -0
  220. package/dist/o-node/src/utils/index.d.ts +0 -2
  221. package/dist/o-node/src/utils/index.d.ts.map +1 -1
  222. package/dist/o-node/src/utils/index.js +0 -2
  223. package/dist/o-node/src/utils/stream.utils.d.ts.map +1 -1
  224. package/dist/o-node/src/utils/stream.utils.js +25 -21
  225. package/dist/o-node/test/helpers/test-node.tool.d.ts +15 -0
  226. package/dist/o-node/test/helpers/test-node.tool.d.ts.map +1 -0
  227. package/dist/o-node/test/helpers/test-node.tool.js +27 -0
  228. package/dist/src/connection/o-node-connection.manager.d.ts +14 -4
  229. package/dist/src/connection/o-node-connection.manager.d.ts.map +1 -1
  230. package/dist/src/connection/o-node-connection.manager.js +61 -29
  231. package/package.json +6 -6
@@ -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":["../../../../../o-core/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,15 @@
1
+ export interface oConnectionManagerConfig {
2
+ /**
3
+ * Default timeout in milliseconds for reading response data from a stream.
4
+ * Can be overridden per connection.
5
+ * Default: 120000 (2 minutes)
6
+ */
7
+ defaultReadTimeoutMs?: number;
8
+ /**
9
+ * Default timeout in milliseconds for waiting for stream buffer to drain when backpressure occurs.
10
+ * Can be overridden per connection.
11
+ * Default: 30000 (30 seconds)
12
+ */
13
+ defaultDrainTimeoutMs?: number;
14
+ }
15
+ //# sourceMappingURL=connection-manager.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-manager.config.d.ts","sourceRoot":"","sources":["../../../../../../o-core/src/connection/interfaces/connection-manager.config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC"}
@@ -0,0 +1,9 @@
1
+ export interface ConnectionSendParams {
2
+ address: string;
3
+ payload: {
4
+ [key: string]: unknown;
5
+ };
6
+ id?: string;
7
+ isStream?: boolean;
8
+ }
9
+ //# sourceMappingURL=connection-send-params.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-send-params.interface.d.ts","sourceRoot":"","sources":["../../../../../../o-core/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;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -0,0 +1,20 @@
1
+ /// <reference types="node" />
2
+ import { oAddress } from '../../router/o-address.js';
3
+ export interface oConnectionConfig {
4
+ nextHopAddress: oAddress;
5
+ callerAddress?: oAddress;
6
+ address: oAddress;
7
+ /**
8
+ * Timeout in milliseconds for reading response data from a stream.
9
+ * Default: 120000 (2 minutes)
10
+ */
11
+ readTimeoutMs?: number;
12
+ /**
13
+ * Timeout in milliseconds for waiting for stream buffer to drain when backpressure occurs.
14
+ * Default: 30000 (30 seconds)
15
+ */
16
+ drainTimeoutMs?: number;
17
+ isStream?: boolean;
18
+ abortSignal?: AbortSignal;
19
+ }
20
+ //# sourceMappingURL=connection.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.config.d.ts","sourceRoot":"","sources":["../../../../../../o-core/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;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B"}
@@ -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":["../../../../../../o-core/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":["../../../../../../o-core/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":["../../../../../o-core/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,26 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { oAddress } from '../router/o-address.js';
4
+ import { oRequest } from './o-request.js';
5
+ import { oResponse } from './o-response.js';
6
+ import { ConnectionSendParams } from './interfaces/connection-send-params.interface.js';
7
+ import { oObject } from '../core/o-object.js';
8
+ import { oConnectionConfig } from './interfaces/connection.config.js';
9
+ import { EventEmitter } from 'events';
10
+ export declare abstract class oConnection extends oObject {
11
+ protected readonly config: oConnectionConfig;
12
+ readonly id: string;
13
+ readonly address: oAddress;
14
+ readonly nextHopAddress: oAddress;
15
+ readonly callerAddress: oAddress | undefined;
16
+ protected readonly emitter: EventEmitter;
17
+ constructor(config: oConnectionConfig);
18
+ get abortSignal(): AbortSignal | undefined;
19
+ onChunk(listener: (response: oResponse) => void): void;
20
+ validate(): void;
21
+ createRequest(method: string, params: ConnectionSendParams): oRequest;
22
+ abstract transmit(request: oRequest): Promise<oResponse>;
23
+ send(data: ConnectionSendParams): Promise<oResponse>;
24
+ close(): Promise<void>;
25
+ }
26
+ //# sourceMappingURL=o-connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-connection.d.ts","sourceRoot":"","sources":["../../../../../o-core/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;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,8BAAsB,WAAY,SAAQ,OAAO;IAOnC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB;IANxD,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;IACpD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAsB;gBAE/B,MAAM,EAAE,iBAAiB;IAgBxD,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CAEzC;IAED,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,IAAI;IAI/C,QAAQ,IAAI,IAAI;IAMhB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,QAAQ;IAcrE,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,54 @@
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
+ import { EventEmitter } from 'events';
6
+ export class oConnection extends oObject {
7
+ constructor(config) {
8
+ super();
9
+ this.config = config;
10
+ this.emitter = new EventEmitter();
11
+ this.id = uuidv4();
12
+ this.address = config.address;
13
+ this.nextHopAddress = config.nextHopAddress;
14
+ this.callerAddress = config.callerAddress;
15
+ this.logger.setNamespace('Connection:[' +
16
+ (config.callerAddress?.value || 'unknown') +
17
+ ']-->[' +
18
+ this.address.value +
19
+ ']:' +
20
+ this.id);
21
+ }
22
+ get abortSignal() {
23
+ return this.config.abortSignal;
24
+ }
25
+ onChunk(listener) {
26
+ this.emitter.addListener('chunk', listener);
27
+ }
28
+ validate() {
29
+ if (!this.address || !this.nextHopAddress || !this.callerAddress) {
30
+ throw new Error('Connection configuration is invalid');
31
+ }
32
+ }
33
+ createRequest(method, params) {
34
+ return new oRequest({
35
+ method: method,
36
+ params: {
37
+ _connectionId: this.id,
38
+ _requestMethod: method,
39
+ _callerAddress: this.callerAddress?.value,
40
+ _isStreaming: this.config.isStream ?? false,
41
+ ...params,
42
+ },
43
+ id: params.id || uuidv4(),
44
+ });
45
+ }
46
+ async send(data) {
47
+ // proxy through the router tool
48
+ const request = this.createRequest(oProtocolMethods.ROUTE, data);
49
+ return this.transmit(request);
50
+ }
51
+ async close() {
52
+ this.logger.debug('Closing connection...');
53
+ }
54
+ }
@@ -0,0 +1,23 @@
1
+ import { JSONRPC_VERSION, JSONRPCRequest, Request, RequestId, RequestParams } from '@olane/o-protocol';
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 {
5
+ jsonrpc: typeof JSONRPC_VERSION;
6
+ method: string;
7
+ params: RequestParams;
8
+ id: RequestId;
9
+ state: RequestState;
10
+ constructor(config: Request & {
11
+ id: RequestId;
12
+ });
13
+ get connectionId(): string;
14
+ toJSON(): JSONRPCRequest;
15
+ setState(state: RequestState): void;
16
+ toString(): string;
17
+ static hasOlaneAddress(value: string): boolean;
18
+ static extractAddresses(value: string): string[];
19
+ static fromJSON(json: Request & {
20
+ id: RequestId;
21
+ }): oRequest;
22
+ }
23
+ //# sourceMappingURL=o-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-request.d.ts","sourceRoot":"","sources":["../../../../../o-core/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"}
@@ -0,0 +1,42 @@
1
+ import { JSONRPC_VERSION, } from '@olane/o-protocol';
2
+ import { RequestState } from './interfaces/request-state.enum.js';
3
+ import { oObject } from '../core/o-object.js';
4
+ export class oRequest extends oObject {
5
+ constructor(config) {
6
+ super(`Request:${config.id}${config.params?._callerAddress ? `Origin:${config.params._callerAddress}` : ''}`);
7
+ this.state = RequestState.PENDING;
8
+ this.jsonrpc = JSONRPC_VERSION;
9
+ this.method = config.method;
10
+ this.params = config.params;
11
+ this.id = config.id;
12
+ }
13
+ get connectionId() {
14
+ return this.params._connectionId;
15
+ }
16
+ toJSON() {
17
+ return {
18
+ jsonrpc: this.jsonrpc,
19
+ method: this.method,
20
+ params: this.params,
21
+ id: this.id,
22
+ };
23
+ }
24
+ setState(state) {
25
+ this.state = state;
26
+ }
27
+ toString() {
28
+ return JSON.stringify(this.toJSON());
29
+ }
30
+ static hasOlaneAddress(value) {
31
+ return (!!value &&
32
+ typeof value === 'string' &&
33
+ !!value?.match(/o:\/\/.*(placeholder)+(?:\/[\w.-]+)+/g));
34
+ }
35
+ static extractAddresses(value) {
36
+ const matches = value.matchAll(/o:\/\/.*(placeholder)+(?:\/[\w.-]+)+/g);
37
+ return Array.from(matches, (match) => match[0]);
38
+ }
39
+ static fromJSON(json) {
40
+ return new oRequest(json);
41
+ }
42
+ }
@@ -8,5 +8,6 @@ export declare class oResponse implements Response {
8
8
  });
9
9
  toJSON(): any;
10
10
  toString(): string;
11
+ static fromJSON(json: any): oResponse;
11
12
  }
12
13
  //# sourceMappingURL=o-response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"o-response.d.ts","sourceRoot":"","sources":["../../../../../o-core/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
+ {"version":3,"file":"o-response.d.ts","sourceRoot":"","sources":["../../../../../o-core/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;IAIlB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS;CAOtC"}
@@ -15,4 +15,11 @@ export class oResponse {
15
15
  toString() {
16
16
  return JSON.stringify(this);
17
17
  }
18
+ static fromJSON(json) {
19
+ return new oResponse({
20
+ ...json.result,
21
+ _connectionId: json.result?._connectionId,
22
+ _requestMethod: json.result?._requestMethod,
23
+ });
24
+ }
18
25
  }
@@ -0,0 +1,4 @@
1
+ export declare const DEFAULT_CONFIG_PATH: string;
2
+ export declare const DEFAULT_INSTANCE_PATH: string;
3
+ export declare const DEFAULT_CONFIG_FILE: string;
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../o-core/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"}
@@ -0,0 +1,5 @@
1
+ import path from 'path';
2
+ import os from 'os';
3
+ export const DEFAULT_CONFIG_PATH = path.join(os.homedir(), '.olane');
4
+ export const DEFAULT_INSTANCE_PATH = path.join(DEFAULT_CONFIG_PATH, 'os-instances');
5
+ export const DEFAULT_CONFIG_FILE = path.join(DEFAULT_CONFIG_PATH, 'config.json');
@@ -0,0 +1,2 @@
1
+ export * from './config.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../o-core/src/core/defaults/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './config.js';
@@ -0,0 +1,25 @@
1
+ import { Logger } from '../utils/logger.js';
2
+ export interface CleanupFunction {
3
+ (): Promise<void> | void;
4
+ }
5
+ export interface GracefulShutdownOptions {
6
+ timeout?: number;
7
+ logger?: Logger;
8
+ onTimeout?: () => void;
9
+ }
10
+ /**
11
+ * Sets up signal handlers for graceful shutdown
12
+ * @param cleanup Cleanup function to run on shutdown
13
+ * @param options Configuration options for graceful shutdown
14
+ */
15
+ export declare function setupGracefulShutdown(cleanup: CleanupFunction, options?: GracefulShutdownOptions): void;
16
+ /**
17
+ * Creates a cleanup function that stops multiple resources
18
+ * @param resources Array of resources with stop methods
19
+ * @param logger Logger instance for logging
20
+ */
21
+ export declare function createMultiResourceCleanup(resources: Array<{
22
+ stop(): Promise<void> | void;
23
+ address?: string;
24
+ }>, logger?: Logger): CleanupFunction;
25
+ //# sourceMappingURL=graceful-shutdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graceful-shutdown.d.ts","sourceRoot":"","sources":["../../../../../o-core/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"}
@@ -0,0 +1,84 @@
1
+ import { Logger } from '../utils/logger.js';
2
+ /**
3
+ * Sets up signal handlers for graceful shutdown
4
+ * @param cleanup Cleanup function to run on shutdown
5
+ * @param options Configuration options for graceful shutdown
6
+ */
7
+ export function setupGracefulShutdown(cleanup, options = {}) {
8
+ const { timeout = 30000, // 30 seconds default timeout
9
+ logger = new Logger('GracefulShutdown'), onTimeout, } = options;
10
+ let isShuttingDown = false;
11
+ const performCleanup = async (signal) => {
12
+ if (isShuttingDown) {
13
+ logger.debug('Shutdown already in progress, skipping...');
14
+ return;
15
+ }
16
+ isShuttingDown = true;
17
+ logger.info(`Received ${signal}, initiating graceful shutdown...`);
18
+ try {
19
+ // Set up timeout for cleanup operations
20
+ const timeoutPromise = new Promise((_, reject) => {
21
+ setTimeout(() => {
22
+ reject(new Error(`Cleanup timeout after ${timeout}ms`));
23
+ }, timeout);
24
+ });
25
+ // Perform cleanup with timeout
26
+ await Promise.race([Promise.resolve(cleanup()), timeoutPromise]);
27
+ logger.info('Graceful shutdown completed successfully');
28
+ }
29
+ catch (error) {
30
+ logger.error('Error during graceful shutdown:', error);
31
+ if (onTimeout) {
32
+ onTimeout();
33
+ }
34
+ }
35
+ finally {
36
+ logger.info('Process exiting');
37
+ process.exit(0);
38
+ }
39
+ };
40
+ // Handle SIGINT (Ctrl+C)
41
+ process.on('SIGINT', () => performCleanup('SIGINT'));
42
+ // Handle SIGTERM (termination signal)
43
+ process.on('SIGTERM', () => performCleanup('SIGTERM'));
44
+ // Handle SIGUSR2 (Node.js restart signal)
45
+ process.on('SIGUSR2', () => performCleanup('SIGUSR2'));
46
+ // Handle uncaught exceptions
47
+ process.on('uncaughtException', (error) => {
48
+ logger.error('Uncaught Exception:', error);
49
+ performCleanup('uncaughtException');
50
+ });
51
+ // Handle unhandled promise rejections
52
+ process.on('unhandledRejection', (reason, promise) => {
53
+ logger.error('Unhandled Rejection at:', promise, 'reason:', reason);
54
+ performCleanup('unhandledRejection');
55
+ });
56
+ // Handle process exit (synchronous cleanup)
57
+ process.on('exit', (code) => {
58
+ logger.info(`Process exiting with code: ${code}`);
59
+ });
60
+ }
61
+ /**
62
+ * Creates a cleanup function that stops multiple resources
63
+ * @param resources Array of resources with stop methods
64
+ * @param logger Logger instance for logging
65
+ */
66
+ export function createMultiResourceCleanup(resources, logger = new Logger('MultiResourceCleanup')) {
67
+ return async () => {
68
+ logger.info(`Stopping ${resources.length} resources...`);
69
+ const stopPromises = resources.map(async (resource) => {
70
+ try {
71
+ const resourceName = resource.address || resource.constructor.name;
72
+ logger.debug(`Stopping resource: ${resourceName}`);
73
+ await Promise.resolve(resource.stop());
74
+ logger.debug(`Successfully stopped resource: ${resourceName}`);
75
+ }
76
+ catch (error) {
77
+ const resourceName = resource.address || resource.constructor.name;
78
+ logger.error(`Error stopping resource ${resourceName}:`, error);
79
+ }
80
+ });
81
+ await Promise.allSettled(stopPromises);
82
+ logger.info('All resources stopped');
83
+ };
84
+ }
@@ -0,0 +1,9 @@
1
+ export * from './o-core.js';
2
+ export * from './interfaces/index.js';
3
+ export * from './o-dependency.js';
4
+ export * from './o-parameter.js';
5
+ export * from './defaults/index.js';
6
+ export * from './graceful-shutdown.js';
7
+ export * from './lib/index.js';
8
+ export * from './o-object.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../o-core/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"}
@@ -0,0 +1,8 @@
1
+ export * from './o-core.js';
2
+ export * from './interfaces/index.js';
3
+ export * from './o-dependency.js';
4
+ export * from './o-parameter.js';
5
+ export * from './defaults/index.js';
6
+ export * from './graceful-shutdown.js';
7
+ export * from './lib/index.js';
8
+ export * from './o-object.js';
@@ -0,0 +1,7 @@
1
+ export * from './o-core.config.js';
2
+ export * from './node-type.enum.js';
3
+ export * from './state.enum.js';
4
+ export * from './use-options.interface.js';
5
+ export * from './o-core.interface.js';
6
+ export * from './use-stream-options.interface.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../o-core/src/core/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './o-core.config.js';
2
+ export * from './node-type.enum.js';
3
+ export * from './state.enum.js';
4
+ export * from './use-options.interface.js';
5
+ export * from './o-core.interface.js';
6
+ export * from './use-stream-options.interface.js';
@@ -0,0 +1,10 @@
1
+ export declare enum NodeType {
2
+ LEADER = "leader",
3
+ ROOT = "root",
4
+ NODE = "node",
5
+ TOOL = "tool",
6
+ AGENT = "agent",
7
+ HUMAN = "human",
8
+ UNKNOWN = "unknown"
9
+ }
10
+ //# sourceMappingURL=node-type.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-type.enum.d.ts","sourceRoot":"","sources":["../../../../../../o-core/src/core/interfaces/node-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAO,YAAY;CACpB"}
@@ -0,0 +1,10 @@
1
+ export var NodeType;
2
+ (function (NodeType) {
3
+ NodeType["LEADER"] = "leader";
4
+ NodeType["ROOT"] = "root";
5
+ NodeType["NODE"] = "node";
6
+ NodeType["TOOL"] = "tool";
7
+ NodeType["AGENT"] = "agent";
8
+ NodeType["HUMAN"] = "human";
9
+ NodeType["UNKNOWN"] = "unknown";
10
+ })(NodeType || (NodeType = {}));
@@ -0,0 +1,23 @@
1
+ import { Libp2pConfig } from '@olane/o-config';
2
+ import { oAddress } from '../../router/o-address.js';
3
+ import { NodeType } from './node-type.enum.js';
4
+ import { oDependency, oMethod } from '@olane/o-protocol';
5
+ export interface oCoreConfig {
6
+ address: oAddress;
7
+ leader: oAddress | null;
8
+ parent: oAddress | null;
9
+ type?: NodeType;
10
+ seed?: string;
11
+ name?: string;
12
+ network?: Libp2pConfig;
13
+ metrics?: boolean;
14
+ description?: string;
15
+ dependencies?: oDependency[];
16
+ methods?: {
17
+ [key: string]: oMethod;
18
+ };
19
+ cwd?: string;
20
+ systemName?: string;
21
+ joinToken?: string;
22
+ }
23
+ //# sourceMappingURL=o-core.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-core.config.d.ts","sourceRoot":"","sources":["../../../../../../o-core/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;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1 @@
1
+ export {};