@opensumi/ide-connection 2.27.3-rc-1708399099.0 → 2.27.3-rc-1710386185.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 (201) hide show
  1. package/README.md +1 -1
  2. package/lib/browser/ws-channel-handler.d.ts +1 -1
  3. package/lib/browser/ws-channel-handler.d.ts.map +1 -1
  4. package/lib/browser/ws-channel-handler.js +23 -33
  5. package/lib/browser/ws-channel-handler.js.map +1 -1
  6. package/lib/common/buffers/buffers.d.ts +1 -0
  7. package/lib/common/buffers/buffers.d.ts.map +1 -1
  8. package/lib/common/buffers/buffers.js +3 -3
  9. package/lib/common/buffers/buffers.js.map +1 -1
  10. package/lib/common/{utils.d.ts → capturer.d.ts} +1 -19
  11. package/lib/common/capturer.d.ts.map +1 -0
  12. package/lib/common/capturer.js +26 -0
  13. package/lib/common/capturer.js.map +1 -0
  14. package/lib/common/connection/drivers/frame-decoder.d.ts +40 -1
  15. package/lib/common/connection/drivers/frame-decoder.d.ts.map +1 -1
  16. package/lib/common/connection/drivers/frame-decoder.js +9 -10
  17. package/lib/common/connection/drivers/frame-decoder.js.map +1 -1
  18. package/lib/common/connection/drivers/index.d.ts +0 -1
  19. package/lib/common/connection/drivers/index.d.ts.map +1 -1
  20. package/lib/common/connection/drivers/index.js +0 -1
  21. package/lib/common/connection/drivers/index.js.map +1 -1
  22. package/lib/common/connection/drivers/message-port.d.ts.map +1 -1
  23. package/lib/common/connection/drivers/message-port.js +1 -4
  24. package/lib/common/connection/drivers/message-port.js.map +1 -1
  25. package/lib/common/connection/drivers/node-message-port.d.ts +1 -1
  26. package/lib/common/connection/drivers/node-message-port.d.ts.map +1 -1
  27. package/lib/common/connection/drivers/node-message-port.js.map +1 -1
  28. package/lib/common/connection/drivers/reconnecting-websocket.d.ts.map +1 -1
  29. package/lib/common/connection/drivers/reconnecting-websocket.js +1 -1
  30. package/lib/common/connection/drivers/reconnecting-websocket.js.map +1 -1
  31. package/lib/common/connection/drivers/socket.d.ts +3 -10
  32. package/lib/common/connection/drivers/socket.d.ts.map +1 -1
  33. package/lib/common/connection/drivers/socket.js +3 -36
  34. package/lib/common/connection/drivers/socket.js.map +1 -1
  35. package/lib/common/connection/drivers/stream.d.ts +17 -0
  36. package/lib/common/connection/drivers/stream.d.ts.map +1 -0
  37. package/lib/common/connection/drivers/stream.js +70 -0
  38. package/lib/common/connection/drivers/stream.js.map +1 -0
  39. package/lib/common/connection/drivers/ws-websocket.d.ts +1 -1
  40. package/lib/common/connection/drivers/ws-websocket.d.ts.map +1 -1
  41. package/lib/common/connection/drivers/ws-websocket.js.map +1 -1
  42. package/lib/common/fury-extends/any.d.ts +10 -7
  43. package/lib/common/fury-extends/any.d.ts.map +1 -1
  44. package/lib/common/fury-extends/any.js +126 -105
  45. package/lib/common/fury-extends/any.js.map +1 -1
  46. package/lib/common/fury-extends/one-of.d.ts +10 -5
  47. package/lib/common/fury-extends/one-of.d.ts.map +1 -1
  48. package/lib/common/fury-extends/one-of.js +65 -30
  49. package/lib/common/fury-extends/one-of.js.map +1 -1
  50. package/lib/common/fury-extends/shared.d.ts +2 -0
  51. package/lib/common/fury-extends/shared.d.ts.map +1 -1
  52. package/lib/common/fury-extends/shared.js.map +1 -1
  53. package/lib/common/index.d.ts +2 -2
  54. package/lib/common/index.d.ts.map +1 -1
  55. package/lib/common/index.js +2 -2
  56. package/lib/common/index.js.map +1 -1
  57. package/lib/common/message.d.ts +1 -1
  58. package/lib/common/message.d.ts.map +1 -1
  59. package/lib/common/rpc/connection.d.ts +31 -15
  60. package/lib/common/rpc/connection.d.ts.map +1 -1
  61. package/lib/common/rpc/connection.js +206 -138
  62. package/lib/common/rpc/connection.js.map +1 -1
  63. package/lib/common/rpc/index.d.ts +1 -1
  64. package/lib/common/rpc/index.d.ts.map +1 -1
  65. package/lib/common/rpc/index.js +1 -1
  66. package/lib/common/rpc/index.js.map +1 -1
  67. package/lib/common/rpc/message-io.d.ts +61 -0
  68. package/lib/common/rpc/message-io.d.ts.map +1 -0
  69. package/lib/common/rpc/message-io.js +159 -0
  70. package/lib/common/rpc/message-io.js.map +1 -0
  71. package/lib/common/rpc/multiplexer.d.ts +3 -0
  72. package/lib/common/rpc/multiplexer.d.ts.map +1 -1
  73. package/lib/common/rpc/multiplexer.js +3 -0
  74. package/lib/common/rpc/multiplexer.js.map +1 -1
  75. package/lib/common/rpc/types.d.ts +26 -5
  76. package/lib/common/rpc/types.d.ts.map +1 -1
  77. package/lib/common/rpc-service/center.d.ts +6 -3
  78. package/lib/common/rpc-service/center.d.ts.map +1 -1
  79. package/lib/common/rpc-service/center.js +39 -31
  80. package/lib/common/rpc-service/center.js.map +1 -1
  81. package/lib/common/rpc-service/proxy/base.d.ts +5 -3
  82. package/lib/common/rpc-service/proxy/base.d.ts.map +1 -1
  83. package/lib/common/rpc-service/proxy/base.js +56 -17
  84. package/lib/common/rpc-service/proxy/base.js.map +1 -1
  85. package/lib/common/rpc-service/proxy/index.d.ts +1 -3
  86. package/lib/common/rpc-service/proxy/index.d.ts.map +1 -1
  87. package/lib/common/rpc-service/proxy/index.js +1 -3
  88. package/lib/common/rpc-service/proxy/index.js.map +1 -1
  89. package/lib/common/rpc-service/proxy/{legacy.d.ts → json.d.ts} +5 -5
  90. package/lib/common/rpc-service/proxy/json.d.ts.map +1 -0
  91. package/lib/common/rpc-service/proxy/{legacy.js → json.js} +46 -56
  92. package/lib/common/rpc-service/proxy/json.js.map +1 -0
  93. package/lib/common/rpc-service/proxy/sumi.d.ts +1 -1
  94. package/lib/common/rpc-service/proxy/sumi.d.ts.map +1 -1
  95. package/lib/common/rpc-service/proxy/sumi.js +25 -37
  96. package/lib/common/rpc-service/proxy/sumi.js.map +1 -1
  97. package/lib/common/rpc-service/{proxy/registry.d.ts → registry.d.ts} +12 -1
  98. package/lib/common/rpc-service/registry.d.ts.map +1 -0
  99. package/lib/common/rpc-service/registry.js +99 -0
  100. package/lib/common/rpc-service/registry.js.map +1 -0
  101. package/lib/common/rpc-service/stub.js +4 -6
  102. package/lib/common/rpc-service/stub.js.map +1 -1
  103. package/lib/common/{ext-rpc-protocol.d.ts → rpcProtocol.d.ts} +2 -2
  104. package/lib/common/rpcProtocol.d.ts.map +1 -0
  105. package/lib/common/{ext-rpc-protocol.js → rpcProtocol.js} +5 -6
  106. package/lib/common/rpcProtocol.js.map +1 -0
  107. package/lib/common/server-handler.d.ts +35 -0
  108. package/lib/common/server-handler.d.ts.map +1 -0
  109. package/lib/common/server-handler.js +165 -0
  110. package/lib/common/server-handler.js.map +1 -0
  111. package/lib/common/types.d.ts +14 -0
  112. package/lib/common/types.d.ts.map +1 -1
  113. package/lib/common/ws-channel.d.ts +6 -10
  114. package/lib/common/ws-channel.d.ts.map +1 -1
  115. package/lib/common/ws-channel.js +16 -15
  116. package/lib/common/ws-channel.js.map +1 -1
  117. package/lib/electron/channel-handler.d.ts +14 -0
  118. package/lib/electron/channel-handler.d.ts.map +1 -0
  119. package/lib/electron/channel-handler.js +26 -0
  120. package/lib/electron/channel-handler.js.map +1 -0
  121. package/lib/electron/index.d.ts +2 -0
  122. package/lib/electron/index.d.ts.map +1 -0
  123. package/lib/electron/index.js +5 -0
  124. package/lib/electron/index.js.map +1 -0
  125. package/lib/node/common-channel-handler.d.ts +6 -25
  126. package/lib/node/common-channel-handler.d.ts.map +1 -1
  127. package/lib/node/common-channel-handler.js +9 -151
  128. package/lib/node/common-channel-handler.js.map +1 -1
  129. package/package.json +5 -5
  130. package/src/browser/ws-channel-handler.ts +26 -40
  131. package/src/common/buffers/buffers.ts +1 -1
  132. package/src/common/capturer.ts +36 -0
  133. package/src/common/connection/drivers/frame-decoder.ts +11 -11
  134. package/src/common/connection/drivers/index.ts +0 -1
  135. package/src/common/connection/drivers/message-port.ts +1 -4
  136. package/src/common/connection/drivers/node-message-port.ts +2 -2
  137. package/src/common/connection/drivers/reconnecting-websocket.ts +3 -2
  138. package/src/common/connection/drivers/socket.ts +4 -42
  139. package/src/common/connection/drivers/stream.ts +76 -0
  140. package/src/common/connection/drivers/ws-websocket.ts +2 -2
  141. package/src/common/fury-extends/any.ts +122 -102
  142. package/src/common/fury-extends/one-of.ts +79 -31
  143. package/src/common/fury-extends/shared.ts +3 -0
  144. package/src/common/index.ts +2 -2
  145. package/src/common/message.ts +1 -1
  146. package/src/common/rpc/connection.ts +228 -166
  147. package/src/common/rpc/index.ts +1 -1
  148. package/src/common/rpc/message-io.ts +223 -0
  149. package/src/common/rpc/multiplexer.ts +3 -0
  150. package/src/common/rpc/types.ts +30 -5
  151. package/src/common/rpc-service/center.ts +37 -31
  152. package/src/common/rpc-service/proxy/base.ts +59 -12
  153. package/src/common/rpc-service/proxy/index.ts +1 -3
  154. package/src/common/rpc-service/proxy/{legacy.ts → json.ts} +47 -57
  155. package/src/common/rpc-service/proxy/sumi.ts +23 -35
  156. package/src/common/rpc-service/registry.ts +125 -0
  157. package/src/common/rpc-service/stub.ts +6 -6
  158. package/src/common/{ext-rpc-protocol.ts → rpcProtocol.ts} +2 -2
  159. package/src/common/server-handler.ts +183 -0
  160. package/src/common/types.ts +13 -0
  161. package/src/common/ws-channel.ts +21 -23
  162. package/src/electron/channel-handler.ts +26 -0
  163. package/src/electron/index.ts +1 -0
  164. package/src/node/common-channel-handler.ts +10 -165
  165. package/lib/common/connection/drivers/utils.d.ts +0 -12
  166. package/lib/common/connection/drivers/utils.d.ts.map +0 -1
  167. package/lib/common/connection/drivers/utils.js +0 -49
  168. package/lib/common/connection/drivers/utils.js.map +0 -1
  169. package/lib/common/ext-rpc-protocol.d.ts.map +0 -1
  170. package/lib/common/ext-rpc-protocol.js.map +0 -1
  171. package/lib/common/rpc/packet.d.ts +0 -65
  172. package/lib/common/rpc/packet.d.ts.map +0 -1
  173. package/lib/common/rpc/packet.js +0 -82
  174. package/lib/common/rpc/packet.js.map +0 -1
  175. package/lib/common/rpc/protocol-repository.d.ts +0 -32
  176. package/lib/common/rpc/protocol-repository.d.ts.map +0 -1
  177. package/lib/common/rpc/protocol-repository.js +0 -118
  178. package/lib/common/rpc/protocol-repository.js.map +0 -1
  179. package/lib/common/rpc/utils.d.ts +0 -2
  180. package/lib/common/rpc/utils.d.ts.map +0 -1
  181. package/lib/common/rpc/utils.js +0 -10
  182. package/lib/common/rpc/utils.js.map +0 -1
  183. package/lib/common/rpc-service/proxy/invoker.d.ts +0 -14
  184. package/lib/common/rpc-service/proxy/invoker.d.ts.map +0 -1
  185. package/lib/common/rpc-service/proxy/invoker.js +0 -34
  186. package/lib/common/rpc-service/proxy/invoker.js.map +0 -1
  187. package/lib/common/rpc-service/proxy/legacy.d.ts.map +0 -1
  188. package/lib/common/rpc-service/proxy/legacy.js.map +0 -1
  189. package/lib/common/rpc-service/proxy/registry.d.ts.map +0 -1
  190. package/lib/common/rpc-service/proxy/registry.js +0 -46
  191. package/lib/common/rpc-service/proxy/registry.js.map +0 -1
  192. package/lib/common/utils.d.ts.map +0 -1
  193. package/lib/common/utils.js +0 -57
  194. package/lib/common/utils.js.map +0 -1
  195. package/src/common/connection/drivers/utils.ts +0 -52
  196. package/src/common/rpc/packet.ts +0 -104
  197. package/src/common/rpc/protocol-repository.ts +0 -180
  198. package/src/common/rpc/utils.ts +0 -5
  199. package/src/common/rpc-service/proxy/invoker.ts +0 -45
  200. package/src/common/rpc-service/proxy/registry.ts +0 -56
  201. package/src/common/utils.ts +0 -80
@@ -1,50 +1,85 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.oneOf = void 0;
3
+ exports.oneOf7 = void 0;
4
4
  const gen_1 = require("@furyjs/fury/dist/lib/gen");
5
5
  const shared_1 = require("./shared");
6
- const { fury, reader, writer } = (0, shared_1.furyFactory)();
7
- const oneOf = (schemas) => {
8
- const registry = new Map();
9
- schemas.forEach((schema) => {
10
- registry.set(schema.options.tag, (0, gen_1.generateSerializer)(fury, schema));
6
+ const oneOf7 = (schemas, context) => {
7
+ if (!context) {
8
+ context = (0, shared_1.furyFactory)();
9
+ }
10
+ const { fury, reader, writer } = context;
11
+ const serializers = new Array(7);
12
+ const kinds = new Array(7);
13
+ const kindToIndex = {};
14
+ schemas.forEach((schema, i) => {
15
+ const kind = schema.options.tag;
16
+ serializers[i] = (0, gen_1.generateSerializer)(fury, schema);
17
+ kinds[i] = kind;
18
+ kindToIndex[kind] = i;
11
19
  });
12
20
  const deserialize = (bytes) => {
13
21
  reader.reset(bytes);
14
- const kind = reader.stringOfVarUInt32();
15
- const serializer = registry.get(kind);
16
- if (!serializer) {
17
- throw new Error(`Unknown kind: ${kind}`);
22
+ const idx = reader.uint8();
23
+ let v;
24
+ switch (idx) {
25
+ case 0:
26
+ v = serializers[0].read();
27
+ break;
28
+ case 1:
29
+ v = serializers[1].read();
30
+ break;
31
+ case 2:
32
+ v = serializers[2].read();
33
+ break;
34
+ case 3:
35
+ v = serializers[3].read();
36
+ break;
37
+ case 4:
38
+ v = serializers[4].read();
39
+ break;
40
+ case 5:
41
+ v = serializers[5].read();
42
+ break;
43
+ case 6:
44
+ v = serializers[6].read();
45
+ break;
18
46
  }
19
- const v = serializer.read();
20
- v.kind = kind;
47
+ v.kind = kinds[idx];
21
48
  return v;
22
49
  };
23
- const serializeVolatile = (v) => {
24
- const serializer = registry.get(v.kind);
25
- if (!serializer) {
26
- throw new Error(`Unknown kind: ${v.kind}`);
27
- }
28
- writer.reset();
29
- writer.stringOfVarUInt32(v.kind);
30
- serializer.write(v);
31
- return writer.dumpAndOwn();
32
- };
33
50
  const serialize = (v) => {
34
- const serializer = registry.get(v.kind);
35
- if (!serializer) {
36
- throw new Error(`Unknown kind: ${v.kind}`);
37
- }
51
+ const index = kindToIndex[v.kind];
38
52
  writer.reset();
39
- writer.stringOfVarUInt32(v.kind);
40
- serializer.write(v);
53
+ writer.uint8(index);
54
+ switch (index) {
55
+ case 0:
56
+ serializers[0].write(v);
57
+ break;
58
+ case 1:
59
+ serializers[1].write(v);
60
+ break;
61
+ case 2:
62
+ serializers[2].write(v);
63
+ break;
64
+ case 3:
65
+ serializers[3].write(v);
66
+ break;
67
+ case 4:
68
+ serializers[4].write(v);
69
+ break;
70
+ case 5:
71
+ serializers[5].write(v);
72
+ break;
73
+ case 6:
74
+ serializers[6].write(v);
75
+ break;
76
+ }
41
77
  return writer.dump();
42
78
  };
43
79
  return {
44
80
  deserialize,
45
81
  serialize,
46
- serializeVolatile,
47
82
  };
48
83
  };
49
- exports.oneOf = oneOf;
84
+ exports.oneOf7 = oneOf7;
50
85
  //# sourceMappingURL=one-of.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"one-of.js","sourceRoot":"","sources":["../../../src/common/fury-extends/one-of.ts"],"names":[],"mappings":";;;AACA,mDAA+D;AAE/D,qCAAuC;AACvC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,oBAAW,GAAE,CAAC;AAIxC,MAAM,KAAK,GAAG,CAAC,OAA0B,EAAE,EAAE;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE/C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,QAAQ,CAAC,GAAG,CAAE,MAAgC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAA,wBAAkB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAE,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;SAC1C;QAED,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;QAEd,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,CAAW,EAAE,EAAE;QACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SAC5C;QAED,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEpB,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,CAAW,EAAE,EAAE;QAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SAC5C;QAED,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEpB,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO;QACL,WAAW;QACX,SAAS;QACT,iBAAiB;KAClB,CAAC;AACJ,CAAC,CAAC;AApDW,QAAA,KAAK,SAoDhB"}
1
+ {"version":3,"file":"one-of.js","sourceRoot":"","sources":["../../../src/common/fury-extends/one-of.ts"],"names":[],"mappings":"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"}
@@ -64,4 +64,6 @@ export declare const furyFactory: (config?: Config) => {
64
64
  };
65
65
  };
66
66
  export type FuryFactoryReturn = ReturnType<typeof furyFactory>;
67
+ export type Writer = FuryFactoryReturn['writer'];
68
+ export type Reader = FuryFactoryReturn['reader'];
67
69
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/common/fury-extends/shared.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,4BAA4B,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,eAAO,MAAM,WAAW,YAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAU1C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/common/fury-extends/shared.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,4BAA4B,CAAC;AAE9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,eAAO,MAAM,WAAW,YAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAU1C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAC/D,MAAM,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACjD,MAAM,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/common/fury-extends/shared.ts"],"names":[],"mappings":";;;;AAAA,8EAA8C;AAGvC,MAAM,WAAW,GAAG,CAAC,MAAe,EAAE,EAAE;IAC7C,MAAM,IAAI,GAAG,IAAI,cAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IAEjC,OAAO;QACL,IAAI;QACJ,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,WAAW,eAUtB"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/common/fury-extends/shared.ts"],"names":[],"mappings":";;;;AAAA,8EAA8C;AAIvC,MAAM,WAAW,GAAG,CAAC,MAAe,EAAE,EAAE;IAC7C,MAAM,IAAI,GAAG,IAAI,cAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IAEjC,OAAO;QACL,IAAI;QACJ,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,WAAW,eAUtB"}
@@ -1,8 +1,8 @@
1
1
  export * from './message';
2
2
  export * from './rpc-service/proxy';
3
3
  export * from './rpc/multiplexer';
4
- export * from './ext-rpc-protocol';
5
- export * from './utils';
4
+ export * from './rpcProtocol';
5
+ export * from './capturer';
6
6
  export * from './ws-channel';
7
7
  export * from './connect';
8
8
  export * from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -4,8 +4,8 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./message"), exports);
5
5
  tslib_1.__exportStar(require("./rpc-service/proxy"), exports);
6
6
  tslib_1.__exportStar(require("./rpc/multiplexer"), exports);
7
- tslib_1.__exportStar(require("./ext-rpc-protocol"), exports);
8
- tslib_1.__exportStar(require("./utils"), exports);
7
+ tslib_1.__exportStar(require("./rpcProtocol"), exports);
8
+ tslib_1.__exportStar(require("./capturer"), exports);
9
9
  tslib_1.__exportStar(require("./ws-channel"), exports);
10
10
  tslib_1.__exportStar(require("./connect"), exports);
11
11
  tslib_1.__exportStar(require("./types"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,8DAAoC;AACpC,4DAAkC;AAClC,6DAAmC;AACnC,kDAAwB;AACxB,uDAA6B;AAC7B,oDAA0B;AAC1B,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,8DAAoC;AACpC,4DAAkC;AAClC,wDAA8B;AAC9B,qDAA2B;AAC3B,uDAA6B;AAC7B,oDAA0B;AAC1B,kDAAwB"}
@@ -1,6 +1,6 @@
1
1
  import { AbstractMessageReader, AbstractMessageWriter } from '@opensumi/vscode-jsonrpc/lib/common/api';
2
2
  import { Disposable } from '@opensumi/vscode-jsonrpc/lib/common/disposable';
3
- import { MessageReader, DataCallback } from '@opensumi/vscode-jsonrpc/lib/common/messageReader';
3
+ import { DataCallback, MessageReader } from '@opensumi/vscode-jsonrpc/lib/common/messageReader';
4
4
  import { MessageWriter } from '@opensumi/vscode-jsonrpc/lib/common/messageWriter';
5
5
  /**
6
6
  * FIXME: 由于 `createMessageConnection` 方法隐式依赖了 `@opensumi/vscode-jsonrpc/lib/browser/main` 或 `@opensumi/vscode-jsonrpc/lib/node/main`
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/common/message.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAClF;;;;GAIG;AACH,OAAO,wCAAwC,CAAC;AAEhD,qBAAa,sBAAuB,SAAQ,qBAAsB,YAAW,aAAa;IAK5E,SAAS,CAAC,QAAQ,CAAC,MAAM;IAJrC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAa;IAChE,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IAC7C,SAAS,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,CAAM;gBAEzB,MAAM,KAAA;IAiB9B,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,UAAU;IAoBjD,SAAS,CAAC,WAAW,CAAC,OAAO,KAAA;CAQ9B;AAED,qBAAa,sBAAuB,SAAQ,qBAAsB,YAAW,aAAa;IAC5E,SAAS,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,KAAA;IAIrC,KAAK,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlB,GAAG,IAAI,IAAI;CACnB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,GAAG,8EAEpD"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/common/message.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAClF;;;;GAIG;AACH,OAAO,wCAAwC,CAAC;AAEhD,qBAAa,sBAAuB,SAAQ,qBAAsB,YAAW,aAAa;IAK5E,SAAS,CAAC,QAAQ,CAAC,MAAM;IAJrC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAa;IAChE,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IAC7C,SAAS,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,CAAM;gBAEzB,MAAM,KAAA;IAiB9B,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,UAAU;IAoBjD,SAAS,CAAC,WAAW,CAAC,OAAO,KAAA;CAQ9B;AAED,qBAAa,sBAAuB,SAAQ,qBAAsB,YAAW,aAAa;IAC5E,SAAS,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,KAAA;IAIrC,KAAK,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlB,GAAG,IAAI,IAAI;CACnB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,GAAG,8EAEpD"}
@@ -1,12 +1,12 @@
1
1
  /// <reference types="node" />
2
- import type net from 'net';
3
- import type { WebSocket } from 'ws';
4
- import { DisposableCollection, IDisposable } from '@opensumi/ide-utils';
2
+ import { DisposableCollection, EventQueue, IDisposable } from '@opensumi/ide-utils';
3
+ import { IReadableStream } from '@opensumi/ide-utils/lib/stream';
5
4
  import { BaseConnection } from '../connection';
6
5
  import { ILogger } from '../types';
7
- import { IRequestHeaders } from './packet';
8
- import { ProtocolRepository } from './protocol-repository';
9
- import { TGenericNotificationHandler, TGenericRequestHandler, TOnNotificationNotFoundHandler, TOnRequestNotFoundHandler } from './types';
6
+ import { MessageIO } from './message-io';
7
+ import { IResponseHeaders, TGenericNotificationHandler, TGenericRequestHandler, TNotificationNotFoundHandler, TRequestNotFoundHandler } from './types';
8
+ import type net from 'net';
9
+ import type { WebSocket } from 'ws';
10
10
  export interface ISumiConnectionOptions {
11
11
  timeout?: number;
12
12
  logger?: ILogger;
@@ -15,30 +15,46 @@ export declare class SumiConnection implements IDisposable {
15
15
  protected socket: BaseConnection<Uint8Array>;
16
16
  protected options: ISumiConnectionOptions;
17
17
  protected disposable: DisposableCollection;
18
- private _requestEmitter;
19
- private _notificationEmitter;
18
+ private _requestHandlers;
19
+ private _starRequestHandler;
20
+ private _notificationHandlers;
21
+ private _starNotificationHandler;
20
22
  private _requestId;
21
23
  private _callbacks;
22
24
  private readonly _timeoutHandles;
23
25
  private readonly _cancellationTokenSources;
24
26
  private readonly _knownCanceledRequests;
25
- protocolRepository: ProtocolRepository;
27
+ protected activeRequestPool: Map<number, ActiveRequest>;
28
+ io: MessageIO;
26
29
  protected logger: ILogger;
27
30
  constructor(socket: BaseConnection<Uint8Array>, options?: ISumiConnectionOptions);
28
31
  sendNotification(method: string, ...args: any[]): void;
29
32
  sendRequest(method: string, ...args: any[]): Promise<any>;
30
- onNotification(method: string, handler: TGenericNotificationHandler): IDisposable;
31
- onNotificationNotFound(handler: TOnNotificationNotFoundHandler): IDisposable;
32
33
  cancelRequest(requestId: number): void;
33
34
  private _handleTimeout;
34
- private runRequestHandler;
35
35
  onRequest<T = any>(method: string, handler: TGenericRequestHandler<T>): IDisposable;
36
- onRequestNotFound(handler: TOnRequestNotFoundHandler): IDisposable;
37
- setProtocolRepository(protocolRepository: ProtocolRepository): void;
36
+ onRequestNotFound(handler: TRequestNotFoundHandler): IDisposable;
37
+ onNotification(method: string, handler: TGenericNotificationHandler): IDisposable;
38
+ onNotificationNotFound(handler: TNotificationNotFoundHandler): IDisposable;
38
39
  listen(): void;
39
40
  dispose(): void;
40
- protected _receiveRequest(rpcType: number, requestId: number, method: string, headers: IRequestHeaders, args: any[]): void;
41
41
  static forWSWebSocket(socket: WebSocket, options?: ISumiConnectionOptions): SumiConnection;
42
42
  static forNetSocket(socket: net.Socket, options?: ISumiConnectionOptions): SumiConnection;
43
+ private traceRequestError;
44
+ }
45
+ declare class ActiveRequest implements IReadableStream<Uint8Array> {
46
+ protected requestId: number;
47
+ protected responseHeaders: IResponseHeaders;
48
+ protected dataQ: EventQueue<Uint8Array>;
49
+ protected endQ: EventQueue<void>;
50
+ on(event: 'data', listener: (chunk: Uint8Array) => void): this;
51
+ on(event: 'end', listener: () => void): this;
52
+ on(event: string, listener: (...args: any[]) => void): this;
53
+ onData(cb: (data: Uint8Array) => void): IDisposable;
54
+ onEnd(cb: () => void): IDisposable;
55
+ constructor(requestId: number, responseHeaders: IResponseHeaders);
56
+ emit(buffer: Uint8Array): void;
57
+ end(): void;
43
58
  }
59
+ export {};
44
60
  //# sourceMappingURL=connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/connection.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAGpC,OAAO,EACL,oBAAoB,EACpB,WAAW,EAMZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAA8C,MAAM,eAAe,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,OAAO,EAOL,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,8BAA8B,EAC9B,yBAAyB,EAE1B,MAAM,SAAS,CAAC;AAOjB,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,cAAe,YAAW,WAAW;IAoBpC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC;IAAE,SAAS,CAAC,OAAO,EAAE,sBAAsB;IAnBnG,SAAS,CAAC,UAAU,uBAA8B;IAElD,OAAO,CAAC,eAAe,CAElB;IACL,OAAO,CAAC,oBAAoB,CAEvB;IAEL,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAuC;IAEzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8C;IAC9E,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA8C;IACxF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;IAErD,kBAAkB,qBAA4B;IACrD,SAAS,CAAC,MAAM,EAAE,OAAO,CAAW;gBAEd,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAAY,OAAO,GAAE,sBAA2B;IAMxG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAM/C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAsD1C,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,GAAG,WAAW;IAOjF,sBAAsB,CAAC,OAAO,EAAE,8BAA8B,GAAG,WAAW;IAO5E,aAAa,CAAC,SAAS,EAAE,MAAM;IAI/B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;IAqCzB,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,WAAW;IAOnF,iBAAiB,CAAC,OAAO,EAAE,yBAAyB,GAAG,WAAW;IAQlE,qBAAqB,CAAC,kBAAkB,EAAE,kBAAkB;IAI5D,MAAM;IA4FN,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;IAsBnH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE,sBAA2B;IAI7E,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAE,sBAA2B;CAG7E"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/connection.ts"],"names":[],"mappings":"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"}