SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
4e23b01 verified
Raw
History Blame Contribute Delete
2.47 kB
import type { TranscriptFrame } from './frame';
import type { AttachmentId, StepId, TaskId, TurnId } from './ids';
export type TurnOrigin =
| { kind: 'user'; payload?: unknown }
| { kind: 'cron'; taskId?: TaskId; payload?: unknown }
| { kind: 'task'; taskId: TaskId; payload?: unknown }
| { kind: 'hook'; payload?: unknown }
| { kind: 'compaction'; payload?: unknown }
| { kind: 'side'; payload?: unknown }
| { kind: 'other'; payload?: unknown };
export type TurnState = 'queued' | 'running' | 'completed' | 'failed' | 'cancelled';
export type StepState = 'running' | 'completed' | 'interrupted' | 'failed';
export interface TranscriptUsage {
readonly inputTokens?: number;
readonly outputTokens?: number;
readonly cachedTokens?: number;
readonly cost?: number;
}
export interface StepUsage {
readonly inputOther: number;
readonly output: number;
readonly inputCacheRead: number;
readonly inputCacheCreation: number;
}
export interface StepTiming {
readonly llmFirstTokenLatencyMs?: number;
readonly llmStreamDurationMs?: number;
readonly llmRequestBuildMs?: number;
readonly llmServerFirstTokenMs?: number;
readonly llmServerDecodeMs?: number;
readonly llmClientConsumeMs?: number;
readonly llmClientBlockedMs?: number;
}
export interface StepRetry {
readonly failedAttempt: number;
readonly nextAttempt: number;
readonly maxAttempts: number;
readonly delayMs: number;
readonly errorName: string;
readonly errorMessage: string;
readonly statusCode?: number;
}
export interface TranscriptTurn {
readonly kind: 'turn';
readonly turnId: TurnId;
readonly triggerPromptId?: string;
readonly ordinal: number;
readonly state: TurnState;
readonly origin: TurnOrigin;
readonly prompt?: string;
readonly attachmentIds?: readonly AttachmentId[];
readonly steps: TranscriptStep[];
readonly startedAt?: string;
readonly endedAt?: string;
readonly usage?: TranscriptUsage;
readonly durationMs?: number;
readonly error?: string;
}
export interface TranscriptStep {
readonly kind: 'step';
readonly stepId: StepId;
readonly turnId: TurnId;
readonly ordinal: number;
readonly state: StepState;
readonly frames: TranscriptFrame[];
readonly startedAt?: string;
readonly endedAt?: string;
readonly usage?: StepUsage;
readonly finishReason?: string;
readonly timing?: StepTiming;
readonly retry?: StepRetry;
readonly endReason?: string;
readonly endMessage?: string;
}