@gitpod/gitpod-protocol 0.1.5-pluggable-workspace-cluster.21 → 0.1.5-port-description-3059-fork.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 (250) hide show
  1. package/data/gitpod-schema.json +12 -22
  2. package/lib/accounting-protocol.d.ts +3 -6
  3. package/lib/accounting-protocol.d.ts.map +1 -1
  4. package/lib/accounting-protocol.js +10 -16
  5. package/lib/accounting-protocol.js.map +1 -1
  6. package/lib/admin-protocol.d.ts +15 -4
  7. package/lib/admin-protocol.d.ts.map +1 -1
  8. package/lib/admin-protocol.js +15 -0
  9. package/lib/admin-protocol.js.map +1 -1
  10. package/lib/analytics.d.ts +45 -0
  11. package/lib/analytics.d.ts.map +1 -0
  12. package/lib/analytics.js +10 -0
  13. package/lib/analytics.js.map +1 -0
  14. package/lib/context-url.d.ts +18 -0
  15. package/lib/context-url.d.ts.map +1 -0
  16. package/lib/context-url.js +49 -0
  17. package/lib/context-url.js.map +1 -0
  18. package/lib/{util/context-url.spec.d.ts → context-url.spec.d.ts} +2 -0
  19. package/lib/context-url.spec.d.ts.map +1 -0
  20. package/lib/context-url.spec.js +73 -0
  21. package/lib/context-url.spec.js.map +1 -0
  22. package/lib/email-protocol.d.ts +1 -2
  23. package/lib/email-protocol.d.ts.map +1 -1
  24. package/lib/email-protocol.js +4 -4
  25. package/lib/email-protocol.js.map +1 -1
  26. package/lib/encryption/container-module.js +4 -4
  27. package/lib/encryption/container-module.js.map +1 -1
  28. package/lib/encryption/encryption-engine.js +19 -20
  29. package/lib/encryption/encryption-engine.js.map +1 -1
  30. package/lib/encryption/encryption-engine.spec.js +29 -36
  31. package/lib/encryption/encryption-engine.spec.js.map +1 -1
  32. package/lib/encryption/encryption-service.js +29 -43
  33. package/lib/encryption/encryption-service.js.map +1 -1
  34. package/lib/encryption/key-provider.js +25 -30
  35. package/lib/encryption/key-provider.js.map +1 -1
  36. package/lib/env.d.ts +1 -2
  37. package/lib/env.d.ts.map +1 -1
  38. package/lib/env.js +20 -21
  39. package/lib/env.js.map +1 -1
  40. package/lib/gitpod-file-parser.js +25 -41
  41. package/lib/gitpod-file-parser.js.map +1 -1
  42. package/lib/gitpod-file-parser.spec.js +116 -116
  43. package/lib/gitpod-file-parser.spec.js.map +1 -1
  44. package/lib/gitpod-service.d.ts +94 -19
  45. package/lib/gitpod-service.d.ts.map +1 -1
  46. package/lib/gitpod-service.js +155 -278
  47. package/lib/gitpod-service.js.map +1 -1
  48. package/lib/headless-workspace-log.d.ts +8 -11
  49. package/lib/headless-workspace-log.d.ts.map +1 -1
  50. package/lib/headless-workspace-log.js +4 -7
  51. package/lib/headless-workspace-log.js.map +1 -1
  52. package/lib/ide-protocol.d.ts +81 -0
  53. package/lib/ide-protocol.d.ts.map +1 -0
  54. package/lib/{util/without.js → ide-protocol.js} +2 -2
  55. package/lib/ide-protocol.js.map +1 -0
  56. package/lib/index.d.ts +4 -0
  57. package/lib/index.d.ts.map +1 -1
  58. package/lib/index.js +4 -0
  59. package/lib/index.js.map +1 -1
  60. package/lib/messaging/browser/connection.d.ts +4 -6
  61. package/lib/messaging/browser/connection.d.ts.map +1 -1
  62. package/lib/messaging/browser/connection.js +175 -44
  63. package/lib/messaging/browser/connection.js.map +1 -1
  64. package/lib/messaging/browser/window-connection.js +35 -55
  65. package/lib/messaging/browser/window-connection.js.map +1 -1
  66. package/lib/messaging/client-call-metrics.d.ts +35 -0
  67. package/lib/messaging/client-call-metrics.d.ts.map +1 -0
  68. package/lib/messaging/client-call-metrics.js +83 -0
  69. package/lib/messaging/client-call-metrics.js.map +1 -0
  70. package/lib/messaging/connection-error-handler.js +11 -23
  71. package/lib/messaging/connection-error-handler.js.map +1 -1
  72. package/lib/messaging/error.d.ts +2 -1
  73. package/lib/messaging/error.d.ts.map +1 -1
  74. package/lib/messaging/error.js +4 -2
  75. package/lib/messaging/error.js.map +1 -1
  76. package/lib/messaging/handler.d.ts +10 -0
  77. package/lib/messaging/handler.d.ts.map +1 -1
  78. package/lib/messaging/node/connection.js +22 -22
  79. package/lib/messaging/node/connection.js.map +1 -1
  80. package/lib/messaging/proxy-factory.d.ts +2 -0
  81. package/lib/messaging/proxy-factory.d.ts.map +1 -1
  82. package/lib/messaging/proxy-factory.js +74 -159
  83. package/lib/messaging/proxy-factory.js.map +1 -1
  84. package/lib/permission.d.ts +2 -1
  85. package/lib/permission.d.ts.map +1 -1
  86. package/lib/permission.js +14 -13
  87. package/lib/permission.js.map +1 -1
  88. package/lib/plans.d.ts +210 -0
  89. package/lib/plans.d.ts.map +1 -0
  90. package/lib/plans.js +570 -0
  91. package/lib/plans.js.map +1 -0
  92. package/lib/protocol.d.ts +66 -13
  93. package/lib/protocol.d.ts.map +1 -1
  94. package/lib/protocol.js +68 -115
  95. package/lib/protocol.js.map +1 -1
  96. package/lib/snapshot-url.d.ts +14 -0
  97. package/lib/snapshot-url.d.ts.map +1 -0
  98. package/lib/snapshot-url.js +26 -0
  99. package/lib/snapshot-url.js.map +1 -0
  100. package/{src/util/without.ts → lib/snapshot-url.spec.d.ts} +2 -3
  101. package/lib/snapshot-url.spec.d.ts.map +1 -0
  102. package/lib/snapshot-url.spec.js +41 -0
  103. package/lib/snapshot-url.spec.js.map +1 -0
  104. package/lib/team-subscription-protocol.d.ts +4 -4
  105. package/lib/team-subscription-protocol.d.ts.map +1 -1
  106. package/lib/team-subscription-protocol.js +15 -12
  107. package/lib/team-subscription-protocol.js.map +1 -1
  108. package/lib/teams-projects-protocol.d.ts +103 -0
  109. package/lib/teams-projects-protocol.d.ts.map +1 -0
  110. package/lib/teams-projects-protocol.js +23 -0
  111. package/lib/teams-projects-protocol.js.map +1 -0
  112. package/lib/util/analytics.d.ts +8 -0
  113. package/lib/util/analytics.d.ts.map +1 -0
  114. package/lib/util/analytics.js +79 -0
  115. package/lib/util/analytics.js.map +1 -0
  116. package/lib/util/async-iterator.js +55 -133
  117. package/lib/util/async-iterator.js.map +1 -1
  118. package/lib/util/cancelable.js +17 -59
  119. package/lib/util/cancelable.js.map +1 -1
  120. package/lib/util/date-time.js +8 -8
  121. package/lib/util/date-time.js.map +1 -1
  122. package/lib/util/deferred.js +10 -12
  123. package/lib/util/deferred.js.map +1 -1
  124. package/lib/util/disposable.js +26 -39
  125. package/lib/util/disposable.js.map +1 -1
  126. package/lib/util/event.js +58 -74
  127. package/lib/util/event.js.map +1 -1
  128. package/lib/util/garbage-collected-cache.js +22 -46
  129. package/lib/util/garbage-collected-cache.js.map +1 -1
  130. package/lib/util/generate-workspace-id.d.ts.map +1 -1
  131. package/lib/util/generate-workspace-id.js +13 -67
  132. package/lib/util/generate-workspace-id.js.map +1 -1
  133. package/lib/util/generate-workspace-id.spec.js +34 -79
  134. package/lib/util/generate-workspace-id.spec.js.map +1 -1
  135. package/lib/util/gitpod-cookie.d.ts +20 -0
  136. package/lib/util/gitpod-cookie.d.ts.map +1 -0
  137. package/lib/util/gitpod-cookie.js +44 -0
  138. package/lib/util/gitpod-cookie.js.map +1 -0
  139. package/lib/util/gitpod-host-url.d.ts +1 -1
  140. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  141. package/lib/util/gitpod-host-url.js +98 -98
  142. package/lib/util/gitpod-host-url.js.map +1 -1
  143. package/lib/util/gitpod-host-url.spec.d.ts +6 -0
  144. package/lib/util/gitpod-host-url.spec.d.ts.map +1 -1
  145. package/lib/util/gitpod-host-url.spec.js +102 -30
  146. package/lib/util/gitpod-host-url.spec.js.map +1 -1
  147. package/lib/util/grpc.d.ts +15 -0
  148. package/lib/util/grpc.d.ts.map +1 -0
  149. package/lib/util/grpc.js +18 -0
  150. package/lib/util/grpc.js.map +1 -0
  151. package/lib/util/logging.d.ts +49 -33
  152. package/lib/util/logging.d.ts.map +1 -1
  153. package/lib/util/logging.js +107 -110
  154. package/lib/util/logging.js.map +1 -1
  155. package/lib/util/make-link.js +2 -2
  156. package/lib/util/make-link.js.map +1 -1
  157. package/lib/util/parse-workspace-id.d.ts +10 -0
  158. package/lib/util/parse-workspace-id.d.ts.map +1 -1
  159. package/lib/util/parse-workspace-id.js +31 -7
  160. package/lib/util/parse-workspace-id.js.map +1 -1
  161. package/lib/util/parse-workspace-id.spec.d.ts +4 -0
  162. package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
  163. package/lib/util/parse-workspace-id.spec.js +123 -84
  164. package/lib/util/parse-workspace-id.spec.js.map +1 -1
  165. package/lib/util/queue.js +16 -55
  166. package/lib/util/queue.js.map +1 -1
  167. package/lib/util/queue.spec.js +144 -288
  168. package/lib/util/queue.spec.js.map +1 -1
  169. package/lib/util/repeater.js +35 -88
  170. package/lib/util/repeater.js.map +1 -1
  171. package/lib/util/safe-promise.js +9 -12
  172. package/lib/util/safe-promise.js.map +1 -1
  173. package/lib/util/semaphore.js +15 -46
  174. package/lib/util/semaphore.js.map +1 -1
  175. package/lib/util/skip-if.js +6 -6
  176. package/lib/util/skip-if.js.map +1 -1
  177. package/lib/util/timeutil.js +16 -16
  178. package/lib/util/timeutil.js.map +1 -1
  179. package/lib/util/timeutil.spec.js +21 -24
  180. package/lib/util/timeutil.spec.js.map +1 -1
  181. package/lib/util/tracing.d.ts +14 -1
  182. package/lib/util/tracing.d.ts.map +1 -1
  183. package/lib/util/tracing.js +84 -50
  184. package/lib/util/tracing.js.map +1 -1
  185. package/lib/util/workspace-port-authentication.js +2 -2
  186. package/lib/util/workspace-port-authentication.js.map +1 -1
  187. package/lib/workspace-cluster.d.ts +22 -3
  188. package/lib/workspace-cluster.d.ts.map +1 -1
  189. package/lib/workspace-cluster.js +3 -3
  190. package/lib/workspace-cluster.js.map +1 -1
  191. package/lib/workspace-instance.d.ts +5 -2
  192. package/lib/workspace-instance.d.ts.map +1 -1
  193. package/lib/wsready.d.ts +1 -1
  194. package/lib/wsready.js +2 -2
  195. package/package.json +28 -16
  196. package/pkg-yarn.lock +17 -9
  197. package/src/accounting-protocol.ts +4 -10
  198. package/src/admin-protocol.ts +33 -5
  199. package/src/analytics.ts +54 -0
  200. package/src/context-url.spec.ts +39 -0
  201. package/src/context-url.ts +51 -0
  202. package/src/email-protocol.ts +2 -3
  203. package/src/env.ts +10 -10
  204. package/src/gitpod-service.ts +129 -35
  205. package/src/headless-workspace-log.ts +7 -11
  206. package/src/ide-protocol.ts +92 -0
  207. package/src/index.ts +5 -1
  208. package/src/messaging/browser/connection.ts +184 -23
  209. package/src/messaging/client-call-metrics.ts +97 -0
  210. package/src/messaging/error.ts +5 -2
  211. package/src/messaging/handler.ts +12 -0
  212. package/src/messaging/node/connection.ts +2 -2
  213. package/src/messaging/proxy-factory.ts +13 -5
  214. package/src/permission.ts +2 -1
  215. package/src/plans.ts +632 -0
  216. package/src/protocol.ts +89 -18
  217. package/src/snapshot-url.spec.ts +25 -0
  218. package/src/snapshot-url.ts +27 -0
  219. package/src/team-subscription-protocol.ts +7 -5
  220. package/src/teams-projects-protocol.ts +132 -0
  221. package/src/util/analytics.ts +87 -0
  222. package/src/util/garbage-collected-cache.ts +2 -2
  223. package/src/util/generate-workspace-id.spec.ts +3 -3
  224. package/src/util/generate-workspace-id.ts +2 -0
  225. package/src/util/gitpod-cookie.ts +39 -0
  226. package/src/util/gitpod-host-url.spec.ts +24 -0
  227. package/src/util/gitpod-host-url.ts +23 -10
  228. package/src/util/grpc.ts +15 -0
  229. package/src/util/logging.ts +102 -38
  230. package/src/util/parse-workspace-id.spec.ts +21 -1
  231. package/src/util/parse-workspace-id.ts +32 -6
  232. package/src/util/semaphore.ts +2 -2
  233. package/src/util/skip-if.ts +1 -1
  234. package/src/util/timeutil.ts +4 -4
  235. package/src/util/tracing.ts +65 -3
  236. package/src/workspace-cluster.ts +24 -8
  237. package/src/workspace-instance.ts +25 -13
  238. package/src/wsready.ts +2 -2
  239. package/lib/util/context-url.d.ts +0 -13
  240. package/lib/util/context-url.d.ts.map +0 -1
  241. package/lib/util/context-url.js +0 -26
  242. package/lib/util/context-url.js.map +0 -1
  243. package/lib/util/context-url.spec.d.ts.map +0 -1
  244. package/lib/util/context-url.spec.js +0 -52
  245. package/lib/util/context-url.spec.js.map +0 -1
  246. package/lib/util/without.d.ts +0 -7
  247. package/lib/util/without.d.ts.map +0 -1
  248. package/lib/util/without.js.map +0 -1
  249. package/src/util/context-url.spec.ts +0 -25
  250. package/src/util/context-url.ts +0 -23
@@ -5,7 +5,7 @@
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.TheiaHeadlessLogType = exports.HeadlessWorkspaceEventType = void 0;
8
+ exports.HEADLESS_LOG_STREAM_STATUS_CODE_REGEX = exports.HEADLESS_LOG_STREAM_STATUS_CODE = exports.HeadlessWorkspaceEventType = void 0;
9
9
  var HeadlessWorkspaceEventType;
10
10
  (function (HeadlessWorkspaceEventType) {
11
11
  HeadlessWorkspaceEventType["LogOutput"] = "log-output";
@@ -25,10 +25,7 @@ var HeadlessWorkspaceEventType;
25
25
  }
26
26
  HeadlessWorkspaceEventType.didFinish = didFinish;
27
27
  })(HeadlessWorkspaceEventType = exports.HeadlessWorkspaceEventType || (exports.HeadlessWorkspaceEventType = {}));
28
- var TheiaHeadlessLogType;
29
- (function (TheiaHeadlessLogType) {
30
- TheiaHeadlessLogType["TaskLogLabel"] = "workspaceTaskOutput";
31
- TheiaHeadlessLogType["TaskFailedLabel"] = "workspaceTaskFailed";
32
- TheiaHeadlessLogType["TaskSuccessfulLabel"] = "workspaceTaskDone";
33
- })(TheiaHeadlessLogType = exports.TheiaHeadlessLogType || (exports.TheiaHeadlessLogType = {}));
28
+ /** cmp. @const HEADLESS_LOG_STREAM_STATUS_CODE_REGEX */
29
+ exports.HEADLESS_LOG_STREAM_STATUS_CODE = "X-LogStream-StatusCode";
30
+ exports.HEADLESS_LOG_STREAM_STATUS_CODE_REGEX = /X-LogStream-StatusCode: ([0-9]{3})/;
34
31
  //# sourceMappingURL=headless-workspace-log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"headless-workspace-log.js","sourceRoot":"","sources":["../src/headless-workspace-log.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,IAAY,0BAOX;AAPD,WAAY,0BAA0B;IAClC,sDAAwB,CAAA;IACxB,qEAAuC,CAAA;IACvC,+DAAiC,CAAA;IACjC,iEAAmC,CAAA;IACnC,iDAAmB,CAAA;IACnB,iDAAmB,CAAA;AACvB,CAAC,EAPW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAOrC;AACD,WAAiB,0BAA0B;IACvC,SAAgB,SAAS,CAAC,CAA6B;QACnD,OAAO,CAAC,KAAK,0BAA0B,CAAC,SAAS,CAAC;IACtD,CAAC;IAFe,oCAAS,YAExB,CAAA;IACD,SAAgB,SAAS,CAAC,CAA6B;QACnD,OAAO,CAAC,KAAK,0BAA0B,CAAC,iBAAiB,IAAI,CAAC,KAAK,0BAA0B,CAAC,oBAAoB,CAAC;IACvH,CAAC;IAFe,oCAAS,YAExB,CAAA;AACL,CAAC,EAPgB,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAO1C;AAQD,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC5B,4DAAoC,CAAA;IACpC,+DAAuC,CAAA;IACvC,iEAAyC,CAAA;AAC7C,CAAC,EAJW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAI/B"}
1
+ {"version":3,"file":"headless-workspace-log.js","sourceRoot":"","sources":["../src/headless-workspace-log.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,IAAY,0BAOX;AAPD,WAAY,0BAA0B;IAClC,sDAAwB,CAAA;IACxB,qEAAuC,CAAA;IACvC,+DAAiC,CAAA;IACjC,iEAAmC,CAAA;IACnC,iDAAmB,CAAA;IACnB,iDAAmB,CAAA;AACvB,CAAC,EAPW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAOrC;AACD,WAAiB,0BAA0B;IACvC,SAAgB,SAAS,CAAC,CAA6B;QACnD,OAAO,CAAC,KAAK,0BAA0B,CAAC,SAAS,CAAC;IACtD,CAAC;IAFe,oCAAS,YAExB,CAAA;IACD,SAAgB,SAAS,CAAC,CAA6B;QACnD,OAAO,CAAC,KAAK,0BAA0B,CAAC,iBAAiB,IAAI,CAAC,KAAK,0BAA0B,CAAC,oBAAoB,CAAC;IACvH,CAAC;IAFe,oCAAS,YAExB,CAAA;AACL,CAAC,EAPgB,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAO1C;AAaD,wDAAwD;AAC3C,QAAA,+BAA+B,GAAG,wBAAwB,CAAC;AAC3D,QAAA,qCAAqC,GAAG,oCAAoC,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License-AGPL.txt in the project root for license information.
5
+ */
6
+ /**
7
+ * `IDEServer` provides a list of available IDEs.
8
+ */
9
+ export interface IDEServer {
10
+ /**
11
+ * Returns the IDE preferences.
12
+ */
13
+ getIDEOptions(): Promise<IDEOptions>;
14
+ }
15
+ export interface IDEOptions {
16
+ /**
17
+ * A list of available IDEs.
18
+ */
19
+ options: {
20
+ [key: string]: IDEOption;
21
+ };
22
+ /**
23
+ * The default (browser) IDE when the user has not specified one.
24
+ */
25
+ defaultIde: string;
26
+ /**
27
+ * The default desktop IDE when the user has not specified one.
28
+ */
29
+ defaultDesktopIde: string;
30
+ }
31
+ export interface IDEOption {
32
+ /**
33
+ * To ensure a stable order one can set an `orderKey`.
34
+ */
35
+ orderKey?: string;
36
+ /**
37
+ * Human readable title text of the IDE (plain text only).
38
+ */
39
+ title: string;
40
+ /**
41
+ * The type of the IDE, currently 'browser' or 'desktop'.
42
+ */
43
+ type: 'browser' | 'desktop';
44
+ /**
45
+ * The logo for the IDE. That could be a key in (see
46
+ * components/dashboard/src/images/ideLogos.ts) or a URL.
47
+ */
48
+ logo: string;
49
+ /**
50
+ * Text of an optional tooltip (plain text only).
51
+ */
52
+ tooltip?: string;
53
+ /**
54
+ * Text of an optional label next to the IDE option like “Insiders” (plain
55
+ * text only).
56
+ */
57
+ label?: string;
58
+ /**
59
+ * Notes to the IDE option that are renderd in the preferences when a user
60
+ * chooses this IDE.
61
+ */
62
+ notes?: string[];
63
+ /**
64
+ * If `true` this IDE option is not visible in the IDE preferences.
65
+ */
66
+ hidden?: boolean;
67
+ /**
68
+ * The image ref to the IDE image.
69
+ */
70
+ image: string;
71
+ /**
72
+ * When this is `true`, the tag of this image is resolved to the latest
73
+ * image digest regularly.
74
+ *
75
+ * This is useful if this image points to a tag like `nightly` that will be
76
+ * updated regularly. When `resolveImageDigest` is `true`, we make sure that
77
+ * we resolve the tag regularly to the most recent image version.
78
+ */
79
+ resolveImageDigest?: boolean;
80
+ }
81
+ //# sourceMappingURL=ide-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ide-protocol.d.ts","sourceRoot":"","sources":["../src/ide-protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAEtC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAE5B;;;MAGE;IACF,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;MAEE;IACF,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
4
4
  * Licensed under the GNU Affero General Public License (AGPL).
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- //# sourceMappingURL=without.js.map
8
+ //# sourceMappingURL=ide-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ide-protocol.js","sourceRoot":"","sources":["../src/ide-protocol.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
package/lib/index.d.ts CHANGED
@@ -13,4 +13,8 @@ export * from './workspace-instance';
13
13
  export * from './permission';
14
14
  export * from './admin-protocol';
15
15
  export * from './email-protocol';
16
+ export * from './headless-workspace-log';
17
+ export * from './context-url';
18
+ export * from './teams-projects-protocol';
19
+ export * from './snapshot-url';
16
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC"}
package/lib/index.js CHANGED
@@ -25,4 +25,8 @@ __exportStar(require("./workspace-instance"), exports);
25
25
  __exportStar(require("./permission"), exports);
26
26
  __exportStar(require("./admin-protocol"), exports);
27
27
  __exportStar(require("./email-protocol"), exports);
28
+ __exportStar(require("./headless-workspace-log"), exports);
29
+ __exportStar(require("./context-url"), exports);
30
+ __exportStar(require("./teams-projects-protocol"), exports);
31
+ __exportStar(require("./snapshot-url"), exports);
28
32
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,mDAAiC;AACjC,oDAAkC;AAClC,+CAA6B;AAC7B,+CAA6B;AAC7B,qDAAmC;AACnC,uDAAqC;AACrC,+CAA6B;AAC7B,mDAAiC;AACjC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,mDAAiC;AACjC,oDAAkC;AAClC,+CAA6B;AAC7B,+CAA6B;AAC7B,qDAAmC;AACnC,uDAAqC;AACrC,+CAA6B;AAC7B,mDAAiC;AACjC,mDAAiC;AACjC,2DAAyC;AACzC,gDAA8B;AAC9B,4DAA0C;AAC1C,iDAA+B"}
@@ -1,8 +1,10 @@
1
1
  import { Logger } from "vscode-ws-jsonrpc";
2
2
  import { JsonRpcProxy } from "../proxy-factory";
3
- import { ConnectionHandler } from "../handler";
3
+ import { ConnectionEventHandler, ConnectionHandler } from "../handler";
4
+ import ReconnectingWebSocket, { Event } from 'reconnecting-websocket';
4
5
  export interface WebSocketOptions {
5
6
  onerror?: (event: Event) => void;
7
+ onListening?: (socket: ReconnectingWebSocket) => void;
6
8
  }
7
9
  export declare class WebSocketConnectionProvider {
8
10
  /**
@@ -13,14 +15,10 @@ export declare class WebSocketConnectionProvider {
13
15
  * notifications and requests from a remote side.
14
16
  */
15
17
  createProxy<T extends object>(path: string | Promise<string>, target?: object, options?: WebSocketOptions): JsonRpcProxy<T>;
16
- createProxy2<T extends object>(path: string, target?: object, options?: WebSocketOptions): {
17
- proxy: JsonRpcProxy<T>;
18
- webSocket: WebSocket;
19
- };
20
18
  /**
21
19
  * Install a connection handler for the given path.
22
20
  */
23
- listen(handler: ConnectionHandler, options?: WebSocketOptions): WebSocket;
21
+ listen(handler: ConnectionHandler, eventHandler: ConnectionEventHandler, options?: WebSocketOptions): WebSocket;
24
22
  protected createLogger(): Logger;
25
23
  /**
26
24
  * Creates a web socket for the given url
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/messaging/browser/connection.ts"],"names":[],"mappings":"AAOA,OAAO,EAAsB,MAAM,EAAiB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAuB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACpC;AAED,qBAAa,2BAA2B;IAEpC;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC;IAkB3H,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG;QAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE;IAU3I;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAuBzE,SAAS,CAAC,YAAY,IAAI,MAAM;IAIhC;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;CAW1C"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/messaging/browser/connection.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAuC,MAAM,mBAAmB,CAAC;AAIhF,OAAO,EAAuB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEtE,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACzD;AAED,qBAAa,2BAA2B;IAEpC;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC;IAyB3H;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAwB/G,SAAS,CAAC,YAAY,IAAI,MAAM;IAIhC;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;CAW1C"}
@@ -7,12 +7,13 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.WebSocketConnectionProvider = void 0;
10
- var vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
11
- var proxy_factory_1 = require("../proxy-factory");
12
- var reconnecting_websocket_1 = require("reconnecting-websocket");
13
- var WebSocketConnectionProvider = /** @class */ (function () {
14
- function WebSocketConnectionProvider() {
15
- }
10
+ const vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
11
+ const vscode_jsonrpc_1 = require("vscode-jsonrpc");
12
+ const messageWriter_1 = require("vscode-jsonrpc/lib/messageWriter");
13
+ const messageReader_1 = require("vscode-jsonrpc/lib/messageReader");
14
+ const proxy_factory_1 = require("../proxy-factory");
15
+ const reconnecting_websocket_1 = require("reconnecting-websocket");
16
+ class WebSocketConnectionProvider {
16
17
  /**
17
18
  * Create a proxy object to remote interface of T type
18
19
  * over a web socket connection for the given path.
@@ -20,64 +21,56 @@ var WebSocketConnectionProvider = /** @class */ (function () {
20
21
  * An optional target can be provided to handle
21
22
  * notifications and requests from a remote side.
22
23
  */
23
- WebSocketConnectionProvider.prototype.createProxy = function (path, target, options) {
24
- var _this = this;
25
- var factory = new proxy_factory_1.JsonRpcProxyFactory(target);
26
- var startListening = function (path) {
27
- _this.listen({
28
- path: path,
29
- onConnection: function (c) { return factory.listen(c); }
24
+ createProxy(path, target, options) {
25
+ const factory = new proxy_factory_1.JsonRpcProxyFactory(target);
26
+ const startListening = (path) => {
27
+ const socket = this.listen({
28
+ path,
29
+ onConnection: c => factory.listen(c),
30
+ }, {
31
+ onTransportDidClose: () => factory.fireConnectionClosed(),
32
+ onTransportDidOpen: () => factory.fireConnectionOpened(),
30
33
  }, options);
34
+ if (options === null || options === void 0 ? void 0 : options.onListening) {
35
+ options.onListening(socket);
36
+ }
31
37
  };
32
38
  if (typeof path === "string") {
33
39
  startListening(path);
34
40
  }
35
41
  else {
36
- path.then(function (path) { return startListening(path); });
42
+ path.then(path => startListening(path));
37
43
  }
38
44
  return factory.createProxy();
39
- };
40
- WebSocketConnectionProvider.prototype.createProxy2 = function (path, target, options) {
41
- var factory = new proxy_factory_1.JsonRpcProxyFactory(target);
42
- var webSocket = this.listen({
43
- path: path,
44
- onConnection: function (c) { return factory.listen(c); }
45
- }, options);
46
- var proxy = factory.createProxy();
47
- return { proxy: proxy, webSocket: webSocket };
48
- };
45
+ }
49
46
  /**
50
47
  * Install a connection handler for the given path.
51
48
  */
52
- WebSocketConnectionProvider.prototype.listen = function (handler, options) {
53
- var url = handler.path;
54
- var webSocket = this.createWebSocket(url);
55
- var logger = this.createLogger();
49
+ listen(handler, eventHandler, options) {
50
+ const url = handler.path;
51
+ const webSocket = this.createWebSocket(url);
52
+ const logger = this.createLogger();
56
53
  if (options && options.onerror) {
57
- var onerror_1 = options.onerror;
58
- webSocket.addEventListener('error', function (event) {
59
- onerror_1(event);
54
+ const onerror = options.onerror;
55
+ webSocket.addEventListener('error', (event) => {
56
+ onerror(event);
60
57
  });
61
58
  }
62
59
  else {
63
- webSocket.addEventListener('error', function (error) {
60
+ webSocket.addEventListener('error', (error) => {
64
61
  logger.error(JSON.stringify(error));
65
62
  });
66
63
  }
67
- vscode_ws_jsonrpc_1.listen({
68
- webSocket: webSocket,
69
- onConnection: function (connection) { return handler.onConnection(connection); },
70
- logger: logger
71
- });
64
+ doListen(webSocket, handler, eventHandler, logger);
72
65
  return webSocket;
73
- };
74
- WebSocketConnectionProvider.prototype.createLogger = function () {
66
+ }
67
+ createLogger() {
75
68
  return new vscode_ws_jsonrpc_1.ConsoleLogger();
76
- };
69
+ }
77
70
  /**
78
71
  * Creates a web socket for the given url
79
72
  */
80
- WebSocketConnectionProvider.prototype.createWebSocket = function (url) {
73
+ createWebSocket(url) {
81
74
  return new reconnecting_websocket_1.default(url, undefined, {
82
75
  maxReconnectionDelay: 10000,
83
76
  minReconnectionDelay: 1000,
@@ -86,8 +79,146 @@ var WebSocketConnectionProvider = /** @class */ (function () {
86
79
  debug: false,
87
80
  WebSocket: WebSocket
88
81
  });
89
- };
90
- return WebSocketConnectionProvider;
91
- }());
82
+ }
83
+ }
92
84
  exports.WebSocketConnectionProvider = WebSocketConnectionProvider;
85
+ // The following was extracted from vscode-ws-jsonrpc to make these changes:
86
+ // - switch from WebSocket to ReconnectingWebSocket
87
+ // - webSocket.onopen: making sure it's only ever called once so we're re-using MessageConnection
88
+ // - WebSocketMessageWriter: buffer and re-try messages instead of throwing an error immidiately
89
+ // - WebSocketMessageReader: don't close MessageConnection on 'socket.onclose'
90
+ function doListen(resocket, handler, eventHandler, logger) {
91
+ resocket.addEventListener("close", () => eventHandler.onTransportDidClose());
92
+ let alreadyOpened = false;
93
+ resocket.onopen = () => {
94
+ // trigerr "open" every time we re-open the underlying websocket
95
+ eventHandler.onTransportDidOpen();
96
+ // make sure we're only ever creating one MessageConnection, irregardless of how many times we have to re-open the underlying (reconnecting) websocket
97
+ if (alreadyOpened) {
98
+ return;
99
+ }
100
+ alreadyOpened = true;
101
+ const connection = createWebSocketConnection(resocket, logger);
102
+ handler.onConnection(connection);
103
+ };
104
+ }
105
+ function createWebSocketConnection(resocket, logger) {
106
+ const socket = (0, vscode_ws_jsonrpc_1.toSocket)(resocket);
107
+ const messageReader = new NonClosingWebSocketMessageReader(socket);
108
+ const messageWriter = new BufferingWebSocketMessageWriter(resocket, logger);
109
+ const connection = (0, vscode_jsonrpc_1.createMessageConnection)(messageReader, messageWriter, logger);
110
+ connection.onClose(() => connection.dispose());
111
+ return connection;
112
+ }
113
+ /**
114
+ * This takes vscode-ws-jsonrpc/lib/socket/writer/WebSocketMessageWriter and adds a buffer
115
+ */
116
+ class BufferingWebSocketMessageWriter extends messageWriter_1.AbstractMessageWriter {
117
+ constructor(socket, logger) {
118
+ super();
119
+ this.errorCount = 0;
120
+ this.buffer = [];
121
+ this.socket = socket;
122
+ this.logger = logger;
123
+ socket.addEventListener("open", (event) => this.flushBuffer());
124
+ }
125
+ write(msg) {
126
+ if (this.socket.readyState !== reconnecting_websocket_1.default.OPEN) {
127
+ this.bufferMsg(msg);
128
+ return;
129
+ }
130
+ try {
131
+ const content = JSON.stringify(msg);
132
+ this.socket.send(content);
133
+ }
134
+ catch (e) {
135
+ this.errorCount++;
136
+ this.fireError(e, msg, this.errorCount);
137
+ this.bufferMsg(msg);
138
+ }
139
+ }
140
+ flushBuffer() {
141
+ if (this.buffer.length === 0) {
142
+ return;
143
+ }
144
+ const buffer = [...this.buffer];
145
+ this.buffer = [];
146
+ for (const msg of buffer) {
147
+ this.write(msg);
148
+ }
149
+ //this.logger.info(`flushed buffer (${this.buffer.length})`)
150
+ }
151
+ bufferMsg(msg) {
152
+ this.buffer.push(msg);
153
+ //this.logger.info(`buffered message (${this.buffer.length})`);
154
+ }
155
+ }
156
+ /**
157
+ * This takes vscode-ws-jsonrpc/lib/socket/reader/WebSocketMessageReader and removes the "onClose -> fireClose" connection
158
+ */
159
+ class NonClosingWebSocketMessageReader extends messageReader_1.AbstractMessageReader {
160
+ constructor(socket) {
161
+ super();
162
+ this.events = [];
163
+ this.state = 'initial';
164
+ this.callback = () => { };
165
+ this.socket = socket;
166
+ this.socket.onMessage(message => this.readMessage(message));
167
+ this.socket.onError(error => this.fireError(error));
168
+ this.socket.onClose((code, reason) => {
169
+ if (code !== 1000) {
170
+ const error = {
171
+ name: '' + code,
172
+ message: `Error during socket reconnect: code = ${code}, reason = ${reason}`
173
+ };
174
+ this.fireError(error);
175
+ }
176
+ // this.fireClose(); // <-- reason for this class to be copied over
177
+ });
178
+ }
179
+ listen(callback) {
180
+ if (this.state === 'initial') {
181
+ this.state = 'listening';
182
+ this.callback = callback;
183
+ while (this.events.length !== 0) {
184
+ const event = this.events.pop();
185
+ if (event.message) {
186
+ this.readMessage(event.message);
187
+ }
188
+ else if (event.error) {
189
+ this.fireError(event.error);
190
+ }
191
+ else {
192
+ this.fireClose();
193
+ }
194
+ }
195
+ }
196
+ }
197
+ readMessage(message) {
198
+ if (this.state === 'initial') {
199
+ this.events.splice(0, 0, { message });
200
+ }
201
+ else if (this.state === 'listening') {
202
+ const data = JSON.parse(message);
203
+ this.callback(data);
204
+ }
205
+ }
206
+ fireError(error) {
207
+ if (this.state === 'initial') {
208
+ this.events.splice(0, 0, { error });
209
+ }
210
+ else if (this.state === 'listening') {
211
+ super.fireError(error);
212
+ }
213
+ }
214
+ fireClose() {
215
+ if (this.state === 'initial') {
216
+ this.events.splice(0, 0, {});
217
+ }
218
+ else if (this.state === 'listening') {
219
+ super.fireClose();
220
+ }
221
+ this.state = 'closed';
222
+ }
223
+ }
93
224
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/messaging/browser/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/messaging/browser/connection.ts"],"names":[],"mappings":"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"}
@@ -4,85 +4,65 @@
4
4
  * Licensed under the GNU Affero General Public License (AGPL).
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
7
- var __extends = (this && this.__extends) || (function () {
8
- var extendStatics = function (d, b) {
9
- extendStatics = Object.setPrototypeOf ||
10
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
11
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
12
- return extendStatics(d, b);
13
- };
14
- return function (d, b) {
15
- extendStatics(d, b);
16
- function __() { this.constructor = d; }
17
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
18
- };
19
- })();
20
7
  Object.defineProperty(exports, "__esModule", { value: true });
21
8
  exports.createWindowMessageConnection = exports.WindowMessageReader = exports.WindowMessageWriter = void 0;
22
- var messageWriter_1 = require("vscode-jsonrpc/lib/messageWriter");
23
- var messageReader_1 = require("vscode-jsonrpc/lib/messageReader");
24
- var main_1 = require("vscode-jsonrpc/lib/main");
25
- var vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
9
+ const messageWriter_1 = require("vscode-jsonrpc/lib/messageWriter");
10
+ const messageReader_1 = require("vscode-jsonrpc/lib/messageReader");
11
+ const main_1 = require("vscode-jsonrpc/lib/main");
12
+ const vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
26
13
  function isWindowMessage(value) {
27
14
  return !!value && typeof value === 'object' &&
28
15
  ('jsonrpc' in value && typeof value['jsonrpc'] === 'string') &&
29
16
  ('serviceId' in value && typeof value['serviceId'] === 'string');
30
17
  }
31
- var WindowMessageWriter = /** @class */ (function (_super) {
32
- __extends(WindowMessageWriter, _super);
33
- function WindowMessageWriter(serviceId, window, targetOrigin) {
34
- var _this = _super.call(this) || this;
35
- _this.serviceId = serviceId;
36
- _this.window = window;
37
- _this.targetOrigin = targetOrigin;
38
- return _this;
18
+ class WindowMessageWriter extends messageWriter_1.AbstractMessageWriter {
19
+ constructor(serviceId, window, targetOrigin) {
20
+ super();
21
+ this.serviceId = serviceId;
22
+ this.window = window;
23
+ this.targetOrigin = targetOrigin;
39
24
  }
40
- WindowMessageWriter.prototype.write = function (msg) {
41
- var serviceId = this.serviceId;
42
- this.window.postMessage(Object.assign(msg, { serviceId: serviceId }), this.targetOrigin);
43
- };
44
- return WindowMessageWriter;
45
- }(messageWriter_1.AbstractMessageWriter));
25
+ write(msg) {
26
+ const { serviceId } = this;
27
+ this.window.postMessage(Object.assign(msg, { serviceId }), this.targetOrigin);
28
+ }
29
+ }
46
30
  exports.WindowMessageWriter = WindowMessageWriter;
47
- var WindowMessageReader = /** @class */ (function (_super) {
48
- __extends(WindowMessageReader, _super);
49
- function WindowMessageReader(serviceId, sourceOrigin) {
50
- var _this = _super.call(this) || this;
51
- _this.serviceId = serviceId;
52
- _this.sourceOrigin = sourceOrigin;
53
- _this.buffer = [];
54
- window.addEventListener('message', function (event) {
55
- if (_this.sourceOrigin !== '*' && event.origin !== _this.sourceOrigin) {
31
+ class WindowMessageReader extends messageReader_1.AbstractMessageReader {
32
+ constructor(serviceId, sourceOrigin) {
33
+ super();
34
+ this.serviceId = serviceId;
35
+ this.sourceOrigin = sourceOrigin;
36
+ this.buffer = [];
37
+ window.addEventListener('message', event => {
38
+ if (this.sourceOrigin !== '*' && event.origin !== this.sourceOrigin) {
56
39
  return;
57
40
  }
58
- if (!isWindowMessage(event.data) || event.data.serviceId !== _this.serviceId) {
41
+ if (!isWindowMessage(event.data) || event.data.serviceId !== this.serviceId) {
59
42
  return;
60
43
  }
61
- if (_this.callback) {
62
- _this.callback(event.data);
44
+ if (this.callback) {
45
+ this.callback(event.data);
63
46
  }
64
47
  else {
65
- _this.buffer.push(event.data);
48
+ this.buffer.push(event.data);
66
49
  }
67
50
  }, false);
68
- return _this;
69
51
  }
70
- WindowMessageReader.prototype.listen = function (callback) {
71
- var message;
52
+ listen(callback) {
53
+ let message;
72
54
  while (message = this.buffer.pop()) {
73
55
  callback(message);
74
56
  }
75
57
  Object.freeze(this.buffer);
76
58
  this.callback = callback;
77
- };
78
- return WindowMessageReader;
79
- }(messageReader_1.AbstractMessageReader));
59
+ }
60
+ }
80
61
  exports.WindowMessageReader = WindowMessageReader;
81
- function createWindowMessageConnection(serviceId, window, sourceOrigin, targetOrigin) {
82
- if (targetOrigin === void 0) { targetOrigin = sourceOrigin; }
83
- var reader = new WindowMessageReader(serviceId, sourceOrigin);
84
- var writer = new WindowMessageWriter(serviceId, window, targetOrigin);
85
- return main_1.createMessageConnection(reader, writer, new vscode_ws_jsonrpc_1.ConsoleLogger());
62
+ function createWindowMessageConnection(serviceId, window, sourceOrigin, targetOrigin = sourceOrigin) {
63
+ const reader = new WindowMessageReader(serviceId, sourceOrigin);
64
+ const writer = new WindowMessageWriter(serviceId, window, targetOrigin);
65
+ return (0, main_1.createMessageConnection)(reader, writer, new vscode_ws_jsonrpc_1.ConsoleLogger());
86
66
  }
87
67
  exports.createWindowMessageConnection = createWindowMessageConnection;
88
68
  //# sourceMappingURL=window-connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"window-connection.js","sourceRoot":"","sources":["../../../src/messaging/browser/window-connection.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAGH,kEAAwF;AACxF,kEAAsG;AACtG,gDAAqF;AACrF,uDAAkD;AAKlD,SAAS,eAAe,CAAC,KAAU;IAC/B,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QACvC,CAAC,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC;QAC5D,CAAC,WAAW,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED;IAAyC,uCAAqB;IAE1D,6BAAqB,SAAiB,EAAW,MAAc,EAAW,YAAoB;QAA9F,YACI,iBAAO,SACV;QAFoB,eAAS,GAAT,SAAS,CAAQ;QAAW,YAAM,GAAN,MAAM,CAAQ;QAAW,kBAAY,GAAZ,YAAY,CAAQ;;IAE9F,CAAC;IAED,mCAAK,GAAL,UAAM,GAAY;QACN,IAAA,SAAS,GAAK,IAAI,UAAT,CAAU;QAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,WAAA,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAClF,CAAC;IAEL,0BAAC;AAAD,CAAC,AAXD,CAAyC,qCAAqB,GAW7D;AAXY,kDAAmB;AAahC;IAAyC,uCAAqB;IAK1D,6BAAqB,SAAiB,EAAW,YAAoB;QAArE,YACI,iBAAO,SAcV;QAfoB,eAAS,GAAT,SAAS,CAAQ;QAAW,kBAAY,GAAZ,YAAY,CAAQ;QAFlD,YAAM,GAAc,EAAE,CAAC;QAItC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAA,KAAK;YACpC,IAAI,KAAI,CAAC,YAAY,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,KAAI,CAAC,YAAY,EAAE;gBACjE,OAAO;aACV;YACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAAE;gBACzE,OAAO;aACV;YACD,IAAI,KAAI,CAAC,QAAQ,EAAE;gBACf,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC7B;iBAAM;gBACH,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAChC;QACL,CAAC,EAAE,KAAK,CAAC,CAAC;;IACd,CAAC;IAED,oCAAM,GAAN,UAAO,QAAsB;QACzB,IAAI,OAAO,CAAC;QACZ,OAAO,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;YAChC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACrB;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEL,0BAAC;AAAD,CAAC,AA/BD,CAAyC,qCAAqB,GA+B7D;AA/BY,kDAAmB;AAiChC,SAAgB,6BAA6B,CAAC,SAAiB,EAAE,MAAc,EAAE,YAAoB,EAAE,YAA2B;IAA3B,6BAAA,EAAA,2BAA2B;IAC9H,IAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAChE,IAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACxE,OAAO,8BAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,iCAAa,EAAE,CAAC,CAAC;AACxE,CAAC;AAJD,sEAIC"}
1
+ {"version":3,"file":"window-connection.js","sourceRoot":"","sources":["../../../src/messaging/browser/window-connection.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,oEAAwF;AACxF,oEAAsG;AACtG,kDAAqF;AACrF,yDAAkD;AAKlD,SAAS,eAAe,CAAC,KAAU;IAC/B,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QACvC,CAAC,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC;QAC5D,CAAC,WAAW,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED,MAAa,mBAAoB,SAAQ,qCAAqB;IAE1D,YAAqB,SAAiB,EAAW,MAAc,EAAW,YAAoB;QAC1F,KAAK,EAAE,CAAC;QADS,cAAS,GAAT,SAAS,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;QAAW,iBAAY,GAAZ,YAAY,CAAQ;IAE9F,CAAC;IAED,KAAK,CAAC,GAAY;QACd,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAClF,CAAC;CAEJ;AAXD,kDAWC;AAED,MAAa,mBAAoB,SAAQ,qCAAqB;IAK1D,YAAqB,SAAiB,EAAW,YAAoB;QACjE,KAAK,EAAE,CAAC;QADS,cAAS,GAAT,SAAS,CAAQ;QAAW,iBAAY,GAAZ,YAAY,CAAQ;QAFlD,WAAM,GAAc,EAAE,CAAC;QAItC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YACvC,IAAI,IAAI,CAAC,YAAY,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE;gBACjE,OAAO;aACV;YACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;gBACzE,OAAO;aACV;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC7B;iBAAM;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAChC;QACL,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;IAED,MAAM,CAAC,QAAsB;QACzB,IAAI,OAAO,CAAC;QACZ,OAAO,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;YAChC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACrB;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CAEJ;AA/BD,kDA+BC;AAED,SAAgB,6BAA6B,CAAC,SAAiB,EAAE,MAAc,EAAE,YAAoB,EAAE,YAAY,GAAG,YAAY;IAC9H,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACxE,OAAO,IAAA,8BAAuB,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,iCAAa,EAAE,CAAC,CAAC;AACxE,CAAC;AAJD,sEAIC"}