feat: update historical event types

This commit is contained in:
Simon
2026-01-22 15:15:18 +08:00
parent d861f7b7f2
commit 8c43fe1409
2 changed files with 29 additions and 4 deletions

View File

@@ -1,4 +1,9 @@
import { type AgentErrorEvent, type AgentStepEvent, type ObservationEvent } from '@page-agent/core'
import {
type AgentErrorEvent,
type AgentStepEvent,
type ObservationEvent,
type RetryEvent,
} from '@page-agent/core'
import {
CheckCircle,
ChevronDown,
@@ -8,6 +13,7 @@ import {
Keyboard,
Mouse,
MoveVertical,
RefreshCw,
Sparkles,
XCircle,
Zap,
@@ -200,6 +206,19 @@ function ObservationCard({ event }: { event: ObservationEvent }) {
)
}
function RetryCard({ event }: { event: RetryEvent }) {
return (
<div className="rounded-lg border border-amber-500/30 bg-amber-500/10 p-2.5">
<div className="flex items-start gap-1.5">
<RefreshCw className="size-3 text-amber-500 shrink-0 mt-0.5" />
<span className="text-xs text-amber-600 dark:text-amber-400">
{event.message} ({event.attempt}/{event.maxAttempts})
</span>
</div>
</div>
)
}
function ErrorCard({ event }: { event: AgentErrorEvent }) {
return (
<div className="rounded-lg border border-destructive/30 bg-destructive/10 p-2.5">
@@ -238,6 +257,10 @@ export function EventCard({ event }: { event: HistoricalEvent }) {
return <ObservationCard event={event as ObservationEvent} />
}
if (event.type === 'retry') {
return <RetryCard event={event as RetryEvent} />
}
if (event.type === 'error') {
return <ErrorCard event={event as AgentErrorEvent} />
}

View File

@@ -55,7 +55,7 @@ export type AgentActivity =
/** Historical event (simplified for serialization) */
export interface HistoricalEvent {
type: 'step' | 'observation' | 'user_takeover' | 'error'
type: 'step' | 'observation' | 'user_takeover' | 'retry' | 'error'
// For 'step' type
stepIndex?: number
reflection?: {
@@ -70,8 +70,10 @@ export interface HistoricalEvent {
}
// For 'observation' type
content?: string
// For 'error' type
errorType?: 'retry' | 'error'
// For 'retry' type
attempt?: number
maxAttempts?: number
// For 'error' and 'retry' types
message?: string
// Raw LLM response for debugging (step and error types)
rawResponse?: unknown