@theia/plugin-ext 1.26.0-next.34 → 1.26.0-next.35

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.
@@ -1,22 +1,25 @@
1
- import { Channel } from '@theia/debug/lib/common/debug-service';
2
1
  import { ConnectionExt, ConnectionMain } from './plugin-api-rpc';
2
+ import { Event } from '@theia/core/lib/common/event';
3
+ import { ChannelCloseEvent, MessageProvider } from '@theia/core/lib/common/message-rpc/channel';
4
+ import { WriteBuffer, Channel } from '@theia/core';
3
5
  /**
4
6
  * A channel communicating with a counterpart in a plugin host.
5
7
  */
6
8
  export declare class PluginChannel implements Channel {
7
- protected readonly id: string;
9
+ readonly id: string;
8
10
  protected readonly connection: ConnectionExt | ConnectionMain;
9
11
  private messageEmitter;
10
12
  private errorEmitter;
11
13
  private closedEmitter;
12
14
  constructor(id: string, connection: ConnectionExt | ConnectionMain);
15
+ getWriteBuffer(): WriteBuffer;
13
16
  send(content: string): void;
14
- fireMessageReceived(msg: string): void;
17
+ fireMessageReceived(msg: MessageProvider): void;
15
18
  fireError(error: unknown): void;
16
19
  fireClosed(): void;
17
- onMessage(cb: (data: any) => void): void;
18
- onError(cb: (reason: any) => void): void;
19
- onClose(cb: (code: number, reason: string) => void): void;
20
+ get onMessage(): Event<MessageProvider>;
21
+ get onError(): Event<unknown>;
22
+ get onClose(): Event<ChannelCloseEvent>;
20
23
  close(): void;
21
24
  }
22
25
  export declare class ConnectionImpl implements ConnectionMain, ConnectionExt {
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/common/connection.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGjE;;GAEG;AACH,qBAAa,aAAc,YAAW,OAAO;IAMrC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM;IAC7B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,cAAc;IANjE,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,aAAa,CAAgC;gBAG9B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GAAG,cAAc;IAEjE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAItC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI/B,UAAU,IAAI,IAAI;IAKlB,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAKxC,OAAO,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAIxC,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIzD,KAAK,IAAI,IAAI;CAGhB;AAED,qBAAa,cAAe,YAAW,cAAc,EAAE,aAAa;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;gBAEpD,KAAK,EAAE,cAAc,GAAG,aAAa;IAIjD;;;;;OAKG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9D;;;OAGG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlD;;;OAGG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASlD;;;OAGG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAO1D;;;OAGG;IACG,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;cAM5C,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAKzE"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/common/connection.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAW,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGnD;;GAEG;AACH,qBAAa,aAAc,YAAW,OAAO;IAMrC,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,cAAc;IANjE,OAAO,CAAC,cAAc,CAA2C;IACjE,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,aAAa,CAA6C;gBAGrD,EAAE,EAAE,MAAM,EACA,UAAU,EAAE,aAAa,GAAG,cAAc;IAEjE,cAAc,IAAI,WAAW;IAS7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,mBAAmB,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAI/C,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI/B,UAAU,IAAI,IAAI;IAIlB,IAAI,SAAS,IAAI,KAAK,CAAC,eAAe,CAAC,CAEtC;IAED,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAE5B;IAED,IAAI,OAAO,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAEtC;IAED,KAAK,IAAI,IAAI;CAGhB;AAED,qBAAa,cAAe,YAAW,cAAc,EAAE,aAAa;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;gBAEpD,KAAK,EAAE,cAAc,GAAG,aAAa;IAIjD;;;;;OAKG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9D;;;OAGG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlD;;;OAGG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASlD;;;OAGG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAO1D;;;OAGG;IACG,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;cAM5C,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAKzE"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConnectionImpl = exports.PluginChannel = void 0;
4
4
  const event_1 = require("@theia/core/lib/common/event");
5
+ const uint8_array_message_buffer_1 = require("@theia/core/lib/common/message-rpc/uint8-array-message-buffer");
5
6
  /**
6
7
  * A channel communicating with a counterpart in a plugin host.
7
8
  */
@@ -13,6 +14,13 @@ class PluginChannel {
13
14
  this.errorEmitter = new event_1.Emitter();
14
15
  this.closedEmitter = new event_1.Emitter();
15
16
  }
17
+ getWriteBuffer() {
18
+ const result = new uint8_array_message_buffer_1.Uint8ArrayWriteBuffer();
19
+ result.onCommit(buffer => {
20
+ this.connection.$sendMessage(this.id, new uint8_array_message_buffer_1.Uint8ArrayReadBuffer(buffer).readString());
21
+ });
22
+ return result;
23
+ }
16
24
  send(content) {
17
25
  this.connection.$sendMessage(this.id, content);
18
26
  }
@@ -23,18 +31,16 @@ class PluginChannel {
23
31
  this.errorEmitter.fire(error);
24
32
  }
25
33
  fireClosed() {
26
- this.closedEmitter.fire();
34
+ this.closedEmitter.fire({ reason: 'Plugin channel has been closed from the extension side' });
27
35
  }
28
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
- onMessage(cb) {
30
- this.messageEmitter.event(cb);
36
+ get onMessage() {
37
+ return this.messageEmitter.event;
31
38
  }
32
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
- onError(cb) {
34
- this.errorEmitter.event(cb);
39
+ get onError() {
40
+ return this.errorEmitter.event;
35
41
  }
36
- onClose(cb) {
37
- this.closedEmitter.event(() => cb(-1, 'closed'));
42
+ get onClose() {
43
+ return this.closedEmitter.event;
38
44
  }
39
45
  close() {
40
46
  this.connection.$deleteConnection(this.id);
@@ -54,7 +60,10 @@ class ConnectionImpl {
54
60
  */
55
61
  async $sendMessage(id, message) {
56
62
  if (this.connections.has(id)) {
57
- this.connections.get(id).fireMessageReceived(message);
63
+ const writer = new uint8_array_message_buffer_1.Uint8ArrayWriteBuffer().writeString(message);
64
+ const reader = new uint8_array_message_buffer_1.Uint8ArrayReadBuffer(writer.getCurrentContents());
65
+ writer.dispose();
66
+ this.connections.get(id).fireMessageReceived(() => reader);
58
67
  }
59
68
  else {
60
69
  console.warn(`Received message for unknown connection: ${id}`);
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/common/connection.ts"],"names":[],"mappings":";;;AAiBA,wDAAuD;AAEvD;;GAEG;AACH,MAAa,aAAa;IAKtB,YACuB,EAAU,EACV,UAA0C;QAD1C,OAAE,GAAF,EAAE,CAAQ;QACV,eAAU,GAAV,UAAU,CAAgC;QANzD,mBAAc,GAAoB,IAAI,eAAO,EAAE,CAAC;QAChD,iBAAY,GAAqB,IAAI,eAAO,EAAE,CAAC;QAC/C,kBAAa,GAAkB,IAAI,eAAO,EAAE,CAAC;IAIgB,CAAC;IAEtE,IAAI,CAAC,OAAe;QAChB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,KAAc;QACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,UAAU;QACN,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,8DAA8D;IAC9D,SAAS,CAAC,EAAuB;QAC7B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,8DAA8D;IAC9D,OAAO,CAAC,EAAyB;QAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,EAA0C;QAC9C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK;QACD,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;CACJ;AA1CD,sCA0CC;AAED,MAAa,cAAc;IAIvB,YAAY,KAAqC;QAFhC,gBAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;QAG5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,OAAe;QAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;SAC1D;aAAM;YACH,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;SAClE;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAC9B,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;QAEnD,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAC9B,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5B,UAAU,CAAC,UAAU,EAAE,CAAC;SAC3B;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC7B,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,EAAU;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACrC,OAAO,UAAU,CAAC;IACtB,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACzC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAvED,wCAuEC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/common/connection.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import { TerminalOptionsExt } from '../../../common/plugin-api-rpc';
14
14
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
15
15
  import { DebugContribution } from '@theia/debug/lib/browser/debug-contribution';
16
16
  import { ContributionProvider } from '@theia/core/lib/common/contribution-provider';
17
- import { Channel } from '@theia/debug/lib/common/debug-service';
17
+ import { Channel } from '@theia/core/lib/common/message-rpc/channel';
18
18
  import { WorkspaceService } from '@theia/workspace/lib/browser';
19
19
  export declare class PluginDebugSession extends DebugSession {
20
20
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-debug-session-factory.d.ts","sourceRoot":"","sources":["../../../../src/main/browser/debug/plugin-debug-session-factory.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,qBAAa,kBAAmB,SAAQ,YAAY;aAE1B,EAAE,EAAE,MAAM;aACV,OAAO,EAAE,mBAAmB;aAC5B,aAAa,EAAE,YAAY,GAAG,SAAS;uBAC7B,UAAU,EAAE,sBAAsB;uBAClC,cAAc,EAAE,eAAe;uBAC/B,aAAa,EAAE,aAAa;uBAC5B,WAAW,EAAE,iBAAiB;uBAC9B,aAAa,EAAE,aAAa;uBAC5B,QAAQ,EAAE,aAAa;uBACvB,WAAW,EAAE,WAAW;IACpD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS;uBACzC,yBAAyB,EAAE,oBAAoB,CAAC,iBAAiB,CAAC;uBAClE,gBAAgB,EAAE,gBAAgB;gBAZ5C,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,mBAAmB,EAC5B,aAAa,EAAE,YAAY,GAAG,SAAS,EAC7B,UAAU,EAAE,sBAAsB,EAClC,cAAc,EAAE,eAAe,EAC/B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,WAAW,EACjC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,EACzC,yBAAyB,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,EAClE,gBAAgB,EAAE,gBAAgB;cAKzC,gBAAgB,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;CAInH;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,0BAA0B;uBAErC,eAAe,EAAE,eAAe;uBAChC,aAAa,EAAE,aAAa;uBAC5B,WAAW,EAAE,iBAAiB;uBAC9B,aAAa,EAAE,aAAa;uBAC5B,QAAQ,EAAE,aAAa;uBACvB,oBAAoB,EAAE,oBAAoB;uBAC1C,gBAAgB,EAAE,gBAAgB;IAC9D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC;uBACjD,WAAW,EAAE,WAAW;IACpD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS;uBACzC,yBAAyB,EAAE,oBAAoB,CAAC,iBAAiB,CAAC;uBAClE,gBAAgB,EAAE,gBAAgB;gBAXlC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,aAAa,EACvB,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,EAC3C,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EACjD,WAAW,EAAE,WAAW,EACjC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,EACzC,yBAAyB,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,EAClE,gBAAgB,EAAE,gBAAgB;IAKzD,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,aAAa,CAAC,EAAE,YAAY,GAAG,YAAY;CAsB5G"}
1
+ {"version":3,"file":"plugin-debug-session-factory.d.ts","sourceRoot":"","sources":["../../../../src/main/browser/debug/plugin-debug-session-factory.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { DebugAdapterSessionImpl } from '@theia/debug/lib/node/debug-adapter-session';
2
2
  import * as theia from '@theia/plugin';
3
3
  import { DebugAdapter } from '@theia/debug/lib/node/debug-model';
4
- import { Channel } from '@theia/debug/lib/common/debug-service';
4
+ import { Channel } from '@theia/core/lib/common/message-rpc/channel';
5
5
  /**
6
6
  * Server debug adapter session.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-debug-adapter-session.d.ts","sourceRoot":"","sources":["../../../../src/plugin/node/debug/plugin-debug-adapter-session.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAIhE;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,uBAAuB;aAO5C,YAAY,EAAE,YAAY;IAC5C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,mBAAmB;IACrD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY;IARvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,kBAAkB,CAAC;gBAG3B,YAAY,EAAE,YAAY,EACzB,OAAO,EAAE,KAAK,CAAC,mBAAmB,EAClC,YAAY,EAAE,KAAK,CAAC,YAAY;IAUxC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;cAI3C,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;cAOvC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;cAU3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;cAO5B,kBAAkB,IAAI,IAAI;CAMhD"}
1
+ {"version":3,"file":"plugin-debug-adapter-session.d.ts","sourceRoot":"","sources":["../../../../src/plugin/node/debug/plugin-debug-adapter-session.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,4CAA4C,CAAC;AAIrE;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,uBAAuB;aAO5C,YAAY,EAAE,YAAY;IAC5C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,mBAAmB;IACrD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY;IARvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,kBAAkB,CAAC;gBAG3B,YAAY,EAAE,YAAY,EACzB,OAAO,EAAE,KAAK,CAAC,mBAAmB,EAClC,YAAY,EAAE,KAAK,CAAC,YAAY;IAUxC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;cAI3C,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;cAOvC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;cAU3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;cAO5B,kBAAkB,IAAI,IAAI;CAMhD"}
package/package.json CHANGED
@@ -1,32 +1,32 @@
1
1
  {
2
2
  "name": "@theia/plugin-ext",
3
- "version": "1.26.0-next.34+1732179729e",
3
+ "version": "1.26.0-next.35+0ec8075c1ef",
4
4
  "description": "Theia - Plugin Extension",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
7
7
  "dependencies": {
8
- "@theia/bulk-edit": "1.26.0-next.34+1732179729e",
9
- "@theia/callhierarchy": "1.26.0-next.34+1732179729e",
10
- "@theia/console": "1.26.0-next.34+1732179729e",
11
- "@theia/core": "1.26.0-next.34+1732179729e",
12
- "@theia/debug": "1.26.0-next.34+1732179729e",
13
- "@theia/editor": "1.26.0-next.34+1732179729e",
14
- "@theia/file-search": "1.26.0-next.34+1732179729e",
15
- "@theia/filesystem": "1.26.0-next.34+1732179729e",
16
- "@theia/markers": "1.26.0-next.34+1732179729e",
17
- "@theia/messages": "1.26.0-next.34+1732179729e",
18
- "@theia/monaco": "1.26.0-next.34+1732179729e",
8
+ "@theia/bulk-edit": "1.26.0-next.35+0ec8075c1ef",
9
+ "@theia/callhierarchy": "1.26.0-next.35+0ec8075c1ef",
10
+ "@theia/console": "1.26.0-next.35+0ec8075c1ef",
11
+ "@theia/core": "1.26.0-next.35+0ec8075c1ef",
12
+ "@theia/debug": "1.26.0-next.35+0ec8075c1ef",
13
+ "@theia/editor": "1.26.0-next.35+0ec8075c1ef",
14
+ "@theia/file-search": "1.26.0-next.35+0ec8075c1ef",
15
+ "@theia/filesystem": "1.26.0-next.35+0ec8075c1ef",
16
+ "@theia/markers": "1.26.0-next.35+0ec8075c1ef",
17
+ "@theia/messages": "1.26.0-next.35+0ec8075c1ef",
18
+ "@theia/monaco": "1.26.0-next.35+0ec8075c1ef",
19
19
  "@theia/monaco-editor-core": "1.65.2",
20
- "@theia/navigator": "1.26.0-next.34+1732179729e",
21
- "@theia/output": "1.26.0-next.34+1732179729e",
22
- "@theia/plugin": "1.26.0-next.34+1732179729e",
23
- "@theia/preferences": "1.26.0-next.34+1732179729e",
24
- "@theia/scm": "1.26.0-next.34+1732179729e",
25
- "@theia/search-in-workspace": "1.26.0-next.34+1732179729e",
26
- "@theia/task": "1.26.0-next.34+1732179729e",
27
- "@theia/terminal": "1.26.0-next.34+1732179729e",
28
- "@theia/timeline": "1.26.0-next.34+1732179729e",
29
- "@theia/workspace": "1.26.0-next.34+1732179729e",
20
+ "@theia/navigator": "1.26.0-next.35+0ec8075c1ef",
21
+ "@theia/output": "1.26.0-next.35+0ec8075c1ef",
22
+ "@theia/plugin": "1.26.0-next.35+0ec8075c1ef",
23
+ "@theia/preferences": "1.26.0-next.35+0ec8075c1ef",
24
+ "@theia/scm": "1.26.0-next.35+0ec8075c1ef",
25
+ "@theia/search-in-workspace": "1.26.0-next.35+0ec8075c1ef",
26
+ "@theia/task": "1.26.0-next.35+0ec8075c1ef",
27
+ "@theia/terminal": "1.26.0-next.35+0ec8075c1ef",
28
+ "@theia/timeline": "1.26.0-next.35+0ec8075c1ef",
29
+ "@theia/workspace": "1.26.0-next.35+0ec8075c1ef",
30
30
  "@types/mime": "^2.0.1",
31
31
  "decompress": "^4.2.1",
32
32
  "escape-html": "^1.0.3",
@@ -91,5 +91,5 @@
91
91
  "nyc": {
92
92
  "extends": "../../configs/nyc.json"
93
93
  },
94
- "gitHead": "1732179729e06b15c54e9dad0820704c37a77d5d"
94
+ "gitHead": "0ec8075c1ef60cdbb0b1d4cdad40cbb44e21661b"
95
95
  }
@@ -13,27 +13,38 @@
13
13
  //
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
- import { Channel } from '@theia/debug/lib/common/debug-service';
17
16
  import { ConnectionExt, ConnectionMain } from './plugin-api-rpc';
18
- import { Emitter } from '@theia/core/lib/common/event';
17
+ import { Emitter, Event } from '@theia/core/lib/common/event';
18
+ import { ChannelCloseEvent, MessageProvider } from '@theia/core/lib/common/message-rpc/channel';
19
+ import { WriteBuffer, Channel } from '@theia/core';
20
+ import { Uint8ArrayReadBuffer, Uint8ArrayWriteBuffer } from '@theia/core/lib/common/message-rpc/uint8-array-message-buffer';
19
21
 
20
22
  /**
21
23
  * A channel communicating with a counterpart in a plugin host.
22
24
  */
23
25
  export class PluginChannel implements Channel {
24
- private messageEmitter: Emitter<string> = new Emitter();
26
+ private messageEmitter: Emitter<MessageProvider> = new Emitter();
25
27
  private errorEmitter: Emitter<unknown> = new Emitter();
26
- private closedEmitter: Emitter<void> = new Emitter();
28
+ private closedEmitter: Emitter<ChannelCloseEvent> = new Emitter();
27
29
 
28
30
  constructor(
29
- protected readonly id: string,
31
+ readonly id: string,
30
32
  protected readonly connection: ConnectionExt | ConnectionMain) { }
31
33
 
34
+ getWriteBuffer(): WriteBuffer {
35
+ const result = new Uint8ArrayWriteBuffer();
36
+ result.onCommit(buffer => {
37
+ this.connection.$sendMessage(this.id, new Uint8ArrayReadBuffer(buffer).readString());
38
+ });
39
+
40
+ return result;
41
+ }
42
+
32
43
  send(content: string): void {
33
44
  this.connection.$sendMessage(this.id, content);
34
45
  }
35
46
 
36
- fireMessageReceived(msg: string): void {
47
+ fireMessageReceived(msg: MessageProvider): void {
37
48
  this.messageEmitter.fire(msg);
38
49
  }
39
50
 
@@ -42,21 +53,19 @@ export class PluginChannel implements Channel {
42
53
  }
43
54
 
44
55
  fireClosed(): void {
45
- this.closedEmitter.fire();
56
+ this.closedEmitter.fire({ reason: 'Plugin channel has been closed from the extension side' });
46
57
  }
47
58
 
48
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
- onMessage(cb: (data: any) => void): void {
50
- this.messageEmitter.event(cb);
59
+ get onMessage(): Event<MessageProvider> {
60
+ return this.messageEmitter.event;
51
61
  }
52
62
 
53
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
- onError(cb: (reason: any) => void): void {
55
- this.errorEmitter.event(cb);
63
+ get onError(): Event<unknown> {
64
+ return this.errorEmitter.event;
56
65
  }
57
66
 
58
- onClose(cb: (code: number, reason: string) => void): void {
59
- this.closedEmitter.event(() => cb(-1, 'closed'));
67
+ get onClose(): Event<ChannelCloseEvent> {
68
+ return this.closedEmitter.event;
60
69
  }
61
70
 
62
71
  close(): void {
@@ -80,7 +89,10 @@ export class ConnectionImpl implements ConnectionMain, ConnectionExt {
80
89
  */
81
90
  async $sendMessage(id: string, message: string): Promise<void> {
82
91
  if (this.connections.has(id)) {
83
- this.connections.get(id)!.fireMessageReceived(message);
92
+ const writer = new Uint8ArrayWriteBuffer().writeString(message);
93
+ const reader = new Uint8ArrayReadBuffer(writer.getCurrentContents());
94
+ writer.dispose();
95
+ this.connections.get(id)!.fireMessageReceived(() => reader);
84
96
  } else {
85
97
  console.warn(`Received message for unknown connection: ${id}`);
86
98
  }
@@ -30,7 +30,7 @@ import { TerminalOptionsExt } from '../../../common/plugin-api-rpc';
30
30
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
31
31
  import { DebugContribution } from '@theia/debug/lib/browser/debug-contribution';
32
32
  import { ContributionProvider } from '@theia/core/lib/common/contribution-provider';
33
- import { Channel } from '@theia/debug/lib/common/debug-service';
33
+ import { Channel } from '@theia/core/lib/common/message-rpc/channel';
34
34
  import { WorkspaceService } from '@theia/workspace/lib/browser';
35
35
 
36
36
  export class PluginDebugSession extends DebugSession {
@@ -17,7 +17,7 @@
17
17
  import { DebugAdapterSessionImpl } from '@theia/debug/lib/node/debug-adapter-session';
18
18
  import * as theia from '@theia/plugin';
19
19
  import { DebugAdapter } from '@theia/debug/lib/node/debug-model';
20
- import { Channel } from '@theia/debug/lib/common/debug-service';
20
+ import { Channel } from '@theia/core/lib/common/message-rpc/channel';
21
21
 
22
22
  /* eslint-disable @typescript-eslint/no-explicit-any */
23
23