@gitpod/gitpod-protocol 0.1.5-sje-pacman.1 → 0.1.5-sje-kots-node-reqs.1

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 (139) hide show
  1. package/data/gitpod-schema.json +153 -2
  2. package/lib/accounting-protocol.d.ts +7 -0
  3. package/lib/accounting-protocol.d.ts.map +1 -1
  4. package/lib/accounting-protocol.js +8 -1
  5. package/lib/accounting-protocol.js.map +1 -1
  6. package/lib/admin-protocol.d.ts +4 -0
  7. package/lib/admin-protocol.d.ts.map +1 -1
  8. package/lib/admin-protocol.js.map +1 -1
  9. package/lib/attribution.d.ts +20 -0
  10. package/lib/attribution.d.ts.map +1 -0
  11. package/lib/attribution.js +40 -0
  12. package/lib/attribution.js.map +1 -0
  13. package/lib/blocked-repositories-protocol.d.ts +13 -0
  14. package/lib/blocked-repositories-protocol.d.ts.map +1 -0
  15. package/lib/blocked-repositories-protocol.js +8 -0
  16. package/lib/blocked-repositories-protocol.js.map +1 -0
  17. package/lib/context-url.js +1 -1
  18. package/lib/context-url.js.map +1 -1
  19. package/lib/env.d.ts +0 -5
  20. package/lib/env.d.ts.map +1 -1
  21. package/lib/env.js +1 -20
  22. package/lib/env.js.map +1 -1
  23. package/lib/experiments/always-default.d.ts +8 -0
  24. package/lib/experiments/always-default.d.ts.map +1 -0
  25. package/lib/experiments/always-default.js +20 -0
  26. package/lib/experiments/always-default.js.map +1 -0
  27. package/lib/experiments/configcat-server.d.ts +8 -0
  28. package/lib/experiments/configcat-server.d.ts.map +1 -0
  29. package/lib/experiments/configcat-server.js +35 -0
  30. package/lib/experiments/configcat-server.js.map +1 -0
  31. package/lib/experiments/configcat.d.ts +22 -0
  32. package/lib/experiments/configcat.d.ts.map +1 -0
  33. package/lib/experiments/configcat.js +53 -0
  34. package/lib/experiments/configcat.js.map +1 -0
  35. package/lib/experiments/types.d.ts +23 -0
  36. package/lib/experiments/types.d.ts.map +1 -0
  37. package/lib/experiments/types.js +10 -0
  38. package/lib/experiments/types.js.map +1 -0
  39. package/lib/gitpod-service.d.ts +29 -5
  40. package/lib/gitpod-service.d.ts.map +1 -1
  41. package/lib/gitpod-service.js +20 -10
  42. package/lib/gitpod-service.js.map +1 -1
  43. package/lib/index.d.ts +1 -0
  44. package/lib/index.d.ts.map +1 -1
  45. package/lib/index.js +1 -0
  46. package/lib/index.js.map +1 -1
  47. package/lib/installation-admin-protocol.d.ts +3 -0
  48. package/lib/installation-admin-protocol.d.ts.map +1 -1
  49. package/lib/installation-admin-protocol.js +1 -0
  50. package/lib/installation-admin-protocol.js.map +1 -1
  51. package/lib/license-protocol.d.ts +7 -0
  52. package/lib/license-protocol.d.ts.map +1 -1
  53. package/lib/license-protocol.js.map +1 -1
  54. package/lib/messaging/error.d.ts +2 -0
  55. package/lib/messaging/error.d.ts.map +1 -1
  56. package/lib/messaging/error.js +4 -0
  57. package/lib/messaging/error.js.map +1 -1
  58. package/lib/protocol.d.ts +86 -4
  59. package/lib/protocol.d.ts.map +1 -1
  60. package/lib/protocol.js +183 -12
  61. package/lib/protocol.js.map +1 -1
  62. package/lib/protocol.spec.d.ts +7 -0
  63. package/lib/protocol.spec.d.ts.map +1 -0
  64. package/lib/protocol.spec.js +127 -0
  65. package/lib/protocol.spec.js.map +1 -0
  66. package/lib/team-subscription-protocol.d.ts +16 -0
  67. package/lib/team-subscription-protocol.d.ts.map +1 -1
  68. package/lib/team-subscription-protocol.js +12 -1
  69. package/lib/team-subscription-protocol.js.map +1 -1
  70. package/lib/teams-projects-protocol.d.ts +18 -0
  71. package/lib/teams-projects-protocol.d.ts.map +1 -1
  72. package/lib/teams-projects-protocol.js.map +1 -1
  73. package/lib/usage.d.ts +22 -0
  74. package/lib/usage.d.ts.map +1 -0
  75. package/lib/usage.js +115 -0
  76. package/lib/usage.js.map +1 -0
  77. package/lib/util/debug-app.d.ts +25 -0
  78. package/lib/util/debug-app.d.ts.map +1 -0
  79. package/lib/util/debug-app.js +100 -0
  80. package/lib/util/debug-app.js.map +1 -0
  81. package/lib/util/generate-workspace-id.d.ts +5 -0
  82. package/lib/util/generate-workspace-id.d.ts.map +1 -1
  83. package/lib/util/generate-workspace-id.js +12 -8
  84. package/lib/util/generate-workspace-id.js.map +1 -1
  85. package/lib/util/generate-workspace-id.spec.js +10 -3
  86. package/lib/util/generate-workspace-id.spec.js.map +1 -1
  87. package/lib/util/logging.d.ts.map +1 -1
  88. package/lib/util/logging.js +9 -2
  89. package/lib/util/logging.js.map +1 -1
  90. package/lib/util/timeutil.d.ts +1 -0
  91. package/lib/util/timeutil.d.ts.map +1 -1
  92. package/lib/util/timeutil.js +7 -1
  93. package/lib/util/timeutil.js.map +1 -1
  94. package/lib/util/tracing.d.ts.map +1 -1
  95. package/lib/util/tracing.js +8 -10
  96. package/lib/util/tracing.js.map +1 -1
  97. package/lib/webhook-event.d.ts +44 -0
  98. package/lib/webhook-event.d.ts.map +1 -0
  99. package/lib/webhook-event.js +8 -0
  100. package/lib/webhook-event.js.map +1 -0
  101. package/lib/workspace-cluster.d.ts +5 -7
  102. package/lib/workspace-cluster.d.ts.map +1 -1
  103. package/lib/workspace-cluster.js.map +1 -1
  104. package/lib/workspace-instance.d.ts +17 -1
  105. package/lib/workspace-instance.d.ts.map +1 -1
  106. package/lib/wsready.js +1 -1
  107. package/package.json +9 -6
  108. package/pkg-yarn.lock +7 -5
  109. package/provenance-bundle.jsonl +1 -1
  110. package/src/accounting-protocol.ts +10 -0
  111. package/src/admin-protocol.ts +7 -0
  112. package/src/attribution.ts +48 -0
  113. package/src/blocked-repositories-protocol.ts +13 -0
  114. package/src/context-url.ts +1 -1
  115. package/src/env.ts +0 -22
  116. package/src/experiments/always-default.ts +24 -0
  117. package/src/experiments/configcat-server.ts +38 -0
  118. package/src/experiments/configcat.ts +58 -0
  119. package/src/experiments/types.ts +35 -0
  120. package/src/gitpod-service.ts +54 -11
  121. package/src/index.ts +1 -0
  122. package/src/installation-admin-protocol.ts +3 -0
  123. package/src/license-protocol.ts +7 -0
  124. package/src/messaging/error.ts +6 -0
  125. package/src/protocol.spec.ts +97 -0
  126. package/src/protocol.ts +258 -13
  127. package/src/team-subscription-protocol.ts +24 -0
  128. package/src/teams-projects-protocol.ts +20 -0
  129. package/src/usage.ts +146 -0
  130. package/src/util/debug-app.ts +81 -0
  131. package/src/util/generate-workspace-id.spec.ts +10 -3
  132. package/src/util/generate-workspace-id.ts +9 -3
  133. package/src/util/logging.ts +11 -3
  134. package/src/util/timeutil.ts +6 -0
  135. package/src/util/tracing.ts +8 -10
  136. package/src/webhook-event.ts +55 -0
  137. package/src/workspace-cluster.ts +2 -4
  138. package/src/workspace-instance.ts +30 -1
  139. package/src/wsready.ts +1 -1
@@ -0,0 +1,127 @@
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
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ var __metadata = (this && this.__metadata) || function (k, v) {
14
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ const mocha_typescript_1 = require("mocha-typescript");
18
+ const chai = require("chai");
19
+ const _1 = require(".");
20
+ const expect = chai.expect;
21
+ let TestSSHPublicKeyValue = class TestSSHPublicKeyValue {
22
+ constructor() {
23
+ this.key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCnrN9UdK1bNGPmZfenTWXLuYYDjlYvZE8S+WOfP08WpR1GETzX5ZvgYOEZGwEE8KUPHC9cge4Hvo/ydIS9aqbZ5MiVGJ8cAIq1Ic89SjlDWU6fl8TwIqOPCi2imAASlEDP4q8vMLK1N6UOW1EVbxyL3uybGd10ysC1t1FxFPveIGNsYE/MOQeuEWS16AplpXYXIfVRSlgAskeBft2w8Ud3B4gNe8ECLA/FXu96UpvZkdtOarA3JZ9Z27GveNJg9Mtmmw0+US0KXiO9x9NyH7G8+mqVDwDY+nNvaFA5gtQxkkl/uY2oz9k/B4Rjlj3jOiUXe5uQs3XUm5m8g9a9fh62DabLpA2fEvtfg+a/VqNe52dNa5YjupwvBd6Inb5uMW/TYjNl6bNHPlXFKw/nwLOVzukpkjxMZUKS6+4BGkpoasj6y2rTU/wkpbdD8J7yjI1p6J9aKkC6KksIWgN7xGmHkv2PCGDqMHTNbnQyowtNKMgA/667vAYJ0qW7HAHBFXJRs6uRi/DI3+c1QV2s4wPCpEHDIYApovQ0fbON4WDPoGMyHd7kPh9xB/bX7Dj0uMXImu1pdTd62fQ/1XXX64+vjAAXS/P9RSCD0RCRt/K3LPKl2m7GPI3y1niaE52XhxZw+ms9ays6NasNVMw/ZC+f02Ti+L5FBEVf8230RVVRQ== notfound@gitpod.io";
24
+ }
25
+ testValidate() {
26
+ const key = this.key;
27
+ const [t, k, e] = key.split(" ");
28
+ expect(_1.SSHPublicKeyValue.getData({
29
+ key,
30
+ name: "NiceName",
31
+ })).to.deep.equal({ type: t, key: k, email: e });
32
+ }
33
+ testValidateWithDiffType() {
34
+ const key = this.key;
35
+ const [_, k, e] = key.split(" ");
36
+ expect(_1.SSHPublicKeyValue.getData({
37
+ key: key.replace("ssh-rsa", "sk-ecdsa-sha2-nistp256@openssh.com"),
38
+ name: "NiceName",
39
+ })).to.deep.equal({ type: "sk-ecdsa-sha2-nistp256@openssh.com", key: k, email: e });
40
+ }
41
+ testValidateWithoutEmail() {
42
+ const key = this.key;
43
+ const [t, k, _] = key.split(" ");
44
+ expect(_1.SSHPublicKeyValue.getData({
45
+ key: key.replace(" notfound@gitpod.io", ""),
46
+ name: "NiceName",
47
+ })).to.deep.equal({ type: t, key: k, email: undefined });
48
+ }
49
+ testValidateWithoutEmailButEndsWithSpaces() {
50
+ const key = this.key;
51
+ const [t, k, _] = key.split(" ");
52
+ expect(_1.SSHPublicKeyValue.getData({
53
+ key: key.replace("notfound@gitpod.io", " "),
54
+ name: "NiceName",
55
+ })).to.deep.equal({ type: t, key: k, email: undefined });
56
+ }
57
+ testValidateWithError() {
58
+ expect(() => _1.SSHPublicKeyValue.getData({
59
+ key: "Hello World",
60
+ name: "NiceName",
61
+ })).throw("Key is invalid");
62
+ expect(() => _1.SSHPublicKeyValue.getData({
63
+ key: "",
64
+ name: "NiceName",
65
+ })).throw("Key is invalid");
66
+ }
67
+ testGetFingerprint() {
68
+ const key = this.key;
69
+ expect(_1.SSHPublicKeyValue.getFingerprint({
70
+ key,
71
+ name: "NiceName",
72
+ })).to.equal("ykjP/b5aqoa3envmXzWpPMCGgEFMu3QvubfSTNrJCMA=");
73
+ }
74
+ testGetFingerprintWithIncorrectPublicKey() {
75
+ expect(() => _1.SSHPublicKeyValue.getFingerprint({
76
+ key: "Hello World",
77
+ name: "NiceName",
78
+ })).to.throw("Key is invalid");
79
+ }
80
+ };
81
+ __decorate([
82
+ mocha_typescript_1.test,
83
+ __metadata("design:type", Function),
84
+ __metadata("design:paramtypes", []),
85
+ __metadata("design:returntype", void 0)
86
+ ], TestSSHPublicKeyValue.prototype, "testValidate", null);
87
+ __decorate([
88
+ mocha_typescript_1.test,
89
+ __metadata("design:type", Function),
90
+ __metadata("design:paramtypes", []),
91
+ __metadata("design:returntype", void 0)
92
+ ], TestSSHPublicKeyValue.prototype, "testValidateWithDiffType", null);
93
+ __decorate([
94
+ mocha_typescript_1.test,
95
+ __metadata("design:type", Function),
96
+ __metadata("design:paramtypes", []),
97
+ __metadata("design:returntype", void 0)
98
+ ], TestSSHPublicKeyValue.prototype, "testValidateWithoutEmail", null);
99
+ __decorate([
100
+ mocha_typescript_1.test,
101
+ __metadata("design:type", Function),
102
+ __metadata("design:paramtypes", []),
103
+ __metadata("design:returntype", void 0)
104
+ ], TestSSHPublicKeyValue.prototype, "testValidateWithoutEmailButEndsWithSpaces", null);
105
+ __decorate([
106
+ mocha_typescript_1.test,
107
+ __metadata("design:type", Function),
108
+ __metadata("design:paramtypes", []),
109
+ __metadata("design:returntype", void 0)
110
+ ], TestSSHPublicKeyValue.prototype, "testValidateWithError", null);
111
+ __decorate([
112
+ mocha_typescript_1.test,
113
+ __metadata("design:type", Function),
114
+ __metadata("design:paramtypes", []),
115
+ __metadata("design:returntype", void 0)
116
+ ], TestSSHPublicKeyValue.prototype, "testGetFingerprint", null);
117
+ __decorate([
118
+ mocha_typescript_1.test,
119
+ __metadata("design:type", Function),
120
+ __metadata("design:paramtypes", []),
121
+ __metadata("design:returntype", void 0)
122
+ ], TestSSHPublicKeyValue.prototype, "testGetFingerprintWithIncorrectPublicKey", null);
123
+ TestSSHPublicKeyValue = __decorate([
124
+ mocha_typescript_1.suite
125
+ ], TestSSHPublicKeyValue);
126
+ module.exports = new TestSSHPublicKeyValue(); // Only to circumvent no usage warning :-/
127
+ //# sourceMappingURL=protocol.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.spec.js","sourceRoot":"","sources":["../src/protocol.spec.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,22 @@ export declare namespace TeamSubscription {
22
22
  const create: (ts: Omit<TeamSubscription, "id">) => TeamSubscription;
23
23
  const isActive: (ts: TeamSubscription, date: string) => boolean;
24
24
  }
25
+ export interface TeamSubscription2 {
26
+ id: string;
27
+ teamId: string;
28
+ planId: string;
29
+ startDate: string;
30
+ endDate?: string;
31
+ quantity: number;
32
+ /** The Chargebee subscription id */
33
+ paymentReference: string;
34
+ cancellationDate?: string;
35
+ excludeFromMoreResources: boolean;
36
+ }
37
+ export declare namespace TeamSubscription2 {
38
+ const create: (ts2: Omit<TeamSubscription2, "id">) => TeamSubscription2;
39
+ const isActive: (ts2: TeamSubscription2, date: string) => boolean;
40
+ }
25
41
  /**
26
42
  * A slot represents one unit of a TeamSubscription that gets assigned to one user at a time
27
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"team-subscription-protocol.d.ts","sourceRoot":"","sources":["../src/team-subscription-protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mHAAmH;IACnH,wBAAwB,EAAE,OAAO,CAAC;CACrC;AAED,yBAAiB,gBAAgB,CAAC;IACvB,MAAM,MAAM,OAAQ,KAAK,gBAAgB,EAAE,IAAI,CAAC,KAAG,gBAIzD,CAAC;IACK,MAAM,QAAQ,OAAQ,gBAAgB,QAAQ,MAAM,KAAG,OAE7D,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD,oBAAY,+BAA+B,GAAG,oBAAoB,GAAG;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,kBAAkB,CAAC;CAC1C,CAAC;AACF,oBAAY,4BAA4B,GAAG,oBAAoB,GAC3D,+BAA+B,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,oBAAY,yBAAyB,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAC;AAEhG,yBAAiB,oBAAoB,CAAC;IAC3B,MAAM,MAAM,OAAQ,KAAK,oBAAoB,EAAE,IAAI,CAAC,KAAG,oBAI7D,CAAC;IACK,MAAM,MAAM,SACT,oBAAoB,cACd,MAAM,kBACF,MAAM,sBACF,kBAAkB,SAKzC,CAAC;IACK,MAAM,UAAU,SAAU,oBAAoB,oBAAoB,MAAM,SAG9E,CAAC;IACK,MAAM,UAAU,SAAU,oBAAoB,8CAGpD,CAAC;IACK,MAAM,MAAM,SAAU,oBAAoB,OAAO,MAAM,KAAG,yBAchE,CAAC;IACK,MAAM,QAAQ,SAAU,oBAAoB,KAAG,OAErD,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,yBAAyB,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,oBAAY,kBAAkB,GAAG,0BAA0B,CAAC;AAC5D,MAAM,WAAW,0BAA0B;IACvC,QAAQ,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;CACL"}
1
+ {"version":3,"file":"team-subscription-protocol.d.ts","sourceRoot":"","sources":["../src/team-subscription-protocol.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.TeamSubscriptionSlot = exports.TeamSubscription = void 0;
8
+ exports.TeamSubscriptionSlot = exports.TeamSubscription2 = exports.TeamSubscription = void 0;
9
9
  const uuid_1 = require("uuid");
10
10
  var TeamSubscription;
11
11
  (function (TeamSubscription) {
@@ -18,6 +18,17 @@ var TeamSubscription;
18
18
  return ts.startDate <= date && (ts.endDate === undefined || date < ts.endDate);
19
19
  };
20
20
  })(TeamSubscription = exports.TeamSubscription || (exports.TeamSubscription = {}));
21
+ var TeamSubscription2;
22
+ (function (TeamSubscription2) {
23
+ TeamSubscription2.create = (ts2) => {
24
+ const withId = ts2;
25
+ withId.id = (0, uuid_1.v4)();
26
+ return withId;
27
+ };
28
+ TeamSubscription2.isActive = (ts2, date) => {
29
+ return ts2.startDate <= date && (ts2.endDate === undefined || date < ts2.endDate);
30
+ };
31
+ })(TeamSubscription2 = exports.TeamSubscription2 || (exports.TeamSubscription2 = {}));
21
32
  var TeamSubscriptionSlot;
22
33
  (function (TeamSubscriptionSlot) {
23
34
  TeamSubscriptionSlot.create = (ts) => {
@@ -1 +1 @@
1
- {"version":3,"file":"team-subscription-protocol.js","sourceRoot":"","sources":["../src/team-subscription-protocol.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,+BAAoC;AAkBpC,IAAiB,gBAAgB,CAShC;AATD,WAAiB,gBAAgB;IAChB,uBAAM,GAAG,CAAC,EAAgC,EAAoB,EAAE;QACzE,MAAM,MAAM,GAAG,EAAsB,CAAC;QACtC,MAAM,CAAC,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;IACW,yBAAQ,GAAG,CAAC,EAAoB,EAAE,IAAY,EAAW,EAAE;QACpE,OAAO,EAAE,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;IACnF,CAAC,CAAC;AACN,CAAC,EATgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAShC;AAsBD,IAAiB,oBAAoB,CA0CpC;AA1CD,WAAiB,oBAAoB;IACpB,2BAAM,GAAG,CAAC,EAAoC,EAAwB,EAAE;QACjF,MAAM,MAAM,GAAG,EAA0B,CAAC;QAC1C,MAAM,CAAC,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;IACW,2BAAM,GAAG,CAClB,IAA0B,EAC1B,UAAkB,EAClB,cAAsB,EACtB,kBAAsC,EACxC,EAAE;QACA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC,CAAC;IACW,+BAAU,GAAG,CAAC,IAA0B,EAAE,gBAAwB,EAAE,EAAE;QAC/E,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC7C,CAAC,CAAC;IACW,+BAAU,GAAG,CAAC,IAA0B,EAAE,cAAuB,EAAE,EAAE;QAC9E,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACtC,CAAC,CAAC;IACW,2BAAM,GAAG,CAAC,IAA0B,EAAE,GAAW,EAA6B,EAAE;QACzF,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,IAAI,CAAC,gBAAgB,GAAG,GAAG,EAAE;gBAC7B,OAAO,WAAW,CAAC;aACtB;iBAAM;gBACH,OAAO,aAAa,CAAC;aACxB;SACJ;aAAM;YACH,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,OAAO,UAAU,CAAC;aACrB;iBAAM;gBACH,OAAO,YAAY,CAAC;aACvB;SACJ;IACL,CAAC,CAAC;IACW,6BAAQ,GAAG,CAAC,IAA0B,EAAW,EAAE;QAC5D,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAClC,CAAC,CAAC;AACN,CAAC,EA1CgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QA0CpC"}
1
+ {"version":3,"file":"team-subscription-protocol.js","sourceRoot":"","sources":["../src/team-subscription-protocol.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,14 @@
5
5
  */
6
6
  import { PrebuiltWorkspaceState } from "./protocol";
7
7
  import { DeepPartial } from "./util/deep-partial";
8
+ import { WebhookEvent } from "./webhook-event";
8
9
  export interface ProjectConfig {
9
10
  ".gitpod.yml": string;
10
11
  }
11
12
  export interface ProjectSettings {
12
13
  useIncrementalPrebuilds?: boolean;
14
+ usePersistentVolumeClaim?: boolean;
15
+ keepOutdatedPrebuildsRunning?: boolean;
13
16
  }
14
17
  export interface Project {
15
18
  id: string;
@@ -48,6 +51,10 @@ export declare namespace Project {
48
51
  }
49
52
  }
50
53
  export declare type PartialProject = DeepPartial<Project> & Pick<Project, "id">;
54
+ export interface ProjectUsage {
55
+ lastWebhookReceived: string;
56
+ lastWorkspaceStart: string;
57
+ }
51
58
  export interface PrebuildWithStatus {
52
59
  info: PrebuildInfo;
53
60
  status: PrebuiltWorkspaceState;
@@ -110,4 +117,15 @@ export interface TeamMembershipInvite {
110
117
  /** This is a flag that triggers the HARD DELETION of this entity */
111
118
  deleted?: boolean;
112
119
  }
120
+ export interface PrebuildEvent {
121
+ id: string;
122
+ creationTime: string;
123
+ status: WebhookEvent.Status | WebhookEvent.PrebuildStatus;
124
+ message?: string;
125
+ prebuildId?: string;
126
+ projectId?: string;
127
+ cloneUrl?: string;
128
+ branch?: string;
129
+ commit?: string;
130
+ }
113
131
  //# sourceMappingURL=teams-projects-protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"teams-projects-protocol.d.ts","sourceRoot":"","sources":["../src/teams-projects-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"teams-projects-protocol.d.ts","sourceRoot":"","sources":["../src/teams-projects-protocol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"teams-projects-protocol.js","sourceRoot":"","sources":["../src/teams-projects-protocol.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,+BAAoC;AA2BpC,IAAiB,OAAO,CAiCvB;AAjCD,WAAiB,OAAO;IACP,cAAM,GAAG,CAAC,OAA6C,EAAW,EAAE;QAC7E,uCACO,OAAO,KACV,EAAE,EAAE,IAAA,SAAM,GAAE,EACZ,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IACxC;IACN,CAAC,CAAC;IAMF,IAAiB,QAAQ,CAIxB;IAJD,WAAiB,QAAQ;QACrB,SAAgB,EAAE,CAAC,IAAU;YACzB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QAFe,WAAE,KAEjB,CAAA;IACL,CAAC,EAJgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAIxB;AAgBL,CAAC,EAjCgB,OAAO,GAAP,eAAO,KAAP,eAAO,QAiCvB;AAoCD,IAAiB,YAAY,CAI5B;AAJD,WAAiB,YAAY;IACzB,SAAgB,EAAE,CAAC,IAAU;QACzB,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACjH,CAAC;IAFe,eAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAI5B"}
1
+ {"version":3,"file":"teams-projects-protocol.js","sourceRoot":"","sources":["../src/teams-projects-protocol.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,+BAAoC;AA8BpC,IAAiB,OAAO,CAiCvB;AAjCD,WAAiB,OAAO;IACP,cAAM,GAAG,CAAC,OAA6C,EAAW,EAAE;QAC7E,uCACO,OAAO,KACV,EAAE,EAAE,IAAA,SAAM,GAAE,EACZ,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IACxC;IACN,CAAC,CAAC;IAMF,IAAiB,QAAQ,CAIxB;IAJD,WAAiB,QAAQ;QACrB,SAAgB,EAAE,CAAC,IAAU;YACzB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QAFe,WAAE,KAEjB,CAAA;IACL,CAAC,EAJgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAIxB;AAgBL,CAAC,EAjCgB,OAAO,GAAP,eAAO,KAAP,eAAO,QAiCvB;AAyCD,IAAiB,YAAY,CAI5B;AAJD,WAAiB,YAAY;IACzB,SAAgB,EAAE,CAAC,IAAU;QACzB,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACjH,CAAC;IAFe,eAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAI5B"}
package/lib/usage.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright (c) 2022 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 { WorkspaceType } from "./protocol";
7
+ export interface BillableSession {
8
+ attributionId: string;
9
+ userId?: string;
10
+ teamId?: string;
11
+ instanceId: string;
12
+ workspaceId: string;
13
+ workspaceType: BillableWorkspaceType;
14
+ workspaceClass: string;
15
+ startTime: string;
16
+ endTime: string;
17
+ credits: number;
18
+ projectId?: string;
19
+ }
20
+ export declare type BillableWorkspaceType = WorkspaceType;
21
+ export declare const billableSessionDummyData: BillableSession[];
22
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,eAAe;IAE5B,aAAa,EAAE,MAAM,CAAC;IAGtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,EAAE,MAAM,CAAC;IAEpB,aAAa,EAAE,qBAAqB,CAAC;IAGrC,cAAc,EAAE,MAAM,CAAC;IAGvB,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,EAAE,MAAM,CAAC;IAGhB,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,oBAAY,qBAAqB,GAAG,aAAa,CAAC;AAElD,eAAO,MAAM,wBAAwB,EAAE,eAAe,EAyGrD,CAAC"}
package/lib/usage.js ADDED
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2022 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.billableSessionDummyData = void 0;
9
+ exports.billableSessionDummyData = [
10
+ {
11
+ attributionId: "some-attribution-id",
12
+ userId: "prebuild",
13
+ teamId: "prebuild",
14
+ instanceId: "some-instance-id",
15
+ workspaceId: "some-workspace-id",
16
+ workspaceType: "prebuild",
17
+ workspaceClass: "XL",
18
+ startTime: new Date(Date.now() + -3 * 24 * 3600 * 1000).toISOString(),
19
+ endTime: new Date().toISOString(),
20
+ credits: 320,
21
+ projectId: "project-123",
22
+ },
23
+ {
24
+ attributionId: "some-attribution-id2",
25
+ userId: "some-user",
26
+ teamId: "some-team",
27
+ instanceId: "some-instance-id2",
28
+ workspaceId: "some-workspace-id2",
29
+ workspaceType: "regular",
30
+ workspaceClass: "standard",
31
+ startTime: new Date(Date.now() + -5 * 24 * 3600 * 1000).toISOString(),
32
+ endTime: new Date().toISOString(),
33
+ credits: 130,
34
+ projectId: "project-123",
35
+ },
36
+ {
37
+ attributionId: "some-attribution-id3",
38
+ userId: "some-other-user",
39
+ teamId: "some-other-team",
40
+ instanceId: "some-instance-id3",
41
+ workspaceId: "some-workspace-id3",
42
+ workspaceType: "regular",
43
+ workspaceClass: "XL",
44
+ startTime: new Date(Date.now() + -5 * 24 * 3600 * 1000).toISOString(),
45
+ endTime: new Date(Date.now() + -4 * 24 * 3600 * 1000).toISOString(),
46
+ credits: 150,
47
+ projectId: "project-134",
48
+ },
49
+ {
50
+ attributionId: "some-attribution-id4",
51
+ userId: "some-other-user2",
52
+ teamId: "some-other-team2",
53
+ instanceId: "some-instance-id4",
54
+ workspaceId: "some-workspace-id4",
55
+ workspaceType: "regular",
56
+ workspaceClass: "standard",
57
+ startTime: new Date(Date.now() + -10 * 24 * 3600 * 1000).toISOString(),
58
+ endTime: new Date(Date.now() + -9 * 24 * 3600 * 1000).toISOString(),
59
+ credits: 330,
60
+ projectId: "project-137",
61
+ },
62
+ {
63
+ attributionId: "some-attribution-id5",
64
+ userId: "some-other-user3",
65
+ teamId: "some-other-team3",
66
+ instanceId: "some-instance-id5",
67
+ workspaceId: "some-workspace-id5",
68
+ workspaceType: "regular",
69
+ workspaceClass: "XL",
70
+ startTime: new Date(Date.now() + -2 * 24 * 3600 * 1000).toISOString(),
71
+ endTime: new Date().toISOString(),
72
+ credits: 222,
73
+ projectId: "project-138",
74
+ },
75
+ {
76
+ attributionId: "some-attribution-id6",
77
+ userId: "some-other-user4",
78
+ teamId: "some-other-team4",
79
+ instanceId: "some-instance-id6",
80
+ workspaceId: "some-workspace-id3",
81
+ workspaceType: "regular",
82
+ workspaceClass: "XL",
83
+ startTime: new Date(Date.now() + -7 * 24 * 3600 * 1000).toISOString(),
84
+ endTime: new Date(Date.now() + -6 * 24 * 3600 * 1000).toISOString(),
85
+ credits: 300,
86
+ projectId: "project-134",
87
+ },
88
+ {
89
+ attributionId: "some-attribution-id8",
90
+ userId: "some-other-user5",
91
+ teamId: "some-other-team5",
92
+ instanceId: "some-instance-id8",
93
+ workspaceId: "some-workspace-id3",
94
+ workspaceType: "regular",
95
+ workspaceClass: "standard",
96
+ startTime: new Date(Date.now() + -1 * 24 * 3600 * 1000).toISOString(),
97
+ endTime: new Date().toISOString(),
98
+ credits: 100,
99
+ projectId: "project-567",
100
+ },
101
+ {
102
+ attributionId: "some-attribution-id7",
103
+ userId: "prebuild",
104
+ teamId: "some-other-team7",
105
+ instanceId: "some-instance-id7",
106
+ workspaceId: "some-workspace-id7",
107
+ workspaceType: "prebuild",
108
+ workspaceClass: "XL",
109
+ startTime: new Date(Date.now() + -1 * 24 * 3600 * 1000).toISOString(),
110
+ endTime: new Date().toISOString(),
111
+ credits: 200,
112
+ projectId: "project-345",
113
+ },
114
+ ];
115
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
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
+ /// <reference types="node" />
7
+ import * as http from "http";
8
+ import * as express from "express";
9
+ import { LogrusLogLevel } from "./logging";
10
+ export interface SetLogLevelRequest {
11
+ level: LogrusLogLevel;
12
+ }
13
+ export declare namespace SetLogLevelRequest {
14
+ function is(o: any): o is SetLogLevelRequest;
15
+ }
16
+ export declare class DebugApp {
17
+ protected _app: express.Application;
18
+ protected httpServer: http.Server | undefined;
19
+ ctor(): void;
20
+ create(): express.Application;
21
+ start(port?: number): void;
22
+ stop(): Promise<void>;
23
+ get app(): express.Application;
24
+ }
25
+ //# sourceMappingURL=debug-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-app.d.ts","sourceRoot":"","sources":["../../src/util/debug-app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAO,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,cAAc,CAAC;CACzB;AACD,yBAAiB,kBAAkB,CAAC;IAChC,SAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,kBAAkB,CAElD;CACJ;AAED,qBACa,QAAQ;IACjB,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;IACpC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAa;IAGnD,IAAI;IAIX,MAAM,IAAI,OAAO,CAAC,WAAW;IAyBtB,KAAK,CAAC,IAAI,GAAE,MAAa;IAMnB,IAAI;IAgBjB,IAAW,GAAG,IAAI,OAAO,CAAC,WAAW,CAEpC;CACJ"}
@@ -0,0 +1,100 @@
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
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ var __metadata = (this && this.__metadata) || function (k, v) {
14
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15
+ };
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DebugApp = exports.SetLogLevelRequest = void 0;
27
+ const express = require("express");
28
+ const inversify_1 = require("inversify");
29
+ const logging_1 = require("./logging");
30
+ var SetLogLevelRequest;
31
+ (function (SetLogLevelRequest) {
32
+ function is(o) {
33
+ return typeof o === "object" && "level" in o;
34
+ }
35
+ SetLogLevelRequest.is = is;
36
+ })(SetLogLevelRequest = exports.SetLogLevelRequest || (exports.SetLogLevelRequest = {}));
37
+ let DebugApp = class DebugApp {
38
+ constructor() {
39
+ this.httpServer = undefined;
40
+ }
41
+ ctor() {
42
+ this._app = this.create();
43
+ }
44
+ create() {
45
+ const app = express();
46
+ app.use(express.json());
47
+ app.use(express.urlencoded({ extended: true }));
48
+ app.post("/debug/logging", (req, res) => {
49
+ try {
50
+ const levelRequest = req.body;
51
+ if (!SetLogLevelRequest.is(levelRequest)) {
52
+ res.status(400).end("not a SetLogLevelRequest");
53
+ return;
54
+ }
55
+ const newLogLevel = levelRequest.level;
56
+ logging_1.log.setLogLevel(newLogLevel);
57
+ logging_1.log.info("set log level", { newLogLevel });
58
+ res.status(200).end(JSON.stringify(levelRequest));
59
+ }
60
+ catch (err) {
61
+ res.status(500).end(err);
62
+ }
63
+ });
64
+ return app;
65
+ }
66
+ start(port = 6060) {
67
+ this.httpServer = this._app.listen(port, "localhost", () => {
68
+ logging_1.log.info(`debug server listening on port: ${port}`);
69
+ });
70
+ }
71
+ stop() {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ const server = this.httpServer;
74
+ if (!server) {
75
+ return;
76
+ }
77
+ return new Promise((resolve) => server.close((err) => {
78
+ if (err) {
79
+ logging_1.log.warn(`error while closing http server`, { err });
80
+ }
81
+ this.httpServer = undefined;
82
+ resolve();
83
+ }));
84
+ });
85
+ }
86
+ get app() {
87
+ return this._app;
88
+ }
89
+ };
90
+ __decorate([
91
+ (0, inversify_1.postConstruct)(),
92
+ __metadata("design:type", Function),
93
+ __metadata("design:paramtypes", []),
94
+ __metadata("design:returntype", void 0)
95
+ ], DebugApp.prototype, "ctor", null);
96
+ DebugApp = __decorate([
97
+ (0, inversify_1.injectable)()
98
+ ], DebugApp);
99
+ exports.DebugApp = DebugApp;
100
+ //# sourceMappingURL=debug-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-app.js","sourceRoot":"","sources":["../../src/util/debug-app.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;AAGH,mCAAmC;AACnC,yCAAsD;AACtD,uCAAgD;AAKhD,IAAiB,kBAAkB,CAIlC;AAJD,WAAiB,kBAAkB;IAC/B,SAAgB,EAAE,CAAC,CAAM;QACrB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC;IACjD,CAAC;IAFe,qBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAIlC;AAGD,IAAa,QAAQ,GAArB,MAAa,QAAQ;IAArB;QAEc,eAAU,GAA4B,SAAS,CAAC;IAyD9D,CAAC;IAtDU,IAAI;QACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM;QACF,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QAEtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEhD,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,IAAI;gBACA,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC9B,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE;oBACtC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;oBAChD,OAAO;iBACV;gBAED,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC;gBACvC,aAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC7B,aAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;aACrD;YAAC,OAAO,GAAG,EAAE;gBACV,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC5B;QACL,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,OAAe,IAAI;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;YACvD,aAAG,CAAC,IAAI,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACP,CAAC;IAEY,IAAI;;YACb,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;YAC/B,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CACjC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACtB,IAAI,GAAG,EAAE;oBACL,aAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;iBACxD;gBACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CACL,CAAC;QACN,CAAC;KAAA;IAED,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ,CAAA;AAtDG;IADC,IAAA,yBAAa,GAAE;;;;oCAGf;AAPQ,QAAQ;IADpB,IAAA,sBAAU,GAAE;GACA,QAAQ,CA2DpB;AA3DY,4BAAQ"}
@@ -1,3 +1,8 @@
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
+ */
1
6
  export declare function generateWorkspaceID(firstSegment?: string, secondSegment?: string): Promise<string>;
2
7
  export declare const colors: string[];
3
8
  export declare const animals: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"generate-workspace-id.d.ts","sourceRoot":"","sources":["../../src/util/generate-workspace-id.ts"],"names":[],"mappings":"AAOA,wBAAsB,mBAAmB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxG;AA4BD,eAAO,MAAM,MAAM,UAsDlB,CAAC;AAEF,eAAO,MAAM,OAAO,UA2XnB,CAAC"}
1
+ {"version":3,"file":"generate-workspace-id.d.ts","sourceRoot":"","sources":["../../src/util/generate-workspace-id.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,wBAAsB,mBAAmB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOxG;AA8BD,eAAO,MAAM,MAAM,UAsDlB,CAAC;AAEF,eAAO,MAAM,OAAO,UA2XnB,CAAC"}
@@ -1,4 +1,9 @@
1
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
+ */
2
7
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
8
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
9
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -10,21 +15,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
15
  };
11
16
  Object.defineProperty(exports, "__esModule", { value: true });
12
17
  exports.animals = exports.colors = exports.generateWorkspaceID = void 0;
13
- /**
14
- * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
15
- * Licensed under the GNU Affero General Public License (AGPL).
16
- * See License-AGPL.txt in the project root for license information.
17
- */
18
18
  const randomNumber = require("random-number-csprng");
19
19
  function generateWorkspaceID(firstSegment, secondSegment) {
20
20
  return __awaiter(this, void 0, void 0, function* () {
21
21
  const firstSeg = clean(firstSegment) || (yield random(exports.colors));
22
- const secSeg = clean(secondSegment, Math.min(15, 23 - firstSeg.length)) || (yield random(exports.animals));
23
- return firstSeg + "-" + secSeg + "-" + (yield random(characters, 11));
22
+ const secSeg = clean(secondSegment) || (yield random(exports.animals));
23
+ function fit(makeFit, otherSeg) {
24
+ return makeFit.substring(0, Math.max(segLength, 2 * segLength - otherSeg.length));
25
+ }
26
+ return fit(firstSeg, secSeg) + "-" + fit(secSeg, firstSeg) + "-" + (yield random(characters, segLength));
24
27
  });
25
28
  }
26
29
  exports.generateWorkspaceID = generateWorkspaceID;
27
- function clean(segment, maxChars = 15) {
30
+ function clean(segment, maxChars = 16) {
28
31
  if (!segment) {
29
32
  return undefined;
30
33
  }
@@ -48,6 +51,7 @@ function random(array, length = 1) {
48
51
  return result;
49
52
  });
50
53
  }
54
+ const segLength = 11;
51
55
  const characters = "abcdefghijklmnopqrstuvwxyz0123456789".split("");
52
56
  exports.colors = [
53
57
  "amaranth",