@gitpod/gitpod-protocol 0.1.5-me-ingress.20 → 0.1.5-me-image.2

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 (105) hide show
  1. package/data/gitpod-schema.json +12 -0
  2. package/lib/admin-protocol.d.ts +10 -0
  3. package/lib/admin-protocol.d.ts.map +1 -1
  4. package/lib/admin-protocol.js.map +1 -1
  5. package/lib/analytics.d.ts +4 -5
  6. package/lib/analytics.d.ts.map +1 -1
  7. package/lib/context-url.d.ts +18 -5
  8. package/lib/context-url.d.ts.map +1 -1
  9. package/lib/context-url.js +58 -5
  10. package/lib/context-url.js.map +1 -1
  11. package/lib/context-url.spec.d.ts +2 -0
  12. package/lib/context-url.spec.d.ts.map +1 -1
  13. package/lib/context-url.spec.js +25 -4
  14. package/lib/context-url.spec.js.map +1 -1
  15. package/lib/gitpod-service.d.ts +23 -2
  16. package/lib/gitpod-service.d.ts.map +1 -1
  17. package/lib/gitpod-service.js +4 -2
  18. package/lib/gitpod-service.js.map +1 -1
  19. package/lib/headless-workspace-log.d.ts +17 -0
  20. package/lib/headless-workspace-log.d.ts.map +1 -1
  21. package/lib/headless-workspace-log.js +20 -1
  22. package/lib/headless-workspace-log.js.map +1 -1
  23. package/lib/ide-protocol.d.ts +24 -0
  24. package/lib/ide-protocol.d.ts.map +1 -1
  25. package/lib/index.d.ts +1 -0
  26. package/lib/index.d.ts.map +1 -1
  27. package/lib/index.js +1 -0
  28. package/lib/index.js.map +1 -1
  29. package/lib/installation-admin-protocol.d.ts +27 -0
  30. package/lib/installation-admin-protocol.d.ts.map +1 -0
  31. package/lib/installation-admin-protocol.js +30 -0
  32. package/lib/installation-admin-protocol.js.map +1 -0
  33. package/lib/messaging/error.d.ts +1 -0
  34. package/lib/messaging/error.d.ts.map +1 -1
  35. package/lib/messaging/error.js +2 -0
  36. package/lib/messaging/error.js.map +1 -1
  37. package/lib/messaging/node/connection.d.ts +1 -7
  38. package/lib/messaging/node/connection.d.ts.map +1 -1
  39. package/lib/messaging/node/connection.js +20 -18
  40. package/lib/messaging/node/connection.js.map +1 -1
  41. package/lib/permission.d.ts +7 -1
  42. package/lib/permission.d.ts.map +1 -1
  43. package/lib/permission.js +24 -4
  44. package/lib/permission.js.map +1 -1
  45. package/lib/protocol.d.ts +32 -38
  46. package/lib/protocol.d.ts.map +1 -1
  47. package/lib/protocol.js +16 -4
  48. package/lib/protocol.js.map +1 -1
  49. package/lib/teams-projects-protocol.d.ts +3 -0
  50. package/lib/teams-projects-protocol.d.ts.map +1 -1
  51. package/lib/teams-projects-protocol.js +7 -0
  52. package/lib/teams-projects-protocol.js.map +1 -1
  53. package/lib/util/generate-workspace-id.d.ts.map +1 -1
  54. package/lib/util/generate-workspace-id.js +1 -0
  55. package/lib/util/generate-workspace-id.js.map +1 -1
  56. package/lib/util/generate-workspace-id.spec.js +1 -0
  57. package/lib/util/generate-workspace-id.spec.js.map +1 -1
  58. package/lib/util/gitpod-host-url.d.ts +0 -1
  59. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  60. package/lib/util/gitpod-host-url.js +0 -3
  61. package/lib/util/gitpod-host-url.js.map +1 -1
  62. package/lib/util/tracing.d.ts +2 -1
  63. package/lib/util/tracing.d.ts.map +1 -1
  64. package/lib/util/tracing.js +29 -6
  65. package/lib/util/tracing.js.map +1 -1
  66. package/lib/workspace-cluster.d.ts +9 -7
  67. package/lib/workspace-cluster.d.ts.map +1 -1
  68. package/lib/workspace-cluster.js +18 -1
  69. package/lib/workspace-cluster.js.map +1 -1
  70. package/lib/workspace-instance.d.ts +19 -0
  71. package/lib/workspace-instance.d.ts.map +1 -1
  72. package/package.json +2 -2
  73. package/pkg-yarn.lock +2 -2
  74. package/provenance-bundle.jsonl +1 -1
  75. package/src/admin-protocol.ts +17 -4
  76. package/src/analytics.ts +4 -6
  77. package/src/context-url.spec.ts +18 -4
  78. package/src/context-url.ts +62 -6
  79. package/src/gitpod-service.ts +33 -6
  80. package/src/headless-workspace-log.ts +24 -0
  81. package/src/ide-frontend-service.ts +1 -1
  82. package/src/ide-protocol.ts +27 -0
  83. package/src/index.ts +1 -0
  84. package/src/installation-admin-protocol.ts +42 -0
  85. package/src/messaging/error.ts +3 -0
  86. package/src/messaging/node/connection.ts +20 -23
  87. package/src/permission.ts +22 -3
  88. package/src/protocol.ts +48 -42
  89. package/src/teams-projects-protocol.ts +7 -1
  90. package/src/util/generate-workspace-id.spec.ts +1 -0
  91. package/src/util/generate-workspace-id.ts +1 -0
  92. package/src/util/gitpod-host-url.ts +1 -5
  93. package/src/util/tracing.ts +29 -7
  94. package/src/workspace-cluster.ts +17 -9
  95. package/src/workspace-instance.ts +20 -0
  96. package/lib/messaging/connection-error-handler.d.ts +0 -27
  97. package/lib/messaging/connection-error-handler.d.ts.map +0 -1
  98. package/lib/messaging/connection-error-handler.js +0 -34
  99. package/lib/messaging/connection-error-handler.js.map +0 -1
  100. package/lib/util/safe-promise.d.ts +0 -11
  101. package/lib/util/safe-promise.d.ts.map +0 -1
  102. package/lib/util/safe-promise.js +0 -31
  103. package/lib/util/safe-promise.js.map +0 -1
  104. package/src/messaging/connection-error-handler.ts +0 -62
  105. package/src/util/safe-promise.ts +0 -26
@@ -5,7 +5,26 @@
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.HEADLESS_LOG_STREAM_STATUS_CODE_REGEX = exports.HEADLESS_LOG_STREAM_STATUS_CODE = void 0;
8
+ exports.HEADLESS_LOG_STREAM_STATUS_CODE_REGEX = exports.HEADLESS_LOG_STREAM_STATUS_CODE = exports.HeadlessWorkspaceEventType = void 0;
9
+ var HeadlessWorkspaceEventType;
10
+ (function (HeadlessWorkspaceEventType) {
11
+ HeadlessWorkspaceEventType["LogOutput"] = "log-output";
12
+ HeadlessWorkspaceEventType["FinishedSuccessfully"] = "finish-success";
13
+ HeadlessWorkspaceEventType["FinishedButFailed"] = "finish-fail";
14
+ HeadlessWorkspaceEventType["AbortedTimedOut"] = "aborted-timeout";
15
+ HeadlessWorkspaceEventType["Aborted"] = "aborted";
16
+ HeadlessWorkspaceEventType["Started"] = "started";
17
+ })(HeadlessWorkspaceEventType = exports.HeadlessWorkspaceEventType || (exports.HeadlessWorkspaceEventType = {}));
18
+ (function (HeadlessWorkspaceEventType) {
19
+ function isRunning(t) {
20
+ return t === HeadlessWorkspaceEventType.LogOutput;
21
+ }
22
+ HeadlessWorkspaceEventType.isRunning = isRunning;
23
+ function didFinish(t) {
24
+ return t === HeadlessWorkspaceEventType.FinishedButFailed || t === HeadlessWorkspaceEventType.FinishedSuccessfully;
25
+ }
26
+ HeadlessWorkspaceEventType.didFinish = didFinish;
27
+ })(HeadlessWorkspaceEventType = exports.HeadlessWorkspaceEventType || (exports.HeadlessWorkspaceEventType = {}));
9
28
  /** cmp. @const HEADLESS_LOG_STREAM_STATUS_CODE_REGEX */
10
29
  exports.HEADLESS_LOG_STREAM_STATUS_CODE = "X-LogStream-StatusCode";
11
30
  exports.HEADLESS_LOG_STREAM_STATUS_CODE_REGEX = /X-LogStream-StatusCode: ([0-9]{3})/;
@@ -1 +1 @@
1
- {"version":3,"file":"headless-workspace-log.js","sourceRoot":"","sources":["../src/headless-workspace-log.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAOH,wDAAwD;AAC3C,QAAA,+BAA+B,GAAG,wBAAwB,CAAC;AAC3D,QAAA,qCAAqC,GAAG,oCAAoC,CAAC"}
1
+ {"version":3,"file":"headless-workspace-log.js","sourceRoot":"","sources":["../src/headless-workspace-log.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,IAAY,0BAOX;AAPD,WAAY,0BAA0B;IAClC,sDAAwB,CAAA;IACxB,qEAAuC,CAAA;IACvC,+DAAiC,CAAA;IACjC,iEAAmC,CAAA;IACnC,iDAAmB,CAAA;IACnB,iDAAmB,CAAA;AACvB,CAAC,EAPW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAOrC;AACD,WAAiB,0BAA0B;IACvC,SAAgB,SAAS,CAAC,CAA6B;QACnD,OAAO,CAAC,KAAK,0BAA0B,CAAC,SAAS,CAAC;IACtD,CAAC;IAFe,oCAAS,YAExB,CAAA;IACD,SAAgB,SAAS,CAAC,CAA6B;QACnD,OAAO,CAAC,KAAK,0BAA0B,CAAC,iBAAiB,IAAI,CAAC,KAAK,0BAA0B,CAAC,oBAAoB,CAAC;IACvH,CAAC;IAFe,oCAAS,YAExB,CAAA;AACL,CAAC,EAPgB,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAO1C;AAaD,wDAAwD;AAC3C,QAAA,+BAA+B,GAAG,wBAAwB,CAAC;AAC3D,QAAA,qCAAqC,GAAG,oCAAoC,CAAC"}
@@ -27,6 +27,26 @@ export interface IDEOptions {
27
27
  * The default desktop IDE when the user has not specified one.
28
28
  */
29
29
  defaultDesktopIde: string;
30
+ /**
31
+ * Client specific IDE options.
32
+ */
33
+ clients?: {
34
+ [id: string]: IDEClient;
35
+ };
36
+ }
37
+ export interface IDEClient {
38
+ /**
39
+ * The default desktop IDE when the user has not specified one.
40
+ */
41
+ defaultDesktopIDE?: string;
42
+ /**
43
+ * Desktop IDEs supported by the client.
44
+ */
45
+ desktopIDEs?: string[];
46
+ /**
47
+ * Steps to install the client on user machine.
48
+ */
49
+ installationSteps?: string[];
30
50
  }
31
51
  export interface IDEOption {
32
52
  /**
@@ -68,6 +88,10 @@ export interface IDEOption {
68
88
  * The image ref to the IDE image.
69
89
  */
70
90
  image: string;
91
+ /**
92
+ * The latest image ref to the IDE image, this image ref always resolve to digest.
93
+ */
94
+ latestImage?: string;
71
95
  /**
72
96
  * When this is `true`, the tag of this image is resolved to the latest
73
97
  * image digest regularly.
@@ -1 +1 @@
1
- {"version":3,"file":"ide-protocol.d.ts","sourceRoot":"","sources":["../src/ide-protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAEtC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAE5B;;;MAGE;IACF,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;MAEE;IACF,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC"}
1
+ {"version":3,"file":"ide-protocol.d.ts","sourceRoot":"","sources":["../src/ide-protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAEtC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;CACzC;AAED,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IAEtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAE5B;;;MAGE;IACF,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;MAEE;IACF,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC"}
package/lib/index.d.ts CHANGED
@@ -18,4 +18,5 @@ export * from './context-url';
18
18
  export * from './teams-projects-protocol';
19
19
  export * from './snapshot-url';
20
20
  export * from './oss-allowlist';
21
+ export * from './installation-admin-protocol';
21
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC"}
package/lib/index.js CHANGED
@@ -30,4 +30,5 @@ __exportStar(require("./context-url"), exports);
30
30
  __exportStar(require("./teams-projects-protocol"), exports);
31
31
  __exportStar(require("./snapshot-url"), exports);
32
32
  __exportStar(require("./oss-allowlist"), exports);
33
+ __exportStar(require("./installation-admin-protocol"), exports);
33
34
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,mDAAiC;AACjC,oDAAkC;AAClC,+CAA6B;AAC7B,+CAA6B;AAC7B,qDAAmC;AACnC,uDAAqC;AACrC,+CAA6B;AAC7B,mDAAiC;AACjC,mDAAiC;AACjC,2DAAyC;AACzC,gDAA8B;AAC9B,4DAA0C;AAC1C,iDAA+B;AAC/B,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,mDAAiC;AACjC,oDAAkC;AAClC,+CAA6B;AAC7B,+CAA6B;AAC7B,qDAAmC;AACnC,uDAAqC;AACrC,+CAA6B;AAC7B,mDAAiC;AACjC,mDAAiC;AACjC,2DAAyC;AACzC,gDAA8B;AAC9B,4DAA0C;AAC1C,iDAA+B;AAC/B,kDAAgC;AAChC,gEAA8C"}
@@ -0,0 +1,27 @@
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
+ declare const InstallationAdminSettingsPrototype: {
7
+ sendTelemetry: boolean;
8
+ };
9
+ export declare type InstallationAdminSettings = typeof InstallationAdminSettingsPrototype;
10
+ export declare namespace InstallationAdminSettings {
11
+ function fields(): (keyof InstallationAdminSettings)[];
12
+ }
13
+ export interface InstallationAdmin {
14
+ id: string;
15
+ settings: InstallationAdminSettings;
16
+ }
17
+ export interface TelemetryData {
18
+ installationAdmin: InstallationAdmin;
19
+ totalUsers: number;
20
+ totalWorkspaces: number;
21
+ totalInstances: number;
22
+ }
23
+ export declare namespace InstallationAdmin {
24
+ function createDefault(): InstallationAdmin;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=installation-admin-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installation-admin-protocol.d.ts","sourceRoot":"","sources":["../src/installation-admin-protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,QAAA,MAAM,kCAAkC;;CAEvC,CAAA;AAED,oBAAY,yBAAyB,GAAG,OAAO,kCAAkC,CAAC;AAElF,yBAAiB,yBAAyB,CAAC;IACvC,SAAgB,MAAM,IAAI,CAAC,MAAM,yBAAyB,CAAC,EAAE,CAE5D;CACJ;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,yBAAyB,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC1B,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;CACzB;AAED,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,aAAa,IAAI,iBAAiB,CAOjD;CACJ"}
@@ -0,0 +1,30 @@
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.InstallationAdmin = exports.InstallationAdminSettings = void 0;
9
+ const uuid_1 = require("uuid");
10
+ const InstallationAdminSettingsPrototype = {
11
+ sendTelemetry: true
12
+ };
13
+ var InstallationAdminSettings;
14
+ (function (InstallationAdminSettings) {
15
+ function fields() {
16
+ return Object.keys(InstallationAdminSettingsPrototype);
17
+ }
18
+ InstallationAdminSettings.fields = fields;
19
+ })(InstallationAdminSettings = exports.InstallationAdminSettings || (exports.InstallationAdminSettings = {}));
20
+ var InstallationAdmin;
21
+ (function (InstallationAdmin) {
22
+ function createDefault() {
23
+ return {
24
+ id: (0, uuid_1.v4)(),
25
+ settings: Object.assign({}, InstallationAdminSettingsPrototype)
26
+ };
27
+ }
28
+ InstallationAdmin.createDefault = createDefault;
29
+ })(InstallationAdmin = exports.InstallationAdmin || (exports.InstallationAdmin = {}));
30
+ //# sourceMappingURL=installation-admin-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installation-admin-protocol.js","sourceRoot":"","sources":["../src/installation-admin-protocol.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,+BAAoC;AAEpC,MAAM,kCAAkC,GAAG;IACvC,aAAa,EAAE,IAAI;CACtB,CAAA;AAID,IAAiB,yBAAyB,CAIzC;AAJD,WAAiB,yBAAyB;IACtC,SAAgB,MAAM;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAwC,CAAC;IAClG,CAAC;IAFe,gCAAM,SAErB,CAAA;AACL,CAAC,EAJgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAIzC;AAcD,IAAiB,iBAAiB,CASjC;AATD,WAAiB,iBAAiB;IAC9B,SAAgB,aAAa;QACzB,OAAO;YACH,EAAE,EAAE,IAAA,SAAM,GAAE;YACZ,QAAQ,oBACD,kCAAkC,CACxC;SACJ,CAAC;IACN,CAAC;IAPe,+BAAa,gBAO5B,CAAA;AACL,CAAC,EATgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QASjC"}
@@ -28,5 +28,6 @@ export declare namespace ErrorCodes {
28
28
  const TEAM_SUBSCRIPTION_INVALID_QUANTITY = 610;
29
29
  const TEAM_SUBSCRIPTION_ASSIGNMENT_FAILED = 620;
30
30
  const SNAPSHOT_ERROR = 630;
31
+ const HEADLESS_LOG_NOT_YET_AVAILABLE = 640;
31
32
  }
32
33
  //# sourceMappingURL=error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/messaging/error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,yBAAiB,UAAU,CAAC;IAEjB,MAAM,iBAAiB,MAAM,CAAC;IAG9B,MAAM,iBAAiB,MAAM,CAAC;IAG9B,MAAM,iBAAiB,MAAM,CAAC;IAG9B,MAAM,SAAS,MAAM,CAAC;IAGtB,MAAM,QAAQ,MAAM,CAAC;IAGrB,MAAM,cAAc,MAAM,CAAC;IAG3B,MAAM,iBAAiB,MAAM,CAAC;IAG9B,MAAM,0BAA0B,MAAM,CAAC;IAGvC,MAAM,mBAAmB,MAAM,CAAC;IAGhC,MAAM,kBAAkB,MAAM,CAAC;IAG/B,MAAM,aAAa,MAAM,CAAC;IAG1B,MAAM,YAAY,MAAM,CAAC;IAGzB,MAAM,YAAY,MAAM,CAAC;IAGzB,MAAM,8BAA8B,MAAM,CAAC;IAG3C,MAAM,iCAAiC,MAAM,CAAC;IAG9C,MAAM,0BAA0B,MAAM,CAAC;IAGvC,MAAM,8BAA8B,MAAM,CAAC;IAG3C,MAAM,2BAA2B,MAAM,CAAC;IAGxC,MAAM,UAAU,MAAM,CAAC;IAGvB,MAAM,mBAAmB,MAAM,CAAC;IAGhC,MAAM,YAAY,MAAM,CAAC;IAGzB,MAAM,kCAAkC,MAAM,CAAC;IAG/C,MAAM,mCAAmC,MAAM,CAAC;IAGhD,MAAM,cAAc,MAAM,CAAC;CACrC"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/messaging/error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,yBAAiB,UAAU,CAAC;IAEjB,MAAM,iBAAiB,MAAM,CAAC;IAG9B,MAAM,iBAAiB,MAAM,CAAC;IAG9B,MAAM,iBAAiB,MAAM,CAAC;IAG9B,MAAM,SAAS,MAAM,CAAC;IAGtB,MAAM,QAAQ,MAAM,CAAC;IAGrB,MAAM,cAAc,MAAM,CAAC;IAG3B,MAAM,iBAAiB,MAAM,CAAC;IAG9B,MAAM,0BAA0B,MAAM,CAAC;IAGvC,MAAM,mBAAmB,MAAM,CAAC;IAGhC,MAAM,kBAAkB,MAAM,CAAC;IAG/B,MAAM,aAAa,MAAM,CAAC;IAG1B,MAAM,YAAY,MAAM,CAAC;IAGzB,MAAM,YAAY,MAAM,CAAC;IAGzB,MAAM,8BAA8B,MAAM,CAAC;IAG3C,MAAM,iCAAiC,MAAM,CAAC;IAG9C,MAAM,0BAA0B,MAAM,CAAC;IAGvC,MAAM,8BAA8B,MAAM,CAAC;IAG3C,MAAM,2BAA2B,MAAM,CAAC;IAGxC,MAAM,UAAU,MAAM,CAAC;IAGvB,MAAM,mBAAmB,MAAM,CAAC;IAGhC,MAAM,YAAY,MAAM,CAAC;IAGzB,MAAM,kCAAkC,MAAM,CAAC;IAG/C,MAAM,mCAAmC,MAAM,CAAC;IAGhD,MAAM,cAAc,MAAM,CAAC;IAG3B,MAAM,8BAA8B,MAAM,CAAC;CACrD"}
@@ -56,5 +56,7 @@ var ErrorCodes;
56
56
  ErrorCodes.TEAM_SUBSCRIPTION_ASSIGNMENT_FAILED = 620;
57
57
  // 630 Snapshot Error
58
58
  ErrorCodes.SNAPSHOT_ERROR = 630;
59
+ // 640 Headless logs are not available (yet)
60
+ ErrorCodes.HEADLESS_LOG_NOT_YET_AVAILABLE = 640;
59
61
  })(ErrorCodes = exports.ErrorCodes || (exports.ErrorCodes = {}));
60
62
  //# sourceMappingURL=error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/messaging/error.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,IAAiB,UAAU,CAwE1B;AAxED,WAAiB,UAAU;IACvB,mBAAmB;IACN,4BAAiB,GAAG,GAAG,CAAC;IAErC,uBAAuB;IACV,4BAAiB,GAAG,GAAG,CAAC;IAErC,gBAAgB;IACH,4BAAiB,GAAG,GAAG,CAAC;IAErC,gBAAgB;IACH,oBAAS,GAAG,GAAG,CAAC;IAE7B,uCAAuC;IAC1B,mBAAQ,GAAG,GAAG,CAAC;IAE5B,cAAc;IACD,yBAAc,GAAG,GAAG,CAAC;IAElC,wBAAwB;IACX,4BAAiB,GAAG,GAAG,CAAC;IAErC,sDAAsD;IACzC,qCAA0B,GAAG,GAAG,CAAC;IAE9C,+CAA+C;IAClC,8BAAmB,GAAG,GAAG,CAAC;IAEvC,yBAAyB;IACZ,6BAAkB,GAAG,GAAG,CAAC;IAEtC,oBAAoB;IACP,wBAAa,GAAG,GAAG,CAAC;IAEjC,wCAAwC;IAC3B,uBAAY,GAAG,GAAG,CAAC;IAEhC,wCAAwC;IAC3B,uBAAY,GAAG,GAAG,CAAC;IAEhC,qDAAqD;IACxC,yCAA8B,GAAG,GAAG,CAAC;IAElD,wCAAwC;IAC3B,4CAAiC,GAAG,GAAG,CAAC;IAErD,uDAAuD;IAC1C,qCAA0B,GAAG,GAAG,CAAC;IAE9C,wCAAwC;IAC3B,yCAA8B,GAAG,GAAG,CAAC;IAElD,iCAAiC;IACpB,sCAA2B,GAAG,GAAG,CAAC;IAE/C,iBAAiB;IACJ,qBAAU,GAAG,GAAG,CAAC;IAE9B,0BAA0B;IACb,8BAAmB,GAAG,GAAG,CAAC;IAEvC,mBAAmB;IACN,uBAAY,GAAG,GAAG,CAAC;IAEhC,yCAAyC;IAC5B,6CAAkC,GAAG,GAAG,CAAC;IAEtD,0CAA0C;IAC7B,8CAAmC,GAAG,GAAG,CAAC;IAEvD,qBAAqB;IACR,yBAAc,GAAG,GAAG,CAAC;AACtC,CAAC,EAxEgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAwE1B"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/messaging/error.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,IAAiB,UAAU,CA2E1B;AA3ED,WAAiB,UAAU;IACvB,mBAAmB;IACN,4BAAiB,GAAG,GAAG,CAAC;IAErC,uBAAuB;IACV,4BAAiB,GAAG,GAAG,CAAC;IAErC,gBAAgB;IACH,4BAAiB,GAAG,GAAG,CAAC;IAErC,gBAAgB;IACH,oBAAS,GAAG,GAAG,CAAC;IAE7B,uCAAuC;IAC1B,mBAAQ,GAAG,GAAG,CAAC;IAE5B,cAAc;IACD,yBAAc,GAAG,GAAG,CAAC;IAElC,wBAAwB;IACX,4BAAiB,GAAG,GAAG,CAAC;IAErC,sDAAsD;IACzC,qCAA0B,GAAG,GAAG,CAAC;IAE9C,+CAA+C;IAClC,8BAAmB,GAAG,GAAG,CAAC;IAEvC,yBAAyB;IACZ,6BAAkB,GAAG,GAAG,CAAC;IAEtC,oBAAoB;IACP,wBAAa,GAAG,GAAG,CAAC;IAEjC,wCAAwC;IAC3B,uBAAY,GAAG,GAAG,CAAC;IAEhC,wCAAwC;IAC3B,uBAAY,GAAG,GAAG,CAAC;IAEhC,qDAAqD;IACxC,yCAA8B,GAAG,GAAG,CAAC;IAElD,wCAAwC;IAC3B,4CAAiC,GAAG,GAAG,CAAC;IAErD,uDAAuD;IAC1C,qCAA0B,GAAG,GAAG,CAAC;IAE9C,wCAAwC;IAC3B,yCAA8B,GAAG,GAAG,CAAC;IAElD,iCAAiC;IACpB,sCAA2B,GAAG,GAAG,CAAC;IAE/C,iBAAiB;IACJ,qBAAU,GAAG,GAAG,CAAC;IAE9B,0BAA0B;IACb,8BAAmB,GAAG,GAAG,CAAC;IAEvC,mBAAmB;IACN,uBAAY,GAAG,GAAG,CAAC;IAEhC,yCAAyC;IAC5B,6CAAkC,GAAG,GAAG,CAAC;IAEtD,0CAA0C;IAC7B,8CAAmC,GAAG,GAAG,CAAC;IAEvD,qBAAqB;IACR,yBAAc,GAAG,GAAG,CAAC;IAElC,4CAA4C;IAC/B,yCAA8B,GAAG,GAAG,CAAC;AACtD,CAAC,EA3EgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QA2E1B"}
@@ -1,10 +1,4 @@
1
- /// <reference types="node" />
2
1
  import * as ws from "ws";
3
- import * as http from "http";
4
- import * as net from "net";
5
2
  import { IWebSocket } from "vscode-ws-jsonrpc";
6
- export interface OnOpen {
7
- (webSocket: ws, request: http.IncomingMessage, socket: net.Socket, head: Buffer): void;
8
- }
9
- export declare function toIWebSocket(webSocket: ws): IWebSocket;
3
+ export declare function toIWebSocket(ws: ws): IWebSocket;
10
4
  //# sourceMappingURL=connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/messaging/node/connection.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,MAAM,WAAW,MAAM;IACnB,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1F;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,EAAE,cAyBzC"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/messaging/node/connection.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,cA6BlC"}
@@ -7,30 +7,32 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.toIWebSocket = void 0;
10
- const ws = require("ws");
11
- const logging_1 = require("../../util/logging");
12
- function toIWebSocket(webSocket) {
13
- let sendsAfterOpen = 0;
10
+ function toIWebSocket(ws) {
14
11
  return {
15
12
  send: content => {
16
- if (webSocket.readyState !== ws.OPEN) {
17
- if (sendsAfterOpen++ > 3) {
18
- //log.debug(`Repeated try to send on closed web socket (readyState was ${webSocket.readyState})`, { ws });
19
- }
13
+ if (ws.readyState >= ws.CLOSING) {
14
+ // ws is already CLOSING/CLOSED, send() would just return an error.
20
15
  return;
21
16
  }
22
- webSocket.send(content, err => {
23
- if (err) {
24
- logging_1.log.error('error in ws.send()', err, { ws });
25
- }
26
- });
17
+ // in general send-errors should trigger an 'error' event already, we just make sure it actually happens.
18
+ try {
19
+ ws.send(content, err => {
20
+ if (!err) {
21
+ return;
22
+ }
23
+ ws.emit('error', err);
24
+ });
25
+ }
26
+ catch (err) {
27
+ ws.emit('error', err);
28
+ }
27
29
  },
28
- onMessage: cb => webSocket.on('message', cb),
29
- onError: cb => webSocket.on('error', cb),
30
- onClose: cb => webSocket.on('close', cb),
30
+ onMessage: cb => ws.on('message', cb),
31
+ onError: cb => ws.on('error', cb),
32
+ onClose: cb => ws.on('close', cb),
31
33
  dispose: () => {
32
- if (webSocket.readyState < ws.CLOSING) {
33
- webSocket.close();
34
+ if (ws.readyState < ws.CLOSING) {
35
+ ws.close();
34
36
  }
35
37
  }
36
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/messaging/node/connection.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yBAAyB;AAIzB,gDAAyC;AAMzC,SAAgB,YAAY,CAAC,SAAa;IACtC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,OAAmB;QACf,IAAI,EAAE,OAAO,CAAC,EAAE;YACZ,IAAI,SAAS,CAAC,UAAU,KAAK,EAAE,CAAC,IAAI,EAAE;gBAClC,IAAI,cAAc,EAAE,GAAG,CAAC,EAAE;oBACtB,0GAA0G;iBAC7G;gBACD,OAAO;aACV;YACD,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBAC1B,IAAI,GAAG,EAAE;oBACL,aAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;iBAChD;YACL,CAAC,CAAC,CAAA;QACN,CAAC;QACD,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;QAC5C,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,OAAO,EAAE,GAAG,EAAE;YACV,IAAI,SAAS,CAAC,UAAU,GAAG,EAAE,CAAC,OAAO,EAAE;gBACnC,SAAS,CAAC,KAAK,EAAE,CAAC;aACrB;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAzBD,oCAyBC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/messaging/node/connection.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAKH,SAAgB,YAAY,CAAC,EAAM;IAC/B,OAAmB;QACf,IAAI,EAAE,OAAO,CAAC,EAAE;YACZ,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,OAAO,EAAE;gBAC7B,mEAAmE;gBACnE,OAAO;aACV;YAED,yGAAyG;YACzG,IAAI;gBACA,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;oBACnB,IAAI,CAAC,GAAG,EAAE;wBACN,OAAO;qBACV;oBACD,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aACzB;QACL,CAAC;QACD,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;QACrC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACjC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACjC,OAAO,EAAE,GAAG,EAAE;YACV,IAAI,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,OAAO,EAAE;gBAC5B,EAAE,CAAC,KAAK,EAAE,CAAC;aACd;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AA7BD,oCA6BC"}
@@ -10,6 +10,7 @@ export declare const Permissions: {
10
10
  "registry-access": undefined;
11
11
  "admin-users": undefined;
12
12
  "admin-workspaces": undefined;
13
+ "admin-projects": undefined;
13
14
  "admin-api": undefined;
14
15
  "ide-settings": undefined;
15
16
  "new-workspace-cluster": undefined;
@@ -29,6 +30,9 @@ export interface Role {
29
30
  name: RoleName;
30
31
  permissions: PermissionName[];
31
32
  }
33
+ export declare namespace RolesOrPermissions {
34
+ function toPermissionSet(rolesOrPermissions: RoleOrPermission[] | undefined): Set<PermissionName>;
35
+ }
32
36
  export declare namespace Permission {
33
37
  /** The permission to monitor the (live) state of a Gitpod installation */
34
38
  const MONITOR: PermissionName;
@@ -40,11 +44,13 @@ export declare namespace Permission {
40
44
  const ADMIN_USERS: PermissionName;
41
45
  /** The permission for accessing all workspace data */
42
46
  const ADMIN_WORKSPACES: PermissionName;
47
+ /** The permission for accessing all projects data */
48
+ const ADMIN_PROJECTS: PermissionName;
43
49
  /** The permission to access the admin API */
44
50
  const ADMIN_API: PermissionName;
45
51
  /** The permission to access the IDE settings */
46
52
  const IDE_SETTINGS: PermissionName;
47
- const is: (o: any) => o is "monitor" | "enforcement" | "privileged-ws" | "registry-access" | "admin-users" | "admin-workspaces" | "admin-api" | "ide-settings" | "new-workspace-cluster";
53
+ const is: (o: any) => o is "monitor" | "enforcement" | "privileged-ws" | "registry-access" | "admin-users" | "admin-workspaces" | "admin-projects" | "admin-api" | "ide-settings" | "new-workspace-cluster";
48
54
  const all: () => PermissionName[];
49
55
  }
50
56
  export declare namespace Role {
@@ -1 +1 @@
1
- {"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,WAAW;;;;;;;;;;CAUvB,CAAC;AACF,oBAAY,cAAc,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AACxD,eAAO,MAAM,KAAK;;;;CAAkE,CAAC;AACrF,oBAAY,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC;AAC5C,oBAAY,gBAAgB,GAAG,QAAQ,GAAG,cAAc,CAAC;AAEzD,yBAAiB,QAAQ,CAAC;IACf,MAAM,EAAE,MAAO,GAAG,uCAGxB,CAAA;CACJ;AAED,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,cAAc,EAAE,CAAC;CACjC;AAED,yBAAiB,UAAU,CAAC;IACxB,0EAA0E;IACnE,MAAM,OAAO,EAAE,cAA0B,CAAC;IAEjD,uEAAuE;IAChE,MAAM,WAAW,EAAE,cAA8B,CAAC;IAEzD,sGAAsG;IAC/F,MAAM,eAAe,EAAE,cAAkC,CAAC;IAEjE,iDAAiD;IAC1C,MAAM,WAAW,EAAE,cAA8B,CAAC;IAEzD,sDAAsD;IAC/C,MAAM,gBAAgB,EAAE,cAAmC,CAAC;IAEnE,6CAA6C;IACtC,MAAM,SAAS,EAAE,cAA4B,CAAC;IAErD,gDAAgD;IACzC,MAAM,YAAY,EAAE,cAA+B,CAAC;IAEpD,MAAM,EAAE,MAAO,GAAG,uKAGxB,CAAA;IAEM,MAAM,GAAG,QAAO,cAAc,EAIpC,CAAC;CACL;AAED,yBAAiB,IAAI,CAAC;IAClB,iDAAiD;IAC1C,MAAM,MAAM,EAAE,IAQpB,CAAC;IAEF,kEAAkE;IAC3D,MAAM,MAAM,EAAE,IAMpB,CAAC;IAEK,MAAM,KAAK,EAAE,IAQnB,CAAA;IAEM,MAAM,SAAS,SAAU,QAAQ,KAAG,IAM1C,CAAC;IAEK,MAAM,GAAG,QAAO,IAAI,EAI1B,CAAC;CACL"}
1
+ {"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,WAAW;;;;;;;;;;;CAWvB,CAAC;AACF,oBAAY,cAAc,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AACxD,eAAO,MAAM,KAAK;;;;CAAkE,CAAC;AACrF,oBAAY,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC;AAC5C,oBAAY,gBAAgB,GAAG,QAAQ,GAAG,cAAc,CAAC;AAEzD,yBAAiB,QAAQ,CAAC;IACf,MAAM,EAAE,MAAO,GAAG,uCAGxB,CAAA;CACJ;AAED,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,cAAc,EAAE,CAAC;CACjC;AAED,yBAAiB,kBAAkB,CAAC;IAChC,SAAgB,eAAe,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,CAYvG;CACJ;AAED,yBAAiB,UAAU,CAAC;IACxB,0EAA0E;IACnE,MAAM,OAAO,EAAE,cAA0B,CAAC;IAEjD,uEAAuE;IAChE,MAAM,WAAW,EAAE,cAA8B,CAAC;IAEzD,sGAAsG;IAC/F,MAAM,eAAe,EAAE,cAAkC,CAAC;IAEjE,iDAAiD;IAC1C,MAAM,WAAW,EAAE,cAA8B,CAAC;IAEzD,sDAAsD;IAC/C,MAAM,gBAAgB,EAAE,cAAmC,CAAC;IAEnE,qDAAqD;IAC9C,MAAM,cAAc,EAAE,cAAiC,CAAC;IAE/D,6CAA6C;IACtC,MAAM,SAAS,EAAE,cAA4B,CAAC;IAErD,gDAAgD;IACzC,MAAM,YAAY,EAAE,cAA+B,CAAC;IAEpD,MAAM,EAAE,MAAO,GAAG,0LAGxB,CAAA;IAEM,MAAM,GAAG,QAAO,cAAc,EAEpC,CAAC;CACL;AAED,yBAAiB,IAAI,CAAC;IAClB,iDAAiD;IAC1C,MAAM,MAAM,EAAE,IAQpB,CAAC;IAEF,kEAAkE;IAC3D,MAAM,MAAM,EAAE,IAMpB,CAAC;IAEK,MAAM,KAAK,EAAE,IASnB,CAAA;IAEM,MAAM,SAAS,SAAU,QAAQ,KAAG,IAM1C,CAAC;IAEK,MAAM,GAAG,QAAO,IAAI,EAI1B,CAAC;CACL"}
package/lib/permission.js CHANGED
@@ -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.Role = exports.Permission = exports.RoleName = exports.Roles = exports.Permissions = void 0;
8
+ exports.Role = exports.Permission = exports.RolesOrPermissions = exports.RoleName = exports.Roles = exports.Permissions = void 0;
9
9
  // see below for explanation
10
10
  exports.Permissions = {
11
11
  "monitor": undefined,
@@ -14,6 +14,7 @@ exports.Permissions = {
14
14
  "registry-access": undefined,
15
15
  "admin-users": undefined,
16
16
  "admin-workspaces": undefined,
17
+ "admin-projects": undefined,
17
18
  "admin-api": undefined,
18
19
  "ide-settings": undefined,
19
20
  "new-workspace-cluster": undefined,
@@ -26,6 +27,24 @@ var RoleName;
26
27
  && Role.all().some(r => r.name === o);
27
28
  };
28
29
  })(RoleName = exports.RoleName || (exports.RoleName = {}));
30
+ var RolesOrPermissions;
31
+ (function (RolesOrPermissions) {
32
+ function toPermissionSet(rolesOrPermissions) {
33
+ rolesOrPermissions = rolesOrPermissions || [];
34
+ const permissions = new Set();
35
+ for (const rop of rolesOrPermissions) {
36
+ if (Permission.is(rop)) {
37
+ permissions.add(rop);
38
+ }
39
+ else if (RoleName.is(rop)) {
40
+ Role.getByName(rop).permissions.forEach(p => permissions.add(p));
41
+ }
42
+ }
43
+ return permissions;
44
+ }
45
+ RolesOrPermissions.toPermissionSet = toPermissionSet;
46
+ ;
47
+ })(RolesOrPermissions = exports.RolesOrPermissions || (exports.RolesOrPermissions = {}));
29
48
  var Permission;
30
49
  (function (Permission) {
31
50
  /** The permission to monitor the (live) state of a Gitpod installation */
@@ -38,6 +57,8 @@ var Permission;
38
57
  Permission.ADMIN_USERS = "admin-users";
39
58
  /** The permission for accessing all workspace data */
40
59
  Permission.ADMIN_WORKSPACES = "admin-workspaces";
60
+ /** The permission for accessing all projects data */
61
+ Permission.ADMIN_PROJECTS = "admin-projects";
41
62
  /** The permission to access the admin API */
42
63
  Permission.ADMIN_API = "admin-api";
43
64
  /** The permission to access the IDE settings */
@@ -47,9 +68,7 @@ var Permission;
47
68
  && Permission.all().some(p => p === o);
48
69
  };
49
70
  Permission.all = () => {
50
- return Object.keys(Permission)
51
- .map(k => Permission[k])
52
- .filter(k => typeof (k) === 'string');
71
+ return Object.keys(exports.Permissions);
53
72
  };
54
73
  })(Permission = exports.Permission || (exports.Permission = {}));
55
74
  var Role;
@@ -77,6 +96,7 @@ var Role;
77
96
  permissions: [
78
97
  Permission.ADMIN_USERS,
79
98
  Permission.ADMIN_WORKSPACES,
99
+ Permission.ADMIN_PROJECTS,
80
100
  Permission.ADMIN_API,
81
101
  Permission.ENFORCEMENT,
82
102
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"permission.js","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission.js","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"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"}
package/lib/protocol.d.ts CHANGED
@@ -62,6 +62,7 @@ export declare type IDESettings = {
62
62
  defaultIde?: string;
63
63
  useDesktopIde?: boolean;
64
64
  defaultDesktopIde?: string;
65
+ useLatestVersion?: boolean;
65
66
  };
66
67
  export interface UserPlatform {
67
68
  uid: string;
@@ -95,12 +96,20 @@ export declare const WorkspaceFeatureFlags: {
95
96
  fixed_resources: undefined;
96
97
  };
97
98
  export declare type NamedWorkspaceFeatureFlag = keyof (typeof WorkspaceFeatureFlags);
98
- export interface UserEnvVarValue {
99
- id?: string;
99
+ export interface EnvVarWithValue {
100
100
  name: string;
101
- repositoryPattern: string;
102
101
  value: string;
103
102
  }
103
+ export interface ProjectEnvVarWithValue extends EnvVarWithValue {
104
+ id: string;
105
+ projectId: string;
106
+ censored: boolean;
107
+ }
108
+ export declare type ProjectEnvVar = Omit<ProjectEnvVarWithValue, 'value'>;
109
+ export interface UserEnvVarValue extends EnvVarWithValue {
110
+ id?: string;
111
+ repositoryPattern: string;
112
+ }
104
113
  export interface UserEnvVar extends UserEnvVarValue {
105
114
  id: string;
106
115
  userId: string;
@@ -355,6 +364,7 @@ export interface GithubAppPrebuildConfig {
355
364
  branches?: boolean;
356
365
  pullRequests?: boolean;
357
366
  pullRequestsFromForks?: boolean;
367
+ addCheck?: boolean | 'prevent-merge-on-error';
358
368
  addBadge?: boolean;
359
369
  addLabel?: boolean | string;
360
370
  addComment?: boolean;
@@ -396,6 +406,16 @@ export declare namespace PrebuiltWorkspace {
396
406
  function isAvailable(pws: PrebuiltWorkspace): boolean;
397
407
  function buildDidSucceed(pws: PrebuiltWorkspace): boolean;
398
408
  }
409
+ export interface PrebuiltWorkspaceUpdatable {
410
+ id: string;
411
+ prebuiltWorkspaceId: string;
412
+ owner: string;
413
+ repo: string;
414
+ isResolved: boolean;
415
+ installationId: string;
416
+ issue?: string;
417
+ contextUrl?: string;
418
+ }
399
419
  export interface WhitelistedRepository {
400
420
  url: string;
401
421
  name: string;
@@ -487,8 +507,7 @@ export interface WithSnapshot {
487
507
  export declare namespace WithSnapshot {
488
508
  function is(context: any): context is WithSnapshot;
489
509
  }
490
- export interface WithPrebuild {
491
- snapshotBucketId: string;
510
+ export interface WithPrebuild extends WithSnapshot {
492
511
  prebuildWorkspaceId: string;
493
512
  wasPrebuilt: true;
494
513
  }
@@ -529,8 +548,15 @@ export interface PrebuiltWorkspaceContext extends WorkspaceContext {
529
548
  export declare namespace PrebuiltWorkspaceContext {
530
549
  function is(context: any): context is PrebuiltWorkspaceContext;
531
550
  }
551
+ export interface WithReferrerContext extends WorkspaceContext {
552
+ referrer: string;
553
+ referrerIde?: string;
554
+ }
555
+ export declare namespace WithReferrerContext {
556
+ function is(context: any): context is WithReferrerContext;
557
+ }
532
558
  export interface WithEnvvarsContext extends WorkspaceContext {
533
- envvars: UserEnvVarValue[];
559
+ envvars: EnvVarWithValue[];
534
560
  }
535
561
  export declare namespace WithEnvvarsContext {
536
562
  function is(context: any): context is WithEnvvarsContext;
@@ -731,38 +757,6 @@ export declare namespace AuthProviderEntry {
731
757
  type UpdateEntry = Pick<AuthProviderEntry, "id" | "ownerId"> & Pick<OAuth2Config, "clientId" | "clientSecret">;
732
758
  function redact(entry: AuthProviderEntry): AuthProviderEntry;
733
759
  }
734
- export interface Branding {
735
- readonly name: string;
736
- readonly favicon?: string;
737
- /** Either including domain OR absolute path (interpreted relative to host URL) */
738
- readonly logo: string;
739
- readonly startupLogo: string;
740
- readonly showProductivityTips: boolean;
741
- readonly redirectUrlIfNotAuthenticated?: string;
742
- readonly redirectUrlAfterLogout?: string;
743
- readonly homepage: string;
744
- readonly ide?: {
745
- readonly logo: string;
746
- readonly showReleaseNotes: boolean;
747
- readonly helpMenu: Branding.Link[];
748
- };
749
- readonly links: {
750
- readonly header: Branding.Link[];
751
- readonly footer: Branding.Link[];
752
- readonly social: Branding.SocialLink[];
753
- readonly legal: Branding.Link[];
754
- };
755
- }
756
- export declare namespace Branding {
757
- interface Link {
758
- readonly name: string;
759
- readonly url: string;
760
- }
761
- interface SocialLink {
762
- readonly type: string;
763
- readonly url: string;
764
- }
765
- }
766
760
  export interface Configuration {
767
761
  readonly daysBeforeGarbageCollection: number;
768
762
  readonly garbageCollectionStartDate: number;