Graphorin API reference v0.1.0
Graphorin API reference / @graphorin/sessions / / CassetteReplayDecision
Type Alias: CassetteReplayDecision
ts
type CassetteReplayDecision =
| {
reason: CassetteReplayReason;
sideEffectClass: SideEffectClass;
stepNumber: number;
substitutedOutput: unknown;
toolCallId: string;
toolName: string;
type: "tool.cassette.replay.substituted";
}
| {
reason: CassetteReplayReason;
sideEffectClass: SideEffectClass;
stepNumber: number;
toolCallId: string;
toolName: string;
type: "tool.cassette.replay.live";
warnLevel: "INFO" | "WARN-non-silenceable" | "WARN";
}
| {
decision: "continue-with-recorded" | "aborted" | "fallback-live";
liveIdempotencyKey?: string;
liveSha256OfArgs: string;
recordedIdempotencyKey?: string;
recordedSha256OfArgs: string;
sideEffectClass: SideEffectClass;
stepNumber: number;
toolCallId: string;
toolName: string;
type: "tool.cassette.replay.idempotency-mismatch";
}
| {
decision: "aborted" | "fallback-live";
missingArtifactPath: string;
stepNumber: number;
toolCallId: string;
toolName: string;
type: "tool.cassette.replay.artifact-missing";
};Defined in: packages/sessions/src/cassette/replay.ts:39
Single decision the replay engine reports per cassette record.