import type { WorkflowConfig } from '../../../core/models/index.js'; import type { RunPaths } from '../../../core/workflow/run/run-paths.js'; import type { RunResumeSource } from '../../../core/workflow/run/run-meta.js'; import { RunMetaManager, type RunMetaManagerOptions } from './runMeta.js'; import { type WorkflowRunExecutionHandle } from './workflowRunExecution.js'; import type { WorkflowTerminalPayloadFactory } from './workflowTerminalPayload.js'; export interface WorkflowRunExecutionContext { readonly workflowConfig: WorkflowConfig; readonly runPaths: RunPaths; readonly resumeSource?: RunResumeSource; readonly terminalPayloads: WorkflowTerminalPayloadFactory; } export interface WorkflowRunLifecycleCompositionInput { readonly cwd: string; readonly runPathsDirectory?: string; } export interface WorkflowRunBootstrap { readonly runSlug: string; readonly runPaths: RunPaths; readonly startedAt: string; readonly sessionId: string; publishRunMeta(input: { readonly runPaths: RunPaths; readonly task: string; readonly workflowName: string; readonly resumeSource?: RunResumeSource; readonly options?: RunMetaManagerOptions; }): RunMetaManager; } export interface WorkflowRunExecutionBinding { readonly execution: Pick; } export interface WorkflowRunHandle { readonly runSlug: string; readonly runPaths: RunPaths; readonly bootstrap: WorkflowRunBootstrap; bindExecution(context: Omit): Promise; finish: WorkflowRunExecutionHandle['finish']; } export interface WorkflowRunLifecycleComposition { readonly lifecycle: WorkflowRunLifecyclePort; } export interface WorkflowRunLifecyclePort { beginRun(input: { readonly workflowConfig: WorkflowConfig; readonly task: string; readonly requestedRunSlug?: string; readonly resumeSource?: RunResumeSource; }): Promise; } export declare function createWorkflowRunLifecycle(input: WorkflowRunLifecycleCompositionInput): WorkflowRunLifecycleComposition; //# sourceMappingURL=workflowRunLifecycle.d.ts.map