@gitpod/gitpod-protocol 0.1.5-mp-server-move-admin-endpoints-to-admin-srv.0 → 0.1.5-mp-openfga-component.11
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.
- package/lib/accounting-protocol.d.ts +1 -1
- package/lib/accounting-protocol.js +1 -1
- package/lib/admin-protocol.d.ts +1 -1
- package/lib/admin-protocol.js +1 -1
- package/lib/analytics.d.ts +1 -1
- package/lib/analytics.js +1 -1
- package/lib/attribution.d.ts +1 -1
- package/lib/attribution.js +1 -1
- package/lib/auth.d.ts +1 -1
- package/lib/auth.js +1 -1
- package/lib/billing-mode.d.ts +1 -1
- package/lib/billing-mode.js +1 -1
- package/lib/blocked-repositories-protocol.d.ts +1 -1
- package/lib/blocked-repositories-protocol.js +1 -1
- package/lib/context-url.d.ts +1 -1
- package/lib/context-url.js +1 -1
- package/lib/context-url.spec.d.ts +1 -1
- package/lib/context-url.spec.js +1 -1
- package/lib/encryption/container-module.d.ts +1 -1
- package/lib/encryption/container-module.js +1 -1
- package/lib/encryption/encryption-engine.d.ts +1 -1
- package/lib/encryption/encryption-engine.js +1 -1
- package/lib/encryption/encryption-engine.spec.d.ts +1 -1
- package/lib/encryption/encryption-engine.spec.js +1 -1
- package/lib/encryption/encryption-service.d.ts +1 -1
- package/lib/encryption/encryption-service.js +1 -1
- package/lib/encryption/key-provider.d.ts +1 -1
- package/lib/encryption/key-provider.js +1 -1
- package/lib/env.d.ts +1 -1
- package/lib/env.d.ts.map +1 -1
- package/lib/env.js +1 -1
- package/lib/env.js.map +1 -1
- package/lib/experiments/always-default.d.ts +1 -1
- package/lib/experiments/configcat-server.d.ts +1 -1
- package/lib/experiments/configcat-server.js +1 -1
- package/lib/experiments/configcat.d.ts +1 -1
- package/lib/experiments/configcat.js +1 -1
- package/lib/experiments/types.d.ts +1 -1
- package/lib/experiments/types.js +1 -1
- package/lib/gitpod-file-parser.d.ts +1 -1
- package/lib/gitpod-file-parser.js +1 -1
- package/lib/gitpod-file-parser.spec.d.ts +1 -1
- package/lib/gitpod-file-parser.spec.js +1 -1
- package/lib/gitpod-service.d.ts +6 -4
- package/lib/gitpod-service.d.ts.map +1 -1
- package/lib/gitpod-service.js +1 -1
- package/lib/gitpod-service.js.map +1 -1
- package/lib/headless-workspace-log.d.ts +1 -1
- package/lib/headless-workspace-log.js +1 -1
- package/lib/ide-frontend-service.d.ts +1 -1
- package/lib/ide-frontend-service.js +1 -1
- package/lib/ide-protocol.d.ts +15 -2
- package/lib/ide-protocol.d.ts.map +1 -1
- package/lib/ide-protocol.js +11 -1
- package/lib/ide-protocol.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/installation-admin-protocol.d.ts +1 -1
- package/lib/installation-admin-protocol.js +1 -1
- package/lib/license-protocol.d.ts +1 -1
- package/lib/license-protocol.js +1 -1
- package/lib/messaging/browser/window-connection.d.ts +1 -1
- package/lib/messaging/browser/window-connection.js +1 -1
- package/lib/messaging/client-call-metrics.d.ts +3 -1
- package/lib/messaging/client-call-metrics.d.ts.map +1 -1
- package/lib/messaging/client-call-metrics.js +14 -1
- package/lib/messaging/client-call-metrics.js.map +1 -1
- package/lib/messaging/error.d.ts +1 -1
- package/lib/messaging/error.js +1 -1
- package/lib/oss-allowlist.d.ts +1 -1
- package/lib/oss-allowlist.js +1 -1
- package/lib/payment-protocol.d.ts +1 -1
- package/lib/payment-protocol.js +1 -1
- package/lib/permission.d.ts +1 -1
- package/lib/permission.js +1 -1
- package/lib/plans.d.ts +1 -1
- package/lib/plans.js +1 -1
- package/lib/protocol.d.ts +3 -3
- package/lib/protocol.d.ts.map +1 -1
- package/lib/protocol.js +1 -1
- package/lib/protocol.spec.d.ts +1 -1
- package/lib/protocol.spec.js +1 -1
- package/lib/snapshot-url.d.ts +1 -1
- package/lib/snapshot-url.js +1 -1
- package/lib/snapshot-url.spec.d.ts +1 -1
- package/lib/snapshot-url.spec.js +1 -1
- package/lib/team-subscription-protocol.d.ts +1 -1
- package/lib/team-subscription-protocol.js +1 -1
- package/lib/teams-projects-protocol.d.ts +1 -1
- package/lib/teams-projects-protocol.js +1 -1
- package/lib/typings/globals.d.ts +1 -1
- package/lib/typings/globals.js +1 -1
- package/lib/usage.d.ts +1 -1
- package/lib/usage.js +1 -1
- package/lib/util/analytics.d.ts +1 -1
- package/lib/util/analytics.js +1 -1
- package/lib/util/async-iterator.d.ts +1 -1
- package/lib/util/async-iterator.js +1 -1
- package/lib/util/cancelable.d.ts +1 -1
- package/lib/util/cancelable.js +1 -1
- package/lib/util/date-time.d.ts +1 -1
- package/lib/util/date-time.js +1 -1
- package/lib/util/debug-app.d.ts +1 -1
- package/lib/util/debug-app.js +1 -1
- package/lib/util/deep-partial.d.ts +1 -1
- package/lib/util/deep-partial.js +1 -1
- package/lib/util/deferred.d.ts +1 -1
- package/lib/util/deferred.js +1 -1
- package/lib/util/garbage-collected-cache.d.ts +1 -1
- package/lib/util/garbage-collected-cache.js +1 -1
- package/lib/util/generate-workspace-id.d.ts +1 -1
- package/lib/util/generate-workspace-id.js +1 -1
- package/lib/util/generate-workspace-id.spec.d.ts +1 -1
- package/lib/util/generate-workspace-id.spec.js +1 -1
- package/lib/util/gitpod-cookie.d.ts +1 -1
- package/lib/util/gitpod-cookie.js +1 -1
- package/lib/util/gitpod-host-url.d.ts +12 -1
- package/lib/util/gitpod-host-url.d.ts.map +1 -1
- package/lib/util/gitpod-host-url.js +29 -2
- package/lib/util/gitpod-host-url.js.map +1 -1
- package/lib/util/gitpod-host-url.spec.d.ts +1 -1
- package/lib/util/gitpod-host-url.spec.js +1 -1
- package/lib/util/grpc.d.ts +2 -1
- package/lib/util/grpc.d.ts.map +1 -1
- package/lib/util/grpc.js +1 -1
- package/lib/util/grpc.js.map +1 -1
- package/lib/util/jaeger-client-types.d.ts +1 -1
- package/lib/util/jaeger-client-types.js +1 -1
- package/lib/util/logging.d.ts +1 -1
- package/lib/util/logging.js +1 -1
- package/lib/util/logging.spec.d.ts +1 -1
- package/lib/util/logging.spec.js +1 -1
- package/lib/util/make-link.d.ts +1 -1
- package/lib/util/make-link.js +1 -1
- package/lib/util/nice-grpc.d.ts +1 -1
- package/lib/util/nice-grpc.d.ts.map +1 -1
- package/lib/util/nice-grpc.js +3 -1
- package/lib/util/nice-grpc.js.map +1 -1
- package/lib/util/parse-workspace-id.d.ts +1 -1
- package/lib/util/parse-workspace-id.js +1 -1
- package/lib/util/parse-workspace-id.spec.d.ts +1 -1
- package/lib/util/parse-workspace-id.spec.js +1 -1
- package/lib/util/queue.d.ts +1 -1
- package/lib/util/queue.js +1 -1
- package/lib/util/queue.spec.d.ts +1 -1
- package/lib/util/queue.spec.js +1 -1
- package/lib/util/repeat.d.ts +1 -1
- package/lib/util/repeat.js +1 -1
- package/lib/util/semaphore.d.ts +1 -1
- package/lib/util/semaphore.js +1 -1
- package/lib/util/skip-if.d.ts +1 -1
- package/lib/util/skip-if.js +1 -1
- package/lib/util/timeutil.d.ts +1 -1
- package/lib/util/timeutil.js +1 -1
- package/lib/util/timeutil.spec.d.ts +1 -1
- package/lib/util/timeutil.spec.js +1 -1
- package/lib/util/tracing.d.ts +1 -1
- package/lib/util/tracing.js +1 -1
- package/lib/util/tracing.spec.d.ts +1 -1
- package/lib/util/tracing.spec.js +1 -1
- package/lib/util/workspace-port-authentication.d.ts +1 -1
- package/lib/util/workspace-port-authentication.js +1 -1
- package/lib/webhook-event.d.ts +1 -1
- package/lib/webhook-event.js +1 -1
- package/lib/workspace-class.d.ts +1 -1
- package/lib/workspace-class.js +1 -1
- package/lib/workspace-cluster.d.ts +1 -1
- package/lib/workspace-cluster.js +1 -1
- package/lib/workspace-instance.d.ts +2 -1
- package/lib/workspace-instance.d.ts.map +1 -1
- package/lib/workspace-instance.js +1 -1
- package/lib/wsready.d.ts +1 -1
- package/lib/wsready.js +1 -1
- package/package.json +1 -1
- package/pkg-yarn.lock +1 -1
- package/provenance-bundle.jsonl +1 -1
- package/src/accounting-protocol.ts +1 -1
- package/src/admin-protocol.ts +1 -1
- package/src/analytics.ts +1 -1
- package/src/attribution.ts +1 -1
- package/src/auth.ts +1 -1
- package/src/billing-mode.ts +1 -1
- package/src/blocked-repositories-protocol.ts +1 -1
- package/src/context-url.spec.ts +1 -1
- package/src/context-url.ts +1 -1
- package/src/encryption/container-module.ts +1 -1
- package/src/encryption/encryption-engine.spec.ts +1 -1
- package/src/encryption/encryption-engine.ts +1 -1
- package/src/encryption/encryption-service.ts +1 -1
- package/src/encryption/key-provider.ts +1 -1
- package/src/env.ts +2 -3
- package/src/experiments/always-default.ts +1 -1
- package/src/experiments/configcat-server.ts +1 -1
- package/src/experiments/configcat.ts +1 -1
- package/src/experiments/types.ts +1 -1
- package/src/gitpod-file-parser.spec.ts +1 -1
- package/src/gitpod-file-parser.ts +1 -1
- package/src/gitpod-service.ts +8 -3
- package/src/headless-workspace-log.ts +1 -1
- package/src/ide-frontend-service.ts +1 -1
- package/src/ide-protocol.ts +20 -2
- package/src/index.ts +1 -1
- package/src/installation-admin-protocol.ts +1 -1
- package/src/license-protocol.ts +1 -1
- package/src/messaging/browser/window-connection.ts +1 -1
- package/src/messaging/client-call-metrics.ts +18 -1
- package/src/messaging/error.ts +1 -1
- package/src/oss-allowlist.ts +1 -1
- package/src/payment-protocol.ts +1 -1
- package/src/permission.ts +1 -1
- package/src/plans.ts +1 -1
- package/src/protocol.spec.ts +1 -1
- package/src/protocol.ts +3 -3
- package/src/snapshot-url.spec.ts +1 -1
- package/src/snapshot-url.ts +1 -1
- package/src/team-subscription-protocol.ts +1 -1
- package/src/teams-projects-protocol.ts +1 -1
- package/src/typings/globals.ts +1 -1
- package/src/usage.ts +1 -1
- package/src/util/analytics.ts +1 -1
- package/src/util/async-iterator.ts +1 -1
- package/src/util/cancelable.ts +1 -1
- package/src/util/date-time.ts +1 -1
- package/src/util/debug-app.ts +1 -1
- package/src/util/deep-partial.ts +1 -1
- package/src/util/deferred.ts +1 -1
- package/src/util/garbage-collected-cache.ts +1 -1
- package/src/util/generate-workspace-id.spec.ts +1 -1
- package/src/util/generate-workspace-id.ts +1 -1
- package/src/util/gitpod-cookie.ts +1 -1
- package/src/util/gitpod-host-url.spec.ts +1 -1
- package/src/util/gitpod-host-url.ts +36 -1
- package/src/util/grpc.ts +4 -1
- package/src/util/jaeger-client-types.ts +1 -1
- package/src/util/logging.spec.ts +1 -1
- package/src/util/logging.ts +1 -1
- package/src/util/make-link.ts +1 -1
- package/src/util/nice-grpc.ts +4 -1
- package/src/util/parse-workspace-id.spec.ts +1 -1
- package/src/util/parse-workspace-id.ts +1 -1
- package/src/util/queue.spec.ts +1 -1
- package/src/util/queue.ts +1 -1
- package/src/util/repeat.ts +1 -1
- package/src/util/semaphore.ts +1 -1
- package/src/util/skip-if.ts +1 -1
- package/src/util/timeutil.spec.ts +1 -1
- package/src/util/timeutil.ts +1 -1
- package/src/util/tracing.spec.ts +1 -1
- package/src/util/tracing.ts +1 -1
- package/src/util/workspace-port-authentication.ts +1 -1
- package/src/webhook-event.ts +1 -1
- package/src/workspace-class.ts +1 -1
- package/src/workspace-cluster.ts +1 -1
- package/src/workspace-instance.ts +7 -1
- package/src/wsready.ts +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { Attributes, Client } from "./types";
|
package/src/experiments/types.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { BillingTier, User } from "../protocol";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { suite, test } from "mocha-typescript";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { injectable } from "inversify";
|
package/src/gitpod-service.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
PrebuiltWorkspace,
|
|
27
27
|
UserSSHPublicKeyValue,
|
|
28
28
|
SSHPublicKeyValue,
|
|
29
|
+
IDESettings,
|
|
29
30
|
} from "./protocol";
|
|
30
31
|
import {
|
|
31
32
|
Team,
|
|
@@ -414,16 +415,20 @@ export namespace GitpodServer {
|
|
|
414
415
|
export interface GetAccountStatementOptions {
|
|
415
416
|
date?: string;
|
|
416
417
|
}
|
|
417
|
-
export interface CreateWorkspaceOptions {
|
|
418
|
+
export interface CreateWorkspaceOptions extends StartWorkspaceOptions {
|
|
418
419
|
contextUrl: string;
|
|
420
|
+
|
|
419
421
|
// whether running workspaces on the same context should be ignored. If false (default) users will be asked.
|
|
420
422
|
ignoreRunningWorkspaceOnSameCommit?: boolean;
|
|
421
423
|
ignoreRunningPrebuild?: boolean;
|
|
422
424
|
allowUsingPreviousPrebuilds?: boolean;
|
|
423
425
|
forceDefaultConfig?: boolean;
|
|
424
426
|
}
|
|
427
|
+
|
|
425
428
|
export interface StartWorkspaceOptions {
|
|
426
|
-
forceDefaultImage
|
|
429
|
+
forceDefaultImage?: boolean;
|
|
430
|
+
workspaceClass?: string;
|
|
431
|
+
ideSettings?: IDESettings;
|
|
427
432
|
}
|
|
428
433
|
export interface TakeSnapshotOptions {
|
|
429
434
|
workspaceId: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export enum HeadlessWorkspaceEventType {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { Event } from "./util/event";
|
package/src/ide-protocol.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -36,6 +36,14 @@ export interface IDEOptions {
|
|
|
36
36
|
clients?: { [id: string]: IDEClient };
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
export namespace IDEOptions {
|
|
40
|
+
export function asArray(options: IDEOptions): (IDEOption & { id: string })[] {
|
|
41
|
+
return Object.keys(options.options)
|
|
42
|
+
.map((id) => ({ ...options.options[id], id }))
|
|
43
|
+
.sort((a, b) => (a.orderKey || "").localeCompare(b.orderKey || ""));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
39
47
|
export interface IDEClient {
|
|
40
48
|
/**
|
|
41
49
|
* The default desktop IDE when the user has not specified one.
|
|
@@ -87,7 +95,7 @@ export interface IDEOption {
|
|
|
87
95
|
label?: string;
|
|
88
96
|
|
|
89
97
|
/**
|
|
90
|
-
* Notes to the IDE option that are
|
|
98
|
+
* Notes to the IDE option that are rendered in the preferences when a user
|
|
91
99
|
* chooses this IDE.
|
|
92
100
|
*/
|
|
93
101
|
notes?: string[];
|
|
@@ -126,4 +134,14 @@ export interface IDEOption {
|
|
|
126
134
|
* The latest plugin image ref for the latest IDE image, this image ref always resolve to digest.
|
|
127
135
|
*/
|
|
128
136
|
pluginLatestImage?: string;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* ImageVersion the semantic version of the IDE image.
|
|
140
|
+
*/
|
|
141
|
+
imageVersion?: string;
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* LatestImageVersion the semantic version of the latest IDE image.
|
|
145
|
+
*/
|
|
146
|
+
latestImageVersion?: string;
|
|
129
147
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export * from "./protocol";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { v4 as uuidv4 } from "uuid";
|
package/src/license-protocol.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export interface LicenseValidationResult {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { Message } from "vscode-jsonrpc/lib/messages";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { injectable } from "inversify";
|
|
@@ -14,6 +14,7 @@ export class PrometheusClientCallMetrics implements IClientCallMetrics {
|
|
|
14
14
|
readonly sentCounter: prometheusClient.Counter<string>;
|
|
15
15
|
readonly receivedCounter: prometheusClient.Counter<string>;
|
|
16
16
|
readonly handledCounter: prometheusClient.Counter<string>;
|
|
17
|
+
readonly handledSecondsHistogram: prometheusClient.Histogram<string>;
|
|
17
18
|
|
|
18
19
|
constructor() {
|
|
19
20
|
this.startedCounter = new prometheusClient.Counter({
|
|
@@ -40,6 +41,12 @@ export class PrometheusClientCallMetrics implements IClientCallMetrics {
|
|
|
40
41
|
labelNames: ["grpc_service", "grpc_method", "grpc_type", "grpc_code"],
|
|
41
42
|
registers: [prometheusClient.register],
|
|
42
43
|
});
|
|
44
|
+
this.handledSecondsHistogram = new prometheusClient.Histogram({
|
|
45
|
+
name: "grpc_client_handling_seconds",
|
|
46
|
+
help: "Histogram of response latency (seconds) of the gRPC until it is finished by the application.",
|
|
47
|
+
labelNames: ["grpc_service", "grpc_method", "grpc_type", "grpc_code"],
|
|
48
|
+
registers: [prometheusClient.register],
|
|
49
|
+
});
|
|
43
50
|
}
|
|
44
51
|
|
|
45
52
|
started(labels: IGrpcCallMetricsLabels): void {
|
|
@@ -74,4 +81,14 @@ export class PrometheusClientCallMetrics implements IClientCallMetrics {
|
|
|
74
81
|
grpc_code: labels.code,
|
|
75
82
|
});
|
|
76
83
|
}
|
|
84
|
+
|
|
85
|
+
startHandleTimer(
|
|
86
|
+
labels: IGrpcCallMetricsLabelsWithCode,
|
|
87
|
+
): (labels?: Partial<Record<string, string | number>> | undefined) => number {
|
|
88
|
+
return this.handledSecondsHistogram.startTimer({
|
|
89
|
+
grpc_service: labels.service,
|
|
90
|
+
grpc_method: labels.method,
|
|
91
|
+
grpc_type: labels.type,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
77
94
|
}
|
package/src/messaging/error.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export namespace ErrorCodes {
|
package/src/oss-allowlist.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export interface OssAllowList {
|
package/src/payment-protocol.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export namespace PaymentProtocol {
|
package/src/permission.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
// see below for explanation
|
package/src/plans.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export type Currency = "USD" | "EUR";
|
package/src/protocol.spec.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { suite, test } from "mocha-typescript";
|
package/src/protocol.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { WorkspaceInstance, PortVisibility } from "./workspace-instance";
|
|
@@ -255,8 +255,8 @@ export type IDESettings = {
|
|
|
255
255
|
};
|
|
256
256
|
|
|
257
257
|
export interface WorkspaceClasses {
|
|
258
|
-
regular
|
|
259
|
-
prebuild
|
|
258
|
+
regular?: string;
|
|
259
|
+
prebuild?: string;
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
export interface UserPlatform {
|
package/src/snapshot-url.spec.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { suite, test } from "mocha-typescript";
|
package/src/snapshot-url.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export interface SnapshotUrl {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { v4 as uuidv4 } from "uuid";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { PrebuiltWorkspaceState, WorkspaceClasses } from "./protocol";
|
package/src/typings/globals.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
interface Window {
|
package/src/usage.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { WorkspaceType } from "./protocol";
|
package/src/util/analytics.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import Analytics = require("analytics-node");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
// Use asyncIterators with es2015
|
package/src/util/cancelable.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { Disposable } from "./disposable";
|
package/src/util/date-time.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export function formatDate(date?: string) {
|
package/src/util/debug-app.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import * as http from "http";
|
package/src/util/deep-partial.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
package/src/util/deferred.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export class Deferred<T> {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { repeat } from "./repeat";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { suite, test } from "mocha-typescript";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import randomNumber = require("random-number-csprng");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
import * as cookie from "cookie";
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import * as chai from "chai";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
const URL = require("url").URL || window.URL;
|
|
@@ -21,6 +21,12 @@ const workspaceIDRegex = RegExp(`^${baseWorkspaceIDRegex}$`);
|
|
|
21
21
|
// this pattern matches URL prefixes of workspaces
|
|
22
22
|
const workspaceUrlPrefixRegex = RegExp(`^([0-9]{4,6}-)?${baseWorkspaceIDRegex}\\.`);
|
|
23
23
|
|
|
24
|
+
export namespace StartOptions {
|
|
25
|
+
export const WORKSPACE_CLASS = "workspaceClass";
|
|
26
|
+
export const EDITOR = "editor";
|
|
27
|
+
export const USE_LATEST_EDITOR = "useLatestEditor";
|
|
28
|
+
}
|
|
29
|
+
|
|
24
30
|
export class GitpodHostUrl {
|
|
25
31
|
readonly url: URL;
|
|
26
32
|
|
|
@@ -93,6 +99,10 @@ export class GitpodHostUrl {
|
|
|
93
99
|
return this.with((url) => ({ pathname: "/" }));
|
|
94
100
|
}
|
|
95
101
|
|
|
102
|
+
asBilling(): GitpodHostUrl {
|
|
103
|
+
return this.with((url) => ({ pathname: "/billing" }));
|
|
104
|
+
}
|
|
105
|
+
|
|
96
106
|
asLogin(): GitpodHostUrl {
|
|
97
107
|
return this.with((url) => ({ pathname: "/login" }));
|
|
98
108
|
}
|
|
@@ -120,6 +130,31 @@ export class GitpodHostUrl {
|
|
|
120
130
|
});
|
|
121
131
|
}
|
|
122
132
|
|
|
133
|
+
asCreateWorkspace(
|
|
134
|
+
contextUrl: string,
|
|
135
|
+
o?: {
|
|
136
|
+
workspaceClass?: string;
|
|
137
|
+
editor?: string;
|
|
138
|
+
useLatestEditor?: boolean;
|
|
139
|
+
},
|
|
140
|
+
): GitpodHostUrl {
|
|
141
|
+
const searchParams: URLSearchParams = new URLSearchParams();
|
|
142
|
+
if (o?.workspaceClass && o?.workspaceClass.length > 0) {
|
|
143
|
+
searchParams.append(StartOptions.WORKSPACE_CLASS, o.workspaceClass);
|
|
144
|
+
}
|
|
145
|
+
if (o?.editor && o?.editor?.length > 0) {
|
|
146
|
+
searchParams.append(StartOptions.EDITOR, o.editor);
|
|
147
|
+
}
|
|
148
|
+
if (o?.useLatestEditor !== undefined) {
|
|
149
|
+
searchParams.append(StartOptions.USE_LATEST_EDITOR, o.useLatestEditor.toString());
|
|
150
|
+
}
|
|
151
|
+
return this.withoutWorkspacePrefix().with({
|
|
152
|
+
pathname: "/",
|
|
153
|
+
search: searchParams.toString(),
|
|
154
|
+
hash: "#" + contextUrl,
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
|
|
123
158
|
asWorkspaceAuth(instanceID: string, redirect?: boolean): GitpodHostUrl {
|
|
124
159
|
return this.with((url) => ({
|
|
125
160
|
pathname: `/api/auth/workspace-cookie/${instanceID}`,
|
package/src/util/grpc.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import * as grpc from "@grpc/grpc-js";
|
|
@@ -36,6 +36,9 @@ export interface IClientCallMetrics {
|
|
|
36
36
|
sent(labels: IGrpcCallMetricsLabels): void;
|
|
37
37
|
received(labels: IGrpcCallMetricsLabels): void;
|
|
38
38
|
handled(labels: IGrpcCallMetricsLabelsWithCode): void;
|
|
39
|
+
startHandleTimer(
|
|
40
|
+
labels: IGrpcCallMetricsLabels,
|
|
41
|
+
): (labels?: Partial<Record<string, string | number>> | undefined) => number;
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
export function getGrpcMethodType(requestStream: boolean, responseStream: boolean): GrpcMethodType {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { opentracing } from "jaeger-client";
|
package/src/util/logging.spec.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { suite, test } from "mocha-typescript";
|
package/src/util/logging.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
const inspect: (object: any) => string = require("util").inspect; // undefined in frontend
|
package/src/util/make-link.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
function isOpenNewTab(event: MouseEvent): boolean {
|
package/src/util/nice-grpc.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { isAbortError } from "abort-controller-x";
|
|
@@ -49,6 +49,8 @@ export function prometheusClientMiddleware(metrics: IClientCallMetrics): ClientM
|
|
|
49
49
|
|
|
50
50
|
metrics.started(labels);
|
|
51
51
|
|
|
52
|
+
const stopTimer = metrics.startHandleTimer(labels);
|
|
53
|
+
|
|
52
54
|
let settled = false;
|
|
53
55
|
let status: Status = Status.OK;
|
|
54
56
|
|
|
@@ -87,6 +89,7 @@ export function prometheusClientMiddleware(metrics: IClientCallMetrics): ClientM
|
|
|
87
89
|
if (!settled) {
|
|
88
90
|
status = Status.CANCELLED;
|
|
89
91
|
}
|
|
92
|
+
stopTimer({ grpc_code: Status[status] });
|
|
90
93
|
metrics.handled({ ...labels, code: Status[status] });
|
|
91
94
|
}
|
|
92
95
|
};
|