export interface EcalAstNode { allowescapes: boolean; children: EcalAstNode[]; id: number; identifier: boolean; line: number; linepos: number; name: string; pos: number; source: string; value: any; } export interface ThreadInspection { callStack: string[]; callStackNode?: EcalAstNode[]; callStackVsSnapshot?: Record[]; callStackVsSnapshotGlobal?: Record[]; threadRunning: boolean; code?: string; node?: EcalAstNode; vs?: Record; vsGlobal?: Record; } export interface ThreadStatus { callStack: string[]; threadRunning?: boolean; } export interface DebugStatus { breakonstart: boolean; breakpoints: Record; sources: string[]; threads: Record; } /** * Log output stream for this client. */ export interface LogOutputStream { log(value: string): void; error(value: string): void; } export interface ClientBreakEvent { tid: number; inspection: ThreadInspection; } export enum ContType { Resume = "Resume", StepIn = "StepIn", StepOver = "StepOver", StepOut = "StepOut", }