@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,15 @@
1
+ import { oErrorInterface } from './interfaces/o-error.interface.js';
2
+ export declare class oError extends Error implements oErrorInterface {
3
+ code: number;
4
+ details?: any;
5
+ message: string;
6
+ constructor(code: number, message: string, details?: any);
7
+ toJSON(): {
8
+ code: number;
9
+ message: string;
10
+ details: any;
11
+ };
12
+ static fromJSON(json: any): oError;
13
+ toString(): string;
14
+ }
15
+ //# sourceMappingURL=o-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-error.d.ts","sourceRoot":"","sources":["../../../src/error/o-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,qBAAa,MAAO,SAAQ,KAAM,YAAW,eAAe;IAC1D,IAAI,EAAE,MAAM,CAAK;IACjB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,MAAM,CAAM;gBAET,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;IAOxD,MAAM;;;;;IAQN,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG;IAOzB,QAAQ;CAGT"}
@@ -1,5 +1,5 @@
1
- import { oToolErrorCodes } from './enums/codes.error.js';
2
- export class oToolError extends Error {
1
+ import { oErrorCodes } from './enums/codes.error.js';
2
+ export class oError extends Error {
3
3
  constructor(code, message, details) {
4
4
  super(message);
5
5
  this.code = 0;
@@ -17,9 +17,9 @@ export class oToolError extends Error {
17
17
  }
18
18
  static fromJSON(json) {
19
19
  if (json?.code && json?.message) {
20
- return new oToolError(json.code, json.message, json.details);
20
+ return new oError(json.code, json.message, json.details);
21
21
  }
22
- return new oToolError(oToolErrorCodes.TOOL_ERROR, json, json?.details);
22
+ return new oError(oErrorCodes.UNKNOWN, json, json?.details);
23
23
  }
24
24
  toString() {
25
25
  return `OLANE ERROR CODE: ${this.code}\nMESSAGE: ${this.message}\n-----\nDETAILS: ${this.details}`;
@@ -1,7 +1,7 @@
1
+ export * from './connection/index.js';
1
2
  export * from './core/index.js';
2
- export * from './node/index.js';
3
3
  export * from './error/index.js';
4
- export * from './plan/index.js';
5
- export * from './node-virtual/index.js';
4
+ export * from './router/index.js';
5
+ export * from './transports/index.js';
6
6
  export * from './utils/index.js';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
+ export * from './connection/index.js';
1
2
  export * from './core/index.js';
2
- export * from './node/index.js';
3
3
  export * from './error/index.js';
4
- export * from './plan/index.js';
5
- export * from './node-virtual/index.js';
4
+ export * from './router/index.js';
5
+ export * from './transports/index.js';
6
6
  export * from './utils/index.js';
@@ -0,0 +1,8 @@
1
+ export declare enum RestrictedAddresses {
2
+ REGISTRY = "o://registry",
3
+ LEADER = "o://leader",
4
+ LANE = "o://lane",
5
+ INTELLIGENCE = "o://intelligence"
6
+ }
7
+ export declare const RestrictedAddressesList: RestrictedAddresses[];
8
+ //# sourceMappingURL=restricted-addresses.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restricted-addresses.enum.d.ts","sourceRoot":"","sources":["../../../../src/router/enums/restricted-addresses.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,QAAQ,iBAAiB;IACzB,MAAM,eAAe;IACrB,IAAI,aAAa;IACjB,YAAY,qBAAqB;CAClC;AAED,eAAO,MAAM,uBAAuB,uBAKnC,CAAC"}
@@ -0,0 +1,13 @@
1
+ export var RestrictedAddresses;
2
+ (function (RestrictedAddresses) {
3
+ RestrictedAddresses["REGISTRY"] = "o://registry";
4
+ RestrictedAddresses["LEADER"] = "o://leader";
5
+ RestrictedAddresses["LANE"] = "o://lane";
6
+ RestrictedAddresses["INTELLIGENCE"] = "o://intelligence";
7
+ })(RestrictedAddresses || (RestrictedAddresses = {}));
8
+ export const RestrictedAddressesList = [
9
+ RestrictedAddresses.REGISTRY,
10
+ RestrictedAddresses.LEADER,
11
+ RestrictedAddresses.LANE,
12
+ RestrictedAddresses.INTELLIGENCE,
13
+ ];
@@ -0,0 +1,9 @@
1
+ export * from './o-router.js';
2
+ export * from './o-address.js';
3
+ export * from './interfaces/route.response.js';
4
+ export * from './enums/restricted-addresses.enum.js';
5
+ export * from './o-address-resolution.js';
6
+ export * from './o-address-resolver.js';
7
+ export * from './interfaces/resolve.request.js';
8
+ export * from './o-request.router.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/router/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from './o-router.js';
2
+ export * from './o-address.js';
3
+ export * from './interfaces/route.response.js';
4
+ export * from './enums/restricted-addresses.enum.js';
5
+ export * from './o-address-resolution.js';
6
+ export * from './o-address-resolver.js';
7
+ export * from './interfaces/resolve.request.js';
8
+ export * from './o-request.router.js';
@@ -0,0 +1,10 @@
1
+ import { oCore } from '../../core/o-core.js';
2
+ import { oAddress } from '../o-address.js';
3
+ import { oRouterRequest } from '../o-request.router.js';
4
+ export interface ResolveRequest {
5
+ address: oAddress;
6
+ targetAddress: oAddress;
7
+ node: oCore;
8
+ request?: oRouterRequest;
9
+ }
10
+ //# sourceMappingURL=resolve.request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.request.d.ts","sourceRoot":"","sources":["../../../../src/router/interfaces/resolve.request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,QAAQ,CAAC;IAClB,aAAa,EAAE,QAAQ,CAAC;IACxB,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B"}
@@ -0,0 +1,8 @@
1
+ import { oAddress } from '../o-address.js';
2
+ import { oRouterRequest } from '../o-request.router.js';
3
+ export interface RouteResponse {
4
+ nextHopAddress: oAddress;
5
+ targetAddress: oAddress;
6
+ requestOverride?: oRouterRequest;
7
+ }
8
+ //# sourceMappingURL=route.response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.response.d.ts","sourceRoot":"","sources":["../../../../src/router/interfaces/route.response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,QAAQ,CAAC;IACzB,aAAa,EAAE,QAAQ,CAAC;IACxB,eAAe,CAAC,EAAE,cAAc,CAAC;CAClC"}
@@ -0,0 +1,12 @@
1
+ import { oAddress } from './o-address.js';
2
+ import { oAddressResolver } from './o-address-resolver.js';
3
+ import { oObject } from '../core/o-object.js';
4
+ import { RouteResponse } from './interfaces/route.response.js';
5
+ import { ResolveRequest } from './interfaces/resolve.request.js';
6
+ export declare class oAddressResolution extends oObject {
7
+ private readonly resolvers;
8
+ addResolver(resolver: oAddressResolver, isPriority?: boolean): void;
9
+ supportsAddress(address: oAddress): boolean;
10
+ resolve(request: ResolveRequest): Promise<RouteResponse>;
11
+ }
12
+ //# sourceMappingURL=o-address-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-address-resolution.d.ts","sourceRoot":"","sources":["../../../src/router/o-address-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE,qBAAa,kBAAmB,SAAQ,OAAO;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAEpD,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,UAAU,GAAE,OAAe;IAQnE,eAAe,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO;IAQrC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CA+B/D"}
@@ -0,0 +1,42 @@
1
+ import { oAddress } from './o-address.js';
2
+ import { oObject } from '../core/o-object.js';
3
+ export class oAddressResolution extends oObject {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.resolvers = [];
7
+ }
8
+ addResolver(resolver, isPriority = false) {
9
+ if (isPriority) {
10
+ this.resolvers.unshift(resolver);
11
+ }
12
+ else {
13
+ this.resolvers.push(resolver);
14
+ }
15
+ }
16
+ supportsAddress(address) {
17
+ return this.resolvers.some((r) => address.transports.some((t) => {
18
+ return r.transportTypes.some((r) => r === t.type);
19
+ }));
20
+ }
21
+ async resolve(request) {
22
+ let resolvedAddress = new oAddress(request.address.toString(), request.address.transports);
23
+ let targetAddress = resolvedAddress;
24
+ let requestOverride = request.request;
25
+ for (const resolver of this.resolvers) {
26
+ const { nextHopAddress, targetAddress: resolverTargetAddress, requestOverride: resolverRequestOverride, } = await resolver.resolve({
27
+ address: resolvedAddress,
28
+ targetAddress: targetAddress,
29
+ node: request.node,
30
+ request: requestOverride,
31
+ });
32
+ requestOverride = resolverRequestOverride || requestOverride;
33
+ targetAddress = resolverTargetAddress || targetAddress;
34
+ resolvedAddress = nextHopAddress;
35
+ }
36
+ return {
37
+ nextHopAddress: resolvedAddress,
38
+ targetAddress: targetAddress,
39
+ requestOverride: requestOverride,
40
+ };
41
+ }
42
+ }
@@ -0,0 +1,14 @@
1
+ import { oAddress } from './o-address.js';
2
+ import { oObject } from '../core/o-object.js';
3
+ import { oTransport } from '../transports/o-transport.js';
4
+ import { TransportType } from '../transports/interfaces/transport-type.enum.js';
5
+ import { RouteResponse } from './interfaces/route.response.js';
6
+ import { ResolveRequest } from './interfaces/resolve.request.js';
7
+ export declare abstract class oAddressResolver extends oObject {
8
+ protected readonly address: oAddress;
9
+ constructor(address: oAddress);
10
+ get customTransports(): oTransport[];
11
+ get transportTypes(): TransportType[];
12
+ resolve(request: ResolveRequest): Promise<RouteResponse>;
13
+ }
14
+ //# sourceMappingURL=o-address-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-address-resolver.d.ts","sourceRoot":"","sources":["../../../src/router/o-address-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,8BAAsB,gBAAiB,SAAQ,OAAO;IACxC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ;gBAAjB,OAAO,EAAE,QAAQ;IAIhD,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAEnC;IAED,IAAI,cAAc,IAAI,aAAa,EAAE,CAEpC;IAEK,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAM/D"}
@@ -0,0 +1,19 @@
1
+ import { oObject } from '../core/o-object.js';
2
+ export class oAddressResolver extends oObject {
3
+ constructor(address) {
4
+ super();
5
+ this.address = address;
6
+ }
7
+ get customTransports() {
8
+ return [];
9
+ }
10
+ get transportTypes() {
11
+ return this.customTransports.map((transport) => transport.type);
12
+ }
13
+ async resolve(request) {
14
+ return {
15
+ nextHopAddress: request.address,
16
+ targetAddress: request.address,
17
+ };
18
+ }
19
+ }
@@ -0,0 +1,33 @@
1
+ import { CID } from 'multiformats';
2
+ import { oObject } from '../core/o-object.js';
3
+ import { oTransport } from '../transports/o-transport.js';
4
+ export declare class oAddress extends oObject {
5
+ readonly value: string;
6
+ transports: oTransport[];
7
+ constructor(value: string, transports?: oTransport[]);
8
+ get libp2pTransports(): oTransport[];
9
+ get customTransports(): oTransport[];
10
+ equals(other: oAddress): boolean;
11
+ transportsEqual(other: oAddress): boolean;
12
+ setTransports(transports: oTransport[]): void;
13
+ validate(): boolean;
14
+ get paths(): string;
15
+ get protocol(): string;
16
+ get root(): string;
17
+ toStaticAddress(): oAddress;
18
+ toRootAddress(): oAddress;
19
+ toString(): string;
20
+ toJSON(): {
21
+ value: string;
22
+ transports: string[];
23
+ };
24
+ supportsTransport(transport: oTransport): boolean;
25
+ toCID(): Promise<CID>;
26
+ static equals(a: oAddress, b: oAddress): boolean;
27
+ static leader(): oAddress;
28
+ static lane(): oAddress;
29
+ static registry(): oAddress;
30
+ static isStatic(address: oAddress): boolean;
31
+ static next(address: oAddress, targetAddress: oAddress): oAddress;
32
+ }
33
+ //# sourceMappingURL=o-address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-address.d.ts","sourceRoot":"","sources":["../../../src/router/o-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI1D,qBAAa,QAAS,SAAQ,OAAO;aAIjB,KAAK,EAAE,MAAM;IAHxB,UAAU,EAAE,UAAU,EAAE,CAAC;gBAGd,KAAK,EAAE,MAAM,EAC7B,UAAU,GAAE,UAAU,EAAO;IAM/B,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAEnC;IAED,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAEnC;IAED,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAIhC,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAMzC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI;IAI7C,QAAQ,IAAI,OAAO;IAOnB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,eAAe,IAAI,QAAQ;IAQ3B,aAAa,IAAI,QAAQ;IAQzB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI;QACR,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB;IAOD,iBAAiB,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO;IAI3C,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC;IAI3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO;IAIhD,MAAM,CAAC,MAAM,IAAI,QAAQ;IAIzB,MAAM,CAAC,IAAI,IAAI,QAAQ;IAIvB,MAAM,CAAC,QAAQ,IAAI,QAAQ;IAI3B,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO;IAI3C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,GAAG,QAAQ;CAqBlE"}
@@ -0,0 +1,101 @@
1
+ import { oObject } from '../core/o-object.js';
2
+ import { TransportType } from '../transports/index.js';
3
+ import { CoreUtils } from '../utils/core.utils.js';
4
+ import { RestrictedAddresses } from './enums/restricted-addresses.enum.js';
5
+ export class oAddress extends oObject {
6
+ constructor(value, transports = []) {
7
+ super(value);
8
+ this.value = value;
9
+ this.transports = transports;
10
+ }
11
+ get libp2pTransports() {
12
+ return this.transports.filter((t) => t.type === TransportType.LIBP2P) || [];
13
+ }
14
+ get customTransports() {
15
+ return this.transports.filter((t) => t.type === TransportType.CUSTOM) || [];
16
+ }
17
+ equals(other) {
18
+ return this.value === other.value && this.transportsEqual(other);
19
+ }
20
+ transportsEqual(other) {
21
+ return this.transports.every((t) => other.transports.some((t2) => t.toString() === t2.toString()));
22
+ }
23
+ setTransports(transports) {
24
+ this.transports = transports;
25
+ }
26
+ validate() {
27
+ if (!this.value?.startsWith('o://')) {
28
+ return false;
29
+ }
30
+ return true;
31
+ }
32
+ get paths() {
33
+ return this.value.replace('o://', '');
34
+ }
35
+ get protocol() {
36
+ return this.value.replace('o://', '/o/');
37
+ }
38
+ get root() {
39
+ return 'o://' + this.paths.split('/')[0];
40
+ }
41
+ toStaticAddress() {
42
+ const paths = this.paths.split('/');
43
+ if (paths.length === 0) {
44
+ return this;
45
+ }
46
+ return new oAddress(`o://${paths[paths.length - 1]}`);
47
+ }
48
+ toRootAddress() {
49
+ const paths = this.paths.split('/');
50
+ if (paths.length === 0) {
51
+ return this;
52
+ }
53
+ return new oAddress(`o://${paths[0]}`);
54
+ }
55
+ toString() {
56
+ return this.value;
57
+ }
58
+ toJSON() {
59
+ return {
60
+ value: this.value,
61
+ transports: this.transports.map((t) => t.toString()),
62
+ };
63
+ }
64
+ supportsTransport(transport) {
65
+ return this.transports.some((t) => t.type === transport.type);
66
+ }
67
+ async toCID() {
68
+ return await CoreUtils.toCID({ address: this.toString() });
69
+ }
70
+ static equals(a, b) {
71
+ return a.value === b.value;
72
+ }
73
+ static leader() {
74
+ return new oAddress(RestrictedAddresses.LEADER);
75
+ }
76
+ static lane() {
77
+ return new oAddress(RestrictedAddresses.LANE);
78
+ }
79
+ static registry() {
80
+ return new oAddress(RestrictedAddresses.REGISTRY);
81
+ }
82
+ static isStatic(address) {
83
+ return address.value.startsWith(RestrictedAddresses.LEADER) === false;
84
+ }
85
+ static next(address, targetAddress) {
86
+ const remainingPath = targetAddress.protocol.replace(address.protocol + '/', '');
87
+ // we are at the destination
88
+ if (remainingPath === '') {
89
+ return address;
90
+ }
91
+ // do we need to go back to the leader?
92
+ if (!address.equals(oAddress.leader()) && // if we are a leader, do not got back to self
93
+ (remainingPath === targetAddress.protocol ||
94
+ oAddress.isStatic(targetAddress))) {
95
+ return oAddress.leader();
96
+ }
97
+ // we need to go to the child address
98
+ const nextHop = remainingPath.replace('/o/', '').split('/').reverse().pop();
99
+ return new oAddress(address.value + '/' + nextHop);
100
+ }
101
+ }
@@ -0,0 +1,18 @@
1
+ import { oProtocolMethods, RequestId, oRouterRequestInterface, RequestParams, JSONRPC_VERSION } from '@olane/o-protocol';
2
+ import { Stream } from '@olane/o-config';
3
+ import { oRequest } from '../connection/o-request.js';
4
+ export declare class oRouterRequest extends oRequest implements oRouterRequestInterface {
5
+ jsonrpc: typeof JSONRPC_VERSION;
6
+ method: oProtocolMethods.ROUTE;
7
+ stream?: Stream | undefined;
8
+ params: RequestParams & {
9
+ address: string;
10
+ payload: {
11
+ [key: string]: unknown;
12
+ };
13
+ };
14
+ constructor(config: oRouterRequestInterface & {
15
+ id: RequestId;
16
+ });
17
+ }
18
+ //# sourceMappingURL=o-request.router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-request.router.d.ts","sourceRoot":"","sources":["../../../src/router/o-request.router.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,uBAAuB,EACvB,aAAa,EACb,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,qBAAa,cACX,SAAQ,QACR,YAAW,uBAAuB;IAElC,OAAO,EAAE,OAAO,eAAe,CAAC;IAChC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,aAAa,GAAG;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH,CAAC;gBACU,MAAM,EAAE,uBAAuB,GAAG;QAAE,EAAE,EAAE,SAAS,CAAA;KAAE;CAQhE"}
@@ -0,0 +1,12 @@
1
+ import { JSONRPC_VERSION, } from '@olane/o-protocol';
2
+ import { oRequest } from '../connection/o-request.js';
3
+ export class oRouterRequest extends oRequest {
4
+ constructor(config) {
5
+ super(config);
6
+ this.jsonrpc = JSONRPC_VERSION;
7
+ this.method = config.method;
8
+ this.params = config.params;
9
+ this.stream = config.stream;
10
+ this.id = config.id;
11
+ }
12
+ }
@@ -0,0 +1,19 @@
1
+ import { oAddress } from './o-address.js';
2
+ import { oObject } from '../core/o-object.js';
3
+ import { oAddressResolution } from './o-address-resolution.js';
4
+ import { oAddressResolver } from './o-address-resolver.js';
5
+ import { oRequest } from '../connection/o-request.js';
6
+ import type { oCore } from '../core/o-core.js';
7
+ import { RouteResponse } from './interfaces/route.response.js';
8
+ import { oRouterRequest } from './o-request.router.js';
9
+ export declare abstract class oRouter extends oObject {
10
+ addressResolution: oAddressResolution;
11
+ constructor();
12
+ abstract translate(addressWithLeaderTransports: oAddress, node: oCore): Promise<RouteResponse>;
13
+ abstract isInternal(addressWithLeaderTransports: oAddress, node: oCore): boolean;
14
+ abstract route(request: oRouterRequest, node: oCore): Promise<RouteResponse>;
15
+ protected abstract forward(address: oAddress, request: oRequest | oRouterRequest, node: oCore): Promise<any>;
16
+ addResolver(resolver: oAddressResolver, isPriority?: boolean): void;
17
+ supportsAddress(address: oAddress): boolean;
18
+ }
19
+ //# sourceMappingURL=o-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-router.d.ts","sourceRoot":"","sources":["../../../src/router/o-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,8BAAsB,OAAQ,SAAQ,OAAO;IACpC,iBAAiB,EAAG,kBAAkB,CAAC;;IAQ9C,QAAQ,CAAC,SAAS,CAChB,2BAA2B,EAAE,QAAQ,EACrC,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC;IAGzB,QAAQ,CAAC,UAAU,CACjB,2BAA2B,EAAE,QAAQ,EACrC,IAAI,EAAE,KAAK,GACV,OAAO;IAKV,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC;IAG5E,SAAS,CAAC,QAAQ,CAAC,OAAO,CACxB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,QAAQ,GAAG,cAAc,EAClC,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,GAAG,CAAC;IAEf,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,UAAU,GAAE,OAAe,GAAG,IAAI;IAI1E,eAAe,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO;CAG5C"}
@@ -0,0 +1,14 @@
1
+ import { oObject } from '../core/o-object.js';
2
+ import { oAddressResolution } from './o-address-resolution.js';
3
+ export class oRouter extends oObject {
4
+ constructor() {
5
+ super();
6
+ this.addressResolution = new oAddressResolution();
7
+ }
8
+ addResolver(resolver, isPriority = false) {
9
+ this.addressResolution.addResolver(resolver, isPriority);
10
+ }
11
+ supportsAddress(address) {
12
+ return this.addressResolution.supportsAddress(address);
13
+ }
14
+ }
@@ -0,0 +1,6 @@
1
+ import { oTransport } from './o-transport.js';
2
+ export declare class oCustomTransport extends oTransport {
3
+ constructor(value: string);
4
+ toString(): string;
5
+ }
6
+ //# sourceMappingURL=custom.transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.transport.d.ts","sourceRoot":"","sources":["../../../src/transports/custom.transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,gBAAiB,SAAQ,UAAU;gBAClC,KAAK,EAAE,MAAM;IAIzB,QAAQ,IAAI,MAAM;CAGnB"}
@@ -0,0 +1,10 @@
1
+ import { TransportType } from './interfaces/transport-type.enum.js';
2
+ import { oTransport } from './o-transport.js';
3
+ export class oCustomTransport extends oTransport {
4
+ constructor(value) {
5
+ super(value, TransportType.CUSTOM);
6
+ }
7
+ toString() {
8
+ return this.value.toString();
9
+ }
10
+ }
@@ -0,0 +1,4 @@
1
+ export * from './o-transport.js';
2
+ export * from './custom.transport.js';
3
+ export * from './interfaces/transport-type.enum.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transports/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './o-transport.js';
2
+ export * from './custom.transport.js';
3
+ export * from './interfaces/transport-type.enum.js';
@@ -0,0 +1,5 @@
1
+ export declare enum TransportType {
2
+ LIBP2P = "libp2p",
3
+ CUSTOM = "custom"
4
+ }
5
+ //# sourceMappingURL=transport-type.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/transports/interfaces/transport-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB"}
@@ -0,0 +1,5 @@
1
+ export var TransportType;
2
+ (function (TransportType) {
3
+ TransportType["LIBP2P"] = "libp2p";
4
+ TransportType["CUSTOM"] = "custom";
5
+ })(TransportType || (TransportType = {}));
@@ -0,0 +1,10 @@
1
+ import { oObject } from '../core/o-object.js';
2
+ import { TransportType } from './interfaces/transport-type.enum.js';
3
+ export declare abstract class oTransport extends oObject {
4
+ readonly value: any;
5
+ readonly type: TransportType;
6
+ constructor(value: any, type?: TransportType);
7
+ abstract toString(): string;
8
+ toJSON(): any;
9
+ }
10
+ //# sourceMappingURL=o-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o-transport.d.ts","sourceRoot":"","sources":["../../../src/transports/o-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,8BAAsB,UAAW,SAAQ,OAAO;IAC9C,SAAgB,KAAK,EAAE,GAAG,CAAC;IAC3B,SAAgB,IAAI,EAAE,aAAa,CAAwB;gBAE/C,KAAK,EAAE,GAAG,EAAE,IAAI,GAAE,aAAoC;IAMlE,QAAQ,CAAC,QAAQ,IAAI,MAAM;IAE3B,MAAM,IAAI,GAAG;CAMd"}
@@ -0,0 +1,16 @@
1
+ import { oObject } from '../core/o-object.js';
2
+ import { TransportType } from './interfaces/transport-type.enum.js';
3
+ export class oTransport extends oObject {
4
+ constructor(value, type = TransportType.LIBP2P) {
5
+ super();
6
+ this.type = TransportType.LIBP2P;
7
+ this.value = value;
8
+ this.type = type;
9
+ }
10
+ toJSON() {
11
+ return {
12
+ value: this.value,
13
+ type: this.type,
14
+ };
15
+ }
16
+ }
@@ -1,10 +1,11 @@
1
1
  import { Stream } from '@olane/o-config';
2
- import { oAddress } from '../o-address.js';
3
- import { oResponse } from '../lib/o-response.js';
4
- import { oRequest } from '../lib/o-request.js';
2
+ import { oAddress } from '../router/o-address.js';
3
+ import { oResponse } from '../connection/o-response.js';
4
+ import { oRequest } from '../connection/o-request.js';
5
5
  import { CID } from 'multiformats';
6
6
  export declare class CoreUtils {
7
7
  static generatePeerId(): Promise<any>;
8
+ static buildResponse(request: oRequest, result: any, error: any): oResponse;
8
9
  static generatePrivateKey(seed: string): Promise<any>;
9
10
  /**
10
11
  * Convert any user phrase to exactly 32 bytes for Ed25519 key generation.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/core.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EAGP,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAInC,qBAAa,SAAS;WACP,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAK3C,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS;WAe9D,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAQ3D;;;;;;OAMG;WACW,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;WAO7C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;WAOpC,YAAY,CACxB,aAAa,EAAE,QAAQ,EACvB,YAAY,EAAE,QAAQ,GACrB,QAAQ;WAIS,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;WAWhD,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;WAc7C,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAMnD"}
@@ -1,7 +1,8 @@
1
1
  import { generateKeyPairFromSeed, createEd25519PeerId, Uint8ArrayList, pushable, } from '@olane/o-config';
2
2
  import { createHash } from 'crypto';
3
- import { oAddress } from '../o-address.js';
4
- import { oRequest } from '../lib/o-request.js';
3
+ import { oAddress } from '../router/o-address.js';
4
+ import { oResponse } from '../connection/o-response.js';
5
+ import { oRequest } from '../connection/o-request.js';
5
6
  import { CID } from 'multiformats';
6
7
  import * as json from 'multiformats/codecs/json';
7
8
  import { sha256 } from 'multiformats/hashes/sha2';
@@ -10,6 +11,20 @@ export class CoreUtils {
10
11
  const peerId = await createEd25519PeerId();
11
12
  return peerId;
12
13
  }
14
+ static buildResponse(request, result, error) {
15
+ let success = true;
16
+ if (error) {
17
+ success = false;
18
+ }
19
+ return new oResponse({
20
+ id: request.id,
21
+ data: result,
22
+ error: result?.error,
23
+ ...{ success },
24
+ _requestMethod: request.method,
25
+ _connectionId: request.params?._connectionId,
26
+ });
27
+ }
13
28
  static async generatePrivateKey(seed) {
14
29
  // Convert any user phrase to exactly 32 bytes using SHA-256
15
30
  const seedBytes = CoreUtils.phraseToSeedBytes(seed);
@@ -1,4 +1,6 @@
1
1
  export * from './object.utils.js';
2
2
  export * from './regex.utils.js';
3
3
  export * from './remote.utils.js';
4
+ export * from './logger.js';
5
+ export * from './core.utils.js';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}