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.
Files changed (655) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.cjs +27 -0
  3. package/.prettierignore +5 -0
  4. package/.prettierrc +7 -0
  5. package/DEPENDENCIES.md +8 -0
  6. package/README.md +303 -0
  7. package/dist/bridge_module-2N398tJq.d.ts +126 -0
  8. package/dist/bridge_module-Dd27cxv9.d.mts +126 -0
  9. package/dist/index.d.mts +30 -0
  10. package/dist/index.d.ts +4 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +28 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/index.mjs +5 -0
  15. package/dist/index.mjs.map +1 -0
  16. package/dist/ipc_client_component_provider-CayqZGuB.d.ts +205 -0
  17. package/dist/ipc_client_component_provider-kXpa5anm.d.mts +205 -0
  18. package/dist/moonbridge/annotation/decorators.d.mts +48 -0
  19. package/dist/moonbridge/annotation/decorators.d.ts +43 -0
  20. package/dist/moonbridge/annotation/decorators.d.ts.map +1 -0
  21. package/dist/moonbridge/annotation/decorators.js +55 -0
  22. package/dist/moonbridge/annotation/decorators.js.map +1 -0
  23. package/dist/moonbridge/annotation/decorators.mjs +52 -0
  24. package/dist/moonbridge/annotation/decorators.mjs.map +1 -0
  25. package/dist/moonbridge/annotation/registry.d.mts +77 -0
  26. package/dist/moonbridge/annotation/registry.d.ts +72 -0
  27. package/dist/moonbridge/annotation/registry.d.ts.map +1 -0
  28. package/dist/moonbridge/annotation/registry.js +79 -0
  29. package/dist/moonbridge/annotation/registry.js.map +1 -0
  30. package/dist/moonbridge/annotation/registry.mjs +77 -0
  31. package/dist/moonbridge/annotation/registry.mjs.map +1 -0
  32. package/dist/moonbridge/index.d.mts +7 -0
  33. package/dist/moonbridge/index.d.ts +6 -0
  34. package/dist/moonbridge/index.d.ts.map +1 -0
  35. package/dist/moonbridge/index.js +42 -0
  36. package/dist/moonbridge/index.js.map +1 -0
  37. package/dist/moonbridge/index.mjs +7 -0
  38. package/dist/moonbridge/index.mjs.map +1 -0
  39. package/dist/moonbridge/kernel/bridge.d.mts +4 -0
  40. package/dist/moonbridge/kernel/bridge.d.ts +22 -0
  41. package/dist/moonbridge/kernel/bridge.d.ts.map +1 -0
  42. package/dist/moonbridge/kernel/bridge.js +4 -0
  43. package/dist/moonbridge/kernel/bridge.js.map +1 -0
  44. package/dist/moonbridge/kernel/bridge.mjs +3 -0
  45. package/dist/moonbridge/kernel/bridge.mjs.map +1 -0
  46. package/dist/moonbridge/kernel/bridge_module.d.mts +4 -0
  47. package/dist/moonbridge/kernel/bridge_module.d.ts +53 -0
  48. package/dist/moonbridge/kernel/bridge_module.d.ts.map +1 -0
  49. package/dist/moonbridge/kernel/bridge_module.js +22 -0
  50. package/dist/moonbridge/kernel/bridge_module.js.map +1 -0
  51. package/dist/moonbridge/kernel/bridge_module.mjs +20 -0
  52. package/dist/moonbridge/kernel/bridge_module.mjs.map +1 -0
  53. package/dist/moonbridge/kernel/executor.d.mts +4 -0
  54. package/dist/moonbridge/kernel/executor.d.ts +24 -0
  55. package/dist/moonbridge/kernel/executor.d.ts.map +1 -0
  56. package/dist/moonbridge/kernel/executor.js +22 -0
  57. package/dist/moonbridge/kernel/executor.js.map +1 -0
  58. package/dist/moonbridge/kernel/executor.mjs +20 -0
  59. package/dist/moonbridge/kernel/executor.mjs.map +1 -0
  60. package/dist/moonbridge/kernel/result_callback.d.mts +19 -0
  61. package/dist/moonbridge/kernel/result_callback.d.ts +18 -0
  62. package/dist/moonbridge/kernel/result_callback.d.ts.map +1 -0
  63. package/dist/moonbridge/kernel/result_callback.js +4 -0
  64. package/dist/moonbridge/kernel/result_callback.js.map +1 -0
  65. package/dist/moonbridge/kernel/result_callback.mjs +3 -0
  66. package/dist/moonbridge/kernel/result_callback.mjs.map +1 -0
  67. package/dist/moonbridge/logger/logger.d.mts +55 -0
  68. package/dist/moonbridge/logger/logger.d.ts +54 -0
  69. package/dist/moonbridge/logger/logger.d.ts.map +1 -0
  70. package/dist/moonbridge/logger/logger.js +67 -0
  71. package/dist/moonbridge/logger/logger.js.map +1 -0
  72. package/dist/moonbridge/logger/logger.mjs +65 -0
  73. package/dist/moonbridge/logger/logger.mjs.map +1 -0
  74. package/dist/moonbridge/message/internal/generic_message_parser.internal.d.mts +18 -0
  75. package/dist/moonbridge/message/internal/generic_message_parser.internal.d.ts +16 -0
  76. package/dist/moonbridge/message/internal/generic_message_parser.internal.d.ts.map +1 -0
  77. package/dist/moonbridge/message/internal/generic_message_parser.internal.js +29 -0
  78. package/dist/moonbridge/message/internal/generic_message_parser.internal.js.map +1 -0
  79. package/dist/moonbridge/message/internal/generic_message_parser.internal.mjs +27 -0
  80. package/dist/moonbridge/message/internal/generic_message_parser.internal.mjs.map +1 -0
  81. package/dist/moonbridge/message/message.d.mts +13 -0
  82. package/dist/moonbridge/message/message.d.ts +12 -0
  83. package/dist/moonbridge/message/message.d.ts.map +1 -0
  84. package/dist/moonbridge/message/message.js +4 -0
  85. package/dist/moonbridge/message/message.js.map +1 -0
  86. package/dist/moonbridge/message/message.mjs +3 -0
  87. package/dist/moonbridge/message/message.mjs.map +1 -0
  88. package/dist/moonbridge/message/message_parser.d.mts +28 -0
  89. package/dist/moonbridge/message/message_parser.d.ts +26 -0
  90. package/dist/moonbridge/message/message_parser.d.ts.map +1 -0
  91. package/dist/moonbridge/message/message_parser.js +11 -0
  92. package/dist/moonbridge/message/message_parser.js.map +1 -0
  93. package/dist/moonbridge/message/message_parser.mjs +8 -0
  94. package/dist/moonbridge/message/message_parser.mjs.map +1 -0
  95. package/dist/moonbridge/message/message_parser_manager.d.mts +21 -0
  96. package/dist/moonbridge/message/message_parser_manager.d.ts +19 -0
  97. package/dist/moonbridge/message/message_parser_manager.d.ts.map +1 -0
  98. package/dist/moonbridge/message/message_parser_manager.js +60 -0
  99. package/dist/moonbridge/message/message_parser_manager.js.map +1 -0
  100. package/dist/moonbridge/message/message_parser_manager.mjs +58 -0
  101. package/dist/moonbridge/message/message_parser_manager.mjs.map +1 -0
  102. package/dist/moonbridge/module/method_invoker.d.mts +43 -0
  103. package/dist/moonbridge/module/method_invoker.d.ts +38 -0
  104. package/dist/moonbridge/module/method_invoker.d.ts.map +1 -0
  105. package/dist/moonbridge/module/method_invoker.js +68 -0
  106. package/dist/moonbridge/module/method_invoker.js.map +1 -0
  107. package/dist/moonbridge/module/method_invoker.mjs +65 -0
  108. package/dist/moonbridge/module/method_invoker.mjs.map +1 -0
  109. package/dist/moonbridge/module/module_creator.d.mts +4 -0
  110. package/dist/moonbridge/module/module_creator.d.ts +28 -0
  111. package/dist/moonbridge/module/module_creator.d.ts.map +1 -0
  112. package/dist/moonbridge/module/module_creator.js +45 -0
  113. package/dist/moonbridge/module/module_creator.js.map +1 -0
  114. package/dist/moonbridge/module/module_creator.mjs +43 -0
  115. package/dist/moonbridge/module/module_creator.mjs.map +1 -0
  116. package/dist/moonbridge/utils/logger.d.mts +9 -0
  117. package/dist/moonbridge/utils/logger.d.ts +6 -0
  118. package/dist/moonbridge/utils/logger.d.ts.map +1 -0
  119. package/dist/moonbridge/utils/logger.js +9 -0
  120. package/dist/moonbridge/utils/logger.js.map +1 -0
  121. package/dist/moonbridge/utils/logger.mjs +7 -0
  122. package/dist/moonbridge/utils/logger.mjs.map +1 -0
  123. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.d.mts +23 -0
  124. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.d.ts +41 -0
  125. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.d.ts.map +1 -0
  126. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.js +45 -0
  127. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.js.map +1 -0
  128. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.mjs +43 -0
  129. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.mjs.map +1 -0
  130. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.d.mts +68 -0
  131. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.d.ts +47 -0
  132. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.d.ts.map +1 -0
  133. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.js +163 -0
  134. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.js.map +1 -0
  135. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.mjs +161 -0
  136. package/dist/moonbridge-ipc/client/internal/bridge/ipc_client_executor.mjs.map +1 -0
  137. package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.d.mts +23 -0
  138. package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.d.ts +37 -0
  139. package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.d.ts.map +1 -0
  140. package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.js +161 -0
  141. package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.js.map +1 -0
  142. package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.mjs +159 -0
  143. package/dist/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.mjs.map +1 -0
  144. package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.d.mts +23 -0
  145. package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.d.ts +59 -0
  146. package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.d.ts.map +1 -0
  147. package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.js +364 -0
  148. package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.js.map +1 -0
  149. package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.mjs +362 -0
  150. package/dist/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.mjs.map +1 -0
  151. package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.d.mts +23 -0
  152. package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.d.ts +28 -0
  153. package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.d.ts.map +1 -0
  154. package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.js +102 -0
  155. package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.js.map +1 -0
  156. package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.mjs +100 -0
  157. package/dist/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.mjs.map +1 -0
  158. package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.d.mts +23 -0
  159. package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.d.ts +16 -0
  160. package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.d.ts.map +1 -0
  161. package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.js +62 -0
  162. package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.js.map +1 -0
  163. package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.mjs +60 -0
  164. package/dist/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.mjs.map +1 -0
  165. package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.d.mts +23 -0
  166. package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.d.ts +27 -0
  167. package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.d.ts.map +1 -0
  168. package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.js +4 -0
  169. package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.js.map +1 -0
  170. package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.mjs +3 -0
  171. package/dist/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.mjs.map +1 -0
  172. package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.d.mts +23 -0
  173. package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.d.ts +15 -0
  174. package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.d.ts.map +1 -0
  175. package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.js +56 -0
  176. package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.js.map +1 -0
  177. package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.mjs +54 -0
  178. package/dist/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.mjs.map +1 -0
  179. package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.d.mts +54 -0
  180. package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.d.ts +40 -0
  181. package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.d.ts.map +1 -0
  182. package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.js +102 -0
  183. package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.js.map +1 -0
  184. package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.mjs +100 -0
  185. package/dist/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.mjs.map +1 -0
  186. package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.d.mts +90 -0
  187. package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.d.ts +82 -0
  188. package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.d.ts.map +1 -0
  189. package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.js +55 -0
  190. package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.js.map +1 -0
  191. package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.mjs +53 -0
  192. package/dist/moonbridge-ipc/client/internal/settings/ipc_client_settings.mjs.map +1 -0
  193. package/dist/moonbridge-ipc/client/moonbridge_ipc_client.d.mts +134 -0
  194. package/dist/moonbridge-ipc/client/moonbridge_ipc_client.d.ts +124 -0
  195. package/dist/moonbridge-ipc/client/moonbridge_ipc_client.d.ts.map +1 -0
  196. package/dist/moonbridge-ipc/client/moonbridge_ipc_client.js +156 -0
  197. package/dist/moonbridge-ipc/client/moonbridge_ipc_client.js.map +1 -0
  198. package/dist/moonbridge-ipc/client/moonbridge_ipc_client.mjs +153 -0
  199. package/dist/moonbridge-ipc/client/moonbridge_ipc_client.mjs.map +1 -0
  200. package/dist/moonbridge-ipc/client/types/ipc_event_bus.d.mts +29 -0
  201. package/dist/moonbridge-ipc/client/types/ipc_event_bus.d.ts +26 -0
  202. package/dist/moonbridge-ipc/client/types/ipc_event_bus.d.ts.map +1 -0
  203. package/dist/moonbridge-ipc/client/types/ipc_event_bus.js +12 -0
  204. package/dist/moonbridge-ipc/client/types/ipc_event_bus.js.map +1 -0
  205. package/dist/moonbridge-ipc/client/types/ipc_event_bus.mjs +10 -0
  206. package/dist/moonbridge-ipc/client/types/ipc_event_bus.mjs.map +1 -0
  207. package/dist/moonbridge-ipc/client/types/ipc_message_strategy.d.mts +17 -0
  208. package/dist/moonbridge-ipc/client/types/ipc_message_strategy.d.ts +16 -0
  209. package/dist/moonbridge-ipc/client/types/ipc_message_strategy.d.ts.map +1 -0
  210. package/dist/moonbridge-ipc/client/types/ipc_message_strategy.js +18 -0
  211. package/dist/moonbridge-ipc/client/types/ipc_message_strategy.js.map +1 -0
  212. package/dist/moonbridge-ipc/client/types/ipc_message_strategy.mjs +16 -0
  213. package/dist/moonbridge-ipc/client/types/ipc_message_strategy.mjs.map +1 -0
  214. package/dist/moonbridge-ipc/client/types/ipc_messenger.d.mts +45 -0
  215. package/dist/moonbridge-ipc/client/types/ipc_messenger.d.ts +38 -0
  216. package/dist/moonbridge-ipc/client/types/ipc_messenger.d.ts.map +1 -0
  217. package/dist/moonbridge-ipc/client/types/ipc_messenger.js +4 -0
  218. package/dist/moonbridge-ipc/client/types/ipc_messenger.js.map +1 -0
  219. package/dist/moonbridge-ipc/client/types/ipc_messenger.mjs +3 -0
  220. package/dist/moonbridge-ipc/client/types/ipc_messenger.mjs.map +1 -0
  221. package/dist/moonbridge-ipc/client/types/ipc_types.d.mts +52 -0
  222. package/dist/moonbridge-ipc/client/types/ipc_types.d.ts +49 -0
  223. package/dist/moonbridge-ipc/client/types/ipc_types.d.ts.map +1 -0
  224. package/dist/moonbridge-ipc/client/types/ipc_types.js +20 -0
  225. package/dist/moonbridge-ipc/client/types/ipc_types.js.map +1 -0
  226. package/dist/moonbridge-ipc/client/types/ipc_types.mjs +17 -0
  227. package/dist/moonbridge-ipc/client/types/ipc_types.mjs.map +1 -0
  228. package/dist/moonbridge-ipc/extension/bridge_extension.d.mts +33 -0
  229. package/dist/moonbridge-ipc/extension/bridge_extension.d.ts +15 -0
  230. package/dist/moonbridge-ipc/extension/bridge_extension.d.ts.map +1 -0
  231. package/dist/moonbridge-ipc/extension/bridge_extension.js +31 -0
  232. package/dist/moonbridge-ipc/extension/bridge_extension.js.map +1 -0
  233. package/dist/moonbridge-ipc/extension/bridge_extension.mjs +29 -0
  234. package/dist/moonbridge-ipc/extension/bridge_extension.mjs.map +1 -0
  235. package/dist/moonbridge-ipc/general/app_launch/app_launcher.d.mts +23 -0
  236. package/dist/moonbridge-ipc/general/app_launch/app_launcher.d.ts +20 -0
  237. package/dist/moonbridge-ipc/general/app_launch/app_launcher.d.ts.map +1 -0
  238. package/dist/moonbridge-ipc/general/app_launch/app_launcher.js +4 -0
  239. package/dist/moonbridge-ipc/general/app_launch/app_launcher.js.map +1 -0
  240. package/dist/moonbridge-ipc/general/app_launch/app_launcher.mjs +3 -0
  241. package/dist/moonbridge-ipc/general/app_launch/app_launcher.mjs.map +1 -0
  242. package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.d.mts +34 -0
  243. package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.d.ts +33 -0
  244. package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.d.ts.map +1 -0
  245. package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.js +70 -0
  246. package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.js.map +1 -0
  247. package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.mjs +66 -0
  248. package/dist/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.mjs.map +1 -0
  249. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.d.mts +19 -0
  250. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.d.ts +16 -0
  251. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.d.ts.map +1 -0
  252. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.js +19 -0
  253. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.js.map +1 -0
  254. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.mjs +17 -0
  255. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.mjs.map +1 -0
  256. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.d.mts +37 -0
  257. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.d.ts +34 -0
  258. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.d.ts.map +1 -0
  259. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.js +116 -0
  260. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.js.map +1 -0
  261. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.mjs +114 -0
  262. package/dist/moonbridge-ipc/general/app_launch/launcher/node_launcher.mjs.map +1 -0
  263. package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.d.mts +32 -0
  264. package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.d.ts +29 -0
  265. package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.d.ts.map +1 -0
  266. package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.js +60 -0
  267. package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.js.map +1 -0
  268. package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.mjs +58 -0
  269. package/dist/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.mjs.map +1 -0
  270. package/dist/moonbridge-ipc/general/app_launch/model/app_info.d.mts +40 -0
  271. package/dist/moonbridge-ipc/general/app_launch/model/app_info.d.ts +39 -0
  272. package/dist/moonbridge-ipc/general/app_launch/model/app_info.d.ts.map +1 -0
  273. package/dist/moonbridge-ipc/general/app_launch/model/app_info.js +41 -0
  274. package/dist/moonbridge-ipc/general/app_launch/model/app_info.js.map +1 -0
  275. package/dist/moonbridge-ipc/general/app_launch/model/app_info.mjs +38 -0
  276. package/dist/moonbridge-ipc/general/app_launch/model/app_info.mjs.map +1 -0
  277. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.d.mts +14 -0
  278. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.d.ts +13 -0
  279. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.d.ts.map +1 -0
  280. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.js +13 -0
  281. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.js.map +1 -0
  282. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.mjs +8 -0
  283. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.mjs.map +1 -0
  284. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.d.mts +27 -0
  285. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.d.ts +26 -0
  286. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.d.ts.map +1 -0
  287. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.js +28 -0
  288. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.js.map +1 -0
  289. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.mjs +24 -0
  290. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models.mjs.map +1 -0
  291. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.d.mts +28 -0
  292. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.d.ts +25 -0
  293. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.d.ts.map +1 -0
  294. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.js +49 -0
  295. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.js.map +1 -0
  296. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.mjs +47 -0
  297. package/dist/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.mjs.map +1 -0
  298. package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.d.mts +46 -0
  299. package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.d.ts +44 -0
  300. package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.d.ts.map +1 -0
  301. package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.js +47 -0
  302. package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.js.map +1 -0
  303. package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.mjs +45 -0
  304. package/dist/moonbridge-ipc/general/app_launch/platform_app_launcher.mjs.map +1 -0
  305. package/dist/moonbridge-ipc/general/config/port_candidate_rule.d.mts +41 -0
  306. package/dist/moonbridge-ipc/general/config/port_candidate_rule.d.ts +40 -0
  307. package/dist/moonbridge-ipc/general/config/port_candidate_rule.d.ts.map +1 -0
  308. package/dist/moonbridge-ipc/general/config/port_candidate_rule.js +65 -0
  309. package/dist/moonbridge-ipc/general/config/port_candidate_rule.js.map +1 -0
  310. package/dist/moonbridge-ipc/general/config/port_candidate_rule.mjs +62 -0
  311. package/dist/moonbridge-ipc/general/config/port_candidate_rule.mjs.map +1 -0
  312. package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.d.mts +33 -0
  313. package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.d.ts +30 -0
  314. package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.d.ts.map +1 -0
  315. package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.js +32 -0
  316. package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.js.map +1 -0
  317. package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.mjs +30 -0
  318. package/dist/moonbridge-ipc/general/config/websocket_server_endpoint.mjs.map +1 -0
  319. package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.d.mts +29 -0
  320. package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.d.ts +26 -0
  321. package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.d.ts.map +1 -0
  322. package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.js +118 -0
  323. package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.js.map +1 -0
  324. package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.mjs +116 -0
  325. package/dist/moonbridge-ipc/general/encode/ipc_message_decoder.mjs.map +1 -0
  326. package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.d.mts +29 -0
  327. package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.d.ts +26 -0
  328. package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.d.ts.map +1 -0
  329. package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.js +93 -0
  330. package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.js.map +1 -0
  331. package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.mjs +91 -0
  332. package/dist/moonbridge-ipc/general/encode/ipc_message_encoder.mjs.map +1 -0
  333. package/dist/moonbridge-ipc/general/error/ipc_error.d.mts +28 -0
  334. package/dist/moonbridge-ipc/general/error/ipc_error.d.ts +27 -0
  335. package/dist/moonbridge-ipc/general/error/ipc_error.d.ts.map +1 -0
  336. package/dist/moonbridge-ipc/general/error/ipc_error.js +30 -0
  337. package/dist/moonbridge-ipc/general/error/ipc_error.js.map +1 -0
  338. package/dist/moonbridge-ipc/general/error/ipc_error.mjs +28 -0
  339. package/dist/moonbridge-ipc/general/error/ipc_error.mjs.map +1 -0
  340. package/dist/moonbridge-ipc/general/index.d.mts +10 -0
  341. package/dist/moonbridge-ipc/general/index.d.ts +10 -0
  342. package/dist/moonbridge-ipc/general/index.d.ts.map +1 -0
  343. package/dist/moonbridge-ipc/general/index.js +70 -0
  344. package/dist/moonbridge-ipc/general/index.js.map +1 -0
  345. package/dist/moonbridge-ipc/general/index.mjs +11 -0
  346. package/dist/moonbridge-ipc/general/index.mjs.map +1 -0
  347. package/dist/moonbridge-ipc/general/lock/async_lock.d.mts +26 -0
  348. package/dist/moonbridge-ipc/general/lock/async_lock.d.ts +23 -0
  349. package/dist/moonbridge-ipc/general/lock/async_lock.d.ts.map +1 -0
  350. package/dist/moonbridge-ipc/general/lock/async_lock.js +48 -0
  351. package/dist/moonbridge-ipc/general/lock/async_lock.js.map +1 -0
  352. package/dist/moonbridge-ipc/general/lock/async_lock.mjs +46 -0
  353. package/dist/moonbridge-ipc/general/lock/async_lock.mjs.map +1 -0
  354. package/dist/moonbridge-ipc/general/lock/lock.d.mts +10 -0
  355. package/dist/moonbridge-ipc/general/lock/lock.d.ts +9 -0
  356. package/dist/moonbridge-ipc/general/lock/lock.d.ts.map +1 -0
  357. package/dist/moonbridge-ipc/general/lock/lock.js +4 -0
  358. package/dist/moonbridge-ipc/general/lock/lock.js.map +1 -0
  359. package/dist/moonbridge-ipc/general/lock/lock.mjs +3 -0
  360. package/dist/moonbridge-ipc/general/lock/lock.mjs.map +1 -0
  361. package/dist/moonbridge-ipc/general/message/constants/message_types.d.mts +19 -0
  362. package/dist/moonbridge-ipc/general/message/constants/message_types.d.ts +18 -0
  363. package/dist/moonbridge-ipc/general/message/constants/message_types.d.ts.map +1 -0
  364. package/dist/moonbridge-ipc/general/message/constants/message_types.js +19 -0
  365. package/dist/moonbridge-ipc/general/message/constants/message_types.js.map +1 -0
  366. package/dist/moonbridge-ipc/general/message/constants/message_types.mjs +17 -0
  367. package/dist/moonbridge-ipc/general/message/constants/message_types.mjs.map +1 -0
  368. package/dist/moonbridge-ipc/general/message/error.d.mts +14 -0
  369. package/dist/moonbridge-ipc/general/message/error.d.ts +13 -0
  370. package/dist/moonbridge-ipc/general/message/error.d.ts.map +1 -0
  371. package/dist/moonbridge-ipc/general/message/error.js +16 -0
  372. package/dist/moonbridge-ipc/general/message/error.js.map +1 -0
  373. package/dist/moonbridge-ipc/general/message/error.mjs +14 -0
  374. package/dist/moonbridge-ipc/general/message/error.mjs.map +1 -0
  375. package/dist/moonbridge-ipc/general/message/event.d.mts +11 -0
  376. package/dist/moonbridge-ipc/general/message/event.d.ts +10 -0
  377. package/dist/moonbridge-ipc/general/message/event.d.ts.map +1 -0
  378. package/dist/moonbridge-ipc/general/message/event.js +13 -0
  379. package/dist/moonbridge-ipc/general/message/event.js.map +1 -0
  380. package/dist/moonbridge-ipc/general/message/event.mjs +11 -0
  381. package/dist/moonbridge-ipc/general/message/event.mjs.map +1 -0
  382. package/dist/moonbridge-ipc/general/message/handshake.d.mts +16 -0
  383. package/dist/moonbridge-ipc/general/message/handshake.d.ts +15 -0
  384. package/dist/moonbridge-ipc/general/message/handshake.d.ts.map +1 -0
  385. package/dist/moonbridge-ipc/general/message/handshake.js +18 -0
  386. package/dist/moonbridge-ipc/general/message/handshake.js.map +1 -0
  387. package/dist/moonbridge-ipc/general/message/handshake.mjs +16 -0
  388. package/dist/moonbridge-ipc/general/message/handshake.mjs.map +1 -0
  389. package/dist/moonbridge-ipc/general/message/ping.d.mts +9 -0
  390. package/dist/moonbridge-ipc/general/message/ping.d.ts +8 -0
  391. package/dist/moonbridge-ipc/general/message/ping.d.ts.map +1 -0
  392. package/dist/moonbridge-ipc/general/message/ping.js +11 -0
  393. package/dist/moonbridge-ipc/general/message/ping.js.map +1 -0
  394. package/dist/moonbridge-ipc/general/message/ping.mjs +9 -0
  395. package/dist/moonbridge-ipc/general/message/ping.mjs.map +1 -0
  396. package/dist/moonbridge-ipc/general/message/registration.d.mts +9 -0
  397. package/dist/moonbridge-ipc/general/message/registration.d.ts +8 -0
  398. package/dist/moonbridge-ipc/general/message/registration.d.ts.map +1 -0
  399. package/dist/moonbridge-ipc/general/message/registration.js +11 -0
  400. package/dist/moonbridge-ipc/general/message/registration.js.map +1 -0
  401. package/dist/moonbridge-ipc/general/message/registration.mjs +9 -0
  402. package/dist/moonbridge-ipc/general/message/registration.mjs.map +1 -0
  403. package/dist/moonbridge-ipc/general/message/request.d.mts +15 -0
  404. package/dist/moonbridge-ipc/general/message/request.d.ts +14 -0
  405. package/dist/moonbridge-ipc/general/message/request.d.ts.map +1 -0
  406. package/dist/moonbridge-ipc/general/message/request.js +16 -0
  407. package/dist/moonbridge-ipc/general/message/request.js.map +1 -0
  408. package/dist/moonbridge-ipc/general/message/request.mjs +14 -0
  409. package/dist/moonbridge-ipc/general/message/request.mjs.map +1 -0
  410. package/dist/moonbridge-ipc/general/message/response.d.mts +14 -0
  411. package/dist/moonbridge-ipc/general/message/response.d.ts +13 -0
  412. package/dist/moonbridge-ipc/general/message/response.d.ts.map +1 -0
  413. package/dist/moonbridge-ipc/general/message/response.js +16 -0
  414. package/dist/moonbridge-ipc/general/message/response.js.map +1 -0
  415. package/dist/moonbridge-ipc/general/message/response.mjs +14 -0
  416. package/dist/moonbridge-ipc/general/message/response.mjs.map +1 -0
  417. package/dist/moonbridge-ipc/general/message/session_setup.d.mts +23 -0
  418. package/dist/moonbridge-ipc/general/message/session_setup.d.ts +22 -0
  419. package/dist/moonbridge-ipc/general/message/session_setup.d.ts.map +1 -0
  420. package/dist/moonbridge-ipc/general/message/session_setup.js +27 -0
  421. package/dist/moonbridge-ipc/general/message/session_setup.js.map +1 -0
  422. package/dist/moonbridge-ipc/general/message/session_setup.mjs +24 -0
  423. package/dist/moonbridge-ipc/general/message/session_setup.mjs.map +1 -0
  424. package/dist/moonbridge-ipc/general/message/unregistration.d.mts +9 -0
  425. package/dist/moonbridge-ipc/general/message/unregistration.d.ts +8 -0
  426. package/dist/moonbridge-ipc/general/message/unregistration.d.ts.map +1 -0
  427. package/dist/moonbridge-ipc/general/message/unregistration.js +11 -0
  428. package/dist/moonbridge-ipc/general/message/unregistration.js.map +1 -0
  429. package/dist/moonbridge-ipc/general/message/unregistration.mjs +9 -0
  430. package/dist/moonbridge-ipc/general/message/unregistration.mjs.map +1 -0
  431. package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.d.mts +26 -0
  432. package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.d.ts +25 -0
  433. package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.d.ts.map +1 -0
  434. package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.js +112 -0
  435. package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.js.map +1 -0
  436. package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.mjs +109 -0
  437. package/dist/moonbridge-ipc/general/transport/encode/data_frame_codec.mjs.map +1 -0
  438. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.d.mts +40 -0
  439. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.d.ts +39 -0
  440. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.d.ts.map +1 -0
  441. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.js +4 -0
  442. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.js.map +1 -0
  443. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.mjs +3 -0
  444. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel.mjs.map +1 -0
  445. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.d.mts +23 -0
  446. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.d.ts +20 -0
  447. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.d.ts.map +1 -0
  448. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.js +35 -0
  449. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.js.map +1 -0
  450. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.mjs +27 -0
  451. package/dist/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.mjs.map +1 -0
  452. package/dist/moonbridge-ipc/general/transport/interface/transport_client.d.mts +44 -0
  453. package/dist/moonbridge-ipc/general/transport/interface/transport_client.d.ts +43 -0
  454. package/dist/moonbridge-ipc/general/transport/interface/transport_client.d.ts.map +1 -0
  455. package/dist/moonbridge-ipc/general/transport/interface/transport_client.js +4 -0
  456. package/dist/moonbridge-ipc/general/transport/interface/transport_client.js.map +1 -0
  457. package/dist/moonbridge-ipc/general/transport/interface/transport_client.mjs +3 -0
  458. package/dist/moonbridge-ipc/general/transport/interface/transport_client.mjs.map +1 -0
  459. package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.d.mts +27 -0
  460. package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.d.ts +24 -0
  461. package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.d.ts.map +1 -0
  462. package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.js +43 -0
  463. package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.js.map +1 -0
  464. package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.mjs +33 -0
  465. package/dist/moonbridge-ipc/general/transport/interface/transport_client_extension.mjs.map +1 -0
  466. package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.d.mts +36 -0
  467. package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.d.ts +33 -0
  468. package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.d.ts.map +1 -0
  469. package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.js +109 -0
  470. package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.js.map +1 -0
  471. package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.mjs +107 -0
  472. package/dist/moonbridge-ipc/general/transport/websocket/websocket_client.mjs.map +1 -0
  473. package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.d.mts +44 -0
  474. package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.d.ts +41 -0
  475. package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.d.ts.map +1 -0
  476. package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.js +109 -0
  477. package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.js.map +1 -0
  478. package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.mjs +107 -0
  479. package/dist/moonbridge-ipc/general/transport/websocket/websocket_message_channel.mjs.map +1 -0
  480. package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.d.mts +71 -0
  481. package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.d.ts +68 -0
  482. package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.d.ts.map +1 -0
  483. package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.js +155 -0
  484. package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.js.map +1 -0
  485. package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.mjs +151 -0
  486. package/dist/moonbridge-ipc/general/transport/websocket/websocket_server.mjs.map +1 -0
  487. package/dist/moonbridge-ipc/index.d.mts +26 -0
  488. package/dist/moonbridge-ipc/index.d.ts +10 -0
  489. package/dist/moonbridge-ipc/index.d.ts.map +1 -0
  490. package/dist/moonbridge-ipc/index.js +70 -0
  491. package/dist/moonbridge-ipc/index.js.map +1 -0
  492. package/dist/moonbridge-ipc/index.mjs +11 -0
  493. package/dist/moonbridge-ipc/index.mjs.map +1 -0
  494. package/dist/moonbridge-ipc/server/credential/client_identity.d.mts +38 -0
  495. package/dist/moonbridge-ipc/server/credential/client_identity.d.ts +35 -0
  496. package/dist/moonbridge-ipc/server/credential/client_identity.d.ts.map +1 -0
  497. package/dist/moonbridge-ipc/server/credential/client_identity.js +27 -0
  498. package/dist/moonbridge-ipc/server/credential/client_identity.js.map +1 -0
  499. package/dist/moonbridge-ipc/server/credential/client_identity.mjs +25 -0
  500. package/dist/moonbridge-ipc/server/credential/client_identity.mjs.map +1 -0
  501. package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.d.mts +33 -0
  502. package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.d.ts +29 -0
  503. package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.d.ts.map +1 -0
  504. package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.js +39 -0
  505. package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.js.map +1 -0
  506. package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.mjs +37 -0
  507. package/dist/moonbridge-ipc/server/internal/identity/client_identity_manager.mjs.map +1 -0
  508. package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.d.mts +54 -0
  509. package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.d.ts +49 -0
  510. package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.d.ts.map +1 -0
  511. package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.js +369 -0
  512. package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.js.map +1 -0
  513. package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.mjs +367 -0
  514. package/dist/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.mjs.map +1 -0
  515. package/dist/moonbridge-ipc/server/moonbridge_ipc_server.d.mts +76 -0
  516. package/dist/moonbridge-ipc/server/moonbridge_ipc_server.d.ts +71 -0
  517. package/dist/moonbridge-ipc/server/moonbridge_ipc_server.d.ts.map +1 -0
  518. package/dist/moonbridge-ipc/server/moonbridge_ipc_server.js +101 -0
  519. package/dist/moonbridge-ipc/server/moonbridge_ipc_server.js.map +1 -0
  520. package/dist/moonbridge-ipc/server/moonbridge_ipc_server.mjs +97 -0
  521. package/dist/moonbridge-ipc/server/moonbridge_ipc_server.mjs.map +1 -0
  522. package/dist/moonbridge-ipc/utils/env.d.mts +7 -0
  523. package/dist/moonbridge-ipc/utils/env.d.ts +6 -0
  524. package/dist/moonbridge-ipc/utils/env.d.ts.map +1 -0
  525. package/dist/moonbridge-ipc/utils/env.js +9 -0
  526. package/dist/moonbridge-ipc/utils/env.js.map +1 -0
  527. package/dist/moonbridge-ipc/utils/env.mjs +7 -0
  528. package/dist/moonbridge-ipc/utils/env.mjs.map +1 -0
  529. package/dist/moonbridge-ipc/utils/logger.d.mts +9 -0
  530. package/dist/moonbridge-ipc/utils/logger.d.ts +6 -0
  531. package/dist/moonbridge-ipc/utils/logger.d.ts.map +1 -0
  532. package/dist/moonbridge-ipc/utils/logger.js +9 -0
  533. package/dist/moonbridge-ipc/utils/logger.js.map +1 -0
  534. package/dist/moonbridge-ipc/utils/logger.mjs +7 -0
  535. package/dist/moonbridge-ipc/utils/logger.mjs.map +1 -0
  536. package/dist/moonbridge-ipc/utils/string_utils.d.mts +10 -0
  537. package/dist/moonbridge-ipc/utils/string_utils.d.ts +9 -0
  538. package/dist/moonbridge-ipc/utils/string_utils.d.ts.map +1 -0
  539. package/dist/moonbridge-ipc/utils/string_utils.js +14 -0
  540. package/dist/moonbridge-ipc/utils/string_utils.js.map +1 -0
  541. package/dist/moonbridge-ipc/utils/string_utils.mjs +12 -0
  542. package/dist/moonbridge-ipc/utils/string_utils.mjs.map +1 -0
  543. package/dist/wps-launcher/index.d.mts +3 -0
  544. package/dist/wps-launcher/index.d.ts +5 -0
  545. package/dist/wps-launcher/index.d.ts.map +1 -0
  546. package/dist/wps-launcher/index.js +14 -0
  547. package/dist/wps-launcher/index.js.map +1 -0
  548. package/dist/wps-launcher/index.mjs +3 -0
  549. package/dist/wps-launcher/index.mjs.map +1 -0
  550. package/dist/wps-launcher/launcher/wps_app_launcher.d.mts +61 -0
  551. package/dist/wps-launcher/launcher/wps_app_launcher.d.ts +58 -0
  552. package/dist/wps-launcher/launcher/wps_app_launcher.d.ts.map +1 -0
  553. package/dist/wps-launcher/launcher/wps_app_launcher.js +83 -0
  554. package/dist/wps-launcher/launcher/wps_app_launcher.js.map +1 -0
  555. package/dist/wps-launcher/launcher/wps_app_launcher.mjs +81 -0
  556. package/dist/wps-launcher/launcher/wps_app_launcher.mjs.map +1 -0
  557. package/docs/REFACTOR_SCOPE.md +53 -0
  558. package/docs/ROADMAP.md +143 -0
  559. package/docs/STRUCTURE.md +47 -0
  560. package/package.json +64 -0
  561. package/src/index.ts +3 -0
  562. package/src/moonbridge/annotation/decorators.ts +109 -0
  563. package/src/moonbridge/annotation/registry.ts +118 -0
  564. package/src/moonbridge/index.ts +5 -0
  565. package/src/moonbridge/kernel/bridge.ts +28 -0
  566. package/src/moonbridge/kernel/bridge_module.ts +38 -0
  567. package/src/moonbridge/kernel/executor.ts +41 -0
  568. package/src/moonbridge/kernel/result_callback.ts +19 -0
  569. package/src/moonbridge/logger/logger.ts +95 -0
  570. package/src/moonbridge/message/internal/generic_message_parser.internal.ts +39 -0
  571. package/src/moonbridge/message/message.ts +16 -0
  572. package/src/moonbridge/message/message_parser.ts +31 -0
  573. package/src/moonbridge/message/message_parser_manager.ts +96 -0
  574. package/src/moonbridge/module/method_invoker.ts +90 -0
  575. package/src/moonbridge/module/module_creator.ts +60 -0
  576. package/src/moonbridge/utils/logger.ts +6 -0
  577. package/src/moonbridge-ipc/client/internal/bridge/ipc_client_bridge.ts +74 -0
  578. package/src/moonbridge-ipc/client/internal/bridge/ipc_client_executor.ts +208 -0
  579. package/src/moonbridge-ipc/client/internal/ipc/communication/ipc_communication_agent.ts +226 -0
  580. package/src/moonbridge-ipc/client/internal/ipc/connect/ipc_connection_manager.ts +454 -0
  581. package/src/moonbridge-ipc/client/internal/ipc/coordinator/ipc_request_coordinator.ts +147 -0
  582. package/src/moonbridge-ipc/client/internal/ipc/eventbus/ipc_event_bus.ts +75 -0
  583. package/src/moonbridge-ipc/client/internal/ipc/ipc_client_component_provider.ts +28 -0
  584. package/src/moonbridge-ipc/client/internal/ipc/keep/ipc_connection_keeper.ts +70 -0
  585. package/src/moonbridge-ipc/client/internal/moonbridge_ipc_client.internal.ts +154 -0
  586. package/src/moonbridge-ipc/client/internal/settings/ipc_client_settings.ts +142 -0
  587. package/src/moonbridge-ipc/client/moonbridge_ipc_client.ts +222 -0
  588. package/src/moonbridge-ipc/client/types/ipc_event_bus.ts +28 -0
  589. package/src/moonbridge-ipc/client/types/ipc_message_strategy.ts +21 -0
  590. package/src/moonbridge-ipc/client/types/ipc_messenger.ts +42 -0
  591. package/src/moonbridge-ipc/client/types/ipc_types.ts +50 -0
  592. package/src/moonbridge-ipc/extension/bridge_extension.ts +32 -0
  593. package/src/moonbridge-ipc/general/app_launch/app_launcher.ts +21 -0
  594. package/src/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.ts +97 -0
  595. package/src/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.ts +23 -0
  596. package/src/moonbridge-ipc/general/app_launch/launcher/node_launcher.ts +138 -0
  597. package/src/moonbridge-ipc/general/app_launch/launcher/url_scheme_launcher.ts +83 -0
  598. package/src/moonbridge-ipc/general/app_launch/model/app_info.ts +57 -0
  599. package/src/moonbridge-ipc/general/app_launch/model/app_launch_error_codes.ts +16 -0
  600. package/src/moonbridge-ipc/general/app_launch/model/app_launch_models.ts +35 -0
  601. package/src/moonbridge-ipc/general/app_launch/model/app_launch_models_extension.ts +65 -0
  602. package/src/moonbridge-ipc/general/app_launch/platform_app_launcher.ts +89 -0
  603. package/src/moonbridge-ipc/general/config/port_candidate_rule.ts +81 -0
  604. package/src/moonbridge-ipc/general/config/websocket_server_endpoint.ts +48 -0
  605. package/src/moonbridge-ipc/general/encode/ipc_message_decoder.ts +122 -0
  606. package/src/moonbridge-ipc/general/encode/ipc_message_encoder.ts +108 -0
  607. package/src/moonbridge-ipc/general/error/ipc_error.ts +28 -0
  608. package/src/moonbridge-ipc/general/index.ts +9 -0
  609. package/src/moonbridge-ipc/general/lock/async_lock.ts +58 -0
  610. package/src/moonbridge-ipc/general/lock/lock.ts +9 -0
  611. package/src/moonbridge-ipc/general/message/constants/message_types.ts +18 -0
  612. package/src/moonbridge-ipc/general/message/error.ts +13 -0
  613. package/src/moonbridge-ipc/general/message/event.ts +10 -0
  614. package/src/moonbridge-ipc/general/message/handshake.ts +16 -0
  615. package/src/moonbridge-ipc/general/message/ping.ts +6 -0
  616. package/src/moonbridge-ipc/general/message/registration.ts +6 -0
  617. package/src/moonbridge-ipc/general/message/request.ts +14 -0
  618. package/src/moonbridge-ipc/general/message/response.ts +13 -0
  619. package/src/moonbridge-ipc/general/message/session_setup.ts +25 -0
  620. package/src/moonbridge-ipc/general/message/unregistration.ts +6 -0
  621. package/src/moonbridge-ipc/general/transport/encode/data_frame_codec.ts +148 -0
  622. package/src/moonbridge-ipc/general/transport/interface/serial_message_channel.ts +49 -0
  623. package/src/moonbridge-ipc/general/transport/interface/serial_message_channel_extension.ts +45 -0
  624. package/src/moonbridge-ipc/general/transport/interface/transport_client.ts +44 -0
  625. package/src/moonbridge-ipc/general/transport/interface/transport_client_extension.ts +52 -0
  626. package/src/moonbridge-ipc/general/transport/websocket/websocket_client.ts +130 -0
  627. package/src/moonbridge-ipc/general/transport/websocket/websocket_message_channel.ts +145 -0
  628. package/src/moonbridge-ipc/general/transport/websocket/websocket_server.ts +205 -0
  629. package/src/moonbridge-ipc/index.ts +9 -0
  630. package/src/moonbridge-ipc/server/credential/client_identity.ts +54 -0
  631. package/src/moonbridge-ipc/server/internal/identity/client_identity_manager.ts +42 -0
  632. package/src/moonbridge-ipc/server/internal/moonbridge_ipc_server.internal.ts +441 -0
  633. package/src/moonbridge-ipc/server/moonbridge_ipc_server.ts +149 -0
  634. package/src/moonbridge-ipc/utils/env.ts +7 -0
  635. package/src/moonbridge-ipc/utils/logger.ts +6 -0
  636. package/src/moonbridge-ipc/utils/string_utils.ts +21 -0
  637. package/src/wps-launcher/index.ts +4 -0
  638. package/src/wps-launcher/launcher/wps_app_launcher.ts +135 -0
  639. package/tests/integration/.gitkeep +0 -0
  640. package/tests/integration/moonbridge_ipc_server_client.test.ts +64 -0
  641. package/tests/unit/.gitkeep +0 -0
  642. package/tests/unit/app_launcher.test.ts +32 -0
  643. package/tests/unit/data_frame_codec.test.ts +72 -0
  644. package/tests/unit/event_bus.test.ts +39 -0
  645. package/tests/unit/handler_registry.test.ts +34 -0
  646. package/tests/unit/handshake.test.ts +47 -0
  647. package/tests/unit/heartbeat.test.ts +18 -0
  648. package/tests/unit/interceptors.test.ts +43 -0
  649. package/tests/unit/ipc_connection_manager.handshake.test.ts +72 -0
  650. package/tests/unit/moonbridge_ipc_server.test.ts +78 -0
  651. package/tests/unit/result_callback.test.ts +49 -0
  652. package/tests/unit/websocket_server.test.ts +101 -0
  653. package/tsconfig.json +36 -0
  654. package/tsup.config.ts +15 -0
  655. package/vitest.config.ts +13 -0
@@ -0,0 +1,441 @@
1
+ /**
2
+ * MoonBridge IPC 服务器实现类
3
+ *
4
+ * 该类用于管理 IPC 服务器,包括启动服务器、处理客户端连接和消息等功能。
5
+ */
6
+
7
+ import type { SerialMessageChannel } from '../../general/transport/interface/serial_message_channel';
8
+ import {
9
+ sendResponse,
10
+ sendRequest,
11
+ sendEvent,
12
+ sendError,
13
+ sendPing,
14
+ sendHandshake,
15
+ sendSessionSetupResponse,
16
+ } from '../../general/transport/interface/serial_message_channel_extension';
17
+ import { WebSocketServer } from '../../general/transport/websocket/websocket_server';
18
+ import { IpcMessageDecoder } from '../../general/encode/ipc_message_decoder';
19
+ import { MessageType } from '../../general/message/constants/message_types';
20
+ import { Handshake } from '../../general/message/handshake';
21
+ import { IpcSessionSetupRequest, IpcSessionSetupResponse } from '../../general/message/session_setup';
22
+ import { PlatformAppLauncherFactory } from '../../general/app_launch/platform_app_launcher';
23
+ import type { WebSocketServerEndpoint } from '../../general/config/websocket_server_endpoint';
24
+ import type {
25
+ MoonBridgeIpcServer,
26
+ WakeAppInterceptor,
27
+ DisconnectedCallback,
28
+ MessagePreprocessor,
29
+ OnMessageReceived,
30
+ } from '../moonbridge_ipc_server';
31
+ import type { ClientIdentity, ClientIdentityProvider } from '../credential/client_identity';
32
+ import { ClientIdentityManager } from './identity/client_identity_manager';
33
+ import type { Registration } from '../../general/message/registration';
34
+ import type { Unregistration } from '../../general/message/unregistration';
35
+ import type { Event } from '../../general/message/event';
36
+ import type { Error } from '../../general/message/error';
37
+ import type { Request } from '../../general/message/request';
38
+ import type { Response } from '../../general/message/response';
39
+ import { Ping } from '../../general/message/ping';
40
+ import { logger } from '../../utils/logger';
41
+
42
+ export class RealMoonBridgeIpcServer implements MoonBridgeIpcServer {
43
+ private readonly _serverName: string;
44
+ private readonly _wakeAppInterceptor?: WakeAppInterceptor;
45
+ private readonly _onClientDisconnected?: DisconnectedCallback;
46
+ private readonly _messagePreprocessor?: MessagePreprocessor;
47
+ private readonly _onMessageReceived?: OnMessageReceived;
48
+ private readonly _webSocketServerEndpoint?: WebSocketServerEndpoint;
49
+
50
+ private readonly _clientSocketMap = new Map<string, SerialMessageChannel>();
51
+ private readonly _addressToClientNameMap = new Map<string, string>();
52
+ private readonly _clientIdentityManager = new ClientIdentityManager();
53
+ private readonly _timerMap = new Map<string, ReturnType<typeof setTimeout>>();
54
+ private readonly _sessionSetupRequests = new Map<string, IpcSessionSetupRequest[]>();
55
+
56
+ private _webSocketServer?: WebSocketServer;
57
+
58
+ constructor(
59
+ serverName: string,
60
+ webSocketServerEndpoint?: WebSocketServerEndpoint,
61
+ wakeAppInterceptor?: WakeAppInterceptor,
62
+ clientIdentityProviders?: ClientIdentityProvider[],
63
+ onClientDisconnected?: DisconnectedCallback,
64
+ messagePreprocessor?: MessagePreprocessor,
65
+ onMessageReceived?: OnMessageReceived,
66
+ ) {
67
+ this._serverName = serverName;
68
+ this._webSocketServerEndpoint = webSocketServerEndpoint;
69
+ this._wakeAppInterceptor = wakeAppInterceptor;
70
+ this._onClientDisconnected = onClientDisconnected;
71
+ this._messagePreprocessor = messagePreprocessor;
72
+ this._onMessageReceived = onMessageReceived;
73
+
74
+ const providers = clientIdentityProviders ?? [];
75
+ for (const p of providers) {
76
+ this._clientIdentityManager.addClientIdentityProvider(p);
77
+ }
78
+ }
79
+
80
+ get serverName(): string {
81
+ return this._serverName;
82
+ }
83
+
84
+ async start(): Promise<boolean> {
85
+ const onClientConnected = (client: SerialMessageChannel) => {
86
+ let clientName = this._getClientName(client) ?? '';
87
+ client.subscribe(
88
+ (message: string) => {
89
+ this._onMessage(client, message);
90
+ if (clientName === '') {
91
+ clientName = this._getClientName(client) ?? '';
92
+ }
93
+ },
94
+ {
95
+ onError: (err) => {
96
+ logger.error(`客户端错误: ${String(err)}`);
97
+ },
98
+ onDone: () => {
99
+ logger.error(`客户端 ${clientName} 断开连接`);
100
+ this._removeClient(client);
101
+ this._onClientDisconnected?.(clientName);
102
+ },
103
+ cancelOnError: false,
104
+ },
105
+ );
106
+ };
107
+
108
+ if (this._webSocketServerEndpoint != null) {
109
+ const ep = this._webSocketServerEndpoint;
110
+ const portList =
111
+ ep.portCandidateRule != null
112
+ ? ep.portCandidateRule.toOrderedPortList()
113
+ : [ep.port];
114
+
115
+ for (const port of portList) {
116
+ const server = new WebSocketServer(ep.address, port, { path: ep.path });
117
+ if (await server.startServer(onClientConnected)) {
118
+ this._webSocketServer = server;
119
+ return true;
120
+ }
121
+ }
122
+ }
123
+
124
+ this._webSocketServer = undefined;
125
+ return false;
126
+ }
127
+
128
+ async stop(): Promise<void> {
129
+ if (this._webSocketServer != undefined) {
130
+ await this._webSocketServer.close();
131
+ this._webSocketServer = undefined;
132
+ }
133
+ }
134
+
135
+ get serverAddress(): string | undefined {
136
+ return this._webSocketServer?.serverAddressInfo?.ip ?? undefined;
137
+ }
138
+
139
+ get serverPort(): number | undefined {
140
+ return this._webSocketServer?.serverAddressInfo?.port ?? undefined;
141
+ }
142
+
143
+ private _addClient(clientIdentity: ClientIdentity, client: SerialMessageChannel): void {
144
+ const clientName = clientIdentity.clientName;
145
+ const clientAddress = this._getClientAddress(client);
146
+ this._clientSocketMap.set(clientName, client);
147
+ this._addressToClientNameMap.set(clientAddress, clientName);
148
+ logger.info(`客户端已连接: ${clientName}`);
149
+ }
150
+
151
+ private _removeClient(client: SerialMessageChannel): void {
152
+ const clientAddress = this._getClientAddress(client);
153
+ const clientName = this._addressToClientNameMap.get(clientAddress);
154
+ this._addressToClientNameMap.delete(clientAddress);
155
+ if (clientName != null) {
156
+ this._clientSocketMap.delete(clientName);
157
+ }
158
+ logger.info(`客户端已断开: ${clientName}`);
159
+ }
160
+
161
+ private _getClientName(client: SerialMessageChannel): string | undefined {
162
+ const clientAddress = this._getClientAddress(client);
163
+ return this._addressToClientNameMap.get(clientAddress);
164
+ }
165
+
166
+ private _getClientAddress(client: SerialMessageChannel): string {
167
+ return `${client.remoteAddress}:${client.remotePort}`;
168
+ }
169
+
170
+ private _onMessage(client: SerialMessageChannel, message: string): void {
171
+ logger.info(`服务端接收到消息,message: ${message}`);
172
+
173
+ const reply: (msg: string) => Promise<boolean> = (msg) => client.sendMessage(msg);
174
+ if (this._messagePreprocessor?.(reply, message) === true) {
175
+ return;
176
+ }
177
+
178
+ let messageType = MessageType.UNKNOWN;
179
+
180
+ if (message.includes(MessageType.REGISTRATION)) {
181
+ messageType = MessageType.REGISTRATION;
182
+ this._onRegistration(client, IpcMessageDecoder.decodeRegistration(message));
183
+ } else if (message.includes(MessageType.UNREGISTRATION)) {
184
+ messageType = MessageType.UNREGISTRATION;
185
+ this._onUnregistration(IpcMessageDecoder.decodeUnregistration(message));
186
+ } else if (message.includes(MessageType.EVENT)) {
187
+ messageType = MessageType.EVENT;
188
+ this._onEvent(IpcMessageDecoder.decodeEvent(message));
189
+ } else if (message.includes(MessageType.ERROR)) {
190
+ messageType = MessageType.ERROR;
191
+ this._onError(IpcMessageDecoder.decodeError(message));
192
+ } else if (message.includes(MessageType.REQUEST)) {
193
+ messageType = MessageType.REQUEST;
194
+ this._onRequest(IpcMessageDecoder.decodeRequest(message));
195
+ } else if (message.includes(MessageType.RESPONSE)) {
196
+ messageType = MessageType.RESPONSE;
197
+ this._onResponse(IpcMessageDecoder.decodeResponse(message));
198
+ } else if (message.includes(MessageType.SESSION_SETUP_REQUEST)) {
199
+ messageType = MessageType.SESSION_SETUP_REQUEST;
200
+ this._onSessionSetupRequest(IpcMessageDecoder.decodeSessionSetupRequest(message));
201
+ } else if (message.includes(MessageType.HANDSHAKE)) {
202
+ messageType = MessageType.HANDSHAKE;
203
+ this._onHandshake(IpcMessageDecoder.decodeHandshake(message), client);
204
+ } else if (message.includes(MessageType.PING)) {
205
+ messageType = MessageType.PING;
206
+ this._onPing(IpcMessageDecoder.decodePing(message));
207
+ } else {
208
+ logger.error(`无法识别的消息类型: ${message}`);
209
+ }
210
+
211
+ const clientName = this._getClientName(client) ?? '';
212
+ this._onMessageReceived?.(clientName, messageType, message);
213
+ }
214
+
215
+ private _onRegistration(client: SerialMessageChannel, registration: Registration): void {
216
+ const clientName = registration.clientName;
217
+ if (!this._validateClientIdentity(clientName)) {
218
+ logger.error(`客户端(${clientName})不在白名单中,注册失败.`);
219
+ return;
220
+ }
221
+ const identity = this._clientIdentityManager.getClientIdentity(clientName)!;
222
+ this._addClient(identity, client);
223
+ this._cancelClientTimer(clientName);
224
+ this._processSessionSetupRequests(clientName);
225
+ logger.info(`客户端(${clientName})注册成功.`);
226
+ }
227
+
228
+ private _onUnregistration(unregistration: Unregistration): void {
229
+ const clientName = unregistration.clientName;
230
+ this._clientSocketMap.delete(clientName);
231
+ this._sessionSetupRequests.delete(clientName);
232
+ const timer = this._timerMap.get(clientName);
233
+ if (timer != null) {
234
+ clearTimeout(timer);
235
+ this._timerMap.delete(clientName);
236
+ }
237
+ logger.info(`客户端(${clientName})注销.`);
238
+ }
239
+
240
+ private _onEvent(event: Event): void {
241
+ const allClients = [...this._clientSocketMap.values()];
242
+ for (const client of allClients) {
243
+ sendEvent(client, event);
244
+ }
245
+ logger.info(`接收到 EventBus 事件,并转发给处于连接状态的所有客户端,event: ${event}.`);
246
+ }
247
+
248
+ private _onError(error: Error): void {
249
+ logger.info(`接收到错误消息,并转发给请求客户端,error: ${error}.`);
250
+ const fromClient = this._clientSocketMap.get(error.fromClient);
251
+ if (fromClient != null) {
252
+ sendError(fromClient, error);
253
+ }
254
+ }
255
+
256
+ private _onRequest(request: Request): void {
257
+ logger.info(`接收到请求消息,并转发给目标客户端,request: ${request}.`);
258
+ const toClient = this._clientSocketMap.get(request.toClient);
259
+ if (toClient != null) {
260
+ sendRequest(toClient, request);
261
+ }
262
+ }
263
+
264
+ private _onResponse(response: Response): void {
265
+ logger.info(`接收到响应消息,并转发给请求客户端,response: ${response}.`);
266
+ const fromClient = this._clientSocketMap.get(response.fromClient);
267
+ if (fromClient != null) {
268
+ sendResponse(fromClient, response);
269
+ }
270
+ }
271
+
272
+ private _onSessionSetupRequest(request: IpcSessionSetupRequest): void {
273
+ const targetClient = request.targetClient;
274
+ if (!this._validateClientIdentity(targetClient)) {
275
+ logger.error(`目标客户端(${targetClient})不在白名单内!`);
276
+ this._sendSessionSetupResponse(request, IpcSessionSetupResponse.failure, `Match target client(${targetClient}) failed!`);
277
+ return;
278
+ }
279
+ if (this._handleExistingTargetClient(request, targetClient)) {
280
+ logger.info(`与目标客户端(${targetClient})会话连接中.`);
281
+ return;
282
+ }
283
+ let queue = this._sessionSetupRequests.get(targetClient);
284
+ if (queue == null) {
285
+ queue = [];
286
+ this._sessionSetupRequests.set(targetClient, queue);
287
+ }
288
+ queue.push(request);
289
+ logger.info(`缓存目标客户端(${targetClient})唤醒动作至队列.`);
290
+ if (queue.length > 1) {
291
+ logger.info(`正在尝试唤醒目标客户端进程,追加回调至队列中,targetClient: ${targetClient}.`);
292
+ return;
293
+ }
294
+ if (request.autoLaunch) {
295
+ logger.info(`尝试唤醒目标客户端(${targetClient}).`);
296
+ this._wakeUpTargetClient(targetClient);
297
+ } else {
298
+ logger.info(`不尝试唤醒目标客户端(${targetClient}),直接返回失败.`);
299
+ this._sendSessionSetupResponse(request, IpcSessionSetupResponse.failure, `Target client(${targetClient}) was dead, and wake up is disabled!`);
300
+ }
301
+ }
302
+
303
+ private _onPing(_ping: Ping): void {
304
+ logger.info('接收到 Ping 消息');
305
+ }
306
+
307
+ private _onHandshake(handshake: Handshake, client: SerialMessageChannel): void {
308
+ if (handshake.magic !== Handshake.ipcMagic) {
309
+ logger.warn(`收到未知握手魔数(${handshake.magic}),忽略本次握手请求,可能是其他服务误连.`);
310
+ return;
311
+ }
312
+ if (handshake.role !== Handshake.clientRole) {
313
+ logger.warn(`收到非 client 角色的握手(${handshake.role}),忽略本次握手请求.`);
314
+ return;
315
+ }
316
+ const ack = new Handshake(
317
+ handshake.clientName,
318
+ Handshake.ipcMagic,
319
+ Handshake.serverRole,
320
+ Handshake.ipcVersion,
321
+ );
322
+ sendHandshake(client, ack);
323
+ logger.info(`完成与客户端的握手确认,clientName: ${ack.clientName}, magic: ${ack.magic}, version: ${ack.version}`);
324
+ }
325
+
326
+ private _validateClientIdentity(clientName: string): boolean {
327
+ const isValid = this._clientIdentityManager.getClientIdentity(clientName) != null;
328
+ if (!isValid) {
329
+ logger.fatal(`客户端(${clientName})不在白名单中,可能存在非法访问!`);
330
+ }
331
+ return isValid;
332
+ }
333
+
334
+ private _handleExistingTargetClient(request: IpcSessionSetupRequest, targetClient: string): boolean {
335
+ const targetSocket = this._clientSocketMap.get(targetClient);
336
+ if (targetSocket != null) {
337
+ try {
338
+ sendPing(targetSocket, new Ping(request.sourceClient));
339
+ this._sendSessionSetupResponse(request, IpcSessionSetupResponse.success, `Connecting with target client(${targetClient})!`);
340
+ return true;
341
+ } catch (e) {
342
+ logger.error(`Ping target client(${targetClient}) 失败!`);
343
+ }
344
+ }
345
+ return false;
346
+ }
347
+
348
+ private async _wakeUpTargetClient(targetClient: string): Promise<void> {
349
+ const clientIdentity = this._clientIdentityManager.getClientIdentity(targetClient);
350
+ if (clientIdentity == null) {
351
+ logger.fatal('唤醒目标客户端,白名单校验失败!');
352
+ return;
353
+ }
354
+ if (this._wakeAppInterceptor != null && this._wakeAppInterceptor(clientIdentity) === true) {
355
+ logger.info(`自定义方式唤醒目标客户端(${targetClient}).`);
356
+ } else {
357
+ logger.info(`默认方式唤醒目标客户端(${targetClient}).`);
358
+ try {
359
+ const appLauncher = PlatformAppLauncherFactory.create({
360
+ appIdentifier: clientIdentity.appLaunchIdentifier,
361
+ appInstallationPath: clientIdentity.appInstallationPath,
362
+ });
363
+ if (await appLauncher.isAppRunning()) {
364
+ logger.warn(`目标客户端(${targetClient})处于存活态,等待注册!`);
365
+ } else {
366
+ logger.info(`尝试唤醒目标客户端(${targetClient})!`);
367
+ await appLauncher.launchApp();
368
+ }
369
+ } catch (e) {
370
+ logger.fatal(`唤醒目标客户端发生异常:${String(e)}!`);
371
+ }
372
+ }
373
+ let timer = this._timerMap.get(targetClient);
374
+ if (timer == null) {
375
+ timer = setTimeout(() => {
376
+ logger.error(`唤醒目标客户端(${targetClient})超时`);
377
+ const queue = this._sessionSetupRequests.get(targetClient);
378
+ this._sessionSetupRequests.delete(targetClient);
379
+ this._timerMap.delete(targetClient);
380
+ if (queue != null) {
381
+ for (const req of queue) {
382
+ this._sendSessionSetupResponse(req, IpcSessionSetupResponse.failure, `Target client(${targetClient}) register time out!`);
383
+ }
384
+ } else {
385
+ logger.error('需要与目标客户端建立会话的发起端队列为空!');
386
+ }
387
+ }, 20_000);
388
+ this._timerMap.set(targetClient, timer);
389
+ }
390
+ }
391
+
392
+ private _sendSessionSetupResponse(request: IpcSessionSetupRequest, result: number, message: string): void {
393
+ const response = new IpcSessionSetupResponse(
394
+ request.sourceClient,
395
+ request.targetClient,
396
+ request.callbackId,
397
+ result,
398
+ message,
399
+ undefined,
400
+ );
401
+ const sourceSocket = this._clientSocketMap.get(request.sourceClient);
402
+ if (sourceSocket != null) {
403
+ logger.info(`通知请求发起端(${request.sourceClient})会话构建结果${result === IpcSessionSetupResponse.success ? '成功.' : '失败!'}`);
404
+ sendSessionSetupResponse(sourceSocket, response);
405
+ } else {
406
+ logger.error(`未匹配到通信发起端(${request.sourceClient}),检查是否已经关闭!`);
407
+ }
408
+ }
409
+
410
+ private _cancelClientTimer(clientName: string): void {
411
+ const timer = this._timerMap.get(clientName);
412
+ if (timer != null) {
413
+ clearTimeout(timer);
414
+ this._timerMap.delete(clientName);
415
+ }
416
+ }
417
+
418
+ private _processSessionSetupRequests(clientName: string): void {
419
+ const queue = this._sessionSetupRequests.get(clientName);
420
+ this._sessionSetupRequests.delete(clientName);
421
+ if (queue != null) {
422
+ for (const request of queue) {
423
+ const response = new IpcSessionSetupResponse(
424
+ request.sourceClient,
425
+ request.targetClient,
426
+ request.callbackId,
427
+ IpcSessionSetupResponse.success,
428
+ 'Target client register success!',
429
+ undefined,
430
+ );
431
+ const sourceClient = this._clientSocketMap.get(request.sourceClient);
432
+ if (sourceClient != null) {
433
+ logger.info(`通知请求发起端(${request.sourceClient})会话构建成功.`);
434
+ sendSessionSetupResponse(sourceClient, response);
435
+ } else {
436
+ logger.error(`未匹配到通信发起端(${request.sourceClient}),检查是否已经关闭!`);
437
+ }
438
+ }
439
+ }
440
+ }
441
+ }
@@ -0,0 +1,149 @@
1
+ /**
2
+ * MoonBridge IPC 服务器入口类
3
+ */
4
+
5
+ import { SocketServer } from '../general/transport/websocket/websocket_server';
6
+ import type { WebSocketServerEndpoint } from '../general/config/websocket_server_endpoint';
7
+ import type { ClientIdentity, ClientIdentityProvider } from './credential/client_identity';
8
+ import { RealMoonBridgeIpcServer } from './internal/moonbridge_ipc_server.internal';
9
+
10
+ /** 消息回复函数,用于向客户端发送响应消息 */
11
+ export type IpcMessageReply = (message: string) => Promise<boolean>;
12
+
13
+ /** 唤醒客户端应用拦截器 */
14
+ export type WakeAppInterceptor = (clientIdentity: ClientIdentity) => boolean;
15
+
16
+ /** 客户端断开连接的回调函数 */
17
+ export type DisconnectedCallback = (clientName: string) => void;
18
+
19
+ /** 消息预处理器 */
20
+ export type MessagePreprocessor = (reply: IpcMessageReply, message: string) => boolean;
21
+
22
+ /** 消息接收回调 */
23
+ export type OnMessageReceived = (clientName: string, type: string, message: string) => void;
24
+
25
+ /**
26
+ * MoonBridge IPC 服务器抽象类
27
+ */
28
+ export abstract class MoonBridgeIpcServer {
29
+ static readonly anyIPv4 = SocketServer.anyIPv4;
30
+ static readonly anyIPv6 = SocketServer.anyIPv6;
31
+
32
+ static builder(): MoonBridgeIpcServerBuilder {
33
+ return new MoonBridgeIpcServerBuilder();
34
+ }
35
+
36
+ abstract readonly serverName: string;
37
+ abstract start(): Promise<boolean>;
38
+ abstract stop(): Promise<void>;
39
+ abstract get serverAddress(): string | undefined;
40
+ abstract get serverPort(): number | undefined;
41
+ }
42
+
43
+ /**
44
+ * MoonBridge IPC 服务器构造器
45
+ */
46
+ export class MoonBridgeIpcServerBuilder {
47
+ private _serverName = '';
48
+ private _webSocketServerEndpoint?: WebSocketServerEndpoint;
49
+ private _clientIdentityProviders?: ClientIdentityProvider[];
50
+ private _wakeAppInterceptor?: WakeAppInterceptor;
51
+ private _onClientDisconnected?: DisconnectedCallback;
52
+ private _messagePreprocessor?: MessagePreprocessor;
53
+ private _onMessageReceived?: OnMessageReceived;
54
+
55
+ /** 设置服务器名称 */
56
+ serverName(name: string): this {
57
+ this._serverName = name;
58
+ return this;
59
+ }
60
+
61
+ /** 设置 WebSocket 服务端通道监听配置;null 表示不启动 WebSocket。 */
62
+ useWebSocketChannel(endpoint: WebSocketServerEndpoint): this {
63
+ this._webSocketServerEndpoint = endpoint;
64
+ return this;
65
+ }
66
+
67
+ /** 设置客户端身份信息提供者列表 */
68
+ clientIdentityProviders(providers: ClientIdentityProvider[]): this {
69
+ this._clientIdentityProviders = providers;
70
+ return this;
71
+ }
72
+
73
+ /** 设置唤醒客户端应用的拦截器 */
74
+ wakeAppInterceptor(interceptor: WakeAppInterceptor): this {
75
+ this._wakeAppInterceptor = interceptor;
76
+ return this;
77
+ }
78
+
79
+ /** 设置客户端断开连接的回调函数 */
80
+ onClientDisconnected(callback: DisconnectedCallback): this {
81
+ this._onClientDisconnected = callback;
82
+ return this;
83
+ }
84
+
85
+ /** 设置消息预处理器 */
86
+ messagePreprocessor(preprocessor: MessagePreprocessor): this {
87
+ this._messagePreprocessor = preprocessor;
88
+ return this;
89
+ }
90
+
91
+ /** 设置消息接收回调 */
92
+ onMessageReceived(callback: OnMessageReceived): this {
93
+ this._onMessageReceived = callback;
94
+ return this;
95
+ }
96
+
97
+ /**
98
+ * 构建并返回配置完成的服务器实例
99
+ * @param makeDefault 是否将该服务器实例设置为默认服务器,默认为 false
100
+ */
101
+ build(makeDefault = false): MoonBridgeIpcServer {
102
+ if (this._webSocketServerEndpoint == null) {
103
+ throw new Error(
104
+ 'TS 端仅支持 WebSocket 通道,请使用 useWebSocketChannel 设置传输配置。',
105
+ );
106
+ }
107
+
108
+ const server = new RealMoonBridgeIpcServer(
109
+ this._serverName,
110
+ this._webSocketServerEndpoint,
111
+ this._wakeAppInterceptor,
112
+ this._clientIdentityProviders,
113
+ this._onClientDisconnected,
114
+ this._messagePreprocessor,
115
+ this._onMessageReceived,
116
+ );
117
+
118
+ MoonBridgeIpcServerRegistry.instance.register(server);
119
+
120
+ if (makeDefault) {
121
+ MoonBridgeIpcServerRegistry.instance.setDefault(server);
122
+ }
123
+ return server;
124
+ }
125
+ }
126
+
127
+ /**
128
+ * MoonBridge IPC 服务端注册器
129
+ */
130
+ export class MoonBridgeIpcServerRegistry {
131
+ private static _instance?: MoonBridgeIpcServerRegistry;
132
+ private readonly _serverMap = new Map<string, MoonBridgeIpcServer>();
133
+
134
+ static get instance(): MoonBridgeIpcServerRegistry {
135
+ return MoonBridgeIpcServerRegistry._instance ??= new MoonBridgeIpcServerRegistry();
136
+ }
137
+
138
+ setDefault(server: MoonBridgeIpcServer): void {
139
+ this._serverMap.set('__default__', server);
140
+ }
141
+
142
+ register(server: MoonBridgeIpcServer): void {
143
+ this._serverMap.set(server.serverName, server);
144
+ }
145
+
146
+ get(serverName?: string): MoonBridgeIpcServer | undefined {
147
+ return this._serverMap.get(serverName ?? '__default__');
148
+ }
149
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 判断当前是否为 Node.js 环境。
3
+ * @returns true 表示 Node 环境,false 表示浏览器环境
4
+ */
5
+ export function isNodeEnv(): boolean {
6
+ return typeof window === 'undefined' && typeof process !== 'undefined';
7
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * moonbridge-ipc 模块共享 logger 实例,tag 为 moonbridge-ipc。
3
+ */
4
+ import { Logger } from '../../moonbridge/logger/logger';
5
+
6
+ export const logger = Logger.get('moonbridge-ipc');
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 字符串工具,对应 Flutter lib/general/utils/string_utils.dart StringExtension.generateRandomString。
3
+ */
4
+
5
+ // CONSTANTS
6
+
7
+ const CHARACTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
8
+
9
+ // PUBLIC METHODS
10
+
11
+ /**
12
+ * 生成指定长度的随机字符串。
13
+ * @param length - 长度,默认 8
14
+ */
15
+ export function generateRandomString(length: number = 8): string {
16
+ let result = '';
17
+ for (let i = 0; i < length; i++) {
18
+ result += CHARACTERS.charAt(Math.floor(Math.random() * CHARACTERS.length));
19
+ }
20
+ return result;
21
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * wps-launcher 入口:导出 createWpsAppLauncher。
3
+ */
4
+ export * from './launcher/wps_app_launcher';