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,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPC 类型定义,对应 Flutter lib/client/types/ipc_types.dart。
|
|
3
|
+
* 仅定义类型,不包含具体实现逻辑。
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { IpcError } from '../../general/error/ipc_error';
|
|
7
|
+
import { Request } from '../../general/message/request';
|
|
8
|
+
import { Response } from '../../general/message/response';
|
|
9
|
+
import { Error } from '../../general/message/error';
|
|
10
|
+
|
|
11
|
+
/** 响应回调:接收动态数组形式的响应载荷。 */
|
|
12
|
+
export type IpcResponseCallback = (response: unknown[]) => void;
|
|
13
|
+
|
|
14
|
+
/** 错误回调:接收 IpcError。 */
|
|
15
|
+
export type IpcErrorCallback = (error: IpcError) => void;
|
|
16
|
+
|
|
17
|
+
/** 服务端进程连接完成处理器。US2:统一使用 undefined 表示无错误,不再使用 | null。 */
|
|
18
|
+
export type IpcConnectionCompletionHandler = (
|
|
19
|
+
isConnected: boolean,
|
|
20
|
+
error?: IpcError,
|
|
21
|
+
) => void;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* IPC 消息拦截器,用于拦截和处理 IPC 消息。
|
|
25
|
+
* 对应 Flutter MessageInterceptor。
|
|
26
|
+
*/
|
|
27
|
+
export class MessageInterceptor {
|
|
28
|
+
constructor(
|
|
29
|
+
/** 拦截请求消息;返回 true 表示已处理,false 表示继续默认逻辑 */
|
|
30
|
+
public readonly interceptRequest?: (request: Request) => boolean,
|
|
31
|
+
/** 拦截响应消息;返回 true 表示已处理 */
|
|
32
|
+
public readonly interceptResponse?: (response: Response) => boolean,
|
|
33
|
+
/** 拦截错误消息;返回 true 表示已处理 */
|
|
34
|
+
public readonly interceptError?: (error: Error) => boolean,
|
|
35
|
+
) { }
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* IPC 连接状态观察器,定义处理与服务端连接状态变化的方式。
|
|
40
|
+
* 对应 Flutter ConnectionObserver。
|
|
41
|
+
*/
|
|
42
|
+
export class ConnectionObserver {
|
|
43
|
+
constructor(
|
|
44
|
+
/** 当与服务端建立连接时调用 */
|
|
45
|
+
public readonly onConnected?: () => void,
|
|
46
|
+
/** 当与服务端断开连接时调用 */
|
|
47
|
+
public readonly onDisconnected?: () => void,
|
|
48
|
+
) { }
|
|
49
|
+
}
|
|
50
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Bridge } from "../../moonbridge/kernel/bridge";
|
|
2
|
+
import { BridgeModule } from "../../moonbridge/kernel/bridge_module";
|
|
3
|
+
import { IpcClientBridge } from "../client/internal/bridge/ipc_client_bridge";
|
|
4
|
+
import { MoonBridgeIpcClient } from "../client/moonbridge_ipc_client";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 桥接模块工具类
|
|
8
|
+
*/
|
|
9
|
+
export class BridgeModuleUtils {
|
|
10
|
+
/**
|
|
11
|
+
* 获取 IPC 客户端
|
|
12
|
+
* @param object 桥接实例或桥接模块实例
|
|
13
|
+
* @returns IPC 客户端实例
|
|
14
|
+
*/
|
|
15
|
+
static getIpcClient(arg?: BridgeModule | Bridge): MoonBridgeIpcClient | undefined {
|
|
16
|
+
if (!arg) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
let bridge: Bridge | undefined;
|
|
21
|
+
if (arg instanceof BridgeModule) {
|
|
22
|
+
bridge = arg.bridge;
|
|
23
|
+
} else {
|
|
24
|
+
bridge = arg;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (bridge instanceof IpcClientBridge) {
|
|
28
|
+
return bridge.ipcClient;
|
|
29
|
+
}
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 跨进程唤醒服务端应用的抽象,与 Flutter PlatformAppLauncher 行为对齐(US4)。
|
|
3
|
+
*
|
|
4
|
+
* 宿主(如 WPS 加载项)可通过 IpcClientSettings.appLauncher 注入真实实现;
|
|
5
|
+
* 例如在 wps-addin 中封装 wakeNpc 等能力后传入。未注入时 ConnectionManager 使用 StubAppLauncher。
|
|
6
|
+
*
|
|
7
|
+
* 019:launchApp 返回 AppLaunchResult,含 success 与 error,便于业务层识别失败原因。
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { AppLaunchResult } from './model/app_launch_models.js';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* 应用启动器接口:用于在服务端未运行时尝试唤醒目标应用。
|
|
14
|
+
* 真实实现可由宿主(如 WPS 加载项 / wps-addin wakeNpc)提供并注入。
|
|
15
|
+
*/
|
|
16
|
+
export interface AppLauncher {
|
|
17
|
+
/** 尝试启动/唤醒目标应用;返回结果对象,含 success 与可选 error */
|
|
18
|
+
launchApp(): Promise<AppLaunchResult>;
|
|
19
|
+
/** 可选:检查目标应用是否已在运行 */
|
|
20
|
+
isAppRunning?(): Promise<boolean>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 各平台启动器实现:Stub / Browser / Node。
|
|
3
|
+
* Stub 用于未支持环境;Browser/Node 由 US1/US2 扩展。
|
|
4
|
+
* __BROWSER_BUILD__ 由浏览器构建(如 wps-addin)通过 define 注入,用于切换 node_launcher 与 node_launcher.browser。
|
|
5
|
+
*/
|
|
6
|
+
declare const __BROWSER_BUILD__: string | undefined;
|
|
7
|
+
|
|
8
|
+
import { AppInstallationPath, AppLaunchIdentifier } from '../model/app_info.js';
|
|
9
|
+
import { AppLaunchResult } from '../model/app_launch_models.js';
|
|
10
|
+
import { AppLaunchModelsExtension } from '../model/app_launch_models_extension.js';
|
|
11
|
+
import { LaunchAppOptions } from '../platform_app_launcher.js';
|
|
12
|
+
import { PlatformAppLauncher } from '../platform_app_launcher.js';
|
|
13
|
+
import { UrlSchemeLauncher } from '../launcher/url_scheme_launcher.js';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Stub 实现:当前环境未实现唤醒时使用;launchApp 返回失败,isAppRunning 返回 false。
|
|
17
|
+
*/
|
|
18
|
+
export class StubPlatformAppLauncher implements PlatformAppLauncher {
|
|
19
|
+
async launchApp(): Promise<AppLaunchResult> {
|
|
20
|
+
return new AppLaunchResult(false);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async isAppRunning(): Promise<boolean> {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const defaultStatusCheckInterval = 0.3;
|
|
29
|
+
const defaultOperationTimeout = 3.0;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 浏览器用启动器:通过 URL Scheme(从 AppLaunchIdentifier 取 iOSScheme)唤起;
|
|
33
|
+
* isAppRunning 在浏览器端不可知,返回 false。
|
|
34
|
+
*/
|
|
35
|
+
export class BrowserPlatformAppLauncher implements PlatformAppLauncher {
|
|
36
|
+
constructor(private readonly appIdentifier: AppLaunchIdentifier) { }
|
|
37
|
+
|
|
38
|
+
async launchApp(options?: LaunchAppOptions): Promise<AppLaunchResult> {
|
|
39
|
+
const scheme = this.appIdentifier.iOSScheme;
|
|
40
|
+
if (!scheme) {
|
|
41
|
+
return new AppLaunchResult(false, 'No URL scheme (iOSScheme) in identifier');
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const args = options?.argumentsForIdentifier;
|
|
45
|
+
const interval = options?.statusCheckInterval ?? defaultStatusCheckInterval;
|
|
46
|
+
const timeout = options?.operationTimeout ?? defaultOperationTimeout;
|
|
47
|
+
const platformArgs = args ? AppLaunchModelsExtension.getCurrentPlatformArguments(args) : [];
|
|
48
|
+
const query = platformArgs.length ? platformArgs.join('&') : '';
|
|
49
|
+
|
|
50
|
+
return UrlSchemeLauncher.launch({
|
|
51
|
+
scheme,
|
|
52
|
+
path: '',
|
|
53
|
+
query,
|
|
54
|
+
statusCheckInterval: interval,
|
|
55
|
+
operationTimeout: timeout,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
async isAppRunning(): Promise<boolean> {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Node 端启动器:按 AppInstallationPath 启动并轮询 isProcessRunning;
|
|
66
|
+
* 桌面优先路径,无路径时不适用(应由工厂返回 Stub)。
|
|
67
|
+
* 使用动态 import 加载 node_launcher,避免浏览器环境加载 child_process 等 Node 内置模块。
|
|
68
|
+
*/
|
|
69
|
+
export class NodePlatformAppLauncher implements PlatformAppLauncher {
|
|
70
|
+
constructor(private readonly appInstallationPath: AppInstallationPath) { }
|
|
71
|
+
|
|
72
|
+
async launchApp(options?: LaunchAppOptions): Promise<AppLaunchResult> {
|
|
73
|
+
const nodeLauncherPath =
|
|
74
|
+
typeof __BROWSER_BUILD__ !== 'undefined'
|
|
75
|
+
? '../launcher/node_launcher.browser.js'
|
|
76
|
+
: '../launcher/node_launcher.js';
|
|
77
|
+
const { NodeProcessLauncher } = await import(nodeLauncherPath);
|
|
78
|
+
const args = options?.argumentsForInstallationPath
|
|
79
|
+
? AppLaunchModelsExtension.getCurrentPlatformArguments(options.argumentsForInstallationPath)
|
|
80
|
+
: undefined;
|
|
81
|
+
|
|
82
|
+
return NodeProcessLauncher.launchByPath(this.appInstallationPath, {
|
|
83
|
+
args,
|
|
84
|
+
statusCheckInterval: options?.statusCheckInterval ?? defaultStatusCheckInterval,
|
|
85
|
+
operationTimeout: options?.operationTimeout ?? defaultOperationTimeout,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
async isAppRunning(): Promise<boolean> {
|
|
90
|
+
const nodeLauncherPath =
|
|
91
|
+
typeof __BROWSER_BUILD__ !== 'undefined'
|
|
92
|
+
? '../launcher/node_launcher.browser.js'
|
|
93
|
+
: '../launcher/node_launcher.js';
|
|
94
|
+
const { NodeProcessLauncher } = await import(nodeLauncherPath);
|
|
95
|
+
return NodeProcessLauncher.isProcessRunning(this.appInstallationPath);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* node_launcher 的浏览器 stub:避免在浏览器中加载 child_process 等 Node 内置模块。
|
|
3
|
+
* 当 __BROWSER_BUILD__ 被 define 时,real_platform_app_launcher 会导入此文件而非 node_launcher.ts。
|
|
4
|
+
*/
|
|
5
|
+
import type { AppInstallationPath } from '../model/app_info.js';
|
|
6
|
+
import { AppLaunchResult } from '../model/app_launch_models.js';
|
|
7
|
+
|
|
8
|
+
export class NodeProcessLauncher {
|
|
9
|
+
static isAppInstalled(_appInstallationPath: AppInstallationPath): boolean {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
static async launchByPath(
|
|
14
|
+
_appInstallationPath: AppInstallationPath,
|
|
15
|
+
_options?: { args?: string[]; statusCheckInterval?: number; operationTimeout?: number },
|
|
16
|
+
): Promise<AppLaunchResult> {
|
|
17
|
+
return new AppLaunchResult(false, 'NodeProcessLauncher is not available in browser');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static async isProcessRunning(_appInstallationPath: AppInstallationPath): Promise<boolean> {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node 端按安装路径启动与进程检测,与 research 第 3 节一致。
|
|
3
|
+
* 使用 child_process.spawn(detached)、tasklist/ps 等,无额外依赖。
|
|
4
|
+
* 019:启动前增加 isAppInstalled 检测,未安装时返回 APP_NOT_INSTALLED。
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { spawn } from 'child_process';
|
|
8
|
+
import { existsSync } from 'fs';
|
|
9
|
+
import { platform } from 'process';
|
|
10
|
+
import { AppInstallationPath } from '../model/app_info.js';
|
|
11
|
+
import { AppLaunchResult } from '../model/app_launch_models.js';
|
|
12
|
+
import { APP_NOT_INSTALLED } from '../model/app_launch_error_codes.js';
|
|
13
|
+
import { AppLaunchModelsExtension } from '../model/app_launch_models_extension.js';
|
|
14
|
+
|
|
15
|
+
const defaultStatusCheckInterval = 0.3;
|
|
16
|
+
const defaultOperationTimeout = 3.0;
|
|
17
|
+
|
|
18
|
+
export interface NodeLaunchOptions {
|
|
19
|
+
args?: string[];
|
|
20
|
+
statusCheckInterval?: number;
|
|
21
|
+
operationTimeout?: number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Node 端按路径启动与进程检测(013:一级函数收敛为类静态方法)。
|
|
26
|
+
*/
|
|
27
|
+
export class NodeProcessLauncher {
|
|
28
|
+
/**
|
|
29
|
+
* 检查目标应用是否已安装(路径对应的文件/目录是否存在)。
|
|
30
|
+
* macOS .app 为目录;Windows 为 exe 文件;Linux 为可执行文件。
|
|
31
|
+
*/
|
|
32
|
+
static isAppInstalled(appInstallationPath: AppInstallationPath): boolean {
|
|
33
|
+
const pathStr = AppLaunchModelsExtension.getCurrentPlatformPath(appInstallationPath);
|
|
34
|
+
if (!pathStr) return false;
|
|
35
|
+
try {
|
|
36
|
+
return existsSync(pathStr);
|
|
37
|
+
} catch {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 按当前平台路径启动进程;Windows 直接 spawn 路径,macOS 使用 open -a 或 spawn。
|
|
44
|
+
* 启动前检查 isAppInstalled,未安装时返回 APP_NOT_INSTALLED。
|
|
45
|
+
* 启动后按 statusCheckInterval 轮询 isProcessRunning,在 operationTimeout 内有一次为 true 即返回成功。
|
|
46
|
+
*/
|
|
47
|
+
static async launchByPath(
|
|
48
|
+
appInstallationPath: AppInstallationPath,
|
|
49
|
+
options: NodeLaunchOptions = {},
|
|
50
|
+
): Promise<AppLaunchResult> {
|
|
51
|
+
const pathStr = AppLaunchModelsExtension.getCurrentPlatformPath(appInstallationPath);
|
|
52
|
+
if (!pathStr) {
|
|
53
|
+
return new AppLaunchResult(false, 'No installation path for current platform');
|
|
54
|
+
}
|
|
55
|
+
if (!NodeProcessLauncher.isAppInstalled(appInstallationPath)) {
|
|
56
|
+
return new AppLaunchResult(false, APP_NOT_INSTALLED);
|
|
57
|
+
}
|
|
58
|
+
const interval = (options.statusCheckInterval ?? defaultStatusCheckInterval) * 1000;
|
|
59
|
+
const timeout = (options.operationTimeout ?? defaultOperationTimeout) * 1000;
|
|
60
|
+
const args = options.args ?? [];
|
|
61
|
+
|
|
62
|
+
try {
|
|
63
|
+
if (platform === 'win32') {
|
|
64
|
+
spawn(pathStr, args, {
|
|
65
|
+
detached: true,
|
|
66
|
+
stdio: 'ignore',
|
|
67
|
+
shell: false,
|
|
68
|
+
}).unref();
|
|
69
|
+
} else if (platform === 'darwin') {
|
|
70
|
+
if (pathStr.endsWith('.app')) {
|
|
71
|
+
spawn('open', ['-a', pathStr, ...args], {
|
|
72
|
+
detached: true,
|
|
73
|
+
stdio: 'ignore',
|
|
74
|
+
}).unref();
|
|
75
|
+
} else {
|
|
76
|
+
spawn(pathStr, args, {
|
|
77
|
+
detached: true,
|
|
78
|
+
stdio: 'ignore',
|
|
79
|
+
}).unref();
|
|
80
|
+
}
|
|
81
|
+
} else {
|
|
82
|
+
spawn(pathStr, args, {
|
|
83
|
+
detached: true,
|
|
84
|
+
stdio: 'ignore',
|
|
85
|
+
}).unref();
|
|
86
|
+
}
|
|
87
|
+
} catch (e) {
|
|
88
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
89
|
+
return new AppLaunchResult(false, message);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const deadline = Date.now() + timeout;
|
|
93
|
+
while (Date.now() < deadline) {
|
|
94
|
+
const running = await NodeProcessLauncher.isProcessRunning(appInstallationPath);
|
|
95
|
+
if (running) return new AppLaunchResult(true);
|
|
96
|
+
await new Promise((r) => setTimeout(r, interval));
|
|
97
|
+
}
|
|
98
|
+
return new AppLaunchResult(false, 'Process did not appear within timeout');
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* 当前平台下该安装路径对应进程是否在运行。
|
|
103
|
+
* Windows: tasklist 匹配 exe 名;macOS: ps 匹配路径;Linux: ps 匹配路径。
|
|
104
|
+
*/
|
|
105
|
+
static async isProcessRunning(
|
|
106
|
+
appInstallationPath: AppInstallationPath,
|
|
107
|
+
): Promise<boolean> {
|
|
108
|
+
const pathStr = AppLaunchModelsExtension.getCurrentPlatformPath(appInstallationPath);
|
|
109
|
+
if (!pathStr) return false;
|
|
110
|
+
|
|
111
|
+
if (platform === 'win32') {
|
|
112
|
+
const exeName = pathStr.split(/[/\\]/).pop() ?? '';
|
|
113
|
+
if (!exeName) return false;
|
|
114
|
+
try {
|
|
115
|
+
const { execSync } = await import('child_process');
|
|
116
|
+
const out = execSync('tasklist /FO CSV /NH', { encoding: 'utf-8', windowsHide: true });
|
|
117
|
+
return out.toLowerCase().includes(exeName.toLowerCase());
|
|
118
|
+
} catch {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (platform === 'darwin' || platform === 'linux') {
|
|
124
|
+
try {
|
|
125
|
+
const { execSync } = await import('child_process');
|
|
126
|
+
const out = execSync(`ps -eo args= 2>/dev/null || ps -e -o args= 2>/dev/null`, {
|
|
127
|
+
encoding: 'utf-8',
|
|
128
|
+
});
|
|
129
|
+
return out.includes(pathStr);
|
|
130
|
+
} catch {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 浏览器端通过隐藏 iframe 触发 URL Scheme 唤起,与 research 中「浏览器端唤起方式」一致。
|
|
3
|
+
* 无法检测目标进程,故超时后返回失败或依赖宿主回调。
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { AppLaunchResult } from '../model/app_launch_models.js';
|
|
7
|
+
|
|
8
|
+
export interface UrlSchemeLaunchOptions {
|
|
9
|
+
/** URL Scheme(如 'npc') */
|
|
10
|
+
scheme: string;
|
|
11
|
+
/** 可选 path(如 '/open') */
|
|
12
|
+
path?: string;
|
|
13
|
+
/** 可选 query 字符串(不含 ?) */
|
|
14
|
+
query?: string;
|
|
15
|
+
/** 状态检查间隔(秒),默认 0.3 */
|
|
16
|
+
statusCheckInterval?: number;
|
|
17
|
+
/** 操作超时(秒),超时后返回失败;默认 3.0 */
|
|
18
|
+
operationTimeout?: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const defaultTimeout = 3.0;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 浏览器端 URL Scheme 启动(013:一级函数收敛为类静态方法)。
|
|
25
|
+
* 使用隐藏 iframe 触发 scheme://[path][?query],避免整页跳转。
|
|
26
|
+
*/
|
|
27
|
+
export class UrlSchemeLauncher {
|
|
28
|
+
/**
|
|
29
|
+
* 使用隐藏 iframe 触发 scheme://[path][?query]。
|
|
30
|
+
* 浏览器无法检测目标应用是否真正启动,故在 operationTimeout 后统一返回失败。
|
|
31
|
+
*/
|
|
32
|
+
static launch(options: UrlSchemeLaunchOptions): Promise<AppLaunchResult> {
|
|
33
|
+
const {
|
|
34
|
+
scheme,
|
|
35
|
+
path = '',
|
|
36
|
+
query = '',
|
|
37
|
+
operationTimeout = defaultTimeout,
|
|
38
|
+
} = options;
|
|
39
|
+
|
|
40
|
+
const pathPart = path ? `/${path.replace(/^\//, '')}` : '';
|
|
41
|
+
const queryPart = query ? (query.startsWith('?') ? query : `?${query}`) : '';
|
|
42
|
+
const url = `${scheme}://${pathPart}${queryPart}`.replace(/\/\/$/, '://');
|
|
43
|
+
|
|
44
|
+
if (typeof document === 'undefined' || !document.createElement) {
|
|
45
|
+
return Promise.resolve(new AppLaunchResult(false, 'Not in browser environment'));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
try {
|
|
49
|
+
const iframe = document.createElement('iframe');
|
|
50
|
+
iframe.style.display = 'none';
|
|
51
|
+
iframe.style.position = 'absolute';
|
|
52
|
+
iframe.style.width = '0';
|
|
53
|
+
iframe.style.height = '0';
|
|
54
|
+
iframe.setAttribute('aria-hidden', 'true');
|
|
55
|
+
iframe.src = url;
|
|
56
|
+
document.body.appendChild(iframe);
|
|
57
|
+
const remove = () => {
|
|
58
|
+
try {
|
|
59
|
+
if (iframe.parentNode) iframe.parentNode.removeChild(iframe);
|
|
60
|
+
} catch {
|
|
61
|
+
// ignore
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
setTimeout(remove, 100);
|
|
65
|
+
|
|
66
|
+
return new Promise<AppLaunchResult>((resolve) => {
|
|
67
|
+
setTimeout(() => {
|
|
68
|
+
remove();
|
|
69
|
+
resolve(
|
|
70
|
+
new AppLaunchResult(
|
|
71
|
+
false,
|
|
72
|
+
'Browser cannot confirm app launch; timeout reached.',
|
|
73
|
+
),
|
|
74
|
+
);
|
|
75
|
+
}, operationTimeout * 1000);
|
|
76
|
+
});
|
|
77
|
+
} catch (e) {
|
|
78
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
79
|
+
return Promise.resolve(new AppLaunchResult(false, message));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 应用启动标识
|
|
3
|
+
*/
|
|
4
|
+
export class AppLaunchIdentifier {
|
|
5
|
+
readonly windowsExecutable?: string;
|
|
6
|
+
readonly macOSBundleId?: string;
|
|
7
|
+
readonly iOSScheme?: string;
|
|
8
|
+
readonly androidPackageName?: string;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 构造函数
|
|
12
|
+
* @param windowsExecutable Windows 可执行文件名
|
|
13
|
+
* @param macOSBundleId macOS Bundle ID
|
|
14
|
+
* @param iOSScheme iOS URL Scheme
|
|
15
|
+
* @param androidPackageName Android 包名
|
|
16
|
+
*/
|
|
17
|
+
constructor({
|
|
18
|
+
windowsExecutable,
|
|
19
|
+
macOSBundleId,
|
|
20
|
+
iOSScheme,
|
|
21
|
+
androidPackageName,
|
|
22
|
+
}: {
|
|
23
|
+
windowsExecutable?: string;
|
|
24
|
+
macOSBundleId?: string;
|
|
25
|
+
iOSScheme?: string;
|
|
26
|
+
androidPackageName?: string;
|
|
27
|
+
}) {
|
|
28
|
+
this.windowsExecutable = windowsExecutable;
|
|
29
|
+
this.macOSBundleId = macOSBundleId;
|
|
30
|
+
this.iOSScheme = iOSScheme;
|
|
31
|
+
this.androidPackageName = androidPackageName;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* 应用安装路径
|
|
37
|
+
*/
|
|
38
|
+
export class AppInstallationPath {
|
|
39
|
+
readonly macOS?: string;
|
|
40
|
+
readonly windows?: string;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 构造函数
|
|
44
|
+
* @param macOS macOS 应用路径
|
|
45
|
+
* @param windows Windows 可执行文件路径
|
|
46
|
+
*/
|
|
47
|
+
constructor({
|
|
48
|
+
macOS,
|
|
49
|
+
windows,
|
|
50
|
+
}: {
|
|
51
|
+
macOS?: string;
|
|
52
|
+
windows?: string;
|
|
53
|
+
}) {
|
|
54
|
+
this.macOS = macOS;
|
|
55
|
+
this.windows = windows;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 应用启动失败原因常量,供 AppLaunchResult.error 与业务层使用。
|
|
3
|
+
* 019-server-wake-fix: 便于业务层识别失败原因并展示对应提示。
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/** 应用未安装或路径无效 */
|
|
7
|
+
export const APP_NOT_INSTALLED = 'APP_NOT_INSTALLED';
|
|
8
|
+
|
|
9
|
+
/** 启动超时 */
|
|
10
|
+
export const LAUNCH_TIMEOUT = 'LAUNCH_TIMEOUT';
|
|
11
|
+
|
|
12
|
+
/** 权限拒绝 */
|
|
13
|
+
export const PERMISSION_DENIED = 'PERMISSION_DENIED';
|
|
14
|
+
|
|
15
|
+
/** 未知原因 */
|
|
16
|
+
export const UNKNOWN = 'UNKNOWN';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 应用启动结果与启动参数,与 Flutter wake_app model/app_launch_models.dart 对齐。
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 应用启动结果,对应 Flutter AppLaunchResult。
|
|
7
|
+
*/
|
|
8
|
+
export class AppLaunchResult {
|
|
9
|
+
constructor(
|
|
10
|
+
public readonly success: boolean,
|
|
11
|
+
public readonly error?: string,
|
|
12
|
+
) {}
|
|
13
|
+
|
|
14
|
+
get isSuccess(): boolean {
|
|
15
|
+
return this.success;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 各平台启动参数,对应 Flutter AppLaunchArguments。
|
|
21
|
+
* macOS/Windows 为命令行参数列表;iOS/Android 为键值对形式(如 name=value)。
|
|
22
|
+
*/
|
|
23
|
+
export class AppLaunchArguments {
|
|
24
|
+
constructor(
|
|
25
|
+
public readonly macOS: string[] = [],
|
|
26
|
+
public readonly windows: string[] = [],
|
|
27
|
+
public readonly iOS: string[] = [],
|
|
28
|
+
public readonly android: string[] = [],
|
|
29
|
+
) {}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** 空启动参数,与 Flutter emptyAppLaunchArguments 等价 */
|
|
33
|
+
export const emptyAppLaunchArguments: AppLaunchArguments = Object.freeze(
|
|
34
|
+
new AppLaunchArguments([], [], [], []),
|
|
35
|
+
);
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 基于当前运行环境(typeof window / process.platform)从 AppLaunchIdentifier、AppInstallationPath、AppLaunchArguments 取当前平台对应值。
|
|
3
|
+
* 与 Flutter 平台扩展语义一致。
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { AppLaunchArguments } from './app_launch_models.js';
|
|
7
|
+
import { AppInstallationPath, AppLaunchIdentifier } from './app_info.js';
|
|
8
|
+
|
|
9
|
+
const isBrowser =
|
|
10
|
+
typeof window !== 'undefined' && typeof window.document !== 'undefined';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* 基于当前运行环境的模型扩展(013:一级函数收敛为类静态方法)。
|
|
14
|
+
*/
|
|
15
|
+
export class AppLaunchModelsExtension {
|
|
16
|
+
/**
|
|
17
|
+
* 当前平台下应用标识(可执行名/Bundle ID/Scheme/包名)。
|
|
18
|
+
* 浏览器视为 Web,返回 iOSScheme;Node 按 process.platform 返回对应字段。
|
|
19
|
+
*/
|
|
20
|
+
static getCurrentPlatformIdentifier(
|
|
21
|
+
id: AppLaunchIdentifier,
|
|
22
|
+
): string | undefined {
|
|
23
|
+
if (isBrowser) return id.iOSScheme;
|
|
24
|
+
if (typeof process !== 'undefined' && process.platform === 'win32') {
|
|
25
|
+
return id.windowsExecutable;
|
|
26
|
+
}
|
|
27
|
+
if (typeof process !== 'undefined' && process.platform === 'darwin') {
|
|
28
|
+
return id.macOSBundleId;
|
|
29
|
+
}
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* 当前平台下安装路径。仅 Node 桌面端有效;浏览器返回 undefined。
|
|
35
|
+
*/
|
|
36
|
+
static getCurrentPlatformPath(
|
|
37
|
+
path: AppInstallationPath,
|
|
38
|
+
): string | undefined {
|
|
39
|
+
if (isBrowser) return undefined;
|
|
40
|
+
if (typeof process !== 'undefined' && process.platform === 'win32') {
|
|
41
|
+
return path.windows;
|
|
42
|
+
}
|
|
43
|
+
if (typeof process !== 'undefined' && process.platform === 'darwin') {
|
|
44
|
+
return path.macOS;
|
|
45
|
+
}
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* 当前平台下启动参数数组。浏览器返回 iOS;Node 返回 windows/macOS 命令行参数。
|
|
51
|
+
*/
|
|
52
|
+
static getCurrentPlatformArguments(
|
|
53
|
+
args: AppLaunchArguments,
|
|
54
|
+
): string[] {
|
|
55
|
+
if (isBrowser) return args.iOS;
|
|
56
|
+
if (typeof process !== 'undefined' && process.platform === 'win32') {
|
|
57
|
+
return args.windows;
|
|
58
|
+
}
|
|
59
|
+
if (typeof process !== 'undefined' && process.platform === 'darwin') {
|
|
60
|
+
return args.macOS;
|
|
61
|
+
}
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|