@olane/o-node 0.7.12-alpha.39 → 0.7.12-alpha.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/o-core/src/connection/index.d.ts +8 -0
- package/dist/o-core/src/connection/index.d.ts.map +1 -0
- package/dist/o-core/src/connection/index.js +7 -0
- package/dist/o-core/src/connection/interfaces/connection-manager.config.d.ts +15 -0
- package/dist/o-core/src/connection/interfaces/connection-manager.config.d.ts.map +1 -0
- package/dist/o-core/src/connection/interfaces/connection-manager.config.js +1 -0
- package/dist/o-core/src/connection/interfaces/connection-send-params.interface.d.ts +9 -0
- package/dist/o-core/src/connection/interfaces/connection-send-params.interface.d.ts.map +1 -0
- package/dist/o-core/src/connection/interfaces/connection-send-params.interface.js +1 -0
- package/dist/o-core/src/connection/interfaces/connection.config.d.ts +20 -0
- package/dist/o-core/src/connection/interfaces/connection.config.d.ts.map +1 -0
- package/dist/o-core/src/connection/interfaces/connection.config.js +1 -0
- package/dist/o-core/src/connection/interfaces/index.d.ts +5 -0
- package/dist/o-core/src/connection/interfaces/index.d.ts.map +1 -0
- package/dist/o-core/src/connection/interfaces/index.js +4 -0
- package/dist/o-core/src/connection/interfaces/request-state.enum.d.ts +7 -0
- package/dist/o-core/src/connection/interfaces/request-state.enum.d.ts.map +1 -0
- package/dist/o-core/src/connection/interfaces/request-state.enum.js +7 -0
- package/dist/o-core/src/connection/o-connection-manager.d.ts +19 -0
- package/dist/o-core/src/connection/o-connection-manager.d.ts.map +1 -0
- package/dist/o-core/src/connection/o-connection-manager.js +27 -0
- package/dist/o-core/src/connection/o-connection.d.ts +26 -0
- package/dist/o-core/src/connection/o-connection.d.ts.map +1 -0
- package/dist/o-core/src/connection/o-connection.js +54 -0
- package/dist/o-core/src/connection/o-request.d.ts +23 -0
- package/dist/o-core/src/connection/o-request.d.ts.map +1 -0
- package/dist/o-core/src/connection/o-request.js +42 -0
- package/dist/o-core/src/connection/o-response.d.ts +1 -0
- package/dist/o-core/src/connection/o-response.d.ts.map +1 -1
- package/dist/o-core/src/connection/o-response.js +7 -0
- package/dist/o-core/src/core/defaults/config.d.ts +4 -0
- package/dist/o-core/src/core/defaults/config.d.ts.map +1 -0
- package/dist/o-core/src/core/defaults/config.js +5 -0
- package/dist/o-core/src/core/defaults/index.d.ts +2 -0
- package/dist/o-core/src/core/defaults/index.d.ts.map +1 -0
- package/dist/o-core/src/core/defaults/index.js +1 -0
- package/dist/o-core/src/core/graceful-shutdown.d.ts +25 -0
- package/dist/o-core/src/core/graceful-shutdown.d.ts.map +1 -0
- package/dist/o-core/src/core/graceful-shutdown.js +84 -0
- package/dist/o-core/src/core/index.d.ts +9 -0
- package/dist/o-core/src/core/index.d.ts.map +1 -0
- package/dist/o-core/src/core/index.js +8 -0
- package/dist/o-core/src/core/interfaces/index.d.ts +7 -0
- package/dist/o-core/src/core/interfaces/index.d.ts.map +1 -0
- package/dist/o-core/src/core/interfaces/index.js +6 -0
- package/dist/o-core/src/core/interfaces/node-type.enum.d.ts +10 -0
- package/dist/o-core/src/core/interfaces/node-type.enum.d.ts.map +1 -0
- package/dist/o-core/src/core/interfaces/node-type.enum.js +10 -0
- package/dist/o-core/src/core/interfaces/o-core.config.d.ts +23 -0
- package/dist/o-core/src/core/interfaces/o-core.config.d.ts.map +1 -0
- package/dist/o-core/src/core/interfaces/o-core.config.js +1 -0
- package/dist/o-core/src/core/interfaces/o-core.interface.d.ts +18 -0
- package/dist/o-core/src/core/interfaces/o-core.interface.d.ts.map +1 -0
- package/dist/o-core/src/core/interfaces/o-core.interface.js +1 -0
- package/dist/o-core/src/core/interfaces/state.enum.d.ts +8 -0
- package/dist/o-core/src/core/interfaces/state.enum.d.ts.map +1 -0
- package/dist/o-core/src/core/interfaces/state.enum.js +8 -0
- package/dist/o-core/src/core/interfaces/use-options.interface.d.ts +11 -0
- package/dist/o-core/src/core/interfaces/use-options.interface.d.ts.map +1 -0
- package/dist/o-core/src/core/interfaces/use-options.interface.js +1 -0
- package/dist/o-core/src/core/interfaces/use-stream-options.interface.d.ts +4 -0
- package/dist/o-core/src/core/interfaces/use-stream-options.interface.d.ts.map +1 -0
- package/dist/o-core/src/core/interfaces/use-stream-options.interface.js +1 -0
- package/dist/o-core/src/core/lib/events/connection-events.d.ts +31 -0
- package/dist/o-core/src/core/lib/events/connection-events.d.ts.map +1 -0
- package/dist/o-core/src/core/lib/events/connection-events.js +46 -0
- package/dist/o-core/src/core/lib/events/hierarchy-events.d.ts +69 -0
- package/dist/o-core/src/core/lib/events/hierarchy-events.d.ts.map +1 -0
- package/dist/o-core/src/core/lib/events/hierarchy-events.js +100 -0
- package/dist/o-core/src/core/lib/events/index.d.ts +6 -0
- package/dist/o-core/src/core/lib/events/index.d.ts.map +1 -0
- package/dist/o-core/src/core/lib/events/index.js +5 -0
- package/dist/o-core/src/core/lib/events/node-events.d.ts +40 -0
- package/dist/o-core/src/core/lib/events/node-events.d.ts.map +1 -0
- package/dist/o-core/src/core/lib/events/node-events.js +58 -0
- package/dist/o-core/src/core/lib/events/o-notification-event.d.ts +26 -0
- package/dist/o-core/src/core/lib/events/o-notification-event.d.ts.map +1 -0
- package/dist/o-core/src/core/lib/events/o-notification-event.js +30 -0
- package/dist/o-core/src/core/lib/index.d.ts +8 -0
- package/dist/o-core/src/core/lib/index.d.ts.map +1 -0
- package/dist/o-core/src/core/lib/index.js +7 -0
- package/dist/o-core/src/core/lib/interfaces/notification-types.d.ts +49 -0
- package/dist/o-core/src/core/lib/interfaces/notification-types.d.ts.map +1 -0
- package/dist/o-core/src/core/lib/interfaces/notification-types.js +1 -0
- package/dist/o-core/src/core/lib/o-hierarchy.manager.d.ts +24 -0
- package/dist/o-core/src/core/lib/o-hierarchy.manager.d.ts.map +1 -0
- package/dist/o-core/src/core/lib/o-hierarchy.manager.js +58 -0
- package/dist/o-core/src/core/lib/o-metrics.d.ts +5 -0
- package/dist/o-core/src/core/lib/o-metrics.d.ts.map +1 -0
- package/dist/o-core/src/core/lib/o-metrics.js +6 -0
- package/dist/o-core/src/core/lib/o-notification.manager.d.ts +58 -0
- package/dist/o-core/src/core/lib/o-notification.manager.d.ts.map +1 -0
- package/dist/o-core/src/core/lib/o-notification.manager.js +159 -0
- package/dist/o-core/src/core/lib/o-request.manager.d.ts +10 -0
- package/dist/o-core/src/core/lib/o-request.manager.d.ts.map +1 -0
- package/dist/o-core/src/core/lib/o-request.manager.js +18 -0
- package/dist/o-core/src/core/lib/utils/event-filters.d.ts +38 -0
- package/dist/o-core/src/core/lib/utils/event-filters.d.ts.map +1 -0
- package/dist/o-core/src/core/lib/utils/event-filters.js +159 -0
- package/dist/o-core/src/core/o-core.d.ts +240 -0
- package/dist/o-core/src/core/o-core.d.ts.map +1 -0
- package/dist/o-core/src/core/o-core.js +463 -0
- package/dist/o-core/src/core/o-dependency.d.ts +9 -0
- package/dist/o-core/src/core/o-dependency.d.ts.map +1 -0
- package/dist/o-core/src/core/o-dependency.js +15 -0
- package/dist/o-core/src/core/o-object.d.ts +7 -0
- package/dist/o-core/src/core/o-object.d.ts.map +1 -0
- package/dist/o-core/src/core/o-object.js +10 -0
- package/dist/o-core/src/core/o-parameter.d.ts +12 -0
- package/dist/o-core/src/core/o-parameter.d.ts.map +1 -0
- package/dist/o-core/src/core/o-parameter.js +21 -0
- package/dist/o-core/src/error/index.d.ts +3 -0
- package/dist/o-core/src/error/index.d.ts.map +1 -0
- package/dist/o-core/src/error/index.js +2 -0
- package/dist/o-core/src/index.d.ts +8 -0
- package/dist/o-core/src/index.d.ts.map +1 -0
- package/dist/o-core/src/index.js +7 -0
- package/dist/o-core/src/response/index.d.ts +2 -0
- package/dist/o-core/src/response/index.d.ts.map +1 -0
- package/dist/o-core/src/response/index.js +1 -0
- package/dist/o-core/src/response/response-builder.d.ts +140 -0
- package/dist/o-core/src/response/response-builder.d.ts.map +1 -0
- package/dist/o-core/src/response/response-builder.js +190 -0
- package/dist/o-core/src/router/enums/restricted-addresses.enum.d.ts +8 -0
- package/dist/o-core/src/router/enums/restricted-addresses.enum.d.ts.map +1 -0
- package/dist/o-core/src/router/enums/restricted-addresses.enum.js +13 -0
- package/dist/o-core/src/router/index.d.ts +11 -0
- package/dist/o-core/src/router/index.d.ts.map +1 -0
- package/dist/o-core/src/router/index.js +10 -0
- package/dist/o-core/src/router/interfaces/resolve.request.d.ts +10 -0
- package/dist/o-core/src/router/interfaces/resolve.request.d.ts.map +1 -0
- package/dist/o-core/src/router/interfaces/resolve.request.js +1 -0
- package/dist/o-core/src/router/interfaces/route.response.d.ts +8 -0
- package/dist/o-core/src/router/interfaces/route.response.d.ts.map +1 -0
- package/dist/o-core/src/router/interfaces/route.response.js +1 -0
- package/dist/o-core/src/router/o-address-resolver.d.ts +14 -0
- package/dist/o-core/src/router/o-address-resolver.d.ts.map +1 -0
- package/dist/o-core/src/router/o-address-resolver.js +19 -0
- package/dist/o-core/src/router/o-address.d.ts +33 -0
- package/dist/o-core/src/router/o-address.d.ts.map +1 -0
- package/dist/o-core/src/router/o-address.js +114 -0
- package/dist/o-core/src/router/o-request-preparation.d.ts +37 -0
- package/dist/o-core/src/router/o-request-preparation.d.ts.map +1 -0
- package/dist/o-core/src/router/o-request-preparation.js +75 -0
- package/dist/o-core/src/router/o-request.router.d.ts +18 -0
- package/dist/o-core/src/router/o-request.router.d.ts.map +1 -0
- package/dist/o-core/src/router/o-request.router.js +12 -0
- package/dist/o-core/src/router/o-resolver-chain.d.ts +32 -0
- package/dist/o-core/src/router/o-resolver-chain.d.ts.map +1 -0
- package/dist/o-core/src/router/o-resolver-chain.js +62 -0
- package/dist/o-core/src/router/o-router.d.ts +19 -0
- package/dist/o-core/src/router/o-router.d.ts.map +1 -0
- package/dist/o-core/src/router/o-router.js +14 -0
- package/dist/o-core/src/router/o-routing-policy.d.ts +36 -0
- package/dist/o-core/src/router/o-routing-policy.d.ts.map +1 -0
- package/dist/o-core/src/router/o-routing-policy.js +19 -0
- package/dist/o-core/src/transports/custom.transport.d.ts +6 -0
- package/dist/o-core/src/transports/custom.transport.d.ts.map +1 -0
- package/dist/o-core/src/transports/custom.transport.js +10 -0
- package/dist/o-core/src/transports/index.d.ts +4 -0
- package/dist/o-core/src/transports/index.d.ts.map +1 -0
- package/dist/o-core/src/transports/index.js +3 -0
- package/dist/o-core/src/transports/interfaces/transport-type.enum.d.ts +5 -0
- package/dist/o-core/src/transports/interfaces/transport-type.enum.d.ts.map +1 -0
- package/dist/o-core/src/transports/interfaces/transport-type.enum.js +5 -0
- package/dist/o-core/src/transports/o-transport.d.ts +10 -0
- package/dist/o-core/src/transports/o-transport.d.ts.map +1 -0
- package/dist/o-core/src/transports/o-transport.js +16 -0
- package/dist/o-core/src/utils/core.utils.d.ts +34 -0
- package/dist/o-core/src/utils/core.utils.d.ts.map +1 -0
- package/dist/o-core/src/utils/core.utils.js +123 -0
- package/dist/o-core/src/utils/index.d.ts +6 -0
- package/dist/o-core/src/utils/index.d.ts.map +1 -0
- package/dist/o-core/src/utils/index.js +5 -0
- package/dist/o-core/src/utils/logger.d.ts +14 -0
- package/dist/o-core/src/utils/logger.d.ts.map +1 -0
- package/dist/o-core/src/utils/logger.js +31 -0
- package/dist/o-core/src/utils/object.utils.d.ts +5 -0
- package/dist/o-core/src/utils/object.utils.d.ts.map +1 -0
- package/dist/o-core/src/utils/object.utils.js +23 -0
- package/dist/o-core/src/utils/regex.utils.d.ts +4 -0
- package/dist/o-core/src/utils/regex.utils.d.ts.map +1 -0
- package/dist/o-core/src/utils/regex.utils.js +13 -0
- package/dist/o-core/src/utils/remote.utils.d.ts +4 -0
- package/dist/o-core/src/utils/remote.utils.d.ts.map +1 -0
- package/dist/o-core/src/utils/remote.utils.js +5 -0
- package/dist/o-node/src/connection/o-node-connection.d.ts +2 -2
- package/dist/o-node/src/connection/o-node-connection.d.ts.map +1 -1
- package/dist/o-node/src/connection/o-node-connection.js +36 -23
- package/dist/o-node/src/connection/o-node-connection.manager.d.ts.map +1 -1
- package/dist/o-node/src/connection/o-node-connection.manager.js +13 -41
- package/dist/o-node/src/index.d.ts +1 -0
- package/dist/o-node/src/index.d.ts.map +1 -1
- package/dist/o-node/src/index.js +1 -0
- package/dist/o-node/src/interfaces/o-node.config.d.ts +0 -17
- package/dist/o-node/src/interfaces/o-node.config.d.ts.map +1 -1
- package/dist/o-node/src/managers/o-connection-heartbeat.manager.d.ts +1 -0
- package/dist/o-node/src/managers/o-connection-heartbeat.manager.d.ts.map +1 -1
- package/dist/o-node/src/managers/o-connection-heartbeat.manager.js +17 -3
- package/dist/o-node/src/o-node.d.ts +11 -12
- package/dist/o-node/src/o-node.d.ts.map +1 -1
- package/dist/o-node/src/o-node.js +104 -25
- package/dist/o-node/src/o-node.notification-manager.js +4 -1
- package/dist/o-node/src/o-node.tool.d.ts.map +1 -1
- package/dist/o-node/src/o-node.tool.js +16 -23
- package/dist/o-node/src/router/o-node.router.d.ts +1 -0
- package/dist/o-node/src/router/o-node.router.d.ts.map +1 -1
- package/dist/o-node/src/router/o-node.router.js +53 -7
- package/dist/o-node/src/router/resolvers/o-node.resolver.d.ts.map +1 -1
- package/dist/o-node/src/router/resolvers/o-node.resolver.js +5 -1
- package/dist/o-node/src/ui/index.d.ts +3 -0
- package/dist/o-node/src/ui/index.d.ts.map +1 -0
- package/dist/o-node/src/ui/index.js +2 -0
- package/dist/o-node/src/ui/types.d.ts +110 -0
- package/dist/o-node/src/ui/types.d.ts.map +1 -0
- package/dist/o-node/src/ui/types.js +17 -0
- package/dist/o-node/src/ui/ui-graph.manager.d.ts +70 -0
- package/dist/o-node/src/ui/ui-graph.manager.d.ts.map +1 -0
- package/dist/o-node/src/ui/ui-graph.manager.js +274 -0
- package/dist/o-node/src/utils/index.d.ts +0 -2
- package/dist/o-node/src/utils/index.d.ts.map +1 -1
- package/dist/o-node/src/utils/index.js +0 -2
- package/dist/o-node/src/utils/stream.utils.d.ts.map +1 -1
- package/dist/o-node/src/utils/stream.utils.js +25 -21
- package/dist/o-node/test/helpers/test-node.tool.d.ts +15 -0
- package/dist/o-node/test/helpers/test-node.tool.d.ts.map +1 -0
- package/dist/o-node/test/helpers/test-node.tool.js +27 -0
- package/dist/src/connection/o-node-connection.manager.d.ts +14 -4
- package/dist/src/connection/o-node-connection.manager.d.ts.map +1 -1
- package/dist/src/connection/o-node-connection.manager.js +61 -29
- package/package.json +6 -6
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { oCoreConfig } from './interfaces/o-core.config.js';
|
|
2
|
+
import { NodeState } from './interfaces/state.enum.js';
|
|
3
|
+
import { oAddress } from '../router/o-address.js';
|
|
4
|
+
import { NodeType } from './interfaces/node-type.enum.js';
|
|
5
|
+
import { oConnectionManager } from '../connection/o-connection-manager.js';
|
|
6
|
+
import { oResponse } from '../connection/o-response.js';
|
|
7
|
+
import { oConnection } from '../connection/o-connection.js';
|
|
8
|
+
import { oMethod } from '@olane/o-protocol';
|
|
9
|
+
import { oDependency } from './o-dependency.js';
|
|
10
|
+
import { oObject } from './o-object.js';
|
|
11
|
+
import { oMetrics } from './lib/o-metrics.js';
|
|
12
|
+
import { oHierarchyManager } from './lib/o-hierarchy.manager.js';
|
|
13
|
+
import { oRequestManager } from './lib/o-request.manager.js';
|
|
14
|
+
import { oTransport } from '../transports/o-transport.js';
|
|
15
|
+
import { oRouter } from '../router/o-router.js';
|
|
16
|
+
import { oRequest } from '../connection/o-request.js';
|
|
17
|
+
import { oNotificationManager } from './lib/o-notification.manager.js';
|
|
18
|
+
import { oNotificationEvent, EventFilter, NotificationHandler, Subscription } from './lib/events/index.js';
|
|
19
|
+
import { oConnectionConfig } from '../connection/index.js';
|
|
20
|
+
import { UseOptions } from './interfaces/use-options.interface.js';
|
|
21
|
+
import { UseStreamOptions } from './interfaces/use-stream-options.interface.js';
|
|
22
|
+
export declare abstract class oCore extends oObject {
|
|
23
|
+
readonly config: oCoreConfig;
|
|
24
|
+
address: oAddress;
|
|
25
|
+
state: NodeState;
|
|
26
|
+
errors: Error[];
|
|
27
|
+
connectionManager: oConnectionManager;
|
|
28
|
+
hierarchyManager: oHierarchyManager;
|
|
29
|
+
metrics: oMetrics;
|
|
30
|
+
requestManager: oRequestManager;
|
|
31
|
+
router: oRouter;
|
|
32
|
+
notificationManager: oNotificationManager;
|
|
33
|
+
private heartbeatInterval?;
|
|
34
|
+
constructor(config: oCoreConfig);
|
|
35
|
+
get isLeader(): boolean;
|
|
36
|
+
get leader(): oAddress | null;
|
|
37
|
+
abstract configureTransports(): any[];
|
|
38
|
+
useStream(address: oAddress, data: {
|
|
39
|
+
method?: string;
|
|
40
|
+
params?: {
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
};
|
|
43
|
+
id?: string;
|
|
44
|
+
}, options: UseStreamOptions): Promise<oResponse>;
|
|
45
|
+
useDirect(address: oAddress, data?: {
|
|
46
|
+
method?: string;
|
|
47
|
+
params?: {
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
};
|
|
50
|
+
id?: string;
|
|
51
|
+
}): Promise<oResponse>;
|
|
52
|
+
/**
|
|
53
|
+
* Sends a request to a remote node in the O-Lane network using the specified address and optional data payload.
|
|
54
|
+
*
|
|
55
|
+
* This method handles the complete communication flow:
|
|
56
|
+
* 1. Validates the target address format
|
|
57
|
+
* 2. Resolves the routing path through the network
|
|
58
|
+
* 3. Establishes a connection to the target node
|
|
59
|
+
* 4. Sends the request payload and waits for response
|
|
60
|
+
* 5. Handles errors and throws them as oError instances
|
|
61
|
+
*
|
|
62
|
+
* @param address - The target node address in O-Lane format (must start with 'o://')
|
|
63
|
+
* @param data - Optional request data containing method, parameters, and request ID
|
|
64
|
+
* @param data.method - The method name to invoke on the target node
|
|
65
|
+
* @param data.params - Key-value pairs of parameters to pass to the method
|
|
66
|
+
* @param data.id - Unique identifier for the request (for tracking purposes)
|
|
67
|
+
* @returns Promise that resolves to an oResponse containing the result from the target node
|
|
68
|
+
* @throws {Error} When the address is invalid (doesn't pass validation)
|
|
69
|
+
* @throws {oError} When the target node returns an error response
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* // Basic usage - call a method on a remote node
|
|
74
|
+
* const response = await node.use(
|
|
75
|
+
* new oAddress('o://calculator/add'),
|
|
76
|
+
* {
|
|
77
|
+
* method: 'add',
|
|
78
|
+
* params: { a: 5, b: 3 },
|
|
79
|
+
* id: 'calc-001'
|
|
80
|
+
* }
|
|
81
|
+
* );
|
|
82
|
+
* console.log(response.result); // { result: 8 }
|
|
83
|
+
*
|
|
84
|
+
* // Minimal usage - just specify the address
|
|
85
|
+
* const response = await node.use(
|
|
86
|
+
* new oAddress('o://status/health')
|
|
87
|
+
* );
|
|
88
|
+
* console.log(response.result); // { status: 'healthy' }
|
|
89
|
+
*
|
|
90
|
+
* // Error handling
|
|
91
|
+
* try {
|
|
92
|
+
* const response = await node.use(
|
|
93
|
+
* new oAddress('o://calculator/divide'),
|
|
94
|
+
* { method: 'divide', params: { a: 10, b: 0 } }
|
|
95
|
+
* );
|
|
96
|
+
* } catch (error) {
|
|
97
|
+
* if (error instanceof oError) {
|
|
98
|
+
* console.error(`Node error ${error.code}: ${error.message}`);
|
|
99
|
+
* } else {
|
|
100
|
+
* console.error('Invalid address or connection error:', error.message);
|
|
101
|
+
* }
|
|
102
|
+
* }
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
use(address: oAddress, data?: {
|
|
106
|
+
method?: string;
|
|
107
|
+
params?: {
|
|
108
|
+
[key: string]: any;
|
|
109
|
+
};
|
|
110
|
+
id?: string;
|
|
111
|
+
}, options?: UseOptions): Promise<oResponse>;
|
|
112
|
+
abstract execute(request: oRequest): Promise<any>;
|
|
113
|
+
/**
|
|
114
|
+
* Helper method to handle response errors
|
|
115
|
+
* @param response The response to check for errors
|
|
116
|
+
* @throws oError if the response contains an error
|
|
117
|
+
*/
|
|
118
|
+
private handleResponseError;
|
|
119
|
+
/**
|
|
120
|
+
* Helper method to validate node is running
|
|
121
|
+
* @throws Error if node is not running
|
|
122
|
+
*/
|
|
123
|
+
private validateRunning;
|
|
124
|
+
useSelf(data?: {
|
|
125
|
+
method?: string;
|
|
126
|
+
params?: {
|
|
127
|
+
[key: string]: any;
|
|
128
|
+
};
|
|
129
|
+
id?: string;
|
|
130
|
+
}): Promise<oResponse>;
|
|
131
|
+
useChild(childAddress: oAddress, data?: {
|
|
132
|
+
method?: string;
|
|
133
|
+
params?: {
|
|
134
|
+
[key: string]: any;
|
|
135
|
+
};
|
|
136
|
+
id?: string;
|
|
137
|
+
}, options?: {
|
|
138
|
+
isStream?: boolean;
|
|
139
|
+
onChunk?: (chunk: oResponse) => void;
|
|
140
|
+
}): Promise<oResponse>;
|
|
141
|
+
addChildNode(node: oCore): void;
|
|
142
|
+
removeChildNode(node: oCore): void;
|
|
143
|
+
abstract connect(config: oConnectionConfig): Promise<oConnection>;
|
|
144
|
+
abstract initializeRouter(): void;
|
|
145
|
+
abstract unregister(): Promise<void>;
|
|
146
|
+
abstract register(): Promise<void>;
|
|
147
|
+
protected abstract createNotificationManager(): oNotificationManager;
|
|
148
|
+
/**
|
|
149
|
+
* Emit a notification event
|
|
150
|
+
*/
|
|
151
|
+
protected notify(event: oNotificationEvent): void;
|
|
152
|
+
/**
|
|
153
|
+
* Subscribe to notification events
|
|
154
|
+
*/
|
|
155
|
+
protected onNotification(eventType: string, handler: NotificationHandler, filter?: EventFilter): Subscription;
|
|
156
|
+
initialize(): Promise<void>;
|
|
157
|
+
get isRunning(): boolean;
|
|
158
|
+
hookStartFinished(): Promise<void>;
|
|
159
|
+
/**
|
|
160
|
+
* Starts the node by transitioning through initialization and registration phases.
|
|
161
|
+
*
|
|
162
|
+
* This method performs the following operations in sequence:
|
|
163
|
+
* 1. Validates that the node is in STOPPED state
|
|
164
|
+
* 2. Sets state to STARTING
|
|
165
|
+
* 3. Calls initialize() to set up the node's core components
|
|
166
|
+
* 4. Attempts registration with the network (registration errors are logged but don't fail startup)
|
|
167
|
+
* 5. Sets state to RUNNING on success
|
|
168
|
+
*
|
|
169
|
+
* @throws {Error} If the node is not in STOPPED state or initialization fails
|
|
170
|
+
* @returns {Promise<void>} Resolves when the node is successfully started and running
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```typescript
|
|
174
|
+
* const node = new oNode(config);
|
|
175
|
+
* try {
|
|
176
|
+
* await node.start();
|
|
177
|
+
* console.log('Node is now running');
|
|
178
|
+
* } catch (error) {
|
|
179
|
+
* console.error('Failed to start node:', error);
|
|
180
|
+
* }
|
|
181
|
+
* ```
|
|
182
|
+
*
|
|
183
|
+
* @remarks
|
|
184
|
+
* - If the node is already running or starting, the method will log a warning and return early
|
|
185
|
+
* - Registration failures are logged but do not prevent the node from starting
|
|
186
|
+
* - On any initialization error, the node state is set to ERROR and teardown() is called
|
|
187
|
+
* - The node must be in STOPPED state before calling this method
|
|
188
|
+
*/
|
|
189
|
+
start(): Promise<void>;
|
|
190
|
+
/**
|
|
191
|
+
* Stops the node by performing cleanup and transitioning to a stopped state.
|
|
192
|
+
*
|
|
193
|
+
* This method performs the following operations in sequence:
|
|
194
|
+
* 1. Sets state to STOPPING
|
|
195
|
+
* 2. Calls teardown() to clean up node resources and connections
|
|
196
|
+
* 3. Sets state to STOPPED on successful completion
|
|
197
|
+
*
|
|
198
|
+
* @throws {Error} If teardown operations fail, the node state will be set to ERROR
|
|
199
|
+
* @returns {Promise<void>} Resolves when the node is successfully stopped
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```typescript
|
|
203
|
+
* const node = new oNode(config);
|
|
204
|
+
* await node.start();
|
|
205
|
+
*
|
|
206
|
+
* // Later, when shutting down
|
|
207
|
+
* try {
|
|
208
|
+
* await node.stop();
|
|
209
|
+
* console.log('Node stopped successfully');
|
|
210
|
+
* } catch (error) {
|
|
211
|
+
* console.error('Failed to stop node:', error);
|
|
212
|
+
* }
|
|
213
|
+
* ```
|
|
214
|
+
*
|
|
215
|
+
* @remarks
|
|
216
|
+
* - This method can be called from any node state
|
|
217
|
+
* - If teardown fails, errors are logged and the node state is set to ERROR
|
|
218
|
+
* - All cleanup operations are performed through the teardown() method
|
|
219
|
+
* - The method will attempt to stop gracefully even if the node is in an error state
|
|
220
|
+
*/
|
|
221
|
+
stop(): Promise<void>;
|
|
222
|
+
teardown(): Promise<void>;
|
|
223
|
+
get dependencies(): oDependency[];
|
|
224
|
+
/**
|
|
225
|
+
* Start sending periodic heartbeats to the monitor node
|
|
226
|
+
* This is optional and only runs if MONITOR_ENABLED=true and MONITOR_ADDRESS is set
|
|
227
|
+
*/
|
|
228
|
+
private startHeartbeat;
|
|
229
|
+
get methods(): {
|
|
230
|
+
[key: string]: oMethod;
|
|
231
|
+
};
|
|
232
|
+
get description(): string;
|
|
233
|
+
get staticAddress(): oAddress;
|
|
234
|
+
get type(): NodeType;
|
|
235
|
+
get transports(): oTransport[];
|
|
236
|
+
get parent(): oAddress | null;
|
|
237
|
+
get parentTransports(): oTransport[];
|
|
238
|
+
whoami(): Promise<any>;
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=o-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"o-core.d.ts","sourceRoot":"","sources":["../../../../../o-core/src/core/o-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAEhF,8BAAsB,KAAM,SAAQ,OAAO;IAY7B,QAAQ,CAAC,MAAM,EAAE,WAAW;IAXjC,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,EAAE,SAAS,CAAqB;IACrC,MAAM,EAAE,KAAK,EAAE,CAAM;IACrB,iBAAiB,EAAG,kBAAkB,CAAC;IACvC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,OAAO,EAAE,QAAQ,CAAkB;IACnC,cAAc,EAAE,eAAe,CAAyB;IACxD,MAAM,EAAG,OAAO,CAAC;IACjB,mBAAmB,EAAG,oBAAoB,CAAC;IAClD,OAAO,CAAC,iBAAiB,CAAC,CAAiB;gBAEtB,MAAM,EAAE,WAAW;IAWxC,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,MAAM,IAAI,QAAQ,GAAG,IAAI,CAE5B;IAGD,QAAQ,CAAC,mBAAmB,IAAI,GAAG,EAAE;IAE/B,SAAS,CACb,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE;QACJ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QAChC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,EACD,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,SAAS,CAAC;IAiBf,SAAS,CACb,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QAChC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,GACA,OAAO,CAAC,SAAS,CAAC;IAIrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACG,GAAG,CACP,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QAChC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,EACD,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,SAAS,CAAC;IAiErB,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAEjD;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAOjB,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QAChC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,GAAG,OAAO,CAAC,SAAS,CAAC;IA4BhB,QAAQ,CACZ,YAAY,EAAE,QAAQ,EACtB,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QAChC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,EACD,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;KACtC,GACA,OAAO,CAAC,SAAS,CAAC;IA2CrB,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAI/B,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAKlC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAGjE,QAAQ,CAAC,gBAAgB,IAAI,IAAI;IAGjC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAGlC,SAAS,CAAC,QAAQ,CAAC,yBAAyB,IAAI,oBAAoB;IAEpE;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAMjD;;OAEG;IACH,SAAS,CAAC,cAAc,CACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,YAAY;IAQT,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,IAAI,SAAS,IAAI,OAAO,CAMvB;IAEK,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBrB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBtC,IAAI,YAAY,IAAI,WAAW,EAAE,CAEhC;IAED;;;OAGG;IACH,OAAO,CAAC,cAAc;IA0CtB,IAAI,OAAO,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAExC;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,aAAa,IAAI,QAAQ,CAE5B;IAED,IAAI,IAAI,IAAI,QAAQ,CAEnB;IAED,IAAI,UAAU,IAAI,UAAU,EAAE,CAE7B;IAED,IAAI,MAAM,IAAI,QAAQ,GAAG,IAAI,CAE5B;IAED,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAEnC;IAEK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;CAQ7B"}
|