38 lines
687 B
TypeScript
38 lines
687 B
TypeScript
export const DEFAULT_EMOJI = '🖥️'
|
|
export const VALID_NAME = /^[a-zA-Z][a-zA-Z0-9.-]*$/
|
|
|
|
export interface FileInfo {
|
|
hash: string
|
|
mtime: string
|
|
size: number
|
|
}
|
|
|
|
export interface Manifest {
|
|
files: Record<string, FileInfo>
|
|
name: string
|
|
}
|
|
|
|
export type AppState = 'error' | 'invalid' | 'stopped' | 'starting' | 'running' | 'stopping'
|
|
|
|
export type LogLine = {
|
|
time: number
|
|
text: string
|
|
}
|
|
|
|
export type App = {
|
|
name: string
|
|
state: AppState
|
|
icon: string
|
|
error?: string
|
|
pid?: number
|
|
port?: number
|
|
started?: number
|
|
logs?: LogLine[]
|
|
tool?: boolean | string
|
|
apps?: boolean
|
|
dashboard?: boolean
|
|
share?: boolean
|
|
tunnelEnabled?: boolean
|
|
tunnelUrl?: string
|
|
}
|