Path: blob/main/components/gitpod-protocol/src/headless-workspace-log.ts
2498 views
/**1* Copyright (c) 2020 Gitpod GmbH. All rights reserved.2* Licensed under the GNU Affero General Public License (AGPL).3* See License.AGPL.txt in the project root for license information.4*/56export enum HeadlessWorkspaceEventType {7LogOutput = "log-output",8FinishedSuccessfully = "finish-success",9FinishedButFailed = "finish-fail",10AbortedTimedOut = "aborted-timeout",11Aborted = "aborted",12Failed = "failed",13Started = "started",14}15export namespace HeadlessWorkspaceEventType {16export function isRunning(t: HeadlessWorkspaceEventType) {17return t === HeadlessWorkspaceEventType.LogOutput;18}19export function didFinish(t: HeadlessWorkspaceEventType) {20return (21t === HeadlessWorkspaceEventType.FinishedButFailed || t === HeadlessWorkspaceEventType.FinishedSuccessfully22);23}24}2526export interface HeadlessWorkspaceEvent {27workspaceID: string;28type: HeadlessWorkspaceEventType;29}3031export interface HeadlessLogUrls {32// A map of id to URL33streams: { [streamID: string]: string };3435// Whether the workspace is online36online?: boolean;37}3839/** cmp. @const HEADLESS_LOG_STREAM_STATUS_CODE_REGEX */40export const HEADLESS_LOG_STREAM_STATUS_CODE = "X-LogStream-StatusCode";41export const HEADLESS_LOG_STREAM_STATUS_CODE_REGEX = /X-LogStream-StatusCode: ([0-9]{3})/;424344