@gitpod/gitpod-protocol 0.1.5-svenefftinge-dashboard-invalid-2274.5 → 0.1.5-tar-telemetry-settings-data.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/builtin-theia-plugins.json +28 -18
- package/data/gitpod-schema.json +25 -24
- package/lib/accounting-protocol.d.ts +155 -0
- package/lib/accounting-protocol.d.ts.map +1 -0
- package/lib/accounting-protocol.js +109 -0
- package/lib/accounting-protocol.js.map +1 -0
- package/lib/admin-protocol.d.ts +32 -5
- package/lib/admin-protocol.d.ts.map +1 -1
- package/lib/admin-protocol.js +16 -1
- package/lib/admin-protocol.js.map +1 -1
- package/lib/analytics.d.ts +45 -0
- package/lib/analytics.d.ts.map +1 -0
- package/lib/analytics.js +10 -0
- package/lib/analytics.js.map +1 -0
- package/lib/auth.d.ts +25 -0
- package/lib/auth.d.ts.map +1 -0
- package/lib/auth.js +16 -0
- package/lib/auth.js.map +1 -0
- package/lib/context-url.d.ts +31 -0
- package/lib/context-url.d.ts.map +1 -0
- package/lib/context-url.js +102 -0
- package/lib/context-url.js.map +1 -0
- package/lib/context-url.spec.d.ts +14 -0
- package/lib/context-url.spec.d.ts.map +1 -0
- package/lib/context-url.spec.js +94 -0
- package/lib/context-url.spec.js.map +1 -0
- package/lib/email-protocol.d.ts +2 -3
- package/lib/email-protocol.d.ts.map +1 -1
- package/lib/email-protocol.js +5 -5
- package/lib/email-protocol.js.map +1 -1
- package/lib/encryption/container-module.d.ts +1 -1
- package/lib/encryption/container-module.js +6 -5
- package/lib/encryption/container-module.js.map +1 -1
- package/lib/encryption/encryption-engine.d.ts +1 -1
- package/lib/encryption/encryption-engine.js +20 -21
- package/lib/encryption/encryption-engine.js.map +1 -1
- package/lib/encryption/encryption-engine.spec.d.ts +1 -1
- package/lib/encryption/encryption-engine.spec.js +30 -37
- package/lib/encryption/encryption-engine.spec.js.map +1 -1
- package/lib/encryption/encryption-service.d.ts +1 -1
- package/lib/encryption/encryption-service.js +30 -44
- package/lib/encryption/encryption-service.js.map +1 -1
- package/lib/encryption/key-provider.d.ts +1 -1
- package/lib/encryption/key-provider.js +26 -31
- package/lib/encryption/key-provider.js.map +1 -1
- package/lib/env.d.ts +2 -3
- package/lib/env.d.ts.map +1 -1
- package/lib/env.js +21 -22
- package/lib/env.js.map +1 -1
- package/lib/gitpod-file-parser.d.ts +1 -1
- package/lib/gitpod-file-parser.js +26 -42
- package/lib/gitpod-file-parser.js.map +1 -1
- package/lib/gitpod-file-parser.spec.d.ts +1 -1
- package/lib/gitpod-file-parser.spec.js +117 -117
- package/lib/gitpod-file-parser.spec.js.map +1 -1
- package/lib/gitpod-service.d.ts +165 -21
- package/lib/gitpod-service.d.ts.map +1 -1
- package/lib/gitpod-service.js +171 -257
- package/lib/gitpod-service.js.map +1 -1
- package/lib/headless-workspace-log.d.ts +9 -12
- package/lib/headless-workspace-log.d.ts.map +1 -1
- package/lib/headless-workspace-log.js +5 -8
- package/lib/headless-workspace-log.js.map +1 -1
- package/lib/ide-frontend-service.d.ts +5 -1
- package/lib/ide-frontend-service.d.ts.map +1 -1
- package/lib/ide-frontend-service.js +1 -1
- package/lib/ide-protocol.d.ts +105 -0
- package/lib/ide-protocol.d.ts.map +1 -0
- package/lib/{util/without.js → ide-protocol.js} +2 -2
- package/lib/ide-protocol.js.map +1 -0
- package/lib/index.d.ts +7 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -2
- package/lib/index.js.map +1 -1
- package/lib/installation-admin-protocol.d.ts +27 -0
- package/lib/installation-admin-protocol.d.ts.map +1 -0
- package/lib/installation-admin-protocol.js +30 -0
- package/lib/installation-admin-protocol.js.map +1 -0
- package/lib/license-protocol.d.ts +1 -1
- package/lib/license-protocol.js +1 -1
- package/lib/messaging/browser/connection.d.ts +5 -3
- package/lib/messaging/browser/connection.d.ts.map +1 -1
- package/lib/messaging/browser/connection.js +183 -33
- package/lib/messaging/browser/connection.js.map +1 -1
- package/lib/messaging/browser/window-connection.d.ts +1 -1
- package/lib/messaging/browser/window-connection.js +36 -56
- package/lib/messaging/browser/window-connection.js.map +1 -1
- package/lib/messaging/client-call-metrics.d.ts +35 -0
- package/lib/messaging/client-call-metrics.d.ts.map +1 -0
- package/lib/messaging/client-call-metrics.js +83 -0
- package/lib/messaging/client-call-metrics.js.map +1 -0
- package/lib/messaging/error.d.ts +7 -2
- package/lib/messaging/error.d.ts.map +1 -1
- package/lib/messaging/error.js +14 -4
- package/lib/messaging/error.js.map +1 -1
- package/lib/messaging/handler.d.ts +10 -0
- package/lib/messaging/handler.d.ts.map +1 -1
- package/lib/messaging/node/connection.d.ts +1 -17
- package/lib/messaging/node/connection.d.ts.map +1 -1
- package/lib/messaging/node/connection.js +23 -59
- package/lib/messaging/node/connection.js.map +1 -1
- package/lib/messaging/proxy-factory.d.ts +2 -0
- package/lib/messaging/proxy-factory.d.ts.map +1 -1
- package/lib/messaging/proxy-factory.js +74 -159
- package/lib/messaging/proxy-factory.js.map +1 -1
- package/lib/oss-allowlist.d.ts +14 -0
- package/lib/oss-allowlist.d.ts.map +1 -0
- package/lib/oss-allowlist.js +8 -0
- package/lib/oss-allowlist.js.map +1 -0
- package/lib/payment-protocol.d.ts +18 -0
- package/lib/payment-protocol.d.ts.map +1 -0
- package/lib/payment-protocol.js +13 -0
- package/lib/payment-protocol.js.map +1 -0
- package/lib/permission.d.ts +10 -5
- package/lib/permission.d.ts.map +1 -1
- package/lib/permission.js +38 -21
- package/lib/permission.js.map +1 -1
- package/lib/plans.d.ts +210 -0
- package/lib/plans.d.ts.map +1 -0
- package/lib/plans.js +570 -0
- package/lib/plans.js.map +1 -0
- package/lib/protocol.d.ts +134 -59
- package/lib/protocol.d.ts.map +1 -1
- package/lib/protocol.js +129 -118
- package/lib/protocol.js.map +1 -1
- package/lib/snapshot-url.d.ts +14 -0
- package/lib/snapshot-url.d.ts.map +1 -0
- package/lib/snapshot-url.js +26 -0
- package/lib/snapshot-url.js.map +1 -0
- package/{src/util/without.ts → lib/snapshot-url.spec.d.ts} +3 -4
- package/lib/snapshot-url.spec.d.ts.map +1 -0
- package/lib/snapshot-url.spec.js +41 -0
- package/lib/snapshot-url.spec.js.map +1 -0
- package/lib/team-subscription-protocol.d.ts +73 -0
- package/lib/team-subscription-protocol.d.ts.map +1 -0
- package/lib/team-subscription-protocol.js +63 -0
- package/lib/team-subscription-protocol.js.map +1 -0
- package/lib/teams-projects-protocol.d.ts +113 -0
- package/lib/teams-projects-protocol.d.ts.map +1 -0
- package/lib/teams-projects-protocol.js +30 -0
- package/lib/teams-projects-protocol.js.map +1 -0
- package/lib/theia-plugins.d.ts +1 -1
- package/lib/theia-plugins.js +1 -1
- package/lib/typings/globals.d.ts +1 -1
- package/lib/typings/globals.js +1 -1
- package/lib/util/analytics.d.ts +8 -0
- package/lib/util/analytics.d.ts.map +1 -0
- package/lib/util/analytics.js +79 -0
- package/lib/util/analytics.js.map +1 -0
- package/lib/util/async-iterator.d.ts +1 -1
- package/lib/util/async-iterator.js +56 -134
- package/lib/util/async-iterator.js.map +1 -1
- package/lib/util/cancelable.d.ts +1 -1
- package/lib/util/cancelable.js +18 -60
- package/lib/util/cancelable.js.map +1 -1
- package/lib/util/date-time.d.ts +1 -1
- package/lib/util/date-time.js +9 -9
- package/lib/util/date-time.js.map +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 +11 -13
- package/lib/util/deferred.js.map +1 -1
- package/lib/util/disposable.js +26 -39
- package/lib/util/disposable.js.map +1 -1
- package/lib/util/event.js +58 -74
- package/lib/util/event.js.map +1 -1
- package/lib/util/garbage-collected-cache.d.ts +2 -1
- package/lib/util/garbage-collected-cache.d.ts.map +1 -1
- package/lib/util/garbage-collected-cache.js +27 -47
- package/lib/util/garbage-collected-cache.js.map +1 -1
- package/lib/util/generate-workspace-id.d.ts +4 -0
- package/lib/util/generate-workspace-id.d.ts.map +1 -0
- package/lib/util/generate-workspace-id.js +487 -0
- package/lib/util/generate-workspace-id.js.map +1 -0
- package/lib/util/generate-workspace-id.spec.d.ts +7 -0
- package/lib/util/generate-workspace-id.spec.d.ts.map +1 -0
- package/lib/util/generate-workspace-id.spec.js +87 -0
- package/lib/util/generate-workspace-id.spec.js.map +1 -0
- package/lib/util/gitpod-cookie.d.ts +20 -0
- package/lib/util/gitpod-cookie.d.ts.map +1 -0
- package/lib/util/gitpod-cookie.js +44 -0
- package/lib/util/gitpod-cookie.js.map +1 -0
- package/lib/util/gitpod-host-url.d.ts +5 -3
- package/lib/util/gitpod-host-url.d.ts.map +1 -1
- package/lib/util/gitpod-host-url.js +99 -92
- package/lib/util/gitpod-host-url.js.map +1 -1
- package/lib/util/gitpod-host-url.spec.d.ts +16 -0
- package/lib/util/gitpod-host-url.spec.d.ts.map +1 -0
- package/lib/util/gitpod-host-url.spec.js +124 -0
- package/lib/util/gitpod-host-url.spec.js.map +1 -0
- package/lib/util/grpc.d.ts +15 -0
- package/lib/util/grpc.d.ts.map +1 -0
- package/lib/util/grpc.js +18 -0
- package/lib/util/grpc.js.map +1 -0
- package/lib/util/jaeger-client-types.d.ts +68 -0
- package/lib/util/jaeger-client-types.d.ts.map +1 -0
- package/lib/util/jaeger-client-types.js +8 -0
- package/lib/util/jaeger-client-types.js.map +1 -0
- package/lib/util/logging.d.ts +57 -34
- package/lib/util/logging.d.ts.map +1 -1
- package/lib/util/logging.js +119 -111
- package/lib/util/logging.js.map +1 -1
- package/lib/util/make-link.d.ts +1 -1
- package/lib/util/make-link.js +3 -3
- package/lib/util/make-link.js.map +1 -1
- package/lib/util/parse-workspace-id.d.ts +14 -4
- package/lib/util/parse-workspace-id.d.ts.map +1 -1
- package/lib/util/parse-workspace-id.js +39 -9
- package/lib/util/parse-workspace-id.js.map +1 -1
- package/lib/util/parse-workspace-id.spec.d.ts +9 -1
- package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
- package/lib/util/parse-workspace-id.spec.js +128 -48
- package/lib/util/parse-workspace-id.spec.js.map +1 -1
- package/lib/util/queue.d.ts +1 -1
- package/lib/util/queue.js +17 -56
- package/lib/util/queue.js.map +1 -1
- package/lib/util/queue.spec.d.ts +1 -1
- package/lib/util/queue.spec.js +145 -289
- package/lib/util/queue.spec.js.map +1 -1
- package/lib/util/repeat.d.ts +15 -0
- package/lib/util/repeat.d.ts.map +1 -0
- package/lib/util/repeat.js +55 -0
- package/lib/util/repeat.js.map +1 -0
- package/lib/util/semaphore.d.ts +1 -1
- package/lib/util/semaphore.js +16 -47
- package/lib/util/semaphore.js.map +1 -1
- package/lib/util/skip-if.d.ts +1 -1
- package/lib/util/skip-if.js +7 -7
- package/lib/util/skip-if.js.map +1 -1
- package/lib/util/timeutil.d.ts +1 -1
- package/lib/util/timeutil.js +29 -17
- package/lib/util/timeutil.js.map +1 -1
- package/lib/util/timeutil.spec.d.ts +1 -1
- package/lib/util/timeutil.spec.js +22 -25
- package/lib/util/timeutil.spec.js.map +1 -1
- package/lib/util/tracing.d.ts +52 -6
- package/lib/util/tracing.d.ts.map +1 -1
- package/lib/util/tracing.js +198 -63
- package/lib/util/tracing.js.map +1 -1
- package/lib/util/tracing.spec.d.ts +7 -0
- package/lib/util/tracing.spec.d.ts.map +1 -0
- package/lib/util/tracing.spec.js +121 -0
- package/lib/util/tracing.spec.js.map +1 -0
- package/lib/util/workspace-port-authentication.d.ts +1 -1
- package/lib/util/workspace-port-authentication.js +4 -3
- package/lib/util/workspace-port-authentication.js.map +1 -1
- package/lib/workspace-cluster.d.ts +76 -0
- package/lib/workspace-cluster.d.ts.map +1 -0
- package/lib/workspace-cluster.js +33 -0
- package/lib/workspace-cluster.js.map +1 -0
- package/lib/workspace-instance.d.ts +27 -3
- 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 +2 -2
- package/package.json +33 -17
- package/pkg-yarn.lock +18 -9
- package/provenance-bundle.jsonl +2 -0
- package/src/accounting-protocol.ts +229 -0
- package/src/admin-protocol.ts +54 -6
- package/src/analytics.ts +54 -0
- package/src/auth.ts +27 -0
- package/src/context-url.spec.ts +53 -0
- package/src/context-url.ts +107 -0
- package/src/email-protocol.ts +3 -4
- 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 +11 -11
- package/src/gitpod-file-parser.spec.ts +1 -1
- package/src/gitpod-file-parser.ts +1 -1
- package/src/gitpod-service.ts +241 -40
- package/src/headless-workspace-log.ts +8 -12
- package/src/ide-frontend-service.ts +6 -2
- package/src/ide-protocol.ts +119 -0
- package/src/index.ts +8 -2
- package/src/installation-admin-protocol.ts +42 -0
- package/src/license-protocol.ts +1 -1
- package/src/messaging/browser/connection.ts +195 -14
- package/src/messaging/browser/window-connection.ts +1 -1
- package/src/messaging/client-call-metrics.ts +97 -0
- package/src/messaging/error.ts +19 -4
- package/src/messaging/handler.ts +12 -0
- package/src/messaging/node/connection.ts +21 -68
- package/src/messaging/proxy-factory.ts +14 -6
- package/src/oss-allowlist.ts +15 -0
- package/src/payment-protocol.ts +20 -0
- package/src/permission.ts +26 -11
- package/src/plans.ts +632 -0
- package/src/protocol.ts +223 -88
- package/src/snapshot-url.spec.ts +25 -0
- package/src/snapshot-url.ts +27 -0
- package/src/team-subscription-protocol.ts +113 -0
- package/src/teams-projects-protocol.ts +147 -0
- package/src/theia-plugins.ts +1 -1
- package/src/typings/globals.ts +1 -1
- package/src/util/analytics.ts +87 -0
- 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/deep-partial.ts +1 -1
- package/src/util/deferred.ts +2 -2
- package/src/util/garbage-collected-cache.ts +10 -4
- package/src/util/generate-workspace-id.spec.ts +48 -0
- package/src/util/generate-workspace-id.ts +475 -0
- package/src/util/gitpod-cookie.ts +39 -0
- package/src/util/gitpod-host-url.spec.ts +49 -0
- package/src/util/gitpod-host-url.ts +36 -14
- package/src/util/grpc.ts +15 -0
- package/src/util/jaeger-client-types.ts +102 -0
- package/src/util/logging.ts +111 -39
- package/src/util/make-link.ts +1 -1
- package/src/util/parse-workspace-id.spec.ts +46 -5
- package/src/util/parse-workspace-id.ts +39 -8
- package/src/util/queue.spec.ts +2 -2
- package/src/util/queue.ts +1 -1
- package/src/util/repeat.ts +45 -0
- package/src/util/semaphore.ts +3 -3
- package/src/util/skip-if.ts +2 -2
- package/src/util/timeutil.spec.ts +1 -1
- package/src/util/timeutil.ts +5 -5
- package/src/util/tracing.spec.ts +83 -0
- package/src/util/tracing.ts +184 -18
- package/src/util/workspace-port-authentication.ts +1 -1
- package/src/workspace-cluster.ts +104 -0
- package/src/workspace-instance.ts +52 -14
- package/src/wsready.ts +2 -2
- package/lib/messaging/connection-error-handler.d.ts +0 -27
- package/lib/messaging/connection-error-handler.d.ts.map +0 -1
- package/lib/messaging/connection-error-handler.js +0 -46
- package/lib/messaging/connection-error-handler.js.map +0 -1
- package/lib/util/repeater.d.ts +0 -22
- package/lib/util/repeater.d.ts.map +0 -1
- package/lib/util/repeater.js +0 -118
- package/lib/util/repeater.js.map +0 -1
- package/lib/util/safe-promise.d.ts +0 -11
- package/lib/util/safe-promise.d.ts.map +0 -1
- package/lib/util/safe-promise.js +0 -34
- package/lib/util/safe-promise.js.map +0 -1
- package/lib/util/without.d.ts +0 -7
- package/lib/util/without.d.ts.map +0 -1
- package/lib/util/without.js.map +0 -1
- package/src/messaging/connection-error-handler.ts +0 -62
- package/src/util/jaeger-client.d.ts +0 -105
- package/src/util/repeater.ts +0 -49
- package/src/util/safe-promise.ts +0 -26
|
@@ -7,12 +7,13 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.WebSocketConnectionProvider = void 0;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
const vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
|
|
11
|
+
const vscode_jsonrpc_1 = require("vscode-jsonrpc");
|
|
12
|
+
const messageWriter_1 = require("vscode-jsonrpc/lib/messageWriter");
|
|
13
|
+
const messageReader_1 = require("vscode-jsonrpc/lib/messageReader");
|
|
14
|
+
const proxy_factory_1 = require("../proxy-factory");
|
|
15
|
+
const reconnecting_websocket_1 = require("reconnecting-websocket");
|
|
16
|
+
class WebSocketConnectionProvider {
|
|
16
17
|
/**
|
|
17
18
|
* Create a proxy object to remote interface of T type
|
|
18
19
|
* over a web socket connection for the given path.
|
|
@@ -20,45 +21,56 @@ var WebSocketConnectionProvider = /** @class */ (function () {
|
|
|
20
21
|
* An optional target can be provided to handle
|
|
21
22
|
* notifications and requests from a remote side.
|
|
22
23
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
createProxy(path, target, options) {
|
|
25
|
+
const factory = new proxy_factory_1.JsonRpcProxyFactory(target);
|
|
26
|
+
const startListening = (path) => {
|
|
27
|
+
const socket = this.listen({
|
|
28
|
+
path,
|
|
29
|
+
onConnection: c => factory.listen(c),
|
|
30
|
+
}, {
|
|
31
|
+
onTransportDidClose: () => factory.fireConnectionClosed(),
|
|
32
|
+
onTransportDidOpen: () => factory.fireConnectionOpened(),
|
|
33
|
+
}, options);
|
|
34
|
+
if (options === null || options === void 0 ? void 0 : options.onListening) {
|
|
35
|
+
options.onListening(socket);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
if (typeof path === "string") {
|
|
39
|
+
startListening(path);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
path.then(path => startListening(path));
|
|
43
|
+
}
|
|
29
44
|
return factory.createProxy();
|
|
30
|
-
}
|
|
45
|
+
}
|
|
31
46
|
/**
|
|
32
47
|
* Install a connection handler for the given path.
|
|
33
48
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
49
|
+
listen(handler, eventHandler, options) {
|
|
50
|
+
const url = handler.path;
|
|
51
|
+
const webSocket = this.createWebSocket(url);
|
|
52
|
+
const logger = this.createLogger();
|
|
38
53
|
if (options && options.onerror) {
|
|
39
|
-
|
|
40
|
-
webSocket.addEventListener('error',
|
|
41
|
-
|
|
54
|
+
const onerror = options.onerror;
|
|
55
|
+
webSocket.addEventListener('error', (event) => {
|
|
56
|
+
onerror(event);
|
|
42
57
|
});
|
|
43
58
|
}
|
|
44
59
|
else {
|
|
45
|
-
webSocket.addEventListener('error',
|
|
60
|
+
webSocket.addEventListener('error', (error) => {
|
|
46
61
|
logger.error(JSON.stringify(error));
|
|
47
62
|
});
|
|
48
63
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
WebSocketConnectionProvider.prototype.createLogger = function () {
|
|
64
|
+
doListen(webSocket, handler, eventHandler, logger);
|
|
65
|
+
return webSocket;
|
|
66
|
+
}
|
|
67
|
+
createLogger() {
|
|
56
68
|
return new vscode_ws_jsonrpc_1.ConsoleLogger();
|
|
57
|
-
}
|
|
69
|
+
}
|
|
58
70
|
/**
|
|
59
71
|
* Creates a web socket for the given url
|
|
60
72
|
*/
|
|
61
|
-
|
|
73
|
+
createWebSocket(url) {
|
|
62
74
|
return new reconnecting_websocket_1.default(url, undefined, {
|
|
63
75
|
maxReconnectionDelay: 10000,
|
|
64
76
|
minReconnectionDelay: 1000,
|
|
@@ -67,8 +79,146 @@ var WebSocketConnectionProvider = /** @class */ (function () {
|
|
|
67
79
|
debug: false,
|
|
68
80
|
WebSocket: WebSocket
|
|
69
81
|
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
}());
|
|
82
|
+
}
|
|
83
|
+
}
|
|
73
84
|
exports.WebSocketConnectionProvider = WebSocketConnectionProvider;
|
|
85
|
+
// The following was extracted from vscode-ws-jsonrpc to make these changes:
|
|
86
|
+
// - switch from WebSocket to ReconnectingWebSocket
|
|
87
|
+
// - webSocket.onopen: making sure it's only ever called once so we're re-using MessageConnection
|
|
88
|
+
// - WebSocketMessageWriter: buffer and re-try messages instead of throwing an error immidiately
|
|
89
|
+
// - WebSocketMessageReader: don't close MessageConnection on 'socket.onclose'
|
|
90
|
+
function doListen(resocket, handler, eventHandler, logger) {
|
|
91
|
+
resocket.addEventListener("close", () => eventHandler.onTransportDidClose());
|
|
92
|
+
let alreadyOpened = false;
|
|
93
|
+
resocket.onopen = () => {
|
|
94
|
+
// trigerr "open" every time we re-open the underlying websocket
|
|
95
|
+
eventHandler.onTransportDidOpen();
|
|
96
|
+
// make sure we're only ever creating one MessageConnection, irregardless of how many times we have to re-open the underlying (reconnecting) websocket
|
|
97
|
+
if (alreadyOpened) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
alreadyOpened = true;
|
|
101
|
+
const connection = createWebSocketConnection(resocket, logger);
|
|
102
|
+
handler.onConnection(connection);
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
function createWebSocketConnection(resocket, logger) {
|
|
106
|
+
const socket = (0, vscode_ws_jsonrpc_1.toSocket)(resocket);
|
|
107
|
+
const messageReader = new NonClosingWebSocketMessageReader(socket);
|
|
108
|
+
const messageWriter = new BufferingWebSocketMessageWriter(resocket, logger);
|
|
109
|
+
const connection = (0, vscode_jsonrpc_1.createMessageConnection)(messageReader, messageWriter, logger);
|
|
110
|
+
connection.onClose(() => connection.dispose());
|
|
111
|
+
return connection;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* This takes vscode-ws-jsonrpc/lib/socket/writer/WebSocketMessageWriter and adds a buffer
|
|
115
|
+
*/
|
|
116
|
+
class BufferingWebSocketMessageWriter extends messageWriter_1.AbstractMessageWriter {
|
|
117
|
+
constructor(socket, logger) {
|
|
118
|
+
super();
|
|
119
|
+
this.errorCount = 0;
|
|
120
|
+
this.buffer = [];
|
|
121
|
+
this.socket = socket;
|
|
122
|
+
this.logger = logger;
|
|
123
|
+
socket.addEventListener("open", (event) => this.flushBuffer());
|
|
124
|
+
}
|
|
125
|
+
write(msg) {
|
|
126
|
+
if (this.socket.readyState !== reconnecting_websocket_1.default.OPEN) {
|
|
127
|
+
this.bufferMsg(msg);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
const content = JSON.stringify(msg);
|
|
132
|
+
this.socket.send(content);
|
|
133
|
+
}
|
|
134
|
+
catch (e) {
|
|
135
|
+
this.errorCount++;
|
|
136
|
+
this.fireError(e, msg, this.errorCount);
|
|
137
|
+
this.bufferMsg(msg);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
flushBuffer() {
|
|
141
|
+
if (this.buffer.length === 0) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const buffer = [...this.buffer];
|
|
145
|
+
this.buffer = [];
|
|
146
|
+
for (const msg of buffer) {
|
|
147
|
+
this.write(msg);
|
|
148
|
+
}
|
|
149
|
+
//this.logger.info(`flushed buffer (${this.buffer.length})`)
|
|
150
|
+
}
|
|
151
|
+
bufferMsg(msg) {
|
|
152
|
+
this.buffer.push(msg);
|
|
153
|
+
//this.logger.info(`buffered message (${this.buffer.length})`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* This takes vscode-ws-jsonrpc/lib/socket/reader/WebSocketMessageReader and removes the "onClose -> fireClose" connection
|
|
158
|
+
*/
|
|
159
|
+
class NonClosingWebSocketMessageReader extends messageReader_1.AbstractMessageReader {
|
|
160
|
+
constructor(socket) {
|
|
161
|
+
super();
|
|
162
|
+
this.events = [];
|
|
163
|
+
this.state = 'initial';
|
|
164
|
+
this.callback = () => { };
|
|
165
|
+
this.socket = socket;
|
|
166
|
+
this.socket.onMessage(message => this.readMessage(message));
|
|
167
|
+
this.socket.onError(error => this.fireError(error));
|
|
168
|
+
this.socket.onClose((code, reason) => {
|
|
169
|
+
if (code !== 1000) {
|
|
170
|
+
const error = {
|
|
171
|
+
name: '' + code,
|
|
172
|
+
message: `Error during socket reconnect: code = ${code}, reason = ${reason}`
|
|
173
|
+
};
|
|
174
|
+
this.fireError(error);
|
|
175
|
+
}
|
|
176
|
+
// this.fireClose(); // <-- reason for this class to be copied over
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
listen(callback) {
|
|
180
|
+
if (this.state === 'initial') {
|
|
181
|
+
this.state = 'listening';
|
|
182
|
+
this.callback = callback;
|
|
183
|
+
while (this.events.length !== 0) {
|
|
184
|
+
const event = this.events.pop();
|
|
185
|
+
if (event.message) {
|
|
186
|
+
this.readMessage(event.message);
|
|
187
|
+
}
|
|
188
|
+
else if (event.error) {
|
|
189
|
+
this.fireError(event.error);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
this.fireClose();
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
readMessage(message) {
|
|
198
|
+
if (this.state === 'initial') {
|
|
199
|
+
this.events.splice(0, 0, { message });
|
|
200
|
+
}
|
|
201
|
+
else if (this.state === 'listening') {
|
|
202
|
+
const data = JSON.parse(message);
|
|
203
|
+
this.callback(data);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
fireError(error) {
|
|
207
|
+
if (this.state === 'initial') {
|
|
208
|
+
this.events.splice(0, 0, { error });
|
|
209
|
+
}
|
|
210
|
+
else if (this.state === 'listening') {
|
|
211
|
+
super.fireError(error);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
fireClose() {
|
|
215
|
+
if (this.state === 'initial') {
|
|
216
|
+
this.events.splice(0, 0, {});
|
|
217
|
+
}
|
|
218
|
+
else if (this.state === 'listening') {
|
|
219
|
+
super.fireClose();
|
|
220
|
+
}
|
|
221
|
+
this.state = 'closed';
|
|
222
|
+
}
|
|
223
|
+
}
|
|
74
224
|
//# sourceMappingURL=connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/messaging/browser/connection.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/messaging/browser/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright (c) 2020
|
|
3
|
+
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
4
4
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
5
5
|
* See License-AGPL.txt in the project root for license information.
|
|
6
6
|
*/
|
|
7
|
-
var __extends = (this && this.__extends) || (function () {
|
|
8
|
-
var extendStatics = function (d, b) {
|
|
9
|
-
extendStatics = Object.setPrototypeOf ||
|
|
10
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
11
|
-
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
12
|
-
return extendStatics(d, b);
|
|
13
|
-
};
|
|
14
|
-
return function (d, b) {
|
|
15
|
-
extendStatics(d, b);
|
|
16
|
-
function __() { this.constructor = d; }
|
|
17
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
18
|
-
};
|
|
19
|
-
})();
|
|
20
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
8
|
exports.createWindowMessageConnection = exports.WindowMessageReader = exports.WindowMessageWriter = void 0;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
9
|
+
const messageWriter_1 = require("vscode-jsonrpc/lib/messageWriter");
|
|
10
|
+
const messageReader_1 = require("vscode-jsonrpc/lib/messageReader");
|
|
11
|
+
const main_1 = require("vscode-jsonrpc/lib/main");
|
|
12
|
+
const vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
|
|
26
13
|
function isWindowMessage(value) {
|
|
27
14
|
return !!value && typeof value === 'object' &&
|
|
28
15
|
('jsonrpc' in value && typeof value['jsonrpc'] === 'string') &&
|
|
29
16
|
('serviceId' in value && typeof value['serviceId'] === 'string');
|
|
30
17
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
_this.targetOrigin = targetOrigin;
|
|
38
|
-
return _this;
|
|
18
|
+
class WindowMessageWriter extends messageWriter_1.AbstractMessageWriter {
|
|
19
|
+
constructor(serviceId, window, targetOrigin) {
|
|
20
|
+
super();
|
|
21
|
+
this.serviceId = serviceId;
|
|
22
|
+
this.window = window;
|
|
23
|
+
this.targetOrigin = targetOrigin;
|
|
39
24
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
this.window.postMessage(Object.assign(msg, { serviceId
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
}(messageWriter_1.AbstractMessageWriter));
|
|
25
|
+
write(msg) {
|
|
26
|
+
const { serviceId } = this;
|
|
27
|
+
this.window.postMessage(Object.assign(msg, { serviceId }), this.targetOrigin);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
46
30
|
exports.WindowMessageWriter = WindowMessageWriter;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (_this.sourceOrigin !== '*' && event.origin !== _this.sourceOrigin) {
|
|
31
|
+
class WindowMessageReader extends messageReader_1.AbstractMessageReader {
|
|
32
|
+
constructor(serviceId, sourceOrigin) {
|
|
33
|
+
super();
|
|
34
|
+
this.serviceId = serviceId;
|
|
35
|
+
this.sourceOrigin = sourceOrigin;
|
|
36
|
+
this.buffer = [];
|
|
37
|
+
window.addEventListener('message', event => {
|
|
38
|
+
if (this.sourceOrigin !== '*' && event.origin !== this.sourceOrigin) {
|
|
56
39
|
return;
|
|
57
40
|
}
|
|
58
|
-
if (!isWindowMessage(event.data) || event.data.serviceId !==
|
|
41
|
+
if (!isWindowMessage(event.data) || event.data.serviceId !== this.serviceId) {
|
|
59
42
|
return;
|
|
60
43
|
}
|
|
61
|
-
if (
|
|
62
|
-
|
|
44
|
+
if (this.callback) {
|
|
45
|
+
this.callback(event.data);
|
|
63
46
|
}
|
|
64
47
|
else {
|
|
65
|
-
|
|
48
|
+
this.buffer.push(event.data);
|
|
66
49
|
}
|
|
67
50
|
}, false);
|
|
68
|
-
return _this;
|
|
69
51
|
}
|
|
70
|
-
|
|
71
|
-
|
|
52
|
+
listen(callback) {
|
|
53
|
+
let message;
|
|
72
54
|
while (message = this.buffer.pop()) {
|
|
73
55
|
callback(message);
|
|
74
56
|
}
|
|
75
57
|
Object.freeze(this.buffer);
|
|
76
58
|
this.callback = callback;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
}(messageReader_1.AbstractMessageReader));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
80
61
|
exports.WindowMessageReader = WindowMessageReader;
|
|
81
|
-
function createWindowMessageConnection(serviceId, window, sourceOrigin, targetOrigin) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
return main_1.createMessageConnection(reader, writer, new vscode_ws_jsonrpc_1.ConsoleLogger());
|
|
62
|
+
function createWindowMessageConnection(serviceId, window, sourceOrigin, targetOrigin = sourceOrigin) {
|
|
63
|
+
const reader = new WindowMessageReader(serviceId, sourceOrigin);
|
|
64
|
+
const writer = new WindowMessageWriter(serviceId, window, targetOrigin);
|
|
65
|
+
return (0, main_1.createMessageConnection)(reader, writer, new vscode_ws_jsonrpc_1.ConsoleLogger());
|
|
86
66
|
}
|
|
87
67
|
exports.createWindowMessageConnection = createWindowMessageConnection;
|
|
88
68
|
//# sourceMappingURL=window-connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window-connection.js","sourceRoot":"","sources":["../../../src/messaging/browser/window-connection.ts"],"names":[],"mappings":";AAAA;;;;GAIG
|
|
1
|
+
{"version":3,"file":"window-connection.js","sourceRoot":"","sources":["../../../src/messaging/browser/window-connection.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,oEAAwF;AACxF,oEAAsG;AACtG,kDAAqF;AACrF,yDAAkD;AAKlD,SAAS,eAAe,CAAC,KAAU;IAC/B,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QACvC,CAAC,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC;QAC5D,CAAC,WAAW,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED,MAAa,mBAAoB,SAAQ,qCAAqB;IAE1D,YAAqB,SAAiB,EAAW,MAAc,EAAW,YAAoB;QAC1F,KAAK,EAAE,CAAC;QADS,cAAS,GAAT,SAAS,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;QAAW,iBAAY,GAAZ,YAAY,CAAQ;IAE9F,CAAC;IAED,KAAK,CAAC,GAAY;QACd,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAClF,CAAC;CAEJ;AAXD,kDAWC;AAED,MAAa,mBAAoB,SAAQ,qCAAqB;IAK1D,YAAqB,SAAiB,EAAW,YAAoB;QACjE,KAAK,EAAE,CAAC;QADS,cAAS,GAAT,SAAS,CAAQ;QAAW,iBAAY,GAAZ,YAAY,CAAQ;QAFlD,WAAM,GAAc,EAAE,CAAC;QAItC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YACvC,IAAI,IAAI,CAAC,YAAY,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE;gBACjE,OAAO;aACV;YACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;gBACzE,OAAO;aACV;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC7B;iBAAM;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAChC;QACL,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;IAED,MAAM,CAAC,QAAsB;QACzB,IAAI,OAAO,CAAC;QACZ,OAAO,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;YAChC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACrB;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CAEJ;AA/BD,kDA+BC;AAED,SAAgB,6BAA6B,CAAC,SAAiB,EAAE,MAAc,EAAE,YAAoB,EAAE,YAAY,GAAG,YAAY;IAC9H,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACxE,OAAO,IAAA,8BAAuB,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,iCAAa,EAAE,CAAC,CAAC;AACxE,CAAC;AAJD,sEAIC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
import * as prometheusClient from 'prom-client';
|
|
7
|
+
declare type GrpcMethodType = 'unary' | 'client_stream' | 'server_stream' | 'bidi_stream';
|
|
8
|
+
export interface IGrpcCallMetricsLabels {
|
|
9
|
+
service: string;
|
|
10
|
+
method: string;
|
|
11
|
+
type: GrpcMethodType;
|
|
12
|
+
}
|
|
13
|
+
export interface IGrpcCallMetricsLabelsWithCode extends IGrpcCallMetricsLabels {
|
|
14
|
+
code: string;
|
|
15
|
+
}
|
|
16
|
+
export declare const IClientCallMetrics: unique symbol;
|
|
17
|
+
export interface IClientCallMetrics {
|
|
18
|
+
started(labels: IGrpcCallMetricsLabels): void;
|
|
19
|
+
sent(labels: IGrpcCallMetricsLabels): void;
|
|
20
|
+
received(labels: IGrpcCallMetricsLabels): void;
|
|
21
|
+
handled(labels: IGrpcCallMetricsLabelsWithCode): void;
|
|
22
|
+
}
|
|
23
|
+
export declare class PrometheusClientCallMetrics implements IClientCallMetrics {
|
|
24
|
+
readonly startedCounter: prometheusClient.Counter<string>;
|
|
25
|
+
readonly sentCounter: prometheusClient.Counter<string>;
|
|
26
|
+
readonly receivedCounter: prometheusClient.Counter<string>;
|
|
27
|
+
readonly handledCounter: prometheusClient.Counter<string>;
|
|
28
|
+
constructor();
|
|
29
|
+
started(labels: IGrpcCallMetricsLabels): void;
|
|
30
|
+
sent(labels: IGrpcCallMetricsLabels): void;
|
|
31
|
+
received(labels: IGrpcCallMetricsLabels): void;
|
|
32
|
+
handled(labels: IGrpcCallMetricsLabelsWithCode): void;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=client-call-metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-call-metrics.d.ts","sourceRoot":"","sources":["../../src/messaging/client-call-metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,gBAAgB,MAAM,aAAa,CAAC;AAEhD,aAAK,cAAc,GAAG,OAAO,GAAG,eAAe,GAAG,eAAe,GAAG,aAAa,CAAC;AAClF,MAAM,WAAW,sBAAsB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;CACrB;AAED,MAAM,WAAW,8BAA+B,SAAQ,sBAAsB;IAC7E,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IAClC,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAI,IAAI,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,sBAAsB,GAAI,IAAI,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,sBAAsB,GAAI,IAAI,CAAC;IAChD,OAAO,CAAC,MAAM,EAAE,8BAA8B,GAAI,IAAI,CAAC;CAC1D;AAED,qBACa,2BAA4B,YAAW,kBAAkB;IAErE,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;IA6B1D,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAQ7C,IAAI,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAQ1C,QAAQ,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAQ9C,OAAO,CAAC,MAAM,EAAE,8BAA8B,GAAG,IAAI;CAQrD"}
|
|
@@ -0,0 +1,83 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.PrometheusClientCallMetrics = exports.IClientCallMetrics = void 0;
|
|
18
|
+
const inversify_1 = require("inversify");
|
|
19
|
+
const prometheusClient = require("prom-client");
|
|
20
|
+
exports.IClientCallMetrics = Symbol("IClientCallMetrics");
|
|
21
|
+
let PrometheusClientCallMetrics = class PrometheusClientCallMetrics {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.startedCounter = new prometheusClient.Counter({
|
|
24
|
+
name: 'grpc_client_started_total',
|
|
25
|
+
help: 'Total number of RPCs started on the client.',
|
|
26
|
+
labelNames: ['grpc_service', 'grpc_method', 'grpc_type'],
|
|
27
|
+
registers: [prometheusClient.register]
|
|
28
|
+
});
|
|
29
|
+
this.sentCounter = new prometheusClient.Counter({
|
|
30
|
+
name: 'grpc_client_msg_sent_total',
|
|
31
|
+
help: ' Total number of gRPC stream messages sent by the client.',
|
|
32
|
+
labelNames: ['grpc_service', 'grpc_method', 'grpc_type'],
|
|
33
|
+
registers: [prometheusClient.register]
|
|
34
|
+
});
|
|
35
|
+
this.receivedCounter = new prometheusClient.Counter({
|
|
36
|
+
name: 'grpc_client_msg_received_total',
|
|
37
|
+
help: 'Total number of RPC stream messages received by the client.',
|
|
38
|
+
labelNames: ['grpc_service', 'grpc_method', 'grpc_type'],
|
|
39
|
+
registers: [prometheusClient.register]
|
|
40
|
+
});
|
|
41
|
+
this.handledCounter = new prometheusClient.Counter({
|
|
42
|
+
name: 'grpc_client_handled_total',
|
|
43
|
+
help: 'Total number of RPCs completed by the client, regardless of success or failure.',
|
|
44
|
+
labelNames: ['grpc_service', 'grpc_method', 'grpc_type', 'grpc_code'],
|
|
45
|
+
registers: [prometheusClient.register]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
started(labels) {
|
|
49
|
+
this.startedCounter.inc({
|
|
50
|
+
grpc_service: labels.service,
|
|
51
|
+
grpc_method: labels.method,
|
|
52
|
+
grpc_type: labels.type
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
sent(labels) {
|
|
56
|
+
this.sentCounter.inc({
|
|
57
|
+
grpc_service: labels.service,
|
|
58
|
+
grpc_method: labels.method,
|
|
59
|
+
grpc_type: labels.type
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
received(labels) {
|
|
63
|
+
this.receivedCounter.inc({
|
|
64
|
+
grpc_service: labels.service,
|
|
65
|
+
grpc_method: labels.method,
|
|
66
|
+
grpc_type: labels.type
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
handled(labels) {
|
|
70
|
+
this.handledCounter.inc({
|
|
71
|
+
grpc_service: labels.service,
|
|
72
|
+
grpc_method: labels.method,
|
|
73
|
+
grpc_type: labels.type,
|
|
74
|
+
grpc_code: labels.code
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
PrometheusClientCallMetrics = __decorate([
|
|
79
|
+
(0, inversify_1.injectable)(),
|
|
80
|
+
__metadata("design:paramtypes", [])
|
|
81
|
+
], PrometheusClientCallMetrics);
|
|
82
|
+
exports.PrometheusClientCallMetrics = PrometheusClientCallMetrics;
|
|
83
|
+
//# sourceMappingURL=client-call-metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-call-metrics.js","sourceRoot":"","sources":["../../src/messaging/client-call-metrics.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,yCAAuC;AACvC,gDAAgD;AAanC,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAU/D,IAAa,2BAA2B,GAAxC,MAAa,2BAA2B;IAOvC;QACC,IAAI,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC;YAClD,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,6CAA6C;YACnD,UAAU,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC;YACxD,SAAS,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC;YAC/C,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,2DAA2D;YACjE,UAAU,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC;YACxD,SAAS,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC;YACnD,IAAI,EAAE,gCAAgC;YACtC,IAAI,EAAE,6DAA6D;YACnE,UAAU,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC;YACxD,SAAS,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC;YAClD,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,iFAAiF;YACvF,UAAU,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC;YACrE,SAAS,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;SACtC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAA8B;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC,OAAO;YAC5B,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,SAAS,EAAE,MAAM,CAAC,IAAI;SACtB,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAA8B;QAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC,OAAO;YAC5B,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,SAAS,EAAE,MAAM,CAAC,IAAI;SACtB,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,MAA8B;QACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YACxB,YAAY,EAAE,MAAM,CAAC,OAAO;YAC5B,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,SAAS,EAAE,MAAM,CAAC,IAAI;SACtB,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAsC;QAC7C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC,OAAO;YAC5B,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,SAAS,EAAE,MAAM,CAAC,IAAI;YACtB,SAAS,EAAE,MAAM,CAAC,IAAI;SACtB,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AAlEY,2BAA2B;IADvC,IAAA,sBAAU,GAAE;;GACA,2BAA2B,CAkEvC;AAlEY,kEAA2B"}
|
package/lib/messaging/error.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2020
|
|
2
|
+
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
4
|
* See License-AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
@@ -10,19 +10,24 @@ export declare namespace ErrorCodes {
|
|
|
10
10
|
const NOT_FOUND = 404;
|
|
11
11
|
const CONFLICT = 409;
|
|
12
12
|
const SETUP_REQUIRED = 410;
|
|
13
|
+
const TOO_MANY_REQUESTS = 429;
|
|
13
14
|
const REPOSITORY_NOT_WHITELISTED = 430;
|
|
14
15
|
const CONTEXT_PARSE_ERROR = 460;
|
|
16
|
+
const INVALID_GITPOD_YML = 461;
|
|
15
17
|
const PAYMENT_ERROR = 450;
|
|
16
18
|
const USER_BLOCKED = 470;
|
|
17
19
|
const USER_DELETED = 471;
|
|
20
|
+
const USER_TERMS_ACCEPTANCE_REQUIRED = 472;
|
|
18
21
|
const PLAN_DOES_NOT_ALLOW_PRIVATE_REPOS = 480;
|
|
19
22
|
const PLAN_PROFESSIONAL_REQUIRED = 481;
|
|
20
23
|
const PLAN_ONLY_ALLOWED_FOR_STUDENTS = 485;
|
|
21
24
|
const TOO_MANY_RUNNING_WORKSPACES = 490;
|
|
22
25
|
const EE_FEATURE = 501;
|
|
23
26
|
const EE_LICENSE_REQUIRED = 555;
|
|
27
|
+
const SAAS_FEATURE = 601;
|
|
24
28
|
const TEAM_SUBSCRIPTION_INVALID_QUANTITY = 610;
|
|
25
29
|
const TEAM_SUBSCRIPTION_ASSIGNMENT_FAILED = 620;
|
|
26
|
-
const
|
|
30
|
+
const SNAPSHOT_ERROR = 630;
|
|
31
|
+
const HEADLESS_LOG_NOT_YET_AVAILABLE = 640;
|
|
27
32
|
}
|
|
28
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,0BAA0B,MAAM,CAAC;IAGvC,MAAM,mBAAmB,MAAM,CAAC;IAGhC,MAAM,aAAa,MAAM,CAAC;IAG1B,MAAM,YAAY,MAAM,CAAC;IAGzB,MAAM,YAAY,MAAM,CAAC;IAGzB,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,kCAAkC,MAAM,CAAC;IAG/C,MAAM,mCAAmC,MAAM,CAAC;IAGhD,MAAM,
|
|
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"}
|
package/lib/messaging/error.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright (c) 2020
|
|
3
|
+
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
4
4
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
5
5
|
* See License-AGPL.txt in the project root for license information.
|
|
6
6
|
*/
|
|
@@ -20,16 +20,22 @@ var ErrorCodes;
|
|
|
20
20
|
ErrorCodes.CONFLICT = 409;
|
|
21
21
|
// 410 No User
|
|
22
22
|
ErrorCodes.SETUP_REQUIRED = 410;
|
|
23
|
+
// 429 Too Many Requests
|
|
24
|
+
ErrorCodes.TOO_MANY_REQUESTS = 429;
|
|
23
25
|
// 430 Repository not whitelisted (custom status code)
|
|
24
26
|
ErrorCodes.REPOSITORY_NOT_WHITELISTED = 430;
|
|
25
27
|
// 460 Context Parse Error (custom status code)
|
|
26
28
|
ErrorCodes.CONTEXT_PARSE_ERROR = 460;
|
|
29
|
+
// 461 Invalid gitpod yml
|
|
30
|
+
ErrorCodes.INVALID_GITPOD_YML = 461;
|
|
27
31
|
// 450 Payment error
|
|
28
32
|
ErrorCodes.PAYMENT_ERROR = 450;
|
|
29
33
|
// 470 User Blocked (custom status code)
|
|
30
34
|
ErrorCodes.USER_BLOCKED = 470;
|
|
31
|
-
// 471 User
|
|
35
|
+
// 471 User Deleted (custom status code)
|
|
32
36
|
ErrorCodes.USER_DELETED = 471;
|
|
37
|
+
// 472 Terms Acceptance Required (custom status code)
|
|
38
|
+
ErrorCodes.USER_TERMS_ACCEPTANCE_REQUIRED = 472;
|
|
33
39
|
// 480 Plan does not allow private repos
|
|
34
40
|
ErrorCodes.PLAN_DOES_NOT_ALLOW_PRIVATE_REPOS = 480;
|
|
35
41
|
// 481 Professional plan is required for this operation
|
|
@@ -42,11 +48,15 @@ var ErrorCodes;
|
|
|
42
48
|
ErrorCodes.EE_FEATURE = 501;
|
|
43
49
|
// 555 EE License Required
|
|
44
50
|
ErrorCodes.EE_LICENSE_REQUIRED = 555;
|
|
51
|
+
// 601 SaaS Feature
|
|
52
|
+
ErrorCodes.SAAS_FEATURE = 601;
|
|
45
53
|
// 610 Invalid Team Subscription Quantity
|
|
46
54
|
ErrorCodes.TEAM_SUBSCRIPTION_INVALID_QUANTITY = 610;
|
|
47
55
|
// 620 Team Subscription Assignment Failed
|
|
48
56
|
ErrorCodes.TEAM_SUBSCRIPTION_ASSIGNMENT_FAILED = 620;
|
|
49
|
-
//
|
|
50
|
-
ErrorCodes.
|
|
57
|
+
// 630 Snapshot Error
|
|
58
|
+
ErrorCodes.SNAPSHOT_ERROR = 630;
|
|
59
|
+
// 640 Headless logs are not available (yet)
|
|
60
|
+
ErrorCodes.HEADLESS_LOG_NOT_YET_AVAILABLE = 640;
|
|
51
61
|
})(ErrorCodes = exports.ErrorCodes || (exports.ErrorCodes = {}));
|
|
52
62
|
//# sourceMappingURL=error.js.map
|