@theia/plugin-ext 1.45.1 → 1.46.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 (291) hide show
  1. package/lib/common/plugin-api-rpc.d.ts +9 -4
  2. package/lib/common/plugin-api-rpc.d.ts.map +1 -1
  3. package/lib/common/plugin-api-rpc.js +3 -1
  4. package/lib/common/plugin-api-rpc.js.map +1 -1
  5. package/lib/common/plugin-ext-api-contribution.d.ts +35 -5
  6. package/lib/common/plugin-ext-api-contribution.d.ts.map +1 -1
  7. package/lib/common/plugin-ext-api-contribution.js.map +1 -1
  8. package/lib/common/plugin-protocol.d.ts +5 -2
  9. package/lib/common/plugin-protocol.d.ts.map +1 -1
  10. package/lib/common/plugin-protocol.js +1 -0
  11. package/lib/common/plugin-protocol.js.map +1 -1
  12. package/lib/common/proxy-handler.d.ts +7 -0
  13. package/lib/common/proxy-handler.d.ts.map +1 -1
  14. package/lib/common/proxy-handler.js +5 -1
  15. package/lib/common/proxy-handler.js.map +1 -1
  16. package/lib/common/rpc-protocol.d.ts +10 -0
  17. package/lib/common/rpc-protocol.d.ts.map +1 -1
  18. package/lib/common/rpc-protocol.js +32 -3
  19. package/lib/common/rpc-protocol.js.map +1 -1
  20. package/lib/hosted/browser/hosted-plugin.d.ts +16 -74
  21. package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
  22. package/lib/hosted/browser/hosted-plugin.js +41 -314
  23. package/lib/hosted/browser/hosted-plugin.js.map +1 -1
  24. package/lib/hosted/browser/worker/debug-stub.d.ts +2 -2
  25. package/lib/hosted/browser/worker/debug-stub.d.ts.map +1 -1
  26. package/lib/hosted/browser/worker/debug-stub.js +3 -3
  27. package/lib/hosted/browser/worker/debug-stub.js.map +1 -1
  28. package/lib/hosted/browser/worker/worker-env-ext.d.ts +1 -2
  29. package/lib/hosted/browser/worker/worker-env-ext.d.ts.map +1 -1
  30. package/lib/hosted/browser/worker/worker-env-ext.js +18 -4
  31. package/lib/hosted/browser/worker/worker-env-ext.js.map +1 -1
  32. package/lib/hosted/browser/worker/worker-main.js +20 -32
  33. package/lib/hosted/browser/worker/worker-main.js.map +1 -1
  34. package/lib/hosted/browser/worker/worker-plugin-module.d.ts +5 -0
  35. package/lib/hosted/browser/worker/worker-plugin-module.d.ts.map +1 -0
  36. package/lib/hosted/browser/worker/worker-plugin-module.js +71 -0
  37. package/lib/hosted/browser/worker/worker-plugin-module.js.map +1 -0
  38. package/lib/hosted/common/hosted-plugin.d.ts +97 -0
  39. package/lib/hosted/common/hosted-plugin.d.ts.map +1 -0
  40. package/lib/hosted/common/hosted-plugin.js +408 -0
  41. package/lib/hosted/common/hosted-plugin.js.map +1 -0
  42. package/lib/hosted/node/hosted-plugin-process.d.ts +1 -1
  43. package/lib/hosted/node/hosted-plugin-process.d.ts.map +1 -1
  44. package/lib/hosted/node/hosted-plugin-process.js +2 -2
  45. package/lib/hosted/node/hosted-plugin-process.js.map +1 -1
  46. package/lib/hosted/node/plugin-ext-hosted-backend-module.d.ts.map +1 -1
  47. package/lib/hosted/node/plugin-ext-hosted-backend-module.js +2 -0
  48. package/lib/hosted/node/plugin-ext-hosted-backend-module.js.map +1 -1
  49. package/lib/hosted/node/plugin-host-module.d.ts +5 -0
  50. package/lib/hosted/node/plugin-host-module.d.ts.map +1 -0
  51. package/lib/hosted/node/plugin-host-module.js +68 -0
  52. package/lib/hosted/node/plugin-host-module.js.map +1 -0
  53. package/lib/hosted/node/plugin-host-rpc.d.ts +93 -7
  54. package/lib/hosted/node/plugin-host-rpc.d.ts.map +1 -1
  55. package/lib/hosted/node/plugin-host-rpc.js +202 -53
  56. package/lib/hosted/node/plugin-host-rpc.js.map +1 -1
  57. package/lib/hosted/node/plugin-host.js +6 -5
  58. package/lib/hosted/node/plugin-host.js.map +1 -1
  59. package/lib/hosted/node/plugin-reader.d.ts.map +1 -1
  60. package/lib/hosted/node/plugin-reader.js +3 -0
  61. package/lib/hosted/node/plugin-reader.js.map +1 -1
  62. package/lib/hosted/node/plugin-service.d.ts +8 -0
  63. package/lib/hosted/node/plugin-service.d.ts.map +1 -1
  64. package/lib/hosted/node/plugin-service.js +14 -4
  65. package/lib/hosted/node/plugin-service.js.map +1 -1
  66. package/lib/hosted/node/scanners/file-plugin-uri-factory.js +1 -1
  67. package/lib/hosted/node/scanners/file-plugin-uri-factory.js.map +1 -1
  68. package/lib/hosted/node/scanners/scanner-theia.d.ts +17 -3
  69. package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
  70. package/lib/hosted/node/scanners/scanner-theia.js +48 -19
  71. package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
  72. package/lib/main/browser/authentication-main.d.ts.map +1 -1
  73. package/lib/main/browser/authentication-main.js +3 -1
  74. package/lib/main/browser/authentication-main.js.map +1 -1
  75. package/lib/main/browser/env-main.d.ts +1 -10
  76. package/lib/main/browser/env-main.d.ts.map +1 -1
  77. package/lib/main/browser/env-main.js +2 -21
  78. package/lib/main/browser/env-main.js.map +1 -1
  79. package/lib/main/browser/menus/menus-contribution-handler.d.ts.map +1 -1
  80. package/lib/main/browser/menus/menus-contribution-handler.js +6 -3
  81. package/lib/main/browser/menus/menus-contribution-handler.js.map +1 -1
  82. package/lib/main/browser/menus/plugin-menu-command-adapter.js +1 -1
  83. package/lib/main/browser/menus/plugin-menu-command-adapter.js.map +1 -1
  84. package/lib/main/browser/message-registry-main.d.ts +6 -4
  85. package/lib/main/browser/message-registry-main.d.ts.map +1 -1
  86. package/lib/main/browser/message-registry-main.js +7 -19
  87. package/lib/main/browser/message-registry-main.js.map +1 -1
  88. package/lib/main/browser/notebooks/renderers/cell-output-webview.d.ts +1 -0
  89. package/lib/main/browser/notebooks/renderers/cell-output-webview.d.ts.map +1 -1
  90. package/lib/main/browser/notebooks/renderers/cell-output-webview.js +23 -22
  91. package/lib/main/browser/notebooks/renderers/cell-output-webview.js.map +1 -1
  92. package/lib/main/browser/notebooks/renderers/output-webview-internal.d.ts.map +1 -1
  93. package/lib/main/browser/notebooks/renderers/output-webview-internal.js +22 -14
  94. package/lib/main/browser/notebooks/renderers/output-webview-internal.js.map +1 -1
  95. package/lib/main/browser/notebooks/renderers/webview-communication.d.ts +2 -1
  96. package/lib/main/browser/notebooks/renderers/webview-communication.d.ts.map +1 -1
  97. package/lib/main/browser/notification-main.d.ts +2 -14
  98. package/lib/main/browser/notification-main.d.ts.map +1 -1
  99. package/lib/main/browser/notification-main.js +3 -52
  100. package/lib/main/browser/notification-main.js.map +1 -1
  101. package/lib/main/browser/terminal-main.d.ts +1 -1
  102. package/lib/main/browser/terminal-main.d.ts.map +1 -1
  103. package/lib/main/browser/terminal-main.js +2 -2
  104. package/lib/main/browser/terminal-main.js.map +1 -1
  105. package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
  106. package/lib/main/browser/view/plugin-view-registry.js +5 -2
  107. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  108. package/lib/main/browser/webview/webview-context-keys.d.ts +5 -1
  109. package/lib/main/browser/webview/webview-context-keys.d.ts.map +1 -1
  110. package/lib/main/browser/webview/webview-context-keys.js +13 -4
  111. package/lib/main/browser/webview/webview-context-keys.js.map +1 -1
  112. package/lib/main/browser/webview/webview-widget-factory.d.ts.map +1 -1
  113. package/lib/main/browser/webview/webview-widget-factory.js +2 -1
  114. package/lib/main/browser/webview/webview-widget-factory.js.map +1 -1
  115. package/lib/main/browser/webview/webview.d.ts +1 -0
  116. package/lib/main/browser/webview/webview.d.ts.map +1 -1
  117. package/lib/main/browser/webview/webview.js +1 -0
  118. package/lib/main/browser/webview/webview.js.map +1 -1
  119. package/lib/main/browser/webviews-main.d.ts.map +1 -1
  120. package/lib/main/browser/webviews-main.js +7 -2
  121. package/lib/main/browser/webviews-main.js.map +1 -1
  122. package/lib/main/common/basic-message-registry-main.d.ts +14 -0
  123. package/lib/main/common/basic-message-registry-main.d.ts.map +1 -0
  124. package/lib/main/common/basic-message-registry-main.js +50 -0
  125. package/lib/main/common/basic-message-registry-main.js.map +1 -0
  126. package/lib/main/common/basic-notification-main.d.ts +19 -0
  127. package/lib/main/common/basic-notification-main.d.ts.map +1 -0
  128. package/lib/main/common/basic-notification-main.js +75 -0
  129. package/lib/main/common/basic-notification-main.js.map +1 -0
  130. package/lib/main/common/env-main.d.ts +11 -0
  131. package/lib/main/common/env-main.d.ts.map +1 -0
  132. package/lib/main/common/env-main.js +40 -0
  133. package/lib/main/common/env-main.js.map +1 -0
  134. package/lib/main/node/handlers/plugin-theia-directory-handler.d.ts +8 -3
  135. package/lib/main/node/handlers/plugin-theia-directory-handler.d.ts.map +1 -1
  136. package/lib/main/node/handlers/plugin-theia-directory-handler.js +38 -20
  137. package/lib/main/node/handlers/plugin-theia-directory-handler.js.map +1 -1
  138. package/lib/main/node/handlers/plugin-theia-file-handler.js +1 -1
  139. package/lib/main/node/handlers/plugin-theia-file-handler.js.map +1 -1
  140. package/lib/main/node/plugin-deployer-impl.d.ts.map +1 -1
  141. package/lib/main/node/plugin-deployer-impl.js +5 -1
  142. package/lib/main/node/plugin-deployer-impl.js.map +1 -1
  143. package/lib/main/node/plugins-key-value-storage.js +1 -1
  144. package/lib/main/node/plugins-key-value-storage.js.map +1 -1
  145. package/lib/plugin/clipboard-ext.d.ts +3 -2
  146. package/lib/plugin/clipboard-ext.d.ts.map +1 -1
  147. package/lib/plugin/clipboard-ext.js +28 -4
  148. package/lib/plugin/clipboard-ext.js.map +1 -1
  149. package/lib/plugin/debug/debug-ext.d.ts +3 -1
  150. package/lib/plugin/debug/debug-ext.d.ts.map +1 -1
  151. package/lib/plugin/debug/debug-ext.js +31 -4
  152. package/lib/plugin/debug/debug-ext.js.map +1 -1
  153. package/lib/plugin/documents.js +2 -2
  154. package/lib/plugin/documents.js.map +1 -1
  155. package/lib/plugin/editors-and-documents.d.ts +1 -2
  156. package/lib/plugin/editors-and-documents.d.ts.map +1 -1
  157. package/lib/plugin/editors-and-documents.js +21 -4
  158. package/lib/plugin/editors-and-documents.js.map +1 -1
  159. package/lib/plugin/env.d.ts +6 -2
  160. package/lib/plugin/env.d.ts.map +1 -1
  161. package/lib/plugin/env.js +37 -4
  162. package/lib/plugin/env.js.map +1 -1
  163. package/lib/plugin/localization-ext.d.ts +3 -2
  164. package/lib/plugin/localization-ext.d.ts.map +1 -1
  165. package/lib/plugin/localization-ext.js +30 -4
  166. package/lib/plugin/localization-ext.js.map +1 -1
  167. package/lib/plugin/message-registry.d.ts +2 -1
  168. package/lib/plugin/message-registry.d.ts.map +1 -1
  169. package/lib/plugin/message-registry.js +28 -4
  170. package/lib/plugin/message-registry.js.map +1 -1
  171. package/lib/plugin/node/debug/debug.spec.js +21 -1
  172. package/lib/plugin/node/debug/debug.spec.js.map +1 -1
  173. package/lib/plugin/node/env-node-ext.d.ts +1 -6
  174. package/lib/plugin/node/env-node-ext.d.ts.map +1 -1
  175. package/lib/plugin/node/env-node-ext.js +18 -10
  176. package/lib/plugin/node/env-node-ext.js.map +1 -1
  177. package/lib/plugin/node/plugin-container-module.d.ts +75 -0
  178. package/lib/plugin/node/plugin-container-module.d.ts.map +1 -0
  179. package/lib/plugin/node/plugin-container-module.js +115 -0
  180. package/lib/plugin/node/plugin-container-module.js.map +1 -0
  181. package/lib/plugin/notebook/notebook-kernels.d.ts.map +1 -1
  182. package/lib/plugin/notebook/notebook-kernels.js +0 -1
  183. package/lib/plugin/notebook/notebook-kernels.js.map +1 -1
  184. package/lib/plugin/plugin-context.d.ts.map +1 -1
  185. package/lib/plugin/plugin-context.js +9 -1
  186. package/lib/plugin/plugin-context.js.map +1 -1
  187. package/lib/plugin/plugin-manager.d.ts +26 -17
  188. package/lib/plugin/plugin-manager.d.ts.map +1 -1
  189. package/lib/plugin/plugin-manager.js +107 -37
  190. package/lib/plugin/plugin-manager.js.map +1 -1
  191. package/lib/plugin/plugin-storage.d.ts +11 -3
  192. package/lib/plugin/plugin-storage.d.ts.map +1 -1
  193. package/lib/plugin/plugin-storage.js +25 -5
  194. package/lib/plugin/plugin-storage.js.map +1 -1
  195. package/lib/plugin/preference-registry.d.ts +3 -2
  196. package/lib/plugin/preference-registry.d.ts.map +1 -1
  197. package/lib/plugin/preference-registry.js +35 -5
  198. package/lib/plugin/preference-registry.js.map +1 -1
  199. package/lib/plugin/preference-registry.spec.js +8 -1
  200. package/lib/plugin/preference-registry.spec.js.map +1 -1
  201. package/lib/plugin/quick-open.js +3 -3
  202. package/lib/plugin/quick-open.js.map +1 -1
  203. package/lib/plugin/secrets-ext.d.ts +16 -7
  204. package/lib/plugin/secrets-ext.d.ts.map +1 -1
  205. package/lib/plugin/secrets-ext.js +23 -3
  206. package/lib/plugin/secrets-ext.js.map +1 -1
  207. package/lib/plugin/terminal-ext.d.ts +1 -1
  208. package/lib/plugin/terminal-ext.d.ts.map +1 -1
  209. package/lib/plugin/terminal-ext.js +26 -6
  210. package/lib/plugin/terminal-ext.js.map +1 -1
  211. package/lib/plugin/types-impl.d.ts +22 -2
  212. package/lib/plugin/types-impl.d.ts.map +1 -1
  213. package/lib/plugin/types-impl.js +22 -6
  214. package/lib/plugin/types-impl.js.map +1 -1
  215. package/lib/plugin/webview-views.d.ts.map +1 -1
  216. package/lib/plugin/webview-views.js +2 -1
  217. package/lib/plugin/webview-views.js.map +1 -1
  218. package/lib/plugin/webviews.d.ts +7 -5
  219. package/lib/plugin/webviews.d.ts.map +1 -1
  220. package/lib/plugin/webviews.js +46 -12
  221. package/lib/plugin/webviews.js.map +1 -1
  222. package/lib/plugin/workspace.d.ts +4 -3
  223. package/lib/plugin/workspace.d.ts.map +1 -1
  224. package/lib/plugin/workspace.js +40 -6
  225. package/lib/plugin/workspace.js.map +1 -1
  226. package/package.json +29 -29
  227. package/src/common/plugin-api-rpc.ts +10 -6
  228. package/src/common/plugin-ext-api-contribution.ts +38 -5
  229. package/src/common/plugin-protocol.ts +7 -2
  230. package/src/common/proxy-handler.ts +14 -1
  231. package/src/common/rpc-protocol.ts +41 -3
  232. package/src/hosted/browser/hosted-plugin.ts +47 -337
  233. package/src/hosted/browser/worker/debug-stub.ts +4 -3
  234. package/src/hosted/browser/worker/worker-env-ext.ts +5 -4
  235. package/src/hosted/browser/worker/worker-main.ts +103 -115
  236. package/src/hosted/browser/worker/worker-plugin-module.ts +73 -0
  237. package/src/hosted/common/hosted-plugin.ts +456 -0
  238. package/src/hosted/node/hosted-plugin-process.ts +4 -4
  239. package/src/hosted/node/plugin-ext-hosted-backend-module.ts +3 -1
  240. package/src/hosted/node/plugin-host-module.ts +69 -0
  241. package/src/hosted/node/plugin-host-rpc.ts +232 -73
  242. package/src/hosted/node/plugin-host.ts +9 -7
  243. package/src/hosted/node/plugin-reader.ts +3 -0
  244. package/src/hosted/node/plugin-service.ts +21 -4
  245. package/src/hosted/node/scanners/file-plugin-uri-factory.ts +1 -1
  246. package/src/hosted/node/scanners/scanner-theia.ts +46 -12
  247. package/src/main/browser/authentication-main.ts +3 -1
  248. package/src/main/browser/env-main.ts +1 -28
  249. package/src/main/browser/menus/menus-contribution-handler.ts +8 -3
  250. package/src/main/browser/menus/plugin-menu-command-adapter.ts +1 -1
  251. package/src/main/browser/message-registry-main.ts +10 -23
  252. package/src/main/browser/notebooks/renderers/cell-output-webview.tsx +26 -24
  253. package/src/main/browser/notebooks/renderers/output-webview-internal.ts +22 -13
  254. package/src/main/browser/notebooks/renderers/webview-communication.ts +2 -1
  255. package/src/main/browser/notification-main.ts +4 -64
  256. package/src/main/browser/terminal-main.ts +2 -2
  257. package/src/main/browser/view/plugin-view-registry.ts +6 -3
  258. package/src/main/browser/webview/webview-context-keys.ts +17 -4
  259. package/src/main/browser/webview/webview-widget-factory.ts +2 -1
  260. package/src/main/browser/webview/webview.ts +2 -0
  261. package/src/main/browser/webviews-main.ts +7 -2
  262. package/src/main/common/basic-message-registry-main.ts +53 -0
  263. package/src/main/common/basic-notification-main.ts +86 -0
  264. package/src/main/common/env-main.ts +44 -0
  265. package/src/main/node/handlers/plugin-theia-directory-handler.ts +38 -16
  266. package/src/main/node/handlers/plugin-theia-file-handler.ts +1 -1
  267. package/src/main/node/plugin-deployer-impl.ts +5 -1
  268. package/src/main/node/plugins-key-value-storage.ts +1 -1
  269. package/src/plugin/clipboard-ext.ts +9 -3
  270. package/src/plugin/debug/debug-ext.ts +11 -2
  271. package/src/plugin/documents.ts +2 -2
  272. package/src/plugin/editors-and-documents.ts +5 -3
  273. package/src/plugin/env.ts +19 -3
  274. package/src/plugin/localization-ext.ts +8 -3
  275. package/src/plugin/message-registry.ts +7 -2
  276. package/src/plugin/node/debug/debug.spec.ts +5 -1
  277. package/src/plugin/node/env-node-ext.ts +5 -10
  278. package/src/plugin/node/plugin-container-module.ts +165 -0
  279. package/src/plugin/notebook/notebook-kernels.ts +0 -1
  280. package/src/plugin/plugin-context.ts +11 -2
  281. package/src/plugin/plugin-manager.ts +99 -45
  282. package/src/plugin/plugin-storage.ts +22 -4
  283. package/src/plugin/preference-registry.spec.ts +6 -1
  284. package/src/plugin/preference-registry.ts +11 -5
  285. package/src/plugin/quick-open.ts +3 -3
  286. package/src/plugin/secrets-ext.ts +25 -5
  287. package/src/plugin/terminal-ext.ts +5 -3
  288. package/src/plugin/types-impl.ts +30 -2
  289. package/src/plugin/webview-views.ts +2 -1
  290. package/src/plugin/webviews.ts +22 -13
  291. package/src/plugin/workspace.ts +14 -4
@@ -1,22 +1,108 @@
1
- import { PluginManagerExtImpl } from '../../plugin/plugin-manager';
2
- import { LocalizationExt, Plugin } from '../../common/plugin-api-rpc';
1
+ import { ContainerModule } from '@theia/core/shared/inversify';
2
+ import { AbstractPluginManagerExtImpl, PluginHost, PluginManagerExtImpl } from '../../plugin/plugin-manager';
3
+ import { Plugin, PluginAPIFactory } from '../../common/plugin-api-rpc';
4
+ import { PluginModel } from '../../common/plugin-protocol';
3
5
  import { EnvExtImpl } from '../../plugin/env';
4
6
  import { PreferenceRegistryExtImpl } from '../../plugin/preference-registry';
7
+ import { ExtPluginApi } from '../../common/plugin-ext-api-contribution';
8
+ import { DebugExtImpl } from '../../plugin/debug/debug-ext';
9
+ import { EditorsAndDocumentsExtImpl } from '../../plugin/editors-and-documents';
10
+ import { WorkspaceExtImpl } from '../../plugin/workspace';
11
+ import { MessageRegistryExt } from '../../plugin/message-registry';
12
+ import { ClipboardExt } from '../../plugin/clipboard-ext';
5
13
  import { KeyValueStorageProxy } from '../../plugin/plugin-storage';
6
14
  import { WebviewsExtImpl } from '../../plugin/webviews';
7
15
  import { TerminalServiceExtImpl } from '../../plugin/terminal-ext';
8
16
  import { SecretsExtImpl } from '../../plugin/secrets-ext';
17
+ import { LocalizationExtImpl } from '../../plugin/localization-ext';
18
+ import { ProxyIdentifier } from '../../common/rpc-protocol';
19
+ import { PluginApiCache } from '../../plugin/node/plugin-container-module';
20
+ /**
21
+ * The full set of all possible `Ext` interfaces that a plugin manager can support.
22
+ */
23
+ export interface ExtInterfaces {
24
+ envExt: EnvExtImpl;
25
+ storageExt: KeyValueStorageProxy;
26
+ debugExt: DebugExtImpl;
27
+ editorsAndDocumentsExt: EditorsAndDocumentsExtImpl;
28
+ messageRegistryExt: MessageRegistryExt;
29
+ workspaceExt: WorkspaceExtImpl;
30
+ preferenceRegistryExt: PreferenceRegistryExtImpl;
31
+ clipboardExt: ClipboardExt;
32
+ webviewExt: WebviewsExtImpl;
33
+ terminalServiceExt: TerminalServiceExtImpl;
34
+ secretsExt: SecretsExtImpl;
35
+ localizationExt: LocalizationExtImpl;
36
+ }
37
+ /**
38
+ * The RPC proxy identifier keys to set in the RPC object to register our `Ext` interface implementations.
39
+ */
40
+ export declare type RpcKeys<EXT extends Partial<ExtInterfaces>> = Partial<Record<keyof EXT, ProxyIdentifier<any>>> & {
41
+ $pluginManager: ProxyIdentifier<any>;
42
+ };
43
+ export declare const PluginContainerModuleLoader: unique symbol;
44
+ /**
45
+ * A function that loads a `PluginContainerModule` exported by a plugin's entry-point
46
+ * script, returning the per-`Container` cache of its exported API instances if the
47
+ * module has an API factory registered.
48
+ */
49
+ export declare type PluginContainerModuleLoader = (module: ContainerModule) => PluginApiCache<object> | undefined;
9
50
  /**
10
51
  * Handle the RPC calls.
52
+ *
53
+ * @template PM is the plugin manager (ext) type
54
+ * @template PAF is the plugin API factory type
55
+ * @template EXT is the type identifying the `Ext` interfaces supported by the plugin manager
11
56
  */
12
- export declare class PluginHostRPC {
57
+ export declare abstract class AbstractPluginHostRPC<PM extends AbstractPluginManagerExtImpl<any>, PAF, EXT extends Partial<ExtInterfaces>> {
58
+ private readonly backendInitPath;
59
+ private readonly extRpc;
13
60
  protected readonly rpc: any;
14
- private apiFactory;
15
- private pluginManager;
16
- constructor(rpc: any);
61
+ protected readonly loadContainerModule: PluginContainerModuleLoader;
62
+ protected readonly pluginManager: PM;
63
+ protected readonly banner: string;
64
+ protected apiFactory: PAF;
65
+ constructor(name: string, backendInitPath: string | undefined, extRpc: RpcKeys<EXT>);
17
66
  initialize(): void;
18
67
  terminate(): Promise<void>;
68
+ protected abstract createAPIFactory(extInterfaces: EXT): PAF;
69
+ protected abstract createExtInterfaces(): EXT;
70
+ protected registerExtInterfaces(extInterfaces: EXT): void;
19
71
  initContext(contextPath: string, plugin: Plugin): void;
20
- createPluginManager(envExt: EnvExtImpl, terminalService: TerminalServiceExtImpl, storageProxy: KeyValueStorageProxy, preferencesManager: PreferenceRegistryExtImpl, webview: WebviewsExtImpl, secretsExt: SecretsExtImpl, localization: LocalizationExt, rpc: any): PluginManagerExtImpl;
72
+ protected getBackendPluginPath(pluginModel: PluginModel): string | undefined;
73
+ /**
74
+ * Create the {@link PluginHost} that is required by my plugin manager ext interface to delegate
75
+ * critical behaviour such as loading and initializing plugins to me.
76
+ */
77
+ createPluginHost(): PluginHost;
78
+ /**
79
+ * Initialize the end of the given provided extension API applicable to the current plugin host.
80
+ * Errors should be propagated to the caller.
81
+ *
82
+ * @param extApi the extension API to initialize, if appropriate
83
+ * @throws if any error occurs in initializing the extension API
84
+ */
85
+ protected abstract initExtApi(extApi: ExtPluginApi): void;
86
+ }
87
+ /**
88
+ * The RPC handler for frontend-connection-scoped plugins (Theia and VSCode plugins).
89
+ */
90
+ export declare class PluginHostRPC extends AbstractPluginHostRPC<PluginManagerExtImpl, PluginAPIFactory, ExtInterfaces> {
91
+ protected readonly envExt: EnvExtImpl;
92
+ protected readonly localizationExt: LocalizationExtImpl;
93
+ protected readonly keyValueStorageProxy: KeyValueStorageProxy;
94
+ protected readonly debugExt: DebugExtImpl;
95
+ protected readonly editorsAndDocumentsExt: EditorsAndDocumentsExtImpl;
96
+ protected readonly messageRegistryExt: MessageRegistryExt;
97
+ protected readonly workspaceExt: WorkspaceExtImpl;
98
+ protected readonly preferenceRegistryExt: PreferenceRegistryExtImpl;
99
+ protected readonly clipboardExt: ClipboardExt;
100
+ protected readonly webviewExt: WebviewsExtImpl;
101
+ protected readonly terminalServiceExt: TerminalServiceExtImpl;
102
+ protected readonly secretsExt: SecretsExtImpl;
103
+ constructor();
104
+ protected createExtInterfaces(): ExtInterfaces;
105
+ protected createAPIFactory(extInterfaces: ExtInterfaces): PluginAPIFactory;
106
+ protected initExtApi(extApi: ExtPluginApi): void;
21
107
  }
22
108
  //# sourceMappingURL=plugin-host-rpc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-host-rpc.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-rpc.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAoB,MAAM,EAAoB,MAAM,6BAA6B,CAAC;AAG1G,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAS7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK1D;;GAEG;AACH,qBAAa,aAAa;IAOV,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG;IALvC,OAAO,CAAC,UAAU,CAAmB;IAErC,OAAO,CAAC,aAAa,CAAuB;gBAGb,GAAG,EAAE,GAAG;IAGvC,UAAU,IAAI,IAAI;IAsCZ,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWtD,mBAAmB,CACf,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,sBAAsB,EAAE,YAAY,EAAE,oBAAoB,EAC/F,kBAAkB,EAAE,yBAAyB,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAElI,GAAG,EAAE,GAAG,GACT,oBAAoB;CA2G1B"}
1
+ {"version":3,"file":"plugin-host-rpc.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-rpc.ts"],"names":[],"mappings":"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"}
@@ -14,18 +14,32 @@
14
14
  //
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
27
+ return function (target, key) { decorator(target, key, paramIndex); }
28
+ };
17
29
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.PluginHostRPC = void 0;
30
+ exports.PluginHostRPC = exports.AbstractPluginHostRPC = exports.PluginContainerModuleLoader = void 0;
31
+ /* eslint-disable @typescript-eslint/no-explicit-any */
19
32
  const dynamic_require_1 = require("@theia/core/lib/node/dynamic-require");
33
+ const inversify_1 = require("@theia/core/shared/inversify");
20
34
  const plugin_manager_1 = require("../../plugin/plugin-manager");
21
35
  const plugin_api_rpc_1 = require("../../common/plugin-api-rpc");
22
36
  const plugin_context_1 = require("../../plugin/plugin-context");
37
+ const env_1 = require("../../plugin/env");
23
38
  const preference_registry_1 = require("../../plugin/preference-registry");
24
39
  const debug_ext_1 = require("../../plugin/debug/debug-ext");
25
40
  const editors_and_documents_1 = require("../../plugin/editors-and-documents");
26
41
  const workspace_1 = require("../../plugin/workspace");
27
42
  const message_registry_1 = require("../../plugin/message-registry");
28
- const env_node_ext_1 = require("../../plugin/node/env-node-ext");
29
43
  const clipboard_ext_1 = require("../../plugin/clipboard-ext");
30
44
  const plugin_manifest_loader_1 = require("./plugin-manifest-loader");
31
45
  const plugin_storage_1 = require("../../plugin/plugin-storage");
@@ -34,44 +48,46 @@ const terminal_ext_1 = require("../../plugin/terminal-ext");
34
48
  const secrets_ext_1 = require("../../plugin/secrets-ext");
35
49
  const plugin_host_proxy_1 = require("./plugin-host-proxy");
36
50
  const localization_ext_1 = require("../../plugin/localization-ext");
51
+ const rpc_protocol_1 = require("../../common/rpc-protocol");
52
+ exports.PluginContainerModuleLoader = Symbol('PluginContainerModuleLoader');
37
53
  /**
38
54
  * Handle the RPC calls.
55
+ *
56
+ * @template PM is the plugin manager (ext) type
57
+ * @template PAF is the plugin API factory type
58
+ * @template EXT is the type identifying the `Ext` interfaces supported by the plugin manager
39
59
  */
40
- class PluginHostRPC {
41
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
- constructor(rpc) {
43
- this.rpc = rpc;
60
+ let AbstractPluginHostRPC = class AbstractPluginHostRPC {
61
+ constructor(name, backendInitPath, extRpc) {
62
+ this.backendInitPath = backendInitPath;
63
+ this.extRpc = extRpc;
64
+ this.banner = `${name}(${process.pid}):`;
44
65
  }
45
66
  initialize() {
46
- const envExt = new env_node_ext_1.EnvNodeExtImpl(this.rpc);
47
- const storageProxy = new plugin_storage_1.KeyValueStorageProxy(this.rpc);
48
- const debugExt = new debug_ext_1.DebugExtImpl(this.rpc);
49
- const editorsAndDocumentsExt = new editors_and_documents_1.EditorsAndDocumentsExtImpl(this.rpc);
50
- const messageRegistryExt = new message_registry_1.MessageRegistryExt(this.rpc);
51
- const workspaceExt = new workspace_1.WorkspaceExtImpl(this.rpc, editorsAndDocumentsExt, messageRegistryExt);
52
- const preferenceRegistryExt = new preference_registry_1.PreferenceRegistryExtImpl(this.rpc, workspaceExt);
53
- const clipboardExt = new clipboard_ext_1.ClipboardExt(this.rpc);
54
- const webviewExt = new webviews_1.WebviewsExtImpl(this.rpc, workspaceExt);
55
- const terminalService = new terminal_ext_1.TerminalServiceExtImpl(this.rpc);
56
- const secretsExt = new secrets_ext_1.SecretsExtImpl(this.rpc);
57
- const localizationExt = new localization_ext_1.LocalizationExtImpl(this.rpc);
58
- this.pluginManager = this.createPluginManager(envExt, terminalService, storageProxy, preferenceRegistryExt, webviewExt, secretsExt, localizationExt, this.rpc);
59
- this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.HOSTED_PLUGIN_MANAGER_EXT, this.pluginManager);
60
- this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.EDITORS_AND_DOCUMENTS_EXT, editorsAndDocumentsExt);
61
- this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.WORKSPACE_EXT, workspaceExt);
62
- this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.PREFERENCE_REGISTRY_EXT, preferenceRegistryExt);
63
- this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.STORAGE_EXT, storageProxy);
64
- this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.WEBVIEWS_EXT, webviewExt);
65
- this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.SECRETS_EXT, secretsExt);
66
- this.apiFactory = (0, plugin_context_1.createAPIFactory)(this.rpc, this.pluginManager, envExt, debugExt, preferenceRegistryExt, editorsAndDocumentsExt, workspaceExt, messageRegistryExt, clipboardExt, webviewExt, localizationExt);
67
- (0, plugin_host_proxy_1.connectProxyResolver)(workspaceExt, preferenceRegistryExt);
67
+ this.pluginManager.setPluginHost(this.createPluginHost());
68
+ const extInterfaces = this.createExtInterfaces();
69
+ this.registerExtInterfaces(extInterfaces);
70
+ this.apiFactory = this.createAPIFactory(extInterfaces);
71
+ this.loadContainerModule(new inversify_1.ContainerModule(bind => bind(plugin_api_rpc_1.PluginManager).toConstantValue(this.pluginManager)));
68
72
  }
69
73
  async terminate() {
70
74
  await this.pluginManager.terminate();
71
75
  }
76
+ registerExtInterfaces(extInterfaces) {
77
+ for (const _key in this.extRpc) {
78
+ if (Object.hasOwnProperty.call(this.extRpc, _key)) {
79
+ const key = _key;
80
+ // In case of present undefineds
81
+ if (extInterfaces[key]) {
82
+ this.rpc.set(this.extRpc[key], extInterfaces[key]);
83
+ }
84
+ }
85
+ }
86
+ this.rpc.set(this.extRpc.$pluginManager, this.pluginManager);
87
+ }
72
88
  initContext(contextPath, plugin) {
73
89
  const { name, version } = plugin.rawModel;
74
- console.debug('PLUGIN_HOST(' + process.pid + '): initializing(' + name + '@' + version + ' with ' + contextPath + ')');
90
+ console.debug(this.banner, 'initializing(' + name + '@' + version + ' with ' + contextPath + ')');
75
91
  try {
76
92
  const backendInit = (0, dynamic_require_1.dynamicRequire)(contextPath);
77
93
  backendInit.doInitialization(this.apiFactory, plugin);
@@ -80,15 +96,19 @@ class PluginHostRPC {
80
96
  console.error(e);
81
97
  }
82
98
  }
83
- createPluginManager(envExt, terminalService, storageProxy, preferencesManager, webview, secretsExt, localization,
84
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
- rpc) {
99
+ getBackendPluginPath(pluginModel) {
100
+ return pluginModel.entryPoint.backend;
101
+ }
102
+ /**
103
+ * Create the {@link PluginHost} that is required by my plugin manager ext interface to delegate
104
+ * critical behaviour such as loading and initializing plugins to me.
105
+ */
106
+ createPluginHost() {
86
107
  const { extensionTestsPath } = process.env;
87
108
  const self = this;
88
- const pluginManager = new plugin_manager_1.PluginManagerExtImpl({
89
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
109
+ return {
90
110
  loadPlugin(plugin) {
91
- console.debug('PLUGIN_HOST(' + process.pid + '): PluginManagerExtImpl/loadPlugin(' + plugin.pluginPath + ')');
111
+ console.debug(self.banner, 'PluginManagerExtImpl/loadPlugin(' + plugin.pluginPath + ')');
92
112
  // cleaning the cache for all files of that plug-in.
93
113
  // this prevents a memory leak on plugin host restart. See for reference:
94
114
  // https://github.com/eclipse-theia/theia/pull/4931
@@ -99,7 +119,7 @@ class PluginHostRPC {
99
119
  }
100
120
  },
101
121
  async init(raw) {
102
- console.log('PLUGIN_HOST(' + process.pid + '): PluginManagerExtImpl/init()');
122
+ console.log(self.banner, 'PluginManagerExtImpl/init()');
103
123
  const result = [];
104
124
  const foreign = [];
105
125
  for (const plg of raw) {
@@ -120,13 +140,15 @@ class PluginHostRPC {
120
140
  });
121
141
  }
122
142
  else {
143
+ // Headless and backend plugins are, for now, very similar
123
144
  let backendInitPath = pluginLifecycle.backendInitPath;
124
145
  // if no init path, try to init as regular Theia plugin
125
- if (!backendInitPath) {
126
- backendInitPath = __dirname + '/scanners/backend-init-theia.js';
146
+ if (!backendInitPath && self.backendInitPath) {
147
+ backendInitPath = __dirname + self.backendInitPath;
127
148
  }
149
+ const pluginPath = self.getBackendPluginPath(pluginModel);
128
150
  const plugin = {
129
- pluginPath: pluginModel.entryPoint.backend,
151
+ pluginPath,
130
152
  pluginFolder: pluginModel.packagePath,
131
153
  pluginUri: pluginModel.packageUri,
132
154
  model: pluginModel,
@@ -134,31 +156,33 @@ class PluginHostRPC {
134
156
  rawModel,
135
157
  isUnderDevelopment: !!plg.isUnderDevelopment
136
158
  };
137
- self.initContext(backendInitPath, plugin);
159
+ if (backendInitPath) {
160
+ self.initContext(backendInitPath, plugin);
161
+ }
162
+ else {
163
+ const { name, version } = plugin.rawModel;
164
+ console.debug(self.banner, 'initializing(' + name + '@' + version + ' without any default API)');
165
+ }
138
166
  result.push(plugin);
139
167
  }
140
168
  }
141
169
  catch (e) {
142
- console.error(`Failed to initialize ${plg.model.id} plugin.`, e);
170
+ console.error(self.banner, `Failed to initialize ${plg.model.id} plugin.`, e);
143
171
  }
144
172
  }
145
173
  return [result, foreign];
146
174
  },
147
175
  initExtApi(extApi) {
148
176
  for (const api of extApi) {
149
- if (api.backendInitPath) {
150
- try {
151
- const extApiInit = (0, dynamic_require_1.dynamicRequire)(api.backendInitPath);
152
- extApiInit.provideApi(rpc, pluginManager);
153
- }
154
- catch (e) {
155
- console.error(e);
156
- }
177
+ try {
178
+ self.initExtApi(api);
179
+ }
180
+ catch (e) {
181
+ console.error(e);
157
182
  }
158
183
  }
159
184
  },
160
185
  loadTests: extensionTestsPath ? async () => {
161
- /* eslint-disable @typescript-eslint/no-explicit-any */
162
186
  // Require the test runner via node require from the provided path
163
187
  let testRunner;
164
188
  let requireError;
@@ -185,9 +209,134 @@ class PluginHostRPC {
185
209
  requireError.toString() :
186
210
  `Path ${extensionTestsPath} does not point to a valid extension test runner.`);
187
211
  } : undefined
188
- }, envExt, terminalService, storageProxy, secretsExt, preferencesManager, webview, localization, rpc);
189
- return pluginManager;
212
+ };
213
+ }
214
+ };
215
+ __decorate([
216
+ (0, inversify_1.inject)(rpc_protocol_1.RPCProtocol),
217
+ __metadata("design:type", Object)
218
+ ], AbstractPluginHostRPC.prototype, "rpc", void 0);
219
+ __decorate([
220
+ (0, inversify_1.inject)(exports.PluginContainerModuleLoader),
221
+ __metadata("design:type", Function)
222
+ ], AbstractPluginHostRPC.prototype, "loadContainerModule", void 0);
223
+ __decorate([
224
+ (0, inversify_1.inject)(plugin_manager_1.AbstractPluginManagerExtImpl),
225
+ __metadata("design:type", Object)
226
+ ], AbstractPluginHostRPC.prototype, "pluginManager", void 0);
227
+ __decorate([
228
+ (0, inversify_1.postConstruct)(),
229
+ __metadata("design:type", Function),
230
+ __metadata("design:paramtypes", []),
231
+ __metadata("design:returntype", void 0)
232
+ ], AbstractPluginHostRPC.prototype, "initialize", null);
233
+ AbstractPluginHostRPC = __decorate([
234
+ (0, inversify_1.injectable)(),
235
+ __param(0, (0, inversify_1.unmanaged)()),
236
+ __param(1, (0, inversify_1.unmanaged)()),
237
+ __param(2, (0, inversify_1.unmanaged)()),
238
+ __metadata("design:paramtypes", [String, Object, Object])
239
+ ], AbstractPluginHostRPC);
240
+ exports.AbstractPluginHostRPC = AbstractPluginHostRPC;
241
+ /**
242
+ * The RPC handler for frontend-connection-scoped plugins (Theia and VSCode plugins).
243
+ */
244
+ let PluginHostRPC = class PluginHostRPC extends AbstractPluginHostRPC {
245
+ constructor() {
246
+ super('PLUGIN_HOST', '/scanners/backend-init-theia.js', {
247
+ $pluginManager: plugin_api_rpc_1.MAIN_RPC_CONTEXT.HOSTED_PLUGIN_MANAGER_EXT,
248
+ editorsAndDocumentsExt: plugin_api_rpc_1.MAIN_RPC_CONTEXT.EDITORS_AND_DOCUMENTS_EXT,
249
+ workspaceExt: plugin_api_rpc_1.MAIN_RPC_CONTEXT.WORKSPACE_EXT,
250
+ preferenceRegistryExt: plugin_api_rpc_1.MAIN_RPC_CONTEXT.PREFERENCE_REGISTRY_EXT,
251
+ storageExt: plugin_api_rpc_1.MAIN_RPC_CONTEXT.STORAGE_EXT,
252
+ webviewExt: plugin_api_rpc_1.MAIN_RPC_CONTEXT.WEBVIEWS_EXT,
253
+ secretsExt: plugin_api_rpc_1.MAIN_RPC_CONTEXT.SECRETS_EXT
254
+ });
255
+ }
256
+ createExtInterfaces() {
257
+ (0, plugin_host_proxy_1.connectProxyResolver)(this.workspaceExt, this.preferenceRegistryExt);
258
+ return {
259
+ envExt: this.envExt,
260
+ storageExt: this.keyValueStorageProxy,
261
+ debugExt: this.debugExt,
262
+ editorsAndDocumentsExt: this.editorsAndDocumentsExt,
263
+ messageRegistryExt: this.messageRegistryExt,
264
+ workspaceExt: this.workspaceExt,
265
+ preferenceRegistryExt: this.preferenceRegistryExt,
266
+ clipboardExt: this.clipboardExt,
267
+ webviewExt: this.webviewExt,
268
+ terminalServiceExt: this.terminalServiceExt,
269
+ secretsExt: this.secretsExt,
270
+ localizationExt: this.localizationExt
271
+ };
272
+ }
273
+ createAPIFactory(extInterfaces) {
274
+ const { envExt, debugExt, preferenceRegistryExt, editorsAndDocumentsExt, workspaceExt, messageRegistryExt, clipboardExt, webviewExt, localizationExt } = extInterfaces;
275
+ return (0, plugin_context_1.createAPIFactory)(this.rpc, this.pluginManager, envExt, debugExt, preferenceRegistryExt, editorsAndDocumentsExt, workspaceExt, messageRegistryExt, clipboardExt, webviewExt, localizationExt);
276
+ }
277
+ initExtApi(extApi) {
278
+ if (extApi.backendInitPath) {
279
+ const { containerModule, provideApi } = (0, dynamic_require_1.dynamicRequire)(extApi.backendInitPath);
280
+ if (containerModule) {
281
+ this.loadContainerModule(containerModule);
282
+ }
283
+ if (provideApi) {
284
+ provideApi(this.rpc, this.pluginManager);
285
+ }
286
+ }
190
287
  }
191
- }
288
+ };
289
+ __decorate([
290
+ (0, inversify_1.inject)(env_1.EnvExtImpl),
291
+ __metadata("design:type", env_1.EnvExtImpl)
292
+ ], PluginHostRPC.prototype, "envExt", void 0);
293
+ __decorate([
294
+ (0, inversify_1.inject)(plugin_api_rpc_1.LocalizationExt),
295
+ __metadata("design:type", localization_ext_1.LocalizationExtImpl)
296
+ ], PluginHostRPC.prototype, "localizationExt", void 0);
297
+ __decorate([
298
+ (0, inversify_1.inject)(plugin_storage_1.KeyValueStorageProxy),
299
+ __metadata("design:type", plugin_storage_1.KeyValueStorageProxy)
300
+ ], PluginHostRPC.prototype, "keyValueStorageProxy", void 0);
301
+ __decorate([
302
+ (0, inversify_1.inject)(debug_ext_1.DebugExtImpl),
303
+ __metadata("design:type", debug_ext_1.DebugExtImpl)
304
+ ], PluginHostRPC.prototype, "debugExt", void 0);
305
+ __decorate([
306
+ (0, inversify_1.inject)(editors_and_documents_1.EditorsAndDocumentsExtImpl),
307
+ __metadata("design:type", editors_and_documents_1.EditorsAndDocumentsExtImpl)
308
+ ], PluginHostRPC.prototype, "editorsAndDocumentsExt", void 0);
309
+ __decorate([
310
+ (0, inversify_1.inject)(message_registry_1.MessageRegistryExt),
311
+ __metadata("design:type", message_registry_1.MessageRegistryExt)
312
+ ], PluginHostRPC.prototype, "messageRegistryExt", void 0);
313
+ __decorate([
314
+ (0, inversify_1.inject)(workspace_1.WorkspaceExtImpl),
315
+ __metadata("design:type", workspace_1.WorkspaceExtImpl)
316
+ ], PluginHostRPC.prototype, "workspaceExt", void 0);
317
+ __decorate([
318
+ (0, inversify_1.inject)(preference_registry_1.PreferenceRegistryExtImpl),
319
+ __metadata("design:type", preference_registry_1.PreferenceRegistryExtImpl)
320
+ ], PluginHostRPC.prototype, "preferenceRegistryExt", void 0);
321
+ __decorate([
322
+ (0, inversify_1.inject)(clipboard_ext_1.ClipboardExt),
323
+ __metadata("design:type", clipboard_ext_1.ClipboardExt)
324
+ ], PluginHostRPC.prototype, "clipboardExt", void 0);
325
+ __decorate([
326
+ (0, inversify_1.inject)(webviews_1.WebviewsExtImpl),
327
+ __metadata("design:type", webviews_1.WebviewsExtImpl)
328
+ ], PluginHostRPC.prototype, "webviewExt", void 0);
329
+ __decorate([
330
+ (0, inversify_1.inject)(terminal_ext_1.TerminalServiceExtImpl),
331
+ __metadata("design:type", terminal_ext_1.TerminalServiceExtImpl)
332
+ ], PluginHostRPC.prototype, "terminalServiceExt", void 0);
333
+ __decorate([
334
+ (0, inversify_1.inject)(secrets_ext_1.SecretsExtImpl),
335
+ __metadata("design:type", secrets_ext_1.SecretsExtImpl)
336
+ ], PluginHostRPC.prototype, "secretsExt", void 0);
337
+ PluginHostRPC = __decorate([
338
+ (0, inversify_1.injectable)(),
339
+ __metadata("design:paramtypes", [])
340
+ ], PluginHostRPC);
192
341
  exports.PluginHostRPC = PluginHostRPC;
193
342
  //# sourceMappingURL=plugin-host-rpc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-host-rpc.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-host-rpc.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-rpc.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
16
16
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
17
17
  // *****************************************************************************
18
18
  require("@theia/core/shared/reflect-metadata");
19
+ const inversify_1 = require("@theia/core/shared/inversify");
19
20
  const rpc_protocol_1 = require("../../common/rpc-protocol");
20
21
  const hosted_plugin_protocol_1 = require("./hosted-plugin-protocol");
21
22
  const plugin_host_rpc_1 = require("./plugin-host-rpc");
22
- const node_1 = require("@theia/core/lib/node");
23
+ const plugin_host_module_1 = require("./plugin-host-module");
23
24
  console.log('PLUGIN_HOST(' + process.pid + ') starting instance');
24
25
  // override exit() function, to do not allow plugin kill this node
25
26
  process.exit = function (code) {
@@ -68,8 +69,10 @@ process.on('rejectionHandled', (promise) => {
68
69
  }
69
70
  });
70
71
  let terminating = false;
71
- const channel = new node_1.IPCChannel();
72
- const rpc = new rpc_protocol_1.RPCProtocolImpl(channel);
72
+ const container = new inversify_1.Container();
73
+ container.load(plugin_host_module_1.default);
74
+ const rpc = container.get(rpc_protocol_1.RPCProtocol);
75
+ const pluginHostRPC = container.get(plugin_host_rpc_1.PluginHostRPC);
73
76
  process.on('message', async (message) => {
74
77
  if (terminating) {
75
78
  return;
@@ -97,6 +100,4 @@ process.on('message', async (message) => {
97
100
  console.error(e);
98
101
  }
99
102
  });
100
- const pluginHostRPC = new plugin_host_rpc_1.PluginHostRPC(rpc);
101
- pluginHostRPC.initialize();
102
103
  //# sourceMappingURL=plugin-host.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-host.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-host.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-reader.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-reader.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAkC,aAAa,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACjI,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,qBACa,kBAAmB,YAAW,8BAA8B;IAGrE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAGZ,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAEzF;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE3D,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI;cA8BzB,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjG;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAUtF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAarF,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc;IAiB7C,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAKtF,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;CAK3E"}
1
+ {"version":3,"file":"plugin-reader.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-reader.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAkC,aAAa,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACjI,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,qBACa,kBAAmB,YAAW,8BAA8B;IAGrE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAGZ,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAEzF;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE3D,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI;cA8BzB,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjG;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAUtF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAarF,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc;IAoB7C,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAKtF,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;CAK3E"}
@@ -104,6 +104,9 @@ let HostedPluginReader = class HostedPluginReader {
104
104
  if (pluginMetadata.model.entryPoint.backend) {
105
105
  pluginMetadata.model.entryPoint.backend = path.resolve(plugin.packagePath, pluginMetadata.model.entryPoint.backend);
106
106
  }
107
+ if (pluginMetadata.model.entryPoint.headless) {
108
+ pluginMetadata.model.entryPoint.headless = path.resolve(plugin.packagePath, pluginMetadata.model.entryPoint.headless);
109
+ }
107
110
  if (pluginMetadata) {
108
111
  // Add post processor
109
112
  if (this.metadataProcessors) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-reader.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-reader.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-reader.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,13 @@ import { HostedPluginDeployerHandler } from './hosted-plugin-deployer-handler';
6
6
  import { PluginDeployerImpl } from '../../main/node/plugin-deployer-impl';
7
7
  import { HostedPluginLocalizationService } from './hosted-plugin-localization-service';
8
8
  import { PluginUninstallationManager } from '../../main/node/plugin-uninstallation-manager';
9
+ export declare const BackendPluginHostableFilter: unique symbol;
10
+ /**
11
+ * A filter matching backend plugins that are hostable in my plugin host process.
12
+ * Only if at least one backend plugin is deployed that matches my filter will I
13
+ * start the host process.
14
+ */
15
+ export declare type BackendPluginHostableFilter = (plugin: DeployedPlugin) => boolean;
9
16
  export declare class HostedPluginServerImpl implements HostedPluginServer {
10
17
  private readonly hostedPlugin;
11
18
  protected readonly logger: ILogger;
@@ -14,6 +21,7 @@ export declare class HostedPluginServerImpl implements HostedPluginServer {
14
21
  protected readonly localizationService: HostedPluginLocalizationService;
15
22
  protected readonly extPluginAPIContributions: ContributionProvider<ExtPluginApiProvider>;
16
23
  protected readonly uninstallationManager: PluginUninstallationManager;
24
+ protected backendPluginHostableFilter: BackendPluginHostableFilter;
17
25
  protected client: HostedPluginClient | undefined;
18
26
  protected toDispose: DisposableCollection;
19
27
  protected _ignoredPlugins?: Set<PluginIdentifiers.VersionedId>;