import { Correlation, EventType, FlowNodeInstance, Identity, ProcessInstanceMetadata, ProcessInstanceQuery, ProcessInstanceState } from '@5minds/processcube_engine_sdk'; export type ProcessInstanceInternalList = { processInstances: Array; totalCount: number; }; /** * Describes a non-sanitized ProcessInstance used internally by the engine. * * CAUTION: * Contains sensitive information, such as a users Auth token and should NEVER be returned through public channels! * Use the SDK's 'ProcessInstance' type for that. */ export type ProcessInstanceInternal = { correlationId: string; processInstanceId: string; processDefinitionId: string; processModelId: string; processModelName?: string; processModelVersion?: string; parentProcessInstanceId?: string; hash: string; xml: string; state: ProcessInstanceState; error: Error; ownerId: string; ownerToken: string; startedByRootAccessToken: boolean; createdAt?: Date; finishedAt?: Date; restartedAt?: Date; terminatedByUserId?: string; durationInMilliseconds?: number; startEventId?: string; startEventType?: EventType; startToken?: any; endEventId?: string; endEventType?: EventType; endToken?: any; metadata?: ProcessInstanceMetadata; correlation?: Correlation; triggeredByFlowNodeInstance?: FlowNodeInstance; }; export type CreateProcessInstanceRequest = { identity: Identity; startedByRootAccessToken: boolean; correlationId: string; processInstanceId: string; processDefinitionId: string; processModelId: string; processModelName?: string; processModelVersion?: string; processModelHash: string; parentProcessInstanceId?: string; startEventId?: string; startEventType?: EventType; startToken?: unknown; triggeredByFlowNodeInstanceId?: string; }; /** * Used in conjunction with "FinishProcessInstance" - Contains information about the end event the process was finished with. */ export type FinishProcessInstancePayload = { endEventId: string; endEventType?: EventType; endEventToken?: any; }; /** * For internal use only - A Process Instance query, coupled with information on the requesting user. * Used for authorization checks. */ export type ProcessInstanceInternalQuery = ProcessInstanceQuery & { allowedLanes?: Array; requestingUserId?: string; };