SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
4e23b01 verified
Raw
History Blame Contribute Delete
3.1 kB
import type { StepUsage } from './turn';
export type GoalStatus = 'active' | 'paused' | 'blocked' | 'complete';
export interface GoalMeta {
readonly objective: string;
readonly status: GoalStatus;
readonly completionCriterion?: string;
readonly budgetUsed?: number;
readonly budgetLimit?: number;
}
export interface ModesMeta {
readonly plan?: { readonly reviewPath?: string; readonly version?: number };
readonly swarm?: { readonly trigger?: string };
readonly tower?: Record<string, never>;
}
export interface ModesMetaMerge {
readonly plan?: { readonly reviewPath?: string; readonly version?: number } | null;
readonly swarm?: { readonly trigger?: string } | null;
readonly tower?: Record<string, never> | null;
}
export type ActivityMeta = 'idle' | 'turn' | 'disposing' | 'unknown';
export type TurnEndReasonMeta = 'completed' | 'cancelled' | 'failed' | 'blocked';
export type AgentPhaseMeta =
| { readonly kind: 'idle' }
| {
readonly kind: 'running';
readonly turnId: number;
readonly step: number;
readonly stepId: string;
readonly since: number;
}
| {
readonly kind: 'tool_call';
readonly turnId: number;
readonly step: number;
readonly toolCallId: string;
readonly name: string;
readonly since: number;
}
| {
readonly kind: 'retrying';
readonly turnId: number;
readonly step: number;
readonly stepId: string;
readonly failedAttempt: number;
readonly nextAttempt: number;
readonly maxAttempts: number;
readonly delayMs: number;
readonly errorName?: string;
readonly statusCode?: number;
readonly since: number;
}
| {
readonly kind: 'awaiting_approval';
readonly turnId: number;
readonly step?: number;
readonly approval?: unknown;
readonly since: number;
}
| {
readonly kind: 'interrupted';
readonly turnId: number;
readonly step?: number;
readonly reason: 'aborted' | 'max_steps' | 'error';
readonly message?: string;
readonly at: number;
}
| {
readonly kind: 'ended';
readonly turnId: number;
readonly reason: TurnEndReasonMeta;
readonly durationMs?: number;
readonly at: number;
};
export interface AgentUsageMeta {
readonly byModel?: Readonly<Record<string, StepUsage>>;
readonly currentTurn?: StepUsage;
readonly total?: StepUsage;
}
export interface AgentStatusMeta {
readonly model?: string;
readonly thinkingEffort?: string;
readonly usage?: AgentUsageMeta;
readonly contextTokens?: number;
readonly maxContextTokens?: number;
readonly contextUsage?: number;
readonly permission?: 'manual' | 'yolo' | 'auto';
readonly phase?: AgentPhaseMeta;
}
export interface TranscriptMeta {
readonly goal?: GoalMeta;
readonly modes?: ModesMeta;
readonly activity?: ActivityMeta;
readonly agent?: AgentStatusMeta;
}
export type TranscriptMetaMerge = Omit<TranscriptMeta, 'modes' | 'goal'> & {
readonly modes?: ModesMetaMerge;
readonly goal?: GoalMeta | null;
};