feat: update historical event types
This commit is contained in:
@@ -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 {
|
import {
|
||||||
CheckCircle,
|
CheckCircle,
|
||||||
ChevronDown,
|
ChevronDown,
|
||||||
@@ -8,6 +13,7 @@ import {
|
|||||||
Keyboard,
|
Keyboard,
|
||||||
Mouse,
|
Mouse,
|
||||||
MoveVertical,
|
MoveVertical,
|
||||||
|
RefreshCw,
|
||||||
Sparkles,
|
Sparkles,
|
||||||
XCircle,
|
XCircle,
|
||||||
Zap,
|
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 }) {
|
function ErrorCard({ event }: { event: AgentErrorEvent }) {
|
||||||
return (
|
return (
|
||||||
<div className="rounded-lg border border-destructive/30 bg-destructive/10 p-2.5">
|
<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} />
|
return <ObservationCard event={event as ObservationEvent} />
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (event.type === 'retry') {
|
||||||
|
return <RetryCard event={event as RetryEvent} />
|
||||||
|
}
|
||||||
|
|
||||||
if (event.type === 'error') {
|
if (event.type === 'error') {
|
||||||
return <ErrorCard event={event as AgentErrorEvent} />
|
return <ErrorCard event={event as AgentErrorEvent} />
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ export type AgentActivity =
|
|||||||
|
|
||||||
/** Historical event (simplified for serialization) */
|
/** Historical event (simplified for serialization) */
|
||||||
export interface HistoricalEvent {
|
export interface HistoricalEvent {
|
||||||
type: 'step' | 'observation' | 'user_takeover' | 'error'
|
type: 'step' | 'observation' | 'user_takeover' | 'retry' | 'error'
|
||||||
// For 'step' type
|
// For 'step' type
|
||||||
stepIndex?: number
|
stepIndex?: number
|
||||||
reflection?: {
|
reflection?: {
|
||||||
@@ -70,8 +70,10 @@ export interface HistoricalEvent {
|
|||||||
}
|
}
|
||||||
// For 'observation' type
|
// For 'observation' type
|
||||||
content?: string
|
content?: string
|
||||||
// For 'error' type
|
// For 'retry' type
|
||||||
errorType?: 'retry' | 'error'
|
attempt?: number
|
||||||
|
maxAttempts?: number
|
||||||
|
// For 'error' and 'retry' types
|
||||||
message?: string
|
message?: string
|
||||||
// Raw LLM response for debugging (step and error types)
|
// Raw LLM response for debugging (step and error types)
|
||||||
rawResponse?: unknown
|
rawResponse?: unknown
|
||||||
|
|||||||
Reference in New Issue
Block a user