@eclipse-glsp/server 1.1.0-next.3d7585d.42 → 1.1.0-next.42963d6.55

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 (365) hide show
  1. package/lib/browser/di/app-module.d.ts +2 -7
  2. package/lib/browser/di/app-module.d.ts.map +1 -1
  3. package/lib/browser/di/app-module.js +5 -30
  4. package/lib/browser/di/app-module.js.map +1 -1
  5. package/lib/browser/index.d.ts +0 -1
  6. package/lib/browser/index.d.ts.map +1 -1
  7. package/lib/browser/index.js +0 -1
  8. package/lib/browser/index.js.map +1 -1
  9. package/lib/browser/launch/worker-server-launcher.d.ts +11 -8
  10. package/lib/browser/launch/worker-server-launcher.d.ts.map +1 -1
  11. package/lib/browser/launch/worker-server-launcher.js +13 -21
  12. package/lib/browser/launch/worker-server-launcher.js.map +1 -1
  13. package/lib/common/actions/client-action-handler.d.ts +1 -2
  14. package/lib/common/actions/client-action-handler.d.ts.map +1 -1
  15. package/lib/common/actions/client-action-handler.js +17 -2
  16. package/lib/common/actions/client-action-handler.js.map +1 -1
  17. package/lib/common/command/command-stack.d.ts +60 -14
  18. package/lib/common/command/command-stack.d.ts.map +1 -1
  19. package/lib/common/command/command-stack.js +78 -24
  20. package/lib/common/command/command-stack.js.map +1 -1
  21. package/lib/common/command/command.d.ts +34 -7
  22. package/lib/common/command/command.d.ts.map +1 -1
  23. package/lib/common/command/command.js +73 -0
  24. package/lib/common/command/command.js.map +1 -1
  25. package/lib/common/command/recording-command.d.ts +75 -0
  26. package/lib/common/command/recording-command.d.ts.map +1 -0
  27. package/lib/common/command/recording-command.js +99 -0
  28. package/lib/common/command/recording-command.js.map +1 -0
  29. package/lib/common/command/undo-redo-action-handler.d.ts +28 -0
  30. package/lib/common/command/undo-redo-action-handler.d.ts.map +1 -0
  31. package/lib/common/command/undo-redo-action-handler.js +72 -0
  32. package/lib/common/command/undo-redo-action-handler.js.map +1 -0
  33. package/lib/common/di/client-session-module.d.ts +1 -1
  34. package/lib/common/di/client-session-module.d.ts.map +1 -1
  35. package/lib/common/di/client-session-module.js +2 -2
  36. package/lib/common/di/client-session-module.js.map +1 -1
  37. package/lib/common/di/diagram-module.d.ts +3 -0
  38. package/lib/common/di/diagram-module.d.ts.map +1 -1
  39. package/lib/common/di/diagram-module.js +12 -0
  40. package/lib/common/di/diagram-module.js.map +1 -1
  41. package/lib/common/di/glsp-module.d.ts +3 -1
  42. package/lib/common/di/glsp-module.d.ts.map +1 -1
  43. package/lib/common/di/glsp-module.js +0 -15
  44. package/lib/common/di/glsp-module.js.map +1 -1
  45. package/lib/common/di/multi-binding.d.ts +19 -4
  46. package/lib/common/di/multi-binding.d.ts.map +1 -1
  47. package/lib/common/di/multi-binding.js.map +1 -1
  48. package/lib/common/di/server-module.d.ts +1 -6
  49. package/lib/common/di/server-module.d.ts.map +1 -1
  50. package/lib/common/di/server-module.js +21 -17
  51. package/lib/common/di/server-module.js.map +1 -1
  52. package/lib/common/features/contextactions/tool-palette-item-provider.d.ts +1 -1
  53. package/lib/common/features/contextactions/tool-palette-item-provider.d.ts.map +1 -1
  54. package/lib/common/features/contextactions/tool-palette-item-provider.js +2 -4
  55. package/lib/common/features/contextactions/tool-palette-item-provider.js.map +1 -1
  56. package/lib/common/{gmodel → features/layout}/computed-bounds-action-handler.d.ts +8 -3
  57. package/lib/common/features/layout/computed-bounds-action-handler.d.ts.map +1 -0
  58. package/lib/common/{gmodel → features/layout}/computed-bounds-action-handler.js +9 -4
  59. package/lib/common/features/layout/computed-bounds-action-handler.js.map +1 -0
  60. package/lib/common/features/layout/layout-operation-handler.d.ts +12 -3
  61. package/lib/common/features/layout/layout-operation-handler.d.ts.map +1 -1
  62. package/lib/common/features/layout/layout-operation-handler.js +26 -10
  63. package/lib/common/features/layout/layout-operation-handler.js.map +1 -1
  64. package/lib/common/features/model/model-state.d.ts +0 -2
  65. package/lib/common/features/model/model-state.d.ts.map +1 -1
  66. package/lib/common/features/model/model-state.js +0 -1
  67. package/lib/common/features/model/model-state.js.map +1 -1
  68. package/lib/common/features/model/model-submission-handler.d.ts +2 -0
  69. package/lib/common/features/model/model-submission-handler.d.ts.map +1 -1
  70. package/lib/common/features/model/model-submission-handler.js +7 -2
  71. package/lib/common/features/model/model-submission-handler.js.map +1 -1
  72. package/lib/common/features/model/save-model-action-handler.d.ts +2 -2
  73. package/lib/common/features/model/save-model-action-handler.d.ts.map +1 -1
  74. package/lib/common/features/model/save-model-action-handler.js +5 -5
  75. package/lib/common/features/model/save-model-action-handler.js.map +1 -1
  76. package/lib/common/gmodel/apply-label-edit-operation-handler.d.ts +4 -5
  77. package/lib/common/gmodel/apply-label-edit-operation-handler.d.ts.map +1 -1
  78. package/lib/common/gmodel/apply-label-edit-operation-handler.js +12 -21
  79. package/lib/common/gmodel/apply-label-edit-operation-handler.js.map +1 -1
  80. package/lib/common/gmodel/change-bounds-operation-handler.d.ts +9 -6
  81. package/lib/common/gmodel/change-bounds-operation-handler.d.ts.map +1 -1
  82. package/lib/common/gmodel/change-bounds-operation-handler.js +14 -14
  83. package/lib/common/gmodel/change-bounds-operation-handler.js.map +1 -1
  84. package/lib/common/gmodel/change-routing-points-operation-handler.d.ts +5 -5
  85. package/lib/common/gmodel/change-routing-points-operation-handler.d.ts.map +1 -1
  86. package/lib/common/gmodel/change-routing-points-operation-handler.js +11 -14
  87. package/lib/common/gmodel/change-routing-points-operation-handler.js.map +1 -1
  88. package/lib/common/{operations → gmodel}/cut-operation-handler.d.ts +5 -4
  89. package/lib/common/gmodel/cut-operation-handler.d.ts.map +1 -0
  90. package/lib/common/{operations → gmodel}/cut-operation-handler.js +13 -11
  91. package/lib/common/gmodel/cut-operation-handler.js.map +1 -0
  92. package/lib/common/gmodel/delete-operation-handler.d.ts +6 -6
  93. package/lib/common/gmodel/delete-operation-handler.d.ts.map +1 -1
  94. package/lib/common/gmodel/delete-operation-handler.js +13 -10
  95. package/lib/common/gmodel/delete-operation-handler.js.map +1 -1
  96. package/lib/common/gmodel/gmodel-create-edge-operation-handler.d.ts +11 -7
  97. package/lib/common/gmodel/gmodel-create-edge-operation-handler.d.ts.map +1 -1
  98. package/lib/common/gmodel/gmodel-create-edge-operation-handler.js +12 -13
  99. package/lib/common/gmodel/gmodel-create-edge-operation-handler.js.map +1 -1
  100. package/lib/common/gmodel/gmodel-create-node-operation-handler.d.ts +32 -5
  101. package/lib/common/gmodel/gmodel-create-node-operation-handler.d.ts.map +1 -1
  102. package/lib/common/gmodel/gmodel-create-node-operation-handler.js +45 -3
  103. package/lib/common/gmodel/gmodel-create-node-operation-handler.js.map +1 -1
  104. package/lib/common/gmodel/gmodel-diagram-module.d.ts +8 -8
  105. package/lib/common/gmodel/gmodel-diagram-module.d.ts.map +1 -1
  106. package/lib/common/gmodel/gmodel-diagram-module.js +15 -21
  107. package/lib/common/gmodel/gmodel-diagram-module.js.map +1 -1
  108. package/lib/{node/launch/socket-server-launcher.spec.d.ts → common/gmodel/gmodel-operation-handler.d.ts} +9 -3
  109. package/lib/common/gmodel/gmodel-operation-handler.d.ts.map +1 -0
  110. package/lib/common/{protocol/glsp-client-proxy.js → gmodel/gmodel-operation-handler.js} +25 -35
  111. package/lib/common/gmodel/gmodel-operation-handler.js.map +1 -0
  112. package/lib/common/gmodel/index.d.ts +2 -1
  113. package/lib/common/gmodel/index.d.ts.map +1 -1
  114. package/lib/common/gmodel/index.js +2 -1
  115. package/lib/common/gmodel/index.js.map +1 -1
  116. package/lib/common/gmodel/paste-operation-handler.d.ts +7 -6
  117. package/lib/common/gmodel/paste-operation-handler.d.ts.map +1 -1
  118. package/lib/common/gmodel/paste-operation-handler.js +20 -15
  119. package/lib/common/gmodel/paste-operation-handler.js.map +1 -1
  120. package/lib/common/gmodel/reconnect-edge-operation-handler.d.ts +5 -5
  121. package/lib/common/gmodel/reconnect-edge-operation-handler.d.ts.map +1 -1
  122. package/lib/common/gmodel/reconnect-edge-operation-handler.js +11 -14
  123. package/lib/common/gmodel/reconnect-edge-operation-handler.js.map +1 -1
  124. package/lib/common/index.d.ts +5 -3
  125. package/lib/common/index.d.ts.map +1 -1
  126. package/lib/common/index.js +5 -3
  127. package/lib/common/index.js.map +1 -1
  128. package/lib/common/launch/glsp-server-launcher.d.ts +8 -7
  129. package/lib/common/launch/glsp-server-launcher.d.ts.map +1 -1
  130. package/lib/common/launch/glsp-server-launcher.js +27 -4
  131. package/lib/common/launch/glsp-server-launcher.js.map +1 -1
  132. package/lib/common/launch/jsonrpc-server-launcher.d.ts +38 -0
  133. package/lib/common/launch/jsonrpc-server-launcher.d.ts.map +1 -0
  134. package/lib/common/launch/jsonrpc-server-launcher.js +84 -0
  135. package/lib/common/launch/jsonrpc-server-launcher.js.map +1 -0
  136. package/lib/common/operations/compound-operation-handler.d.ts +5 -5
  137. package/lib/common/operations/compound-operation-handler.d.ts.map +1 -1
  138. package/lib/common/operations/compound-operation-handler.js +37 -9
  139. package/lib/common/operations/compound-operation-handler.js.map +1 -1
  140. package/lib/common/operations/create-operation-handler.d.ts +8 -40
  141. package/lib/common/operations/create-operation-handler.d.ts.map +1 -1
  142. package/lib/common/operations/create-operation-handler.js +26 -85
  143. package/lib/common/operations/create-operation-handler.js.map +1 -1
  144. package/lib/common/operations/operation-action-handler.d.ts +10 -1
  145. package/lib/common/operations/operation-action-handler.d.ts.map +1 -1
  146. package/lib/common/operations/operation-action-handler.js +37 -22
  147. package/lib/common/operations/operation-action-handler.js.map +1 -1
  148. package/lib/common/operations/operation-handler-registry.d.ts +11 -2
  149. package/lib/common/operations/operation-handler-registry.d.ts.map +1 -1
  150. package/lib/common/operations/operation-handler-registry.js +31 -2
  151. package/lib/common/operations/operation-handler-registry.js.map +1 -1
  152. package/lib/common/operations/operation-handler.d.ts +28 -11
  153. package/lib/common/operations/operation-handler.d.ts.map +1 -1
  154. package/lib/common/operations/operation-handler.js +50 -1
  155. package/lib/common/operations/operation-handler.js.map +1 -1
  156. package/lib/common/protocol/glsp-server.d.ts +4 -104
  157. package/lib/common/protocol/glsp-server.d.ts.map +1 -1
  158. package/lib/common/protocol/glsp-server.js +13 -20
  159. package/lib/common/protocol/glsp-server.js.map +1 -1
  160. package/lib/common/session/client-session-factory.d.ts +1 -2
  161. package/lib/common/session/client-session-factory.d.ts.map +1 -1
  162. package/lib/common/session/client-session-factory.js +17 -2
  163. package/lib/common/session/client-session-factory.js.map +1 -1
  164. package/lib/common/session/client-session-manager.d.ts +1 -3
  165. package/lib/common/session/client-session-manager.d.ts.map +1 -1
  166. package/lib/common/session/client-session-manager.js.map +1 -1
  167. package/lib/{browser/di → common/utils}/console-logger.d.ts +7 -1
  168. package/lib/common/utils/console-logger.d.ts.map +1 -0
  169. package/lib/{browser/di → common/utils}/console-logger.js +26 -8
  170. package/lib/common/utils/console-logger.js.map +1 -0
  171. package/lib/common/utils/layout-util.d.ts +1 -1
  172. package/lib/common/utils/layout-util.d.ts.map +1 -1
  173. package/lib/common/utils/layout-util.js +3 -3
  174. package/lib/common/utils/layout-util.js.map +1 -1
  175. package/lib/common/utils/logger.d.ts +21 -0
  176. package/lib/common/utils/logger.d.ts.map +1 -1
  177. package/lib/common/utils/logger.js +12 -1
  178. package/lib/common/utils/logger.js.map +1 -1
  179. package/lib/node/di/app-module.d.ts +2 -2
  180. package/lib/node/di/app-module.d.ts.map +1 -1
  181. package/lib/node/di/app-module.js +10 -35
  182. package/lib/node/di/app-module.js.map +1 -1
  183. package/lib/node/index.d.ts +1 -0
  184. package/lib/node/index.d.ts.map +1 -1
  185. package/lib/node/index.js +1 -0
  186. package/lib/node/index.js.map +1 -1
  187. package/lib/node/launch/cli-parser.d.ts +2 -3
  188. package/lib/node/launch/cli-parser.d.ts.map +1 -1
  189. package/lib/node/launch/cli-parser.js.map +1 -1
  190. package/lib/node/launch/socket-cli-parser.js +1 -1
  191. package/lib/node/launch/socket-cli-parser.js.map +1 -1
  192. package/lib/node/launch/socket-server-launcher.d.ts +4 -24
  193. package/lib/node/launch/socket-server-launcher.d.ts.map +1 -1
  194. package/lib/node/launch/socket-server-launcher.js +15 -34
  195. package/lib/node/launch/socket-server-launcher.js.map +1 -1
  196. package/lib/node/launch/websocket-server-launcher.d.ts +53 -0
  197. package/lib/node/launch/websocket-server-launcher.d.ts.map +1 -0
  198. package/lib/node/launch/websocket-server-launcher.js +121 -0
  199. package/lib/node/launch/websocket-server-launcher.js.map +1 -0
  200. package/package.json +8 -5
  201. package/src/browser/di/app-module.ts +4 -32
  202. package/src/browser/index.ts +0 -1
  203. package/src/browser/launch/worker-server-launcher.ts +20 -22
  204. package/src/common/actions/client-action-handler.ts +1 -2
  205. package/src/common/command/command-stack.spec.ts +239 -0
  206. package/src/common/command/command-stack.ts +106 -20
  207. package/src/common/command/command.spec.ts +92 -0
  208. package/src/common/command/command.ts +96 -7
  209. package/src/common/command/recording-command.spec.ts +74 -0
  210. package/src/common/command/recording-command.ts +119 -0
  211. package/src/common/command/undo-redo-action-handler.ts +57 -0
  212. package/src/common/di/client-session-module.ts +1 -1
  213. package/src/common/di/diagram-module.ts +13 -0
  214. package/src/common/di/glsp-module.ts +3 -1
  215. package/src/common/di/multi-binding.ts +4 -5
  216. package/src/common/di/server-module.ts +6 -21
  217. package/src/common/features/contextactions/tool-palette-item-provider.ts +2 -4
  218. package/src/common/{gmodel → features/layout}/computed-bounds-action-handler.ts +10 -5
  219. package/src/common/features/layout/layout-operation-handler.ts +26 -11
  220. package/src/common/features/model/model-state.ts +0 -3
  221. package/src/common/features/model/model-submission-handler.ts +6 -2
  222. package/src/common/features/model/save-model-action-handler.ts +5 -6
  223. package/src/common/gmodel/apply-label-edit-operation-handler.ts +13 -15
  224. package/src/common/gmodel/change-bounds-operation-handler.ts +12 -8
  225. package/src/common/gmodel/change-routing-points-operation-handler.ts +8 -7
  226. package/src/common/{operations → gmodel}/cut-operation-handler.ts +9 -8
  227. package/src/common/gmodel/delete-operation-handler.ts +16 -10
  228. package/src/common/gmodel/gmodel-create-edge-operation-handler.ts +16 -10
  229. package/src/common/gmodel/gmodel-create-node-operation-handler.ts +54 -6
  230. package/src/common/gmodel/gmodel-diagram-module.ts +22 -27
  231. package/src/common/gmodel/gmodel-operation-handler.ts +31 -0
  232. package/src/common/gmodel/index.ts +2 -1
  233. package/src/common/gmodel/paste-operation-handler.ts +19 -11
  234. package/src/common/gmodel/reconnect-edge-operation-handler.ts +8 -7
  235. package/src/common/index.ts +5 -3
  236. package/src/common/launch/glsp-server-launcher.ts +15 -9
  237. package/src/common/launch/jsonrpc-server-launcher.ts +95 -0
  238. package/src/common/operations/compound-operation-handler.ts +14 -12
  239. package/src/common/operations/create-operation-handler.ts +17 -74
  240. package/src/common/operations/operation-action-handler.ts +51 -27
  241. package/src/common/operations/operation-handler-registry.ts +18 -3
  242. package/src/common/operations/operation-handler.ts +38 -13
  243. package/src/common/protocol/glsp-server.spec.ts +7 -4
  244. package/src/common/protocol/glsp-server.ts +17 -132
  245. package/src/common/session/client-session-factory.spec.ts +1 -1
  246. package/src/common/session/client-session-factory.ts +1 -2
  247. package/src/common/session/client-session-manager.ts +1 -3
  248. package/src/common/test/mock-util.ts +47 -41
  249. package/src/{browser/di → common/utils}/console-logger.ts +19 -1
  250. package/src/common/utils/layout-util.ts +1 -1
  251. package/src/common/utils/logger.ts +16 -1
  252. package/src/node/di/app-module.ts +4 -13
  253. package/src/node/index.ts +1 -0
  254. package/src/node/launch/cli-parser.ts +2 -3
  255. package/src/node/launch/socket-cli-parser.ts +1 -1
  256. package/src/node/launch/socket-server-launcher.spec.ts +6 -0
  257. package/src/node/launch/socket-server-launcher.ts +19 -35
  258. package/src/node/launch/websocket-server-launcher.ts +138 -0
  259. package/lib/browser/di/console-logger.d.ts.map +0 -1
  260. package/lib/browser/di/console-logger.js.map +0 -1
  261. package/lib/common/actions/action-dispatcher.spec.d.ts +0 -2
  262. package/lib/common/actions/action-dispatcher.spec.d.ts.map +0 -1
  263. package/lib/common/actions/action-dispatcher.spec.js +0 -264
  264. package/lib/common/actions/action-dispatcher.spec.js.map +0 -1
  265. package/lib/common/actions/action-handler-registry.spec.d.ts +0 -2
  266. package/lib/common/actions/action-handler-registry.spec.d.ts.map +0 -1
  267. package/lib/common/actions/action-handler-registry.spec.js +0 -50
  268. package/lib/common/actions/action-handler-registry.spec.js.map +0 -1
  269. package/lib/common/actions/global-action-provider.spec.d.ts +0 -2
  270. package/lib/common/actions/global-action-provider.spec.d.ts.map +0 -1
  271. package/lib/common/actions/global-action-provider.spec.js +0 -70
  272. package/lib/common/actions/global-action-provider.spec.js.map +0 -1
  273. package/lib/common/di/binding-target.spec.d.ts +0 -2
  274. package/lib/common/di/binding-target.spec.d.ts.map +0 -1
  275. package/lib/common/di/binding-target.spec.js +0 -121
  276. package/lib/common/di/binding-target.spec.js.map +0 -1
  277. package/lib/common/di/multi-bindings.spec.d.ts +0 -2
  278. package/lib/common/di/multi-bindings.spec.d.ts.map +0 -1
  279. package/lib/common/di/multi-bindings.spec.js +0 -137
  280. package/lib/common/di/multi-bindings.spec.js.map +0 -1
  281. package/lib/common/diagram/request-type-hints-action-handler.spec.d.ts +0 -2
  282. package/lib/common/diagram/request-type-hints-action-handler.spec.d.ts.map +0 -1
  283. package/lib/common/diagram/request-type-hints-action-handler.spec.js +0 -57
  284. package/lib/common/diagram/request-type-hints-action-handler.spec.js.map +0 -1
  285. package/lib/common/features/contextactions/context-actions-provider-registry.spec.d.ts +0 -2
  286. package/lib/common/features/contextactions/context-actions-provider-registry.spec.d.ts.map +0 -1
  287. package/lib/common/features/contextactions/context-actions-provider-registry.spec.js +0 -34
  288. package/lib/common/features/contextactions/context-actions-provider-registry.spec.js.map +0 -1
  289. package/lib/common/features/contextactions/request-context-actions-handler.spec.d.ts +0 -2
  290. package/lib/common/features/contextactions/request-context-actions-handler.spec.d.ts.map +0 -1
  291. package/lib/common/features/contextactions/request-context-actions-handler.spec.js +0 -63
  292. package/lib/common/features/contextactions/request-context-actions-handler.spec.js.map +0 -1
  293. package/lib/common/features/contextactions/tool-palette-item-provider.spec.d.ts +0 -2
  294. package/lib/common/features/contextactions/tool-palette-item-provider.spec.d.ts.map +0 -1
  295. package/lib/common/features/contextactions/tool-palette-item-provider.spec.js +0 -48
  296. package/lib/common/features/contextactions/tool-palette-item-provider.spec.js.map +0 -1
  297. package/lib/common/features/directediting/context-edit-validator-registry.spec.d.ts +0 -2
  298. package/lib/common/features/directediting/context-edit-validator-registry.spec.d.ts.map +0 -1
  299. package/lib/common/features/directediting/context-edit-validator-registry.spec.js +0 -44
  300. package/lib/common/features/directediting/context-edit-validator-registry.spec.js.map +0 -1
  301. package/lib/common/features/directediting/request-edit-validation-handler.spec.d.ts +0 -2
  302. package/lib/common/features/directediting/request-edit-validation-handler.spec.d.ts.map +0 -1
  303. package/lib/common/features/directediting/request-edit-validation-handler.spec.js +0 -97
  304. package/lib/common/features/directediting/request-edit-validation-handler.spec.js.map +0 -1
  305. package/lib/common/features/model/gmodel-serializer.spec.d.ts +0 -2
  306. package/lib/common/features/model/gmodel-serializer.spec.d.ts.map +0 -1
  307. package/lib/common/features/model/gmodel-serializer.spec.js +0 -124
  308. package/lib/common/features/model/gmodel-serializer.spec.js.map +0 -1
  309. package/lib/common/gmodel/apply-label-edit-operation-handler.spec.d.ts +0 -2
  310. package/lib/common/gmodel/apply-label-edit-operation-handler.spec.d.ts.map +0 -1
  311. package/lib/common/gmodel/apply-label-edit-operation-handler.spec.js +0 -38
  312. package/lib/common/gmodel/apply-label-edit-operation-handler.spec.js.map +0 -1
  313. package/lib/common/gmodel/computed-bounds-action-handler.d.ts.map +0 -1
  314. package/lib/common/gmodel/computed-bounds-action-handler.js.map +0 -1
  315. package/lib/common/operations/cut-operation-handler.d.ts.map +0 -1
  316. package/lib/common/operations/cut-operation-handler.js.map +0 -1
  317. package/lib/common/operations/operation-handler-registry.spec.d.ts +0 -2
  318. package/lib/common/operations/operation-handler-registry.spec.d.ts.map +0 -1
  319. package/lib/common/operations/operation-handler-registry.spec.js +0 -50
  320. package/lib/common/operations/operation-handler-registry.spec.js.map +0 -1
  321. package/lib/common/protocol/glsp-client-proxy.d.ts +0 -45
  322. package/lib/common/protocol/glsp-client-proxy.d.ts.map +0 -1
  323. package/lib/common/protocol/glsp-client-proxy.js.map +0 -1
  324. package/lib/common/protocol/glsp-server-listener.d.ts +0 -37
  325. package/lib/common/protocol/glsp-server-listener.d.ts.map +0 -1
  326. package/lib/common/protocol/glsp-server-listener.js +0 -5
  327. package/lib/common/protocol/glsp-server-listener.js.map +0 -1
  328. package/lib/common/protocol/glsp-server.spec.d.ts +0 -2
  329. package/lib/common/protocol/glsp-server.spec.d.ts.map +0 -1
  330. package/lib/common/protocol/glsp-server.spec.js +0 -119
  331. package/lib/common/protocol/glsp-server.spec.js.map +0 -1
  332. package/lib/common/session/client-session-factory.spec.d.ts +0 -2
  333. package/lib/common/session/client-session-factory.spec.d.ts.map +0 -1
  334. package/lib/common/session/client-session-factory.spec.js +0 -56
  335. package/lib/common/session/client-session-factory.spec.js.map +0 -1
  336. package/lib/common/session/client-session-manager.spec.d.ts +0 -2
  337. package/lib/common/session/client-session-manager.spec.d.ts.map +0 -1
  338. package/lib/common/session/client-session-manager.spec.js +0 -74
  339. package/lib/common/session/client-session-manager.spec.js.map +0 -1
  340. package/lib/common/test/mock-util.d.ts +0 -110
  341. package/lib/common/test/mock-util.d.ts.map +0 -1
  342. package/lib/common/test/mock-util.js +0 -211
  343. package/lib/common/test/mock-util.js.map +0 -1
  344. package/lib/common/utils/promise-queue.spec.d.ts +0 -2
  345. package/lib/common/utils/promise-queue.spec.d.ts.map +0 -1
  346. package/lib/common/utils/promise-queue.spec.js +0 -117
  347. package/lib/common/utils/promise-queue.spec.js.map +0 -1
  348. package/lib/common/utils/registry.spec.d.ts +0 -2
  349. package/lib/common/utils/registry.spec.d.ts.map +0 -1
  350. package/lib/common/utils/registry.spec.js +0 -199
  351. package/lib/common/utils/registry.spec.js.map +0 -1
  352. package/lib/node/launch/cli-parser.spec.d.ts +0 -2
  353. package/lib/node/launch/cli-parser.spec.d.ts.map +0 -1
  354. package/lib/node/launch/cli-parser.spec.js +0 -56
  355. package/lib/node/launch/cli-parser.spec.js.map +0 -1
  356. package/lib/node/launch/socket-cli-parser.spec.d.ts +0 -2
  357. package/lib/node/launch/socket-cli-parser.spec.d.ts.map +0 -1
  358. package/lib/node/launch/socket-cli-parser.spec.js +0 -66
  359. package/lib/node/launch/socket-cli-parser.spec.js.map +0 -1
  360. package/lib/node/launch/socket-server-launcher.spec.d.ts.map +0 -1
  361. package/lib/node/launch/socket-server-launcher.spec.js +0 -70
  362. package/lib/node/launch/socket-server-launcher.spec.js.map +0 -1
  363. package/src/common/gmodel/apply-label-edit-operation-handler.spec.ts +0 -40
  364. package/src/common/protocol/glsp-client-proxy.ts +0 -65
  365. package/src/common/protocol/glsp-server-listener.ts +0 -39
@@ -1,34 +1,14 @@
1
1
  /// <reference types="node" />
2
- /********************************************************************************
3
- * Copyright (c) 2022-2023 STMicroelectronics and others.
4
- *
5
- * This program and the accompanying materials are made available under the
6
- * terms of the Eclipse Public License v. 2.0 which is available at
7
- * http://www.eclipse.org/legal/epl-2.0.
8
- *
9
- * This Source Code may also be made available under the following Secondary
10
- * Licenses when the conditions for such availability set forth in the Eclipse
11
- * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- * with the GNU Classpath Exception which is available at
13
- * https://www.gnu.org/software/classpath/license.html.
14
- *
15
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
- ********************************************************************************/
17
- import { Container } from 'inversify';
18
2
  import * as net from 'net';
19
3
  import * as jsonrpc from 'vscode-jsonrpc/node';
20
- import { GLSPServerLauncher } from '../../common/launch/glsp-server-launcher';
21
- import { GLSPServer } from '../../common/protocol/glsp-server';
4
+ import { JsonRpcGLSPServerLauncher } from '../../common/launch/jsonrpc-server-launcher';
22
5
  import { Logger } from '../../common/utils/logger';
23
- export declare class SocketServerLauncher extends GLSPServerLauncher<net.TcpSocketConnectOpts> {
6
+ export declare const START_UP_COMPLETE_MSG = "[GLSP-Server]:Startup completed. Accepting requests on port:";
7
+ export declare class SocketServerLauncher extends JsonRpcGLSPServerLauncher<net.TcpSocketConnectOpts> {
24
8
  protected logger: Logger;
25
- protected currentConnections: jsonrpc.MessageConnection[];
26
- protected startupCompleteMessage: string;
27
9
  protected netServer: net.Server;
10
+ constructor();
28
11
  protected run(opts: net.TcpSocketConnectOpts): Promise<void>;
29
- protected createClientConnection(socket: net.Socket): Promise<void>;
30
- protected disposeClientConnection(container: Container, glspServer: GLSPServer): void;
31
12
  protected createConnection(socket: net.Socket): jsonrpc.MessageConnection;
32
- protected stop(): void;
33
13
  }
34
14
  //# sourceMappingURL=socket-server-launcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,SAAS,EAAsB,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAqB,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGnD,qBACa,oBAAqB,SAAQ,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAClF,UAAmC,MAAM,EAAE,MAAM,CAAC;IAElD,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAM;IAC/D,SAAS,CAAC,sBAAsB,SAAyB;IACzD,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC;IAEhC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;cA4B5C,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzE,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAKrF,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB;IAIzE,SAAS,CAAC,IAAI,IAAI,IAAI;CAKzB"}
1
+ {"version":3,"file":"socket-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,eAAO,MAAM,qBAAqB,iEAAiE,CAAC;AAEpG,qBACa,oBAAqB,SAAQ,yBAAyB,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACzF,UAAmC,MAAM,EAAE,MAAM,CAAC;IAElD,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC;;IAWhC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B5D,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB;CAG5E"}
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SocketServerLauncher = void 0;
12
+ exports.SocketServerLauncher = exports.START_UP_COMPLETE_MSG = void 0;
13
13
  /********************************************************************************
14
14
  * Copyright (c) 2022-2023 STMicroelectronics and others.
15
15
  *
@@ -25,21 +25,25 @@ exports.SocketServerLauncher = void 0;
25
25
  *
26
26
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
27
27
  ********************************************************************************/
28
+ const protocol_1 = require("@eclipse-glsp/protocol");
28
29
  const inversify_1 = require("inversify");
29
30
  const net = require("net");
30
31
  const jsonrpc = require("vscode-jsonrpc/node");
31
- const glsp_server_launcher_1 = require("../../common/launch/glsp-server-launcher");
32
- const glsp_server_1 = require("../../common/protocol/glsp-server");
32
+ const jsonrpc_server_launcher_1 = require("../../common/launch/jsonrpc-server-launcher");
33
33
  const logger_1 = require("../../common/utils/logger");
34
- const START_UP_COMPLETE_MSG = '[GLSP-Server]:Startup completed. Accepting requests on port:';
35
- let SocketServerLauncher = class SocketServerLauncher extends glsp_server_launcher_1.GLSPServerLauncher {
34
+ exports.START_UP_COMPLETE_MSG = '[GLSP-Server]:Startup completed. Accepting requests on port:';
35
+ let SocketServerLauncher = class SocketServerLauncher extends jsonrpc_server_launcher_1.JsonRpcGLSPServerLauncher {
36
36
  constructor() {
37
- super(...arguments);
38
- this.currentConnections = [];
39
- this.startupCompleteMessage = START_UP_COMPLETE_MSG;
37
+ super();
38
+ this.toDispose.push(protocol_1.Disposable.create(() => {
39
+ this.netServer.close();
40
+ }));
40
41
  }
41
42
  run(opts) {
42
- this.netServer = net.createServer(socket => this.createClientConnection(socket));
43
+ this.netServer = net.createServer(socket => {
44
+ const connection = this.createConnection(socket);
45
+ this.createServerInstance(connection);
46
+ });
43
47
  this.netServer.listen(opts.port, opts.host);
44
48
  this.netServer.on('listening', () => {
45
49
  const addressInfo = this.netServer.address();
@@ -65,40 +69,17 @@ let SocketServerLauncher = class SocketServerLauncher extends glsp_server_launch
65
69
  this.netServer.on('error', error => reject(error));
66
70
  });
67
71
  }
68
- async createClientConnection(socket) {
69
- const container = this.createContainer();
70
- const connection = this.createConnection(socket);
71
- this.currentConnections.push(connection);
72
- const glspServer = container.get(glsp_server_1.JsonRpcGLSPServer);
73
- glspServer.connect(connection);
74
- this.logger.info(`Starting GLSP server connection for client: '${socket.localAddress}'`);
75
- connection.listen();
76
- connection.onDispose(() => this.disposeClientConnection(container, glspServer));
77
- socket.on('close', () => this.disposeClientConnection(container, glspServer));
78
- return new Promise((resolve, rejects) => {
79
- connection.onClose(() => resolve(undefined));
80
- connection.onError(error => rejects(error));
81
- });
82
- }
83
- disposeClientConnection(container, glspServer) {
84
- glspServer.shutdown();
85
- container.unbindAll();
86
- }
87
72
  createConnection(socket) {
88
73
  return jsonrpc.createMessageConnection(new jsonrpc.SocketMessageReader(socket), new jsonrpc.SocketMessageWriter(socket), console);
89
74
  }
90
- stop() {
91
- this.logger.info('Shutdown SocketServerLauncher');
92
- this.currentConnections.forEach(connection => connection.dispose());
93
- this.netServer.close();
94
- }
95
75
  };
96
76
  __decorate([
97
77
  (0, inversify_1.inject)(logger_1.Logger),
98
78
  __metadata("design:type", logger_1.Logger)
99
79
  ], SocketServerLauncher.prototype, "logger", void 0);
100
80
  SocketServerLauncher = __decorate([
101
- (0, inversify_1.injectable)()
81
+ (0, inversify_1.injectable)(),
82
+ __metadata("design:paramtypes", [])
102
83
  ], SocketServerLauncher);
103
84
  exports.SocketServerLauncher = SocketServerLauncher;
104
85
  //# sourceMappingURL=socket-server-launcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server-launcher.js","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket-server-launcher.js","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAAoD;AACpD,yCAA+C;AAC/C,2BAA2B;AAC3B,+CAA+C;AAC/C,yFAAwF;AACxF,sDAAmD;AAEtC,QAAA,qBAAqB,GAAG,8DAA8D,CAAC;AAG7F,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,mDAAmD;IAKzF;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,qBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAES,GAAG,CAAC,IAA8B;QACxC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YACvC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;aACV;iBAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mEAAmE,WAAW,mBAAmB,CAAC,CAAC;gBACrH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;aACV;YACD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mEAAmE,WAAW,EAAE,CAAC,CAAC;YACnG,mFAAmF;YACnF,2FAA2F;YAC3F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACP,CAAC;IAES,gBAAgB,CAAC,MAAkB;QACzC,OAAO,OAAO,CAAC,uBAAuB,CAAC,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACtI,CAAC;CACJ,CAAA;AA/CG;IAAC,IAAA,kBAAM,EAAC,eAAM,CAAC;8BAA4B,eAAM;oDAAC;AADzC,oBAAoB;IADhC,IAAA,sBAAU,GAAE;;GACA,oBAAoB,CAgDhC;AAhDY,oDAAoB"}
@@ -0,0 +1,53 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ /// <reference types="node" />
17
+ import { MaybePromise, WebSocketWrapper } from '@eclipse-glsp/protocol';
18
+ import * as http from 'http';
19
+ import * as jsonrpc from 'vscode-jsonrpc';
20
+ import { Server, WebSocket } from 'ws';
21
+ import { JsonRpcGLSPServerLauncher } from '../../common/launch/jsonrpc-server-launcher';
22
+ import { Logger } from '../../common/utils/logger';
23
+ export interface WebSocketServerOptions {
24
+ host?: string;
25
+ port?: number;
26
+ path: string;
27
+ }
28
+ export interface ResolvedWebSocketServerOptions {
29
+ host?: string;
30
+ port: number;
31
+ path: string;
32
+ server: http.Server;
33
+ }
34
+ export interface WebsocketConnectionData {
35
+ socket: WebSocket;
36
+ connection: jsonrpc.MessageConnection;
37
+ }
38
+ export declare class WebSocketServerLauncher extends JsonRpcGLSPServerLauncher<WebSocketServerOptions> {
39
+ protected logger: Logger;
40
+ protected server: Server;
41
+ constructor();
42
+ protected run(options: WebSocketServerOptions): Promise<void>;
43
+ protected createConnection(socket: WebSocket): jsonrpc.MessageConnection;
44
+ protected resolveOptions(options: WebSocketServerOptions): Promise<ResolvedWebSocketServerOptions>;
45
+ protected createHttpServer(port: number, host?: string): http.Server;
46
+ start(options: WebSocketServerOptions): MaybePromise<void>;
47
+ }
48
+ /**
49
+ * Creates a {@link WebSocketWrapper} for the given plain WebSocket
50
+ * @param socket The socket to wrap
51
+ */
52
+ export declare function wrapWebSocket(socket: WebSocket): WebSocketWrapper;
53
+ //# sourceMappingURL=websocket-server-launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/node/launch/websocket-server-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,OAAO,EAAyC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,MAAM,WAAW,sBAAsB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,8BAA8B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC;CACzC;AAID,qBACa,uBAAwB,SAAQ,yBAAyB,CAAC,sBAAsB,CAAC;IAC1F,UACmB,MAAM,EAAE,MAAM,CAAC;IAElC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;;cAWT,GAAG,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBnE,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB;cAIxD,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAQxG,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;IAgB3D,KAAK,CAAC,OAAO,EAAE,sBAAsB,GAAG,YAAY,CAAC,IAAI,CAAC;CAGtE;AAeD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB,CAQjE"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2023 EclipseSource and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.wrapWebSocket = exports.WebSocketServerLauncher = void 0;
28
+ const protocol_1 = require("@eclipse-glsp/protocol");
29
+ const http = require("http");
30
+ const inversify_1 = require("inversify");
31
+ const net = require("net");
32
+ const ws_1 = require("ws");
33
+ const jsonrpc_server_launcher_1 = require("../../common/launch/jsonrpc-server-launcher");
34
+ const logger_1 = require("../../common/utils/logger");
35
+ const STATUS_UPGRADE_REQUIRED = 426;
36
+ let WebSocketServerLauncher = class WebSocketServerLauncher extends jsonrpc_server_launcher_1.JsonRpcGLSPServerLauncher {
37
+ constructor() {
38
+ super();
39
+ this.toDispose.push(protocol_1.Disposable.create(() => {
40
+ this.server.close();
41
+ }));
42
+ }
43
+ async run(options) {
44
+ const resolvedOptions = await this.resolveOptions(options);
45
+ this.server = new ws_1.Server({ server: resolvedOptions.server, path: resolvedOptions.path });
46
+ const endpoint = `ws://${resolvedOptions.host}:${resolvedOptions.port}:${resolvedOptions.path}`;
47
+ this.logger.info(`The GLSP Websocket launcher is ready to accept new client requests on endpoint '${endpoint}'`);
48
+ console.log(this.startupCompleteMessage.concat(resolvedOptions.port.toString()));
49
+ this.server.on('connection', (ws, req) => {
50
+ const connection = this.createConnection(ws);
51
+ this.createServerInstance(connection);
52
+ });
53
+ return new Promise((resolve, reject) => {
54
+ this.server.on('close', () => resolve(undefined));
55
+ this.server.on('error', error => reject(error));
56
+ });
57
+ }
58
+ createConnection(socket) {
59
+ return (0, protocol_1.createWebSocketConnection)(wrapWebSocket(socket));
60
+ }
61
+ async resolveOptions(options) {
62
+ const port = !options.port || options.port === 0 ? await getFreePort() : options.port;
63
+ const path = options.path.startsWith('/') ? options.path : `/${options.path}`;
64
+ const server = this.createHttpServer(port, options.host);
65
+ return Object.assign(Object.assign({}, options), { port, path, server });
66
+ }
67
+ createHttpServer(port, host) {
68
+ const server = http.createServer((req, res) => {
69
+ const body = http.STATUS_CODES[STATUS_UPGRADE_REQUIRED];
70
+ res.writeHead(426, {
71
+ 'Content-Length': body === null || body === void 0 ? void 0 : body.length,
72
+ 'Content-Type': 'text/plain'
73
+ });
74
+ res.end(body);
75
+ });
76
+ server.listen(port, host);
77
+ // Set server timeout to infinite
78
+ server.setTimeout(0);
79
+ return server;
80
+ }
81
+ start(options) {
82
+ super.start(options);
83
+ }
84
+ };
85
+ __decorate([
86
+ (0, inversify_1.inject)(logger_1.Logger),
87
+ __metadata("design:type", logger_1.Logger)
88
+ ], WebSocketServerLauncher.prototype, "logger", void 0);
89
+ WebSocketServerLauncher = __decorate([
90
+ (0, inversify_1.injectable)(),
91
+ __metadata("design:paramtypes", [])
92
+ ], WebSocketServerLauncher);
93
+ exports.WebSocketServerLauncher = WebSocketServerLauncher;
94
+ async function getFreePort() {
95
+ return new Promise((resolve, reject) => {
96
+ const srv = net.createServer();
97
+ srv.listen(0, () => {
98
+ const address = srv.address();
99
+ if (!address || typeof address === 'string') {
100
+ reject(new Error('Could not address to compute a free port'));
101
+ return;
102
+ }
103
+ srv.close(() => resolve(address.port));
104
+ });
105
+ });
106
+ }
107
+ /**
108
+ * Creates a {@link WebSocketWrapper} for the given plain WebSocket
109
+ * @param socket The socket to wrap
110
+ */
111
+ function wrapWebSocket(socket) {
112
+ return {
113
+ send: content => socket.send(content),
114
+ onMessage: cb => socket.on('message', cb),
115
+ onClose: cb => socket.on('close', cb),
116
+ onError: cb => socket.on('error', cb),
117
+ dispose: () => socket.close()
118
+ };
119
+ }
120
+ exports.wrapWebSocket = wrapWebSocket;
121
+ //# sourceMappingURL=websocket-server-launcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-server-launcher.js","sourceRoot":"","sources":["../../../src/node/launch/websocket-server-launcher.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp/server",
3
- "version": "1.1.0-next.3d7585d.42+3d7585d",
3
+ "version": "1.1.0-next.42963d6.55+42963d6",
4
4
  "description": "A js server framework for Eclipse GLSP",
5
5
  "keywords": [
6
6
  "eclipse",
@@ -59,18 +59,21 @@
59
59
  "watch": "tsc -w"
60
60
  },
61
61
  "dependencies": {
62
- "@eclipse-glsp/graph": "1.1.0-next.3d7585d.42+3d7585d",
62
+ "@eclipse-glsp/graph": "1.1.0-next.42963d6.55+42963d6",
63
63
  "@eclipse-glsp/protocol": "next",
64
64
  "@types/uuid": "8.3.1",
65
65
  "commander": "^8.3.0",
66
+ "fast-json-patch": "^3.1.0",
66
67
  "inversify": "^5.1.1",
67
- "winston": "^3.3.3"
68
+ "winston": "^3.3.3",
69
+ "ws": "^8.12.1"
68
70
  },
69
71
  "devDependencies": {
70
- "@types/fs-extra": "^9.0.13"
72
+ "@types/fs-extra": "^9.0.13",
73
+ "@types/ws": "^8.5.4"
71
74
  },
72
75
  "publishConfig": {
73
76
  "access": "public"
74
77
  },
75
- "gitHead": "3d7585df49f6df95ea707e55cfc8e435b578cea3"
78
+ "gitHead": "42963d62ee53ffd12004fd0cf3b89c6e5292871e"
76
79
  }
@@ -14,42 +14,14 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
 
17
- import { ContainerModule, interfaces } from 'inversify';
18
- import { InjectionContainer, Logger, LoggerFactory, LogLevel, ModuleContext, NullLogger } from '../../common/index';
19
- import { ConsoleLogger } from './console-logger';
17
+ import { ContainerModule } from 'inversify';
18
+ import { InjectionContainer, LogLevel, LoggerConfigOptions, configureConsoleLogger } from '../../common/';
20
19
 
21
- export interface LaunchOptions {
22
- consoleLog?: boolean;
23
- logLevel?: LogLevel;
24
- }
25
- export function createAppModule(options: LaunchOptions = {}): ContainerModule {
26
- const resolvedOptions: LaunchOptions = { consoleLog: true, logLevel: LogLevel.info, ...options };
20
+ export function createAppModule(options: LoggerConfigOptions = {}): ContainerModule {
21
+ const resolvedOptions: LoggerConfigOptions = { consoleLog: true, logLevel: LogLevel.info, ...options };
27
22
  return new ContainerModule((bind, unbind, isBound, rebind) => {
28
23
  bind(InjectionContainer).toDynamicValue(dynamicContext => dynamicContext.container);
29
24
  const context = { bind, unbind, isBound, rebind };
30
25
  configureConsoleLogger(context, resolvedOptions);
31
26
  });
32
27
  }
33
-
34
- export function configureConsoleLogger<T extends LaunchOptions>(context: ModuleContext, options: T): void {
35
- if (!options.consoleLog) {
36
- context.bind(Logger).to(NullLogger).inSingletonScope();
37
- } else {
38
- context.bind(Logger).toDynamicValue(ctx => new ConsoleLogger(options.logLevel, getRequestParentName(ctx)));
39
- }
40
- context.bind(LoggerFactory).toFactory(dynamicContext => (caller: string) => {
41
- const logger = dynamicContext.container.get(Logger);
42
- logger.caller = caller;
43
- return logger;
44
- });
45
- }
46
-
47
- function getRequestParentName(context: interfaces.Context): string | undefined {
48
- if (context.currentRequest.parentRequest) {
49
- const bindings = context.currentRequest.parentRequest.bindings;
50
- if (bindings.length > 0) {
51
- return bindings[0].implementationType?.name;
52
- }
53
- }
54
- return undefined;
55
- }
@@ -15,5 +15,4 @@
15
15
  ********************************************************************************/
16
16
  export * from '../common/index';
17
17
  export * from './di/app-module';
18
- export * from './di/console-logger';
19
18
  export * from './launch/worker-server-launcher';
@@ -14,26 +14,27 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
 
17
- import { Container, injectable } from 'inversify';
17
+ import { injectable } from 'inversify';
18
18
  import * as jsonrpc from 'vscode-jsonrpc/browser';
19
- import { GLSPServer, GLSPServerLauncher, JsonRpcGLSPServer, MaybePromise, START_UP_COMPLETE_MSG } from '../../common/index';
19
+ import { MaybePromise } from '../../common/index';
20
+ import { JsonRpcGLSPServerLauncher, JsonRpcServerInstance } from '../../common/launch/jsonrpc-server-launcher';
21
+ export interface WorkerLaunchOptions {
22
+ context?: Worker;
23
+ }
24
+
25
+ export const START_UP_COMPLETE_MSG = '[GLSP-Server]:Startup completed.';
20
26
 
21
27
  @injectable()
22
- export class WorkerServerLauncher extends GLSPServerLauncher {
23
- private connection?: jsonrpc.MessageConnection;
28
+ export class WorkerServerLauncher extends JsonRpcGLSPServerLauncher<WorkerLaunchOptions> {
29
+ protected connection?: jsonrpc.MessageConnection;
24
30
 
25
- protected run(): MaybePromise<void> {
31
+ protected run(options: WorkerLaunchOptions): MaybePromise<void> {
26
32
  if (this.connection) {
27
33
  throw new Error('Error during launch. Server already has an active client connection');
28
34
  }
29
- const container = this.createContainer();
30
- this.connection = this.createConnection();
31
- const glspServer = container.get<JsonRpcGLSPServer>(JsonRpcGLSPServer);
32
- glspServer.connect(this.connection);
33
- this.connection.onDispose(() => this.disposeClientConnection(container, glspServer));
34
-
35
+ this.connection = this.createConnection(options);
36
+ this.createServerInstance(this.connection);
35
37
  this.logger.info('GLSP server worker connection established');
36
- this.connection.listen();
37
38
  postMessage(START_UP_COMPLETE_MSG);
38
39
  return new Promise((resolve, rejects) => {
39
40
  this.connection?.onClose(() => resolve(undefined));
@@ -41,18 +42,15 @@ export class WorkerServerLauncher extends GLSPServerLauncher {
41
42
  });
42
43
  }
43
44
 
44
- protected disposeClientConnection(container: Container, glspServer: GLSPServer): void {
45
- glspServer.shutdown();
46
- container.unbindAll();
45
+ protected override disposeServerInstance(instance: JsonRpcServerInstance): void {
46
+ super.disposeServerInstance(instance);
47
47
  this.connection = undefined;
48
48
  }
49
49
 
50
- protected stop(): MaybePromise<void> {
51
- this.logger.info('Shutdown WorkerServerLauncher');
52
- this.connection?.dispose();
53
- }
54
-
55
- protected createConnection(): jsonrpc.MessageConnection {
56
- return jsonrpc.createMessageConnection(new jsonrpc.BrowserMessageReader(self), new jsonrpc.BrowserMessageWriter(self));
50
+ protected createConnection(options: WorkerLaunchOptions): jsonrpc.MessageConnection {
51
+ return jsonrpc.createMessageConnection(
52
+ new jsonrpc.BrowserMessageReader(options.context ?? self),
53
+ new jsonrpc.BrowserMessageWriter(options.context ?? self)
54
+ );
57
55
  }
58
56
  }
@@ -13,10 +13,9 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, ActionMessage } from '@eclipse-glsp/protocol';
16
+ import { Action, ActionMessage, GLSPClientProxy } from '@eclipse-glsp/protocol';
17
17
  import { inject, injectable, optional } from 'inversify';
18
18
  import { ClientActionKinds, ClientId } from '../di/service-identifiers';
19
- import { GLSPClientProxy } from '../protocol/glsp-client-proxy';
20
19
 
21
20
  /**
22
21
  * The client action handler is responsible of handling action kinds that are intended for the