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,33 @@
1
+ import { AppInstallationPath, AppLaunchIdentifier } from '../model/app_info.js';
2
+ import { AppLaunchResult } from '../model/app_launch_models.js';
3
+ import { LaunchAppOptions } from '../platform_app_launcher.js';
4
+ import { PlatformAppLauncher } from '../platform_app_launcher.js';
5
+ /**
6
+ * Stub 实现:当前环境未实现唤醒时使用;launchApp 返回失败,isAppRunning 返回 false。
7
+ */
8
+ export declare class StubPlatformAppLauncher implements PlatformAppLauncher {
9
+ launchApp(): Promise<AppLaunchResult>;
10
+ isAppRunning(): Promise<boolean>;
11
+ }
12
+ /**
13
+ * 浏览器用启动器:通过 URL Scheme(从 AppLaunchIdentifier 取 iOSScheme)唤起;
14
+ * isAppRunning 在浏览器端不可知,返回 false。
15
+ */
16
+ export declare class BrowserPlatformAppLauncher implements PlatformAppLauncher {
17
+ private readonly appIdentifier;
18
+ constructor(appIdentifier: AppLaunchIdentifier);
19
+ launchApp(options?: LaunchAppOptions): Promise<AppLaunchResult>;
20
+ isAppRunning(): Promise<boolean>;
21
+ }
22
+ /**
23
+ * Node 端启动器:按 AppInstallationPath 启动并轮询 isProcessRunning;
24
+ * 桌面优先路径,无路径时不适用(应由工厂返回 Stub)。
25
+ * 使用动态 import 加载 node_launcher,避免浏览器环境加载 child_process 等 Node 内置模块。
26
+ */
27
+ export declare class NodePlatformAppLauncher implements PlatformAppLauncher {
28
+ private readonly appInstallationPath;
29
+ constructor(appInstallationPath: AppInstallationPath);
30
+ launchApp(options?: LaunchAppOptions): Promise<AppLaunchResult>;
31
+ isAppRunning(): Promise<boolean>;
32
+ }
33
+ //# sourceMappingURL=real_platform_app_launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"real_platform_app_launcher.d.ts","sourceRoot":"","sources":["../../../../../src/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE;;GAEG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAC3D,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAIrC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;CAGvC;AAKD;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,mBAAmB;IAEzD,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAqB/D,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;CAGvC;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB;IAE/D,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAiB/D,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;CAQvC"}
@@ -0,0 +1,70 @@
1
+ 'use strict';
2
+
3
+ var app_launch_models_js = require('../model/app_launch_models.js');
4
+ var app_launch_models_extension_js = require('../model/app_launch_models_extension.js');
5
+ var url_scheme_launcher_js = require('../launcher/url_scheme_launcher.js');
6
+
7
+ class StubPlatformAppLauncher {
8
+ async launchApp() {
9
+ return new app_launch_models_js.AppLaunchResult(false);
10
+ }
11
+ async isAppRunning() {
12
+ return false;
13
+ }
14
+ }
15
+ const defaultStatusCheckInterval = 0.3;
16
+ const defaultOperationTimeout = 3;
17
+ class BrowserPlatformAppLauncher {
18
+ constructor(appIdentifier) {
19
+ this.appIdentifier = appIdentifier;
20
+ }
21
+ async launchApp(options) {
22
+ var _a, _b;
23
+ const scheme = this.appIdentifier.iOSScheme;
24
+ if (!scheme) {
25
+ return new app_launch_models_js.AppLaunchResult(false, "No URL scheme (iOSScheme) in identifier");
26
+ }
27
+ const args = options == null ? void 0 : options.argumentsForIdentifier;
28
+ const interval = (_a = options == null ? void 0 : options.statusCheckInterval) != null ? _a : defaultStatusCheckInterval;
29
+ const timeout = (_b = options == null ? void 0 : options.operationTimeout) != null ? _b : defaultOperationTimeout;
30
+ const platformArgs = args ? app_launch_models_extension_js.AppLaunchModelsExtension.getCurrentPlatformArguments(args) : [];
31
+ const query = platformArgs.length ? platformArgs.join("&") : "";
32
+ return url_scheme_launcher_js.UrlSchemeLauncher.launch({
33
+ scheme,
34
+ path: "",
35
+ query,
36
+ statusCheckInterval: interval,
37
+ operationTimeout: timeout
38
+ });
39
+ }
40
+ async isAppRunning() {
41
+ return false;
42
+ }
43
+ }
44
+ class NodePlatformAppLauncher {
45
+ constructor(appInstallationPath) {
46
+ this.appInstallationPath = appInstallationPath;
47
+ }
48
+ async launchApp(options) {
49
+ var _a, _b;
50
+ const nodeLauncherPath = typeof __BROWSER_BUILD__ !== "undefined" ? "../launcher/node_launcher.browser.js" : "../launcher/node_launcher.js";
51
+ const { NodeProcessLauncher } = await import(nodeLauncherPath);
52
+ const args = (options == null ? void 0 : options.argumentsForInstallationPath) ? app_launch_models_extension_js.AppLaunchModelsExtension.getCurrentPlatformArguments(options.argumentsForInstallationPath) : void 0;
53
+ return NodeProcessLauncher.launchByPath(this.appInstallationPath, {
54
+ args,
55
+ statusCheckInterval: (_a = options == null ? void 0 : options.statusCheckInterval) != null ? _a : defaultStatusCheckInterval,
56
+ operationTimeout: (_b = options == null ? void 0 : options.operationTimeout) != null ? _b : defaultOperationTimeout
57
+ });
58
+ }
59
+ async isAppRunning() {
60
+ const nodeLauncherPath = typeof __BROWSER_BUILD__ !== "undefined" ? "../launcher/node_launcher.browser.js" : "../launcher/node_launcher.js";
61
+ const { NodeProcessLauncher } = await import(nodeLauncherPath);
62
+ return NodeProcessLauncher.isProcessRunning(this.appInstallationPath);
63
+ }
64
+ }
65
+
66
+ exports.BrowserPlatformAppLauncher = BrowserPlatformAppLauncher;
67
+ exports.NodePlatformAppLauncher = NodePlatformAppLauncher;
68
+ exports.StubPlatformAppLauncher = StubPlatformAppLauncher;
69
+ //# sourceMappingURL=real_platform_app_launcher.js.map
70
+ //# sourceMappingURL=real_platform_app_launcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.ts"],"names":["AppLaunchResult","AppLaunchModelsExtension","UrlSchemeLauncher"],"mappings":"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","file":"real_platform_app_launcher.js","sourcesContent":["/**\n * 各平台启动器实现:Stub / Browser / Node。\n * Stub 用于未支持环境;Browser/Node 由 US1/US2 扩展。\n * __BROWSER_BUILD__ 由浏览器构建(如 wps-addin)通过 define 注入,用于切换 node_launcher 与 node_launcher.browser。\n */\ndeclare const __BROWSER_BUILD__: string | undefined;\n\nimport { AppInstallationPath, AppLaunchIdentifier } from '../model/app_info.js';\nimport { AppLaunchResult } from '../model/app_launch_models.js';\nimport { AppLaunchModelsExtension } from '../model/app_launch_models_extension.js';\nimport { LaunchAppOptions } from '../platform_app_launcher.js';\nimport { PlatformAppLauncher } from '../platform_app_launcher.js';\nimport { UrlSchemeLauncher } from '../launcher/url_scheme_launcher.js';\n\n/**\n * Stub 实现:当前环境未实现唤醒时使用;launchApp 返回失败,isAppRunning 返回 false。\n */\nexport class StubPlatformAppLauncher implements PlatformAppLauncher {\n async launchApp(): Promise<AppLaunchResult> {\n return new AppLaunchResult(false);\n }\n\n async isAppRunning(): Promise<boolean> {\n return false;\n }\n}\n\nconst defaultStatusCheckInterval = 0.3;\nconst defaultOperationTimeout = 3.0;\n\n/**\n * 浏览器用启动器:通过 URL Scheme(从 AppLaunchIdentifier 取 iOSScheme)唤起;\n * isAppRunning 在浏览器端不可知,返回 false。\n */\nexport class BrowserPlatformAppLauncher implements PlatformAppLauncher {\n constructor(private readonly appIdentifier: AppLaunchIdentifier) { }\n\n async launchApp(options?: LaunchAppOptions): Promise<AppLaunchResult> {\n const scheme = this.appIdentifier.iOSScheme;\n if (!scheme) {\n return new AppLaunchResult(false, 'No URL scheme (iOSScheme) in identifier');\n }\n\n const args = options?.argumentsForIdentifier;\n const interval = options?.statusCheckInterval ?? defaultStatusCheckInterval;\n const timeout = options?.operationTimeout ?? defaultOperationTimeout;\n const platformArgs = args ? AppLaunchModelsExtension.getCurrentPlatformArguments(args) : [];\n const query = platformArgs.length ? platformArgs.join('&') : '';\n\n return UrlSchemeLauncher.launch({\n scheme,\n path: '',\n query,\n statusCheckInterval: interval,\n operationTimeout: timeout,\n });\n }\n\n async isAppRunning(): Promise<boolean> {\n return false;\n }\n}\n\n/**\n * Node 端启动器:按 AppInstallationPath 启动并轮询 isProcessRunning;\n * 桌面优先路径,无路径时不适用(应由工厂返回 Stub)。\n * 使用动态 import 加载 node_launcher,避免浏览器环境加载 child_process 等 Node 内置模块。\n */\nexport class NodePlatformAppLauncher implements PlatformAppLauncher {\n constructor(private readonly appInstallationPath: AppInstallationPath) { }\n\n async launchApp(options?: LaunchAppOptions): Promise<AppLaunchResult> {\n const nodeLauncherPath =\n typeof __BROWSER_BUILD__ !== 'undefined'\n ? '../launcher/node_launcher.browser.js'\n : '../launcher/node_launcher.js';\n const { NodeProcessLauncher } = await import(nodeLauncherPath);\n const args = options?.argumentsForInstallationPath\n ? AppLaunchModelsExtension.getCurrentPlatformArguments(options.argumentsForInstallationPath)\n : undefined;\n\n return NodeProcessLauncher.launchByPath(this.appInstallationPath, {\n args,\n statusCheckInterval: options?.statusCheckInterval ?? defaultStatusCheckInterval,\n operationTimeout: options?.operationTimeout ?? defaultOperationTimeout,\n });\n }\n\n async isAppRunning(): Promise<boolean> {\n const nodeLauncherPath =\n typeof __BROWSER_BUILD__ !== 'undefined'\n ? '../launcher/node_launcher.browser.js'\n : '../launcher/node_launcher.js';\n const { NodeProcessLauncher } = await import(nodeLauncherPath);\n return NodeProcessLauncher.isProcessRunning(this.appInstallationPath);\n }\n}\n"]}
@@ -0,0 +1,66 @@
1
+ import { AppLaunchResult } from '../model/app_launch_models.js';
2
+ import { AppLaunchModelsExtension } from '../model/app_launch_models_extension.js';
3
+ import { UrlSchemeLauncher } from '../launcher/url_scheme_launcher.js';
4
+
5
+ class StubPlatformAppLauncher {
6
+ async launchApp() {
7
+ return new AppLaunchResult(false);
8
+ }
9
+ async isAppRunning() {
10
+ return false;
11
+ }
12
+ }
13
+ const defaultStatusCheckInterval = 0.3;
14
+ const defaultOperationTimeout = 3;
15
+ class BrowserPlatformAppLauncher {
16
+ constructor(appIdentifier) {
17
+ this.appIdentifier = appIdentifier;
18
+ }
19
+ async launchApp(options) {
20
+ var _a, _b;
21
+ const scheme = this.appIdentifier.iOSScheme;
22
+ if (!scheme) {
23
+ return new AppLaunchResult(false, "No URL scheme (iOSScheme) in identifier");
24
+ }
25
+ const args = options == null ? void 0 : options.argumentsForIdentifier;
26
+ const interval = (_a = options == null ? void 0 : options.statusCheckInterval) != null ? _a : defaultStatusCheckInterval;
27
+ const timeout = (_b = options == null ? void 0 : options.operationTimeout) != null ? _b : defaultOperationTimeout;
28
+ const platformArgs = args ? AppLaunchModelsExtension.getCurrentPlatformArguments(args) : [];
29
+ const query = platformArgs.length ? platformArgs.join("&") : "";
30
+ return UrlSchemeLauncher.launch({
31
+ scheme,
32
+ path: "",
33
+ query,
34
+ statusCheckInterval: interval,
35
+ operationTimeout: timeout
36
+ });
37
+ }
38
+ async isAppRunning() {
39
+ return false;
40
+ }
41
+ }
42
+ class NodePlatformAppLauncher {
43
+ constructor(appInstallationPath) {
44
+ this.appInstallationPath = appInstallationPath;
45
+ }
46
+ async launchApp(options) {
47
+ var _a, _b;
48
+ const nodeLauncherPath = typeof __BROWSER_BUILD__ !== "undefined" ? "../launcher/node_launcher.browser.js" : "../launcher/node_launcher.js";
49
+ const { NodeProcessLauncher } = await import(nodeLauncherPath);
50
+ const args = (options == null ? void 0 : options.argumentsForInstallationPath) ? AppLaunchModelsExtension.getCurrentPlatformArguments(options.argumentsForInstallationPath) : void 0;
51
+ return NodeProcessLauncher.launchByPath(this.appInstallationPath, {
52
+ args,
53
+ statusCheckInterval: (_a = options == null ? void 0 : options.statusCheckInterval) != null ? _a : defaultStatusCheckInterval,
54
+ operationTimeout: (_b = options == null ? void 0 : options.operationTimeout) != null ? _b : defaultOperationTimeout
55
+ });
56
+ }
57
+ async isAppRunning() {
58
+ const nodeLauncherPath = typeof __BROWSER_BUILD__ !== "undefined" ? "../launcher/node_launcher.browser.js" : "../launcher/node_launcher.js";
59
+ const { NodeProcessLauncher } = await import(nodeLauncherPath);
60
+ return NodeProcessLauncher.isProcessRunning(this.appInstallationPath);
61
+ }
62
+ }
63
+
64
+ export { BrowserPlatformAppLauncher, NodePlatformAppLauncher, StubPlatformAppLauncher };
65
+ //# sourceMappingURL=real_platform_app_launcher.mjs.map
66
+ //# sourceMappingURL=real_platform_app_launcher.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/moonbridge-ipc/general/app_launch/internal/real_platform_app_launcher.ts"],"names":[],"mappings":"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","file":"real_platform_app_launcher.mjs","sourcesContent":["/**\n * 各平台启动器实现:Stub / Browser / Node。\n * Stub 用于未支持环境;Browser/Node 由 US1/US2 扩展。\n * __BROWSER_BUILD__ 由浏览器构建(如 wps-addin)通过 define 注入,用于切换 node_launcher 与 node_launcher.browser。\n */\ndeclare const __BROWSER_BUILD__: string | undefined;\n\nimport { AppInstallationPath, AppLaunchIdentifier } from '../model/app_info.js';\nimport { AppLaunchResult } from '../model/app_launch_models.js';\nimport { AppLaunchModelsExtension } from '../model/app_launch_models_extension.js';\nimport { LaunchAppOptions } from '../platform_app_launcher.js';\nimport { PlatformAppLauncher } from '../platform_app_launcher.js';\nimport { UrlSchemeLauncher } from '../launcher/url_scheme_launcher.js';\n\n/**\n * Stub 实现:当前环境未实现唤醒时使用;launchApp 返回失败,isAppRunning 返回 false。\n */\nexport class StubPlatformAppLauncher implements PlatformAppLauncher {\n async launchApp(): Promise<AppLaunchResult> {\n return new AppLaunchResult(false);\n }\n\n async isAppRunning(): Promise<boolean> {\n return false;\n }\n}\n\nconst defaultStatusCheckInterval = 0.3;\nconst defaultOperationTimeout = 3.0;\n\n/**\n * 浏览器用启动器:通过 URL Scheme(从 AppLaunchIdentifier 取 iOSScheme)唤起;\n * isAppRunning 在浏览器端不可知,返回 false。\n */\nexport class BrowserPlatformAppLauncher implements PlatformAppLauncher {\n constructor(private readonly appIdentifier: AppLaunchIdentifier) { }\n\n async launchApp(options?: LaunchAppOptions): Promise<AppLaunchResult> {\n const scheme = this.appIdentifier.iOSScheme;\n if (!scheme) {\n return new AppLaunchResult(false, 'No URL scheme (iOSScheme) in identifier');\n }\n\n const args = options?.argumentsForIdentifier;\n const interval = options?.statusCheckInterval ?? defaultStatusCheckInterval;\n const timeout = options?.operationTimeout ?? defaultOperationTimeout;\n const platformArgs = args ? AppLaunchModelsExtension.getCurrentPlatformArguments(args) : [];\n const query = platformArgs.length ? platformArgs.join('&') : '';\n\n return UrlSchemeLauncher.launch({\n scheme,\n path: '',\n query,\n statusCheckInterval: interval,\n operationTimeout: timeout,\n });\n }\n\n async isAppRunning(): Promise<boolean> {\n return false;\n }\n}\n\n/**\n * Node 端启动器:按 AppInstallationPath 启动并轮询 isProcessRunning;\n * 桌面优先路径,无路径时不适用(应由工厂返回 Stub)。\n * 使用动态 import 加载 node_launcher,避免浏览器环境加载 child_process 等 Node 内置模块。\n */\nexport class NodePlatformAppLauncher implements PlatformAppLauncher {\n constructor(private readonly appInstallationPath: AppInstallationPath) { }\n\n async launchApp(options?: LaunchAppOptions): Promise<AppLaunchResult> {\n const nodeLauncherPath =\n typeof __BROWSER_BUILD__ !== 'undefined'\n ? '../launcher/node_launcher.browser.js'\n : '../launcher/node_launcher.js';\n const { NodeProcessLauncher } = await import(nodeLauncherPath);\n const args = options?.argumentsForInstallationPath\n ? AppLaunchModelsExtension.getCurrentPlatformArguments(options.argumentsForInstallationPath)\n : undefined;\n\n return NodeProcessLauncher.launchByPath(this.appInstallationPath, {\n args,\n statusCheckInterval: options?.statusCheckInterval ?? defaultStatusCheckInterval,\n operationTimeout: options?.operationTimeout ?? defaultOperationTimeout,\n });\n }\n\n async isAppRunning(): Promise<boolean> {\n const nodeLauncherPath =\n typeof __BROWSER_BUILD__ !== 'undefined'\n ? '../launcher/node_launcher.browser.js'\n : '../launcher/node_launcher.js';\n const { NodeProcessLauncher } = await import(nodeLauncherPath);\n return NodeProcessLauncher.isProcessRunning(this.appInstallationPath);\n }\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import { AppInstallationPath } from '../model/app_info.mjs';
2
+ import { AppLaunchResult } from '../model/app_launch_models.mjs';
3
+
4
+ /**
5
+ * node_launcher 的浏览器 stub:避免在浏览器中加载 child_process 等 Node 内置模块。
6
+ * 当 __BROWSER_BUILD__ 被 define 时,real_platform_app_launcher 会导入此文件而非 node_launcher.ts。
7
+ */
8
+
9
+ declare class NodeProcessLauncher {
10
+ static isAppInstalled(_appInstallationPath: AppInstallationPath): boolean;
11
+ static launchByPath(_appInstallationPath: AppInstallationPath, _options?: {
12
+ args?: string[];
13
+ statusCheckInterval?: number;
14
+ operationTimeout?: number;
15
+ }): Promise<AppLaunchResult>;
16
+ static isProcessRunning(_appInstallationPath: AppInstallationPath): Promise<boolean>;
17
+ }
18
+
19
+ export { NodeProcessLauncher };
@@ -0,0 +1,16 @@
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
+ export declare class NodeProcessLauncher {
8
+ static isAppInstalled(_appInstallationPath: AppInstallationPath): boolean;
9
+ static launchByPath(_appInstallationPath: AppInstallationPath, _options?: {
10
+ args?: string[];
11
+ statusCheckInterval?: number;
12
+ operationTimeout?: number;
13
+ }): Promise<AppLaunchResult>;
14
+ static isProcessRunning(_appInstallationPath: AppInstallationPath): Promise<boolean>;
15
+ }
16
+ //# sourceMappingURL=node_launcher.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node_launcher.browser.d.ts","sourceRoot":"","sources":["../../../../../src/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,qBAAa,mBAAmB;IAC9B,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,GAAG,OAAO;WAI5D,YAAY,CACvB,oBAAoB,EAAE,mBAAmB,EACzC,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GACtF,OAAO,CAAC,eAAe,CAAC;WAId,gBAAgB,CAAC,oBAAoB,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;CAG3F"}
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var app_launch_models_js = require('../model/app_launch_models.js');
4
+
5
+ class NodeProcessLauncher {
6
+ static isAppInstalled(_appInstallationPath) {
7
+ return false;
8
+ }
9
+ static async launchByPath(_appInstallationPath, _options) {
10
+ return new app_launch_models_js.AppLaunchResult(false, "NodeProcessLauncher is not available in browser");
11
+ }
12
+ static async isProcessRunning(_appInstallationPath) {
13
+ return false;
14
+ }
15
+ }
16
+
17
+ exports.NodeProcessLauncher = NodeProcessLauncher;
18
+ //# sourceMappingURL=node_launcher.browser.js.map
19
+ //# sourceMappingURL=node_launcher.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.ts"],"names":["AppLaunchResult"],"mappings":";;;;AAOO,MAAM,mBAAA,CAAoB;AAAA,EAC/B,OAAO,eAAe,oBAAA,EAAoD;AACxE,IAAA,OAAO,KAAA;AAAA,EACT;AAAA,EAEA,aAAa,YAAA,CACX,oBAAA,EACA,QAAA,EAC0B;AAC1B,IAAA,OAAO,IAAIA,oCAAA,CAAgB,KAAA,EAAO,iDAAiD,CAAA;AAAA,EACrF;AAAA,EAEA,aAAa,iBAAiB,oBAAA,EAA6D;AACzF,IAAA,OAAO,KAAA;AAAA,EACT;AACF","file":"node_launcher.browser.js","sourcesContent":["/**\n * node_launcher 的浏览器 stub:避免在浏览器中加载 child_process 等 Node 内置模块。\n * 当 __BROWSER_BUILD__ 被 define 时,real_platform_app_launcher 会导入此文件而非 node_launcher.ts。\n */\nimport type { AppInstallationPath } from '../model/app_info.js';\nimport { AppLaunchResult } from '../model/app_launch_models.js';\n\nexport class NodeProcessLauncher {\n static isAppInstalled(_appInstallationPath: AppInstallationPath): boolean {\n return false;\n }\n\n static async launchByPath(\n _appInstallationPath: AppInstallationPath,\n _options?: { args?: string[]; statusCheckInterval?: number; operationTimeout?: number },\n ): Promise<AppLaunchResult> {\n return new AppLaunchResult(false, 'NodeProcessLauncher is not available in browser');\n }\n\n static async isProcessRunning(_appInstallationPath: AppInstallationPath): Promise<boolean> {\n return false;\n }\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import { AppLaunchResult } from '../model/app_launch_models.js';
2
+
3
+ class NodeProcessLauncher {
4
+ static isAppInstalled(_appInstallationPath) {
5
+ return false;
6
+ }
7
+ static async launchByPath(_appInstallationPath, _options) {
8
+ return new AppLaunchResult(false, "NodeProcessLauncher is not available in browser");
9
+ }
10
+ static async isProcessRunning(_appInstallationPath) {
11
+ return false;
12
+ }
13
+ }
14
+
15
+ export { NodeProcessLauncher };
16
+ //# sourceMappingURL=node_launcher.browser.mjs.map
17
+ //# sourceMappingURL=node_launcher.browser.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/moonbridge-ipc/general/app_launch/launcher/node_launcher.browser.ts"],"names":[],"mappings":";;AAOO,MAAM,mBAAA,CAAoB;AAAA,EAC/B,OAAO,eAAe,oBAAA,EAAoD;AACxE,IAAA,OAAO,KAAA;AAAA,EACT;AAAA,EAEA,aAAa,YAAA,CACX,oBAAA,EACA,QAAA,EAC0B;AAC1B,IAAA,OAAO,IAAI,eAAA,CAAgB,KAAA,EAAO,iDAAiD,CAAA;AAAA,EACrF;AAAA,EAEA,aAAa,iBAAiB,oBAAA,EAA6D;AACzF,IAAA,OAAO,KAAA;AAAA,EACT;AACF","file":"node_launcher.browser.mjs","sourcesContent":["/**\n * node_launcher 的浏览器 stub:避免在浏览器中加载 child_process 等 Node 内置模块。\n * 当 __BROWSER_BUILD__ 被 define 时,real_platform_app_launcher 会导入此文件而非 node_launcher.ts。\n */\nimport type { AppInstallationPath } from '../model/app_info.js';\nimport { AppLaunchResult } from '../model/app_launch_models.js';\n\nexport class NodeProcessLauncher {\n static isAppInstalled(_appInstallationPath: AppInstallationPath): boolean {\n return false;\n }\n\n static async launchByPath(\n _appInstallationPath: AppInstallationPath,\n _options?: { args?: string[]; statusCheckInterval?: number; operationTimeout?: number },\n ): Promise<AppLaunchResult> {\n return new AppLaunchResult(false, 'NodeProcessLauncher is not available in browser');\n }\n\n static async isProcessRunning(_appInstallationPath: AppInstallationPath): Promise<boolean> {\n return false;\n }\n}\n"]}
@@ -0,0 +1,37 @@
1
+ import { AppInstallationPath } from '../model/app_info.mjs';
2
+ import { AppLaunchResult } from '../model/app_launch_models.mjs';
3
+
4
+ /**
5
+ * Node 端按安装路径启动与进程检测,与 research 第 3 节一致。
6
+ * 使用 child_process.spawn(detached)、tasklist/ps 等,无额外依赖。
7
+ * 019:启动前增加 isAppInstalled 检测,未安装时返回 APP_NOT_INSTALLED。
8
+ */
9
+
10
+ interface NodeLaunchOptions {
11
+ args?: string[];
12
+ statusCheckInterval?: number;
13
+ operationTimeout?: number;
14
+ }
15
+ /**
16
+ * Node 端按路径启动与进程检测(013:一级函数收敛为类静态方法)。
17
+ */
18
+ declare class NodeProcessLauncher {
19
+ /**
20
+ * 检查目标应用是否已安装(路径对应的文件/目录是否存在)。
21
+ * macOS .app 为目录;Windows 为 exe 文件;Linux 为可执行文件。
22
+ */
23
+ static isAppInstalled(appInstallationPath: AppInstallationPath): boolean;
24
+ /**
25
+ * 按当前平台路径启动进程;Windows 直接 spawn 路径,macOS 使用 open -a 或 spawn。
26
+ * 启动前检查 isAppInstalled,未安装时返回 APP_NOT_INSTALLED。
27
+ * 启动后按 statusCheckInterval 轮询 isProcessRunning,在 operationTimeout 内有一次为 true 即返回成功。
28
+ */
29
+ static launchByPath(appInstallationPath: AppInstallationPath, options?: NodeLaunchOptions): Promise<AppLaunchResult>;
30
+ /**
31
+ * 当前平台下该安装路径对应进程是否在运行。
32
+ * Windows: tasklist 匹配 exe 名;macOS: ps 匹配路径;Linux: ps 匹配路径。
33
+ */
34
+ static isProcessRunning(appInstallationPath: AppInstallationPath): Promise<boolean>;
35
+ }
36
+
37
+ export { type NodeLaunchOptions, NodeProcessLauncher };
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Node 端按安装路径启动与进程检测,与 research 第 3 节一致。
3
+ * 使用 child_process.spawn(detached)、tasklist/ps 等,无额外依赖。
4
+ * 019:启动前增加 isAppInstalled 检测,未安装时返回 APP_NOT_INSTALLED。
5
+ */
6
+ import { AppInstallationPath } from '../model/app_info.js';
7
+ import { AppLaunchResult } from '../model/app_launch_models.js';
8
+ export interface NodeLaunchOptions {
9
+ args?: string[];
10
+ statusCheckInterval?: number;
11
+ operationTimeout?: number;
12
+ }
13
+ /**
14
+ * Node 端按路径启动与进程检测(013:一级函数收敛为类静态方法)。
15
+ */
16
+ export declare class NodeProcessLauncher {
17
+ /**
18
+ * 检查目标应用是否已安装(路径对应的文件/目录是否存在)。
19
+ * macOS .app 为目录;Windows 为 exe 文件;Linux 为可执行文件。
20
+ */
21
+ static isAppInstalled(appInstallationPath: AppInstallationPath): boolean;
22
+ /**
23
+ * 按当前平台路径启动进程;Windows 直接 spawn 路径,macOS 使用 open -a 或 spawn。
24
+ * 启动前检查 isAppInstalled,未安装时返回 APP_NOT_INSTALLED。
25
+ * 启动后按 statusCheckInterval 轮询 isProcessRunning,在 operationTimeout 内有一次为 true 即返回成功。
26
+ */
27
+ static launchByPath(appInstallationPath: AppInstallationPath, options?: NodeLaunchOptions): Promise<AppLaunchResult>;
28
+ /**
29
+ * 当前平台下该安装路径对应进程是否在运行。
30
+ * Windows: tasklist 匹配 exe 名;macOS: ps 匹配路径;Linux: ps 匹配路径。
31
+ */
32
+ static isProcessRunning(appInstallationPath: AppInstallationPath): Promise<boolean>;
33
+ }
34
+ //# sourceMappingURL=node_launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node_launcher.d.ts","sourceRoot":"","sources":["../../../../../src/moonbridge-ipc/general/app_launch/launcher/node_launcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAOhE,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,OAAO;IAUxE;;;;OAIG;WACU,YAAY,CACvB,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,eAAe,CAAC;IAmD3B;;;OAGG;WACU,gBAAgB,CAC3B,mBAAmB,EAAE,mBAAmB,GACvC,OAAO,CAAC,OAAO,CAAC;CA8BpB"}
@@ -0,0 +1,116 @@
1
+ 'use strict';
2
+
3
+ var child_process = require('child_process');
4
+ var fs = require('fs');
5
+ var process = require('process');
6
+ var app_launch_models_js = require('../model/app_launch_models.js');
7
+ var app_launch_error_codes_js = require('../model/app_launch_error_codes.js');
8
+ var app_launch_models_extension_js = require('../model/app_launch_models_extension.js');
9
+
10
+ const defaultStatusCheckInterval = 0.3;
11
+ const defaultOperationTimeout = 3;
12
+ class NodeProcessLauncher {
13
+ /**
14
+ * 检查目标应用是否已安装(路径对应的文件/目录是否存在)。
15
+ * macOS .app 为目录;Windows 为 exe 文件;Linux 为可执行文件。
16
+ */
17
+ static isAppInstalled(appInstallationPath) {
18
+ const pathStr = app_launch_models_extension_js.AppLaunchModelsExtension.getCurrentPlatformPath(appInstallationPath);
19
+ if (!pathStr) return false;
20
+ try {
21
+ return fs.existsSync(pathStr);
22
+ } catch {
23
+ return false;
24
+ }
25
+ }
26
+ /**
27
+ * 按当前平台路径启动进程;Windows 直接 spawn 路径,macOS 使用 open -a 或 spawn。
28
+ * 启动前检查 isAppInstalled,未安装时返回 APP_NOT_INSTALLED。
29
+ * 启动后按 statusCheckInterval 轮询 isProcessRunning,在 operationTimeout 内有一次为 true 即返回成功。
30
+ */
31
+ static async launchByPath(appInstallationPath, options = {}) {
32
+ var _a, _b, _c;
33
+ const pathStr = app_launch_models_extension_js.AppLaunchModelsExtension.getCurrentPlatformPath(appInstallationPath);
34
+ if (!pathStr) {
35
+ return new app_launch_models_js.AppLaunchResult(false, "No installation path for current platform");
36
+ }
37
+ if (!NodeProcessLauncher.isAppInstalled(appInstallationPath)) {
38
+ return new app_launch_models_js.AppLaunchResult(false, app_launch_error_codes_js.APP_NOT_INSTALLED);
39
+ }
40
+ const interval = ((_a = options.statusCheckInterval) != null ? _a : defaultStatusCheckInterval) * 1e3;
41
+ const timeout = ((_b = options.operationTimeout) != null ? _b : defaultOperationTimeout) * 1e3;
42
+ const args = (_c = options.args) != null ? _c : [];
43
+ try {
44
+ if (process.platform === "win32") {
45
+ child_process.spawn(pathStr, args, {
46
+ detached: true,
47
+ stdio: "ignore",
48
+ shell: false
49
+ }).unref();
50
+ } else if (process.platform === "darwin") {
51
+ if (pathStr.endsWith(".app")) {
52
+ child_process.spawn("open", ["-a", pathStr, ...args], {
53
+ detached: true,
54
+ stdio: "ignore"
55
+ }).unref();
56
+ } else {
57
+ child_process.spawn(pathStr, args, {
58
+ detached: true,
59
+ stdio: "ignore"
60
+ }).unref();
61
+ }
62
+ } else {
63
+ child_process.spawn(pathStr, args, {
64
+ detached: true,
65
+ stdio: "ignore"
66
+ }).unref();
67
+ }
68
+ } catch (e) {
69
+ const message = e instanceof Error ? e.message : String(e);
70
+ return new app_launch_models_js.AppLaunchResult(false, message);
71
+ }
72
+ const deadline = Date.now() + timeout;
73
+ while (Date.now() < deadline) {
74
+ const running = await NodeProcessLauncher.isProcessRunning(appInstallationPath);
75
+ if (running) return new app_launch_models_js.AppLaunchResult(true);
76
+ await new Promise((r) => setTimeout(r, interval));
77
+ }
78
+ return new app_launch_models_js.AppLaunchResult(false, "Process did not appear within timeout");
79
+ }
80
+ /**
81
+ * 当前平台下该安装路径对应进程是否在运行。
82
+ * Windows: tasklist 匹配 exe 名;macOS: ps 匹配路径;Linux: ps 匹配路径。
83
+ */
84
+ static async isProcessRunning(appInstallationPath) {
85
+ var _a;
86
+ const pathStr = app_launch_models_extension_js.AppLaunchModelsExtension.getCurrentPlatformPath(appInstallationPath);
87
+ if (!pathStr) return false;
88
+ if (process.platform === "win32") {
89
+ const exeName = (_a = pathStr.split(/[/\\]/).pop()) != null ? _a : "";
90
+ if (!exeName) return false;
91
+ try {
92
+ const { execSync } = await import('child_process');
93
+ const out = execSync("tasklist /FO CSV /NH", { encoding: "utf-8", windowsHide: true });
94
+ return out.toLowerCase().includes(exeName.toLowerCase());
95
+ } catch {
96
+ return false;
97
+ }
98
+ }
99
+ if (process.platform === "darwin" || process.platform === "linux") {
100
+ try {
101
+ const { execSync } = await import('child_process');
102
+ const out = execSync(`ps -eo args= 2>/dev/null || ps -e -o args= 2>/dev/null`, {
103
+ encoding: "utf-8"
104
+ });
105
+ return out.includes(pathStr);
106
+ } catch {
107
+ return false;
108
+ }
109
+ }
110
+ return false;
111
+ }
112
+ }
113
+
114
+ exports.NodeProcessLauncher = NodeProcessLauncher;
115
+ //# sourceMappingURL=node_launcher.js.map
116
+ //# sourceMappingURL=node_launcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/moonbridge-ipc/general/app_launch/launcher/node_launcher.ts"],"names":["AppLaunchModelsExtension","existsSync","AppLaunchResult","APP_NOT_INSTALLED","platform","spawn"],"mappings":"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","file":"node_launcher.js","sourcesContent":["/**\n * Node 端按安装路径启动与进程检测,与 research 第 3 节一致。\n * 使用 child_process.spawn(detached)、tasklist/ps 等,无额外依赖。\n * 019:启动前增加 isAppInstalled 检测,未安装时返回 APP_NOT_INSTALLED。\n */\n\nimport { spawn } from 'child_process';\nimport { existsSync } from 'fs';\nimport { platform } from 'process';\nimport { AppInstallationPath } from '../model/app_info.js';\nimport { AppLaunchResult } from '../model/app_launch_models.js';\nimport { APP_NOT_INSTALLED } from '../model/app_launch_error_codes.js';\nimport { AppLaunchModelsExtension } from '../model/app_launch_models_extension.js';\n\nconst defaultStatusCheckInterval = 0.3;\nconst defaultOperationTimeout = 3.0;\n\nexport interface NodeLaunchOptions {\n args?: string[];\n statusCheckInterval?: number;\n operationTimeout?: number;\n}\n\n/**\n * Node 端按路径启动与进程检测(013:一级函数收敛为类静态方法)。\n */\nexport class NodeProcessLauncher {\n /**\n * 检查目标应用是否已安装(路径对应的文件/目录是否存在)。\n * macOS .app 为目录;Windows 为 exe 文件;Linux 为可执行文件。\n */\n static isAppInstalled(appInstallationPath: AppInstallationPath): boolean {\n const pathStr = AppLaunchModelsExtension.getCurrentPlatformPath(appInstallationPath);\n if (!pathStr) return false;\n try {\n return existsSync(pathStr);\n } catch {\n return false;\n }\n }\n\n /**\n * 按当前平台路径启动进程;Windows 直接 spawn 路径,macOS 使用 open -a 或 spawn。\n * 启动前检查 isAppInstalled,未安装时返回 APP_NOT_INSTALLED。\n * 启动后按 statusCheckInterval 轮询 isProcessRunning,在 operationTimeout 内有一次为 true 即返回成功。\n */\n static async launchByPath(\n appInstallationPath: AppInstallationPath,\n options: NodeLaunchOptions = {},\n ): Promise<AppLaunchResult> {\n const pathStr = AppLaunchModelsExtension.getCurrentPlatformPath(appInstallationPath);\n if (!pathStr) {\n return new AppLaunchResult(false, 'No installation path for current platform');\n }\n if (!NodeProcessLauncher.isAppInstalled(appInstallationPath)) {\n return new AppLaunchResult(false, APP_NOT_INSTALLED);\n }\n const interval = (options.statusCheckInterval ?? defaultStatusCheckInterval) * 1000;\n const timeout = (options.operationTimeout ?? defaultOperationTimeout) * 1000;\n const args = options.args ?? [];\n\n try {\n if (platform === 'win32') {\n spawn(pathStr, args, {\n detached: true,\n stdio: 'ignore',\n shell: false,\n }).unref();\n } else if (platform === 'darwin') {\n if (pathStr.endsWith('.app')) {\n spawn('open', ['-a', pathStr, ...args], {\n detached: true,\n stdio: 'ignore',\n }).unref();\n } else {\n spawn(pathStr, args, {\n detached: true,\n stdio: 'ignore',\n }).unref();\n }\n } else {\n spawn(pathStr, args, {\n detached: true,\n stdio: 'ignore',\n }).unref();\n }\n } catch (e) {\n const message = e instanceof Error ? e.message : String(e);\n return new AppLaunchResult(false, message);\n }\n\n const deadline = Date.now() + timeout;\n while (Date.now() < deadline) {\n const running = await NodeProcessLauncher.isProcessRunning(appInstallationPath);\n if (running) return new AppLaunchResult(true);\n await new Promise((r) => setTimeout(r, interval));\n }\n return new AppLaunchResult(false, 'Process did not appear within timeout');\n }\n\n /**\n * 当前平台下该安装路径对应进程是否在运行。\n * Windows: tasklist 匹配 exe 名;macOS: ps 匹配路径;Linux: ps 匹配路径。\n */\n static async isProcessRunning(\n appInstallationPath: AppInstallationPath,\n ): Promise<boolean> {\n const pathStr = AppLaunchModelsExtension.getCurrentPlatformPath(appInstallationPath);\n if (!pathStr) return false;\n\n if (platform === 'win32') {\n const exeName = pathStr.split(/[/\\\\]/).pop() ?? '';\n if (!exeName) return false;\n try {\n const { execSync } = await import('child_process');\n const out = execSync('tasklist /FO CSV /NH', { encoding: 'utf-8', windowsHide: true });\n return out.toLowerCase().includes(exeName.toLowerCase());\n } catch {\n return false;\n }\n }\n\n if (platform === 'darwin' || platform === 'linux') {\n try {\n const { execSync } = await import('child_process');\n const out = execSync(`ps -eo args= 2>/dev/null || ps -e -o args= 2>/dev/null`, {\n encoding: 'utf-8',\n });\n return out.includes(pathStr);\n } catch {\n return false;\n }\n }\n\n return false;\n }\n}\n\n"]}
@@ -0,0 +1,114 @@
1
+ import { spawn } from 'child_process';
2
+ import { existsSync } from 'fs';
3
+ import { platform } from 'process';
4
+ import { AppLaunchResult } from '../model/app_launch_models.js';
5
+ import { APP_NOT_INSTALLED } from '../model/app_launch_error_codes.js';
6
+ import { AppLaunchModelsExtension } from '../model/app_launch_models_extension.js';
7
+
8
+ const defaultStatusCheckInterval = 0.3;
9
+ const defaultOperationTimeout = 3;
10
+ class NodeProcessLauncher {
11
+ /**
12
+ * 检查目标应用是否已安装(路径对应的文件/目录是否存在)。
13
+ * macOS .app 为目录;Windows 为 exe 文件;Linux 为可执行文件。
14
+ */
15
+ static isAppInstalled(appInstallationPath) {
16
+ const pathStr = AppLaunchModelsExtension.getCurrentPlatformPath(appInstallationPath);
17
+ if (!pathStr) return false;
18
+ try {
19
+ return existsSync(pathStr);
20
+ } catch {
21
+ return false;
22
+ }
23
+ }
24
+ /**
25
+ * 按当前平台路径启动进程;Windows 直接 spawn 路径,macOS 使用 open -a 或 spawn。
26
+ * 启动前检查 isAppInstalled,未安装时返回 APP_NOT_INSTALLED。
27
+ * 启动后按 statusCheckInterval 轮询 isProcessRunning,在 operationTimeout 内有一次为 true 即返回成功。
28
+ */
29
+ static async launchByPath(appInstallationPath, options = {}) {
30
+ var _a, _b, _c;
31
+ const pathStr = AppLaunchModelsExtension.getCurrentPlatformPath(appInstallationPath);
32
+ if (!pathStr) {
33
+ return new AppLaunchResult(false, "No installation path for current platform");
34
+ }
35
+ if (!NodeProcessLauncher.isAppInstalled(appInstallationPath)) {
36
+ return new AppLaunchResult(false, APP_NOT_INSTALLED);
37
+ }
38
+ const interval = ((_a = options.statusCheckInterval) != null ? _a : defaultStatusCheckInterval) * 1e3;
39
+ const timeout = ((_b = options.operationTimeout) != null ? _b : defaultOperationTimeout) * 1e3;
40
+ const args = (_c = options.args) != null ? _c : [];
41
+ try {
42
+ if (platform === "win32") {
43
+ spawn(pathStr, args, {
44
+ detached: true,
45
+ stdio: "ignore",
46
+ shell: false
47
+ }).unref();
48
+ } else if (platform === "darwin") {
49
+ if (pathStr.endsWith(".app")) {
50
+ spawn("open", ["-a", pathStr, ...args], {
51
+ detached: true,
52
+ stdio: "ignore"
53
+ }).unref();
54
+ } else {
55
+ spawn(pathStr, args, {
56
+ detached: true,
57
+ stdio: "ignore"
58
+ }).unref();
59
+ }
60
+ } else {
61
+ spawn(pathStr, args, {
62
+ detached: true,
63
+ stdio: "ignore"
64
+ }).unref();
65
+ }
66
+ } catch (e) {
67
+ const message = e instanceof Error ? e.message : String(e);
68
+ return new AppLaunchResult(false, message);
69
+ }
70
+ const deadline = Date.now() + timeout;
71
+ while (Date.now() < deadline) {
72
+ const running = await NodeProcessLauncher.isProcessRunning(appInstallationPath);
73
+ if (running) return new AppLaunchResult(true);
74
+ await new Promise((r) => setTimeout(r, interval));
75
+ }
76
+ return new AppLaunchResult(false, "Process did not appear within timeout");
77
+ }
78
+ /**
79
+ * 当前平台下该安装路径对应进程是否在运行。
80
+ * Windows: tasklist 匹配 exe 名;macOS: ps 匹配路径;Linux: ps 匹配路径。
81
+ */
82
+ static async isProcessRunning(appInstallationPath) {
83
+ var _a;
84
+ const pathStr = AppLaunchModelsExtension.getCurrentPlatformPath(appInstallationPath);
85
+ if (!pathStr) return false;
86
+ if (platform === "win32") {
87
+ const exeName = (_a = pathStr.split(/[/\\]/).pop()) != null ? _a : "";
88
+ if (!exeName) return false;
89
+ try {
90
+ const { execSync } = await import('child_process');
91
+ const out = execSync("tasklist /FO CSV /NH", { encoding: "utf-8", windowsHide: true });
92
+ return out.toLowerCase().includes(exeName.toLowerCase());
93
+ } catch {
94
+ return false;
95
+ }
96
+ }
97
+ if (platform === "darwin" || platform === "linux") {
98
+ try {
99
+ const { execSync } = await import('child_process');
100
+ const out = execSync(`ps -eo args= 2>/dev/null || ps -e -o args= 2>/dev/null`, {
101
+ encoding: "utf-8"
102
+ });
103
+ return out.includes(pathStr);
104
+ } catch {
105
+ return false;
106
+ }
107
+ }
108
+ return false;
109
+ }
110
+ }
111
+
112
+ export { NodeProcessLauncher };
113
+ //# sourceMappingURL=node_launcher.mjs.map
114
+ //# sourceMappingURL=node_launcher.mjs.map