@olane/o-node 0.7.12-alpha.4 → 0.7.12-alpha.41
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 +13 -0
- package/dist/o-core/src/connection/o-response.d.ts.map +1 -0
- package/dist/o-core/src/connection/o-response.js +25 -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/enums/codes.error.d.ts +20 -0
- package/dist/o-core/src/error/enums/codes.error.d.ts.map +1 -0
- package/dist/o-core/src/error/enums/codes.error.js +20 -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/error/interfaces/o-error.interface.d.ts +6 -0
- package/dist/o-core/src/error/interfaces/o-error.interface.d.ts.map +1 -0
- package/dist/o-core/src/error/interfaces/o-error.interface.js +1 -0
- package/dist/o-core/src/error/o-error.d.ts +15 -0
- package/dist/o-core/src/error/o-error.d.ts.map +1 -0
- package/dist/o-core/src/error/o-error.js +27 -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/streaming/index.d.ts +11 -0
- package/dist/o-core/src/streaming/index.d.ts.map +1 -0
- package/dist/o-core/src/streaming/index.js +14 -0
- package/dist/o-core/src/streaming/protocol-builder.d.ts +62 -0
- package/dist/o-core/src/streaming/protocol-builder.d.ts.map +1 -0
- package/dist/o-core/src/streaming/protocol-builder.js +93 -0
- package/dist/o-core/src/streaming/stream-config.d.ts +36 -0
- package/dist/o-core/src/streaming/stream-config.d.ts.map +1 -0
- package/dist/o-core/src/streaming/stream-config.js +19 -0
- package/dist/o-core/src/streaming/stream-handler.base.d.ts +85 -0
- package/dist/o-core/src/streaming/stream-handler.base.d.ts.map +1 -0
- package/dist/o-core/src/streaming/stream-handler.base.js +112 -0
- package/dist/o-core/src/streaming/stream-transport.interface.d.ts +61 -0
- package/dist/o-core/src/streaming/stream-transport.interface.d.ts.map +1 -0
- package/dist/o-core/src/streaming/stream-transport.interface.js +10 -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-core/src/utils/streaming.utils.d.ts +22 -0
- package/dist/o-core/src/utils/streaming.utils.d.ts.map +1 -0
- package/dist/o-core/src/utils/streaming.utils.js +45 -0
- package/dist/o-node/src/connection/index.d.ts +5 -0
- package/dist/o-node/src/connection/index.d.ts.map +1 -0
- package/dist/o-node/src/connection/index.js +4 -0
- package/dist/o-node/src/connection/interfaces/o-node-connection-manager.config.d.ts +6 -0
- package/dist/o-node/src/connection/interfaces/o-node-connection-manager.config.d.ts.map +1 -0
- package/dist/o-node/src/connection/interfaces/o-node-connection-manager.config.js +1 -0
- package/dist/o-node/src/connection/interfaces/o-node-connection.config.d.ts +6 -0
- package/dist/o-node/src/connection/interfaces/o-node-connection.config.d.ts.map +1 -0
- package/dist/o-node/src/connection/interfaces/o-node-connection.config.js +1 -0
- package/dist/o-node/src/connection/o-node-connection.d.ts +13 -0
- package/dist/o-node/src/connection/o-node-connection.d.ts.map +1 -0
- package/dist/o-node/src/connection/o-node-connection.js +93 -0
- package/dist/o-node/src/connection/o-node-connection.manager.d.ts +19 -0
- package/dist/o-node/src/connection/o-node-connection.manager.d.ts.map +1 -0
- package/dist/o-node/src/connection/o-node-connection.manager.js +65 -0
- package/dist/o-node/src/connection/o-stream.request.d.ts +11 -0
- package/dist/o-node/src/connection/o-stream.request.d.ts.map +1 -0
- package/dist/o-node/src/connection/o-stream.request.js +7 -0
- package/dist/o-node/src/index.d.ts +12 -0
- package/dist/o-node/src/index.d.ts.map +1 -0
- package/dist/o-node/src/index.js +11 -0
- package/dist/o-node/src/interfaces/i-heartbeatable-node.d.ts +49 -0
- package/dist/o-node/src/interfaces/i-heartbeatable-node.d.ts.map +1 -0
- package/dist/o-node/src/interfaces/i-heartbeatable-node.js +1 -0
- package/dist/o-node/src/interfaces/i-reconnectable-node.d.ts +46 -0
- package/dist/o-node/src/interfaces/i-reconnectable-node.d.ts.map +1 -0
- package/dist/o-node/src/interfaces/i-reconnectable-node.js +1 -0
- package/dist/o-node/src/interfaces/o-node.config.d.ts +49 -0
- package/dist/o-node/src/interfaces/o-node.config.d.ts.map +1 -0
- package/dist/o-node/src/interfaces/o-node.config.js +1 -0
- package/dist/o-node/src/interfaces/o-node.tool-config.d.ts +4 -0
- package/dist/o-node/src/interfaces/o-node.tool-config.d.ts.map +1 -0
- package/dist/o-node/src/interfaces/o-node.tool-config.js +1 -0
- package/dist/o-node/src/lib/network-activity.lib.d.ts +1 -0
- package/dist/o-node/src/lib/network-activity.lib.d.ts.map +1 -0
- package/dist/o-node/src/lib/network-activity.lib.js +34 -0
- package/dist/o-node/src/managers/o-connection-heartbeat.manager.d.ts +63 -0
- package/dist/o-node/src/managers/o-connection-heartbeat.manager.d.ts.map +1 -0
- package/dist/o-node/src/managers/o-connection-heartbeat.manager.js +227 -0
- package/dist/o-node/src/managers/o-reconnection.manager.d.ts +51 -0
- package/dist/o-node/src/managers/o-reconnection.manager.d.ts.map +1 -0
- package/dist/o-node/src/managers/o-reconnection.manager.js +266 -0
- package/dist/o-node/src/nodes/client.node.d.ts +7 -0
- package/dist/o-node/src/nodes/client.node.d.ts.map +1 -0
- package/dist/o-node/src/nodes/client.node.js +16 -0
- package/dist/o-node/src/nodes/index.d.ts +4 -0
- package/dist/o-node/src/nodes/index.d.ts.map +1 -0
- package/dist/o-node/src/nodes/index.js +3 -0
- package/dist/o-node/src/nodes/server.node.d.ts +7 -0
- package/dist/o-node/src/nodes/server.node.d.ts.map +1 -0
- package/dist/o-node/src/nodes/server.node.js +20 -0
- package/dist/o-node/src/nodes/websocket.node.d.ts +7 -0
- package/dist/o-node/src/nodes/websocket.node.d.ts.map +1 -0
- package/dist/o-node/src/nodes/websocket.node.js +18 -0
- package/dist/o-node/src/o-node.d.ts +72 -0
- package/dist/o-node/src/o-node.d.ts.map +1 -0
- package/dist/o-node/src/o-node.hierarchy-manager.d.ts +15 -0
- package/dist/o-node/src/o-node.hierarchy-manager.d.ts.map +1 -0
- package/dist/o-node/src/o-node.hierarchy-manager.js +15 -0
- package/dist/o-node/src/o-node.js +493 -0
- package/dist/o-node/src/o-node.notification-manager.d.ts +52 -0
- package/dist/o-node/src/o-node.notification-manager.d.ts.map +1 -0
- package/dist/o-node/src/o-node.notification-manager.js +188 -0
- package/dist/o-node/src/o-node.tool.d.ts +18 -0
- package/dist/o-node/src/o-node.tool.d.ts.map +1 -0
- package/dist/o-node/src/o-node.tool.js +83 -0
- package/dist/o-node/src/router/index.d.ts +6 -0
- package/dist/o-node/src/router/index.d.ts.map +1 -0
- package/dist/o-node/src/router/index.js +5 -0
- package/dist/o-node/src/router/interfaces/o-node-router.config.d.ts +3 -0
- package/dist/o-node/src/router/interfaces/o-node-router.config.d.ts.map +1 -0
- package/dist/o-node/src/router/interfaces/o-node-router.config.js +1 -0
- package/dist/o-node/src/router/interfaces/o-node-router.response.d.ts +8 -0
- package/dist/o-node/src/router/interfaces/o-node-router.response.d.ts.map +1 -0
- package/dist/o-node/src/router/interfaces/o-node-router.response.js +1 -0
- package/dist/o-node/src/router/o-node.address.d.ts +18 -0
- package/dist/o-node/src/router/o-node.address.d.ts.map +1 -0
- package/dist/o-node/src/router/o-node.address.js +29 -0
- package/dist/o-node/src/router/o-node.router.d.ts +46 -0
- package/dist/o-node/src/router/o-node.router.d.ts.map +1 -0
- package/dist/o-node/src/router/o-node.router.js +181 -0
- package/dist/o-node/src/router/o-node.routing-policy.d.ts +30 -0
- package/dist/o-node/src/router/o-node.routing-policy.d.ts.map +1 -0
- package/dist/o-node/src/router/o-node.routing-policy.js +57 -0
- package/dist/o-node/src/router/o-node.transport.d.ts +11 -0
- package/dist/o-node/src/router/o-node.transport.d.ts.map +1 -0
- package/dist/o-node/src/router/o-node.transport.js +18 -0
- package/dist/o-node/src/router/resolvers/index.d.ts +4 -0
- package/dist/o-node/src/router/resolvers/index.d.ts.map +1 -0
- package/dist/o-node/src/router/resolvers/index.js +3 -0
- package/dist/o-node/src/router/resolvers/o-node.leader-resolver-fallback.d.ts +8 -0
- package/dist/o-node/src/router/resolvers/o-node.leader-resolver-fallback.d.ts.map +1 -0
- package/dist/o-node/src/router/resolvers/o-node.leader-resolver-fallback.js +35 -0
- package/dist/{src/router/resolvers/o-node.child-resolver.d.ts → o-node/src/router/resolvers/o-node.resolver.d.ts} +2 -2
- package/dist/o-node/src/router/resolvers/o-node.resolver.d.ts.map +1 -0
- package/dist/o-node/src/router/resolvers/o-node.resolver.js +45 -0
- package/dist/o-node/src/router/resolvers/o-node.search-resolver.d.ts +170 -0
- package/dist/o-node/src/router/resolvers/o-node.search-resolver.d.ts.map +1 -0
- package/dist/o-node/src/router/resolvers/o-node.search-resolver.js +285 -0
- package/dist/o-node/src/router/route.request.d.ts +14 -0
- package/dist/o-node/src/router/route.request.d.ts.map +1 -0
- package/dist/o-node/src/router/route.request.js +1 -0
- package/dist/o-node/src/streaming/index.d.ts +10 -0
- package/dist/o-node/src/streaming/index.d.ts.map +1 -0
- package/dist/o-node/src/streaming/index.js +12 -0
- package/dist/o-node/src/streaming/libp2p-stream-transport.d.ts +50 -0
- package/dist/o-node/src/streaming/libp2p-stream-transport.d.ts.map +1 -0
- package/dist/o-node/src/streaming/libp2p-stream-transport.js +137 -0
- package/dist/o-node/src/streaming/node-stream-handler.d.ts +65 -0
- package/dist/o-node/src/streaming/node-stream-handler.d.ts.map +1 -0
- package/dist/o-node/src/streaming/node-stream-handler.js +101 -0
- 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/circuit-breaker.d.ts +107 -0
- package/dist/o-node/src/utils/circuit-breaker.d.ts.map +1 -0
- package/dist/o-node/src/utils/circuit-breaker.js +175 -0
- package/dist/o-node/src/utils/index.d.ts +3 -0
- package/dist/o-node/src/utils/index.d.ts.map +1 -0
- package/dist/o-node/src/utils/index.js +2 -0
- package/dist/o-node/src/utils/leader-request-wrapper.d.ts +66 -0
- package/dist/o-node/src/utils/leader-request-wrapper.d.ts.map +1 -0
- package/dist/o-node/src/utils/leader-request-wrapper.js +160 -0
- package/dist/o-node/src/utils/network.utils.d.ts +20 -0
- package/dist/o-node/src/utils/network.utils.d.ts.map +1 -0
- package/dist/o-node/src/utils/network.utils.js +74 -0
- package/dist/o-node/src/utils/stream.utils.d.ts +6 -0
- package/dist/o-node/src/utils/stream.utils.d.ts.map +1 -0
- package/dist/o-node/src/utils/stream.utils.js +31 -0
- package/dist/o-node/test/circuit-breaker.test.d.ts +2 -0
- package/dist/o-node/test/circuit-breaker.test.d.ts.map +1 -0
- package/dist/o-node/test/circuit-breaker.test.js +262 -0
- 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/o-node/test/leader-request-wrapper.test.d.ts +1 -0
- package/dist/o-node/test/leader-request-wrapper.test.d.ts.map +1 -0
- package/dist/o-node/test/leader-request-wrapper.test.js +246 -0
- package/dist/o-node/test/o-node.spec.d.ts +2 -0
- package/dist/o-node/test/o-node.spec.d.ts.map +1 -0
- package/dist/o-node/test/o-node.spec.js +20 -0
- package/dist/o-node/test/search-resolver.spec.d.ts +2 -0
- package/dist/o-node/test/search-resolver.spec.d.ts.map +1 -0
- package/dist/o-node/test/search-resolver.spec.js +693 -0
- package/dist/src/connection/o-node-connection.d.ts +2 -2
- package/dist/src/connection/o-node-connection.d.ts.map +1 -1
- package/dist/src/connection/o-node-connection.js +54 -19
- package/dist/src/connection/o-node-connection.manager.d.ts +16 -4
- package/dist/src/connection/o-node-connection.manager.d.ts.map +1 -1
- package/dist/src/connection/o-node-connection.manager.js +73 -44
- package/dist/src/connection/o-stream.request.d.ts +11 -0
- package/dist/src/connection/o-stream.request.d.ts.map +1 -0
- package/dist/src/connection/o-stream.request.js +7 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/interfaces/i-heartbeatable-node.d.ts +49 -0
- package/dist/src/interfaces/i-heartbeatable-node.d.ts.map +1 -0
- package/dist/src/interfaces/i-heartbeatable-node.js +1 -0
- package/dist/src/interfaces/i-reconnectable-node.d.ts +46 -0
- package/dist/src/interfaces/i-reconnectable-node.d.ts.map +1 -0
- package/dist/src/interfaces/i-reconnectable-node.js +1 -0
- package/dist/src/interfaces/o-node.config.d.ts +42 -0
- package/dist/src/interfaces/o-node.config.d.ts.map +1 -1
- package/dist/src/managers/o-connection-heartbeat.manager.d.ts +63 -0
- package/dist/src/managers/o-connection-heartbeat.manager.d.ts.map +1 -0
- package/dist/src/managers/o-connection-heartbeat.manager.js +227 -0
- package/dist/src/managers/o-reconnection.manager.d.ts +51 -0
- package/dist/src/managers/o-reconnection.manager.d.ts.map +1 -0
- package/dist/src/managers/o-reconnection.manager.js +266 -0
- package/dist/src/o-node.d.ts +30 -2
- package/dist/src/o-node.d.ts.map +1 -1
- package/dist/src/o-node.js +244 -33
- package/dist/src/o-node.notification-manager.d.ts +52 -0
- package/dist/src/o-node.notification-manager.d.ts.map +1 -0
- package/dist/src/o-node.notification-manager.js +188 -0
- package/dist/src/o-node.tool.d.ts.map +1 -1
- package/dist/src/o-node.tool.js +33 -24
- package/dist/src/router/o-node.router.d.ts +1 -0
- package/dist/src/router/o-node.router.d.ts.map +1 -1
- package/dist/src/router/o-node.router.js +61 -5
- package/dist/src/router/o-node.routing-policy.d.ts.map +1 -1
- package/dist/src/router/o-node.routing-policy.js +7 -2
- package/dist/src/router/resolvers/o-node.resolver.d.ts.map +1 -1
- package/dist/src/router/resolvers/o-node.resolver.js +5 -1
- package/dist/src/router/resolvers/o-node.search-resolver.d.ts.map +1 -1
- package/dist/src/router/resolvers/o-node.search-resolver.js +34 -9
- package/dist/src/streaming/index.d.ts +10 -0
- package/dist/src/streaming/index.d.ts.map +1 -0
- package/dist/src/streaming/index.js +12 -0
- package/dist/src/streaming/libp2p-stream-transport.d.ts +50 -0
- package/dist/src/streaming/libp2p-stream-transport.d.ts.map +1 -0
- package/dist/src/streaming/libp2p-stream-transport.js +137 -0
- package/dist/src/streaming/node-stream-handler.d.ts +65 -0
- package/dist/src/streaming/node-stream-handler.d.ts.map +1 -0
- package/dist/src/streaming/node-stream-handler.js +101 -0
- package/dist/src/streaming/o-node-streaming-client.d.ts +33 -0
- package/dist/src/streaming/o-node-streaming-client.d.ts.map +1 -0
- package/dist/src/streaming/o-node-streaming-client.js +130 -0
- package/dist/src/utils/circuit-breaker.d.ts +107 -0
- package/dist/src/utils/circuit-breaker.d.ts.map +1 -0
- package/dist/src/utils/circuit-breaker.js +175 -0
- package/dist/src/utils/circuit-breaker.test.d.ts +2 -0
- package/dist/src/utils/circuit-breaker.test.d.ts.map +1 -0
- package/dist/src/utils/circuit-breaker.test.js +262 -0
- package/dist/src/utils/index.d.ts +3 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +2 -0
- package/dist/src/utils/leader-request-wrapper.d.ts +66 -0
- package/dist/src/utils/leader-request-wrapper.d.ts.map +1 -0
- package/dist/src/utils/leader-request-wrapper.js +160 -0
- package/dist/src/utils/leader-request-wrapper.test.d.ts +1 -0
- package/dist/src/utils/leader-request-wrapper.test.d.ts.map +1 -0
- package/dist/src/utils/leader-request-wrapper.test.js +246 -0
- package/dist/src/utils/stream.utils.d.ts +6 -0
- package/dist/src/utils/stream.utils.d.ts.map +1 -0
- package/dist/src/utils/stream.utils.js +31 -0
- package/dist/test/circuit-breaker.test.d.ts +2 -0
- package/dist/test/circuit-breaker.test.d.ts.map +1 -0
- package/dist/test/circuit-breaker.test.js +262 -0
- package/dist/test/helpers/test-node.tool.d.ts +15 -0
- package/dist/test/helpers/test-node.tool.d.ts.map +1 -0
- package/dist/test/helpers/test-node.tool.js +27 -0
- package/dist/test/leader-request-wrapper.test.d.ts +1 -0
- package/dist/test/leader-request-wrapper.test.d.ts.map +1 -0
- package/dist/test/leader-request-wrapper.test.js +246 -0
- package/package.json +6 -6
- package/dist/src/router/resolvers/o-node.child-resolver.d.ts.map +0 -1
- package/dist/src/router/resolvers/o-node.child-resolver.js +0 -58
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { StreamHandlerBase, ProtocolBuilder, } from '../../../o-core/src/streaming/index.js';
|
|
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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { oAddress } from '../../../o-core/src';
|
|
2
|
+
/**
|
|
3
|
+
* UI component node types
|
|
4
|
+
*/
|
|
5
|
+
export declare enum UINodeType {
|
|
6
|
+
SCREEN = "screen",
|
|
7
|
+
BUTTON = "button",
|
|
8
|
+
INPUT = "input",
|
|
9
|
+
TEXT = "text",
|
|
10
|
+
VIEW = "view",
|
|
11
|
+
MODAL = "modal",
|
|
12
|
+
BOTTOM_SHEET = "bottom_sheet",
|
|
13
|
+
FORM = "form",
|
|
14
|
+
LIST = "list",
|
|
15
|
+
LIST_ITEM = "list_item",
|
|
16
|
+
CUSTOM = "custom"
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Represents a virtual UI component node in the graph
|
|
20
|
+
*/
|
|
21
|
+
export interface ComponentNode {
|
|
22
|
+
/** Unique identifier for the component */
|
|
23
|
+
id: string;
|
|
24
|
+
/** Component type (button, input, screen, etc.) */
|
|
25
|
+
type: UINodeType | string;
|
|
26
|
+
/** Component's address in the Olane graph */
|
|
27
|
+
address: oAddress;
|
|
28
|
+
/** Component props/configuration */
|
|
29
|
+
props: Record<string, any>;
|
|
30
|
+
/** Component internal state */
|
|
31
|
+
state: Record<string, any>;
|
|
32
|
+
/** Parent component ID (null for root screens) */
|
|
33
|
+
parentId: string | null;
|
|
34
|
+
/** Array of child component IDs */
|
|
35
|
+
childIds: string[];
|
|
36
|
+
/** Available tool methods for this component */
|
|
37
|
+
methods: string[];
|
|
38
|
+
/** Timestamp when registered */
|
|
39
|
+
registeredAt: number;
|
|
40
|
+
/** Last update timestamp */
|
|
41
|
+
updatedAt: number;
|
|
42
|
+
/** Component metadata */
|
|
43
|
+
metadata?: {
|
|
44
|
+
screenName?: string;
|
|
45
|
+
routePath?: string;
|
|
46
|
+
visible?: boolean;
|
|
47
|
+
disabled?: boolean;
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Request to register a component
|
|
53
|
+
*/
|
|
54
|
+
export interface RegisterComponentRequest {
|
|
55
|
+
id: string;
|
|
56
|
+
type: UINodeType | string;
|
|
57
|
+
address: string;
|
|
58
|
+
props?: Record<string, any>;
|
|
59
|
+
state?: Record<string, any>;
|
|
60
|
+
parentId?: string | null;
|
|
61
|
+
methods?: string[];
|
|
62
|
+
metadata?: Record<string, any>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Response from component registration
|
|
66
|
+
*/
|
|
67
|
+
export interface RegisterComponentResponse {
|
|
68
|
+
success: boolean;
|
|
69
|
+
nodeId: string;
|
|
70
|
+
address: string;
|
|
71
|
+
message?: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Request to update component
|
|
75
|
+
*/
|
|
76
|
+
export interface UpdateComponentRequest {
|
|
77
|
+
nodeId: string;
|
|
78
|
+
props?: Record<string, any>;
|
|
79
|
+
state?: Record<string, any>;
|
|
80
|
+
metadata?: Record<string, any>;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Request to invoke component action
|
|
84
|
+
*/
|
|
85
|
+
export interface InvokeActionRequest {
|
|
86
|
+
nodeId: string;
|
|
87
|
+
method: string;
|
|
88
|
+
params?: any;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Response from component query
|
|
92
|
+
*/
|
|
93
|
+
export interface QueryHierarchyResponse {
|
|
94
|
+
node: ComponentNode;
|
|
95
|
+
children: ComponentNode[];
|
|
96
|
+
parent: ComponentNode | null;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Component method handler
|
|
100
|
+
*/
|
|
101
|
+
export type ComponentMethodHandler = (params?: any) => Promise<any> | any;
|
|
102
|
+
/**
|
|
103
|
+
* Component method registry
|
|
104
|
+
*/
|
|
105
|
+
export interface ComponentMethodRegistry {
|
|
106
|
+
[nodeId: string]: {
|
|
107
|
+
[method: string]: ComponentMethodHandler;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ui/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI component node types
|
|
3
|
+
*/
|
|
4
|
+
export var UINodeType;
|
|
5
|
+
(function (UINodeType) {
|
|
6
|
+
UINodeType["SCREEN"] = "screen";
|
|
7
|
+
UINodeType["BUTTON"] = "button";
|
|
8
|
+
UINodeType["INPUT"] = "input";
|
|
9
|
+
UINodeType["TEXT"] = "text";
|
|
10
|
+
UINodeType["VIEW"] = "view";
|
|
11
|
+
UINodeType["MODAL"] = "modal";
|
|
12
|
+
UINodeType["BOTTOM_SHEET"] = "bottom_sheet";
|
|
13
|
+
UINodeType["FORM"] = "form";
|
|
14
|
+
UINodeType["LIST"] = "list";
|
|
15
|
+
UINodeType["LIST_ITEM"] = "list_item";
|
|
16
|
+
UINodeType["CUSTOM"] = "custom";
|
|
17
|
+
})(UINodeType || (UINodeType = {}));
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { oNodeTool } from '../o-node.tool';
|
|
2
|
+
import { oRequest } from '../../../o-core/src';
|
|
3
|
+
import { ComponentNode, RegisterComponentResponse, QueryHierarchyResponse } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* UIGraphManager manages the hierarchical graph of UI components
|
|
6
|
+
* Acts as a centralized registry for all UI elements in the application
|
|
7
|
+
*/
|
|
8
|
+
export declare class UIGraphManager extends oNodeTool {
|
|
9
|
+
private componentRegistry;
|
|
10
|
+
private methodHandlers;
|
|
11
|
+
/**
|
|
12
|
+
* Register a new UI component in the graph
|
|
13
|
+
*/
|
|
14
|
+
_tool_register_component(request: oRequest): Promise<RegisterComponentResponse>;
|
|
15
|
+
/**
|
|
16
|
+
* Unregister a UI component from the graph
|
|
17
|
+
*/
|
|
18
|
+
_tool_unregister_component(request: oRequest): Promise<{
|
|
19
|
+
success: boolean;
|
|
20
|
+
message: string;
|
|
21
|
+
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Update component props, state, or metadata
|
|
24
|
+
*/
|
|
25
|
+
_tool_update_component(request: oRequest): Promise<{
|
|
26
|
+
success: boolean;
|
|
27
|
+
message: string;
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Invoke a method on a component
|
|
31
|
+
*/
|
|
32
|
+
_tool_invoke_action(request: oRequest): Promise<any>;
|
|
33
|
+
/**
|
|
34
|
+
* Query component hierarchy
|
|
35
|
+
*/
|
|
36
|
+
_tool_query_hierarchy(request: oRequest): Promise<QueryHierarchyResponse>;
|
|
37
|
+
/**
|
|
38
|
+
* Get all registered components (for debugging)
|
|
39
|
+
*/
|
|
40
|
+
_tool_list_components(request: oRequest): Promise<{
|
|
41
|
+
components: ComponentNode[];
|
|
42
|
+
count: number;
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Get component tree structure
|
|
46
|
+
*/
|
|
47
|
+
_tool_get_tree(request: oRequest): Promise<any>;
|
|
48
|
+
/**
|
|
49
|
+
* Register a method handler for a component
|
|
50
|
+
* This is called from the client side to register callbacks
|
|
51
|
+
*/
|
|
52
|
+
registerMethodHandler(nodeId: string, method: string, handler: (params?: any) => Promise<any> | any): void;
|
|
53
|
+
/**
|
|
54
|
+
* Unregister all method handlers for a component
|
|
55
|
+
*/
|
|
56
|
+
unregisterMethodHandlers(nodeId: string): void;
|
|
57
|
+
/**
|
|
58
|
+
* Get component by ID
|
|
59
|
+
*/
|
|
60
|
+
getComponent(nodeId: string): ComponentNode | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Get all children of a component
|
|
63
|
+
*/
|
|
64
|
+
getComponentChildren(nodeId: string): ComponentNode[];
|
|
65
|
+
/**
|
|
66
|
+
* Get parent of a component
|
|
67
|
+
*/
|
|
68
|
+
getParent(nodeId: string): ComponentNode | null;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=ui-graph.manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-graph.manager.d.ts","sourceRoot":"","sources":["../../../../src/ui/ui-graph.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EACL,aAAa,EAEb,yBAAyB,EAGzB,sBAAsB,EAEvB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,cAAc,CAA+B;IAErD;;OAEG;IACG,wBAAwB,CAC5B,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,yBAAyB,CAAC;IA8ErC;;OAEG;IACG,0BAA0B,CAC9B,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAiDjD;;OAEG;IACG,sBAAsB,CAC1B,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAqCjD;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,GAAG,CAAC;IAiCf;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,sBAAsB,CAAC;IAyBlC;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC;QAAE,UAAU,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAS1D;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IA2BrD;;;OAGG;IACI,qBAAqB,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAC5C,IAAI;IAQP;;OAEG;IACI,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrD;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9D;;OAEG;IACI,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE;IAS5D;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;CAMvD"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { oNodeTool } from '../o-node.tool';
|
|
2
|
+
import { oRequest } from '../../../o-core/src';
|
|
3
|
+
import { oAddress } from '../../../o-core/src';
|
|
4
|
+
/**
|
|
5
|
+
* UIGraphManager manages the hierarchical graph of UI components
|
|
6
|
+
* Acts as a centralized registry for all UI elements in the application
|
|
7
|
+
*/
|
|
8
|
+
export class UIGraphManager extends oNodeTool {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.componentRegistry = new Map();
|
|
12
|
+
this.methodHandlers = {};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Register a new UI component in the graph
|
|
16
|
+
*/
|
|
17
|
+
async _tool_register_component(request) {
|
|
18
|
+
const { id, type, address, props = {}, state = {}, parentId = null, methods = [], metadata = {}, } = request.params;
|
|
19
|
+
this.logger.info(`Registering component: ${id} (${type})`);
|
|
20
|
+
// Check if component already exists
|
|
21
|
+
if (this.componentRegistry.has(id)) {
|
|
22
|
+
this.logger.warn(`Component ${id} already registered, updating instead`);
|
|
23
|
+
const updateRequest = new oRequest({
|
|
24
|
+
method: 'update_component',
|
|
25
|
+
params: { nodeId: id, props, state, metadata },
|
|
26
|
+
id: request.id,
|
|
27
|
+
});
|
|
28
|
+
await this._tool_update_component(updateRequest);
|
|
29
|
+
return {
|
|
30
|
+
success: true,
|
|
31
|
+
nodeId: id,
|
|
32
|
+
address: address,
|
|
33
|
+
message: 'Component already exists, updated instead',
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const now = Date.now();
|
|
37
|
+
// Create component node
|
|
38
|
+
const componentNode = {
|
|
39
|
+
id,
|
|
40
|
+
type,
|
|
41
|
+
address: new oAddress(address),
|
|
42
|
+
props,
|
|
43
|
+
state,
|
|
44
|
+
parentId,
|
|
45
|
+
childIds: [],
|
|
46
|
+
methods,
|
|
47
|
+
registeredAt: now,
|
|
48
|
+
updatedAt: now,
|
|
49
|
+
metadata,
|
|
50
|
+
};
|
|
51
|
+
// Add to registry
|
|
52
|
+
this.componentRegistry.set(id, componentNode);
|
|
53
|
+
// If has parent, add as child to parent
|
|
54
|
+
if (parentId) {
|
|
55
|
+
const parent = this.componentRegistry.get(parentId);
|
|
56
|
+
if (parent) {
|
|
57
|
+
if (!parent.childIds.includes(id)) {
|
|
58
|
+
parent.childIds.push(id);
|
|
59
|
+
parent.updatedAt = now;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this.logger.warn(`Parent ${parentId} not found for component ${id}, will register as orphan`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
this.logger.info(`Component ${id} registered successfully. Total components: ${this.componentRegistry.size}`);
|
|
67
|
+
return {
|
|
68
|
+
success: true,
|
|
69
|
+
nodeId: id,
|
|
70
|
+
address: componentNode.address.toString(),
|
|
71
|
+
message: 'Component registered successfully',
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Unregister a UI component from the graph
|
|
76
|
+
*/
|
|
77
|
+
async _tool_unregister_component(request) {
|
|
78
|
+
const { nodeId } = request.params;
|
|
79
|
+
this.logger.info(`Unregistering component: ${nodeId}`);
|
|
80
|
+
const component = this.componentRegistry.get(nodeId);
|
|
81
|
+
if (!component) {
|
|
82
|
+
this.logger.warn(`Component ${nodeId} not found`);
|
|
83
|
+
return {
|
|
84
|
+
success: false,
|
|
85
|
+
message: 'Component not found',
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
// Remove from parent's children
|
|
89
|
+
if (component.parentId) {
|
|
90
|
+
const parent = this.componentRegistry.get(component.parentId);
|
|
91
|
+
if (parent) {
|
|
92
|
+
parent.childIds = parent.childIds.filter((id) => id !== nodeId);
|
|
93
|
+
parent.updatedAt = Date.now();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// Recursively unregister all children
|
|
97
|
+
for (const childId of component.childIds) {
|
|
98
|
+
const childRequest = new oRequest({
|
|
99
|
+
method: 'unregister_component',
|
|
100
|
+
params: { nodeId: childId },
|
|
101
|
+
id: request.id,
|
|
102
|
+
});
|
|
103
|
+
await this._tool_unregister_component(childRequest);
|
|
104
|
+
}
|
|
105
|
+
// Remove method handlers
|
|
106
|
+
delete this.methodHandlers[nodeId];
|
|
107
|
+
// Remove from registry
|
|
108
|
+
this.componentRegistry.delete(nodeId);
|
|
109
|
+
this.logger.info(`Component ${nodeId} unregistered. Total components: ${this.componentRegistry.size}`);
|
|
110
|
+
return {
|
|
111
|
+
success: true,
|
|
112
|
+
message: 'Component unregistered successfully',
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Update component props, state, or metadata
|
|
117
|
+
*/
|
|
118
|
+
async _tool_update_component(request) {
|
|
119
|
+
const { nodeId, props, state, metadata } = request.params;
|
|
120
|
+
const component = this.componentRegistry.get(nodeId);
|
|
121
|
+
if (!component) {
|
|
122
|
+
this.logger.warn(`Component ${nodeId} not found for update`);
|
|
123
|
+
return {
|
|
124
|
+
success: false,
|
|
125
|
+
message: 'Component not found',
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
// Update props
|
|
129
|
+
if (props) {
|
|
130
|
+
component.props = { ...component.props, ...props };
|
|
131
|
+
}
|
|
132
|
+
// Update state
|
|
133
|
+
if (state) {
|
|
134
|
+
component.state = { ...component.state, ...state };
|
|
135
|
+
}
|
|
136
|
+
// Update metadata
|
|
137
|
+
if (metadata) {
|
|
138
|
+
component.metadata = { ...component.metadata, ...metadata };
|
|
139
|
+
}
|
|
140
|
+
component.updatedAt = Date.now();
|
|
141
|
+
this.logger.debug(`Component ${nodeId} updated`);
|
|
142
|
+
return {
|
|
143
|
+
success: true,
|
|
144
|
+
message: 'Component updated successfully',
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Invoke a method on a component
|
|
149
|
+
*/
|
|
150
|
+
async _tool_invoke_action(request) {
|
|
151
|
+
const { nodeId, method, params } = request.params;
|
|
152
|
+
this.logger.info(`Invoking ${method} on component ${nodeId}`);
|
|
153
|
+
const component = this.componentRegistry.get(nodeId);
|
|
154
|
+
if (!component) {
|
|
155
|
+
throw new Error(`Component ${nodeId} not found`);
|
|
156
|
+
}
|
|
157
|
+
if (!component.methods.includes(method)) {
|
|
158
|
+
throw new Error(`Method ${method} not available on component ${nodeId}`);
|
|
159
|
+
}
|
|
160
|
+
// Get method handler
|
|
161
|
+
const handler = this.methodHandlers[nodeId]?.[method];
|
|
162
|
+
if (!handler) {
|
|
163
|
+
throw new Error(`Method handler for ${method} not registered for component ${nodeId}`);
|
|
164
|
+
}
|
|
165
|
+
// Invoke handler
|
|
166
|
+
const result = await handler(params);
|
|
167
|
+
this.logger.debug(`Method ${method} invoked on ${nodeId}`);
|
|
168
|
+
return {
|
|
169
|
+
success: true,
|
|
170
|
+
result,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Query component hierarchy
|
|
175
|
+
*/
|
|
176
|
+
async _tool_query_hierarchy(request) {
|
|
177
|
+
const { nodeId } = request.params;
|
|
178
|
+
const component = this.componentRegistry.get(nodeId);
|
|
179
|
+
if (!component) {
|
|
180
|
+
throw new Error(`Component ${nodeId} not found`);
|
|
181
|
+
}
|
|
182
|
+
// Get children
|
|
183
|
+
const children = component.childIds
|
|
184
|
+
.map((id) => this.componentRegistry.get(id))
|
|
185
|
+
.filter((c) => c !== undefined);
|
|
186
|
+
// Get parent
|
|
187
|
+
const parent = component.parentId
|
|
188
|
+
? this.componentRegistry.get(component.parentId) || null
|
|
189
|
+
: null;
|
|
190
|
+
return {
|
|
191
|
+
node: component,
|
|
192
|
+
children,
|
|
193
|
+
parent,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Get all registered components (for debugging)
|
|
198
|
+
*/
|
|
199
|
+
async _tool_list_components(request) {
|
|
200
|
+
const components = Array.from(this.componentRegistry.values());
|
|
201
|
+
return {
|
|
202
|
+
components,
|
|
203
|
+
count: components.length,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Get component tree structure
|
|
208
|
+
*/
|
|
209
|
+
async _tool_get_tree(request) {
|
|
210
|
+
// Find root components (those without parents)
|
|
211
|
+
const roots = Array.from(this.componentRegistry.values()).filter((c) => !c.parentId);
|
|
212
|
+
const buildTree = (node) => {
|
|
213
|
+
const children = node.childIds
|
|
214
|
+
.map((id) => this.componentRegistry.get(id))
|
|
215
|
+
.filter((c) => c !== undefined)
|
|
216
|
+
.map((c) => buildTree(c));
|
|
217
|
+
return {
|
|
218
|
+
id: node.id,
|
|
219
|
+
type: node.type,
|
|
220
|
+
address: node.address.toString(),
|
|
221
|
+
props: node.props,
|
|
222
|
+
metadata: node.metadata,
|
|
223
|
+
children,
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
return {
|
|
227
|
+
roots: roots.map((r) => buildTree(r)),
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Register a method handler for a component
|
|
232
|
+
* This is called from the client side to register callbacks
|
|
233
|
+
*/
|
|
234
|
+
registerMethodHandler(nodeId, method, handler) {
|
|
235
|
+
if (!this.methodHandlers[nodeId]) {
|
|
236
|
+
this.methodHandlers[nodeId] = {};
|
|
237
|
+
}
|
|
238
|
+
this.methodHandlers[nodeId][method] = handler;
|
|
239
|
+
this.logger.debug(`Method handler ${method} registered for ${nodeId}`);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Unregister all method handlers for a component
|
|
243
|
+
*/
|
|
244
|
+
unregisterMethodHandlers(nodeId) {
|
|
245
|
+
delete this.methodHandlers[nodeId];
|
|
246
|
+
this.logger.debug(`Method handlers unregistered for ${nodeId}`);
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Get component by ID
|
|
250
|
+
*/
|
|
251
|
+
getComponent(nodeId) {
|
|
252
|
+
return this.componentRegistry.get(nodeId);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Get all children of a component
|
|
256
|
+
*/
|
|
257
|
+
getComponentChildren(nodeId) {
|
|
258
|
+
const component = this.componentRegistry.get(nodeId);
|
|
259
|
+
if (!component)
|
|
260
|
+
return [];
|
|
261
|
+
return component.childIds
|
|
262
|
+
.map((id) => this.componentRegistry.get(id))
|
|
263
|
+
.filter((c) => c !== undefined);
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Get parent of a component
|
|
267
|
+
*/
|
|
268
|
+
getParent(nodeId) {
|
|
269
|
+
const component = this.componentRegistry.get(nodeId);
|
|
270
|
+
if (!component || !component.parentId)
|
|
271
|
+
return null;
|
|
272
|
+
return this.componentRegistry.get(component.parentId) || null;
|
|
273
|
+
}
|
|
274
|
+
}
|