@opensumi/ide-connection 2.27.3-rc-1714982362.0 → 2.27.3-rc-1715223126.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.
@@ -21,4 +21,58 @@ export declare const UriComponentsProto: {
21
21
  } | undefined;
22
22
  };
23
23
  };
24
+ export declare const RangeProto: {
25
+ type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
26
+ options: {
27
+ tag: string;
28
+ props: {
29
+ startLineNumber: {
30
+ type: import("@furyjs/fury").InternalSerializerType.UINT32;
31
+ };
32
+ startColumn: {
33
+ type: import("@furyjs/fury").InternalSerializerType.UINT32;
34
+ };
35
+ endLineNumber: {
36
+ type: import("@furyjs/fury").InternalSerializerType.UINT32;
37
+ };
38
+ endColumn: {
39
+ type: import("@furyjs/fury").InternalSerializerType.UINT32;
40
+ };
41
+ } | undefined;
42
+ };
43
+ };
44
+ export declare const SelectionProto: {
45
+ type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
46
+ options: {
47
+ tag: string;
48
+ props: {
49
+ selectionStartLineNumber: {
50
+ type: import("@furyjs/fury").InternalSerializerType.UINT32;
51
+ };
52
+ selectionStartColumn: {
53
+ type: import("@furyjs/fury").InternalSerializerType.UINT32;
54
+ };
55
+ positionLineNumber: {
56
+ type: import("@furyjs/fury").InternalSerializerType.UINT32;
57
+ };
58
+ positionColumn: {
59
+ type: import("@furyjs/fury").InternalSerializerType.UINT32;
60
+ };
61
+ } | undefined;
62
+ };
63
+ };
64
+ export declare const PositionProto: {
65
+ type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
66
+ options: {
67
+ tag: string;
68
+ props: {
69
+ lineNumber: {
70
+ type: import("@furyjs/fury").InternalSerializerType.UINT32;
71
+ };
72
+ column: {
73
+ type: import("@furyjs/fury").InternalSerializerType.UINT32;
74
+ };
75
+ } | undefined;
76
+ };
77
+ };
24
78
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/common/protocols/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAM7B,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/common/protocols/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAM7B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;CAKrB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;CAKzB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;CAGxB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UriComponentsProto = void 0;
3
+ exports.PositionProto = exports.SelectionProto = exports.RangeProto = exports.UriComponentsProto = void 0;
4
4
  const fury_1 = require("@furyjs/fury");
5
5
  exports.UriComponentsProto = fury_1.Type.object('uri-components', {
6
6
  scheme: fury_1.Type.string(),
@@ -9,4 +9,20 @@ exports.UriComponentsProto = fury_1.Type.object('uri-components', {
9
9
  query: fury_1.Type.string(),
10
10
  fragment: fury_1.Type.string(),
11
11
  });
12
+ exports.RangeProto = fury_1.Type.object('range', {
13
+ startLineNumber: fury_1.Type.uint32(),
14
+ startColumn: fury_1.Type.uint32(),
15
+ endLineNumber: fury_1.Type.uint32(),
16
+ endColumn: fury_1.Type.uint32(),
17
+ });
18
+ exports.SelectionProto = fury_1.Type.object('selection', {
19
+ selectionStartLineNumber: fury_1.Type.uint32(),
20
+ selectionStartColumn: fury_1.Type.uint32(),
21
+ positionLineNumber: fury_1.Type.uint32(),
22
+ positionColumn: fury_1.Type.uint32(),
23
+ });
24
+ exports.PositionProto = fury_1.Type.object('position', {
25
+ lineNumber: fury_1.Type.uint32(),
26
+ column: fury_1.Type.uint32(),
27
+ });
12
28
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common/protocols/common.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAEvB,QAAA,kBAAkB,GAAG,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAC9D,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;IACxB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,WAAI,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,WAAI,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common/protocols/common.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAEvB,QAAA,kBAAkB,GAAG,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAC9D,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;IACxB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,WAAI,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,WAAI,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,WAAI,CAAC,MAAM,CAAC,OAAO,EAAE;IAC7C,eAAe,EAAE,WAAI,CAAC,MAAM,EAAE;IAC9B,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE;IAC1B,aAAa,EAAE,WAAI,CAAC,MAAM,EAAE;IAC5B,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,WAAI,CAAC,MAAM,CAAC,WAAW,EAAE;IACrD,wBAAwB,EAAE,WAAI,CAAC,MAAM,EAAE;IACvC,oBAAoB,EAAE,WAAI,CAAC,MAAM,EAAE;IACnC,kBAAkB,EAAE,WAAI,CAAC,MAAM,EAAE;IACjC,cAAc,EAAE,WAAI,CAAC,MAAM,EAAE;CAC9B,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,WAAI,CAAC,MAAM,CAAC,UAAU,EAAE;IACnD,UAAU,EAAE,WAAI,CAAC,MAAM,EAAE;IACzB,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { TSumiProtocol } from '../../rpc';
2
+ /**
3
+ * {@link IExtensionHostDocService}
4
+ */
5
+ export declare const ExtensionDocumentProtocol: TSumiProtocol;
6
+ //# sourceMappingURL=ext-host-documents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ext-host-documents.d.ts","sourceRoot":"","sources":["../../../../src/common/protocols/extensions/ext-host-documents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,aA4DvC,CAAC"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtensionDocumentProtocol = void 0;
4
+ const fury_1 = require("@furyjs/fury");
5
+ const common_1 = require("../common");
6
+ /**
7
+ * {@link IExtensionHostDocService}
8
+ */
9
+ exports.ExtensionDocumentProtocol = {
10
+ name: 'ExtHostDocuments',
11
+ methods: [
12
+ {
13
+ method: '$fireModelChangedEvent',
14
+ request: [
15
+ {
16
+ name: 'event',
17
+ type: fury_1.Type.object('model-changed-event', {
18
+ changes: fury_1.Type.array(fury_1.Type.object('model-changed-event-changes', {
19
+ range: common_1.RangeProto,
20
+ rangeLength: fury_1.Type.uint32(),
21
+ rangeOffset: fury_1.Type.uint32(),
22
+ text: fury_1.Type.string(),
23
+ })),
24
+ uri: fury_1.Type.string(),
25
+ versionId: fury_1.Type.uint32(),
26
+ eol: fury_1.Type.string(),
27
+ dirty: fury_1.Type.bool(),
28
+ isRedoing: fury_1.Type.bool(),
29
+ isUndoing: fury_1.Type.bool(),
30
+ }),
31
+ },
32
+ ],
33
+ },
34
+ {
35
+ method: '$fireModelOpenedEvent',
36
+ request: [
37
+ {
38
+ name: 'event',
39
+ type: fury_1.Type.object('model-open-event', {
40
+ uri: fury_1.Type.string(),
41
+ lines: fury_1.Type.array(fury_1.Type.string()),
42
+ eol: fury_1.Type.string(),
43
+ versionId: fury_1.Type.uint32(),
44
+ languageId: fury_1.Type.string(),
45
+ dirty: fury_1.Type.bool(),
46
+ }),
47
+ },
48
+ ],
49
+ },
50
+ {
51
+ method: '$provideTextDocumentContent',
52
+ request: [
53
+ {
54
+ name: 'path',
55
+ type: fury_1.Type.string(),
56
+ },
57
+ {
58
+ name: 'encoding',
59
+ type: fury_1.Type.string(),
60
+ },
61
+ ],
62
+ response: {
63
+ type: fury_1.Type.string(),
64
+ },
65
+ },
66
+ ],
67
+ };
68
+ //# sourceMappingURL=ext-host-documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ext-host-documents.js","sourceRoot":"","sources":["../../../../src/common/protocols/extensions/ext-host-documents.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAGpC,sCAAuC;AAEvC;;GAEG;AACU,QAAA,yBAAyB,GAAkB;IACtD,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE;QACP;YACE,MAAM,EAAE,wBAAwB;YAChC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;wBACvC,OAAO,EAAE,WAAI,CAAC,KAAK,CACjB,WAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE;4BACzC,KAAK,EAAE,mBAAU;4BACjB,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE;4BAC1B,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE;4BAC1B,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;yBACpB,CAAC,CACH;wBACD,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;wBAClB,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;wBACxB,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;wBAClB,KAAK,EAAE,WAAI,CAAC,IAAI,EAAE;wBAClB,SAAS,EAAE,WAAI,CAAC,IAAI,EAAE;wBACtB,SAAS,EAAE,WAAI,CAAC,IAAI,EAAE;qBACvB,CAAC;iBACH;aACF;SACF;QACD;YACE,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;wBACpC,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;wBAClB,KAAK,EAAE,WAAI,CAAC,KAAK,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC;wBAChC,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;wBAClB,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;wBACxB,UAAU,EAAE,WAAI,CAAC,MAAM,EAAE;wBACzB,KAAK,EAAE,WAAI,CAAC,IAAI,EAAE;qBACnB,CAAC;iBACH;aACF;SACF;QACD;YACE,MAAM,EAAE,6BAA6B;YACrC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;iBACpB;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;iBACpB;aACF;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;aACpB;SACF;KACF;CACF,CAAC"}
@@ -1,11 +1,11 @@
1
1
  /// <reference types="node" />
2
- import { DisposableStore, EventQueue, IDisposable } from '@opensumi/ide-utils';
3
- import { IReadableStream } from '@opensumi/ide-utils/lib/stream';
2
+ import { DisposableStore, IDisposable } from '@opensumi/ide-utils';
3
+ import { SumiReadableStream } from '@opensumi/ide-utils/lib/stream';
4
4
  import { Capturer } from '../capturer';
5
5
  import { BaseConnection } from '../connection';
6
6
  import { ILogger } from '../types';
7
7
  import { MessageIO } from './message-io';
8
- import { IResponseHeaders, TGenericNotificationHandler, TGenericRequestHandler, TNotificationNotFoundHandler, TRequestNotFoundHandler } from './types';
8
+ import { TGenericNotificationHandler, TGenericRequestHandler, TNotificationNotFoundHandler, TRequestNotFoundHandler } from './types';
9
9
  import type net from 'net';
10
10
  import type { WebSocket } from 'ws';
11
11
  export interface ISumiConnectionOptions {
@@ -29,7 +29,7 @@ export declare class SumiConnection implements IDisposable {
29
29
  private readonly _timeoutHandles;
30
30
  private readonly _cancellationTokenSources;
31
31
  private readonly _knownCanceledRequests;
32
- protected activeRequestPool: Map<number, ActiveRequest>;
32
+ protected activeRequestPool: Map<number, SumiReadableStream<any>>;
33
33
  io: MessageIO;
34
34
  protected logger: ILogger;
35
35
  protected capturer: Capturer;
@@ -48,19 +48,4 @@ export declare class SumiConnection implements IDisposable {
48
48
  static forNetSocket(socket: net.Socket, options?: ISumiConnectionOptions): SumiConnection;
49
49
  private traceRequestError;
50
50
  }
51
- declare class ActiveRequest implements IReadableStream<Uint8Array> {
52
- protected requestId: number;
53
- protected responseHeaders: IResponseHeaders;
54
- protected dataQ: EventQueue<Uint8Array>;
55
- protected endQ: EventQueue<void>;
56
- on(event: 'data', listener: (chunk: Uint8Array) => void): this;
57
- on(event: 'end', listener: () => void): this;
58
- on(event: string, listener: (...args: any[]) => void): this;
59
- onData(cb: (data: Uint8Array) => void): IDisposable;
60
- onEnd(cb: () => void): IDisposable;
61
- constructor(requestId: number, responseHeaders: IResponseHeaders);
62
- emit(buffer: Uint8Array): void;
63
- end(): void;
64
- }
65
- export {};
66
51
  //# sourceMappingURL=connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/connection.ts"],"names":[],"mappings":";AACA,OAAO,EAGL,eAAe,EACf,WAAW,EAGZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAoC,MAAM,gCAAgC,CAAC;AAEtG,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAA8C,MAAM,eAAe,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAyB,MAAM,cAAc,CAAC;AAChE,OAAO,EAGL,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAE5B,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAIpC,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAe,YAAW,WAAW;IAsBpC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC;IAAE,SAAS,CAAC,OAAO,EAAE,sBAAsB;IArBnG,SAAS,CAAC,UAAU,kBAAyB;IAE7C,OAAO,CAAC,gBAAgB,CAAkD;IAC1E,OAAO,CAAC,mBAAmB,CAAsC;IACjE,OAAO,CAAC,qBAAqB,CAAkD;IAC/E,OAAO,CAAC,wBAAwB,CAA2C;IAE3E,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;IAE5D,SAAS,CAAC,iBAAiB,uCAA8C;IAElE,EAAE,YAAmB;IAC5B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAE1B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAEP,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAAY,OAAO,GAAE,sBAA2B;IAWxG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAO/C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAyD1C,aAAa,CAAC,SAAS,EAAE,MAAM;IAI/B,OAAO,CAAC,cAAc;IAWtB,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,WAAW;IASnF,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,WAAW;IAShE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,GAAG,WAAW;IASjF,sBAAsB,CAAC,OAAO,EAAE,4BAA4B,GAAG,WAAW;IAS1E,MAAM;IA4LN,OAAO,IAAI,IAAI;IAIf,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;IAI5E,OAAO,CAAC,iBAAiB;CAG1B"}
@@ -150,40 +150,42 @@ class SumiConnection {
150
150
  callback(headers, error, result);
151
151
  };
152
152
  const headers = this.io.responseHeadersSerializer.read();
153
- switch (status) {
154
- case message_io_1.Status.Err: {
155
- // TODO: use binary codec
156
- const content = reader.stringOfVarUInt32();
157
- const error = (0, ide_utils_1.parseError)(content);
158
- runCallback(nullHeaders, error);
153
+ let err;
154
+ let result;
155
+ if (status === message_io_1.Status.Err) {
156
+ // todo: move to processor
157
+ const content = reader.stringOfVarUInt32();
158
+ err = (0, ide_utils_1.parseError)(content);
159
+ }
160
+ else {
161
+ result = this.io.getProcessor(method).readResponse();
162
+ }
163
+ if (headers && headers.chunked) {
164
+ let activeReq;
165
+ if (this.activeRequestPool.has(requestId)) {
166
+ activeReq = this.activeRequestPool.get(requestId);
167
+ }
168
+ else {
169
+ // new stream request
170
+ activeReq = new stream_1.SumiReadableStream();
171
+ this.activeRequestPool.set(requestId, activeReq);
172
+ // resolve `activeReq` to caller
173
+ runCallback(headers, undefined, activeReq);
174
+ }
175
+ if (result === null) {
176
+ // when result is null, it means the stream is ended.
177
+ activeReq.end();
178
+ this.activeRequestPool.delete(requestId);
159
179
  break;
160
180
  }
161
- default: {
162
- if (headers && headers.chunked) {
163
- let activeReq;
164
- if (this.activeRequestPool.has(requestId)) {
165
- activeReq = this.activeRequestPool.get(requestId);
166
- }
167
- else {
168
- activeReq = new ActiveRequest(requestId, headers);
169
- this.activeRequestPool.set(requestId, activeReq);
170
- runCallback(headers, undefined, activeReq);
171
- }
172
- const result = this.io.getProcessor(method).readResponse();
173
- // when result is null, it means the stream is ended.
174
- if (result) {
175
- activeReq.emit(result);
176
- break;
177
- }
178
- activeReq.end();
179
- this.activeRequestPool.delete(requestId);
180
- }
181
- else {
182
- const result = this.io.getProcessor(method).readResponse();
183
- runCallback(headers, undefined, result);
184
- }
181
+ if (err) {
182
+ activeReq.emitError(err);
183
+ break;
185
184
  }
185
+ activeReq.emitData(result);
186
+ break;
186
187
  }
188
+ runCallback(headers, err, result);
187
189
  break;
188
190
  }
189
191
  case message_io_1.OperationType.Notification:
@@ -232,6 +234,9 @@ class SumiConnection {
232
234
  onEnd: () => {
233
235
  this.socket.send(this.io.Response(requestId, method, responseHeaders, null));
234
236
  },
237
+ onError: (err) => {
238
+ this.socket.send(this.io.Error(requestId, method, nullHeaders, err));
239
+ },
235
240
  });
236
241
  }
237
242
  else {
@@ -291,45 +296,7 @@ class SumiConnection {
291
296
  }
292
297
  traceRequestError(requestId, method, args, error) {
293
298
  this.capturer.captureSendRequestFail(requestId, method, error);
294
- this.logger.error(`Error handling request ${method} with args `, args, error);
295
299
  }
296
300
  }
297
301
  exports.SumiConnection = SumiConnection;
298
- class ActiveRequest {
299
- on(event, listener) {
300
- if (typeof event === 'string') {
301
- switch (event) {
302
- case 'data':
303
- this.onData(listener);
304
- break;
305
- case 'end':
306
- this.onEnd(listener);
307
- break;
308
- default:
309
- break;
310
- }
311
- }
312
- return this;
313
- }
314
- onData(cb) {
315
- return this.dataQ.on(cb);
316
- }
317
- onEnd(cb) {
318
- return this.endQ.on(cb);
319
- }
320
- constructor(requestId, responseHeaders) {
321
- this.requestId = requestId;
322
- this.responseHeaders = responseHeaders;
323
- this.dataQ = new ide_utils_1.EventQueue();
324
- this.endQ = new ide_utils_1.EventQueue();
325
- }
326
- emit(buffer) {
327
- this.dataQ.push(buffer);
328
- }
329
- end() {
330
- this.dataQ.dispose();
331
- this.endQ.push(undefined);
332
- this.endQ.dispose();
333
- }
334
- }
335
302
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/common/rpc/connection.ts"],"names":[],"mappings":";;;AAAA,+DAA2D;AAC3D,mDAQ6B;AAC7B,2DAAmG;AAEnG,0CAAuC;AACvC,8CAA2F;AAC3F,4CAAqD;AAGrD,qCAA8C;AAC9C,6CAAgE;AAchE,MAAM,WAAW,GAAG,EAAE,CAAC;AAWvB,MAAa,cAAc;IAsBzB,YAAsB,MAAkC,EAAY,UAAkC,EAAE;QAAlF,WAAM,GAAN,MAAM,CAA4B;QAAY,YAAO,GAAP,OAAO,CAA6B;QArB9F,eAAU,GAAG,IAAI,2BAAe,EAAE,CAAC;QAErC,qBAAgB,GAAG,IAAI,GAAG,EAAuC,CAAC;QAElE,0BAAqB,GAAG,IAAI,GAAG,EAAuC,CAAC;QAGvE,eAAU,GAAG,CAAC,CAAC;QACf,eAAU,GAAG,IAAI,GAAG,EAA4B,CAAC;QAExC,oBAAe,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC7D,8BAAyB,GAAG,IAAI,GAAG,EAAmC,CAAC;QACvE,2BAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;QAElD,sBAAiB,GAAG,IAAI,GAAG,EAAyB,CAAC;QAExD,OAAE,GAAG,IAAI,sBAAS,EAAE,CAAC;QAM1B,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAA,gCAAc,GAAE,CAAC;SAChC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,GAAG,IAAW;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEpC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,GAAG,IAAW;QACxC,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAEpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxD,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBAEvD,IAAI,KAAK,KAAK,iCAAqB,EAAE;wBACnC,2DAA2D;wBAC3D,iFAAiF;wBACjF,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,OAAO;qBACR;oBAED,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;iBACR;gBAED,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBAElE,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,kEAAkE;YAClE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE;gBACvD,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;oBACpC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACzC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aACpD;YAED,MAAM,iBAAiB,GACrB,IAAI,CAAC,MAAM,IAAI,6BAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACvG,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,uBAAuB,EAAE;gBAClE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAA,oBAAQ,GAAE,CAAC,CAAC;aACnC;YAED,IAAI,iBAAiB,EAAE;gBACrB,iBAAiB,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;aAChF;YAED,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAE1D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,CAAC,EAAE,CAAC,OAAO,CACb,SAAS,EACT,MAAM,EACN;gBACE,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,SAAS;aACpD,EACD,IAAI,CACL,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,SAAiB;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEO,cAAc,CAAC,MAAc,EAAE,SAAiB;QACtD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC3E,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvC,QAAQ,CAAC,WAAW,EAAE,IAAI,2BAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,CAAU,MAAc,EAAE,OAAkC;QACnE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,OAAgC;QAChD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACnC,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACvC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,OAAoC;QACjE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC;SACF,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,OAAqC;QAC1D,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;YAC5C,CAAC;SACF,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnB,8CAA8C;YAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEf,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAmB,CAAC;YAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAElC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACvC,qEAAqE;gBACrE,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;oBACtC,aAAa;oBACb,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;iBACnD;gBACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aACxC;YAED,QAAQ,MAAM,EAAE;gBACd,KAAK,0BAAa,CAAC,QAAQ,CAAC,CAAC;oBAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAE/B,MAAM,WAAW,GAAG,CAAC,OAAyB,EAAE,KAAW,EAAE,MAAY,EAAE,EAAE;wBAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAChD,IAAI,CAAC,QAAQ,EAAE;4BACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;4BACnE,OAAO;yBACR;wBAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAElC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC;oBAEF,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC;oBAEzD,QAAQ,MAAM,EAAE;wBACd,KAAK,mBAAM,CAAC,GAAG,CAAC,CAAC;4BACf,yBAAyB;4BACzB,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;4BAC3C,MAAM,KAAK,GAAG,IAAA,sBAAU,EAAC,OAAO,CAAC,CAAC;4BAClC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;4BAChC,MAAM;yBACP;wBACD,OAAO,CAAC,CAAC;4BACP,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;gCAC9B,IAAI,SAAwB,CAAC;gCAC7B,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oCACzC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;iCACpD;qCAAM;oCACL,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oCAClD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oCACjD,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;iCAC5C;gCAED,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,YAAY,EAAgB,CAAC;gCAEzE,qDAAqD;gCACrD,IAAI,MAAM,EAAE;oCACV,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oCACvB,MAAM;iCACP;gCAED,SAAS,CAAC,GAAG,EAAE,CAAC;gCAChB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;6BAC1C;iCAAM;gCACL,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC;gCAC3D,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;6BACzC;yBACF;qBACF;oBACD,MAAM;iBACP;gBACD,KAAK,0BAAa,CAAC,YAAY,CAAC;gBAChC,eAAe;gBACf,KAAK,0BAAa,CAAC,OAAO,CAAC,CAAC;oBAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAqB,CAAC;oBAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;oBAExD,IAAI,OAAO,CAAC,UAAU,EAAE;wBACtB,MAAM,WAAW,GAAG,IAAI,mCAAuB,EAAE,CAAC;wBAClD,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;wBAC3D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAE7B,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;4BAC9C,WAAW,CAAC,MAAM,EAAE,CAAC;4BACrB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;yBAC/C;qBACF;oBAED,QAAQ,MAAM,EAAE;wBACd,KAAK,0BAAa,CAAC,OAAO,CAAC,CAAC;4BAC1B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;4BAExD,IAAI,OAAqB,CAAC;4BAE1B,IAAI;gCACF,IAAI,MAAW,CAAC;gCAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gCAClD,IAAI,OAAO,EAAE;oCACX,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;iCAC3B;qCAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE;oCACnC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;iCACjD;gCAED,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;6BACnC;4BAAC,OAAO,GAAG,EAAE;gCACZ,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;6BAC/B;4BAED,MAAM,SAAS,GAAG,CAAC,MAAW,EAAE,EAAE;gCAChC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gCAEhE,IAAI,IAAA,yBAAgB,EAAC,MAAM,CAAC,EAAE;oCAC5B,MAAM,eAAe,GAAqB;wCACxC,OAAO,EAAE,IAAI;qCACd,CAAC;oCACF,IAAA,uBAAc,EAAC,MAAM,EAAE;wCACrB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;4CACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;wCAC/E,CAAC;wCACD,KAAK,EAAE,GAAG,EAAE;4CACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;wCAC/E,CAAC;qCACF,CAAC,CAAC;iCACJ;qCAAM;oCACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;iCAC5E;gCAED,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;4BACnD,CAAC,CAAC;4BAEF,MAAM,OAAO,GAAG,CAAC,GAAU,EAAE,EAAE;gCAC7B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gCAErD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;gCACrE,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;4BACnD,CAAC,CAAC;4BAEF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BACvC,MAAM;yBACP;wBACD,KAAK,0BAAa,CAAC,YAAY,CAAC,CAAC;4BAC/B,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;4BAE7D,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;4BAEvD,IAAI,OAAO,EAAE;gCACX,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;6BAClB;iCAAM,IAAI,IAAI,CAAC,wBAAwB,EAAE;gCACxC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;6BAC7C;4BACD,MAAM;yBACP;qBACF;oBAED,MAAM;iBACP;gBACD,KAAK,0BAAa,CAAC,MAAM,CAAC,CAAC;oBACzB,MAAM,uBAAuB,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC9E,IAAI,uBAAuB,EAAE;wBAC3B,uBAAuB,CAAC,MAAM,EAAE,CAAC;qBAClC;yBAAM;wBACL,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;qBAC5C;oBACD,MAAM;iBACP;gBACD,OAAO,CAAC,CAAC;oBACP,MAAM;iBACP;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAChC;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,MAAiB,EAAE,UAAkC,EAAE;QAC3E,OAAO,IAAI,cAAc,CAAC,IAAI,kCAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,MAAkB,EAAE,UAAkC,EAAE;QAC1E,OAAO,IAAI,cAAc,CAAC,IAAI,gCAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAEO,iBAAiB,CAAC,SAAiB,EAAE,MAAc,EAAE,IAAW,EAAE,KAAU;QAClF,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,MAAM,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;CACF;AA1VD,wCA0VC;AAED,MAAM,aAAa;IAOjB,EAAE,CAAC,KAAc,EAAE,QAAiB;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,QAAQ,KAAK,EAAE;gBACb,KAAK,MAAM;oBACT,IAAI,CAAC,MAAM,CAAC,QAAuC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,KAAK;oBACR,IAAI,CAAC,KAAK,CAAC,QAAsB,CAAC,CAAC;oBACnC,MAAM;gBACR;oBACE,MAAM;aACT;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,EAA8B;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,EAAc;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,YAAsB,SAAiB,EAAY,eAAiC;QAA9D,cAAS,GAAT,SAAS,CAAQ;QAAY,oBAAe,GAAf,eAAe,CAAkB;QA9B1E,UAAK,GAAG,IAAI,sBAAU,EAAc,CAAC;QACrC,SAAI,GAAG,IAAI,sBAAU,EAAQ,CAAC;IA6B+C,CAAC;IAExF,IAAI,CAAC,MAAkB;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,GAAG;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/common/rpc/connection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-io.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAOxE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAGhB,aAAa,EACb,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAIjB,oBAAY,aAAa;IACvB,OAAO,IAAA;IACP,YAAY,IAAA;IACZ,QAAQ,IAAA;IACR,MAAM,IAAA;CACP;AAED,oBAAY,MAAM;IAChB,EAAE,IAAA;IACF,GAAG,IAAA;CACJ;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;CAOf,CAAC;AAuDX,qBAAa,SAAS;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IAErB,OAAO,CAAC,aAAa,CAA6C;IAElE,OAAO,CAAC,aAAa,CAAwB;IAE7C,wBAAwB,EAAE,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACvE,yBAAyB,EAAE,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;;IAczE,GAAG,CAAC,IAAI,EAAE,MAAM;IAIhB,YAAY,CACV,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACzC;IASH,kBAAkB,CAChB,cAAc,EAAE,mBAAmB,EACnC,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACzC;IASH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAQjD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;IAcrF,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;IAchF,MAAM,CAAC,SAAS,EAAE,MAAM;IAUxB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG;IAcrF,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG;CAalF"}
1
+ {"version":3,"file":"message-io.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAOxE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAGhB,aAAa,EACb,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAIjB,oBAAY,aAAa;IACvB,OAAO,IAAA;IACP,YAAY,IAAA;IACZ,QAAQ,IAAA;IACR,MAAM,IAAA;CACP;AAED,oBAAY,MAAM;IAChB,EAAE,IAAA;IACF,GAAG,IAAA;CACJ;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;CAOf,CAAC;AAmEX,qBAAa,SAAS;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IAErB,OAAO,CAAC,aAAa,CAA6C;IAElE,OAAO,CAAC,aAAa,CAAwB;IAE7C,wBAAwB,EAAE,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACvE,yBAAyB,EAAE,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;;IAczE,GAAG,CAAC,IAAI,EAAE,MAAM;IAIhB,YAAY,CACV,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACzC;IASH,kBAAkB,CAChB,cAAc,EAAE,mBAAmB,EACnC,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACzC;IASH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAQjD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;IAcrF,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;IAchF,MAAM,CAAC,SAAS,EAAE,MAAM;IAUxB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG;IAcrF,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG;CAalF"}
@@ -27,6 +27,12 @@ exports.HeadersProto = {
27
27
  chunked: fury_1.Type.bool(),
28
28
  }),
29
29
  };
30
+ const PacketPrefix = {
31
+ Request: (OperationType.Request << 8) | ProtoVersionV1,
32
+ Notification: (OperationType.Notification << 8) | ProtoVersionV1,
33
+ Response: (OperationType.Response << 8) | ProtoVersionV1,
34
+ Cancel: (OperationType.Cancel << 8) | ProtoVersionV1,
35
+ };
30
36
  class SumiProtocolSerializer {
31
37
  constructor(methodProtocol, fury) {
32
38
  this.fury = fury;
@@ -35,7 +41,10 @@ class SumiProtocolSerializer {
35
41
  argsTuple.push(element.type);
36
42
  }
37
43
  const requestProto = fury_1.Type.tuple(argsTuple);
38
- const resultProto = methodProtocol.response.type || fury_1.Type.any();
44
+ let resultProto = fury_1.Type.any();
45
+ if (methodProtocol.response && methodProtocol.response.type) {
46
+ resultProto = methodProtocol.response.type;
47
+ }
39
48
  this.request = this.fury.registerSerializer(requestProto);
40
49
  this.result = this.fury.registerSerializer(resultProto);
41
50
  }
@@ -108,7 +117,7 @@ class MessageIO {
108
117
  Notification(requestId, method, headers, args) {
109
118
  const { writer } = this;
110
119
  writer.reset();
111
- writer.uint16((OperationType.Notification << 8) | ProtoVersionV1);
120
+ writer.uint16(PacketPrefix.Notification);
112
121
  writer.uint32(requestId);
113
122
  writer.stringOfVarUInt32(method);
114
123
  this.requestHeadersSerializer.write(headers);
@@ -118,7 +127,7 @@ class MessageIO {
118
127
  Request(requestId, method, headers, args) {
119
128
  const { writer } = this;
120
129
  writer.reset();
121
- writer.uint16((OperationType.Request << 8) | ProtoVersionV1);
130
+ writer.uint16(PacketPrefix.Request);
122
131
  writer.uint32(requestId);
123
132
  writer.stringOfVarUInt32(method);
124
133
  this.requestHeadersSerializer.write(headers);
@@ -128,14 +137,14 @@ class MessageIO {
128
137
  Cancel(requestId) {
129
138
  const { writer } = this;
130
139
  writer.reset();
131
- writer.uint16((OperationType.Cancel << 8) | ProtoVersionV1);
140
+ writer.uint16(PacketPrefix.Cancel);
132
141
  writer.uint32(requestId);
133
142
  return writer.dump();
134
143
  }
135
144
  Response(requestId, method, headers, result) {
136
145
  const { writer } = this;
137
146
  writer.reset();
138
- writer.uint16((OperationType.Response << 8) | ProtoVersionV1);
147
+ writer.uint16(PacketPrefix.Response);
139
148
  writer.uint32(requestId);
140
149
  writer.stringOfVarUInt32(method);
141
150
  writer.uint16(Status.OK);
@@ -146,7 +155,7 @@ class MessageIO {
146
155
  Error(requestId, method, headers, error) {
147
156
  const { writer } = this;
148
157
  writer.reset();
149
- writer.uint16((OperationType.Response << 8) | ProtoVersionV1);
158
+ writer.uint16(PacketPrefix.Response);
150
159
  writer.uint32(requestId);
151
160
  writer.stringOfVarUInt32(method);
152
161
  writer.uint16(Status.Err);
@@ -1 +1 @@
1
- {"version":3,"file":"message-io.js","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":";;;AAAA,uCAAuE;AACvE,mDAA+D;AAG/D,+DAAqE;AAErE,6CAAoD;AACpD,mDAAqD;AAYrD,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,uDAAO,CAAA;IACP,iEAAY,CAAA;IACZ,yDAAQ,CAAA;IACR,qDAAM,CAAA;AACR,CAAC,EALW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAKxB;AAED,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,+BAAE,CAAA;IACF,iCAAG,CAAA;AACL,CAAC,EAHW,MAAM,GAAN,cAAM,KAAN,cAAM,QAGjB;AAEY,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC,aAAa,EAAE;QAClC,UAAU,EAAE,WAAI,CAAC,IAAI,EAAE;KACxB,CAAC;IACF,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,cAAc,EAAE;QACpC,OAAO,EAAE,WAAI,CAAC,IAAI,EAAE;KACrB,CAAC;CACM,CAAC;AAEX,MAAM,sBAAsB;IAI1B,YAAY,cAAmC,EAAS,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QAChE,MAAM,SAAS,GAAG,EAAuB,CAAC;QAE1C,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE;YAC5C,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC9B;QAED,MAAM,YAAY,GAAG,WAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,WAAI,CAAC,GAAG,EAAE,CAAC;QAE/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY,CAAC,IAAW;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IACD,aAAa,CAAoB,MAAS;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;CACF;AAED,MAAM,qBAAqB;IAGzB,YAAmB,MAAoB,EAAS,MAAoB;QAAjD,WAAM,GAAN,MAAM,CAAc;QAAS,WAAM,GAAN,MAAM,CAAc;QAClE,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,YAAY,CAAC,IAAW;QACtB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IACD,aAAa,CAAU,MAAS;QAC9B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;CACF;AAED,MAAa,SAAS;IAYpB;QAPQ,kBAAa,GAAG,IAAI,GAAG,EAAkC,CAAC;QAQhE,MAAM,IAAI,GAAG,IAAA,oBAAW,GAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,IAAI,CAAC,wBAAwB,GAAG,IAAA,wBAAkB,EAAC,IAAI,CAAC,IAAI,EAAE,oBAAY,CAAC,OAAO,CAAC,CAAC;QACpF,IAAI,CAAC,yBAAyB,GAAG,IAAA,wBAAkB,EAAC,IAAI,CAAC,IAAI,EAAE,oBAAY,CAAC,QAAQ,CAAC,CAAC;QAEtF,IAAI,CAAC,aAAa,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CACV,QAAuB,EACvB,OAEC;QAED,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAE7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACzC;IACH,CAAC;IAED,kBAAkB,CAChB,cAAmC,EACnC,OAEC;QAED,IAAI,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;QACnC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE;YAC1B,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,sBAAsB,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE;YACb,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAwB,EAAE,IAAW;QACnF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzB,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAwB,EAAE,IAAW;QAC9E,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzB,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,SAAiB;QACtB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzB,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,SAAiB,EAAE,MAAc,EAAE,OAA4B,EAAE,MAAW;QACnF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzB,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEhD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,SAAiB,EAAE,MAAc,EAAE,OAA4B,EAAE,KAAU;QAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzB,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,CAAC,iBAAiB,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC,CAAC;QAEhD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;CACF;AA/HD,8BA+HC"}
1
+ {"version":3,"file":"message-io.js","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { BaseConnection } from '../connection';
2
2
  import { ISumiConnectionOptions, SumiConnection } from './connection';
3
+ import { TSumiProtocol } from './types';
3
4
  export declare class ProxyIdentifier<T = any> {
4
5
  static count: number;
5
6
  readonly serviceId: string;
@@ -7,6 +8,12 @@ export declare class ProxyIdentifier<T = any> {
7
8
  constructor(serviceId: string);
8
9
  static for(serviceId: string): ProxyIdentifier<any>;
9
10
  }
11
+ export interface ISumiMultiplexerConnectionOptions extends ISumiConnectionOptions {
12
+ /**
13
+ * Known protocols that will be loaded automatically when a proxy is created.
14
+ */
15
+ knownProtocols?: Record<string, TSumiProtocol>;
16
+ }
10
17
  export declare const IRPCProtocol: unique symbol;
11
18
  export interface IRPCProtocol {
12
19
  getProxy<T>(proxyId: ProxyIdentifier<T>): T;
@@ -18,7 +25,7 @@ export interface IRPCProtocol {
18
25
  */
19
26
  export declare class SumiConnectionMultiplexer extends SumiConnection implements IRPCProtocol {
20
27
  protected socket: BaseConnection<Uint8Array>;
21
- protected options: ISumiConnectionOptions;
28
+ protected options: ISumiMultiplexerConnectionOptions;
22
29
  protected static SEP: string;
23
30
  protected static SEP_LENGTH: number;
24
31
  protected static getRPCName(serviceId: string, methodName: string): string;
@@ -26,11 +33,14 @@ export declare class SumiConnectionMultiplexer extends SumiConnection implements
26
33
  protected static normalizeServiceId(serviceId: string): string;
27
34
  protected readonly _locals: Map<string, any>;
28
35
  protected readonly _proxies: Map<string, any>;
29
- constructor(socket: BaseConnection<Uint8Array>, options?: ISumiConnectionOptions);
36
+ protected _knownProtocols: Record<string, TSumiProtocol>;
37
+ constructor(socket: BaseConnection<Uint8Array>, options?: ISumiMultiplexerConnectionOptions);
30
38
  set<T>(identifier: ProxyIdentifier<T>, instance: any): any;
31
39
  get<T>(identifier: ProxyIdentifier<T>): any;
40
+ protected loadProtocol(rpcId: string, protocol: TSumiProtocol): void;
32
41
  getProxy<T>(proxyId: ProxyIdentifier<T>): any;
33
42
  protected _createProxy(rpcId: string): any;
34
43
  protected _doInvokeHandler(rpcName: string, args: any[]): Promise<any>;
44
+ getSocket(): BaseConnection<Uint8Array>;
35
45
  }
36
46
  //# sourceMappingURL=multiplexer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multiplexer.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEtE,qBAAa,eAAe,CAAC,CAAC,GAAG,GAAG;IAClC,OAAc,KAAK,SAAK;IAExB,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;gBACpB,SAAS,EAAE,MAAM;IAK7B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM;CAG7B;AAED,eAAO,MAAM,YAAY,eAAyB,CAAC;AACnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IACvD,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,cAAe,YAAW,YAAY;IAoBvE,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC;IAAE,SAAS,CAAC,OAAO,EAAE,sBAAsB;IAnBnG,SAAS,CAAC,MAAM,CAAC,GAAG,SAAO;IAC3B,SAAS,CAAC,MAAM,CAAC,UAAU,SAAwC;IAEnE,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAIjE,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAKzE,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAIrD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAExB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAAY,OAAO,GAAE,sBAA2B;IAYjG,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG;IAKpD,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IAIrC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAU9C,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM;cAmBpB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CAc7E"}
1
+ {"version":3,"file":"multiplexer.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,eAAe,CAAC,CAAC,GAAG,GAAG;IAClC,OAAc,KAAK,SAAK;IAExB,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;gBACpB,SAAS,EAAE,MAAM;IAK7B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM;CAG7B;AAED,MAAM,WAAW,iCAAkC,SAAQ,sBAAsB;IAC/E;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,YAAY,eAAyB,CAAC;AACnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IACvD,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,cAAe,YAAW,YAAY;IAqBvE,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC;IAAE,SAAS,CAAC,OAAO,EAAE,iCAAiC;IApB9G,SAAS,CAAC,MAAM,CAAC,GAAG,SAAO;IAC3B,SAAS,CAAC,MAAM,CAAC,UAAU,SAAwC;IAEnE,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAIjE,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAKzE,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAIrD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9C,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAEnC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAAY,OAAO,GAAE,iCAAsC;IAa5G,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG;IAWpD,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IAI5C,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;IAMtD,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAe9C,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM;cAmBpB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAe5E,SAAS;CAGV"}
@@ -34,21 +34,36 @@ class SumiConnectionMultiplexer extends connection_1.SumiConnection {
34
34
  this.options = options;
35
35
  this._locals = new Map();
36
36
  this._proxies = new Map();
37
+ this._knownProtocols = options.knownProtocols || {};
37
38
  this.onRequestNotFound((rpcName, args) => this._doInvokeHandler(rpcName, args));
38
39
  // call `listen` implicitly
39
40
  // compatible behavior with the RPCProtocol
40
41
  this.listen();
41
42
  }
42
43
  set(identifier, instance) {
43
- this._locals.set(SumiConnectionMultiplexer.normalizeServiceId(identifier.serviceId), instance);
44
+ const id = SumiConnectionMultiplexer.normalizeServiceId(identifier.serviceId);
45
+ this._locals.set(id, instance);
46
+ const protocol = this._knownProtocols[identifier.serviceId];
47
+ if (protocol) {
48
+ this.loadProtocol(id, protocol);
49
+ }
44
50
  return instance;
45
51
  }
46
52
  get(identifier) {
47
53
  return this._locals.get(SumiConnectionMultiplexer.normalizeServiceId(identifier.serviceId));
48
54
  }
55
+ loadProtocol(rpcId, protocol) {
56
+ this.io.loadProtocol(protocol, {
57
+ nameConverter: (str) => SumiConnectionMultiplexer.getRPCName(rpcId, str),
58
+ });
59
+ }
49
60
  getProxy(proxyId) {
50
61
  const serviceId = SumiConnectionMultiplexer.normalizeServiceId(proxyId.serviceId);
51
62
  if (!this._proxies.has(serviceId)) {
63
+ const protocol = this._knownProtocols[proxyId.serviceId];
64
+ if (protocol) {
65
+ this.loadProtocol(serviceId, protocol);
66
+ }
52
67
  this._proxies.set(serviceId, this._createProxy(serviceId));
53
68
  }
54
69
  return this._proxies.get(serviceId);
@@ -81,6 +96,9 @@ class SumiConnectionMultiplexer extends connection_1.SumiConnection {
81
96
  }
82
97
  return method.apply(actor, args);
83
98
  }
99
+ getSocket() {
100
+ return this.socket;
101
+ }
84
102
  }
85
103
  exports.SumiConnectionMultiplexer = SumiConnectionMultiplexer;
86
104
  SumiConnectionMultiplexer.SEP = '/';
@@ -1 +1 @@
1
- {"version":3,"file":"multiplexer.js","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multiplexer.js","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.ts"],"names":[],"mappings":";;;AAEA,6CAAsE;AAGtE,MAAa,eAAe;IAK1B,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,SAAiB;QAC1B,OAAO,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;;AAZH,0CAaC;AAZe,qBAAK,GAAG,CAAC,CAAC;AAqBb,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAOnD;;GAEG;AACH,MAAa,yBAA0B,SAAQ,2BAAc;IAIjD,MAAM,CAAC,UAAU,CAAC,SAAiB,EAAE,UAAkB;QAC/D,OAAO,GAAG,SAAS,GAAG,yBAAyB,CAAC,GAAG,GAAG,UAAU,EAAE,CAAC;IACrE,CAAC;IAES,MAAM,CAAC,uBAAuB,CAAC,KAAa;QACpD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;IAChG,CAAC;IAES,MAAM,CAAC,kBAAkB,CAAC,SAAiB;QACnD,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAMD,YAAsB,MAAkC,EAAY,UAA6C,EAAE;QACjH,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QADH,WAAM,GAAN,MAAM,CAA4B;QAAY,YAAO,GAAP,OAAO,CAAwC;QAEjH,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;QAEpD,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAe,EAAE,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAE/F,2BAA2B;QAC3B,2CAA2C;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEM,GAAG,CAAI,UAA8B,EAAE,QAAa;QACzD,MAAM,EAAE,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;SACjC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,GAAG,CAAI,UAA8B;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9F,CAAC;IAES,YAAY,CAAC,KAAa,EAAE,QAAuB;QAC3D,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC7B,aAAa,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,yBAAyB,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC;SACjF,CAAC,CAAC;IACL,CAAC;IAEM,QAAQ,CAAI,OAA2B;QAC5C,MAAM,SAAS,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAElF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aACxC;YAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;SAC5D;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAES,YAAY,CAAC,KAAa;QAClC,MAAM,OAAO,GAAG;YACd,GAAG,EAAE,CAAC,MAAW,EAAE,IAAY,EAAE,EAAE;gBACjC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,OAAO,IAAI,CAAC;iBACb;gBACD,2CAA2C;gBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC9C,MAAM,OAAO,GAAG,yBAAyB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAClE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;iBACvE;gBAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;SACF,CAAC;QAEF,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,IAAW;QAC3D,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,yBAAyB,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEvF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;SAC3C;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,UAAU,GAAG,YAAY,GAAG,KAAK,CAAC,CAAC;SACxE;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;;AA1GH,8DA2GC;AA1GkB,6BAAG,GAAG,GAAG,CAAC;AACV,oCAAU,GAAG,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-connection",
3
- "version": "2.27.3-rc-1714982362.0",
3
+ "version": "2.27.3-rc-1715223126.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -19,16 +19,16 @@
19
19
  "dependencies": {
20
20
  "@furyjs/fury": "0.5.9-beta",
21
21
  "@opensumi/events": "^1.0.0",
22
- "@opensumi/ide-core-common": "2.27.3-rc-1714982362.0",
22
+ "@opensumi/ide-core-common": "2.27.3-rc-1715223126.0",
23
23
  "@opensumi/vscode-jsonrpc": "^8.0.0-next.2",
24
24
  "path-to-regexp": "^6.2.1",
25
25
  "reconnecting-websocket": "^4.4.0",
26
26
  "ws": "^8.16.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@opensumi/ide-components": "2.27.3-rc-1714982362.0",
30
- "@opensumi/ide-dev-tool": "2.27.3-rc-1714982362.0",
29
+ "@opensumi/ide-components": "2.27.3-rc-1715223126.0",
30
+ "@opensumi/ide-dev-tool": "2.27.3-rc-1715223126.0",
31
31
  "@opensumi/mock-socket": "^9.3.1"
32
32
  },
33
- "gitHead": "197b8ef9917d764baced87ea93e800b1ce43ac82"
33
+ "gitHead": "fc36a4e31c8afd659cca44cfbb2565a8e9baf89e"
34
34
  }
@@ -7,3 +7,22 @@ export const UriComponentsProto = Type.object('uri-components', {
7
7
  query: Type.string(),
8
8
  fragment: Type.string(),
9
9
  });
10
+
11
+ export const RangeProto = Type.object('range', {
12
+ startLineNumber: Type.uint32(),
13
+ startColumn: Type.uint32(),
14
+ endLineNumber: Type.uint32(),
15
+ endColumn: Type.uint32(),
16
+ });
17
+
18
+ export const SelectionProto = Type.object('selection', {
19
+ selectionStartLineNumber: Type.uint32(),
20
+ selectionStartColumn: Type.uint32(),
21
+ positionLineNumber: Type.uint32(),
22
+ positionColumn: Type.uint32(),
23
+ });
24
+
25
+ export const PositionProto = Type.object('position', {
26
+ lineNumber: Type.uint32(),
27
+ column: Type.uint32(),
28
+ });
@@ -0,0 +1,69 @@
1
+ import { Type } from '@furyjs/fury';
2
+
3
+ import { TSumiProtocol } from '../../rpc';
4
+ import { RangeProto } from '../common';
5
+
6
+ /**
7
+ * {@link IExtensionHostDocService}
8
+ */
9
+ export const ExtensionDocumentProtocol: TSumiProtocol = {
10
+ name: 'ExtHostDocuments',
11
+ methods: [
12
+ {
13
+ method: '$fireModelChangedEvent',
14
+ request: [
15
+ {
16
+ name: 'event',
17
+ type: Type.object('model-changed-event', {
18
+ changes: Type.array(
19
+ Type.object('model-changed-event-changes', {
20
+ range: RangeProto,
21
+ rangeLength: Type.uint32(),
22
+ rangeOffset: Type.uint32(),
23
+ text: Type.string(),
24
+ }),
25
+ ),
26
+ uri: Type.string(),
27
+ versionId: Type.uint32(),
28
+ eol: Type.string(),
29
+ dirty: Type.bool(),
30
+ isRedoing: Type.bool(),
31
+ isUndoing: Type.bool(),
32
+ }),
33
+ },
34
+ ],
35
+ },
36
+ {
37
+ method: '$fireModelOpenedEvent',
38
+ request: [
39
+ {
40
+ name: 'event',
41
+ type: Type.object('model-open-event', {
42
+ uri: Type.string(),
43
+ lines: Type.array(Type.string()),
44
+ eol: Type.string(),
45
+ versionId: Type.uint32(),
46
+ languageId: Type.string(),
47
+ dirty: Type.bool(),
48
+ }),
49
+ },
50
+ ],
51
+ },
52
+ {
53
+ method: '$provideTextDocumentContent',
54
+ request: [
55
+ {
56
+ name: 'path',
57
+ type: Type.string(),
58
+ },
59
+ {
60
+ name: 'encoding',
61
+ type: Type.string(),
62
+ },
63
+ ],
64
+ response: {
65
+ type: Type.string(),
66
+ },
67
+ },
68
+ ],
69
+ };
@@ -3,12 +3,11 @@ import {
3
3
  CancellationToken,
4
4
  CancellationTokenSource,
5
5
  DisposableStore,
6
- EventQueue,
7
6
  IDisposable,
8
7
  canceled,
9
8
  parseError,
10
9
  } from '@opensumi/ide-utils';
11
- import { IReadableStream, isReadableStream, listenReadable } from '@opensumi/ide-utils/lib/stream';
10
+ import { SumiReadableStream, isReadableStream, listenReadable } from '@opensumi/ide-utils/lib/stream';
12
11
 
13
12
  import { Capturer } from '../capturer';
14
13
  import { BaseConnection, NetSocketConnection, WSWebSocketConnection } from '../connection';
@@ -56,7 +55,7 @@ export class SumiConnection implements IDisposable {
56
55
  private readonly _cancellationTokenSources = new Map<number, CancellationTokenSource>();
57
56
  private readonly _knownCanceledRequests = new Set<number>();
58
57
 
59
- protected activeRequestPool = new Map<number, ActiveRequest>();
58
+ protected activeRequestPool = new Map<number, SumiReadableStream<any>>();
60
59
 
61
60
  public io = new MessageIO();
62
61
  protected logger: ILogger;
@@ -227,42 +226,45 @@ export class SumiConnection implements IDisposable {
227
226
  };
228
227
 
229
228
  const headers = this.io.responseHeadersSerializer.read();
229
+ let err: any;
230
+ let result: any;
231
+ if (status === Status.Err) {
232
+ // todo: move to processor
233
+ const content = reader.stringOfVarUInt32();
234
+ err = parseError(content);
235
+ } else {
236
+ result = this.io.getProcessor(method).readResponse();
237
+ }
230
238
 
231
- switch (status) {
232
- case Status.Err: {
233
- // TODO: use binary codec
234
- const content = reader.stringOfVarUInt32();
235
- const error = parseError(content);
236
- runCallback(nullHeaders, error);
237
- break;
239
+ if (headers && headers.chunked) {
240
+ let activeReq: SumiReadableStream<any>;
241
+ if (this.activeRequestPool.has(requestId)) {
242
+ activeReq = this.activeRequestPool.get(requestId)!;
243
+ } else {
244
+ // new stream request
245
+ activeReq = new SumiReadableStream();
246
+ this.activeRequestPool.set(requestId, activeReq);
247
+ // resolve `activeReq` to caller
248
+ runCallback(headers, undefined, activeReq);
238
249
  }
239
- default: {
240
- if (headers && headers.chunked) {
241
- let activeReq: ActiveRequest;
242
- if (this.activeRequestPool.has(requestId)) {
243
- activeReq = this.activeRequestPool.get(requestId)!;
244
- } else {
245
- activeReq = new ActiveRequest(requestId, headers);
246
- this.activeRequestPool.set(requestId, activeReq);
247
- runCallback(headers, undefined, activeReq);
248
- }
249
-
250
- const result = this.io.getProcessor(method).readResponse() as Uint8Array;
251
250
 
252
- // when result is null, it means the stream is ended.
253
- if (result) {
254
- activeReq.emit(result);
255
- break;
256
- }
251
+ if (result === null) {
252
+ // when result is null, it means the stream is ended.
253
+ activeReq.end();
254
+ this.activeRequestPool.delete(requestId);
255
+ break;
256
+ }
257
257
 
258
- activeReq.end();
259
- this.activeRequestPool.delete(requestId);
260
- } else {
261
- const result = this.io.getProcessor(method).readResponse();
262
- runCallback(headers, undefined, result);
263
- }
258
+ if (err) {
259
+ activeReq.emitError(err);
260
+ break;
264
261
  }
262
+
263
+ activeReq.emitData(result);
264
+ break;
265
265
  }
266
+
267
+ runCallback(headers, err, result);
266
268
  break;
267
269
  }
268
270
  case OperationType.Notification:
@@ -318,6 +320,9 @@ export class SumiConnection implements IDisposable {
318
320
  onEnd: () => {
319
321
  this.socket.send(this.io.Response(requestId, method, responseHeaders, null));
320
322
  },
323
+ onError: (err) => {
324
+ this.socket.send(this.io.Error(requestId, method, nullHeaders, err));
325
+ },
321
326
  });
322
327
  } else {
323
328
  this.socket.send(this.io.Response(requestId, method, nullHeaders, result));
@@ -385,50 +390,5 @@ export class SumiConnection implements IDisposable {
385
390
 
386
391
  private traceRequestError(requestId: number, method: string, args: any[], error: any) {
387
392
  this.capturer.captureSendRequestFail(requestId, method, error);
388
- this.logger.error(`Error handling request ${method} with args `, args, error);
389
- }
390
- }
391
-
392
- class ActiveRequest implements IReadableStream<Uint8Array> {
393
- protected dataQ = new EventQueue<Uint8Array>();
394
- protected endQ = new EventQueue<void>();
395
-
396
- on(event: 'data', listener: (chunk: Uint8Array) => void): this;
397
- on(event: 'end', listener: () => void): this;
398
- on(event: string, listener: (...args: any[]) => void): this;
399
- on(event: unknown, listener: unknown): this {
400
- if (typeof event === 'string') {
401
- switch (event) {
402
- case 'data':
403
- this.onData(listener as (chunk: Uint8Array) => void);
404
- break;
405
- case 'end':
406
- this.onEnd(listener as () => void);
407
- break;
408
- default:
409
- break;
410
- }
411
- }
412
- return this;
413
- }
414
-
415
- onData(cb: (data: Uint8Array) => void): IDisposable {
416
- return this.dataQ.on(cb);
417
- }
418
-
419
- onEnd(cb: () => void): IDisposable {
420
- return this.endQ.on(cb);
421
- }
422
-
423
- constructor(protected requestId: number, protected responseHeaders: IResponseHeaders) {}
424
-
425
- emit(buffer: Uint8Array) {
426
- this.dataQ.push(buffer);
427
- }
428
-
429
- end() {
430
- this.dataQ.dispose();
431
- this.endQ.push(undefined);
432
- this.endQ.dispose();
433
393
  }
434
394
  }
@@ -40,6 +40,13 @@ export const HeadersProto = {
40
40
  }),
41
41
  } as const;
42
42
 
43
+ const PacketPrefix = {
44
+ Request: (OperationType.Request << 8) | ProtoVersionV1,
45
+ Notification: (OperationType.Notification << 8) | ProtoVersionV1,
46
+ Response: (OperationType.Response << 8) | ProtoVersionV1,
47
+ Cancel: (OperationType.Cancel << 8) | ProtoVersionV1,
48
+ } as const;
49
+
43
50
  class SumiProtocolSerializer implements IProtocolSerializer {
44
51
  request: TSerializer;
45
52
  result: TSerializer;
@@ -52,7 +59,12 @@ class SumiProtocolSerializer implements IProtocolSerializer {
52
59
  }
53
60
 
54
61
  const requestProto = Type.tuple(argsTuple);
55
- const resultProto = methodProtocol.response.type || Type.any();
62
+
63
+ let resultProto: TypeDescription = Type.any();
64
+
65
+ if (methodProtocol.response && methodProtocol.response.type) {
66
+ resultProto = methodProtocol.response.type;
67
+ }
56
68
 
57
69
  this.request = this.fury.registerSerializer(requestProto);
58
70
  this.result = this.fury.registerSerializer(resultProto);
@@ -159,7 +171,7 @@ export class MessageIO {
159
171
  const { writer } = this;
160
172
  writer.reset();
161
173
 
162
- writer.uint16((OperationType.Notification << 8) | ProtoVersionV1);
174
+ writer.uint16(PacketPrefix.Notification);
163
175
  writer.uint32(requestId);
164
176
 
165
177
  writer.stringOfVarUInt32(method);
@@ -173,7 +185,7 @@ export class MessageIO {
173
185
  const { writer } = this;
174
186
  writer.reset();
175
187
 
176
- writer.uint16((OperationType.Request << 8) | ProtoVersionV1);
188
+ writer.uint16(PacketPrefix.Request);
177
189
  writer.uint32(requestId);
178
190
 
179
191
  writer.stringOfVarUInt32(method);
@@ -187,7 +199,7 @@ export class MessageIO {
187
199
  const { writer } = this;
188
200
  writer.reset();
189
201
 
190
- writer.uint16((OperationType.Cancel << 8) | ProtoVersionV1);
202
+ writer.uint16(PacketPrefix.Cancel);
191
203
  writer.uint32(requestId);
192
204
 
193
205
  return writer.dump();
@@ -197,7 +209,7 @@ export class MessageIO {
197
209
  const { writer } = this;
198
210
  writer.reset();
199
211
 
200
- writer.uint16((OperationType.Response << 8) | ProtoVersionV1);
212
+ writer.uint16(PacketPrefix.Response);
201
213
  writer.uint32(requestId);
202
214
  writer.stringOfVarUInt32(method);
203
215
  writer.uint16(Status.OK);
@@ -211,7 +223,7 @@ export class MessageIO {
211
223
  const { writer } = this;
212
224
  writer.reset();
213
225
 
214
- writer.uint16((OperationType.Response << 8) | ProtoVersionV1);
226
+ writer.uint16(PacketPrefix.Response);
215
227
  writer.uint32(requestId);
216
228
  writer.stringOfVarUInt32(method);
217
229
  writer.uint16(Status.Err);
@@ -1,6 +1,7 @@
1
1
  import { BaseConnection } from '../connection';
2
2
 
3
3
  import { ISumiConnectionOptions, SumiConnection } from './connection';
4
+ import { TSumiProtocol } from './types';
4
5
 
5
6
  export class ProxyIdentifier<T = any> {
6
7
  public static count = 0;
@@ -17,6 +18,13 @@ export class ProxyIdentifier<T = any> {
17
18
  }
18
19
  }
19
20
 
21
+ export interface ISumiMultiplexerConnectionOptions extends ISumiConnectionOptions {
22
+ /**
23
+ * Known protocols that will be loaded automatically when a proxy is created.
24
+ */
25
+ knownProtocols?: Record<string, TSumiProtocol>;
26
+ }
27
+
20
28
  export const IRPCProtocol = Symbol('IRPCProtocol');
21
29
  export interface IRPCProtocol {
22
30
  getProxy<T>(proxyId: ProxyIdentifier<T>): T;
@@ -46,11 +54,13 @@ export class SumiConnectionMultiplexer extends SumiConnection implements IRPCPro
46
54
 
47
55
  protected readonly _locals: Map<string, any>;
48
56
  protected readonly _proxies: Map<string, any>;
57
+ protected _knownProtocols: Record<string, TSumiProtocol>;
49
58
 
50
- constructor(protected socket: BaseConnection<Uint8Array>, protected options: ISumiConnectionOptions = {}) {
59
+ constructor(protected socket: BaseConnection<Uint8Array>, protected options: ISumiMultiplexerConnectionOptions = {}) {
51
60
  super(socket, options);
52
61
  this._locals = new Map();
53
62
  this._proxies = new Map();
63
+ this._knownProtocols = options.knownProtocols || {};
54
64
 
55
65
  this.onRequestNotFound((rpcName: string, args: any[]) => this._doInvokeHandler(rpcName, args));
56
66
 
@@ -60,7 +70,13 @@ export class SumiConnectionMultiplexer extends SumiConnection implements IRPCPro
60
70
  }
61
71
 
62
72
  public set<T>(identifier: ProxyIdentifier<T>, instance: any) {
63
- this._locals.set(SumiConnectionMultiplexer.normalizeServiceId(identifier.serviceId), instance);
73
+ const id = SumiConnectionMultiplexer.normalizeServiceId(identifier.serviceId);
74
+ this._locals.set(id, instance);
75
+ const protocol = this._knownProtocols[identifier.serviceId];
76
+ if (protocol) {
77
+ this.loadProtocol(id, protocol);
78
+ }
79
+
64
80
  return instance;
65
81
  }
66
82
 
@@ -68,10 +84,21 @@ export class SumiConnectionMultiplexer extends SumiConnection implements IRPCPro
68
84
  return this._locals.get(SumiConnectionMultiplexer.normalizeServiceId(identifier.serviceId));
69
85
  }
70
86
 
87
+ protected loadProtocol(rpcId: string, protocol: TSumiProtocol) {
88
+ this.io.loadProtocol(protocol, {
89
+ nameConverter: (str: string) => SumiConnectionMultiplexer.getRPCName(rpcId, str),
90
+ });
91
+ }
92
+
71
93
  public getProxy<T>(proxyId: ProxyIdentifier<T>) {
72
94
  const serviceId = SumiConnectionMultiplexer.normalizeServiceId(proxyId.serviceId);
73
95
 
74
96
  if (!this._proxies.has(serviceId)) {
97
+ const protocol = this._knownProtocols[proxyId.serviceId];
98
+ if (protocol) {
99
+ this.loadProtocol(serviceId, protocol);
100
+ }
101
+
75
102
  this._proxies.set(serviceId, this._createProxy(serviceId));
76
103
  }
77
104
 
@@ -111,4 +138,8 @@ export class SumiConnectionMultiplexer extends SumiConnection implements IRPCPro
111
138
 
112
139
  return method.apply(actor, args);
113
140
  }
141
+
142
+ getSocket() {
143
+ return this.socket;
144
+ }
114
145
  }