@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.
- package/README.md +490 -140
- package/dist/src/connection/index.d.ts +8 -0
- package/dist/src/connection/index.d.ts.map +1 -0
- package/dist/src/connection/index.js +7 -0
- package/dist/src/connection/interfaces/connection-manager.config.d.ts +3 -0
- package/dist/src/connection/interfaces/connection-manager.config.d.ts.map +1 -0
- package/dist/src/connection/interfaces/connection-send-params.interface.d.ts.map +1 -0
- package/dist/src/connection/interfaces/connection.config.d.ts +7 -0
- package/dist/src/connection/interfaces/connection.config.d.ts.map +1 -0
- package/dist/src/connection/interfaces/index.d.ts +5 -0
- package/dist/src/connection/interfaces/index.d.ts.map +1 -0
- package/dist/src/connection/interfaces/index.js +4 -0
- package/dist/src/connection/interfaces/request-state.enum.d.ts +7 -0
- package/dist/src/connection/interfaces/request-state.enum.d.ts.map +1 -0
- package/dist/src/connection/interfaces/request-state.enum.js +7 -0
- package/dist/src/connection/o-connection-manager.d.ts +19 -0
- package/dist/src/connection/o-connection-manager.d.ts.map +1 -0
- package/dist/src/connection/o-connection-manager.js +27 -0
- package/dist/src/connection/o-connection.d.ts +20 -0
- package/dist/src/connection/o-connection.d.ts.map +1 -0
- package/dist/src/connection/o-connection.js +45 -0
- package/dist/src/{core/lib → connection}/o-request.d.ts +5 -1
- package/dist/src/connection/o-request.d.ts.map +1 -0
- package/dist/src/{core/lib → connection}/o-request.js +8 -1
- package/dist/src/connection/o-response.d.ts.map +1 -0
- package/dist/src/core/defaults/config.d.ts +1 -1
- package/dist/src/core/defaults/config.d.ts.map +1 -1
- package/dist/src/core/defaults/config.js +1 -1
- package/dist/src/core/graceful-shutdown.d.ts +1 -1
- package/dist/src/core/graceful-shutdown.d.ts.map +1 -1
- package/dist/src/core/graceful-shutdown.js +1 -1
- package/dist/src/core/index.d.ts +3 -5
- package/dist/src/core/index.d.ts.map +1 -1
- package/dist/src/core/index.js +3 -5
- package/dist/src/core/interfaces/index.d.ts +1 -2
- package/dist/src/core/interfaces/index.d.ts.map +1 -1
- package/dist/src/core/interfaces/index.js +1 -2
- package/dist/src/core/interfaces/{core-config.interface.d.ts → o-core.config.d.ts} +4 -5
- package/dist/src/core/interfaces/o-core.config.d.ts.map +1 -0
- package/dist/src/core/interfaces/o-core.interface.d.ts +18 -0
- package/dist/src/core/interfaces/o-core.interface.d.ts.map +1 -0
- package/dist/src/core/lib/index.d.ts +3 -7
- package/dist/src/core/lib/index.d.ts.map +1 -1
- package/dist/src/core/lib/index.js +3 -7
- package/dist/src/core/lib/o-hierarchy.manager.d.ts +24 -0
- package/dist/src/core/lib/o-hierarchy.manager.d.ts.map +1 -0
- package/dist/src/core/lib/o-hierarchy.manager.js +57 -0
- package/dist/src/core/lib/o-metrics.d.ts +5 -0
- package/dist/src/core/lib/o-metrics.d.ts.map +1 -0
- package/dist/src/core/lib/o-metrics.js +6 -0
- package/dist/src/core/lib/o-request.manager.d.ts +10 -0
- package/dist/src/core/lib/o-request.manager.d.ts.map +1 -0
- package/dist/src/core/lib/o-request.manager.js +18 -0
- package/dist/src/core/o-core.d.ts +190 -0
- package/dist/src/core/o-core.d.ts.map +1 -0
- package/dist/src/core/o-core.js +334 -0
- package/dist/src/core/o-object.d.ts +7 -0
- package/dist/src/core/o-object.d.ts.map +1 -0
- package/dist/src/core/o-object.js +10 -0
- package/dist/src/error/enums/codes.error.d.ts +16 -14
- package/dist/src/error/enums/codes.error.d.ts.map +1 -1
- package/dist/src/error/enums/codes.error.js +18 -16
- package/dist/src/error/index.d.ts +1 -1
- package/dist/src/error/index.d.ts.map +1 -1
- package/dist/src/error/index.js +1 -1
- package/dist/src/error/interfaces/o-error.interface.d.ts +6 -0
- package/dist/src/error/interfaces/o-error.interface.d.ts.map +1 -0
- package/dist/src/error/o-error.d.ts +15 -0
- package/dist/src/error/o-error.d.ts.map +1 -0
- package/dist/src/error/{tool.error.js → o-error.js} +4 -4
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -3
- package/dist/src/router/enums/restricted-addresses.enum.d.ts +8 -0
- package/dist/src/router/enums/restricted-addresses.enum.d.ts.map +1 -0
- package/dist/src/router/enums/restricted-addresses.enum.js +13 -0
- package/dist/src/router/index.d.ts +9 -0
- package/dist/src/router/index.d.ts.map +1 -0
- package/dist/src/router/index.js +8 -0
- package/dist/src/router/interfaces/resolve.request.d.ts +10 -0
- package/dist/src/router/interfaces/resolve.request.d.ts.map +1 -0
- package/dist/src/router/interfaces/route.response.d.ts +8 -0
- package/dist/src/router/interfaces/route.response.d.ts.map +1 -0
- package/dist/src/router/o-address-resolution.d.ts +12 -0
- package/dist/src/router/o-address-resolution.d.ts.map +1 -0
- package/dist/src/router/o-address-resolution.js +42 -0
- package/dist/src/router/o-address-resolver.d.ts +14 -0
- package/dist/src/router/o-address-resolver.d.ts.map +1 -0
- package/dist/src/router/o-address-resolver.js +19 -0
- package/dist/src/router/o-address.d.ts +33 -0
- package/dist/src/router/o-address.d.ts.map +1 -0
- package/dist/src/router/o-address.js +101 -0
- package/dist/src/router/o-request.router.d.ts +18 -0
- package/dist/src/router/o-request.router.d.ts.map +1 -0
- package/dist/src/router/o-request.router.js +12 -0
- package/dist/src/router/o-router.d.ts +19 -0
- package/dist/src/router/o-router.d.ts.map +1 -0
- package/dist/src/router/o-router.js +14 -0
- package/dist/src/transports/custom.transport.d.ts +6 -0
- package/dist/src/transports/custom.transport.d.ts.map +1 -0
- package/dist/src/transports/custom.transport.js +10 -0
- package/dist/src/transports/index.d.ts +4 -0
- package/dist/src/transports/index.d.ts.map +1 -0
- package/dist/src/transports/index.js +3 -0
- package/dist/src/transports/interfaces/transport-type.enum.d.ts +5 -0
- package/dist/src/transports/interfaces/transport-type.enum.d.ts.map +1 -0
- package/dist/src/transports/interfaces/transport-type.enum.js +5 -0
- package/dist/src/transports/o-transport.d.ts +10 -0
- package/dist/src/transports/o-transport.d.ts.map +1 -0
- package/dist/src/transports/o-transport.js +16 -0
- package/dist/src/{core/utils → utils}/core.utils.d.ts +4 -3
- package/dist/src/utils/core.utils.d.ts.map +1 -0
- package/dist/src/{core/utils → utils}/core.utils.js +17 -2
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +2 -0
- package/dist/src/{core/utils → utils}/logger.d.ts +1 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/{core/utils → utils}/logger.js +4 -1
- package/dist/test/server/in-process.spec.js +2 -14
- package/package.json +3 -3
- package/dist/src/core/core.node.d.ts +0 -79
- package/dist/src/core/core.node.d.ts.map +0 -1
- package/dist/src/core/core.node.js +0 -304
- package/dist/src/core/interfaces/connection-manager.config.d.ts +0 -7
- package/dist/src/core/interfaces/connection-manager.config.d.ts.map +0 -1
- package/dist/src/core/interfaces/connection-send-params.interface.d.ts.map +0 -1
- package/dist/src/core/interfaces/core-config.interface.d.ts.map +0 -1
- package/dist/src/core/interfaces/restricted-addresses.enum.d.ts +0 -13
- package/dist/src/core/interfaces/restricted-addresses.enum.d.ts.map +0 -1
- package/dist/src/core/interfaces/restricted-addresses.enum.js +0 -18
- package/dist/src/core/lib/o-address-resolution.d.ts +0 -9
- package/dist/src/core/lib/o-address-resolution.d.ts.map +0 -1
- package/dist/src/core/lib/o-address-resolution.js +0 -24
- package/dist/src/core/lib/o-address-resolver.d.ts +0 -17
- package/dist/src/core/lib/o-address-resolver.d.ts.map +0 -1
- package/dist/src/core/lib/o-address-resolver.js +0 -36
- package/dist/src/core/lib/o-connection-manager.d.ts +0 -22
- package/dist/src/core/lib/o-connection-manager.d.ts.map +0 -1
- package/dist/src/core/lib/o-connection-manager.js +0 -65
- package/dist/src/core/lib/o-connection.d.ts +0 -27
- package/dist/src/core/lib/o-connection.d.ts.map +0 -1
- package/dist/src/core/lib/o-connection.js +0 -84
- package/dist/src/core/lib/o-request.d.ts.map +0 -1
- package/dist/src/core/lib/o-response.d.ts.map +0 -1
- package/dist/src/core/lib/resolvers/anything.resolver.d.ts +0 -8
- package/dist/src/core/lib/resolvers/anything.resolver.d.ts.map +0 -1
- package/dist/src/core/lib/resolvers/anything.resolver.js +0 -15
- package/dist/src/core/lib/resolvers/index.d.ts +0 -5
- package/dist/src/core/lib/resolvers/index.d.ts.map +0 -1
- package/dist/src/core/lib/resolvers/index.js +0 -4
- package/dist/src/core/lib/resolvers/method.resolver.d.ts +0 -8
- package/dist/src/core/lib/resolvers/method.resolver.d.ts.map +0 -1
- package/dist/src/core/lib/resolvers/method.resolver.js +0 -18
- package/dist/src/core/lib/resolvers/next-hop.resolver.d.ts +0 -10
- package/dist/src/core/lib/resolvers/next-hop.resolver.d.ts.map +0 -1
- package/dist/src/core/lib/resolvers/next-hop.resolver.js +0 -59
- package/dist/src/core/lib/resolvers/storage.resolver.d.ts +0 -6
- package/dist/src/core/lib/resolvers/storage.resolver.d.ts.map +0 -1
- package/dist/src/core/lib/resolvers/storage.resolver.js +0 -10
- package/dist/src/core/o-address.d.ts +0 -20
- package/dist/src/core/o-address.d.ts.map +0 -1
- package/dist/src/core/o-address.js +0 -47
- package/dist/src/core/utils/core.utils.d.ts.map +0 -1
- package/dist/src/core/utils/index.d.ts +0 -4
- package/dist/src/core/utils/index.d.ts.map +0 -1
- package/dist/src/core/utils/index.js +0 -3
- package/dist/src/core/utils/logger.d.ts.map +0 -1
- package/dist/src/core/utils/network.utils.d.ts +0 -16
- package/dist/src/core/utils/network.utils.d.ts.map +0 -1
- package/dist/src/core/utils/network.utils.js +0 -35
- package/dist/src/error/tool.error.d.ts +0 -19
- package/dist/src/error/tool.error.d.ts.map +0 -1
- package/dist/src/node/index.d.ts +0 -4
- package/dist/src/node/index.d.ts.map +0 -1
- package/dist/src/node/index.js +0 -3
- package/dist/src/node/interfaces/route.request.d.ts +0 -14
- package/dist/src/node/interfaces/route.request.d.ts.map +0 -1
- package/dist/src/node/lib/local-search.lib.d.ts +0 -6
- package/dist/src/node/lib/local-search.lib.d.ts.map +0 -1
- package/dist/src/node/lib/local-search.lib.js +0 -10
- package/dist/src/node/lib/network-activity.lib.d.ts +0 -12
- package/dist/src/node/lib/network-activity.lib.d.ts.map +0 -1
- package/dist/src/node/lib/network-activity.lib.js +0 -29
- package/dist/src/node/node.d.ts +0 -45
- package/dist/src/node/node.d.ts.map +0 -1
- package/dist/src/node/node.js +0 -359
- package/dist/src/node-virtual/index.d.ts +0 -2
- package/dist/src/node-virtual/index.d.ts.map +0 -1
- package/dist/src/node-virtual/index.js +0 -1
- package/dist/src/node-virtual/virtual.node.d.ts +0 -10
- package/dist/src/node-virtual/virtual.node.d.ts.map +0 -1
- package/dist/src/node-virtual/virtual.node.js +0 -12
- package/dist/src/plan/agent.plan.d.ts +0 -28
- package/dist/src/plan/agent.plan.d.ts.map +0 -1
- package/dist/src/plan/agent.plan.js +0 -187
- package/dist/src/plan/index.d.ts +0 -5
- package/dist/src/plan/index.d.ts.map +0 -1
- package/dist/src/plan/index.js +0 -4
- package/dist/src/plan/interfaces/configure.result.d.ts +0 -6
- package/dist/src/plan/interfaces/configure.result.d.ts.map +0 -1
- package/dist/src/plan/interfaces/handshake.result.d.ts +0 -14
- package/dist/src/plan/interfaces/handshake.result.d.ts.map +0 -1
- package/dist/src/plan/interfaces/plan-config.interface.d.ts +0 -16
- package/dist/src/plan/interfaces/plan-config.interface.d.ts.map +0 -1
- package/dist/src/plan/interfaces/plan-result.interface.d.ts +0 -6
- package/dist/src/plan/interfaces/plan-result.interface.d.ts.map +0 -1
- package/dist/src/plan/interfaces/plan-type.enum.d.ts +0 -8
- package/dist/src/plan/interfaces/plan-type.enum.d.ts.map +0 -1
- package/dist/src/plan/interfaces/plan-type.enum.js +0 -8
- package/dist/src/plan/interfaces/plan.result.d.ts +0 -15
- package/dist/src/plan/interfaces/plan.result.d.ts.map +0 -1
- package/dist/src/plan/interfaces/plan.result.js +0 -1
- package/dist/src/plan/interfaces/query.config.d.ts +0 -6
- package/dist/src/plan/interfaces/query.config.d.ts.map +0 -1
- package/dist/src/plan/interfaces/query.config.js +0 -1
- package/dist/src/plan/interfaces/task.config.d.ts +0 -10
- package/dist/src/plan/interfaces/task.config.d.ts.map +0 -1
- package/dist/src/plan/interfaces/task.config.js +0 -1
- package/dist/src/plan/o-plan.d.ts +0 -36
- package/dist/src/plan/o-plan.d.ts.map +0 -1
- package/dist/src/plan/o-plan.js +0 -202
- package/dist/src/plan/plan.context.d.ts +0 -10
- package/dist/src/plan/plan.context.d.ts.map +0 -1
- package/dist/src/plan/plan.context.js +0 -28
- package/dist/src/plan/prompts/agent.prompt.d.ts +0 -2
- package/dist/src/plan/prompts/agent.prompt.d.ts.map +0 -1
- package/dist/src/plan/prompts/agent.prompt.js +0 -112
- package/dist/src/plan/prompts/configure.prompt.d.ts +0 -2
- package/dist/src/plan/prompts/configure.prompt.d.ts.map +0 -1
- package/dist/src/plan/prompts/configure.prompt.js +0 -40
- package/dist/src/plan/prompts/custom.prompt.d.ts +0 -2
- package/dist/src/plan/prompts/custom.prompt.d.ts.map +0 -1
- package/dist/src/plan/prompts/custom.prompt.js +0 -80
- package/dist/src/plan/search/prompts/search-analysis.prompt.d.ts +0 -2
- package/dist/src/plan/search/prompts/search-analysis.prompt.d.ts.map +0 -1
- package/dist/src/plan/search/prompts/search-analysis.prompt.js +0 -14
- package/dist/src/plan/search/search.plan.d.ts +0 -21
- package/dist/src/plan/search/search.plan.d.ts.map +0 -1
- package/dist/src/plan/search/search.plan.js +0 -53
- package/dist/src/plan/use/index.d.ts +0 -2
- package/dist/src/plan/use/index.d.ts.map +0 -1
- package/dist/src/plan/use/index.js +0 -1
- package/dist/src/plan/use/use.plan.d.ts +0 -16
- package/dist/src/plan/use/use.plan.d.ts.map +0 -1
- package/dist/src/plan/use/use.plan.js +0 -149
- /package/dist/src/{core → connection}/interfaces/connection-manager.config.js +0 -0
- /package/dist/src/{core → connection}/interfaces/connection-send-params.interface.d.ts +0 -0
- /package/dist/src/{core → connection}/interfaces/connection-send-params.interface.js +0 -0
- /package/dist/src/{core/interfaces/core-config.interface.js → connection/interfaces/connection.config.js} +0 -0
- /package/dist/src/{core/lib → connection}/o-response.d.ts +0 -0
- /package/dist/src/{core/lib → connection}/o-response.js +0 -0
- /package/dist/src/{node/interfaces/route.request.js → core/interfaces/o-core.config.js} +0 -0
- /package/dist/src/{plan/interfaces/configure.result.js → core/interfaces/o-core.interface.js} +0 -0
- /package/dist/src/{plan/interfaces/handshake.result.js → error/interfaces/o-error.interface.js} +0 -0
- /package/dist/src/{plan/interfaces/plan-config.interface.js → router/interfaces/resolve.request.js} +0 -0
- /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 {
|
|
2
|
-
export class
|
|
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
|
|
20
|
+
return new oError(json.code, json.message, json.details);
|
|
21
21
|
}
|
|
22
|
-
return new
|
|
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}`;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -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 './
|
|
5
|
-
export * from './
|
|
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
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,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 './
|
|
5
|
-
export * from './
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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,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 '../
|
|
4
|
-
import { oRequest } from '../
|
|
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 {
|
|
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 +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"}
|