Add Event Type
Instructions
-
Read current event types in
frontend/src/App.tsx:- Find the
EventTypeunion type definition - Review existing block components (UserMessageBlock, PlanBlock, TodoBlock, etc.)
- Find the
-
Define the new event type interface:
type NewEventType = { type: 'new_type'; // Add required fields }; -
Add to EventType union:
type EventType = UserMessage | Plan | Todo | ... | NewEventType; -
Create a new block component following existing patterns:
function NewTypeBlock({ event }: { event: NewEventType }) { return ( <div className="p-3 bg-zinc-800/50 rounded-lg border border-zinc-700/50"> {/* Render event data */} </div> ); } -
Add case to the feed rendering switch/conditional in the main component
-
Update WebSocket message handler if backend sends this event type
Examples
- "Add a new 'search_result' event type"
- "Create a block for displaying errors"
- "Add event type for progress updates"
Guardrails
- Follow existing naming conventions (PascalCase components, snake_case event types)
- Use existing Tailwind classes for consistent styling
- Ensure TypeScript types are complete (no
any) - Test by sending mock event through WebSocket