moonbridge-ts 0.1.0
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/.eslintignore +5 -0
- package/.eslintrc.cjs +27 -0
- package/.prettierignore +5 -0
- package/.prettierrc +7 -0
- package/DEPENDENCIES.md +8 -0
- package/README.md +303 -0
- package/dist/bridge_module-2N398tJq.d.ts +126 -0
- package/dist/bridge_module-Dd27cxv9.d.mts +126 -0
- package/dist/index.d.mts +30 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +5 -0
- package/dist/index.mjs.map +1 -0
- package/dist/ipc_client_component_provider-CayqZGuB.d.ts +205 -0
- package/dist/ipc_client_component_provider-kXpa5anm.d.mts +205 -0
- package/dist/moonbridge/annotation/decorators.d.mts +48 -0
- package/dist/moonbridge/annotation/decorators.d.ts +43 -0
- package/dist/moonbridge/annotation/decorators.d.ts.map +1 -0
- package/dist/moonbridge/annotation/decorators.js +55 -0
- package/dist/moonbridge/annotation/decorators.js.map +1 -0
- package/dist/moonbridge/annotation/decorators.mjs +52 -0
- package/dist/moonbridge/annotation/decorators.mjs.map +1 -0
- package/dist/moonbridge/annotation/registry.d.mts +77 -0
- package/dist/moonbridge/annotation/registry.d.ts +72 -0
- package/dist/moonbridge/annotation/registry.d.ts.map +1 -0
- package/dist/moonbridge/annotation/registry.js +79 -0
- package/dist/moonbridge/annotation/registry.js.map +1 -0
- package/dist/moonbridge/annotation/registry.mjs +77 -0
- package/dist/moonbridge/annotation/registry.mjs.map +1 -0
- package/dist/moonbridge/index.d.mts +7 -0
- package/dist/moonbridge/index.d.ts +6 -0
- package/dist/moonbridge/index.d.ts.map +1 -0
- package/dist/moonbridge/index.js +42 -0
- package/dist/moonbridge/index.js.map +1 -0
- package/dist/moonbridge/index.mjs +7 -0
- package/dist/moonbridge/index.mjs.map +1 -0
- package/dist/moonbridge/kernel/bridge.d.mts +4 -0
- package/dist/moonbridge/kernel/bridge.d.ts +22 -0
- package/dist/moonbridge/kernel/bridge.d.ts.map +1 -0
- package/dist/moonbridge/kernel/bridge.js +4 -0
- package/dist/moonbridge/kernel/bridge.js.map +1 -0
- package/dist/moonbridge/kernel/bridge.mjs +3 -0
- package/dist/moonbridge/kernel/bridge.mjs.map +1 -0
- package/dist/moonbridge/kernel/bridge_module.d.mts +4 -0
- package/dist/moonbridge/kernel/bridge_module.d.ts +53 -0
- package/dist/moonbridge/kernel/bridge_module.d.ts.map +1 -0
- package/dist/moonbridge/kernel/bridge_module.js +22 -0
- package/dist/moonbridge/kernel/bridge_module.js.map +1 -0
- package/dist/moonbridge/kernel/bridge_module.mjs +20 -0
- package/dist/moonbridge/kernel/bridge_module.mjs.map +1 -0
- package/dist/moonbridge/kernel/executor.d.mts +4 -0
- package/dist/moonbridge/kernel/executor.d.ts +24 -0
- package/dist/moonbridge/kernel/executor.d.ts.map +1 -0
- package/dist/moonbridge/kernel/executor.js +22 -0
- package/dist/moonbridge/kernel/executor.js.map +1 -0
- package/dist/moonbridge/kernel/executor.mjs +20 -0
- package/dist/moonbridge/kernel/executor.mjs.map +1 -0
- package/dist/moonbridge/kernel/result_callback.d.mts +19 -0
- package/dist/moonbridge/kernel/result_callback.d.ts +18 -0
- package/dist/moonbridge/kernel/result_callback.d.ts.map +1 -0
- package/dist/moonbridge/kernel/result_callback.js +4 -0
- package/dist/moonbridge/kernel/result_callback.js.map +1 -0
- package/dist/moonbridge/kernel/result_callback.mjs +3 -0
- package/dist/moonbridge/kernel/result_callback.mjs.map +1 -0
- package/dist/moonbridge/logger/logger.d.mts +55 -0
- package/dist/moonbridge/logger/logger.d.ts +54 -0
- package/dist/moonbridge/logger/logger.d.ts.map +1 -0
- package/dist/moonbridge/logger/logger.js +67 -0
- package/dist/moonbridge/logger/logger.js.map +1 -0
- package/dist/moonbridge/logger/logger.mjs +65 -0
- package/dist/moonbridge/logger/logger.mjs.map +1 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.d.mts +18 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.d.ts +16 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.d.ts.map +1 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.js +29 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.js.map +1 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.mjs +27 -0
- package/dist/moonbridge/message/internal/generic_message_parser.internal.mjs.map +1 -0
- package/dist/moonbridge/message/message.d.mts +13 -0
- package/dist/moonbridge/message/message.d.ts +12 -0
- package/dist/moonbridge/message/message.d.ts.map +1 -0
- package/dist/moonbridge/message/message.js +4 -0
- package/dist/moonbridge/message/message.js.map +1 -0
- package/dist/moonbridge/message/message.mjs +3 -0
- package/dist/moonbridge/message/message.mjs.map +1 -0
- package/dist/moonbridge/message/message_parser.d.mts +28 -0
- package/dist/moonbridge/message/message_parser.d.ts +26 -0
- package/dist/moonbridge/message/message_parser.d.ts.map +1 -0
- package/dist/moonbridge/message/message_parser.js +11 -0
- package/dist/moonbridge/message/message_parser.js.map +1 -0
- package/dist/moonbridge/message/message_parser.mjs +8 -0
- package/dist/moonbridge/message/message_parser.mjs.map +1 -0
- package/dist/moonbridge/message/message_parser_manager.d.mts +21 -0
- package/dist/moonbridge/message/message_parser_manager.d.ts +19 -0
- package/dist/moonbridge/message/message_parser_manager.d.ts.map +1 -0
- package/dist/moonbridge/message/message_parser_manager.js +60 -0
- package/dist/moonbridge/message/message_parser_manager.js.map +1 -0
- package/dist/moonbridge/message/message_parser_manager.mjs +58 -0
- package/dist/moonbridge/message/message_parser_manager.mjs.map +1 -0
- package/dist/moonbridge/module/method_invoker.d.mts +43 -0
- package/dist/moonbridge/module/method_invoker.d.ts +38 -0
- package/dist/moonbridge/module/method_invoker.d.ts.map +1 -0
- package/dist/moonbridge/module/method_invoker.js +68 -0
- package/dist/moonbridge/module/method_invoker.js.map +1 -0
- package/dist/moonbridge/module/method_invoker.mjs +65 -0
- package/dist/moonbridge/module/method_invoker.mjs.map +1 -0
- package/dist/moonbridge/module/module_creator.d.mts +4 -0
- package/dist/moonbridge/module/module_creator.d.ts +28 -0
- package/dist/moonbridge/module/module_creator.d.ts.map +1 -0
- package/dist/moonbridge/module/module_creator.js +45 -0
- package/dist/moonbridge/module/module_creator.js.map +1 -0
- package/dist/moonbridge/module/module_creator.mjs +43 -0
- package/dist/moonbridge/module/module_creator.mjs.map +1 -0
- package/dist/moonbridge/utils/logger.d.mts +9 -0
- package/dist/moonbridge/utils/logger.d.ts +6 -0
- package/dist/moonbridge/utils/logger.d.ts.map +1 -0
- package/dist/moonbridge/utils/logger.js +9 -0
- package/dist/moonbridge/utils/logger.js.map +1 -0
- package/dist/moonbridge/utils/logger.mjs +7 -0
- package/dist/moonbridge/utils/logger.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.d.ts +41 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.js +45 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.mjs +43 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.d.mts +68 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.d.ts +47 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.js +163 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.mjs +161 -0
- package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.d.ts +37 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.js +161 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.mjs +159 -0
- package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.d.ts +59 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.js +364 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.mjs +362 -0
- package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.d.ts +28 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.js +102 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.mjs +100 -0
- package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.d.ts +16 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.js +62 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.mjs +60 -0
- package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.d.ts +27 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.js +4 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.mjs +3 -0
- package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.d.mts +23 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.d.ts +15 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.js +56 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.mjs +54 -0
- package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.d.mts +54 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.d.ts +40 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.js +102 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.mjs +100 -0
- package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.d.mts +90 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.d.ts +82 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.js +55 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.js.map +1 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.mjs +53 -0
- package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.d.mts +134 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.d.ts +124 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.js +156 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.js.map +1 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.mjs +153 -0
- package/dist/moonbridge-ipc/client/moonbridge_ipc_client.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.d.mts +29 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.d.ts +26 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.js +12 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.js.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.mjs +10 -0
- package/dist/moonbridge-ipc/client/types/ipc_event_bus.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.d.mts +17 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.d.ts +16 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.js +18 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.js.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.mjs +16 -0
- package/dist/moonbridge-ipc/client/types/ipc_message_strategy.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.d.mts +45 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.d.ts +38 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.js +4 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.js.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.mjs +3 -0
- package/dist/moonbridge-ipc/client/types/ipc_messenger.mjs.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.d.mts +52 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.d.ts +49 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.d.ts.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.js +20 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.js.map +1 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.mjs +17 -0
- package/dist/moonbridge-ipc/client/types/ipc_types.mjs.map +1 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.d.mts +33 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.d.ts +15 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.d.ts.map +1 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.js +31 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.js.map +1 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.mjs +29 -0
- package/dist/moonbridge-ipc/extension/bridge_extension.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.d.mts +23 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.d.ts +20 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.js +4 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.mjs +3 -0
- package/dist/moonbridge-ipc/general/app_launch/app_launcher.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.d.mts +34 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.d.ts +33 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.js +70 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.mjs +66 -0
- package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.d.mts +19 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.d.ts +16 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.js +19 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.mjs +17 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.d.mts +37 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.d.ts +34 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.js +116 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.mjs +114 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.d.mts +32 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.d.ts +29 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.js +60 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.mjs +58 -0
- package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.d.mts +40 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.d.ts +39 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.js +41 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.mjs +38 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_info.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.d.mts +14 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.d.ts +13 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.js +13 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.mjs +8 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.d.mts +27 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.d.ts +26 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.js +28 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.mjs +24 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.d.mts +28 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.d.ts +25 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.js +49 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.mjs +47 -0
- package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.d.mts +46 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.d.ts +44 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.js +47 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.js.map +1 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.mjs +45 -0
- package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.d.mts +41 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.d.ts +40 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.js +65 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.js.map +1 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.mjs +62 -0
- package/dist/moonbridge-ipc/general/config/port_candidate_rule.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.d.mts +33 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.d.ts +30 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.js +32 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.js.map +1 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.mjs +30 -0
- package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.d.mts +29 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.d.ts +26 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.js +118 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.js.map +1 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.mjs +116 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.d.mts +29 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.d.ts +26 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.js +93 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.js.map +1 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.mjs +91 -0
- package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.d.mts +28 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.d.ts +27 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.js +30 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.js.map +1 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.mjs +28 -0
- package/dist/moonbridge-ipc/general/error/ipc_error.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/index.d.mts +10 -0
- package/dist/moonbridge-ipc/general/index.d.ts +10 -0
- package/dist/moonbridge-ipc/general/index.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/index.js +70 -0
- package/dist/moonbridge-ipc/general/index.js.map +1 -0
- package/dist/moonbridge-ipc/general/index.mjs +11 -0
- package/dist/moonbridge-ipc/general/index.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.d.mts +26 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.d.ts +23 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.js +48 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.js.map +1 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.mjs +46 -0
- package/dist/moonbridge-ipc/general/lock/async_lock.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/lock/lock.d.mts +10 -0
- package/dist/moonbridge-ipc/general/lock/lock.d.ts +9 -0
- package/dist/moonbridge-ipc/general/lock/lock.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/lock/lock.js +4 -0
- package/dist/moonbridge-ipc/general/lock/lock.js.map +1 -0
- package/dist/moonbridge-ipc/general/lock/lock.mjs +3 -0
- package/dist/moonbridge-ipc/general/lock/lock.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.d.mts +19 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.d.ts +18 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.js +19 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.mjs +17 -0
- package/dist/moonbridge-ipc/general/message/constants/message_types.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/error.d.mts +14 -0
- package/dist/moonbridge-ipc/general/message/error.d.ts +13 -0
- package/dist/moonbridge-ipc/general/message/error.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/error.js +16 -0
- package/dist/moonbridge-ipc/general/message/error.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/error.mjs +14 -0
- package/dist/moonbridge-ipc/general/message/error.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/event.d.mts +11 -0
- package/dist/moonbridge-ipc/general/message/event.d.ts +10 -0
- package/dist/moonbridge-ipc/general/message/event.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/event.js +13 -0
- package/dist/moonbridge-ipc/general/message/event.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/event.mjs +11 -0
- package/dist/moonbridge-ipc/general/message/event.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/handshake.d.mts +16 -0
- package/dist/moonbridge-ipc/general/message/handshake.d.ts +15 -0
- package/dist/moonbridge-ipc/general/message/handshake.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/handshake.js +18 -0
- package/dist/moonbridge-ipc/general/message/handshake.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/handshake.mjs +16 -0
- package/dist/moonbridge-ipc/general/message/handshake.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/ping.d.mts +9 -0
- package/dist/moonbridge-ipc/general/message/ping.d.ts +8 -0
- package/dist/moonbridge-ipc/general/message/ping.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/ping.js +11 -0
- package/dist/moonbridge-ipc/general/message/ping.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/ping.mjs +9 -0
- package/dist/moonbridge-ipc/general/message/ping.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/registration.d.mts +9 -0
- package/dist/moonbridge-ipc/general/message/registration.d.ts +8 -0
- package/dist/moonbridge-ipc/general/message/registration.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/registration.js +11 -0
- package/dist/moonbridge-ipc/general/message/registration.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/registration.mjs +9 -0
- package/dist/moonbridge-ipc/general/message/registration.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/request.d.mts +15 -0
- package/dist/moonbridge-ipc/general/message/request.d.ts +14 -0
- package/dist/moonbridge-ipc/general/message/request.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/request.js +16 -0
- package/dist/moonbridge-ipc/general/message/request.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/request.mjs +14 -0
- package/dist/moonbridge-ipc/general/message/request.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/response.d.mts +14 -0
- package/dist/moonbridge-ipc/general/message/response.d.ts +13 -0
- package/dist/moonbridge-ipc/general/message/response.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/response.js +16 -0
- package/dist/moonbridge-ipc/general/message/response.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/response.mjs +14 -0
- package/dist/moonbridge-ipc/general/message/response.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/session_setup.d.mts +23 -0
- package/dist/moonbridge-ipc/general/message/session_setup.d.ts +22 -0
- package/dist/moonbridge-ipc/general/message/session_setup.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/session_setup.js +27 -0
- package/dist/moonbridge-ipc/general/message/session_setup.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/session_setup.mjs +24 -0
- package/dist/moonbridge-ipc/general/message/session_setup.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/message/unregistration.d.mts +9 -0
- package/dist/moonbridge-ipc/general/message/unregistration.d.ts +8 -0
- package/dist/moonbridge-ipc/general/message/unregistration.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/message/unregistration.js +11 -0
- package/dist/moonbridge-ipc/general/message/unregistration.js.map +1 -0
- package/dist/moonbridge-ipc/general/message/unregistration.mjs +9 -0
- package/dist/moonbridge-ipc/general/message/unregistration.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.d.mts +26 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.d.ts +25 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.js +112 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.mjs +109 -0
- package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.d.mts +40 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.d.ts +39 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.js +4 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.mjs +3 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.d.mts +23 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.d.ts +20 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.js +35 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.mjs +27 -0
- package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.d.mts +44 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.d.ts +43 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.js +4 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.mjs +3 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.d.mts +27 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.d.ts +24 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.js +43 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.mjs +33 -0
- package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.d.mts +36 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.d.ts +33 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.js +109 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.mjs +107 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.d.mts +44 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.d.ts +41 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.js +109 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.mjs +107 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.mjs.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.d.mts +71 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.d.ts +68 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.d.ts.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.js +155 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.js.map +1 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.mjs +151 -0
- package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.mjs.map +1 -0
- package/dist/moonbridge-ipc/index.d.mts +26 -0
- package/dist/moonbridge-ipc/index.d.ts +10 -0
- package/dist/moonbridge-ipc/index.d.ts.map +1 -0
- package/dist/moonbridge-ipc/index.js +70 -0
- package/dist/moonbridge-ipc/index.js.map +1 -0
- package/dist/moonbridge-ipc/index.mjs +11 -0
- package/dist/moonbridge-ipc/index.mjs.map +1 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.d.mts +38 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.d.ts +35 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.d.ts.map +1 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.js +27 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.js.map +1 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.mjs +25 -0
- package/dist/moonbridge-ipc/server/credential/client_identity.mjs.map +1 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.d.mts +33 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.d.ts +29 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.d.ts.map +1 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.js +39 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.js.map +1 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.mjs +37 -0
- package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.mjs.map +1 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.d.mts +54 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.d.ts +49 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.d.ts.map +1 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.js +369 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.js.map +1 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.mjs +367 -0
- package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.mjs.map +1 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.d.mts +76 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.d.ts +71 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.d.ts.map +1 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.js +101 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.js.map +1 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.mjs +97 -0
- package/dist/moonbridge-ipc/server/moonbridge_ipc_server.mjs.map +1 -0
- package/dist/moonbridge-ipc/utils/env.d.mts +7 -0
- package/dist/moonbridge-ipc/utils/env.d.ts +6 -0
- package/dist/moonbridge-ipc/utils/env.d.ts.map +1 -0
- package/dist/moonbridge-ipc/utils/env.js +9 -0
- package/dist/moonbridge-ipc/utils/env.js.map +1 -0
- package/dist/moonbridge-ipc/utils/env.mjs +7 -0
- package/dist/moonbridge-ipc/utils/env.mjs.map +1 -0
- package/dist/moonbridge-ipc/utils/logger.d.mts +9 -0
- package/dist/moonbridge-ipc/utils/logger.d.ts +6 -0
- package/dist/moonbridge-ipc/utils/logger.d.ts.map +1 -0
- package/dist/moonbridge-ipc/utils/logger.js +9 -0
- package/dist/moonbridge-ipc/utils/logger.js.map +1 -0
- package/dist/moonbridge-ipc/utils/logger.mjs +7 -0
- package/dist/moonbridge-ipc/utils/logger.mjs.map +1 -0
- package/dist/moonbridge-ipc/utils/string_utils.d.mts +10 -0
- package/dist/moonbridge-ipc/utils/string_utils.d.ts +9 -0
- package/dist/moonbridge-ipc/utils/string_utils.d.ts.map +1 -0
- package/dist/moonbridge-ipc/utils/string_utils.js +14 -0
- package/dist/moonbridge-ipc/utils/string_utils.js.map +1 -0
- package/dist/moonbridge-ipc/utils/string_utils.mjs +12 -0
- package/dist/moonbridge-ipc/utils/string_utils.mjs.map +1 -0
- package/dist/wps-launcher/index.d.mts +3 -0
- package/dist/wps-launcher/index.d.ts +5 -0
- package/dist/wps-launcher/index.d.ts.map +1 -0
- package/dist/wps-launcher/index.js +14 -0
- package/dist/wps-launcher/index.js.map +1 -0
- package/dist/wps-launcher/index.mjs +3 -0
- package/dist/wps-launcher/index.mjs.map +1 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.d.mts +61 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.d.ts +58 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.d.ts.map +1 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.js +83 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.js.map +1 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.mjs +81 -0
- package/dist/wps-launcher/launcher/wps_app_launcher.mjs.map +1 -0
- package/docs/REFACTOR_SCOPE.md +53 -0
- package/docs/ROADMAP.md +143 -0
- package/docs/STRUCTURE.md +47 -0
- package/package.json +64 -0
- package/src/index.ts +3 -0
- package/src/moonbridge/annotation/decorators.ts +109 -0
- package/src/moonbridge/annotation/registry.ts +118 -0
- package/src/moonbridge/index.ts +5 -0
- package/src/moonbridge/kernel/bridge.ts +28 -0
- package/src/moonbridge/kernel/bridge_module.ts +38 -0
- package/src/moonbridge/kernel/executor.ts +41 -0
- package/src/moonbridge/kernel/result_callback.ts +19 -0
- package/src/moonbridge/logger/logger.ts +95 -0
- package/src/moonbridge/message/internal/generic_message_parser.internal.ts +39 -0
- package/src/moonbridge/message/message.ts +16 -0
- package/src/moonbridge/message/message_parser.ts +31 -0
- package/src/moonbridge/message/message_parser_manager.ts +96 -0
- package/src/moonbridge/module/method_invoker.ts +90 -0
- package/src/moonbridge/module/module_creator.ts +60 -0
- package/src/moonbridge/utils/logger.ts +6 -0
- package/src/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.ts +74 -0
- package/src/moonbridge-ipc/client/internal/bridge/ipc_client_executor.ts +208 -0
- package/src/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.ts +226 -0
- package/src/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.ts +454 -0
- package/src/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.ts +147 -0
- package/src/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.ts +75 -0
- package/src/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.ts +28 -0
- package/src/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.ts +70 -0
- package/src/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.ts +154 -0
- package/src/moonbridge-ipc/client/internal/settings/ipc_client_settings.ts +142 -0
- package/src/moonbridge-ipc/client/moonbridge_ipc_client.ts +222 -0
- package/src/moonbridge-ipc/client/types/ipc_event_bus.ts +28 -0
- package/src/moonbridge-ipc/client/types/ipc_message_strategy.ts +21 -0
- package/src/moonbridge-ipc/client/types/ipc_messenger.ts +42 -0
- package/src/moonbridge-ipc/client/types/ipc_types.ts +50 -0
- package/src/moonbridge-ipc/extension/bridge_extension.ts +32 -0
- package/src/moonbridge-ipc/general/app_launch/app_launcher.ts +21 -0
- package/src/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.ts +97 -0
- package/src/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.ts +23 -0
- package/src/moonbridge-ipc/general/app_launch/launcher/node_launcher.ts +138 -0
- package/src/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.ts +83 -0
- package/src/moonbridge-ipc/general/app_launch/model/app_info.ts +57 -0
- package/src/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.ts +16 -0
- package/src/moonbridge-ipc/general/app_launch/model/app_launch_models.ts +35 -0
- package/src/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.ts +65 -0
- package/src/moonbridge-ipc/general/app_launch/platform_app_launcher.ts +89 -0
- package/src/moonbridge-ipc/general/config/port_candidate_rule.ts +81 -0
- package/src/moonbridge-ipc/general/config/websocket_server_endpoint.ts +48 -0
- package/src/moonbridge-ipc/general/encode/ipc_message_decoder.ts +122 -0
- package/src/moonbridge-ipc/general/encode/ipc_message_encoder.ts +108 -0
- package/src/moonbridge-ipc/general/error/ipc_error.ts +28 -0
- package/src/moonbridge-ipc/general/index.ts +9 -0
- package/src/moonbridge-ipc/general/lock/async_lock.ts +58 -0
- package/src/moonbridge-ipc/general/lock/lock.ts +9 -0
- package/src/moonbridge-ipc/general/message/constants/message_types.ts +18 -0
- package/src/moonbridge-ipc/general/message/error.ts +13 -0
- package/src/moonbridge-ipc/general/message/event.ts +10 -0
- package/src/moonbridge-ipc/general/message/handshake.ts +16 -0
- package/src/moonbridge-ipc/general/message/ping.ts +6 -0
- package/src/moonbridge-ipc/general/message/registration.ts +6 -0
- package/src/moonbridge-ipc/general/message/request.ts +14 -0
- package/src/moonbridge-ipc/general/message/response.ts +13 -0
- package/src/moonbridge-ipc/general/message/session_setup.ts +25 -0
- package/src/moonbridge-ipc/general/message/unregistration.ts +6 -0
- package/src/moonbridge-ipc/general/transport/encode/data_frame_codec.ts +148 -0
- package/src/moonbridge-ipc/general/transport/interface/serial_message_channel.ts +49 -0
- package/src/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.ts +45 -0
- package/src/moonbridge-ipc/general/transport/interface/transport_client.ts +44 -0
- package/src/moonbridge-ipc/general/transport/interface/transport_client_extension.ts +52 -0
- package/src/moonbridge-ipc/general/transport/websocket/websocket_client.ts +130 -0
- package/src/moonbridge-ipc/general/transport/websocket/websocket_message_channel.ts +145 -0
- package/src/moonbridge-ipc/general/transport/websocket/websocket_server.ts +205 -0
- package/src/moonbridge-ipc/index.ts +9 -0
- package/src/moonbridge-ipc/server/credential/client_identity.ts +54 -0
- package/src/moonbridge-ipc/server/internal/identity/client_identity_manager.ts +42 -0
- package/src/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.ts +441 -0
- package/src/moonbridge-ipc/server/moonbridge_ipc_server.ts +149 -0
- package/src/moonbridge-ipc/utils/env.ts +7 -0
- package/src/moonbridge-ipc/utils/logger.ts +6 -0
- package/src/moonbridge-ipc/utils/string_utils.ts +21 -0
- package/src/wps-launcher/index.ts +4 -0
- package/src/wps-launcher/launcher/wps_app_launcher.ts +135 -0
- package/tests/integration/.gitkeep +0 -0
- package/tests/integration/moonbridge_ipc_server_client.test.ts +64 -0
- package/tests/unit/.gitkeep +0 -0
- package/tests/unit/app_launcher.test.ts +32 -0
- package/tests/unit/data_frame_codec.test.ts +72 -0
- package/tests/unit/event_bus.test.ts +39 -0
- package/tests/unit/handler_registry.test.ts +34 -0
- package/tests/unit/handshake.test.ts +47 -0
- package/tests/unit/heartbeat.test.ts +18 -0
- package/tests/unit/interceptors.test.ts +43 -0
- package/tests/unit/ipc_connection_manager.handshake.test.ts +72 -0
- package/tests/unit/moonbridge_ipc_server.test.ts +78 -0
- package/tests/unit/result_callback.test.ts +49 -0
- package/tests/unit/websocket_server.test.ts +101 -0
- package/tsconfig.json +36 -0
- package/tsup.config.ts +15 -0
- package/vitest.config.ts +13 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/moonbridge-ipc/general/transport/websocket/websocket_server.ts"],"names":["isNodeEnv","logger","WebSocketMessageChannel"],"mappings":"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","file":"websocket_server.js","sourcesContent":["/**\n * WebSocket 服务端,基于 HttpServer 升级为 WebSocket。\n *\n * 每收到一次 WebSocket 升级请求即生成一个 [SerialMessageChannel]([WebSocketMessageChannel]),\n * 通过 [onClientConnected] 交给上层,与 [SocketServer] 产出的 [SerialMessageSocket] 契约一致。\n */\n\nimport { SerialMessageChannel } from '../interface/serial_message_channel';\nimport { WebSocketMessageChannel } from './websocket_message_channel';\nimport { isNodeEnv } from '../../../utils/env';\nimport { logger } from '../../../utils/logger';\n\n/**\n * 封装服务器的 IP 地址和端口号信息\n *\n * 该类用于存储和展示服务器的 IP 地址和端口号信息。\n */\nexport class ServerAddressInfo {\n /** 服务器的 IP 地址 */\n readonly ip: string;\n /** 服务器的端口号 */\n readonly port: number;\n\n constructor(ip: string, port: number) {\n this.ip = ip;\n this.port = port;\n }\n\n toString(): string {\n return `IP: ${this.ip}, Port: ${this.port}`;\n }\n}\n\n/**\n * SocketServer 类用于处理服务器端的 TCP 通信。\n *\n * 它可以启动服务器并监听来自客户端的连接。\n */\nexport abstract class SocketServer {\n /// 表示绑定到所有 IPv4 地址的常量\n static readonly anyIPv4 = 'anyIPv4';\n\n /// 表示绑定到所有 IPv6 地址的常量\n static readonly anyIPv6 = 'anyIPv6';\n}\n\n\n/** 解析 address 为 Node http.listen 可用的地址 */\nfunction resolveAddress(address: string): string {\n if (address === SocketServer.anyIPv4) return '0.0.0.0';\n if (address === SocketServer.anyIPv6) return '::';\n return address;\n}\n\n/** 校验 path 是否匹配(含 path 与 path/) */\nfunction isPathMatch(requestPath: string, expectedPath: string): boolean {\n const pathname = requestPath.split('?')[0];\n return pathname === expectedPath || pathname === `${expectedPath}/`;\n}\n\n/**\n * WebSocket 服务端,基于 HttpServer 升级为 WebSocket。\n * 仅支持 Node 环境,使用 ws + Node http。\n */\nexport class WebSocketServer {\n /** 绑定地址,同 [SocketServer] 语义(如 `anyIPv4`) */\n readonly address: string;\n /** 监听端口(建议与 Socket 端口不同) */\n readonly port: number;\n /** 升级路径,如 `/` 或 `/ws` */\n readonly path: string;\n\n private _httpServer?: import('http').Server;\n private _isServerRunning = false;\n private _resolvedAddress: string = '';\n\n /**\n * 构造 WebSocket 服务端。\n * @param address 绑定地址\n * @param port 监听端口\n * @param options.path 升级路径,默认 `'/'`\n */\n constructor(address: string, port: number, options?: { path?: string }) {\n this.address = address;\n this.port = port;\n this.path = options?.path ?? '/';\n }\n\n /**\n * 启动 HTTP 服务并处理 WebSocket 升级;每建立一个 WebSocket 连接即调用 [onClientConnected]。\n * @param onClientConnected 客户端连接回调\n * @returns true 表示启动成功,false 表示失败\n */\n async startServer(\n onClientConnected: (channel: SerialMessageChannel) => void,\n ): Promise<boolean> {\n if (!isNodeEnv()) {\n logger.fatal('WebSocketServer 仅支持 Node 环境');\n return false;\n }\n\n try {\n const http = await import('http');\n const ws = await import('ws');\n\n this._resolvedAddress = resolveAddress(this.address);\n const server = http.createServer();\n\n const wss = new ws.WebSocketServer({ noServer: true });\n\n wss.on('connection', (wsSocket: import('ws').WebSocket, request: import('http').IncomingMessage) => {\n const socket = request.socket;\n const localAddress = this._resolvedAddress;\n const localPort = this.port;\n const remoteAddress = socket.remoteAddress ?? '127.0.0.1';\n const remotePort = socket.remotePort ?? 0;\n\n const channel = new WebSocketMessageChannel(wsSocket as unknown as WebSocket, {\n address: localAddress,\n port: localPort,\n remoteAddress,\n remotePort,\n logger,\n });\n onClientConnected(channel);\n });\n\n server.on('upgrade', (request, socket, head) => {\n const pathname = request.url?.split('?')[0] ?? '/';\n if (!isPathMatch(pathname, this.path)) {\n socket.write('HTTP/1.1 404 Not Found\\r\\n\\r\\n');\n socket.destroy();\n return;\n }\n const upgradeHeader = request.headers.upgrade?.toLowerCase();\n if (upgradeHeader !== 'websocket') {\n socket.write('HTTP/1.1 400 Bad Request\\r\\n\\r\\n');\n socket.destroy();\n return;\n }\n wss.handleUpgrade(request, socket, head, (wsSocket: import('ws').WebSocket) => {\n wss.emit('connection', wsSocket, request);\n });\n });\n\n server.on('request', (request, response) => {\n const pathname = request.url?.split('?')[0] ?? '/';\n if (!isPathMatch(pathname, this.path)) {\n response.writeHead(404);\n response.end();\n return;\n }\n response.writeHead(400);\n response.end();\n });\n\n await new Promise<void>((resolve, reject) => {\n server.listen(this.port, this._resolvedAddress, () => resolve());\n server.on('error', reject);\n });\n\n this._httpServer = server;\n this._isServerRunning = true;\n\n const addr = this._httpServer.address();\n const host = typeof addr === 'object' && addr ? addr.address : this._resolvedAddress;\n const port = typeof addr === 'object' && addr ? addr.port : this.port;\n logger.info(`服务端 websocket 启动: ${host}:${port}`);\n\n return true;\n } catch (e) {\n logger.fatal(`服务端 websocket 启动异常: ${e}`);\n return false;\n }\n }\n\n /**\n * 关闭 HTTP 服务并停止接受新连接\n */\n async close(): Promise<void> {\n if (this._httpServer) {\n await new Promise<void>((resolve) => {\n this._httpServer!.close(() => resolve());\n });\n this._httpServer = undefined;\n }\n this._isServerRunning = false;\n }\n\n /** 是否正在运行 */\n get isServerRunning(): boolean {\n return this._isServerRunning;\n }\n\n /** 本机地址与端口(若已启动) */\n get serverAddressInfo(): ServerAddressInfo | undefined {\n if (this._httpServer) {\n const addr = this._httpServer.address();\n if (addr && typeof addr === 'object') {\n return new ServerAddressInfo(addr.address, addr.port);\n }\n }\n return undefined;\n }\n}\n"]}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { WebSocketMessageChannel } from './websocket_message_channel';
|
|
2
|
+
import { isNodeEnv } from '../../../utils/env';
|
|
3
|
+
import { logger } from '../../../utils/logger';
|
|
4
|
+
|
|
5
|
+
class ServerAddressInfo {
|
|
6
|
+
constructor(ip, port) {
|
|
7
|
+
this.ip = ip;
|
|
8
|
+
this.port = port;
|
|
9
|
+
}
|
|
10
|
+
toString() {
|
|
11
|
+
return `IP: ${this.ip}, Port: ${this.port}`;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
class SocketServer {
|
|
15
|
+
}
|
|
16
|
+
/// 表示绑定到所有 IPv4 地址的常量
|
|
17
|
+
SocketServer.anyIPv4 = "anyIPv4";
|
|
18
|
+
/// 表示绑定到所有 IPv6 地址的常量
|
|
19
|
+
SocketServer.anyIPv6 = "anyIPv6";
|
|
20
|
+
function resolveAddress(address) {
|
|
21
|
+
if (address === SocketServer.anyIPv4) return "0.0.0.0";
|
|
22
|
+
if (address === SocketServer.anyIPv6) return "::";
|
|
23
|
+
return address;
|
|
24
|
+
}
|
|
25
|
+
function isPathMatch(requestPath, expectedPath) {
|
|
26
|
+
const pathname = requestPath.split("?")[0];
|
|
27
|
+
return pathname === expectedPath || pathname === `${expectedPath}/`;
|
|
28
|
+
}
|
|
29
|
+
class WebSocketServer {
|
|
30
|
+
/**
|
|
31
|
+
* 构造 WebSocket 服务端。
|
|
32
|
+
* @param address 绑定地址
|
|
33
|
+
* @param port 监听端口
|
|
34
|
+
* @param options.path 升级路径,默认 `'/'`
|
|
35
|
+
*/
|
|
36
|
+
constructor(address, port, options) {
|
|
37
|
+
this._isServerRunning = false;
|
|
38
|
+
this._resolvedAddress = "";
|
|
39
|
+
var _a;
|
|
40
|
+
this.address = address;
|
|
41
|
+
this.port = port;
|
|
42
|
+
this.path = (_a = options == null ? void 0 : options.path) != null ? _a : "/";
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 启动 HTTP 服务并处理 WebSocket 升级;每建立一个 WebSocket 连接即调用 [onClientConnected]。
|
|
46
|
+
* @param onClientConnected 客户端连接回调
|
|
47
|
+
* @returns true 表示启动成功,false 表示失败
|
|
48
|
+
*/
|
|
49
|
+
async startServer(onClientConnected) {
|
|
50
|
+
if (!isNodeEnv()) {
|
|
51
|
+
logger.fatal("WebSocketServer \u4EC5\u652F\u6301 Node \u73AF\u5883");
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
const http = await import('http');
|
|
56
|
+
const ws = await import('ws');
|
|
57
|
+
this._resolvedAddress = resolveAddress(this.address);
|
|
58
|
+
const server = http.createServer();
|
|
59
|
+
const wss = new ws.WebSocketServer({ noServer: true });
|
|
60
|
+
wss.on("connection", (wsSocket, request) => {
|
|
61
|
+
var _a, _b;
|
|
62
|
+
const socket = request.socket;
|
|
63
|
+
const localAddress = this._resolvedAddress;
|
|
64
|
+
const localPort = this.port;
|
|
65
|
+
const remoteAddress = (_a = socket.remoteAddress) != null ? _a : "127.0.0.1";
|
|
66
|
+
const remotePort = (_b = socket.remotePort) != null ? _b : 0;
|
|
67
|
+
const channel = new WebSocketMessageChannel(wsSocket, {
|
|
68
|
+
address: localAddress,
|
|
69
|
+
port: localPort,
|
|
70
|
+
remoteAddress,
|
|
71
|
+
remotePort,
|
|
72
|
+
logger
|
|
73
|
+
});
|
|
74
|
+
onClientConnected(channel);
|
|
75
|
+
});
|
|
76
|
+
server.on("upgrade", (request, socket, head) => {
|
|
77
|
+
var _a, _b, _c;
|
|
78
|
+
const pathname = (_b = (_a = request.url) == null ? void 0 : _a.split("?")[0]) != null ? _b : "/";
|
|
79
|
+
if (!isPathMatch(pathname, this.path)) {
|
|
80
|
+
socket.write("HTTP/1.1 404 Not Found\r\n\r\n");
|
|
81
|
+
socket.destroy();
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const upgradeHeader = (_c = request.headers.upgrade) == null ? void 0 : _c.toLowerCase();
|
|
85
|
+
if (upgradeHeader !== "websocket") {
|
|
86
|
+
socket.write("HTTP/1.1 400 Bad Request\r\n\r\n");
|
|
87
|
+
socket.destroy();
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
wss.handleUpgrade(request, socket, head, (wsSocket) => {
|
|
91
|
+
wss.emit("connection", wsSocket, request);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
server.on("request", (request, response) => {
|
|
95
|
+
var _a, _b;
|
|
96
|
+
const pathname = (_b = (_a = request.url) == null ? void 0 : _a.split("?")[0]) != null ? _b : "/";
|
|
97
|
+
if (!isPathMatch(pathname, this.path)) {
|
|
98
|
+
response.writeHead(404);
|
|
99
|
+
response.end();
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
response.writeHead(400);
|
|
103
|
+
response.end();
|
|
104
|
+
});
|
|
105
|
+
await new Promise((resolve, reject) => {
|
|
106
|
+
server.listen(this.port, this._resolvedAddress, () => resolve());
|
|
107
|
+
server.on("error", reject);
|
|
108
|
+
});
|
|
109
|
+
this._httpServer = server;
|
|
110
|
+
this._isServerRunning = true;
|
|
111
|
+
const addr = this._httpServer.address();
|
|
112
|
+
const host = typeof addr === "object" && addr ? addr.address : this._resolvedAddress;
|
|
113
|
+
const port = typeof addr === "object" && addr ? addr.port : this.port;
|
|
114
|
+
logger.info(`\u670D\u52A1\u7AEF websocket \u542F\u52A8: ${host}:${port}`);
|
|
115
|
+
return true;
|
|
116
|
+
} catch (e) {
|
|
117
|
+
logger.fatal(`\u670D\u52A1\u7AEF websocket \u542F\u52A8\u5F02\u5E38: ${e}`);
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* 关闭 HTTP 服务并停止接受新连接
|
|
123
|
+
*/
|
|
124
|
+
async close() {
|
|
125
|
+
if (this._httpServer) {
|
|
126
|
+
await new Promise((resolve) => {
|
|
127
|
+
this._httpServer.close(() => resolve());
|
|
128
|
+
});
|
|
129
|
+
this._httpServer = void 0;
|
|
130
|
+
}
|
|
131
|
+
this._isServerRunning = false;
|
|
132
|
+
}
|
|
133
|
+
/** 是否正在运行 */
|
|
134
|
+
get isServerRunning() {
|
|
135
|
+
return this._isServerRunning;
|
|
136
|
+
}
|
|
137
|
+
/** 本机地址与端口(若已启动) */
|
|
138
|
+
get serverAddressInfo() {
|
|
139
|
+
if (this._httpServer) {
|
|
140
|
+
const addr = this._httpServer.address();
|
|
141
|
+
if (addr && typeof addr === "object") {
|
|
142
|
+
return new ServerAddressInfo(addr.address, addr.port);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return void 0;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export { ServerAddressInfo, SocketServer, WebSocketServer };
|
|
150
|
+
//# sourceMappingURL=websocket_server.mjs.map
|
|
151
|
+
//# sourceMappingURL=websocket_server.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/moonbridge-ipc/general/transport/websocket/websocket_server.ts"],"names":[],"mappings":"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","file":"websocket_server.mjs","sourcesContent":["/**\n * WebSocket 服务端,基于 HttpServer 升级为 WebSocket。\n *\n * 每收到一次 WebSocket 升级请求即生成一个 [SerialMessageChannel]([WebSocketMessageChannel]),\n * 通过 [onClientConnected] 交给上层,与 [SocketServer] 产出的 [SerialMessageSocket] 契约一致。\n */\n\nimport { SerialMessageChannel } from '../interface/serial_message_channel';\nimport { WebSocketMessageChannel } from './websocket_message_channel';\nimport { isNodeEnv } from '../../../utils/env';\nimport { logger } from '../../../utils/logger';\n\n/**\n * 封装服务器的 IP 地址和端口号信息\n *\n * 该类用于存储和展示服务器的 IP 地址和端口号信息。\n */\nexport class ServerAddressInfo {\n /** 服务器的 IP 地址 */\n readonly ip: string;\n /** 服务器的端口号 */\n readonly port: number;\n\n constructor(ip: string, port: number) {\n this.ip = ip;\n this.port = port;\n }\n\n toString(): string {\n return `IP: ${this.ip}, Port: ${this.port}`;\n }\n}\n\n/**\n * SocketServer 类用于处理服务器端的 TCP 通信。\n *\n * 它可以启动服务器并监听来自客户端的连接。\n */\nexport abstract class SocketServer {\n /// 表示绑定到所有 IPv4 地址的常量\n static readonly anyIPv4 = 'anyIPv4';\n\n /// 表示绑定到所有 IPv6 地址的常量\n static readonly anyIPv6 = 'anyIPv6';\n}\n\n\n/** 解析 address 为 Node http.listen 可用的地址 */\nfunction resolveAddress(address: string): string {\n if (address === SocketServer.anyIPv4) return '0.0.0.0';\n if (address === SocketServer.anyIPv6) return '::';\n return address;\n}\n\n/** 校验 path 是否匹配(含 path 与 path/) */\nfunction isPathMatch(requestPath: string, expectedPath: string): boolean {\n const pathname = requestPath.split('?')[0];\n return pathname === expectedPath || pathname === `${expectedPath}/`;\n}\n\n/**\n * WebSocket 服务端,基于 HttpServer 升级为 WebSocket。\n * 仅支持 Node 环境,使用 ws + Node http。\n */\nexport class WebSocketServer {\n /** 绑定地址,同 [SocketServer] 语义(如 `anyIPv4`) */\n readonly address: string;\n /** 监听端口(建议与 Socket 端口不同) */\n readonly port: number;\n /** 升级路径,如 `/` 或 `/ws` */\n readonly path: string;\n\n private _httpServer?: import('http').Server;\n private _isServerRunning = false;\n private _resolvedAddress: string = '';\n\n /**\n * 构造 WebSocket 服务端。\n * @param address 绑定地址\n * @param port 监听端口\n * @param options.path 升级路径,默认 `'/'`\n */\n constructor(address: string, port: number, options?: { path?: string }) {\n this.address = address;\n this.port = port;\n this.path = options?.path ?? '/';\n }\n\n /**\n * 启动 HTTP 服务并处理 WebSocket 升级;每建立一个 WebSocket 连接即调用 [onClientConnected]。\n * @param onClientConnected 客户端连接回调\n * @returns true 表示启动成功,false 表示失败\n */\n async startServer(\n onClientConnected: (channel: SerialMessageChannel) => void,\n ): Promise<boolean> {\n if (!isNodeEnv()) {\n logger.fatal('WebSocketServer 仅支持 Node 环境');\n return false;\n }\n\n try {\n const http = await import('http');\n const ws = await import('ws');\n\n this._resolvedAddress = resolveAddress(this.address);\n const server = http.createServer();\n\n const wss = new ws.WebSocketServer({ noServer: true });\n\n wss.on('connection', (wsSocket: import('ws').WebSocket, request: import('http').IncomingMessage) => {\n const socket = request.socket;\n const localAddress = this._resolvedAddress;\n const localPort = this.port;\n const remoteAddress = socket.remoteAddress ?? '127.0.0.1';\n const remotePort = socket.remotePort ?? 0;\n\n const channel = new WebSocketMessageChannel(wsSocket as unknown as WebSocket, {\n address: localAddress,\n port: localPort,\n remoteAddress,\n remotePort,\n logger,\n });\n onClientConnected(channel);\n });\n\n server.on('upgrade', (request, socket, head) => {\n const pathname = request.url?.split('?')[0] ?? '/';\n if (!isPathMatch(pathname, this.path)) {\n socket.write('HTTP/1.1 404 Not Found\\r\\n\\r\\n');\n socket.destroy();\n return;\n }\n const upgradeHeader = request.headers.upgrade?.toLowerCase();\n if (upgradeHeader !== 'websocket') {\n socket.write('HTTP/1.1 400 Bad Request\\r\\n\\r\\n');\n socket.destroy();\n return;\n }\n wss.handleUpgrade(request, socket, head, (wsSocket: import('ws').WebSocket) => {\n wss.emit('connection', wsSocket, request);\n });\n });\n\n server.on('request', (request, response) => {\n const pathname = request.url?.split('?')[0] ?? '/';\n if (!isPathMatch(pathname, this.path)) {\n response.writeHead(404);\n response.end();\n return;\n }\n response.writeHead(400);\n response.end();\n });\n\n await new Promise<void>((resolve, reject) => {\n server.listen(this.port, this._resolvedAddress, () => resolve());\n server.on('error', reject);\n });\n\n this._httpServer = server;\n this._isServerRunning = true;\n\n const addr = this._httpServer.address();\n const host = typeof addr === 'object' && addr ? addr.address : this._resolvedAddress;\n const port = typeof addr === 'object' && addr ? addr.port : this.port;\n logger.info(`服务端 websocket 启动: ${host}:${port}`);\n\n return true;\n } catch (e) {\n logger.fatal(`服务端 websocket 启动异常: ${e}`);\n return false;\n }\n }\n\n /**\n * 关闭 HTTP 服务并停止接受新连接\n */\n async close(): Promise<void> {\n if (this._httpServer) {\n await new Promise<void>((resolve) => {\n this._httpServer!.close(() => resolve());\n });\n this._httpServer = undefined;\n }\n this._isServerRunning = false;\n }\n\n /** 是否正在运行 */\n get isServerRunning(): boolean {\n return this._isServerRunning;\n }\n\n /** 本机地址与端口(若已启动) */\n get serverAddressInfo(): ServerAddressInfo | undefined {\n if (this._httpServer) {\n const addr = this._httpServer.address();\n if (addr && typeof addr === 'object') {\n return new ServerAddressInfo(addr.address, addr.port);\n }\n }\n return undefined;\n }\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export { MoonBridgeIpcClient, MoonBridgeIpcClientBuilder, MoonBridgeIpcClientRegistry } from './client/moonbridge_ipc_client.mjs';
|
|
2
|
+
export { AppInstallationPath, AppLaunchIdentifier } from './general/app_launch/model/app_info.mjs';
|
|
3
|
+
export { AppLaunchArguments, AppLaunchResult, emptyAppLaunchArguments } from './general/app_launch/model/app_launch_models.mjs';
|
|
4
|
+
export { APP_NOT_INSTALLED, LAUNCH_TIMEOUT, PERMISSION_DENIED, UNKNOWN } from './general/app_launch/model/app_launch_error_codes.mjs';
|
|
5
|
+
export { PortCandidateRule, maxAttemptsCap } from './general/config/port_candidate_rule.mjs';
|
|
6
|
+
export { WebSocketServerEndpoint } from './general/config/websocket_server_endpoint.mjs';
|
|
7
|
+
export { ServerAddressInfo, SocketServer, WebSocketServer } from './general/transport/websocket/websocket_server.mjs';
|
|
8
|
+
export { IpcError } from './general/error/ipc_error.mjs';
|
|
9
|
+
export { MessageType } from './general/message/constants/message_types.mjs';
|
|
10
|
+
export { Event } from './general/message/event.mjs';
|
|
11
|
+
export { DisconnectedCallback, IpcMessageReply, MessagePreprocessor, MoonBridgeIpcServer, MoonBridgeIpcServerBuilder, MoonBridgeIpcServerRegistry, OnMessageReceived, WakeAppInterceptor } from './server/moonbridge_ipc_server.mjs';
|
|
12
|
+
export { ClientIdentity, ClientIdentityProvider } from './server/credential/client_identity.mjs';
|
|
13
|
+
export { MessageCallOptions, MessageEndpoint, Messenger } from './client/types/ipc_messenger.mjs';
|
|
14
|
+
export { EventBus, Subscriber } from './client/types/ipc_event_bus.mjs';
|
|
15
|
+
export { IpcMessageStrategy } from './client/types/ipc_message_strategy.mjs';
|
|
16
|
+
export { ConnectionObserver, IpcConnectionCompletionHandler, IpcErrorCallback, IpcResponseCallback, MessageInterceptor } from './client/types/ipc_types.mjs';
|
|
17
|
+
export { BridgeModuleUtils } from './extension/bridge_extension.mjs';
|
|
18
|
+
import './general/app_launch/app_launcher.mjs';
|
|
19
|
+
import './general/transport/interface/serial_message_channel.mjs';
|
|
20
|
+
import './general/message/request.mjs';
|
|
21
|
+
import './general/message/response.mjs';
|
|
22
|
+
import './general/message/error.mjs';
|
|
23
|
+
import '../bridge_module-Dd27cxv9.mjs';
|
|
24
|
+
import '../moonbridge/message/message_parser_manager.mjs';
|
|
25
|
+
import '../moonbridge/message/message.mjs';
|
|
26
|
+
import '../moonbridge/message/message_parser.mjs';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './client/moonbridge_ipc_client';
|
|
2
|
+
export * from './general';
|
|
3
|
+
export * from './server/moonbridge_ipc_server';
|
|
4
|
+
export * from './server/credential/client_identity';
|
|
5
|
+
export * from './client/types/ipc_messenger';
|
|
6
|
+
export * from './client/types/ipc_event_bus';
|
|
7
|
+
export * from './client/types/ipc_message_strategy';
|
|
8
|
+
export * from './client/types/ipc_types';
|
|
9
|
+
export * from './extension/bridge_extension';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/moonbridge-ipc/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var moonbridge_ipc_client = require('./client/moonbridge_ipc_client');
|
|
4
|
+
var general = require('./general');
|
|
5
|
+
var moonbridge_ipc_server = require('./server/moonbridge_ipc_server');
|
|
6
|
+
var client_identity = require('./server/credential/client_identity');
|
|
7
|
+
var ipc_messenger = require('./client/types/ipc_messenger');
|
|
8
|
+
var ipc_event_bus = require('./client/types/ipc_event_bus');
|
|
9
|
+
var ipc_message_strategy = require('./client/types/ipc_message_strategy');
|
|
10
|
+
var ipc_types = require('./client/types/ipc_types');
|
|
11
|
+
var bridge_extension = require('./extension/bridge_extension');
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Object.keys(moonbridge_ipc_client).forEach(function (k) {
|
|
16
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return moonbridge_ipc_client[k]; }
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
Object.keys(general).forEach(function (k) {
|
|
22
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () { return general[k]; }
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
Object.keys(moonbridge_ipc_server).forEach(function (k) {
|
|
28
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
get: function () { return moonbridge_ipc_server[k]; }
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
Object.keys(client_identity).forEach(function (k) {
|
|
34
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
get: function () { return client_identity[k]; }
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
Object.keys(ipc_messenger).forEach(function (k) {
|
|
40
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
get: function () { return ipc_messenger[k]; }
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
Object.keys(ipc_event_bus).forEach(function (k) {
|
|
46
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
47
|
+
enumerable: true,
|
|
48
|
+
get: function () { return ipc_event_bus[k]; }
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
Object.keys(ipc_message_strategy).forEach(function (k) {
|
|
52
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
get: function () { return ipc_message_strategy[k]; }
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
Object.keys(ipc_types).forEach(function (k) {
|
|
58
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
59
|
+
enumerable: true,
|
|
60
|
+
get: function () { return ipc_types[k]; }
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
Object.keys(bridge_extension).forEach(function (k) {
|
|
64
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
65
|
+
enumerable: true,
|
|
66
|
+
get: function () { return bridge_extension[k]; }
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=index.js.map
|
|
70
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './client/moonbridge_ipc_client';
|
|
2
|
+
export * from './general';
|
|
3
|
+
export * from './server/moonbridge_ipc_server';
|
|
4
|
+
export * from './server/credential/client_identity';
|
|
5
|
+
export * from './client/types/ipc_messenger';
|
|
6
|
+
export * from './client/types/ipc_event_bus';
|
|
7
|
+
export * from './client/types/ipc_message_strategy';
|
|
8
|
+
export * from './client/types/ipc_types';
|
|
9
|
+
export * from './extension/bridge_extension';
|
|
10
|
+
//# sourceMappingURL=index.mjs.map
|
|
11
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs","sourcesContent":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { AppInstallationPath, AppLaunchIdentifier } from '../../general/app_launch/model/app_info.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* IPC 客户端身份信息类
|
|
5
|
+
*
|
|
6
|
+
* 该类用于封装 IPC 客户端的身份信息,包括客户端名称、应用路径和启动标识符。
|
|
7
|
+
*
|
|
8
|
+
* 适用于需要通过跨平台(如 Windows、macOS、iOS 和 Android)的应用身份管理和操作场景。
|
|
9
|
+
*
|
|
10
|
+
* - **clientName**: 客户端的名称,用于标识特定的客户端应用。
|
|
11
|
+
* - **appInstallationPath**: 表示应用在不同平台上的安装路径,可选。
|
|
12
|
+
* - **appLaunchIdentifier**: 应用的启动标识符信息,用于唤醒或启动应用程序,可选。
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/** 提供客户端身份信息的函数类型 */
|
|
16
|
+
type ClientIdentityProvider = (clientName: string) => ClientIdentity | undefined;
|
|
17
|
+
declare class ClientIdentity {
|
|
18
|
+
/** 客户端名称 */
|
|
19
|
+
readonly clientName: string;
|
|
20
|
+
/** 应用的安装路径信息 */
|
|
21
|
+
readonly appInstallationPath?: AppInstallationPath;
|
|
22
|
+
/** 应用的启动标识符信息 */
|
|
23
|
+
readonly appLaunchIdentifier?: AppLaunchIdentifier;
|
|
24
|
+
/**
|
|
25
|
+
* 构造函数
|
|
26
|
+
*
|
|
27
|
+
* @param clientName 客户端名称,用于标识特定的 IPC 客户端
|
|
28
|
+
* @param options.appInstallationPath 客户端的安装路径信息,默认为空
|
|
29
|
+
* @param options.appLaunchIdentifier 客户端的启动标识符信息,默认为空
|
|
30
|
+
*/
|
|
31
|
+
constructor(clientName: string, options?: {
|
|
32
|
+
appInstallationPath?: AppInstallationPath;
|
|
33
|
+
appLaunchIdentifier?: AppLaunchIdentifier;
|
|
34
|
+
});
|
|
35
|
+
toString(): string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export { ClientIdentity, type ClientIdentityProvider };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPC 客户端身份信息类
|
|
3
|
+
*
|
|
4
|
+
* 该类用于封装 IPC 客户端的身份信息,包括客户端名称、应用路径和启动标识符。
|
|
5
|
+
*
|
|
6
|
+
* 适用于需要通过跨平台(如 Windows、macOS、iOS 和 Android)的应用身份管理和操作场景。
|
|
7
|
+
*
|
|
8
|
+
* - **clientName**: 客户端的名称,用于标识特定的客户端应用。
|
|
9
|
+
* - **appInstallationPath**: 表示应用在不同平台上的安装路径,可选。
|
|
10
|
+
* - **appLaunchIdentifier**: 应用的启动标识符信息,用于唤醒或启动应用程序,可选。
|
|
11
|
+
*/
|
|
12
|
+
import type { AppInstallationPath, AppLaunchIdentifier } from '../../general/app_launch/model/app_info';
|
|
13
|
+
/** 提供客户端身份信息的函数类型 */
|
|
14
|
+
export type ClientIdentityProvider = (clientName: string) => ClientIdentity | undefined;
|
|
15
|
+
export declare class ClientIdentity {
|
|
16
|
+
/** 客户端名称 */
|
|
17
|
+
readonly clientName: string;
|
|
18
|
+
/** 应用的安装路径信息 */
|
|
19
|
+
readonly appInstallationPath?: AppInstallationPath;
|
|
20
|
+
/** 应用的启动标识符信息 */
|
|
21
|
+
readonly appLaunchIdentifier?: AppLaunchIdentifier;
|
|
22
|
+
/**
|
|
23
|
+
* 构造函数
|
|
24
|
+
*
|
|
25
|
+
* @param clientName 客户端名称,用于标识特定的 IPC 客户端
|
|
26
|
+
* @param options.appInstallationPath 客户端的安装路径信息,默认为空
|
|
27
|
+
* @param options.appLaunchIdentifier 客户端的启动标识符信息,默认为空
|
|
28
|
+
*/
|
|
29
|
+
constructor(clientName: string, options?: {
|
|
30
|
+
appInstallationPath?: AppInstallationPath;
|
|
31
|
+
appLaunchIdentifier?: AppLaunchIdentifier;
|
|
32
|
+
});
|
|
33
|
+
toString(): string;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=client_identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client_identity.d.ts","sourceRoot":"","sources":["../../../../src/moonbridge-ipc/server/credential/client_identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAExG,qBAAqB;AACrB,MAAM,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC;AAExF,qBAAa,cAAc;IACzB,YAAY;IACZ,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,gBAAgB;IAChB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAEnD,iBAAiB;IACjB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAEnD;;;;;;OAMG;gBAED,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QACR,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;QAC1C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;KAC3C;IAOH,QAAQ,IAAI,MAAM;CAOnB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
class ClientIdentity {
|
|
4
|
+
/**
|
|
5
|
+
* 构造函数
|
|
6
|
+
*
|
|
7
|
+
* @param clientName 客户端名称,用于标识特定的 IPC 客户端
|
|
8
|
+
* @param options.appInstallationPath 客户端的安装路径信息,默认为空
|
|
9
|
+
* @param options.appLaunchIdentifier 客户端的启动标识符信息,默认为空
|
|
10
|
+
*/
|
|
11
|
+
constructor(clientName, options) {
|
|
12
|
+
this.clientName = clientName;
|
|
13
|
+
this.appInstallationPath = options == null ? void 0 : options.appInstallationPath;
|
|
14
|
+
this.appLaunchIdentifier = options == null ? void 0 : options.appLaunchIdentifier;
|
|
15
|
+
}
|
|
16
|
+
toString() {
|
|
17
|
+
return `ClientIdentity(
|
|
18
|
+
clientName: ${this.clientName},
|
|
19
|
+
appInstallationPath: ${this.appInstallationPath},
|
|
20
|
+
appLaunchIdentifier: ${this.appLaunchIdentifier}
|
|
21
|
+
)`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
exports.ClientIdentity = ClientIdentity;
|
|
26
|
+
//# sourceMappingURL=client_identity.js.map
|
|
27
|
+
//# sourceMappingURL=client_identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/moonbridge-ipc/server/credential/client_identity.ts"],"names":[],"mappings":";;AAiBO,MAAM,cAAA,CAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiB1B,WAAA,CACE,YACA,OAAA,EAIA;AACA,IAAA,IAAA,CAAK,UAAA,GAAa,UAAA;AAClB,IAAA,IAAA,CAAK,sBAAsB,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,mBAAA;AACpC,IAAA,IAAA,CAAK,sBAAsB,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,mBAAA;AAAA,EACtC;AAAA,EAEA,QAAA,GAAmB;AACjB,IAAA,OAAO,CAAA;AAAA,cAAA,EACK,KAAK,UAAU,CAAA;AAAA,uBAAA,EACN,KAAK,mBAAmB,CAAA;AAAA,uBAAA,EACxB,KAAK,mBAAmB;AAAA,CAAA,CAAA;AAAA,EAE/C;AACF","file":"client_identity.js","sourcesContent":["/**\n * IPC 客户端身份信息类\n *\n * 该类用于封装 IPC 客户端的身份信息,包括客户端名称、应用路径和启动标识符。\n *\n * 适用于需要通过跨平台(如 Windows、macOS、iOS 和 Android)的应用身份管理和操作场景。\n *\n * - **clientName**: 客户端的名称,用于标识特定的客户端应用。\n * - **appInstallationPath**: 表示应用在不同平台上的安装路径,可选。\n * - **appLaunchIdentifier**: 应用的启动标识符信息,用于唤醒或启动应用程序,可选。\n */\n\nimport type { AppInstallationPath, AppLaunchIdentifier } from '../../general/app_launch/model/app_info';\n\n/** 提供客户端身份信息的函数类型 */\nexport type ClientIdentityProvider = (clientName: string) => ClientIdentity | undefined;\n\nexport class ClientIdentity {\n /** 客户端名称 */\n readonly clientName: string;\n\n /** 应用的安装路径信息 */\n readonly appInstallationPath?: AppInstallationPath;\n\n /** 应用的启动标识符信息 */\n readonly appLaunchIdentifier?: AppLaunchIdentifier;\n\n /**\n * 构造函数\n *\n * @param clientName 客户端名称,用于标识特定的 IPC 客户端\n * @param options.appInstallationPath 客户端的安装路径信息,默认为空\n * @param options.appLaunchIdentifier 客户端的启动标识符信息,默认为空\n */\n constructor(\n clientName: string,\n options?: {\n appInstallationPath?: AppInstallationPath;\n appLaunchIdentifier?: AppLaunchIdentifier;\n },\n ) {\n this.clientName = clientName;\n this.appInstallationPath = options?.appInstallationPath;\n this.appLaunchIdentifier = options?.appLaunchIdentifier;\n }\n\n toString(): string {\n return `ClientIdentity(\n clientName: ${this.clientName}, \n appInstallationPath: ${this.appInstallationPath}, \n appLaunchIdentifier: ${this.appLaunchIdentifier}\n)`;\n }\n}\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
class ClientIdentity {
|
|
2
|
+
/**
|
|
3
|
+
* 构造函数
|
|
4
|
+
*
|
|
5
|
+
* @param clientName 客户端名称,用于标识特定的 IPC 客户端
|
|
6
|
+
* @param options.appInstallationPath 客户端的安装路径信息,默认为空
|
|
7
|
+
* @param options.appLaunchIdentifier 客户端的启动标识符信息,默认为空
|
|
8
|
+
*/
|
|
9
|
+
constructor(clientName, options) {
|
|
10
|
+
this.clientName = clientName;
|
|
11
|
+
this.appInstallationPath = options == null ? void 0 : options.appInstallationPath;
|
|
12
|
+
this.appLaunchIdentifier = options == null ? void 0 : options.appLaunchIdentifier;
|
|
13
|
+
}
|
|
14
|
+
toString() {
|
|
15
|
+
return `ClientIdentity(
|
|
16
|
+
clientName: ${this.clientName},
|
|
17
|
+
appInstallationPath: ${this.appInstallationPath},
|
|
18
|
+
appLaunchIdentifier: ${this.appLaunchIdentifier}
|
|
19
|
+
)`;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { ClientIdentity };
|
|
24
|
+
//# sourceMappingURL=client_identity.mjs.map
|
|
25
|
+
//# sourceMappingURL=client_identity.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/moonbridge-ipc/server/credential/client_identity.ts"],"names":[],"mappings":"AAiBO,MAAM,cAAA,CAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiB1B,WAAA,CACE,YACA,OAAA,EAIA;AACA,IAAA,IAAA,CAAK,UAAA,GAAa,UAAA;AAClB,IAAA,IAAA,CAAK,sBAAsB,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,mBAAA;AACpC,IAAA,IAAA,CAAK,sBAAsB,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,mBAAA;AAAA,EACtC;AAAA,EAEA,QAAA,GAAmB;AACjB,IAAA,OAAO,CAAA;AAAA,cAAA,EACK,KAAK,UAAU,CAAA;AAAA,uBAAA,EACN,KAAK,mBAAmB,CAAA;AAAA,uBAAA,EACxB,KAAK,mBAAmB;AAAA,CAAA,CAAA;AAAA,EAE/C;AACF","file":"client_identity.mjs","sourcesContent":["/**\n * IPC 客户端身份信息类\n *\n * 该类用于封装 IPC 客户端的身份信息,包括客户端名称、应用路径和启动标识符。\n *\n * 适用于需要通过跨平台(如 Windows、macOS、iOS 和 Android)的应用身份管理和操作场景。\n *\n * - **clientName**: 客户端的名称,用于标识特定的客户端应用。\n * - **appInstallationPath**: 表示应用在不同平台上的安装路径,可选。\n * - **appLaunchIdentifier**: 应用的启动标识符信息,用于唤醒或启动应用程序,可选。\n */\n\nimport type { AppInstallationPath, AppLaunchIdentifier } from '../../general/app_launch/model/app_info';\n\n/** 提供客户端身份信息的函数类型 */\nexport type ClientIdentityProvider = (clientName: string) => ClientIdentity | undefined;\n\nexport class ClientIdentity {\n /** 客户端名称 */\n readonly clientName: string;\n\n /** 应用的安装路径信息 */\n readonly appInstallationPath?: AppInstallationPath;\n\n /** 应用的启动标识符信息 */\n readonly appLaunchIdentifier?: AppLaunchIdentifier;\n\n /**\n * 构造函数\n *\n * @param clientName 客户端名称,用于标识特定的 IPC 客户端\n * @param options.appInstallationPath 客户端的安装路径信息,默认为空\n * @param options.appLaunchIdentifier 客户端的启动标识符信息,默认为空\n */\n constructor(\n clientName: string,\n options?: {\n appInstallationPath?: AppInstallationPath;\n appLaunchIdentifier?: AppLaunchIdentifier;\n },\n ) {\n this.clientName = clientName;\n this.appInstallationPath = options?.appInstallationPath;\n this.appLaunchIdentifier = options?.appLaunchIdentifier;\n }\n\n toString(): string {\n return `ClientIdentity(\n clientName: ${this.clientName}, \n appInstallationPath: ${this.appInstallationPath}, \n appLaunchIdentifier: ${this.appLaunchIdentifier}\n)`;\n }\n}\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ClientIdentityProvider, ClientIdentity } from '../../credential/client_identity.mjs';
|
|
2
|
+
import '../../../general/app_launch/model/app_info.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* IPC 客户端身份验证管理器类
|
|
6
|
+
*
|
|
7
|
+
* 该类用于管理和验证 IPC 客户端的身份信息。它通过维护一个客户端身份信息的映射表
|
|
8
|
+
* 和多个身份信息提供者来提供身份验证功能。
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
declare class ClientIdentityManager {
|
|
12
|
+
/** 客户端身份信息提供者列表 */
|
|
13
|
+
private readonly _providers;
|
|
14
|
+
/**
|
|
15
|
+
* 添加客户端身份信息提供者
|
|
16
|
+
*
|
|
17
|
+
* 该方法用于添加一个客户端身份信息提供者到提供者列表中。
|
|
18
|
+
*
|
|
19
|
+
* @param provider 一个 [ClientIdentityProvider] 类型的函数,用于提供客户端身份信息
|
|
20
|
+
*/
|
|
21
|
+
addClientIdentityProvider(provider: ClientIdentityProvider): void;
|
|
22
|
+
/**
|
|
23
|
+
* 获取 IPC 客户端身份信息
|
|
24
|
+
*
|
|
25
|
+
* 该方法用于根据客户端名称获取对应的客户端身份信息。
|
|
26
|
+
*
|
|
27
|
+
* @param clientName 客户端名称
|
|
28
|
+
* @returns 对应的 [ClientIdentity] 对象,如果未找到则返回 null
|
|
29
|
+
*/
|
|
30
|
+
getClientIdentity(clientName: string): ClientIdentity | undefined;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { ClientIdentityManager };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPC 客户端身份验证管理器类
|
|
3
|
+
*
|
|
4
|
+
* 该类用于管理和验证 IPC 客户端的身份信息。它通过维护一个客户端身份信息的映射表
|
|
5
|
+
* 和多个身份信息提供者来提供身份验证功能。
|
|
6
|
+
*/
|
|
7
|
+
import type { ClientIdentity, ClientIdentityProvider } from '../../credential/client_identity';
|
|
8
|
+
export declare class ClientIdentityManager {
|
|
9
|
+
/** 客户端身份信息提供者列表 */
|
|
10
|
+
private readonly _providers;
|
|
11
|
+
/**
|
|
12
|
+
* 添加客户端身份信息提供者
|
|
13
|
+
*
|
|
14
|
+
* 该方法用于添加一个客户端身份信息提供者到提供者列表中。
|
|
15
|
+
*
|
|
16
|
+
* @param provider 一个 [ClientIdentityProvider] 类型的函数,用于提供客户端身份信息
|
|
17
|
+
*/
|
|
18
|
+
addClientIdentityProvider(provider: ClientIdentityProvider): void;
|
|
19
|
+
/**
|
|
20
|
+
* 获取 IPC 客户端身份信息
|
|
21
|
+
*
|
|
22
|
+
* 该方法用于根据客户端名称获取对应的客户端身份信息。
|
|
23
|
+
*
|
|
24
|
+
* @param clientName 客户端名称
|
|
25
|
+
* @returns 对应的 [ClientIdentity] 对象,如果未找到则返回 null
|
|
26
|
+
*/
|
|
27
|
+
getClientIdentity(clientName: string): ClientIdentity | undefined;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=client_identity_manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client_identity_manager.d.ts","sourceRoot":"","sources":["../../../../../src/moonbridge-ipc/server/internal/identity/client_identity_manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE/F,qBAAa,qBAAqB;IAChC,mBAAmB;IACnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAE3D;;;;;;OAMG;IACH,yBAAyB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAIjE;;;;;;;OAOG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;CASlE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
class ClientIdentityManager {
|
|
4
|
+
constructor() {
|
|
5
|
+
/** 客户端身份信息提供者列表 */
|
|
6
|
+
this._providers = [];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 添加客户端身份信息提供者
|
|
10
|
+
*
|
|
11
|
+
* 该方法用于添加一个客户端身份信息提供者到提供者列表中。
|
|
12
|
+
*
|
|
13
|
+
* @param provider 一个 [ClientIdentityProvider] 类型的函数,用于提供客户端身份信息
|
|
14
|
+
*/
|
|
15
|
+
addClientIdentityProvider(provider) {
|
|
16
|
+
this._providers.push(provider);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 获取 IPC 客户端身份信息
|
|
20
|
+
*
|
|
21
|
+
* 该方法用于根据客户端名称获取对应的客户端身份信息。
|
|
22
|
+
*
|
|
23
|
+
* @param clientName 客户端名称
|
|
24
|
+
* @returns 对应的 [ClientIdentity] 对象,如果未找到则返回 null
|
|
25
|
+
*/
|
|
26
|
+
getClientIdentity(clientName) {
|
|
27
|
+
for (const provider of this._providers) {
|
|
28
|
+
const clientIdentity = provider(clientName);
|
|
29
|
+
if (clientIdentity != null) {
|
|
30
|
+
return clientIdentity;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return void 0;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
exports.ClientIdentityManager = ClientIdentityManager;
|
|
38
|
+
//# sourceMappingURL=client_identity_manager.js.map
|
|
39
|
+
//# sourceMappingURL=client_identity_manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/moonbridge-ipc/server/internal/identity/client_identity_manager.ts"],"names":[],"mappings":";;AASO,MAAM,qBAAA,CAAsB;AAAA,EAA5B,WAAA,GAAA;AAEL;AAAA,IAAA,IAAA,CAAiB,aAAuC,EAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASzD,0BAA0B,QAAA,EAAwC;AAChE,IAAA,IAAA,CAAK,UAAA,CAAW,KAAK,QAAQ,CAAA;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,kBAAkB,UAAA,EAAgD;AAChE,IAAA,KAAA,MAAW,QAAA,IAAY,KAAK,UAAA,EAAY;AACtC,MAAA,MAAM,cAAA,GAAiB,SAAS,UAAU,CAAA;AAC1C,MAAA,IAAI,kBAAkB,IAAA,EAAM;AAC1B,QAAA,OAAO,cAAA;AAAA,MACT;AAAA,IACF;AACA,IAAA,OAAO,MAAA;AAAA,EACT;AACF","file":"client_identity_manager.js","sourcesContent":["/**\n * IPC 客户端身份验证管理器类\n *\n * 该类用于管理和验证 IPC 客户端的身份信息。它通过维护一个客户端身份信息的映射表\n * 和多个身份信息提供者来提供身份验证功能。\n */\n\nimport type { ClientIdentity, ClientIdentityProvider } from '../../credential/client_identity';\n\nexport class ClientIdentityManager {\n /** 客户端身份信息提供者列表 */\n private readonly _providers: ClientIdentityProvider[] = [];\n\n /**\n * 添加客户端身份信息提供者\n *\n * 该方法用于添加一个客户端身份信息提供者到提供者列表中。\n *\n * @param provider 一个 [ClientIdentityProvider] 类型的函数,用于提供客户端身份信息\n */\n addClientIdentityProvider(provider: ClientIdentityProvider): void {\n this._providers.push(provider);\n }\n\n /**\n * 获取 IPC 客户端身份信息\n *\n * 该方法用于根据客户端名称获取对应的客户端身份信息。\n *\n * @param clientName 客户端名称\n * @returns 对应的 [ClientIdentity] 对象,如果未找到则返回 null\n */\n getClientIdentity(clientName: string): ClientIdentity | undefined {\n for (const provider of this._providers) {\n const clientIdentity = provider(clientName);\n if (clientIdentity != null) {\n return clientIdentity;\n }\n }\n return undefined;\n }\n}\n"]}
|