spb/vquant Public MIT
VibeQuant — AI-powered institutional-grade financial intelligence platform.
TypeScript 84.3%
Python 11.7%
JavaScript 1.6%
CSS 1.5%
HTML 0.7%
1/*2 * =============================================================================3 * VibeQuant (vquant) — AI-Powered Financial Intelligence Platform4 * -----------------------------------------------------------------------------5 * File: client/src/components/chat/agent-steps.tsx6 *7 * Author: Simon-Pierre Boucher8 * Contact: contact@spboucher.ai9 * Website: https://www.spboucher.ai10 * Demo: https://www.vquant.ai11 * License: MIT (see LICENSE)12 *13 * Copyright © 2026 Simon-Pierre Boucher. All rights reserved.14 * =============================================================================15 */1617import { Check } from "lucide-react";1819export interface AgentStep {20 tool: string;21 status: 'pending' | 'running' | 'completed' | 'error';22 input?: any;23 error?: string;24 duration?: number;25}2627interface AgentStepsProps {28 steps: AgentStep[];29 currentStep?: number;30}3132export function AgentSteps({ steps, currentStep }: AgentStepsProps) {33 if (steps.length === 0) return null;3435 // Only show completed steps with simple green circle and checkmark36 const completedSteps = steps.filter(s => s.status === 'completed');3738 if (completedSteps.length === 0) return null;3940 return (41 <div className="flex flex-wrap gap-2 mb-4">42 {completedSteps.map((step, index) => (43 <div44 key={`${step.tool}-${index}`}45 className="flex items-center gap-1.5 px-3 py-1.5 rounded-full bg-green-500/10 border border-green-500/20"46 >47 <div className="w-4 h-4 rounded-full bg-green-500/20 flex items-center justify-center flex-shrink-0">48 <Check className="w-3 h-3 text-green-500" />49 </div>50 <span className="text-xs text-muted-foreground">51 {step.tool.replace(/_/g, ' ')}52 </span>53 </div>54 ))}55 </div>56 );57}58