import type { AgentTool } from '@earendil-works/pi-agent-core'; import type { BuildChildToolsOptions } from '../../agent/child-agent-factory.js'; import type { GatewayWorkflowHost } from '../../gateway/gateway-workflow-host.types.js'; import type { WorkflowDefinitionRegistry } from '../registry/workflow-definition-registry.js'; import type { WorkflowDefinition, WorkflowRunDefinitionSnapshot, WorkflowRunInputEnvelope, WorkflowRunMetadata, WorkflowRunSource } from '../domain/index.js'; import { WorkflowRunStore } from '../store/run-store.js'; import type { WorkflowSessionBridge } from './workflow-session-bridge.js'; export type { CancelWorkflowRunResult, CancelWorkflowRunServiceParams, CancelWorkflowRunServiceResult, ReplayWorkflowRunServiceParams, RetryWorkflowRunServiceParams, StartWorkflowRunServiceParams, StartWorkflowRunServiceResult, WorkflowRunServiceErrorCode, WorkflowRunServiceErrorResult, WorkflowRunServiceResult, } from './workflow-run-service.types.js'; import type { CancelWorkflowRunResult, CancelWorkflowRunServiceParams, ReplayWorkflowRunServiceParams, RetryWorkflowRunServiceParams, StartWorkflowRunServiceParams, WorkflowRunServiceResult } from './workflow-run-service.types.js'; import type { WorkflowRunReplayMetadata, WorkflowRunReplayScope, WorkflowRunView } from '../domain/run.js'; import type { WorkflowReplayAgentTarget } from '../engine/index.js'; export interface WorkflowRunServiceOptions { service: GatewayWorkflowHost; sessionBridge: WorkflowSessionBridge; buildChildTools: (childOptions: BuildChildToolsOptions) => AgentTool[]; definitionRegistry?: WorkflowDefinitionRegistry; } export declare class WorkflowRunService { private readonly options; private readonly activeRuns; private readonly timeoutHandles; private readonly definitionRegistry; private readonly emittedTerminalAutomationEvents; constructor(options: WorkflowRunServiceOptions); dispatchTaskRuns(): Promise; startWorkflowRun(params: StartWorkflowRunServiceParams): Promise; retryWorkflowRun(params: RetryWorkflowRunServiceParams): Promise; replayWorkflowRun(params: ReplayWorkflowRunServiceParams): Promise; cancelWorkflowRun(params: CancelWorkflowRunServiceParams): Promise; createRunStore(agentId: string): WorkflowRunStore; readWorkflowRunView(agentId: string, runId: string): Promise; reconcileInterruptedRuns(agentId: string): Promise; private loadDefinition; private findRunByIdempotencyKey; private createWorkflowEngine; private publishTerminalWorkflowAutomationEvent; } export declare function buildWorkflowRunInputEnvelope(input: unknown, goal?: string): WorkflowRunInputEnvelope; export declare function buildWorkflowRunMetadata(params: { definition: WorkflowDefinition; agentId: string; taskRunId?: string; projectId?: string; contextRefs?: WorkflowRunMetadata['contextRefs']; writebackPolicy?: WorkflowRunMetadata['writebackPolicy']; sessionKey: string; source: WorkflowRunSource; input: WorkflowRunInputEnvelope; retryOfRunId?: string; idempotencyKey?: string; replay?: WorkflowRunReplayMetadata; }): WorkflowRunMetadata; export declare function resolveWorkflowReplayTargets(view: WorkflowRunView, scope: WorkflowRunReplayScope): { targets: WorkflowReplayAgentTarget[]; phaseIds?: string[]; }; export declare function buildWorkflowRunDefinitionSnapshot(definition: WorkflowDefinition): WorkflowRunDefinitionSnapshot; export declare function extractWorkflowRunSessionKey(source: WorkflowRunSource): string | null;