@codingame/monaco-vscode-remote-agent-service-override 28.4.1 → 29.1.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-remote-agent-service-override",
3
- "version": "28.4.1",
3
+ "version": "29.1.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - remote-agent service-override",
6
6
  "keywords": [],
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-api": "28.4.1",
19
- "@codingame/monaco-vscode-environment-service-override": "28.4.1"
18
+ "@codingame/monaco-vscode-api": "29.1.0",
19
+ "@codingame/monaco-vscode-environment-service-override": "29.1.0"
20
20
  },
21
21
  "main": "index.js",
22
22
  "module": "index.js",
@@ -14,5 +14,5 @@ export declare class DownloadServiceChannelClient implements IDownloadService {
14
14
  private getUriTransformer;
15
15
  readonly _serviceBrand: undefined;
16
16
  constructor(channel: IChannel, getUriTransformer: () => IURITransformer | null);
17
- download(from: URI, to: URI): Promise<void>;
17
+ download(from: URI, to: URI, _callSite?: string): Promise<void>;
18
18
  }
@@ -11,7 +11,7 @@ class DownloadServiceChannel {
11
11
  call(context, command, args) {
12
12
  switch (command) {
13
13
  case "download":
14
- return this.service.download(URI.revive(args[0]), URI.revive(args[1]));
14
+ return this.service.download(URI.revive(args[0]), URI.revive(args[1]), args[2] ?? "downloadIpc");
15
15
  }
16
16
  throw ( new Error("Invalid call"));
17
17
  }
@@ -30,7 +30,7 @@ export interface IWebSocket {
30
30
  readonly onClose: Event<IWebSocketCloseEvent | void>;
31
31
  readonly onError: Event<unknown>;
32
32
  traceSocketEvent?(type: SocketDiagnosticsEventType, data?: VSBuffer | Uint8Array | ArrayBuffer | ArrayBufferView | unknown): void;
33
- send(data: ArrayBuffer | ArrayBufferView): void;
33
+ send(data: ArrayBuffer | ArrayBufferView<ArrayBuffer>): void;
34
34
  close(): void;
35
35
  }
36
36
  export declare class BrowserSocketFactory implements ISocketFactory<RemoteConnectionType.WebSocket> {
@@ -35,7 +35,7 @@ let SwitchRemoteViewItem = class SwitchRemoteViewItem extends Disposable {
35
35
  this.switchRemoteMenu = MenuId.for("workbench.remote.menu.switchRemoteMenu");
36
36
  this._register(MenuRegistry.appendMenuItem(MenuId.ViewContainerTitle, {
37
37
  submenu: this.switchRemoteMenu,
38
- title: ( localize(11688, "Switch Remote")),
38
+ title: ( localize(11937, "Switch Remote")),
39
39
  group: "navigation",
40
40
  when: ( ContextKeyExpr.equals("viewContainer", VIEWLET_ID)),
41
41
  order: 1,
@@ -132,27 +132,27 @@ class HelpModel extends Disposable {
132
132
  const getStarted = this.viewModel.helpInformation.filter(info => info.getStarted);
133
133
  if (getStarted.length) {
134
134
  const helpItemValues = ( getStarted.map(info => this.createHelpItemValue(info, "getStarted")));
135
- const getStartedHelpItem = this.items?.find(item => item.icon === getStartedIcon) ?? ( new GetStartedHelpItem(getStartedIcon, ( localize(11689, "Get Started")), helpItemValues, this.quickInputService, this.environmentService, this.openerService, this.remoteExplorerService, this.workspaceContextService, this.commandService));
135
+ const getStartedHelpItem = this.items?.find(item => item.icon === getStartedIcon) ?? ( new GetStartedHelpItem(getStartedIcon, ( localize(11938, "Get Started")), helpItemValues, this.quickInputService, this.environmentService, this.openerService, this.remoteExplorerService, this.workspaceContextService, this.commandService));
136
136
  getStartedHelpItem.values = helpItemValues;
137
137
  helpItems.push(getStartedHelpItem);
138
138
  }
139
139
  const documentation = this.viewModel.helpInformation.filter(info => info.documentation);
140
140
  if (documentation.length) {
141
141
  const helpItemValues = ( documentation.map(info => this.createHelpItemValue(info, "documentation")));
142
- const documentationHelpItem = this.items?.find(item => item.icon === documentationIcon) ?? ( new HelpItem(documentationIcon, ( localize(11690, "Read Documentation")), helpItemValues, this.quickInputService, this.environmentService, this.openerService, this.remoteExplorerService, this.workspaceContextService));
142
+ const documentationHelpItem = this.items?.find(item => item.icon === documentationIcon) ?? ( new HelpItem(documentationIcon, ( localize(11939, "Read Documentation")), helpItemValues, this.quickInputService, this.environmentService, this.openerService, this.remoteExplorerService, this.workspaceContextService));
143
143
  documentationHelpItem.values = helpItemValues;
144
144
  helpItems.push(documentationHelpItem);
145
145
  }
146
146
  const issues = this.viewModel.helpInformation.filter(info => info.issues);
147
147
  if (issues.length) {
148
148
  const helpItemValues = ( issues.map(info => this.createHelpItemValue(info, "issues")));
149
- const reviewIssuesHelpItem = this.items?.find(item => item.icon === reviewIssuesIcon) ?? ( new HelpItem(reviewIssuesIcon, ( localize(11691, "Review Issues")), helpItemValues, this.quickInputService, this.environmentService, this.openerService, this.remoteExplorerService, this.workspaceContextService));
149
+ const reviewIssuesHelpItem = this.items?.find(item => item.icon === reviewIssuesIcon) ?? ( new HelpItem(reviewIssuesIcon, ( localize(11940, "Review Issues")), helpItemValues, this.quickInputService, this.environmentService, this.openerService, this.remoteExplorerService, this.workspaceContextService));
150
150
  reviewIssuesHelpItem.values = helpItemValues;
151
151
  helpItems.push(reviewIssuesHelpItem);
152
152
  }
153
153
  if (helpItems.length) {
154
154
  const helpItemValues = ( this.viewModel.helpInformation.map(info => this.createHelpItemValue(info, "reportIssue")));
155
- const issueReporterItem = this.items?.find(item => item.icon === reportIssuesIcon) ?? ( new IssueReporterItem(reportIssuesIcon, ( localize(11692, "Report Issue")), helpItemValues, this.quickInputService, this.environmentService, this.commandService, this.openerService, this.remoteExplorerService, this.workspaceContextService));
155
+ const issueReporterItem = this.items?.find(item => item.icon === reportIssuesIcon) ?? ( new IssueReporterItem(reportIssuesIcon, ( localize(11941, "Report Issue")), helpItemValues, this.quickInputService, this.environmentService, this.commandService, this.openerService, this.remoteExplorerService, this.workspaceContextService));
156
156
  issueReporterItem.values = helpItemValues;
157
157
  helpItems.push(issueReporterItem);
158
158
  }
@@ -281,7 +281,7 @@ class HelpItemBase {
281
281
  const actions = await this.getActions();
282
282
  if (actions.length) {
283
283
  const action = await this.quickInputService.pick(actions, {
284
- placeHolder: ( localize(11693, "Select url to open"))
284
+ placeHolder: ( localize(11942, "Select url to open"))
285
285
  });
286
286
  if (action) {
287
287
  await this.takeAction(action.extensionDescription, action.url);
@@ -404,7 +404,7 @@ let HelpPanel = class HelpPanel extends ViewPane {
404
404
  this.ID = "~remote.helpPanel";
405
405
  }
406
406
  static {
407
- this.TITLE = ( localize2(11694, "Help and feedback"));
407
+ this.TITLE = ( localize2(11943, "Help and feedback"));
408
408
  }
409
409
  constructor(
410
410
  viewModel,
@@ -456,7 +456,7 @@ let HelpPanel = class HelpPanel extends ViewPane {
456
456
  getAriaLabel: item => {
457
457
  return item.label;
458
458
  },
459
- getWidgetAriaLabel: () => ( localize(11695, "Remote Help"))
459
+ getWidgetAriaLabel: () => ( localize(11944, "Remote Help"))
460
460
  }
461
461
  });
462
462
  const model = this._register(( new HelpModel(
@@ -576,7 +576,7 @@ let RemoteViewPaneContainer = class RemoteViewPaneContainer extends FilterViewPa
576
576
  }
577
577
  }
578
578
  _handleRemoteInfoExtensionPoint(extension, helpInformation) {
579
- if (!isProposedApiEnabled(extension.description, "contribRemoteHelp")) {
579
+ if (!isProposedApiEnabled(extension.description)) {
580
580
  return;
581
581
  }
582
582
  if (!extension.value.documentation && !extension.value.getStarted && !extension.value.issues) {
@@ -599,14 +599,14 @@ let RemoteViewPaneContainer = class RemoteViewPaneContainer extends FilterViewPa
599
599
  this.remoteExplorerService.targetType = isStringArray(viewDescriptor.remoteAuthority) ? viewDescriptor.remoteAuthority : [viewDescriptor.remoteAuthority];
600
600
  }
601
601
  getTitle() {
602
- const title = ( localize(11696, "Remote Explorer"));
602
+ const title = ( localize(11945, "Remote Explorer"));
603
603
  return title;
604
604
  }
605
605
  };
606
606
  RemoteViewPaneContainer = ( __decorate([( __param(0, IWorkbenchLayoutService)), ( __param(1, ITelemetryService)), ( __param(2, IWorkspaceContextService)), ( __param(3, IStorageService)), ( __param(4, IConfigurationService)), ( __param(5, IInstantiationService)), ( __param(6, IThemeService)), ( __param(7, IContextMenuService)), ( __param(8, IExtensionService)), ( __param(9, IRemoteExplorerService)), ( __param(10, IViewDescriptorService)), ( __param(11, ILogService))], RemoteViewPaneContainer));
607
607
  ( Registry.as(Extensions.ViewContainersRegistry)).registerViewContainer({
608
608
  id: VIEWLET_ID,
609
- title: ( localize2(11696, "Remote Explorer")),
609
+ title: ( localize2(11945, "Remote Explorer")),
610
610
  ctorDescriptor: ( new SyncDescriptor(RemoteViewPaneContainer)),
611
611
  hideIfEmpty: true,
612
612
  viewOrderDelegate: {
@@ -717,9 +717,9 @@ class ReconnectionTimer {
717
717
  }
718
718
  const remainingTime = Math.ceil(remainingTimeMs / 1000);
719
719
  if (remainingTime === 1) {
720
- this._parent.report(( localize(11697, "Attempting to reconnect in {0} second...", remainingTime)));
720
+ this._parent.report(( localize(11946, "Attempting to reconnect in {0} second...", remainingTime)));
721
721
  } else {
722
- this._parent.report(( localize(11698, "Attempting to reconnect in {0} seconds...", remainingTime)));
722
+ this._parent.report(( localize(11947, "Attempting to reconnect in {0} seconds...", remainingTime)));
723
723
  }
724
724
  }
725
725
  }
@@ -775,13 +775,13 @@ let RemoteAgentConnectionStatusListener = class RemoteAgentConnectionStatusListe
775
775
  let lastIncomingDataTime = 0;
776
776
  let reconnectionAttempts = 0;
777
777
  const reconnectButton = {
778
- label: ( localize(11699, "Reconnect Now")),
778
+ label: ( localize(11948, "Reconnect Now")),
779
779
  callback: () => {
780
780
  reconnectWaitEvent?.skipWait();
781
781
  }
782
782
  };
783
783
  const reloadButton = {
784
- label: ( localize(11700, "Reload Window")),
784
+ label: ( localize(11949, "Reload Window")),
785
785
  callback: () => {
786
786
  telemetryService.publicLog2("remoteReconnectionReload", {
787
787
  remoteName: getRemoteName(environmentService.remoteAuthority),
@@ -808,7 +808,7 @@ let RemoteAgentConnectionStatusListener = class RemoteAgentConnectionStatusListe
808
808
  if (!visibleProgress) {
809
809
  visibleProgress = showProgress(null, [reconnectButton, reloadButton]);
810
810
  }
811
- visibleProgress.report(( localize(11701, "Connection Lost")));
811
+ visibleProgress.report(( localize(11950, "Connection Lost")));
812
812
  }
813
813
  break;
814
814
  case PersistentConnectionEventType.ReconnectionWait:
@@ -830,7 +830,7 @@ let RemoteAgentConnectionStatusListener = class RemoteAgentConnectionStatusListe
830
830
  });
831
831
  if (visibleProgress || e.millisSinceLastIncomingData > DISCONNECT_PROMPT_TIME) {
832
832
  visibleProgress = showProgress(null, [reloadButton]);
833
- visibleProgress.report(( localize(11702, "Disconnected. Attempting to reconnect...")));
833
+ visibleProgress.report(( localize(11951, "Disconnected. Attempting to reconnect...")));
834
834
  disposableListener.value = quickInputService.onShow(() => {
835
835
  if (visibleProgress && visibleProgress.location === ProgressLocation.Dialog) {
836
836
  visibleProgress = showProgress(ProgressLocation.Notification, [reloadButton], visibleProgress.lastReport);
@@ -852,13 +852,12 @@ let RemoteAgentConnectionStatusListener = class RemoteAgentConnectionStatusListe
852
852
  hideProgress();
853
853
  if (e.handled) {
854
854
  logService.info(`Error handled: Not showing a notification for the error.`);
855
- console.log(`Error handled: Not showing a notification for the error.`);
856
855
  } else if (!this._reloadWindowShown) {
857
856
  this._reloadWindowShown = true;
858
857
  dialogService.confirm({
859
858
  type: Severity.Error,
860
- message: ( localize(11703, "Cannot reconnect. Please reload the window.")),
861
- primaryButton: ( localize(11704, "&&Reload Window"))
859
+ message: ( localize(11952, "Cannot reconnect. Please reload the window.")),
860
+ primaryButton: ( localize(11953, "&&Reload Window"))
862
861
  }).then(result => {
863
862
  if (result.confirmed) {
864
863
  commandService.executeCommand(ReloadWindowAction.ID);
@@ -57,15 +57,15 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
57
57
  } = await this.dialogService.prompt({
58
58
  type: Severity.Warning,
59
59
  message: ( localize(
60
- 11705,
60
+ 11954,
61
61
  "You are about to connect to an OS version that is unsupported by {0}.",
62
62
  this.productService.nameLong
63
63
  )),
64
64
  buttons: [{
65
- label: ( localize(11706, "&&Allow")),
65
+ label: ( localize(11955, "&&Allow")),
66
66
  run: () => ConnectionChoice.Allow
67
67
  }, {
68
- label: ( localize(11707, "&&Learn More")),
68
+ label: ( localize(11956, "&&Learn More")),
69
69
  run: async () => {
70
70
  await this.openerService.open("https://aka.ms/vscode-remote/faq/old-linux");
71
71
  return ConnectionChoice.LearnMore;
@@ -75,7 +75,7 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
75
75
  run: () => ConnectionChoice.Cancel
76
76
  },
77
77
  checkbox: {
78
- label: ( localize(11708, "Do not show again"))
78
+ label: ( localize(11957, "Do not show again"))
79
79
  }
80
80
  });
81
81
  if (result === ConnectionChoice.LearnMore) {
@@ -111,13 +111,13 @@ let InitialRemoteConnectionHealthContribution = class InitialRemoteConnectionHea
111
111
  const shouldShowBanner = bannerDismissedVersion.slice(0, bannerDismissedVersion.lastIndexOf(".")) !== this.productService.version.slice(0, this.productService.version.lastIndexOf("."));
112
112
  if (shouldShowBanner) {
113
113
  const actions = [{
114
- label: ( localize(11709, "Learn More")),
114
+ label: ( localize(11958, "Learn More")),
115
115
  href: "https://aka.ms/vscode-remote/faq/old-linux"
116
116
  }];
117
117
  this.bannerService.show({
118
118
  id: "unsupportedGlibcWarning.banner",
119
119
  message: ( localize(
120
- 11710,
120
+ 11959,
121
121
  "You are connected to an OS version that is unsupported by {0}.",
122
122
  this.productService.nameLong
123
123
  )),
@@ -191,14 +191,14 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
191
191
  this.updateRemoteStatusIndicator();
192
192
  }
193
193
  registerActions() {
194
- const category = ( localize2(11744, "Remote"));
194
+ const category = ( localize2(11993, "Remote"));
195
195
  const that = this;
196
196
  this._register(registerAction2(class extends Action2 {
197
197
  constructor() {
198
198
  super({
199
199
  id: RemoteStatusIndicator_1.REMOTE_ACTIONS_COMMAND_ID,
200
200
  category,
201
- title: ( localize2(11745, "Show Remote Menu")),
201
+ title: ( localize2(11994, "Show Remote Menu")),
202
202
  f1: true,
203
203
  keybinding: {
204
204
  weight: KeybindingWeight.WorkbenchContrib,
@@ -214,7 +214,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
214
214
  super({
215
215
  id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
216
216
  category,
217
- title: ( localize2(11746, "Close Remote Connection")),
217
+ title: ( localize2(11995, "Close Remote Connection")),
218
218
  f1: true,
219
219
  precondition: ( ContextKeyExpr.or(RemoteNameContext, VirtualWorkspaceContext))
220
220
  });
@@ -229,7 +229,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
229
229
  group: "6_close",
230
230
  command: {
231
231
  id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
232
- title: ( localize(11747, "Close Re&&mote Connection"))
232
+ title: ( localize(11996, "Close Re&&mote Connection"))
233
233
  },
234
234
  order: 3.5
235
235
  });
@@ -241,7 +241,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
241
241
  super({
242
242
  id: RemoteStatusIndicator_1.INSTALL_REMOTE_EXTENSIONS_ID,
243
243
  category,
244
- title: ( localize2(11748, "Install Remote Development Extensions")),
244
+ title: ( localize2(11997, "Install Remote Development Extensions")),
245
245
  f1: true
246
246
  });
247
247
  this.run = (accessor, input) => {
@@ -456,18 +456,18 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
456
456
  const hostLabel = this.labelService.getHostLabel(Schemas.vscodeRemote, this.remoteAuthority) || this.remoteAuthority;
457
457
  switch (this.connectionState) {
458
458
  case "initializing":
459
- this.renderRemoteStatusIndicator(( localize(11749, "Opening Remote...")), ( localize(11749, "Opening Remote...")), undefined, true );
459
+ this.renderRemoteStatusIndicator(( localize(11998, "Opening Remote...")), ( localize(11998, "Opening Remote...")), undefined, true );
460
460
  break;
461
461
  case "reconnecting":
462
462
  this.renderRemoteStatusIndicator(`${( localize(
463
- 11750,
463
+ 11999,
464
464
  "Reconnecting to {0}...",
465
465
  truncate(hostLabel, RemoteStatusIndicator_1.REMOTE_STATUS_LABEL_MAX_LENGTH)
466
466
  ))}`, undefined, undefined, true );
467
467
  break;
468
468
  case "disconnected":
469
469
  this.renderRemoteStatusIndicator(`$(alert) ${( localize(
470
- 11751,
470
+ 12000,
471
471
  "Disconnected from {0}",
472
472
  truncate(hostLabel, RemoteStatusIndicator_1.REMOTE_STATUS_LABEL_MAX_LENGTH)
473
473
  ))}`);
@@ -482,7 +482,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
482
482
  if (hostNameTooltip) {
483
483
  tooltip.appendMarkdown(hostNameTooltip);
484
484
  } else {
485
- tooltip.appendText(( localize(11752, "Editing on {0}", hostLabel)));
485
+ tooltip.appendText(( localize(12001, "Editing on {0}", hostLabel)));
486
486
  }
487
487
  this.renderRemoteStatusIndicator(
488
488
  `$(remote) ${truncate(hostLabel, RemoteStatusIndicator_1.REMOTE_STATUS_LABEL_MAX_LENGTH)}`,
@@ -509,12 +509,12 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
509
509
  if (hostNameTooltip) {
510
510
  tooltip.appendMarkdown(hostNameTooltip);
511
511
  } else {
512
- tooltip.appendText(( localize(11753, "Editing on {0}", workspaceLabel)));
512
+ tooltip.appendText(( localize(12002, "Editing on {0}", workspaceLabel)));
513
513
  }
514
514
  if (!isWeb || this.remoteAuthority) {
515
515
  tooltip.appendMarkdown("\n\n");
516
516
  tooltip.appendMarkdown(( localize(
517
- 11754,
517
+ 12003,
518
518
  "Some [features are not available]({0}) for resources located on a virtual file system.",
519
519
  `command:${LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID}`
520
520
  )));
@@ -526,7 +526,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
526
526
  return;
527
527
  }
528
528
  }
529
- this.renderRemoteStatusIndicator(RemoteStatusIndicator_1.DEFAULT_REMOTE_STATUS_LABEL, ( localize(11755, "Open a Remote Window")));
529
+ this.renderRemoteStatusIndicator(RemoteStatusIndicator_1.DEFAULT_REMOTE_STATUS_LABEL, ( localize(12004, "Open a Remote Window")));
530
530
  return;
531
531
  }
532
532
  renderRemoteStatusIndicator(initialText, initialTooltip, command, showProgress) {
@@ -536,7 +536,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
536
536
  ariaLabel
537
537
  } = this.withNetworkStatus(initialText, initialTooltip, showProgress);
538
538
  const properties = {
539
- name: ( localize(11756, "Remote Host")),
539
+ name: ( localize(12005, "Remote Host")),
540
540
  kind: this.networkState === "offline" ? "offline" : text !== RemoteStatusIndicator_1.DEFAULT_REMOTE_STATUS_LABEL ? "remote" : undefined,
541
541
  ariaLabel,
542
542
  text,
@@ -569,7 +569,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
569
569
  case "offline":
570
570
  {
571
571
  const offlineMessage = ( localize(
572
- 11757,
572
+ 12006,
573
573
  "Network appears to be offline, certain features might be unavailable."
574
574
  ));
575
575
  text = textWithAlert();
@@ -580,7 +580,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
580
580
  case "high-latency":
581
581
  text = textWithAlert();
582
582
  tooltip = this.appendTooltipLine(tooltip, ( localize(
583
- 11758,
583
+ 12007,
584
584
  "Network appears to have high latency ({0}ms last, {1}ms average), certain features may be slow to respond.",
585
585
  remoteConnectionLatencyMeasurer.latency?.current?.toFixed(2),
586
586
  remoteConnectionLatencyMeasurer.latency?.average?.toFixed(2)
@@ -628,12 +628,12 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
628
628
  } = await this.dialogService.confirm({
629
629
  type: Severity.Error,
630
630
  message: ( localize(
631
- 11759,
631
+ 12008,
632
632
  "An error occurred while setting up {0}. Would you like to try again?",
633
633
  remoteLabel
634
634
  )),
635
635
  detail: error && !isCancellationError(error) ? toErrorMessage(error) : undefined,
636
- primaryButton: ( localize(11760, "Retry"))
636
+ primaryButton: ( localize(12009, "Retry"))
637
637
  });
638
638
  if (confirmed) {
639
639
  return this.installExtension(extensionId, remoteLabel);
@@ -724,7 +724,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
724
724
  const label = metadata.startConnectLabel;
725
725
  const buttons = [{
726
726
  iconClass: ThemeIcon.asClassName(infoIcon),
727
- tooltip: ( localize(11761, "Learn More"))
727
+ tooltip: ( localize(12010, "Learn More"))
728
728
  }];
729
729
  notInstalledItems.push({
730
730
  type: "item",
@@ -736,7 +736,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
736
736
  }
737
737
  items.push({
738
738
  type: "separator",
739
- label: ( localize(11762, "Install"))
739
+ label: ( localize(12011, "Install"))
740
740
  });
741
741
  items.push(...notInstalledItems);
742
742
  }
@@ -749,20 +749,20 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
749
749
  items.push({
750
750
  type: "item",
751
751
  id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
752
- label: ( localize(11763, "Close Remote Connection"))
752
+ label: ( localize(12012, "Close Remote Connection"))
753
753
  });
754
754
  if (this.connectionState === "disconnected") {
755
755
  items.push({
756
756
  type: "item",
757
757
  id: ReloadWindowAction.ID,
758
- label: ( localize(11764, "Reload Window"))
758
+ label: ( localize(12013, "Reload Window"))
759
759
  });
760
760
  }
761
761
  } else if (this.virtualWorkspaceLocation) {
762
762
  items.push({
763
763
  type: "item",
764
764
  id: RemoteStatusIndicator_1.CLOSE_REMOTE_COMMAND_ID,
765
- label: ( localize(11765, "Close Remote Workspace"))
765
+ label: ( localize(12014, "Close Remote Workspace"))
766
766
  });
767
767
  }
768
768
  }
@@ -775,7 +775,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
775
775
  const quickPick = disposables.add(this.quickInputService.createQuickPick({
776
776
  useSeparators: true
777
777
  }));
778
- quickPick.placeholder = ( localize(11766, "Select an option to open a Remote Window"));
778
+ quickPick.placeholder = ( localize(12015, "Select an option to open a Remote Window"));
779
779
  quickPick.items = computeItems();
780
780
  quickPick.sortByLabel = false;
781
781
  quickPick.canSelectMany = false;
@@ -787,7 +787,7 @@ let RemoteStatusIndicator = class RemoteStatusIndicator extends Disposable {
787
787
  if (remoteExtension) {
788
788
  quickPick.items = [];
789
789
  quickPick.busy = true;
790
- quickPick.placeholder = ( localize(11767, "Installing extension... "));
790
+ quickPick.placeholder = ( localize(12016, "Installing extension... "));
791
791
  try {
792
792
  await this.installExtension(remoteExtension.id, selectedItems[0].label);
793
793
  } catch (error) {
@@ -836,7 +836,7 @@ RemoteStatusIndicator = RemoteStatusIndicator_1 = ( __decorate([( __param(0, ISt
836
836
  "workbench.remoteIndicator.showExtensionRecommendations": {
837
837
  type: "boolean",
838
838
  markdownDescription: ( localize(
839
- 11768,
839
+ 12017,
840
840
  "When enabled, remote extensions recommendations will be shown in the Remote Indicator menu."
841
841
  )),
842
842
  default: true
@@ -44,14 +44,14 @@ let RemoteStartEntry = class RemoteStartEntry extends Disposable {
44
44
  this.registerListeners();
45
45
  }
46
46
  registerActions() {
47
- const category = ( localize2(11769, "Remote"));
47
+ const category = ( localize2(12018, "Remote"));
48
48
  const startEntry = this;
49
49
  this._register(registerAction2(class extends Action2 {
50
50
  constructor() {
51
51
  super({
52
52
  id: RemoteStartEntry_1.REMOTE_WEB_START_ENTRY_ACTIONS_COMMAND_ID,
53
53
  category,
54
- title: ( localize2(11770, "Show Remote Start Entry for web")),
54
+ title: ( localize2(12019, "Show Remote Start Entry for web")),
55
55
  f1: false
56
56
  });
57
57
  }
@@ -33,11 +33,11 @@ let TunnelFactoryContribution = class TunnelFactoryContribution extends Disposab
33
33
  if (environmentService.options?.tunnelProvider?.features?.public && (privacyOptions.length === 0)) {
34
34
  privacyOptions = [{
35
35
  id: "private",
36
- label: ( localize(11771, "Private")),
36
+ label: ( localize(12020, "Private")),
37
37
  themeIcon: "lock"
38
38
  }, {
39
39
  id: "public",
40
- label: ( localize(11772, "Public")),
40
+ label: ( localize(12021, "Public")),
41
41
  themeIcon: "eye"
42
42
  }];
43
43
  }
@@ -107,9 +107,9 @@ let RemoteInvalidWorkspaceDetector = class RemoteInvalidWorkspaceDetector extend
107
107
  }
108
108
  const res = await this.dialogService.confirm({
109
109
  type: "warning",
110
- message: ( localize(11832, "Workspace does not exist")),
111
- detail: ( localize(11833, "Please select another workspace to open.")),
112
- primaryButton: ( localize(11834, "&&Open Workspace..."))
110
+ message: ( localize(12081, "Workspace does not exist")),
111
+ detail: ( localize(12082, "Please select another workspace to open.")),
112
+ primaryButton: ( localize(12083, "&&Open Workspace..."))
113
113
  });
114
114
  if (res.confirmed) {
115
115
  if (workspace.configuration) {
@@ -133,7 +133,7 @@ registerWorkbenchContribution2(
133
133
  constructor() {
134
134
  super({
135
135
  id: "workbench.action.triggerReconnect",
136
- title: ( localize2(11835, "Connection: Trigger Reconnect")),
136
+ title: ( localize2(12084, "Connection: Trigger Reconnect")),
137
137
  category: Categories.Developer,
138
138
  f1: true
139
139
  });
@@ -146,7 +146,7 @@ registerWorkbenchContribution2(
146
146
  constructor() {
147
147
  super({
148
148
  id: "workbench.action.pauseSocketWriting",
149
- title: ( localize2(11836, "Connection: Pause socket writing")),
149
+ title: ( localize2(12085, "Connection: Pause socket writing")),
150
150
  category: Categories.Developer,
151
151
  f1: true
152
152
  });
@@ -162,22 +162,22 @@ const extensionKindSchema = {
162
162
  type: "string",
163
163
  enum: ["ui", "workspace"],
164
164
  enumDescriptions: [( localize(
165
- 11837,
165
+ 12086,
166
166
  "UI extension kind. In a remote window, such extensions are enabled only when available on the local machine."
167
167
  )), ( localize(
168
- 11838,
168
+ 12087,
169
169
  "Workspace extension kind. In a remote window, such extensions are enabled only when available on the remote."
170
170
  ))]
171
171
  };
172
172
  ( Registry.as(Extensions$1.Configuration)).registerConfiguration({
173
173
  id: "remote",
174
- title: ( localize(11839, "Remote")),
174
+ title: ( localize(12088, "Remote")),
175
175
  type: "object",
176
176
  properties: {
177
177
  "remote.extensionKind": {
178
178
  type: "object",
179
179
  markdownDescription: ( localize(
180
- 11840,
180
+ 12089,
181
181
  "Override the kind of an extension. `ui` extensions are installed and run on the local machine while `workspace` extensions are run on the remote. By overriding an extension's default kind using this setting, you specify if that extension should be installed and enabled locally or remotely."
182
182
  )),
183
183
  patternProperties: {
@@ -195,13 +195,13 @@ const extensionKindSchema = {
195
195
  },
196
196
  "remote.restoreForwardedPorts": {
197
197
  type: "boolean",
198
- markdownDescription: ( localize(11841, "Restores the ports you forwarded in a workspace.")),
198
+ markdownDescription: ( localize(12090, "Restores the ports you forwarded in a workspace.")),
199
199
  default: true
200
200
  },
201
201
  "remote.autoForwardPorts": {
202
202
  type: "boolean",
203
203
  markdownDescription: ( localize(
204
- 11842,
204
+ 12091,
205
205
  "When enabled, new running processes are detected and ports that they listen on are automatically forwarded. Disabling this setting will not prevent all ports from being forwarded. Even when disabled, extensions will still be able to cause ports to be forwarded, and opening some URLs will still cause ports to forwarded. Also see {0}.",
206
206
  "`#remote.autoForwardPortsSource#`"
207
207
  )),
@@ -210,20 +210,20 @@ const extensionKindSchema = {
210
210
  "remote.autoForwardPortsSource": {
211
211
  type: "string",
212
212
  markdownDescription: ( localize(
213
- 11843,
213
+ 12092,
214
214
  "Sets the source from which ports are automatically forwarded when {0} is true. When {0} is false, {1} will be used to find information about ports that have already been forwarded. On Windows and macOS remotes, the `process` and `hybrid` options have no effect and `output` will be used.",
215
215
  "`#remote.autoForwardPorts#`",
216
216
  "`#remote.autoForwardPortsSource#`"
217
217
  )),
218
218
  enum: ["process", "output", "hybrid"],
219
219
  enumDescriptions: [( localize(
220
- 11844,
220
+ 12093,
221
221
  "Ports will be automatically forwarded when discovered by watching for processes that are started and include a port."
222
222
  )), ( localize(
223
- 11845,
223
+ 12094,
224
224
  "Ports will be automatically forwarded when discovered by reading terminal and debug output. Not all processes that use ports will print to the integrated terminal or debug console, so some ports will be missed. Ports forwarded based on output will not be \"un-forwarded\" until reload or until the port is closed by the user in the Ports view."
225
225
  )), ( localize(
226
- 11846,
226
+ 12095,
227
227
  "Ports will be automatically forwarded when discovered by reading terminal and debug output. Not all processes that use ports will print to the integrated terminal or debug console, so some ports will be missed. Ports will be \"un-forwarded\" by watching for processes that listen on that port to be terminated."
228
228
  ))],
229
229
  default: "process"
@@ -232,14 +232,14 @@ const extensionKindSchema = {
232
232
  type: "number",
233
233
  default: 20,
234
234
  markdownDescription: ( localize(
235
- 11847,
235
+ 12096,
236
236
  "The number of auto forwarded ports that will trigger the switch from `process` to `hybrid` when automatically forwarding ports and `remote.autoForwardPortsSource` is set to `process` by default. Set to `0` to disable the fallback. When `remote.autoForwardPortsFallback` hasn't been configured, but `remote.autoForwardPortsSource` has, `remote.autoForwardPortsFallback` will be treated as though it's set to `0`."
237
237
  ))
238
238
  },
239
239
  "remote.forwardOnOpen": {
240
240
  type: "boolean",
241
241
  description: ( localize(
242
- 11848,
242
+ 12097,
243
243
  "Controls whether local URLs with a port will be forwarded when opened from the terminal and the debug console."
244
244
  )),
245
245
  default: true
@@ -250,7 +250,7 @@ const extensionKindSchema = {
250
250
  "(^\\d+(-\\d+)?$)|(.+)": {
251
251
  type: "object",
252
252
  description: ( localize(
253
- 11849,
253
+ 12098,
254
254
  "A port, range of ports (ex. \"40000-55000\"), host and port (ex. \"db:1234\"), or regular expression (ex. \".+\\\\/server.js\"). For a port number or range, the attributes will apply to that port number or range of port numbers. Attributes which use a regular expression will apply to ports whose associated process command line matches the expression."
255
255
  )),
256
256
  properties: {
@@ -264,21 +264,21 @@ const extensionKindSchema = {
264
264
  "silent",
265
265
  "ignore"
266
266
  ],
267
- enumDescriptions: [( localize(11850, "Shows a notification when a port is automatically forwarded.")), ( localize(
268
- 11851,
267
+ enumDescriptions: [( localize(12099, "Shows a notification when a port is automatically forwarded.")), ( localize(
268
+ 12100,
269
269
  "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser."
270
270
  )), ( localize(
271
- 11852,
271
+ 12101,
272
272
  "Opens the browser when the port is automatically forwarded, but only the first time the port is forward during a session. Depending on your settings, this could open an embedded browser."
273
273
  )), ( localize(
274
- 11853,
274
+ 12102,
275
275
  "Opens a preview in the same window when the port is automatically forwarded."
276
276
  )), ( localize(
277
- 11854,
277
+ 12103,
278
278
  "Shows no notification and takes no action when this port is automatically forwarded."
279
- )), ( localize(11855, "This port will not be automatically forwarded."))],
279
+ )), ( localize(12104, "This port will not be automatically forwarded."))],
280
280
  description: ( localize(
281
- 11856,
281
+ 12105,
282
282
  "Defines the action that occurs when the port is discovered for automatic forwarding"
283
283
  )),
284
284
  default: "notify"
@@ -286,20 +286,20 @@ const extensionKindSchema = {
286
286
  "elevateIfNeeded": {
287
287
  type: "boolean",
288
288
  description: ( localize(
289
- 11857,
289
+ 12106,
290
290
  "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port."
291
291
  )),
292
292
  default: false
293
293
  },
294
294
  "label": {
295
295
  type: "string",
296
- description: ( localize(11858, "Label that will be shown in the UI for this port.")),
297
- default: ( localize(11859, "Application"))
296
+ description: ( localize(12107, "Label that will be shown in the UI for this port.")),
297
+ default: ( localize(12108, "Application"))
298
298
  },
299
299
  "requireLocalPort": {
300
300
  type: "boolean",
301
301
  markdownDescription: ( localize(
302
- 11860,
302
+ 12109,
303
303
  "When true, a modal dialog will show if the chosen local port isn't used for forwarding."
304
304
  )),
305
305
  default: false
@@ -307,17 +307,17 @@ const extensionKindSchema = {
307
307
  "protocol": {
308
308
  type: "string",
309
309
  enum: ["http", "https"],
310
- description: ( localize(11861, "The protocol to use when forwarding this port."))
310
+ description: ( localize(12110, "The protocol to use when forwarding this port."))
311
311
  }
312
312
  },
313
313
  default: {
314
- "label": ( localize(11859, "Application")),
314
+ "label": ( localize(12108, "Application")),
315
315
  "onAutoForward": "notify"
316
316
  }
317
317
  }
318
318
  },
319
319
  markdownDescription: ( localize(
320
- 11862,
320
+ 12111,
321
321
  "Set properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Application\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n},\n\".+\\\\/server.js\": {\n \"onAutoForward\": \"openPreview\"\n}\n```"
322
322
  )),
323
323
  defaultSnippets: [{
@@ -329,7 +329,7 @@ const extensionKindSchema = {
329
329
  }
330
330
  }],
331
331
  errorMessage: ( localize(
332
- 11863,
332
+ 12112,
333
333
  "Must be a port number, range of port numbers, or regular expression."
334
334
  )),
335
335
  additionalProperties: false,
@@ -348,18 +348,18 @@ const extensionKindSchema = {
348
348
  "onAutoForward": {
349
349
  type: "string",
350
350
  enum: ["notify", "openBrowser", "openPreview", "silent", "ignore"],
351
- enumDescriptions: [( localize(11850, "Shows a notification when a port is automatically forwarded.")), ( localize(
352
- 11851,
351
+ enumDescriptions: [( localize(12099, "Shows a notification when a port is automatically forwarded.")), ( localize(
352
+ 12100,
353
353
  "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser."
354
354
  )), ( localize(
355
- 11853,
355
+ 12102,
356
356
  "Opens a preview in the same window when the port is automatically forwarded."
357
357
  )), ( localize(
358
- 11854,
358
+ 12103,
359
359
  "Shows no notification and takes no action when this port is automatically forwarded."
360
- )), ( localize(11855, "This port will not be automatically forwarded."))],
360
+ )), ( localize(12104, "This port will not be automatically forwarded."))],
361
361
  description: ( localize(
362
- 11856,
362
+ 12105,
363
363
  "Defines the action that occurs when the port is discovered for automatic forwarding"
364
364
  )),
365
365
  default: "notify"
@@ -367,20 +367,20 @@ const extensionKindSchema = {
367
367
  "elevateIfNeeded": {
368
368
  type: "boolean",
369
369
  description: ( localize(
370
- 11857,
370
+ 12106,
371
371
  "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port."
372
372
  )),
373
373
  default: false
374
374
  },
375
375
  "label": {
376
376
  type: "string",
377
- description: ( localize(11858, "Label that will be shown in the UI for this port.")),
378
- default: ( localize(11859, "Application"))
377
+ description: ( localize(12107, "Label that will be shown in the UI for this port.")),
378
+ default: ( localize(12108, "Application"))
379
379
  },
380
380
  "requireLocalPort": {
381
381
  type: "boolean",
382
382
  markdownDescription: ( localize(
383
- 11860,
383
+ 12109,
384
384
  "When true, a modal dialog will show if the chosen local port isn't used for forwarding."
385
385
  )),
386
386
  default: false
@@ -388,7 +388,7 @@ const extensionKindSchema = {
388
388
  "protocol": {
389
389
  type: "string",
390
390
  enum: ["http", "https"],
391
- description: ( localize(11861, "The protocol to use when forwarding this port."))
391
+ description: ( localize(12110, "The protocol to use when forwarding this port."))
392
392
  }
393
393
  },
394
394
  defaultSnippets: [{
@@ -397,7 +397,7 @@ const extensionKindSchema = {
397
397
  }
398
398
  }],
399
399
  markdownDescription: ( localize(
400
- 11864,
400
+ 12113,
401
401
  "Set default properties that are applied to all ports that don't get properties from the setting {0}. For example:\n\n```\n{\n \"onAutoForward\": \"ignore\"\n}\n```",
402
402
  "`#remote.portsAttributes#`"
403
403
  )),
@@ -408,21 +408,21 @@ const extensionKindSchema = {
408
408
  enum: ["localhost", "allInterfaces"],
409
409
  default: "localhost",
410
410
  description: ( localize(
411
- 11865,
411
+ 12114,
412
412
  "Specifies the local host name that will be used for port forwarding."
413
413
  ))
414
414
  },
415
415
  [REMOTE_DEFAULT_IF_LOCAL_EXTENSIONS]: {
416
416
  type: "array",
417
417
  markdownDescription: ( localize(
418
- 11866,
418
+ 12115,
419
419
  "List of extensions to install upon connection to a remote when already installed locally."
420
420
  )),
421
421
  default: product?.remoteDefaultExtensionsIfInstalledLocally || [],
422
422
  items: {
423
423
  type: "string",
424
424
  pattern: EXTENSION_IDENTIFIER_PATTERN,
425
- patternErrorMessage: ( localize(11867, "Extension identifier must be in format \"publisher.name\"."))
425
+ patternErrorMessage: ( localize(12116, "Extension identifier must be in format \"publisher.name\"."))
426
426
  }
427
427
  }
428
428
  }
@@ -55,14 +55,14 @@ let RemoteConnectionFailureNotificationContribution = class RemoteConnectionFail
55
55
  async _presentConnectionError(err) {
56
56
  await this._dialogService.prompt({
57
57
  type: Severity.Error,
58
- message: ( localize(15951, "An unexpected error occurred that requires a reload of this page.")),
58
+ message: ( localize(16247, "An unexpected error occurred that requires a reload of this page.")),
59
59
  detail: ( localize(
60
- 15952,
60
+ 16248,
61
61
  "The workbench failed to connect to the server (Error: {0})",
62
62
  err ? err.message : ""
63
63
  )),
64
64
  buttons: [{
65
- label: ( localize(15953, "&&Reload")),
65
+ label: ( localize(16249, "&&Reload")),
66
66
  run: () => this._hostService.reload()
67
67
  }]
68
68
  });
@@ -19,6 +19,7 @@ export interface IRemoteAgentEnvironmentDTO {
19
19
  pid: number;
20
20
  connectionToken: string;
21
21
  appRoot: UriComponents;
22
+ execPath: string;
22
23
  tmpDir: UriComponents;
23
24
  settingsPath: UriComponents;
24
25
  mcpResource: UriComponents;
@@ -17,6 +17,7 @@ class RemoteExtensionEnvironmentChannelClient {
17
17
  pid: data.pid,
18
18
  connectionToken: data.connectionToken,
19
19
  appRoot: URI.revive(data.appRoot),
20
+ execPath: data.execPath,
20
21
  tmpDir: URI.revive(data.tmpDir),
21
22
  settingsPath: URI.revive(data.settingsPath),
22
23
  mcpResource: URI.revive(data.mcpResource),