@gitpod/gitpod-protocol 0.1.5-mixpanel-migration-prep.0 → 0.1.5-mp-fmt-gitpod-db.6

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 (265) hide show
  1. package/data/gitpod-schema.json +28 -2
  2. package/lib/accounting-protocol.d.ts +10 -10
  3. package/lib/accounting-protocol.d.ts.map +1 -1
  4. package/lib/accounting-protocol.js +22 -31
  5. package/lib/accounting-protocol.js.map +1 -1
  6. package/lib/admin-protocol.d.ts +4 -2
  7. package/lib/admin-protocol.d.ts.map +1 -1
  8. package/lib/admin-protocol.js.map +1 -1
  9. package/lib/analytics.d.ts.map +1 -1
  10. package/lib/analytics.js.map +1 -1
  11. package/lib/auth.d.ts.map +1 -1
  12. package/lib/context-url.d.ts.map +1 -1
  13. package/lib/context-url.js +3 -3
  14. package/lib/context-url.js.map +1 -1
  15. package/lib/context-url.spec.d.ts.map +1 -1
  16. package/lib/context-url.spec.js +20 -5
  17. package/lib/context-url.spec.js.map +1 -1
  18. package/lib/email-protocol.d.ts +1 -1
  19. package/lib/email-protocol.d.ts.map +1 -1
  20. package/lib/email-protocol.js.map +1 -1
  21. package/lib/encryption/container-module.d.ts.map +1 -1
  22. package/lib/encryption/container-module.js +1 -1
  23. package/lib/encryption/container-module.js.map +1 -1
  24. package/lib/encryption/encryption-engine.d.ts.map +1 -1
  25. package/lib/encryption/encryption-engine.js +7 -7
  26. package/lib/encryption/encryption-engine.js.map +1 -1
  27. package/lib/encryption/encryption-engine.spec.d.ts.map +1 -1
  28. package/lib/encryption/encryption-engine.spec.js +2 -3
  29. package/lib/encryption/encryption-engine.spec.js.map +1 -1
  30. package/lib/encryption/encryption-service.d.ts.map +1 -1
  31. package/lib/encryption/encryption-service.js +1 -1
  32. package/lib/encryption/encryption-service.js.map +1 -1
  33. package/lib/encryption/key-provider.d.ts.map +1 -1
  34. package/lib/encryption/key-provider.js +7 -9
  35. package/lib/encryption/key-provider.js.map +1 -1
  36. package/lib/env.d.ts +1 -1
  37. package/lib/env.d.ts.map +1 -1
  38. package/lib/env.js +5 -5
  39. package/lib/env.js.map +1 -1
  40. package/lib/gitpod-file-parser.d.ts.map +1 -1
  41. package/lib/gitpod-file-parser.js +6 -6
  42. package/lib/gitpod-file-parser.js.map +1 -1
  43. package/lib/gitpod-file-parser.spec.js +42 -39
  44. package/lib/gitpod-file-parser.spec.js.map +1 -1
  45. package/lib/gitpod-service.d.ts +16 -24
  46. package/lib/gitpod-service.d.ts.map +1 -1
  47. package/lib/gitpod-service.js +21 -24
  48. package/lib/gitpod-service.js.map +1 -1
  49. package/lib/headless-workspace-log.d.ts +1 -0
  50. package/lib/headless-workspace-log.d.ts.map +1 -1
  51. package/lib/headless-workspace-log.js +2 -1
  52. package/lib/headless-workspace-log.js.map +1 -1
  53. package/lib/ide-frontend-service.d.ts +1 -1
  54. package/lib/ide-protocol.d.ts +6 -6
  55. package/lib/ide-protocol.d.ts.map +1 -1
  56. package/lib/index.d.ts +16 -16
  57. package/lib/installation-admin-protocol.d.ts.map +1 -1
  58. package/lib/installation-admin-protocol.js +2 -2
  59. package/lib/installation-admin-protocol.js.map +1 -1
  60. package/lib/license-protocol.d.ts.map +1 -1
  61. package/lib/license-protocol.js.map +1 -1
  62. package/lib/messaging/browser/connection.d.ts +1 -1
  63. package/lib/messaging/browser/connection.d.ts.map +1 -1
  64. package/lib/messaging/browser/connection.js +19 -19
  65. package/lib/messaging/browser/connection.js.map +1 -1
  66. package/lib/messaging/browser/window-connection.d.ts +4 -4
  67. package/lib/messaging/browser/window-connection.d.ts.map +1 -1
  68. package/lib/messaging/browser/window-connection.js +9 -6
  69. package/lib/messaging/browser/window-connection.js.map +1 -1
  70. package/lib/messaging/client-call-metrics.d.ts +2 -2
  71. package/lib/messaging/client-call-metrics.d.ts.map +1 -1
  72. package/lib/messaging/client-call-metrics.js +20 -20
  73. package/lib/messaging/client-call-metrics.js.map +1 -1
  74. package/lib/messaging/error.d.ts.map +1 -1
  75. package/lib/messaging/error.js.map +1 -1
  76. package/lib/messaging/handler.d.ts.map +1 -1
  77. package/lib/messaging/handler.js +1 -1
  78. package/lib/messaging/node/connection.js +8 -8
  79. package/lib/messaging/node/connection.js.map +1 -1
  80. package/lib/messaging/proxy-factory.d.ts +1 -1
  81. package/lib/messaging/proxy-factory.d.ts.map +1 -1
  82. package/lib/messaging/proxy-factory.js +7 -9
  83. package/lib/messaging/proxy-factory.js.map +1 -1
  84. package/lib/payment-protocol.d.ts.map +1 -1
  85. package/lib/payment-protocol.js +1 -1
  86. package/lib/payment-protocol.js.map +1 -1
  87. package/lib/permission.d.ts +2 -2
  88. package/lib/permission.d.ts.map +1 -1
  89. package/lib/permission.js +12 -23
  90. package/lib/permission.js.map +1 -1
  91. package/lib/plans.d.ts +3 -3
  92. package/lib/plans.d.ts.map +1 -1
  93. package/lib/plans.js +206 -171
  94. package/lib/plans.js.map +1 -1
  95. package/lib/protocol.d.ts +46 -35
  96. package/lib/protocol.d.ts.map +1 -1
  97. package/lib/protocol.js +73 -85
  98. package/lib/protocol.js.map +1 -1
  99. package/lib/snapshot-url.spec.js.map +1 -1
  100. package/lib/team-subscription-protocol.d.ts +5 -3
  101. package/lib/team-subscription-protocol.d.ts.map +1 -1
  102. package/lib/team-subscription-protocol.js +4 -4
  103. package/lib/team-subscription-protocol.js.map +1 -1
  104. package/lib/teams-projects-protocol.d.ts +3 -3
  105. package/lib/teams-projects-protocol.d.ts.map +1 -1
  106. package/lib/teams-projects-protocol.js +1 -1
  107. package/lib/teams-projects-protocol.js.map +1 -1
  108. package/lib/typings/globals.d.ts +2 -2
  109. package/lib/typings/globals.d.ts.map +1 -1
  110. package/lib/util/analytics.d.ts.map +1 -1
  111. package/lib/util/analytics.js +6 -6
  112. package/lib/util/analytics.js.map +1 -1
  113. package/lib/util/async-iterator.d.ts.map +1 -1
  114. package/lib/util/async-iterator.js +3 -3
  115. package/lib/util/async-iterator.js.map +1 -1
  116. package/lib/util/cancelable.js.map +1 -1
  117. package/lib/util/date-time.js +6 -6
  118. package/lib/util/date-time.js.map +1 -1
  119. package/lib/util/deferred.js.map +1 -1
  120. package/lib/util/disposable.d.ts.map +1 -1
  121. package/lib/util/disposable.js +2 -2
  122. package/lib/util/disposable.js.map +1 -1
  123. package/lib/util/event.d.ts.map +1 -1
  124. package/lib/util/event.js +5 -3
  125. package/lib/util/event.js.map +1 -1
  126. package/lib/util/garbage-collected-cache.d.ts.map +1 -1
  127. package/lib/util/garbage-collected-cache.js +1 -1
  128. package/lib/util/garbage-collected-cache.js.map +1 -1
  129. package/lib/util/generate-workspace-id.d.ts.map +1 -1
  130. package/lib/util/generate-workspace-id.js +435 -435
  131. package/lib/util/generate-workspace-id.js.map +1 -1
  132. package/lib/util/generate-workspace-id.spec.js +10 -6
  133. package/lib/util/generate-workspace-id.spec.js.map +1 -1
  134. package/lib/util/gitpod-cookie.d.ts +1 -1
  135. package/lib/util/gitpod-cookie.d.ts.map +1 -1
  136. package/lib/util/gitpod-cookie.js +0 -3
  137. package/lib/util/gitpod-cookie.js.map +1 -1
  138. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  139. package/lib/util/gitpod-host-url.js +31 -29
  140. package/lib/util/gitpod-host-url.js.map +1 -1
  141. package/lib/util/gitpod-host-url.spec.d.ts.map +1 -1
  142. package/lib/util/gitpod-host-url.spec.js +15 -5
  143. package/lib/util/gitpod-host-url.spec.js.map +1 -1
  144. package/lib/util/grpc.d.ts.map +1 -1
  145. package/lib/util/grpc.js.map +1 -1
  146. package/lib/util/jaeger-client-types.d.ts.map +1 -1
  147. package/lib/util/logging.d.ts +1 -1
  148. package/lib/util/logging.d.ts.map +1 -1
  149. package/lib/util/logging.js +22 -23
  150. package/lib/util/logging.js.map +1 -1
  151. package/lib/util/make-link.js +5 -5
  152. package/lib/util/make-link.js.map +1 -1
  153. package/lib/util/parse-workspace-id.d.ts.map +1 -1
  154. package/lib/util/parse-workspace-id.js +1 -2
  155. package/lib/util/parse-workspace-id.js.map +1 -1
  156. package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
  157. package/lib/util/parse-workspace-id.spec.js.map +1 -1
  158. package/lib/util/queue.spec.js +9 -6
  159. package/lib/util/queue.spec.js.map +1 -1
  160. package/lib/util/semaphore.d.ts.map +1 -1
  161. package/lib/util/semaphore.js.map +1 -1
  162. package/lib/util/skip-if.d.ts.map +1 -1
  163. package/lib/util/skip-if.js.map +1 -1
  164. package/lib/util/timeutil.d.ts.map +1 -1
  165. package/lib/util/timeutil.js +2 -2
  166. package/lib/util/timeutil.js.map +1 -1
  167. package/lib/util/timeutil.spec.d.ts.map +1 -1
  168. package/lib/util/timeutil.spec.js.map +1 -1
  169. package/lib/util/tracing.d.ts +6 -6
  170. package/lib/util/tracing.d.ts.map +1 -1
  171. package/lib/util/tracing.js +6 -6
  172. package/lib/util/tracing.js.map +1 -1
  173. package/lib/util/tracing.spec.js +3 -3
  174. package/lib/util/tracing.spec.js.map +1 -1
  175. package/lib/util/workspace-port-authentication.d.ts +7 -7
  176. package/lib/util/workspace-port-authentication.d.ts.map +1 -1
  177. package/lib/util/workspace-port-authentication.js +8 -11
  178. package/lib/util/workspace-port-authentication.js.map +1 -1
  179. package/lib/workspace-cluster.d.ts +1 -1
  180. package/lib/workspace-cluster.d.ts.map +1 -1
  181. package/lib/workspace-cluster.js +2 -4
  182. package/lib/workspace-cluster.js.map +1 -1
  183. package/lib/workspace-instance.d.ts +2 -2
  184. package/lib/workspace-instance.d.ts.map +1 -1
  185. package/lib/wsready.d.ts +1 -1
  186. package/lib/wsready.d.ts.map +1 -1
  187. package/lib/wsready.js +2 -2
  188. package/package.json +2 -2
  189. package/pkg-yarn.lock +2 -2
  190. package/provenance-bundle.jsonl +1 -1
  191. package/src/accounting-protocol.ts +53 -51
  192. package/src/admin-protocol.ts +25 -21
  193. package/src/analytics.ts +21 -21
  194. package/src/auth.ts +2 -2
  195. package/src/context-url.spec.ts +25 -11
  196. package/src/context-url.ts +80 -78
  197. package/src/email-protocol.ts +5 -6
  198. package/src/encryption/container-module.ts +2 -3
  199. package/src/encryption/encryption-engine.spec.ts +9 -8
  200. package/src/encryption/encryption-engine.ts +14 -14
  201. package/src/encryption/encryption-service.ts +4 -5
  202. package/src/encryption/key-provider.ts +16 -19
  203. package/src/env.ts +9 -9
  204. package/src/gitpod-file-parser.spec.ts +55 -61
  205. package/src/gitpod-file-parser.ts +16 -17
  206. package/src/gitpod-service.ts +117 -101
  207. package/src/headless-workspace-log.ts +6 -4
  208. package/src/ide-frontend-service.ts +2 -2
  209. package/src/ide-protocol.ts +8 -8
  210. package/src/index.ts +16 -16
  211. package/src/installation-admin-protocol.ts +8 -8
  212. package/src/license-protocol.ts +5 -6
  213. package/src/messaging/browser/connection.ts +45 -47
  214. package/src/messaging/browser/window-connection.ts +39 -29
  215. package/src/messaging/client-call-metrics.ts +70 -71
  216. package/src/messaging/error.ts +1 -3
  217. package/src/messaging/handler.ts +6 -6
  218. package/src/messaging/node/connection.ts +8 -8
  219. package/src/messaging/proxy-factory.ts +23 -30
  220. package/src/oss-allowlist.ts +3 -3
  221. package/src/payment-protocol.ts +2 -2
  222. package/src/permission.ts +20 -31
  223. package/src/plans.ts +236 -189
  224. package/src/protocol.ts +226 -238
  225. package/src/snapshot-url.spec.ts +9 -7
  226. package/src/team-subscription-protocol.ts +33 -23
  227. package/src/teams-projects-protocol.ts +8 -8
  228. package/src/typings/globals.ts +4 -4
  229. package/src/util/analytics.ts +46 -42
  230. package/src/util/async-iterator.ts +4 -5
  231. package/src/util/cancelable.ts +3 -3
  232. package/src/util/date-time.ts +8 -8
  233. package/src/util/deferred.ts +6 -6
  234. package/src/util/disposable.ts +3 -6
  235. package/src/util/event.ts +9 -11
  236. package/src/util/garbage-collected-cache.ts +3 -6
  237. package/src/util/generate-workspace-id.spec.ts +18 -15
  238. package/src/util/generate-workspace-id.ts +453 -453
  239. package/src/util/gitpod-cookie.ts +8 -9
  240. package/src/util/gitpod-host-url.spec.ts +40 -13
  241. package/src/util/gitpod-host-url.ts +37 -34
  242. package/src/util/grpc.ts +1 -1
  243. package/src/util/jaeger-client-types.ts +2 -2
  244. package/src/util/logging.ts +49 -39
  245. package/src/util/make-link.ts +6 -7
  246. package/src/util/parse-workspace-id.spec.ts +17 -8
  247. package/src/util/parse-workspace-id.ts +5 -6
  248. package/src/util/queue.spec.ts +27 -25
  249. package/src/util/repeat.ts +1 -1
  250. package/src/util/semaphore.ts +4 -6
  251. package/src/util/skip-if.ts +9 -6
  252. package/src/util/timeutil.spec.ts +14 -15
  253. package/src/util/timeutil.ts +15 -11
  254. package/src/util/tracing.spec.ts +28 -23
  255. package/src/util/tracing.ts +46 -41
  256. package/src/util/workspace-port-authentication.ts +10 -13
  257. package/src/workspace-cluster.ts +15 -12
  258. package/src/workspace-instance.ts +27 -23
  259. package/src/wsready.ts +3 -3
  260. package/data/builtin-theia-plugins.json +0 -372
  261. package/lib/theia-plugins.d.ts +0 -11
  262. package/lib/theia-plugins.d.ts.map +0 -1
  263. package/lib/theia-plugins.js +0 -8
  264. package/lib/theia-plugins.js.map +0 -1
  265. package/src/theia-plugins.ts +0 -11
@@ -5,32 +5,52 @@
5
5
  */
6
6
 
7
7
  import {
8
- User, WorkspaceInfo, WorkspaceCreationResult, WorkspaceInstanceUser,
9
- WhitelistedRepository, WorkspaceImageBuild, AuthProviderInfo, CreateWorkspaceMode,
10
- Token, UserEnvVarValue, ResolvePluginsParams, PreparePluginUploadParams, Terms,
11
- ResolvedPlugins, Configuration, InstallPluginsParams, UninstallPluginParams, UserInfo, GitpodTokenType,
12
- GitpodToken, AuthProviderEntry, GuessGitTokenScopesParams, GuessedGitTokenScopes, ProjectEnvVar
13
- } from './protocol';
8
+ User,
9
+ WorkspaceInfo,
10
+ WorkspaceCreationResult,
11
+ WorkspaceInstanceUser,
12
+ WhitelistedRepository,
13
+ WorkspaceImageBuild,
14
+ AuthProviderInfo,
15
+ CreateWorkspaceMode,
16
+ Token,
17
+ UserEnvVarValue,
18
+ Terms,
19
+ Configuration,
20
+ UserInfo,
21
+ GitpodTokenType,
22
+ GitpodToken,
23
+ AuthProviderEntry,
24
+ GuessGitTokenScopesParams,
25
+ GuessedGitTokenScopes,
26
+ ProjectEnvVar,
27
+ } from "./protocol";
14
28
  import {
15
- Team, TeamMemberInfo,
16
- TeamMembershipInvite, Project, TeamMemberRole, PrebuildWithStatus, StartPrebuildResult, PartialProject
17
- } from './teams-projects-protocol';
18
- import { JsonRpcProxy, JsonRpcServer } from './messaging/proxy-factory';
19
- import { Disposable, CancellationTokenSource } from 'vscode-jsonrpc';
20
- import { HeadlessLogUrls } from './headless-workspace-log';
21
- import { WorkspaceInstance, WorkspaceInstancePort, WorkspaceInstancePhase } from './workspace-instance';
22
- import { AdminServer } from './admin-protocol';
23
- import { GitpodHostUrl } from './util/gitpod-host-url';
24
- import { WebSocketConnectionProvider } from './messaging/browser/connection';
25
- import { PermissionName } from './permission';
26
- import { LicenseService } from './license-protocol';
27
- import { Emitter } from './util/event';
28
- import { AccountStatement, CreditAlert } from './accounting-protocol';
29
- import { GithubUpgradeURL, PlanCoupon } from './payment-protocol';
30
- import { TeamSubscription, TeamSubscriptionSlot, TeamSubscriptionSlotResolved } from './team-subscription-protocol';
31
- import { RemotePageMessage, RemoteTrackMessage, RemoteIdentifyMessage } from './analytics';
32
- import { IDEServer } from './ide-protocol';
33
- import { InstallationAdminSettings, TelemetryData } from './installation-admin-protocol';
29
+ Team,
30
+ TeamMemberInfo,
31
+ TeamMembershipInvite,
32
+ Project,
33
+ TeamMemberRole,
34
+ PrebuildWithStatus,
35
+ StartPrebuildResult,
36
+ PartialProject,
37
+ } from "./teams-projects-protocol";
38
+ import { JsonRpcProxy, JsonRpcServer } from "./messaging/proxy-factory";
39
+ import { Disposable, CancellationTokenSource } from "vscode-jsonrpc";
40
+ import { HeadlessLogUrls } from "./headless-workspace-log";
41
+ import { WorkspaceInstance, WorkspaceInstancePort, WorkspaceInstancePhase } from "./workspace-instance";
42
+ import { AdminServer } from "./admin-protocol";
43
+ import { GitpodHostUrl } from "./util/gitpod-host-url";
44
+ import { WebSocketConnectionProvider } from "./messaging/browser/connection";
45
+ import { PermissionName } from "./permission";
46
+ import { LicenseService } from "./license-protocol";
47
+ import { Emitter } from "./util/event";
48
+ import { AccountStatement, CreditAlert } from "./accounting-protocol";
49
+ import { GithubUpgradeURL, PlanCoupon } from "./payment-protocol";
50
+ import { TeamSubscription, TeamSubscriptionSlot, TeamSubscriptionSlotResolved } from "./team-subscription-protocol";
51
+ import { RemotePageMessage, RemoteTrackMessage, RemoteIdentifyMessage } from "./analytics";
52
+ import { IDEServer } from "./ide-protocol";
53
+ import { InstallationAdminSettings, TelemetryData } from "./installation-admin-protocol";
34
54
 
35
55
  export interface GitpodClient {
36
56
  onInstanceUpdate(instance: WorkspaceInstance): void;
@@ -46,7 +66,7 @@ export interface GitpodClient {
46
66
  //#endregion
47
67
  }
48
68
 
49
- export const GitpodServer = Symbol('GitpodServer');
69
+ export const GitpodServer = Symbol("GitpodServer");
50
70
  export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer, LicenseService, IDEServer {
51
71
  // User related API
52
72
  getLoggedInUser(): Promise<User>;
@@ -159,8 +179,8 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
159
179
  deleteProjectEnvironmentVariable(variableId: string): Promise<void>;
160
180
 
161
181
  // content service
162
- getContentBlobUploadUrl(name: string): Promise<string>
163
- getContentBlobDownloadUrl(name: string): Promise<string>
182
+ getContentBlobUploadUrl(name: string): Promise<string>;
183
+ getContentBlobDownloadUrl(name: string): Promise<string>;
164
184
 
165
185
  // Gitpod token
166
186
  getGitpodTokens(): Promise<GitpodToken[]>;
@@ -197,15 +217,6 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
197
217
  */
198
218
  getLayout(workspaceId: string): Promise<string | undefined>;
199
219
 
200
- /**
201
- * @param params
202
- * @returns promise resolves to an URL to be used for the upload
203
- */
204
- preparePluginUpload(params: PreparePluginUploadParams): Promise<string>
205
- resolvePlugins(workspaceId: string, params: ResolvePluginsParams): Promise<ResolvedPlugins>;
206
- installUserPlugins(params: InstallPluginsParams): Promise<boolean>;
207
- uninstallUserPlugin(params: UninstallPluginParams): Promise<boolean>;
208
-
209
220
  guessGitTokenScopes(params: GuessGitTokenScopesParams): Promise<GuessedGitTokenScopes>;
210
221
 
211
222
  /**
@@ -237,9 +248,13 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
237
248
 
238
249
  tsGet(): Promise<TeamSubscription[]>;
239
250
  tsGetSlots(): Promise<TeamSubscriptionSlotResolved[]>;
240
- tsGetUnassignedSlot(teamSubscriptionId: string): Promise<TeamSubscriptionSlot | undefined>
251
+ tsGetUnassignedSlot(teamSubscriptionId: string): Promise<TeamSubscriptionSlot | undefined>;
241
252
  tsAddSlots(teamSubscriptionId: string, quantity: number): Promise<void>;
242
- tsAssignSlot(teamSubscriptionId: string, teamSubscriptionSlotId: string, identityStr: string | undefined): Promise<void>
253
+ tsAssignSlot(
254
+ teamSubscriptionId: string,
255
+ teamSubscriptionSlotId: string,
256
+ identityStr: string | undefined,
257
+ ): Promise<void>;
243
258
  tsReassignSlot(teamSubscriptionId: string, teamSubscriptionSlotId: string, newIdentityStr: string): Promise<void>;
244
259
  tsDeactivateSlot(teamSubscriptionId: string, teamSubscriptionSlotId: string): Promise<void>;
245
260
  tsReactivateSlot(teamSubscriptionId: string, teamSubscriptionSlotId: string): Promise<void>;
@@ -255,13 +270,13 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
255
270
  }
256
271
 
257
272
  export interface RateLimiterError {
258
- method?: string,
273
+ method?: string;
259
274
 
260
275
  /**
261
276
  * Retry after this many seconds, earliest.
262
277
  * cmp.: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After
263
278
  */
264
- retryAfter: number,
279
+ retryAfter: number;
265
280
  }
266
281
 
267
282
  export interface CreateProjectParams {
@@ -308,13 +323,17 @@ export interface ClientHeaderFields {
308
323
 
309
324
  export const WorkspaceTimeoutValues = ["30m", "60m", "180m"] as const;
310
325
 
311
- export const createServiceMock = function <C extends GitpodClient, S extends GitpodServer>(methods: Partial<JsonRpcProxy<S>>): GitpodServiceImpl<C, S> {
326
+ export const createServiceMock = function <C extends GitpodClient, S extends GitpodServer>(
327
+ methods: Partial<JsonRpcProxy<S>>,
328
+ ): GitpodServiceImpl<C, S> {
312
329
  return new GitpodServiceImpl<C, S>(createServerMock(methods));
313
- }
330
+ };
314
331
 
315
- export const createServerMock = function <C extends GitpodClient, S extends GitpodServer>(methods: Partial<JsonRpcProxy<S>>): JsonRpcProxy<S> {
316
- methods.setClient = methods.setClient || (() => { });
317
- methods.dispose = methods.dispose || (() => { });
332
+ export const createServerMock = function <C extends GitpodClient, S extends GitpodServer>(
333
+ methods: Partial<JsonRpcProxy<S>>,
334
+ ): JsonRpcProxy<S> {
335
+ methods.setClient = methods.setClient || (() => {});
336
+ methods.dispose = methods.dispose || (() => {});
318
337
  return new Proxy<JsonRpcProxy<S>>(methods as any as JsonRpcProxy<S>, {
319
338
  // @ts-ignore
320
339
  get: (target: S, property: keyof S) => {
@@ -323,25 +342,25 @@ export const createServerMock = function <C extends GitpodClient, S extends Gitp
323
342
  throw new Error(`Method ${property} not implemented`);
324
343
  }
325
344
  return result;
326
- }
345
+ },
327
346
  });
328
- }
347
+ };
329
348
 
330
349
  type WorkspaceTimeoutDurationTuple = typeof WorkspaceTimeoutValues;
331
350
  export type WorkspaceTimeoutDuration = WorkspaceTimeoutDurationTuple[number];
332
351
 
333
352
  export interface SetWorkspaceTimeoutResult {
334
- resetTimeoutOnWorkspaces: string[]
353
+ resetTimeoutOnWorkspaces: string[];
335
354
  }
336
355
 
337
356
  export interface GetWorkspaceTimeoutResult {
338
- duration: WorkspaceTimeoutDuration
339
- canChange: boolean
357
+ duration: WorkspaceTimeoutDuration;
358
+ canChange: boolean;
340
359
  }
341
360
 
342
361
  export interface StartWorkspaceResult {
343
- instanceID: string
344
- workspaceURL?: string
362
+ instanceID: string;
363
+ workspaceURL?: string;
345
364
  }
346
365
 
347
366
  export namespace GitpodServer {
@@ -385,23 +404,23 @@ export namespace GitpodServer {
385
404
  readonly roundTripTime?: number;
386
405
  }
387
406
  export interface UpdateOwnAuthProviderParams {
388
- readonly entry: AuthProviderEntry.UpdateEntry | AuthProviderEntry.NewEntry
407
+ readonly entry: AuthProviderEntry.UpdateEntry | AuthProviderEntry.NewEntry;
389
408
  }
390
409
  export interface DeleteOwnAuthProviderParams {
391
- readonly id: string
410
+ readonly id: string;
392
411
  }
393
412
  export type AdmissionLevel = "owner" | "everyone";
394
413
  export type PinAction = "pin" | "unpin" | "toggle";
395
414
  export interface GenerateNewGitpodTokenOptions {
396
- name?: string
397
- type: GitpodTokenType
398
- scopes?: string[]
415
+ name?: string;
416
+ type: GitpodTokenType;
417
+ scopes?: string[];
399
418
  }
400
419
  }
401
420
 
402
- export const GitpodServerPath = '/gitpod';
421
+ export const GitpodServerPath = "/gitpod";
403
422
 
404
- export const GitpodServerProxy = Symbol('GitpodServerProxy');
423
+ export const GitpodServerProxy = Symbol("GitpodServerProxy");
405
424
  export type GitpodServerProxy<S extends GitpodServer> = JsonRpcProxy<S>;
406
425
 
407
426
  export class GitpodCompositeClient<Client extends GitpodClient> implements GitpodClient {
@@ -415,8 +434,8 @@ export class GitpodCompositeClient<Client extends GitpodClient> implements Gitpo
415
434
  if (index > -1) {
416
435
  this.clients.splice(index, 1);
417
436
  }
418
- }
419
- }
437
+ },
438
+ };
420
439
  }
421
440
 
422
441
  onInstanceUpdate(instance: WorkspaceInstance): void {
@@ -425,7 +444,7 @@ export class GitpodCompositeClient<Client extends GitpodClient> implements Gitpo
425
444
  try {
426
445
  client.onInstanceUpdate(instance);
427
446
  } catch (error) {
428
- console.error(error)
447
+ console.error(error);
429
448
  }
430
449
  }
431
450
  }
@@ -437,19 +456,22 @@ export class GitpodCompositeClient<Client extends GitpodClient> implements Gitpo
437
456
  try {
438
457
  client.onPrebuildUpdate(update);
439
458
  } catch (error) {
440
- console.error(error)
459
+ console.error(error);
441
460
  }
442
461
  }
443
462
  }
444
463
  }
445
464
 
446
- onWorkspaceImageBuildLogs(info: WorkspaceImageBuild.StateInfo, content: WorkspaceImageBuild.LogContent | undefined): void {
465
+ onWorkspaceImageBuildLogs(
466
+ info: WorkspaceImageBuild.StateInfo,
467
+ content: WorkspaceImageBuild.LogContent | undefined,
468
+ ): void {
447
469
  for (const client of this.clients) {
448
470
  if (client.onWorkspaceImageBuildLogs) {
449
471
  try {
450
472
  client.onWorkspaceImageBuildLogs(info, content);
451
473
  } catch (error) {
452
- console.error(error)
474
+ console.error(error);
453
475
  }
454
476
  }
455
477
  }
@@ -461,7 +483,7 @@ export class GitpodCompositeClient<Client extends GitpodClient> implements Gitpo
461
483
  try {
462
484
  client.notifyDidOpenConnection();
463
485
  } catch (error) {
464
- console.error(error)
486
+ console.error(error);
465
487
  }
466
488
  }
467
489
  }
@@ -473,7 +495,7 @@ export class GitpodCompositeClient<Client extends GitpodClient> implements Gitpo
473
495
  try {
474
496
  client.notifyDidCloseConnection();
475
497
  } catch (error) {
476
- console.error(error)
498
+ console.error(error);
477
499
  }
478
500
  }
479
501
  }
@@ -485,17 +507,16 @@ export class GitpodCompositeClient<Client extends GitpodClient> implements Gitpo
485
507
  try {
486
508
  client.onCreditAlert(creditAlert);
487
509
  } catch (error) {
488
- console.error(error)
510
+ console.error(error);
489
511
  }
490
512
  }
491
513
  }
492
514
  }
493
-
494
515
  }
495
516
 
496
517
  export type GitpodService = GitpodServiceImpl<GitpodClient, GitpodServer>;
497
518
 
498
- const hasWindow = (typeof window !== 'undefined');
519
+ const hasWindow = typeof window !== "undefined";
499
520
  const phasesOrder: Record<WorkspaceInstancePhase, number> = {
500
521
  unknown: 0,
501
522
  preparing: 1,
@@ -505,44 +526,41 @@ const phasesOrder: Record<WorkspaceInstancePhase, number> = {
505
526
  running: 5,
506
527
  interrupted: 6,
507
528
  stopping: 7,
508
- stopped: 8
529
+ stopped: 8,
509
530
  };
510
531
  export class WorkspaceInstanceUpdateListener {
511
532
  private readonly onDidChangeEmitter = new Emitter<void>();
512
533
  readonly onDidChange = this.onDidChangeEmitter.event;
513
534
 
514
- private source: 'sync' | 'update' = 'sync';
535
+ private source: "sync" | "update" = "sync";
515
536
 
516
537
  get info(): WorkspaceInfo {
517
538
  return this._info;
518
539
  }
519
540
 
520
- constructor(
521
- private readonly service: GitpodService,
522
- private _info: WorkspaceInfo
523
- ) {
541
+ constructor(private readonly service: GitpodService, private _info: WorkspaceInfo) {
524
542
  service.registerClient({
525
- onInstanceUpdate: instance => {
543
+ onInstanceUpdate: (instance) => {
526
544
  if (this.isOutOfOrder(instance)) {
527
545
  return;
528
546
  }
529
547
  this.cancelSync();
530
548
  this._info.latestInstance = instance;
531
- this.source = 'update';
549
+ this.source = "update";
532
550
  this.onDidChangeEmitter.fire(undefined);
533
551
  },
534
552
  notifyDidOpenConnection: () => {
535
553
  this.sync();
536
- }
554
+ },
537
555
  });
538
556
  if (hasWindow) {
539
557
  // learn about page lifecycle here: https://developers.google.com/web/updates/2018/07/page-lifecycle-api
540
- window.document.addEventListener('visibilitychange', async () => {
541
- if (window.document.visibilityState === 'visible') {
558
+ window.document.addEventListener("visibilitychange", async () => {
559
+ if (window.document.visibilityState === "visible") {
542
560
  this.sync();
543
561
  }
544
562
  });
545
- window.addEventListener('pageshow', e => {
563
+ window.addEventListener("pageshow", (e) => {
546
564
  if (e.persisted) {
547
565
  this.sync();
548
566
  }
@@ -570,12 +588,12 @@ export class WorkspaceInstanceUpdateListener {
570
588
  return;
571
589
  }
572
590
  this._info = info;
573
- this.source = 'sync';
591
+ this.source = "sync";
574
592
  this.onDidChangeEmitter.fire(undefined);
575
593
  } catch (e) {
576
- console.error('failed to sync workspace instance:', e)
594
+ console.error("failed to sync workspace instance:", e);
577
595
  }
578
- })
596
+ });
579
597
  }
580
598
  private cancelSync(): void {
581
599
  if (this.syncTokenSource) {
@@ -592,7 +610,7 @@ export class WorkspaceInstanceUpdateListener {
592
610
  if (instance.workspaceId !== this._info.workspace.id) {
593
611
  return true;
594
612
  }
595
- if (this.source === 'update') {
613
+ if (this.source === "update") {
596
614
  return false;
597
615
  }
598
616
  if (instance.id !== this.info.latestInstance?.id) {
@@ -600,15 +618,13 @@ export class WorkspaceInstanceUpdateListener {
600
618
  }
601
619
  return phasesOrder[instance.status.phase] < phasesOrder[this.info.latestInstance.status.phase];
602
620
  }
603
-
604
621
  }
605
622
 
606
623
  export interface GitpodServiceOptions {
607
- onReconnect?: () => (void | Promise<void>)
624
+ onReconnect?: () => void | Promise<void>;
608
625
  }
609
626
 
610
627
  export class GitpodServiceImpl<Client extends GitpodClient, Server extends GitpodServer> {
611
-
612
628
  private readonly compositeClient = new GitpodCompositeClient<Client>();
613
629
 
614
630
  constructor(public readonly server: JsonRpcProxy<Server>, private options?: GitpodServiceOptions) {
@@ -623,7 +639,8 @@ export class GitpodServiceImpl<Client extends GitpodClient, Server extends Gitpo
623
639
 
624
640
  private readonly instanceListeners = new Map<string, Promise<WorkspaceInstanceUpdateListener>>();
625
641
  listenToInstance(workspaceId: string): Promise<WorkspaceInstanceUpdateListener> {
626
- const listener = this.instanceListeners.get(workspaceId) ||
642
+ const listener =
643
+ this.instanceListeners.get(workspaceId) ||
627
644
  (async () => {
628
645
  const info = await this.server.getWorkspace(workspaceId);
629
646
  return new WorkspaceInstanceUpdateListener(this, info);
@@ -639,26 +656,25 @@ export class GitpodServiceImpl<Client extends GitpodClient, Server extends Gitpo
639
656
  }
640
657
  }
641
658
 
642
- export function createGitpodService<C extends GitpodClient, S extends GitpodServer>(serverUrl: string | Promise<string>) {
659
+ export function createGitpodService<C extends GitpodClient, S extends GitpodServer>(
660
+ serverUrl: string | Promise<string>,
661
+ ) {
643
662
  const toWsUrl = (serverUrl: string) => {
644
- return new GitpodHostUrl(serverUrl)
645
- .asWebsocket()
646
- .withApi({ pathname: GitpodServerPath })
647
- .toString();
663
+ return new GitpodHostUrl(serverUrl).asWebsocket().withApi({ pathname: GitpodServerPath }).toString();
648
664
  };
649
665
  let url: string | Promise<string>;
650
666
  if (typeof serverUrl === "string") {
651
667
  url = toWsUrl(serverUrl);
652
668
  } else {
653
- url = serverUrl.then(url => toWsUrl(url));
669
+ url = serverUrl.then((url) => toWsUrl(url));
654
670
  }
655
671
 
656
672
  const connectionProvider = new WebSocketConnectionProvider();
657
- let onReconnect = () => { };
673
+ let onReconnect = () => {};
658
674
  const gitpodServer = connectionProvider.createProxy<S>(url, undefined, {
659
- onListening: socket => {
675
+ onListening: (socket) => {
660
676
  onReconnect = () => socket.reconnect();
661
- }
677
+ },
662
678
  });
663
679
  return new GitpodServiceImpl<C, S>(gitpodServer, { onReconnect });
664
- }
680
+ }
@@ -4,21 +4,23 @@
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
-
8
7
  export enum HeadlessWorkspaceEventType {
9
8
  LogOutput = "log-output",
10
9
  FinishedSuccessfully = "finish-success",
11
10
  FinishedButFailed = "finish-fail",
12
11
  AbortedTimedOut = "aborted-timeout",
13
12
  Aborted = "aborted",
14
- Started = "started"
13
+ Failed = "failed",
14
+ Started = "started",
15
15
  }
16
16
  export namespace HeadlessWorkspaceEventType {
17
17
  export function isRunning(t: HeadlessWorkspaceEventType) {
18
18
  return t === HeadlessWorkspaceEventType.LogOutput;
19
19
  }
20
20
  export function didFinish(t: HeadlessWorkspaceEventType) {
21
- return t === HeadlessWorkspaceEventType.FinishedButFailed || t === HeadlessWorkspaceEventType.FinishedSuccessfully;
21
+ return (
22
+ t === HeadlessWorkspaceEventType.FinishedButFailed || t === HeadlessWorkspaceEventType.FinishedSuccessfully
23
+ );
22
24
  }
23
25
  }
24
26
 
@@ -35,4 +37,4 @@ export interface HeadlessLogUrls {
35
37
 
36
38
  /** cmp. @const HEADLESS_LOG_STREAM_STATUS_CODE_REGEX */
37
39
  export const HEADLESS_LOG_STREAM_STATUS_CODE = "X-LogStream-StatusCode";
38
- export const HEADLESS_LOG_STREAM_STATUS_CODE_REGEX = /X-LogStream-StatusCode: ([0-9]{3})/;
40
+ export const HEADLESS_LOG_STREAM_STATUS_CODE_REGEX = /X-LogStream-StatusCode: ([0-9]{3})/;
@@ -7,7 +7,7 @@
7
7
  import { Event } from "./util/event";
8
8
  import { Disposable } from "./util/disposable";
9
9
 
10
- export type IDEFrontendState = 'init' | 'ready' | 'terminated';
10
+ export type IDEFrontendState = "init" | "ready" | "terminated";
11
11
 
12
12
  export interface IDEFrontendService {
13
13
  readonly state: IDEFrontendState;
@@ -25,4 +25,4 @@ export interface IDEFrontendService {
25
25
  * confirmation dialogs for stopped workspaces.
26
26
  */
27
27
  start(): Disposable;
28
- }
28
+ }
@@ -45,12 +45,12 @@ export interface IDEClient {
45
45
  /**
46
46
  * Desktop IDEs supported by the client.
47
47
  */
48
- desktopIDEs?: string[]
48
+ desktopIDEs?: string[];
49
49
 
50
50
  /**
51
51
  * Steps to install the client on user machine.
52
52
  */
53
- installationSteps?: string[]
53
+ installationSteps?: string[];
54
54
  }
55
55
 
56
56
  export interface IDEOption {
@@ -67,12 +67,12 @@ export interface IDEOption {
67
67
  /**
68
68
  * The type of the IDE, currently 'browser' or 'desktop'.
69
69
  */
70
- type: 'browser' | 'desktop';
70
+ type: "browser" | "desktop";
71
71
 
72
72
  /**
73
- * The logo for the IDE. That could be a key in (see
74
- * components/dashboard/src/images/ideLogos.ts) or a URL.
75
- */
73
+ * The logo for the IDE. That could be a key in (see
74
+ * components/dashboard/src/images/ideLogos.ts) or a URL.
75
+ */
76
76
  logo: string;
77
77
 
78
78
  /**
@@ -93,8 +93,8 @@ export interface IDEOption {
93
93
  notes?: string[];
94
94
 
95
95
  /**
96
- * If `true` this IDE option is not visible in the IDE preferences.
97
- */
96
+ * If `true` this IDE option is not visible in the IDE preferences.
97
+ */
98
98
  hidden?: boolean;
99
99
 
100
100
  /**
package/src/index.ts CHANGED
@@ -4,19 +4,19 @@
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
- export * from './protocol';
8
- export * from './gitpod-service';
9
- export * from './util/disposable';
10
- export * from './util/event';
11
- export * from './util/queue';
12
- export * from './license-protocol';
13
- export * from './workspace-instance';
14
- export * from './permission';
15
- export * from './admin-protocol';
16
- export * from './email-protocol';
17
- export * from './headless-workspace-log';
18
- export * from './context-url';
19
- export * from './teams-projects-protocol';
20
- export * from './snapshot-url';
21
- export * from './oss-allowlist';
22
- export * from './installation-admin-protocol';
7
+ export * from "./protocol";
8
+ export * from "./gitpod-service";
9
+ export * from "./util/disposable";
10
+ export * from "./util/event";
11
+ export * from "./util/queue";
12
+ export * from "./license-protocol";
13
+ export * from "./workspace-instance";
14
+ export * from "./permission";
15
+ export * from "./admin-protocol";
16
+ export * from "./email-protocol";
17
+ export * from "./headless-workspace-log";
18
+ export * from "./context-url";
19
+ export * from "./teams-projects-protocol";
20
+ export * from "./snapshot-url";
21
+ export * from "./oss-allowlist";
22
+ export * from "./installation-admin-protocol";
@@ -4,11 +4,11 @@
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
- import { v4 as uuidv4 } from 'uuid';
7
+ import { v4 as uuidv4 } from "uuid";
8
8
 
9
9
  const InstallationAdminSettingsPrototype = {
10
- sendTelemetry: true
11
- }
10
+ sendTelemetry: true,
11
+ };
12
12
 
13
13
  export type InstallationAdminSettings = typeof InstallationAdminSettingsPrototype;
14
14
 
@@ -24,10 +24,10 @@ export interface InstallationAdmin {
24
24
  }
25
25
 
26
26
  export interface TelemetryData {
27
- installationAdmin: InstallationAdmin
28
- totalUsers: number
29
- totalWorkspaces: number
30
- totalInstances: number
27
+ installationAdmin: InstallationAdmin;
28
+ totalUsers: number;
29
+ totalWorkspaces: number;
30
+ totalInstances: number;
31
31
  }
32
32
 
33
33
  export namespace InstallationAdmin {
@@ -36,7 +36,7 @@ export namespace InstallationAdmin {
36
36
  id: uuidv4(),
37
37
  settings: {
38
38
  ...InstallationAdminSettingsPrototype,
39
- }
39
+ },
40
40
  };
41
41
  }
42
42
  }
@@ -4,11 +4,10 @@
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
6
 
7
-
8
7
  export interface LicenseValidationResult {
9
- valid: boolean
10
- msg?: string
11
- issue?: LicenseIssue
8
+ valid: boolean;
9
+ msg?: string;
10
+ issue?: LicenseIssue;
12
11
  }
13
12
 
14
13
  export type LicenseIssue = "seats-exhausted";
@@ -34,5 +33,5 @@ export enum LicenseFeature {
34
33
  export interface LicenseService {
35
34
  validateLicense(): Promise<LicenseValidationResult>;
36
35
  getLicenseInfo(): Promise<GetLicenseInfoResult>;
37
- licenseIncludesFeature(feature: LicenseFeature): Promise<boolean>
38
- }
36
+ licenseIncludesFeature(feature: LicenseFeature): Promise<boolean>;
37
+ }