@theia/plugin-ext-vscode 1.27.0-next.8 → 1.28.0-next.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.
@@ -23,6 +23,33 @@ export declare namespace VscodeCommands {
23
23
  const DIFF: Command;
24
24
  const INSTALL_FROM_VSIX: Command;
25
25
  }
26
+ export interface UsbDeviceData {
27
+ readonly deviceClass: number;
28
+ readonly deviceProtocol: number;
29
+ readonly deviceSubclass: number;
30
+ readonly deviceVersionMajor: number;
31
+ readonly deviceVersionMinor: number;
32
+ readonly deviceVersionSubminor: number;
33
+ readonly manufacturerName?: string;
34
+ readonly productId: number;
35
+ readonly productName?: string;
36
+ readonly serialNumber?: string;
37
+ readonly usbVersionMajor: number;
38
+ readonly usbVersionMinor: number;
39
+ readonly usbVersionSubminor: number;
40
+ readonly vendorId: number;
41
+ }
42
+ export interface SerialPortData {
43
+ readonly usbVendorId?: number | undefined;
44
+ readonly usbProductId?: number | undefined;
45
+ }
46
+ export interface HidDeviceData {
47
+ readonly opened: boolean;
48
+ readonly vendorId: number;
49
+ readonly productId: number;
50
+ readonly productName: string;
51
+ readonly collections: [];
52
+ }
26
53
  export declare class PluginVscodeCommandsContribution implements CommandContribution {
27
54
  protected readonly commandService: CommandService;
28
55
  protected readonly contextKeyService: ContextKeyService;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-vscode-commands-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-vscode-commands-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,7 @@ const custom_editor_opener_1 = require("@theia/plugin-ext/lib/main/browser/custo
55
55
  const nls_1 = require("@theia/core/lib/common/nls");
56
56
  const window_service_1 = require("@theia/core/lib/browser/window/window-service");
57
57
  const monaco = require("@theia/monaco-editor-core");
58
+ const plugin_vscode_uri_1 = require("../common/plugin-vscode-uri");
58
59
  var VscodeCommands;
59
60
  (function (VscodeCommands) {
60
61
  VscodeCommands.OPEN = {
@@ -219,7 +220,7 @@ let PluginVscodeCommandsContribution = class PluginVscodeCommandsContribution {
219
220
  commands.registerCommand({ id: VscodeCommands.INSTALL_FROM_VSIX.id }, {
220
221
  execute: async (vsixUriOrExtensionId) => {
221
222
  if (typeof vsixUriOrExtensionId === 'string') {
222
- await this.pluginServer.deploy(`vscode:extension/${vsixUriOrExtensionId}`);
223
+ await this.pluginServer.deploy(plugin_vscode_uri_1.VSCodeExtensionUri.toVsxExtensionUriString(vsixUriOrExtensionId));
223
224
  }
224
225
  else {
225
226
  const uriPath = (0, type_converters_1.isUriComponents)(vsixUriOrExtensionId) ? vscode_uri_1.URI.revive(vsixUriOrExtensionId).fsPath : await this.fileService.fsPath(vsixUriOrExtensionId);
@@ -555,6 +556,80 @@ let PluginVscodeCommandsContribution = class PluginVscodeCommandsContribution {
555
556
  }
556
557
  }
557
558
  });
559
+ commands.registerCommand({
560
+ id: 'workbench.experimental.requestUsbDevice'
561
+ }, {
562
+ execute: async (options) => {
563
+ var _a;
564
+ const usb = navigator.usb;
565
+ if (!usb) {
566
+ return undefined;
567
+ }
568
+ const device = await usb.requestDevice({ filters: (_a = options === null || options === void 0 ? void 0 : options.filters) !== null && _a !== void 0 ? _a : [] });
569
+ if (!device) {
570
+ return undefined;
571
+ }
572
+ return {
573
+ deviceClass: device.deviceClass,
574
+ deviceProtocol: device.deviceProtocol,
575
+ deviceSubclass: device.deviceSubclass,
576
+ deviceVersionMajor: device.deviceVersionMajor,
577
+ deviceVersionMinor: device.deviceVersionMinor,
578
+ deviceVersionSubminor: device.deviceVersionSubminor,
579
+ manufacturerName: device.manufacturerName,
580
+ productId: device.productId,
581
+ productName: device.productName,
582
+ serialNumber: device.serialNumber,
583
+ usbVersionMajor: device.usbVersionMajor,
584
+ usbVersionMinor: device.usbVersionMinor,
585
+ usbVersionSubminor: device.usbVersionSubminor,
586
+ vendorId: device.vendorId,
587
+ };
588
+ }
589
+ });
590
+ commands.registerCommand({
591
+ id: 'workbench.experimental.requestSerialPort'
592
+ }, {
593
+ execute: async (options) => {
594
+ var _a;
595
+ const serial = navigator.serial;
596
+ if (!serial) {
597
+ return undefined;
598
+ }
599
+ const port = await serial.requestPort({ filters: (_a = options === null || options === void 0 ? void 0 : options.filters) !== null && _a !== void 0 ? _a : [] });
600
+ if (!port) {
601
+ return undefined;
602
+ }
603
+ const info = port.getInfo();
604
+ return {
605
+ usbVendorId: info.usbVendorId,
606
+ usbProductId: info.usbProductId
607
+ };
608
+ }
609
+ });
610
+ commands.registerCommand({
611
+ id: 'workbench.experimental.requestHidDevice'
612
+ }, {
613
+ execute: async (options) => {
614
+ var _a;
615
+ const hid = navigator.hid;
616
+ if (!hid) {
617
+ return undefined;
618
+ }
619
+ const devices = await hid.requestDevice({ filters: (_a = options === null || options === void 0 ? void 0 : options.filters) !== null && _a !== void 0 ? _a : [] });
620
+ if (!devices.length) {
621
+ return undefined;
622
+ }
623
+ const device = devices[0];
624
+ return {
625
+ opened: device.opened,
626
+ vendorId: device.vendorId,
627
+ productId: device.productId,
628
+ productName: device.productName,
629
+ collections: device.collections
630
+ };
631
+ }
632
+ });
558
633
  }
559
634
  async getCallHierarchyServiceForUri(resource) {
560
635
  const reference = await this.textModelService.createModelReference(resource);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-vscode-commands-contribution.js","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-vscode-commands-contribution.js","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,sCAAyH;AACzH,qDAUiC;AACjC,qFAAgF;AAChF,mHAA6G;AAC7G,4DAAgE;AAChE,oDAAkD;AAClD,uDAA0E;AAC1E,oHAE6E;AAY7E,sFAAsF;AACtF,kFAA6G;AAE7G,0DAAiE;AACjE,sFAAkG;AAClG,4EAAwE;AACxE,4DAA4E;AAE5E,8DAAoD;AACpD,kFAA4E;AAC5E,+GAA0G;AAC1G,4FAAuF;AACvF,wFAAoF;AACpF,gGAG6D;AAC7D,0DAAsF;AACtF,gFAAiF;AAEjF,6EAAyE;AACzE,8DAAsG;AACtG,mGAA6F;AAC7F,kIAKwF;AACxF,iHAA4G;AAC5G,oDAAiD;AACjD,kFAA8E;AAC9E,oDAAoD;AACpD,mEAAiE;AAEjE,IAAiB,cAAc,CAoB9B;AApBD,WAAiB,cAAc;IACd,mBAAI,GAAY;QACzB,EAAE,EAAE,aAAa;KACpB,CAAC;IAEW,wBAAS,GAAY;QAC9B,EAAE,EAAE,iBAAiB;KACxB,CAAC;IAEW,0BAAW,GAAY;QAChC,EAAE,EAAE,mBAAmB;KAC1B,CAAC;IAEW,mBAAI,GAAY;QACzB,EAAE,EAAE,aAAa;KACpB,CAAC;IAEW,gCAAiB,GAAY;QACtC,EAAE,EAAE,uCAAuC;KAC9C,CAAC;AACN,CAAC,EApBgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAoB9B;AAuCD,IAAa,gCAAgC,GAA7C,MAAa,gCAAgC;IAsCjC,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,QAAa,EAAE,eAAsD,EAAE,QAAiB;QAC9H,IAAI,CAAC,QAAQ,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,0CAA0C,CAAC,CAAC;SAC3E;QACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,qCAAqC,QAAQ,EAAE,CAAC,CAAC;SACrG;QAED,IAAI,OAA4C,CAAC;QACjD,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;YACrC,OAAO,GAAG;gBACN,UAAU,EAAE,eAAe;aAC9B,CAAC;SACL;aAAM,IAAI,eAAe,EAAE;YACxB,OAAO,qBACA,eAAe,CACrB,CAAC;SACL;QAED,MAAM,GAAG,GAAG,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,aAAa,GAAG,kCAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEnF,IAAI,WAAoC,CAAC;QACzC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9B,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,aAAa,KAAK,WAAW,EAAE;oBAC/B,WAAW,GAAG,MAAM,CAAC;oBACrB,MAAM;iBACT;aACJ;SACJ;aAAM;YACH,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;SACxE;QAED,IAAI,WAAW,EAAE;YACb,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACtC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE;YAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,EAAE,QAAa,EAAE,eAAsD,EAAE,EAAE;gBACrF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBACtF,IAAI,CAAC,MAAM,EAAE;oBACT,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;iBAC/D;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE;YAC/C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,EAAE,QAAa,EAAE,QAAgB,EAAE,eAAsD,EAAE,EAAE;gBACvG,IAAI,CAAC,QAAQ,EAAE;oBACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,cAAc,CAAC,SAAS,UAAU,CAAC,CAAC;iBAC3F;gBAED,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE;oBACtC,OAAO,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;iBACrF;gBAED,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;gBACnG,IAAI,CAAC,MAAM,EAAE;oBACT,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,yCAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACvI;gBAED,IAAI,CAAC,MAAM,EAAE;oBACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,GAAG,CAAC,CAAC;iBACjE;YACL,CAAC;SACJ,CAAC,CAAC;QAQH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,WAAW,EAAE;YACjD,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,EAAE,QAAc,EAAE,MAA8C,EAAE,EAAE,EAAE;gBAChF,IAAI,CAAC,QAAQ,EAAE;oBACX,OAAO,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;iBACvE;gBACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;oBACtB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,WAAW,CAAC,EAAE,qCAAqC,QAAQ,EAAE,CAAC,CAAC;iBACzH;gBACD,IAAI,OAAmC,CAAC;gBACxC,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE;oBAC1B,OAAO,GAAG,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC;iBACtC;qBAAM;oBACH,OAAO,GAAG,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;iBACrD;gBACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,aAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE;YAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,8DAA8D;YAC9D,OAAO,EAAE,KAAK,EAAE,IAAS,EAAE,KAAU,EAAE,KAAc,EAAE,OAAiC,EAAE,EAAE;gBACxF,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;oBACjB,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,4DAA4D,IAAI,WAAW,KAAK,eAAe,CAAC,CAAC;iBAC1I;gBACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,IAAI,CAAC,EAAE,kEAAkE,IAAI,EAAE,CAAC,CAAC;iBAC3I;gBACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,IAAI,CAAC,EAAE,oEAAoE,KAAK,EAAE,CAAC,CAAC;iBAC9I;gBAED,MAAM,OAAO,GAAG,IAAI,aAAQ,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,aAAa,GAAG,kCAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACnF,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,aAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;YAC9F,CAAC;SACJ,CAAC,CAAC;QAEH,wEAAwE;QACxE;;;;;;;WAOG;QACH,IAAI,CAAC,kBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,YAAK,EAAE;YACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,uCAAuC,EAAE,EAAE;gBACtE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;SACN;QAED,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,iCAAiC,EAAE,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,mCAAmC,EAAE,EAAE;YAClE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gCAAgC,EAAE,EAAE;YAC/D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,2BAA2B,EAAE,EAAE;YAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;SAC7E,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,4BAA4B,EAAE,EAAE;YAC3D,OAAO,EAAE,CAAC,MAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SAChG,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,EAAE;YAC9D,OAAO,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC;SAClG,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,0CAA0C,EAAE,EAAE;YACzE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC;SACnF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6CAA6C,EAAE,EAAE;YAC5E,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,8CAAqB,CAAC,iBAAiB,CAAC,EAAE,CAAC;SACrF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE;YAClE,OAAO,EAAE,KAAK,EAAE,oBAAuD,EAAE,EAAE;gBACvE,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE;oBAC1C,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,sCAAkB,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC,CAAC;iBACpG;qBAAM;oBACH,MAAM,OAAO,GAAG,IAAA,iCAAe,EAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,gBAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBACtJ,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;iBAC3D;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6BAA6B,GAAG,EAAE;YAC7D,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE;gBAC1B,IAAI,GAAG,EAAE;oBACL,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACvC,MAAM,WAAW,GAAG,kBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,2BAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;wBACpF,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;oBACjE,CAAC,CAAC,CAAC;oBACH,IAAI,kBAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;wBACrB,kBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBACzB;iBACJ;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBACrB;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gCAAgC,GAAG,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;SACtC,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,oCAAoC,EAAE,EAAE;YACnE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,cAAc,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,oCAAoC,EAAE,EAAE;YACnE,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;gBAChC,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC1E,IAAI,GAAG,EAAE;oBACL,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACrC,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;wBACvC,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;oBACjE,CAAC,CAAC,CAAC;iBACN;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/G,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,CACzB,EAGS,EACT,GAAgB,EACZ,EAAE;YACN,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YAC1E,IAAI,GAAG,EAAE;gBACL,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACrC,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;oBACvC,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;gBACjE,CAAC,CAAC,CAAC;aACN;YACD,IAAI,MAAM,EAAE;gBACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,MAAM,EAAE;oBACR,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;iBAClE;aACJ;QACL,CAAC,CAAC;QAEF,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,sCAAsC;YAC1C,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,4BAA4B,CAAC;SAC7D,EAAE;YACC,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;SACjF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;SACpD,EAAE;YACC,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;SAChF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,4CAA4C,EAAE,EAAE;YAC3E,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5E,IAAI,MAAM,EAAE;oBACR,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACrD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;wBACxC,IAAI,MAAM,KAAK,YAAY,EAAE;4BACzB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACvB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CACrD,CAAC;yBACL;qBACJ;iBACJ;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,wCAAwC,EAAE,EAAE;YACvE,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5E,IAAI,MAAM,EAAE;oBACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC/C,IAAI,MAAM,EAAE;wBACR,IAAI,IAAI,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACvB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;4BACV,IAAI,KAAK,KAAK,MAAM,EAAE;gCAClB,IAAI,GAAG,KAAK,CAAC;gCACb,OAAO,KAAK,CAAC;6BAChB;4BACD,OAAO,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBACvD,CAAC,CACJ,CAAC;qBACL;iBACJ;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,yCAAyC,EAAE,EAAE;YACxE,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5E,IAAI,MAAM,EAAE;oBACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC/C,IAAI,MAAM,EAAE;wBACR,IAAI,IAAI,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACvB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;4BACV,IAAI,KAAK,KAAK,MAAM,EAAE;gCAClB,IAAI,GAAG,KAAK,CAAC;gCACb,OAAO,KAAK,CAAC;6BAChB;4BACD,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBACxD,CAAC,CACJ,CAAC;qBACL;iBACJ;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,EAAE;YACjE,OAAO,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1F,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6BAA6B,EAAE,EAAE;YAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;SAC9C,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,iCAAiC,EAAE,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;SAClD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,EAAE;YAC9D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,OAAO,CAAC,EAAE,CAAC;SACpE,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,EAAE;YACjE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,UAAU,CAAC,EAAE,CAAC;SACvE,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6CAA6C,EAAE,EAAE;YAC5E,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,YAAY,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE;YAC/C,OAAO,EAAE,CAAC,QAAa,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,aAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC1G,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,EAAE;YAC9D,OAAO,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAChC,CAAC;SACJ,CAAC,CAAC;QAEH;;;;;;;;WAQG;QAEH,8CAA8C;QAC9C,4DAA4D;QAC5D,uDAAuD;QAEvD,oDAAoD;QACpD,wGAAwG;QACxG,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,kCAAkC;SACzC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC9G,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,mCAAmC;SAC1C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,6BAA6B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC/G,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAClH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAClH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAU,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SACtG,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,kCAAkC;SACzC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAsB,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SACvH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,iCAAiC;SACxC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAa,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC1J,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,gCAAgC,EAChF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CACxC,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE;oBAC9C,OAAO,SAAS,CAAC;iBACpB;gBACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,kCAAgB,EAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC;SACL,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,OAA0B,EAAE,EAAE,CACpD,QAAQ,CAAC,cAAc,CAAa,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;SACjH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,mCAAmC;SAC1C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,KAAY,EAAE,OAA0B,EAAE,EAAE,CAClE,QAAQ,CAAC,cAAc,CAAa,6BAA6B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACrH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,oCAAoC;SAC3C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAU,EAAE,OAA0B,EAAE,EAAE,CACpF,QAAQ,CAAC,cAAc,CAAa,8BAA8B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;SAC7H,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,QAAa,EAAE,QAAkB,EAAgC,EAAE;gBAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,UAAU,GAAG,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,iBAAiB,CAChD,QAAQ,CAAC,IAAI,EACb,IAAA,4BAAU,EAAC,QAAQ,CAAC,EACpB,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAA,CAAC;gBACF,IAAI,UAAU,EAAE;oBACZ,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,8CAAc,EAAC,IAAI,CAAC,CAAC,CAAC;iBAC7D;gBAAA,CAAC;gBACF,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAwC,EAAE;gBAC7E,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,aAAa,GAAG,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAC5C,IAAA,4CAAY,EAAC,IAAI,CAAC,EAClB,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAA,CAAC;gBACF,IAAI,aAAa,EAAE;oBACf,OAAO,aAAa,CAAC,GAAG,CAAC,uFAAuD,CAAC,CAAC;iBACrF;gBACD,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAwC,EAAE;;gBAC7E,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,aAAa,GAAG,MAAM,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,+CAApB,QAAQ,EAChC,IAAA,4CAAY,EAAC,IAAI,CAAC,EAClB,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAA,CAAC;gBACF,IAAI,aAAa,EAAE;oBACf,OAAO,aAAa,CAAC,GAAG,CAAC,uFAAuD,CAAC,CAAC;iBACrF;gBACD,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CACJ,CAAC;QAEF,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,6BAA6B;SACpC,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;SAClD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,oBAAoB;SAC3B,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,wCAAwC;SAC/C,EAAE;YACC,OAAO,EAAE,CAAC,IAAwB,EAAE,EAAE;gBAClC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;oBAC/C,OAAO;iBACV;gBAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;gBAE7D,IAAI,eAAe,KAAK,SAAS,EAAE;oBAC/B,OAAO;iBACV;gBAED,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,gCAAgC;SACvC,EAAE;YACC,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;gBAE7D,IAAI,eAAe,KAAK,SAAS,EAAE;oBAC/B,OAAO;iBACV;gBAED,eAAe,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,yBAAyB;SAChC,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,8CAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,cAAc;SACrB,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,SAAS,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,sBAAsB;SAC7B,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,uBAAuB,CAAC,EAAE,CAAC;SACvF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,kBAAkB;SACzB,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,QAAsB,EAAE,EAAE;gBACtC,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;oBACtB,OAAO;iBACV;gBACD,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,2BAAiB,CAAC,CAAC;gBACjE,IAAI,CAAC,SAAS,EAAE;oBACZ,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,yDAAgC,CAAC,CAAC;oBAC3E,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,2BAAiB,CAAC,CAAC;iBAChE;gBACD,IAAI,SAAS,YAAY,6BAAmB,EAAE;oBAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;oBAC9B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC5D,IAAI,mCAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;wBAC7B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;qBAC1B;iBACJ;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,yCAAyC;SAChD,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,OAAiC,EAAsC,EAAE;;gBACrF,MAAM,GAAG,GAAI,SAAiB,CAAC,GAAG,CAAC;gBACnC,IAAI,CAAC,GAAG,EAAE;oBACN,OAAO,SAAS,CAAC;iBACpB;gBAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,EAAE,EAAE,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,EAAE;oBACT,OAAO,SAAS,CAAC;iBACpB;gBAED,OAAO;oBACH,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;oBACnD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC5B,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,0CAA0C;SACjD,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,OAAiC,EAAuC,EAAE;;gBACtF,MAAM,MAAM,GAAI,SAAiB,CAAC,MAAM,CAAC;gBACzC,IAAI,CAAC,MAAM,EAAE;oBACT,OAAO,SAAS,CAAC;iBACpB;gBAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,EAAE,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,IAAI,EAAE;oBACP,OAAO,SAAS,CAAC;iBACpB;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO;oBACH,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;iBAClC,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,yCAAyC;SAChD,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,OAAiC,EAAsC,EAAE;;gBACrF,MAAM,GAAG,GAAI,SAAiB,CAAC,GAAG,CAAC;gBACnC,IAAI,CAAC,GAAG,EAAE;oBACN,OAAO,SAAS,CAAC;iBACpB;gBAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,EAAE,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;oBACjB,OAAO,SAAS,CAAC;iBACpB;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,OAAO;oBACH,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;iBAClC,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,6BAA6B,CAAC,QAAa;QACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;QAC/C,SAAS,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;CACJ,CAAA;AAtsBG;IADC,IAAA,kBAAM,EAAC,wBAAc,CAAC;;wEAC2B;AAElD;IADC,IAAA,kBAAM,EAAC,uCAAiB,CAAC;;2EAC8B;AAExD;IADC,IAAA,kBAAM,EAAC,uBAAa,CAAC;8BACY,uBAAa;uEAAC;AAEhD;IADC,IAAA,kBAAM,EAAC,0BAAgB,CAAC;8BACC,0BAAgB;+DAAC;AAE3C;IADC,IAAA,kBAAM,EAAC,0BAAW,CAAC;8BACY,0BAAW;qEAAC;AAE5C;IADC,IAAA,kBAAM,EAAC,uBAAa,CAAC;;uEAC0B;AAEhD;IADC,IAAA,kBAAM,EAAC,8DAA4B,CAAC;8BACJ,8DAA4B;sEAAC;AAE9D;IADC,IAAA,kBAAM,EAAC,2BAAiB,CAAC;IAAE,IAAA,oBAAQ,GAAE;;oEACW;AAEjD;IADC,IAAA,kBAAM,EAAC,oCAAgB,CAAC;8BACY,oCAAgB;0EAAC;AAEtD;IADC,IAAA,kBAAM,EAAC,6DAA4B,CAAC;8BACI,6DAA4B;8EAAC;AAEtE;IADC,IAAA,kBAAM,EAAC,yCAAkB,CAAC;8BACY,yCAAkB;4EAAC;AAE1D;IADC,IAAA,kBAAM,EAAC,kCAAe,CAAC;;yEAC4B;AAEpD;IADC,IAAA,kBAAM,EAAC,iDAAoB,CAAC;8BACY,iDAAoB;8EAAC;AAE9D;IADC,IAAA,kBAAM,EAAC,8BAAY,CAAC;;sEACyB;AAE9C;IADC,IAAA,kBAAM,EAAC,0BAAW,CAAC;8BACY,0BAAW;qEAAC;AAE5C;IADC,IAAA,kBAAM,EAAC,sCAA4B,CAAC;8BACK,sCAA4B;+EAAC;AAEvE;IADC,IAAA,kBAAM,EAAC,kDAAsB,CAAC;8BACM,kDAAsB;0EAAC;AAE5D;IADC,IAAA,kBAAM,EAAC,8BAAa,CAAC;;uEAC0B;AApCvC,gCAAgC;IAD5C,IAAA,sBAAU,GAAE;GACA,gCAAgC,CAwsB5C;AAxsBY,4EAAgC"}
@@ -0,0 +1,17 @@
1
+ import URI from '@theia/core/lib/common/uri';
2
+ /**
3
+ * Static methods for identifying a plugin as the target of the VSCode deployment system.
4
+ * In practice, this means that it will be resolved and deployed by the Open-VSX system.
5
+ */
6
+ export declare namespace VSCodeExtensionUri {
7
+ const VSCODE_PREFIX = "vscode:extension/";
8
+ /**
9
+ * Should be used to prefix a plugin's ID to ensure that it is identified as a VSX Extension.
10
+ * @returns `vscode:extension/${id}`
11
+ */
12
+ function toVsxExtensionUriString(id: string): string;
13
+ function toUri(name: string, namespace: string): URI;
14
+ function toUri(id: string): URI;
15
+ function toId(uri: URI): string | undefined;
16
+ }
17
+ //# sourceMappingURL=plugin-vscode-uri.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-vscode-uri.d.ts","sourceRoot":"","sources":["../../src/common/plugin-vscode-uri.ts"],"names":[],"mappings":"AAgBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C;;;GAGG;AACH,yBAAiB,kBAAkB,CAAC;IACzB,MAAM,aAAa,sBAAsB,CAAC;IACjD;;;OAGG;IACH,SAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE1D;IACD,SAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC;IAC5D,SAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,CAAC;IAQvC,SAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAKjD;CACJ"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2022 Ericsson and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.VSCodeExtensionUri = void 0;
19
+ const uri_1 = require("@theia/core/lib/common/uri");
20
+ /**
21
+ * Static methods for identifying a plugin as the target of the VSCode deployment system.
22
+ * In practice, this means that it will be resolved and deployed by the Open-VSX system.
23
+ */
24
+ var VSCodeExtensionUri;
25
+ (function (VSCodeExtensionUri) {
26
+ VSCodeExtensionUri.VSCODE_PREFIX = 'vscode:extension/';
27
+ /**
28
+ * Should be used to prefix a plugin's ID to ensure that it is identified as a VSX Extension.
29
+ * @returns `vscode:extension/${id}`
30
+ */
31
+ function toVsxExtensionUriString(id) {
32
+ return `${VSCodeExtensionUri.VSCODE_PREFIX}${id}`;
33
+ }
34
+ VSCodeExtensionUri.toVsxExtensionUriString = toVsxExtensionUriString;
35
+ function toUri(idOrName, namespace) {
36
+ if (typeof namespace === 'string') {
37
+ return new uri_1.default(toVsxExtensionUriString(`${namespace}.${idOrName}`));
38
+ }
39
+ else {
40
+ return new uri_1.default(toVsxExtensionUriString(idOrName));
41
+ }
42
+ }
43
+ VSCodeExtensionUri.toUri = toUri;
44
+ function toId(uri) {
45
+ if (uri.scheme === 'vscode' && uri.path.dir.toString() === 'extension') {
46
+ return uri.path.base;
47
+ }
48
+ return undefined;
49
+ }
50
+ VSCodeExtensionUri.toId = toId;
51
+ })(VSCodeExtensionUri = exports.VSCodeExtensionUri || (exports.VSCodeExtensionUri = {}));
52
+ //# sourceMappingURL=plugin-vscode-uri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-vscode-uri.js","sourceRoot":"","sources":["../../src/common/plugin-vscode-uri.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAEhF,oDAA6C;AAE7C;;;GAGG;AACH,IAAiB,kBAAkB,CAwBlC;AAxBD,WAAiB,kBAAkB;IAClB,gCAAa,GAAG,mBAAmB,CAAC;IACjD;;;OAGG;IACH,SAAgB,uBAAuB,CAAC,EAAU;QAC9C,OAAO,GAAG,mBAAA,aAAa,GAAG,EAAE,EAAE,CAAC;IACnC,CAAC;IAFe,0CAAuB,0BAEtC,CAAA;IAGD,SAAgB,KAAK,CAAC,QAAgB,EAAE,SAAkB;QACtD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YAC/B,OAAO,IAAI,aAAG,CAAC,uBAAuB,CAAC,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;SACvE;aAAM;YACH,OAAO,IAAI,aAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;SACrD;IACL,CAAC;IANe,wBAAK,QAMpB,CAAA;IACD,SAAgB,IAAI,CAAC,GAAQ;QACzB,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,WAAW,EAAE;YACpE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IALe,uBAAI,OAKnB,CAAA;AACL,CAAC,EAxBgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAwBlC"}
@@ -1,8 +1,14 @@
1
1
  import { RecursivePartial } from '@theia/core';
2
2
  import { PluginDeployerDirectoryHandler, PluginDeployerEntry, PluginDeployerDirectoryHandlerContext, PluginPackage } from '@theia/plugin-ext';
3
+ import { PluginCliContribution } from '@theia/plugin-ext/lib/main/node/plugin-cli-contribution';
3
4
  export declare class PluginVsCodeDirectoryHandler implements PluginDeployerDirectoryHandler {
5
+ protected readonly deploymentDirectory: import("@theia/core/lib/common/uri").URI;
6
+ protected readonly pluginCli: PluginCliContribution;
4
7
  accept(plugin: PluginDeployerEntry): boolean;
8
+ protected attemptResolution(plugin: PluginDeployerEntry): boolean;
9
+ protected deriveMetadata(plugin: PluginDeployerEntry): boolean;
5
10
  handle(context: PluginDeployerDirectoryHandlerContext): Promise<void>;
11
+ protected copyDirectory(context: PluginDeployerDirectoryHandlerContext): Promise<void>;
6
12
  protected resolveFromSources(plugin: PluginDeployerEntry): boolean;
7
13
  protected resolveFromVSIX(plugin: PluginDeployerEntry): boolean;
8
14
  protected resolveFromNpmTarball(plugin: PluginDeployerEntry): boolean;
@@ -11,5 +17,6 @@ export declare class PluginVsCodeDirectoryHandler implements PluginDeployerDirec
11
17
  pck?: RecursivePartial<PluginPackage>;
12
18
  }): boolean;
13
19
  protected requirePackage(pluginPath: string): PluginPackage | undefined;
20
+ protected getExtensionDir(context: PluginDeployerDirectoryHandlerContext): Promise<string>;
14
21
  }
15
22
  //# sourceMappingURL=plugin-vscode-directory-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-vscode-directory-handler.d.ts","sourceRoot":"","sources":["../../src/node/plugin-vscode-directory-handler.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACH,8BAA8B,EAC9B,mBAAmB,EAAE,qCAAqC,EACjC,aAAa,EACzC,MAAM,mBAAmB,CAAC;AAE3B,qBACa,4BAA6B,YAAW,8BAA8B;IAE/E,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAKtC,MAAM,CAAC,OAAO,EAAE,qCAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAKlE,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAQ/D,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAKrE,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE;QAC5D,UAAU,EAAE,MAAM,CAAA;QAClB,GAAG,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;KACxC,GAAG,OAAO;IAiBX,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;CAQ1E"}
1
+ {"version":3,"file":"plugin-vscode-directory-handler.d.ts","sourceRoot":"","sources":["../../src/node/plugin-vscode-directory-handler.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACH,8BAA8B,EAAE,mBAAmB,EAAE,qCAAqC,EACjE,aAAa,EACzC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAEhG,qBACa,4BAA6B,YAAW,8BAA8B;IAE/E,SAAS,CAAC,QAAQ,CAAC,mBAAmB,2CAA+C;IAEtD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAEnF,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAK5C,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAIjE,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAIxD,MAAM,CAAC,OAAO,EAAE,qCAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;cAK3D,aAAa,CAAC,OAAO,EAAE,qCAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5F,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAKlE,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAQ/D,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAKrE,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE;QAC5D,UAAU,EAAE,MAAM,CAAA;QAClB,GAAG,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;KACxC,GAAG,OAAO;IAkBX,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;cAUvD,eAAe,CAAC,OAAO,EAAE,qCAAqC,GAAG,OAAO,CAAC,MAAM,CAAC;CAGnG"}
@@ -20,20 +20,64 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
20
20
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
21
  return c > 3 && r && Object.defineProperty(target, key, r), r;
22
22
  };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
23
26
  Object.defineProperty(exports, "__esModule", { value: true });
24
27
  exports.PluginVsCodeDirectoryHandler = void 0;
25
- const fs = require("@theia/core/shared/fs-extra");
26
28
  const path = require("path");
29
+ const filenamify = require("filenamify");
30
+ const fs = require("@theia/core/shared/fs-extra");
27
31
  const inversify_1 = require("@theia/core/shared/inversify");
28
32
  const plugin_ext_1 = require("@theia/plugin-ext");
33
+ const node_1 = require("@theia/core/lib/node");
34
+ const temp_dir_util_1 = require("@theia/plugin-ext/lib/main/node/temp-dir-util");
35
+ const plugin_cli_contribution_1 = require("@theia/plugin-ext/lib/main/node/plugin-cli-contribution");
29
36
  let PluginVsCodeDirectoryHandler = class PluginVsCodeDirectoryHandler {
37
+ constructor() {
38
+ this.deploymentDirectory = node_1.FileUri.create((0, temp_dir_util_1.getTempDir)('vscode-copied'));
39
+ }
30
40
  accept(plugin) {
31
41
  console.debug(`Resolving "${plugin.id()}" as a VS Code extension...`);
32
- return this.resolvePackage(plugin) || this.resolveFromSources(plugin) || this.resolveFromVSIX(plugin) || this.resolveFromNpmTarball(plugin);
42
+ return this.attemptResolution(plugin);
43
+ }
44
+ attemptResolution(plugin) {
45
+ return this.resolvePackage(plugin) || this.deriveMetadata(plugin);
46
+ }
47
+ deriveMetadata(plugin) {
48
+ return this.resolveFromSources(plugin) || this.resolveFromVSIX(plugin) || this.resolveFromNpmTarball(plugin);
33
49
  }
34
50
  async handle(context) {
51
+ await this.copyDirectory(context);
35
52
  context.pluginEntry().accept(plugin_ext_1.PluginDeployerEntryType.BACKEND);
36
53
  }
54
+ async copyDirectory(context) {
55
+ if (this.pluginCli.copyUncompressedPlugins() && context.pluginEntry().type === plugin_ext_1.PluginType.User) {
56
+ const entry = context.pluginEntry();
57
+ const id = entry.id();
58
+ const pathToRestore = entry.path();
59
+ const origin = entry.originalPath();
60
+ const targetDir = await this.getExtensionDir(context);
61
+ try {
62
+ if (fs.existsSync(targetDir) || !entry.path().startsWith(origin)) {
63
+ console.log(`[${id}]: already copied.`);
64
+ }
65
+ else {
66
+ console.log(`[${id}]: copying to "${targetDir}"`);
67
+ await fs.mkdirp(node_1.FileUri.fsPath(this.deploymentDirectory));
68
+ await context.copy(origin, targetDir);
69
+ entry.updatePath(targetDir);
70
+ if (!this.deriveMetadata(entry)) {
71
+ throw new Error('Unable to resolve plugin metadata after copying');
72
+ }
73
+ }
74
+ }
75
+ catch (e) {
76
+ console.warn(`[${id}]: Error when copying.`, e);
77
+ entry.updatePath(pathToRestore);
78
+ }
79
+ }
80
+ }
37
81
  resolveFromSources(plugin) {
38
82
  const pluginPath = plugin.path();
39
83
  return this.resolvePackage(plugin, { pluginPath, pck: this.requirePackage(pluginPath) });
@@ -50,6 +94,7 @@ let PluginVsCodeDirectoryHandler = class PluginVsCodeDirectoryHandler {
50
94
  return this.resolvePackage(plugin, { pluginPath, pck: this.requirePackage(pluginPath) });
51
95
  }
52
96
  resolvePackage(plugin, options) {
97
+ var _a;
53
98
  const { pluginPath, pck } = options || {
54
99
  pluginPath: plugin.path(),
55
100
  pck: plugin.getValue('package.json')
@@ -57,6 +102,7 @@ let PluginVsCodeDirectoryHandler = class PluginVsCodeDirectoryHandler {
57
102
  if (!pck || !pck.name || !pck.version || !pck.engines || !pck.engines.vscode) {
58
103
  return false;
59
104
  }
105
+ (_a = pck.publisher) !== null && _a !== void 0 ? _a : (pck.publisher = plugin_ext_1.PluginIdentifiers.UNPUBLISHED);
60
106
  if (options) {
61
107
  plugin.storeValue('package.json', pck);
62
108
  plugin.rootPath = plugin.path();
@@ -66,14 +112,24 @@ let PluginVsCodeDirectoryHandler = class PluginVsCodeDirectoryHandler {
66
112
  return true;
67
113
  }
68
114
  requirePackage(pluginPath) {
115
+ var _a;
69
116
  try {
70
- return fs.readJSONSync(path.join(pluginPath, 'package.json'));
117
+ const plugin = fs.readJSONSync(path.join(pluginPath, 'package.json'));
118
+ (_a = plugin.publisher) !== null && _a !== void 0 ? _a : (plugin.publisher = plugin_ext_1.PluginIdentifiers.UNPUBLISHED);
119
+ return plugin;
71
120
  }
72
- catch (_a) {
121
+ catch (_b) {
73
122
  return undefined;
74
123
  }
75
124
  }
125
+ async getExtensionDir(context) {
126
+ return node_1.FileUri.fsPath(this.deploymentDirectory.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
127
+ }
76
128
  };
129
+ __decorate([
130
+ (0, inversify_1.inject)(plugin_cli_contribution_1.PluginCliContribution),
131
+ __metadata("design:type", plugin_cli_contribution_1.PluginCliContribution)
132
+ ], PluginVsCodeDirectoryHandler.prototype, "pluginCli", void 0);
77
133
  PluginVsCodeDirectoryHandler = __decorate([
78
134
  (0, inversify_1.injectable)()
79
135
  ], PluginVsCodeDirectoryHandler);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-vscode-directory-handler.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-directory-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-vscode-directory-handler.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-directory-handler.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,10 @@ export declare class PluginVsCodeFileHandler implements PluginDeployerFileHandle
6
6
  accept(resolvedPlugin: PluginDeployerEntry): boolean;
7
7
  handle(context: PluginDeployerFileHandlerContext): Promise<void>;
8
8
  protected getExtensionDir(context: PluginDeployerFileHandlerContext): Promise<string>;
9
+ /**
10
+ * Ensures that a user-installed plugin file is transferred to the user extension folder.
11
+ */
12
+ protected ensureDiscoverability(context: PluginDeployerFileHandlerContext): Promise<void>;
9
13
  protected decompress(extensionDir: string, context: PluginDeployerFileHandlerContext): Promise<void>;
10
14
  }
11
15
  //# sourceMappingURL=plugin-vscode-file-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-vscode-file-handler.d.ts","sourceRoot":"","sources":["../../src/node/plugin-vscode-file-handler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,gCAAgC,EAAc,MAAM,mBAAmB,CAAC;AAMjI,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAG9E,qBACa,uBAAwB,YAAW,yBAAyB;IAGrE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;IAExD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiD;IAExF,MAAM,CAAC,cAAc,EAAE,mBAAmB,GAAG,OAAO;IAQ9C,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;cActD,eAAe,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC;cAQ3E,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;CAW7G"}
1
+ {"version":3,"file":"plugin-vscode-file-handler.d.ts","sourceRoot":"","sources":["../../src/node/plugin-vscode-file-handler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,gCAAgC,EAAc,MAAM,mBAAmB,CAAC;AAMjI,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAI9E,qBACa,uBAAwB,YAAW,yBAAyB;IAGrE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;IAExD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiD;IAExF,MAAM,CAAC,cAAc,EAAE,mBAAmB,GAAG,OAAO;IAQ9C,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;cAetD,eAAe,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3F;;OAEG;cACa,qBAAqB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;cAoB/E,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;CAW7G"}
@@ -33,6 +33,7 @@ const inversify_1 = require("@theia/core/shared/inversify");
33
33
  const temp_dir_util_1 = require("@theia/plugin-ext/lib/main/node/temp-dir-util");
34
34
  const plugin_vscode_environment_1 = require("../common/plugin-vscode-environment");
35
35
  const file_uri_1 = require("@theia/core/lib/node/file-uri");
36
+ const uri_1 = require("@theia/core/lib/common/uri");
36
37
  let PluginVsCodeFileHandler = class PluginVsCodeFileHandler {
37
38
  constructor() {
38
39
  this.systemExtensionsDirUri = file_uri_1.FileUri.create((0, temp_dir_util_1.getTempDir)('vscode-unpacked'));
@@ -45,6 +46,7 @@ let PluginVsCodeFileHandler = class PluginVsCodeFileHandler {
45
46
  return !!pluginPath && pluginPath.endsWith('.vsix') || pluginPath.endsWith('.tgz');
46
47
  }
47
48
  async handle(context) {
49
+ await this.ensureDiscoverability(context);
48
50
  const id = context.pluginEntry().id();
49
51
  const extensionDir = await this.getExtensionDir(context);
50
52
  console.log(`[${id}]: trying to decompress into "${extensionDir}"...`);
@@ -58,11 +60,30 @@ let PluginVsCodeFileHandler = class PluginVsCodeFileHandler {
58
60
  context.pluginEntry().updatePath(extensionDir);
59
61
  }
60
62
  async getExtensionDir(context) {
61
- let extensionsDirUri = this.systemExtensionsDirUri;
63
+ return file_uri_1.FileUri.fsPath(this.systemExtensionsDirUri.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
64
+ }
65
+ /**
66
+ * Ensures that a user-installed plugin file is transferred to the user extension folder.
67
+ */
68
+ async ensureDiscoverability(context) {
62
69
  if (context.pluginEntry().type === plugin_ext_1.PluginType.User) {
63
- extensionsDirUri = await this.environment.getExtensionsDirUri();
70
+ const userExtensionsDir = await this.environment.getExtensionsDirUri();
71
+ const currentPath = context.pluginEntry().path();
72
+ if (!userExtensionsDir.isEqualOrParent(new uri_1.default(currentPath)) && !userExtensionsDir.isEqualOrParent(new uri_1.default(context.pluginEntry().originalPath()))) {
73
+ try {
74
+ const newPath = file_uri_1.FileUri.fsPath(userExtensionsDir.resolve(path.basename(currentPath)));
75
+ await fs.mkdirp(file_uri_1.FileUri.fsPath(userExtensionsDir));
76
+ await new Promise((resolve, reject) => {
77
+ fs.copyFile(currentPath, newPath, error => error ? reject(error) : resolve());
78
+ });
79
+ context.pluginEntry().updatePath(newPath);
80
+ context.pluginEntry().storeValue('sourceLocations', [newPath]);
81
+ }
82
+ catch (e) {
83
+ console.error(`[${context.pluginEntry().id}]: Failed to copy to user directory. Future sessions may not have access to this plugin.`);
84
+ }
85
+ }
64
86
  }
65
- return file_uri_1.FileUri.fsPath(extensionsDirUri.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
66
87
  }
67
88
  async decompress(extensionDir, context) {
68
89
  await context.unzip(context.pluginEntry().path(), extensionDir);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-vscode-file-handler.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-file-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-vscode-file-handler.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-file-handler.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import { PluginScanner, PluginEngine, PluginPackage, PluginModel, PluginLifecycl
2
2
  import { TheiaPluginScanner } from '@theia/plugin-ext/lib/hosted/node/scanners/scanner-theia';
3
3
  export declare class VsCodePluginScanner extends TheiaPluginScanner implements PluginScanner {
4
4
  private readonly VSCODE_TYPE;
5
- private readonly VSCODE_PREFIX;
6
5
  get apiType(): PluginEngine;
7
6
  getModel(plugin: PluginPackage): PluginModel;
8
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"scanner-vscode.d.ts","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAqD,MAAM,mBAAmB,CAAC;AAChK,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAK9F,qBACa,mBAAoB,SAAQ,kBAAmB,YAAW,aAAa;IAEhF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAE7D,IAAa,OAAO,IAAI,YAAY,CAEnC;IAEQ,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW;IA0CrD;;OAEG;IACM,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAiBvE,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe;CAWhE"}
1
+ {"version":3,"file":"scanner-vscode.d.ts","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAwE,MAAM,mBAAmB,CAAC;AACnL,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAM9F,qBACa,mBAAoB,SAAQ,kBAAmB,YAAW,aAAa;IAEhF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAEtD,IAAa,OAAO,IAAI,YAAY,CAEnC;IAEQ,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW;IA0CrD;;OAEG;IACM,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAiBvE,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe;CAWhE"}
@@ -27,26 +27,26 @@ const inversify_1 = require("@theia/core/shared/inversify");
27
27
  const plugin_ext_1 = require("@theia/plugin-ext");
28
28
  const scanner_theia_1 = require("@theia/plugin-ext/lib/hosted/node/scanners/scanner-theia");
29
29
  const environment_1 = require("@theia/core/shared/@theia/application-package/lib/environment");
30
+ const plugin_vscode_uri_1 = require("../common/plugin-vscode-uri");
30
31
  const uiKind = environment_1.environment.electron.is() ? plugin_ext_1.UIKind.Desktop : plugin_ext_1.UIKind.Web;
31
32
  let VsCodePluginScanner = class VsCodePluginScanner extends scanner_theia_1.TheiaPluginScanner {
32
33
  constructor() {
33
34
  super(...arguments);
34
35
  this.VSCODE_TYPE = 'vscode';
35
- this.VSCODE_PREFIX = 'vscode:extension/';
36
36
  }
37
37
  get apiType() {
38
38
  return this.VSCODE_TYPE;
39
39
  }
40
40
  getModel(plugin) {
41
- var _a;
41
+ var _a, _b;
42
42
  // publisher can be empty on vscode extension development
43
- const publisher = plugin.publisher || '';
43
+ const publisher = (_a = plugin.publisher) !== null && _a !== void 0 ? _a : plugin_ext_1.PluginIdentifiers.UNPUBLISHED;
44
44
  // Only one entrypoint is valid in vscode extensions
45
45
  // Mimic choosing frontend (web extension) and backend (local/remote extension) as described here:
46
46
  // https://code.visualstudio.com/api/advanced-topics/extension-host#preferred-extension-location
47
47
  const entryPoint = {};
48
48
  // Act like codespaces when run in the browser (UIKind === 'web' and extensionKind is ['ui'])
49
- const preferFrontend = uiKind === plugin_ext_1.UIKind.Web && (((_a = plugin.extensionKind) === null || _a === void 0 ? void 0 : _a.length) === 1 && plugin.extensionKind[0] === 'ui');
49
+ const preferFrontend = uiKind === plugin_ext_1.UIKind.Web && (((_b = plugin.extensionKind) === null || _b === void 0 ? void 0 : _b.length) === 1 && plugin.extensionKind[0] === 'ui');
50
50
  if (plugin.browser && (!plugin.main || preferFrontend)) {
51
51
  // Use frontend if available and there is no backend or frontend is preferred
52
52
  entryPoint.frontend = plugin.browser;
@@ -88,7 +88,7 @@ let VsCodePluginScanner = class VsCodePluginScanner extends scanner_theia_1.Thei
88
88
  // Iterate over the list of dependencies present, and add them to the collection.
89
89
  dependency.forEach((dep) => {
90
90
  const dependencyId = dep.toLowerCase();
91
- dependencies.set(dependencyId, this.VSCODE_PREFIX + dependencyId);
91
+ dependencies.set(dependencyId, plugin_vscode_uri_1.VSCodeExtensionUri.toVsxExtensionUriString(dependencyId));
92
92
  });
93
93
  }
94
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scanner-vscode.js","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner-vscode.js","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@theia/plugin-ext-vscode",
3
- "version": "1.27.0-next.8+e1e200a7bfb",
3
+ "version": "1.28.0-next.0+f35df816abc",
4
4
  "description": "Theia - Plugin Extension for VsCode",
5
5
  "dependencies": {
6
- "@theia/callhierarchy": "1.27.0-next.8+e1e200a7bfb",
7
- "@theia/core": "1.27.0-next.8+e1e200a7bfb",
8
- "@theia/editor": "1.27.0-next.8+e1e200a7bfb",
9
- "@theia/filesystem": "1.27.0-next.8+e1e200a7bfb",
10
- "@theia/monaco": "1.27.0-next.8+e1e200a7bfb",
6
+ "@theia/callhierarchy": "1.28.0-next.0+f35df816abc",
7
+ "@theia/core": "1.28.0-next.0+f35df816abc",
8
+ "@theia/editor": "1.28.0-next.0+f35df816abc",
9
+ "@theia/filesystem": "1.28.0-next.0+f35df816abc",
10
+ "@theia/monaco": "1.28.0-next.0+f35df816abc",
11
11
  "@theia/monaco-editor-core": "1.65.2",
12
- "@theia/navigator": "1.27.0-next.8+e1e200a7bfb",
13
- "@theia/plugin": "1.27.0-next.8+e1e200a7bfb",
14
- "@theia/plugin-ext": "1.27.0-next.8+e1e200a7bfb",
15
- "@theia/terminal": "1.27.0-next.8+e1e200a7bfb",
16
- "@theia/userstorage": "1.27.0-next.8+e1e200a7bfb",
17
- "@theia/workspace": "1.27.0-next.8+e1e200a7bfb",
12
+ "@theia/navigator": "1.28.0-next.0+f35df816abc",
13
+ "@theia/plugin": "1.28.0-next.0+f35df816abc",
14
+ "@theia/plugin-ext": "1.28.0-next.0+f35df816abc",
15
+ "@theia/terminal": "1.28.0-next.0+f35df816abc",
16
+ "@theia/userstorage": "1.28.0-next.0+f35df816abc",
17
+ "@theia/workspace": "1.28.0-next.0+f35df816abc",
18
18
  "@types/request": "^2.0.3",
19
19
  "filenamify": "^4.1.0",
20
20
  "request": "^2.82.0"
@@ -53,10 +53,10 @@
53
53
  "watch": "theiaext watch"
54
54
  },
55
55
  "devDependencies": {
56
- "@theia/ext-scripts": "1.26.0"
56
+ "@theia/ext-scripts": "1.27.0"
57
57
  },
58
58
  "nyc": {
59
59
  "extends": "../../configs/nyc.json"
60
60
  },
61
- "gitHead": "e1e200a7bfb9c7b9b87bf63dd8e101e734281222"
61
+ "gitHead": "f35df816abc8e85717175ad1243e58f87bdf4a71"
62
62
  }
@@ -78,6 +78,7 @@ import { CustomEditorOpener } from '@theia/plugin-ext/lib/main/browser/custom-ed
78
78
  import { nls } from '@theia/core/lib/common/nls';
79
79
  import { WindowService } from '@theia/core/lib/browser/window/window-service';
80
80
  import * as monaco from '@theia/monaco-editor-core';
81
+ import { VSCodeExtensionUri } from '../common/plugin-vscode-uri';
81
82
 
82
83
  export namespace VscodeCommands {
83
84
  export const OPEN: Command = {
@@ -101,6 +102,42 @@ export namespace VscodeCommands {
101
102
  };
102
103
  }
103
104
 
105
+ // https://wicg.github.io/webusb/
106
+
107
+ export interface UsbDeviceData {
108
+ readonly deviceClass: number;
109
+ readonly deviceProtocol: number;
110
+ readonly deviceSubclass: number;
111
+ readonly deviceVersionMajor: number;
112
+ readonly deviceVersionMinor: number;
113
+ readonly deviceVersionSubminor: number;
114
+ readonly manufacturerName?: string;
115
+ readonly productId: number;
116
+ readonly productName?: string;
117
+ readonly serialNumber?: string;
118
+ readonly usbVersionMajor: number;
119
+ readonly usbVersionMinor: number;
120
+ readonly usbVersionSubminor: number;
121
+ readonly vendorId: number;
122
+ }
123
+
124
+ // https://wicg.github.io/serial/
125
+
126
+ export interface SerialPortData {
127
+ readonly usbVendorId?: number | undefined;
128
+ readonly usbProductId?: number | undefined;
129
+ }
130
+
131
+ // https://wicg.github.io/webhid/
132
+
133
+ export interface HidDeviceData {
134
+ readonly opened: boolean;
135
+ readonly vendorId: number;
136
+ readonly productId: number;
137
+ readonly productName: string;
138
+ readonly collections: [];
139
+ }
140
+
104
141
  @injectable()
105
142
  export class PluginVscodeCommandsContribution implements CommandContribution {
106
143
  @inject(CommandService)
@@ -305,7 +342,7 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
305
342
  commands.registerCommand({ id: VscodeCommands.INSTALL_FROM_VSIX.id }, {
306
343
  execute: async (vsixUriOrExtensionId: TheiaURI | UriComponents | string) => {
307
344
  if (typeof vsixUriOrExtensionId === 'string') {
308
- await this.pluginServer.deploy(`vscode:extension/${vsixUriOrExtensionId}`);
345
+ await this.pluginServer.deploy(VSCodeExtensionUri.toVsxExtensionUriString(vsixUriOrExtensionId));
309
346
  } else {
310
347
  const uriPath = isUriComponents(vsixUriOrExtensionId) ? URI.revive(vsixUriOrExtensionId).fsPath : await this.fileService.fsPath(vsixUriOrExtensionId);
311
348
  await this.pluginServer.deploy(`local-file:${uriPath}`);
@@ -725,6 +762,86 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
725
762
  }
726
763
  }
727
764
  });
765
+
766
+ commands.registerCommand({
767
+ id: 'workbench.experimental.requestUsbDevice'
768
+ }, {
769
+ execute: async (options?: { filters?: unknown[] }): Promise<UsbDeviceData | undefined> => {
770
+ const usb = (navigator as any).usb;
771
+ if (!usb) {
772
+ return undefined;
773
+ }
774
+
775
+ const device = await usb.requestDevice({ filters: options?.filters ?? [] });
776
+ if (!device) {
777
+ return undefined;
778
+ }
779
+
780
+ return {
781
+ deviceClass: device.deviceClass,
782
+ deviceProtocol: device.deviceProtocol,
783
+ deviceSubclass: device.deviceSubclass,
784
+ deviceVersionMajor: device.deviceVersionMajor,
785
+ deviceVersionMinor: device.deviceVersionMinor,
786
+ deviceVersionSubminor: device.deviceVersionSubminor,
787
+ manufacturerName: device.manufacturerName,
788
+ productId: device.productId,
789
+ productName: device.productName,
790
+ serialNumber: device.serialNumber,
791
+ usbVersionMajor: device.usbVersionMajor,
792
+ usbVersionMinor: device.usbVersionMinor,
793
+ usbVersionSubminor: device.usbVersionSubminor,
794
+ vendorId: device.vendorId,
795
+ };
796
+ }
797
+ });
798
+
799
+ commands.registerCommand({
800
+ id: 'workbench.experimental.requestSerialPort'
801
+ }, {
802
+ execute: async (options?: { filters?: unknown[] }): Promise<SerialPortData | undefined> => {
803
+ const serial = (navigator as any).serial;
804
+ if (!serial) {
805
+ return undefined;
806
+ }
807
+
808
+ const port = await serial.requestPort({ filters: options?.filters ?? [] });
809
+ if (!port) {
810
+ return undefined;
811
+ }
812
+
813
+ const info = port.getInfo();
814
+ return {
815
+ usbVendorId: info.usbVendorId,
816
+ usbProductId: info.usbProductId
817
+ };
818
+ }
819
+ });
820
+
821
+ commands.registerCommand({
822
+ id: 'workbench.experimental.requestHidDevice'
823
+ }, {
824
+ execute: async (options?: { filters?: unknown[] }): Promise<HidDeviceData | undefined> => {
825
+ const hid = (navigator as any).hid;
826
+ if (!hid) {
827
+ return undefined;
828
+ }
829
+
830
+ const devices = await hid.requestDevice({ filters: options?.filters ?? [] });
831
+ if (!devices.length) {
832
+ return undefined;
833
+ }
834
+
835
+ const device = devices[0];
836
+ return {
837
+ opened: device.opened,
838
+ vendorId: device.vendorId,
839
+ productId: device.productId,
840
+ productName: device.productName,
841
+ collections: device.collections
842
+ };
843
+ }
844
+ });
728
845
  }
729
846
 
730
847
  protected async getCallHierarchyServiceForUri(resource: URI): Promise<CallHierarchyService | undefined> {
@@ -0,0 +1,47 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2022 Ericsson and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import URI from '@theia/core/lib/common/uri';
18
+
19
+ /**
20
+ * Static methods for identifying a plugin as the target of the VSCode deployment system.
21
+ * In practice, this means that it will be resolved and deployed by the Open-VSX system.
22
+ */
23
+ export namespace VSCodeExtensionUri {
24
+ export const VSCODE_PREFIX = 'vscode:extension/';
25
+ /**
26
+ * Should be used to prefix a plugin's ID to ensure that it is identified as a VSX Extension.
27
+ * @returns `vscode:extension/${id}`
28
+ */
29
+ export function toVsxExtensionUriString(id: string): string {
30
+ return `${VSCODE_PREFIX}${id}`;
31
+ }
32
+ export function toUri(name: string, namespace: string): URI;
33
+ export function toUri(id: string): URI;
34
+ export function toUri(idOrName: string, namespace?: string): URI {
35
+ if (typeof namespace === 'string') {
36
+ return new URI(toVsxExtensionUriString(`${namespace}.${idOrName}`));
37
+ } else {
38
+ return new URI(toVsxExtensionUriString(idOrName));
39
+ }
40
+ }
41
+ export function toId(uri: URI): string | undefined {
42
+ if (uri.scheme === 'vscode' && uri.path.dir.toString() === 'extension') {
43
+ return uri.path.base;
44
+ }
45
+ return undefined;
46
+ }
47
+ }
@@ -14,28 +14,70 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import * as fs from '@theia/core/shared/fs-extra';
18
17
  import * as path from 'path';
19
- import { injectable } from '@theia/core/shared/inversify';
18
+ import * as filenamify from 'filenamify';
19
+ import * as fs from '@theia/core/shared/fs-extra';
20
+ import { inject, injectable } from '@theia/core/shared/inversify';
20
21
  import { RecursivePartial } from '@theia/core';
21
22
  import {
22
- PluginDeployerDirectoryHandler,
23
- PluginDeployerEntry, PluginDeployerDirectoryHandlerContext,
24
- PluginDeployerEntryType, PluginPackage
23
+ PluginDeployerDirectoryHandler, PluginDeployerEntry, PluginDeployerDirectoryHandlerContext,
24
+ PluginDeployerEntryType, PluginPackage, PluginType, PluginIdentifiers
25
25
  } from '@theia/plugin-ext';
26
+ import { FileUri } from '@theia/core/lib/node';
27
+ import { getTempDir } from '@theia/plugin-ext/lib/main/node/temp-dir-util';
28
+ import { PluginCliContribution } from '@theia/plugin-ext/lib/main/node/plugin-cli-contribution';
26
29
 
27
30
  @injectable()
28
31
  export class PluginVsCodeDirectoryHandler implements PluginDeployerDirectoryHandler {
29
32
 
33
+ protected readonly deploymentDirectory = FileUri.create(getTempDir('vscode-copied'));
34
+
35
+ @inject(PluginCliContribution) protected readonly pluginCli: PluginCliContribution;
36
+
30
37
  accept(plugin: PluginDeployerEntry): boolean {
31
38
  console.debug(`Resolving "${plugin.id()}" as a VS Code extension...`);
32
- return this.resolvePackage(plugin) || this.resolveFromSources(plugin) || this.resolveFromVSIX(plugin) || this.resolveFromNpmTarball(plugin);
39
+ return this.attemptResolution(plugin);
40
+ }
41
+
42
+ protected attemptResolution(plugin: PluginDeployerEntry): boolean {
43
+ return this.resolvePackage(plugin) || this.deriveMetadata(plugin);
44
+ }
45
+
46
+ protected deriveMetadata(plugin: PluginDeployerEntry): boolean {
47
+ return this.resolveFromSources(plugin) || this.resolveFromVSIX(plugin) || this.resolveFromNpmTarball(plugin);
33
48
  }
34
49
 
35
50
  async handle(context: PluginDeployerDirectoryHandlerContext): Promise<void> {
51
+ await this.copyDirectory(context);
36
52
  context.pluginEntry().accept(PluginDeployerEntryType.BACKEND);
37
53
  }
38
54
 
55
+ protected async copyDirectory(context: PluginDeployerDirectoryHandlerContext): Promise<void> {
56
+ if (this.pluginCli.copyUncompressedPlugins() && context.pluginEntry().type === PluginType.User) {
57
+ const entry = context.pluginEntry();
58
+ const id = entry.id();
59
+ const pathToRestore = entry.path();
60
+ const origin = entry.originalPath();
61
+ const targetDir = await this.getExtensionDir(context);
62
+ try {
63
+ if (fs.existsSync(targetDir) || !entry.path().startsWith(origin)) {
64
+ console.log(`[${id}]: already copied.`);
65
+ } else {
66
+ console.log(`[${id}]: copying to "${targetDir}"`);
67
+ await fs.mkdirp(FileUri.fsPath(this.deploymentDirectory));
68
+ await context.copy(origin, targetDir);
69
+ entry.updatePath(targetDir);
70
+ if (!this.deriveMetadata(entry)) {
71
+ throw new Error('Unable to resolve plugin metadata after copying');
72
+ }
73
+ }
74
+ } catch (e) {
75
+ console.warn(`[${id}]: Error when copying.`, e);
76
+ entry.updatePath(pathToRestore);
77
+ }
78
+ }
79
+ }
80
+
39
81
  protected resolveFromSources(plugin: PluginDeployerEntry): boolean {
40
82
  const pluginPath = plugin.path();
41
83
  return this.resolvePackage(plugin, { pluginPath, pck: this.requirePackage(pluginPath) });
@@ -65,6 +107,7 @@ export class PluginVsCodeDirectoryHandler implements PluginDeployerDirectoryHand
65
107
  if (!pck || !pck.name || !pck.version || !pck.engines || !pck.engines.vscode) {
66
108
  return false;
67
109
  }
110
+ pck.publisher ??= PluginIdentifiers.UNPUBLISHED;
68
111
  if (options) {
69
112
  plugin.storeValue('package.json', pck);
70
113
  plugin.rootPath = plugin.path();
@@ -76,10 +119,15 @@ export class PluginVsCodeDirectoryHandler implements PluginDeployerDirectoryHand
76
119
 
77
120
  protected requirePackage(pluginPath: string): PluginPackage | undefined {
78
121
  try {
79
- return fs.readJSONSync(path.join(pluginPath, 'package.json'));
122
+ const plugin = fs.readJSONSync(path.join(pluginPath, 'package.json')) as PluginPackage;
123
+ plugin.publisher ??= PluginIdentifiers.UNPUBLISHED;
124
+ return plugin;
80
125
  } catch {
81
126
  return undefined;
82
127
  }
83
128
  }
84
129
 
130
+ protected async getExtensionDir(context: PluginDeployerDirectoryHandlerContext): Promise<string> {
131
+ return FileUri.fsPath(this.deploymentDirectory.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
132
+ }
85
133
  }
@@ -22,6 +22,7 @@ import { injectable, inject } from '@theia/core/shared/inversify';
22
22
  import { getTempDir } from '@theia/plugin-ext/lib/main/node/temp-dir-util';
23
23
  import { PluginVSCodeEnvironment } from '../common/plugin-vscode-environment';
24
24
  import { FileUri } from '@theia/core/lib/node/file-uri';
25
+ import URI from '@theia/core/lib/common/uri';
25
26
 
26
27
  @injectable()
27
28
  export class PluginVsCodeFileHandler implements PluginDeployerFileHandler {
@@ -40,6 +41,7 @@ export class PluginVsCodeFileHandler implements PluginDeployerFileHandler {
40
41
  }
41
42
 
42
43
  async handle(context: PluginDeployerFileHandlerContext): Promise<void> {
44
+ await this.ensureDiscoverability(context);
43
45
  const id = context.pluginEntry().id();
44
46
  const extensionDir = await this.getExtensionDir(context);
45
47
  console.log(`[${id}]: trying to decompress into "${extensionDir}"...`);
@@ -54,11 +56,30 @@ export class PluginVsCodeFileHandler implements PluginDeployerFileHandler {
54
56
  }
55
57
 
56
58
  protected async getExtensionDir(context: PluginDeployerFileHandlerContext): Promise<string> {
57
- let extensionsDirUri = this.systemExtensionsDirUri;
59
+ return FileUri.fsPath(this.systemExtensionsDirUri.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
60
+ }
61
+
62
+ /**
63
+ * Ensures that a user-installed plugin file is transferred to the user extension folder.
64
+ */
65
+ protected async ensureDiscoverability(context: PluginDeployerFileHandlerContext): Promise<void> {
58
66
  if (context.pluginEntry().type === PluginType.User) {
59
- extensionsDirUri = await this.environment.getExtensionsDirUri();
67
+ const userExtensionsDir = await this.environment.getExtensionsDirUri();
68
+ const currentPath = context.pluginEntry().path();
69
+ if (!userExtensionsDir.isEqualOrParent(new URI(currentPath)) && !userExtensionsDir.isEqualOrParent(new URI(context.pluginEntry().originalPath()))) {
70
+ try {
71
+ const newPath = FileUri.fsPath(userExtensionsDir.resolve(path.basename(currentPath)));
72
+ await fs.mkdirp(FileUri.fsPath(userExtensionsDir));
73
+ await new Promise<void>((resolve, reject) => {
74
+ fs.copyFile(currentPath, newPath, error => error ? reject(error) : resolve());
75
+ });
76
+ context.pluginEntry().updatePath(newPath);
77
+ context.pluginEntry().storeValue('sourceLocations', [newPath]);
78
+ } catch (e) {
79
+ console.error(`[${context.pluginEntry().id}]: Failed to copy to user directory. Future sessions may not have access to this plugin.`);
80
+ }
81
+ }
60
82
  }
61
- return FileUri.fsPath(extensionsDirUri.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
62
83
  }
63
84
 
64
85
  protected async decompress(extensionDir: string, context: PluginDeployerFileHandlerContext): Promise<void> {
@@ -16,9 +16,10 @@
16
16
 
17
17
  import * as path from 'path';
18
18
  import { injectable } from '@theia/core/shared/inversify';
19
- import { PluginScanner, PluginEngine, PluginPackage, PluginModel, PluginLifecycle, PluginEntryPoint, buildFrontendModuleName, UIKind } from '@theia/plugin-ext';
19
+ import { PluginScanner, PluginEngine, PluginPackage, PluginModel, PluginLifecycle, PluginEntryPoint, buildFrontendModuleName, UIKind, PluginIdentifiers } from '@theia/plugin-ext';
20
20
  import { TheiaPluginScanner } from '@theia/plugin-ext/lib/hosted/node/scanners/scanner-theia';
21
21
  import { environment } from '@theia/core/shared/@theia/application-package/lib/environment';
22
+ import { VSCodeExtensionUri } from '../common/plugin-vscode-uri';
22
23
 
23
24
  const uiKind = environment.electron.is() ? UIKind.Desktop : UIKind.Web;
24
25
 
@@ -26,7 +27,6 @@ const uiKind = environment.electron.is() ? UIKind.Desktop : UIKind.Web;
26
27
  export class VsCodePluginScanner extends TheiaPluginScanner implements PluginScanner {
27
28
 
28
29
  private readonly VSCODE_TYPE: PluginEngine = 'vscode';
29
- private readonly VSCODE_PREFIX: string = 'vscode:extension/';
30
30
 
31
31
  override get apiType(): PluginEngine {
32
32
  return this.VSCODE_TYPE;
@@ -34,7 +34,7 @@ export class VsCodePluginScanner extends TheiaPluginScanner implements PluginSca
34
34
 
35
35
  override getModel(plugin: PluginPackage): PluginModel {
36
36
  // publisher can be empty on vscode extension development
37
- const publisher = plugin.publisher || '';
37
+ const publisher = plugin.publisher ?? PluginIdentifiers.UNPUBLISHED;
38
38
 
39
39
  // Only one entrypoint is valid in vscode extensions
40
40
  // Mimic choosing frontend (web extension) and backend (local/remote extension) as described here:
@@ -86,7 +86,7 @@ export class VsCodePluginScanner extends TheiaPluginScanner implements PluginSca
86
86
  // Iterate over the list of dependencies present, and add them to the collection.
87
87
  dependency.forEach((dep: string) => {
88
88
  const dependencyId = dep.toLowerCase();
89
- dependencies.set(dependencyId, this.VSCODE_PREFIX + dependencyId);
89
+ dependencies.set(dependencyId, VSCodeExtensionUri.toVsxExtensionUriString(dependencyId));
90
90
  });
91
91
  }
92
92
  }