@theia/remote 1.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +61 -0
  2. package/lib/electron-browser/remote-electron-file-dialog-service.d.ts +14 -0
  3. package/lib/electron-browser/remote-electron-file-dialog-service.d.ts.map +1 -0
  4. package/lib/electron-browser/remote-electron-file-dialog-service.js +58 -0
  5. package/lib/electron-browser/remote-electron-file-dialog-service.js.map +1 -0
  6. package/lib/electron-browser/remote-frontend-contribution.d.ts +26 -0
  7. package/lib/electron-browser/remote-frontend-contribution.d.ts.map +1 -0
  8. package/lib/electron-browser/remote-frontend-contribution.js +165 -0
  9. package/lib/electron-browser/remote-frontend-contribution.js.map +1 -0
  10. package/lib/electron-browser/remote-frontend-module.d.ts +4 -0
  11. package/lib/electron-browser/remote-frontend-module.d.ts.map +1 -0
  12. package/lib/electron-browser/remote-frontend-module.js +43 -0
  13. package/lib/electron-browser/remote-frontend-module.js.map +1 -0
  14. package/lib/electron-browser/remote-preferences.d.ts +11 -0
  15. package/lib/electron-browser/remote-preferences.d.ts.map +1 -0
  16. package/lib/electron-browser/remote-preferences.js +49 -0
  17. package/lib/electron-browser/remote-preferences.js.map +1 -0
  18. package/lib/electron-browser/remote-registry-contribution.d.ts +19 -0
  19. package/lib/electron-browser/remote-registry-contribution.d.ts.map +1 -0
  20. package/lib/electron-browser/remote-registry-contribution.js +75 -0
  21. package/lib/electron-browser/remote-registry-contribution.js.map +1 -0
  22. package/lib/electron-browser/remote-service.d.ts +6 -0
  23. package/lib/electron-browser/remote-service.d.ts.map +1 -0
  24. package/lib/electron-browser/remote-service.js +38 -0
  25. package/lib/electron-browser/remote-service.js.map +1 -0
  26. package/lib/electron-browser/remote-ssh-contribution.d.ts +18 -0
  27. package/lib/electron-browser/remote-ssh-contribution.d.ts.map +1 -0
  28. package/lib/electron-browser/remote-ssh-contribution.js +118 -0
  29. package/lib/electron-browser/remote-ssh-contribution.js.map +1 -0
  30. package/lib/electron-common/remote-ssh-connection-provider.d.ts +11 -0
  31. package/lib/electron-common/remote-ssh-connection-provider.d.ts.map +1 -0
  32. package/lib/electron-common/remote-ssh-connection-provider.js +21 -0
  33. package/lib/electron-common/remote-ssh-connection-provider.js.map +1 -0
  34. package/lib/electron-common/remote-status-service.d.ts +15 -0
  35. package/lib/electron-common/remote-status-service.d.ts.map +1 -0
  36. package/lib/electron-common/remote-status-service.js +21 -0
  37. package/lib/electron-common/remote-status-service.js.map +1 -0
  38. package/lib/electron-node/backend-remote-service-impl.d.ts +12 -0
  39. package/lib/electron-node/backend-remote-service-impl.d.ts.map +1 -0
  40. package/lib/electron-node/backend-remote-service-impl.js +51 -0
  41. package/lib/electron-node/backend-remote-service-impl.js.map +1 -0
  42. package/lib/electron-node/remote-backend-module.d.ts +5 -0
  43. package/lib/electron-node/remote-backend-module.d.ts.map +1 -0
  44. package/lib/electron-node/remote-backend-module.js +75 -0
  45. package/lib/electron-node/remote-backend-module.js.map +1 -0
  46. package/lib/electron-node/remote-connection-service.d.ts +15 -0
  47. package/lib/electron-node/remote-connection-service.d.ts.map +1 -0
  48. package/lib/electron-node/remote-connection-service.js +66 -0
  49. package/lib/electron-node/remote-connection-service.js.map +1 -0
  50. package/lib/electron-node/remote-connection-socket-provider.d.ts +9 -0
  51. package/lib/electron-node/remote-connection-socket-provider.d.ts.map +1 -0
  52. package/lib/electron-node/remote-connection-socket-provider.js +38 -0
  53. package/lib/electron-node/remote-connection-socket-provider.js.map +1 -0
  54. package/lib/electron-node/remote-proxy-server-provider.d.ts +6 -0
  55. package/lib/electron-node/remote-proxy-server-provider.d.ts.map +1 -0
  56. package/lib/electron-node/remote-proxy-server-provider.js +44 -0
  57. package/lib/electron-node/remote-proxy-server-provider.js.map +1 -0
  58. package/lib/electron-node/remote-status-service.d.ts +7 -0
  59. package/lib/electron-node/remote-status-service.d.ts.map +1 -0
  60. package/lib/electron-node/remote-status-service.js +55 -0
  61. package/lib/electron-node/remote-status-service.js.map +1 -0
  62. package/lib/electron-node/remote-types.d.ts +35 -0
  63. package/lib/electron-node/remote-types.d.ts.map +1 -0
  64. package/lib/electron-node/remote-types.js +18 -0
  65. package/lib/electron-node/remote-types.js.map +1 -0
  66. package/lib/electron-node/setup/app-native-dependency-contribution.d.ts +8 -0
  67. package/lib/electron-node/setup/app-native-dependency-contribution.d.ts.map +1 -0
  68. package/lib/electron-node/setup/app-native-dependency-contribution.js +58 -0
  69. package/lib/electron-node/setup/app-native-dependency-contribution.js.map +1 -0
  70. package/lib/electron-node/setup/main-copy-contribution.d.ts +5 -0
  71. package/lib/electron-node/setup/main-copy-contribution.d.ts.map +1 -0
  72. package/lib/electron-node/setup/main-copy-contribution.js +38 -0
  73. package/lib/electron-node/setup/main-copy-contribution.js.map +1 -0
  74. package/lib/electron-node/setup/remote-copy-contribution.d.ts +29 -0
  75. package/lib/electron-node/setup/remote-copy-contribution.d.ts.map +1 -0
  76. package/lib/electron-node/setup/remote-copy-contribution.js +79 -0
  77. package/lib/electron-node/setup/remote-copy-contribution.js.map +1 -0
  78. package/lib/electron-node/setup/remote-copy-service.d.ts +19 -0
  79. package/lib/electron-node/setup/remote-copy-service.d.ts.map +1 -0
  80. package/lib/electron-node/setup/remote-copy-service.js +127 -0
  81. package/lib/electron-node/setup/remote-copy-service.js.map +1 -0
  82. package/lib/electron-node/setup/remote-native-dependency-contribution.d.ts +35 -0
  83. package/lib/electron-node/setup/remote-native-dependency-contribution.d.ts.map +1 -0
  84. package/lib/electron-node/setup/remote-native-dependency-contribution.js +35 -0
  85. package/lib/electron-node/setup/remote-native-dependency-contribution.js.map +1 -0
  86. package/lib/electron-node/setup/remote-native-dependency-service.d.ts +24 -0
  87. package/lib/electron-node/setup/remote-native-dependency-service.d.ts.map +1 -0
  88. package/lib/electron-node/setup/remote-native-dependency-service.js +119 -0
  89. package/lib/electron-node/setup/remote-native-dependency-service.js.map +1 -0
  90. package/lib/electron-node/setup/remote-node-setup-service.d.ts +23 -0
  91. package/lib/electron-node/setup/remote-node-setup-service.d.ts.map +1 -0
  92. package/lib/electron-node/setup/remote-node-setup-service.js +133 -0
  93. package/lib/electron-node/setup/remote-node-setup-service.js.map +1 -0
  94. package/lib/electron-node/setup/remote-setup-script-service.d.ts +41 -0
  95. package/lib/electron-node/setup/remote-setup-script-service.d.ts.map +1 -0
  96. package/lib/electron-node/setup/remote-setup-script-service.js +133 -0
  97. package/lib/electron-node/setup/remote-setup-script-service.js.map +1 -0
  98. package/lib/electron-node/setup/remote-setup-service.d.ts +29 -0
  99. package/lib/electron-node/setup/remote-setup-service.d.ts.map +1 -0
  100. package/lib/electron-node/setup/remote-setup-service.js +199 -0
  101. package/lib/electron-node/setup/remote-setup-service.js.map +1 -0
  102. package/lib/electron-node/ssh/remote-ssh-connection-provider.d.ts +56 -0
  103. package/lib/electron-node/ssh/remote-ssh-connection-provider.d.ts.map +1 -0
  104. package/lib/electron-node/ssh/remote-ssh-connection-provider.js +343 -0
  105. package/lib/electron-node/ssh/remote-ssh-connection-provider.js.map +1 -0
  106. package/lib/electron-node/ssh/ssh-identity-file-collector.d.ts +13 -0
  107. package/lib/electron-node/ssh/ssh-identity-file-collector.d.ts.map +1 -0
  108. package/lib/electron-node/ssh/ssh-identity-file-collector.js +132 -0
  109. package/lib/electron-node/ssh/ssh-identity-file-collector.js.map +1 -0
  110. package/lib/package.spec.d.ts +1 -0
  111. package/lib/package.spec.d.ts.map +1 -0
  112. package/lib/package.spec.js +26 -0
  113. package/lib/package.spec.js.map +1 -0
  114. package/package.json +67 -0
  115. package/src/electron-browser/remote-electron-file-dialog-service.ts +47 -0
  116. package/src/electron-browser/remote-frontend-contribution.ts +145 -0
  117. package/src/electron-browser/remote-frontend-module.ts +49 -0
  118. package/src/electron-browser/remote-preferences.ts +62 -0
  119. package/src/electron-browser/remote-registry-contribution.ts +70 -0
  120. package/src/electron-browser/remote-service.ts +31 -0
  121. package/src/electron-browser/remote-ssh-contribution.ts +102 -0
  122. package/src/electron-common/remote-ssh-connection-provider.ts +29 -0
  123. package/src/electron-common/remote-status-service.ts +35 -0
  124. package/src/electron-node/backend-remote-service-impl.ts +45 -0
  125. package/src/electron-node/remote-backend-module.ts +80 -0
  126. package/src/electron-node/remote-connection-service.ts +55 -0
  127. package/src/electron-node/remote-connection-socket-provider.ts +34 -0
  128. package/src/electron-node/remote-proxy-server-provider.ts +37 -0
  129. package/src/electron-node/remote-status-service.ts +41 -0
  130. package/src/electron-node/remote-types.ts +56 -0
  131. package/src/electron-node/setup/app-native-dependency-contribution.ts +48 -0
  132. package/src/electron-node/setup/main-copy-contribution.ts +28 -0
  133. package/src/electron-node/setup/remote-copy-contribution.ts +90 -0
  134. package/src/electron-node/setup/remote-copy-service.ts +114 -0
  135. package/src/electron-node/setup/remote-native-dependency-contribution.ts +63 -0
  136. package/src/electron-node/setup/remote-native-dependency-service.ts +111 -0
  137. package/src/electron-node/setup/remote-node-setup-service.ts +123 -0
  138. package/src/electron-node/setup/remote-setup-script-service.ts +146 -0
  139. package/src/electron-node/setup/remote-setup-service.ts +197 -0
  140. package/src/electron-node/ssh/remote-ssh-connection-provider.ts +356 -0
  141. package/src/electron-node/ssh/ssh-identity-file-collector.ts +137 -0
  142. package/src/package.spec.ts +29 -0
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 TypeFox 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-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.RemoteService = void 0;
25
+ const inversify_1 = require("@theia/core/shared/inversify");
26
+ let RemoteService = class RemoteService {
27
+ isConnected() {
28
+ return this._connected;
29
+ }
30
+ setConnected(value) {
31
+ this._connected = value;
32
+ }
33
+ };
34
+ RemoteService = __decorate([
35
+ (0, inversify_1.injectable)()
36
+ ], RemoteService);
37
+ exports.RemoteService = RemoteService;
38
+ //# sourceMappingURL=remote-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-service.js","sourceRoot":"","sources":["../../src/electron-browser/remote-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;AAEhF,4DAA0D;AAG1D,IAAa,aAAa,GAA1B,MAAa,aAAa;IAItB,WAAW;QACP,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,YAAY,CAAC,KAAc;QACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;CACJ,CAAA;AAXY,aAAa;IADzB,IAAA,sBAAU,GAAE;GACA,aAAa,CAWzB;AAXY,sCAAa"}
@@ -0,0 +1,18 @@
1
+ import { Command, MessageService, QuickInputService } from '@theia/core';
2
+ import { RemoteSSHConnectionProvider } from '../electron-common/remote-ssh-connection-provider';
3
+ import { AbstractRemoteRegistryContribution, RemoteRegistry } from './remote-registry-contribution';
4
+ import { RemotePreferences } from './remote-preferences';
5
+ export declare namespace RemoteSSHCommands {
6
+ const CONNECT: Command;
7
+ const CONNECT_CURRENT_WINDOW: Command;
8
+ }
9
+ export declare class RemoteSSHContribution extends AbstractRemoteRegistryContribution {
10
+ protected readonly quickInputService: QuickInputService;
11
+ protected readonly sshConnectionProvider: RemoteSSHConnectionProvider;
12
+ protected readonly messageService: MessageService;
13
+ protected readonly remotePreferences: RemotePreferences;
14
+ registerRemoteCommands(registry: RemoteRegistry): void;
15
+ connect(newWindow: boolean): Promise<void>;
16
+ sendSSHConnect(host: string, user: string): Promise<string>;
17
+ }
18
+ //# sourceMappingURL=remote-ssh-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-ssh-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/remote-ssh-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAO,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAAE,kCAAkC,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,yBAAiB,iBAAiB,CAAC;IACxB,MAAM,OAAO,EAAE,OAIO,CAAC;IACvB,MAAM,sBAAsB,EAAE,OAIR,CAAC;CACjC;AAED,qBACa,qBAAsB,SAAQ,kCAAkC;IAGzE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;IAGtE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAShD,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC1C,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAOpE"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 TypeFox 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-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
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
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.RemoteSSHContribution = exports.RemoteSSHCommands = void 0;
28
+ const core_1 = require("@theia/core");
29
+ const inversify_1 = require("@theia/core/shared/inversify");
30
+ const remote_ssh_connection_provider_1 = require("../electron-common/remote-ssh-connection-provider");
31
+ const remote_registry_contribution_1 = require("./remote-registry-contribution");
32
+ const remote_preferences_1 = require("./remote-preferences");
33
+ var RemoteSSHCommands;
34
+ (function (RemoteSSHCommands) {
35
+ RemoteSSHCommands.CONNECT = core_1.Command.toLocalizedCommand({
36
+ id: 'remote.ssh.connect',
37
+ category: 'SSH',
38
+ label: 'Connect to Host...',
39
+ }, 'theia/remoteSSH/connect');
40
+ RemoteSSHCommands.CONNECT_CURRENT_WINDOW = core_1.Command.toLocalizedCommand({
41
+ id: 'remote.ssh.connectCurrentWindow',
42
+ category: 'SSH',
43
+ label: 'Connect Current Window to Host...',
44
+ }, 'theia/remoteSSH/connect');
45
+ })(RemoteSSHCommands = exports.RemoteSSHCommands || (exports.RemoteSSHCommands = {}));
46
+ let RemoteSSHContribution = class RemoteSSHContribution extends remote_registry_contribution_1.AbstractRemoteRegistryContribution {
47
+ registerRemoteCommands(registry) {
48
+ registry.registerCommand(RemoteSSHCommands.CONNECT, {
49
+ execute: () => this.connect(true)
50
+ });
51
+ registry.registerCommand(RemoteSSHCommands.CONNECT_CURRENT_WINDOW, {
52
+ execute: () => this.connect(false)
53
+ });
54
+ }
55
+ async connect(newWindow) {
56
+ var _a;
57
+ let host;
58
+ let user;
59
+ host = await this.quickInputService.input({
60
+ title: core_1.nls.localize('theia/remote/enterHost', 'Enter SSH host name'),
61
+ placeHolder: core_1.nls.localize('theia/remote/hostPlaceHolder', 'E.g. hello@example.com')
62
+ });
63
+ if (!host) {
64
+ this.messageService.error(core_1.nls.localize('theia/remote/needsHost', 'Please enter a host name.'));
65
+ return;
66
+ }
67
+ if (host.includes('@')) {
68
+ const split = host.split('@');
69
+ user = split[0];
70
+ host = split[1];
71
+ }
72
+ if (!user) {
73
+ user = await this.quickInputService.input({
74
+ title: core_1.nls.localize('theia/remote/enterUser', 'Enter SSH user name'),
75
+ placeHolder: core_1.nls.localize('theia/remote/userPlaceHolder', 'E.g. hello')
76
+ });
77
+ }
78
+ if (!user) {
79
+ this.messageService.error(core_1.nls.localize('theia/remote/needsUser', 'Please enter a user name.'));
80
+ return;
81
+ }
82
+ try {
83
+ const remotePort = await this.sendSSHConnect(host, user);
84
+ this.openRemote(remotePort, newWindow);
85
+ }
86
+ catch (err) {
87
+ this.messageService.error(`${core_1.nls.localize('theia/remote/sshFailure', 'Could not open SSH connection to remote.')} ${(_a = err.message) !== null && _a !== void 0 ? _a : String(err)}`);
88
+ }
89
+ }
90
+ async sendSSHConnect(host, user) {
91
+ return this.sshConnectionProvider.establishConnection({
92
+ host,
93
+ user,
94
+ nodeDownloadTemplate: this.remotePreferences['remote.nodeDownloadTemplate']
95
+ });
96
+ }
97
+ };
98
+ __decorate([
99
+ (0, inversify_1.inject)(core_1.QuickInputService),
100
+ __metadata("design:type", Object)
101
+ ], RemoteSSHContribution.prototype, "quickInputService", void 0);
102
+ __decorate([
103
+ (0, inversify_1.inject)(remote_ssh_connection_provider_1.RemoteSSHConnectionProvider),
104
+ __metadata("design:type", Object)
105
+ ], RemoteSSHContribution.prototype, "sshConnectionProvider", void 0);
106
+ __decorate([
107
+ (0, inversify_1.inject)(core_1.MessageService),
108
+ __metadata("design:type", core_1.MessageService)
109
+ ], RemoteSSHContribution.prototype, "messageService", void 0);
110
+ __decorate([
111
+ (0, inversify_1.inject)(remote_preferences_1.RemotePreferences),
112
+ __metadata("design:type", Object)
113
+ ], RemoteSSHContribution.prototype, "remotePreferences", void 0);
114
+ RemoteSSHContribution = __decorate([
115
+ (0, inversify_1.injectable)()
116
+ ], RemoteSSHContribution);
117
+ exports.RemoteSSHContribution = RemoteSSHContribution;
118
+ //# sourceMappingURL=remote-ssh-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-ssh-contribution.js","sourceRoot":"","sources":["../../src/electron-browser/remote-ssh-contribution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare const RemoteSSHConnectionProviderPath = "/remote/ssh";
2
+ export declare const RemoteSSHConnectionProvider: unique symbol;
3
+ export interface RemoteSSHConnectionProviderOptions {
4
+ user: string;
5
+ host: string;
6
+ nodeDownloadTemplate?: string;
7
+ }
8
+ export interface RemoteSSHConnectionProvider {
9
+ establishConnection(options: RemoteSSHConnectionProviderOptions): Promise<string>;
10
+ }
11
+ //# sourceMappingURL=remote-ssh-connection-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-ssh-connection-provider.d.ts","sourceRoot":"","sources":["../../src/electron-common/remote-ssh-connection-provider.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,+BAA+B,gBAAgB,CAAC;AAE7D,eAAO,MAAM,2BAA2B,eAAwC,CAAC;AAEjF,MAAM,WAAW,kCAAkC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IACxC,mBAAmB,CAAC,OAAO,EAAE,kCAAkC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrF"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 TypeFox 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-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.RemoteSSHConnectionProvider = exports.RemoteSSHConnectionProviderPath = void 0;
19
+ exports.RemoteSSHConnectionProviderPath = '/remote/ssh';
20
+ exports.RemoteSSHConnectionProvider = Symbol('RemoteSSHConnectionProvider');
21
+ //# sourceMappingURL=remote-ssh-connection-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-ssh-connection-provider.js","sourceRoot":"","sources":["../../src/electron-common/remote-ssh-connection-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEnE,QAAA,+BAA+B,GAAG,aAAa,CAAC;AAEhD,QAAA,2BAA2B,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare type RemoteStatus = RemoteConnectedStatus | RemoteDisconnectedStatus;
2
+ export interface RemoteDisconnectedStatus {
3
+ alive: false;
4
+ }
5
+ export interface RemoteConnectedStatus {
6
+ alive: true;
7
+ type: string;
8
+ name: string;
9
+ }
10
+ export declare const RemoteStatusServicePath = "/remote/status";
11
+ export declare const RemoteStatusService: unique symbol;
12
+ export interface RemoteStatusService {
13
+ getStatus(localPort: number): Promise<RemoteStatus>;
14
+ }
15
+ //# sourceMappingURL=remote-status-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-status-service.d.ts","sourceRoot":"","sources":["../../src/electron-common/remote-status-service.ts"],"names":[],"mappings":"AAgBA,oBAAY,YAAY,GAAG,qBAAqB,GAAG,wBAAwB,CAAC;AAE5E,MAAM,WAAW,wBAAwB;IACrC,KAAK,EAAE,KAAK,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,uBAAuB,mBAAmB,CAAC;AAExD,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CACtD"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 TypeFox 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-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.RemoteStatusService = exports.RemoteStatusServicePath = void 0;
19
+ exports.RemoteStatusServicePath = '/remote/status';
20
+ exports.RemoteStatusService = Symbol('RemoteStatusService');
21
+ //# sourceMappingURL=remote-status-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-status-service.js","sourceRoot":"","sources":["../../src/electron-common/remote-status-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAcnE,QAAA,uBAAuB,GAAG,gBAAgB,CAAC;AAE3C,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="yargs" />
2
+ import { CliContribution } from '@theia/core/lib/node';
3
+ import { Arguments, Argv } from '@theia/core/shared/yargs';
4
+ import { BackendRemoteService } from '@theia/core/lib/node/backend-remote-service';
5
+ export declare const REMOTE_START = "remote";
6
+ export declare class BackendRemoteServiceImpl extends BackendRemoteService implements CliContribution {
7
+ protected isRemote: boolean;
8
+ configure(conf: Argv): void;
9
+ setArguments(args: Arguments): void;
10
+ isRemoteServer(): boolean;
11
+ }
12
+ //# sourceMappingURL=backend-remote-service-impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-remote-service-impl.d.ts","sourceRoot":"","sources":["../../src/electron-node/backend-remote-service-impl.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAEnF,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,qBACa,wBAAyB,SAAQ,oBAAqB,YAAW,eAAe;IAEzF,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IAEpC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAQ3B,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAI1B,cAAc,IAAI,OAAO;CAIrC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 TypeFox 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-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.BackendRemoteServiceImpl = exports.REMOTE_START = void 0;
25
+ const inversify_1 = require("@theia/core/shared/inversify");
26
+ const backend_remote_service_1 = require("@theia/core/lib/node/backend-remote-service");
27
+ exports.REMOTE_START = 'remote';
28
+ let BackendRemoteServiceImpl = class BackendRemoteServiceImpl extends backend_remote_service_1.BackendRemoteService {
29
+ constructor() {
30
+ super(...arguments);
31
+ this.isRemote = false;
32
+ }
33
+ configure(conf) {
34
+ conf.option(exports.REMOTE_START, {
35
+ description: 'Starts the server as an endpoint for a remote connection (i.e. through SSH)',
36
+ type: 'boolean',
37
+ default: false
38
+ });
39
+ }
40
+ setArguments(args) {
41
+ this.isRemote = Boolean(args[exports.REMOTE_START]);
42
+ }
43
+ isRemoteServer() {
44
+ return this.isRemote;
45
+ }
46
+ };
47
+ BackendRemoteServiceImpl = __decorate([
48
+ (0, inversify_1.injectable)()
49
+ ], BackendRemoteServiceImpl);
50
+ exports.BackendRemoteServiceImpl = BackendRemoteServiceImpl;
51
+ //# sourceMappingURL=backend-remote-service-impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-remote-service-impl.js","sourceRoot":"","sources":["../../src/electron-node/backend-remote-service-impl.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;AAGhF,4DAA0D;AAE1D,wFAAmF;AAEtE,QAAA,YAAY,GAAG,QAAQ,CAAC;AAGrC,IAAa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,6CAAoB;IAAlE;;QAEc,aAAQ,GAAY,KAAK,CAAC;IAkBxC,CAAC;IAhBG,SAAS,CAAC,IAAU;QAChB,IAAI,CAAC,MAAM,CAAC,oBAAY,EAAE;YACtB,WAAW,EAAE,6EAA6E;YAC1F,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,IAAe;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAY,CAAC,CAAC,CAAC;IAChD,CAAC;IAEQ,cAAc;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CAEJ,CAAA;AApBY,wBAAwB;IADpC,IAAA,sBAAU,GAAE;GACA,wBAAwB,CAoBpC;AApBY,4DAAwB"}
@@ -0,0 +1,5 @@
1
+ import { ContainerModule } from '@theia/core/shared/inversify';
2
+ export declare const remoteConnectionModule: ContainerModule;
3
+ declare const _default: ContainerModule;
4
+ export default _default;
5
+ //# sourceMappingURL=remote-backend-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-backend-module.d.ts","sourceRoot":"","sources":["../../src/electron-node/remote-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAwB/D,eAAO,MAAM,sBAAsB,iBAIjC,CAAC;;AAEH,wBAiCG"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 TypeFox 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-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.remoteConnectionModule = void 0;
19
+ const inversify_1 = require("@theia/core/shared/inversify");
20
+ const node_1 = require("@theia/core/lib/node");
21
+ const remote_connection_service_1 = require("./remote-connection-service");
22
+ const remote_proxy_server_provider_1 = require("./remote-proxy-server-provider");
23
+ const remote_connection_socket_provider_1 = require("./remote-connection-socket-provider");
24
+ const connection_container_module_1 = require("@theia/core/lib/node/messaging/connection-container-module");
25
+ const remote_ssh_connection_provider_1 = require("../electron-common/remote-ssh-connection-provider");
26
+ const remote_ssh_connection_provider_2 = require("./ssh/remote-ssh-connection-provider");
27
+ const ssh_identity_file_collector_1 = require("./ssh/ssh-identity-file-collector");
28
+ const remote_copy_service_1 = require("./setup/remote-copy-service");
29
+ const remote_setup_service_1 = require("./setup/remote-setup-service");
30
+ const remote_native_dependency_service_1 = require("./setup/remote-native-dependency-service");
31
+ const backend_remote_service_impl_1 = require("./backend-remote-service-impl");
32
+ const backend_remote_service_1 = require("@theia/core/lib/node/backend-remote-service");
33
+ const remote_node_setup_service_1 = require("./setup/remote-node-setup-service");
34
+ const remote_setup_script_service_1 = require("./setup/remote-setup-script-service");
35
+ const remote_status_service_1 = require("../electron-common/remote-status-service");
36
+ const remote_status_service_2 = require("./remote-status-service");
37
+ const core_1 = require("@theia/core");
38
+ const remote_copy_contribution_1 = require("./setup/remote-copy-contribution");
39
+ const main_copy_contribution_1 = require("./setup/main-copy-contribution");
40
+ const remote_native_dependency_contribution_1 = require("./setup/remote-native-dependency-contribution");
41
+ const app_native_dependency_contribution_1 = require("./setup/app-native-dependency-contribution");
42
+ exports.remoteConnectionModule = connection_container_module_1.ConnectionContainerModule.create(({ bind, bindBackendService }) => {
43
+ bind(remote_ssh_connection_provider_2.RemoteSSHConnectionProviderImpl).toSelf().inSingletonScope();
44
+ bind(remote_ssh_connection_provider_1.RemoteSSHConnectionProvider).toService(remote_ssh_connection_provider_2.RemoteSSHConnectionProviderImpl);
45
+ bindBackendService(remote_ssh_connection_provider_1.RemoteSSHConnectionProviderPath, remote_ssh_connection_provider_1.RemoteSSHConnectionProvider);
46
+ });
47
+ exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebind) => {
48
+ bind(remote_proxy_server_provider_1.RemoteProxyServerProvider).toSelf().inSingletonScope();
49
+ bind(remote_connection_socket_provider_1.RemoteConnectionSocketProvider).toSelf().inSingletonScope();
50
+ bind(remote_connection_service_1.RemoteConnectionService).toSelf().inSingletonScope();
51
+ bind(node_1.BackendApplicationContribution).toService(remote_connection_service_1.RemoteConnectionService);
52
+ bind(remote_status_service_2.RemoteStatusServiceImpl).toSelf().inSingletonScope();
53
+ bind(remote_status_service_1.RemoteStatusService).toService(remote_status_service_2.RemoteStatusServiceImpl);
54
+ bind(core_1.ConnectionHandler).toDynamicValue(ctx => new core_1.RpcConnectionHandler(remote_status_service_1.RemoteStatusServicePath, () => ctx.container.get(remote_status_service_1.RemoteStatusService))).inSingletonScope();
55
+ bind(remote_copy_service_1.RemoteCopyService).toSelf().inSingletonScope();
56
+ bind(remote_setup_service_1.RemoteSetupService).toSelf().inSingletonScope();
57
+ bind(remote_node_setup_service_1.RemoteNodeSetupService).toSelf().inSingletonScope();
58
+ bind(remote_setup_script_service_1.RemoteWindowsScriptStrategy).toSelf().inSingletonScope();
59
+ bind(remote_setup_script_service_1.RemotePosixScriptStrategy).toSelf().inSingletonScope();
60
+ bind(remote_setup_script_service_1.RemoteSetupScriptService).toSelf().inSingletonScope();
61
+ bind(remote_native_dependency_service_1.RemoteNativeDependencyService).toSelf().inSingletonScope();
62
+ bind(remote_copy_contribution_1.RemoteCopyRegistry).toSelf().inSingletonScope();
63
+ (0, core_1.bindContributionProvider)(bind, remote_copy_contribution_1.RemoteCopyContribution);
64
+ (0, core_1.bindContributionProvider)(bind, remote_native_dependency_contribution_1.RemoteNativeDependencyContribution);
65
+ bind(main_copy_contribution_1.MainCopyContribution).toSelf().inSingletonScope();
66
+ bind(remote_copy_contribution_1.RemoteCopyContribution).toService(main_copy_contribution_1.MainCopyContribution);
67
+ bind(app_native_dependency_contribution_1.AppNativeDependencyContribution).toSelf().inSingletonScope();
68
+ bind(remote_native_dependency_contribution_1.RemoteNativeDependencyContribution).toService(app_native_dependency_contribution_1.AppNativeDependencyContribution);
69
+ bind(connection_container_module_1.ConnectionContainerModule).toConstantValue(exports.remoteConnectionModule);
70
+ bind(backend_remote_service_impl_1.BackendRemoteServiceImpl).toSelf().inSingletonScope();
71
+ rebind(backend_remote_service_1.BackendRemoteService).toService(backend_remote_service_impl_1.BackendRemoteServiceImpl);
72
+ bind(node_1.CliContribution).toService(backend_remote_service_impl_1.BackendRemoteServiceImpl);
73
+ bind(ssh_identity_file_collector_1.SSHIdentityFileCollector).toSelf().inSingletonScope();
74
+ });
75
+ //# sourceMappingURL=remote-backend-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-backend-module.js","sourceRoot":"","sources":["../../src/electron-node/remote-backend-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { RemoteConnection } from './remote-types';
2
+ import { Disposable } from '@theia/core';
3
+ import { RemoteCopyService } from './setup/remote-copy-service';
4
+ import { RemoteNativeDependencyService } from './setup/remote-native-dependency-service';
5
+ import { BackendApplicationContribution } from '@theia/core/lib/node';
6
+ export declare class RemoteConnectionService implements BackendApplicationContribution {
7
+ protected readonly copyService: RemoteCopyService;
8
+ protected readonly nativeDependencyService: RemoteNativeDependencyService;
9
+ protected readonly connections: Map<string, RemoteConnection>;
10
+ getConnection(id: string): RemoteConnection | undefined;
11
+ getConnectionFromPort(port: number): RemoteConnection | undefined;
12
+ register(connection: RemoteConnection): Disposable;
13
+ onStop(): void;
14
+ }
15
+ //# sourceMappingURL=remote-connection-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-connection-service.d.ts","sourceRoot":"","sources":["../../src/electron-node/remote-connection-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAEtE,qBACa,uBAAwB,YAAW,8BAA8B;IAG1E,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,6BAA6B,CAAC;IAE1E,SAAS,CAAC,QAAQ,CAAC,WAAW,gCAAuC;IAErE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIvD,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIjE,QAAQ,CAAC,UAAU,EAAE,gBAAgB,GAAG,UAAU;IAOlD,MAAM,IAAI,IAAI;CAKjB"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 TypeFox 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-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
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
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.RemoteConnectionService = void 0;
28
+ const inversify_1 = require("@theia/core/shared/inversify");
29
+ const core_1 = require("@theia/core");
30
+ const remote_copy_service_1 = require("./setup/remote-copy-service");
31
+ const remote_native_dependency_service_1 = require("./setup/remote-native-dependency-service");
32
+ let RemoteConnectionService = class RemoteConnectionService {
33
+ constructor() {
34
+ this.connections = new Map();
35
+ }
36
+ getConnection(id) {
37
+ return this.connections.get(id);
38
+ }
39
+ getConnectionFromPort(port) {
40
+ return Array.from(this.connections.values()).find(connection => connection.localPort === port);
41
+ }
42
+ register(connection) {
43
+ this.connections.set(connection.id, connection);
44
+ return core_1.Disposable.create(() => {
45
+ this.connections.delete(connection.id);
46
+ });
47
+ }
48
+ onStop() {
49
+ for (const connection of this.connections.values()) {
50
+ connection.dispose();
51
+ }
52
+ }
53
+ };
54
+ __decorate([
55
+ (0, inversify_1.inject)(remote_copy_service_1.RemoteCopyService),
56
+ __metadata("design:type", remote_copy_service_1.RemoteCopyService)
57
+ ], RemoteConnectionService.prototype, "copyService", void 0);
58
+ __decorate([
59
+ (0, inversify_1.inject)(remote_native_dependency_service_1.RemoteNativeDependencyService),
60
+ __metadata("design:type", remote_native_dependency_service_1.RemoteNativeDependencyService)
61
+ ], RemoteConnectionService.prototype, "nativeDependencyService", void 0);
62
+ RemoteConnectionService = __decorate([
63
+ (0, inversify_1.injectable)()
64
+ ], RemoteConnectionService);
65
+ exports.RemoteConnectionService = RemoteConnectionService;
66
+ //# sourceMappingURL=remote-connection-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-connection-service.js","sourceRoot":"","sources":["../../src/electron-node/remote-connection-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;;;;AAEhF,4DAAkE;AAElE,sCAAyC;AACzC,qEAAgE;AAChE,+FAAyF;AAIzF,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAApC;QAQuB,gBAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;IAsBzE,CAAC;IApBG,aAAa,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,qBAAqB,CAAC,IAAY;QAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACnG,CAAC;IAED,QAAQ,CAAC,UAA4B;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAChD,OAAO,iBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE;YAChD,UAAU,CAAC,OAAO,EAAE,CAAC;SACxB;IACL,CAAC;CACJ,CAAA;AA3BG;IADC,IAAA,kBAAM,EAAC,uCAAiB,CAAC;8BACM,uCAAiB;4DAAC;AAGlD;IADC,IAAA,kBAAM,EAAC,gEAA6B,CAAC;8BACM,gEAA6B;wEAAC;AANjE,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CA8BnC;AA9BY,0DAAuB"}
@@ -0,0 +1,9 @@
1
+ import { Socket } from 'socket.io-client';
2
+ export interface RemoteProxySocketProviderOptions {
3
+ port: number;
4
+ path: string;
5
+ }
6
+ export declare class RemoteConnectionSocketProvider {
7
+ getProxySocket(options: RemoteProxySocketProviderOptions): Socket;
8
+ }
9
+ //# sourceMappingURL=remote-connection-socket-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-connection-socket-provider.d.ts","sourceRoot":"","sources":["../../src/electron-node/remote-connection-socket-provider.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAM,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,gCAAgC;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,qBACa,8BAA8B;IAEvC,cAAc,CAAC,OAAO,EAAE,gCAAgC,GAAG,MAAM;CAMpE"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 TypeFox 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-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.RemoteConnectionSocketProvider = void 0;
25
+ const inversify_1 = require("@theia/core/shared/inversify");
26
+ const socket_io_client_1 = require("socket.io-client");
27
+ let RemoteConnectionSocketProvider = class RemoteConnectionSocketProvider {
28
+ getProxySocket(options) {
29
+ const socket = (0, socket_io_client_1.io)(`ws://localhost:${options.port}${options.path}`);
30
+ socket.connect();
31
+ return socket;
32
+ }
33
+ };
34
+ RemoteConnectionSocketProvider = __decorate([
35
+ (0, inversify_1.injectable)()
36
+ ], RemoteConnectionSocketProvider);
37
+ exports.RemoteConnectionSocketProvider = RemoteConnectionSocketProvider;
38
+ //# sourceMappingURL=remote-connection-socket-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-connection-socket-provider.js","sourceRoot":"","sources":["../../src/electron-node/remote-connection-socket-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;AAEhF,4DAA0D;AAC1D,uDAA8C;AAQ9C,IAAa,8BAA8B,GAA3C,MAAa,8BAA8B;IAEvC,cAAc,CAAC,OAAyC;QACpD,MAAM,MAAM,GAAG,IAAA,qBAAE,EAAC,kBAAkB,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;CAEJ,CAAA;AARY,8BAA8B;IAD1C,IAAA,sBAAU,GAAE;GACA,8BAA8B,CAQ1C;AARY,wEAA8B"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ import * as net from 'net';
3
+ export declare class RemoteProxyServerProvider {
4
+ getProxyServer(callback?: (socket: net.Socket) => void): Promise<net.Server>;
5
+ }
6
+ //# sourceMappingURL=remote-proxy-server-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-proxy-server-provider.d.ts","sourceRoot":"","sources":["../../src/electron-node/remote-proxy-server-provider.ts"],"names":[],"mappings":";AAkBA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,qBACa,yBAAyB;IAE5B,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;CAarF"}