/** * TestDoubleRuntimeAdapter — test double for PDRuntimeAdapter. * * First real implementation of the M1 PDRuntimeAdapter interface. * Default behavior: succeed-on-first-poll with valid DiagnosticianOutputV1. * All methods overridable via TestDoubleBehaviorOverrides callbacks. * * BUG-008: Default fetchOutput dispatches stage-aware mock outputs based on * taskId prefix (diag_rootcause/diag_distiller/diag_router), reusing fixtures * from split-pipeline-mock-outputs.ts. Non-split taskIds fall back to the * original monolithic DiagnosticianOutputV1 shape (backward-compatible). */ import type { PDRuntimeAdapter, RuntimeKind, RuntimeCapabilities, RuntimeHealth, RunHandle, RunStatus, StartRunInput, StructuredRunOutput, RuntimeArtifactRef, ContextItem } from '../runtime-protocol.js'; /** Optional callbacks to override default TestDoubleRuntimeAdapter behavior. */ export interface TestDoubleBehaviorOverrides { readonly onStartRun?: (input: StartRunInput) => RunHandle | Promise; readonly onPollRun?: (runId: string) => RunStatus | Promise; readonly onFetchOutput?: (runId: string) => StructuredRunOutput | null | Promise; readonly onCancelRun?: (runId: string) => void | Promise; readonly onGetCapabilities?: () => RuntimeCapabilities | Promise; readonly onHealthCheck?: () => RuntimeHealth | Promise; readonly onFetchArtifacts?: (runId: string) => RuntimeArtifactRef[] | Promise; readonly onAppendContext?: (runId: string, items: ContextItem[]) => void | Promise; } export declare class TestDoubleRuntimeAdapter implements PDRuntimeAdapter { private readonly overrides; private readonly defaultTaskId; private runCounter; /** BUG-008: Map runId → taskId so fetchOutput can dispatch by stage prefix. */ private readonly runIdToTaskId; constructor(overrides?: TestDoubleBehaviorOverrides, defaultTaskId?: string); kind(): RuntimeKind; getCapabilities(): Promise; healthCheck(): Promise; startRun(input: StartRunInput): Promise; pollRun(runId: string): Promise; cancelRun(runId: string): Promise; fetchOutput(runId: string): Promise; fetchArtifacts(runId: string): Promise; appendContext(runId: string, items: ContextItem[]): Promise; } //# sourceMappingURL=test-double-runtime-adapter.d.ts.map