import type { Activity } from "../definition/Activity"; import type { ProgramInspector } from "../definition/ProgramInspector"; import type Bluebird from "bluebird"; /** Contains information about an activity. */ export interface IActivityState { /** Indicates the activity. */ activity?: Activity; /** Indicates the error that was caught. */ caught?: Error; /** Indicates the identifier of this state. */ id: any; /** Indicates the inputs. */ inputs: Record; /** Indicates the outputs. */ outputs: Record; /** Indicates the number of passes on the current step. */ passes?: number; /** Indicates the completion promise. */ promise?: Bluebird; } /** Contains information about a debug event. */ export interface IMonikerFrame { /** Indicates the activity currently being run. */ current?: IActivityState; /** Indicates the activity states. */ state: Record; } /** * Exposes information and controls for debugging a running workflow. * @product This is intended for internal use only within VertiGIS Studio products. */ export interface IDebugSession { /** Breaks execution of the program being debugged. */ break: () => void; /** Continues execution of the program being debugged. */ continue: () => void; /** Indicates the activity currently being run. */ frame?: IMonikerFrame; /** Indicates the program being run. */ inspector?: ProgramInspector; /** Indicates the monikers for which activities may draw input from. */ stack: IMonikerFrame[]; }