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:
typescripttype NewEventType = { type: 'new_type'; // Add required fields }; - •
Add to EventType union:
typescripttype EventType = UserMessage | Plan | Todo | ... | NewEventType;
- •
Create a new block component following existing patterns:
typescriptfunction 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