@gitpod/gitpod-protocol 0.1.5-wth-update-mysql-dependencies-2.30 → 0.1.5-wth-test.41

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/builtin-theia-plugins.json +9 -9
  2. package/data/gitpod-schema.json +8 -22
  3. package/lib/accounting-protocol.d.ts +155 -0
  4. package/lib/accounting-protocol.d.ts.map +1 -0
  5. package/lib/accounting-protocol.js +109 -0
  6. package/lib/accounting-protocol.js.map +1 -0
  7. package/lib/admin-protocol.d.ts +20 -4
  8. package/lib/admin-protocol.d.ts.map +1 -1
  9. package/lib/admin-protocol.js +15 -0
  10. package/lib/admin-protocol.js.map +1 -1
  11. package/lib/analytics.d.ts +45 -0
  12. package/lib/analytics.d.ts.map +1 -0
  13. package/lib/{util/without.js → analytics.js} +4 -2
  14. package/lib/analytics.js.map +1 -0
  15. package/lib/context-url.d.ts +18 -0
  16. package/lib/context-url.d.ts.map +1 -0
  17. package/lib/context-url.js +49 -0
  18. package/lib/context-url.js.map +1 -0
  19. package/lib/{util/context-url.spec.d.ts → context-url.spec.d.ts} +3 -1
  20. package/lib/context-url.spec.d.ts.map +1 -0
  21. package/lib/context-url.spec.js +73 -0
  22. package/lib/context-url.spec.js.map +1 -0
  23. package/lib/email-protocol.d.ts +1 -2
  24. package/lib/email-protocol.d.ts.map +1 -1
  25. package/lib/email-protocol.js +4 -4
  26. package/lib/email-protocol.js.map +1 -1
  27. package/lib/encryption/container-module.js +5 -4
  28. package/lib/encryption/container-module.js.map +1 -1
  29. package/lib/encryption/encryption-engine.js +19 -20
  30. package/lib/encryption/encryption-engine.js.map +1 -1
  31. package/lib/encryption/encryption-engine.spec.js +29 -36
  32. package/lib/encryption/encryption-engine.spec.js.map +1 -1
  33. package/lib/encryption/encryption-service.js +29 -43
  34. package/lib/encryption/encryption-service.js.map +1 -1
  35. package/lib/encryption/key-provider.js +25 -30
  36. package/lib/encryption/key-provider.js.map +1 -1
  37. package/lib/env.d.ts +1 -2
  38. package/lib/env.d.ts.map +1 -1
  39. package/lib/env.js +20 -21
  40. package/lib/env.js.map +1 -1
  41. package/lib/gitpod-file-parser.js +25 -41
  42. package/lib/gitpod-file-parser.js.map +1 -1
  43. package/lib/gitpod-file-parser.spec.js +116 -116
  44. package/lib/gitpod-file-parser.spec.js.map +1 -1
  45. package/lib/gitpod-service.d.ts +132 -18
  46. package/lib/gitpod-service.d.ts.map +1 -1
  47. package/lib/gitpod-service.js +168 -256
  48. package/lib/gitpod-service.js.map +1 -1
  49. package/lib/headless-workspace-log.d.ts +8 -11
  50. package/lib/headless-workspace-log.d.ts.map +1 -1
  51. package/lib/headless-workspace-log.js +4 -7
  52. package/lib/headless-workspace-log.js.map +1 -1
  53. package/lib/index.d.ts +4 -0
  54. package/lib/index.d.ts.map +1 -1
  55. package/lib/index.js +5 -1
  56. package/lib/index.js.map +1 -1
  57. package/lib/messaging/browser/connection.d.ts +5 -3
  58. package/lib/messaging/browser/connection.d.ts.map +1 -1
  59. package/lib/messaging/browser/connection.js +183 -33
  60. package/lib/messaging/browser/connection.js.map +1 -1
  61. package/lib/messaging/browser/window-connection.js +35 -55
  62. package/lib/messaging/browser/window-connection.js.map +1 -1
  63. package/lib/messaging/client-call-metrics.d.ts +35 -0
  64. package/lib/messaging/client-call-metrics.d.ts.map +1 -0
  65. package/lib/messaging/client-call-metrics.js +83 -0
  66. package/lib/messaging/client-call-metrics.js.map +1 -0
  67. package/lib/messaging/connection-error-handler.js +11 -23
  68. package/lib/messaging/connection-error-handler.js.map +1 -1
  69. package/lib/messaging/error.d.ts +3 -1
  70. package/lib/messaging/error.d.ts.map +1 -1
  71. package/lib/messaging/error.js +6 -2
  72. package/lib/messaging/error.js.map +1 -1
  73. package/lib/messaging/handler.d.ts +10 -0
  74. package/lib/messaging/handler.d.ts.map +1 -1
  75. package/lib/messaging/node/connection.js +22 -22
  76. package/lib/messaging/node/connection.js.map +1 -1
  77. package/lib/messaging/proxy-factory.d.ts +2 -0
  78. package/lib/messaging/proxy-factory.d.ts.map +1 -1
  79. package/lib/messaging/proxy-factory.js +74 -159
  80. package/lib/messaging/proxy-factory.js.map +1 -1
  81. package/lib/payment-protocol.d.ts +18 -0
  82. package/lib/payment-protocol.d.ts.map +1 -0
  83. package/lib/payment-protocol.js +13 -0
  84. package/lib/payment-protocol.js.map +1 -0
  85. package/lib/permission.d.ts +2 -1
  86. package/lib/permission.d.ts.map +1 -1
  87. package/lib/permission.js +14 -13
  88. package/lib/permission.js.map +1 -1
  89. package/lib/plans.d.ts +210 -0
  90. package/lib/plans.d.ts.map +1 -0
  91. package/lib/plans.js +570 -0
  92. package/lib/plans.js.map +1 -0
  93. package/lib/protocol.d.ts +94 -15
  94. package/lib/protocol.d.ts.map +1 -1
  95. package/lib/protocol.js +104 -130
  96. package/lib/protocol.js.map +1 -1
  97. package/lib/snapshot-url.d.ts +14 -0
  98. package/lib/snapshot-url.d.ts.map +1 -0
  99. package/lib/snapshot-url.js +26 -0
  100. package/lib/snapshot-url.js.map +1 -0
  101. package/{src/util/without.ts → lib/snapshot-url.spec.d.ts} +2 -3
  102. package/lib/snapshot-url.spec.d.ts.map +1 -0
  103. package/lib/snapshot-url.spec.js +41 -0
  104. package/lib/snapshot-url.spec.js.map +1 -0
  105. package/lib/team-subscription-protocol.d.ts +73 -0
  106. package/lib/team-subscription-protocol.d.ts.map +1 -0
  107. package/lib/team-subscription-protocol.js +63 -0
  108. package/lib/team-subscription-protocol.js.map +1 -0
  109. package/lib/teams-projects-protocol.d.ts +103 -0
  110. package/lib/teams-projects-protocol.d.ts.map +1 -0
  111. package/lib/teams-projects-protocol.js +23 -0
  112. package/lib/teams-projects-protocol.js.map +1 -0
  113. package/lib/util/analytics.d.ts +8 -0
  114. package/lib/util/analytics.d.ts.map +1 -0
  115. package/lib/util/analytics.js +79 -0
  116. package/lib/util/analytics.js.map +1 -0
  117. package/lib/util/async-iterator.js +55 -133
  118. package/lib/util/async-iterator.js.map +1 -1
  119. package/lib/util/cancelable.js +17 -59
  120. package/lib/util/cancelable.js.map +1 -1
  121. package/lib/util/date-time.js +8 -8
  122. package/lib/util/date-time.js.map +1 -1
  123. package/lib/util/deferred.js +10 -12
  124. package/lib/util/deferred.js.map +1 -1
  125. package/lib/util/disposable.js +26 -39
  126. package/lib/util/disposable.js.map +1 -1
  127. package/lib/util/event.js +58 -74
  128. package/lib/util/event.js.map +1 -1
  129. package/lib/util/garbage-collected-cache.js +22 -46
  130. package/lib/util/garbage-collected-cache.js.map +1 -1
  131. package/lib/util/generate-workspace-id.d.ts.map +1 -1
  132. package/lib/util/generate-workspace-id.js +13 -67
  133. package/lib/util/generate-workspace-id.js.map +1 -1
  134. package/lib/util/generate-workspace-id.spec.js +34 -79
  135. package/lib/util/generate-workspace-id.spec.js.map +1 -1
  136. package/lib/util/gitpod-cookie.d.ts +20 -0
  137. package/lib/util/gitpod-cookie.d.ts.map +1 -0
  138. package/lib/util/gitpod-cookie.js +44 -0
  139. package/lib/util/gitpod-cookie.js.map +1 -0
  140. package/lib/util/gitpod-host-url.d.ts +1 -1
  141. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  142. package/lib/util/gitpod-host-url.js +98 -98
  143. package/lib/util/gitpod-host-url.js.map +1 -1
  144. package/lib/util/gitpod-host-url.spec.d.ts +7 -1
  145. package/lib/util/gitpod-host-url.spec.d.ts.map +1 -1
  146. package/lib/util/gitpod-host-url.spec.js +103 -31
  147. package/lib/util/gitpod-host-url.spec.js.map +1 -1
  148. package/lib/util/grpc.d.ts +15 -0
  149. package/lib/util/grpc.d.ts.map +1 -0
  150. package/lib/util/grpc.js +18 -0
  151. package/lib/util/grpc.js.map +1 -0
  152. package/lib/util/logging.d.ts +49 -33
  153. package/lib/util/logging.d.ts.map +1 -1
  154. package/lib/util/logging.js +107 -110
  155. package/lib/util/logging.js.map +1 -1
  156. package/lib/util/make-link.js +2 -2
  157. package/lib/util/make-link.js.map +1 -1
  158. package/lib/util/parse-workspace-id.d.ts +10 -0
  159. package/lib/util/parse-workspace-id.d.ts.map +1 -1
  160. package/lib/util/parse-workspace-id.js +32 -7
  161. package/lib/util/parse-workspace-id.js.map +1 -1
  162. package/lib/util/parse-workspace-id.spec.d.ts +4 -0
  163. package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
  164. package/lib/util/parse-workspace-id.spec.js +123 -84
  165. package/lib/util/parse-workspace-id.spec.js.map +1 -1
  166. package/lib/util/queue.js +16 -55
  167. package/lib/util/queue.js.map +1 -1
  168. package/lib/util/queue.spec.js +144 -288
  169. package/lib/util/queue.spec.js.map +1 -1
  170. package/lib/util/repeater.js +35 -88
  171. package/lib/util/repeater.js.map +1 -1
  172. package/lib/util/safe-promise.js +9 -12
  173. package/lib/util/safe-promise.js.map +1 -1
  174. package/lib/util/semaphore.js +15 -46
  175. package/lib/util/semaphore.js.map +1 -1
  176. package/lib/util/skip-if.js +6 -6
  177. package/lib/util/skip-if.js.map +1 -1
  178. package/lib/util/timeutil.js +28 -16
  179. package/lib/util/timeutil.js.map +1 -1
  180. package/lib/util/timeutil.spec.js +21 -24
  181. package/lib/util/timeutil.spec.js.map +1 -1
  182. package/lib/util/tracing.js +43 -47
  183. package/lib/util/tracing.js.map +1 -1
  184. package/lib/util/workspace-port-authentication.js +3 -2
  185. package/lib/util/workspace-port-authentication.js.map +1 -1
  186. package/lib/workspace-cluster.d.ts +74 -0
  187. package/lib/workspace-cluster.d.ts.map +1 -0
  188. package/lib/workspace-cluster.js +16 -0
  189. package/lib/workspace-cluster.js.map +1 -0
  190. package/lib/workspace-instance.d.ts +5 -2
  191. package/lib/workspace-instance.d.ts.map +1 -1
  192. package/lib/wsready.d.ts +1 -1
  193. package/lib/wsready.js +2 -2
  194. package/package.json +28 -16
  195. package/pkg-yarn.lock +17 -9
  196. package/src/accounting-protocol.ts +229 -0
  197. package/src/admin-protocol.ts +39 -5
  198. package/src/analytics.ts +54 -0
  199. package/src/context-url.spec.ts +39 -0
  200. package/src/context-url.ts +51 -0
  201. package/src/email-protocol.ts +2 -3
  202. package/src/env.ts +10 -10
  203. package/src/gitpod-service.ts +198 -33
  204. package/src/headless-workspace-log.ts +7 -11
  205. package/src/index.ts +5 -1
  206. package/src/messaging/browser/connection.ts +195 -14
  207. package/src/messaging/client-call-metrics.ts +97 -0
  208. package/src/messaging/error.ts +8 -2
  209. package/src/messaging/handler.ts +12 -0
  210. package/src/messaging/node/connection.ts +2 -2
  211. package/src/messaging/proxy-factory.ts +14 -6
  212. package/src/payment-protocol.ts +20 -0
  213. package/src/permission.ts +2 -1
  214. package/src/plans.ts +632 -0
  215. package/src/protocol.ts +153 -43
  216. package/src/snapshot-url.spec.ts +25 -0
  217. package/src/snapshot-url.ts +27 -0
  218. package/src/team-subscription-protocol.ts +113 -0
  219. package/src/teams-projects-protocol.ts +132 -0
  220. package/src/util/analytics.ts +87 -0
  221. package/src/util/deferred.ts +1 -1
  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 +25 -1
  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/queue.spec.ts +1 -1
  233. package/src/util/semaphore.ts +2 -2
  234. package/src/util/skip-if.ts +1 -1
  235. package/src/util/timeutil.ts +4 -4
  236. package/src/workspace-cluster.ts +96 -0
  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
@@ -90,9 +90,9 @@
90
90
  "url": "https://open-vsx.org/api/vscode/ini/1.44.2/file/vscode.ini-1.44.2.vsix"
91
91
  },
92
92
  {
93
- "loc": "vscode.java-1.48.0.vsix",
94
- "name": "vscode.java@1.48.0",
95
- "url": "https://open-vsx.org/api/vscode/java/1.48.0/file/vscode.java-1.48.0.vsix"
93
+ "loc": "vscode.java-1.53.2.vsix",
94
+ "name": "vscode.java@1.53.2",
95
+ "url": "https://open-vsx.org/api/vscode/java/1.53.2/file/vscode.java-1.53.2.vsix"
96
96
  },
97
97
  {
98
98
  "loc": "vscode.javascript-1.44.2.vsix",
@@ -240,9 +240,9 @@
240
240
  "url": "https://open-vsx.org/api/vscode/yaml/1.44.2/file/vscode.yaml-1.44.2.vsix"
241
241
  },
242
242
  {
243
- "loc": "redhat.java-0.65.0.vsix",
244
- "name": "redhat.java@0.65.0",
245
- "url": "https://open-vsx.org/api/redhat/java/0.65.0/file/redhat.java-0.65.0.vsix"
243
+ "loc": "redhat.java-0.75.0.vsix",
244
+ "name": "redhat.java@0.75.0",
245
+ "url": "https://open-vsx.org/api/redhat/java/0.75.0/file/redhat.java-0.75.0.vsix"
246
246
  },
247
247
  {
248
248
  "loc": "vscjava.vscode-java-debug-0.27.1.vsix",
@@ -250,9 +250,9 @@
250
250
  "url": "https://open-vsx.org/api/vscjava/vscode-java-debug/0.27.1/file/vscjava.vscode-java-debug-0.27.1.vsix"
251
251
  },
252
252
  {
253
- "loc": "vscjava.vscode-java-dependency-0.9.0.vsix",
254
- "name": "vscjava.vscode-java-dependency@0.9.0",
255
- "url": "https://open-vsx.org/api/vscjava/vscode-java-dependency/0.9.0/file/vscjava.vscode-java-dependency-0.9.0.vsix"
253
+ "loc": "vscjava.vscode-java-dependency-0.18.0.vsix",
254
+ "name": "vscjava.vscode-java-dependency@0.18.0",
255
+ "url": "https://open-vsx.org/api/vscjava/vscode-java-dependency/0.18.0/file/vscjava.vscode-java-dependency-0.18.0.vsix"
256
256
  },
257
257
  {
258
258
  "loc": "ms-vscode.node-debug-1.38.4.vsix",
@@ -4,23 +4,6 @@
4
4
  "title": "Gitpod Config",
5
5
  "type": "object",
6
6
  "properties": {
7
- "ide": {
8
- "anyOf": [
9
- {
10
- "type": "string"
11
- },
12
- {
13
- "type": "string",
14
- "enum": [
15
- "theia",
16
- "code"
17
- ]
18
- }
19
- ],
20
- "default": "theia",
21
- "description": "Controls what ide should be used for a workspace.",
22
- "deprecationMessage": "The 'ide' property is an experimental feature and enabled only for some users."
23
- },
24
7
  "ports": {
25
8
  "type": "array",
26
9
  "description": "List of exposed ports.",
@@ -51,8 +34,8 @@
51
34
  "private",
52
35
  "public"
53
36
  ],
54
- "default": "public",
55
- "description": "Whether the port visibility should be private or public. 'public' (default) will allow everyone with the port URL to access the port. 'private' will only allow users with workspace access to access the port."
37
+ "default": "private",
38
+ "description": "Whether the port visibility should be private or public. 'private' (default) will only allow users with workspace access to access the port. 'public' will allow everyone with the port URL to access the port."
56
39
  },
57
40
  "name": {
58
41
  "type": "string",
@@ -93,7 +76,8 @@
93
76
  },
94
77
  "prebuild": {
95
78
  "type": "string",
96
- "description": "A shell command to run after `before`. This command is executed only on during workspace prebuilds. This command is expected to terminate. If it fails, the workspace build fails."
79
+ "description": "A shell command to run after `before`. This command is executed only on during workspace prebuilds. This command is expected to terminate. If it fails, the workspace build fails.",
80
+ "deprecationMessage": "Deprecated. Please use `init` task instead. See https://www.gitpod.io/docs/config-start-tasks."
97
81
  },
98
82
  "command": {
99
83
  "type": "string",
@@ -116,10 +100,8 @@
116
100
  "openMode": {
117
101
  "type": "string",
118
102
  "enum": [
119
- "split-top",
120
103
  "split-left",
121
104
  "split-right",
122
- "split-bottom",
123
105
  "tab-before",
124
106
  "tab-after"
125
107
  ],
@@ -224,6 +206,10 @@
224
206
  }
225
207
  }
226
208
  }
209
+ },
210
+ "experimentalNetwork": {
211
+ "type": "boolean",
212
+ "description": "Experimental network configuration in workspaces"
227
213
  }
228
214
  },
229
215
  "additionalProperties": false
@@ -0,0 +1,155 @@
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
+ import { User } from './protocol';
7
+ export interface AccountEntry {
8
+ uid: string;
9
+ userId: string;
10
+ /** [hours] */
11
+ amount: number;
12
+ /**
13
+ * credit: start of validity,
14
+ * session: end of (split-) session
15
+ */
16
+ date: string;
17
+ /**
18
+ * debits (session, expiry, loss): relation to credit
19
+ */
20
+ creditId?: string;
21
+ /**
22
+ * credit: end of validity
23
+ */
24
+ expiryDate?: string;
25
+ kind: AccountEntryKind;
26
+ /**
27
+ * credit: amount - accounted debits
28
+ * [hours]
29
+ */
30
+ remainingAmount?: number;
31
+ description?: object;
32
+ }
33
+ export declare namespace AccountEntry {
34
+ function create<T extends AccountEntry>(entry: Omit<T, 'uid'>): T;
35
+ }
36
+ export declare type DebitAccountEntryKind = 'session' | 'expiry' | 'loss';
37
+ export declare type AccountEntryKind = 'credit' | DebitAccountEntryKind | 'carry' | 'open';
38
+ export interface Credit extends AccountEntry {
39
+ kind: 'credit';
40
+ expiryDate: string;
41
+ }
42
+ export declare type Debit = LossDebit | ExpiryDebit | SessionDebit;
43
+ export interface LossDebit extends AccountEntry {
44
+ kind: 'loss';
45
+ }
46
+ export interface ExpiryDebit extends AccountEntry {
47
+ kind: 'expiry';
48
+ creditId: undefined;
49
+ }
50
+ export interface SessionDebit extends AccountEntry {
51
+ kind: DebitAccountEntryKind;
52
+ creditId: string;
53
+ }
54
+ export declare type AccountEntryDescription = SessionDescription | CreditDescription;
55
+ export interface CreditDescription {
56
+ subscriptionId: string;
57
+ planId: string;
58
+ }
59
+ export declare namespace CreditDescription {
60
+ function is(obj: any): obj is CreditDescription;
61
+ }
62
+ export interface SessionDescription {
63
+ contextTitle: string;
64
+ contextUrl: string;
65
+ workspaceId: string;
66
+ workspaceInstanceId: string;
67
+ }
68
+ export declare namespace SessionDescription {
69
+ function is(obj: any): obj is SessionDescription;
70
+ }
71
+ /**
72
+ * - The earliest subscription may start with User.creationDate
73
+ * - There may be multiple Gitpod subscriptions for a user at any given time
74
+ * - The dates form an interval of the form: [startDate, endDate)
75
+ * - Subscriptions that directly map to a Chargebee plan have their paymentReference set and MAY carry additional paymentData (UserPaidSubscription)
76
+ * - Subscriptions that are assigned to a user through a Team Subscription carry a teamSubscriptionSlotId (AssignedTeamSubscription)
77
+ */
78
+ export interface Subscription {
79
+ uid: string;
80
+ userId: string;
81
+ startDate: string;
82
+ /** When the subscription will end (must be >= cancellationDate!) */
83
+ endDate?: string;
84
+ /** When the subscription was cancelled */
85
+ cancellationDate?: string;
86
+ /** Number of granted hours */
87
+ amount: number;
88
+ /** Number of granted hours for the first month: If this is set, use this value for the first month */
89
+ firstMonthAmount?: number;
90
+ planId?: string;
91
+ paymentReference?: string;
92
+ paymentData?: PaymentData;
93
+ teamSubscriptionSlotId?: string;
94
+ /** marks the subscription as deleted */
95
+ deleted?: boolean;
96
+ }
97
+ export interface SubscriptionAndUser extends Subscription {
98
+ user: User;
99
+ }
100
+ export interface PaymentData {
101
+ /** Marks the date as of which the _switch_ is effective. */
102
+ downgradeDate?: string;
103
+ /** Determines the new plan the dowgrade is targeted against (optional for backwards compatibility) */
104
+ newPlan?: string;
105
+ }
106
+ export interface UserPaidSubscription extends Subscription {
107
+ paymentReference: string;
108
+ paymentData?: PaymentData;
109
+ }
110
+ export declare namespace UserPaidSubscription {
111
+ function is(data: any): data is UserPaidSubscription;
112
+ }
113
+ export interface AssignedTeamSubscription extends Subscription {
114
+ teamSubscriptionSlotId: string;
115
+ }
116
+ export declare namespace AssignedTeamSubscription {
117
+ function is(data: any): data is AssignedTeamSubscription;
118
+ }
119
+ export declare namespace Subscription {
120
+ function create(newSubscription: Omit<Subscription, 'uid'>): Subscription;
121
+ function cancelSubscription(s: Subscription, cancellationDate: string, endDate?: string): void;
122
+ function isSame(s1: Subscription | undefined, s2: Subscription | undefined): boolean;
123
+ function isActive(s: Subscription, date: string): boolean;
124
+ function isDowngraded(s: Subscription): string | undefined;
125
+ function calculateCurrentPeriod(startDate: string, now: Date): {
126
+ startDate: string;
127
+ endDate: string;
128
+ };
129
+ }
130
+ export declare type MaybeSubscription = Subscription | undefined;
131
+ export interface Period {
132
+ startDate: string;
133
+ endDate: string;
134
+ }
135
+ export declare type MaybePeriod = Period | undefined;
136
+ export declare type AccountEntryFixedPeriod = Omit<AccountEntry, 'uid'> & {
137
+ expiryDate: string;
138
+ };
139
+ export interface AccountStatement extends Period {
140
+ userId: string;
141
+ /**
142
+ * The subscriptions that have not been cancelled yet at the end of the period
143
+ */
144
+ subscriptions: Subscription[];
145
+ credits: Credit[];
146
+ debits: Debit[];
147
+ /** Remaining valid hours (accumulated from credits) */
148
+ remainingHours: RemainingHours;
149
+ }
150
+ export declare type RemainingHours = number | 'unlimited';
151
+ export interface CreditAlert {
152
+ userId: string;
153
+ remainingUsageHours: number;
154
+ }
155
+ //# sourceMappingURL=accounting-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounting-protocol.d.ts","sourceRoot":"","sources":["../src/accounting-protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
4
+ * Licensed under the GNU Affero General Public License (AGPL).
5
+ * See License-AGPL.txt in the project root for license information.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.Subscription = exports.AssignedTeamSubscription = exports.UserPaidSubscription = exports.SessionDescription = exports.CreditDescription = exports.AccountEntry = void 0;
9
+ const uuid_1 = require("uuid");
10
+ const timeutil_1 = require("./util/timeutil");
11
+ var AccountEntry;
12
+ (function (AccountEntry) {
13
+ function create(entry) {
14
+ const result = entry;
15
+ result.uid = (0, uuid_1.v4)();
16
+ return result;
17
+ }
18
+ AccountEntry.create = create;
19
+ ;
20
+ })(AccountEntry = exports.AccountEntry || (exports.AccountEntry = {}));
21
+ var CreditDescription;
22
+ (function (CreditDescription) {
23
+ function is(obj) {
24
+ return !!obj
25
+ && obj.hasOwnProperty('subscriptionId')
26
+ && obj.hasOwnProperty('planId');
27
+ }
28
+ CreditDescription.is = is;
29
+ })(CreditDescription = exports.CreditDescription || (exports.CreditDescription = {}));
30
+ var SessionDescription;
31
+ (function (SessionDescription) {
32
+ function is(obj) {
33
+ return !!obj
34
+ && obj.hasOwnProperty('contextTitle')
35
+ && obj.hasOwnProperty('contextUrl')
36
+ && obj.hasOwnProperty('workspaceId')
37
+ && obj.hasOwnProperty('workspaceInstanceId');
38
+ }
39
+ SessionDescription.is = is;
40
+ })(SessionDescription = exports.SessionDescription || (exports.SessionDescription = {}));
41
+ var UserPaidSubscription;
42
+ (function (UserPaidSubscription) {
43
+ function is(data) {
44
+ return !!data
45
+ && data.hasOwnProperty('paymentReference');
46
+ }
47
+ UserPaidSubscription.is = is;
48
+ })(UserPaidSubscription = exports.UserPaidSubscription || (exports.UserPaidSubscription = {}));
49
+ var AssignedTeamSubscription;
50
+ (function (AssignedTeamSubscription) {
51
+ function is(data) {
52
+ return !!data
53
+ && data.hasOwnProperty('teamSubscriptionSlotId');
54
+ }
55
+ AssignedTeamSubscription.is = is;
56
+ })(AssignedTeamSubscription = exports.AssignedTeamSubscription || (exports.AssignedTeamSubscription = {}));
57
+ var Subscription;
58
+ (function (Subscription) {
59
+ function create(newSubscription) {
60
+ const subscription = newSubscription;
61
+ subscription.uid = (0, uuid_1.v4)();
62
+ return subscription;
63
+ }
64
+ Subscription.create = create;
65
+ ;
66
+ function cancelSubscription(s, cancellationDate, endDate) {
67
+ s.endDate = endDate || cancellationDate;
68
+ s.cancellationDate = cancellationDate;
69
+ }
70
+ Subscription.cancelSubscription = cancelSubscription;
71
+ ;
72
+ function isSame(s1, s2) {
73
+ return !!s1 && !!s2
74
+ && s1.userId === s2.userId
75
+ && s1.planId === s2.planId
76
+ && s1.startDate === s2.startDate
77
+ && s1.endDate === s2.endDate
78
+ && s1.amount === s2.amount
79
+ && s1.cancellationDate === s2.cancellationDate
80
+ && s1.deleted === s2.deleted
81
+ && ((s1.paymentData === undefined && s2.paymentData === undefined)
82
+ || (!!s1.paymentData && !!s2.paymentData
83
+ && s1.paymentData.downgradeDate === s2.paymentData.downgradeDate
84
+ && s1.paymentData.newPlan === s2.paymentData.newPlan));
85
+ }
86
+ Subscription.isSame = isSame;
87
+ ;
88
+ function isActive(s, date) {
89
+ return s.startDate <= date && (s.endDate === undefined || date < s.endDate);
90
+ }
91
+ Subscription.isActive = isActive;
92
+ ;
93
+ function isDowngraded(s) {
94
+ return s.paymentData && s.paymentData.downgradeDate;
95
+ }
96
+ Subscription.isDowngraded = isDowngraded;
97
+ ;
98
+ function calculateCurrentPeriod(startDate, now) {
99
+ let nextStartDate = startDate;
100
+ do {
101
+ startDate = nextStartDate;
102
+ nextStartDate = (0, timeutil_1.oneMonthLater)(startDate, new Date(startDate).getDate());
103
+ } while (nextStartDate < now.toISOString());
104
+ return { startDate, endDate: nextStartDate };
105
+ }
106
+ Subscription.calculateCurrentPeriod = calculateCurrentPeriod;
107
+ ;
108
+ })(Subscription = exports.Subscription || (exports.Subscription = {}));
109
+ //# sourceMappingURL=accounting-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounting-protocol.js","sourceRoot":"","sources":["../src/accounting-protocol.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
6
  import { User, Workspace, NamedWorkspaceFeatureFlag } from "./protocol";
7
- import { Without } from "./util/without";
8
7
  import { WorkspaceInstance, WorkspaceInstancePhase } from "./workspace-instance";
9
8
  import { RoleOrPermission } from "./permission";
9
+ import { AccountStatement } from "./accounting-protocol";
10
10
  export interface AdminServer {
11
11
  adminGetUsers(req: AdminGetListRequest<User>): Promise<AdminGetListResult<User>>;
12
12
  adminGetUser(id: string): Promise<User>;
@@ -17,7 +17,13 @@ export interface AdminServer {
17
17
  adminGetWorkspaces(req: AdminGetWorkspacesRequest): Promise<AdminGetListResult<WorkspaceAndInstance>>;
18
18
  adminGetWorkspace(id: string): Promise<WorkspaceAndInstance>;
19
19
  adminForceStopWorkspace(id: string): Promise<void>;
20
+ adminRestoreSoftDeletedWorkspace(id: string): Promise<void>;
20
21
  adminSetLicense(key: string): Promise<void>;
22
+ adminGetAccountStatement(userId: string): Promise<AccountStatement>;
23
+ adminSetProfessionalOpenSource(userId: string, shouldGetProfOSS: boolean): Promise<void>;
24
+ adminIsStudent(userId: string): Promise<boolean>;
25
+ adminAddStudentEmailDomain(userId: string, domain: string): Promise<void>;
26
+ adminGrantExtraHours(userId: string, extraHours: number): Promise<void>;
21
27
  }
22
28
  export interface AdminGetListRequest<T> {
23
29
  offset: number;
@@ -48,14 +54,24 @@ export interface AdminModifyPermanentWorkspaceFeatureFlagRequest {
48
54
  add: boolean;
49
55
  }[];
50
56
  }
51
- export interface WorkspaceAndInstance extends Without<Workspace, "id" | "creationTime">, Without<WorkspaceInstance, "id" | "creationTime"> {
57
+ export interface WorkspaceAndInstance extends Omit<Workspace, "id" | "creationTime">, Omit<WorkspaceInstance, "id" | "creationTime"> {
52
58
  workspaceId: string;
53
59
  workspaceCreationTime: string;
54
60
  instanceId: string;
55
61
  instanceCreationTime: string;
56
62
  phase: WorkspaceInstancePhase;
57
63
  }
58
- export interface AdminGetWorkspacesRequest extends AdminGetListRequest<WorkspaceAndInstance> {
59
- ownerId?: string;
64
+ export declare namespace WorkspaceAndInstance {
65
+ function toWorkspace(wai: WorkspaceAndInstance): Workspace;
66
+ function toInstance(wai: WorkspaceAndInstance): WorkspaceInstance | undefined;
60
67
  }
68
+ export declare type AdminGetWorkspacesRequest = AdminGetListRequest<WorkspaceAndInstance> & AdminGetWorkspacesQuery;
69
+ /** The fields are meant to be used either OR (not combined) */
70
+ export declare type AdminGetWorkspacesQuery = {
71
+ /** we use this field in case we have a UUIDv4 and don't know whether it's an (old) workspace or instance id */
72
+ instanceIdOrWorkspaceId?: string;
73
+ instanceId?: string;
74
+ workspaceId?: string;
75
+ ownerId?: string;
76
+ };
61
77
  //# sourceMappingURL=admin-protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-protocol.d.ts","sourceRoot":"","sources":["../src/admin-protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,WAAW;IACxB,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,cAAc,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,2BAA2B,CAAC,GAAG,EAAE,kCAAkC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,wCAAwC,CAAC,GAAG,EAAE,+CAA+C,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9G,kBAAkB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACtG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7D,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAC,CAAA;IAChB,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,CAAC,EAAE,CAAA;CACZ;AAED,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,kCAAkC;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE;QACD,CAAC,EAAE,gBAAgB,CAAA;QACnB,GAAG,EAAE,OAAO,CAAA;KACf,EAAE,CAAA;CACN;AAED,MAAM,WAAW,+CAA+C;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE;QACL,WAAW,EAAE,yBAAyB,CAAA;QACtC,GAAG,EAAE,OAAO,CAAA;KACf,EAAE,CAAA;CACN;AAED,MAAM,WAAW,oBAAqB,SAAQ,OAAO,CAAC,SAAS,EAAE,IAAI,GAAC,cAAc,CAAC,EAAE,OAAO,CAAC,iBAAiB,EAAE,IAAI,GAAC,cAAc,CAAC;IAClI,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,KAAK,EAAE,sBAAsB,CAAC;CACjC;AAED,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB,CAAC,oBAAoB,CAAC;IACxF,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB"}
1
+ {"version":3,"file":"admin-protocol.d.ts","sourceRoot":"","sources":["../src/admin-protocol.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,19 @@
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.WorkspaceAndInstance = void 0;
9
+ var WorkspaceAndInstance;
10
+ (function (WorkspaceAndInstance) {
11
+ function toWorkspace(wai) {
12
+ return Object.assign({ id: wai.workspaceId, creationTime: wai.workspaceCreationTime }, wai);
13
+ }
14
+ WorkspaceAndInstance.toWorkspace = toWorkspace;
15
+ function toInstance(wai) {
16
+ if (!wai.instanceId) {
17
+ return undefined;
18
+ }
19
+ return Object.assign({ id: wai.instanceId, creationTime: wai.instanceCreationTime }, wai);
20
+ }
21
+ WorkspaceAndInstance.toInstance = toInstance;
22
+ })(WorkspaceAndInstance = exports.WorkspaceAndInstance || (exports.WorkspaceAndInstance = {}));
8
23
  //# sourceMappingURL=admin-protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-protocol.js","sourceRoot":"","sources":["../src/admin-protocol.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
1
+ {"version":3,"file":"admin-protocol.js","sourceRoot":"","sources":["../src/admin-protocol.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAuEH,IAAiB,oBAAoB,CAmBpC;AAnBD,WAAiB,oBAAoB;IACjC,SAAgB,WAAW,CAAC,GAAyB;QACjD,uBACI,EAAE,EAAE,GAAG,CAAC,WAAW,EACnB,YAAY,EAAE,GAAG,CAAC,qBAAqB,IACnC,GAAG,EACT;IACN,CAAC;IANe,gCAAW,cAM1B,CAAA;IAED,SAAgB,UAAU,CAAC,GAAyB;QAChD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;YACjB,OAAO,SAAS,CAAC;SACpB;QACD,uBACI,EAAE,EAAE,GAAG,CAAC,UAAU,EAClB,YAAY,EAAE,GAAG,CAAC,oBAAoB,IAClC,GAAG,EACT;IACN,CAAC;IATe,+BAAU,aASzB,CAAA;AACL,CAAC,EAnBgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAmBpC"}
@@ -0,0 +1,45 @@
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
+ export declare const IAnalyticsWriter: unique symbol;
7
+ declare type Identity = {
8
+ userId: string | number;
9
+ } | {
10
+ userId?: string | number;
11
+ anonymousId: string | number;
12
+ };
13
+ interface Message {
14
+ messageId?: string;
15
+ }
16
+ export declare type IdentifyMessage = Message & Identity & {
17
+ traits?: any;
18
+ timestamp?: Date;
19
+ context?: any;
20
+ };
21
+ export declare type TrackMessage = Message & Identity & {
22
+ event: string;
23
+ properties?: any;
24
+ timestamp?: Date;
25
+ context?: any;
26
+ };
27
+ export declare type PageMessage = Message & Identity & {
28
+ properties?: any;
29
+ timestamp?: Date;
30
+ context?: any;
31
+ };
32
+ export declare type RemoteTrackMessage = Omit<TrackMessage, "timestamp" | "userId" | "anonymousId"> & {
33
+ anonymousId?: string | number;
34
+ };
35
+ export declare type RemotePageMessage = Omit<PageMessage, "timestamp" | "userId"> & {
36
+ anonymousId?: string | number;
37
+ };
38
+ export declare type RemoteIdentifyMessage = Omit<IdentifyMessage, "timestamp" | "userId" | "anonymousId">;
39
+ export interface IAnalyticsWriter {
40
+ identify(msg: IdentifyMessage): void;
41
+ track(msg: TrackMessage): void;
42
+ page(msg: PageMessage): void;
43
+ }
44
+ export {};
45
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D,aAAK,QAAQ,GACP;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAC3B;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEjE,UAAU,OAAO;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,oBAAY,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG;IAC/C,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,GAAG,CAAC;CACjB,CAAC;AAEF,oBAAY,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,GAAG,CAAC;CACjB,CAAC;AAEF,oBAAY,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG;IAC3C,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,GAAG,CAAC;CACjB,CAAC;AAEF,oBAAY,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC,GAAG;IAC1F,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC,CAAC;AACF,oBAAY,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC,GAAG;IACxE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC,CAAC;AAEF,oBAAY,qBAAqB,GAAG,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC,CAAC;AAElG,MAAM,WAAW,gBAAgB;IAE7B,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI,CAAC;IAErC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;IAE/B,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;CAEhC"}
@@ -1,8 +1,10 @@
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
+ exports.IAnalyticsWriter = void 0;
9
+ exports.IAnalyticsWriter = Symbol("IAnalyticsWriter");
10
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGU,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright (c) 2020 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
+ export declare namespace ContextURL {
7
+ const INCREMENTAL_PREBUILD_PREFIX = "incremental-prebuild";
8
+ const PREBUILD_PREFIX = "prebuild";
9
+ const IMAGEBUILD_PREFIX = "imagebuild";
10
+ /**
11
+ * The field "contextUrl" might contain prefixes like:
12
+ * - envvar1=value1/...
13
+ * - prebuild/...
14
+ * This is the analogon to the (Prefix)ContextParser structure in "server".
15
+ */
16
+ function parseToURL(contextUrl: string | undefined): URL | undefined;
17
+ }
18
+ //# sourceMappingURL=context-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-url.d.ts","sourceRoot":"","sources":["../src/context-url.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,yBAAiB,UAAU,CAAC;IACnB,MAAM,2BAA2B,yBAAyB,CAAC;IAC3D,MAAM,eAAe,aAAa,CAAC;IACnC,MAAM,iBAAiB,eAAe,CAAC;IAE9C;;;;;OAKG;IACH,SAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,GAAG,SAAS,CAgC1E;CACF"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
4
+ * Licensed under the GNU Affero General Public License (AGPL).
5
+ * See License-AGPL.txt in the project root for license information.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ContextURL = void 0;
9
+ var ContextURL;
10
+ (function (ContextURL) {
11
+ ContextURL.INCREMENTAL_PREBUILD_PREFIX = "incremental-prebuild";
12
+ ContextURL.PREBUILD_PREFIX = "prebuild";
13
+ ContextURL.IMAGEBUILD_PREFIX = "imagebuild";
14
+ /**
15
+ * The field "contextUrl" might contain prefixes like:
16
+ * - envvar1=value1/...
17
+ * - prebuild/...
18
+ * This is the analogon to the (Prefix)ContextParser structure in "server".
19
+ */
20
+ function parseToURL(contextUrl) {
21
+ if (contextUrl === undefined) {
22
+ return undefined;
23
+ }
24
+ const segments = contextUrl.split("/");
25
+ if (segments.length === 1) {
26
+ return new URL(segments[0]); // this might be something, we just try
27
+ }
28
+ const segmentsToURL = (offset) => {
29
+ let rest = segments.slice(offset).join("/");
30
+ if (!rest.startsWith("http")) {
31
+ rest = 'https://' + rest;
32
+ }
33
+ return new URL(rest);
34
+ };
35
+ const firstSegment = segments[0];
36
+ if (firstSegment === ContextURL.PREBUILD_PREFIX ||
37
+ firstSegment === ContextURL.INCREMENTAL_PREBUILD_PREFIX ||
38
+ firstSegment === ContextURL.IMAGEBUILD_PREFIX) {
39
+ return segmentsToURL(1);
40
+ }
41
+ // check for env vars
42
+ if (firstSegment.indexOf("=") !== -1) {
43
+ return segmentsToURL(1);
44
+ }
45
+ return segmentsToURL(0);
46
+ }
47
+ ContextURL.parseToURL = parseToURL;
48
+ })(ContextURL = exports.ContextURL || (exports.ContextURL = {}));
49
+ //# sourceMappingURL=context-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-url.js","sourceRoot":"","sources":["../src/context-url.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,IAAiB,UAAU,CA4C1B;AA5CD,WAAiB,UAAU;IACZ,sCAA2B,GAAG,sBAAsB,CAAC;IACrD,0BAAe,GAAG,UAAU,CAAC;IAC7B,4BAAiB,GAAG,YAAY,CAAC;IAE9C;;;;;OAKG;IACH,SAAgB,UAAU,CAAC,UAA8B;QACvD,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,uCAAuC;SACtE;QAED,MAAM,aAAa,GAAG,CAAC,MAAc,EAAO,EAAE;YAC5C,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBAC5B,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;aAC1B;YACD,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC;QAGF,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,YAAY,KAAK,WAAA,eAAe;YAChC,YAAY,KAAK,WAAA,2BAA2B;YAC5C,YAAY,KAAK,WAAA,iBAAiB,EAAE;YACtC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;SACzB;QAED,qBAAqB;QACrB,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YACpC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;SACzB;QAED,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAhCe,qBAAU,aAgCzB,CAAA;AACH,CAAC,EA5CgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QA4C1B"}
@@ -1,10 +1,12 @@
1
1
  /**
2
- * Copyright (c) 2020 TypeFox GmbH. All rights reserved.
2
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
6
  export declare class ContextUrlTest {
7
7
  parseContextUrl_withEnvVar(): void;
8
+ parseContextUrl_withEnvVar_withoutSchema(): void;
8
9
  parseContextUrl_withPrebuild(): void;
10
+ parseContextUrl_withPrebuild_withoutSchema(): void;
9
11
  }
10
12
  //# sourceMappingURL=context-url.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-url.spec.d.ts","sourceRoot":"","sources":["../src/context-url.spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,qBACa,cAAc;IAEV,0BAA0B;IAM1B,wCAAwC;IAMxC,4BAA4B;IAM5B,0CAA0C;CAK1D"}