import { LLMDescriptor } from '@models/flow'; import { BiasImpactExperimentRequest, BiasImpactJob, BiasImpactReport, BiasRerunRequest } from '@models/bias-impact'; import { ExecutionEventLogEntry, TaskExecution, TaskExecutionGroup } from '@models/task-execution'; import { ProjectExecutionPlan, ProjectRun } from '@models/project'; import { Observable } from 'rxjs'; export abstract class TaskExecutionsCallServiceBase { abstract retrieveAllTaskExecutions(): Observable; abstract retrieveTaskExecutionGroups(): Observable; abstract retrieveTaskExecution(executionId: string): Observable; abstract retrieveStepIterations(executionId: string, stepId: string): Observable; abstract retrieveExecutionEvents(executionId: string): Observable; abstract createTaskExecution(flowId: string): Observable; /** * Runs a whole project: creates one execution per flow, all sharing a projectRunId. It does not * start them - the client still supplies inputs and credentials, exactly as for a single flow. */ abstract createProjectExecutions(projectId: string, skipNonExecutable: boolean): Observable; /** * Starts, or resumes, a project run. The flows run one at a time in the project's order; each * step starts only when the previous one succeeded. */ abstract startProjectRun(projectId: string, projectRunId: string): Observable; abstract rerunTaskExecution(executionId: string): Observable; abstract runBiasImpactExperiment( executionId: string, stepId: string, request: BiasImpactExperimentRequest ): Observable; abstract getBiasImpactJob(jobId: string): Observable; abstract createBiasedRerun(executionId: string, request: BiasRerunRequest): Observable; abstract compareBiasExecutions( baselineExecutionId: string, biasedExecutionId: string, includeRawOutputs: boolean ): Observable; abstract listBiasImpactReports(executionId: string): Observable; abstract getBiasImpactReport(reportId: string): Observable; abstract deleteTaskExecution(executionId: string): Observable; abstract startTaskExecution(executionId: string): Observable; abstract simulateTaskExecution(executionId: string, simulator: LLMDescriptor): Observable; abstract cancelTaskExecution(executionId: string): Observable; abstract resumeTaskExecution(executionId: string): Observable; abstract prepareStringInput( executionId: string, nodeId: string, inputName: string, value: string ): Observable; abstract prepareStringArrayInput( executionId: string, nodeId: string, inputName: string, values: string[] ): Observable; abstract prepareFileInput( executionId: string, nodeId: string, inputName: string, file: File ): Observable; abstract prepareFileArrayInput( executionId: string, nodeId: string, inputName: string, files: File[] ): Observable; abstract prepareGlobalStringInput( executionId: string, inputName: string, value: string ): Observable; abstract prepareGlobalStringArrayInput( executionId: string, inputName: string, values: string[] ): Observable; abstract prepareGlobalFileInput( executionId: string, inputName: string, file: File ): Observable; abstract prepareGlobalFileArrayInput( executionId: string, inputName: string, files: File[] ): Observable; abstract submitInteractionText( executionId: string, nodeId: string, fieldName: string, value: string ): Observable; abstract provideAuthorization( executionId: string, key: string, value: string ): Observable; }