mirror of
https://github.com/gitpod-io/gitpod.git
synced 2025-12-08 17:36:30 +00:00
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
/**
|
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
* See License.AGPL.txt in the project root for license information.
|
|
*/
|
|
|
|
export enum HeadlessWorkspaceEventType {
|
|
LogOutput = "log-output",
|
|
FinishedSuccessfully = "finish-success",
|
|
FinishedButFailed = "finish-fail",
|
|
AbortedTimedOut = "aborted-timeout",
|
|
Aborted = "aborted",
|
|
Failed = "failed",
|
|
Started = "started",
|
|
}
|
|
export namespace HeadlessWorkspaceEventType {
|
|
export function isRunning(t: HeadlessWorkspaceEventType) {
|
|
return t === HeadlessWorkspaceEventType.LogOutput;
|
|
}
|
|
export function didFinish(t: HeadlessWorkspaceEventType) {
|
|
return (
|
|
t === HeadlessWorkspaceEventType.FinishedButFailed || t === HeadlessWorkspaceEventType.FinishedSuccessfully
|
|
);
|
|
}
|
|
}
|
|
|
|
export interface HeadlessWorkspaceEvent {
|
|
workspaceID: string;
|
|
text: string;
|
|
type: HeadlessWorkspaceEventType;
|
|
}
|
|
|
|
export interface HeadlessLogUrls {
|
|
// A map of id to URL
|
|
streams: { [streamID: string]: string };
|
|
}
|
|
|
|
/** cmp. @const HEADLESS_LOG_STREAM_STATUS_CODE_REGEX */
|
|
export const HEADLESS_LOG_STREAM_STATUS_CODE = "X-LogStream-StatusCode";
|
|
export const HEADLESS_LOG_STREAM_STATUS_CODE_REGEX = /X-LogStream-StatusCode: ([0-9]{3})/;
|