Skip to content
Français

ReplayTurn

import type { ReplayTurn } from "@elie-laloum/outpost";
  • promptRequired
    string
    Prompt the recorded turn received; replay compares it with the rendered prompt.
  • eventsRequired
    readonly AgentEvent[]
    Agent or harness events re-emitted in order, without execution phases, prompts and summaries.
  • decisionEventsOptional
    readonly ReplayDecisionEvent[] | undefined
    Recorded decision observations positioned among the agent events; replay emits them without a router request or additional usage accounting.
  • textRequired
    string
    Turn text returned to the dispatch: the result event, else concatenated text events, else raw lines.
  • usageRequired
    Usage
    Recorded turn usage reported again; no tokens are consumed.
  • conversationOptional
    string | undefined
    Recorded conversation ID, used only to follow response repairs inside the replay.
  • failureOptional
    ReplayFailure | undefined
    Recorded error of a turn that did not finish; replay rethrows it after the events and commits.
  • handoverOptional
    ({ readonly kind: "fallback"; readonly from: FallbackCandidate; readonly to: FallbackCandidate; readonly failure: FallbackTrigger; readonly message: string; readonly resetAt?: string; } & { readonly subagentId?: string; }) | undefined
    Recorded fallback event that followed this turn; the turn is then treated as handed over rather than failed, its usage is the sum of its recorded usage events, and replay continues with the next turn.
  • changesOptional
    WorkspaceCommitsEvent | undefined
    Workspace commits applied inside the sandbox after this turn, the last one of its sandbox dispatch.
  • resumedByOptional
    readonly string[] | undefined
    Steering instructions delivered with mode resumed that started this turn; the turn’s prompt joins them with blank lines.
  • interruptedOptional
    boolean | undefined
    True when steering stopped this recorded turn; its usage is the sum of its recorded usage events and the replayed turn reports interrupted: steering.
export interface ReplayTurn {
  readonly prompt: string;
  readonly events: readonly AgentEvent[];
  readonly decisionEvents?: readonly ReplayDecisionEvent[];
  readonly text: string;
  readonly usage: Usage;
  readonly conversation?: string;
  readonly failure?: ReplayFailure;
  /** Recorded handover of a fallback agent to its next candidate after this turn. */
  readonly handover?: FallbackEvent;
  readonly changes?: WorkspaceCommitsEvent;
  /** Steering instructions that resumed the conversation into this turn. */
  readonly resumedBy?: readonly string[];
  /** Whether steering stopped this turn before it finished. */
  readonly interrupted?: boolean;
}