feat(market-intel): complete end-to-end audit with enhanced UX and grounding

- Integrated ICP-based lookalike sourcing.
- Implemented Deep Tech Audit with automated evidence collection.
- Enhanced processing terminal with real-time logs.
- Refined daily logging and resolved all dependency issues.
- Documented final status and next steps.
This commit is contained in:
2025-12-21 22:39:30 +00:00
parent 4a765cbf71
commit 0a00146fd6
10 changed files with 511 additions and 141 deletions

View File

@@ -15,7 +15,7 @@ export const StepProcessing: React.FC<StepProcessingProps> = ({ state }) => {
if (terminalRef.current) {
terminalRef.current.scrollTop = terminalRef.current.scrollHeight;
}
}, [state.completed, state.currentCompany]);
}, [state.completed, state.currentCompany, state.terminalLogs]);
return (
<div className="max-w-3xl mx-auto mt-12 px-4">
@@ -29,7 +29,7 @@ export const StepProcessing: React.FC<StepProcessingProps> = ({ state }) => {
<div className="bg-white p-6 rounded-xl shadow-sm border border-slate-200 mb-6">
<div className="flex justify-between text-sm font-medium text-slate-700 mb-2">
<span>Progress</span>
<span>Overall Progress</span>
<span>{percentage}% ({state.completed}/{state.total})</span>
</div>
<div className="w-full bg-slate-100 rounded-full h-4 overflow-hidden">
@@ -37,27 +37,25 @@ export const StepProcessing: React.FC<StepProcessingProps> = ({ state }) => {
</div>
</div>
<div className="bg-slate-900 rounded-xl shadow-xl overflow-hidden font-mono text-sm">
<div className="bg-slate-800 px-4 py-2 flex items-center gap-2 border-b border-slate-700">
<div className="w-3 h-3 rounded-full bg-red-500"></div>
<div className="w-3 h-3 rounded-full bg-yellow-500"></div>
<div className="w-3 h-3 rounded-full bg-green-500"></div>
<span className="ml-2 text-slate-400 text-xs">audit_agent.exe</span>
<div className="bg-slate-900 rounded-xl shadow-xl overflow-hidden font-mono text-sm border border-slate-700">
<div className="bg-slate-800 px-4 py-2 flex items-center justify-between border-b border-slate-700">
<div className="flex gap-2">
<div className="w-3 h-3 rounded-full bg-red-500/80"></div>
<div className="w-3 h-3 rounded-full bg-yellow-500/80"></div>
<div className="w-3 h-3 rounded-full bg-green-500/80"></div>
</div>
<span className="text-slate-500 text-[10px] uppercase font-bold tracking-widest">Deep Tech Audit Session</span>
</div>
<div ref={terminalRef} className="p-6 h-64 overflow-y-auto text-slate-300 space-y-2 scroll-smooth">
<div className="text-emerald-400">$ load_strategy --context="custom"</div>
{state.completed > 0 && <div className="text-slate-500">... {state.completed} companies analyzed.</div>}
{state.currentCompany && (
<>
<div className="animate-pulse text-indigo-300">{`> Analyzing: ${state.currentCompany}`}</div>
<div className="pl-4 border-l-2 border-slate-700 space-y-1 mt-2">
<div className="flex items-center gap-2 text-emerald-400"><TrendingUp size={14} /> Fetching Firmographics (Revenue/Size)...</div>
<div className="flex items-center gap-2"><Eye size={14} /> Scanning Custom Signals...</div>
<div className="flex items-center gap-2"><Search size={14} /> Validating against ICP...</div>
</div>
</>
)}
<div ref={terminalRef} className="p-6 h-80 overflow-y-auto text-slate-300 space-y-1.5 scroll-smooth scrollbar-thin scrollbar-thumb-slate-700">
{state.terminalLogs?.map((log, idx) => (
<div key={idx} className="flex gap-3 animate-in fade-in slide-in-from-left-2 duration-300">
<span className="text-slate-600 shrink-0">[{new Date().toLocaleTimeString([], {hour: '2-digit', minute:'2-digit', second: '2-digit'})}]</span>
<span className={log.startsWith('>') ? 'text-indigo-400 font-bold' : log.includes('✓') ? 'text-emerald-400' : 'text-slate-300'}>
{log}
</span>
</div>
))}
{!state.terminalLogs?.length && <div className="text-slate-500 italic">Initializing agent...</div>}
</div>
</div>
</div>