diff --git a/ui/features/run-detail/components/AnalystReports.tsx b/ui/features/run-detail/components/AnalystReports.tsx index adff6dc4..4389e9c7 100644 --- a/ui/features/run-detail/components/AnalystReports.tsx +++ b/ui/features/run-detail/components/AnalystReports.tsx @@ -26,6 +26,7 @@ const STEP_ACCENT: Record = { conservative_analyst: '#00C4E8', neutral_analyst: '#A78BFA', risk_judge: '#FFB400', + chief_analyst: '#adc6ff', } const STEP_ROLE_DESC: Partial> = { diff --git a/ui/features/run-detail/types.ts b/ui/features/run-detail/types.ts index 75dff0b5..a2bbe307 100644 --- a/ui/features/run-detail/types.ts +++ b/ui/features/run-detail/types.ts @@ -1,5 +1,5 @@ import type { AgentStep, RunStatus } from '@/lib/types/run' -import type { Decision, StepStatus } from '@/lib/types/agents' +import type { Decision, StepStatus, ChiefAnalystReport } from '@/lib/types/agents' export type TokenCount = { in: number; out: number } @@ -11,4 +11,5 @@ export type RunStreamState = { error: string | null tokensByStep: Record tokensTotal: TokenCount + chiefAnalystReport: ChiefAnalystReport | null } diff --git a/ui/lib/types/agents.ts b/ui/lib/types/agents.ts index fff402dc..fe99fd64 100644 --- a/ui/lib/types/agents.ts +++ b/ui/lib/types/agents.ts @@ -4,3 +4,10 @@ export type Decision = 'BUY' | 'SELL' | 'HOLD' export type DebateTurn = { speaker: string; text: string } export type PhaseReport = { step: AgentStep; content: string } export type StepStatus = 'pending' | 'running' | 'done' + +export type ChiefAnalystReport = { + verdict: 'BUY' | 'SELL' | 'HOLD' + catalyst: string + execution: string + tail_risk: string +} diff --git a/ui/lib/types/run.ts b/ui/lib/types/run.ts index 3947976e..12ea8d3f 100644 --- a/ui/lib/types/run.ts +++ b/ui/lib/types/run.ts @@ -11,12 +11,14 @@ export type AgentStep = | 'conservative_analyst' | 'neutral_analyst' | 'risk_judge' + | 'chief_analyst' export const AGENT_STEPS: AgentStep[] = [ 'market_analyst', 'news_analyst', 'fundamentals_analyst', 'social_analyst', 'bull_researcher', 'bear_researcher', 'research_manager', 'trader', 'aggressive_analyst', 'conservative_analyst', 'neutral_analyst', 'risk_judge', + 'chief_analyst', ] export const AGENT_STEP_LABELS: Record = { @@ -32,9 +34,10 @@ export const AGENT_STEP_LABELS: Record = { conservative_analyst: 'Conservative', neutral_analyst: 'Neutral', risk_judge: 'Risk Judge', + chief_analyst: 'Chief Analyst', } -export const STEP_PHASE: Record = { +export const STEP_PHASE: Record = { market_analyst: 'analysts', news_analyst: 'analysts', fundamentals_analyst: 'analysts', @@ -47,6 +50,7 @@ export const STEP_PHASE: Record