@gitpod/gitpod-protocol 0.1.5-se-simplify-ws-classes.3 → 0.1.5-se-start-with-options.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 (259) hide show
  1. package/lib/accounting-protocol.d.ts +1 -1
  2. package/lib/accounting-protocol.js +1 -1
  3. package/lib/admin-protocol.d.ts +5 -2
  4. package/lib/admin-protocol.d.ts.map +1 -1
  5. package/lib/admin-protocol.js +1 -1
  6. package/lib/admin-protocol.js.map +1 -1
  7. package/lib/analytics.d.ts +1 -1
  8. package/lib/analytics.js +1 -1
  9. package/lib/attribution.d.ts +1 -1
  10. package/lib/attribution.js +1 -1
  11. package/lib/auth.d.ts +1 -1
  12. package/lib/auth.js +1 -1
  13. package/lib/billing-mode.d.ts +1 -1
  14. package/lib/billing-mode.js +1 -1
  15. package/lib/blocked-repositories-protocol.d.ts +1 -1
  16. package/lib/blocked-repositories-protocol.js +1 -1
  17. package/lib/context-url.d.ts +1 -1
  18. package/lib/context-url.js +1 -1
  19. package/lib/context-url.spec.d.ts +1 -1
  20. package/lib/context-url.spec.js +1 -1
  21. package/lib/encryption/container-module.d.ts +1 -1
  22. package/lib/encryption/container-module.js +1 -1
  23. package/lib/encryption/encryption-engine.d.ts +1 -1
  24. package/lib/encryption/encryption-engine.js +1 -1
  25. package/lib/encryption/encryption-engine.spec.d.ts +1 -1
  26. package/lib/encryption/encryption-engine.spec.js +1 -1
  27. package/lib/encryption/encryption-service.d.ts +1 -1
  28. package/lib/encryption/encryption-service.js +1 -1
  29. package/lib/encryption/key-provider.d.ts +1 -1
  30. package/lib/encryption/key-provider.js +1 -1
  31. package/lib/env.d.ts +1 -1
  32. package/lib/env.d.ts.map +1 -1
  33. package/lib/env.js +1 -1
  34. package/lib/env.js.map +1 -1
  35. package/lib/experiments/always-default.d.ts +1 -1
  36. package/lib/experiments/configcat-server.d.ts +1 -1
  37. package/lib/experiments/configcat-server.js +1 -1
  38. package/lib/experiments/configcat.d.ts +1 -1
  39. package/lib/experiments/configcat.js +1 -1
  40. package/lib/experiments/types.d.ts +1 -1
  41. package/lib/experiments/types.js +1 -1
  42. package/lib/gitpod-file-parser.d.ts +1 -1
  43. package/lib/gitpod-file-parser.js +1 -1
  44. package/lib/gitpod-file-parser.spec.d.ts +1 -1
  45. package/lib/gitpod-file-parser.spec.js +1 -1
  46. package/lib/gitpod-service.d.ts +6 -8
  47. package/lib/gitpod-service.d.ts.map +1 -1
  48. package/lib/gitpod-service.js +1 -1
  49. package/lib/gitpod-service.js.map +1 -1
  50. package/lib/headless-workspace-log.d.ts +1 -1
  51. package/lib/headless-workspace-log.js +1 -1
  52. package/lib/ide-frontend-service.d.ts +1 -1
  53. package/lib/ide-frontend-service.js +1 -1
  54. package/lib/ide-protocol.d.ts +10 -2
  55. package/lib/ide-protocol.d.ts.map +1 -1
  56. package/lib/ide-protocol.js +1 -1
  57. package/lib/index.d.ts +1 -1
  58. package/lib/index.js +1 -1
  59. package/lib/installation-admin-protocol.d.ts +1 -1
  60. package/lib/installation-admin-protocol.js +1 -1
  61. package/lib/license-protocol.d.ts +1 -1
  62. package/lib/license-protocol.js +1 -1
  63. package/lib/messaging/browser/window-connection.d.ts +1 -1
  64. package/lib/messaging/browser/window-connection.js +1 -1
  65. package/lib/messaging/client-call-metrics.d.ts +3 -1
  66. package/lib/messaging/client-call-metrics.d.ts.map +1 -1
  67. package/lib/messaging/client-call-metrics.js +14 -1
  68. package/lib/messaging/client-call-metrics.js.map +1 -1
  69. package/lib/messaging/error.d.ts +1 -1
  70. package/lib/messaging/error.js +1 -1
  71. package/lib/oss-allowlist.d.ts +1 -1
  72. package/lib/oss-allowlist.js +1 -1
  73. package/lib/payment-protocol.d.ts +1 -1
  74. package/lib/payment-protocol.js +1 -1
  75. package/lib/permission.d.ts +1 -1
  76. package/lib/permission.js +1 -1
  77. package/lib/plans.d.ts +1 -1
  78. package/lib/plans.js +1 -1
  79. package/lib/protocol.d.ts +3 -3
  80. package/lib/protocol.d.ts.map +1 -1
  81. package/lib/protocol.js +1 -1
  82. package/lib/protocol.spec.d.ts +1 -1
  83. package/lib/protocol.spec.js +1 -1
  84. package/lib/snapshot-url.d.ts +1 -1
  85. package/lib/snapshot-url.js +1 -1
  86. package/lib/snapshot-url.spec.d.ts +1 -1
  87. package/lib/snapshot-url.spec.js +1 -1
  88. package/lib/team-subscription-protocol.d.ts +1 -1
  89. package/lib/team-subscription-protocol.js +1 -1
  90. package/lib/teams-projects-protocol.d.ts +1 -1
  91. package/lib/teams-projects-protocol.js +1 -1
  92. package/lib/typings/globals.d.ts +1 -1
  93. package/lib/typings/globals.js +1 -1
  94. package/lib/usage.d.ts +1 -2
  95. package/lib/usage.d.ts.map +1 -1
  96. package/lib/usage.js +1 -2
  97. package/lib/usage.js.map +1 -1
  98. package/lib/util/analytics.d.ts +1 -1
  99. package/lib/util/analytics.js +1 -1
  100. package/lib/util/async-iterator.d.ts +1 -1
  101. package/lib/util/async-iterator.js +1 -1
  102. package/lib/util/cancelable.d.ts +1 -1
  103. package/lib/util/cancelable.js +1 -1
  104. package/lib/util/date-time.d.ts +1 -1
  105. package/lib/util/date-time.js +1 -1
  106. package/lib/util/debug-app.d.ts +1 -1
  107. package/lib/util/debug-app.js +1 -1
  108. package/lib/util/deep-partial.d.ts +1 -1
  109. package/lib/util/deep-partial.js +1 -1
  110. package/lib/util/deferred.d.ts +1 -1
  111. package/lib/util/deferred.js +1 -1
  112. package/lib/util/garbage-collected-cache.d.ts +1 -1
  113. package/lib/util/garbage-collected-cache.js +1 -1
  114. package/lib/util/generate-workspace-id.d.ts +1 -1
  115. package/lib/util/generate-workspace-id.js +1 -1
  116. package/lib/util/generate-workspace-id.spec.d.ts +1 -1
  117. package/lib/util/generate-workspace-id.spec.js +1 -1
  118. package/lib/util/gitpod-cookie.d.ts +1 -1
  119. package/lib/util/gitpod-cookie.js +1 -1
  120. package/lib/util/gitpod-host-url.d.ts +2 -1
  121. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  122. package/lib/util/gitpod-host-url.js +4 -1
  123. package/lib/util/gitpod-host-url.js.map +1 -1
  124. package/lib/util/gitpod-host-url.spec.d.ts +1 -1
  125. package/lib/util/gitpod-host-url.spec.js +1 -1
  126. package/lib/util/grpc.d.ts +2 -1
  127. package/lib/util/grpc.d.ts.map +1 -1
  128. package/lib/util/grpc.js +1 -1
  129. package/lib/util/grpc.js.map +1 -1
  130. package/lib/util/jaeger-client-types.d.ts +1 -1
  131. package/lib/util/jaeger-client-types.js +1 -1
  132. package/lib/util/logging.d.ts +1 -1
  133. package/lib/util/logging.js +1 -1
  134. package/lib/util/logging.spec.d.ts +1 -1
  135. package/lib/util/logging.spec.js +1 -1
  136. package/lib/util/make-link.d.ts +1 -1
  137. package/lib/util/make-link.js +1 -1
  138. package/lib/util/nice-grpc.d.ts +1 -1
  139. package/lib/util/nice-grpc.d.ts.map +1 -1
  140. package/lib/util/nice-grpc.js +3 -1
  141. package/lib/util/nice-grpc.js.map +1 -1
  142. package/lib/util/parse-workspace-id.d.ts +1 -1
  143. package/lib/util/parse-workspace-id.js +1 -1
  144. package/lib/util/parse-workspace-id.spec.d.ts +1 -1
  145. package/lib/util/parse-workspace-id.spec.js +1 -1
  146. package/lib/util/queue.d.ts +1 -1
  147. package/lib/util/queue.js +1 -1
  148. package/lib/util/queue.spec.d.ts +1 -1
  149. package/lib/util/queue.spec.js +1 -1
  150. package/lib/util/repeat.d.ts +1 -1
  151. package/lib/util/repeat.js +1 -1
  152. package/lib/util/semaphore.d.ts +1 -1
  153. package/lib/util/semaphore.js +1 -1
  154. package/lib/util/skip-if.d.ts +1 -1
  155. package/lib/util/skip-if.js +1 -1
  156. package/lib/util/timeutil.d.ts +1 -1
  157. package/lib/util/timeutil.js +1 -1
  158. package/lib/util/timeutil.spec.d.ts +1 -1
  159. package/lib/util/timeutil.spec.js +1 -1
  160. package/lib/util/tracing.d.ts +1 -1
  161. package/lib/util/tracing.js +1 -1
  162. package/lib/util/tracing.spec.d.ts +1 -1
  163. package/lib/util/tracing.spec.js +1 -1
  164. package/lib/util/workspace-port-authentication.d.ts +1 -1
  165. package/lib/util/workspace-port-authentication.js +1 -1
  166. package/lib/webhook-event.d.ts +1 -1
  167. package/lib/webhook-event.js +1 -1
  168. package/lib/workspace-class.d.ts +1 -1
  169. package/lib/workspace-class.js +1 -1
  170. package/lib/workspace-cluster.d.ts +1 -1
  171. package/lib/workspace-cluster.js +1 -1
  172. package/lib/workspace-instance.d.ts +2 -1
  173. package/lib/workspace-instance.d.ts.map +1 -1
  174. package/lib/workspace-instance.js +1 -1
  175. package/lib/wsready.d.ts +7 -1
  176. package/lib/wsready.d.ts.map +1 -1
  177. package/lib/wsready.js +2 -2
  178. package/package.json +1 -1
  179. package/pkg-yarn.lock +1 -1
  180. package/provenance-bundle.jsonl +1 -1
  181. package/src/accounting-protocol.ts +1 -1
  182. package/src/admin-protocol.ts +7 -2
  183. package/src/analytics.ts +1 -1
  184. package/src/attribution.ts +1 -1
  185. package/src/auth.ts +1 -1
  186. package/src/billing-mode.ts +1 -1
  187. package/src/blocked-repositories-protocol.ts +1 -1
  188. package/src/context-url.spec.ts +1 -1
  189. package/src/context-url.ts +1 -1
  190. package/src/encryption/container-module.ts +1 -1
  191. package/src/encryption/encryption-engine.spec.ts +1 -1
  192. package/src/encryption/encryption-engine.ts +1 -1
  193. package/src/encryption/encryption-service.ts +1 -1
  194. package/src/encryption/key-provider.ts +1 -1
  195. package/src/env.ts +2 -3
  196. package/src/experiments/always-default.ts +1 -1
  197. package/src/experiments/configcat-server.ts +1 -1
  198. package/src/experiments/configcat.ts +1 -1
  199. package/src/experiments/types.ts +1 -1
  200. package/src/gitpod-file-parser.spec.ts +1 -1
  201. package/src/gitpod-file-parser.ts +1 -1
  202. package/src/gitpod-service.ts +8 -9
  203. package/src/headless-workspace-log.ts +1 -1
  204. package/src/ide-frontend-service.ts +1 -1
  205. package/src/ide-protocol.ts +12 -2
  206. package/src/index.ts +1 -1
  207. package/src/installation-admin-protocol.ts +1 -1
  208. package/src/license-protocol.ts +1 -1
  209. package/src/messaging/browser/window-connection.ts +1 -1
  210. package/src/messaging/client-call-metrics.ts +18 -1
  211. package/src/messaging/error.ts +1 -1
  212. package/src/oss-allowlist.ts +1 -1
  213. package/src/payment-protocol.ts +1 -1
  214. package/src/permission.ts +1 -1
  215. package/src/plans.ts +1 -1
  216. package/src/protocol.spec.ts +1 -1
  217. package/src/protocol.ts +3 -3
  218. package/src/snapshot-url.spec.ts +1 -1
  219. package/src/snapshot-url.ts +1 -1
  220. package/src/team-subscription-protocol.ts +1 -1
  221. package/src/teams-projects-protocol.ts +1 -1
  222. package/src/typings/globals.ts +1 -1
  223. package/src/usage.ts +1 -2
  224. package/src/util/analytics.ts +1 -1
  225. package/src/util/async-iterator.ts +1 -1
  226. package/src/util/cancelable.ts +1 -1
  227. package/src/util/date-time.ts +1 -1
  228. package/src/util/debug-app.ts +1 -1
  229. package/src/util/deep-partial.ts +1 -1
  230. package/src/util/deferred.ts +1 -1
  231. package/src/util/garbage-collected-cache.ts +1 -1
  232. package/src/util/generate-workspace-id.spec.ts +1 -1
  233. package/src/util/generate-workspace-id.ts +1 -1
  234. package/src/util/gitpod-cookie.ts +1 -1
  235. package/src/util/gitpod-host-url.spec.ts +1 -1
  236. package/src/util/gitpod-host-url.ts +5 -1
  237. package/src/util/grpc.ts +4 -1
  238. package/src/util/jaeger-client-types.ts +1 -1
  239. package/src/util/logging.spec.ts +1 -1
  240. package/src/util/logging.ts +1 -1
  241. package/src/util/make-link.ts +1 -1
  242. package/src/util/nice-grpc.ts +4 -1
  243. package/src/util/parse-workspace-id.spec.ts +1 -1
  244. package/src/util/parse-workspace-id.ts +1 -1
  245. package/src/util/queue.spec.ts +1 -1
  246. package/src/util/queue.ts +1 -1
  247. package/src/util/repeat.ts +1 -1
  248. package/src/util/semaphore.ts +1 -1
  249. package/src/util/skip-if.ts +1 -1
  250. package/src/util/timeutil.spec.ts +1 -1
  251. package/src/util/timeutil.ts +1 -1
  252. package/src/util/tracing.spec.ts +1 -1
  253. package/src/util/tracing.ts +1 -1
  254. package/src/util/workspace-port-authentication.ts +1 -1
  255. package/src/webhook-event.ts +1 -1
  256. package/src/workspace-class.ts +1 -1
  257. package/src/workspace-cluster.ts +1 -1
  258. package/src/workspace-instance.ts +7 -1
  259. package/src/wsready.ts +9 -2
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import {
@@ -26,6 +26,7 @@ import {
26
26
  PrebuiltWorkspace,
27
27
  UserSSHPublicKeyValue,
28
28
  SSHPublicKeyValue,
29
+ IDESettings,
29
30
  } from "./protocol";
30
31
  import {
31
32
  Team,
@@ -58,7 +59,6 @@ import {
58
59
  } from "./team-subscription-protocol";
59
60
  import { RemotePageMessage, RemoteTrackMessage, RemoteIdentifyMessage } from "./analytics";
60
61
  import { IDEServer } from "./ide-protocol";
61
- import { InstallationAdminSettings, TelemetryData } from "./installation-admin-protocol";
62
62
  import { ListUsageRequest, ListUsageResponse, CostCenterJSON } from "./usage";
63
63
  import { SupportedWorkspaceClass } from "./workspace-class";
64
64
  import { BillingMode } from "./billing-mode";
@@ -175,11 +175,6 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
175
175
  resetGenericInvite(inviteId: string): Promise<TeamMembershipInvite>;
176
176
  deleteTeam(teamId: string): Promise<void>;
177
177
 
178
- // Admin Settings
179
- adminGetSettings(): Promise<InstallationAdminSettings>;
180
- adminUpdateSettings(settings: InstallationAdminSettings): Promise<void>;
181
- adminGetTelemetryData(): Promise<TelemetryData>;
182
-
183
178
  // Projects
184
179
  getProviderRepositoriesForUser(params: GetProviderRepositoriesParams): Promise<ProviderRepository[]>;
185
180
  createProject(params: CreateProjectParams): Promise<Project>;
@@ -420,16 +415,20 @@ export namespace GitpodServer {
420
415
  export interface GetAccountStatementOptions {
421
416
  date?: string;
422
417
  }
423
- export interface CreateWorkspaceOptions {
418
+ export interface CreateWorkspaceOptions extends StartWorkspaceOptions {
424
419
  contextUrl: string;
420
+
425
421
  // whether running workspaces on the same context should be ignored. If false (default) users will be asked.
426
422
  ignoreRunningWorkspaceOnSameCommit?: boolean;
427
423
  ignoreRunningPrebuild?: boolean;
428
424
  allowUsingPreviousPrebuilds?: boolean;
429
425
  forceDefaultConfig?: boolean;
430
426
  }
427
+
431
428
  export interface StartWorkspaceOptions {
432
- forceDefaultImage: boolean;
429
+ forceDefaultImage?: boolean;
430
+ workspaceClass?: string;
431
+ ideSettings?: IDESettings;
433
432
  }
434
433
  export interface TakeSnapshotOptions {
435
434
  workspaceId: string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  export enum HeadlessWorkspaceEventType {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { Event } from "./util/event";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  /**
@@ -87,7 +87,7 @@ export interface IDEOption {
87
87
  label?: string;
88
88
 
89
89
  /**
90
- * Notes to the IDE option that are renderd in the preferences when a user
90
+ * Notes to the IDE option that are rendered in the preferences when a user
91
91
  * chooses this IDE.
92
92
  */
93
93
  notes?: string[];
@@ -126,4 +126,14 @@ export interface IDEOption {
126
126
  * The latest plugin image ref for the latest IDE image, this image ref always resolve to digest.
127
127
  */
128
128
  pluginLatestImage?: string;
129
+
130
+ /**
131
+ * ImageVersion the semantic version of the IDE image.
132
+ */
133
+ imageVersion?: string;
134
+
135
+ /**
136
+ * LatestImageVersion the semantic version of the latest IDE image.
137
+ */
138
+ latestImageVersion?: string;
129
139
  }
package/src/index.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  export * from "./protocol";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { v4 as uuidv4 } from "uuid";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  export interface LicenseValidationResult {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { Message } from "vscode-jsonrpc/lib/messages";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { injectable } from "inversify";
@@ -14,6 +14,7 @@ export class PrometheusClientCallMetrics implements IClientCallMetrics {
14
14
  readonly sentCounter: prometheusClient.Counter<string>;
15
15
  readonly receivedCounter: prometheusClient.Counter<string>;
16
16
  readonly handledCounter: prometheusClient.Counter<string>;
17
+ readonly handledSecondsHistogram: prometheusClient.Histogram<string>;
17
18
 
18
19
  constructor() {
19
20
  this.startedCounter = new prometheusClient.Counter({
@@ -40,6 +41,12 @@ export class PrometheusClientCallMetrics implements IClientCallMetrics {
40
41
  labelNames: ["grpc_service", "grpc_method", "grpc_type", "grpc_code"],
41
42
  registers: [prometheusClient.register],
42
43
  });
44
+ this.handledSecondsHistogram = new prometheusClient.Histogram({
45
+ name: "grpc_client_handling_seconds",
46
+ help: "Histogram of response latency (seconds) of the gRPC until it is finished by the application.",
47
+ labelNames: ["grpc_service", "grpc_method", "grpc_type", "grpc_code"],
48
+ registers: [prometheusClient.register],
49
+ });
43
50
  }
44
51
 
45
52
  started(labels: IGrpcCallMetricsLabels): void {
@@ -74,4 +81,14 @@ export class PrometheusClientCallMetrics implements IClientCallMetrics {
74
81
  grpc_code: labels.code,
75
82
  });
76
83
  }
84
+
85
+ startHandleTimer(
86
+ labels: IGrpcCallMetricsLabelsWithCode,
87
+ ): (labels?: Partial<Record<string, string | number>> | undefined) => number {
88
+ return this.handledSecondsHistogram.startTimer({
89
+ grpc_service: labels.service,
90
+ grpc_method: labels.method,
91
+ grpc_type: labels.type,
92
+ });
93
+ }
77
94
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  export namespace ErrorCodes {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  export interface OssAllowList {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  export namespace PaymentProtocol {
package/src/permission.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  // see below for explanation
package/src/plans.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  export type Currency = "USD" | "EUR";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { suite, test } from "mocha-typescript";
package/src/protocol.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { WorkspaceInstance, PortVisibility } from "./workspace-instance";
@@ -255,8 +255,8 @@ export type IDESettings = {
255
255
  };
256
256
 
257
257
  export interface WorkspaceClasses {
258
- regular: string;
259
- prebuild: string;
258
+ regular?: string;
259
+ prebuild?: string;
260
260
  }
261
261
 
262
262
  export interface UserPlatform {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { suite, test } from "mocha-typescript";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  export interface SnapshotUrl {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { v4 as uuidv4 } from "uuid";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { PrebuiltWorkspaceState, WorkspaceClasses } from "./protocol";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  interface Window {
package/src/usage.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { WorkspaceType } from "./protocol";
@@ -81,6 +81,5 @@ export interface CostCenterJSON {
81
81
  export enum CostCenter_BillingStrategy {
82
82
  BILLING_STRATEGY_STRIPE = "BILLING_STRATEGY_STRIPE",
83
83
  BILLING_STRATEGY_OTHER = "BILLING_STRATEGY_OTHER",
84
- BILLING_STRATEGY_CHARGEBEE_CANCELLATION = "BILLING_STRATEGY_CHARGEBEE_CANCELLATION",
85
84
  UNRECOGNIZED = "UNRECOGNIZED",
86
85
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import Analytics = require("analytics-node");
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  // Use asyncIterators with es2015
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { Disposable } from "./disposable";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  export function formatDate(date?: string) {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import * as http from "http";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  export class Deferred<T> {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { repeat } from "./repeat";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { suite, test } from "mocha-typescript";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import randomNumber = require("random-number-csprng");
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
  import * as cookie from "cookie";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import * as chai from "chai";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  const URL = require("url").URL || window.URL;
@@ -93,6 +93,10 @@ export class GitpodHostUrl {
93
93
  return this.with((url) => ({ pathname: "/" }));
94
94
  }
95
95
 
96
+ asBilling(): GitpodHostUrl {
97
+ return this.with((url) => ({ pathname: "/billing" }));
98
+ }
99
+
96
100
  asLogin(): GitpodHostUrl {
97
101
  return this.with((url) => ({ pathname: "/login" }));
98
102
  }
package/src/util/grpc.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import * as grpc from "@grpc/grpc-js";
@@ -36,6 +36,9 @@ export interface IClientCallMetrics {
36
36
  sent(labels: IGrpcCallMetricsLabels): void;
37
37
  received(labels: IGrpcCallMetricsLabels): void;
38
38
  handled(labels: IGrpcCallMetricsLabelsWithCode): void;
39
+ startHandleTimer(
40
+ labels: IGrpcCallMetricsLabels,
41
+ ): (labels?: Partial<Record<string, string | number>> | undefined) => number;
39
42
  }
40
43
 
41
44
  export function getGrpcMethodType(requestStream: boolean, responseStream: boolean): GrpcMethodType {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { opentracing } from "jaeger-client";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { suite, test } from "mocha-typescript";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  const inspect: (object: any) => string = require("util").inspect; // undefined in frontend
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  function isOpenNewTab(event: MouseEvent): boolean {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { isAbortError } from "abort-controller-x";
@@ -49,6 +49,8 @@ export function prometheusClientMiddleware(metrics: IClientCallMetrics): ClientM
49
49
 
50
50
  metrics.started(labels);
51
51
 
52
+ const stopTimer = metrics.startHandleTimer(labels);
53
+
52
54
  let settled = false;
53
55
  let status: Status = Status.OK;
54
56
 
@@ -87,6 +89,7 @@ export function prometheusClientMiddleware(metrics: IClientCallMetrics): ClientM
87
89
  if (!settled) {
88
90
  status = Status.CANCELLED;
89
91
  }
92
+ stopTimer({ grpc_code: Status[status] });
90
93
  metrics.handled({ ...labels, code: Status[status] });
91
94
  }
92
95
  };
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import * as chai from "chai";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  const REGEX_WORKSPACE_ID = /[0-9a-z]{2,16}-[0-9a-z]{2,16}-[0-9a-z]{8,11}/;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { suite, test, slow, timeout } from "mocha-typescript";
package/src/util/queue.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { Deferred } from "./deferred";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  import { Disposable } from "..";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  export class Semaphore {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
7
  /**