@olane/o-core 0.1.0 → 0.1.1
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/dist/core/core.node.d.ts +14 -0
- package/dist/core/core.node.d.ts.map +1 -1
- package/dist/core/core.node.js +73 -32
- package/dist/core/defaults/config.js +11 -6
- package/dist/core/defaults/index.js +17 -2
- package/dist/core/index.js +25 -10
- package/dist/core/interfaces/connection-manager.config.js +2 -2
- package/dist/core/interfaces/connection-send-params.interface.js +2 -2
- package/dist/core/interfaces/core-config.interface.js +2 -2
- package/dist/core/interfaces/index.js +21 -6
- package/dist/core/interfaces/node-type.enum.js +5 -3
- package/dist/core/interfaces/restricted-addresses.enum.js +14 -12
- package/dist/core/interfaces/state.enum.js +5 -3
- package/dist/core/interfaces/use-options.interface.js +2 -2
- package/dist/core/lib/index.js +23 -8
- package/dist/core/lib/o-address-resolution.js +11 -4
- package/dist/core/lib/o-address-resolver.js +11 -6
- package/dist/core/lib/o-connection-manager.d.ts +5 -0
- package/dist/core/lib/o-connection-manager.d.ts.map +1 -1
- package/dist/core/lib/o-connection-manager.js +28 -4
- package/dist/core/lib/o-connection.d.ts.map +1 -1
- package/dist/core/lib/o-connection.js +36 -16
- package/dist/core/lib/o-request.js +7 -4
- package/dist/core/lib/o-response.js +7 -4
- package/dist/core/lib/resolvers/anything.resolver.js +10 -5
- package/dist/core/lib/resolvers/index.js +20 -5
- package/dist/core/lib/resolvers/method.resolver.js +8 -5
- package/dist/core/lib/resolvers/next-hop.resolver.js +17 -10
- package/dist/core/lib/resolvers/storage.resolver.js +6 -3
- package/dist/core/o-address.js +9 -6
- package/dist/core/o-dependency.js +5 -2
- package/dist/core/o-parameter.d.ts +0 -1
- package/dist/core/o-parameter.d.ts.map +1 -1
- package/dist/core/o-parameter.js +5 -3
- package/dist/core/utils/core.utils.js +57 -18
- package/dist/core/utils/index.js +19 -4
- package/dist/core/utils/logger.js +16 -10
- package/dist/core/utils/network.utils.js +14 -2
- package/dist/error/enums/codes.error.js +5 -3
- package/dist/error/index.js +18 -3
- package/dist/error/tool.error.js +5 -2
- package/dist/index.js +22 -7
- package/dist/node/index.js +19 -4
- package/dist/node/lib/local-search.lib.js +9 -2
- package/dist/node/lib/network-activity.lib.js +7 -4
- package/dist/node/node.d.ts +9 -0
- package/dist/node/node.d.ts.map +1 -1
- package/dist/node/node.js +354 -38
- package/dist/node-host/host.node.d.ts +6 -0
- package/dist/node-host/host.node.d.ts.map +1 -1
- package/dist/node-host/host.node.js +16 -6
- package/dist/node-host/index.js +17 -2
- package/dist/node-virtual/index.js +17 -2
- package/dist/node-virtual/virtual.node.d.ts +5 -0
- package/dist/node-virtual/virtual.node.d.ts.map +1 -1
- package/dist/node-virtual/virtual.node.js +13 -5
- package/dist/plan/agent.plan.d.ts +11 -0
- package/dist/plan/agent.plan.d.ts.map +1 -1
- package/dist/plan/agent.plan.js +38 -12
- package/dist/plan/configure/configure.plan.d.ts +3 -0
- package/dist/plan/configure/configure.plan.d.ts.map +1 -1
- package/dist/plan/configure/configure.plan.js +13 -7
- package/dist/plan/error/error.plan.js +10 -7
- package/dist/plan/index.js +20 -5
- package/dist/plan/interfaces/plan-config.interface.js +2 -2
- package/dist/plan/interfaces/plan-result.interface.js +2 -2
- package/dist/plan/interfaces/plan-type.enum.js +5 -3
- package/dist/plan/interfaces/plan.result.js +2 -2
- package/dist/plan/interfaces/query.config.js +2 -2
- package/dist/plan/interfaces/task.config.js +2 -2
- package/dist/plan/o-plan.js +59 -19
- package/dist/plan/plan.context.js +5 -2
- package/dist/plan/prompts/agent.prompt.js +6 -3
- package/dist/plan/prompts/configure.prompt.js +6 -3
- package/dist/plan/prompts/custom.prompt.js +5 -2
- package/dist/plan/prompts/error.prompt.js +5 -2
- package/dist/plan/prompts/search.prompt.js +5 -2
- package/dist/plan/search/prompts/search-analysis.prompt.js +5 -2
- package/dist/plan/search/search.plan.d.ts +6 -0
- package/dist/plan/search/search.plan.d.ts.map +1 -1
- package/dist/plan/search/search.plan.js +21 -5
- package/dist/plan/use/index.js +17 -2
- package/dist/plan/use/use.plan.d.ts +3 -0
- package/dist/plan/use/use.plan.d.ts.map +1 -1
- package/dist/plan/use/use.plan.js +27 -10
- package/package.json +5 -11
- package/dist/core/core.node.js.map +0 -1
- package/dist/core/defaults/config.js.map +0 -1
- package/dist/core/defaults/index.js.map +0 -1
- package/dist/core/index.js.map +0 -1
- package/dist/core/interfaces/connection-manager.config.js.map +0 -1
- package/dist/core/interfaces/connection-send-params.interface.js.map +0 -1
- package/dist/core/interfaces/core-config.interface.js.map +0 -1
- package/dist/core/interfaces/index.js.map +0 -1
- package/dist/core/interfaces/node-type.enum.js.map +0 -1
- package/dist/core/interfaces/restricted-addresses.enum.js.map +0 -1
- package/dist/core/interfaces/state.enum.js.map +0 -1
- package/dist/core/interfaces/use-options.interface.js.map +0 -1
- package/dist/core/lib/index.js.map +0 -1
- package/dist/core/lib/o-address-resolution.js.map +0 -1
- package/dist/core/lib/o-address-resolver.js.map +0 -1
- package/dist/core/lib/o-connection-manager.js.map +0 -1
- package/dist/core/lib/o-connection.js.map +0 -1
- package/dist/core/lib/o-request.js.map +0 -1
- package/dist/core/lib/o-response.js.map +0 -1
- package/dist/core/lib/resolvers/anything.resolver.js.map +0 -1
- package/dist/core/lib/resolvers/index.js.map +0 -1
- package/dist/core/lib/resolvers/method.resolver.js.map +0 -1
- package/dist/core/lib/resolvers/next-hop.resolver.js.map +0 -1
- package/dist/core/lib/resolvers/storage.resolver.js.map +0 -1
- package/dist/core/o-address.js.map +0 -1
- package/dist/core/o-dependency.js.map +0 -1
- package/dist/core/o-parameter.js.map +0 -1
- package/dist/core/utils/core.utils.js.map +0 -1
- package/dist/core/utils/index.js.map +0 -1
- package/dist/core/utils/logger.js.map +0 -1
- package/dist/core/utils/network.utils.js.map +0 -1
- package/dist/error/enums/codes.error.js.map +0 -1
- package/dist/error/index.js.map +0 -1
- package/dist/error/tool.error.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/node/index.js.map +0 -1
- package/dist/node/lib/local-search.lib.js.map +0 -1
- package/dist/node/lib/network-activity.lib.js.map +0 -1
- package/dist/node/node.js.map +0 -1
- package/dist/node-host/host.node.js.map +0 -1
- package/dist/node-host/index.js.map +0 -1
- package/dist/node-virtual/index.js.map +0 -1
- package/dist/node-virtual/virtual.node.js.map +0 -1
- package/dist/plan/agent.plan.js.map +0 -1
- package/dist/plan/configure/configure.plan.js.map +0 -1
- package/dist/plan/error/error.plan.js.map +0 -1
- package/dist/plan/index.js.map +0 -1
- package/dist/plan/interfaces/plan-config.interface.js.map +0 -1
- package/dist/plan/interfaces/plan-result.interface.js.map +0 -1
- package/dist/plan/interfaces/plan-type.enum.js.map +0 -1
- package/dist/plan/interfaces/plan.result.js.map +0 -1
- package/dist/plan/interfaces/query.config.js.map +0 -1
- package/dist/plan/interfaces/task.config.js.map +0 -1
- package/dist/plan/o-plan.js.map +0 -1
- package/dist/plan/plan.context.js.map +0 -1
- package/dist/plan/prompts/agent.prompt.js.map +0 -1
- package/dist/plan/prompts/configure.prompt.js.map +0 -1
- package/dist/plan/prompts/custom.prompt.js.map +0 -1
- package/dist/plan/prompts/error.prompt.js.map +0 -1
- package/dist/plan/prompts/search.prompt.js.map +0 -1
- package/dist/plan/search/prompts/search-analysis.prompt.js.map +0 -1
- package/dist/plan/search/search.plan.js.map +0 -1
- package/dist/plan/use/index.js.map +0 -1
- package/dist/plan/use/use.plan.js.map +0 -1
- package/dist/src/core/core.node.d.ts +0 -62
- package/dist/src/core/core.node.d.ts.map +0 -1
- package/dist/src/core/core.node.js +0 -262
- package/dist/src/core/core.node.js.map +0 -1
- package/dist/src/core/index.d.ts +0 -10
- package/dist/src/core/index.d.ts.map +0 -1
- package/dist/src/core/interfaces/core-config.interface.d.ts +0 -23
- package/dist/src/core/interfaces/core-config.interface.d.ts.map +0 -1
- package/dist/src/core/interfaces/core-config.interface.js +0 -2
- package/dist/src/core/interfaces/core-config.interface.js.map +0 -1
- package/dist/src/core/interfaces/index.d.ts +0 -6
- package/dist/src/core/interfaces/index.d.ts.map +0 -1
- package/dist/src/core/lib/index.d.ts +0 -8
- package/dist/src/core/lib/index.d.ts.map +0 -1
- 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-resolver.d.ts +0 -17
- package/dist/src/core/lib/o-address-resolver.d.ts.map +0 -1
- package/dist/src/core/lib/o-connection-manager.d.ts +0 -17
- package/dist/src/core/lib/o-connection-manager.d.ts.map +0 -1
- package/dist/src/core/lib/o-connection.d.ts +0 -28
- package/dist/src/core/lib/o-connection.d.ts.map +0 -1
- package/dist/src/core/lib/o-connection.js +0 -86
- package/dist/src/core/lib/o-connection.js.map +0 -1
- package/dist/src/core/lib/o-request.d.ts +0 -17
- package/dist/src/core/lib/o-request.d.ts.map +0 -1
- package/dist/src/core/lib/o-request.js +0 -31
- package/dist/src/core/lib/o-request.js.map +0 -1
- package/dist/src/core/lib/o-response.d.ts +0 -12
- package/dist/src/core/lib/o-response.d.ts.map +0 -1
- package/dist/src/core/lib/o-response.js +0 -22
- package/dist/src/core/lib/o-response.js.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/index.d.ts +0 -5
- package/dist/src/core/lib/resolvers/index.d.ts.map +0 -1
- 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/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/storage.resolver.d.ts +0 -6
- package/dist/src/core/lib/resolvers/storage.resolver.d.ts.map +0 -1
- 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-dependency.d.ts +0 -9
- package/dist/src/core/o-dependency.d.ts.map +0 -1
- package/dist/src/core/o-dependency.js +0 -18
- package/dist/src/core/o-dependency.js.map +0 -1
- package/dist/src/core/o-parameter.d.ts +0 -13
- package/dist/src/core/o-parameter.d.ts.map +0 -1
- package/dist/src/core/o-parameter.js +0 -28
- package/dist/src/core/o-parameter.js.map +0 -1
- package/dist/src/core/utils/core.utils.d.ts +0 -15
- 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/network.utils.d.ts +0 -10
- package/dist/src/core/utils/network.utils.d.ts.map +0 -1
- package/dist/src/index.d.ts +0 -7
- package/dist/src/index.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/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/network-activity.lib.d.ts +0 -12
- package/dist/src/node/lib/network-activity.lib.d.ts.map +0 -1
- package/dist/src/node/node.d.ts +0 -28
- package/dist/src/node/node.d.ts.map +0 -1
- package/dist/src/node-host/host.node.d.ts +0 -6
- package/dist/src/node-host/host.node.d.ts.map +0 -1
- package/dist/src/node-host/index.d.ts +0 -2
- package/dist/src/node-host/index.d.ts.map +0 -1
- 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/virtual.node.d.ts +0 -5
- package/dist/src/node-virtual/virtual.node.d.ts.map +0 -1
- package/dist/src/plan/agent.plan.d.ts +0 -15
- package/dist/src/plan/agent.plan.d.ts.map +0 -1
- package/dist/src/plan/error/error.plan.d.ts +0 -11
- package/dist/src/plan/error/error.plan.d.ts.map +0 -1
- package/dist/src/plan/index.d.ts +0 -5
- package/dist/src/plan/index.d.ts.map +0 -1
- package/dist/src/plan/interfaces/plan-config.interface.d.ts +0 -14
- 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/o-plan.d.ts +0 -33
- package/dist/src/plan/o-plan.d.ts.map +0 -1
- package/dist/src/plan/search/search.plan.d.ts +0 -11
- package/dist/src/plan/search/search.plan.d.ts.map +0 -1
- 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/use.plan.d.ts +0 -10
- package/dist/src/plan/use/use.plan.d.ts.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/core/core.node.d.ts
CHANGED
|
@@ -44,6 +44,13 @@ export declare abstract class oCoreNode {
|
|
|
44
44
|
nextHopAddress: oAddress;
|
|
45
45
|
targetAddress: oAddress;
|
|
46
46
|
}>;
|
|
47
|
+
/**
|
|
48
|
+
* Use a tool explicitly
|
|
49
|
+
* @param addressWithLeaderTransports
|
|
50
|
+
* @param data
|
|
51
|
+
* @param config
|
|
52
|
+
* @returns
|
|
53
|
+
*/
|
|
47
54
|
use(addressWithLeaderTransports: oAddress, data: {
|
|
48
55
|
method?: string;
|
|
49
56
|
params?: {
|
|
@@ -55,7 +62,14 @@ export declare abstract class oCoreNode {
|
|
|
55
62
|
register(): Promise<void>;
|
|
56
63
|
connect(nextHopAddress: oAddress, targetAddress: oAddress): Promise<oConnection>;
|
|
57
64
|
teardown(): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Start the node
|
|
67
|
+
* @param parent - The parent node
|
|
68
|
+
*/
|
|
58
69
|
start(): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Stop the node
|
|
72
|
+
*/
|
|
59
73
|
stop(): Promise<void>;
|
|
60
74
|
}
|
|
61
75
|
//# sourceMappingURL=core.node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.node.d.ts","sourceRoot":"","sources":["../../src/core/core.node.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EACN,YAAY,EACZ,SAAS,EAET,MAAM,EACP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,8BAAsB,SAAS;IAmBjB,QAAQ,CAAC,MAAM,EAAE,UAAU;IAlBhC,OAAO,
|
|
1
|
+
{"version":3,"file":"core.node.d.ts","sourceRoot":"","sources":["../../src/core/core.node.ts"],"names":[],"mappings":"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"}
|
package/dist/core/core.node.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.oCoreNode = void 0;
|
|
4
|
+
const o_config_1 = require("@olane/o-config");
|
|
5
|
+
const state_enum_1 = require("./interfaces/state.enum");
|
|
6
|
+
const o_address_1 = require("./o-address");
|
|
7
|
+
const logger_1 = require("./utils/logger");
|
|
8
|
+
const node_type_enum_1 = require("./interfaces/node-type.enum");
|
|
9
|
+
const o_address_resolution_1 = require("./lib/o-address-resolution");
|
|
10
|
+
const o_dependency_1 = require("./o-dependency");
|
|
11
|
+
class oCoreNode {
|
|
9
12
|
config;
|
|
10
13
|
p2pNode;
|
|
11
14
|
logger;
|
|
@@ -13,7 +16,7 @@ export class oCoreNode {
|
|
|
13
16
|
address;
|
|
14
17
|
staticAddress;
|
|
15
18
|
peerId;
|
|
16
|
-
state = NodeState.STOPPED;
|
|
19
|
+
state = state_enum_1.NodeState.STOPPED;
|
|
17
20
|
errors = [];
|
|
18
21
|
connectionManager;
|
|
19
22
|
leaders = [];
|
|
@@ -25,21 +28,21 @@ export class oCoreNode {
|
|
|
25
28
|
errorCount = 0;
|
|
26
29
|
constructor(config) {
|
|
27
30
|
this.config = config;
|
|
28
|
-
this.logger = new Logger(this.constructor.name +
|
|
31
|
+
this.logger = new logger_1.Logger(this.constructor.name +
|
|
29
32
|
(config.name ? `:${config.name}` : '') +
|
|
30
33
|
':' +
|
|
31
34
|
config.address.toString());
|
|
32
|
-
this.address = config.address || new oAddress('o://node');
|
|
33
|
-
this.networkConfig = config.network || defaultLibp2pConfig;
|
|
34
|
-
this.addressResolution = new oAddressResolution();
|
|
35
|
+
this.address = config.address || new o_address_1.oAddress('o://node');
|
|
36
|
+
this.networkConfig = config.network || o_config_1.defaultLibp2pConfig;
|
|
37
|
+
this.addressResolution = new o_address_resolution_1.oAddressResolution();
|
|
35
38
|
this.staticAddress = config.address;
|
|
36
39
|
this.description = config.description || '';
|
|
37
40
|
this.dependencies =
|
|
38
|
-
config.dependencies?.map((d) => new oDependency(d)) || [];
|
|
41
|
+
config.dependencies?.map((d) => new o_dependency_1.oDependency(d)) || [];
|
|
39
42
|
this.methods = config.methods || {};
|
|
40
43
|
}
|
|
41
44
|
get type() {
|
|
42
|
-
return this.config.type || NodeType.UNKNOWN;
|
|
45
|
+
return this.config.type || node_type_enum_1.NodeType.UNKNOWN;
|
|
43
46
|
}
|
|
44
47
|
get transports() {
|
|
45
48
|
return this.p2pNode
|
|
@@ -61,19 +64,24 @@ export class oCoreNode {
|
|
|
61
64
|
return this.config.parent || null;
|
|
62
65
|
}
|
|
63
66
|
get parentTransports() {
|
|
64
|
-
return this.parent?.transports.map((t) => multiaddr(t)) || [];
|
|
67
|
+
return this.parent?.transports.map((t) => (0, o_config_1.multiaddr)(t)) || [];
|
|
65
68
|
}
|
|
66
69
|
getTransports(address) {
|
|
67
70
|
let leaderTransports = address.libp2pTransports;
|
|
71
|
+
// check if we already know where we want to go
|
|
68
72
|
if (leaderTransports.length > 0) {
|
|
69
73
|
return leaderTransports;
|
|
70
74
|
}
|
|
75
|
+
// if leader transports are not provided, then we need to search for them
|
|
76
|
+
// Assume we are looking for a leader within our network for now
|
|
77
|
+
// TODO: we need to add some discovery managers that every node can use to find external network resources
|
|
71
78
|
if (leaderTransports.length === 0) {
|
|
72
79
|
this.logger.debug('No leader transports provided, we are going to search within our own network');
|
|
73
80
|
if (!this.config.leader) {
|
|
74
|
-
|
|
81
|
+
// TODO: how do we handle when the node is the leader? // technically we are in the network
|
|
82
|
+
if (this.type === node_type_enum_1.NodeType.LEADER) {
|
|
75
83
|
this.logger.debug('Node is a leader, using own transports');
|
|
76
|
-
leaderTransports = this.transports.map((t) => multiaddr(t));
|
|
84
|
+
leaderTransports = this.transports.map((t) => (0, o_config_1.multiaddr)(t));
|
|
77
85
|
}
|
|
78
86
|
else {
|
|
79
87
|
this.logger.warn('We are not within a network, cannot search for addressed node without leader.');
|
|
@@ -90,8 +98,10 @@ export class oCoreNode {
|
|
|
90
98
|
}
|
|
91
99
|
async handleStaticAddressTranslation(addressInput) {
|
|
92
100
|
let result = addressInput;
|
|
101
|
+
// handle static address translation
|
|
93
102
|
if (result.value.indexOf('o://leader') === -1) {
|
|
94
|
-
|
|
103
|
+
// TODO: we need to be more dynamic around the o://leader prefix
|
|
104
|
+
const response = await this.use(new o_address_1.oAddress('o://leader/register', result.transports), {
|
|
95
105
|
method: 'search',
|
|
96
106
|
params: { staticAddress: result.root },
|
|
97
107
|
}, {
|
|
@@ -99,13 +109,15 @@ export class oCoreNode {
|
|
|
99
109
|
});
|
|
100
110
|
const searchResults = response.result.data;
|
|
101
111
|
if (searchResults.length > 0) {
|
|
112
|
+
// the root was found, let's add the rest of the path to the address
|
|
102
113
|
const remainderPaths = result.paths.split('/').slice(1);
|
|
103
|
-
|
|
104
|
-
(remainderPaths.length > 0 ? '/' + remainderPaths.join('/') : '');
|
|
105
|
-
result = new oAddress(resolvedAddress, result.transports);
|
|
114
|
+
const resolvedAddress = searchResults[0].address +
|
|
115
|
+
(remainderPaths.length > 0 ? '/' + remainderPaths.join('/') : ''); // TODO: we need to handle this better
|
|
116
|
+
result = new o_address_1.oAddress(resolvedAddress, result.transports);
|
|
106
117
|
}
|
|
107
118
|
else {
|
|
108
119
|
this.logger.warn('Failed to translate static address');
|
|
120
|
+
// TODO: we need to handle this better
|
|
109
121
|
}
|
|
110
122
|
}
|
|
111
123
|
return result;
|
|
@@ -113,6 +125,7 @@ export class oCoreNode {
|
|
|
113
125
|
async translateAddress(addressWithLeaderTransports) {
|
|
114
126
|
let targetAddress = addressWithLeaderTransports;
|
|
115
127
|
let nextHopAddress = addressWithLeaderTransports;
|
|
128
|
+
// handle static address translation for search based upon base functionality
|
|
116
129
|
targetAddress = await this.handleStaticAddressTranslation(targetAddress);
|
|
117
130
|
nextHopAddress = await this.addressResolution.resolve(targetAddress);
|
|
118
131
|
const leaderTransports = this.getTransports(nextHopAddress);
|
|
@@ -122,10 +135,18 @@ export class oCoreNode {
|
|
|
122
135
|
targetAddress: targetAddress,
|
|
123
136
|
};
|
|
124
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Use a tool explicitly
|
|
140
|
+
* @param addressWithLeaderTransports
|
|
141
|
+
* @param data
|
|
142
|
+
* @param config
|
|
143
|
+
* @returns
|
|
144
|
+
*/
|
|
125
145
|
async use(addressWithLeaderTransports, data, config = {}) {
|
|
126
146
|
const { nextHopAddress, targetAddress } = await this.translateAddress(addressWithLeaderTransports);
|
|
127
147
|
this.logger.debug('Using address: ', targetAddress.toString());
|
|
128
148
|
const connection = await this.connect(nextHopAddress, targetAddress);
|
|
149
|
+
// communicate the payload to the target node
|
|
129
150
|
const response = await connection.send({
|
|
130
151
|
address: targetAddress?.toString() || '',
|
|
131
152
|
payload: data,
|
|
@@ -134,9 +155,11 @@ export class oCoreNode {
|
|
|
134
155
|
}
|
|
135
156
|
async advertiseToNetwork() {
|
|
136
157
|
this.logger.debug('Advertising to network our static and absolute addresses...');
|
|
158
|
+
// advertise the absolute address to the network with timeout
|
|
137
159
|
const absoluteAddressCid = await this.address.toCID();
|
|
138
160
|
this.logger.debug('Advertising absolute address: ', absoluteAddressCid);
|
|
139
161
|
try {
|
|
162
|
+
// Add timeout to prevent hanging
|
|
140
163
|
const providePromise = this.p2pNode.services.dht.provide(absoluteAddressCid);
|
|
141
164
|
const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Advertise Content routing provide timeout')), 5000));
|
|
142
165
|
await Promise.race([providePromise, timeoutPromise]);
|
|
@@ -145,9 +168,11 @@ export class oCoreNode {
|
|
|
145
168
|
catch (error) {
|
|
146
169
|
this.logger.warn('Failed to advertise absolute address (this is normal for isolated nodes):', error.message);
|
|
147
170
|
}
|
|
171
|
+
// advertise the static address to the network with timeout
|
|
148
172
|
const staticAddressCid = await this.staticAddress.toCID();
|
|
149
173
|
this.logger.debug('Advertising static address: ', staticAddressCid);
|
|
150
174
|
try {
|
|
175
|
+
// Add timeout to prevent hanging
|
|
151
176
|
const providePromise = this.p2pNode.services.dht.provide(staticAddressCid);
|
|
152
177
|
const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Content routing provide timeout')), 5000));
|
|
153
178
|
await Promise.race([providePromise, timeoutPromise]);
|
|
@@ -158,9 +183,14 @@ export class oCoreNode {
|
|
|
158
183
|
}
|
|
159
184
|
}
|
|
160
185
|
async connectToParent() {
|
|
186
|
+
// ensure we have modified the address to be a child address if the parent address is provided
|
|
161
187
|
if (this.parent) {
|
|
162
188
|
this.logger.debug('Connecting to parent: ' + this.parent.toString());
|
|
163
189
|
await this.connect(this.parent, this.parent);
|
|
190
|
+
// this.address = CoreUtils.childAddress(this.parentAddress, this.address);
|
|
191
|
+
// await new Promise((resolve) => setTimeout(resolve, 1_000));
|
|
192
|
+
// this.logger.debug('Modified address to: ' + this.address.toString());
|
|
193
|
+
// TODO: let's ask the parent to route us to the leader
|
|
164
194
|
this.logger.debug('Successfully connected to parent');
|
|
165
195
|
}
|
|
166
196
|
else {
|
|
@@ -168,17 +198,19 @@ export class oCoreNode {
|
|
|
168
198
|
}
|
|
169
199
|
}
|
|
170
200
|
async register() {
|
|
171
|
-
if (this.type === NodeType.LEADER) {
|
|
201
|
+
if (this.type === node_type_enum_1.NodeType.LEADER) {
|
|
172
202
|
this.logger.debug('Skipping registration, node is leader');
|
|
173
203
|
return;
|
|
174
204
|
}
|
|
175
205
|
this.logger.debug('Registering node...');
|
|
206
|
+
// connect to the parent node to establish identity
|
|
176
207
|
await this.connectToParent();
|
|
208
|
+
// register with the leader global registry
|
|
177
209
|
if (!this.config.leader) {
|
|
178
210
|
this.logger.warn('No leaders found, skipping registration');
|
|
179
211
|
return;
|
|
180
212
|
}
|
|
181
|
-
const address = new oAddress('o://leader/register');
|
|
213
|
+
const address = new o_address_1.oAddress('o://leader/register');
|
|
182
214
|
const params = {
|
|
183
215
|
method: 'commit',
|
|
184
216
|
params: {
|
|
@@ -192,6 +224,7 @@ export class oCoreNode {
|
|
|
192
224
|
await this.use(address, params, {
|
|
193
225
|
noIndex: true,
|
|
194
226
|
});
|
|
227
|
+
// TODO: handle the response from the leader
|
|
195
228
|
}
|
|
196
229
|
async connect(nextHopAddress, targetAddress) {
|
|
197
230
|
if (!this.connectionManager) {
|
|
@@ -205,6 +238,7 @@ export class oCoreNode {
|
|
|
205
238
|
callerAddress: this.address,
|
|
206
239
|
})
|
|
207
240
|
.catch((error) => {
|
|
241
|
+
// TODO: we need to handle this better and document
|
|
208
242
|
if (error.message === 'Can not dial self') {
|
|
209
243
|
this.logger.error('Make sure you are entering the network not directly through the leader node.');
|
|
210
244
|
}
|
|
@@ -222,12 +256,16 @@ export class oCoreNode {
|
|
|
222
256
|
await this.p2pNode.stop();
|
|
223
257
|
}
|
|
224
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* Start the node
|
|
261
|
+
* @param parent - The parent node
|
|
262
|
+
*/
|
|
225
263
|
async start() {
|
|
226
|
-
if (this.state !== NodeState.STOPPED) {
|
|
264
|
+
if (this.state !== state_enum_1.NodeState.STOPPED) {
|
|
227
265
|
this.logger.warn('Node is not stopped, skipping start');
|
|
228
266
|
return;
|
|
229
267
|
}
|
|
230
|
-
this.state = NodeState.STARTING;
|
|
268
|
+
this.state = state_enum_1.NodeState.STARTING;
|
|
231
269
|
this.p2pNode = this.p2pNode;
|
|
232
270
|
try {
|
|
233
271
|
await this.initialize();
|
|
@@ -235,28 +273,31 @@ export class oCoreNode {
|
|
|
235
273
|
await this.register().catch((error) => {
|
|
236
274
|
this.logger.error('Failed to register node', error);
|
|
237
275
|
});
|
|
238
|
-
this.state = NodeState.RUNNING;
|
|
276
|
+
this.state = state_enum_1.NodeState.RUNNING;
|
|
239
277
|
}
|
|
240
278
|
catch (error) {
|
|
241
279
|
this.logger.error('Failed to start node', error);
|
|
242
280
|
this.errors.push(error);
|
|
243
|
-
this.state = NodeState.ERROR;
|
|
281
|
+
this.state = state_enum_1.NodeState.ERROR;
|
|
244
282
|
await this.teardown();
|
|
245
283
|
}
|
|
246
284
|
}
|
|
285
|
+
/**
|
|
286
|
+
* Stop the node
|
|
287
|
+
*/
|
|
247
288
|
async stop() {
|
|
248
289
|
this.logger.debug('Stop node called...');
|
|
249
|
-
this.state = NodeState.STOPPING;
|
|
290
|
+
this.state = state_enum_1.NodeState.STOPPING;
|
|
250
291
|
try {
|
|
251
292
|
await this.teardown();
|
|
252
|
-
this.state = NodeState.STOPPED;
|
|
293
|
+
this.state = state_enum_1.NodeState.STOPPED;
|
|
253
294
|
this.logger.debug('Node stopped!');
|
|
254
295
|
}
|
|
255
296
|
catch (error) {
|
|
256
297
|
this.errors.push(error);
|
|
257
|
-
this.state = NodeState.ERROR;
|
|
298
|
+
this.state = state_enum_1.NodeState.ERROR;
|
|
258
299
|
this.logger.error('Node failed to stop', error);
|
|
259
300
|
}
|
|
260
301
|
}
|
|
261
302
|
}
|
|
262
|
-
|
|
303
|
+
exports.oCoreNode = oCoreNode;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DEFAULT_CONFIG_FILE = exports.DEFAULT_NETWORKS_PATH = exports.DEFAULT_CONFIG_PATH = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const os_1 = __importDefault(require("os"));
|
|
9
|
+
exports.DEFAULT_CONFIG_PATH = path_1.default.join(os_1.default.homedir(), '.olane');
|
|
10
|
+
exports.DEFAULT_NETWORKS_PATH = path_1.default.join(exports.DEFAULT_CONFIG_PATH, 'networks');
|
|
11
|
+
exports.DEFAULT_CONFIG_FILE = path_1.default.join(exports.DEFAULT_CONFIG_PATH, 'config.json');
|
|
@@ -1,2 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./config"), exports);
|
package/dist/core/index.js
CHANGED
|
@@ -1,10 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./core.node"), exports);
|
|
18
|
+
__exportStar(require("./utils/core.utils"), exports);
|
|
19
|
+
__exportStar(require("./o-address"), exports);
|
|
20
|
+
__exportStar(require("./interfaces"), exports);
|
|
21
|
+
__exportStar(require("./o-dependency"), exports);
|
|
22
|
+
__exportStar(require("./utils/logger"), exports);
|
|
23
|
+
__exportStar(require("./lib"), exports);
|
|
24
|
+
__exportStar(require("./o-parameter"), exports);
|
|
25
|
+
__exportStar(require("./defaults"), exports);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,6 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./core-config.interface"), exports);
|
|
18
|
+
__exportStar(require("./node-type.enum"), exports);
|
|
19
|
+
__exportStar(require("./restricted-addresses.enum"), exports);
|
|
20
|
+
__exportStar(require("./state.enum"), exports);
|
|
21
|
+
__exportStar(require("./use-options.interface"), exports);
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NodeType = void 0;
|
|
4
|
+
var NodeType;
|
|
2
5
|
(function (NodeType) {
|
|
3
6
|
NodeType["LEADER"] = "leader";
|
|
4
7
|
NodeType["ROOT"] = "root";
|
|
@@ -7,5 +10,4 @@ export var NodeType;
|
|
|
7
10
|
NodeType["AGENT"] = "agent";
|
|
8
11
|
NodeType["HUMAN"] = "human";
|
|
9
12
|
NodeType["UNKNOWN"] = "unknown";
|
|
10
|
-
})(NodeType || (NodeType = {}));
|
|
11
|
-
//# sourceMappingURL=node-type.enum.js.map
|
|
13
|
+
})(NodeType || (exports.NodeType = NodeType = {}));
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RestrictedAddressesList = exports.AGENT_ADRESS = exports.TOOL_ADRESS = exports.LEADER_ADRESS = exports.REGISTRATION_ADRESS = exports.RestrictedAddresses = void 0;
|
|
4
|
+
var RestrictedAddresses;
|
|
2
5
|
(function (RestrictedAddresses) {
|
|
3
6
|
RestrictedAddresses["GLOBAL_PREFIX"] = "o://";
|
|
4
7
|
RestrictedAddresses["REGISTRATION"] = "register";
|
|
5
8
|
RestrictedAddresses["LEADER"] = "leader";
|
|
6
9
|
RestrictedAddresses["TOOL"] = "tool";
|
|
7
10
|
RestrictedAddresses["AGENT"] = "agent";
|
|
8
|
-
})(RestrictedAddresses || (RestrictedAddresses = {}));
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
REGISTRATION_ADRESS,
|
|
15
|
-
LEADER_ADRESS,
|
|
16
|
-
TOOL_ADRESS,
|
|
17
|
-
AGENT_ADRESS,
|
|
11
|
+
})(RestrictedAddresses || (exports.RestrictedAddresses = RestrictedAddresses = {}));
|
|
12
|
+
exports.REGISTRATION_ADRESS = RestrictedAddresses.GLOBAL_PREFIX + RestrictedAddresses.REGISTRATION;
|
|
13
|
+
exports.LEADER_ADRESS = RestrictedAddresses.GLOBAL_PREFIX + RestrictedAddresses.LEADER;
|
|
14
|
+
exports.TOOL_ADRESS = RestrictedAddresses.GLOBAL_PREFIX + RestrictedAddresses.TOOL;
|
|
15
|
+
exports.AGENT_ADRESS = RestrictedAddresses.GLOBAL_PREFIX + RestrictedAddresses.AGENT;
|
|
16
|
+
exports.RestrictedAddressesList = [
|
|
17
|
+
exports.REGISTRATION_ADRESS,
|
|
18
|
+
exports.LEADER_ADRESS,
|
|
19
|
+
exports.TOOL_ADRESS,
|
|
20
|
+
exports.AGENT_ADRESS,
|
|
18
21
|
];
|
|
19
|
-
//# sourceMappingURL=restricted-addresses.enum.js.map
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NodeState = void 0;
|
|
4
|
+
var NodeState;
|
|
2
5
|
(function (NodeState) {
|
|
3
6
|
NodeState["STARTING"] = "STARTING";
|
|
4
7
|
NodeState["RUNNING"] = "RUNNING";
|
|
5
8
|
NodeState["STOPPING"] = "STOPPING";
|
|
6
9
|
NodeState["STOPPED"] = "STOPPED";
|
|
7
10
|
NodeState["ERROR"] = "ERROR";
|
|
8
|
-
})(NodeState || (NodeState = {}));
|
|
9
|
-
//# sourceMappingURL=state.enum.js.map
|
|
11
|
+
})(NodeState || (exports.NodeState = NodeState = {}));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
package/dist/core/lib/index.js
CHANGED
|
@@ -1,8 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./o-request"), exports);
|
|
18
|
+
__exportStar(require("./o-response"), exports);
|
|
19
|
+
__exportStar(require("./o-connection"), exports);
|
|
20
|
+
__exportStar(require("./o-connection-manager"), exports);
|
|
21
|
+
__exportStar(require("./o-address-resolution"), exports);
|
|
22
|
+
__exportStar(require("./o-address-resolver"), exports);
|
|
23
|
+
__exportStar(require("./resolvers"), exports);
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.oAddressResolution = void 0;
|
|
4
|
+
const o_address_1 = require("../o-address");
|
|
5
|
+
class oAddressResolution {
|
|
3
6
|
resolvers = [];
|
|
4
7
|
addResolver(resolver) {
|
|
5
8
|
this.resolvers.push(resolver);
|
|
@@ -10,11 +13,15 @@ export class oAddressResolution {
|
|
|
10
13
|
}));
|
|
11
14
|
}
|
|
12
15
|
async resolve(address) {
|
|
13
|
-
let resolvedAddress = new oAddress(address.toString(), address.transports);
|
|
16
|
+
let resolvedAddress = new o_address_1.oAddress(address.toString(), address.transports);
|
|
14
17
|
for (const resolver of this.resolvers) {
|
|
15
18
|
resolvedAddress = await resolver.resolve(resolvedAddress);
|
|
16
19
|
}
|
|
20
|
+
// // ensure we have the transports from the original address
|
|
21
|
+
// if (address.transports.length > 0) {
|
|
22
|
+
// resolvedAddress.setTransports(address.transports as Multiaddr[]);
|
|
23
|
+
// }
|
|
17
24
|
return resolvedAddress;
|
|
18
25
|
}
|
|
19
26
|
}
|
|
20
|
-
|
|
27
|
+
exports.oAddressResolution = oAddressResolution;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.oAddressResolver = void 0;
|
|
4
|
+
const __1 = require("../");
|
|
5
|
+
const o_address_1 = require("../o-address");
|
|
6
|
+
class oAddressResolver {
|
|
4
7
|
address;
|
|
5
8
|
p2pNode;
|
|
6
9
|
logger;
|
|
7
10
|
constructor(address, p2pNode) {
|
|
8
11
|
this.address = address;
|
|
9
12
|
this.p2pNode = p2pNode;
|
|
10
|
-
this.logger = new Logger(this.constructor.name);
|
|
13
|
+
this.logger = new __1.Logger(this.constructor.name);
|
|
11
14
|
}
|
|
12
15
|
get transports() {
|
|
13
16
|
return [];
|
|
@@ -22,17 +25,19 @@ export class oAddressResolver {
|
|
|
22
25
|
return targetAddress.toString()?.includes('o://leader') === false;
|
|
23
26
|
}
|
|
24
27
|
determineNextHopAddress(targetAddress) {
|
|
28
|
+
// do we have to start at the root leader or continue forward?
|
|
25
29
|
const startAtLeader = targetAddress.protocol?.includes(this.address.protocol) === false;
|
|
26
30
|
const prefix = startAtLeader ? 'o://' : this.address.value + '/';
|
|
31
|
+
// determine the next hop
|
|
27
32
|
const remainingPath = startAtLeader
|
|
28
33
|
? targetAddress.protocol
|
|
29
34
|
: targetAddress.protocol.replace(this.address.protocol + '/', '');
|
|
30
35
|
const nextHop = remainingPath.replace('/o/', '').split('/').reverse().pop();
|
|
31
|
-
const nextHopAddress = new oAddress(prefix + nextHop);
|
|
36
|
+
const nextHopAddress = new o_address_1.oAddress(prefix + nextHop);
|
|
32
37
|
return nextHopAddress;
|
|
33
38
|
}
|
|
34
39
|
async resolve(address, node) {
|
|
35
40
|
return address;
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
|
-
|
|
43
|
+
exports.oAddressResolver = oAddressResolver;
|
|
@@ -6,6 +6,11 @@ export declare class oConnectionManager {
|
|
|
6
6
|
private logger;
|
|
7
7
|
private p2pNode;
|
|
8
8
|
constructor(config: oConnectionManagerConfig);
|
|
9
|
+
/**
|
|
10
|
+
* Connect to a given address
|
|
11
|
+
* @param address - The address to connect to
|
|
12
|
+
* @returns The connection object
|
|
13
|
+
*/
|
|
9
14
|
connect(config: {
|
|
10
15
|
address: oAddress;
|
|
11
16
|
nextHopAddress: oAddress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"o-connection-manager.d.ts","sourceRoot":"","sources":["../../../src/core/lib/o-connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAGnF,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"o-connection-manager.d.ts","sourceRoot":"","sources":["../../../src/core/lib/o-connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAGnF,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,wBAAwB;IAK5C;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE;QACpB,OAAO,EAAE,QAAQ,CAAC;QAClB,cAAc,EAAE,QAAQ,CAAC;QACzB,aAAa,CAAC,EAAE,QAAQ,CAAC;KAC1B,GAAG,OAAO,CAAC,WAAW,CAAC;IAqCxB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO;IAIpC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI;CAe3D"}
|