@olane/o-node 0.7.12-alpha.42 → 0.7.12-alpha.43
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/package.json +6 -6
- package/dist/o-core/src/connection/index.d.ts +0 -8
- package/dist/o-core/src/connection/index.d.ts.map +0 -1
- package/dist/o-core/src/connection/index.js +0 -7
- package/dist/o-core/src/connection/interfaces/connection-manager.config.d.ts +0 -15
- package/dist/o-core/src/connection/interfaces/connection-manager.config.d.ts.map +0 -1
- package/dist/o-core/src/connection/interfaces/connection-manager.config.js +0 -1
- package/dist/o-core/src/connection/interfaces/connection-send-params.interface.d.ts +0 -9
- package/dist/o-core/src/connection/interfaces/connection-send-params.interface.d.ts.map +0 -1
- package/dist/o-core/src/connection/interfaces/connection-send-params.interface.js +0 -1
- package/dist/o-core/src/connection/interfaces/connection.config.d.ts +0 -20
- package/dist/o-core/src/connection/interfaces/connection.config.d.ts.map +0 -1
- package/dist/o-core/src/connection/interfaces/connection.config.js +0 -1
- package/dist/o-core/src/connection/interfaces/index.d.ts +0 -5
- package/dist/o-core/src/connection/interfaces/index.d.ts.map +0 -1
- package/dist/o-core/src/connection/interfaces/index.js +0 -4
- package/dist/o-core/src/connection/interfaces/request-state.enum.d.ts +0 -7
- package/dist/o-core/src/connection/interfaces/request-state.enum.d.ts.map +0 -1
- package/dist/o-core/src/connection/interfaces/request-state.enum.js +0 -7
- package/dist/o-core/src/connection/o-connection-manager.d.ts +0 -19
- package/dist/o-core/src/connection/o-connection-manager.d.ts.map +0 -1
- package/dist/o-core/src/connection/o-connection-manager.js +0 -27
- package/dist/o-core/src/connection/o-connection.d.ts +0 -26
- package/dist/o-core/src/connection/o-connection.d.ts.map +0 -1
- package/dist/o-core/src/connection/o-connection.js +0 -54
- package/dist/o-core/src/connection/o-request.d.ts +0 -23
- package/dist/o-core/src/connection/o-request.d.ts.map +0 -1
- package/dist/o-core/src/connection/o-request.js +0 -42
- package/dist/o-core/src/connection/o-response.d.ts +0 -13
- package/dist/o-core/src/connection/o-response.d.ts.map +0 -1
- package/dist/o-core/src/connection/o-response.js +0 -25
- package/dist/o-core/src/core/defaults/config.d.ts +0 -4
- package/dist/o-core/src/core/defaults/config.d.ts.map +0 -1
- package/dist/o-core/src/core/defaults/config.js +0 -5
- package/dist/o-core/src/core/defaults/index.d.ts +0 -2
- package/dist/o-core/src/core/defaults/index.d.ts.map +0 -1
- package/dist/o-core/src/core/defaults/index.js +0 -1
- package/dist/o-core/src/core/graceful-shutdown.d.ts +0 -25
- package/dist/o-core/src/core/graceful-shutdown.d.ts.map +0 -1
- package/dist/o-core/src/core/graceful-shutdown.js +0 -84
- package/dist/o-core/src/core/index.d.ts +0 -9
- package/dist/o-core/src/core/index.d.ts.map +0 -1
- package/dist/o-core/src/core/index.js +0 -8
- package/dist/o-core/src/core/interfaces/index.d.ts +0 -7
- package/dist/o-core/src/core/interfaces/index.d.ts.map +0 -1
- package/dist/o-core/src/core/interfaces/index.js +0 -6
- package/dist/o-core/src/core/interfaces/node-type.enum.d.ts +0 -10
- package/dist/o-core/src/core/interfaces/node-type.enum.d.ts.map +0 -1
- package/dist/o-core/src/core/interfaces/node-type.enum.js +0 -10
- package/dist/o-core/src/core/interfaces/o-core.config.d.ts +0 -23
- package/dist/o-core/src/core/interfaces/o-core.config.d.ts.map +0 -1
- package/dist/o-core/src/core/interfaces/o-core.config.js +0 -1
- package/dist/o-core/src/core/interfaces/o-core.interface.d.ts +0 -18
- package/dist/o-core/src/core/interfaces/o-core.interface.d.ts.map +0 -1
- package/dist/o-core/src/core/interfaces/o-core.interface.js +0 -1
- package/dist/o-core/src/core/interfaces/state.enum.d.ts +0 -8
- package/dist/o-core/src/core/interfaces/state.enum.d.ts.map +0 -1
- package/dist/o-core/src/core/interfaces/state.enum.js +0 -8
- package/dist/o-core/src/core/interfaces/use-options.interface.d.ts +0 -11
- package/dist/o-core/src/core/interfaces/use-options.interface.d.ts.map +0 -1
- package/dist/o-core/src/core/interfaces/use-options.interface.js +0 -1
- package/dist/o-core/src/core/interfaces/use-stream-options.interface.d.ts +0 -4
- package/dist/o-core/src/core/interfaces/use-stream-options.interface.d.ts.map +0 -1
- package/dist/o-core/src/core/interfaces/use-stream-options.interface.js +0 -1
- package/dist/o-core/src/core/lib/events/connection-events.d.ts +0 -31
- package/dist/o-core/src/core/lib/events/connection-events.d.ts.map +0 -1
- package/dist/o-core/src/core/lib/events/connection-events.js +0 -46
- package/dist/o-core/src/core/lib/events/hierarchy-events.d.ts +0 -69
- package/dist/o-core/src/core/lib/events/hierarchy-events.d.ts.map +0 -1
- package/dist/o-core/src/core/lib/events/hierarchy-events.js +0 -100
- package/dist/o-core/src/core/lib/events/index.d.ts +0 -6
- package/dist/o-core/src/core/lib/events/index.d.ts.map +0 -1
- package/dist/o-core/src/core/lib/events/index.js +0 -5
- package/dist/o-core/src/core/lib/events/node-events.d.ts +0 -40
- package/dist/o-core/src/core/lib/events/node-events.d.ts.map +0 -1
- package/dist/o-core/src/core/lib/events/node-events.js +0 -58
- package/dist/o-core/src/core/lib/events/o-notification-event.d.ts +0 -26
- package/dist/o-core/src/core/lib/events/o-notification-event.d.ts.map +0 -1
- package/dist/o-core/src/core/lib/events/o-notification-event.js +0 -30
- package/dist/o-core/src/core/lib/index.d.ts +0 -8
- package/dist/o-core/src/core/lib/index.d.ts.map +0 -1
- package/dist/o-core/src/core/lib/index.js +0 -7
- package/dist/o-core/src/core/lib/interfaces/notification-types.d.ts +0 -49
- package/dist/o-core/src/core/lib/interfaces/notification-types.d.ts.map +0 -1
- package/dist/o-core/src/core/lib/interfaces/notification-types.js +0 -1
- package/dist/o-core/src/core/lib/o-hierarchy.manager.d.ts +0 -24
- package/dist/o-core/src/core/lib/o-hierarchy.manager.d.ts.map +0 -1
- package/dist/o-core/src/core/lib/o-hierarchy.manager.js +0 -58
- package/dist/o-core/src/core/lib/o-metrics.d.ts +0 -5
- package/dist/o-core/src/core/lib/o-metrics.d.ts.map +0 -1
- package/dist/o-core/src/core/lib/o-metrics.js +0 -6
- package/dist/o-core/src/core/lib/o-notification.manager.d.ts +0 -58
- package/dist/o-core/src/core/lib/o-notification.manager.d.ts.map +0 -1
- package/dist/o-core/src/core/lib/o-notification.manager.js +0 -159
- package/dist/o-core/src/core/lib/o-request.manager.d.ts +0 -10
- package/dist/o-core/src/core/lib/o-request.manager.d.ts.map +0 -1
- package/dist/o-core/src/core/lib/o-request.manager.js +0 -18
- package/dist/o-core/src/core/lib/utils/event-filters.d.ts +0 -38
- package/dist/o-core/src/core/lib/utils/event-filters.d.ts.map +0 -1
- package/dist/o-core/src/core/lib/utils/event-filters.js +0 -159
- package/dist/o-core/src/core/o-core.d.ts +0 -240
- package/dist/o-core/src/core/o-core.d.ts.map +0 -1
- package/dist/o-core/src/core/o-core.js +0 -463
- package/dist/o-core/src/core/o-dependency.d.ts +0 -9
- package/dist/o-core/src/core/o-dependency.d.ts.map +0 -1
- package/dist/o-core/src/core/o-dependency.js +0 -15
- package/dist/o-core/src/core/o-object.d.ts +0 -7
- package/dist/o-core/src/core/o-object.d.ts.map +0 -1
- package/dist/o-core/src/core/o-object.js +0 -10
- package/dist/o-core/src/core/o-parameter.d.ts +0 -12
- package/dist/o-core/src/core/o-parameter.d.ts.map +0 -1
- package/dist/o-core/src/core/o-parameter.js +0 -21
- package/dist/o-core/src/error/enums/codes.error.d.ts +0 -20
- package/dist/o-core/src/error/enums/codes.error.d.ts.map +0 -1
- package/dist/o-core/src/error/enums/codes.error.js +0 -20
- package/dist/o-core/src/error/index.d.ts +0 -3
- package/dist/o-core/src/error/index.d.ts.map +0 -1
- package/dist/o-core/src/error/index.js +0 -2
- package/dist/o-core/src/error/interfaces/o-error.interface.d.ts +0 -6
- package/dist/o-core/src/error/interfaces/o-error.interface.d.ts.map +0 -1
- package/dist/o-core/src/error/interfaces/o-error.interface.js +0 -1
- package/dist/o-core/src/error/o-error.d.ts +0 -15
- package/dist/o-core/src/error/o-error.d.ts.map +0 -1
- package/dist/o-core/src/error/o-error.js +0 -27
- package/dist/o-core/src/index.d.ts +0 -8
- package/dist/o-core/src/index.d.ts.map +0 -1
- package/dist/o-core/src/index.js +0 -7
- package/dist/o-core/src/response/index.d.ts +0 -2
- package/dist/o-core/src/response/index.d.ts.map +0 -1
- package/dist/o-core/src/response/index.js +0 -1
- package/dist/o-core/src/response/response-builder.d.ts +0 -140
- package/dist/o-core/src/response/response-builder.d.ts.map +0 -1
- package/dist/o-core/src/response/response-builder.js +0 -190
- package/dist/o-core/src/router/enums/restricted-addresses.enum.d.ts +0 -8
- package/dist/o-core/src/router/enums/restricted-addresses.enum.d.ts.map +0 -1
- package/dist/o-core/src/router/enums/restricted-addresses.enum.js +0 -13
- package/dist/o-core/src/router/index.d.ts +0 -11
- package/dist/o-core/src/router/index.d.ts.map +0 -1
- package/dist/o-core/src/router/index.js +0 -10
- package/dist/o-core/src/router/interfaces/resolve.request.d.ts +0 -10
- package/dist/o-core/src/router/interfaces/resolve.request.d.ts.map +0 -1
- package/dist/o-core/src/router/interfaces/resolve.request.js +0 -1
- package/dist/o-core/src/router/interfaces/route.response.d.ts +0 -8
- package/dist/o-core/src/router/interfaces/route.response.d.ts.map +0 -1
- package/dist/o-core/src/router/interfaces/route.response.js +0 -1
- package/dist/o-core/src/router/o-address-resolver.d.ts +0 -14
- package/dist/o-core/src/router/o-address-resolver.d.ts.map +0 -1
- package/dist/o-core/src/router/o-address-resolver.js +0 -19
- package/dist/o-core/src/router/o-address.d.ts +0 -33
- package/dist/o-core/src/router/o-address.d.ts.map +0 -1
- package/dist/o-core/src/router/o-address.js +0 -114
- package/dist/o-core/src/router/o-request-preparation.d.ts +0 -37
- package/dist/o-core/src/router/o-request-preparation.d.ts.map +0 -1
- package/dist/o-core/src/router/o-request-preparation.js +0 -75
- package/dist/o-core/src/router/o-request.router.d.ts +0 -18
- package/dist/o-core/src/router/o-request.router.d.ts.map +0 -1
- package/dist/o-core/src/router/o-request.router.js +0 -12
- package/dist/o-core/src/router/o-resolver-chain.d.ts +0 -32
- package/dist/o-core/src/router/o-resolver-chain.d.ts.map +0 -1
- package/dist/o-core/src/router/o-resolver-chain.js +0 -62
- package/dist/o-core/src/router/o-router.d.ts +0 -19
- package/dist/o-core/src/router/o-router.d.ts.map +0 -1
- package/dist/o-core/src/router/o-router.js +0 -14
- package/dist/o-core/src/router/o-routing-policy.d.ts +0 -36
- package/dist/o-core/src/router/o-routing-policy.d.ts.map +0 -1
- package/dist/o-core/src/router/o-routing-policy.js +0 -19
- package/dist/o-core/src/streaming/index.d.ts +0 -11
- package/dist/o-core/src/streaming/index.d.ts.map +0 -1
- package/dist/o-core/src/streaming/index.js +0 -14
- package/dist/o-core/src/streaming/protocol-builder.d.ts +0 -62
- package/dist/o-core/src/streaming/protocol-builder.d.ts.map +0 -1
- package/dist/o-core/src/streaming/protocol-builder.js +0 -93
- package/dist/o-core/src/streaming/stream-config.d.ts +0 -36
- package/dist/o-core/src/streaming/stream-config.d.ts.map +0 -1
- package/dist/o-core/src/streaming/stream-config.js +0 -19
- package/dist/o-core/src/streaming/stream-handler.base.d.ts +0 -85
- package/dist/o-core/src/streaming/stream-handler.base.d.ts.map +0 -1
- package/dist/o-core/src/streaming/stream-handler.base.js +0 -112
- package/dist/o-core/src/streaming/stream-transport.interface.d.ts +0 -61
- package/dist/o-core/src/streaming/stream-transport.interface.d.ts.map +0 -1
- package/dist/o-core/src/streaming/stream-transport.interface.js +0 -10
- package/dist/o-core/src/transports/custom.transport.d.ts +0 -6
- package/dist/o-core/src/transports/custom.transport.d.ts.map +0 -1
- package/dist/o-core/src/transports/custom.transport.js +0 -10
- package/dist/o-core/src/transports/index.d.ts +0 -4
- package/dist/o-core/src/transports/index.d.ts.map +0 -1
- package/dist/o-core/src/transports/index.js +0 -3
- package/dist/o-core/src/transports/interfaces/transport-type.enum.d.ts +0 -5
- package/dist/o-core/src/transports/interfaces/transport-type.enum.d.ts.map +0 -1
- package/dist/o-core/src/transports/interfaces/transport-type.enum.js +0 -5
- package/dist/o-core/src/transports/o-transport.d.ts +0 -10
- package/dist/o-core/src/transports/o-transport.d.ts.map +0 -1
- package/dist/o-core/src/transports/o-transport.js +0 -16
- package/dist/o-core/src/utils/core.utils.d.ts +0 -34
- package/dist/o-core/src/utils/core.utils.d.ts.map +0 -1
- package/dist/o-core/src/utils/core.utils.js +0 -123
- package/dist/o-core/src/utils/index.d.ts +0 -6
- package/dist/o-core/src/utils/index.d.ts.map +0 -1
- package/dist/o-core/src/utils/index.js +0 -5
- package/dist/o-core/src/utils/logger.d.ts +0 -14
- package/dist/o-core/src/utils/logger.d.ts.map +0 -1
- package/dist/o-core/src/utils/logger.js +0 -31
- package/dist/o-core/src/utils/object.utils.d.ts +0 -5
- package/dist/o-core/src/utils/object.utils.d.ts.map +0 -1
- package/dist/o-core/src/utils/object.utils.js +0 -23
- package/dist/o-core/src/utils/regex.utils.d.ts +0 -4
- package/dist/o-core/src/utils/regex.utils.d.ts.map +0 -1
- package/dist/o-core/src/utils/regex.utils.js +0 -13
- package/dist/o-core/src/utils/remote.utils.d.ts +0 -4
- package/dist/o-core/src/utils/remote.utils.d.ts.map +0 -1
- package/dist/o-core/src/utils/remote.utils.js +0 -5
- package/dist/o-core/src/utils/streaming.utils.d.ts +0 -22
- package/dist/o-core/src/utils/streaming.utils.d.ts.map +0 -1
- package/dist/o-core/src/utils/streaming.utils.js +0 -45
- package/dist/o-node/src/connection/index.d.ts +0 -5
- package/dist/o-node/src/connection/index.d.ts.map +0 -1
- package/dist/o-node/src/connection/index.js +0 -4
- package/dist/o-node/src/connection/interfaces/o-node-connection-manager.config.d.ts +0 -6
- package/dist/o-node/src/connection/interfaces/o-node-connection-manager.config.d.ts.map +0 -1
- package/dist/o-node/src/connection/interfaces/o-node-connection-manager.config.js +0 -1
- package/dist/o-node/src/connection/interfaces/o-node-connection.config.d.ts +0 -6
- package/dist/o-node/src/connection/interfaces/o-node-connection.config.d.ts.map +0 -1
- package/dist/o-node/src/connection/interfaces/o-node-connection.config.js +0 -1
- package/dist/o-node/src/connection/o-node-connection.d.ts +0 -13
- package/dist/o-node/src/connection/o-node-connection.d.ts.map +0 -1
- package/dist/o-node/src/connection/o-node-connection.js +0 -93
- package/dist/o-node/src/connection/o-node-connection.manager.d.ts +0 -19
- package/dist/o-node/src/connection/o-node-connection.manager.d.ts.map +0 -1
- package/dist/o-node/src/connection/o-node-connection.manager.js +0 -65
- package/dist/o-node/src/connection/o-stream.request.d.ts +0 -11
- package/dist/o-node/src/connection/o-stream.request.d.ts.map +0 -1
- package/dist/o-node/src/connection/o-stream.request.js +0 -7
- package/dist/o-node/src/index.d.ts +0 -12
- package/dist/o-node/src/index.d.ts.map +0 -1
- package/dist/o-node/src/index.js +0 -11
- package/dist/o-node/src/interfaces/i-heartbeatable-node.d.ts +0 -49
- package/dist/o-node/src/interfaces/i-heartbeatable-node.d.ts.map +0 -1
- package/dist/o-node/src/interfaces/i-heartbeatable-node.js +0 -1
- package/dist/o-node/src/interfaces/i-reconnectable-node.d.ts +0 -46
- package/dist/o-node/src/interfaces/i-reconnectable-node.d.ts.map +0 -1
- package/dist/o-node/src/interfaces/i-reconnectable-node.js +0 -1
- package/dist/o-node/src/interfaces/o-node.config.d.ts +0 -49
- package/dist/o-node/src/interfaces/o-node.config.d.ts.map +0 -1
- package/dist/o-node/src/interfaces/o-node.config.js +0 -1
- package/dist/o-node/src/interfaces/o-node.tool-config.d.ts +0 -4
- package/dist/o-node/src/interfaces/o-node.tool-config.d.ts.map +0 -1
- package/dist/o-node/src/interfaces/o-node.tool-config.js +0 -1
- package/dist/o-node/src/lib/network-activity.lib.d.ts +0 -1
- package/dist/o-node/src/lib/network-activity.lib.d.ts.map +0 -1
- package/dist/o-node/src/lib/network-activity.lib.js +0 -34
- package/dist/o-node/src/managers/o-connection-heartbeat.manager.d.ts +0 -63
- package/dist/o-node/src/managers/o-connection-heartbeat.manager.d.ts.map +0 -1
- package/dist/o-node/src/managers/o-connection-heartbeat.manager.js +0 -227
- package/dist/o-node/src/managers/o-reconnection.manager.d.ts +0 -51
- package/dist/o-node/src/managers/o-reconnection.manager.d.ts.map +0 -1
- package/dist/o-node/src/managers/o-reconnection.manager.js +0 -266
- package/dist/o-node/src/nodes/client.node.d.ts +0 -7
- package/dist/o-node/src/nodes/client.node.d.ts.map +0 -1
- package/dist/o-node/src/nodes/client.node.js +0 -16
- package/dist/o-node/src/nodes/index.d.ts +0 -4
- package/dist/o-node/src/nodes/index.d.ts.map +0 -1
- package/dist/o-node/src/nodes/index.js +0 -3
- package/dist/o-node/src/nodes/server.node.d.ts +0 -7
- package/dist/o-node/src/nodes/server.node.d.ts.map +0 -1
- package/dist/o-node/src/nodes/server.node.js +0 -20
- package/dist/o-node/src/nodes/websocket.node.d.ts +0 -7
- package/dist/o-node/src/nodes/websocket.node.d.ts.map +0 -1
- package/dist/o-node/src/nodes/websocket.node.js +0 -18
- package/dist/o-node/src/o-node.d.ts +0 -72
- package/dist/o-node/src/o-node.d.ts.map +0 -1
- package/dist/o-node/src/o-node.hierarchy-manager.d.ts +0 -15
- package/dist/o-node/src/o-node.hierarchy-manager.d.ts.map +0 -1
- package/dist/o-node/src/o-node.hierarchy-manager.js +0 -15
- package/dist/o-node/src/o-node.js +0 -493
- package/dist/o-node/src/o-node.notification-manager.d.ts +0 -52
- package/dist/o-node/src/o-node.notification-manager.d.ts.map +0 -1
- package/dist/o-node/src/o-node.notification-manager.js +0 -188
- package/dist/o-node/src/o-node.tool.d.ts +0 -18
- package/dist/o-node/src/o-node.tool.d.ts.map +0 -1
- package/dist/o-node/src/o-node.tool.js +0 -83
- package/dist/o-node/src/router/index.d.ts +0 -6
- package/dist/o-node/src/router/index.d.ts.map +0 -1
- package/dist/o-node/src/router/index.js +0 -5
- package/dist/o-node/src/router/interfaces/o-node-router.config.d.ts +0 -3
- package/dist/o-node/src/router/interfaces/o-node-router.config.d.ts.map +0 -1
- package/dist/o-node/src/router/interfaces/o-node-router.config.js +0 -1
- package/dist/o-node/src/router/interfaces/o-node-router.response.d.ts +0 -8
- package/dist/o-node/src/router/interfaces/o-node-router.response.d.ts.map +0 -1
- package/dist/o-node/src/router/interfaces/o-node-router.response.js +0 -1
- package/dist/o-node/src/router/o-node.address.d.ts +0 -18
- package/dist/o-node/src/router/o-node.address.d.ts.map +0 -1
- package/dist/o-node/src/router/o-node.address.js +0 -29
- package/dist/o-node/src/router/o-node.router.d.ts +0 -46
- package/dist/o-node/src/router/o-node.router.d.ts.map +0 -1
- package/dist/o-node/src/router/o-node.router.js +0 -181
- package/dist/o-node/src/router/o-node.routing-policy.d.ts +0 -30
- package/dist/o-node/src/router/o-node.routing-policy.d.ts.map +0 -1
- package/dist/o-node/src/router/o-node.routing-policy.js +0 -57
- package/dist/o-node/src/router/o-node.transport.d.ts +0 -11
- package/dist/o-node/src/router/o-node.transport.d.ts.map +0 -1
- package/dist/o-node/src/router/o-node.transport.js +0 -18
- package/dist/o-node/src/router/resolvers/index.d.ts +0 -4
- package/dist/o-node/src/router/resolvers/index.d.ts.map +0 -1
- package/dist/o-node/src/router/resolvers/index.js +0 -3
- package/dist/o-node/src/router/resolvers/o-node.leader-resolver-fallback.d.ts +0 -8
- package/dist/o-node/src/router/resolvers/o-node.leader-resolver-fallback.d.ts.map +0 -1
- package/dist/o-node/src/router/resolvers/o-node.leader-resolver-fallback.js +0 -35
- package/dist/o-node/src/router/resolvers/o-node.resolver.d.ts +0 -11
- package/dist/o-node/src/router/resolvers/o-node.resolver.d.ts.map +0 -1
- package/dist/o-node/src/router/resolvers/o-node.resolver.js +0 -45
- package/dist/o-node/src/router/resolvers/o-node.search-resolver.d.ts +0 -170
- package/dist/o-node/src/router/resolvers/o-node.search-resolver.d.ts.map +0 -1
- package/dist/o-node/src/router/resolvers/o-node.search-resolver.js +0 -285
- package/dist/o-node/src/router/route.request.d.ts +0 -14
- package/dist/o-node/src/router/route.request.d.ts.map +0 -1
- package/dist/o-node/src/router/route.request.js +0 -1
- package/dist/o-node/src/streaming/index.d.ts +0 -10
- package/dist/o-node/src/streaming/index.d.ts.map +0 -1
- package/dist/o-node/src/streaming/index.js +0 -12
- package/dist/o-node/src/streaming/libp2p-stream-transport.d.ts +0 -50
- package/dist/o-node/src/streaming/libp2p-stream-transport.d.ts.map +0 -1
- package/dist/o-node/src/streaming/libp2p-stream-transport.js +0 -137
- package/dist/o-node/src/streaming/node-stream-handler.d.ts +0 -65
- package/dist/o-node/src/streaming/node-stream-handler.d.ts.map +0 -1
- package/dist/o-node/src/streaming/node-stream-handler.js +0 -101
- package/dist/o-node/src/ui/index.d.ts +0 -3
- package/dist/o-node/src/ui/index.d.ts.map +0 -1
- package/dist/o-node/src/ui/index.js +0 -2
- package/dist/o-node/src/ui/types.d.ts +0 -110
- package/dist/o-node/src/ui/types.d.ts.map +0 -1
- package/dist/o-node/src/ui/types.js +0 -17
- package/dist/o-node/src/ui/ui-graph.manager.d.ts +0 -70
- package/dist/o-node/src/ui/ui-graph.manager.d.ts.map +0 -1
- package/dist/o-node/src/ui/ui-graph.manager.js +0 -274
- package/dist/o-node/src/utils/circuit-breaker.d.ts +0 -107
- package/dist/o-node/src/utils/circuit-breaker.d.ts.map +0 -1
- package/dist/o-node/src/utils/circuit-breaker.js +0 -175
- package/dist/o-node/src/utils/index.d.ts +0 -3
- package/dist/o-node/src/utils/index.d.ts.map +0 -1
- package/dist/o-node/src/utils/index.js +0 -2
- package/dist/o-node/src/utils/leader-request-wrapper.d.ts +0 -66
- package/dist/o-node/src/utils/leader-request-wrapper.d.ts.map +0 -1
- package/dist/o-node/src/utils/leader-request-wrapper.js +0 -160
- package/dist/o-node/src/utils/network.utils.d.ts +0 -20
- package/dist/o-node/src/utils/network.utils.d.ts.map +0 -1
- package/dist/o-node/src/utils/network.utils.js +0 -74
- package/dist/o-node/src/utils/stream.utils.d.ts +0 -6
- package/dist/o-node/src/utils/stream.utils.d.ts.map +0 -1
- package/dist/o-node/src/utils/stream.utils.js +0 -31
- package/dist/o-node/test/circuit-breaker.test.d.ts +0 -2
- package/dist/o-node/test/circuit-breaker.test.d.ts.map +0 -1
- package/dist/o-node/test/circuit-breaker.test.js +0 -262
- package/dist/o-node/test/helpers/test-node.tool.d.ts +0 -15
- package/dist/o-node/test/helpers/test-node.tool.d.ts.map +0 -1
- package/dist/o-node/test/helpers/test-node.tool.js +0 -27
- package/dist/o-node/test/leader-request-wrapper.test.d.ts +0 -1
- package/dist/o-node/test/leader-request-wrapper.test.d.ts.map +0 -1
- package/dist/o-node/test/leader-request-wrapper.test.js +0 -246
- package/dist/o-node/test/o-node.spec.d.ts +0 -2
- package/dist/o-node/test/o-node.spec.d.ts.map +0 -1
- package/dist/o-node/test/o-node.spec.js +0 -20
- package/dist/o-node/test/search-resolver.spec.d.ts +0 -2
- package/dist/o-node/test/search-resolver.spec.d.ts.map +0 -1
- package/dist/o-node/test/search-resolver.spec.js +0 -693
- package/dist/src/streaming/index.d.ts +0 -10
- package/dist/src/streaming/index.d.ts.map +0 -1
- package/dist/src/streaming/index.js +0 -12
- package/dist/src/streaming/libp2p-stream-transport.d.ts +0 -50
- package/dist/src/streaming/libp2p-stream-transport.d.ts.map +0 -1
- package/dist/src/streaming/libp2p-stream-transport.js +0 -137
- package/dist/src/streaming/node-stream-handler.d.ts +0 -65
- package/dist/src/streaming/node-stream-handler.d.ts.map +0 -1
- package/dist/src/streaming/node-stream-handler.js +0 -101
- package/dist/src/streaming/o-node-streaming-client.d.ts +0 -33
- package/dist/src/streaming/o-node-streaming-client.d.ts.map +0 -1
- package/dist/src/streaming/o-node-streaming-client.js +0 -130
- package/dist/src/utils/circuit-breaker.d.ts +0 -107
- package/dist/src/utils/circuit-breaker.d.ts.map +0 -1
- package/dist/src/utils/circuit-breaker.js +0 -175
- package/dist/src/utils/circuit-breaker.test.d.ts +0 -2
- package/dist/src/utils/circuit-breaker.test.d.ts.map +0 -1
- package/dist/src/utils/circuit-breaker.test.js +0 -262
- package/dist/src/utils/leader-request-wrapper.d.ts +0 -66
- package/dist/src/utils/leader-request-wrapper.d.ts.map +0 -1
- package/dist/src/utils/leader-request-wrapper.js +0 -160
- package/dist/src/utils/leader-request-wrapper.test.d.ts +0 -1
- package/dist/src/utils/leader-request-wrapper.test.d.ts.map +0 -1
- package/dist/src/utils/leader-request-wrapper.test.js +0 -246
- package/dist/test/circuit-breaker.test.d.ts +0 -2
- package/dist/test/circuit-breaker.test.d.ts.map +0 -1
- package/dist/test/circuit-breaker.test.js +0 -262
- package/dist/test/leader-request-wrapper.test.d.ts +0 -1
- package/dist/test/leader-request-wrapper.test.d.ts.map +0 -1
- package/dist/test/leader-request-wrapper.test.js +0 -246
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Streaming functionality for o-node
|
|
3
|
-
*
|
|
4
|
-
* This module provides libp2p-specific implementations of the streaming
|
|
5
|
-
* abstractions defined in o-core.
|
|
6
|
-
*/
|
|
7
|
-
export { Libp2pStreamTransport } from './libp2p-stream-transport.js';
|
|
8
|
-
export { NodeStreamHandler, NodeStreamHandlerOptions, } from './node-stream-handler.js';
|
|
9
|
-
export { oNodeStreamingClient } from './o-node-streaming-client.js';
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/streaming/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Streaming functionality for o-node
|
|
3
|
-
*
|
|
4
|
-
* This module provides libp2p-specific implementations of the streaming
|
|
5
|
-
* abstractions defined in o-core.
|
|
6
|
-
*/
|
|
7
|
-
// libp2p-specific stream transport
|
|
8
|
-
export { Libp2pStreamTransport } from './libp2p-stream-transport.js';
|
|
9
|
-
// o-node stream handler with metrics
|
|
10
|
-
export { NodeStreamHandler, } from './node-stream-handler.js';
|
|
11
|
-
// o-node streaming client for client-side streaming orchestration
|
|
12
|
-
export { oNodeStreamingClient } from './o-node-streaming-client.js';
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Stream } from '@olane/o-config';
|
|
2
|
-
import { IStreamTransport, StreamStatus, StreamTransportConfig } from '@olane/o-core';
|
|
3
|
-
/**
|
|
4
|
-
* libp2p-specific implementation of IStreamTransport.
|
|
5
|
-
* Wraps a libp2p Stream and handles backpressure, message listening,
|
|
6
|
-
* and stream lifecycle management.
|
|
7
|
-
*/
|
|
8
|
-
export declare class Libp2pStreamTransport implements IStreamTransport {
|
|
9
|
-
private readonly stream;
|
|
10
|
-
private messageHandler?;
|
|
11
|
-
private config;
|
|
12
|
-
constructor(stream: Stream, config?: StreamTransportConfig);
|
|
13
|
-
/**
|
|
14
|
-
* Get the underlying libp2p Stream (useful for advanced use cases)
|
|
15
|
-
*/
|
|
16
|
-
getStream(): Stream;
|
|
17
|
-
/**
|
|
18
|
-
* Send data through the stream with backpressure handling
|
|
19
|
-
*/
|
|
20
|
-
send(data: Uint8Array): Promise<void>;
|
|
21
|
-
/**
|
|
22
|
-
* Set up a message handler for incoming data.
|
|
23
|
-
* IMPORTANT: For libp2p v3, this must be called synchronously after
|
|
24
|
-
* receiving the stream to prevent buffer overflow.
|
|
25
|
-
*/
|
|
26
|
-
onMessage(handler: (data: Uint8Array) => void): void;
|
|
27
|
-
/**
|
|
28
|
-
* Remove the message handler
|
|
29
|
-
*/
|
|
30
|
-
removeMessageHandler(): void;
|
|
31
|
-
/**
|
|
32
|
-
* Close the stream and clean up resources
|
|
33
|
-
*/
|
|
34
|
-
close(): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
* Get the current status of the stream
|
|
37
|
-
*/
|
|
38
|
-
getStatus(): StreamStatus;
|
|
39
|
-
/**
|
|
40
|
-
* Check if the stream is in a usable state
|
|
41
|
-
*/
|
|
42
|
-
isOpen(): boolean;
|
|
43
|
-
/**
|
|
44
|
-
* Wait for the first message with timeout
|
|
45
|
-
* @param timeoutMs - Optional timeout in milliseconds (defaults to config.readTimeoutMs)
|
|
46
|
-
* @returns Promise that resolves with the first message
|
|
47
|
-
*/
|
|
48
|
-
waitForMessage(timeoutMs?: number): Promise<Uint8Array>;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=libp2p-stream-transport.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p-stream-transport.d.ts","sourceRoot":"","sources":["../../../src/streaming/libp2p-stream-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAUvB;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,gBAAgB;IAK1D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,cAAc,CAAC,CAA6B;IACpD,OAAO,CAAC,MAAM,CAAkC;gBAG7B,MAAM,EAAE,MAAM,EAC/B,MAAM,CAAC,EAAE,qBAAqB;IAQhC;;OAEG;IACI,SAAS,IAAI,MAAM;IAI1B;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB3C;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAcpD;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAO5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACH,SAAS,IAAI,YAAY;IAkBzB;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;;;OAIG;IACG,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAe9D"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { StreamStatus, } from '@olane/o-core';
|
|
2
|
-
/**
|
|
3
|
-
* Default configuration for libp2p stream transport
|
|
4
|
-
*/
|
|
5
|
-
const DEFAULT_CONFIG = {
|
|
6
|
-
drainTimeoutMs: 30000, // 30 seconds
|
|
7
|
-
readTimeoutMs: 120000, // 2 minutes
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* libp2p-specific implementation of IStreamTransport.
|
|
11
|
-
* Wraps a libp2p Stream and handles backpressure, message listening,
|
|
12
|
-
* and stream lifecycle management.
|
|
13
|
-
*/
|
|
14
|
-
export class Libp2pStreamTransport {
|
|
15
|
-
constructor(stream, config) {
|
|
16
|
-
this.stream = stream;
|
|
17
|
-
this.config = {
|
|
18
|
-
...DEFAULT_CONFIG,
|
|
19
|
-
...config,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Get the underlying libp2p Stream (useful for advanced use cases)
|
|
24
|
-
*/
|
|
25
|
-
getStream() {
|
|
26
|
-
return this.stream;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Send data through the stream with backpressure handling
|
|
30
|
-
*/
|
|
31
|
-
async send(data) {
|
|
32
|
-
// Check stream status before sending
|
|
33
|
-
if (this.stream.status !== 'open') {
|
|
34
|
-
throw new Error(`Cannot send on stream with status: ${this.stream.status}`);
|
|
35
|
-
}
|
|
36
|
-
try {
|
|
37
|
-
// Attempt to send the data
|
|
38
|
-
const sent = this.stream.send(data);
|
|
39
|
-
// Handle backpressure if the buffer is full
|
|
40
|
-
if (!sent) {
|
|
41
|
-
// Wait for the stream to drain with timeout
|
|
42
|
-
await this.stream.onDrain({
|
|
43
|
-
signal: AbortSignal.timeout(this.config.drainTimeoutMs),
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
throw new Error(`Failed to send data: ${error}`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Set up a message handler for incoming data.
|
|
53
|
-
* IMPORTANT: For libp2p v3, this must be called synchronously after
|
|
54
|
-
* receiving the stream to prevent buffer overflow.
|
|
55
|
-
*/
|
|
56
|
-
onMessage(handler) {
|
|
57
|
-
this.messageHandler = handler;
|
|
58
|
-
// Attach the message listener to the stream
|
|
59
|
-
// This is synchronous and must be done immediately for libp2p v3
|
|
60
|
-
this.stream.addEventListener('message', (event) => {
|
|
61
|
-
if (this.messageHandler) {
|
|
62
|
-
// Extract the data from the event
|
|
63
|
-
const data = event.detail;
|
|
64
|
-
this.messageHandler(data);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Remove the message handler
|
|
70
|
-
*/
|
|
71
|
-
removeMessageHandler() {
|
|
72
|
-
this.messageHandler = undefined;
|
|
73
|
-
// Note: We don't remove the event listener because libp2p doesn't
|
|
74
|
-
// provide a clean way to do this. The handler being undefined
|
|
75
|
-
// effectively disables it.
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Close the stream and clean up resources
|
|
79
|
-
*/
|
|
80
|
-
async close() {
|
|
81
|
-
try {
|
|
82
|
-
if (this.stream.status === 'open' || this.stream.status === 'closing') {
|
|
83
|
-
await this.stream.close();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
console.error('Error closing stream:', error);
|
|
88
|
-
// Don't throw - closing errors are not critical
|
|
89
|
-
}
|
|
90
|
-
finally {
|
|
91
|
-
this.removeMessageHandler();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Get the current status of the stream
|
|
96
|
-
*/
|
|
97
|
-
getStatus() {
|
|
98
|
-
// Map libp2p status to our StreamStatus enum
|
|
99
|
-
const status = this.stream.status;
|
|
100
|
-
switch (status) {
|
|
101
|
-
case 'open':
|
|
102
|
-
return StreamStatus.OPEN;
|
|
103
|
-
case 'closing':
|
|
104
|
-
return StreamStatus.CLOSING;
|
|
105
|
-
case 'closed':
|
|
106
|
-
return StreamStatus.CLOSED;
|
|
107
|
-
case 'reset':
|
|
108
|
-
return StreamStatus.RESET;
|
|
109
|
-
default:
|
|
110
|
-
return StreamStatus.CLOSED;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Check if the stream is in a usable state
|
|
115
|
-
*/
|
|
116
|
-
isOpen() {
|
|
117
|
-
return this.stream.status === 'open';
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Wait for the first message with timeout
|
|
121
|
-
* @param timeoutMs - Optional timeout in milliseconds (defaults to config.readTimeoutMs)
|
|
122
|
-
* @returns Promise that resolves with the first message
|
|
123
|
-
*/
|
|
124
|
-
async waitForMessage(timeoutMs) {
|
|
125
|
-
const timeout = timeoutMs ?? this.config.readTimeoutMs;
|
|
126
|
-
return new Promise((resolve, reject) => {
|
|
127
|
-
const timer = setTimeout(() => {
|
|
128
|
-
this.removeMessageHandler();
|
|
129
|
-
reject(new Error(`Timeout waiting for message after ${timeout}ms`));
|
|
130
|
-
}, timeout);
|
|
131
|
-
this.onMessage((data) => {
|
|
132
|
-
clearTimeout(timer);
|
|
133
|
-
resolve(data);
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { StreamHandlerBase, StreamHandlerOptions } from '@olane/o-core';
|
|
2
|
-
import { oRequest } from '@olane/o-protocol';
|
|
3
|
-
import { Libp2pStreamTransport } from './libp2p-stream-transport.js';
|
|
4
|
-
/**
|
|
5
|
-
* Options for NodeStreamHandler
|
|
6
|
-
*/
|
|
7
|
-
export interface NodeStreamHandlerOptions extends StreamHandlerOptions {
|
|
8
|
-
/**
|
|
9
|
-
* Enable success count tracking
|
|
10
|
-
*/
|
|
11
|
-
trackSuccessCount?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Enable error count tracking
|
|
14
|
-
*/
|
|
15
|
-
trackErrorCount?: boolean;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* o-node specific implementation of StreamHandlerBase.
|
|
19
|
-
* Integrates with libp2p streams and tracks metrics for o-node tools.
|
|
20
|
-
*/
|
|
21
|
-
export declare class NodeStreamHandler extends StreamHandlerBase {
|
|
22
|
-
private successCount;
|
|
23
|
-
private errorCount;
|
|
24
|
-
private transport;
|
|
25
|
-
private nodeOptions;
|
|
26
|
-
constructor(transport: Libp2pStreamTransport, options?: NodeStreamHandlerOptions);
|
|
27
|
-
/**
|
|
28
|
-
* Get the success count (number of chunks successfully sent)
|
|
29
|
-
*/
|
|
30
|
-
getSuccessCount(): number;
|
|
31
|
-
/**
|
|
32
|
-
* Get the error count
|
|
33
|
-
*/
|
|
34
|
-
getErrorCount(): number;
|
|
35
|
-
/**
|
|
36
|
-
* Reset metrics
|
|
37
|
-
*/
|
|
38
|
-
resetMetrics(): void;
|
|
39
|
-
/**
|
|
40
|
-
* Implementation of sendChunk using libp2p transport and protocol builder
|
|
41
|
-
*/
|
|
42
|
-
protected sendChunk(chunk: unknown, sequence: number, isLast: boolean, request: oRequest): Promise<void>;
|
|
43
|
-
/**
|
|
44
|
-
* Hook: Called when streaming starts
|
|
45
|
-
*/
|
|
46
|
-
protected onStreamStart(request: oRequest): void;
|
|
47
|
-
/**
|
|
48
|
-
* Hook: Called when streaming completes successfully
|
|
49
|
-
*/
|
|
50
|
-
protected onStreamComplete(request: oRequest, totalChunks: number): void;
|
|
51
|
-
/**
|
|
52
|
-
* Hook: Called when streaming encounters an error
|
|
53
|
-
*/
|
|
54
|
-
protected onStreamError(request: oRequest, error: any): void;
|
|
55
|
-
/**
|
|
56
|
-
* Reset the handler for reuse with a new transport
|
|
57
|
-
*/
|
|
58
|
-
reset(): void;
|
|
59
|
-
/**
|
|
60
|
-
* Create a new NodeStreamHandler with a different transport
|
|
61
|
-
* (useful for handling multiple streams)
|
|
62
|
-
*/
|
|
63
|
-
static create(transport: Libp2pStreamTransport, options?: NodeStreamHandlerOptions): NodeStreamHandler;
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=node-stream-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-stream-handler.d.ts","sourceRoot":"","sources":["../../../src/streaming/node-stream-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EAErB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,WAAW,CAA2B;gBAG5C,SAAS,EAAE,qBAAqB,EAChC,OAAO,GAAE,wBAA6B;IAWxC;;OAEG;IACI,eAAe,IAAI,MAAM;IAIhC;;OAEG;IACI,aAAa,IAAI,MAAM;IAI9B;;OAEG;IACI,YAAY,IAAI,IAAI;IAK3B;;OAEG;cACa,SAAS,CACvB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IA0BhB;;OAEG;cACgB,aAAa,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAOzD;;OAEG;cACgB,gBAAgB,CACjC,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,MAAM,GAClB,IAAI;IASP;;OAEG;cACgB,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAUrE;;OAEG;IACI,KAAK,IAAI,IAAI;IAOpB;;;OAGG;WACW,MAAM,CAClB,SAAS,EAAE,qBAAqB,EAChC,OAAO,CAAC,EAAE,wBAAwB,GACjC,iBAAiB;CAGrB"}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { StreamHandlerBase, ProtocolBuilder, } from '@olane/o-core';
|
|
2
|
-
/**
|
|
3
|
-
* o-node specific implementation of StreamHandlerBase.
|
|
4
|
-
* Integrates with libp2p streams and tracks metrics for o-node tools.
|
|
5
|
-
*/
|
|
6
|
-
export class NodeStreamHandler extends StreamHandlerBase {
|
|
7
|
-
constructor(transport, options = {}) {
|
|
8
|
-
super(options);
|
|
9
|
-
this.successCount = 0;
|
|
10
|
-
this.errorCount = 0;
|
|
11
|
-
this.transport = transport;
|
|
12
|
-
this.nodeOptions = {
|
|
13
|
-
trackSuccessCount: true,
|
|
14
|
-
trackErrorCount: true,
|
|
15
|
-
...options,
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Get the success count (number of chunks successfully sent)
|
|
20
|
-
*/
|
|
21
|
-
getSuccessCount() {
|
|
22
|
-
return this.successCount;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Get the error count
|
|
26
|
-
*/
|
|
27
|
-
getErrorCount() {
|
|
28
|
-
return this.errorCount;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Reset metrics
|
|
32
|
-
*/
|
|
33
|
-
resetMetrics() {
|
|
34
|
-
this.successCount = 0;
|
|
35
|
-
this.errorCount = 0;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Implementation of sendChunk using libp2p transport and protocol builder
|
|
39
|
-
*/
|
|
40
|
-
async sendChunk(chunk, sequence, isLast, request) {
|
|
41
|
-
// Build the JSON-RPC streaming chunk message
|
|
42
|
-
const message = ProtocolBuilder.buildStreamChunkFromRequest(chunk, sequence, isLast, request);
|
|
43
|
-
// Encode the message to bytes
|
|
44
|
-
const encoded = ProtocolBuilder.encodeMessage(message);
|
|
45
|
-
// Send through the transport (handles backpressure)
|
|
46
|
-
await this.transport.send(encoded);
|
|
47
|
-
// Track metrics if enabled
|
|
48
|
-
if (this.nodeOptions.trackSuccessCount) {
|
|
49
|
-
this.successCount++;
|
|
50
|
-
}
|
|
51
|
-
// Close the stream if this is the last chunk
|
|
52
|
-
if (isLast) {
|
|
53
|
-
await this.transport.close();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Hook: Called when streaming starts
|
|
58
|
-
*/
|
|
59
|
-
onStreamStart(request) {
|
|
60
|
-
// Reset metrics for this stream
|
|
61
|
-
if (this.nodeOptions.enableMetrics) {
|
|
62
|
-
this.resetMetrics();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Hook: Called when streaming completes successfully
|
|
67
|
-
*/
|
|
68
|
-
onStreamComplete(request, totalChunks) {
|
|
69
|
-
// Log completion if metrics enabled
|
|
70
|
-
if (this.nodeOptions.enableMetrics) {
|
|
71
|
-
console.log(`Stream completed for ${request.method}: ${totalChunks} chunks sent`);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Hook: Called when streaming encounters an error
|
|
76
|
-
*/
|
|
77
|
-
onStreamError(request, error) {
|
|
78
|
-
// Track error count
|
|
79
|
-
if (this.nodeOptions.trackErrorCount) {
|
|
80
|
-
this.errorCount++;
|
|
81
|
-
}
|
|
82
|
-
// Log error
|
|
83
|
-
console.error(`Stream error for ${request.method}:`, error);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Reset the handler for reuse with a new transport
|
|
87
|
-
*/
|
|
88
|
-
reset() {
|
|
89
|
-
// Call parent reset
|
|
90
|
-
this.state = 0; // Reset state (IDLE)
|
|
91
|
-
this.currentSequence = 0;
|
|
92
|
-
this.resetMetrics();
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Create a new NodeStreamHandler with a different transport
|
|
96
|
-
* (useful for handling multiple streams)
|
|
97
|
-
*/
|
|
98
|
-
static create(transport, options) {
|
|
99
|
-
return new NodeStreamHandler(transport, options);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Stream } from '@olane/o-config';
|
|
2
|
-
import { oRequest, StreamTransportConfig } from '@olane/o-core';
|
|
3
|
-
/**
|
|
4
|
-
* Client-side streaming orchestration for o-node.
|
|
5
|
-
* Manages chunk queues, backpressure, timeouts, and provides both
|
|
6
|
-
* callback and AsyncGenerator interfaces for streaming responses.
|
|
7
|
-
*/
|
|
8
|
-
export declare class oNodeStreamingClient {
|
|
9
|
-
/**
|
|
10
|
-
* Transmit a request via streaming and receive chunks through a callback.
|
|
11
|
-
* This method handles the full streaming lifecycle including timeouts,
|
|
12
|
-
* chunk sequencing, and cleanup.
|
|
13
|
-
*
|
|
14
|
-
* @param stream The libp2p stream to use for communication
|
|
15
|
-
* @param request The request to send
|
|
16
|
-
* @param onChunk Callback invoked for each chunk received
|
|
17
|
-
* @param config Optional transport configuration
|
|
18
|
-
* @returns Promise that resolves when the stream completes
|
|
19
|
-
*/
|
|
20
|
-
streamRequest(stream: Stream, request: oRequest, onChunk: (chunk: any, sequence: number, isLast: boolean) => void, config?: StreamTransportConfig): Promise<void>;
|
|
21
|
-
/**
|
|
22
|
-
* Transmit a request via streaming and receive chunks as an AsyncGenerator.
|
|
23
|
-
* This enables true streaming by yielding chunks as they arrive, not buffering them all first.
|
|
24
|
-
* Manages chunk queue with backpressure coordination between chunk arrival and consumption.
|
|
25
|
-
*
|
|
26
|
-
* @param stream The libp2p stream to use for communication
|
|
27
|
-
* @param request The request to send
|
|
28
|
-
* @param config Optional transport configuration
|
|
29
|
-
* @returns AsyncGenerator that yields chunks as they arrive
|
|
30
|
-
*/
|
|
31
|
-
streamAsGenerator(stream: Stream, request: oRequest, config?: StreamTransportConfig): AsyncGenerator<any, void, unknown>;
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=o-node-streaming-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"o-node-streaming-client.d.ts","sourceRoot":"","sources":["../../../src/streaming/o-node-streaming-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAGL,QAAQ,EAER,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAGvB;;;;GAIG;AACH,qBAAa,oBAAoB;IAC/B;;;;;;;;;;OAUG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,EAChE,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAgEhB;;;;;;;;;OASG;IACI,iBAAiB,CACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,qBAAqB,GAC7B,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC;CA2DtC"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { oError, oErrorCodes, ProtocolBuilder, } from '@olane/o-core';
|
|
2
|
-
import { Libp2pStreamTransport } from './libp2p-stream-transport.js';
|
|
3
|
-
/**
|
|
4
|
-
* Client-side streaming orchestration for o-node.
|
|
5
|
-
* Manages chunk queues, backpressure, timeouts, and provides both
|
|
6
|
-
* callback and AsyncGenerator interfaces for streaming responses.
|
|
7
|
-
*/
|
|
8
|
-
export class oNodeStreamingClient {
|
|
9
|
-
/**
|
|
10
|
-
* Transmit a request via streaming and receive chunks through a callback.
|
|
11
|
-
* This method handles the full streaming lifecycle including timeouts,
|
|
12
|
-
* chunk sequencing, and cleanup.
|
|
13
|
-
*
|
|
14
|
-
* @param stream The libp2p stream to use for communication
|
|
15
|
-
* @param request The request to send
|
|
16
|
-
* @param onChunk Callback invoked for each chunk received
|
|
17
|
-
* @param config Optional transport configuration
|
|
18
|
-
* @returns Promise that resolves when the stream completes
|
|
19
|
-
*/
|
|
20
|
-
async streamRequest(stream, request, onChunk, config) {
|
|
21
|
-
// Create transport abstraction
|
|
22
|
-
const transport = new Libp2pStreamTransport(stream, config);
|
|
23
|
-
// Send the request using the transport
|
|
24
|
-
const data = new TextEncoder().encode(request.toString());
|
|
25
|
-
await transport.send(data);
|
|
26
|
-
// Set up to receive multiple chunks
|
|
27
|
-
return new Promise((resolve, reject) => {
|
|
28
|
-
// Set up timeout for receiving first chunk
|
|
29
|
-
const timeout = setTimeout(async () => {
|
|
30
|
-
transport.removeMessageHandler();
|
|
31
|
-
await transport.close();
|
|
32
|
-
reject(new oError(oErrorCodes.TIMEOUT, 'Timeout waiting for streaming response'));
|
|
33
|
-
}, config?.readTimeoutMs ?? 120000);
|
|
34
|
-
let timeoutCleared = false;
|
|
35
|
-
const messageHandler = async (data) => {
|
|
36
|
-
// Clear timeout on first message
|
|
37
|
-
if (!timeoutCleared) {
|
|
38
|
-
clearTimeout(timeout);
|
|
39
|
-
timeoutCleared = true;
|
|
40
|
-
}
|
|
41
|
-
try {
|
|
42
|
-
const response = ProtocolBuilder.decodeMessage(data);
|
|
43
|
-
// Try to parse as streaming chunk
|
|
44
|
-
const chunk = ProtocolBuilder.parseStreamChunk(response);
|
|
45
|
-
if (chunk) {
|
|
46
|
-
// Streaming response
|
|
47
|
-
onChunk(chunk.data, chunk.sequence, chunk.isLast);
|
|
48
|
-
if (chunk.isLast) {
|
|
49
|
-
transport.removeMessageHandler();
|
|
50
|
-
await transport.close();
|
|
51
|
-
resolve();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
// Non-streaming response (fallback for compatibility)
|
|
56
|
-
onChunk(response.result, 1, true);
|
|
57
|
-
transport.removeMessageHandler();
|
|
58
|
-
await transport.close();
|
|
59
|
-
resolve();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
catch (error) {
|
|
63
|
-
transport.removeMessageHandler();
|
|
64
|
-
await transport.close();
|
|
65
|
-
reject(error);
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
transport.onMessage(messageHandler);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Transmit a request via streaming and receive chunks as an AsyncGenerator.
|
|
73
|
-
* This enables true streaming by yielding chunks as they arrive, not buffering them all first.
|
|
74
|
-
* Manages chunk queue with backpressure coordination between chunk arrival and consumption.
|
|
75
|
-
*
|
|
76
|
-
* @param stream The libp2p stream to use for communication
|
|
77
|
-
* @param request The request to send
|
|
78
|
-
* @param config Optional transport configuration
|
|
79
|
-
* @returns AsyncGenerator that yields chunks as they arrive
|
|
80
|
-
*/
|
|
81
|
-
async *streamAsGenerator(stream, request, config) {
|
|
82
|
-
const chunkQueue = [];
|
|
83
|
-
let streamComplete = false;
|
|
84
|
-
let streamError = null;
|
|
85
|
-
let resolveNextChunk = null;
|
|
86
|
-
// Start streaming in the background using callback pattern
|
|
87
|
-
const transmitPromise = this.streamRequest(stream, request, (chunk, sequence, isLast) => {
|
|
88
|
-
chunkQueue.push({ chunk, sequence, isLast });
|
|
89
|
-
if (isLast) {
|
|
90
|
-
streamComplete = true;
|
|
91
|
-
}
|
|
92
|
-
// Notify that a new chunk is available
|
|
93
|
-
if (resolveNextChunk) {
|
|
94
|
-
resolveNextChunk();
|
|
95
|
-
resolveNextChunk = null;
|
|
96
|
-
}
|
|
97
|
-
}, config).catch((error) => {
|
|
98
|
-
streamError = error;
|
|
99
|
-
// Notify of error
|
|
100
|
-
if (resolveNextChunk) {
|
|
101
|
-
resolveNextChunk();
|
|
102
|
-
resolveNextChunk = null;
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
// Yield chunks as they arrive
|
|
106
|
-
while (!streamComplete && !streamError) {
|
|
107
|
-
if (chunkQueue.length > 0) {
|
|
108
|
-
const { chunk } = chunkQueue.shift();
|
|
109
|
-
yield chunk;
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
// Wait for next chunk
|
|
113
|
-
await new Promise((resolve) => {
|
|
114
|
-
resolveNextChunk = resolve;
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
// Yield any remaining chunks
|
|
119
|
-
while (chunkQueue.length > 0) {
|
|
120
|
-
const { chunk } = chunkQueue.shift();
|
|
121
|
-
yield chunk;
|
|
122
|
-
}
|
|
123
|
-
// Wait for transmit to complete
|
|
124
|
-
await transmitPromise;
|
|
125
|
-
// If there was an error, throw it
|
|
126
|
-
if (streamError) {
|
|
127
|
-
throw streamError;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { oObject } from '@olane/o-core';
|
|
2
|
-
export declare enum CircuitState {
|
|
3
|
-
CLOSED = "CLOSED",// Normal operation, requests pass through
|
|
4
|
-
OPEN = "OPEN",// Circuit broken, requests fast-fail
|
|
5
|
-
HALF_OPEN = "HALF_OPEN"
|
|
6
|
-
}
|
|
7
|
-
export interface CircuitBreakerConfig {
|
|
8
|
-
failureThreshold: number;
|
|
9
|
-
openTimeoutMs: number;
|
|
10
|
-
halfOpenMaxAttempts: number;
|
|
11
|
-
enabled: boolean;
|
|
12
|
-
}
|
|
13
|
-
export interface CircuitStats {
|
|
14
|
-
state: CircuitState;
|
|
15
|
-
consecutiveFailures: number;
|
|
16
|
-
totalFailures: number;
|
|
17
|
-
totalSuccesses: number;
|
|
18
|
-
lastFailureTime?: number;
|
|
19
|
-
lastSuccessTime?: number;
|
|
20
|
-
openedAt?: number;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Circuit Breaker Pattern Implementation
|
|
24
|
-
*
|
|
25
|
-
* Prevents cascading failures by "breaking the circuit" when a service
|
|
26
|
-
* experiences persistent failures. This allows the system to fail fast
|
|
27
|
-
* rather than wasting resources on retries that are likely to fail.
|
|
28
|
-
*
|
|
29
|
-
* States:
|
|
30
|
-
* - CLOSED: Normal operation, all requests pass through
|
|
31
|
-
* - OPEN: Circuit broken due to failures, requests fail immediately
|
|
32
|
-
* - HALF_OPEN: Testing recovery, limited requests allowed
|
|
33
|
-
*
|
|
34
|
-
* Flow:
|
|
35
|
-
* 1. CLOSED -> OPEN: After N consecutive failures
|
|
36
|
-
* 2. OPEN -> HALF_OPEN: After timeout period
|
|
37
|
-
* 3. HALF_OPEN -> CLOSED: After successful request
|
|
38
|
-
* 4. HALF_OPEN -> OPEN: After failure in recovery
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```typescript
|
|
42
|
-
* const breaker = new CircuitBreaker('registry', {
|
|
43
|
-
* failureThreshold: 3,
|
|
44
|
-
* openTimeoutMs: 30000,
|
|
45
|
-
* halfOpenMaxAttempts: 1,
|
|
46
|
-
* enabled: true,
|
|
47
|
-
* });
|
|
48
|
-
*
|
|
49
|
-
* // Before making request
|
|
50
|
-
* if (!breaker.shouldAllowRequest()) {
|
|
51
|
-
* throw new Error('Circuit breaker is open');
|
|
52
|
-
* }
|
|
53
|
-
*
|
|
54
|
-
* try {
|
|
55
|
-
* const result = await makeRequest();
|
|
56
|
-
* breaker.recordSuccess();
|
|
57
|
-
* return result;
|
|
58
|
-
* } catch (error) {
|
|
59
|
-
* breaker.recordFailure();
|
|
60
|
-
* throw error;
|
|
61
|
-
* }
|
|
62
|
-
* ```
|
|
63
|
-
*/
|
|
64
|
-
export declare class CircuitBreaker extends oObject {
|
|
65
|
-
private readonly serviceName;
|
|
66
|
-
private readonly config;
|
|
67
|
-
private state;
|
|
68
|
-
private consecutiveFailures;
|
|
69
|
-
private totalFailures;
|
|
70
|
-
private totalSuccesses;
|
|
71
|
-
private lastFailureTime?;
|
|
72
|
-
private lastSuccessTime?;
|
|
73
|
-
private openedAt?;
|
|
74
|
-
private halfOpenAttempts;
|
|
75
|
-
constructor(serviceName: string, config: CircuitBreakerConfig);
|
|
76
|
-
/**
|
|
77
|
-
* Check if a request should be allowed through the circuit breaker
|
|
78
|
-
* @returns true if request should proceed, false if should fast-fail
|
|
79
|
-
*/
|
|
80
|
-
shouldAllowRequest(): boolean;
|
|
81
|
-
/**
|
|
82
|
-
* Record a successful request
|
|
83
|
-
*/
|
|
84
|
-
recordSuccess(): void;
|
|
85
|
-
/**
|
|
86
|
-
* Record a failed request
|
|
87
|
-
*/
|
|
88
|
-
recordFailure(): void;
|
|
89
|
-
/**
|
|
90
|
-
* Get current statistics
|
|
91
|
-
*/
|
|
92
|
-
getStats(): CircuitStats;
|
|
93
|
-
/**
|
|
94
|
-
* Get current circuit state
|
|
95
|
-
*/
|
|
96
|
-
getState(): CircuitState;
|
|
97
|
-
/**
|
|
98
|
-
* Force reset the circuit breaker to CLOSED state
|
|
99
|
-
* Use with caution - mainly for testing or manual recovery
|
|
100
|
-
*/
|
|
101
|
-
reset(): void;
|
|
102
|
-
/**
|
|
103
|
-
* Transition to a new state
|
|
104
|
-
*/
|
|
105
|
-
private transitionTo;
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=circuit-breaker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../../../src/utils/circuit-breaker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,oBAAY,YAAY;IACtB,MAAM,WAAW,CAAE,0CAA0C;IAC7D,IAAI,SAAS,CAAE,qCAAqC;IACpD,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,cAAe,SAAQ,OAAO;IAWvC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXzB,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAa;gBAGlB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,oBAAoB;IAW/C;;;OAGG;IACH,kBAAkB,IAAI,OAAO;IA2C7B;;OAEG;IACH,aAAa,IAAI,IAAI;IAkBrB;;OAEG;IACH,aAAa,IAAI,IAAI;IA+BrB;;OAEG;IACH,QAAQ,IAAI,YAAY;IAYxB;;OAEG;IACH,QAAQ,IAAI,YAAY;IAIxB;;;OAGG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,OAAO,CAAC,YAAY;CAOrB"}
|