import type { AxiosInstance } from 'axios' import type { DataFairWsClient } from '../node/ws.js' /** * Processing context. */ export interface ProcessingContext { processingConfig: any pluginConfig: any processingId: string dir: string tmpDir: string log: LogFunctions axios: AxiosInstance ws: DataFairWsClient sendMail: (mail: string) => Promise patchConfig: (patch: { datasetMode: string, dataset: any }) => Promise } /** * Log functions. */ export interface LogFunctions { step: (msg: string) => Promise error: (msg: string, extra?: any) => Promise warning: (msg: string, extra?: any) => Promise info: (msg: string, extra?: any) => Promise debug: (msg: string, extra?: any) => Promise task: (name: string) => Promise progress: (taskName: string, progress: number, total: number) => Promise testInfo?: (msg: any, extra?: any) => void testDebug?: (msg: any, extra?: any) => void }